diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-03-02 15:43:34 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-03-02 15:43:34 +0100 |
| commit | 23624ed75abc8cbb77bb2e24a08e0836e4c41db5 (patch) | |
| tree | 593c0a5f9e4b75404ff3d30729ac08a7ea93f690 /src/server/game/Entities/Creature | |
| parent | dac15a32a6361a5e47e17b621828369b1b7a4d84 (diff) | |
Core: Updated to 11.1.0
Diffstat (limited to 'src/server/game/Entities/Creature')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 11 | ||||
| -rw-r--r-- | src/server/game/Entities/Creature/GossipDef.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Creature/GossipDef.h | 8 |
3 files changed, 13 insertions, 8 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 675d0fff723..8e982a78800 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3128,7 +3128,7 @@ uint8 Creature::GetLevelForTarget(WorldObject const* target) const int32 scalingLevelMin = m_unitData->ScalingLevelMin; int32 scalingLevelMax = m_unitData->ScalingLevelMax; int32 scalingLevelDelta = m_unitData->ScalingLevelDelta; - int32 scalingFactionGroup = m_unitData->ScalingFactionGroup; + uint8 scalingFactionGroup = m_unitData->ScalingFactionGroup; int32 targetLevel = unitTarget->m_unitData->EffectiveLevel; if (!targetLevel) targetLevel = unitTarget->GetLevel(); @@ -3872,7 +3872,12 @@ void Creature::BuildValuesCreate(ByteBuffer* data, UF::UpdateFieldFlag flags, Pl m_unitData->WriteCreate(*data, flags, this, target); if (m_vendorData) + { + if constexpr (WowCS::IsIndirectFragment(WowCS::EntityFragment::FVendor_C)) + *data << uint8(1); // IndirectFragmentActive: FVendor_C + m_vendorData->WriteCreate(*data, flags, this, target); + } } void Creature::BuildValuesUpdate(ByteBuffer* data, UF::UpdateFieldFlag flags, Player const* target) const @@ -3947,8 +3952,6 @@ void Creature::ValuesUpdateForPlayerWithMaskSender::operator()(Player const* pla void Creature::ClearUpdateMask(bool remove) { - if (m_vendorData) - m_values.ClearChangesMask(&Creature::m_vendorData); - + m_values.ClearChangesMask(&Creature::m_vendorData); Unit::ClearUpdateMask(remove); } diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp index 8ad8698c812..d5785084f88 100644 --- a/src/server/game/Entities/Creature/GossipDef.cpp +++ b/src/server/game/Entities/Creature/GossipDef.cpp @@ -41,7 +41,7 @@ GossipMenu::GossipMenu() GossipMenu::~GossipMenu() = default; uint32 GossipMenu::AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOptionNpc optionNpc, std::string optionText, uint32 language, - GossipOptionFlags flags, Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint32 boxMoney, + GossipOptionFlags flags, Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint64 boxMoney, std::string boxText, Optional<int32> spellId, Optional<int32> overrideIconId, uint32 sender, uint32 action) { ASSERT(_menuItems.size() <= GOSSIP_MAX_MENU_ITEMS); diff --git a/src/server/game/Entities/Creature/GossipDef.h b/src/server/game/Entities/Creature/GossipDef.h index 778d2964b6b..524a98a687e 100644 --- a/src/server/game/Entities/Creature/GossipDef.h +++ b/src/server/game/Entities/Creature/GossipDef.h @@ -91,6 +91,7 @@ enum class GossipOptionNpc : uint8 ForgeMaster = 55, CharacterBanker = 56, AccountBanker = 57, + ProfessionRespec = 58, Count }; @@ -113,7 +114,8 @@ enum class GossipOptionFlags : int32 { None = 0x0, QuestLabelPrepend = 0x1, - HideOptionIDFromClient = 0x2 + HideOptionIDFromClient = 0x2, + PlayMovieLabelPrepend = 0x4 }; struct GossipMenuItem @@ -126,7 +128,7 @@ struct GossipMenuItem GossipOptionFlags Flags; Optional<int32> GossipNpcOptionID; bool BoxCoded; - uint32 BoxMoney; + uint64 BoxMoney; std::string BoxText; Optional<int32> SpellID; Optional<int32> OverrideIconID; @@ -162,7 +164,7 @@ class TC_GAME_API GossipMenu ~GossipMenu(); uint32 AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOptionNpc optionNpc, std::string optionText, uint32 language, GossipOptionFlags flags, - Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint32 boxMoney, + Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint64 boxMoney, std::string boxText, Optional<int32> spellId, Optional<int32> overrideIconId, uint32 sender, uint32 action); void AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action); void AddMenuItem(GossipMenuItems const& menuItem, uint32 sender, uint32 action); |
