aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/SpellEffects.cpp5
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp2
2 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 97e82426e9d..40a8c853bb0 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2923,7 +2923,7 @@ void Spell::EffectTaunt(SpellEffIndex /*effIndex*/)
unitTarget->ToCreature()->AI()->AttackStart(m_caster);
}
-void Spell::EffectWeaponDmg(SpellEffIndex /*effIndex*/)
+void Spell::EffectWeaponDmg(SpellEffIndex effIndex)
{
if (effectHandleMode != SPELL_EFFECT_HANDLE_LAUNCH_TARGET)
return;
@@ -2934,8 +2934,9 @@ void Spell::EffectWeaponDmg(SpellEffIndex /*effIndex*/)
// multiple weapon dmg effect workaround
// execute only the last weapon damage
// and handle all effects at once
- for (SpellEffectInfo const* effect : GetEffects())
+ for (uint8 index = effIndex + 1; index < MAX_SPELL_EFFECTS; ++index)
{
+ SpellEffectInfo const* effect = GetEffect(index);
if (!effect)
continue;
switch (effect->Effect)
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index ef52f6ebd95..1af687aef08 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -168,6 +168,8 @@ public:
// fill the gameobject data and save to the db
object->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), player->GetPhaseMask());
+ guidLow = object->GetSpawnId();
+
// delete the old object and do a clean load from DB with a fresh new GameObject instance.
// this is required to avoid weird behavior and memory leaks
delete object;