1
0
EQ2Emu/docs/code/NPC_AI.md
2025-05-06 09:54:48 -04:00

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()