Merge pull request #15385 from Tonghost/3.3.5

Core/Scripts: Remove duplicate code
(cherry picked from commit 5c68223ab6)
This commit is contained in:
joschiwald
2015-08-30 16:12:51 +02:00
committed by Carbenium
parent 010b2182c1
commit 7a2b87cefb

View File

@@ -936,6 +936,28 @@ public:
{
npc_garments_of_questsAI(Creature* creature) : npc_escortAI(creature)
{
switch (me->GetEntry())
{
case ENTRY_SHAYA:
quest = QUEST_MOON;
break;
case ENTRY_ROBERTS:
quest = QUEST_LIGHT_1;
break;
case ENTRY_DOLF:
quest = QUEST_LIGHT_2;
break;
case ENTRY_KORJA:
quest = QUEST_SPIRIT;
break;
case ENTRY_DG_KEL:
quest = QUEST_DARKNESS;
break;
default:
quest = 0;
break;
}
Reset();
}
@@ -945,6 +967,7 @@ public:
bool CanRun;
uint32 RunAwayTimer;
uint32 quest;
void Reset() override
{
@@ -976,93 +999,20 @@ public:
if (Player* player = caster->ToPlayer())
{
switch (me->GetEntry())
if (quest && player->GetQuestStatus(quest) == QUEST_STATUS_INCOMPLETE)
{
case ENTRY_SHAYA:
if (player->GetQuestStatus(QUEST_MOON) == QUEST_STATUS_INCOMPLETE)
{
if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
Talk(SAY_THANKS, caster);
CanRun = true;
}
else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
Talk(SAY_HEALED, caster);
IsHealed = true;
}
}
break;
case ENTRY_ROBERTS:
if (player->GetQuestStatus(QUEST_LIGHT_1) == QUEST_STATUS_INCOMPLETE)
{
if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
Talk(SAY_THANKS, caster);
CanRun = true;
}
else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
Talk(SAY_HEALED, caster);
IsHealed = true;
}
}
break;
case ENTRY_DOLF:
if (player->GetQuestStatus(QUEST_LIGHT_2) == QUEST_STATUS_INCOMPLETE)
{
if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
Talk(SAY_THANKS, caster);
CanRun = true;
}
else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
Talk(SAY_HEALED, caster);
IsHealed = true;
}
}
break;
case ENTRY_KORJA:
if (player->GetQuestStatus(QUEST_SPIRIT) == QUEST_STATUS_INCOMPLETE)
{
if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
Talk(SAY_THANKS, caster);
CanRun = true;
}
else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
Talk(SAY_HEALED, caster);
IsHealed = true;
}
}
break;
case ENTRY_DG_KEL:
if (player->GetQuestStatus(QUEST_DARKNESS) == QUEST_STATUS_INCOMPLETE)
{
if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
Talk(SAY_THANKS, caster);
CanRun = true;
}
else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
Talk(SAY_HEALED, caster);
IsHealed = true;
}
}
break;
if (IsHealed && !CanRun && spell->Id == SPELL_FORTITUDE_R1)
{
Talk(SAY_THANKS, caster);
CanRun = true;
}
else if (!IsHealed && spell->Id == SPELL_LESSER_HEAL_R2)
{
CasterGUID = caster->GetGUID();
me->SetStandState(UNIT_STAND_STATE_STAND);
Talk(SAY_HEALED, caster);
IsHealed = true;
}
}
// give quest credit, not expect any special quest objectives