[11644] Sets rage to zero and energie to 100% when entering battleground and arena

Move related code to Aura::HandleArenaPreparation (un-)apply code.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
DaC 2011-06-18 20:27:43 +04:00 committed by VladimirMangos
parent 9300842b04
commit 92e0b5941f
3 changed files with 18 additions and 10 deletions

View file

@ -1220,13 +1220,8 @@ void BattleGround::AddPlayer(Player *plr)
plr->UnsummonPetTemporaryIfAny();
if(GetStatus() == STATUS_WAIT_JOIN) // not started yet
{
plr->CastSpell(plr, SPELL_ARENA_PREPARATION, true);
plr->SetHealth(plr->GetMaxHealth());
plr->SetPower(POWER_MANA, plr->GetMaxPower(POWER_MANA));
}
plr->CastSpell(plr, SPELL_ARENA_DAMPENING, true);
}
else

View file

@ -8041,13 +8041,26 @@ void Aura::HandleManaShield(bool apply, bool Real)
void Aura::HandleArenaPreparation(bool apply, bool Real)
{
if(!Real)
if (!Real)
return;
if(apply)
GetTarget()->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PREPARATION);
Unit* target = GetTarget();
target->ApplyModFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PREPARATION, apply);
if (apply)
{
// max regen powers at start preparation
target->SetHealth(target->GetMaxHealth());
target->SetPower(POWER_MANA, target->GetMaxPower(POWER_MANA));
target->SetPower(POWER_ENERGY, target->GetMaxPower(POWER_ENERGY));
}
else
GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PREPARATION);
{
// reset originally 0 powers at start/leave
target->SetPower(POWER_RAGE, 0);
target->SetPower(POWER_RUNIC_POWER, 0);
}
}
/**

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "11643"
#define REVISION_NR "11644"
#endif // __REVISION_NR_H__