aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2018-09-17 12:40:42 +0200
committerShauren <shauren.trinity@gmail.com>2021-11-08 23:49:15 +0100
commit7c062db94b1c2d28329c5f0ddc2fee74a6c07c35 (patch)
tree1dadb4090c639f8c4192c8be538394bd97cd659e /src/server/game/Spells/SpellEffects.cpp
parent5ed891a0f0c65cf4c844ccb209952352f4241193 (diff)
Core/Player: Clean up duel related code. Fix a check for abusive client behavior, sanitize pointer usage, code style. Closes #22374.
(cherry picked from commit 003cc56d70c9b07f4484cb82484091ab4013895a)
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index c43f441dd6c..2560a6d94c2 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -3579,21 +3579,9 @@ void Spell::EffectDuel()
target->SendDirectMessage(worldPacket);
// create duel-info
- DuelInfo* duel = new DuelInfo;
- duel->initiator = caster;
- duel->opponent = target;
- duel->startTime = 0;
- duel->startTimer = 0;
- duel->isMounted = (GetSpellInfo()->Id == 62875); // Mounted Duel
- caster->duel = duel;
-
- DuelInfo* duel2 = new DuelInfo;
- duel2->initiator = caster;
- duel2->opponent = caster;
- duel2->startTime = 0;
- duel2->startTimer = 0;
- duel2->isMounted = (GetSpellInfo()->Id == 62875); // Mounted Duel
- target->duel = duel2;
+ bool isMounted = (GetSpellInfo()->Id == 62875);
+ caster->duel = std::make_unique<DuelInfo>(target, caster, isMounted);
+ target->duel = std::make_unique<DuelInfo>(caster, caster, isMounted);
caster->SetDuelArbiter(go->GetGUID());
target->SetDuelArbiter(go->GetGUID());