4jcraft/Minecraft.World/Entities/Mobs/Squid.h
2026-03-06 12:16:41 -06:00

53 lines
944 B
C++

#pragma once
#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();
};