summaryrefslogtreecommitdiffstats
path: root/source/Mobs/Zombiepigman.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Mobs/Zombiepigman.cpp')
-rw-r--r--source/Mobs/Zombiepigman.cpp39
1 files changed, 20 insertions, 19 deletions
diff --git a/source/Mobs/Zombiepigman.cpp b/source/Mobs/Zombiepigman.cpp
index a33d78efa..9d3106829 100644
--- a/source/Mobs/Zombiepigman.cpp
+++ b/source/Mobs/Zombiepigman.cpp
@@ -17,18 +17,9 @@ cZombiepigman::cZombiepigman()
-cZombiepigman::~cZombiepigman()
+bool cZombiepigman::IsA(const char * a_EntityType)
{
-}
-
-
-
-
-
-bool cZombiepigman::IsA( const char* a_EntityType )
-{
- if( strcmp( a_EntityType, "cZombiepigman" ) == 0 ) return true;
- return cMonster::IsA( a_EntityType );
+ return ((strcmp(a_EntityType, "cZombiepigman") == 0) || super::IsA(a_EntityType));
}
@@ -37,7 +28,7 @@ bool cZombiepigman::IsA( const char* a_EntityType )
void cZombiepigman::Tick(float a_Dt)
{
- cMonster::Tick(a_Dt);
+ super::Tick(a_Dt);
// TODO Same as noticed in cSkeleton AND Do they really burn by sun?? :D In the neather is no sun :D
if ((GetWorld()->GetTimeOfDay() < (12000 + 1000)) && (GetMetaData() != BURNING))
@@ -50,17 +41,27 @@ void cZombiepigman::Tick(float a_Dt)
-void cZombiepigman::KilledBy(cEntity * a_Killer)
+void cZombiepigman::GetDrops(cItems & a_Drops, cPawn * a_Killer)
{
- cItems Drops;
- AddRandomDropItem(Drops, 0, 1, E_ITEM_ROTTEN_FLESH);
- AddRandomDropItem(Drops, 0, 1, E_ITEM_GOLD_NUGGET);
+ AddRandomDropItem(a_Drops, 0, 1, E_ITEM_ROTTEN_FLESH);
+ AddRandomDropItem(a_Drops, 0, 1, E_ITEM_GOLD_NUGGET);
// TODO: Rare drops
-
- m_World->SpawnItemPickups(Drops, m_Pos.x, m_Pos.y, m_Pos.z);
+}
- cMonster::KilledBy( a_Killer );
+
+
+
+
+void cZombiepigman::KilledBy(cPawn * a_Killer)
+{
+ super::KilledBy(a_Killer);
+
+ if ((a_Killer != NULL) && (a_Killer->GetEntityType() == eEntityType_Player))
+ {
+ // 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?
+ }
}