aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-02-08 21:36:31 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-08 21:36:31 +0100
commit8e2d1e328ebec60c76d65651b268ec3ad2ce26fc (patch)
treecebc7c310a12d3983151000e766e96a510a8a2d4 /src/server/game/Entities
parentd3fc34a203d97ca0aa076bc939286d601629fe70 (diff)
Core/Spells: Pass cast item level to triggered spells
* Fixes value on trinkets like Ignition Mage's Fuse
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Object/Object.cpp3
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 5b167621aec..5eadfac5f24 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2734,6 +2734,9 @@ SpellCastResult WorldObject::CastSpell(CastSpellTargetArg const& targets, uint32
spell->SetSpellValue(pair.first, pair.second);
spell->m_CastItem = args.CastItem;
+ if (args.OriginalCastItemLevel)
+ spell->m_castItemLevel = *args.OriginalCastItemLevel;
+
return spell->prepare(*targets.Targets, args.TriggeringAura);
}
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 0116dea0f61..bc725a0a529 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -8119,8 +8119,8 @@ void Player::ApplyArtifactPowerRank(Item* artifact, ArtifactPowerRankEntry const
else if (apply)
{
CastSpellExtraArgs args;
- args.TriggerFlags = TRIGGERED_FULL_MASK;
- args.CastItem = artifact;
+ args.SetTriggerFlags(TRIGGERED_FULL_MASK);
+ args.SetCastItem(artifact);
if (artifactPowerRank->AuraPointsOverride)
for (SpellEffectInfo const& spellEffectInfo : spellInfo->GetEffects())
args.AddSpellMod(SpellValueMod(SPELLVALUE_BASE_POINT0 + spellEffectInfo.EffectIndex), artifactPowerRank->AuraPointsOverride);