Scripts/the_barrens: Fix quest "The Affray" and some cleanup.

Closes: #4764
Also Closes: #6354
This commit is contained in:
4m1g0
2012-05-01 02:11:44 +02:00
parent b72617a77b
commit 7a8f6b84c9
+9 -29
View File
@@ -408,42 +408,26 @@ public:
return; return;
if (!pWarrior->isAlive() && pWarrior->GetQuestStatus(1719) == QUEST_STATUS_INCOMPLETE) { if (!pWarrior->isAlive() && pWarrior->GetQuestStatus(1719) == QUEST_STATUS_INCOMPLETE) {
EventInProgress = false;
DoScriptText(SAY_TWIGGY_FLATHEAD_DOWN, me); DoScriptText(SAY_TWIGGY_FLATHEAD_DOWN, me);
pWarrior->FailQuest(1719); pWarrior->FailQuest(1719);
for (uint8 i = 0; i < 6; ++i) for (uint8 i = 0; i < 6; ++i) // unsummon challengers
{ {
if (AffrayChallenger[i]) if (AffrayChallenger[i])
{ {
Creature* creature = Unit::GetCreature((*me), AffrayChallenger[i]); Creature* creature = Unit::GetCreature((*me), AffrayChallenger[i]);
if (creature) { if (creature && creature->isAlive())
if (creature->isAlive()) creature->DisappearAndDie();
{
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
creature->setDeathState(JUST_DIED);
} }
} }
}
AffrayChallenger[i] = 0;
Challenger_down[i] = false;
}
if (BigWill) if (BigWill) // unsummon bigWill
{ {
Creature* creature = Unit::GetCreature((*me), BigWill); Creature* creature = Unit::GetCreature((*me), BigWill);
if (creature) if (creature && creature->isAlive())
{ creature->DisappearAndDie();
if (creature->isAlive())
{
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
creature->setDeathState(JUST_DIED);
} }
} Reset();
}
BigWill = 0;
} }
if (!EventGrate && EventInProgress) if (!EventGrate && EventInProgress)
@@ -453,7 +437,7 @@ public:
if (x >= -1684 && x <= -1674 && y >= -4334 && y <= -4324) { if (x >= -1684 && x <= -1674 && y >= -4334 && y <= -4324) {
pWarrior->AreaExploredOrEventHappens(1719); pWarrior->AreaExploredOrEventHappens(1719);
DoScriptText(SAY_TWIGGY_FLATHEAD_BEGIN, me); DoScriptText(SAY_TWIGGY_FLATHEAD_BEGIN, me, pWarrior);
for (uint8 i = 0; i < 6; ++i) for (uint8 i = 0; i < 6; ++i)
{ {
@@ -525,11 +509,7 @@ public:
if (!creature || !creature->isAlive()) if (!creature || !creature->isAlive())
{ {
DoScriptText(SAY_TWIGGY_FLATHEAD_OVER, me); DoScriptText(SAY_TWIGGY_FLATHEAD_OVER, me);
EventInProgress = false; Reset();
EventBigWill = false;
EventGrate = false;
PlayerGUID = 0;
Wave = 0;
} }
} }
} else Wave_Timer -= diff; } else Wave_Timer -= diff;