aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/Spider.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/Spider.h')
-rw-r--r--Minecraft.World/Spider.h27
1 files changed, 20 insertions, 7 deletions
diff --git a/Minecraft.World/Spider.h b/Minecraft.World/Spider.h
index f0257d6c..941ac45a 100644
--- a/Minecraft.World/Spider.h
+++ b/Minecraft.World/Spider.h
@@ -2,6 +2,7 @@
using namespace std;
#include "Monster.h"
+#include "MobGroupData.h"
class Spider : public Monster
{
@@ -13,33 +14,45 @@ private:
static const int DATA_FLAGS_ID = 16;
public:
- Spider(Level *level);
+ Spider(Level *level);
protected:
virtual void defineSynchedData();
public:
virtual void tick();
- virtual int getMaxHealth();
- virtual double getRideHeight();
protected:
- virtual bool makeStepSound();
+ virtual void registerAttributes();
virtual shared_ptr<Entity> findAttackTarget();
virtual int getAmbientSound();
virtual int getHurtSound();
virtual int getDeathSound();
- virtual void checkHurtTarget(shared_ptr<Entity> target, float d);
+ virtual void playStepSound(int xt, int yt, int zt, int t);
+ virtual void checkHurtTarget(shared_ptr<Entity> target, float d);
virtual int getDeathLoot();
virtual void dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel);
public:
virtual bool onLadder();
-
+
virtual void makeStuckInWeb();
- virtual float getModelScale();
virtual MobType getMobType();
virtual bool canBeAffected(MobEffectInstance *newEffect);
virtual bool isClimbing();
virtual void setClimbing(bool value);
+ virtual MobGroupData *finalizeMobSpawn(MobGroupData *groupData, int extraData = 0); // 4J Added extraData param
+
+private:
+ static const float SPIDER_SPECIAL_EFFECT_CHANCE;
+
+public:
+ class SpiderEffectsGroupData : public MobGroupData
+ {
+ public:
+ int effectId;
+
+ SpiderEffectsGroupData();
+ void setRandomEffect(Random *random);
+ };
};