Refactored the TakeDamage API to take equipped weapon and armor into consideration (PvP untested)
http://forum.mc-server.org/showthread.php?tid=625 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1087 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
@@ -12,32 +12,25 @@ cSquid::cSquid()
|
||||
{
|
||||
m_MobType = 94;
|
||||
GetMonsterConfig("Squid");
|
||||
m_NoWater = 0.f;
|
||||
}
|
||||
|
||||
cSquid::~cSquid()
|
||||
|
||||
|
||||
|
||||
|
||||
bool cSquid::IsA(const char * a_EntityType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool cSquid::IsA( const char* a_EntityType )
|
||||
{
|
||||
if( strcmp( a_EntityType, "cSquid" ) == 0 ) return true;
|
||||
return cMonster::IsA( a_EntityType );
|
||||
return ((strcmp(a_EntityType, "cSquid") == 0) || super::IsA(a_EntityType));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cSquid::KilledBy( cEntity* a_Killer )
|
||||
void cSquid::GetDrops(cItems & a_Drops, cPawn * a_Killer)
|
||||
{
|
||||
// Drops 0-3 Ink Sacs
|
||||
cItems Drops;
|
||||
AddRandomDropItem(Drops, 0, 3, E_ITEM_DYE, E_META_DYE_BLACK);
|
||||
m_World->SpawnItemPickups(Drops, m_Pos.x, m_Pos.y, m_Pos.z);
|
||||
|
||||
cMonster::KilledBy( a_Killer );
|
||||
AddRandomDropItem(a_Drops, 0, 3, E_ITEM_DYE, E_META_DYE_BLACK);
|
||||
}
|
||||
|
||||
|
||||
@@ -46,15 +39,17 @@ void cSquid::KilledBy( cEntity* a_Killer )
|
||||
|
||||
void cSquid::Tick(float a_Dt)
|
||||
{
|
||||
cPassiveMonster::Tick(a_Dt);
|
||||
super::Tick(a_Dt);
|
||||
|
||||
Vector3d Pos = GetPosition();
|
||||
|
||||
|
||||
//TODO Not a real behavior, but cool :D
|
||||
if(!IsBlockWater(GetWorld()->GetBlock((int) Pos.x, (int) Pos.y, (int) Pos.z)) && GetMetaData() != BURNING)
|
||||
// TODO: Not a real behavior, but cool :D
|
||||
if (!IsBlockWater(GetWorld()->GetBlock((int) Pos.x, (int) Pos.y, (int) Pos.z)) && GetMetaData() != BURNING)
|
||||
{
|
||||
SetMetaData(BURNING);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user