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/cCow.cpp | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) (limited to 'source/cCow.cpp') diff --git a/source/cCow.cpp b/source/cCow.cpp index 56651dd24..18c78aeb1 100644 --- a/source/cCow.cpp +++ b/source/cCow.cpp @@ -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 ); } + + + + -- cgit v1.2.3