mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 12:41:30 +00:00
* [Bots] Cleanup and remove preprocessors. - Removes every `#ifdef BOTS` we have and locks bots behind `Bots:AllowBots` rule. - Bot updates are now done by default similar to regular database updates. - Modify `CMakeLists.txt`, `.drone.yml`, and `BUILD.md` to match the removal of `EQEMU_ENABLE_BOTS`. * Cleanup - Add SQL for enabling bots for servers with bots. - Add message that tells players/operators bots are disabled. * Suggested changes. * Bot injection stuff * Change SQL to bot SQL. * Tweaks * Remove `is_bot` * Update version.h * Update main.cpp * Update database.cpp * Fix name availability crash * Remove bots from update script Co-authored-by: Akkadius <akkadius1@gmail.com>
124 lines
4.5 KiB
C++
124 lines
4.5 KiB
C++
#ifndef EQEMU_LUA_BOT_H
|
|
#define EQEMU_LUA_BOT_H
|
|
#ifdef LUA_EQEMU
|
|
|
|
#include "lua_mob.h"
|
|
|
|
class Bot;
|
|
class Lua_Bot;
|
|
class Lua_Mob;
|
|
class Lua_Group;
|
|
|
|
namespace luabind {
|
|
struct scope;
|
|
}
|
|
|
|
luabind::scope lua_register_bot();
|
|
|
|
class Lua_Bot : public Lua_Mob
|
|
{
|
|
typedef Bot NativeType;
|
|
public:
|
|
Lua_Bot() { SetLuaPtrData(nullptr); }
|
|
Lua_Bot(Bot *d) { SetLuaPtrData(reinterpret_cast<Entity*>(d)); }
|
|
virtual ~Lua_Bot() { }
|
|
|
|
operator Bot*() {
|
|
return reinterpret_cast<Bot*>(GetLuaPtrData());
|
|
}
|
|
|
|
void AddBotItem(uint16 slot_id, uint32 item_id);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges, bool attuned);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges, bool attuned, uint32 augment_one);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges, bool attuned, uint32 augment_one, uint32 augment_two);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges, bool attuned, uint32 augment_one, uint32 augment_two, uint32 augment_three);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges, bool attuned, uint32 augment_one, uint32 augment_two, uint32 augment_three, uint32 augment_four);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges, bool attuned, uint32 augment_one, uint32 augment_two, uint32 augment_three, uint32 augment_four, uint32 augment_five);
|
|
void AddBotItem(uint16 slot_id, uint32 item_id, int16 charges, bool attuned, uint32 augment_one, uint32 augment_two, uint32 augment_three, uint32 augment_four, uint32 augment_five, uint32 augment_six);
|
|
uint32 CountBotItem(uint32 item_id);
|
|
Lua_ItemInst GetBotItem(uint16 slot_id);
|
|
uint32 GetBotItemIDBySlot(uint16 slot_id);
|
|
int GetExpansionBitmask();
|
|
Lua_Mob GetOwner();
|
|
bool HasBotItem(uint32 item_id);
|
|
void OwnerMessage(std::string message);
|
|
bool ReloadBotDataBuckets();
|
|
bool ReloadBotOwnerDataBuckets();
|
|
bool ReloadBotSpells();
|
|
void ReloadBotSpellSettings();
|
|
void RemoveBotItem(uint32 item_id);
|
|
void SetExpansionBitmask(int expansion_bitmask);
|
|
void SetExpansionBitmask(int expansion_bitmask, bool save);
|
|
void Signal(int signal_id);
|
|
bool HasBotSpellEntry(uint16 spellid);
|
|
void SendPayload(int payload_id);
|
|
void SendPayload(int payload_id, std::string payload_value);
|
|
uint32 GetBotID();
|
|
void Camp();
|
|
void Camp(bool save_to_database);
|
|
Lua_ItemInst GetAugmentAt(int16 slot_id, uint8 augment_index);
|
|
int GetAugmentIDAt(int16 slot_id, uint8 augment_index);
|
|
Lua_ItemInst GetItemAt(int16 slot_id);
|
|
int GetItemIDAt(int16 slot_id);
|
|
void SendSpellAnim(uint16 target_id, uint16 spell_id);
|
|
|
|
void ApplySpell(int spell_id);
|
|
void ApplySpell(int spell_id, int duration);
|
|
void ApplySpell(int spell_id, int duration, bool allow_pets);
|
|
|
|
void ApplySpellGroup(int spell_id);
|
|
void ApplySpellGroup(int spell_id, int duration);
|
|
void ApplySpellGroup(int spell_id, int duration, bool allow_pets);
|
|
|
|
void SetSpellDuration(int spell_id);
|
|
void SetSpellDuration(int spell_id, int duration);
|
|
void SetSpellDuration(int spell_id, int duration, bool allow_pets);
|
|
|
|
void SetSpellDurationGroup(int spell_id);
|
|
void SetSpellDurationGroup(int spell_id, int duration);
|
|
void SetSpellDurationGroup(int spell_id, int duration, bool allow_pets);
|
|
|
|
void SetSpellDurationRaid(int spell_id);
|
|
void SetSpellDurationRaid(int spell_id, int duration);
|
|
void SetSpellDurationRaid(int spell_id, int duration, bool allow_pets);
|
|
void SetSpellDurationRaid(int spell_id, int duration, bool allow_pets, bool is_raid_group_only);
|
|
|
|
int CountAugmentEquippedByID(uint32 item_id);
|
|
int CountItemEquippedByID(uint32 item_id);
|
|
bool HasAugmentEquippedByID(uint32 item_id);
|
|
bool HasItemEquippedByID(uint32 item_id);
|
|
int GetHealAmount();
|
|
int GetSpellDamage();
|
|
|
|
void Escape();
|
|
int GetInstrumentMod(int spell_id);
|
|
|
|
int GetBaseSTR();
|
|
int GetBaseSTA();
|
|
int GetBaseCHA();
|
|
int GetBaseDEX();
|
|
int GetBaseINT();
|
|
int GetBaseAGI();
|
|
int GetBaseWIS();
|
|
|
|
Lua_Group GetGroup();
|
|
int GetRawItemAC();
|
|
|
|
bool IsGrouped();
|
|
bool IsStanding();
|
|
bool IsSitting();
|
|
void Sit();
|
|
void Stand();
|
|
|
|
void Fling(float target_x, float target_y, float target_z);
|
|
void Fling(float target_x, float target_y, float target_z, bool ignore_los);
|
|
void Fling(float target_x, float target_y, float target_z, bool ignore_los, bool clip_through_walls);
|
|
void Fling(float value, float target_x, float target_y, float target_z);
|
|
void Fling(float value, float target_x, float target_y, float target_z, bool ignore_los);
|
|
void Fling(float value, float target_x, float target_y, float target_z, bool ignore_los, bool clip_through_walls);
|
|
};
|
|
|
|
#endif
|
|
#endif
|