# File: `LuaInterface.h` ## Classes - `ConversationOption` - `OptionWindowOption` - `LuaSpell` - `LUAUserData` - `LUAConversationOptionWrapper` - `LUAOptionWindowWrapper` - `LUASpawnWrapper` - `LUAZoneWrapper` - `LUAQuestWrapper` - `LUAItemWrapper` - `LUASkillWrapper` - `LUASpellWrapper` - `LuaInterface` ## Functions - `bool IsConversationOption();` - `bool IsOptionWindow();` - `bool IsSpawn();` - `bool IsZone();` - `bool IsQuest();` - `bool IsItem();` - `bool IsSkill();` - `bool IsSpell();` - `int GetNumberOfArgs(lua_State* state);` - `bool LoadItemScript(string name);` - `bool LoadItemScript(const char* name);` - `bool LoadSpawnScript(string name);` - `bool LoadSpawnScript(const char* name);` - `bool LoadZoneScript(string name);` - `bool LoadZoneScript(const char* name);` - `bool LoadRegionScript(string name);` - `bool LoadRegionScript(const char* name);` - `void RemoveSpell(LuaSpell* spell, bool call_remove_function = true, bool can_delete = true, string reason = "", bool removing_all_spells = false, bool return_after_call_remove = false, Spawn* overrideTarget = nullptr);` - `int8 GetInt8Value(lua_State* state, int8 arg_num = 1);` - `int16 GetInt16Value(lua_State* state, int8 arg_num = 1);` - `int32 GetInt32Value(lua_State* state, int8 arg_num = 1);` - `sint32 GetSInt32Value(lua_State* state, int8 arg_num = 1);` - `int64 GetInt64Value(lua_State* state, int8 arg_num = 1);` - `sint64 GetSInt64Value(lua_State* state, int8 arg_num = 1);` - `float GetFloatValue(lua_State* state, int8 arg_num = 1);` - `string GetStringValue(lua_State* state, int8 arg_num = 1);` - `bool GetBooleanValue(lua_State*state, int8 arg_num = 1);` - `void Process();` - `void SetInt32Value(lua_State* state, int32 value);` - `void SetSInt32Value(lua_State* state, sint32 value);` - `void SetInt64Value(lua_State* state, int64 value);` - `void SetSInt64Value(lua_State* state, sint64 value);` - `void SetFloatValue(lua_State* state, float value);` - `void SetBooleanValue(lua_State* state, bool value);` - `void SetStringValue(lua_State* state, const char* value);` - `void SetSpawnValue(lua_State* state, Spawn* spawn);` - `void SetSkillValue(lua_State* state, Skill* skill);` - `void SetItemValue(lua_State* state, Item* item);` - `void SetQuestValue(lua_State* state, Quest* quest);` - `void SetZoneValue(lua_State* state, ZoneServer* zone);` - `void SetSpellValue(lua_State* state, LuaSpell* spell);` - `void SetConversationValue(lua_State* state, vector* conversation);` - `void SetOptionWindowValue(lua_State* state, vector* optionWindow);` - `std::string AddSpawnPointers(LuaSpell* spell, bool first_cast, bool precast = false, const char* function = 0, SpellScriptTimer* timer = 0, bool passLuaSpell=false, Spawn* altTarget = 0);` - `void RemoveCurrentSpell(lua_State* state, LuaSpell* cur_spell, bool needsLock = true, bool removeCurSpell = true, bool removeSpellScript = true);` - `bool CallSpellProcess(LuaSpell* spell, int8 num_parameters, std::string functionCalled);` - `void UseItemScript(const char* name, lua_State* state, bool val);` - `void UseSpawnScript(const char* name, lua_State* state, bool val);` - `void UseZoneScript(const char* name, lua_State* state, bool val);` - `void UseRegionScript(const char* name, lua_State* state, bool val);` - `void RemoveSpawnScript(const char* name);` - `bool RunItemScript(string script_name, const char* function_name, Item* item, Spawn* spawn = 0, Spawn* target = 0, sint64* returnValue = 0);` - `bool RunItemScriptWithReturnString(string script_name, const char* function_name, Item* item, Spawn* spawn = 0, std::string* returnValue = 0);` - `bool CallItemScript(lua_State* state, int8 num_parameters, std::string* returnValue = 0);` - `bool CallItemScript(lua_State* state, int8 num_parameters, sint64* returnValue = 0);` - `bool RunSpawnScript(string script_name, const char* function_name, Spawn* npc, Spawn* spawn = 0, const char* message = 0, bool is_door_open = false, sint32 input_value = 0, sint32* return_value = 0);` - `bool CallSpawnScript(lua_State* state, int8 num_parameters);` - `bool RunZoneScript(string script_name, const char* function_name, ZoneServer* zone, Spawn* spawn = 0, int32 int32_arg1 = 0, const char* str_arg1 = 0, Spawn* spawn_arg1 = 0, int32 int32_arg2 = 0, const char* str_arg2 = 0, Spawn* spawn_arg2 = 0);` - `bool RunZoneScriptWithReturn(string script_name, const char* function_name, ZoneServer* zone, Spawn* spawn, int32 int32_arg1, int32 int32_arg2, int32 int32_arg3, int32* returnValue = 0);` - `bool CallScriptInt32(lua_State* state, int8 num_parameters, int32* returnValue = 0);` - `bool CallScriptSInt32(lua_State* state, int8 num_parameters, sint32* returnValue = 0);` - `bool RunRegionScript(string script_name, const char* function_name, ZoneServer* zone, Spawn* spawn = 0, sint32 int32_arg1 = 0, int32* returnValue = 0);` - `bool CallRegionScript(lua_State* state, int8 num_parameters, int32* returnValue);` - `void ResetFunctionStack(lua_State* state);` - `void DestroySpells();` - `void DestroySpawnScripts();` - `void DestroyItemScripts();` - `void DestroyQuests(bool reload = false);` - `void DestroyZoneScripts();` - `void DestroyRegionScripts();` - `void SimpleLogError(const char* error);` - `void LogError(const char* error, ...);` - `bool CallQuestFunction(Quest* quest, const char* function, Spawn* player, int32 step_id = 0xFFFFFFFF, int32* returnValue = 0);` - `void RemoveDebugClients(Client* client);` - `void UpdateDebugClients(Client* client);` - `void ProcessErrorMessage(const char* message);` - `void AddUserDataPtr(LUAUserData* data, void* data_ptr = 0);` - `void DeleteUserDataPtrs(bool all);` - `void DeletePendingSpells(bool all);` - `void DeletePendingSpell(LuaSpell* spell);` - `void SetLuaSystemReloading(bool val) { lua_system_reloading = val; }` - `bool IsLuaSystemReloading() { return lua_system_reloading; }` - `void AddPendingSpellDelete(LuaSpell* spell);` - `void AddCustomSpell(LuaSpell* spell);` - `void RemoveCustomSpell(int32 id);` - `void FindCustomSpellLock() { MCustomSpell.readlock(); }` - `void FindCustomSpellUnlock() { MCustomSpell.releasereadlock(); }` - `int32 GetFreeCustomSpellID();` - `void SetLuaUserDataStale(void* ptr);` - `void RegisterFunctions(lua_State* state);` ## Notable Comments - /* - */ - //Bitmask Values