diff options
author | archshift <admin@archshift.com> | 2014-04-23 23:56:39 +0200 |
---|---|---|
committer | archshift <admin@archshift.com> | 2014-04-24 00:22:49 +0200 |
commit | c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b (patch) | |
tree | 94ce183469b261a995faaf64dfa7623571fb146a /src/Mobs/ZombiePigman.cpp | |
parent | Updated docs for StringToEnchantmentID. (diff) | |
download | cuberite-c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b.tar cuberite-c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b.tar.gz cuberite-c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b.tar.bz2 cuberite-c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b.tar.lz cuberite-c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b.tar.xz cuberite-c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b.tar.zst cuberite-c2f2ef7cb4e4232cae18aaddcc6c86253e6c859b.zip |
Diffstat (limited to 'src/Mobs/ZombiePigman.cpp')
-rw-r--r-- | src/Mobs/ZombiePigman.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/Mobs/ZombiePigman.cpp b/src/Mobs/ZombiePigman.cpp new file mode 100644 index 000000000..b6f95a3e1 --- /dev/null +++ b/src/Mobs/ZombiePigman.cpp @@ -0,0 +1,53 @@ +#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules + +#include "Zombiepigman.h" +#include "../World.h" + + + + + +cZombiePigman::cZombiePigman(void) : + super("ZombiePigman", mtZombiePigman, "mob.zombiepig.zpighurt", "mob.zombiepig.zpigdeath", 0.6, 1.8) +{ +} + + + + + +void cZombiePigman::GetDrops(cItems & a_Drops, cEntity * a_Killer) +{ + int LootingLevel = 0; + if (a_Killer != NULL) + { + LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); + } + AddRandomDropItem(a_Drops, 0, 1 + LootingLevel, E_ITEM_ROTTEN_FLESH); + AddRandomDropItem(a_Drops, 0, 1 + LootingLevel, E_ITEM_GOLD_NUGGET); + + cItems RareDrops; + RareDrops.Add(cItem(E_ITEM_GOLD)); + AddRandomRareDropItem(a_Drops, RareDrops, LootingLevel); + AddRandomArmorDropItem(a_Drops, LootingLevel); + AddRandomWeaponDropItem(a_Drops, LootingLevel); +} + + + + + +void cZombiePigman::KilledBy(cEntity * a_Killer) +{ + super::KilledBy(a_Killer); + + if ((a_Killer != NULL) && (a_Killer->IsPlayer())) + { + // TODO: Anger all nearby zombie pigmen + // TODO: In vanilla, if one player angers ZPs, do they attack any nearby player, or only that one attacker? + } +} + + + + |