diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-12-04 15:13:20 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-12-04 15:13:20 +0100 |
| commit | e98e1283ea0034baf6be9aa2ffb386eb5582801b (patch) | |
| tree | b1dd854d88e6e049d26b208bb259cdc7d31f29f8 /src/server/game/Entities/GameObject | |
| parent | de7c03c8385780f05530c2b3cf952a712d5f8f00 (diff) | |
Core: Updated to 10.0.2
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 25 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObjectData.h | 19 |
2 files changed, 38 insertions, 6 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 70e088a23ea..8b3946d22c5 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -2927,8 +2927,9 @@ void GameObject::Use(Unit* user) if (!item) return; - WorldPackets::Azerite::OpenHeartForge openHeartForge; - openHeartForge.ForgeGUID = GetGUID(); + WorldPackets::GameObject::GameObjectInteraction openHeartForge; + openHeartForge.ObjectGUID = GetGUID(); + openHeartForge.InteractionType = PlayerInteractionType::AzeriteForge; player->SendDirectMessage(openHeartForge.Write()); break; } @@ -2943,9 +2944,25 @@ void GameObject::Use(Unit* user) if (!player) return; - WorldPackets::GameObject::GameObjectUILink gameObjectUILink; + WorldPackets::GameObject::GameObjectInteraction gameObjectUILink; gameObjectUILink.ObjectGUID = GetGUID(); - gameObjectUILink.UILink = GetGOInfo()->UILink.UILinkType; + switch (GetGOInfo()->UILink.UILinkType) + { + case 0: + gameObjectUILink.InteractionType = PlayerInteractionType::AdventureJournal; + break; + case 1: + gameObjectUILink.InteractionType = PlayerInteractionType::ObliterumForge; + break; + case 2: + gameObjectUILink.InteractionType = PlayerInteractionType::ScrappingMachine; + break; + case 3: + gameObjectUILink.InteractionType = PlayerInteractionType::ItemInteraction; + break; + default: + break; + } player->SendDirectMessage(gameObjectUILink.Write()); return; } diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 8521e460cd6..0e08bb26fea 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -40,7 +40,7 @@ struct GameObjectTemplate int32 ContentTuningId; union { - // 0 GAMEOBJECT_TYPE_DOOR + // 0 GAMEOBJECT_TYPE_DOOR struct { uint32 startOpen; // 0 startOpen, enum { false, true, }; Default: false @@ -56,6 +56,7 @@ struct GameObjectTemplate 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 + uint32 Collisionupdatedelayafteropen; // 13 Collision update delay(ms) after open, int, Min value: 0, Max value: 2147483647, Default value: 0 } door; // 1 GAMEOBJECT_TYPE_BUTTON struct @@ -196,6 +197,13 @@ struct GameObjectTemplate 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 + uint32 gossipID; // 10 gossipID, References: Gossip, NoValue = 0 + uint32 spellFocusType2; // 11 spellFocusType 2, References: SpellFocusObject, NoValue = 0 + uint32 spellFocusType3; // 12 spellFocusType 3, References: SpellFocusObject, NoValue = 0 + uint32 spellFocusType4; // 13 spellFocusType 4, References: SpellFocusObject, NoValue = 0 + uint32 Profession; // 14 Profession, enum { First Aid, Blacksmithing, Leatherworking, Alchemy, Herbalism, Cooking, Mining, Tailoring, Engineering, Enchanting, Fishing, Skinning, Jewelcrafting, Inscription, Archaeology, }; Default: Blacksmithing + uint32 Profession2; // 15 Profession 2, enum { First Aid, Blacksmithing, Leatherworking, Alchemy, Herbalism, Cooking, Mining, Tailoring, Engineering, Enchanting, Fishing, Skinning, Jewelcrafting, Inscription, Archaeology, }; Default: Blacksmithing + uint32 Profession3; // 16 Profession 3, enum { First Aid, Blacksmithing, Leatherworking, Alchemy, Herbalism, Cooking, Mining, Tailoring, Engineering, Enchanting, Fishing, Skinning, Jewelcrafting, Inscription, Archaeology, }; Default: Blacksmithing } spellFocus; // 9 GAMEOBJECT_TYPE_TEXT struct @@ -483,7 +491,7 @@ struct GameObjectTemplate // 31 GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY struct { - uint32 InstanceType; // 0 Instance Type, enum { Not Instanced, Party Dungeon, Raid Dungeon, PVP Battlefield, Arena Battlefield, Scenario, }; Default: Party Dungeon + uint32 InstanceType; // 0 Instance Type, enum { Not Instanced, Party Dungeon, Raid Dungeon, PVP Battlefield, Arena Battlefield, Scenario, WoWLabs, }; Default: Party Dungeon uint32 DifficultyNormal; // 1 Difficulty Normal, References: animationdata, NoValue = 0 uint32 DifficultyHeroic; // 2 Difficulty Heroic, References: animationdata, NoValue = 0 uint32 DifficultyEpic; // 3 Difficulty Epic, References: animationdata, NoValue = 0 @@ -503,6 +511,7 @@ struct GameObjectTemplate 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 + uint32 CustomizationScope; // 4 Customization Scope, int, Min value: 0, Max value: 2147483647, Default value: 0 } barberChair; // 33 GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING struct @@ -794,6 +803,7 @@ struct GameObjectTemplate 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 + uint32 ExpansionLevel; // 3 Expansion Level, int, Min value: 0, Max value: 2147483647, Default value: 0 } weeklyRewardChest; // 60 GAMEOBJECT_TYPE_CLIENT_MODEL struct @@ -803,6 +813,11 @@ struct GameObjectTemplate uint32 InfiniteAOI; // 2 Infinite AOI, enum { false, true, }; Default: false uint32 TrueInfiniteAOI; // 3 True Infinite AOI (programmer only!), enum { false, true, }; Default: false } clientModel; + // 61 GAMEOBJECT_TYPE_CRAFTING_TABLE + struct + { + uint32 Profession; // 0 Profession, enum { First Aid, Blacksmithing, Leatherworking, Alchemy, Herbalism, Cooking, Mining, Tailoring, Engineering, Enchanting, Fishing, Skinning, Jewelcrafting, Inscription, Archaeology, }; Default: Blacksmithing + } craftingTable; struct { uint32 data[MAX_GAMEOBJECT_DATA]; |
