diff options
Diffstat (limited to 'Minecraft.World/Squid.h')
| -rw-r--r-- | Minecraft.World/Squid.h | 52 |
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(); +}; |
