From 1cca9b13b3d320ff767cfc552413265b2ef6e0d6 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Wed, 6 Jun 2012 20:18:50 +0000 Subject: Item-dropping code rewritten and centralized - now there's only one place to modify if we want to split or merge same-item drops: cWorld:SpawnItemPickups(). Also, mined blocks can now drop more items, and they recognize if they're being mined by the correct tool. git-svn-id: http://mc-server.googlecode.com/svn/trunk@561 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cSheep.cpp | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) (limited to 'source/cSheep.cpp') diff --git a/source/cSheep.cpp b/source/cSheep.cpp index 5f4dd6379..921cd2d28 100644 --- a/source/cSheep.cpp +++ b/source/cSheep.cpp @@ -3,30 +3,63 @@ #include "cSheep.h" + + + + //Todo: Implement color -cSheep::cSheep() + + + + +cSheep::cSheep(void) : + m_IsSheared(false), + m_WoolColor(0) // TODO: E_META_WOOL_WHITE { m_MobType = 91; GetMonsterConfig("Sheep"); } + + + + cSheep::~cSheep() { } + + + + bool cSheep::IsA( const char* a_EntityType ) { - if( strcmp( a_EntityType, "cSheep" ) == 0 ) return true; + if (strcmp( a_EntityType, "cSheep" ) == 0) + { + return true; + } return cMonster::IsA( a_EntityType ); } + + + + void cSheep::KilledBy( cEntity* a_Killer ) { - //Todo: Check wheather it is sheared - //Todo: Check color + // TODO: Check whether it is sheared + // TODO: Check color - cMonster::DropItem(E_ITEM_WHITE_CLOTH, 1); + 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); + } cMonster::KilledBy( a_Killer ); -} \ No newline at end of file +} + + + -- cgit v1.2.3