13#define MAX_ENCOUNTER 3
57 {1877.51f, 850.104f, 44.6599f, 4.7822f },
58 {1918.37f, 853.437f, 47.1624f, 4.12294f},
59 {1936.07f, 803.198f, 53.3749f, 3.12414f},
60 {1927.61f, 758.436f, 51.4533f, 2.20891f},
61 {1890.64f, 753.471f, 48.7224f, 1.71042f},
62 {1908.31f, 809.657f, 38.7037f, 3.08701f}
220 switch (creature->GetEntry())
258 creature->AllLootRemovedFromCorpse();
259 creature->RemoveLootMode(1);
265 switch (go->GetEntry())
390 for (
int i = 0; i < 4; ++i)
613 std::ostringstream saveStream;
636 char dataHead1, dataHead2;
637 uint16 data0, data1, data2, data3, data4;
639 std::istringstream loadStream(in);
640 loadStream >> dataHead1 >> dataHead2 >> data0 >> data1 >> data2 >> data3 >> data4;
642 if (dataHead1 ==
'V' && dataHead2 ==
'H')
664 Player* player = itr->GetSource();
703 for (
int i = 0; i < 4; ++i)
709 pSinclari->SetVisible(
true);
711 std::list<Creature*> GuardList;
713 if (!GuardList.empty())
715 for (std::list<Creature*>::const_iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
719 pGuard->SetVisible(
true);
721 pGuard->GetMotionMaster()->MovePoint(1, pGuard->GetHomePosition());
725 pSinclari->GetMotionMaster()->MovePoint(1, pSinclari->GetHomePosition());
794 if (!spellInfoLightning)
803 trigger->
CastSpell(trigger, spellInfoLightning,
true, 0, 0, trigger->
GetGUID());
806 for (std::set<uint64>::const_iterator itr =
trashMobs.begin(); itr !=
trashMobs.end(); ++itr)
809 if (creature && creature->
IsAlive())
810 trigger->
Kill(creature);
@ GO_STATE_ACTIVE_ALTERNATIVE
#define OUT_LOAD_INST_DATA_FAIL
#define OUT_SAVE_INST_DATA_COMPLETE
#define OUT_LOAD_INST_DATA_COMPLETE
#define OUT_SAVE_INST_DATA
#define OUT_LOAD_INST_DATA(a)
@ TEMPSUMMON_MANUAL_DESPAWN
@ TEMPSUMMON_CORPSE_DESPAWN
@ TEMPSUMMON_DEAD_DESPAWN
@ ENCOUNTER_CREDIT_KILL_CREATURE
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NOT_SELECTABLE
Position const MiddleRoomLocation
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
void RemoveLootMode(uint16 lootMode)
void Respawn(bool force=false)
void SetReactState(ReactStates st)
InstanceMapScript(const char *name, uint32 mapId)
void UpdateEncounterState(EncounterCreditType type, uint32 creditEntry, Unit *source)
void HandleGameObject(uint64 guid, bool open, GameObject *go=NULL)
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue)
LinkedListHead::Iterator< MapReference const > const_iterator
void MoveJump(Position const &pos, float speedXY, float speedZ, uint32 id=EVENT_JUMP)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true)
void SetFlag(uint16 index, uint32 newFlag)
void RemoveFlag(uint16 index, uint32 oldFlag)
bool IsGameMaster() const
void Kill(Unit *victim, bool durabilityLoss=true)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
MotionMaster * GetMotionMaster()
bool HasAura(uint32 spellId, uint64 casterGUID=0, uint64 itemCasterGUID=0, uint32 reqEffMask=0) const
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TempSummonType::TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0) const
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
float PortalLocation[4][4]
const Position BossStartMove3
const Position BossStartMove22
@ GO_INTRO_ACTIVATION_CRYSTAL
const Position BossStartMove6
void AddSC_instance_violet_hold()
@ CYANIGOSA_SPELL_TRANSFORM
const Position BossStartMove2
@ SABOTEUR_SHIELD_DISRUPTION
const Position BossStartMove21
const Position MiddleRoomLocation
const Position PortalLocation[]
const Position BossStartMove1
const Position BossStartMove4
const Position ArcaneSphere
const Position MiddleRoomPortalSaboLocation
const Position CyanigosasSpawnLocation
const Position BossStartMove5
void OnCreatureCreate(Creature *creature) OVERRIDE
void StartBossEncounter(uint8 uiBoss, bool bForceRespawn=true)
void ProcessEvent(WorldObject *, uint32 uiEventId) OVERRIDE
instance_violet_hold_InstanceMapScript(Map *map)
uint64 GetData64(uint32 identifier) const OVERRIDE
void OnGameObjectCreate(GameObject *go) OVERRIDE
void Update(uint32 diff) OVERRIDE
uint64 uiErekemRightGuardCell
std::string GetSaveData() OVERRIDE
uint8 uiCountActivationCrystals
uint8 uiCountErekemGuards
void Load(const char *in) OVERRIDE
uint64 uiActivationCrystal[4]
void SetData(uint32 type, uint32 data) OVERRIDE
uint64 uiTeleportationPortal
uint8 uiCyanigosaEventPhase
uint64 uiErekemLeftGuardCell
std::set< uint64 > trashMobs
std::list< uint8 > NpcAtDoorCastingList
void Initialize() OVERRIDE
uint16 m_auiEncounter[MAX_ENCOUNTER]
uint32 uiCyanigosaEventTimer
uint32 GetData(uint32 type) const OVERRIDE
void SetData64(uint32 type, uint64 data) OVERRIDE
bool IsEncounterInProgress() const OVERRIDE
@ WORLD_STATE_VH_WAVE_COUNT
@ WORLD_STATE_VH_PRISON_STATE
@ CREATURE_TELEPORTATION_PORTAL
@ DATA_EREKEM_LEFT_GUARD_CELL
@ DATA_TELEPORTATION_PORTAL
@ DATA_EREKEM_RIGHT_GUARD_CELL
@ DATA_NPC_PRESENCE_AT_DOOR
@ DATA_NPC_PRESENCE_AT_DOOR_ADD
@ DATA_START_BOSS_ENCOUNTER
@ DATA_NPC_PRESENCE_AT_DOOR_REMOVE