|
|
|
@@ -37,7 +37,7 @@ struct GameObjectTemplate
|
|
|
|
|
std::string castBarCaption;
|
|
|
|
|
std::string unk1;
|
|
|
|
|
float size;
|
|
|
|
|
int32 RequiredLevel;
|
|
|
|
|
int32 ContentTuningId;
|
|
|
|
|
union
|
|
|
|
|
{
|
|
|
|
|
// 0 GAMEOBJECT_TYPE_DOOR
|
|
|
|
@@ -55,6 +55,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 GiganticAOI; // 9 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InfiniteAOI; // 10 Infinite AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 NotLOSBlocking; // 11 Not LOS Blocking, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 12 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} door;
|
|
|
|
|
// 1 GAMEOBJECT_TYPE_BUTTON
|
|
|
|
|
struct
|
|
|
|
@@ -69,6 +70,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 closeTextID; // 7 closeTextID, References: BroadcastText, NoValue = 0
|
|
|
|
|
uint32 requireLOS; // 8 require LOS, enum { false, true, }; Default: false
|
|
|
|
|
uint32 conditionID1; // 9 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 10 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} button;
|
|
|
|
|
// 2 GAMEOBJECT_TYPE_QUESTGIVER
|
|
|
|
|
struct
|
|
|
|
@@ -85,6 +87,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 GiganticAOI; // 9 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 conditionID1; // 10 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 NeverUsableWhileMounted; // 11 Never Usable While Mounted, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 12 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} questgiver;
|
|
|
|
|
// 3 GAMEOBJECT_TYPE_CHEST
|
|
|
|
|
struct
|
|
|
|
@@ -98,7 +101,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 triggeredEvent; // 6 triggeredEvent, References: GameEvents, NoValue = 0
|
|
|
|
|
uint32 linkedTrap; // 7 linkedTrap, References: GameObjects, NoValue = 0
|
|
|
|
|
uint32 questID; // 8 questID, References: QuestV2, NoValue = 0
|
|
|
|
|
uint32 level; // 9 level, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 requireLOS; // 10 require LOS, enum { false, true, }; Default: false
|
|
|
|
|
uint32 leaveLoot; // 11 leaveLoot, enum { false, true, }; Default: false
|
|
|
|
|
uint32 notInCombat; // 12 notInCombat, enum { false, true, }; Default: false
|
|
|
|
@@ -107,9 +110,9 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 usegrouplootrules; // 15 use group loot rules, enum { false, true, }; Default: false
|
|
|
|
|
uint32 floatingTooltip; // 16 floatingTooltip, enum { false, true, }; Default: false
|
|
|
|
|
uint32 conditionID1; // 17 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 XPLevelRange; // 18 XP Level Range, References: ContentTuning, NoValue = 0
|
|
|
|
|
int32 Unused; // 18 Unused, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 xpDifficulty; // 19 xpDifficulty, enum { No Exp, Trivial, Very Small, Small, Substandard, Standard, High, Epic, Dungeon, 5, }; Default: No Exp
|
|
|
|
|
uint32 lootLevel; // 20 lootLevel, int, Min value: 0, Max value: 123, Default value: 0
|
|
|
|
|
uint32 Unused2; // 20 Unused, int, Min value: 0, Max value: 123, Default value: 0
|
|
|
|
|
uint32 GroupXP; // 21 Group XP, enum { false, true, }; Default: false
|
|
|
|
|
uint32 DamageImmuneOK; // 22 Damage Immune OK, enum { false, true, }; Default: false
|
|
|
|
|
uint32 trivialSkillLow; // 23 trivialSkillLow, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
@@ -127,6 +130,7 @@ struct GameObjectTemplate
|
|
|
|
|
// 4 GAMEOBJECT_TYPE_BINDER
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} binder;
|
|
|
|
|
// 5 GAMEOBJECT_TYPE_GENERIC
|
|
|
|
|
struct
|
|
|
|
@@ -140,12 +144,13 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 conditionID1; // 6 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 LargeAOI; // 7 Large AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 UseGarrisonOwnerGuildColors; // 8 Use Garrison Owner Guild Colors, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} generic;
|
|
|
|
|
// 6 GAMEOBJECT_TYPE_TRAP
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 open; // 0 open, References: Lock_, NoValue = 0
|
|
|
|
|
uint32 level; // 1 level, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 Unused; // 1 Unused, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 radius; // 2 radius, int, Min value: 0, Max value: 100, Default value: 0
|
|
|
|
|
uint32 spell; // 3 spell, References: Spell, NoValue = 0
|
|
|
|
|
uint32 charges; // 4 charges, int, Min value: 0, Max value: 65535, Default value: 1
|
|
|
|
@@ -165,6 +170,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 requireLOS; // 18 require LOS, enum { false, true, }; Default: false
|
|
|
|
|
uint32 TriggerCondition; // 19 Trigger Condition, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 Checkallunits; // 20 Check all units (spawned traps only check players), enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 21 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} trap;
|
|
|
|
|
// 7 GAMEOBJECT_TYPE_CHAIR
|
|
|
|
|
struct
|
|
|
|
@@ -174,6 +180,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 onlyCreatorUse; // 2 onlyCreatorUse, enum { false, true, }; Default: false
|
|
|
|
|
uint32 triggeredEvent; // 3 triggeredEvent, References: GameEvents, NoValue = 0
|
|
|
|
|
uint32 conditionID1; // 4 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} chair;
|
|
|
|
|
// 8 GAMEOBJECT_TYPE_SPELL_FOCUS
|
|
|
|
|
struct
|
|
|
|
@@ -187,6 +194,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 floatingTooltip; // 6 floatingTooltip, enum { false, true, }; Default: false
|
|
|
|
|
uint32 floatOnWater; // 7 floatOnWater, enum { false, true, }; Default: false
|
|
|
|
|
uint32 conditionID1; // 8 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} spellFocus;
|
|
|
|
|
// 9 GAMEOBJECT_TYPE_TEXT
|
|
|
|
|
struct
|
|
|
|
@@ -197,6 +205,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 allowMounted; // 3 allowMounted, enum { false, true, }; Default: false
|
|
|
|
|
uint32 conditionID1; // 4 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 NeverUsableWhileMounted; // 5 Never Usable While Mounted, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 6 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} text;
|
|
|
|
|
// 10 GAMEOBJECT_TYPE_GOOBER
|
|
|
|
|
struct
|
|
|
|
@@ -233,6 +242,8 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 SortFarZ; // 29 Sort Far Z, enum { false, true, }; Default: false
|
|
|
|
|
uint32 SyncAnimationtoObjectLifetime; // 30 Sync Animation to Object Lifetime (global track only), enum { false, true, }; Default: false
|
|
|
|
|
uint32 NoFuzzyHit; // 31 No Fuzzy Hit, enum { false, true, }; Default: false
|
|
|
|
|
uint32 LargeAOI; // 32 Large AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 33 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} goober;
|
|
|
|
|
// 11 GAMEOBJECT_TYPE_TRANSPORT
|
|
|
|
|
struct
|
|
|
|
@@ -261,6 +272,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 Reached10thfloor; // 21 Reached 10th floor, References: GameEvents, NoValue = 0
|
|
|
|
|
uint32 onlychargeheightcheck; // 22 only charge height check. (yards), int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 onlychargetimecheck; // 23 only charge time check, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 24 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} transport;
|
|
|
|
|
// 12 GAMEOBJECT_TYPE_AREADAMAGE
|
|
|
|
|
struct
|
|
|
|
@@ -273,6 +285,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 autoClose; // 5 autoClose (ms), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 openTextID; // 6 openTextID, References: BroadcastText, NoValue = 0
|
|
|
|
|
uint32 closeTextID; // 7 closeTextID, References: BroadcastText, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 8 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} areaDamage;
|
|
|
|
|
// 13 GAMEOBJECT_TYPE_CAMERA
|
|
|
|
|
struct
|
|
|
|
@@ -282,6 +295,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 eventID; // 2 eventID, References: GameEvents, NoValue = 0
|
|
|
|
|
uint32 openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0
|
|
|
|
|
uint32 conditionID1; // 4 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} camera;
|
|
|
|
|
// 14 GAMEOBJECT_TYPE_MAP_OBJECT
|
|
|
|
|
struct
|
|
|
|
@@ -301,14 +315,18 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 allowstopping; // 8 allow stopping, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InitStopped; // 9 Init Stopped, enum { false, true, }; Default: false
|
|
|
|
|
uint32 TrueInfiniteAOI; // 10 True Infinite AOI (programmer only!), enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 11 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 Allowareaexplorationwhileonthistransport;// 12 Allow area exploration while on this transport, enum { false, true, }; Default: false
|
|
|
|
|
} moTransport;
|
|
|
|
|
// 16 GAMEOBJECT_TYPE_DUEL_ARBITER
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} duelFlag;
|
|
|
|
|
// 17 GAMEOBJECT_TYPE_FISHINGNODE
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} fishingNode;
|
|
|
|
|
// 18 GAMEOBJECT_TYPE_RITUAL
|
|
|
|
|
struct
|
|
|
|
@@ -322,11 +340,13 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 castersGrouped; // 6 castersGrouped, enum { false, true, }; Default: true
|
|
|
|
|
uint32 ritualNoTargetCheck; // 7 ritualNoTargetCheck, enum { false, true, }; Default: true
|
|
|
|
|
uint32 conditionID1; // 8 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} ritual;
|
|
|
|
|
// 19 GAMEOBJECT_TYPE_MAILBOX
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 conditionID1; // 0 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} mailbox;
|
|
|
|
|
// 20 GAMEOBJECT_TYPE_DO_NOT_USE
|
|
|
|
|
struct
|
|
|
|
@@ -338,6 +358,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 creatureID; // 0 creatureID, References: Creature, NoValue = 0
|
|
|
|
|
uint32 charges; // 1 charges, int, Min value: 0, Max value: 65535, Default value: 1
|
|
|
|
|
uint32 Preferonlyifinlineofsight; // 2 Prefer only if in line of sight (expensive), enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} guardPost;
|
|
|
|
|
// 22 GAMEOBJECT_TYPE_SPELLCASTER
|
|
|
|
|
struct
|
|
|
|
@@ -350,13 +371,15 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 conditionID1; // 5 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 playerCast; // 6 playerCast, enum { false, true, }; Default: false
|
|
|
|
|
uint32 NeverUsableWhileMounted; // 7 Never Usable While Mounted, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 8 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} spellCaster;
|
|
|
|
|
// 23 GAMEOBJECT_TYPE_MEETINGSTONE
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 minLevel; // 0 minLevel, int, Min value: 0, Max value: 65535, Default value: 1
|
|
|
|
|
uint32 maxLevel; // 1 maxLevel, int, Min value: 1, Max value: 65535, Default value: 60
|
|
|
|
|
uint32 Unused; // 0 Unused, int, Min value: 0, Max value: 65535, Default value: 1
|
|
|
|
|
uint32 Unused2; // 1 Unused, int, Min value: 1, Max value: 65535, Default value: 60
|
|
|
|
|
uint32 areaID; // 2 areaID, References: AreaTable, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} meetingStone;
|
|
|
|
|
// 24 GAMEOBJECT_TYPE_FLAGSTAND
|
|
|
|
|
struct
|
|
|
|
@@ -374,6 +397,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 GiganticAOI; // 10 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InfiniteAOI; // 11 Infinite AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 cooldown; // 12 cooldown, int, Min value: 0, Max value: 2147483647, Default value: 3000
|
|
|
|
|
uint32 InteractRadiusOverride; // 13 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} flagStand;
|
|
|
|
|
// 25 GAMEOBJECT_TYPE_FISHINGHOLE
|
|
|
|
|
struct
|
|
|
|
@@ -383,6 +407,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 minRestock; // 2 minRestock, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 maxRestock; // 3 maxRestock, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 open; // 4 open, References: Lock_, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} fishingHole;
|
|
|
|
|
// 26 GAMEOBJECT_TYPE_FLAGDROP
|
|
|
|
|
struct
|
|
|
|
@@ -397,6 +422,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 GiganticAOI; // 7 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InfiniteAOI; // 8 Infinite AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 cooldown; // 9 cooldown, int, Min value: 0, Max value: 2147483647, Default value: 3000
|
|
|
|
|
uint32 InteractRadiusOverride; // 10 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} flagDrop;
|
|
|
|
|
// 27 GAMEOBJECT_TYPE_MINI_GAME
|
|
|
|
|
struct
|
|
|
|
@@ -437,6 +463,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 UncontestedTime; // 25 Uncontested Time, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 FrequentHeartbeat; // 26 Frequent Heartbeat, enum { false, true, }; Default: false
|
|
|
|
|
uint32 EnablingWorldStateExpression; // 27 Enabling World State Expression, References: WorldStateExpression, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 28 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} controlZone;
|
|
|
|
|
// 30 GAMEOBJECT_TYPE_AURA_GENERATOR
|
|
|
|
|
struct
|
|
|
|
@@ -448,6 +475,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 auraID2; // 4 auraID2, References: Spell, NoValue = 0
|
|
|
|
|
uint32 conditionID2; // 5 conditionID2, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 serverOnly; // 6 serverOnly, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 7 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} auraGenerator;
|
|
|
|
|
// 31 GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY
|
|
|
|
|
struct
|
|
|
|
@@ -463,6 +491,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 LargeAOI; // 8 Large AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 GiganticAOI; // 9 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 Legacy; // 10 Legacy, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 11 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} dungeonDifficulty;
|
|
|
|
|
// 32 GAMEOBJECT_TYPE_BARBER_CHAIR
|
|
|
|
|
struct
|
|
|
|
@@ -470,6 +499,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 chairheight; // 0 chairheight, int, Min value: 0, Max value: 2, Default value: 1
|
|
|
|
|
int32 HeightOffset; // 1 Height Offset (inches), int, Min value: -100, Max value: 100, Default value: 0
|
|
|
|
|
uint32 SitAnimKit; // 2 Sit Anim Kit, References: AnimKit, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} barberChair;
|
|
|
|
|
// 33 GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING
|
|
|
|
|
struct
|
|
|
|
@@ -501,11 +531,13 @@ struct GameObjectTemplate
|
|
|
|
|
int32 Thexoffsetofthedestructiblenameplateifitisenabled;// 24 The x offset (in hundredths) of the destructible nameplate, if it is enabled, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
|
|
|
|
|
int32 Theyoffsetofthedestructiblenameplateifitisenabled;// 25 The y offset (in hundredths) of the destructible nameplate, if it is enabled, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
|
|
|
|
|
int32 Thezoffsetofthedestructiblenameplateifitisenabled;// 26 The z offset (in hundredths) of the destructible nameplate, if it is enabled, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 27 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} destructibleBuilding;
|
|
|
|
|
// 34 GAMEOBJECT_TYPE_GUILD_BANK
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 conditionID1; // 0 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} guildbank;
|
|
|
|
|
// 35 GAMEOBJECT_TYPE_TRAPDOOR
|
|
|
|
|
struct
|
|
|
|
@@ -518,6 +550,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 GiganticAOI; // 5 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InfiniteAOI; // 6 Infinite AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 DoorisOpaque; // 7 Door is Opaque (Disable portal on close), enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 8 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} trapdoor;
|
|
|
|
|
// 36 GAMEOBJECT_TYPE_NEW_FLAG
|
|
|
|
|
struct
|
|
|
|
@@ -536,23 +569,27 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 worldState1; // 11 worldState1, References: WorldState, NoValue = 0
|
|
|
|
|
uint32 ReturnonDefenderInteract; // 12 Return on Defender Interact, enum { false, true, }; Default: false
|
|
|
|
|
uint32 SpawnVignette; // 13 Spawn Vignette, References: vignette, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 14 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} newflag;
|
|
|
|
|
// 37 GAMEOBJECT_TYPE_NEW_FLAG_DROP
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 open; // 0 open, References: Lock_, NoValue = 0
|
|
|
|
|
uint32 SpawnVignette; // 1 Spawn Vignette, References: vignette, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} newflagdrop;
|
|
|
|
|
// 38 GAMEOBJECT_TYPE_GARRISON_BUILDING
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
int32 SpawnMap; // 0 Spawn Map, References: Map, NoValue = -1
|
|
|
|
|
uint32 InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} garrisonBuilding;
|
|
|
|
|
// 39 GAMEOBJECT_TYPE_GARRISON_PLOT
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 PlotInstance; // 0 Plot Instance, References: GarrPlotInstance, NoValue = 0
|
|
|
|
|
int32 SpawnMap; // 1 Spawn Map, References: Map, NoValue = -1
|
|
|
|
|
uint32 InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} garrisonPlot;
|
|
|
|
|
// 40 GAMEOBJECT_TYPE_CLIENT_CREATURE
|
|
|
|
|
struct
|
|
|
|
@@ -592,6 +629,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 SpellVisual4; // 20 Spell Visual 4, References: SpellVisual, NoValue = 0
|
|
|
|
|
uint32 SpellVisual5; // 21 Spell Visual 5, References: SpellVisual, NoValue = 0
|
|
|
|
|
uint32 SpawnVignette; // 22 Spawn Vignette, References: vignette, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 23 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} capturePoint;
|
|
|
|
|
// 43 GAMEOBJECT_TYPE_PHASEABLE_MO
|
|
|
|
|
struct
|
|
|
|
@@ -600,12 +638,14 @@ struct GameObjectTemplate
|
|
|
|
|
int32 AreaNameSet; // 1 Area Name Set (Index), int, Min value: -2147483648, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 DoodadSetA; // 2 Doodad Set A, int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 DoodadSetB; // 3 Doodad Set B, int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 4 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} phaseableMO;
|
|
|
|
|
// 44 GAMEOBJECT_TYPE_GARRISON_MONUMENT
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 TrophyTypeID; // 0 Trophy Type ID, References: TrophyType, NoValue = 0
|
|
|
|
|
uint32 TrophyInstanceID; // 1 Trophy Instance ID, References: TrophyInstance, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} garrisonMonument;
|
|
|
|
|
// 45 GAMEOBJECT_TYPE_GARRISON_SHIPMENT
|
|
|
|
|
struct
|
|
|
|
@@ -613,11 +653,13 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 ShipmentContainer; // 0 Shipment Container, References: CharShipmentContainer, NoValue = 0
|
|
|
|
|
uint32 GiganticAOI; // 1 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 LargeAOI; // 2 Large AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} garrisonShipment;
|
|
|
|
|
// 46 GAMEOBJECT_TYPE_GARRISON_MONUMENT_PLAQUE
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 TrophyInstanceID; // 0 Trophy Instance ID, References: TrophyInstance, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} garrisonMonumentPlaque;
|
|
|
|
|
// 47 GAMEOBJECT_TYPE_ITEM_FORGE
|
|
|
|
|
struct
|
|
|
|
@@ -627,7 +669,9 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 IgnoreBoundingBox; // 2 Ignore Bounding Box, enum { false, true, }; Default: false
|
|
|
|
|
uint32 CameraMode; // 3 Camera Mode, References: CameraMode, NoValue = 0
|
|
|
|
|
uint32 FadeRegionRadius; // 4 Fade Region Radius, int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 ForgeType; // 5 Forge Type, enum { Artifact Forge, Relic Forge, Heart Forge, }; Default: Relic Forge
|
|
|
|
|
uint32 ForgeType; // 5 Forge Type, enum { Artifact Forge, Relic Forge, Heart Forge, Soulbind Forge, Anima Reservoir, }; Default: Relic Forge
|
|
|
|
|
uint32 InteractRadiusOverride; // 6 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 GarrTalentTreeID; // 7 GarrTalentTree ID, References: GarrTalentTree, NoValue = 0
|
|
|
|
|
} itemForge;
|
|
|
|
|
// 48 GAMEOBJECT_TYPE_UI_LINK
|
|
|
|
|
struct
|
|
|
|
@@ -637,17 +681,19 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 GiganticAOI; // 2 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 spellFocusType; // 3 spellFocusType, References: SpellFocusObject, NoValue = 0
|
|
|
|
|
uint32 radius; // 4 radius, int, Min value: 0, Max value: 50, Default value: 10
|
|
|
|
|
uint32 InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} UILink;
|
|
|
|
|
// 49 GAMEOBJECT_TYPE_KEYSTONE_RECEPTACLE
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} KeystoneReceptacle;
|
|
|
|
|
// 50 GAMEOBJECT_TYPE_GATHERING_NODE
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 open; // 0 open, References: Lock_, NoValue = 0
|
|
|
|
|
uint32 chestLoot; // 1 chestLoot, References: Treasure, NoValue = 0
|
|
|
|
|
uint32 level; // 2 level, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 Unused; // 2 Unused, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 notInCombat; // 3 notInCombat, enum { false, true, }; Default: false
|
|
|
|
|
uint32 trivialSkillLow; // 4 trivialSkillLow, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
|
uint32 trivialSkillHigh; // 5 trivialSkillHigh, int, Min value: 0, Max value: 65535, Default value: 0
|
|
|
|
@@ -657,7 +703,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 openTextID; // 9 openTextID, References: BroadcastText, NoValue = 0
|
|
|
|
|
uint32 floatingTooltip; // 10 floatingTooltip, enum { false, true, }; Default: false
|
|
|
|
|
uint32 conditionID1; // 11 conditionID1, References: PlayerCondition, NoValue = 0
|
|
|
|
|
uint32 XPLevelRange; // 12 XP Level Range, References: ContentTuning, NoValue = 0
|
|
|
|
|
int32 Unused2; // 12 Unused, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 xpDifficulty; // 13 xpDifficulty, enum { No Exp, Trivial, Very Small, Small, Substandard, Standard, High, Epic, Dungeon, 5, }; Default: No Exp
|
|
|
|
|
uint32 spell; // 14 spell, References: Spell, NoValue = 0
|
|
|
|
|
uint32 GiganticAOI; // 15 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
@@ -669,6 +715,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 PlayOpenAnimationonOpening; // 21 Play Open Animation on Opening, enum { false, true, }; Default: false
|
|
|
|
|
uint32 turnpersonallootsecurityoff; // 22 turn personal loot security off, enum { false, true, }; Default: false
|
|
|
|
|
uint32 ClearObjectVignetteonOpening; // 23 Clear Object Vignette on Opening, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InteractRadiusOverride; // 24 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} gatheringNode;
|
|
|
|
|
// 51 GAMEOBJECT_TYPE_CHALLENGE_MODE_REWARD
|
|
|
|
|
struct
|
|
|
|
@@ -677,6 +724,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0
|
|
|
|
|
uint32 open; // 2 open, References: Lock_, NoValue = 0
|
|
|
|
|
uint32 openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 4 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} challengeModeReward;
|
|
|
|
|
// 52 GAMEOBJECT_TYPE_MULTI
|
|
|
|
|
struct
|
|
|
|
@@ -698,6 +746,7 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 DoodadSetC; // 3 Doodad Set C, int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
int32 SpawnMap; // 4 Spawn Map, References: Map, NoValue = -1
|
|
|
|
|
int32 AreaNameSet; // 5 Area Name Set (Index), int, Min value: -2147483648, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 6 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} siegeableMO;
|
|
|
|
|
// 55 GAMEOBJECT_TYPE_PVP_REWARD
|
|
|
|
|
struct
|
|
|
|
@@ -706,15 +755,50 @@ struct GameObjectTemplate
|
|
|
|
|
uint32 WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0
|
|
|
|
|
uint32 open; // 2 open, References: Lock_, NoValue = 0
|
|
|
|
|
uint32 openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 4 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} pvpReward;
|
|
|
|
|
// 56 GAMEOBJECT_TYPE_FUTURE_PATCH_1
|
|
|
|
|
// 56 GAMEOBJECT_TYPE_PLAYER_CHOICE_CHEST
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
} futurePatch1;
|
|
|
|
|
// 57 GAMEOBJECT_TYPE_FUTURE_PATCH_2
|
|
|
|
|
uint32 spell; // 0 spell, References: Spell, NoValue = 0
|
|
|
|
|
uint32 WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0
|
|
|
|
|
uint32 GiganticAOI; // 2 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 PlayerChoice; // 3 Player Choice, References: PlayerChoice, NoValue = 0
|
|
|
|
|
uint32 MawPowerFilter; // 4 Maw Power Filter, References: MawPowerFilter, NoValue = 0
|
|
|
|
|
uint32 Script; // 5 Script, References: SpellScript, NoValue = 0
|
|
|
|
|
uint32 SpellVisual1; // 6 Spell Visual 1, References: SpellVisual, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 7 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
uint32 Dontupdateplayerinteractability; // 8 Don't update player interactability, enum { false, true, }; Default: false
|
|
|
|
|
} playerChoiceChest;
|
|
|
|
|
// 57 GAMEOBJECT_TYPE_LEGENDARY_FORGE
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
} futurePatch2;
|
|
|
|
|
uint32 PlayerChoice; // 0 Player Choice, References: PlayerChoice, NoValue = 0
|
|
|
|
|
uint32 CustomItemBonusFilter; // 1 Custom Item Bonus Filter, References: CustomItemBonusFilter, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} legendaryForge;
|
|
|
|
|
// 58 GAMEOBJECT_TYPE_GARR_TALENT_TREE
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 UiMapID; // 0 Ui Map ID, References: UiMap, NoValue = 0
|
|
|
|
|
uint32 GarrTalentTreeID; // 1 GarrTalentTree ID, References: GarrTalentTree, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} garrTalentTree;
|
|
|
|
|
// 59 GAMEOBJECT_TYPE_WEEKLY_REWARD_CHEST
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 WhenAvailable; // 0 When Available, References: GameObjectDisplayInfo, NoValue = 0
|
|
|
|
|
uint32 open; // 1 open, References: Lock_, NoValue = 0
|
|
|
|
|
uint32 InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
|
|
|
|
} weeklyRewardChest;
|
|
|
|
|
// 60 GAMEOBJECT_TYPE_CLIENT_MODEL
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 LargeAOI; // 0 Large AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 GiganticAOI; // 1 Gigantic AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 InfiniteAOI; // 2 Infinite AOI, enum { false, true, }; Default: false
|
|
|
|
|
uint32 TrueInfiniteAOI; // 3 True Infinite AOI (programmer only!), enum { false, true, }; Default: false
|
|
|
|
|
} clientModel;
|
|
|
|
|
struct
|
|
|
|
|
{
|
|
|
|
|
uint32 data[MAX_GAMEOBJECT_DATA];
|
|
|
|
@@ -753,23 +837,24 @@ struct GameObjectTemplate
|
|
|
|
|
{
|
|
|
|
|
switch (type)
|
|
|
|
|
{
|
|
|
|
|
case GAMEOBJECT_TYPE_DOOR: return door.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_BUTTON: return button.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_QUESTGIVER: return questgiver.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_CHEST: return chest.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRAP: return trap.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_GOOBER: return goober.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_AREADAMAGE: return areaDamage.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_CAMERA: return camera.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_FLAGSTAND: return flagStand.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_FISHINGHOLE: return fishingHole.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_FLAGDROP: return flagDrop.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_NEW_FLAG: return newflag.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_NEW_FLAG_DROP: return newflagdrop.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_CAPTURE_POINT: return capturePoint.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_DOOR: return door.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_BUTTON: return button.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_QUESTGIVER: return questgiver.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_CHEST: return chest.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRAP: return trap.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_GOOBER: return goober.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_AREADAMAGE: return areaDamage.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_CAMERA: return camera.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_FLAGSTAND: return flagStand.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_FISHINGHOLE: return fishingHole.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_FLAGDROP: return flagDrop.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_NEW_FLAG: return newflag.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_NEW_FLAG_DROP: return newflagdrop.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_CAPTURE_POINT: return capturePoint.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_CHALLENGE_MODE_REWARD: return challengeModeReward.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_PVP_REWARD: return pvpReward.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_PVP_REWARD: return pvpReward.open;
|
|
|
|
|
case GAMEOBJECT_TYPE_WEEKLY_REWARD_CHEST: return weeklyRewardChest.open;
|
|
|
|
|
default: return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -814,19 +899,17 @@ struct GameObjectTemplate
|
|
|
|
|
|
|
|
|
|
uint32 GetAutoCloseTime() const
|
|
|
|
|
{
|
|
|
|
|
uint32 autoCloseTime = 0;
|
|
|
|
|
switch (type)
|
|
|
|
|
{
|
|
|
|
|
case GAMEOBJECT_TYPE_DOOR: autoCloseTime = door.autoClose; break;
|
|
|
|
|
case GAMEOBJECT_TYPE_BUTTON: autoCloseTime = button.autoClose; break;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRAP: autoCloseTime = trap.autoClose; break;
|
|
|
|
|
case GAMEOBJECT_TYPE_GOOBER: autoCloseTime = goober.autoClose; break;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRANSPORT: autoCloseTime = transport.autoClose; break;
|
|
|
|
|
case GAMEOBJECT_TYPE_AREADAMAGE: autoCloseTime = areaDamage.autoClose; break;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRAPDOOR: autoCloseTime = trapdoor.autoClose; break;
|
|
|
|
|
default: break;
|
|
|
|
|
case GAMEOBJECT_TYPE_DOOR: return door.autoClose;
|
|
|
|
|
case GAMEOBJECT_TYPE_BUTTON: return button.autoClose;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRAP: return trap.autoClose;
|
|
|
|
|
case GAMEOBJECT_TYPE_GOOBER: return goober.autoClose;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRANSPORT: return transport.autoClose;
|
|
|
|
|
case GAMEOBJECT_TYPE_AREADAMAGE: return areaDamage.autoClose;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRAPDOOR: return trapdoor.autoClose;
|
|
|
|
|
default: return 0;
|
|
|
|
|
}
|
|
|
|
|
return autoCloseTime; // prior to 3.0.3, conversion was / 0x10000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uint32 GetLootId() const
|
|
|
|
@@ -881,6 +964,7 @@ struct GameObjectTemplate
|
|
|
|
|
case GAMEOBJECT_TYPE_FLAGDROP: return flagDrop.InfiniteAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_TRAPDOOR: return trapdoor.InfiniteAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_NEW_FLAG: return newflag.InfiniteAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_CLIENT_MODEL: return newflag.InfiniteAOI != 0;
|
|
|
|
|
default: return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -908,6 +992,8 @@ struct GameObjectTemplate
|
|
|
|
|
case GAMEOBJECT_TYPE_GARRISON_SHIPMENT: return garrisonShipment.GiganticAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_UI_LINK: return UILink.GiganticAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.GiganticAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_PLAYER_CHOICE_CHEST: return gatheringNode.GiganticAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_CLIENT_MODEL: return gatheringNode.GiganticAOI != 0;
|
|
|
|
|
default: return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -918,10 +1004,12 @@ struct GameObjectTemplate
|
|
|
|
|
{
|
|
|
|
|
case GAMEOBJECT_TYPE_CHEST: return chest.LargeAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_GENERIC: return generic.LargeAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_GOOBER: return goober.LargeAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY: return dungeonDifficulty.LargeAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_GARRISON_SHIPMENT: return garrisonShipment.LargeAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_ITEM_FORGE: return itemForge.LargeAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.LargeAOI != 0;
|
|
|
|
|
case GAMEOBJECT_TYPE_CLIENT_MODEL: return clientModel.LargeAOI != 0;
|
|
|
|
|
default: return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|