Compare commits

...

25 Commits

Author SHA1 Message Date
Tristan 'Natrist' Cormier
5fc00666f5
Merge 4a102c6ace into cda8fff096 2026-02-06 19:03:13 -05:00
fallenoak
cda8fff096
feat(ui): implement Script_GetCursorMoney
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
2026-02-06 15:35:17 -06:00
fallenoak
5ee4c54827
feat(ui): implement Script_GetMoney 2026-02-06 14:04:52 -06:00
fallenoak
68ad71090e
feat(object): simplify getters in CGPlayer_C 2026-02-06 10:36:54 -06:00
fallenoak
4bf88801ed
feat(ui): implement Script_GetInventorySlotInfo
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
2026-02-06 06:43:00 -06:00
fallenoak
c133d37705
feat(db): add PaperDollItemFrameRec 2026-02-06 06:23:28 -06:00
Tristan Cormier
8c850c0bd5 feat(glue): implement Script_IsShiftKeyDown
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
2026-02-05 23:14:44 -06:00
fallenoak
7dcc33bcb4
feat(object): partially implement CGPlayer_C::PostInitActivePlayer 2026-02-05 22:22:33 -06:00
fallenoak
5b88141acb
feat(object): add ClntObjMgrGetPlayerType 2026-02-05 22:22:01 -06:00
fallenoak
61303b51a2
feat(object): stub CGPlayer_C::PostInitActivePlayer 2026-02-05 22:09:52 -06:00
fallenoak
c7179026fc
feat(object): implement SkipPartialObjectUpdate 2026-02-05 22:09:25 -06:00
fallenoak
e5aab736b7
feat(ui): add CGGameUI::EnterWorld 2026-02-05 21:04:31 -06:00
fallenoak
1d364ec689
feat(ui): add CGGameUI::IsLoggingIn 2026-02-05 20:51:46 -06:00
fallenoak
f08cbc0795
feat(ui): add ScriptEventsRegisterEvents 2026-02-05 20:33:53 -06:00
fallenoak
19f51db2e2
chore(ui): move ScriptEventsInitialize into game ui dir 2026-02-05 20:13:32 -06:00
fallenoak
315ea05ba0
feat(ui): implement Script_UnitXPMax
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
2026-02-05 16:56:44 -06:00
fallenoak
a53e1360a4
feat(ui): implement Script_UnitXP 2026-02-05 16:12:04 -06:00
fallenoak
cfb8f2bae1
feat(ui): add Script_GetUnitFromName 2026-02-05 16:05:19 -06:00
fallenoak
ed9c683602
feat(object): add CGPlayer_C::GetActiveNextLevelXP 2026-02-05 16:01:46 -06:00
fallenoak
ee48e47992
feat(object): add CGPlayer_C::GetActiveXP 2026-02-05 15:58:48 -06:00
fallenoak
5d81022c74
feat(object): add CGPlayer::GetNextLevelXP 2026-02-05 15:00:32 -06:00
fallenoak
c9f26b6666
feat(object): add CGObject::IsExactlyA 2026-02-05 14:53:58 -06:00
fallenoak
f567a3a7c8
feat(object): add CGPlayer::GetXP 2026-02-05 14:51:17 -06:00
fallenoak
aac8cf0855
feat(object): add CGObject::IsA 2026-02-05 13:26:59 -06:00
Tristan Cormier
4a102c6ace feat(glue): implement Script_ContestAccepted 2026-01-11 17:01:24 -05:00
33 changed files with 1068 additions and 675 deletions

View File

@ -18,6 +18,7 @@ WowClientDB<FactionTemplateRec> g_factionTemplateDB;
WowClientDB<ItemDisplayInfoRec> g_itemDisplayInfoDB;
WowClientDB<ItemVisualsRec> g_itemVisualsDB;
WowClientDB<MapRec> g_mapDB;
WowClientDB<PaperDollItemFrameRec> g_paperDollItemFrameDB;
WowClientDB<SoundEntriesRec> g_soundEntriesDB;
WowClientDB<SoundEntriesAdvancedRec> g_soundEntriesAdvancedDB;
@ -43,6 +44,7 @@ void StaticDBLoadAll(void (*loadFn)(WowClientDB_Base*, const char*, int32_t)) {
loadFn(&g_itemDisplayInfoDB, __FILE__, __LINE__);
loadFn(&g_itemVisualsDB, __FILE__, __LINE__);
loadFn(&g_mapDB, __FILE__, __LINE__);
loadFn(&g_paperDollItemFrameDB, __FILE__, __LINE__);
loadFn(&g_soundEntriesDB, __FILE__, __LINE__);
loadFn(&g_soundEntriesAdvancedDB, __FILE__, __LINE__);
};

View File

@ -19,6 +19,7 @@
#include "db/rec/ItemDisplayInfoRec.hpp"
#include "db/rec/ItemVisualsRec.hpp"
#include "db/rec/MapRec.hpp"
#include "db/rec/PaperDollItemFrameRec.hpp"
#include "db/rec/SoundEntriesRec.hpp"
#include "db/rec/SoundEntriesAdvancedRec.hpp"
@ -39,6 +40,7 @@ extern WowClientDB<FactionTemplateRec> g_factionTemplateDB;
extern WowClientDB<ItemDisplayInfoRec> g_itemDisplayInfoDB;
extern WowClientDB<ItemVisualsRec> g_itemVisualsDB;
extern WowClientDB<MapRec> g_mapDB;
extern WowClientDB<PaperDollItemFrameRec> g_paperDollItemFrameDB;
extern WowClientDB<SoundEntriesRec> g_soundEntriesDB;
extern WowClientDB<SoundEntriesAdvancedRec> g_soundEntriesAdvancedDB;

View File

@ -0,0 +1,51 @@
// DO NOT EDIT: generated by whoa-autocode
#include "db/rec/PaperDollItemFrameRec.hpp"
#include "util/Locale.hpp"
#include "util/SFile.hpp"
const char* PaperDollItemFrameRec::GetFilename() {
return "DBFilesClient\\PaperDollItemFrame.dbc";
}
uint32_t PaperDollItemFrameRec::GetNumColumns() {
return 3;
}
uint32_t PaperDollItemFrameRec::GetRowSize() {
return 12;
}
bool PaperDollItemFrameRec::NeedIDAssigned() {
return true;
}
int32_t PaperDollItemFrameRec::GetID() {
return this->m_generatedID;
}
void PaperDollItemFrameRec::SetID(int32_t id) {
this->m_generatedID = id;
}
bool PaperDollItemFrameRec::Read(SFile* f, const char* stringBuffer) {
uint32_t itemButtonNameOfs;
uint32_t slotIconOfs;
if (
!SFile::Read(f, &itemButtonNameOfs, sizeof(uint32_t), nullptr, nullptr, nullptr)
|| !SFile::Read(f, &slotIconOfs, sizeof(uint32_t), nullptr, nullptr, nullptr)
|| !SFile::Read(f, &this->m_slotNumber, sizeof(this->m_slotNumber), nullptr, nullptr, nullptr)
) {
return false;
}
if (stringBuffer) {
this->m_itemButtonName = &stringBuffer[itemButtonNameOfs];
this->m_slotIcon = &stringBuffer[slotIconOfs];
} else {
this->m_itemButtonName = "";
this->m_slotIcon = "";
}
return true;
}

View File

@ -0,0 +1,25 @@
// DO NOT EDIT: generated by whoa-autocode
#ifndef DB_REC_PAPER_DOLL_ITEM_FRAME_REC_HPP
#define DB_REC_PAPER_DOLL_ITEM_FRAME_REC_HPP
#include <cstdint>
class SFile;
class PaperDollItemFrameRec {
public:
const char* m_itemButtonName;
const char* m_slotIcon;
int32_t m_slotNumber;
int32_t m_generatedID;
static const char* GetFilename();
static uint32_t GetNumColumns();
static uint32_t GetRowSize();
static bool NeedIDAssigned();
int32_t GetID();
void SetID(int32_t id);
bool Read(SFile* f, const char* stringBuffer);
};
#endif

View File

@ -47,6 +47,7 @@ float CGlueMgr::m_aspect;
bool CGlueMgr::m_authenticated;
const CharacterSelectionDisplay* CGlueMgr::m_characterInfo;
int32_t CGlueMgr::m_clientKickReason;
int32_t CGlueMgr::m_contestAccepted = 1; // TODO
char CGlueMgr::m_currentScreen[64];
EffectDeath* CGlueMgr::m_deathEffect;
int32_t CGlueMgr::m_disconnectPending;

View File

