/*
* 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 .
*/
#ifndef SCARLET_M_
#define SCARLET_M_
#include "CreatureAIImpl.h"
#include "Position.h"
#define SMScriptName "instance_scarlet_monastery"
#define DataHeader "SM"
uint32 const EncounterCount = 9;
extern Position const BunnySpawnPosition;
extern Position const EarthBunnySpawnPosition;
extern Position const HeadlessHorsemanSpawnPosition;
extern Position const HeadlessHorsemanHeadSpawnPosition;
enum SMDataTypes
{
DATA_INTERROGATOR_VISHAS = 0,
DATA_BLOODMAGE_THALNOS,
DATA_HOUNDMASTER_LOKSEY,
DATA_ARCANIST_DOAN,
DATA_HEROD,
DATA_HIGH_INQUISITOR_FAIRBANKS,
DATA_MOGRAINE_AND_WHITE_EVENT, // Last DungeonEncounter.dbc entry
DATA_AZSHIR,
DATA_SCORN,
DATA_MOGRAINE,
DATA_VORREL,
DATA_WHITEMANE,
// Headless Horseman
DATA_HORSEMAN_HEAD,
DATA_HEADLESS_HORSEMAN,
DATA_PUMPKIN_SHRINE,
DATA_HIGH_INQUISITORS_DOOR,
DATA_LOOSELY_TURNED_SOIL,
DATA_START_HORSEMAN_EVENT,
DATA_FLAME_BUNNY,
DATA_EARTH_BUNNY,
DATA_HORSEMAN_EVENT_STATE,
DATA_PREPARE_RESET,
DATA_THOMAS
};
enum SMCreatureIds
{
NPC_MOGRAINE = 3976,
NPC_WHITEMANE = 3977,
NPC_VORREL = 3981,
NPC_HEADLESS_HORSEMAN = 23682,
NPC_HEADLESS_HORSEMAN_HEAD = 23775,
NPC_PULSING_PUMPKIN = 23694,
NPC_PUMPKIN_FIEND = 23545,
NPC_FLAME_BUNNY = 23686,
NPC_EARTH_BUNNY = 23758,
NPC_SIR_THOMAS = 23904
};
enum SMCreatureMisc
{
SPELL_EARTH_EXPLOSION = 42373,
EVENT_ACTIVE_EARTH_EXPLOSION = 1,
EVENT_SPAWN_HEADLESS_HORSEMAN = 2,
EVENT_DESPAWN_OBJECTS = 3,
ACTION_HORSEMAN_EVENT_START = 101
};
enum SMGameObjectIds
{
GO_HIGH_INQUISITORS_DOOR = 104600,
GO_PUMPKIN_SHRINE = 186267,
GO_LOOSELY_TURNED_SOIL = 186314
};
template
inline AI* GetScarletMonasteryAI(T* obj)
{
return GetInstanceAI(obj, SMScriptName);
}
#define RegisterScarletMonasteryCreatureAI(ai) RegisterCreatureAIWithFactory(ai, GetScarletMonasteryAI)
#define RegisterScarletMonasteryGameObjectAI(ai) RegisterGameObjectAIWithFactory(ai, GetScarletMonasteryAI)
#endif // SCARLET_M_