aboutsummaryrefslogtreecommitdiff
path: root/src/game/GameObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/GameObject.h')
-rw-r--r--src/game/GameObject.h47
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);