@@ -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