summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Zombie.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs/Zombie.cpp')
-rw-r--r--src/Mobs/Zombie.cpp41
1 files changed, 24 insertions, 17 deletions
diff --git a/src/Mobs/Zombie.cpp b/src/Mobs/Zombie.cpp
index 6f889e182..4f616c609 100644
--- a/src/Mobs/Zombie.cpp
+++ b/src/Mobs/Zombie.cpp
@@ -10,11 +10,18 @@
cZombie::cZombie(bool a_IsVillagerZombie) :
- super("Zombie", mtZombie, "entity.zombie.hurt", "entity.zombie.death", 0.6, 1.8),
- m_IsVillagerZombie(a_IsVillagerZombie),
- m_IsConverting(false)
+ super("Zombie", mtZombie, "entity.zombie.hurt", "entity.zombie.death", 0.6, 1.8),
+ m_IsVillagerZombie(a_IsVillagerZombie),
+ m_IsConverting(false)
{
-
+ m_EMPersonality = AGGRESSIVE;
+
+ m_BehaviorAttackerMelee.AttachToMonster(*this);
+ m_BehaviorWanderer.AttachToMonster(*this);
+ m_BehaviorAggressive.AttachToMonster(*this);
+ m_BehaviourDayLightBurner.AttachToMonster(*this);
+ GetMonsterConfig("Zombie");
+ // Todo I need the config to load after attaching attackerMelee but this is not clean.
}
@@ -23,17 +30,17 @@ cZombie::cZombie(bool a_IsVillagerZombie) :
void cZombie::GetDrops(cItems & a_Drops, cEntity * a_Killer)
{
- unsigned int LootingLevel = 0;
- if (a_Killer != nullptr)
- {
- LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting);
- }
- AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_ROTTEN_FLESH);
- cItems RareDrops;
- RareDrops.Add(cItem(E_ITEM_IRON));
- RareDrops.Add(cItem(E_ITEM_CARROT));
- RareDrops.Add(cItem(E_ITEM_POTATO));
- AddRandomRareDropItem(a_Drops, RareDrops, LootingLevel);
- AddRandomArmorDropItem(a_Drops, LootingLevel);
- AddRandomWeaponDropItem(a_Drops, LootingLevel);
+ unsigned int LootingLevel = 0;
+ if (a_Killer != nullptr)
+ {
+ LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting);
+ }
+ AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_ROTTEN_FLESH);
+ cItems RareDrops;
+ RareDrops.Add(cItem(E_ITEM_IRON));
+ RareDrops.Add(cItem(E_ITEM_CARROT));
+ RareDrops.Add(cItem(E_ITEM_POTATO));
+ AddRandomRareDropItem(a_Drops, RareDrops, LootingLevel);
+ AddRandomArmorDropItem(a_Drops, LootingLevel);
+ AddRandomWeaponDropItem(a_Drops, LootingLevel);
}