diff options
author | r.ramazanov <r.ramazanov@servplus.ru> | 2014-04-25 08:06:12 +0200 |
---|---|---|
committer | r.ramazanov <r.ramazanov@servplus.ru> | 2014-04-25 08:06:12 +0200 |
commit | 1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3 (patch) | |
tree | 980565110fab2977471b7975a63ac2018bfe1c91 /src/Mobs/CaveSpider.cpp | |
parent | Merge branch 'master' of https://github.com/mc-server/MCServer (diff) | |
parent | Merge pull request #929 from archshift/master (diff) | |
download | cuberite-1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3.tar cuberite-1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3.tar.gz cuberite-1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3.tar.bz2 cuberite-1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3.tar.lz cuberite-1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3.tar.xz cuberite-1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3.tar.zst cuberite-1c26eb715b7f5eb9854c7c17d1100f0a61a0c7a3.zip |
Diffstat (limited to 'src/Mobs/CaveSpider.cpp')
-rw-r--r-- | src/Mobs/CaveSpider.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/Mobs/CaveSpider.cpp b/src/Mobs/CaveSpider.cpp new file mode 100644 index 000000000..56ecd2d28 --- /dev/null +++ b/src/Mobs/CaveSpider.cpp @@ -0,0 +1,47 @@ +#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules + +#include "CaveSpider.h" +#include "../World.h" + + + + + +cCaveSpider::cCaveSpider(void) : + super("CaveSpider", mtCaveSpider, "mob.spider.say", "mob.spider.death", 0.7, 0.5) +{ +} + + + + + +void cCaveSpider::Tick(float a_Dt, cChunk & a_Chunk) +{ + super::Tick(a_Dt, a_Chunk); + + // TODO: Check vanilla if cavespiders really get passive during the day / in daylight + m_EMPersonality = (GetWorld()->GetTimeOfDay() < (12000 + 1000)) ? PASSIVE : AGGRESSIVE; +} + + + + + +void cCaveSpider::GetDrops(cItems & a_Drops, cEntity * a_Killer) +{ + int LootingLevel = 0; + if (a_Killer != NULL) + { + LootingLevel = a_Killer->GetEquippedWeapon().m_Enchantments.GetLevel(cEnchantments::enchLooting); + } + AddRandomDropItem(a_Drops, 0, 2 + LootingLevel, E_ITEM_STRING); + if ((a_Killer != NULL) && (a_Killer->IsPlayer() || a_Killer->IsA("cWolf"))) + { + AddRandomUncommonDropItem(a_Drops, 33.0f, E_ITEM_SPIDER_EYE); + } +} + + + + |