summaryrefslogtreecommitdiffstats
path: root/source/Mobs/Villager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Mobs/Villager.cpp')
-rw-r--r--source/Mobs/Villager.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/source/Mobs/Villager.cpp b/source/Mobs/Villager.cpp
index 98e5276e1..97d6dc3ca 100644
--- a/source/Mobs/Villager.cpp
+++ b/source/Mobs/Villager.cpp
@@ -2,16 +2,34 @@
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "Villager.h"
+#include "../World.h"
-cVillager::cVillager(void) :
- super("Villager", 120, "", "", 0.6, 1.8)
+cVillager::cVillager(eVillagerType VillagerType) :
+ super("Villager", 120, "", "", 0.6, 1.8),
+ m_Type(VillagerType)
{
}
+
+void cVillager::DoTakeDamage(TakeDamageInfo & a_TDI)
+{
+ super::DoTakeDamage(a_TDI);
+ if (a_TDI.Attacker->IsPlayer())
+ {
+ if (m_World->GetTickRandomNumber(5) == 3)
+ {
+ m_World->BroadcastEntityStatus(*this, ENTITY_STATUS_VILLAGER_ANGRY);
+ }
+ }
+}
+
+
+
+