Jump to content

Arkadus

Members
  • Posts

    93
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Arkadus's Achievements

Advanced Member

Advanced Member (3/3)

0

Reputation

  1. DELETE FROM `creature_movement` WHERE `id`='30639' and`point`='9'; DELETE FROM `creature_movement` WHERE `id`='30639' and`point`='8'; UPDATE `creature_movement` SET `point`='8' WHERE `id`='30639' and`point`='10'; UPDATE `creature_movement` SET `point`='9' WHERE `id`='30639' and`point`='11'; UPDATE `creature_movement` SET `point`='10' WHERE `id`='30639' and`point`='12'; UPDATE `creature_movement` SET `point`='11' WHERE `id`='30639' and`point`='13'; UPDATE `creature_movement` SET `point`='12' WHERE `id`='30639' and`point`='14'; UPDATE `creature_movement` SET `point`='13' WHERE `id`='30639' and`point`='15'; UPDATE `creature_movement` SET `point`='14' WHERE `id`='30639' and`point`='16'; UPDATE `creature_movement` SET `point`='15' WHERE `id`='30639' and`point`='17';
  2. One of the guards is scripted to walk to a waypoint that causes this. cMaNGOS had a database fix for this for one of the theramore guards.
  3. Yeah in vanilla you could unlearn any proffession anytime but had to start again at 0. So you could specialize in axesmith, swordsmith or hammersmth. But you only had a choice to unlearn the whole profession, so you lose all blacksmithing recipes you learned and the skill etc... But in TBC they changed it so you could unlearn swordsmithing and still keep blacksmithing and all the recipes except the swordsmith specific ones and you could respec to axesmith or hammersmith and vice-versa. You could also unlearn your whole blacksmith profession aswell.
  4. If you can, do you have an error message from the compiler. If so can you post it for me?
  5. There is an error here aswell where it says; switch (pCreature->GetEntry()) { case NPC_LUCIFRON: if (m_auiEncounter[TYPE_GARR] == DONE) { pCreature->Despawn(); break; } Should actually be; switch (pCreature->GetEntry()) { case NPC_LUCIFRON: if (m_auiEncounter[TYPE_LUCIFRON] == DONE) { pCreature->Despawn(); break; }
  6. Arkadus

    Creature

    Its used by guardai scripts that i put up aswell. It sets the guards reactions when you emote them.
  7. Arkadus

    Creature

    Should be good now. My fault.
  8. Arkadus

    Creature

    Yep your right there is an error, i had to make this code on the fly using notepad i obviously rushed it too quickly sorting it out now.
  9. Instance Naxx Raiding Instance Naxxramas .cpp void instance_naxxramas::OnCreatureCreate(Creature* pCreature) { switch (pCreature->GetEntry()) { case NPC_ANUB_REKHAN: if (m_auiEncounter[TYPE_ANUB_REKHAN] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_FAERLINA: if (m_auiEncounter[TYPE_FAERLINA] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_THADDIUS: case NPC_STALAGG: case NPC_FEUGEN: if (m_auiEncounter[TYPE_THADDIUS] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_ZELIEK: case NPC_THANE: case NPC_BLAUMEUX: case NPC_MOGRAINE: if (m_auiEncounter[TYPE_FOUR_HORSEMEN] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_SPIRIT_OF_BLAUMEUX: case NPC_SPIRIT_OF_MOGRAINE: case NPC_SPIRIT_OF_KORTHAZZ: case NPC_SPIRIT_OF_ZELIREK: m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_GOTHIK: if (m_auiEncounter[TYPE_GOTHIK] == DONE) { pCreature->Despawn(); break; } case NPC_SAPPHIRON: if (m_auiEncounter[TYPE_SAPPHIRON] == DONE) { pCreature->Despawn(); break; } case NPC_KELTHUZAD: if (m_auiEncounter[TYPE_KELTHUZAD] == DONE) { pCreature->Despawn(); break; } case NPC_THE_LICHKING: m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_SUB_BOSS_TRIGGER: m_lGothTriggerList.push_back(pCreature->GetObjectGuid()); break; case NPC_TESLA_COIL: m_lThadTeslaCoilList.push_back(pCreature->GetObjectGuid()); break; } }
  10. Instance ZG Raid Saving Instance ZG .cpp void instance_zulgurub::OnCreatureCreate(Creature* pCreature) { switch (pCreature->GetEntry()) { case NPC_VENOXIS: if (m_auiEncounter[TYPE_VENOXIS] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_JEKLIK: if (m_auiEncounter[TYPE_JEKLIK] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_LORKHAN: case NPC_ZATH: case NPC_THEKAL: if (m_auiEncounter[TYPE_THEKAL] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_JINDO: if (m_auiEncounter[TYPE_JINDO] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_HAKKAR: if (m_auiEncounter[TYPE_HAKKAR] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_BLOODLORD_MANDOKIR: if (m_auiEncounter[TYPE_OHGAN] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_MARLI: if (m_auiEncounter[TYPE_MARLI] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_PANTHER_TRIGGER: if (pCreature->GetPositionY() { m_lLeftPantherTriggerGUIDList.push_back(pCreature->GetObjectGuid()); } else { m_lRightPantherTriggerGUIDList.push_back(pCreature->GetObjectGuid()); } case NPC_ARLOKK: if (m_auiEncounter[TYPE_ARLOKK] == DONE) { pCreature->Despawn(); break; } } } Instance ZG .h header file enum { MAX_ENCOUNTER = 10, MAX_PRIESTS = 5, TYPE_JEKLIK = 0, TYPE_VENOXIS = 1, TYPE_MARLI = 2, TYPE_THEKAL = 3, TYPE_ARLOKK = 4, TYPE_OHGAN = 5, // Do not change, used by Acid TYPE_LORKHAN = 6, TYPE_ZATH = 7, TYPE_JINDO = 8, TYPE_HAKKAR = 9, NPC_LORKHAN = 11347, NPC_ZATH = 11348, NPC_THEKAL = 14509, NPC_JINDO = 11380, NPC_HAKKAR = 14834, NPC_ARLOKK = 14515, NPC_PANTHER_TRIGGER = 15091, NPC_BLOODLORD_MANDOKIR = 11382, NPC_MARLI = 14510, NPC_VENOXIS = 14507, NPC_JEKLIK = 14517, GO_SPIDER_EGG = 179985, GO_GONG_OF_BETHEKK = 180526, GO_FORCEFIELD = 180497, SAY_MINION_DESTROY = -1309022, SAY_HAKKAR_PROTECT = -1309023, HP_LOSS_PER_PRIEST = 60000, AREATRIGGER_ENTER = 3958, AREATRIGGER_ALTAR = 3960, }; static const float aMandokirDownstairsPos[3] = { -12196.30f, -1948.37f, 130.31f}; class instance_zulgurub : public ScriptedInstance { public: instance_zulgurub(Map* pMap); ~instance_zulgurub() {} void Initialize() override; // IsEncounterInProgress() const override { return false; } // not active in Zul'Gurub void OnCreatureCreate(Creature* pCreature) override; void OnObjectCreate(GameObject* pGo) override; void SetData(uint32 uiType, uint32 uiData) override; uint32 GetData(uint32 uiType) const override; const char* Save() const override { return m_strInstData.c_str(); } void Load(const char* chrIn) override; void DoYellAtTriggerIfCan(uint32 uiTriggerId); Creature* SelectRandomPantherTrigger(bool bIsLeft); protected: void DoLowerHakkarHitPoints(); uint32 m_auiEncounter[MAX_ENCOUNTER]; std::string m_strInstData; GuidList m_lRightPantherTriggerGUIDList; GuidList m_lLeftPantherTriggerGUIDList; GuidList m_lSpiderEggGUIDList; bool m_bHasIntroYelled; bool m_bHasAltarYelled; }; #endif
  11. Onyxia Raid Saving Instance Onyxia .cpp void instance_onyxias_lair::OnCreatureCreate(Creature* pCreature) { switch (pCreature->GetEntry()) { case NPC_ONYXIA_TRIGGER: if (m_uiEncounter == DONE) { pCreature->Despawn(); break; } case NPC_ONYXIA: if (m_uiEncounter == DONE) { pCreature->Despawn(); break; } m_uiEncounter = NOT_STARTED; m_mNpcEntryGuidStore[NPC_ONYXIA_TRIGGER] = pCreature->GetObjectGuid(); break; } } void instance_onyxias_lair::Load(const char* chrIn) { if (!chrIn) { OUT_LOAD_INST_DATA_FAIL; return; } OUT_LOAD_INST_DATA(chrIn); std::istringstream loadStream(chrIn); loadStream >> m_uiEncounter; if (m_uiEncounter == IN_PROGRESS) { m_uiEncounter = NOT_STARTED; } OUT_LOAD_INST_DATA_COMPLETE; } void instance_onyxias_lair::SetData(uint32 uiType, uint32 uiData) { if (uiType != TYPE_ONYXIA) { return; } m_uiEncounter = uiData; if (uiData == DATA_LIFTOFF) { m_tPhaseTwoStart = time(NULL); } if (uiData == DONE) { OUT_SAVE_INST_DATA; std::ostringstream saveStream; saveStream m_strInstData = saveStream.str(); SaveToDB(); OUT_SAVE_INST_DATA_COMPLETE; } // Currently no reason to save anything } uint32 instance_onyxias_lair::GetData(uint32 uiType) const { if (uiType) { return m_uiEncounter; } return 0; } Instance Onyxia .h header file enum { TYPE_ONYXIA = 0, // Special data fields for Onyxia DATA_LIFTOFF = 4, NPC_ONYXIA = 10184, NPC_ONYXIA_WHELP = 11262, NPC_ONYXIA_TRIGGER = 12758 }; class instance_onyxias_lair : public ScriptedInstance { public: instance_onyxias_lair(Map* pMap); ~instance_onyxias_lair() {} void Initialize() override; bool IsEncounterInProgress() const override; void OnCreatureCreate(Creature* pCreature) override; const char* Save() const override { return m_strInstData.c_str(); } void Load(const char* chrIn) override; void SetData(uint32 uiType, uint32 uiData) override; uint32 GetData(uint32 uiType) const override; protected: uint32 m_uiEncounter; std::string m_strInstData; time_t m_tPhaseTwoStart; }; #endif
  12. Instance MC Saving Instance MC .cpp void instance_molten_core::OnCreatureCreate(Creature* pCreature) { switch (pCreature->GetEntry()) { case NPC_LUCIFRON: if (m_auiEncounter[TYPE_GARR] == DONE) { pCreature->Despawn(); break; } case NPC_MAGMADAR: if (m_auiEncounter[TYPE_MAGMADAR] == DONE) { pCreature->Despawn(); break; } case NPC_GEHENNAS: if (m_auiEncounter[TYPE_GEHENNAS] == DONE) { pCreature->Despawn(); break; } case NPC_GARR: if (m_auiEncounter[TYPE_GARR] == DONE) { pCreature->Despawn(); break; } case NPC_SHAZZRAH: if (m_auiEncounter[TYPE_SHAZZRAH] == DONE) { pCreature->Despawn(); break; } case NPC_GEDDON: if (m_auiEncounter[TYPE_GEDDON] == DONE) { pCreature->Despawn(); break; } case NPC_GOLEMAGG: if (m_auiEncounter[TYPE_GOLEMAGG] == DONE) { pCreature->Despawn(); break; } case NPC_SULFURON: if (m_auiEncounter[TYPE_SULFURON] == DONE) { pCreature->Despawn(); break; } case NPC_MAJORDOMO: if (m_auiEncounter[TYPE_MAJORDOMO] == DONE) { pCreature->Despawn(); break; } case TYPE_RAGNAROS: if (m_auiEncounter[TYPE_RAGNAROS] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; } } Instance MC .h header enum { MAX_ENCOUNTER = 10, TYPE_LUCIFRON = 0, TYPE_MAGMADAR = 1, TYPE_GEHENNAS = 2, TYPE_GARR = 3, TYPE_SHAZZRAH = 4, TYPE_GEDDON = 5, TYPE_GOLEMAGG = 6, TYPE_SULFURON = 7, TYPE_MAJORDOMO = 8, TYPE_RAGNAROS = 9, NPC_LUCIFRON = 12118, NPC_MAGMADAR = 11982, NPC_GEHENNAS = 12259, NPC_GARR = 12057, NPC_SHAZZRAH = 12264, NPC_GEDDON = 12056, NPC_GOLEMAGG = 11988, NPC_SULFURON = 12098, NPC_MAJORDOMO = 12018, NPC_RAGNAROS = 11502, // Adds // Used for respawn in case of wipe NPC_FLAMEWAKER_PROTECTOR = 12119, // Lucifron NPC_FLAMEWAKER = 11661, // Gehennas NPC_FIRESWORN = 12099, // Garr NPC_CORE_RAGER = 11672, // Golemagg NPC_FLAMEWAKER_PRIEST = 11662, // Sulfuron NPC_FLAMEWAKER_HEALER = 11663, // Majordomo NPC_FLAMEWAKER_ELITE = 11664, // Majordomo GO_LAVA_STEAM = 178107, GO_LAVA_SPLASH = 178108, GO_CACHE_OF_THE_FIRE_LORD = 179703, GO_RUNE_KRESS = 176956, // Magmadar GO_RUNE_MOHN = 176957, // Gehennas GO_RUNE_BLAZ = 176955, // Garr GO_RUNE_MAZJ = 176953, // Shazzah GO_RUNE_ZETH = 176952, // Geddon GO_RUNE_THERI = 176954, // Golemagg GO_RUNE_KORO = 176951, // Sulfuron MAX_MOLTEN_RUNES = 7, MAX_MAJORDOMO_ADDS = 8, FACTION_MAJORDOMO_FRIENDLY = 1080, SAY_MAJORDOMO_SPAWN = -1409004, }; struct sRuneEncounters { uint32 m_uiRuneEntry, m_uiType; }; static const sRuneEncounters m_aMoltenCoreRunes[MAX_MOLTEN_RUNES] = { {GO_RUNE_KRESS, TYPE_MAGMADAR}, {GO_RUNE_MOHN, TYPE_GEHENNAS}, {GO_RUNE_BLAZ, TYPE_GARR}, {GO_RUNE_MAZJ, TYPE_SHAZZRAH}, {GO_RUNE_ZETH, TYPE_GEDDON}, {GO_RUNE_THERI, TYPE_GOLEMAGG}, {GO_RUNE_KORO, TYPE_SULFURON} }; struct sSpawnLocation { uint32 m_uiEntry; float m_fX, m_fY, m_fZ, m_fO; }; static sSpawnLocation m_aMajordomoLocations[2] = { {NPC_MAJORDOMO, 758.089f, -1176.71f, -118.640f, 3.12414f}, // Summon fight position {NPC_MAJORDOMO, 847.103f, -816.153f, -229.775f, 4.344f} // Summon and teleport location (near Ragnaros) }; class instance_molten_core : public ScriptedInstance { public: instance_molten_core(Map* pMap); ~instance_molten_core() {} void Initialize() override; bool IsEncounterInProgress() const override; void OnCreatureCreate(Creature* pCreature) override; void OnObjectCreate(GameObject* pGo) override; void OnPlayerEnter(Player* pPlayer) override; void SetData(uint32 uiType, uint32 uiData) override; uint32 GetData(uint32 uiType) const override; const char* Save() const override { return m_strInstData.c_str(); } void Load(const char* chrIn) override; protected: void DoSpawnMajordomoIfCan(bool bByPlayerEnter); std::string m_strInstData; uint32 m_auiEncounter[MAX_ENCOUNTER]; }; #endif
  13. BWL Raid Saving Instance BWL Raid Saving void instance_blackwing_lair::OnCreatureCreate(Creature* pCreature) { switch (pCreature->GetEntry()) { case NPC_BLACKWING_TECHNICIAN: // Sort creatures so we can get only the ones near Vaelastrasz if (pCreature->IsWithinDist2d(aNefariusSpawnLoc[0], aNefariusSpawnLoc[1], 50.0f)) { m_lTechnicianGuids.push_back(pCreature->GetObjectGuid()); } break; case NPC_MONSTER_GENERATOR: m_vGeneratorGuids.push_back(pCreature->GetObjectGuid()); break; case NPC_BLACKWING_LEGIONNAIRE: case NPC_BLACKWING_MAGE: case NPC_DRAGONSPAWN: m_lDefendersGuids.push_back(pCreature->GetObjectGuid()); break; case NPC_RAZORGORE: if (m_auiEncounter[TYPE_RAZORGORE] == DONE) { pCreature->Despawn(); break; } case NPC_VAELASTRASZ: if (m_auiEncounter[TYPE_VAELASTRASZ] == DONE) { pCreature->Despawn(); break; } case NPC_LASHLAYER: if (m_auiEncounter[TYPE_LASHLAYER] == DONE) { pCreature->Despawn(); break; } case NPC_FIREMAW: if (m_auiEncounter[TYPE_FIREMAW] == DONE) { pCreature->Despawn(); break; } case NPC_EBONROC: if (m_auiEncounter[TYPE_EBONROC] == DONE) { pCreature->Despawn(); break; } case NPC_FLAMEGOR: if (m_auiEncounter[TYPE_FLAMEGOR] == DONE) { pCreature->Despawn(); break; } case NPC_CHROMAGGUS: if (m_auiEncounter[TYPE_CHROMAGGUS] == DONE) { pCreature->Despawn(); break; } case NPC_LORD_VICTOR_NEFARIUS: if (m_auiEncounter[TYPE_NEFARIAN] == DONE) { pCreature->Despawn(); break; } case NPC_BLACKWING_ORB_TRIGGER: case NPC_NEFARIANS_TROOPS: m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; } } Instance BWL .h header file enum { MAX_ENCOUNTER = 8, TYPE_RAZORGORE = 0, TYPE_VAELASTRASZ = 1, TYPE_LASHLAYER = 2, TYPE_FIREMAW = 3, TYPE_EBONROC = 4, TYPE_FLAMEGOR = 5, TYPE_CHROMAGGUS = 6, TYPE_NEFARIAN = 7, DATA_DRAGON_EGG = 1, // track the used eggs NPC_RAZORGORE = 12435, NPC_VAELASTRASZ = 13020, NPC_LASHLAYER = 12017, NPC_FIREMAW = 11983, NPC_EBONROC = 14601, NPC_FLAMEGOR = 11981, NPC_CHROMAGGUS = 14020, NPC_NEFARIAN = 11583, NPC_LORD_VICTOR_NEFARIUS = 10162, NPC_BLACKWING_TECHNICIAN = 13996, // Flees at Vael intro event // Razorgore event related NPC_GRETHOK_CONTROLLER = 12557, NPC_BLACKWING_ORB_TRIGGER = 14449, NPC_NEFARIANS_TROOPS = 14459, NPC_MONSTER_GENERATOR = 12434, NPC_BLACKWING_LEGIONNAIRE = 12416, // one spawn per turn NPC_BLACKWING_MAGE = 12420, // one spawn per turn NPC_DRAGONSPAWN = 12422, // two spawns per turn GO_DOOR_RAZORGORE_ENTER = 176964, GO_DOOR_RAZORGORE_EXIT = 176965, GO_DOOR_NEFARIAN = 176966, // GO_DOOR_CHROMAGGUS_ENTER = 179115, // GO_DOOR_CHROMAGGUS_SIDE = 179116, GO_DOOR_CHROMAGGUS_EXIT = 179117, GO_DOOR_VAELASTRASZ = 179364, GO_DOOR_LASHLAYER = 179365, GO_ORB_OF_DOMINATION = 177808, // trigger 19832 on Razorgore GO_BLACK_DRAGON_EGG = 177807, GO_DRAKONID_BONES = 179804, EMOTE_ORB_SHUT_OFF = -1469035, EMOTE_TROOPS_FLEE = -1469033, // emote by Nefarian's Troops npc MAX_EGGS_DEFENDERS = 4, };
  14. AQ40 Raid Saving Instance AQ40 .cpp void instance_temple_of_ahnqiraj::OnCreatureCreate(Creature* pCreature) { switch (pCreature->GetEntry()) { case NPC_SKERAM: // Don't store the summoned images guid if (GetData(TYPE_SKERAM) == IN_PROGRESS) { break; } if (m_auiEncounter[TYPE_SKERAM] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_KRI: case NPC_VEM: case NPC_YAUJ: if (m_auiEncounter[TYPE_BUG_TRIO] == DONE) { pCreature->Despawn(); } break; case NPC_SARTURA: if (m_auiEncounter[TYPE_SARTURA] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_FANKRISS: if (m_auiEncounter[TYPE_FANKRISS] == DONE) { pCreature->Despawn(); } break; case NPC_VISCIDUS: if (m_auiEncounter[TYPE_VISCIDUS] == DONE) { pCreature->Despawn(); } break; case NPC_HUHURAN: if (m_auiEncounter[TYPE_HUHURAN] == DONE) { pCreature->Despawn(); } break; case NPC_VEKLOR: case NPC_VEKNILASH: if (m_auiEncounter[TYPE_TWINS] == DONE) { pCreature->Despawn(); break; } pCreature->SetStandState(UNIT_STAND_STATE_KNEEL); m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_MASTERS_EYE: if (m_auiEncounter[TYPE_CTHUN] == DONE) { pCreature->Despawn(); break; } pCreature->SetObjectScale(1); case NPC_OURO_SPAWNER: if (m_auiEncounter[TYPE_OURO] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_EYE_OF_CTHUN: if (m_auiEncounter[TYPE_CTHUN] == DONE) { pCreature->Despawn(); break; } break; case NPC_CTHUN: if (m_auiEncounter[TYPE_CTHUN] == DONE) { pCreature->Despawn(); break; } pCreature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; } } Instance AQ40 header enum { MAX_ENCOUNTER = 9, TYPE_SKERAM = 0, TYPE_BUG_TRIO = 1, TYPE_SARTURA = 2, TYPE_FANKRISS = 3, TYPE_VISCIDUS = 4, TYPE_HUHURAN = 5, TYPE_TWINS = 6, TYPE_OURO = 7, TYPE_CTHUN = 8, NPC_SKERAM = 15263, NPC_KRI = 15511, NPC_VEM = 15544, NPC_YAUJ = 15543, NPC_SARTURA = 15516, NPC_FANKRISS = 15510, NPC_VISCIDUS = 15299, NPC_HUHURAN = 15509, NPC_VEKLOR = 15276, NPC_VEKNILASH = 15275, NPC_MASTERS_EYE = 15963, NPC_OURO_SPAWNER = 15957, NPC_EYE_OF_CTHUN = 15589, NPC_CTHUN = 15727, GO_SKERAM_GATE = 180636, GO_TWINS_ENTER_DOOR = 180634, GO_TWINS_EXIT_DOOR = 180635, GO_SANDWORM_BASE = 180795, EMOTE_EYE_INTRO = -1531012, SAY_EMPERORS_INTRO_1 = -1531013, SAY_EMPERORS_INTRO_2 = -1531014, SAY_EMPERORS_INTRO_3 = -1531015, SAY_EMPERORS_INTRO_4 = -1531016, SAY_EMPERORS_INTRO_5 = -1531017, SAY_EMPERORS_INTRO_6 = -1531018, // Whispered on players around the map SAY_CTHUN_WHISPER_1 = -1531033, SAY_CTHUN_WHISPER_2 = -1531034, SAY_CTHUN_WHISPER_3 = -1531035, SAY_CTHUN_WHISPER_4 = -1531036, SAY_CTHUN_WHISPER_5 = -1531037, SAY_CTHUN_WHISPER_6 = -1531038, SAY_CTHUN_WHISPER_7 = -1531039, SAY_CTHUN_WHISPER_8 = -1531040, AREATRIGGER_TWIN_EMPERORS = 4047, AREATRIGGER_SARTURA = 4052, SPELL_SUMMON_PLAYER = 20477, // Cast periodically on players around the instance SPELL_WHISPERINGS_CTHUN_1 = 26195, SPELL_WHISPERINGS_CTHUN_2 = 26197, SPELL_WHISPERINGS_CTHUN_3 = 26198, SPELL_WHISPERINGS_CTHUN_4 = 26258, SPELL_WHISPERINGS_CTHUN_5 = 26259, }; class instance_temple_of_ahnqiraj : public ScriptedInstance { public: instance_temple_of_ahnqiraj(Map* pMap); void Initialize() override; bool IsEncounterInProgress() const override; void OnCreatureCreate(Creature* pCreature) override; void OnObjectCreate(GameObject* pGo) override; void SetData(uint32 uiType, uint32 uiData) override; uint32 GetData(uint32 uiType) const override; void DoHandleTempleAreaTrigger(uint32 uiTriggerId); const char* Save() const override { return m_strInstData.c_str(); } void Load(const char* chrIn) override; void Update(uint32 uiDiff) override; private: uint32 m_auiEncounter[MAX_ENCOUNTER]; std::string m_strInstData; uint8 m_uiBugTrioDeathCount; uint32 m_uiCthunWhisperTimer; bool m_bIsEmperorsIntroDone; DialogueHelper m_dialogueHelper; };
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use