Added moar mobs!
+ Added dragons + Added golems + Added giants + Added horses + Added some missing items + Added missing spawn egg metas
This commit is contained in:
parent
846f1223f4
commit
3e698d7b72
@ -963,6 +963,14 @@
|
|||||||
RelativePath="..\source\Mobs\Creeper.h"
|
RelativePath="..\source\Mobs\Creeper.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\EnderDragon.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\EnderDragon.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\source\Mobs\Enderman.cpp"
|
RelativePath="..\source\Mobs\Enderman.cpp"
|
||||||
>
|
>
|
||||||
@ -980,11 +988,35 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\source\Mobs\Magmacube.cpp"
|
RelativePath="..\source\Mobs\Giant.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\source\Mobs\Magmacube.h"
|
RelativePath="..\source\Mobs\Giant.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\Horse.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\Horse.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\IronGolem.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\IronGolem.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\MagmaCube.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\MagmaCube.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
@ -1059,6 +1091,14 @@
|
|||||||
RelativePath="..\source\Mobs\Slime.h"
|
RelativePath="..\source\Mobs\Slime.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\SnowGolem.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\SnowGolem.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\source\Mobs\Spider.cpp"
|
RelativePath="..\source\Mobs\Spider.cpp"
|
||||||
>
|
>
|
||||||
@ -1091,6 +1131,14 @@
|
|||||||
RelativePath="..\source\Mobs\Witch.h"
|
RelativePath="..\source\Mobs\Witch.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\Wither.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\source\Mobs\Wither.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\source\Mobs\Wolf.h"
|
RelativePath="..\source\Mobs\Wolf.h"
|
||||||
>
|
>
|
||||||
@ -1104,11 +1152,11 @@
|
|||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\source\Mobs\Zombiepigman.cpp"
|
RelativePath="..\source\Mobs\ZombiePigman.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\source\Mobs\Zombiepigman.h"
|
RelativePath="..\source\Mobs\ZombiePigman.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
@ -323,17 +323,17 @@ enum ENUM_ITEM_ID
|
|||||||
E_ITEM_BOOK_AND_QUILL = 386,
|
E_ITEM_BOOK_AND_QUILL = 386,
|
||||||
E_ITEM_WRITTEN_BOOK = 387,
|
E_ITEM_WRITTEN_BOOK = 387,
|
||||||
E_ITEM_EMERALD = 388,
|
E_ITEM_EMERALD = 388,
|
||||||
// TODO: missing an item: item frame
|
E_ITEM_ITEM_FRAME = 389,
|
||||||
E_ITEM_FLOWER_POT = 390,
|
E_ITEM_FLOWER_POT = 390,
|
||||||
E_ITEM_CARROT = 391,
|
E_ITEM_CARROT = 391,
|
||||||
E_ITEM_POTATO = 392,
|
E_ITEM_POTATO = 392,
|
||||||
E_ITEM_BAKED_POTATO = 393,
|
E_ITEM_BAKED_POTATO = 393,
|
||||||
E_ITEM_POISONOUS_POTATO = 394,
|
E_ITEM_POISONOUS_POTATO = 394,
|
||||||
// TODO: missing an item: empty map
|
E_ITEM_EMPTY_MAP = 395,
|
||||||
E_ITEM_GOLDEN_CARROT = 396,
|
E_ITEM_GOLDEN_CARROT = 396,
|
||||||
E_ITEM_HEAD = 397,
|
E_ITEM_HEAD = 397,
|
||||||
E_ITEM_CARROT_ON_STICK = 398,
|
E_ITEM_CARROT_ON_STICK = 398,
|
||||||
// TODO: missing an item: nether star
|
E_ITEM_NETHER_STAR = 399,
|
||||||
E_ITEM_PUMPKIN_PIE = 400,
|
E_ITEM_PUMPKIN_PIE = 400,
|
||||||
E_ITEM_FIREWORK_ROCKET = 401,
|
E_ITEM_FIREWORK_ROCKET = 401,
|
||||||
E_ITEM_FIREWORK_STAR = 402,
|
E_ITEM_FIREWORK_STAR = 402,
|
||||||
@ -607,35 +607,60 @@ enum
|
|||||||
|
|
||||||
// E_ITEM_SPAWN_EGG metas:
|
// E_ITEM_SPAWN_EGG metas:
|
||||||
// See also cMonster::eType, since monster type and spawn egg meta are the same
|
// See also cMonster::eType, since monster type and spawn egg meta are the same
|
||||||
E_META_SPAWN_EGG_CREEPER = 50,
|
E_META_SPAWN_EGG_PICKUP = 1,
|
||||||
E_META_SPAWN_EGG_SKELETON = 51,
|
E_META_SPAWN_EGG_EXPERIENCE_ORB = 2,
|
||||||
E_META_SPAWN_EGG_SPIDER = 52,
|
E_META_SPAWN_EGG_LEASH_KNOT = 8,
|
||||||
E_META_SPAWN_EGG_ZOMBIE = 54,
|
E_META_SPAWN_EGG_PAINTING = 9,
|
||||||
E_META_SPAWN_EGG_GIANT = 53,
|
E_META_SPAWN_EGG_ARROW = 10,
|
||||||
E_META_SPAWN_EGG_SLIME = 55,
|
E_META_SPAWN_EGG_SNOWBALL = 11,
|
||||||
E_META_SPAWN_EGG_GHAST = 56,
|
E_META_SPAWN_EGG_FIREBALL = 12,
|
||||||
E_META_SPAWN_EGG_ZOMBIE_PIGMAN = 57,
|
E_META_SPAWN_EGG_SMALL_FIREBALL = 13,
|
||||||
E_META_SPAWN_EGG_ENDERMAN = 58,
|
E_META_SPAWN_EGG_ENDER_PEARL = 14,
|
||||||
E_META_SPAWN_EGG_CAVE_SPIDER = 59,
|
E_META_SPAWN_EGG_EYE_OF_ENDER = 15,
|
||||||
E_META_SPAWN_EGG_SILVERFISH = 60,
|
E_META_SPAWN_EGG_SPLASH_POTION = 16,
|
||||||
E_META_SPAWN_EGG_BLAZE = 61,
|
E_META_SPAWN_EGG_EXP_BOTTLE = 17,
|
||||||
E_META_SPAWN_EGG_MAGMA_CUBE = 62,
|
E_META_SPAWN_EGG_ITEM_FRAME = 18,
|
||||||
E_META_SPAWN_EGG_ENDER_DRAGON = 63,
|
E_META_SPAWN_EGG_WITHER_SKULL = 19,
|
||||||
E_META_SPAWN_EGG_WITHER = 64,
|
E_META_SPAWN_EGG_PRIMED_TNT = 20,
|
||||||
E_META_SPAWN_EGG_BAT = 65,
|
E_META_SPAWN_EGG_FALLING_BLOCK = 21,
|
||||||
E_META_SPAWN_EGG_WITCH = 66,
|
E_META_SPAWN_EGG_FIREWORK = 22,
|
||||||
E_META_SPAWN_EGG_PIG = 90,
|
E_META_SPAWN_EGG_BOAT = 41,
|
||||||
E_META_SPAWN_EGG_SHEEP = 91,
|
E_META_SPAWN_EGG_MINECART = 42,
|
||||||
E_META_SPAWN_EGG_COW = 92,
|
E_META_SPAWN_EGG_MINECART_CHEST = 43,
|
||||||
E_META_SPAWN_EGG_CHICKEN = 93,
|
E_META_SPAWN_EGG_MINECART_FURNACE = 44,
|
||||||
E_META_SPAWN_EGG_SQUID = 94,
|
E_META_SPAWN_EGG_MINECART_TNT = 45,
|
||||||
E_META_SPAWN_EGG_WOLF = 95,
|
E_META_SPAWN_EGG_MINECART_HOPPER = 46,
|
||||||
E_META_SPAWN_EGG_MOOSHROOM = 96,
|
E_META_SPAWN_EGG_MINECART_SPAWNER = 47,
|
||||||
E_META_SPAWN_EGG_SNOW_GOLEM = 97,
|
E_META_SPAWN_EGG_CREEPER = 50,
|
||||||
E_META_SPAWN_EGG_OCELOT = 98,
|
E_META_SPAWN_EGG_SKELETON = 51,
|
||||||
E_META_SPAWN_EGG_IRON_GOLEM = 99,
|
E_META_SPAWN_EGG_SPIDER = 52,
|
||||||
E_META_SPAWN_EGG_HORSE = 100,
|
E_META_SPAWN_EGG_GIANT = 53,
|
||||||
E_META_SPAWN_EGG_VILLAGER = 120,
|
E_META_SPAWN_EGG_ZOMBIE = 54,
|
||||||
|
E_META_SPAWN_EGG_SLIME = 55,
|
||||||
|
E_META_SPAWN_EGG_GHAST = 56,
|
||||||
|
E_META_SPAWN_EGG_ZOMBIE_PIGMAN = 57,
|
||||||
|
E_META_SPAWN_EGG_ENDERMAN = 58,
|
||||||
|
E_META_SPAWN_EGG_CAVE_SPIDER = 59,
|
||||||
|
E_META_SPAWN_EGG_SILVERFISH = 60,
|
||||||
|
E_META_SPAWN_EGG_BLAZE = 61,
|
||||||
|
E_META_SPAWN_EGG_MAGMA_CUBE = 62,
|
||||||
|
E_META_SPAWN_EGG_ENDER_DRAGON = 63,
|
||||||
|
E_META_SPAWN_EGG_WITHER = 64,
|
||||||
|
E_META_SPAWN_EGG_BAT = 65,
|
||||||
|
E_META_SPAWN_EGG_WITCH = 66,
|
||||||
|
E_META_SPAWN_EGG_PIG = 90,
|
||||||
|
E_META_SPAWN_EGG_SHEEP = 91,
|
||||||
|
E_META_SPAWN_EGG_COW = 92,
|
||||||
|
E_META_SPAWN_EGG_CHICKEN = 93,
|
||||||
|
E_META_SPAWN_EGG_SQUID = 94,
|
||||||
|
E_META_SPAWN_EGG_WOLF = 95,
|
||||||
|
E_META_SPAWN_EGG_MOOSHROOM = 96,
|
||||||
|
E_META_SPAWN_EGG_SNOW_GOLEM = 97,
|
||||||
|
E_META_SPAWN_EGG_OCELOT = 98,
|
||||||
|
E_META_SPAWN_EGG_IRON_GOLEM = 99,
|
||||||
|
E_META_SPAWN_EGG_HORSE = 100,
|
||||||
|
E_META_SPAWN_EGG_VILLAGER = 120,
|
||||||
|
E_META_SPAWN_EGG_ENDER_CRYSTAL = 200,
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
27
source/Mobs/EnderDragon.cpp
Normal file
27
source/Mobs/EnderDragon.cpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
|
#include "EnderDragon.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cEnderDragon::cEnderDragon(void) :
|
||||||
|
// TODO: Vanilla source says this, but is it right? Dragons fly, they don't stand
|
||||||
|
super("EnderDragon", 63, "mob.enderdragon.hit", "mob.enderdragon.end", 16.0, 8.0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cEnderDragon::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
source/Mobs/EnderDragon.h
Normal file
25
source/Mobs/EnderDragon.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "AggressiveMonster.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class cEnderDragon :
|
||||||
|
public cAggressiveMonster
|
||||||
|
{
|
||||||
|
typedef cAggressiveMonster super;
|
||||||
|
|
||||||
|
public:
|
||||||
|
cEnderDragon(void);
|
||||||
|
|
||||||
|
CLASS_PROTODEF(cEnderDragon);
|
||||||
|
|
||||||
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
27
source/Mobs/Giant.cpp
Normal file
27
source/Mobs/Giant.cpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
|
#include "Giant.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cGiant::cGiant(void) :
|
||||||
|
// TODO: The size is only a guesstimate, measure in vanilla and fix the size values here
|
||||||
|
super("Giant", 53, "mob.zombie.hurt", "mob.zombie.death", 2.0, 13.5)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cGiant::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
|
{
|
||||||
|
AddRandomDropItem(a_Drops, 10, 50, E_ITEM_ROTTEN_FLESH);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
source/Mobs/Giant.h
Normal file
25
source/Mobs/Giant.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "AggressiveMonster.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class cGiant :
|
||||||
|
public cAggressiveMonster
|
||||||
|
{
|
||||||
|
typedef cAggressiveMonster super;
|
||||||
|
|
||||||
|
public:
|
||||||
|
cGiant(void);
|
||||||
|
|
||||||
|
CLASS_PROTODEF(cGiant);
|
||||||
|
|
||||||
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
26
source/Mobs/Horse.cpp
Normal file
26
source/Mobs/Horse.cpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
|
#include "Horse.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cHorse::cHorse(void) :
|
||||||
|
super("Horse", 100, "mob.horse.hit", "mob.horse.death", 1.4, 1.6)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cHorse::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
|
{
|
||||||
|
AddRandomDropItem(a_Drops, 0, 2, E_ITEM_LEATHER);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
source/Mobs/Horse.h
Normal file
25
source/Mobs/Horse.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "AggressiveMonster.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class cHorse :
|
||||||
|
public cAggressiveMonster
|
||||||
|
{
|
||||||
|
typedef cAggressiveMonster super;
|
||||||
|
|
||||||
|
public:
|
||||||
|
cHorse(void);
|
||||||
|
|
||||||
|
CLASS_PROTODEF(cHorse);
|
||||||
|
|
||||||
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
26
source/Mobs/IronGolem.cpp
Normal file
26
source/Mobs/IronGolem.cpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
|
#include "IronGolem.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cIronGolem::cIronGolem(void) :
|
||||||
|
super("IronGolem", 99, "mob.IronGolem.hit", "mob.IronGolem.death", 1.4, 2.9)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cIronGolem::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
|
{
|
||||||
|
AddRandomDropItem(a_Drops, 0, 5, E_ITEM_IRON);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
source/Mobs/IronGolem.h
Normal file
25
source/Mobs/IronGolem.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "AggressiveMonster.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class cIronGolem :
|
||||||
|
public cAggressiveMonster
|
||||||
|
{
|
||||||
|
typedef cAggressiveMonster super;
|
||||||
|
|
||||||
|
public:
|
||||||
|
cIronGolem(void);
|
||||||
|
|
||||||
|
CLASS_PROTODEF(cIronGolem);
|
||||||
|
|
||||||
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
|||||||
|
|
||||||
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
#include "Magmacube.h"
|
#include "MagmaCube.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cMagmacube::cMagmacube(int a_Size) :
|
cMagmaCube::cMagmaCube(int a_Size) :
|
||||||
super("Magmacube", 62, "mob.magmacube.big", "mob.magmacube.big", 0.6 * a_Size, 0.6 * a_Size),
|
super("MagmaCube", 62, "mob.MagmaCube.big", "mob.MagmaCube.big", 0.6 * a_Size, 0.6 * a_Size),
|
||||||
m_Size(a_Size)
|
m_Size(a_Size)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -17,7 +17,7 @@ cMagmacube::cMagmacube(int a_Size) :
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cMagmacube::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
void cMagmaCube::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
{
|
{
|
||||||
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_MAGMA_CREAM);
|
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_MAGMA_CREAM);
|
||||||
}
|
}
|
||||||
|
@ -7,22 +7,22 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cMagmacube :
|
class cMagmaCube :
|
||||||
public cAggressiveMonster
|
public cAggressiveMonster
|
||||||
{
|
{
|
||||||
typedef cAggressiveMonster super;
|
typedef cAggressiveMonster super;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Creates a magmacube of the specified size; size is 1 .. 3, with 1 being the smallest
|
/// Creates a MagmaCube of the specified size; size is 1 .. 3, with 1 being the smallest
|
||||||
cMagmacube(int a_Size);
|
cMagmaCube(int a_Size);
|
||||||
|
|
||||||
CLASS_PROTODEF(cMagmacube);
|
CLASS_PROTODEF(cMagmaCube);
|
||||||
|
|
||||||
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
/// Size of the magmacube, 1 .. 3, with 1 being the smallest
|
/// Size of the MagmaCube, 1 .. 3, with 1 being the smallest
|
||||||
int m_Size;
|
int m_Size;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
@ -26,34 +26,36 @@ public:
|
|||||||
/// This identifies individual monster type, as well as their network type-ID
|
/// This identifies individual monster type, as well as their network type-ID
|
||||||
enum eType
|
enum eType
|
||||||
{
|
{
|
||||||
mtCreeper = E_META_SPAWN_EGG_CREEPER,
|
|
||||||
mtSkeleton = E_META_SPAWN_EGG_SKELETON,
|
|
||||||
mtSpider = E_META_SPAWN_EGG_SPIDER,
|
|
||||||
mtGiant = E_META_SPAWN_EGG_GIANT,
|
|
||||||
mtZombie = E_META_SPAWN_EGG_ZOMBIE,
|
|
||||||
mtSlime = E_META_SPAWN_EGG_SLIME,
|
|
||||||
mtGhast = E_META_SPAWN_EGG_GHAST,
|
|
||||||
mtZombiePigman = E_META_SPAWN_EGG_ZOMBIE_PIGMAN,
|
|
||||||
mtEnderman = E_META_SPAWN_EGG_ENDERMAN,
|
|
||||||
mtCaveSpider = E_META_SPAWN_EGG_CAVE_SPIDER,
|
|
||||||
mtSilverfish = E_META_SPAWN_EGG_SILVERFISH,
|
|
||||||
mtBlaze = E_META_SPAWN_EGG_BLAZE,
|
|
||||||
mtMagmaCube = E_META_SPAWN_EGG_MAGMA_CUBE,
|
|
||||||
mtEnderDragon = E_META_SPAWN_EGG_ENDER_DRAGON,
|
|
||||||
mtWither = E_META_SPAWN_EGG_WITHER,
|
|
||||||
mtBat = E_META_SPAWN_EGG_BAT,
|
mtBat = E_META_SPAWN_EGG_BAT,
|
||||||
mtWitch = E_META_SPAWN_EGG_WITCH,
|
mtBlaze = E_META_SPAWN_EGG_BLAZE,
|
||||||
|
mtCaveSpider = E_META_SPAWN_EGG_CAVE_SPIDER,
|
||||||
|
mtChicken = E_META_SPAWN_EGG_CHICKEN,
|
||||||
|
mtCow = E_META_SPAWN_EGG_COW,
|
||||||
|
mtCreeper = E_META_SPAWN_EGG_CREEPER,
|
||||||
|
mtEnderDragon = E_META_SPAWN_EGG_ENDER_DRAGON,
|
||||||
|
mtEnderman = E_META_SPAWN_EGG_ENDERMAN,
|
||||||
|
mtGhast = E_META_SPAWN_EGG_GHAST,
|
||||||
|
mtGiant = E_META_SPAWN_EGG_GIANT,
|
||||||
|
mtHorse = E_META_SPAWN_EGG_HORSE,
|
||||||
|
mtIronGolem = E_META_SPAWN_EGG_IRON_GOLEM,
|
||||||
|
mtMagmaCube = E_META_SPAWN_EGG_MAGMA_CUBE,
|
||||||
|
mtMooshroom = E_META_SPAWN_EGG_MOOSHROOM,
|
||||||
|
mtOcelot = E_META_SPAWN_EGG_OCELOT,
|
||||||
mtPig = E_META_SPAWN_EGG_PIG,
|
mtPig = E_META_SPAWN_EGG_PIG,
|
||||||
mtSheep = E_META_SPAWN_EGG_SHEEP,
|
mtSheep = E_META_SPAWN_EGG_SHEEP,
|
||||||
mtCow = E_META_SPAWN_EGG_COW,
|
mtSilverfish = E_META_SPAWN_EGG_SILVERFISH,
|
||||||
mtChicken = E_META_SPAWN_EGG_CHICKEN,
|
mtSkeleton = E_META_SPAWN_EGG_SKELETON,
|
||||||
mtSquid = E_META_SPAWN_EGG_SQUID,
|
mtSlime = E_META_SPAWN_EGG_SLIME,
|
||||||
mtWolf = E_META_SPAWN_EGG_WOLF,
|
|
||||||
mtMooshroom = E_META_SPAWN_EGG_MOOSHROOM,
|
|
||||||
mtSnowGolem = E_META_SPAWN_EGG_SNOW_GOLEM,
|
mtSnowGolem = E_META_SPAWN_EGG_SNOW_GOLEM,
|
||||||
mtOcelot = E_META_SPAWN_EGG_OCELOT,
|
mtSpider = E_META_SPAWN_EGG_SPIDER,
|
||||||
mtIronGolem = E_META_SPAWN_EGG_IRON_GOLEM,
|
mtSquid = E_META_SPAWN_EGG_SQUID,
|
||||||
mtVillager = E_META_SPAWN_EGG_VILLAGER,
|
mtVillager = E_META_SPAWN_EGG_VILLAGER,
|
||||||
|
mtWitch = E_META_SPAWN_EGG_WITCH,
|
||||||
|
mtWither = E_META_SPAWN_EGG_WITHER,
|
||||||
|
mtWolf = E_META_SPAWN_EGG_WOLF,
|
||||||
|
mtZombie = E_META_SPAWN_EGG_ZOMBIE,
|
||||||
|
mtZombiePigman = E_META_SPAWN_EGG_ZOMBIE_PIGMAN,
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
// tolua_end
|
// tolua_end
|
||||||
|
26
source/Mobs/SnowGolem.cpp
Normal file
26
source/Mobs/SnowGolem.cpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
|
#include "SnowGolem.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cSnowGolem::cSnowGolem(void) :
|
||||||
|
super("SnowGolem", 97, "", "", 0.4, 1.8)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cSnowGolem::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
|
{
|
||||||
|
AddRandomDropItem(a_Drops, 0, 5, E_ITEM_SNOWBALL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
source/Mobs/SnowGolem.h
Normal file
25
source/Mobs/SnowGolem.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "AggressiveMonster.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class cSnowGolem :
|
||||||
|
public cAggressiveMonster
|
||||||
|
{
|
||||||
|
typedef cAggressiveMonster super;
|
||||||
|
|
||||||
|
public:
|
||||||
|
cSnowGolem(void);
|
||||||
|
|
||||||
|
CLASS_PROTODEF(cSnowGolem);
|
||||||
|
|
||||||
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
26
source/Mobs/Wither.cpp
Normal file
26
source/Mobs/Wither.cpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
|
#include "Wither.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cWither::cWither(void) :
|
||||||
|
super("Wither", 64, "mob.wither.hurt", "mob.wither.death", 0.9, 4.0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cWither::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
|
{
|
||||||
|
AddRandomDropItem(a_Drops, 1, 1, E_ITEM_NETHER_STAR);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
25
source/Mobs/Wither.h
Normal file
25
source/Mobs/Wither.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "AggressiveMonster.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class cWither :
|
||||||
|
public cAggressiveMonster
|
||||||
|
{
|
||||||
|
typedef cAggressiveMonster super;
|
||||||
|
|
||||||
|
public:
|
||||||
|
cWither(void);
|
||||||
|
|
||||||
|
CLASS_PROTODEF(cWither);
|
||||||
|
|
||||||
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
|||||||
|
|
||||||
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
#include "Zombiepigman.h"
|
#include "ZombiePigman.h"
|
||||||
#include "../World.h"
|
#include "../World.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cZombiepigman::cZombiepigman(void) :
|
cZombiePigman::cZombiePigman(void) :
|
||||||
super("Zombiepigman", 57, "mob.zombiepig.zpighurt", "mob.zombiepig.zpigdeath", 0.6, 1.8)
|
super("ZombiePigman", 57, "mob.zombiepig.zpighurt", "mob.zombiepig.zpigdeath", 0.6, 1.8)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,23 +17,7 @@ cZombiepigman::cZombiepigman(void) :
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cZombiepigman::Tick(float a_Dt, cChunk & a_Chunk)
|
void cZombiePigman::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
||||||
{
|
|
||||||
super::Tick(a_Dt, a_Chunk);
|
|
||||||
|
|
||||||
// TODO Same as noticed in cSkeleton AND Do they really burn by sun?? :D In the neather is no sun :D
|
|
||||||
if ((GetWorld()->GetTimeOfDay() < (12000 + 1000)) && !IsOnFire())
|
|
||||||
{
|
|
||||||
// Burn for 10 ticks, then decide again
|
|
||||||
StartBurning(10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cZombiepigman::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
|
||||||
{
|
{
|
||||||
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_ROTTEN_FLESH);
|
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_ROTTEN_FLESH);
|
||||||
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_GOLD_NUGGET);
|
AddRandomDropItem(a_Drops, 0, 1, E_ITEM_GOLD_NUGGET);
|
||||||
@ -45,7 +29,7 @@ void cZombiepigman::GetDrops(cItems & a_Drops, cEntity * a_Killer)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cZombiepigman::KilledBy(cEntity * a_Killer)
|
void cZombiePigman::KilledBy(cEntity * a_Killer)
|
||||||
{
|
{
|
||||||
super::KilledBy(a_Killer);
|
super::KilledBy(a_Killer);
|
||||||
|
|
||||||
|
@ -7,17 +7,16 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cZombiepigman :
|
class cZombiePigman :
|
||||||
public cPassiveAggressiveMonster
|
public cPassiveAggressiveMonster
|
||||||
{
|
{
|
||||||
typedef cPassiveAggressiveMonster super;
|
typedef cPassiveAggressiveMonster super;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
cZombiepigman(void);
|
cZombiePigman(void);
|
||||||
|
|
||||||
CLASS_PROTODEF(cZombiepigman);
|
CLASS_PROTODEF(cZombiePigman);
|
||||||
|
|
||||||
virtual void Tick(float a_Dt, cChunk & a_Chunk) override;
|
|
||||||
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL) override;
|
||||||
virtual void KilledBy(cEntity * a_Killer) override;
|
virtual void KilledBy(cEntity * a_Killer) override;
|
||||||
} ;
|
} ;
|
||||||
|
@ -35,8 +35,12 @@
|
|||||||
#include "Mobs/Cow.h"
|
#include "Mobs/Cow.h"
|
||||||
#include "Mobs/Creeper.h"
|
#include "Mobs/Creeper.h"
|
||||||
#include "Mobs/Enderman.h"
|
#include "Mobs/Enderman.h"
|
||||||
|
#include "Mobs/EnderDragon.h"
|
||||||
#include "Mobs/Ghast.h"
|
#include "Mobs/Ghast.h"
|
||||||
#include "Mobs/Magmacube.h"
|
#include "Mobs/Giant.h"
|
||||||
|
#include "Mobs/Horse.h"
|
||||||
|
#include "Mobs/IronGolem.h"
|
||||||
|
#include "Mobs/MagmaCube.h"
|
||||||
#include "Mobs/Mooshroom.h"
|
#include "Mobs/Mooshroom.h"
|
||||||
#include "Mobs/Ocelot.h"
|
#include "Mobs/Ocelot.h"
|
||||||
#include "Mobs/Pig.h"
|
#include "Mobs/Pig.h"
|
||||||
@ -44,13 +48,15 @@
|
|||||||
#include "Mobs/Silverfish.h"
|
#include "Mobs/Silverfish.h"
|
||||||
#include "Mobs/Skeleton.h"
|
#include "Mobs/Skeleton.h"
|
||||||
#include "Mobs/Slime.h"
|
#include "Mobs/Slime.h"
|
||||||
|
#include "Mobs/SnowGolem.h"
|
||||||
#include "Mobs/Spider.h"
|
#include "Mobs/Spider.h"
|
||||||
#include "Mobs/Squid.h"
|
#include "Mobs/Squid.h"
|
||||||
#include "Mobs/Villager.h"
|
#include "Mobs/Villager.h"
|
||||||
#include "Mobs/Witch.h"
|
#include "Mobs/Witch.h"
|
||||||
|
#include "Mobs/Wither.h"
|
||||||
#include "Mobs/Wolf.h"
|
#include "Mobs/Wolf.h"
|
||||||
#include "Mobs/Zombie.h"
|
#include "Mobs/Zombie.h"
|
||||||
#include "Mobs/Zombiepigman.h"
|
#include "Mobs/ZombiePigman.h"
|
||||||
|
|
||||||
#include "OSSupport/MakeDir.h"
|
#include "OSSupport/MakeDir.h"
|
||||||
#include "MersenneTwister.h"
|
#include "MersenneTwister.h"
|
||||||
@ -2588,8 +2594,12 @@ int cWorld::SpawnMob(double a_PosX, double a_PosY, double a_PosZ, cMonster::eTyp
|
|||||||
case cMonster::mtCow: Monster = new cCow(); break;
|
case cMonster::mtCow: Monster = new cCow(); break;
|
||||||
case cMonster::mtCreeper: Monster = new cCreeper(); break;
|
case cMonster::mtCreeper: Monster = new cCreeper(); break;
|
||||||
case cMonster::mtEnderman: Monster = new cEnderman(); break;
|
case cMonster::mtEnderman: Monster = new cEnderman(); break;
|
||||||
|
case cMonster::mtEnderDragon: Monster = new cEnderDragon(); break;
|
||||||
case cMonster::mtGhast: Monster = new cGhast(); break;
|
case cMonster::mtGhast: Monster = new cGhast(); break;
|
||||||
case cMonster::mtMagmaCube: Monster = new cMagmacube(Size); break;
|
case cMonster::mtGiant: Monster = new cGiant(); break;
|
||||||
|
case cMonster::mtHorse: Monster = new cHorse(); break;
|
||||||
|
case cMonster::mtIronGolem: Monster = new cIronGolem(); break;
|
||||||
|
case cMonster::mtMagmaCube: Monster = new cMagmaCube(Size); break;
|
||||||
case cMonster::mtMooshroom: Monster = new cMooshroom(); break;
|
case cMonster::mtMooshroom: Monster = new cMooshroom(); break;
|
||||||
case cMonster::mtOcelot: Monster = new cOcelot(); break;
|
case cMonster::mtOcelot: Monster = new cOcelot(); break;
|
||||||
case cMonster::mtPig: Monster = new cPig(); break;
|
case cMonster::mtPig: Monster = new cPig(); break;
|
||||||
@ -2597,13 +2607,15 @@ int cWorld::SpawnMob(double a_PosX, double a_PosY, double a_PosZ, cMonster::eTyp
|
|||||||
case cMonster::mtSilverfish: Monster = new cSilverfish(); break;
|
case cMonster::mtSilverfish: Monster = new cSilverfish(); break;
|
||||||
case cMonster::mtSkeleton: Monster = new cSkeleton(); break;
|
case cMonster::mtSkeleton: Monster = new cSkeleton(); break;
|
||||||
case cMonster::mtSlime: Monster = new cSlime(Size); break;
|
case cMonster::mtSlime: Monster = new cSlime(Size); break;
|
||||||
|
case cMonster::mtSnowGolem: Monster = new cSnowGolem(); break;
|
||||||
case cMonster::mtSpider: Monster = new cSpider(); break;
|
case cMonster::mtSpider: Monster = new cSpider(); break;
|
||||||
case cMonster::mtSquid: Monster = new cSquid(); break;
|
case cMonster::mtSquid: Monster = new cSquid(); break;
|
||||||
case cMonster::mtVillager: Monster = new cVillager(); break;
|
case cMonster::mtVillager: Monster = new cVillager(); break;
|
||||||
case cMonster::mtWitch: Monster = new cWitch(); break;
|
case cMonster::mtWitch: Monster = new cWitch(); break;
|
||||||
|
case cMonster::mtWither: Monster = new cWither(); break;
|
||||||
case cMonster::mtWolf: Monster = new cWolf(); break;
|
case cMonster::mtWolf: Monster = new cWolf(); break;
|
||||||
case cMonster::mtZombie: Monster = new cZombie(); break;
|
case cMonster::mtZombie: Monster = new cZombie(); break;
|
||||||
case cMonster::mtZombiePigman: Monster = new cZombiepigman(); break;
|
case cMonster::mtZombiePigman: Monster = new cZombiePigman(); break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user