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
committerTreeston <treeston.mmoc@gmail.com>2018-09-17 12:40:42 +0200
commit003cc56d70c9b07f4484cb82484091ab4013895a (patch)
tree2aa3a03352f76c891c1dccd8fbd392c89734318a /src/server/game/Spells/SpellEffects.cpp
parent97ade1321b6d18393202a1448f2b042fc1ff0546 (diff)
Core/Player: Clean up duel related code. Fix a check for abusive client behavior, sanitize pointer usage, code style. Closes #22374.
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 55c9df76914..2b318d165b1 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -4068,21 +4068,9 @@ void Spell::EffectDuel(SpellEffIndex effIndex)
target->SendDirectMessage(&data);
// 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->SetGuidValue(PLAYER_DUEL_ARBITER, pGameObj->GetGUID());
target->SetGuidValue(PLAYER_DUEL_ARBITER, pGameObj->GetGUID());