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:
@@ -2,12 +2,7 @@
|
||||
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||
|
||||
#include "Sheep.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Todo: Implement color
|
||||
#include "../BlockID.h"
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +10,7 @@
|
||||
|
||||
cSheep::cSheep(void) :
|
||||
m_IsSheared(false),
|
||||
m_WoolColor(0) // TODO: E_META_WOOL_WHITE
|
||||
m_WoolColor(E_META_WOOL_WHITE)
|
||||
{
|
||||
m_MobType = 91;
|
||||
GetMonsterConfig("Sheep");
|
||||
@@ -25,41 +20,23 @@ cSheep::cSheep(void) :
|
||||
|
||||
|
||||
|
||||
cSheep::~cSheep()
|
||||
bool cSheep::IsA(const char * a_EntityType)
|
||||
{
|
||||
return ((strcmp(a_EntityType, "cSheep") == 0) || super::IsA(a_EntityType));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cSheep::IsA( const char* a_EntityType )
|
||||
void cSheep::GetDrops(cItems & a_Drops, cPawn * a_Killer)
|
||||
{
|
||||
if (strcmp( a_EntityType, "cSheep" ) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return cMonster::IsA( a_EntityType );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cSheep::KilledBy( cEntity* a_Killer )
|
||||
{
|
||||
// TODO: Check whether it is sheared
|
||||
// TODO: Check color
|
||||
|
||||
if (!m_IsSheared)
|
||||
{
|
||||
cItems Drops;
|
||||
Drops.push_back(cItem(E_ITEM_WHITE_CLOTH, 1, m_WoolColor));
|
||||
m_World->SpawnItemPickups(Drops, m_Pos.x, m_Pos.y, m_Pos.z);
|
||||
a_Drops.push_back(cItem(E_ITEM_WHITE_CLOTH, 1, m_WoolColor));
|
||||
}
|
||||
|
||||
cMonster::KilledBy( a_Killer );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user