Cuberite
A lightweight, fast and extensible game server for Minecraft
Zombie.cpp
Go to the documentation of this file.
1 
2 #include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
3 
4 #include "Zombie.h"
5 #include "../World.h"
6 #include "../LineBlockTracer.h"
7 
8 
9 
10 
11 
12 cZombie::cZombie(bool a_IsVillagerZombie) :
13  super("Zombie", mtZombie, "entity.zombie.hurt", "entity.zombie.death", 0.6, 1.8),
14  m_IsVillagerZombie(a_IsVillagerZombie),
15  m_IsConverting(false)
16 {
17 }
18 
19 
20 
21 
22 
23 void cZombie::GetDrops(cItems & a_Drops, cEntity * a_Killer)
24 {
25  unsigned int LootingLevel = 0;
26  if (a_Killer != nullptr)
27  {
29  }
30  AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_ROTTEN_FLESH);
31  cItems RareDrops;
32  RareDrops.Add(cItem(E_ITEM_IRON));
33  RareDrops.Add(cItem(E_ITEM_CARROT));
34  RareDrops.Add(cItem(E_ITEM_POTATO));
35  AddRandomRareDropItem(a_Drops, RareDrops, LootingLevel);
36  AddRandomArmorDropItem(a_Drops, LootingLevel);
37  AddRandomWeaponDropItem(a_Drops, LootingLevel);
38 }
void AddRandomWeaponDropItem(cItems &a_Drops, unsigned int a_LootingLevel)
Adds weapon that is equipped with the chance saved in m_DropChance... to the drop.
Definition: Monster.cpp:1303
void AddRandomArmorDropItem(cItems &a_Drops, unsigned int a_LootingLevel)
Adds armor that is equipped with the chance saved in m_DropChance... to the drop. ...
Definition: Monster.cpp:1260
void AddRandomDropItem(cItems &a_Drops, unsigned int a_Min, unsigned int a_Max, short a_Item, short a_ItemHealth=0)
Adds a random number of a_Item between a_Min and a_Max to itemdrops a_Drops.
Definition: Monster.cpp:1215
unsigned int GetLevel(int a_EnchantmentID) const
Returns the level for the specified enchantment; 0 if not stored.
void AddRandomRareDropItem(cItems &a_Drops, cItems &a_Items, unsigned int a_LootingLevel)
Adds one rare item out of the list of rare items a_Items modified by the looting level a_LootingLevel...
Definition: Monster.cpp:1246
cZombie(bool a_IsVillagerZombie)
Definition: Zombie.cpp:12
cEnchantments m_Enchantments
Definition: Item.h:212
void Add(const cItem &a_Item)
Definition: Item.h:254
virtual void GetDrops(cItems &a_Drops, cEntity *a_Killer=nullptr) override
Returns the list of drops for this pawn when it is killed.
Definition: Zombie.cpp:23
virtual cItem GetEquippedWeapon(void) const
Returns the curently equipped weapon; empty item if none.
Definition: Entity.h:346
Definition: Entity.h:73
Definition: Item.h:36
This class bridges a vector of cItem for safe access via Lua.
Definition: Item.h:234