1
0

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:
madmaxoft@gmail.com
2012-12-21 11:04:08 +00:00
parent 231d6aed35
commit 912a1e7adc
62 changed files with 2532 additions and 1140 deletions

View File

@@ -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 );
}