summaryrefslogtreecommitdiffstats
path: root/src/Mobs/Cow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mobs/Cow.cpp')
-rw-r--r--src/Mobs/Cow.cpp32
1 files changed, 8 insertions, 24 deletions
diff --git a/src/Mobs/Cow.cpp b/src/Mobs/Cow.cpp
index 9736fe440..3d94986bb 100644
--- a/src/Mobs/Cow.cpp
+++ b/src/Mobs/Cow.cpp
@@ -6,13 +6,16 @@
-
-
-
-
cCow::cCow(void) :
- super("Cow", mtCow, "entity.cow.hurt", "entity.cow.death", 0.9, 1.3)
+ super("Cow", mtCow, "entity.cow.hurt", "entity.cow.death", 0.9, 1.3),
+ m_BehaviorItemReplacer(E_ITEM_BUCKET, E_ITEM_MILK)
{
+ m_EMPersonality = PASSIVE;
+ m_BehaviorBreeder.AttachToMonster(*this);
+ m_BehaviorCoward.AttachToMonster(*this);
+ m_BehaviorItemFollower.AttachToMonster(*this);
+ m_BehaviorWanderer.AttachToMonster(*this);
+ m_BehaviorItemReplacer.AttachToMonster(*this);
}
@@ -29,22 +32,3 @@ void cCow::GetDrops(cItems & a_Drops, cEntity * a_Killer)
AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_LEATHER);
AddRandomDropItem(a_Drops, 1, 3 + LootingLevel, IsOnFire() ? E_ITEM_STEAK : E_ITEM_RAW_BEEF);
}
-
-
-
-
-
-void cCow::OnRightClicked(cPlayer & a_Player)
-{
- super::OnRightClicked(a_Player);
-
- short HeldItem = a_Player.GetEquippedItem().m_ItemType;
- if (HeldItem == E_ITEM_BUCKET)
- {
- if (!a_Player.IsGameModeCreative())
- {
- a_Player.GetInventory().RemoveOneEquippedItem();
- a_Player.GetInventory().AddItem(E_ITEM_MILK);
- }
- }
-}