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
This commit is contained in:
@@ -3,7 +3,15 @@
|
||||
|
||||
#include "cCow.h"
|
||||
|
||||
//TODO: Milk Cow
|
||||
|
||||
|
||||
|
||||
|
||||
// TODO: Milk Cow
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cCow::cCow()
|
||||
{
|
||||
@@ -11,28 +19,38 @@ cCow::cCow()
|
||||
GetMonsterConfig("Cow");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cCow::~cCow()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool cCow::IsA( const char* a_EntityType )
|
||||
{
|
||||
if( strcmp( a_EntityType, "cCow" ) == 0 ) return true;
|
||||
return cMonster::IsA( a_EntityType );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cCow::KilledBy( cEntity* a_Killer )
|
||||
{
|
||||
//Drops 0-2 Lether
|
||||
cMonster::RandomDropItem(E_ITEM_LEATHER, 0, 2);
|
||||
|
||||
if(GetMetaData() == BURNING)
|
||||
{
|
||||
cMonster::RandomDropItem(E_ITEM_STEAK, 1, 3);
|
||||
}else{
|
||||
cMonster::RandomDropItem(E_ITEM_RAW_BEEF, 1, 3);
|
||||
}
|
||||
|
||||
cItems Drops;
|
||||
AddRandomDropItem(Drops, 0, 2, E_ITEM_LEATHER);
|
||||
AddRandomDropItem(Drops, 1, 3, (GetMetaData() == BURNING) ? E_ITEM_STEAK : E_ITEM_RAW_BEEF);
|
||||
m_World->SpawnItemPickups(Drops, m_Pos.x, m_Pos.y, m_Pos.z);
|
||||
|
||||
cMonster::KilledBy( a_Killer );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user