Core/GameObjects: Updated gameobject template structure to 9.0

Port From (https://github.com/TrinityCore/TrinityCore/commit/364f6eec9a4d6d044666a172a2823161e0e3a418)
This commit is contained in:
hondacrx
2020-12-13 18:13:51 -05:00
parent b50b4265ad
commit ed190daffa
8 changed files with 245 additions and 56 deletions
@@ -75,9 +75,12 @@ namespace Framework.Constants
SiegeableMulti = 53,
SiegeableMo = 54,
PvpReward = 55,
FuturePatch1 = 56,
FuturePatch2 = 57,
Max = 58
PlayerChoiceChest = 56,
LegendaryForge = 57,
GarrTalentTree = 58,
WeeklyRewardChest = 59,
ClientModel = 60,
Max = 61
}
public enum GameObjectState
@@ -1789,12 +1789,15 @@ namespace Game.Entities
return;
//required lvl checks!
uint level = player.GetLevel();
if (level < info.MeetingStone.minLevel)
return;
level = targetPlayer.GetLevel();
if (level < info.MeetingStone.minLevel)
return;
var userLevels = Global.DB2Mgr.GetContentTuningData(info.ContentTuningId, player.m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
if (userLevels.HasValue)
if (player.GetLevel() < userLevels.Value.MaxLevel)
return;
var targetLevels = Global.DB2Mgr.GetContentTuningData(info.ContentTuningId, targetPlayer.m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
if (targetLevels.HasValue)
if (targetPlayer.GetLevel() < targetLevels.Value.MaxLevel)
return;
if (info.entry == 194097)
spellId = 61994; // Ritual of Summoning
+140 -38
View File
@@ -53,7 +53,7 @@ namespace Game.Entities
public float size;
[FieldOffset(52)]
public int RequiredLevel;
public uint ContentTuningId;
[FieldOffset(56)]
public string AIName;
@@ -73,6 +73,9 @@ namespace Game.Entities
[FieldOffset(68)]
public chest Chest;
[FieldOffset(68)]
public binder Binder;
[FieldOffset(68)]
public generic Generic;
@@ -103,6 +106,12 @@ namespace Game.Entities
[FieldOffset(68)]
public moTransport MoTransport;
[FieldOffset(68)]
public duelflag DuelFlag;
[FieldOffset(68)]
public fishingnode FishingNode;
[FieldOffset(68)]
public ritual Ritual;
@@ -208,6 +217,21 @@ namespace Game.Entities
[FieldOffset(68)]
public pvpReward PvpReward;
[FieldOffset(68)]
public playerchoicechest PlayerChoiceChest;
[FieldOffset(68)]
public legendaryforge LegendaryForge;
[FieldOffset(68)]
public garrtalenttree GarrTalentTree;
[FieldOffset(68)]
public weeklyrewardchest WeeklyRewardChest;
[FieldOffset(68)]
public clientmodel ClientModel;
[FieldOffset(68)]
public raw Raw;
@@ -572,7 +596,7 @@ namespace Game.Entities
stats.Data[i] = Raw.data[i];
}
stats.RequiredLevel = (uint)RequiredLevel;
stats.ContentTuningId = ContentTuningId;
QueryData.Stats = stats;
}
@@ -597,9 +621,9 @@ namespace Game.Entities
public uint GiganticAOI; // 9 Gigantic AOI, enum { false, true, }; Default: false
public uint InfiniteAOI; // 10 Infinite AOI, enum { false, true, }; Default: false
public uint NotLOSBlocking; // 11 Not LOS Blocking, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 12 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct button
{
public uint startOpen; // 0 startOpen, enum { false, true, }; Default: false
@@ -612,9 +636,9 @@ namespace Game.Entities
public uint closeTextID; // 7 closeTextID, References: BroadcastText, NoValue = 0
public uint requireLOS; // 8 require LOS, enum { false, true, }; Default: false
public uint conditionID1; // 9 conditionID1, References: PlayerCondition, NoValue = 0
public uint InteractRadiusOverride; // 10 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct questgiver
{
public uint open; // 0 open, References: Lock_, NoValue = 0
@@ -629,9 +653,9 @@ namespace Game.Entities
public uint GiganticAOI; // 9 Gigantic AOI, enum { false, true, }; Default: false
public uint conditionID1; // 10 conditionID1, References: PlayerCondition, NoValue = 0
public uint NeverUsableWhileMounted; // 11 Never Usable While Mounted, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 12 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct chest
{
public uint open; // 0 open, References: Lock_, NoValue = 0
@@ -643,7 +667,7 @@ namespace Game.Entities
public uint triggeredEvent; // 6 triggeredEvent, References: GameEvents, NoValue = 0
public uint linkedTrap; // 7 linkedTrap, References: GameObjects, NoValue = 0
public uint questID; // 8 questID, References: QuestV2, NoValue = 0
public uint level; // 9 level, int, Min value: 0, Max value: 65535, Default value: 0
public uint InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
public uint requireLOS; // 10 require LOS, enum { false, true, }; Default: false
public uint leaveLoot; // 11 leaveLoot, enum { false, true, }; Default: false
public uint notInCombat; // 12 notInCombat, enum { false, true, }; Default: false
@@ -652,9 +676,9 @@ namespace Game.Entities
public uint usegrouplootrules; // 15 use group loot rules, enum { false, true, }; Default: false
public uint floatingTooltip; // 16 floatingTooltip, enum { false, true, }; Default: false
public uint conditionID1; // 17 conditionID1, References: PlayerCondition, NoValue = 0
public uint xpLevel; // 18 XP Level Range, References: ContentTuning, NoValue = 0
public uint Unused; // 18 Unused, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
public uint xpDifficulty; // 19 xpDifficulty, enum { No Exp, Trivial, Very Small, Small, Substandard, Standard, High, Epic, Dungeon, 5, }; Default: No Exp
public uint lootLevel; // 20 lootLevel, int, Min value: 0, Max value: 123, Default value: 0
public uint Unused2; // 20 Unused, int, Min value: 0, Max value: 123, Default value: 0
public uint GroupXP; // 21 Group XP, enum { false, true, }; Default: false
public uint DamageImmuneOK; // 22 Damage Immune OK, enum { false, true, }; Default: false
public uint trivialSkillLow; // 23 trivialSkillLow, int, Min value: 0, Max value: 65535, Default value: 0
@@ -670,6 +694,10 @@ namespace Game.Entities
public uint chestPushLoot; // 33 chest Push Loot, References: Treasure, NoValue = 0
}
public struct binder
{
public uint InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct generic
{
@@ -682,13 +710,13 @@ namespace Game.Entities
public uint conditionID1; // 6 conditionID1, References: PlayerCondition, NoValue = 0
public uint LargeAOI; // 7 Large AOI, enum { false, true, }; Default: false
public uint UseGarrisonOwnerGuildColors; // 8 Use Garrison Owner Guild Colors, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct trap
{
public uint open; // 0 open, References: Lock_, NoValue = 0
public uint level; // 1 level, int, Min value: 0, Max value: 65535, Default value: 0
public uint Unused; // 1 Unused, int, Min value: 0, Max value: 65535, Default value: 0
public uint radius; // 2 radius, int, Min value: 0, Max value: 100, Default value: 0
public uint spell; // 3 spell, References: Spell, NoValue = 0
public uint charges; // 4 charges, int, Min value: 0, Max value: 65535, Default value: 1
@@ -708,9 +736,9 @@ namespace Game.Entities
public uint requireLOS; // 18 require LOS, enum { false, true, }; Default: false
public uint TriggerCondition; // 19 Trigger Condition, References: PlayerCondition, NoValue = 0
public uint Checkallunits; // 20 Check all units (spawned traps only check players), enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 21 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct chair
{
public uint chairslots; // 0 chairslots, int, Min value: 1, Max value: 5, Default value: 1
@@ -718,9 +746,9 @@ namespace Game.Entities
public uint onlyCreatorUse; // 2 onlyCreatorUse, enum { false, true, }; Default: false
public uint triggeredEvent; // 3 triggeredEvent, References: GameEvents, NoValue = 0
public uint conditionID1; // 4 conditionID1, References: PlayerCondition, NoValue = 0
public uint InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct spellFocus
{
public uint spellFocusType; // 0 spellFocusType, References: SpellFocusObject, NoValue = 0
@@ -732,9 +760,9 @@ namespace Game.Entities
public uint floatingTooltip; // 6 floatingTooltip, enum { false, true, }; Default: false
public uint floatOnWater; // 7 floatOnWater, enum { false, true, }; Default: false
public uint conditionID1; // 8 conditionID1, References: PlayerCondition, NoValue = 0
public uint InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct text
{
public uint pageID; // 0 pageID, References: PageText, NoValue = 0
@@ -743,9 +771,9 @@ namespace Game.Entities
public uint allowMounted; // 3 allowMounted, enum { false, true, }; Default: false
public uint conditionID1; // 4 conditionID1, References: PlayerCondition, NoValue = 0
public uint NeverUsableWhileMounted; // 5 Never Usable While Mounted, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 6 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct goober
{
public uint open; // 0 open, References: Lock_, NoValue = 0
@@ -780,9 +808,10 @@ namespace Game.Entities
public uint SortFarZ; // 29 Sort Far Z, enum { false, true, }; Default: false
public uint SyncAnimationtoObjectLifetime; // 30 Sync Animation to Object Lifetime (global track only), enum { false, true, }; Default: false
public uint NoFuzzyHit; // 31 No Fuzzy Hit, enum { false, true, }; Default: false
public uint LargeAOI; // 32 Large AOI, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 33 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct transport
{
public uint Timeto2ndfloor; // 0 Time to 2nd floor (ms), int, Min value: 0, Max value: 2147483647, Default value: 0
@@ -809,9 +838,9 @@ namespace Game.Entities
public uint Reached10thfloor; // 21 Reached 10th floor, References: GameEvents, NoValue = 0
public uint onlychargeheightcheck; // 22 only charge height check. (yards), int, Min value: 0, Max value: 65535, Default value: 0
public uint onlychargetimecheck; // 23 only charge time check, int, Min value: 0, Max value: 65535, Default value: 0
public uint InteractRadiusOverride; // 24 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct areadamage
{
public uint open; // 0 open, References: Lock_, NoValue = 0
@@ -822,9 +851,9 @@ namespace Game.Entities
public uint autoClose; // 5 autoClose (ms), int, Min value: 0, Max value: 2147483647, Default value: 0
public uint openTextID; // 6 openTextID, References: BroadcastText, NoValue = 0
public uint closeTextID; // 7 closeTextID, References: BroadcastText, NoValue = 0
public uint InteractRadiusOverride; // 8 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct camera
{
public uint open; // 0 open, References: Lock_, NoValue = 0
@@ -832,9 +861,9 @@ namespace Game.Entities
public uint eventID; // 2 eventID, References: GameEvents, NoValue = 0
public uint openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0
public uint conditionID1; // 4 conditionID1, References: PlayerCondition, NoValue = 0
public uint InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct moTransport
{
public uint taxiPathID; // 0 taxiPathID, References: TaxiPath, NoValue = 0
@@ -848,8 +877,19 @@ namespace Game.Entities
public uint allowstopping; // 8 allow stopping, enum { false, true, }; Default: false
public uint InitStopped; // 9 Init Stopped, enum { false, true, }; Default: false
public uint TrueInfiniteAOI; // 10 True Infinite AOI (programmer only!), enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 11 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
public uint Allowareaexplorationwhileonthistransport;// 12 Allow area exploration while on this transport, enum { false, true, }; Default: false
}
public struct duelflag
{
public uint InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct fishingnode
{
public uint InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct ritual
{
@@ -862,23 +902,23 @@ namespace Game.Entities
public uint castersGrouped; // 6 castersGrouped, enum { false, true, }; Default: true
public uint ritualNoTargetCheck; // 7 ritualNoTargetCheck, enum { false, true, }; Default: true
public uint conditionID1; // 8 conditionID1, References: PlayerCondition, NoValue = 0
public uint InteractRadiusOverride; // 9 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct mailbox
{
public uint conditionID1; // 0 conditionID1, References: PlayerCondition, NoValue = 0
public uint InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct guardpost
{
public uint creatureID; // 0 creatureID, References: Creature, NoValue = 0
public uint charges; // 1 charges, int, Min value: 0, Max value: 65535, Default value: 1
public uint Preferonlyifinlineofsight; // 2 Prefer only if in line of sight (expensive), enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct spellcaster
{
public uint spell; // 0 spell, References: Spell, NoValue = 0
@@ -889,17 +929,17 @@ namespace Game.Entities
public uint conditionID1; // 5 conditionID1, References: PlayerCondition, NoValue = 0
public uint playerCast; // 6 playerCast, enum { false, true, }; Default: false
public uint NeverUsableWhileMounted; // 7 Never Usable While Mounted, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 8 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct meetingstone
{
public uint minLevel; // 0 minLevel, int, Min value: 0, Max value: 65535, Default value: 1
public uint maxLevel; // 1 maxLevel, int, Min value: 1, Max value: 65535, Default value: 60
public uint Unused; // 0 Unused, int, Min value: 0, Max value: 65535, Default value: 1
public uint Unused2; // 1 Unused, int, Min value: 1, Max value: 65535, Default value: 60
public uint areaID; // 2 areaID, References: AreaTable, NoValue = 0
public uint InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct flagstand
{
public uint open; // 0 open, References: Lock_, NoValue = 0
@@ -915,9 +955,9 @@ namespace Game.Entities
public uint GiganticAOI; // 10 Gigantic AOI, enum { false, true, }; Default: false
public uint InfiniteAOI; // 11 Infinite AOI, enum { false, true, }; Default: false
public uint cooldown; // 12 cooldown, int, Min value: 0, Max value: 2147483647, Default value: 3000
public uint InteractRadiusOverride; // 13 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct fishinghole
{
public uint radius; // 0 radius, int, Min value: 0, Max value: 50, Default value: 0
@@ -925,9 +965,9 @@ namespace Game.Entities
public uint minRestock; // 2 minRestock, int, Min value: 0, Max value: 65535, Default value: 0
public uint maxRestock; // 3 maxRestock, int, Min value: 0, Max value: 65535, Default value: 0
public uint open; // 4 open, References: Lock_, NoValue = 0
public uint InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct flagdrop
{
public uint open; // 0 open, References: Lock_, NoValue = 0
@@ -940,9 +980,9 @@ namespace Game.Entities
public uint GiganticAOI; // 7 Gigantic AOI, enum { false, true, }; Default: false
public uint InfiniteAOI; // 8 Infinite AOI, enum { false, true, }; Default: false
public uint cooldown; // 9 cooldown, int, Min value: 0, Max value: 2147483647, Default value: 3000
public uint InteractRadiusOverride; // 10 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct controlzone
{
public uint radius; // 0 radius, int, Min value: 0, Max value: 100, Default value: 10
@@ -973,9 +1013,9 @@ namespace Game.Entities
public uint UncontestedTime; // 25 Uncontested Time, int, Min value: 0, Max value: 65535, Default value: 0
public uint FrequentHeartbeat; // 26 Frequent Heartbeat, enum { false, true, }; Default: false
public uint EnablingWorldStateExpression; // 27 Enabling World State Expression, References: WorldStateExpression, NoValue = 0
public uint InteractRadiusOverride; // 28 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct auraGenerator
{
public uint startOpen; // 0 startOpen, enum { false, true, }; Default: true
@@ -985,9 +1025,9 @@ namespace Game.Entities
public uint auraID2; // 4 auraID2, References: Spell, NoValue = 0
public uint conditionID2; // 5 conditionID2, References: PlayerCondition, NoValue = 0
public uint serverOnly; // 6 serverOnly, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 7 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct dungeonDifficulty
{
public uint InstanceType; // 0 Instance Type, enum { Not Instanced, Party Dungeon, Raid Dungeon, PVP Battlefield, Arena Battlefield, Scenario, }; Default: Party Dungeon
@@ -1001,17 +1041,17 @@ namespace Game.Entities
public uint LargeAOI; // 8 Large AOI, enum { false, true, }; Default: false
public uint GiganticAOI; // 9 Gigantic AOI, enum { false, true, }; Default: false
public uint Legacy; // 10 Legacy, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 11 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct barberChair
{
public uint chairheight; // 0 chairheight, int, Min value: 0, Max value: 2, Default value: 1
public int HeightOffset; // 1 Height Offset (inches), int, Min value: -100, Max value: 100, Default value: 0
public uint SitAnimKit; // 2 Sit Anim Kit, References: AnimKit, NoValue = 0
public uint InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct destructiblebuilding
{
public int Unused; // 0 Unused, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
@@ -1041,15 +1081,15 @@ namespace Game.Entities
public int 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
public int 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
public int 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
public uint InteractRadiusOverride; // 27 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct guildbank
{
public uint conditionID1; // 0 conditionID1, References: PlayerCondition, NoValue = 0
public uint InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct trapDoor
{
public uint AutoLink; // 0 Auto Link, enum { false, true, }; Default: false
@@ -1060,6 +1100,7 @@ namespace Game.Entities
public uint GiganticAOI; // 5 Gigantic AOI, enum { false, true, }; Default: false
public uint InfiniteAOI; // 6 Infinite AOI, enum { false, true, }; Default: false
public uint DoorisOpaque; // 7 Door is Opaque (Disable portal on close), enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 8 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct newflag
@@ -1078,23 +1119,27 @@ namespace Game.Entities
public uint worldState1; // 11 worldState1, References: WorldState, NoValue = 0
public uint ReturnonDefenderInteract; // 12 Return on Defender Interact, enum { false, true, }; Default: false
public uint SpawnVignette; // 13 Spawn Vignette, References: vignette, NoValue = 0
public uint InteractRadiusOverride; // 14 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct newflagdrop
{
public uint open; // 0 open, References: Lock_, NoValue = 0
public uint SpawnVignette; // 1 Spawn Vignette, References: vignette, NoValue = 0
public uint InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct Garrisonbuilding
{
public int SpawnMap; // 0 Spawn Map, References: Map, NoValue = -1
public uint InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct garrisonplot
{
public uint PlotInstance; // 0 Plot Instance, References: GarrPlotInstance, NoValue = 0
public int SpawnMap; // 1 Spawn Map, References: Map, NoValue = -1
public uint InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct clientcreature
@@ -1134,6 +1179,7 @@ namespace Game.Entities
public uint SpellVisual4; // 20 Spell Visual 4, References: SpellVisual, NoValue = 0
public uint SpellVisual5; // 21 Spell Visual 5, References: SpellVisual, NoValue = 0
public uint SpawnVignette; // 22 Spawn Vignette, References: vignette, NoValue = 0
public uint InteractRadiusOverride; // 23 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct phaseablemo
@@ -1142,12 +1188,14 @@ namespace Game.Entities
public int AreaNameSet; // 1 Area Name Set (Index), int, Min value: -2147483648, Max value: 2147483647, Default value: 0
public uint DoodadSetA; // 2 Doodad Set A, int, Min value: 0, Max value: 2147483647, Default value: 0
public uint DoodadSetB; // 3 Doodad Set B, int, Min value: 0, Max value: 2147483647, Default value: 0
public uint InteractRadiusOverride; // 4 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct garrisonmonument
{
public uint TrophyTypeID; // 0 Trophy Type ID, References: TrophyType, NoValue = 0
public uint TrophyInstanceID; // 1 Trophy Instance ID, References: TrophyInstance, NoValue = 0
public uint InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct garrisonshipment
@@ -1155,11 +1203,13 @@ namespace Game.Entities
public uint ShipmentContainer; // 0 Shipment Container, References: CharShipmentContainer, NoValue = 0
public uint GiganticAOI; // 1 Gigantic AOI, enum { false, true, }; Default: false
public uint LargeAOI; // 2 Large AOI, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct garrisonmonumentplaque
{
public uint TrophyInstanceID; // 0 Trophy Instance ID, References: TrophyInstance, NoValue = 0
public uint InteractRadiusOverride; // 1 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct itemforge
@@ -1169,7 +1219,9 @@ namespace Game.Entities
public uint IgnoreBoundingBox; // 2 Ignore Bounding Box, enum { false, true, }; Default: false
public uint CameraMode; // 3 Camera Mode, References: CameraMode, NoValue = 0
public uint FadeRegionRadius; // 4 Fade Region Radius, int, Min value: 0, Max value: 2147483647, Default value: 0
public uint ForgeType; // 5 Forge Type, enum { Artifact Forge, Relic Forge, Heart Forge }; Default: Relic Forge
public uint ForgeType; // 5 Forge Type, enum { Artifact Forge, Relic Forge, Heart Forge, Soulbind Forge, Anima Reservoir, }; Default: Relic Forge
public uint InteractRadiusOverride; // 6 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
public uint GarrTalentTreeID; // 7 GarrTalentTree ID, References: GarrTalentTree, NoValue = 0
}
public struct uilink
@@ -1179,15 +1231,19 @@ namespace Game.Entities
public uint GiganticAOI; // 2 Gigantic AOI, enum { false, true, }; Default: false
public uint spellFocusType; // 3 spellFocusType, References: SpellFocusObject, NoValue = 0
public uint radius; // 4 radius, int, Min value: 0, Max value: 50, Default value: 10
public uint InteractRadiusOverride; // 5 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct keystonereceptacle { }
public struct keystonereceptacle
{
public uint InteractRadiusOverride; // 0 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct gatheringnode
{
public uint open; // 0 open, References: Lock_, NoValue = 0
public uint chestLoot; // 1 chestLoot, References: Treasure, NoValue = 0
public uint level; // 2 level, int, Min value: 0, Max value: 65535, Default value: 0
public uint Unused; // 2 Unused, int, Min value: 0, Max value: 65535, Default value: 0
public uint notInCombat; // 3 notInCombat, enum { false, true, }; Default: false
public uint trivialSkillLow; // 4 trivialSkillLow, int, Min value: 0, Max value: 65535, Default value: 0
public uint trivialSkillHigh; // 5 trivialSkillHigh, int, Min value: 0, Max value: 65535, Default value: 0
@@ -1197,7 +1253,7 @@ namespace Game.Entities
public uint openTextID; // 9 openTextID, References: BroadcastText, NoValue = 0
public uint floatingTooltip; // 10 floatingTooltip, enum { false, true, }; Default: false
public uint conditionID1; // 11 conditionID1, References: PlayerCondition, NoValue = 0
public uint XPLevelRange; // 12 XP Level Range, References: ContentTuning, NoValue = 0
public uint Unused2; // 12 Unused, int, Min value: -2147483648, Max value: 2147483647, Default value: 0
public uint xpDifficulty; // 13 xpDifficulty, enum { No Exp, Trivial, Very Small, Small, Substandard, Standard, High, Epic, Dungeon, 5, }; Default: No Exp
public uint spell; // 14 spell, References: Spell, NoValue = 0
public uint GiganticAOI; // 15 Gigantic AOI, enum { false, true, }; Default: false
@@ -1209,6 +1265,7 @@ namespace Game.Entities
public uint PlayOpenAnimationonOpening; // 21 Play Open Animation on Opening, enum { false, true, }; Default: false
public uint turnpersonallootsecurityoff; // 22 turn personal loot security off, enum { false, true, }; Default: false
public uint ClearObjectVignetteonOpening; // 23 Clear Object Vignette on Opening, enum { false, true, }; Default: false
public uint InteractRadiusOverride; // 24 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct challengemodereward
@@ -1217,6 +1274,7 @@ namespace Game.Entities
public uint WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0
public uint open; // 2 open, References: Lock_, NoValue = 0
public uint openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0
public uint InteractRadiusOverride; // 4 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct multi
@@ -1238,6 +1296,7 @@ namespace Game.Entities
public uint DoodadSetC; // 3 Doodad Set C, int, Min value: 0, Max value: 2147483647, Default value: 0
public int SpawnMap; // 4 Spawn Map, References: Map, NoValue = -1
public int AreaNameSet; // 5 Area Name Set (Index), int, Min value: -2147483648, Max value: 2147483647, Default value: 0
public uint InteractRadiusOverride; // 6 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct pvpReward
@@ -1246,6 +1305,49 @@ namespace Game.Entities
public uint WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0
public uint open; // 2 open, References: Lock_, NoValue = 0
public uint openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0
public uint InteractRadiusOverride; // 4 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct playerchoicechest
{
public uint spell; // 0 spell, References: Spell, NoValue = 0
public uint WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0
public uint GiganticAOI; // 2 Gigantic AOI, enum { false, true, }; Default: false
public uint PlayerChoice; // 3 Player Choice, References: PlayerChoice, NoValue = 0
public uint MawPowerFilter; // 4 Maw Power Filter, References: MawPowerFilter, NoValue = 0
public uint Script; // 5 Script, References: SpellScript, NoValue = 0
public uint SpellVisual1; // 6 Spell Visual 1, References: SpellVisual, NoValue = 0
public uint InteractRadiusOverride; // 7 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
public uint Dontupdateplayerinteractability; // 8 Don't update player interactability, enum { false, true, }; Default: false
}
public struct legendaryforge
{
public uint PlayerChoice; // 0 Player Choice, References: PlayerChoice, NoValue = 0
public uint CustomItemBonusFilter; // 1 Custom Item Bonus Filter, References: CustomItemBonusFilter, NoValue = 0
public uint InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct garrtalenttree
{
public uint UiMapID; // 0 Ui Map ID, References: UiMap, NoValue = 0
public uint GarrTalentTreeID; // 1 GarrTalentTree ID, References: GarrTalentTree, NoValue = 0
public uint InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct weeklyrewardchest
{
public uint WhenAvailable; // 0 When Available, References: GameObjectDisplayInfo, NoValue = 0
public uint open; // 1 open, References: Lock_, NoValue = 0
public uint InteractRadiusOverride; // 2 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
}
public struct clientmodel
{
public uint LargeAOI; // 0 Large AOI, enum { false, true, }; Default: false
public uint GiganticAOI; // 1 Gigantic AOI, enum { false, true, }; Default: false
public uint InfiniteAOI; // 2 Infinite AOI, enum { false, true, }; Default: false
public uint TrueInfiniteAOI; // 3 True Infinite AOI (programmer only!), enum { false, true, }; Default: false
}
#endregion
}
+2 -2
View File
@@ -124,8 +124,8 @@ namespace Game.Entities
var area = CliDB.AreaTableStorage.LookupByKey(m_areaId);
if (area != null)
if (area.Id != 0)
m_zoneId = area.Id;
if (area.ParentAreaID != 0)
m_zoneId = area.ParentAreaID;
m_staticFloorZ = data.FloorZ;
}
+4 -4
View File
@@ -3683,7 +3683,7 @@ namespace Game
go.Raw.data[x] = db2go.PropValue[x];
}
go.RequiredLevel = 0;
go.ContentTuningId = 0;
go.ScriptId = 0;
_gameObjectTemplateStorage[db2go.Id] = go;
@@ -3695,8 +3695,8 @@ namespace Game
"Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9, Data10, Data11, Data12, " +
//21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
"Data13, Data14, Data15, Data16, Data17, Data18, Data19, Data20, Data21, Data22, Data23, Data24, Data25, Data26, Data27, Data28, " +
//37 38 39 40 41 42 44 44
"Data29, Data30, Data31, Data32, Data33, RequiredLevel, AIName, ScriptName FROM gameobject_template");
//37 38 39 40 41 42 43 44
"Data29, Data30, Data31, Data32, Data33, ContentTuningId, AIName, ScriptName FROM gameobject_template");
if (result.IsEmpty())
{
@@ -3726,7 +3726,7 @@ namespace Game
got.Raw.data[x] = result.Read<int>(8 + x);
}
got.RequiredLevel = result.Read<int>(42);
got.ContentTuningId = result.Read<uint>(42);
got.AIName = result.Read<string>(43);
got.ScriptId = Global.ObjectMgr.GetScriptId(result.Read<string>(44));
@@ -297,8 +297,7 @@ namespace Game.Networking.Packets
foreach (uint questItem in Stats.QuestItems)
statsData.WriteUInt32(questItem);
statsData.WriteUInt32(Stats.RequiredLevel);
statsData.WriteUInt32(Stats.ContentTuningId);
}
_worldPacket.WriteUInt32(statsData.GetSize());
@@ -745,7 +744,7 @@ namespace Game.Networking.Packets
public int[] Data = new int[SharedConst.MaxGOData];
public float Size;
public List<uint> QuestItems = new List<uint>();
public uint RequiredLevel;
public uint ContentTuningId;
}
class QuestCompletionNPC
@@ -0,0 +1,80 @@
ALTER TABLE `creature_template` DROP `FadeRegionRadius`;
ALTER TABLE `playerchoice_response`
ADD `ResponseIdentifier` smallint(5) unsigned NOT NULL AFTER `ResponseId`,
ADD `UiTextureKitID` int(11) NOT NULL DEFAULT '0' AFTER `GroupID`;
--
-- Table structure for table `playerchoice_response_reward_item_choice`
--
DROP TABLE IF EXISTS `playerchoice_response_reward_item_choice`;
CREATE TABLE `playerchoice_response_reward_item_choice` (
`ChoiceId` int(11) NOT NULL,
`ResponseId` int(11) NOT NULL,
`Index` int(10) unsigned NOT NULL,
`ItemId` int(10) unsigned NOT NULL DEFAULT '0',
`BonusListIDs` text,
`Quantity` int(11) NOT NULL DEFAULT '0',
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ChoiceId`,`ResponseId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Table structure for table `playerchoice_response_maw_power`
--
DROP TABLE IF EXISTS `playerchoice_response_maw_power`;
CREATE TABLE `playerchoice_response_maw_power` (
`ChoiceId` int(11) NOT NULL,
`ResponseId` int(11) NOT NULL,
`TypeArtFileID` int(11) DEFAULT '0',
`Rarity` int(11) DEFAULT '0',
`RarityColor` int(10) unsigned DEFAULT '0',
`SpellID` int(11) DEFAULT '0',
`MaxStacks` int(11) DEFAULT '0',
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ChoiceId`,`ResponseId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `quest_poi` ADD `NavigationPlayerConditionID` int(11) NOT NULL DEFAULT '0' AFTER `PlayerConditionID`;
ALTER TABLE `quest_poi_points` ADD `Z` int(11) NOT NULL DEFAULT '0' AFTER `Y`;
--
-- Table structure for table `quest_reward_choice_items`
--
DROP TABLE IF EXISTS `quest_reward_choice_items`;
CREATE TABLE `quest_reward_choice_items` (
`QuestID` int(10) unsigned NOT NULL,
`Type1` tinyint(3) unsigned DEFAULT '0',
`Type2` tinyint(3) unsigned DEFAULT '0',
`Type3` tinyint(3) unsigned DEFAULT '0',
`Type4` tinyint(3) unsigned DEFAULT '0',
`Type5` tinyint(3) unsigned DEFAULT '0',
`Type6` tinyint(3) unsigned DEFAULT '0',
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`QuestID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Table structure for table `quest_reward_display_spell`
--
DROP TABLE IF EXISTS `quest_reward_display_spell`;
CREATE TABLE `quest_reward_display_spell` (
`QuestID` int(10) unsigned NOT NULL,
`Idx` int(10) unsigned NOT NULL,
`SpellID` int(10) unsigned DEFAULT '0',
`PlayerConditionID` int(10) unsigned DEFAULT '0',
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`QuestID`,`Idx`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `quest_template`
ADD `ContentTuningID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `QuestPackageID`,
DROP `QuestLevel`,
DROP `ScalingFactionGroup`,
DROP `MaxScalingLevel`,
DROP `MinLevel`;
ALTER TABLE `scenario_poi` ADD `NavigationPlayerConditionID` int(11) NOT NULL DEFAULT '0' AFTER `PlayerConditionID`;
ALTER TABLE `scenario_poi_points` ADD `Z` int(11) NOT NULL DEFAULT '0' AFTER `Y`;
@@ -0,0 +1,2 @@
ALTER TABLE `gameobject_template` ADD `ContentTuningId` int(11) NOT NULL DEFAULT '0' AFTER `Data33`;
ALTER TABLE `gameobject_template` DROP `RequiredLevel`;