diff options
Diffstat (limited to 'src/game/GameObject.h')
-rw-r--r-- | src/game/GameObject.h | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/src/game/GameObject.h b/src/game/GameObject.h index bcfdd93c99d..43f8fb0ea5f 100644 --- a/src/game/GameObject.h +++ b/src/game/GameObject.h @@ -43,9 +43,11 @@ struct GameObjectInfo char *name; char *IconName; char *castBarCaption; + char *unk1; uint32 faction; uint32 flags; float size; + uint32 questItems[4]; union // different GO types have different data field { //0 GAMEOBJECT_TYPE_DOOR @@ -57,6 +59,7 @@ struct GameObjectInfo uint32 noDamageImmune; //3 break opening whenever you recieve damage? uint32 openTextID; //4 can be used to replace castBarCaption? uint32 closeTextID; //5 + uint32 ignoredByPathing; //6 } door; //1 GAMEOBJECT_TYPE_BUTTON struct @@ -104,6 +107,7 @@ struct GameObjectInfo uint32 logLoot; //13 uint32 openTextID; //14 can be used to replace castBarCaption? uint32 groupLootRules; //15 + uint32 floatingTooltip; //16 } chest; //4 GAMEOBJECT_TYPE_BINDER - empty //5 GAMEOBJECT_TYPE_GENERIC @@ -133,6 +137,7 @@ struct GameObjectInfo uint32 stealthAffected; //11 uint32 openTextID; //12 can be used to replace castBarCaption? uint32 closeTextID; //13 + uint32 ignoreTotems; //14 } trap; //7 GAMEOBJECT_TYPE_CHAIR struct @@ -140,6 +145,7 @@ struct GameObjectInfo uint32 slots; //0 uint32 height; //1 uint32 onlyCreatorUse; //2 + uint32 triggeredEvent; //3 } chair; //8 GAMEOBJECT_TYPE_SPELL_FOCUS struct @@ -150,6 +156,7 @@ struct GameObjectInfo uint32 serverOnly; //3 uint32 questID; //4 uint32 large; //5 + uint32 floatingTooltip; //6 } spellFocus; //9 GAMEOBJECT_TYPE_TEXT struct @@ -180,6 +187,9 @@ struct GameObjectInfo uint32 closeTextID; //15 uint32 losOK; //16 isBattlegroundObject uint32 allowMounted; //17 + uint32 floatingTooltip; //18 + uint32 gossipID; //19 + uint32 WorldStateSetsState; //20 } goober; //11 GAMEOBJECT_TYPE_TRANSPORT struct @@ -187,6 +197,8 @@ struct GameObjectInfo uint32 pause; //0 uint32 startOpen; //1 uint32 autoCloseTime; //2 secs till autoclose = autoCloseTime / 0x10000 + uint32 pause1EventID; //3 + uint32 pause2EventID; //4 } transport; //12 GAMEOBJECT_TYPE_AREADAMAGE struct @@ -219,14 +231,10 @@ struct GameObjectInfo uint32 stopEventID; //4 uint32 transportPhysics; //5 uint32 mapID; //6 + uint32 worldState1; //7 } moTransport; //16 GAMEOBJECT_TYPE_DUELFLAG - empty - //17 GAMEOBJECT_TYPE_FISHINGNODE - struct - { - uint32 _data0; //0 - uint32 lootId; //1 - } fishnode; + //17 GAMEOBJECT_TYPE_FISHINGNODE - empty //18 GAMEOBJECT_TYPE_SUMMONING_RITUAL struct { @@ -240,11 +248,7 @@ struct GameObjectInfo uint32 ritualNoTargetCheck; //7 } summoningRitual; //19 GAMEOBJECT_TYPE_MAILBOX - empty - //20 GAMEOBJECT_TYPE_AUCTIONHOUSE - struct - { - uint32 actionHouseID; //0 - } auctionhouse; + //20 GAMEOBJECT_TYPE_DONOTUSE - empty //21 GAMEOBJECT_TYPE_GUARDPOST struct { @@ -257,6 +261,8 @@ struct GameObjectInfo uint32 spellId; //0 uint32 charges; //1 uint32 partyOnly; //2 + uint32 allowMounted; //3 + uint32 large; //4 } spellcaster; //23 GAMEOBJECT_TYPE_MEETINGSTONE struct @@ -323,6 +329,8 @@ struct GameObjectInfo uint32 maxTime; //17 uint32 large; //18 uint32 highlight; //19 + uint32 startingValue; //20 + uint32 unidirectional; //21 } capturePoint; //30 GAMEOBJECT_TYPE_AURA_GENERATOR struct @@ -361,6 +369,19 @@ struct GameObjectInfo uint32 empty5; //8 uint32 damagedEvent; //9 uint32 destroyedDisplayId; //10 + uint32 empty7; //11 + uint32 empty8; //12 + uint32 empty9; //13 + uint32 destroyedEvent; //14 + uint32 empty10; //15 + uint32 debuildingTimeSecs; //16 + uint32 empty11; //17 + uint32 destructibleData; //18 + uint32 rebuildingEvent; //19 + uint32 empty12; //20 + uint32 empty13; //21 + uint32 damageEvent; //22 + uint32 empty14; //23 } building; //34 GAMEOBJECT_TYPE_GUILDBANK - empty //35 GAMEOBJECT_TYPE_TRAPDOOR @@ -651,6 +672,8 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject void Rebuild(); void EventInform(uint32 eventId); + + uint64 GetRotation() const { return m_rotation; } protected: uint32 m_charges; // Spell charges for GAMEOBJECT_TYPE_SPELLCASTER (22) uint32 m_spellId; @@ -669,6 +692,8 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject GameObjectInfo const* m_goInfo; GameObjectData const* m_goData; GameObjectValue * const m_goValue; + + uint64 m_rotation; private: void SwitchDoorOrButton(bool activate, bool alternative = false); |