1.8 KiB
1.8 KiB
File: NPC_AI.h
Classes
Brain
CombatPetBrain
NonCombatPetBrain
BlankBrain
LuaBrain
DumbFirePetBrain
Functions
int16 Tick() { return m_tick; }
void SetTick(int16 time) { m_tick = time; }
int32 LastTick() { return m_lastTick; }
void SetLastTick(int32 time) { m_lastTick = time; }
sint32 GetHate(Entity* entity);
void ClearHate();
void ClearHate(Entity* entity);
sint8 GetHatePercentage(Entity* entity);
void SendHateList(Client* client);
bool BrainCastSpell(Spell* spell, Spawn* cast_on, bool calculate_run_loc = true);
bool CheckBuffs();
void ProcessMelee(Entity* target, float distance);
void AddToEncounter(Entity* entity);
bool CheckLootAllowed(Entity* entity);
int8 GetEncounterSize();
void ClearEncounter();
void SendEncounterList(Client* client);
bool PlayerInEncounter() { return m_playerInEncounter; }
bool IsPlayerInEncounter(int32 char_id);
bool IsEntityInEncounter(int32 id, bool skip_read_lock = false);
int32 CountPlayerBotInEncounter();
bool AddToEncounter(int32 id);
bool HasRecovered();
void MoveCloser(Spawn* target);
void Think();
void Think();
void Think();
void Think();
void Think();
void AddHate(Entity* entity, sint32 hate);
Notable Comments
- /*
- */
- ///
The main loop for the brain. This will do all the AI work - /* Timer related functions */
- ///
Gets the time between calls to Think() - /// Time in miliseconds between calls to Think()
- ///
Sets the time between calls to Think() - /// Time in miliseconds
- ///
Gets the timestamp of the last call to Think() - /// Timestamp of the last call to Think()