DB/Quest: Convert Escape from Umbrafen to SAI

Closes #24648
This commit is contained in:
offl
2020-05-21 00:28:41 +02:00
committed by Killyana
parent e80b66fd52
commit cfe6b651bc
3 changed files with 102 additions and 119 deletions

View File

@@ -133,7 +133,7 @@ void AddSC_netherstorm();
void AddSC_shadowmoon_valley();
void AddSC_shattrath_city();
void AddSC_terokkar_forest();
void AddSC_zangarmarsh();
// void AddSC_zangarmarsh();
// The name of this function should match:
// void Add${NameOfDirectory}Scripts()
@@ -256,5 +256,5 @@ void AddOutlandScripts()
AddSC_shadowmoon_valley();
AddSC_shattrath_city();
AddSC_terokkar_forest();
AddSC_zangarmarsh();
// AddSC_zangarmarsh();
}

View File

@@ -1,117 +0,0 @@
/*
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* ScriptData
SDName: Zangarmarsh
SD%Complete: 100
SDCategory: Zangarmarsh
EndScriptData */
/* ContentData
npc_kayra_longmane
EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "ScriptedEscortAI.h"
#include "Player.h"
#include "WorldSession.h"
/*######
## npc_kayra_longmane
######*/
enum Kayra
{
SAY_START = 0,
SAY_AMBUSH1 = 1,
SAY_PROGRESS = 2,
SAY_AMBUSH2 = 3,
SAY_END = 4,
QUEST_ESCAPE_FROM = 9752,
NPC_SLAVEBINDER = 18042
};
class npc_kayra_longmane : public CreatureScript
{
public:
npc_kayra_longmane() : CreatureScript("npc_kayra_longmane") { }
struct npc_kayra_longmaneAI : public EscortAI
{
npc_kayra_longmaneAI(Creature* creature) : EscortAI(creature) { }
void Reset() override { }
void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override
{
Player* player = GetPlayerForEscort();
if (!player)
return;
switch (waypointId)
{
case 4:
Talk(SAY_AMBUSH1, player);
DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 5:
Talk(SAY_PROGRESS, player);
SetRun();
break;
case 16:
Talk(SAY_AMBUSH2, player);
DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
break;
case 17:
SetRun(false);
break;
case 25:
Talk(SAY_END, player);
player->GroupEventHappens(QUEST_ESCAPE_FROM, me);
break;
}
}
void QuestAccept(Player* player, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPE_FROM)
{
Talk(SAY_START, player);
Start(false, false, player->GetGUID());
}
}
};
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_kayra_longmaneAI(creature);
}
};
/*######
## AddSC
######*/
void AddSC_zangarmarsh()
{
new npc_kayra_longmane();
}