diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-12-21 12:04:08 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-12-21 12:04:08 +0100 |
commit | 912a1e7adc650d20b0302a3dfe45816b5e541bc7 (patch) | |
tree | 65e7ffbf33d8f1335a4997fc5a727739f9dcdd34 /source/Mobs/Zombiepigman.cpp | |
parent | Extended player inventory by direct r/o access to armor slots (diff) | |
download | cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.gz cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.bz2 cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.lz cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.xz cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.tar.zst cuberite-912a1e7adc650d20b0302a3dfe45816b5e541bc7.zip |
Diffstat (limited to 'source/Mobs/Zombiepigman.cpp')
-rw-r--r-- | source/Mobs/Zombiepigman.cpp | 39 |
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? + } } |