Skip to content

Commit 87cb789

Browse files
committed
Scripts/Icecrown: fix attacking creatures from Blessed Banner
1 parent 2d7b8d5 commit 87cb789

1 file changed

Lines changed: 18 additions & 39 deletions

File tree

src/server/scripts/Northrend/zone_icecrown.cpp

Lines changed: 18 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -412,9 +412,16 @@ struct npc_blessed_banner : public ScriptedAI
412412

413413
void MoveInLineOfSight(Unit* /*who*/) override { }
414414

415-
void JustSummoned(Creature* Summoned) override
415+
void JustSummoned(Creature* summon) override
416416
{
417-
Summons.Summon(Summoned);
417+
Summons.Summon(summon);
418+
if (summon->GetEntry() == NPC_SCOURGE_DRUDGE || summon->GetEntry() == NPC_REANIMATED_CAPTAIN || summon->GetEntry() == NPC_HIDEOUS_PLAGEBRINGER || summon->GetEntry() == NPC_HALOF_THE_DEATHBRINGER)
419+
{
420+
summon->SetHomePosition(DalforsPos[2]);
421+
summon->SetReactState(REACT_PASSIVE);
422+
summon->EngageWithTarget(me);
423+
SetAggressiveStateAfter(2s, summon, true);
424+
}
418425
}
419426

420427
void JustDied(Unit* /*killer*/) override
@@ -567,36 +574,16 @@ struct npc_blessed_banner : public ScriptedAI
567574
if (Creature* LK = GetClosestCreatureWithEntry(me, NPC_LK, 100))
568575
LK->AI()->Talk(LK_TALK_3);
569576
}
570-
if (Creature* tempsum = DoSummon(NPC_SCOURGE_DRUDGE, Mason3Pos[0]))
571-
{
572-
tempsum->SetHomePosition(DalforsPos[2]);
573-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
574-
}
577+
DoSummon(NPC_SCOURGE_DRUDGE, Mason3Pos[0]);
575578
if (urand(0, 1) == 0)
576579
{
577-
if (Creature* tempsum = DoSummon(NPC_HIDEOUS_PLAGEBRINGER, Mason1Pos[0]))
578-
{
579-
tempsum->SetHomePosition(DalforsPos[2]);
580-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
581-
}
582-
if (Creature* tempsum = DoSummon(NPC_HIDEOUS_PLAGEBRINGER, Mason2Pos[0]))
583-
{
584-
tempsum->SetHomePosition(DalforsPos[2]);
585-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
586-
}
580+
DoSummon(NPC_HIDEOUS_PLAGEBRINGER, Mason1Pos[0]);
581+
DoSummon(NPC_HIDEOUS_PLAGEBRINGER, Mason2Pos[0]);
587582
}
588583
else
589584
{
590-
if (Creature* tempsum = DoSummon(NPC_REANIMATED_CAPTAIN, Mason1Pos[0]))
591-
{
592-
tempsum->SetHomePosition(DalforsPos[2]);
593-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
594-
}
595-
if (Creature* tempsum = DoSummon(NPC_REANIMATED_CAPTAIN, Mason2Pos[0]))
596-
{
597-
tempsum->SetHomePosition(DalforsPos[2]);
598-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
599-
}
585+
DoSummon(NPC_REANIMATED_CAPTAIN, Mason1Pos[0]);
586+
DoSummon(NPC_REANIMATED_CAPTAIN, Mason2Pos[0]);
600587
}
601588

602589
PhaseCount++;
@@ -611,22 +598,14 @@ struct npc_blessed_banner : public ScriptedAI
611598
{
612599
if (Creature* LK = GetClosestCreatureWithEntry(me, NPC_LK, 100))
613600
LK->AI()->Talk(LK_TALK_4);
614-
if (Creature* tempsum = DoSummon(NPC_SCOURGE_DRUDGE, Mason1Pos[0]))
615-
{
616-
tempsum->SetHomePosition(DalforsPos[2]);
617-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
618-
}
619-
if (Creature* tempsum = DoSummon(NPC_SCOURGE_DRUDGE, Mason2Pos[0]))
620-
{
621-
tempsum->SetHomePosition(DalforsPos[2]);
622-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
623-
}
601+
602+
DoSummon(NPC_SCOURGE_DRUDGE, Mason1Pos[0]);
603+
DoSummon(NPC_SCOURGE_DRUDGE, Mason2Pos[0]);
604+
624605
if (Creature* tempsum = DoSummon(NPC_HALOF_THE_DEATHBRINGER, DalforsPos[0]))
625606
{
626607
HalofSpawned = true;
627608
guidHalof = tempsum->GetGUID();
628-
tempsum->SetHomePosition(DalforsPos[2]);
629-
tempsum->AI()->AttackStart(GetClosestCreatureWithEntry(me, NPC_BLESSED_BANNER, 100));
630609
}
631610
}
632611
break;

0 commit comments

Comments
 (0)