#pragma once #include "Goal.h" class Ozelot; class OcelotSitOnTileGoal : public Goal { private: static const int GIVE_UP_TICKS; static const int SIT_TICKS; static const int SEARCH_RANGE; static const double SIT_CHANCE; private: Ozelot *ocelot; // Owner of this goal float speed; int _tick; int tryTicks; int maxTicks; int tileX; int tileY; int tileZ; public: OcelotSitOnTileGoal(Ozelot *ocelot, float speed); bool canUse(); bool canContinueToUse(); void start(); void stop(); void tick(); private: bool findNearestTile(); bool isValidTarget(Level *level, int x, int y, int z); };