@ -41,6 +41,7 @@ class CGlueMgr {
static bool m_authenticated;
static const CharacterSelectionDisplay* m_characterInfo;
static int32_t m_clientKickReason;
static int32_t m_contestAccepted;
static char m_currentScreen[];
static EffectDeath* m_deathEffect;
static int32_t m_disconnectPending;

View File

@ -17,7 +17,13 @@
#include <cstdint>
int32_t Script_IsShiftKeyDown(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
if (EventIsKeyDown(KEY_LSHIFT) || EventIsKeyDown(KEY_RSHIFT)) {
lua_pushnumber(L, 1.0);
} else {
lua_pushnil(L);
}
return 1;
}
int32_t Script_GetBuildInfo(lua_State* L) {
@ -222,7 +228,14 @@ int32_t Script_ShowContestNotice(lua_State* L) {
}
int32_t Script_ContestAccepted(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
if (CGlueMgr::m_contestAccepted) {
lua_pushnumber(L, 1.0);
}
else {
lua_pushnil(L);
}
return 1;
}
int32_t Script_AcceptContest(lua_State* L) {

View File

@ -78,6 +78,11 @@ enum OUT_OF_RANGE_TYPE {
OUT_OF_RANGE_2 = 2,
};
enum PLAYER_TYPE {
PLAYER_NORMAL = 0,
PLAYER_BOT = 1,
};
enum SHEATHE_TYPE {
SHEATHE_0 = 0,
SHEATHE_1 = 1,

View File

@ -36,6 +36,14 @@ OBJECT_TYPE_ID CGObject::GetTypeID() const {
return this->m_typeID;
}
int32_t CGObject::IsA(OBJECT_TYPE type) const {
return (this->GetType() & type) != 0;
}
int32_t CGObject::IsExactlyA(OBJECT_TYPE_ID typeID) const {
return this->m_typeID == typeID;
}
CGObjectData* CGObject::Obj() const {
return this->m_obj;
}

View File

@ -31,6 +31,8 @@ class CGObject {
WOWGUID GetGUID() const;
OBJECT_TYPE GetType() const;
OBJECT_TYPE_ID GetTypeID() const;
int32_t IsA(OBJECT_TYPE type) const;
int32_t IsExactlyA(OBJECT_TYPE_ID typeID) const;
protected:
// Protected member variables

View File

@ -41,6 +41,18 @@ uint32_t CGPlayer::TotalRemoteFieldsSaved() {
return CGPlayer::GetBaseOffsetSaved() + 173;
}
uint32_t CGPlayer::GetMoney() const {
return this->Player()->coinage;
}
uint32_t CGPlayer::GetNextLevelXP() const {
return this->Player()->nextLevelXP;
}
uint32_t CGPlayer::GetXP() const {
return this->Player()->xp;
}
CGPlayerData* CGPlayer::Player() const {
return this->m_player;
}

View File

@ -148,6 +148,11 @@ class CGPlayer {
static uint32_t TotalFieldsSaved();
static uint32_t TotalRemoteFieldsSaved();
// Public member functions
uint32_t GetMoney() const;
uint32_t GetNextLevelXP() const;
uint32_t GetXP() const;
protected:
// Protected member variables
CGPlayerData* m_player;

View File

@ -1,8 +1,17 @@
#include "object/client/CGPlayer_C.hpp"
#include "db/Db.hpp"
#include "object/Types.hpp"
#include "object/client/ObjMgr.hpp"
#include "ui/FrameScript.hpp"
#include "ui/Game.hpp"
#include <storm/Error.hpp>
CGPlayer_C* CGPlayer_C::GetActivePtr() {
return static_cast<CGPlayer_C*>(
ClntObjMgrObjectPtr(ClntObjMgrGetActivePlayer(), TYPE_PLAYER, __FILE__, __LINE__)
);
}
CGPlayer_C::CGPlayer_C(uint32_t time, CClientObjCreate& objCreate) : CGUnit_C(time, objCreate) {
// TODO
}
@ -11,12 +20,64 @@ CGPlayer_C::~CGPlayer_C() {
// TODO
}
uint32_t CGPlayer_C::GetMoney() const {
if (this->GetGUID() != ClntObjMgrGetActivePlayer()) {
return 0;
}
return this->CGPlayer::GetMoney();
}
uint32_t CGPlayer_C::GetNextLevelXP() const {
if (this->GetGUID() != ClntObjMgrGetActivePlayer()) {
return 0;
}
return this->CGPlayer::GetNextLevelXP();
}
uint32_t CGPlayer_C::GetXP() const {
if (this->GetGUID() != ClntObjMgrGetActivePlayer()) {
return 0;
}
return this->CGPlayer::GetXP();
}
void CGPlayer_C::PostInit(uint32_t time, const CClientObjCreate& init, bool a4) {
// TODO
this->CGUnit_C::PostInit(time, init, a4);
// TODO
if (this->GetGUID() == ClntObjMgrGetActivePlayer()) {
this->PostInitActivePlayer();
} else {
this->UpdatePartyMemberState();
}
// TODO
}
void CGPlayer_C::PostInitActivePlayer() {
// TODO
if (ClntObjMgrGetPlayerType() == PLAYER_NORMAL) {
// TODO
FrameScript_SignalEvent(SCRIPT_ACTIONBAR_SLOT_CHANGED, "%d", 0);
}
// TODO
if (ClntObjMgrGetPlayerType() == PLAYER_NORMAL) {
// TODO
CGGameUI::EnterWorld();
}
// TODO
}
void CGPlayer_C::SetStorage(uint32_t* storage, uint32_t* saved) {
@ -26,6 +87,10 @@ void CGPlayer_C::SetStorage(uint32_t* storage, uint32_t* saved) {
this->m_playerSaved = &saved[CGPlayer::GetBaseOffsetSaved()];
}
void CGPlayer_C::UpdatePartyMemberState() {
// TODO
}
uint32_t Player_C_GetDisplayId(uint32_t race, uint32_t sex) {
STORM_ASSERT(sex < UNITSEX_LAST);

View File

@ -10,13 +10,21 @@ class CreatureModelDataRec;
class CGPlayer_C : public CGUnit_C, public CGPlayer {
public:
// Public static functions
static CGPlayer_C* GetActivePtr();
// Virtual public member functions
virtual ~CGPlayer_C();
// Public member functions
CGPlayer_C(uint32_t time, CClientObjCreate& objCreate);
uint32_t GetMoney() const;
uint32_t GetNextLevelXP() const;
uint32_t GetXP() const;
void PostInit(uint32_t time, const CClientObjCreate& init, bool a4);
void PostInitActivePlayer();
void SetStorage(uint32_t* storage, uint32_t* saved);
void UpdatePartyMemberState();
};
uint32_t Player_C_GetDisplayId(uint32_t race, uint32_t sex);

View File

@ -18,8 +18,12 @@ class ClntObjMgr {
STORM_EXPLICIT_LIST(CGObject_C, m_link) m_reenabledObjects;
// TODO
WOWGUID m_activePlayer = 0;
PLAYER_TYPE m_type;
uint32_t m_mapID = 0;
ClientConnection* m_net = nullptr;
// Member functions
ClntObjMgr(PLAYER_TYPE type) : m_type(type) {};
};
#endif

View File

@ -229,3 +229,20 @@ int32_t FillInPartialObjectData(CGObject_C* object, WOWGUID guid, CDataStore* ms
return 1;
}
int32_t SkipPartialObjectUpdate(CDataStore* msg) {
uint8_t changeMaskCount;
uint32_t changeMasks[MAX_CHANGE_MASKS];
if (!ExtractDirtyMasks(msg, &changeMaskCount, changeMasks)) {
return 0;
}
for (int32_t block = 0; block < changeMaskCount * 32; block++) {
if (IsMaskBitSet(changeMasks, block)) {
uint32_t blockValue;
msg->Get(blockValue);
}
}
return 1;
}

View File

@ -11,4 +11,6 @@ int32_t CallMirrorHandlers(CDataStore* msg, bool a2, WOWGUID guid);
int32_t FillInPartialObjectData(CGObject_C* object, WOWGUID guid, CDataStore* msg, bool forFullUpdate, bool zeroZeroBits);
int32_t SkipPartialObjectUpdate(CDataStore* msg);
#endif

View File

@ -141,6 +141,10 @@ uint32_t ClntObjMgrGetMapID() {
return s_curMgr->m_mapID;
}
PLAYER_TYPE ClntObjMgrGetPlayerType() {
return s_curMgr->m_type;
}
void ClntObjMgrInitializeShared() {
if (!s_heapsAllocated) {
for (int32_t i = ID_ITEM; i < NUM_CLIENT_OBJECT_TYPES; i++) {
@ -158,7 +162,7 @@ void ClntObjMgrInitializeShared() {
void ClntObjMgrInitializeStd(uint32_t mapID) {
// TODO last instance time
auto mgr = STORM_NEW(ClntObjMgr);
auto mgr = STORM_NEW(ClntObjMgr)(PLAYER_NORMAL);
g_clientConnection->SetObjMgr(mgr);
mgr->m_net = g_clientConnection;

View File

@ -16,6 +16,8 @@ ClntObjMgr* ClntObjMgrGetCurrent();
uint32_t ClntObjMgrGetMapID();
PLAYER_TYPE ClntObjMgrGetPlayerType();
void ClntObjMgrInitializeShared();
void ClntObjMgrInitializeStd(uint32_t mapID);

View File

@ -164,8 +164,3 @@ void InitObject(CGObject_C* object, uint32_t time, CClientObjCreate& objCreate)
}
}
}
int32_t SkipPartialObjectUpdate(CDataStore* msg) {
// TODO
return 0;
}

View File

@ -20,6 +20,4 @@ void HandleObjectOutOfRangePass2(CGObject_C* object);
void InitObject(CGObject_C* object, uint32_t time, CClientObjCreate& objCreate);
int32_t SkipPartialObjectUpdate(CDataStore* msg);
#endif

View File

@ -11,8 +11,6 @@
#include <storm/String.hpp>
#include <tempest/Vector.hpp>
const char* g_scriptEvents[722];
int32_t g_glueFrameScriptGenders[] = {
2, // UNIT_SEX_MALE
3, // UNIT_SEX_FEMALE
@ -154,8 +152,10 @@ void FrameScript_CreateEvents(const char* names[], uint32_t count) {
FrameScript::s_scriptEvents.SetCount(count);
for (int32_t i = 0; i < count; i++) {
auto event = FrameScript::s_scriptEventsHash.New(names[i], 0, 0);
FrameScript::s_scriptEvents[i] = event;
if (names[i]) {
auto event = FrameScript::s_scriptEventsHash.New(names[i], 0, 0);
FrameScript::s_scriptEvents[i] = event;
}
}
}
@ -1083,656 +1083,3 @@ void FrameScript_UnregisterScriptEvent(FrameScript_Object* object, FrameScript_E
}
}
}
void ScriptEventsInitialize() {
g_scriptEvents[0] = "UNIT_PET";
g_scriptEvents[2] = "UNIT_PET";
g_scriptEvents[12] = "UNIT_TARGET";
g_scriptEvents[17] = "UNIT_DISPLAYPOWER";
g_scriptEvents[18] = "UNIT_HEALTH";
g_scriptEvents[19] = "UNIT_MANA";
g_scriptEvents[20] = "UNIT_RAGE";
g_scriptEvents[21] = "UNIT_FOCUS";
g_scriptEvents[22] = "UNIT_ENERGY";
g_scriptEvents[23] = "UNIT_HAPPINESS";
g_scriptEvents[25] = "UNIT_RUNIC_POWER";
g_scriptEvents[26] = "UNIT_MAXHEALTH";
g_scriptEvents[27] = "UNIT_MAXMANA";
g_scriptEvents[28] = "UNIT_MAXRAGE";
g_scriptEvents[29] = "UNIT_MAXFOCUS";
g_scriptEvents[30] = "UNIT_MAXENERGY";
g_scriptEvents[31] = "UNIT_MAXHAPPINESS";
g_scriptEvents[33] = "UNIT_MAXRUNIC_POWER";
g_scriptEvents[48] = "UNIT_LEVEL";
g_scriptEvents[49] = "UNIT_FACTION";
g_scriptEvents[53] = "UNIT_FLAGS";
g_scriptEvents[54] = "UNIT_FLAGS";
g_scriptEvents[56] = "UNIT_ATTACK_SPEED";
g_scriptEvents[57] = "UNIT_ATTACK_SPEED";
g_scriptEvents[58] = "UNIT_RANGEDDAMAGE";
g_scriptEvents[64] = "UNIT_DAMAGE";
g_scriptEvents[65] = "UNIT_DAMAGE";
g_scriptEvents[66] = "UNIT_DAMAGE";
g_scriptEvents[67] = "UNIT_DAMAGE";
g_scriptEvents[71] = "UNIT_PET_EXPERIENCE";
g_scriptEvents[72] = "UNIT_PET_EXPERIENCE";
g_scriptEvents[73] = "UNIT_DYNAMIC_FLAGS";
g_scriptEvents[78] = "UNIT_STATS";
g_scriptEvents[79] = "UNIT_STATS";
g_scriptEvents[80] = "UNIT_STATS";
g_scriptEvents[81] = "UNIT_STATS";
g_scriptEvents[82] = "UNIT_STATS";
g_scriptEvents[93] = "UNIT_RESISTANCES";
g_scriptEvents[94] = "UNIT_RESISTANCES";
g_scriptEvents[95] = "UNIT_RESISTANCES";
g_scriptEvents[96] = "UNIT_RESISTANCES";
g_scriptEvents[97] = "UNIT_RESISTANCES";
g_scriptEvents[98] = "UNIT_RESISTANCES";
g_scriptEvents[99] = "UNIT_RESISTANCES";
g_scriptEvents[100] = "UNIT_RESISTANCES";
g_scriptEvents[101] = "UNIT_RESISTANCES";
g_scriptEvents[102] = "UNIT_RESISTANCES";
g_scriptEvents[103] = "UNIT_RESISTANCES";
g_scriptEvents[104] = "UNIT_RESISTANCES";
g_scriptEvents[105] = "UNIT_RESISTANCES";
g_scriptEvents[106] = "UNIT_RESISTANCES";
g_scriptEvents[107] = "UNIT_RESISTANCES";
g_scriptEvents[108] = "UNIT_RESISTANCES";
g_scriptEvents[109] = "UNIT_RESISTANCES";
g_scriptEvents[110] = "UNIT_RESISTANCES";
g_scriptEvents[111] = "UNIT_RESISTANCES";
g_scriptEvents[112] = "UNIT_RESISTANCES";
g_scriptEvents[113] = "UNIT_RESISTANCES";
g_scriptEvents[117] = "UNIT_ATTACK_POWER";
g_scriptEvents[118] = "UNIT_ATTACK_POWER";
g_scriptEvents[119] = "UNIT_ATTACK_POWER";
g_scriptEvents[120] = "UNIT_RANGED_ATTACK_POWER";
g_scriptEvents[121] = "UNIT_RANGED_ATTACK_POWER";
g_scriptEvents[122] = "UNIT_RANGED_ATTACK_POWER";
g_scriptEvents[123] = "UNIT_RANGEDDAMAGE";
g_scriptEvents[124] = "UNIT_RANGEDDAMAGE";
g_scriptEvents[125] = "UNIT_MANA";
g_scriptEvents[132] = "UNIT_MANA";
g_scriptEvents[139] = "UNIT_STATS";
g_scriptEvents[142] = "UNIT_AURA";
g_scriptEvents[143] = "UNIT_COMBAT";
g_scriptEvents[144] = "UNIT_NAME_UPDATE";
g_scriptEvents[145] = "UNIT_PORTRAIT_UPDATE";
g_scriptEvents[146] = "UNIT_MODEL_CHANGED";
g_scriptEvents[147] = "UNIT_INVENTORY_CHANGED";
g_scriptEvents[148] = "UNIT_CLASSIFICATION_CHANGED";
g_scriptEvents[149] = "UNIT_COMBO_POINTS";
g_scriptEvents[150] = "ITEM_LOCK_CHANGED";
g_scriptEvents[151] = "PLAYER_XP_UPDATE";
g_scriptEvents[152] = "PLAYER_REGEN_DISABLED";
g_scriptEvents[153] = "PLAYER_REGEN_ENABLED";
g_scriptEvents[154] = "PLAYER_AURAS_CHANGED";
g_scriptEvents[155] = "PLAYER_ENTER_COMBAT";
g_scriptEvents[156] = "PLAYER_LEAVE_COMBAT";
g_scriptEvents[157] = "PLAYER_TARGET_CHANGED";
g_scriptEvents[158] = "PLAYER_FOCUS_CHANGED";
g_scriptEvents[159] = "PLAYER_CONTROL_LOST";
g_scriptEvents[160] = "PLAYER_CONTROL_GAINED";
g_scriptEvents[161] = "PLAYER_FARSIGHT_FOCUS_CHANGED";
g_scriptEvents[162] = "PLAYER_LEVEL_UP";
g_scriptEvents[163] = "PLAYER_MONEY";
g_scriptEvents[164] = "PLAYER_DAMAGE_DONE_MODS";
g_scriptEvents[165] = "PLAYER_TOTEM_UPDATE";
g_scriptEvents[166] = "ZONE_CHANGED";
g_scriptEvents[167] = "ZONE_CHANGED_INDOORS";
g_scriptEvents[168] = "ZONE_CHANGED_NEW_AREA";
g_scriptEvents[169] = "MINIMAP_UPDATE_ZOOM";
g_scriptEvents[170] = "MINIMAP_UPDATE_TRACKING";
g_scriptEvents[171] = "SCREENSHOT_SUCCEEDED";
g_scriptEvents[172] = "SCREENSHOT_FAILED";
g_scriptEvents[173] = "ACTIONBAR_SHOWGRID";
g_scriptEvents[174] = "ACTIONBAR_HIDEGRID";
g_scriptEvents[175] = "ACTIONBAR_PAGE_CHANGED";
g_scriptEvents[176] = "ACTIONBAR_SLOT_CHANGED";
g_scriptEvents[177] = "ACTIONBAR_UPDATE_STATE";
g_scriptEvents[178] = "ACTIONBAR_UPDATE_USABLE";
g_scriptEvents[179] = "ACTIONBAR_UPDATE_COOLDOWN";
g_scriptEvents[180] = "UPDATE_BONUS_ACTIONBAR";
g_scriptEvents[181] = "PARTY_MEMBERS_CHANGED";
g_scriptEvents[182] = "PARTY_LEADER_CHANGED";
g_scriptEvents[183] = "PARTY_MEMBER_ENABLE";
g_scriptEvents[184] = "PARTY_MEMBER_DISABLE";
g_scriptEvents[185] = "PARTY_LOOT_METHOD_CHANGED";
g_scriptEvents[186] = "SYSMSG";
g_scriptEvents[187] = "UI_ERROR_MESSAGE";
g_scriptEvents[188] = "UI_INFO_MESSAGE";
g_scriptEvents[189] = "UPDATE_CHAT_COLOR";
g_scriptEvents[190] = "CHAT_MSG_ADDON";
g_scriptEvents[191] = "CHAT_MSG_SYSTEM";
g_scriptEvents[192] = "CHAT_MSG_SAY";
g_scriptEvents[193] = "CHAT_MSG_PARTY";
g_scriptEvents[194] = "CHAT_MSG_RAID";
g_scriptEvents[195] = "CHAT_MSG_GUILD";
g_scriptEvents[196] = "CHAT_MSG_OFFICER";
g_scriptEvents[197] = "CHAT_MSG_YELL";
g_scriptEvents[198] = "CHAT_MSG_WHISPER";
g_scriptEvents[199] = "CHAT_MSG_WHISPER_INFORM";
g_scriptEvents[200] = "CHAT_MSG_EMOTE";
g_scriptEvents[201] = "CHAT_MSG_TEXT_EMOTE";
g_scriptEvents[202] = "CHAT_MSG_MONSTER_SAY";
g_scriptEvents[203] = "CHAT_MSG_MONSTER_PARTY";
g_scriptEvents[204] = "CHAT_MSG_MONSTER_YELL";
g_scriptEvents[205] = "CHAT_MSG_MONSTER_WHISPER";
g_scriptEvents[206] = "CHAT_MSG_MONSTER_EMOTE";
g_scriptEvents[207] = "CHAT_MSG_CHANNEL";
g_scriptEvents[208] = "CHAT_MSG_CHANNEL_JOIN";
g_scriptEvents[209] = "CHAT_MSG_CHANNEL_LEAVE";
g_scriptEvents[210] = "CHAT_MSG_CHANNEL_LIST";
g_scriptEvents[211] = "CHAT_MSG_CHANNEL_NOTICE";
g_scriptEvents[212] = "CHAT_MSG_CHANNEL_NOTICE_USER";
g_scriptEvents[213] = "CHAT_MSG_AFK";
g_scriptEvents[214] = "CHAT_MSG_DND";
g_scriptEvents[215] = "CHAT_MSG_IGNORED";
g_scriptEvents[216] = "CHAT_MSG_SKILL";
g_scriptEvents[217] = "CHAT_MSG_LOOT";
g_scriptEvents[218] = "CHAT_MSG_MONEY";
g_scriptEvents[219] = "CHAT_MSG_OPENING";
g_scriptEvents[220] = "CHAT_MSG_TRADESKILLS";
g_scriptEvents[221] = "CHAT_MSG_PET_INFO";
g_scriptEvents[222] = "CHAT_MSG_COMBAT_MISC_INFO";
g_scriptEvents[223] = "CHAT_MSG_COMBAT_XP_GAIN";
g_scriptEvents[224] = "CHAT_MSG_COMBAT_HONOR_GAIN";
g_scriptEvents[225] = "CHAT_MSG_COMBAT_FACTION_CHANGE";
g_scriptEvents[226] = "CHAT_MSG_BG_SYSTEM_NEUTRAL";
g_scriptEvents[227] = "CHAT_MSG_BG_SYSTEM_ALLIANCE";
g_scriptEvents[228] = "CHAT_MSG_BG_SYSTEM_HORDE";
g_scriptEvents[229] = "CHAT_MSG_RAID_LEADER";
g_scriptEvents[230] = "CHAT_MSG_RAID_WARNING";
g_scriptEvents[231] = "CHAT_MSG_RAID_BOSS_WHISPER";
g_scriptEvents[232] = "CHAT_MSG_RAID_BOSS_EMOTE";
g_scriptEvents[233] = "CHAT_MSG_FILTERED";
g_scriptEvents[234] = "CHAT_MSG_BATTLEGROUND";
g_scriptEvents[235] = "CHAT_MSG_BATTLEGROUND_LEADER";
g_scriptEvents[236] = "CHAT_MSG_RESTRICTED";
// TODO
// g_scriptEvents[237] = &byte_9E14FF;
g_scriptEvents[238] = "CHAT_MSG_ACHIEVEMENT";
g_scriptEvents[239] = "CHAT_MSG_GUILD_ACHIEVEMENT";
g_scriptEvents[240] = "LANGUAGE_LIST_CHANGED";
g_scriptEvents[241] = "TIME_PLAYED_MSG";
g_scriptEvents[242] = "SPELLS_CHANGED";
g_scriptEvents[243] = "CURRENT_SPELL_CAST_CHANGED";
g_scriptEvents[244] = "SPELL_UPDATE_COOLDOWN";
g_scriptEvents[245] = "SPELL_UPDATE_USABLE";
g_scriptEvents[246] = "CHARACTER_POINTS_CHANGED";
g_scriptEvents[247] = "SKILL_LINES_CHANGED";
g_scriptEvents[248] = "ITEM_PUSH";
g_scriptEvents[249] = "LOOT_OPENED";
g_scriptEvents[250] = "LOOT_SLOT_CLEARED";
g_scriptEvents[251] = "LOOT_SLOT_CHANGED";
g_scriptEvents[252] = "LOOT_CLOSED";
g_scriptEvents[253] = "PLAYER_LOGIN";
g_scriptEvents[254] = "PLAYER_LOGOUT";
g_scriptEvents[255] = "PLAYER_ENTERING_WORLD";
g_scriptEvents[256] = "PLAYER_LEAVING_WORLD";
g_scriptEvents[257] = "PLAYER_ALIVE";
g_scriptEvents[258] = "PLAYER_DEAD";
g_scriptEvents[259] = "PLAYER_CAMPING";
g_scriptEvents[260] = "PLAYER_QUITING";
g_scriptEvents[261] = "LOGOUT_CANCEL";
g_scriptEvents[262] = "RESURRECT_REQUEST";
g_scriptEvents[263] = "PARTY_INVITE_REQUEST";
g_scriptEvents[264] = "PARTY_INVITE_CANCEL";
g_scriptEvents[265] = "GUILD_INVITE_REQUEST";
g_scriptEvents[266] = "GUILD_INVITE_CANCEL";
g_scriptEvents[267] = "GUILD_MOTD";
g_scriptEvents[268] = "TRADE_REQUEST";
g_scriptEvents[269] = "TRADE_REQUEST_CANCEL";
g_scriptEvents[270] = "LOOT_BIND_CONFIRM";
g_scriptEvents[271] = "EQUIP_BIND_CONFIRM";
g_scriptEvents[272] = "AUTOEQUIP_BIND_CONFIRM";
g_scriptEvents[273] = "USE_BIND_CONFIRM";
g_scriptEvents[274] = "DELETE_ITEM_CONFIRM";
g_scriptEvents[275] = "CURSOR_UPDATE";
g_scriptEvents[276] = "ITEM_TEXT_BEGIN";
g_scriptEvents[277] = "ITEM_TEXT_TRANSLATION";
g_scriptEvents[278] = "ITEM_TEXT_READY";
g_scriptEvents[279] = "ITEM_TEXT_CLOSED";
g_scriptEvents[280] = "GOSSIP_SHOW";
g_scriptEvents[281] = "GOSSIP_CONFIRM";
g_scriptEvents[282] = "GOSSIP_CONFIRM_CANCEL";
g_scriptEvents[283] = "GOSSIP_ENTER_CODE";
g_scriptEvents[284] = "GOSSIP_CLOSED";
g_scriptEvents[285] = "QUEST_GREETING";
g_scriptEvents[286] = "QUEST_DETAIL";
g_scriptEvents[287] = "QUEST_PROGRESS";
g_scriptEvents[288] = "QUEST_COMPLETE";
g_scriptEvents[289] = "QUEST_FINISHED";
g_scriptEvents[290] = "QUEST_ITEM_UPDATE";
g_scriptEvents[291] = "TAXIMAP_OPENED";
g_scriptEvents[292] = "TAXIMAP_CLOSED";
g_scriptEvents[293] = "QUEST_LOG_UPDATE";
g_scriptEvents[294] = "TRAINER_SHOW";
g_scriptEvents[295] = "TRAINER_UPDATE";
g_scriptEvents[296] = "TRAINER_DESCRIPTION_UPDATE";
g_scriptEvents[297] = "TRAINER_CLOSED";
g_scriptEvents[298] = "CVAR_UPDATE";
g_scriptEvents[299] = "TRADE_SKILL_SHOW";
g_scriptEvents[300] = "TRADE_SKILL_UPDATE";
g_scriptEvents[301] = "TRADE_SKILL_CLOSE";
g_scriptEvents[302] = "MERCHANT_SHOW";
g_scriptEvents[303] = "MERCHANT_UPDATE";
g_scriptEvents[304] = "MERCHANT_CLOSED";
g_scriptEvents[305] = "TRADE_SHOW";
g_scriptEvents[306] = "TRADE_CLOSED";
g_scriptEvents[307] = "TRADE_UPDATE";
g_scriptEvents[308] = "TRADE_ACCEPT_UPDATE";
g_scriptEvents[309] = "TRADE_TARGET_ITEM_CHANGED";
g_scriptEvents[310] = "TRADE_PLAYER_ITEM_CHANGED";
g_scriptEvents[311] = "TRADE_MONEY_CHANGED";
g_scriptEvents[312] = "PLAYER_TRADE_MONEY";
g_scriptEvents[313] = "BAG_OPEN";
g_scriptEvents[314] = "BAG_UPDATE";
g_scriptEvents[315] = "BAG_CLOSED";
g_scriptEvents[316] = "BAG_UPDATE_COOLDOWN";
g_scriptEvents[317] = "LOCALPLAYER_PET_RENAMED";
g_scriptEvents[318] = "UNIT_ATTACK";
g_scriptEvents[319] = "UNIT_DEFENSE";
g_scriptEvents[320] = "PET_ATTACK_START";
g_scriptEvents[321] = "PET_ATTACK_STOP";
g_scriptEvents[322] = "UPDATE_MOUSEOVER_UNIT";
g_scriptEvents[323] = "UNIT_SPELLCAST_SENT";
g_scriptEvents[324] = "UNIT_SPELLCAST_START";
g_scriptEvents[325] = "UNIT_SPELLCAST_STOP";
g_scriptEvents[326] = "UNIT_SPELLCAST_FAILED";
g_scriptEvents[327] = "UNIT_SPELLCAST_FAILED_QUIET";
g_scriptEvents[328] = "UNIT_SPELLCAST_INTERRUPTED";
g_scriptEvents[329] = "UNIT_SPELLCAST_DELAYED";
g_scriptEvents[330] = "UNIT_SPELLCAST_SUCCEEDED";
g_scriptEvents[331] = "UNIT_SPELLCAST_CHANNEL_START";
g_scriptEvents[332] = "UNIT_SPELLCAST_CHANNEL_UPDATE";
g_scriptEvents[333] = "UNIT_SPELLCAST_CHANNEL_STOP";
g_scriptEvents[334] = "UNIT_SPELLCAST_INTERRUPTIBLE";
g_scriptEvents[335] = "UNIT_SPELLCAST_NOT_INTERRUPTIBLE";
g_scriptEvents[336] = "PLAYER_GUILD_UPDATE";
g_scriptEvents[337] = "QUEST_ACCEPT_CONFIRM";
g_scriptEvents[338] = "PLAYERBANKSLOTS_CHANGED";
g_scriptEvents[339] = "BANKFRAME_OPENED";
g_scriptEvents[340] = "BANKFRAME_CLOSED";
g_scriptEvents[341] = "PLAYERBANKBAGSLOTS_CHANGED";
g_scriptEvents[342] = "FRIENDLIST_UPDATE";
g_scriptEvents[343] = "IGNORELIST_UPDATE";
g_scriptEvents[344] = "MUTELIST_UPDATE";
g_scriptEvents[345] = "PET_BAR_UPDATE";
g_scriptEvents[346] = "PET_BAR_UPDATE_COOLDOWN";
g_scriptEvents[347] = "PET_BAR_SHOWGRID";
g_scriptEvents[348] = "PET_BAR_HIDEGRID";
g_scriptEvents[349] = "PET_BAR_HIDE";
g_scriptEvents[350] = "PET_BAR_UPDATE_USABLE";
g_scriptEvents[351] = "MINIMAP_PING";
g_scriptEvents[352] = "MIRROR_TIMER_START";
g_scriptEvents[353] = "MIRROR_TIMER_PAUSE";
g_scriptEvents[354] = "MIRROR_TIMER_STOP";
g_scriptEvents[355] = "WORLD_MAP_UPDATE";
g_scriptEvents[356] = "WORLD_MAP_NAME_UPDATE";
g_scriptEvents[357] = "AUTOFOLLOW_BEGIN";
g_scriptEvents[358] = "AUTOFOLLOW_END";
g_scriptEvents[360] = "CINEMATIC_START";
g_scriptEvents[361] = "CINEMATIC_STOP";
g_scriptEvents[362] = "UPDATE_FACTION";
g_scriptEvents[363] = "CLOSE_WORLD_MAP";
g_scriptEvents[364] = "OPEN_TABARD_FRAME";
g_scriptEvents[365] = "CLOSE_TABARD_FRAME";
g_scriptEvents[366] = "TABARD_CANSAVE_CHANGED";
g_scriptEvents[367] = "GUILD_REGISTRAR_SHOW";
g_scriptEvents[368] = "GUILD_REGISTRAR_CLOSED";
g_scriptEvents[369] = "DUEL_REQUESTED";
g_scriptEvents[370] = "DUEL_OUTOFBOUNDS";
g_scriptEvents[371] = "DUEL_INBOUNDS";
g_scriptEvents[372] = "DUEL_FINISHED";
g_scriptEvents[373] = "TUTORIAL_TRIGGER";
g_scriptEvents[374] = "PET_DISMISS_START";
g_scriptEvents[375] = "UPDATE_BINDINGS";
g_scriptEvents[376] = "UPDATE_SHAPESHIFT_FORMS";
g_scriptEvents[377] = "UPDATE_SHAPESHIFT_FORM";
g_scriptEvents[378] = "UPDATE_SHAPESHIFT_USABLE";
g_scriptEvents[379] = "UPDATE_SHAPESHIFT_COOLDOWN";
g_scriptEvents[380] = "WHO_LIST_UPDATE";
g_scriptEvents[381] = "PETITION_SHOW";
g_scriptEvents[382] = "PETITION_CLOSED";
g_scriptEvents[383] = "EXECUTE_CHAT_LINE";
g_scriptEvents[384] = "UPDATE_MACROS";
g_scriptEvents[385] = "UPDATE_TICKET";
g_scriptEvents[386] = "UPDATE_CHAT_WINDOWS";
g_scriptEvents[387] = "CONFIRM_XP_LOSS";
g_scriptEvents[388] = "CORPSE_IN_RANGE";
g_scriptEvents[389] = "CORPSE_IN_INSTANCE";
g_scriptEvents[390] = "CORPSE_OUT_OF_RANGE";
g_scriptEvents[391] = "UPDATE_GM_STATUS";
g_scriptEvents[392] = "PLAYER_UNGHOST";
g_scriptEvents[393] = "BIND_ENCHANT";
g_scriptEvents[394] = "REPLACE_ENCHANT";
g_scriptEvents[395] = "TRADE_REPLACE_ENCHANT";
g_scriptEvents[396] = "TRADE_POTENTIAL_BIND_ENCHANT";
g_scriptEvents[397] = "PLAYER_UPDATE_RESTING";
g_scriptEvents[398] = "UPDATE_EXHAUSTION";
g_scriptEvents[399] = "PLAYER_FLAGS_CHANGED";
g_scriptEvents[400] = "GUILD_ROSTER_UPDATE";
g_scriptEvents[401] = "GM_PLAYER_INFO";
g_scriptEvents[402] = "MAIL_SHOW";
g_scriptEvents[403] = "MAIL_CLOSED";
g_scriptEvents[404] = "SEND_MAIL_MONEY_CHANGED";
g_scriptEvents[405] = "SEND_MAIL_COD_CHANGED";
g_scriptEvents[406] = "MAIL_SEND_INFO_UPDATE";
g_scriptEvents[407] = "MAIL_SEND_SUCCESS";
g_scriptEvents[408] = "MAIL_INBOX_UPDATE";
g_scriptEvents[409] = "MAIL_LOCK_SEND_ITEMS";
g_scriptEvents[410] = "MAIL_UNLOCK_SEND_ITEMS";
g_scriptEvents[411] = "BATTLEFIELDS_SHOW";
g_scriptEvents[412] = "BATTLEFIELDS_CLOSED";
g_scriptEvents[413] = "UPDATE_BATTLEFIELD_STATUS";
g_scriptEvents[414] = "UPDATE_BATTLEFIELD_SCORE";
g_scriptEvents[415] = "AUCTION_HOUSE_SHOW";
g_scriptEvents[416] = "AUCTION_HOUSE_CLOSED";
g_scriptEvents[417] = "NEW_AUCTION_UPDATE";
g_scriptEvents[418] = "AUCTION_ITEM_LIST_UPDATE";
g_scriptEvents[419] = "AUCTION_OWNED_LIST_UPDATE";
g_scriptEvents[420] = "AUCTION_BIDDER_LIST_UPDATE";
g_scriptEvents[421] = "PET_UI_UPDATE";
g_scriptEvents[422] = "PET_UI_CLOSE";
g_scriptEvents[423] = "ADDON_LOADED";
g_scriptEvents[424] = "VARIABLES_LOADED";
g_scriptEvents[425] = "MACRO_ACTION_FORBIDDEN";
g_scriptEvents[426] = "ADDON_ACTION_FORBIDDEN";
g_scriptEvents[427] = "MACRO_ACTION_BLOCKED";
g_scriptEvents[428] = "ADDON_ACTION_BLOCKED";
g_scriptEvents[429] = "START_AUTOREPEAT_SPELL";
g_scriptEvents[430] = "STOP_AUTOREPEAT_SPELL";
g_scriptEvents[431] = "PET_STABLE_SHOW";
g_scriptEvents[432] = "PET_STABLE_UPDATE";
g_scriptEvents[433] = "PET_STABLE_UPDATE_PAPERDOLL";
g_scriptEvents[434] = "PET_STABLE_CLOSED";
g_scriptEvents[435] = "RAID_ROSTER_UPDATE";
g_scriptEvents[436] = "UPDATE_PENDING_MAIL";
g_scriptEvents[437] = "UPDATE_INVENTORY_ALERTS";
g_scriptEvents[438] = "UPDATE_INVENTORY_DURABILITY";
g_scriptEvents[439] = "UPDATE_TRADESKILL_RECAST";
g_scriptEvents[440] = "OPEN_MASTER_LOOT_LIST";
g_scriptEvents[441] = "UPDATE_MASTER_LOOT_LIST";
g_scriptEvents[442] = "START_LOOT_ROLL";
g_scriptEvents[443] = "CANCEL_LOOT_ROLL";
g_scriptEvents[444] = "CONFIRM_LOOT_ROLL";
g_scriptEvents[445] = "CONFIRM_DISENCHANT_ROLL";
g_scriptEvents[446] = "INSTANCE_BOOT_START";
g_scriptEvents[447] = "INSTANCE_BOOT_STOP";
g_scriptEvents[448] = "LEARNED_SPELL_IN_TAB";
g_scriptEvents[449] = "DISPLAY_SIZE_CHANGED";
g_scriptEvents[450] = "CONFIRM_TALENT_WIPE";
g_scriptEvents[451] = "CONFIRM_BINDER";
g_scriptEvents[452] = "MAIL_FAILED";
g_scriptEvents[453] = "CLOSE_INBOX_ITEM";
g_scriptEvents[454] = "CONFIRM_SUMMON";
g_scriptEvents[455] = "CANCEL_SUMMON";
g_scriptEvents[456] = "BILLING_NAG_DIALOG";
g_scriptEvents[457] = "IGR_BILLING_NAG_DIALOG";
g_scriptEvents[458] = "PLAYER_SKINNED";
g_scriptEvents[459] = "TABARD_SAVE_PENDING";
g_scriptEvents[460] = "UNIT_QUEST_LOG_CHANGED";
g_scriptEvents[461] = "PLAYER_PVP_KILLS_CHANGED";
g_scriptEvents[462] = "PLAYER_PVP_RANK_CHANGED";
g_scriptEvents[463] = "INSPECT_HONOR_UPDATE";
g_scriptEvents[464] = "UPDATE_WORLD_STATES";
g_scriptEvents[465] = "AREA_SPIRIT_HEALER_IN_RANGE";
g_scriptEvents[466] = "AREA_SPIRIT_HEALER_OUT_OF_RANGE";
g_scriptEvents[467] = "PLAYTIME_CHANGED";
g_scriptEvents[468] = "UPDATE_LFG_TYPES";
g_scriptEvents[469] = "UPDATE_LFG_LIST";
g_scriptEvents[470] = "UPDATE_LFG_LIST_INCREMENTAL";
g_scriptEvents[471] = "START_MINIGAME";
g_scriptEvents[472] = "MINIGAME_UPDATE";
g_scriptEvents[473] = "READY_CHECK";
g_scriptEvents[474] = "READY_CHECK_CONFIRM";
g_scriptEvents[475] = "READY_CHECK_FINISHED";
g_scriptEvents[476] = "RAID_TARGET_UPDATE";
g_scriptEvents[477] = "GMSURVEY_DISPLAY";
g_scriptEvents[478] = "UPDATE_INSTANCE_INFO";
g_scriptEvents[479] = "SOCKET_INFO_UPDATE";
g_scriptEvents[480] = "SOCKET_INFO_CLOSE";
g_scriptEvents[481] = "PETITION_VENDOR_SHOW";
g_scriptEvents[482] = "PETITION_VENDOR_CLOSED";
g_scriptEvents[483] = "PETITION_VENDOR_UPDATE";
g_scriptEvents[484] = "COMBAT_TEXT_UPDATE";
g_scriptEvents[485] = "QUEST_WATCH_UPDATE";
g_scriptEvents[486] = "KNOWLEDGE_BASE_SETUP_LOAD_SUCCESS";
g_scriptEvents[487] = "KNOWLEDGE_BASE_SETUP_LOAD_FAILURE";
g_scriptEvents[488] = "KNOWLEDGE_BASE_QUERY_LOAD_SUCCESS";
g_scriptEvents[489] = "KNOWLEDGE_BASE_QUERY_LOAD_FAILURE";
g_scriptEvents[490] = "KNOWLEDGE_BASE_ARTICLE_LOAD_SUCCESS";
g_scriptEvents[491] = "KNOWLEDGE_BASE_ARTICLE_LOAD_FAILURE";
g_scriptEvents[492] = "KNOWLEDGE_BASE_SYSTEM_MOTD_UPDATED";
g_scriptEvents[493] = "KNOWLEDGE_BASE_SERVER_MESSAGE";
g_scriptEvents[494] = "ARENA_TEAM_UPDATE";
g_scriptEvents[495] = "ARENA_TEAM_ROSTER_UPDATE";
g_scriptEvents[496] = "ARENA_TEAM_INVITE_REQUEST";
g_scriptEvents[497] = "HONOR_CURRENCY_UPDATE";
g_scriptEvents[498] = "KNOWN_TITLES_UPDATE";
g_scriptEvents[499] = "NEW_TITLE_EARNED";
g_scriptEvents[500] = "OLD_TITLE_LOST";
g_scriptEvents[501] = "LFG_UPDATE";
g_scriptEvents[502] = "LFG_PROPOSAL_UPDATE";
g_scriptEvents[503] = "LFG_PROPOSAL_SHOW";
g_scriptEvents[504] = "LFG_PROPOSAL_FAILED";
g_scriptEvents[505] = "LFG_PROPOSAL_SUCCEEDED";
g_scriptEvents[506] = "LFG_ROLE_UPDATE";
g_scriptEvents[507] = "LFG_ROLE_CHECK_UPDATE";
g_scriptEvents[508] = "LFG_ROLE_CHECK_SHOW";
g_scriptEvents[509] = "LFG_ROLE_CHECK_HIDE";
g_scriptEvents[510] = "LFG_ROLE_CHECK_ROLE_CHOSEN";
g_scriptEvents[511] = "LFG_QUEUE_STATUS_UPDATE";
g_scriptEvents[512] = "LFG_BOOT_PROPOSAL_UPDATE";
g_scriptEvents[513] = "LFG_LOCK_INFO_RECEIVED";
g_scriptEvents[514] = "LFG_UPDATE_RANDOM_INFO";
g_scriptEvents[515] = "LFG_OFFER_CONTINUE";
g_scriptEvents[516] = "LFG_OPEN_FROM_GOSSIP";
g_scriptEvents[517] = "LFG_COMPLETION_REWARD";
g_scriptEvents[518] = "PARTY_LFG_RESTRICTED";
g_scriptEvents[519] = "PLAYER_ROLES_ASSIGNED";
g_scriptEvents[520] = "COMBAT_RATING_UPDATE";
g_scriptEvents[521] = "MODIFIER_STATE_CHANGED";
g_scriptEvents[522] = "UPDATE_STEALTH";
g_scriptEvents[523] = "ENABLE_TAXI_BENCHMARK";
g_scriptEvents[524] = "DISABLE_TAXI_BENCHMARK";
g_scriptEvents[525] = "VOICE_START";
g_scriptEvents[526] = "VOICE_STOP";
g_scriptEvents[527] = "VOICE_STATUS_UPDATE";
g_scriptEvents[528] = "VOICE_CHANNEL_STATUS_UPDATE";
g_scriptEvents[529] = "UPDATE_FLOATING_CHAT_WINDOWS";
g_scriptEvents[530] = "RAID_INSTANCE_WELCOME";
g_scriptEvents[531] = "MOVIE_RECORDING_PROGRESS";
g_scriptEvents[532] = "MOVIE_COMPRESSING_PROGRESS";
g_scriptEvents[533] = "MOVIE_UNCOMPRESSED_MOVIE";
g_scriptEvents[534] = "VOICE_PUSH_TO_TALK_START";
g_scriptEvents[535] = "VOICE_PUSH_TO_TALK_STOP";
g_scriptEvents[536] = "GUILDBANKFRAME_OPENED";
g_scriptEvents[537] = "GUILDBANKFRAME_CLOSED";
g_scriptEvents[538] = "GUILDBANKBAGSLOTS_CHANGED";
g_scriptEvents[539] = "GUILDBANK_ITEM_LOCK_CHANGED";
g_scriptEvents[540] = "GUILDBANK_UPDATE_TABS";
g_scriptEvents[541] = "GUILDBANK_UPDATE_MONEY";
g_scriptEvents[542] = "GUILDBANKLOG_UPDATE";
g_scriptEvents[543] = "GUILDBANK_UPDATE_WITHDRAWMONEY";
g_scriptEvents[544] = "GUILDBANK_UPDATE_TEXT";
g_scriptEvents[545] = "GUILDBANK_TEXT_CHANGED";
g_scriptEvents[546] = "CHANNEL_UI_UPDATE";
g_scriptEvents[547] = "CHANNEL_COUNT_UPDATE";
g_scriptEvents[548] = "CHANNEL_ROSTER_UPDATE";
g_scriptEvents[549] = "CHANNEL_VOICE_UPDATE";
g_scriptEvents[550] = "CHANNEL_INVITE_REQUEST";
g_scriptEvents[551] = "CHANNEL_PASSWORD_REQUEST";
g_scriptEvents[552] = "CHANNEL_FLAGS_UPDATED";
g_scriptEvents[553] = "VOICE_SESSIONS_UPDATE";
g_scriptEvents[554] = "VOICE_CHAT_ENABLED_UPDATE";
g_scriptEvents[555] = "VOICE_LEFT_SESSION";
g_scriptEvents[556] = "INSPECT_TALENT_READY";
g_scriptEvents[557] = "VOICE_SELF_MUTE";
g_scriptEvents[558] = "VOICE_PLATE_START";
g_scriptEvents[559] = "VOICE_PLATE_STOP";
g_scriptEvents[560] = "ARENA_SEASON_WORLD_STATE";
g_scriptEvents[561] = "GUILD_EVENT_LOG_UPDATE";
g_scriptEvents[562] = "GUILDTABARD_UPDATE";
g_scriptEvents[563] = "SOUND_DEVICE_UPDATE";
g_scriptEvents[564] = "COMMENTATOR_MAP_UPDATE";
g_scriptEvents[565] = "COMMENTATOR_ENTER_WORLD";
g_scriptEvents[566] = "COMBAT_LOG_EVENT";
g_scriptEvents[567] = "COMBAT_LOG_EVENT_UNFILTERED";
g_scriptEvents[568] = "COMMENTATOR_PLAYER_UPDATE";
g_scriptEvents[569] = "PLAYER_ENTERING_BATTLEGROUND";
g_scriptEvents[570] = "BARBER_SHOP_OPEN";
g_scriptEvents[571] = "BARBER_SHOP_CLOSE";
g_scriptEvents[572] = "BARBER_SHOP_SUCCESS";
g_scriptEvents[573] = "BARBER_SHOP_APPEARANCE_APPLIED";
g_scriptEvents[574] = "CALENDAR_UPDATE_INVITE_LIST";
g_scriptEvents[575] = "CALENDAR_UPDATE_EVENT_LIST";
g_scriptEvents[576] = "CALENDAR_NEW_EVENT";
g_scriptEvents[577] = "CALENDAR_OPEN_EVENT";
g_scriptEvents[578] = "CALENDAR_CLOSE_EVENT";
g_scriptEvents[579] = "CALENDAR_UPDATE_EVENT";
g_scriptEvents[580] = "CALENDAR_UPDATE_PENDING_INVITES";
g_scriptEvents[581] = "CALENDAR_EVENT_ALARM";
g_scriptEvents[582] = "CALENDAR_UPDATE_ERROR";
g_scriptEvents[583] = "CALENDAR_ACTION_PENDING";
g_scriptEvents[584] = "VEHICLE_ANGLE_SHOW";
g_scriptEvents[585] = "VEHICLE_ANGLE_UPDATE";
g_scriptEvents[586] = "VEHICLE_POWER_SHOW";
g_scriptEvents[587] = "UNIT_ENTERING_VEHICLE";
g_scriptEvents[588] = "UNIT_ENTERED_VEHICLE";
g_scriptEvents[589] = "UNIT_EXITING_VEHICLE";
g_scriptEvents[590] = "UNIT_EXITED_VEHICLE";
g_scriptEvents[591] = "VEHICLE_PASSENGERS_CHANGED";
g_scriptEvents[592] = "PLAYER_GAINS_VEHICLE_DATA";
g_scriptEvents[593] = "PLAYER_LOSES_VEHICLE_DATA";
g_scriptEvents[594] = "PET_FORCE_NAME_DECLENSION";
g_scriptEvents[595] = "LEVEL_GRANT_PROPOSED";
g_scriptEvents[596] = "SYNCHRONIZE_SETTINGS";
g_scriptEvents[597] = "PLAY_MOVIE";
g_scriptEvents[598] = "RUNE_POWER_UPDATE";
g_scriptEvents[599] = "RUNE_TYPE_UPDATE";
g_scriptEvents[600] = "ACHIEVEMENT_EARNED";
g_scriptEvents[601] = "CRITERIA_UPDATE";
g_scriptEvents[602] = "RECEIVED_ACHIEVEMENT_LIST";
g_scriptEvents[603] = "PET_RENAMEABLE";
g_scriptEvents[604] = "KNOWN_CURRENCY_TYPES_UPDATE";
g_scriptEvents[605] = "CURRENCY_DISPLAY_UPDATE";
g_scriptEvents[606] = "COMPANION_LEARNED";
g_scriptEvents[607] = "COMPANION_UNLEARNED";
g_scriptEvents[608] = "COMPANION_UPDATE";
g_scriptEvents[609] = "UNIT_THREAT_LIST_UPDATE";
g_scriptEvents[610] = "UNIT_THREAT_SITUATION_UPDATE";
g_scriptEvents[611] = "GLYPH_ADDED";
g_scriptEvents[612] = "GLYPH_REMOVED";
g_scriptEvents[613] = "GLYPH_UPDATED";
g_scriptEvents[614] = "GLYPH_ENABLED";
g_scriptEvents[615] = "GLYPH_DISABLED";
g_scriptEvents[616] = "USE_GLYPH";
g_scriptEvents[617] = "TRACKED_ACHIEVEMENT_UPDATE";
g_scriptEvents[618] = "ARENA_OPPONENT_UPDATE";
g_scriptEvents[619] = "INSPECT_ACHIEVEMENT_READY";
g_scriptEvents[620] = "RAISED_AS_GHOUL";
g_scriptEvents[621] = "PARTY_CONVERTED_TO_RAID";
g_scriptEvents[622] = "PVPQUEUE_ANYWHERE_SHOW";
g_scriptEvents[623] = "PVPQUEUE_ANYWHERE_UPDATE_AVAILABLE";
g_scriptEvents[624] = "QUEST_ACCEPTED";
g_scriptEvents[625] = "PLAYER_TALENT_UPDATE";
g_scriptEvents[626] = "ACTIVE_TALENT_GROUP_CHANGED";
g_scriptEvents[627] = "PET_TALENT_UPDATE";
g_scriptEvents[628] = "PREVIEW_TALENT_POINTS_CHANGED";
g_scriptEvents[629] = "PREVIEW_PET_TALENT_POINTS_CHANGED";
g_scriptEvents[630] = "WEAR_EQUIPMENT_SET";
g_scriptEvents[631] = "EQUIPMENT_SETS_CHANGED";
g_scriptEvents[632] = "INSTANCE_LOCK_START";
g_scriptEvents[633] = "INSTANCE_LOCK_STOP";
g_scriptEvents[634] = "PLAYER_EQUIPMENT_CHANGED";
g_scriptEvents[635] = "ITEM_LOCKED";
g_scriptEvents[636] = "ITEM_UNLOCKED";
g_scriptEvents[637] = "TRADE_SKILL_FILTER_UPDATE";
g_scriptEvents[638] = "EQUIPMENT_SWAP_PENDING";
g_scriptEvents[639] = "EQUIPMENT_SWAP_FINISHED";
g_scriptEvents[640] = "NPC_PVPQUEUE_ANYWHERE";
g_scriptEvents[641] = "UPDATE_MULTI_CAST_ACTIONBAR";
g_scriptEvents[642] = "ENABLE_XP_GAIN";
g_scriptEvents[643] = "DISABLE_XP_GAIN";
g_scriptEvents[644] = "BATTLEFIELD_MGR_ENTRY_INVITE";
g_scriptEvents[645] = "BATTLEFIELD_MGR_ENTERED";
g_scriptEvents[646] = "BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE";
g_scriptEvents[647] = "BATTLEFIELD_MGR_EJECT_PENDING";
g_scriptEvents[648] = "BATTLEFIELD_MGR_EJECTED";
g_scriptEvents[649] = "BATTLEFIELD_MGR_QUEUE_INVITE";
g_scriptEvents[650] = "BATTLEFIELD_MGR_STATE_CHANGE";
g_scriptEvents[651] = "WORLD_STATE_UI_TIMER_UPDATE";
g_scriptEvents[652] = "END_REFUND";
g_scriptEvents[653] = "END_BOUND_TRADEABLE";
g_scriptEvents[654] = "UPDATE_CHAT_COLOR_NAME_BY_CLASS";
g_scriptEvents[655] = "GMRESPONSE_RECEIVED";
g_scriptEvents[656] = "VEHICLE_UPDATE";
g_scriptEvents[657] = "WOW_MOUSE_NOT_FOUND";
g_scriptEvents[659] = "MAIL_SUCCESS";
g_scriptEvents[660] = "TALENTS_INVOLUNTARILY_RESET";
g_scriptEvents[661] = "INSTANCE_ENCOUNTER_ENGAGE_UNIT";
g_scriptEvents[662] = "QUEST_QUERY_COMPLETE";
g_scriptEvents[663] = "QUEST_POI_UPDATE";
g_scriptEvents[664] = "PLAYER_DIFFICULTY_CHANGED";
g_scriptEvents[665] = "CHAT_MSG_PARTY_LEADER";
g_scriptEvents[666] = "VOTE_KICK_REASON_NEEDED";
g_scriptEvents[667] = "ENABLE_LOW_LEVEL_RAID";
g_scriptEvents[668] = "DISABLE_LOW_LEVEL_RAID";
g_scriptEvents[669] = "CHAT_MSG_TARGETICONS";
g_scriptEvents[670] = "AUCTION_HOUSE_DISABLED";
g_scriptEvents[671] = "AUCTION_MULTISELL_START";
g_scriptEvents[672] = "AUCTION_MULTISELL_UPDATE";
g_scriptEvents[673] = "AUCTION_MULTISELL_FAILURE";
g_scriptEvents[674] = "PET_SPELL_POWER_UPDATE";
g_scriptEvents[675] = "BN_CONNECTED";
g_scriptEvents[676] = "BN_DISCONNECTED";
g_scriptEvents[677] = "BN_SELF_ONLINE";
g_scriptEvents[678] = "BN_SELF_OFFLINE";
g_scriptEvents[679] = "BN_FRIEND_LIST_SIZE_CHANGED";
g_scriptEvents[680] = "BN_FRIEND_INVITE_LIST_INITIALIZED";
g_scriptEvents[681] = "BN_FRIEND_INVITE_SEND_RESULT";
g_scriptEvents[682] = "BN_FRIEND_INVITE_ADDED";
g_scriptEvents[683] = "BN_FRIEND_INVITE_REMOVED";
g_scriptEvents[684] = "BN_FRIEND_INFO_CHANGED";
g_scriptEvents[685] = "BN_CUSTOM_MESSAGE_CHANGED";
g_scriptEvents[686] = "BN_CUSTOM_MESSAGE_LOADED";
g_scriptEvents[687] = "CHAT_MSG_BN_WHISPER";
g_scriptEvents[688] = "CHAT_MSG_BN_WHISPER_INFORM";
g_scriptEvents[689] = "BN_CHAT_WHISPER_UNDELIVERABLE";
g_scriptEvents[690] = "BN_CHAT_CHANNEL_JOINED";
g_scriptEvents[691] = "BN_CHAT_CHANNEL_LEFT";
g_scriptEvents[692] = "BN_CHAT_CHANNEL_CLOSED";
g_scriptEvents[693] = "CHAT_MSG_BN_CONVERSATION";
g_scriptEvents[694] = "CHAT_MSG_BN_CONVERSATION_NOTICE";
g_scriptEvents[695] = "CHAT_MSG_BN_CONVERSATION_LIST";
g_scriptEvents[696] = "BN_CHAT_CHANNEL_MESSAGE_UNDELIVERABLE";
g_scriptEvents[697] = "BN_CHAT_CHANNEL_MESSAGE_BLOCKED";
g_scriptEvents[698] = "BN_CHAT_CHANNEL_MEMBER_JOINED";
g_scriptEvents[699] = "BN_CHAT_CHANNEL_MEMBER_LEFT";
g_scriptEvents[700] = "BN_CHAT_CHANNEL_MEMBER_UPDATED";
g_scriptEvents[701] = "BN_CHAT_CHANNEL_CREATE_SUCCEEDED";
g_scriptEvents[702] = "BN_CHAT_CHANNEL_CREATE_FAILED";
g_scriptEvents[703] = "BN_CHAT_CHANNEL_INVITE_SUCCEEDED";
g_scriptEvents[704] = "BN_CHAT_CHANNEL_INVITE_FAILED";
g_scriptEvents[705] = "BN_BLOCK_LIST_UPDATED";
g_scriptEvents[706] = "BN_SYSTEM_MESSAGE";
g_scriptEvents[707] = "BN_REQUEST_FOF_SUCCEEDED";
g_scriptEvents[708] = "BN_REQUEST_FOF_FAILED";
g_scriptEvents[709] = "BN_NEW_PRESENCE";
g_scriptEvents[710] = "BN_TOON_NAME_UPDATED";
g_scriptEvents[711] = "BN_FRIEND_ACCOUNT_ONLINE";
g_scriptEvents[712] = "BN_FRIEND_ACCOUNT_OFFLINE";
g_scriptEvents[713] = "BN_FRIEND_TOON_ONLINE";
g_scriptEvents[714] = "BN_FRIEND_TOON_OFFLINE";
g_scriptEvents[715] = "BN_MATURE_LANGUAGE_FILTER";
g_scriptEvents[716] = "COMMENTATOR_SKIRMISH_QUEUE_REQUEST";
g_scriptEvents[717] = "COMMENTATOR_SKIRMISH_MODE_REQUEST";
g_scriptEvents[718] = "CHAT_MSG_BN_INLINE_TOAST_ALERT";
g_scriptEvents[719] = "CHAT_MSG_BN_INLINE_TOAST_BROADCAST";
g_scriptEvents[720] = "CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM";
g_scriptEvents[721] = "CHAT_MSG_BN_INLINE_TOAST_CONVERSATION";
}

View File

@ -40,7 +40,6 @@ class FrameScript_EventObject : public TSHashObject<FrameScript_EventObject, HAS
};
extern int32_t g_glueFrameScriptGenders[UNITSEX_LAST];
extern const char* g_scriptEvents[722];
namespace FrameScript {
extern void* s_mempool;
@ -103,6 +102,4 @@ void FrameScript_UnregisterFunction(const char* name);
void FrameScript_UnregisterScriptEvent(FrameScript_Object* object, FrameScript_EventObject* event);
void ScriptEventsInitialize();
#endif

View File

@ -3,5 +3,7 @@
#include "ui/game/CGGameUI.hpp"
#include "ui/game/CGPetInfo.hpp"
#include "ui/game/ScriptEvents.hpp"
#include "ui/game/Types.hpp"
#endif

View File

@ -1,5 +1,6 @@
#include "ui/game/CGGameUI.hpp"
#include "client/Client.hpp"
#include "object/Client.hpp"
#include "ui/CScriptObject.hpp"
#include "ui/FrameXML.hpp"
#include "ui/Key.hpp"
@ -17,14 +18,18 @@
#include "ui/game/GMTicketInfoScript.hpp"
#include "ui/game/GameScript.hpp"
#include "ui/game/ScriptEvents.hpp"
#include "ui/game/Types.hpp"
#include "ui/game/UIBindingsScript.hpp"
#include "ui/simple/CSimpleTop.hpp"
#include "util/CStatus.hpp"
#include <common/MD5.hpp>
WOWGUID CGGameUI::s_currentObjectTrack;
uint32_t CGGameUI::s_cursorMoney;
CScriptObject* CGGameUI::s_gameTooltip;
bool CGGameUI::s_inWorld;
WOWGUID CGGameUI::s_lockedTarget;
bool CGGameUI::s_loggingIn;
CSimpleTop* CGGameUI::s_simpleTop;
void LoadScriptFunctions() {
@ -64,10 +69,36 @@ void LoadScriptFunctions() {
// TODO
}
void CGGameUI::EnterWorld() {
if (CGGameUI::s_inWorld) {
return;
}
CGGameUI::s_inWorld = true;
// TODO
if (CGGameUI::s_loggingIn) {
CGGameUI::s_loggingIn = false;
FrameScript_SignalEvent(SCRIPT_PLAYER_LOGIN, nullptr);
// TODO CGLCD::Login();
}
FrameScript_SignalEvent(SCRIPT_PLAYER_ENTERING_WORLD, nullptr);
// TODO
}
WOWGUID& CGGameUI::GetCurrentObjectTrack() {
return CGGameUI::s_currentObjectTrack;
}
uint32_t CGGameUI::GetCursorMoney() {
return CGGameUI::s_cursorMoney;
}
WOWGUID& CGGameUI::GetLockedTarget() {
return CGGameUI::s_lockedTarget;
}
@ -75,11 +106,16 @@ WOWGUID& CGGameUI::GetLockedTarget() {
void CGGameUI::Initialize() {
// TODO
CGGameUI::s_loggingIn = true;
// TODO
CGGameUI::s_simpleTop = STORM_NEW(CSimpleTop);
// TODO
LoadScriptFunctions();
ScriptEventsRegisterEvents();
// TODO
@ -149,6 +185,12 @@ void CGGameUI::Initialize() {
STORM_ASSERT(CGGameUI::s_gameTooltip);
// TODO
if (ClntObjMgrGetActivePlayer()) {
CGGameUI::EnterWorld();
}
// TODO
}
void CGGameUI::InitializeGame() {
@ -159,6 +201,10 @@ void CGGameUI::InitializeGame() {
// TODO
}
bool CGGameUI::IsLoggingIn() {
return CGGameUI::s_loggingIn;
}
int32_t CGGameUI::IsRaidMember(const WOWGUID& guid) {
// TODO

View File

@ -13,17 +13,23 @@ class CGGameUI {
static CSimpleTop* s_simpleTop;
// Static functions
static void EnterWorld();
static WOWGUID& GetCurrentObjectTrack();
static uint32_t GetCursorMoney();
static WOWGUID& GetLockedTarget();
static void Initialize();
static void InitializeGame();
static bool IsLoggingIn();
static int32_t IsRaidMember(const WOWGUID& guid);
static int32_t IsRaidMemberOrPet(const WOWGUID& guid);
static void RegisterFrameFactories();
private:
static WOWGUID s_currentObjectTrack;
static uint32_t s_cursorMoney;
static bool s_inWorld;
static WOWGUID s_lockedTarget;
static bool s_loggingIn;
};
#endif

View File

@ -1,11 +1,48 @@
#include "ui/game/CharacterInfoScript.hpp"
#include "db/Db.hpp"
#include "ui/FrameScript.hpp"
#include "util/Lua.hpp"
#include "util/Unimplemented.hpp"
namespace {
int32_t Script_GetInventorySlotInfo(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
if (!lua_isstring(L, 1)) {
luaL_error(L, "Invalid inventory slot in GetInventorySlotInfo");
return 0;
}
auto slotName = lua_tostring(L, 1);
PaperDollItemFrameRec* slotRec = nullptr;
for (int32_t i = 0; i < g_paperDollItemFrameDB.GetNumRecords(); i++) {
auto paperDollItemFrameRec = g_paperDollItemFrameDB.GetRecordByIndex(i);
if (paperDollItemFrameRec && !SStrCmpI(slotName, paperDollItemFrameRec->m_itemButtonName)) {
slotRec = paperDollItemFrameRec;
break;
}
}
if (!slotRec) {
luaL_error(L, "Invalid inventory slot in GetInventorySlotInfo");
return 0;
}
// id
lua_pushnumber(L, slotRec->m_slotNumber);
// textureName
lua_pushstring(L, slotRec->m_slotIcon);
// checkRelic
if (slotRec->m_slotNumber == EQUIPPED_LAST) {
lua_pushnumber(L, 1.0);
} else {
lua_pushnil(L);
}
return 3;
}
int32_t Script_GetInventoryItemsForSlot(lua_State* L) {

View File

@ -3,6 +3,7 @@
#include "gx/Coordinate.hpp"
#include "ui/FrameScript.hpp"
#include "ui/ScriptFunctionsShared.hpp"
#include "ui/game/CGGameUI.hpp"
#include "ui/simple/CSimpleTop.hpp"
#include "util/StringTo.hpp"
#include "util/Unimplemented.hpp"
@ -502,7 +503,9 @@ int32_t Script_ForceQuit(lua_State* L) {
}
int32_t Script_GetCursorMoney(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
lua_pushnumber(L, CGGameUI::GetCursorMoney());
return 1;
}
int32_t Script_DropCursorMoney(lua_State* L) {

View File

@ -5,11 +5,16 @@
#include "ui/ScriptFunctionsSystem.hpp"
#include "ui/game/CGGameUI.hpp"
#include "ui/game/ScriptUtil.hpp"
#include "ui/game/Types.hpp"
#include "util/GUID.hpp"
#include "util/Lua.hpp"
#include "util/StringTo.hpp"
#include "util/Unimplemented.hpp"
#define NUM_SCRIPT_EVENTS 722
const char* g_scriptEvents[NUM_SCRIPT_EVENTS];
namespace {
int32_t Script_UnitExists(lua_State* L) {
@ -173,11 +178,43 @@ int32_t Script_UnitPVPName(lua_State* L) {
}
int32_t Script_UnitXP(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
if (!lua_isstring(L, 1)) {
luaL_error(L, "Usage: UnitXP(\"unit\")");
return 0;
}
auto name = lua_tostring(L, 1);
auto unit = Script_GetUnitFromName(name);
float xp = 0.0f;
if (unit && unit->IsA(TYPE_PLAYER)) {
xp = static_cast<CGPlayer_C*>(unit)->GetXP();
}
lua_pushnumber(L, xp);
return 1;
}
int32_t Script_UnitXPMax(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
if (!lua_isstring(L, 1)) {
luaL_error(L, "Usage: UnitXPMax(\"unit\")");
return 0;
}
auto name = lua_tostring(L, 1);
auto unit = Script_GetUnitFromName(name);
float xpMax = 0.0f;
if (unit && unit->IsA(TYPE_PLAYER)) {
xpMax = static_cast<CGPlayer_C*>(unit)->GetNextLevelXP();
}
lua_pushnumber(L, xpMax);
return 1;
}
int32_t Script_UnitHealth(lua_State* L) {
@ -245,7 +282,15 @@ int32_t Script_UnitLevel(lua_State* L) {
}
int32_t Script_GetMoney(lua_State* L) {
WHOA_UNIMPLEMENTED(0);
auto player = CGPlayer_C::GetActivePtr();
if (player) {
lua_pushnumber(L, player->GetMoney());
} else {
lua_pushnumber(L, 0.0f);
}
return 1;
}
int32_t Script_GetHonorCurrency(lua_State* L) {
@ -915,3 +960,657 @@ void ScriptEventsRegisterFunctions() {
FrameScript_RegisterFunction(func.name, func.method);
}
}
void ScriptEventsInitialize() {
g_scriptEvents[0] = "UNIT_PET";
g_scriptEvents[2] = "UNIT_PET";
g_scriptEvents[12] = "UNIT_TARGET";
g_scriptEvents[17] = "UNIT_DISPLAYPOWER";
g_scriptEvents[18] = "UNIT_HEALTH";
g_scriptEvents[19] = "UNIT_MANA";
g_scriptEvents[20] = "UNIT_RAGE";
g_scriptEvents[21] = "UNIT_FOCUS";
g_scriptEvents[22] = "UNIT_ENERGY";
g_scriptEvents[23] = "UNIT_HAPPINESS";
g_scriptEvents[25] = "UNIT_RUNIC_POWER";
g_scriptEvents[26] = "UNIT_MAXHEALTH";
g_scriptEvents[27] = "UNIT_MAXMANA";
g_scriptEvents[28] = "UNIT_MAXRAGE";
g_scriptEvents[29] = "UNIT_MAXFOCUS";
g_scriptEvents[30] = "UNIT_MAXENERGY";
g_scriptEvents[31] = "UNIT_MAXHAPPINESS";
g_scriptEvents[33] = "UNIT_MAXRUNIC_POWER";
g_scriptEvents[48] = "UNIT_LEVEL";
g_scriptEvents[49] = "UNIT_FACTION";
g_scriptEvents[53] = "UNIT_FLAGS";
g_scriptEvents[54] = "UNIT_FLAGS";
g_scriptEvents[56] = "UNIT_ATTACK_SPEED";
g_scriptEvents[57] = "UNIT_ATTACK_SPEED";
g_scriptEvents[58] = "UNIT_RANGEDDAMAGE";
g_scriptEvents[64] = "UNIT_DAMAGE";
g_scriptEvents[65] = "UNIT_DAMAGE";
g_scriptEvents[66] = "UNIT_DAMAGE";
g_scriptEvents[67] = "UNIT_DAMAGE";
g_scriptEvents[71] = "UNIT_PET_EXPERIENCE";
g_scriptEvents[72] = "UNIT_PET_EXPERIENCE";
g_scriptEvents[73] = "UNIT_DYNAMIC_FLAGS";
g_scriptEvents[78] = "UNIT_STATS";
g_scriptEvents[79] = "UNIT_STATS";
g_scriptEvents[80] = "UNIT_STATS";
g_scriptEvents[81] = "UNIT_STATS";
g_scriptEvents[82] = "UNIT_STATS";
g_scriptEvents[93] = "UNIT_RESISTANCES";
g_scriptEvents[94] = "UNIT_RESISTANCES";
g_scriptEvents[95] = "UNIT_RESISTANCES";
g_scriptEvents[96] = "UNIT_RESISTANCES";
g_scriptEvents[97] = "UNIT_RESISTANCES";
g_scriptEvents[98] = "UNIT_RESISTANCES";
g_scriptEvents[99] = "UNIT_RESISTANCES";
g_scriptEvents[100] = "UNIT_RESISTANCES";
g_scriptEvents[101] = "UNIT_RESISTANCES";
g_scriptEvents[102] = "UNIT_RESISTANCES";
g_scriptEvents[103] = "UNIT_RESISTANCES";
g_scriptEvents[104] = "UNIT_RESISTANCES";
g_scriptEvents[105] = "UNIT_RESISTANCES";
g_scriptEvents[106] = "UNIT_RESISTANCES";
g_scriptEvents[107] = "UNIT_RESISTANCES";
g_scriptEvents[108] = "UNIT_RESISTANCES";
g_scriptEvents[109] = "UNIT_RESISTANCES";
g_scriptEvents[110] = "UNIT_RESISTANCES";
g_scriptEvents[111] = "UNIT_RESISTANCES";
g_scriptEvents[112] = "UNIT_RESISTANCES";
g_scriptEvents[113] = "UNIT_RESISTANCES";
g_scriptEvents[117] = "UNIT_ATTACK_POWER";
g_scriptEvents[118] = "UNIT_ATTACK_POWER";
g_scriptEvents[119] = "UNIT_ATTACK_POWER";
g_scriptEvents[120] = "UNIT_RANGED_ATTACK_POWER";
g_scriptEvents[121] = "UNIT_RANGED_ATTACK_POWER";
g_scriptEvents[122] = "UNIT_RANGED_ATTACK_POWER";
g_scriptEvents[123] = "UNIT_RANGEDDAMAGE";
g_scriptEvents[124] = "UNIT_RANGEDDAMAGE";
g_scriptEvents[125] = "UNIT_MANA";
g_scriptEvents[132] = "UNIT_MANA";
g_scriptEvents[139] = "UNIT_STATS";
g_scriptEvents[142] = "UNIT_AURA";
g_scriptEvents[143] = "UNIT_COMBAT";
g_scriptEvents[144] = "UNIT_NAME_UPDATE";
g_scriptEvents[145] = "UNIT_PORTRAIT_UPDATE";
g_scriptEvents[146] = "UNIT_MODEL_CHANGED";
g_scriptEvents[147] = "UNIT_INVENTORY_CHANGED";
g_scriptEvents[148] = "UNIT_CLASSIFICATION_CHANGED";
g_scriptEvents[149] = "UNIT_COMBO_POINTS";
g_scriptEvents[150] = "ITEM_LOCK_CHANGED";
g_scriptEvents[151] = "PLAYER_XP_UPDATE";
g_scriptEvents[152] = "PLAYER_REGEN_DISABLED";
g_scriptEvents[153] = "PLAYER_REGEN_ENABLED";
g_scriptEvents[154] = "PLAYER_AURAS_CHANGED";
g_scriptEvents[155] = "PLAYER_ENTER_COMBAT";
g_scriptEvents[156] = "PLAYER_LEAVE_COMBAT";
g_scriptEvents[157] = "PLAYER_TARGET_CHANGED";
g_scriptEvents[158] = "PLAYER_FOCUS_CHANGED";
g_scriptEvents[159] = "PLAYER_CONTROL_LOST";
g_scriptEvents[160] = "PLAYER_CONTROL_GAINED";
g_scriptEvents[161] = "PLAYER_FARSIGHT_FOCUS_CHANGED";
g_scriptEvents[162] = "PLAYER_LEVEL_UP";
g_scriptEvents[163] = "PLAYER_MONEY";
g_scriptEvents[164] = "PLAYER_DAMAGE_DONE_MODS";
g_scriptEvents[165] = "PLAYER_TOTEM_UPDATE";
g_scriptEvents[166] = "ZONE_CHANGED";
g_scriptEvents[167] = "ZONE_CHANGED_INDOORS";
g_scriptEvents[168] = "ZONE_CHANGED_NEW_AREA";
g_scriptEvents[169] = "MINIMAP_UPDATE_ZOOM";
g_scriptEvents[170] = "MINIMAP_UPDATE_TRACKING";
g_scriptEvents[171] = "SCREENSHOT_SUCCEEDED";
g_scriptEvents[172] = "SCREENSHOT_FAILED";
g_scriptEvents[173] = "ACTIONBAR_SHOWGRID";
g_scriptEvents[174] = "ACTIONBAR_HIDEGRID";
g_scriptEvents[175] = "ACTIONBAR_PAGE_CHANGED";
g_scriptEvents[SCRIPT_ACTIONBAR_SLOT_CHANGED] = "ACTIONBAR_SLOT_CHANGED";
g_scriptEvents[177] = "ACTIONBAR_UPDATE_STATE";
g_scriptEvents[178] = "ACTIONBAR_UPDATE_USABLE";
g_scriptEvents[179] = "ACTIONBAR_UPDATE_COOLDOWN";
g_scriptEvents[180] = "UPDATE_BONUS_ACTIONBAR";
g_scriptEvents[181] = "PARTY_MEMBERS_CHANGED";
g_scriptEvents[182] = "PARTY_LEADER_CHANGED";
g_scriptEvents[183] = "PARTY_MEMBER_ENABLE";
g_scriptEvents[184] = "PARTY_MEMBER_DISABLE";
g_scriptEvents[185] = "PARTY_LOOT_METHOD_CHANGED";
g_scriptEvents[186] = "SYSMSG";
g_scriptEvents[187] = "UI_ERROR_MESSAGE";
g_scriptEvents[188] = "UI_INFO_MESSAGE";
g_scriptEvents[189] = "UPDATE_CHAT_COLOR";
g_scriptEvents[190] = "CHAT_MSG_ADDON";
g_scriptEvents[191] = "CHAT_MSG_SYSTEM";
g_scriptEvents[192] = "CHAT_MSG_SAY";
g_scriptEvents[193] = "CHAT_MSG_PARTY";
g_scriptEvents[194] = "CHAT_MSG_RAID";
g_scriptEvents[195] = "CHAT_MSG_GUILD";
g_scriptEvents[196] = "CHAT_MSG_OFFICER";
g_scriptEvents[197] = "CHAT_MSG_YELL";
g_scriptEvents[198] = "CHAT_MSG_WHISPER";
g_scriptEvents[199] = "CHAT_MSG_WHISPER_INFORM";
g_scriptEvents[200] = "CHAT_MSG_EMOTE";
g_scriptEvents[201] = "CHAT_MSG_TEXT_EMOTE";
g_scriptEvents[202] = "CHAT_MSG_MONSTER_SAY";
g_scriptEvents[203] = "CHAT_MSG_MONSTER_PARTY";
g_scriptEvents[204] = "CHAT_MSG_MONSTER_YELL";
g_scriptEvents[205] = "CHAT_MSG_MONSTER_WHISPER";
g_scriptEvents[206] = "CHAT_MSG_MONSTER_EMOTE";
g_scriptEvents[207] = "CHAT_MSG_CHANNEL";
g_scriptEvents[208] = "CHAT_MSG_CHANNEL_JOIN";
g_scriptEvents[209] = "CHAT_MSG_CHANNEL_LEAVE";
g_scriptEvents[210] = "CHAT_MSG_CHANNEL_LIST";
g_scriptEvents[211] = "CHAT_MSG_CHANNEL_NOTICE";
g_scriptEvents[212] = "CHAT_MSG_CHANNEL_NOTICE_USER";
g_scriptEvents[213] = "CHAT_MSG_AFK";
g_scriptEvents[214] = "CHAT_MSG_DND";
g_scriptEvents[215] = "CHAT_MSG_IGNORED";
g_scriptEvents[216] = "CHAT_MSG_SKILL";
g_scriptEvents[217] = "CHAT_MSG_LOOT";
g_scriptEvents[218] = "CHAT_MSG_MONEY";
g_scriptEvents[219] = "CHAT_MSG_OPENING";
g_scriptEvents[220] = "CHAT_MSG_TRADESKILLS";
g_scriptEvents[221] = "CHAT_MSG_PET_INFO";
g_scriptEvents[222] = "CHAT_MSG_COMBAT_MISC_INFO";
g_scriptEvents[223] = "CHAT_MSG_COMBAT_XP_GAIN";
g_scriptEvents[224] = "CHAT_MSG_COMBAT_HONOR_GAIN";
g_scriptEvents[225] = "CHAT_MSG_COMBAT_FACTION_CHANGE";
g_scriptEvents[226] = "CHAT_MSG_BG_SYSTEM_NEUTRAL";
g_scriptEvents[227] = "CHAT_MSG_BG_SYSTEM_ALLIANCE";
g_scriptEvents[228] = "CHAT_MSG_BG_SYSTEM_HORDE";
g_scriptEvents[229] = "CHAT_MSG_RAID_LEADER";
g_scriptEvents[230] = "CHAT_MSG_RAID_WARNING";
g_scriptEvents[231] = "CHAT_MSG_RAID_BOSS_WHISPER";
g_scriptEvents[232] = "CHAT_MSG_RAID_BOSS_EMOTE";
g_scriptEvents[233] = "CHAT_MSG_FILTERED";
g_scriptEvents[234] = "CHAT_MSG_BATTLEGROUND";
g_scriptEvents[235] = "CHAT_MSG_BATTLEGROUND_LEADER";
g_scriptEvents[236] = "CHAT_MSG_RESTRICTED";
g_scriptEvents[237] = "";
g_scriptEvents[238] = "CHAT_MSG_ACHIEVEMENT";
g_scriptEvents[239] = "CHAT_MSG_GUILD_ACHIEVEMENT";
g_scriptEvents[240] = "LANGUAGE_LIST_CHANGED";
g_scriptEvents[241] = "TIME_PLAYED_MSG";
g_scriptEvents[242] = "SPELLS_CHANGED";
g_scriptEvents[243] = "CURRENT_SPELL_CAST_CHANGED";
g_scriptEvents[244] = "SPELL_UPDATE_COOLDOWN";
g_scriptEvents[245] = "SPELL_UPDATE_USABLE";
g_scriptEvents[246] = "CHARACTER_POINTS_CHANGED";
g_scriptEvents[247] = "SKILL_LINES_CHANGED";
g_scriptEvents[248] = "ITEM_PUSH";
g_scriptEvents[249] = "LOOT_OPENED";
g_scriptEvents[250] = "LOOT_SLOT_CLEARED";
g_scriptEvents[251] = "LOOT_SLOT_CHANGED";
g_scriptEvents[252] = "LOOT_CLOSED";
g_scriptEvents[SCRIPT_PLAYER_LOGIN] = "PLAYER_LOGIN";
g_scriptEvents[SCRIPT_PLAYER_LOGOUT] = "PLAYER_LOGOUT";
g_scriptEvents[SCRIPT_PLAYER_ENTERING_WORLD] = "PLAYER_ENTERING_WORLD";
g_scriptEvents[256] = "PLAYER_LEAVING_WORLD";
g_scriptEvents[257] = "PLAYER_ALIVE";
g_scriptEvents[258] = "PLAYER_DEAD";
g_scriptEvents[259] = "PLAYER_CAMPING";
g_scriptEvents[260] = "PLAYER_QUITING";
g_scriptEvents[261] = "LOGOUT_CANCEL";
g_scriptEvents[262] = "RESURRECT_REQUEST";
g_scriptEvents[263] = "PARTY_INVITE_REQUEST";
g_scriptEvents[264] = "PARTY_INVITE_CANCEL";
g_scriptEvents[265] = "GUILD_INVITE_REQUEST";
g_scriptEvents[266] = "GUILD_INVITE_CANCEL";
g_scriptEvents[267] = "GUILD_MOTD";
g_scriptEvents[268] = "TRADE_REQUEST";
g_scriptEvents[269] = "TRADE_REQUEST_CANCEL";
g_scriptEvents[270] = "LOOT_BIND_CONFIRM";
g_scriptEvents[271] = "EQUIP_BIND_CONFIRM";
g_scriptEvents[272] = "AUTOEQUIP_BIND_CONFIRM";
g_scriptEvents[273] = "USE_BIND_CONFIRM";
g_scriptEvents[274] = "DELETE_ITEM_CONFIRM";
g_scriptEvents[275] = "CURSOR_UPDATE";
g_scriptEvents[276] = "ITEM_TEXT_BEGIN";
g_scriptEvents[277] = "ITEM_TEXT_TRANSLATION";
g_scriptEvents[278] = "ITEM_TEXT_READY";
g_scriptEvents[279] = "ITEM_TEXT_CLOSED";
g_scriptEvents[280] = "GOSSIP_SHOW";
g_scriptEvents[281] = "GOSSIP_CONFIRM";
g_scriptEvents[282] = "GOSSIP_CONFIRM_CANCEL";
g_scriptEvents[283] = "GOSSIP_ENTER_CODE";
g_scriptEvents[284] = "GOSSIP_CLOSED";
g_scriptEvents[285] = "QUEST_GREETING";
g_scriptEvents[286] = "QUEST_DETAIL";
g_scriptEvents[287] = "QUEST_PROGRESS";
g_scriptEvents[288] = "QUEST_COMPLETE";
g_scriptEvents[289] = "QUEST_FINISHED";
g_scriptEvents[290] = "QUEST_ITEM_UPDATE";
g_scriptEvents[291] = "TAXIMAP_OPENED";
g_scriptEvents[292] = "TAXIMAP_CLOSED";
g_scriptEvents[293] = "QUEST_LOG_UPDATE";
g_scriptEvents[294] = "TRAINER_SHOW";
g_scriptEvents[295] = "TRAINER_UPDATE";
g_scriptEvents[296] = "TRAINER_DESCRIPTION_UPDATE";
g_scriptEvents[297] = "TRAINER_CLOSED";
g_scriptEvents[298] = "CVAR_UPDATE";
g_scriptEvents[299] = "TRADE_SKILL_SHOW";
g_scriptEvents[300] = "TRADE_SKILL_UPDATE";
g_scriptEvents[301] = "TRADE_SKILL_CLOSE";
g_scriptEvents[302] = "MERCHANT_SHOW";
g_scriptEvents[303] = "MERCHANT_UPDATE";
g_scriptEvents[304] = "MERCHANT_CLOSED";
g_scriptEvents[305] = "TRADE_SHOW";
g_scriptEvents[306] = "TRADE_CLOSED";
g_scriptEvents[307] = "TRADE_UPDATE";
g_scriptEvents[308] = "TRADE_ACCEPT_UPDATE";
g_scriptEvents[309] = "TRADE_TARGET_ITEM_CHANGED";
g_scriptEvents[310] = "TRADE_PLAYER_ITEM_CHANGED";
g_scriptEvents[311] = "TRADE_MONEY_CHANGED";
g_scriptEvents[312] = "PLAYER_TRADE_MONEY";
g_scriptEvents[313] = "BAG_OPEN";
g_scriptEvents[314] = "BAG_UPDATE";
g_scriptEvents[315] = "BAG_CLOSED";
g_scriptEvents[316] = "BAG_UPDATE_COOLDOWN";
g_scriptEvents[317] = "LOCALPLAYER_PET_RENAMED";
g_scriptEvents[318] = "UNIT_ATTACK";
g_scriptEvents[319] = "UNIT_DEFENSE";
g_scriptEvents[320] = "PET_ATTACK_START";
g_scriptEvents[321] = "PET_ATTACK_STOP";
g_scriptEvents[322] = "UPDATE_MOUSEOVER_UNIT";
g_scriptEvents[323] = "UNIT_SPELLCAST_SENT";
g_scriptEvents[324] = "UNIT_SPELLCAST_START";
g_scriptEvents[325] = "UNIT_SPELLCAST_STOP";
g_scriptEvents[326] = "UNIT_SPELLCAST_FAILED";
g_scriptEvents[327] = "UNIT_SPELLCAST_FAILED_QUIET";
g_scriptEvents[328] = "UNIT_SPELLCAST_INTERRUPTED";
g_scriptEvents[329] = "UNIT_SPELLCAST_DELAYED";
g_scriptEvents[330] = "UNIT_SPELLCAST_SUCCEEDED";
g_scriptEvents[331] = "UNIT_SPELLCAST_CHANNEL_START";
g_scriptEvents[332] = "UNIT_SPELLCAST_CHANNEL_UPDATE";
g_scriptEvents[333] = "UNIT_SPELLCAST_CHANNEL_STOP";
g_scriptEvents[334] = "UNIT_SPELLCAST_INTERRUPTIBLE";
g_scriptEvents[335] = "UNIT_SPELLCAST_NOT_INTERRUPTIBLE";
g_scriptEvents[336] = "PLAYER_GUILD_UPDATE";
g_scriptEvents[337] = "QUEST_ACCEPT_CONFIRM";
g_scriptEvents[338] = "PLAYERBANKSLOTS_CHANGED";
g_scriptEvents[339] = "BANKFRAME_OPENED";
g_scriptEvents[340] = "BANKFRAME_CLOSED";
g_scriptEvents[341] = "PLAYERBANKBAGSLOTS_CHANGED";
g_scriptEvents[342] = "FRIENDLIST_UPDATE";
g_scriptEvents[343] = "IGNORELIST_UPDATE";
g_scriptEvents[344] = "MUTELIST_UPDATE";
g_scriptEvents[345] = "PET_BAR_UPDATE";
g_scriptEvents[346] = "PET_BAR_UPDATE_COOLDOWN";
g_scriptEvents[347] = "PET_BAR_SHOWGRID";
g_scriptEvents[348] = "PET_BAR_HIDEGRID";
g_scriptEvents[349] = "PET_BAR_HIDE";
g_scriptEvents[350] = "PET_BAR_UPDATE_USABLE";
g_scriptEvents[351] = "MINIMAP_PING";
g_scriptEvents[352] = "MIRROR_TIMER_START";
g_scriptEvents[353] = "MIRROR_TIMER_PAUSE";
g_scriptEvents[354] = "MIRROR_TIMER_STOP";
g_scriptEvents[355] = "WORLD_MAP_UPDATE";
g_scriptEvents[356] = "WORLD_MAP_NAME_UPDATE";
g_scriptEvents[357] = "AUTOFOLLOW_BEGIN";
g_scriptEvents[358] = "AUTOFOLLOW_END";
g_scriptEvents[360] = "CINEMATIC_START";
g_scriptEvents[361] = "CINEMATIC_STOP";
g_scriptEvents[362] = "UPDATE_FACTION";
g_scriptEvents[363] = "CLOSE_WORLD_MAP";
g_scriptEvents[364] = "OPEN_TABARD_FRAME";
g_scriptEvents[365] = "CLOSE_TABARD_FRAME";
g_scriptEvents[366] = "TABARD_CANSAVE_CHANGED";
g_scriptEvents[367] = "GUILD_REGISTRAR_SHOW";
g_scriptEvents[368] = "GUILD_REGISTRAR_CLOSED";
g_scriptEvents[369] = "DUEL_REQUESTED";
g_scriptEvents[370] = "DUEL_OUTOFBOUNDS";
g_scriptEvents[371] = "DUEL_INBOUNDS";
g_scriptEvents[372] = "DUEL_FINISHED";
g_scriptEvents[373] = "TUTORIAL_TRIGGER";
g_scriptEvents[374] = "PET_DISMISS_START";
g_scriptEvents[375] = "UPDATE_BINDINGS";
g_scriptEvents[376] = "UPDATE_SHAPESHIFT_FORMS";
g_scriptEvents[377] = "UPDATE_SHAPESHIFT_FORM";
g_scriptEvents[378] = "UPDATE_SHAPESHIFT_USABLE";
g_scriptEvents[379] = "UPDATE_SHAPESHIFT_COOLDOWN";
g_scriptEvents[380] = "WHO_LIST_UPDATE";
g_scriptEvents[381] = "PETITION_SHOW";
g_scriptEvents[382] = "PETITION_CLOSED";
g_scriptEvents[383] = "EXECUTE_CHAT_LINE";
g_scriptEvents[384] = "UPDATE_MACROS";
g_scriptEvents[385] = "UPDATE_TICKET";
g_scriptEvents[386] = "UPDATE_CHAT_WINDOWS";
g_scriptEvents[387] = "CONFIRM_XP_LOSS";
g_scriptEvents[388] = "CORPSE_IN_RANGE";
g_scriptEvents[389] = "CORPSE_IN_INSTANCE";
g_scriptEvents[390] = "CORPSE_OUT_OF_RANGE";
g_scriptEvents[391] = "UPDATE_GM_STATUS";
g_scriptEvents[392] = "PLAYER_UNGHOST";
g_scriptEvents[393] = "BIND_ENCHANT";
g_scriptEvents[394] = "REPLACE_ENCHANT";
g_scriptEvents[395] = "TRADE_REPLACE_ENCHANT";
g_scriptEvents[396] = "TRADE_POTENTIAL_BIND_ENCHANT";
g_scriptEvents[397] = "PLAYER_UPDATE_RESTING";
g_scriptEvents[398] = "UPDATE_EXHAUSTION";
g_scriptEvents[399] = "PLAYER_FLAGS_CHANGED";
g_scriptEvents[400] = "GUILD_ROSTER_UPDATE";
g_scriptEvents[401] = "GM_PLAYER_INFO";
g_scriptEvents[402] = "MAIL_SHOW";
g_scriptEvents[403] = "MAIL_CLOSED";
g_scriptEvents[404] = "SEND_MAIL_MONEY_CHANGED";
g_scriptEvents[405] = "SEND_MAIL_COD_CHANGED";
g_scriptEvents[406] = "MAIL_SEND_INFO_UPDATE";
g_scriptEvents[407] = "MAIL_SEND_SUCCESS";
g_scriptEvents[408] = "MAIL_INBOX_UPDATE";
g_scriptEvents[409] = "MAIL_LOCK_SEND_ITEMS";
g_scriptEvents[410] = "MAIL_UNLOCK_SEND_ITEMS";
g_scriptEvents[411] = "BATTLEFIELDS_SHOW";
g_scriptEvents[412] = "BATTLEFIELDS_CLOSED";
g_scriptEvents[413] = "UPDATE_BATTLEFIELD_STATUS";
g_scriptEvents[414] = "UPDATE_BATTLEFIELD_SCORE";
g_scriptEvents[415] = "AUCTION_HOUSE_SHOW";
g_scriptEvents[416] = "AUCTION_HOUSE_CLOSED";
g_scriptEvents[417] = "NEW_AUCTION_UPDATE";
g_scriptEvents[418] = "AUCTION_ITEM_LIST_UPDATE";
g_scriptEvents[419] = "AUCTION_OWNED_LIST_UPDATE";
g_scriptEvents[420] = "AUCTION_BIDDER_LIST_UPDATE";
g_scriptEvents[421] = "PET_UI_UPDATE";
g_scriptEvents[422] = "PET_UI_CLOSE";
g_scriptEvents[423] = "ADDON_LOADED";
g_scriptEvents[424] = "VARIABLES_LOADED";
g_scriptEvents[425] = "MACRO_ACTION_FORBIDDEN";
g_scriptEvents[426] = "ADDON_ACTION_FORBIDDEN";
g_scriptEvents[427] = "MACRO_ACTION_BLOCKED";
g_scriptEvents[428] = "ADDON_ACTION_BLOCKED";
g_scriptEvents[429] = "START_AUTOREPEAT_SPELL";
g_scriptEvents[430] = "STOP_AUTOREPEAT_SPELL";
g_scriptEvents[431] = "PET_STABLE_SHOW";
g_scriptEvents[432] = "PET_STABLE_UPDATE";
g_scriptEvents[433] = "PET_STABLE_UPDATE_PAPERDOLL";
g_scriptEvents[434] = "PET_STABLE_CLOSED";
g_scriptEvents[435] = "RAID_ROSTER_UPDATE";
g_scriptEvents[436] = "UPDATE_PENDING_MAIL";
g_scriptEvents[437] = "UPDATE_INVENTORY_ALERTS";
g_scriptEvents[438] = "UPDATE_INVENTORY_DURABILITY";
g_scriptEvents[439] = "UPDATE_TRADESKILL_RECAST";
g_scriptEvents[440] = "OPEN_MASTER_LOOT_LIST";
g_scriptEvents[441] = "UPDATE_MASTER_LOOT_LIST";
g_scriptEvents[442] = "START_LOOT_ROLL";
g_scriptEvents[443] = "CANCEL_LOOT_ROLL";
g_scriptEvents[444] = "CONFIRM_LOOT_ROLL";
g_scriptEvents[445] = "CONFIRM_DISENCHANT_ROLL";
g_scriptEvents[446] = "INSTANCE_BOOT_START";
g_scriptEvents[447] = "INSTANCE_BOOT_STOP";
g_scriptEvents[448] = "LEARNED_SPELL_IN_TAB";
g_scriptEvents[449] = "DISPLAY_SIZE_CHANGED";
g_scriptEvents[450] = "CONFIRM_TALENT_WIPE";
g_scriptEvents[451] = "CONFIRM_BINDER";
g_scriptEvents[452] = "MAIL_FAILED";
g_scriptEvents[453] = "CLOSE_INBOX_ITEM";
g_scriptEvents[454] = "CONFIRM_SUMMON";
g_scriptEvents[455] = "CANCEL_SUMMON";
g_scriptEvents[456] = "BILLING_NAG_DIALOG";
g_scriptEvents[457] = "IGR_BILLING_NAG_DIALOG";
g_scriptEvents[458] = "PLAYER_SKINNED";
g_scriptEvents[459] = "TABARD_SAVE_PENDING";
g_scriptEvents[460] = "UNIT_QUEST_LOG_CHANGED";
g_scriptEvents[461] = "PLAYER_PVP_KILLS_CHANGED";
g_scriptEvents[462] = "PLAYER_PVP_RANK_CHANGED";
g_scriptEvents[463] = "INSPECT_HONOR_UPDATE";
g_scriptEvents[464] = "UPDATE_WORLD_STATES";
g_scriptEvents[465] = "AREA_SPIRIT_HEALER_IN_RANGE";
g_scriptEvents[466] = "AREA_SPIRIT_HEALER_OUT_OF_RANGE";
g_scriptEvents[467] = "PLAYTIME_CHANGED";
g_scriptEvents[468] = "UPDATE_LFG_TYPES";
g_scriptEvents[469] = "UPDATE_LFG_LIST";
g_scriptEvents[470] = "UPDATE_LFG_LIST_INCREMENTAL";
g_scriptEvents[471] = "START_MINIGAME";
g_scriptEvents[472] = "MINIGAME_UPDATE";
g_scriptEvents[473] = "READY_CHECK";
g_scriptEvents[474] = "READY_CHECK_CONFIRM";
g_scriptEvents[475] = "READY_CHECK_FINISHED";
g_scriptEvents[476] = "RAID_TARGET_UPDATE";
g_scriptEvents[477] = "GMSURVEY_DISPLAY";
g_scriptEvents[478] = "UPDATE_INSTANCE_INFO";
g_scriptEvents[479] = "SOCKET_INFO_UPDATE";
g_scriptEvents[480] = "SOCKET_INFO_CLOSE";
g_scriptEvents[481] = "PETITION_VENDOR_SHOW";
g_scriptEvents[482] = "PETITION_VENDOR_CLOSED";
g_scriptEvents[483] = "PETITION_VENDOR_UPDATE";
g_scriptEvents[484] = "COMBAT_TEXT_UPDATE";
g_scriptEvents[485] = "QUEST_WATCH_UPDATE";
g_scriptEvents[486] = "KNOWLEDGE_BASE_SETUP_LOAD_SUCCESS";
g_scriptEvents[487] = "KNOWLEDGE_BASE_SETUP_LOAD_FAILURE";
g_scriptEvents[488] = "KNOWLEDGE_BASE_QUERY_LOAD_SUCCESS";
g_scriptEvents[489] = "KNOWLEDGE_BASE_QUERY_LOAD_FAILURE";
g_scriptEvents[490] = "KNOWLEDGE_BASE_ARTICLE_LOAD_SUCCESS";
g_scriptEvents[491] = "KNOWLEDGE_BASE_ARTICLE_LOAD_FAILURE";
g_scriptEvents[492] = "KNOWLEDGE_BASE_SYSTEM_MOTD_UPDATED";
g_scriptEvents[493] = "KNOWLEDGE_BASE_SERVER_MESSAGE";
g_scriptEvents[494] = "ARENA_TEAM_UPDATE";
g_scriptEvents[495] = "ARENA_TEAM_ROSTER_UPDATE";
g_scriptEvents[496] = "ARENA_TEAM_INVITE_REQUEST";
g_scriptEvents[497] = "HONOR_CURRENCY_UPDATE";
g_scriptEvents[498] = "KNOWN_TITLES_UPDATE";
g_scriptEvents[499] = "NEW_TITLE_EARNED";
g_scriptEvents[500] = "OLD_TITLE_LOST";
g_scriptEvents[501] = "LFG_UPDATE";
g_scriptEvents[502] = "LFG_PROPOSAL_UPDATE";
g_scriptEvents[503] = "LFG_PROPOSAL_SHOW";
g_scriptEvents[504] = "LFG_PROPOSAL_FAILED";
g_scriptEvents[505] = "LFG_PROPOSAL_SUCCEEDED";
g_scriptEvents[506] = "LFG_ROLE_UPDATE";
g_scriptEvents[507] = "LFG_ROLE_CHECK_UPDATE";
g_scriptEvents[508] = "LFG_ROLE_CHECK_SHOW";
g_scriptEvents[509] = "LFG_ROLE_CHECK_HIDE";
g_scriptEvents[510] = "LFG_ROLE_CHECK_ROLE_CHOSEN";
g_scriptEvents[511] = "LFG_QUEUE_STATUS_UPDATE";
g_scriptEvents[512] = "LFG_BOOT_PROPOSAL_UPDATE";
g_scriptEvents[513] = "LFG_LOCK_INFO_RECEIVED";
g_scriptEvents[514] = "LFG_UPDATE_RANDOM_INFO";
g_scriptEvents[515] = "LFG_OFFER_CONTINUE";
g_scriptEvents[516] = "LFG_OPEN_FROM_GOSSIP";
g_scriptEvents[517] = "LFG_COMPLETION_REWARD";
g_scriptEvents[518] = "PARTY_LFG_RESTRICTED";
g_scriptEvents[519] = "PLAYER_ROLES_ASSIGNED";
g_scriptEvents[520] = "COMBAT_RATING_UPDATE";
g_scriptEvents[521] = "MODIFIER_STATE_CHANGED";
g_scriptEvents[522] = "UPDATE_STEALTH";
g_scriptEvents[523] = "ENABLE_TAXI_BENCHMARK";
g_scriptEvents[524] = "DISABLE_TAXI_BENCHMARK";
g_scriptEvents[525] = "VOICE_START";
g_scriptEvents[526] = "VOICE_STOP";
g_scriptEvents[527] = "VOICE_STATUS_UPDATE";
g_scriptEvents[528] = "VOICE_CHANNEL_STATUS_UPDATE";
g_scriptEvents[529] = "UPDATE_FLOATING_CHAT_WINDOWS";
g_scriptEvents[530] = "RAID_INSTANCE_WELCOME";
g_scriptEvents[531] = "MOVIE_RECORDING_PROGRESS";
g_scriptEvents[532] = "MOVIE_COMPRESSING_PROGRESS";
g_scriptEvents[533] = "MOVIE_UNCOMPRESSED_MOVIE";
g_scriptEvents[534] = "VOICE_PUSH_TO_TALK_START";
g_scriptEvents[535] = "VOICE_PUSH_TO_TALK_STOP";
g_scriptEvents[536] = "GUILDBANKFRAME_OPENED";
g_scriptEvents[537] = "GUILDBANKFRAME_CLOSED";
g_scriptEvents[538] = "GUILDBANKBAGSLOTS_CHANGED";
g_scriptEvents[539] = "GUILDBANK_ITEM_LOCK_CHANGED";
g_scriptEvents[540] = "GUILDBANK_UPDATE_TABS";
g_scriptEvents[541] = "GUILDBANK_UPDATE_MONEY";
g_scriptEvents[542] = "GUILDBANKLOG_UPDATE";
g_scriptEvents[543] = "GUILDBANK_UPDATE_WITHDRAWMONEY";
g_scriptEvents[544] = "GUILDBANK_UPDATE_TEXT";
g_scriptEvents[545] = "GUILDBANK_TEXT_CHANGED";
g_scriptEvents[546] = "CHANNEL_UI_UPDATE";
g_scriptEvents[547] = "CHANNEL_COUNT_UPDATE";
g_scriptEvents[548] = "CHANNEL_ROSTER_UPDATE";
g_scriptEvents[549] = "CHANNEL_VOICE_UPDATE";
g_scriptEvents[550] = "CHANNEL_INVITE_REQUEST";
g_scriptEvents[551] = "CHANNEL_PASSWORD_REQUEST";
g_scriptEvents[552] = "CHANNEL_FLAGS_UPDATED";
g_scriptEvents[553] = "VOICE_SESSIONS_UPDATE";
g_scriptEvents[554] = "VOICE_CHAT_ENABLED_UPDATE";
g_scriptEvents[555] = "VOICE_LEFT_SESSION";
g_scriptEvents[556] = "INSPECT_TALENT_READY";
g_scriptEvents[557] = "VOICE_SELF_MUTE";
g_scriptEvents[558] = "VOICE_PLATE_START";
g_scriptEvents[559] = "VOICE_PLATE_STOP";
g_scriptEvents[560] = "ARENA_SEASON_WORLD_STATE";
g_scriptEvents[561] = "GUILD_EVENT_LOG_UPDATE";
g_scriptEvents[562] = "GUILDTABARD_UPDATE";
g_scriptEvents[563] = "SOUND_DEVICE_UPDATE";
g_scriptEvents[564] = "COMMENTATOR_MAP_UPDATE";
g_scriptEvents[565] = "COMMENTATOR_ENTER_WORLD";
g_scriptEvents[566] = "COMBAT_LOG_EVENT";
g_scriptEvents[567] = "COMBAT_LOG_EVENT_UNFILTERED";
g_scriptEvents[568] = "COMMENTATOR_PLAYER_UPDATE";
g_scriptEvents[569] = "PLAYER_ENTERING_BATTLEGROUND";
g_scriptEvents[570] = "BARBER_SHOP_OPEN";
g_scriptEvents[571] = "BARBER_SHOP_CLOSE";
g_scriptEvents[572] = "BARBER_SHOP_SUCCESS";
g_scriptEvents[573] = "BARBER_SHOP_APPEARANCE_APPLIED";
g_scriptEvents[574] = "CALENDAR_UPDATE_INVITE_LIST";
g_scriptEvents[575] = "CALENDAR_UPDATE_EVENT_LIST";
g_scriptEvents[576] = "CALENDAR_NEW_EVENT";
g_scriptEvents[577] = "CALENDAR_OPEN_EVENT";
g_scriptEvents[578] = "CALENDAR_CLOSE_EVENT";
g_scriptEvents[579] = "CALENDAR_UPDATE_EVENT";
g_scriptEvents[580] = "CALENDAR_UPDATE_PENDING_INVITES";
g_scriptEvents[581] = "CALENDAR_EVENT_ALARM";
g_scriptEvents[582] = "CALENDAR_UPDATE_ERROR";
g_scriptEvents[583] = "CALENDAR_ACTION_PENDING";
g_scriptEvents[584] = "VEHICLE_ANGLE_SHOW";
g_scriptEvents[585] = "VEHICLE_ANGLE_UPDATE";
g_scriptEvents[586] = "VEHICLE_POWER_SHOW";
g_scriptEvents[587] = "UNIT_ENTERING_VEHICLE";
g_scriptEvents[588] = "UNIT_ENTERED_VEHICLE";
g_scriptEvents[589] = "UNIT_EXITING_VEHICLE";
g_scriptEvents[590] = "UNIT_EXITED_VEHICLE";
g_scriptEvents[591] = "VEHICLE_PASSENGERS_CHANGED";
g_scriptEvents[592] = "PLAYER_GAINS_VEHICLE_DATA";
g_scriptEvents[593] = "PLAYER_LOSES_VEHICLE_DATA";
g_scriptEvents[594] = "PET_FORCE_NAME_DECLENSION";
g_scriptEvents[595] = "LEVEL_GRANT_PROPOSED";
g_scriptEvents[596] = "SYNCHRONIZE_SETTINGS";
g_scriptEvents[597] = "PLAY_MOVIE";
g_scriptEvents[598] = "RUNE_POWER_UPDATE";
g_scriptEvents[599] = "RUNE_TYPE_UPDATE";
g_scriptEvents[600] = "ACHIEVEMENT_EARNED";
g_scriptEvents[601] = "CRITERIA_UPDATE";
g_scriptEvents[602] = "RECEIVED_ACHIEVEMENT_LIST";
g_scriptEvents[603] = "PET_RENAMEABLE";
g_scriptEvents[604] = "KNOWN_CURRENCY_TYPES_UPDATE";
g_scriptEvents[605] = "CURRENCY_DISPLAY_UPDATE";
g_scriptEvents[606] = "COMPANION_LEARNED";
g_scriptEvents[607] = "COMPANION_UNLEARNED";
g_scriptEvents[608] = "COMPANION_UPDATE";
g_scriptEvents[609] = "UNIT_THREAT_LIST_UPDATE";
g_scriptEvents[610] = "UNIT_THREAT_SITUATION_UPDATE";
g_scriptEvents[611] = "GLYPH_ADDED";
g_scriptEvents[612] = "GLYPH_REMOVED";
g_scriptEvents[613] = "GLYPH_UPDATED";
g_scriptEvents[614] = "GLYPH_ENABLED";
g_scriptEvents[615] = "GLYPH_DISABLED";
g_scriptEvents[616] = "USE_GLYPH";
g_scriptEvents[617] = "TRACKED_ACHIEVEMENT_UPDATE";
g_scriptEvents[618] = "ARENA_OPPONENT_UPDATE";
g_scriptEvents[619] = "INSPECT_ACHIEVEMENT_READY";
g_scriptEvents[620] = "RAISED_AS_GHOUL";
g_scriptEvents[621] = "PARTY_CONVERTED_TO_RAID";
g_scriptEvents[622] = "PVPQUEUE_ANYWHERE_SHOW";
g_scriptEvents[623] = "PVPQUEUE_ANYWHERE_UPDATE_AVAILABLE";
g_scriptEvents[624] = "QUEST_ACCEPTED";
g_scriptEvents[625] = "PLAYER_TALENT_UPDATE";
g_scriptEvents[626] = "ACTIVE_TALENT_GROUP_CHANGED";
g_scriptEvents[627] = "PET_TALENT_UPDATE";
g_scriptEvents[628] = "PREVIEW_TALENT_POINTS_CHANGED";
g_scriptEvents[629] = "PREVIEW_PET_TALENT_POINTS_CHANGED";
g_scriptEvents[630] = "WEAR_EQUIPMENT_SET";
g_scriptEvents[631] = "EQUIPMENT_SETS_CHANGED";
g_scriptEvents[632] = "INSTANCE_LOCK_START";
g_scriptEvents[633] = "INSTANCE_LOCK_STOP";
g_scriptEvents[634] = "PLAYER_EQUIPMENT_CHANGED";
g_scriptEvents[635] = "ITEM_LOCKED";
g_scriptEvents[636] = "ITEM_UNLOCKED";
g_scriptEvents[637] = "TRADE_SKILL_FILTER_UPDATE";
g_scriptEvents[638] = "EQUIPMENT_SWAP_PENDING";
g_scriptEvents[639] = "EQUIPMENT_SWAP_FINISHED";
g_scriptEvents[640] = "NPC_PVPQUEUE_ANYWHERE";
g_scriptEvents[641] = "UPDATE_MULTI_CAST_ACTIONBAR";
g_scriptEvents[642] = "ENABLE_XP_GAIN";
g_scriptEvents[643] = "DISABLE_XP_GAIN";
g_scriptEvents[644] = "BATTLEFIELD_MGR_ENTRY_INVITE";
g_scriptEvents[645] = "BATTLEFIELD_MGR_ENTERED";
g_scriptEvents[646] = "BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE";
g_scriptEvents[647] = "BATTLEFIELD_MGR_EJECT_PENDING";
g_scriptEvents[648] = "BATTLEFIELD_MGR_EJECTED";
g_scriptEvents[649] = "BATTLEFIELD_MGR_QUEUE_INVITE";
g_scriptEvents[650] = "BATTLEFIELD_MGR_STATE_CHANGE";
g_scriptEvents[651] = "WORLD_STATE_UI_TIMER_UPDATE";
g_scriptEvents[652] = "END_REFUND";
g_scriptEvents[653] = "END_BOUND_TRADEABLE";
g_scriptEvents[654] = "UPDATE_CHAT_COLOR_NAME_BY_CLASS";
g_scriptEvents[655] = "GMRESPONSE_RECEIVED";
g_scriptEvents[656] = "VEHICLE_UPDATE";
g_scriptEvents[657] = "WOW_MOUSE_NOT_FOUND";
g_scriptEvents[659] = "MAIL_SUCCESS";
g_scriptEvents[660] = "TALENTS_INVOLUNTARILY_RESET";
g_scriptEvents[661] = "INSTANCE_ENCOUNTER_ENGAGE_UNIT";
g_scriptEvents[662] = "QUEST_QUERY_COMPLETE";
g_scriptEvents[663] = "QUEST_POI_UPDATE";
g_scriptEvents[664] = "PLAYER_DIFFICULTY_CHANGED";
g_scriptEvents[665] = "CHAT_MSG_PARTY_LEADER";
g_scriptEvents[666] = "VOTE_KICK_REASON_NEEDED";
g_scriptEvents[667] = "ENABLE_LOW_LEVEL_RAID";
g_scriptEvents[668] = "DISABLE_LOW_LEVEL_RAID";
g_scriptEvents[669] = "CHAT_MSG_TARGETICONS";
g_scriptEvents[670] = "AUCTION_HOUSE_DISABLED";
g_scriptEvents[671] = "AUCTION_MULTISELL_START";
g_scriptEvents[672] = "AUCTION_MULTISELL_UPDATE";
g_scriptEvents[673] = "AUCTION_MULTISELL_FAILURE";
g_scriptEvents[674] = "PET_SPELL_POWER_UPDATE";
g_scriptEvents[675] = "BN_CONNECTED";
g_scriptEvents[676] = "BN_DISCONNECTED";
g_scriptEvents[677] = "BN_SELF_ONLINE";
g_scriptEvents[678] = "BN_SELF_OFFLINE";
g_scriptEvents[679] = "BN_FRIEND_LIST_SIZE_CHANGED";
g_scriptEvents[680] = "BN_FRIEND_INVITE_LIST_INITIALIZED";
g_scriptEvents[681] = "BN_FRIEND_INVITE_SEND_RESULT";
g_scriptEvents[682] = "BN_FRIEND_INVITE_ADDED";
g_scriptEvents[683] = "BN_FRIEND_INVITE_REMOVED";
g_scriptEvents[684] = "BN_FRIEND_INFO_CHANGED";
g_scriptEvents[685] = "BN_CUSTOM_MESSAGE_CHANGED";
g_scriptEvents[686] = "BN_CUSTOM_MESSAGE_LOADED";
g_scriptEvents[687] = "CHAT_MSG_BN_WHISPER";
g_scriptEvents[688] = "CHAT_MSG_BN_WHISPER_INFORM";
g_scriptEvents[689] = "BN_CHAT_WHISPER_UNDELIVERABLE";
g_scriptEvents[690] = "BN_CHAT_CHANNEL_JOINED";
g_scriptEvents[691] = "BN_CHAT_CHANNEL_LEFT";
g_scriptEvents[692] = "BN_CHAT_CHANNEL_CLOSED";
g_scriptEvents[693] = "CHAT_MSG_BN_CONVERSATION";
g_scriptEvents[694] = "CHAT_MSG_BN_CONVERSATION_NOTICE";
g_scriptEvents[695] = "CHAT_MSG_BN_CONVERSATION_LIST";
g_scriptEvents[696] = "BN_CHAT_CHANNEL_MESSAGE_UNDELIVERABLE";
g_scriptEvents[697] = "BN_CHAT_CHANNEL_MESSAGE_BLOCKED";
g_scriptEvents[698] = "BN_CHAT_CHANNEL_MEMBER_JOINED";
g_scriptEvents[699] = "BN_CHAT_CHANNEL_MEMBER_LEFT";
g_scriptEvents[700] = "BN_CHAT_CHANNEL_MEMBER_UPDATED";
g_scriptEvents[701] = "BN_CHAT_CHANNEL_CREATE_SUCCEEDED";
g_scriptEvents[702] = "BN_CHAT_CHANNEL_CREATE_FAILED";
g_scriptEvents[703] = "BN_CHAT_CHANNEL_INVITE_SUCCEEDED";
g_scriptEvents[704] = "BN_CHAT_CHANNEL_INVITE_FAILED";
g_scriptEvents[705] = "BN_BLOCK_LIST_UPDATED";
g_scriptEvents[706] = "BN_SYSTEM_MESSAGE";
g_scriptEvents[707] = "BN_REQUEST_FOF_SUCCEEDED";
g_scriptEvents[708] = "BN_REQUEST_FOF_FAILED";
g_scriptEvents[709] = "BN_NEW_PRESENCE";
g_scriptEvents[710] = "BN_TOON_NAME_UPDATED";
g_scriptEvents[711] = "BN_FRIEND_ACCOUNT_ONLINE";
g_scriptEvents[712] = "BN_FRIEND_ACCOUNT_OFFLINE";
g_scriptEvents[713] = "BN_FRIEND_TOON_ONLINE";
g_scriptEvents[714] = "BN_FRIEND_TOON_OFFLINE";
g_scriptEvents[715] = "BN_MATURE_LANGUAGE_FILTER";
g_scriptEvents[716] = "COMMENTATOR_SKIRMISH_QUEUE_REQUEST";
g_scriptEvents[717] = "COMMENTATOR_SKIRMISH_MODE_REQUEST";
g_scriptEvents[718] = "CHAT_MSG_BN_INLINE_TOAST_ALERT";
g_scriptEvents[719] = "CHAT_MSG_BN_INLINE_TOAST_BROADCAST";
g_scriptEvents[720] = "CHAT_MSG_BN_INLINE_TOAST_BROADCAST_INFORM";
g_scriptEvents[721] = "CHAT_MSG_BN_INLINE_TOAST_CONVERSATION";
}
void ScriptEventsRegisterEvents() {
FrameScript_CreateEvents(g_scriptEvents, NUM_SCRIPT_EVENTS);
}

View File

@ -1,6 +1,12 @@
#ifndef UI_GAME_SCRIPT_EVENTS_HPP
#define UI_GAME_SCRIPT_EVENTS_HPP
extern const char* g_scriptEvents[];
void ScriptEventsInitialize();
void ScriptEventsRegisterEvents();
void ScriptEventsRegisterFunctions();
#endif

View File

@ -12,6 +12,16 @@ bool ParseTrailingTokens(const char* token, WOWGUID& guid, CGPlayer_C* player) {
}
CGUnit_C* Script_GetUnitFromName(const char* name) {
WOWGUID guid;
if (!Script_GetGUIDFromToken(name, guid, false)) {
return nullptr;
}
return static_cast<CGUnit_C*>(ClntObjMgrObjectPtr(guid, TYPE_UNIT, __FILE__, __LINE__));
}
bool Script_GetGUIDFromString(const char*& token, WOWGUID& guid) {
// TODO
return true;

View File

@ -3,6 +3,10 @@
#include "util/GUID.hpp"
class CGUnit_C;
CGUnit_C* Script_GetUnitFromName(const char* name);
bool Script_GetGUIDFromString(const char*& token, WOWGUID& guid);
bool Script_GetGUIDFromToken(const char* token, WOWGUID& guid, bool defaultToTarget);

14
src/ui/game/Types.hpp Normal file
View File

@ -0,0 +1,14 @@
#ifndef UI_GAME_TYPES_HPP
#define UI_GAME_TYPES_HPP
enum SCRIPTEVENT {
// TODO
SCRIPT_ACTIONBAR_SLOT_CHANGED = 176,
// TODO
SCRIPT_PLAYER_LOGIN = 253,
SCRIPT_PLAYER_LOGOUT = 254,
SCRIPT_PLAYER_ENTERING_WORLD = 255,
// TODO
};
#endif