aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h39
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h5
2 files changed, 35 insertions, 9 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 2b092427178..ff3d9ce8e20 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -57,6 +57,7 @@ struct GameObjectTemplate
uint32 openTextID; //4 can be used to replace castBarCaption?
uint32 closeTextID; //5
uint32 ignoredByPathing; //6
+ uint32 conditionID1; //7
} door;
//1 GAMEOBJECT_TYPE_BUTTON
struct
@@ -70,6 +71,7 @@ struct GameObjectTemplate
uint32 openTextID; //6 can be used to replace castBarCaption?
uint32 closeTextID; //7
uint32 losOK; //8
+ uint32 conditionID1; //9
} button;
//2 GAMEOBJECT_TYPE_QUESTGIVER
struct
@@ -84,6 +86,7 @@ struct GameObjectTemplate
uint32 losOK; //7
uint32 allowMounted; //8 Is usable while on mount/vehicle. (0/1)
uint32 large; //9
+ uint32 conditionID1; //10
} questgiver;
//3 GAMEOBJECT_TYPE_CHEST
struct
@@ -105,6 +108,7 @@ struct GameObjectTemplate
uint32 openTextID; //14 can be used to replace castBarCaption?
uint32 groupLootRules; //15
uint32 floatingTooltip; //16
+ uint32 conditionID1; //17
} chest;
//4 GAMEOBJECT_TYPE_BINDER - empty
//5 GAMEOBJECT_TYPE_GENERIC
@@ -117,6 +121,7 @@ struct GameObjectTemplate
uint32 floatOnWater; //4
int32 questID; //5
} _generic;
+ uint32 conditionID1; //6
//6 GAMEOBJECT_TYPE_TRAP
struct
{
@@ -135,6 +140,7 @@ struct GameObjectTemplate
uint32 openTextID; //12 can be used to replace castBarCaption?
uint32 closeTextID; //13
uint32 ignoreTotems; //14
+ uint32 conditionID1; //15
} trap;
//7 GAMEOBJECT_TYPE_CHAIR
struct
@@ -143,6 +149,7 @@ struct GameObjectTemplate
uint32 height; //1
uint32 onlyCreatorUse; //2
uint32 triggeredEvent; //3
+ uint32 conditionID1; //4
} chair;
//8 GAMEOBJECT_TYPE_SPELL_FOCUS
struct
@@ -154,6 +161,8 @@ struct GameObjectTemplate
uint32 questID; //4
uint32 large; //5
uint32 floatingTooltip; //6
+ uint32 floatOnWater; //7
+ uint32 conditionID1; //8
} spellFocus;
//9 GAMEOBJECT_TYPE_TEXT
struct
@@ -162,6 +171,7 @@ struct GameObjectTemplate
uint32 language; //1
uint32 pageMaterial; //2
uint32 allowMounted; //3 Is usable while on mount/vehicle. (0/1)
+ uint32 conditionID1; //4
} text;
//10 GAMEOBJECT_TYPE_GOOBER
struct
@@ -187,6 +197,8 @@ struct GameObjectTemplate
uint32 floatingTooltip; //18
uint32 gossipID; //19
uint32 WorldStateSetsState; //20
+ uint32 floatOnWater; //21
+ uint32 conditionID1; //22
} goober;
//11 GAMEOBJECT_TYPE_TRANSPORT
struct
@@ -196,6 +208,7 @@ struct GameObjectTemplate
uint32 autoCloseTime; //2 secs till autoclose = autoCloseTime / 0x10000
uint32 pause1EventID; //3
uint32 pause2EventID; //4
+ uint32 mapID; //5
} transport;
//12 GAMEOBJECT_TYPE_AREADAMAGE
struct
@@ -216,6 +229,7 @@ struct GameObjectTemplate
uint32 cinematicId; //1
uint32 eventID; //2
uint32 openTextID; //3 can be used to replace castBarCaption?
+ uint32 conditionID1; //4
} camera;
//14 GAMEOBJECT_TYPE_MAPOBJECT - empty
//15 GAMEOBJECT_TYPE_MO_TRANSPORT
@@ -244,9 +258,14 @@ struct GameObjectTemplate
uint32 casterTargetSpellTargets; //5
uint32 castersGrouped; //6
uint32 ritualNoTargetCheck; //7
+ uint32 conditionID1; //8
} summoningRitual;
- //19 GAMEOBJECT_TYPE_MAILBOX - empty
- //20 GAMEOBJECT_TYPE_DONOTUSE - empty
+ //19 GAMEOBJECT_TYPE_MAILBOX
+ struct
+ {
+ uint32 conditionID1; //0
+ } mailbox;
+ //20 GAMEOBJECT_TYPE_DO_NOT_USE - empty
//21 GAMEOBJECT_TYPE_GUARDPOST
struct
{
@@ -261,6 +280,7 @@ struct GameObjectTemplate
uint32 partyOnly; //2
uint32 allowMounted; //3 Is usable while on mount/vehicle. (0/1)
uint32 large; //4
+ uint32 conditionID1; //5
} spellcaster;
//23 GAMEOBJECT_TYPE_MEETINGSTONE
struct
@@ -280,6 +300,7 @@ struct GameObjectTemplate
uint32 noDamageImmune; //5
uint32 openTextID; //6
uint32 losOK; //7
+ uint32 conditionID1; //8
} flagstand;
//25 GAMEOBJECT_TYPE_FISHINGHOLE
struct
@@ -358,21 +379,21 @@ struct GameObjectTemplate
{
uint32 intactNumHits; //0
uint32 creditProxyCreature; //1
- uint32 state1Name; //2
+ uint32 empty1; //2
uint32 intactEvent; //3
- uint32 damagedDisplayId; //4
+ uint32 empty2; //4
uint32 damagedNumHits; //5
uint32 empty3; //6
uint32 empty4; //7
uint32 empty5; //8
uint32 damagedEvent; //9
- uint32 destroyedDisplayId; //10
+ uint32 empty6; //10
uint32 empty7; //11
uint32 empty8; //12
uint32 empty9; //13
uint32 destroyedEvent; //14
uint32 empty10; //15
- uint32 debuildingTimeSecs; //16
+ uint32 rebuildingTimeSecs; //16
uint32 empty11; //17
uint32 destructibleData; //18
uint32 rebuildingEvent; //19
@@ -381,7 +402,11 @@ struct GameObjectTemplate
uint32 damageEvent; //22
uint32 empty14; //23
} building;
- //34 GAMEOBJECT_TYPE_GUILDBANK - empty
+ //34 GAMEOBJECT_TYPE_GUILDBANK
+ struct
+ {
+ uint32 conditionID1; //0
+ } guildbank;
//35 GAMEOBJECT_TYPE_TRAPDOOR
struct
{
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index b9df9e3accc..7f77453d00b 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -1490,11 +1490,12 @@ enum GameObjectFlags
{
GO_FLAG_IN_USE = 0x00000001, // disables interaction while animated
GO_FLAG_LOCKED = 0x00000002, // require key, spell, event, etc to be opened. Makes "Locked" appear in tooltip
- GO_FLAG_INTERACT_COND = 0x00000004, // cannot interact (condition to interact)
+ GO_FLAG_INTERACT_COND = 0x00000004, // cannot interact (condition to interact - requires GO_DYNFLAG_LO_ACTIVATE to enable interaction clientside)
GO_FLAG_TRANSPORT = 0x00000008, // any kind of transport? Object can transport (elevator, boat, car)
GO_FLAG_NOT_SELECTABLE = 0x00000010, // not selectable even in GM mode
GO_FLAG_NODESPAWN = 0x00000020, // never despawn, typically for doors, they just change state
- GO_FLAG_TRIGGERED = 0x00000040, // typically, summoned objects. Triggered by spell or other events
+ GO_FLAG_AI_OBSTACLE = 0x00000040, // makes the client register the object in something called AIObstacleMgr, unknown what it does
+ GO_FLAG_FREEZE_ANIMATION = 0x00000080,
GO_FLAG_DAMAGED = 0x00000200,
GO_FLAG_DESTROYED = 0x00000400
};