37 lines
606 B
C++
37 lines
606 B
C++
#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);
|
|
}; |