mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 02:46:33 +01:00
Scripts/Icecrown Citadel: Fixed crash in Blood-Queen Lana'thel script
Closes #234 Signed-off-by: Shauren <shauren.trinity@gmail.com>
This commit is contained in:
@@ -229,7 +229,8 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x01);
|
||||
me->SetFlying(false);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
AttackStart(me->getVictim());
|
||||
if (Unit *victim = me->SelectVictim())
|
||||
AttackStart(victim);
|
||||
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500, EVENT_GROUP_CANCELLABLE);
|
||||
break;
|
||||
default:
|
||||
@@ -266,19 +267,23 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
break;
|
||||
case EVENT_BLOOD_MIRROR:
|
||||
{
|
||||
Player* newOfftank = SelectRandomTarget(true);
|
||||
if (offtank != newOfftank)
|
||||
// victim can be NULL when this is processed in the same update tick as EVENT_AIR_PHASE
|
||||
if (me->getVictim())
|
||||
{
|
||||
offtank = newOfftank;
|
||||
if (offtank)
|
||||
Player* newOfftank = SelectRandomTarget(true);
|
||||
if (offtank != newOfftank)
|
||||
{
|
||||
offtank->CastSpell(me->getVictim(), SPELL_BLOOD_MIRROR_DAMAGE, true);
|
||||
me->getVictim()->CastSpell(offtank, SPELL_BLOOD_MIRROR_DUMMY, true);
|
||||
DoCastVictim(SPELL_BLOOD_MIRROR_VISUAL);
|
||||
if (Item* shadowsEdge = offtank->GetWeaponForAttack(BASE_ATTACK, true))
|
||||
if (!offtank->HasAura(SPELL_THIRST_QUENCHED) && shadowsEdge->GetEntry() == ITEM_SHADOW_S_EDGE && !offtank->HasAura(SPELL_GUSHING_WOUND))
|
||||
offtank->CastSpell(offtank, SPELL_GUSHING_WOUND, true);
|
||||
offtank = newOfftank;
|
||||
if (offtank)
|
||||
{
|
||||
offtank->CastSpell(me->getVictim(), SPELL_BLOOD_MIRROR_DAMAGE, true);
|
||||
me->getVictim()->CastSpell(offtank, SPELL_BLOOD_MIRROR_DUMMY, true);
|
||||
DoCastVictim(SPELL_BLOOD_MIRROR_VISUAL);
|
||||
if (Item* shadowsEdge = offtank->GetWeaponForAttack(BASE_ATTACK, true))
|
||||
if (!offtank->HasAura(SPELL_THIRST_QUENCHED) && shadowsEdge->GetEntry() == ITEM_SHADOW_S_EDGE && !offtank->HasAura(SPELL_GUSHING_WOUND))
|
||||
offtank->CastSpell(offtank, SPELL_GUSHING_WOUND, true);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500, EVENT_GROUP_CANCELLABLE);
|
||||
|
||||
Reference in New Issue
Block a user