diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-19 20:30:46 +0200 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-10-19 20:30:46 +0200 |
commit | 1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e (patch) | |
tree | aa91f8673b7ed1c42e0ed6136fbf1b6332aaf4c4 /source/Mobs | |
parent | Converted some const char*s and std::strings to AStrings (diff) | |
download | cuberite-1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e.tar cuberite-1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e.tar.gz cuberite-1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e.tar.bz2 cuberite-1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e.tar.lz cuberite-1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e.tar.xz cuberite-1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e.tar.zst cuberite-1b4b905f75c984c3bd9bc9dc553dbc86a8c5276e.zip |
Diffstat (limited to 'source/Mobs')
-rw-r--r-- | source/Mobs/Blaze.cpp | 49 | ||||
-rw-r--r-- | source/Mobs/Blaze.h | 14 | ||||
-rw-r--r-- | source/Mobs/Magmacube.cpp | 49 | ||||
-rw-r--r-- | source/Mobs/Magmacube.h | 14 | ||||
-rw-r--r-- | source/Mobs/Mooshroom.cpp | 56 | ||||
-rw-r--r-- | source/Mobs/Mooshroom.h | 14 | ||||
-rw-r--r-- | source/Mobs/Ocelot.cpp | 45 | ||||
-rw-r--r-- | source/Mobs/Ocelot.h | 14 | ||||
-rw-r--r-- | source/Mobs/Villager.cpp | 45 | ||||
-rw-r--r-- | source/Mobs/Villager.h | 14 |
10 files changed, 314 insertions, 0 deletions
diff --git a/source/Mobs/Blaze.cpp b/source/Mobs/Blaze.cpp new file mode 100644 index 000000000..c3e68518f --- /dev/null +++ b/source/Mobs/Blaze.cpp @@ -0,0 +1,49 @@ +
+#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
+
+#include "Blaze.h"
+
+
+
+
+
+cBlaze::cBlaze()
+{
+ m_MobType = 61;
+ GetMonsterConfig("Blaze");
+}
+
+
+
+
+
+cBlaze::~cBlaze()
+{
+}
+
+
+
+
+
+bool cBlaze::IsA( const char* a_EntityType )
+{
+ if( strcmp( a_EntityType, "cBlaze" ) == 0 ) return true;
+ return cMonster::IsA( a_EntityType );
+}
+
+
+
+
+
+void cBlaze::KilledBy( cEntity* a_Killer )
+{
+ cItems Drops;
+ AddRandomDropItem(Drops, 0, 1, E_ITEM_BLAZE_ROD);
+ m_World->SpawnItemPickups(Drops, m_Pos.x, m_Pos.y, m_Pos.z);
+
+ cMonster::KilledBy( a_Killer );
+}
+
+
+
+
diff --git a/source/Mobs/Blaze.h b/source/Mobs/Blaze.h new file mode 100644 index 000000000..bd722d529 --- /dev/null +++ b/source/Mobs/Blaze.h @@ -0,0 +1,14 @@ +#pragma once
+
+#include "AggressiveMonster.h"
+
+class cBlaze : public cAggressiveMonster
+{
+public:
+ cBlaze();
+ ~cBlaze();
+
+ virtual bool IsA( const char* a_EntityType );
+
+ virtual void KilledBy( cEntity* a_Killer );
+};
diff --git a/source/Mobs/Magmacube.cpp b/source/Mobs/Magmacube.cpp new file mode 100644 index 000000000..d73041baf --- /dev/null +++ b/source/Mobs/Magmacube.cpp @@ -0,0 +1,49 @@ +
+#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
+
+#include "Magmacube.h"
+
+
+
+
+
+cMagmacube::cMagmacube()
+{
+ m_MobType = 62;
+ GetMonsterConfig("Magmacube");
+}
+
+
+
+
+
+cMagmacube::~cMagmacube()
+{
+}
+
+
+
+
+
+bool cMagmacube::IsA( const char* a_EntityType )
+{
+ if( strcmp( a_EntityType, "cMagmacube" ) == 0 ) return true;
+ return cMonster::IsA( a_EntityType );
+}
+
+
+
+
+
+void cMagmacube::KilledBy( cEntity* a_Killer )
+{
+ cItems Drops;
+ AddRandomDropItem(Drops, 0, 1, E_ITEM_MAGMA_CREAM);
+ m_World->SpawnItemPickups(Drops, m_Pos.x, m_Pos.y, m_Pos.z);
+
+ cMonster::KilledBy( a_Killer );
+}
+
+
+
+
diff --git a/source/Mobs/Magmacube.h b/source/Mobs/Magmacube.h new file mode 100644 index 000000000..1a36ef2c1 --- /dev/null +++ b/source/Mobs/Magmacube.h @@ -0,0 +1,14 @@ +#pragma once
+
+#include "AggressiveMonster.h"
+
+class cMagmacube : public cAggressiveMonster
+{
+public:
+ cMagmacube();
+ ~cMagmacube();
+
+ virtual bool IsA( const char* a_EntityType );
+
+ virtual void KilledBy( cEntity* a_Killer );
+};
diff --git a/source/Mobs/Mooshroom.cpp b/source/Mobs/Mooshroom.cpp new file mode 100644 index 000000000..f70349e97 --- /dev/null +++ b/source/Mobs/Mooshroom.cpp @@ -0,0 +1,56 @@ +
+#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
+
+#include "Mooshroom.h"
+
+
+
+
+
+// TODO: Milk Cow
+
+
+
+
+
+cMooshroom::cMooshroom()
+{
+ m_MobType = 96;
+ GetMonsterConfig("Mooshroom");
+}
+
+
+
+
+
+cMooshroom::~cMooshroom()
+{
+}
+
+
+
+
+
+bool cMooshroom::IsA( const char* a_EntityType )
+{
+ if( strcmp( a_EntityType, "cMooshroom" ) == 0 ) return true;
+ return cMonster::IsA( a_EntityType );
+}
+
+
+
+
+
+void cMooshroom::KilledBy( cEntity* a_Killer )
+{
+ 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 );
+}
+
+
+
+
diff --git a/source/Mobs/Mooshroom.h b/source/Mobs/Mooshroom.h new file mode 100644 index 000000000..ea8ed5b08 --- /dev/null +++ b/source/Mobs/Mooshroom.h @@ -0,0 +1,14 @@ +#pragma once
+
+#include "PassiveMonster.h"
+
+class cMooshroom : public cPassiveMonster
+{
+public:
+ cMooshroom();
+ ~cMooshroom();
+
+ virtual bool IsA( const char* a_EntityType );
+
+ virtual void KilledBy( cEntity* a_Killer );
+};
diff --git a/source/Mobs/Ocelot.cpp b/source/Mobs/Ocelot.cpp new file mode 100644 index 000000000..ec50a9656 --- /dev/null +++ b/source/Mobs/Ocelot.cpp @@ -0,0 +1,45 @@ +
+#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
+
+#include "Ocelot.h"
+
+
+
+
+
+cOcelot::cOcelot()
+{
+ m_MobType = 98;
+ GetMonsterConfig("Ocelot");
+}
+
+
+
+
+
+cOcelot::~cOcelot()
+{
+}
+
+
+
+
+
+bool cOcelot::IsA( const char* a_EntityType )
+{
+ if( strcmp( a_EntityType, "cOcelot" ) == 0 ) return true;
+ return cMonster::IsA( a_EntityType );
+}
+
+
+
+
+
+void cOcelot::KilledBy( cEntity* a_Killer )
+{
+ cMonster::KilledBy( a_Killer );
+}
+
+
+
+
diff --git a/source/Mobs/Ocelot.h b/source/Mobs/Ocelot.h new file mode 100644 index 000000000..87571022f --- /dev/null +++ b/source/Mobs/Ocelot.h @@ -0,0 +1,14 @@ +#pragma once
+
+#include "PassiveMonster.h"
+
+class cOcelot : public cPassiveMonster
+{
+public:
+ cOcelot();
+ ~cOcelot();
+
+ virtual bool IsA( const char* a_EntityType );
+
+ virtual void KilledBy( cEntity* a_Killer );
+};
diff --git a/source/Mobs/Villager.cpp b/source/Mobs/Villager.cpp new file mode 100644 index 000000000..65b2ac5b5 --- /dev/null +++ b/source/Mobs/Villager.cpp @@ -0,0 +1,45 @@ +
+#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
+
+#include "Villager.h"
+
+
+
+
+
+cVillager::cVillager()
+{
+ m_MobType = 120;
+ GetMonsterConfig("Villager");
+}
+
+
+
+
+
+cVillager::~cVillager()
+{
+}
+
+
+
+
+
+bool cVillager::IsA( const char* a_EntityType )
+{
+ if( strcmp( a_EntityType, "cVillager" ) == 0 ) return true;
+ return cMonster::IsA( a_EntityType );
+}
+
+
+
+
+
+void cVillager::KilledBy( cEntity* a_Killer )
+{
+ cMonster::KilledBy( a_Killer );
+}
+
+
+
+
diff --git a/source/Mobs/Villager.h b/source/Mobs/Villager.h new file mode 100644 index 000000000..02272378b --- /dev/null +++ b/source/Mobs/Villager.h @@ -0,0 +1,14 @@ +#pragma once
+
+#include "PassiveMonster.h"
+
+class cVillager : public cPassiveMonster
+{
+public:
+ cVillager();
+ ~cVillager();
+
+ virtual bool IsA( const char* a_EntityType );
+
+ virtual void KilledBy( cEntity* a_Killer );
+};
|