From 7c062db94b1c2d28329c5f0ddc2fee74a6c07c35 Mon Sep 17 00:00:00 2001 From: Treeston Date: Mon, 17 Sep 2018 12:40:42 +0200 Subject: 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) --- src/server/game/Spells/SpellEffects.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'src/server/game/Spells/SpellEffects.cpp') 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(target, caster, isMounted); + target->duel = std::make_unique(caster, caster, isMounted); caster->SetDuelArbiter(go->GetGUID()); target->SetDuelArbiter(go->GetGUID()); -- cgit v1.2.3