aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/Squid.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/Squid.h')
-rw-r--r--Minecraft.World/Squid.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/Minecraft.World/Squid.h b/Minecraft.World/Squid.h
new file mode 100644
index 00000000..d5dc584c
--- /dev/null
+++ b/Minecraft.World/Squid.h
@@ -0,0 +1,52 @@
+#pragma once
+
+using namespace std;
+
+#include "WaterAnimal.h"
+
+class Player;
+
+class Squid : public WaterAnimal
+{
+public:
+ eINSTANCEOF GetType() { return eTYPE_SQUID; }
+ static Entity *create(Level *level) { return new Squid(level); }
+
+ void _init();
+
+ float xBodyRot, xBodyRotO;
+ float zBodyRot, zBodyRotO;
+
+ float tentacleMovement, oldTentacleMovement;
+ float tentacleAngle, oldTentacleAngle;
+
+private:
+ float speed;
+ float tentacleSpeed;
+ float rotateSpeed;
+
+ float tx, ty, tz;
+
+public:
+ Squid(Level *level);
+ virtual int getMaxHealth();
+
+protected:
+ virtual int getAmbientSound();
+ virtual int getHurtSound();
+ virtual int getDeathSound();
+ virtual float getSoundVolume();
+ virtual int getDeathLoot();
+ virtual void dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel);
+
+public:
+ virtual bool isInWater();
+ virtual void aiStep();
+ virtual void travel(float xa, float ya);
+
+protected:
+ virtual void serverAiStep();
+
+public:
+ virtual bool canSpawn();
+};