mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-02 16:32:26 +00:00
- License was intended to be GPLv3 per earlier commit of GPLv3 LICENSE FILE - This is confirmed by the inclusion of libraries that are incompatible with GPLv2 - This is also confirmed by KLS and the agreement of KLS's predecessors - Added GPLv3 license headers to the compilable source files - Removed Folly licensing in strings.h since the string functions do not match the Folly functions and are standard functions - this must have been left over from previous implementations - Removed individual contributor license headers since the project has been under the "developer" mantle for many years - Removed comments on files that were previously automatically generated since they've been manually modified multiple times and there are no automatic scripts referencing them (removed in 2023)
670 lines
29 KiB
C++
670 lines
29 KiB
C++
/* EQEmu: EQEmulator
|
|
|
|
Copyright (C) 2001-2026 EQEmu Development Team
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#pragma once
|
|
|
|
#ifdef LUA_EQEMU
|
|
|
|
#include "zone/lua_mob.h"
|
|
|
|
class Client;
|
|
class Lua_Expedition;
|
|
class Lua_Group;
|
|
class Lua_Raid;
|
|
class Lua_Inventory;
|
|
class Lua_Packet;
|
|
|
|
namespace luabind {
|
|
struct scope;
|
|
}
|
|
|
|
luabind::scope lua_register_client();
|
|
luabind::scope lua_register_inventory_where();
|
|
|
|
class Lua_Client : public Lua_Mob
|
|
{
|
|
typedef Client NativeType;
|
|
public:
|
|
Lua_Client() { SetLuaPtrData(nullptr); }
|
|
Lua_Client(Client *d) { SetLuaPtrData(reinterpret_cast<Entity*>(d)); }
|
|
virtual ~Lua_Client() { }
|
|
|
|
operator Client*() {
|
|
return reinterpret_cast<Client*>(GetLuaPtrData());
|
|
}
|
|
|
|
void SendSound();
|
|
void Sit();
|
|
void Save();
|
|
void Save(int commit_now);
|
|
bool Connected();
|
|
bool InZone();
|
|
void Kick();
|
|
void Disconnect();
|
|
bool IsLD();
|
|
void WorldKick();
|
|
void SendToGuildHall();
|
|
void SendToInstance(std::string instance_type, std::string zone_short_name, uint32 instance_version, float x, float y, float z, float heading, std::string instance_identifier, uint32 duration);
|
|
int GetAnon();
|
|
void SetAnon(uint8 anon_flag);
|
|
int GetAFK();
|
|
void SetAFK(uint8 afk_flag);
|
|
void Duck();
|
|
void DyeArmorBySlot(uint8 slot, uint8 red, uint8 green, uint8 blue);
|
|
void DyeArmorBySlot(uint8 slot, uint8 red, uint8 green, uint8 blue, uint8 use_tint);
|
|
void Stand();
|
|
void SetGM(bool v);
|
|
void SetPVP(bool v);
|
|
bool GetPVP();
|
|
bool GetGM();
|
|
void SetBaseClass(int v);
|
|
void SetBaseRace(int v);
|
|
void SetBaseGender(int v);
|
|
uint16 GetClassBitmask();
|
|
uint32 GetDeityBitmask();
|
|
uint16 GetRaceBitmask();
|
|
int GetBaseFace();
|
|
int GetLanguageSkill(int skill_id);
|
|
int GetLDoNPointsTheme(int theme);
|
|
int GetBaseSTR();
|
|
int GetBaseSTA();
|
|
int GetBaseCHA();
|
|
int GetBaseDEX();
|
|
int GetBaseINT();
|
|
int GetBaseAGI();
|
|
int GetBaseWIS();
|
|
int GetWeight();
|
|
uint32 GetEXP();
|
|
float GetEXPModifier();
|
|
float GetEXPModifier(uint32 zone_id);
|
|
float GetEXPModifier(uint32 zone_id, int16 instance_version);
|
|
float GetAAEXPModifier();
|
|
float GetAAEXPModifier(uint32 zone_id);
|
|
float GetAAEXPModifier(uint32 zone_id, int16 instance_version);
|
|
void SetAAEXPModifier(float aa_modifier);
|
|
void SetAAEXPModifier(uint32 zone_id, float aa_modifier);
|
|
void SetAAEXPModifier(uint32 zone_id, float aa_modifier, int16 instance_version);
|
|
void SetEXPModifier(float exp_modifier);
|
|
void SetEXPModifier(uint32 zone_id, float exp_modifier);
|
|
void SetEXPModifier(uint32 zone_id, float exp_modifier, int16 instance_version);
|
|
uint32 GetAAExp();
|
|
uint32 GetAAPercent();
|
|
uint32 GetTotalSecondsPlayed();
|
|
void AddLDoNLoss(uint32 theme_id);
|
|
void AddLDoNWin(uint32 theme_id);
|
|
void RemoveLDoNLoss(uint32 theme_id);
|
|
void RemoveLDoNWin(uint32 theme_id);
|
|
void UpdateLDoNPoints(uint32 theme_id, int points);
|
|
void SetDeity(int v);
|
|
void AddEXP(uint32 add_exp);
|
|
void AddEXP(uint32 add_exp, int conlevel);
|
|
void AddEXP(uint32 add_exp, int conlevel, bool resexp);
|
|
void SetEXP(uint64 set_exp, uint64 set_aaxp);
|
|
void SetEXP(uint64 set_exp, uint64 set_aaxp, bool resexp);
|
|
void SetBindPoint();
|
|
void SetBindPoint(int to_zone);
|
|
void SetBindPoint(int to_zone, int to_instance);
|
|
void SetBindPoint(int to_zone, int to_instance, float new_x);
|
|
void SetBindPoint(int to_zone, int to_instance, float new_x, float new_y);
|
|
void SetBindPoint(int to_zone, int to_instance, float new_x, float new_y, float new_z);
|
|
void SetBindPoint(int to_zone, int to_instance, float new_x, float new_y, float new_z, float new_heading);
|
|
float GetBindX();
|
|
float GetBindX(int index);
|
|
float GetBindY();
|
|
float GetBindY(int index);
|
|
float GetBindZ();
|
|
float GetBindZ(int index);
|
|
float GetBindHeading();
|
|
float GetBindHeading(int index);
|
|
uint32 GetBindZoneID();
|
|
uint32 GetBindZoneID(int index);
|
|
float GetTargetRingX();
|
|
float GetTargetRingY();
|
|
float GetTargetRingZ();
|
|
void MovePC(int zone, float x, float y, float z, float heading);
|
|
void MovePCInstance(int zone, int instance, float x, float y, float z, float heading);
|
|
void MoveZone(const char *zone_short_name);
|
|
void MoveZone(const char *zone_short_name, float x, float y, float z);
|
|
void MoveZone(const char *zone_short_name, float x, float y, float z, float heading);
|
|
void MoveZoneGroup(const char *zone_short_name);
|
|
void MoveZoneGroup(const char *zone_short_name, float x, float y, float z);
|
|
void MoveZoneGroup(const char *zone_short_name, float x, float y, float z, float heading);
|
|
void MoveZoneRaid(const char *zone_short_name);
|
|
void MoveZoneRaid(const char *zone_short_name, float x, float y, float z);
|
|
void MoveZoneRaid(const char *zone_short_name, float x, float y, float z, float heading);
|
|
void MoveZoneInstance(uint16 instance_id);
|
|
void MoveZoneInstance(uint16 instance_id, float x, float y, float z);
|
|
void MoveZoneInstance(uint16 instance_id, float x, float y, float z, float heading);
|
|
void MoveZoneInstanceGroup(uint16 instance_id);
|
|
void MoveZoneInstanceGroup(uint16 instance_id, float x, float y, float z);
|
|
void MoveZoneInstanceGroup(uint16 instance_id, float x, float y, float z, float heading);
|
|
void MoveZoneInstanceRaid(uint16 instance_id);
|
|
void MoveZoneInstanceRaid(uint16 instance_id, float x, float y, float z);
|
|
void MoveZoneInstanceRaid(uint16 instance_id, float x, float y, float z, float heading);
|
|
bool TeleportToPlayerByCharID(uint32 character_id);
|
|
bool TeleportToPlayerByName(std::string player_name);
|
|
bool TeleportGroupToPlayerByCharID(uint32 character_id);
|
|
bool TeleportGroupToPlayerByName(std::string player_name);
|
|
bool TeleportRaidToPlayerByCharID(uint32 character_id);
|
|
bool TeleportRaidToPlayerByName(std::string player_name);
|
|
void ChangeLastName(std::string last_name);
|
|
int GetFactionLevel(uint32 char_id, uint32 npc_id, uint32 race, uint32 class_, uint32 deity, uint32 faction, Lua_NPC npc);
|
|
void SetFactionLevel(uint32 char_id, uint32 npc_faction_id, int char_class, int char_race, int char_deity);
|
|
void SetFactionLevel2(uint32 char_id, int faction_id, int char_class, int char_race, int char_deity, int value, int temp);
|
|
void RewardFaction(int id, int amount);
|
|
int GetRawItemAC();
|
|
uint32 AccountID();
|
|
const char *AccountName();
|
|
int16 Admin();
|
|
uint32 CharacterID();
|
|
int GuildRank();
|
|
uint32 GuildID();
|
|
int GetFace();
|
|
void AddMoneyToPP(uint32 copper, uint32 silver, uint32 gold, uint32 platinum);
|
|
void AddMoneyToPP(uint32 copper, uint32 silver, uint32 gold, uint32 platinum, bool update_client);
|
|
void AddPlatinum(uint32 platinum);
|
|
void AddPlatinum(uint32 platinum, bool update_client);
|
|
bool TakeMoneyFromPP(uint64 copper);
|
|
bool TakeMoneyFromPP(uint64 copper, bool update_client);
|
|
bool TakePlatinum(uint32 platinum);
|
|
bool TakePlatinum(uint32 platinum, bool update_client);
|
|
bool TGB();
|
|
int GetSkillPoints();
|
|
void SetSkillPoints(int skill);
|
|
void IncreaseSkill(int skill_id);
|
|
void IncreaseSkill(int skill_id, int value);
|
|
void IncreaseLanguageSkill(uint8 language_id);
|
|
void IncreaseLanguageSkill(uint8 language_id, uint8 increase);
|
|
int GetRawSkill(int skill_id);
|
|
bool HasSkill(int skill_id);
|
|
bool CanHaveSkill(int skill_id);
|
|
void SetSkill(int skill_id, int value);
|
|
void AddSkill(int skill_id, int value);
|
|
void CheckSpecializeIncrease(int spell_id);
|
|
void CheckIncreaseSkill(int skill_id, Lua_Mob target);
|
|
void CheckIncreaseSkill(int skill_id, Lua_Mob target, int chance_mod);
|
|
void SetLanguageSkill(uint8 language_id, uint8 language_skill);
|
|
int MaxSkill(int skill_id);
|
|
bool IsMedding();
|
|
int GetDuelTarget();
|
|
bool IsDueling();
|
|
void SetDuelTarget(int c);
|
|
void SetDueling(bool v);
|
|
void ResetAA();
|
|
void MemSpell(int spell_id, int slot);
|
|
void MemSpell(int spell_id, int slot, bool update_client);
|
|
void UnmemSpell(int slot);
|
|
void UnmemSpell(int slot, bool update_client);
|
|
void UnmemSpellBySpellID(int32 spell_id);
|
|
void UnmemSpellAll();
|
|
void UnmemSpellAll(bool update_client);
|
|
int FindEmptyMemSlot();
|
|
uint16 FindMemmedSpellBySlot(int slot);
|
|
int FindMemmedSpellBySpellID(uint16 spell_id);
|
|
int MemmedCount();
|
|
luabind::object GetLearnableDisciplines(lua_State* L);
|
|
luabind::object GetLearnableDisciplines(lua_State* L, uint8 min_level);
|
|
luabind::object GetLearnableDisciplines(lua_State* L, uint8 min_level, uint8 max_level);
|
|
luabind::object GetLearnedDisciplines(lua_State* L);
|
|
luabind::object GetMemmedSpells(lua_State* L);
|
|
luabind::object GetScribedSpells(lua_State* L);
|
|
luabind::object GetScribeableSpells(lua_State* L);
|
|
luabind::object GetScribeableSpells(lua_State* L, uint8 min_level);
|
|
luabind::object GetScribeableSpells(lua_State* L, uint8 min_level, uint8 max_level);
|
|
void ScribeSpell(int spell_id, int slot);
|
|
void ScribeSpell(int spell_id, int slot, bool update_client);
|
|
uint16 ScribeSpells(uint8 min_level, uint8 max_level);
|
|
void UnscribeSpell(int slot);
|
|
void UnscribeSpell(int slot, bool update_client);
|
|
void UnscribeSpellAll();
|
|
void UnscribeSpellAll(bool update_client);
|
|
void UnscribeSpellBySpellID(uint16 spell_id);
|
|
void UnscribeSpellBySpellID(uint16 spell_id, bool update_client);
|
|
void TrainDisc(int itemid);
|
|
uint16 LearnDisciplines(uint8 min_level, uint8 max_level);
|
|
void TrainDiscBySpellID(int32 spell_id);
|
|
int GetDiscSlotBySpellID(int32 spell_id);
|
|
void UntrainDisc(int slot);
|
|
void UntrainDisc(int slot, bool update_client);
|
|
void UntrainDiscBySpellID(uint16 spell_id);
|
|
void UntrainDiscBySpellID(uint16 spell_id, bool update_client);
|
|
void UntrainDiscAll();
|
|
void UntrainDiscAll(bool update_client);
|
|
bool IsStanding();
|
|
bool IsSitting();
|
|
bool IsCrouching();
|
|
void SetFeigned(bool v);
|
|
bool GetFeigned();
|
|
bool AutoSplitEnabled();
|
|
void SetHorseId(int id);
|
|
int GetHorseId();
|
|
void NukeItem(uint32 item_num);
|
|
void NukeItem(uint32 item_num, int where_to_check);
|
|
void SetTint(int slot_id, uint32 color);
|
|
void SetMaterial(int slot_id, uint32 item_id);
|
|
void Undye();
|
|
int GetItemIDAt(int slot_id);
|
|
int GetAugmentIDAt(int slot_id, int aug_slot);
|
|
void DeleteItemInInventory(int slot_id, int quantity);
|
|
void DeleteItemInInventory(int slot_id, int quantity, bool update_client);
|
|
void SummonItem(uint32 item_id);
|
|
void SummonItem(uint32 item_id, int charges);
|
|
void SummonItem(uint32 item_id, int charges, uint32 aug1);
|
|
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2);
|
|
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3);
|
|
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4);
|
|
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5);
|
|
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5,
|
|
bool attuned);
|
|
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5,
|
|
bool attuned, int to_slot);
|
|
void SummonBaggedItems(uint32 bag_item_id, luabind::adl::object bag_items_table);
|
|
void SetStats(int type, int value);
|
|
void IncStats(int type, int value);
|
|
void DropItem(int slot_id);
|
|
void BreakInvis();
|
|
void LeaveGroup();
|
|
bool IsGrouped();
|
|
bool IsRaidGrouped();
|
|
bool Hungry();
|
|
bool Thirsty();
|
|
int GetInstrumentMod(int spell_id);
|
|
bool DecreaseByID(uint32 type, int amt);
|
|
void Escape();
|
|
void GoFish();
|
|
void ForageItem();
|
|
void ForageItem(bool guarantee);
|
|
float CalcPriceMod(Lua_Mob other, bool reverse);
|
|
void ResetTrade();
|
|
uint32 GetDisciplineTimer(uint32 timer_id);
|
|
void ResetDisciplineTimer(uint32 timer_id);
|
|
void ResetCastbarCooldownBySlot(int slot);
|
|
void ResetAllCastbarCooldowns();
|
|
void ResetCastbarCooldownBySpellID(uint32 spell_id);
|
|
void ResetAllDisciplineTimers();
|
|
bool UseDiscipline(int spell_id, int target_id);
|
|
bool HasDisciplineLearned(uint16 spell_id);
|
|
int GetCharacterFactionLevel(int faction_id);
|
|
void ClearZoneFlag(uint32 zone_id);
|
|
bool HasZoneFlag(uint32 zone_id);
|
|
void LoadZoneFlags();
|
|
void SendZoneFlagInfo(Lua_Client to);
|
|
void SetZoneFlag(uint32 zone_id);
|
|
void ClearPEQZoneFlag(uint32 zone_id);
|
|
bool HasPEQZoneFlag(uint32 zone_id);
|
|
void LoadPEQZoneFlags();
|
|
void SendPEQZoneFlagInfo(Lua_Client to);
|
|
void SetPEQZoneFlag(uint32 zone_id);
|
|
void SetAATitle(std::string title);
|
|
void SetAATitle(std::string title, bool save_to_database);
|
|
int GetClientVersion();
|
|
uint32 GetClientVersionBit();
|
|
void SetTitleSuffix(const char *text);
|
|
void EnableTitleSet(uint32 title_set);
|
|
void SetAAPoints(int points);
|
|
int GetAAPoints();
|
|
int GetSpentAA();
|
|
void AddAAPoints(int points);
|
|
void RefundAA();
|
|
int GetModCharacterFactionLevel(int faction);
|
|
int GetLDoNWins();
|
|
int GetLDoNLosses();
|
|
int GetLDoNWinsTheme(int theme);
|
|
int GetLDoNLossesTheme(int theme);
|
|
int GetStartZone();
|
|
void SetStartZone(int zone_id);
|
|
void SetStartZone(int zone_id, float x);
|
|
void SetStartZone(int zone_id, float x, float y);
|
|
void SetStartZone(int zone_id, float x, float y, float z);
|
|
void SetStartZone(int zone_id, float x, float y, float z, float heading);
|
|
void AddPVPPoints(uint32 points);
|
|
void AddCrystals(uint32 radiant_count, uint32 ebon_count);
|
|
void SetEbonCrystals(uint32 value);
|
|
void SetRadiantCrystals(uint32 value);
|
|
uint32 GetPVPPoints();
|
|
uint32 GetRadiantCrystals();
|
|
uint32 GetEbonCrystals();
|
|
void QuestReadBook(const char *text, int type);
|
|
void ReadBookByName(std::string book_name, uint8 book_type);
|
|
void UpdateGroupAAs(int points, uint32 type);
|
|
uint32 GetGroupPoints();
|
|
uint32 GetRaidPoints();
|
|
void LearnRecipe(uint32 recipe_id);
|
|
int GetRecipeMadeCount(uint32 recipe_id);
|
|
bool HasRecipeLearned(uint32 recipe_id);
|
|
int GetEndurance();
|
|
int GetMaxEndurance();
|
|
int GetEndurancePercent();
|
|
void SetEndurance(int endur);
|
|
void SendOPTranslocateConfirm(Lua_Mob caster, int spell_id);
|
|
uint32 GetIP();
|
|
std::string GetIPString();
|
|
int GetIPExemption();
|
|
void SetIPExemption(int exemption_amount);
|
|
void AddLevelBasedExp(int exp_pct);
|
|
void AddLevelBasedExp(int exp_pct, int max_level);
|
|
void AddLevelBasedExp(int exp_pct, int max_level, bool ignore_mods);
|
|
void IncrementAA(int aa);
|
|
bool GrantAlternateAdvancementAbility(int aa_id, int points);
|
|
bool GrantAlternateAdvancementAbility(int aa_id, int points, bool ignore_cost);
|
|
void ResetAlternateAdvancementRank(int aa_id);
|
|
void MarkSingleCompassLoc(float in_x, float in_y, float in_z);
|
|
void MarkSingleCompassLoc(float in_x, float in_y, float in_z, int count);
|
|
void ClearCompassMark();
|
|
int GetNextAvailableSpellBookSlot();
|
|
int GetNextAvailableSpellBookSlot(int start);
|
|
int GetNextAvailableDisciplineSlot();
|
|
int GetNextAvailableDisciplineSlot(int starting_slot);
|
|
uint32 GetSpellIDByBookSlot(int book_slot);
|
|
int FindSpellBookSlotBySpellID(int spell_id);
|
|
void UpdateTaskActivity(int task, int activity, int count);
|
|
void AssignTask(int task_id);
|
|
void AssignTask(int task_id, int npc_id);
|
|
void AssignTask(int task_id, int npc_id, bool enforce_level_requirement);
|
|
void FailTask(int task);
|
|
bool IsTaskCompleted(int task_id);
|
|
bool IsTaskActive(int task);
|
|
bool IsTaskActivityActive(int task, int activity);
|
|
void LockSharedTask(bool lock);
|
|
void EndSharedTask();
|
|
void EndSharedTask(bool send_fail);
|
|
int64 GetCorpseCount();
|
|
int GetCorpseID(int corpse);
|
|
int GetCorpseItemAt(int corpse, int slot);
|
|
void AssignToInstance(int instance_id);
|
|
void Freeze();
|
|
void UnFreeze();
|
|
uint32 GetAggroCount();
|
|
uint64 GetCarriedMoney();
|
|
uint32 GetCarriedPlatinum();
|
|
uint64 GetAllMoney();
|
|
uint32 GetMoney(uint8 type, uint8 subtype);
|
|
void OpenLFGuildWindow();
|
|
void NotifyNewTitlesAvailable();
|
|
void Signal(int signal_id);
|
|
void AddAlternateCurrencyValue(uint32 currency, int amount);
|
|
void SetAlternateCurrencyValue(uint32 currency, uint32 amount);
|
|
uint32 GetAlternateCurrencyValue(uint32 currency);
|
|
void SendWebLink(const char *site);
|
|
bool HasSpellScribed(int spell_id);
|
|
void ClearAccountFlag(const std::string& flag);
|
|
void SetAccountFlag(const std::string& flag, const std::string& value);
|
|
std::string GetAccountFlag(const std::string& flag);
|
|
luabind::object GetAccountFlags(lua_State* L);
|
|
int GetAccountAge();
|
|
Lua_Group GetGroup();
|
|
Lua_Raid GetRaid();
|
|
bool PutItemInInventory(int slot_id, Lua_ItemInst inst);
|
|
bool PushItemOnCursor(Lua_ItemInst inst);
|
|
Lua_Inventory GetInventory();
|
|
void SendItemScale(Lua_ItemInst inst);
|
|
void QueuePacket(Lua_Packet app);
|
|
void QueuePacket(Lua_Packet app, bool ack_req);
|
|
void QueuePacket(Lua_Packet app, bool ack_req, int client_connection_status);
|
|
void QueuePacket(Lua_Packet app, bool ack_req, int client_connection_status, int filter);
|
|
int GetHunger();
|
|
int GetThirst();
|
|
int GetIntoxication();
|
|
void SetHunger(int in_hunger);
|
|
void SetThirst(int in_thirst);
|
|
void SetConsumption(int in_hunger, int in_thirst);
|
|
void SendMarqueeMessage(uint32 type, std::string message);
|
|
void SendMarqueeMessage(uint32 type, std::string message, uint32 duration);
|
|
void SendMarqueeMessage(uint32 type, uint32 priority, uint32 fade_in, uint32 fade_out, uint32 duration, std::string message);
|
|
void SendColoredText(uint32 type, std::string msg);
|
|
void PlayMP3(std::string file);
|
|
void QuestReward(Lua_Mob target);
|
|
void QuestReward(Lua_Mob target, uint32 copper);
|
|
void QuestReward(Lua_Mob target, uint32 copper, uint32 silver);
|
|
void QuestReward(Lua_Mob target, uint32 copper, uint32 silver, uint32 gold);
|
|
void QuestReward(Lua_Mob target, uint32 copper, uint32 silver, uint32 gold, uint32 platinum);
|
|
void QuestReward(Lua_Mob target, uint32 copper, uint32 silver, uint32 gold, uint32 platinum, uint32 itemid);
|
|
void QuestReward(Lua_Mob target, uint32 copper, uint32 silver, uint32 gold, uint32 platinum, uint32 itemid, uint32 exp);
|
|
void QuestReward(Lua_Mob target, uint32 copper, uint32 silver, uint32 gold, uint32 platinum, uint32 itemid, uint32 exp, bool faction);
|
|
void QuestReward(Lua_Mob target, luabind::adl::object reward);
|
|
void CashReward(uint32 copper, uint32 silver, uint32 gold, uint32 platinum);
|
|
bool IsDead();
|
|
int CalcCurrentWeight();
|
|
int CalcATK();
|
|
void FilteredMessage(Lua_Mob sender, uint32 type, int filter, const char* message);
|
|
void EnableAreaHPRegen(int value);
|
|
void DisableAreaHPRegen();
|
|
void EnableAreaManaRegen(int value);
|
|
void DisableAreaManaRegen();
|
|
void EnableAreaEndRegen(int value);
|
|
void DisableAreaEndRegen();
|
|
void EnableAreaRegens(int value);
|
|
void DisableAreaRegens();
|
|
void SetHideMe(bool hide_me_state);
|
|
void Popup(const char* title, const char* text);
|
|
void Popup(const char* title, const char* text, uint32 popup_id);
|
|
void Popup(const char* title, const char* text, uint32 popup_id, uint32 negative_id);
|
|
void Popup(const char* title, const char* text, uint32 popup_id, uint32 negative_id, uint32 button_type);
|
|
void Popup(const char* title, const char* text, uint32 popup_id, uint32 negative_id, uint32 button_type, uint32 duration);
|
|
void Popup(const char* title, const char* text, uint32 popup_id, uint32 negative_id, uint32 button_type, uint32 duration, const char* button_name_one, const char* button_name_two);
|
|
void Popup(const char* title, const char* text, uint32 popup_id, uint32 negative_id, uint32 button_type, uint32 duration, const char* button_name_one, const char* button_name_two, uint32 sound_controls);
|
|
uint32 CountItem(uint32 item_id);
|
|
void RemoveItem(uint32 item_id);
|
|
void RemoveItem(uint32 item_id, uint32 quantity);
|
|
void SetGMStatus(int new_status);
|
|
int16 GetGMStatus();
|
|
void AddItem(luabind::object item_table);
|
|
uint32 CountAugmentEquippedByID(uint32 item_id);
|
|
uint32 CountItemEquippedByID(uint32 item_id);
|
|
bool HasAugmentEquippedByID(uint32 item_id);
|
|
bool HasItemEquippedByID(uint32 item_id);
|
|
int GetHealAmount();
|
|
int GetSpellDamage();
|
|
void UpdateAdmin();
|
|
void UpdateAdmin(bool from_database);
|
|
luabind::object GetPEQZoneFlags(lua_State* L);
|
|
luabind::object GetZoneFlags(lua_State* L);
|
|
void SendPayload(int payload_id);
|
|
void SendPayload(int payload_id, std::string payload_value);
|
|
std::string GetGuildPublicNote();
|
|
void MaxSkills();
|
|
luabind::object GetAugmentIDsBySlotID(lua_State* L, int16 slot_id);
|
|
bool IsEXPEnabled();
|
|
void SetEXPEnabled(bool is_exp_enabled);
|
|
uint64 CalcEXP(uint8 consider_level);
|
|
uint64 CalcEXP(uint8 consider_level, bool ignore_modifiers);
|
|
bool CanEnterZone(std::string zone_short_name);
|
|
bool CanEnterZone(std::string zone_short_name, int16 instance_version);
|
|
void SendPath(Lua_Mob target);
|
|
void ResetItemCooldown(uint32 item_id);
|
|
void SetItemCooldown(uint32 item_id, uint32 in_time);
|
|
uint32 GetItemCooldown(uint32 item_id);
|
|
void UseAugmentContainer(int container_slot);
|
|
bool IsAutoAttackEnabled();
|
|
bool IsAutoFireEnabled();
|
|
uint32 GetEXPForLevel(uint16 check_level);
|
|
std::string GetClassAbbreviation();
|
|
std::string GetRaceAbbreviation();
|
|
void SetLDoNPoints(uint32 theme_id, uint32 points);
|
|
void DeleteBucket(std::string bucket_name);
|
|
std::string GetBucket(std::string bucket_name);
|
|
std::string GetBucketExpires(std::string bucket_name);
|
|
std::string GetBucketRemaining(std::string bucket_name);
|
|
void SetBucket(std::string bucket_name, std::string bucket_value);
|
|
void SetBucket(std::string bucket_name, std::string bucket_value, std::string expiration);
|
|
void GrantAllAAPoints();
|
|
void GrantAllAAPoints(uint8 unlock_level);
|
|
void GrantAllAAPoints(uint8 unlock_level, bool skip_grant_only);
|
|
void AddEbonCrystals(uint32 amount);
|
|
void AddRadiantCrystals(uint32 amount);
|
|
void RemoveEbonCrystals(uint32 amount);
|
|
void RemoveRadiantCrystals(uint32 amount);
|
|
void SummonItemIntoInventory(luabind::object item_table);
|
|
bool HasItemOnCorpse(uint32 item_id);
|
|
void ClearXTargets();
|
|
int GetAAEXPPercentage();
|
|
int GetEXPPercentage();
|
|
bool IsInAGuild();
|
|
luabind::object GetRaidOrGroupOrSelf(lua_State* L);
|
|
luabind::object GetRaidOrGroupOrSelf(lua_State* L, bool clients_only);
|
|
std::string GetAutoLoginCharacterName();
|
|
bool SetAutoLoginCharacterName();
|
|
bool SetAutoLoginCharacterName(std::string character_name);
|
|
void DescribeSpecialAbilities(Lua_NPC n);
|
|
void ResetLeadershipAA();
|
|
uint8 GetSkillTrainLevel(int skill_id);
|
|
void AreaTaunt();
|
|
void AreaTaunt(float range);
|
|
void AreaTaunt(float range, int bonus_hate);
|
|
luabind::object GetInventorySlots(lua_State* L);
|
|
void SetAAEXPPercentage(uint8 percentage);
|
|
std::string GetBandolierName(uint8 bandolier_slot);
|
|
uint32 GetBandolierItemIcon(uint8 bandolier_slot, uint8 slot_id);
|
|
uint32 GetBandolierItemID(uint8 bandolier_slot, uint8 slot_id);
|
|
std::string GetBandolierItemName(uint8 bandolier_slot, uint8 slot_id);
|
|
uint32 GetPotionBeltItemIcon(uint8 slot_id);
|
|
uint32 GetPotionBeltItemID(uint8 slot_id);
|
|
std::string GetPotionBeltItemName(uint8 slot_id);
|
|
bool KeyRingAdd(uint32 item_id);
|
|
bool KeyRingCheck(uint32 item_id);
|
|
bool KeyRingClear();
|
|
void KeyRingList();
|
|
void KeyRingList(Lua_Client c);
|
|
bool KeyRingRemove(uint32 item_id);
|
|
bool CompleteTask(int task_id);
|
|
bool UncompleteTask(int task_id);
|
|
luabind::object GetKeyRing(lua_State* L);
|
|
|
|
// account data buckets
|
|
void SetAccountBucket(std::string bucket_name, std::string bucket_value);
|
|
void SetAccountBucket(std::string bucket_name, std::string bucket_value, std::string expiration = "");
|
|
void DeleteAccountBucket(std::string bucket_name);
|
|
std::string GetAccountBucket(std::string bucket_name);
|
|
std::string GetAccountBucketExpires(std::string bucket_name);
|
|
std::string GetAccountBucketRemaining(std::string bucket_name);
|
|
|
|
void ApplySpell(int spell_id);
|
|
void ApplySpell(int spell_id, int duration);
|
|
void ApplySpell(int spell_id, int duration, int level);
|
|
void ApplySpell(int spell_id, int duration, int level, bool allow_pets);
|
|
void ApplySpell(int spell_id, int duration, int level, bool allow_pets, bool allow_bots);
|
|
|
|
void ApplySpellGroup(int spell_id);
|
|
void ApplySpellGroup(int spell_id, int duration);
|
|
void ApplySpellGroup(int spell_id, int duration, int level);
|
|
void ApplySpellGroup(int spell_id, int duration, int level, bool allow_pets);
|
|
void ApplySpellGroup(int spell_id, int duration, int level, bool allow_pets, bool allow_bots);
|
|
|
|
void ApplySpellRaid(int spell_id);
|
|
void ApplySpellRaid(int spell_id, int duration);
|
|
void ApplySpellRaid(int spell_id, int duration, int level);
|
|
void ApplySpellRaid(int spell_id, int duration, int level, bool allow_pets);
|
|
void ApplySpellRaid(int spell_id, int duration, int level, bool allow_pets, bool is_raid_group_only);
|
|
void ApplySpellRaid(int spell_id, int duration, int level, bool allow_pets, bool is_raid_group_only, bool allow_bots);
|
|
|
|
void SetSpellDuration(int spell_id);
|
|
void SetSpellDuration(int spell_id, int duration);
|
|
void SetSpellDuration(int spell_id, int duration, int level);
|
|
void SetSpellDuration(int spell_id, int duration, int level, bool allow_pets);
|
|
void SetSpellDuration(int spell_id, int duration, int level, bool allow_pets, bool allow_bots);
|
|
|
|
void SetSpellDurationGroup(int spell_id);
|
|
void SetSpellDurationGroup(int spell_id, int duration);
|
|
void SetSpellDurationGroup(int spell_id, int duration, int level);
|
|
void SetSpellDurationGroup(int spell_id, int duration, int level, bool allow_pets);
|
|
void SetSpellDurationGroup(int spell_id, int duration, int level, bool allow_pets, bool allow_bots);
|
|
|
|
void SetSpellDurationRaid(int spell_id);
|
|
void SetSpellDurationRaid(int spell_id, int duration);
|
|
void SetSpellDurationRaid(int spell_id, int duration, int level);
|
|
void SetSpellDurationRaid(int spell_id, int duration, int level, bool allow_pets);
|
|
void SetSpellDurationRaid(int spell_id, int duration, int level, bool allow_pets, bool is_raid_group_only);
|
|
void SetSpellDurationRaid(int spell_id, int duration, int level, bool allow_pets, bool is_raid_group_only, bool allow_bots);
|
|
|
|
|
|
int GetEnvironmentDamageModifier();
|
|
void SetEnvironmentDamageModifier(int value);
|
|
bool GetInvulnerableEnvironmentDamage();
|
|
void SetInvulnerableEnvironmentDamage(bool value);
|
|
|
|
void SetPrimaryWeaponOrnamentation(uint32 model_id);
|
|
void SetSecondaryWeaponOrnamentation(uint32 model_id);
|
|
void TaskSelector(luabind::adl::object table);
|
|
void TaskSelector(luabind::adl::object table, bool ignore_cooldown);
|
|
|
|
void SetClientMaxLevel(uint8 max_level);
|
|
uint8 GetClientMaxLevel();
|
|
|
|
bool SendGMCommand(std::string message);
|
|
bool SendGMCommand(std::string message, bool ignore_status);
|
|
|
|
int GetBotRequiredLevel();
|
|
int GetBotRequiredLevel(uint8 class_id);
|
|
uint32 GetBotCreationLimit();
|
|
uint32 GetBotCreationLimit(uint8 class_id);
|
|
int GetBotSpawnLimit();
|
|
int GetBotSpawnLimit(uint8 class_id);
|
|
void SetBotRequiredLevel(int new_required_level);
|
|
void SetBotRequiredLevel(int new_required_level, uint8 class_id);
|
|
void SetBotCreationLimit(uint32 new_creation_limit);
|
|
void SetBotCreationLimit(uint32 new_creation_limit, uint8 class_id);
|
|
void SetBotSpawnLimit(int new_spawn_limit);
|
|
void SetBotSpawnLimit(int new_spawn_limit, uint8 class_id);
|
|
void CampAllBots();
|
|
void CampAllBots(uint8 class_id);
|
|
bool RemoveAAPoints(uint32 points);
|
|
bool RemoveAlternateCurrencyValue(uint32 currency_id, uint32 amount);
|
|
bool AreTasksCompleted(luabind::object task_ids);
|
|
|
|
void DialogueWindow(std::string markdown);
|
|
|
|
bool ReloadDataBuckets();
|
|
void ShowZoneShardMenu();
|
|
void GrantPetNameChange();
|
|
|
|
void GrantNameChange();
|
|
bool IsNameChangeAllowed();
|
|
bool ClearNameChange();
|
|
|
|
Lua_Expedition CreateExpedition(luabind::object expedition_info);
|
|
Lua_Expedition CreateExpedition(std::string zone_name, uint32 version, uint32 duration, std::string expedition_name, uint32 min_players, uint32 max_players);
|
|
Lua_Expedition CreateExpedition(std::string zone_name, uint32 version, uint32 duration, std::string expedition_name, uint32 min_players, uint32 max_players, bool disable_messages);
|
|
Lua_Expedition CreateExpeditionFromTemplate(uint32_t dz_template_id);
|
|
Lua_Expedition GetExpedition();
|
|
luabind::object GetExpeditionLockouts(lua_State* L);
|
|
luabind::object GetExpeditionLockouts(lua_State* L, std::string expedition_name);
|
|
std::string GetLockoutExpeditionUUID(std::string expedition_name, std::string event_name);
|
|
void AddExpeditionLockout(std::string expedition_name, std::string event_name, uint32 seconds);
|
|
void AddExpeditionLockout(std::string expedition_name, std::string event_name, uint32 seconds, std::string uuid);
|
|
void AddExpeditionLockoutDuration(std::string expedition_name, std::string event_name, int seconds);
|
|
void AddExpeditionLockoutDuration(std::string expedition_name, std::string event_name, int seconds, std::string uuid);
|
|
void RemoveAllExpeditionLockouts();
|
|
void RemoveAllExpeditionLockouts(std::string expedition_name);
|
|
void RemoveExpeditionLockout(std::string expedition_name, std::string event_name);
|
|
bool HasExpeditionLockout(std::string expedition_name, std::string event_name);
|
|
void MovePCDynamicZone(uint32 zone_id);
|
|
void MovePCDynamicZone(uint32 zone_id, int zone_version);
|
|
void MovePCDynamicZone(uint32 zone_id, int zone_version, bool msg_if_invalid);
|
|
void MovePCDynamicZone(std::string zone_name);
|
|
void MovePCDynamicZone(std::string zone_name, int zone_version);
|
|
void MovePCDynamicZone(std::string zone_name, int zone_version, bool msg_if_invalid);
|
|
void CreateTaskDynamicZone(int task_id, luabind::object dz_table);
|
|
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 // LUA_EQEMU
|