summaryrefslogtreecommitdiffstats
path: root/source/Mobs/Sheep.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Mobs/Sheep.cpp')
-rw-r--r--source/Mobs/Sheep.cpp37
1 files changed, 7 insertions, 30 deletions
diff --git a/source/Mobs/Sheep.cpp b/source/Mobs/Sheep.cpp
index 1f5f1815f..9c67aba29 100644
--- a/source/Mobs/Sheep.cpp
+++ b/source/Mobs/Sheep.cpp
@@ -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 );
}
+