Jump to content

Arkadus

Members
  • Posts

    93
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Everything posted by Arkadus

  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; };
  15. as title above Guardai.cpp file void guardAI::DoReplyToTextEmote(uint32 uiTextEmote, Player* pPlayer) { float curface = m_creature->GetOrientation(); switch (uiTextEmote) { case TEXTEMOTE_KISS: m_creature->MovementHaltFaceTo(pPlayer); m_creature->HandleEmote(EMOTE_ONESHOT_BOW); m_creature->FaceBack(curface, 2000); break; case TEXTEMOTE_WAVE: m_creature->MovementHaltFaceTo(pPlayer); m_creature->HandleEmote(EMOTE_ONESHOT_WAVE); m_creature->FaceBack(curface, 2000); break; case TEXTEMOTE_SALUTE: m_creature->MovementHaltFaceTo(pPlayer); m_creature->HandleEmote(EMOTE_ONESHOT_SALUTE); m_creature->FaceBack(curface, 1500); break; case TEXTEMOTE_SHY: m_creature->MovementHaltFaceTo(pPlayer); m_creature->HandleEmote(EMOTE_ONESHOT_FLEX); m_creature->FaceBack(curface, 2400); break; case TEXTEMOTE_RUDE: case TEXTEMOTE_CHICKEN: m_creature->MovementHaltFaceTo(pPlayer); m_creature->HandleEmote(EMOTE_ONESHOT_POINT); m_creature->FaceBack(curface, 2400); break; } } void guardAI_orgrimmar::ReceiveEmote(Player* pPlayer, uint32 uiTextEmote) { if (pPlayer->GetTeam() == HORDE) { DoReplyToTextEmote(uiTextEmote, pPlayer); } } void guardAI_ironforge::ReceiveEmote(Player* pPlayer, uint32 uiTextEmote) { if (pPlayer->GetTeam() == ALLIANCE) { DoReplyToTextEmote(uiTextEmote, pPlayer); } } void guardAI_stormwind::ReceiveEmote(Player* pPlayer, uint32 uiTextEmote) { if (pPlayer->GetTeam() == ALLIANCE) { DoReplyToTextEmote(uiTextEmote, pPlayer); } } Guardai.h file struct guardAI : public ScriptedAI { public: explicit guardAI(Creature* pCreature); ~guardAI() {} uint32 m_uiGlobalCooldown; // This variable acts like the global cooldown that players have (1.5 seconds) uint32 m_uiBuffTimer; // This variable keeps track of buffs void Reset() override; void Aggro(Unit* pWho) override; void JustDied(Unit* /*pKiller*/) override; void UpdateAI(const uint32 uiDiff) override; // Commonly used for guards in main cities void DoReplyToTextEmote(uint32 uiTextEmote, Player* pPlayer); }; struct guardAI_ironforge : public guardAI { guardAI_ironforge(Creature* pCreature) : guardAI(pCreature) {} void ReceiveEmote(Player* pPlayer, uint32 uiTextEmote) override; }; struct guardAI_orgrimmar : public guardAI { guardAI_orgrimmar(Creature* pCreature) : guardAI(pCreature) {} void ReceiveEmote(Player* pPlayer, uint32 uiTextEmote) override; }; struct guardAI_stormwind : public guardAI { guardAI_stormwind(Creature* pCreature) : guardAI(pCreature) {} void ReceiveEmote(Player* pPlayer, uint32 uiTextEmote) override; };
  16. Arkadus

    Creature

    Creature Creature.cpp file bool Creature::InitEntry(uint32 Entry, Team team, CreatureData const* data /*=NULL*/, GameEventCreatureData const* eventData /*=NULL*/) { // use game event entry if any instead default suggested if (eventData && eventData->entry_id) { Entry = eventData->entry_id; } CreatureInfo const* normalInfo = ObjectMgr::GetCreatureTemplate(Entry); if (!normalInfo) { sLog.outErrorDb("Creature::UpdateEntry creature entry %u does not exist.", Entry); return false; } CreatureInfo const* cinfo = normalInfo; SetEntry(Entry); // normal entry always m_creatureInfo = cinfo; // map mode related always SetObjectScale(cinfo->Scale); // equal to player Race field, but creature does not have race SetByteValue(UNIT_FIELD_BYTES_0, 0, 0); // known valid are: CLASS_WARRIOR,CLASS_PALADIN,CLASS_ROGUE,CLASS_MAGE SetByteValue(UNIT_FIELD_BYTES_0, 1, uint8(cinfo->UnitClass)); uint32 display_id = ChooseDisplayId(GetCreatureInfo(), data, eventData); if (!display_id) // Cancel load if no display id { sLog.outErrorDb("Creature (Entry: %u) has no model defined in table `creature_template`, can't load.", Entry); return false; } CreatureModelInfo const* minfo = sObjectMgr.GetCreatureModelRandomGender(display_id); if (!minfo) // Cancel load if no model defined { sLog.outErrorDb("Creature (Entry: %u) has no model info defined in table `creature_model_info`, can't load.", Entry); return false; } display_id = minfo->modelid; // it can be different (for another gender) SetNativeDisplayId(display_id); // special case for totems (model for team==HORDE is stored in creature_template as the default) if (team == ALLIANCE && cinfo->CreatureType == CREATURE_TYPE_TOTEM) { uint32 modelid_tmp = sObjectMgr.GetCreatureModelOtherTeamModel(display_id); display_id = modelid_tmp ? modelid_tmp : display_id; } // normally the same as native, see above for the exeption SetDisplayId(display_id); SetByteValue(UNIT_FIELD_BYTES_0, 2, minfo->gender); // set PowerType based on unit class switch (cinfo->UnitClass) { case CLASS_WARRIOR: SetPowerType(POWER_RAGE); break; case CLASS_PALADIN: case CLASS_MAGE: SetPowerType(POWER_MANA); break; case CLASS_ROGUE: SetPowerType(POWER_ENERGY); break; default: sLog.outErrorDb("Creature (Entry: %u) has unhandled unit class. Power type will not be set!", Entry); break; } // Load creature equipment if (eventData && eventData->equipment_id) { LoadEquipment(eventData->equipment_id); // use event equipment if any for active event } else if (!data || data->equipmentId == 0) { // use default from the template LoadEquipment(cinfo->EquipmentTemplateId); } else if (data && data->equipmentId != -1) { // override, -1 means no equipment LoadEquipment(data->equipmentId); } SetName(normalInfo->Name); // at normal entry always SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f); // update speed for the new CreatureInfo base speed mods UpdateSpeed(MOVE_WALK, false); UpdateSpeed(MOVE_RUN, false); SetLevitate(cinfo->InhabitType & INHABIT_AIR); // checked at loading m_defaultMovementType = MovementGeneratorType(cinfo->MovementType); return true; } void Creature::Despawn() { SetCorpseDelay(0); SetRespawnDelay(-1); ForcedDespawn(); } void Creature::MovementHaltFaceTo(Player* pPlayer) { InterruptMoving(false); SetFacingToObject(pPlayer); SetSheath(SHEATH_STATE_UNARMED); Sleep(100); } void Creature::FaceBack(float curface, uint16 waittime) { Sleep(waittime); SetSheath(SHEATH_STATE_MELEE); SetFacingTo(curface); } Creature.h file class MANGOS_DLL_SPEC Creature : public Unit { CreatureAI* i_AI; public: /* Loot Variables */ bool hasBeenLootedOnce; uint32 assignedLooter; explicit Creature(CreatureSubtype subtype = CREATURE_SUBTYPE_GENERIC); virtual ~Creature(); void AddToWorld() override; void RemoveFromWorld() override; bool Create(uint32 guidlow, CreatureCreatePos& cPos, CreatureInfo const* cinfo, Team team = TEAM_NONE, const CreatureData* data = NULL, GameEventCreatureData const* eventData = NULL); bool LoadCreatureAddon(bool reload); void SelectLevel(const CreatureInfo* cinfo, float percentHealth = 100.0f, float percentMana = 100.0f); void LoadEquipment(uint32 equip_entry, bool force = false); bool HasStaticDBSpawnData() const; // listed in `creature` table and have fixed in DB guid char const* GetSubName() const { return GetCreatureInfo()->SubName; } void Update(uint32 update_diff, uint32 time) override; // overwrite Unit::Update virtual void RegenerateAll(uint32 update_diff); uint32 GetEquipmentId() const { return m_equipmentId; } CreatureSubtype GetSubtype() const { return m_subtype; } bool IsPet() const { return m_subtype == CREATURE_SUBTYPE_PET; } bool IsTotem() const { return m_subtype == CREATURE_SUBTYPE_TOTEM; } bool IsTemporarySummon() const { return m_subtype == CREATURE_SUBTYPE_TEMPORARY_SUMMON; } bool IsCorpse() const { return GetDeathState() == CORPSE; } bool IsDespawned() const { return GetDeathState() == DEAD; } void SetCorpseDelay(uint32 delay) { m_corpseDelay = delay; } uint32 GetCorpseDelay() const { return m_corpseDelay; } bool IsRacialLeader() const { return GetCreatureInfo()->RacialLeader; } bool IsCivilian() const { return GetCreatureInfo()->civilian; } bool IsGuard() const { return GetCreatureInfo()->ExtraFlags & CREATURE_EXTRA_FLAG_GUARD; } bool CanWalk() const { return GetCreatureInfo()->InhabitType & INHABIT_GROUND; } virtual bool CanSwim() const { return GetCreatureInfo()->InhabitType & INHABIT_WATER; } bool CanFly() const { return GetCreatureInfo()->InhabitType & INHABIT_AIR; } bool IsTrainerOf(Player* player, bool msg) const; bool CanInteractWithBattleMaster(Player* player, bool msg) const; bool CanTrainAndResetTalentsOf(Player* pPlayer) const; bool IsOutOfThreatArea(Unit* pVictim) const; void FillGuidsListFromThreatList(GuidVector& guids, uint32 maxamount = 0); bool IsImmuneToSpell(SpellEntry const* spellInfo, bool castOnSelf) override; bool IsImmuneToSpellEffect(SpellEntry const* spellInfo, SpellEffectIndex index, bool castOnSelf) const override; bool IsElite() const { if (IsPet()) { return false; } uint32 rank = GetCreatureInfo()->Rank; return rank != CREATURE_ELITE_NORMAL && rank != CREATURE_ELITE_RARE; } bool IsWorldBoss() const { if (IsPet()) { return false; } return GetCreatureInfo()->Rank == CREATURE_ELITE_WORLDBOSS; } uint32 GetLevelForTarget(Unit const* target) const override; // overwrite Unit::GetLevelForTarget for boss level support bool IsInEvadeMode() const; bool AIM_Initialize(); CreatureAI* AI() { return i_AI; } void SetWalk(bool enable, bool asDefault = true); void SetLevitate(bool enable); void SetRoot(bool enable) override; void SetWaterWalk(bool enable) override; uint32 GetShieldBlockValue() const override // dunno mob block value { return (getLevel() / 2 + uint32(GetStat(STAT_STRENGTH) / 20)); } SpellSchoolMask GetMeleeDamageSchoolMask() const override { return m_meleeDamageSchoolMask; } void SetMeleeDamageSchool(SpellSchools school) { m_meleeDamageSchoolMask = GetSchoolMask(school); } void _AddCreatureSpellCooldown(uint32 spell_id, time_t end_time); void _AddCreatureCategoryCooldown(uint32 category, time_t apply_time); void AddCreatureSpellCooldown(uint32 spellid); bool HasSpellCooldown(uint32 spell_id) const; bool HasCategoryCooldown(uint32 spell_id) const; uint32 GetCreatureSpellCooldownDelay(uint32 spellId) const; bool HasSpell(uint32 spellID) const override; void Despawn(); void MovementHaltFaceTo(Player* pPlayer); void FaceBack(float curface, uint16 waittime);
  17. as title above instance AQ20 .cpp void instance_ruins_of_ahnqiraj::OnCreatureCreate(Creature* pCreature) { switch (pCreature->GetEntry()) { case NPC_KURINNAXX: if (m_auiEncounter[TYPE_KURINNAXX] == DONE) { pCreature->Despawn(); break; } case NPC_OSSIRIAN_TRIGGER: // Only store static spawned if (pCreature->IsTemporarySummon()) { break; } case NPC_OSSIRIAN: if (m_auiEncounter[TYPE_OSSIRIAN] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_BURU: if (m_auiEncounter[TYPE_BURU] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_MOAM: if (m_auiEncounter[TYPE_MOAM] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_AYAMISS: if (m_auiEncounter[TYPE_AYAMISS] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_RAJAXX: case NPC_GENERAL_ANDOROV: case NPC_COLONEL_ZERRAN: case NPC_MAJOR_PAKKON: case NPC_MAJOR_YEGGETH: case NPC_CAPTAIN_XURREM: case NPC_CAPTAIN_DRENN: case NPC_CAPTAIN_TUUBID: case NPC_CAPTAIN_QEEZ: if (m_auiEncounter[TYPE_RAJAXX] == DONE) { pCreature->Despawn(); break; } m_mNpcEntryGuidStore[pCreature->GetEntry()] = pCreature->GetObjectGuid(); break; case NPC_KALDOREI_ELITE: m_lKaldoreiGuidList.push_back(pCreature->GetObjectGuid()); return; } } Instance AQ20 .h enum { MAX_ENCOUNTER = 6, MAX_HELPERS = 5, TYPE_KURINNAXX = 0, TYPE_RAJAXX = 1, TYPE_MOAM = 2, TYPE_BURU = 3, TYPE_AYAMISS = 4, TYPE_OSSIRIAN = 5, NPC_KURINNAXX = 15348, NPC_MOAM = 15340, NPC_BURU = 15370, NPC_AYAMISS = 15369, NPC_OSSIRIAN = 15339, NPC_GENERAL_ANDOROV = 15471, // The general and the kaldorei are escorted for the rajaxx encounter NPC_KALDOREI_ELITE = 15473, NPC_RAJAXX = 15341, // All of the following are used in the rajaxx encounter NPC_COLONEL_ZERRAN = 15385, NPC_MAJOR_PAKKON = 15388, NPC_MAJOR_YEGGETH = 15386, NPC_CAPTAIN_XURREM = 15390, NPC_CAPTAIN_DRENN = 15389, NPC_CAPTAIN_TUUBID = 15392, NPC_CAPTAIN_QEEZ = 15391, NPC_QIRAJI_WARRIOR = 15387, NPC_SWARMGUARD_NEEDLER = 15344, MAX_ARMY_WAVES = 7, GO_OSSIRIAN_CRYSTAL = 180619, // Used in the ossirian encounter NPC_OSSIRIAN_TRIGGER = 15590, // Triggers ossirian weakness SAY_OSSIRIAN_INTRO = -1509022, // Yelled after Kurinnax dies // Rajaxx yells SAY_WAVE3 = -1509005, SAY_WAVE4 = -1509006, SAY_WAVE5 = -1509007, SAY_WAVE6 = -1509008, SAY_WAVE7 = -1509009, SAY_INTRO = -1509010, SAY_DEAGGRO = -1509015, // on Rajaxx evade SAY_COMPLETE_QUEST = -1509017, // Yell when realm complete quest 8743 for world event }; struct SpawnLocation { uint32 m_uiEntry; float m_fX, m_fY, m_fZ, m_fO; }; // Spawn coords for Andorov and his team static const SpawnLocation aAndorovSpawnLocs[MAX_HELPERS] = { {NPC_GENERAL_ANDOROV, -8660.4f, 1510.29f, 32.449f, 2.2184f}, {NPC_KALDOREI_ELITE, -8655.84f, 1509.78f, 32.462f, 2.33341f}, {NPC_KALDOREI_ELITE, -8657.39f, 1506.28f, 32.418f, 2.33346f}, {NPC_KALDOREI_ELITE, -8660.96f, 1504.9f, 32.1567f, 2.33306f}, {NPC_KALDOREI_ELITE, -8664.45f, 1506.44f, 32.0944f, 2.33302f} }; // Movement locations for Andorov static const SpawnLocation aAndorovMoveLocs[] = { {0, -8701.51f, 1561.80f, 32.092f}, {0, -8718.66f, 1577.69f, 21.612f}, {0, -8876.97f, 1651.96f, 21.57f, 5.52f}, {0, -8882.15f, 1602.77f, 21.386f}, {0, -8940.45f, 1550.69f, 21.616f}, }; struct SortingParameters { uint32 m_uiEntry; int32 m_uiYellEntry; float m_fSearchDist; }; static const SortingParameters aArmySortingParameters[MAX_ARMY_WAVES] = { {NPC_CAPTAIN_QEEZ, 0, 20.0f}, {NPC_CAPTAIN_TUUBID, 0, 22.0f}, {NPC_CAPTAIN_DRENN, SAY_WAVE3, 22.0f}, {NPC_CAPTAIN_XURREM, SAY_WAVE4, 22.0f}, {NPC_MAJOR_YEGGETH, SAY_WAVE5, 20.0f}, {NPC_MAJOR_PAKKON, SAY_WAVE6, 21.0f}, {NPC_COLONEL_ZERRAN, SAY_WAVE7, 17.0f}, }; class instance_ruins_of_ahnqiraj : public ScriptedInstance { public: instance_ruins_of_ahnqiraj(Map* pMap); ~instance_ruins_of_ahnqiraj() {} void Initialize() override; // bool IsEncounterInProgress() const override; // not active in AQ20 void OnCreatureCreate(Creature* pCreature) override; void OnPlayerEnter(Player* pPlayer) override; void OnCreatureEnterCombat(Creature* pCreature) override; void OnCreatureEvade(Creature* pCreature); void OnCreatureDeath(Creature* pCreature) override; void SetData(uint32 uiType, uint32 uiData) override; uint32 GetData(uint32 uiType) const override; void GetKaldoreiGuidList(GuidList& lList) { lList = m_lKaldoreiGuidList; } void Update(uint32 uiDiff) override; const char* Save() const override { return m_strInstData.c_str(); } void Load(const char* chrIn) override; private: void DoSpawnAndorovIfCan(); void DoSortArmyWaves(); void DoSendNextArmyWave(); uint32 m_auiEncounter[MAX_ENCOUNTER]; std::string m_strInstData; GuidList m_lKaldoreiGuidList; GuidSet m_sArmyWavesGuids[MAX_ARMY_WAVES]; uint32 m_uiArmyDelayTimer; uint8 m_uiCurrentArmyWave; }; #endif
  18. FYI i made a mistake with the SQL update with: UPDATE `creature_template` SET `FactionHorde` = 55, `FactionAlliance` = 55 WHERE `Entry` = 15436 AND `Entry` = 12385; is actually supposed to have "OR" instead of "AND" this is for the target dumies so you cant attack them and they still get destroyed by the mortar, this was my fault: UPDATE `creature_template` SET `FactionHorde` = 55, `FactionAlliance` = 55 WHERE `Entry` = 15436 OR `Entry` = 12385;
  19. Yeah i know i think its only a problem if you are fighting on your own, but it still shouldnt be causing a crash.
  20. as title above I was testing out BWL on my own as a GM and killing razorgore without destroying the egg's crashes the server, also if you fighting Jindo on your own the server crashes if you get hexed/cursed and that other spell he does. FYI. This happened multiple times.
  21. It sets a bunch of creatures that shouldnt be skinnable or lootable, for instance the panthers in ZG panther boss fight. The demented druids from the emerald dragon fight. Various other things like a pet cat, it shouldnt be skinnable even though you technically cant kill it. Also there is a sheep id in there because sheep's were not skinnable in vanilla and the deleted id's are simply 2 of the loot tables for a few of these creatures that is no longer used.
  22. As title describes UPDATE `creature_template` SET `SkinningLootId` = 0 WHERE `Entry` = 1933 OR `Entry` = 15316 OR `Entry` = 7381 OR `Entry` = 7382 OR `Entry` = 7384 OR `Entry` = 7385 OR `Entry` = 7389 OR `Entry` = 7390 OR `Entry` = 2230 OR `Entry` = 7395 OR `Entry` = 7553 OR `Entry` = 7555 OR `Entry` = 7562 OR `Entry` = 7565 OR `Entry` = 7567 OR `Entry` = 8662 OR `Entry` = 12372 OR `Entry` = 12373 OR `Entry` = 12374 OR `Entry` = 14602 OR `Entry` = 14869 OR `Entry` = 15412 OR `Entry` = 1512 OR `Entry` = 1984 OR `Entry` = 2032 OR `Entry` = 2955 OR `Entry` = 3098 OR `Entry` = 708 OR `Entry` = 1985 OR `Entry` = 2961 OR `Entry` = 3124 OR `Entry` = 1513 OR `Entry` = 2966 OR `Entry` = 3281 OR `Entry` = 2098 OR `Entry` = 2954; DELETE FROM `skinning_loot_template` WHERE `entry` = 1933 OR `entry` = 2098;
  23. As title describes UPDATE `creature_template` SET `MinLootGold` = 0, `MaxLootGold` = 0, `LootID` = 0 WHERE `Entry` = 5595 OR `Entry` = 15862 OR `Entry` = 14365 OR `Entry` = 14363 OR `Entry` = 14367 OR `Entry` = 2721 OR `Entry` = 3807 OR `Entry` = 15064 OR `Entry` = 2714 OR `Entry` = 3808 OR `Entry` = 3733 OR `Entry` = 15046 OR `Entry` = 3806 OR `Entry` = 3804 OR `Entry` = 15089 OR `Entry` = 15075 OR `Entry` = 3893 OR `Entry` = 3732 OR `Entry` = 15087 OR `Entry` = 3734 OR `Entry` = 15101 OR `Entry` = 11262 OR `UnitFlags` = 36864 OR `UnitFlags` = 4096 OR `Entry` = 15728 OR `Entry` = 15334 OR `Entry` = 15725 OR `Entry` = 15726 OR `Entry` = 15260 OR `Entry` = 15589;
  24. As title describes UPDATE `creature_template` SET `FactionHorde` = 55, `FactionAlliance` = 55 WHERE `Entry` = 15436 AND `Entry` = 12385; UPDATE `creature_movement_template` SET `waittime` = 450000 WHERE `entry` = 10610 AND `point` = 1; UPDATE `creature_movement_template` SET `waittime` = 450000 WHERE `entry` = 10610 AND `point` = 7; UPDATE `creature_movement_template` SET `waittime` = 10000 WHERE `entry` = 10610 AND `point` = 5; REPLACE INTO `dbscripts_on_quest_end` (`id`,`delay`,`command`,`datalong`,`datalong2`,`buddy_entry`,`search_radius`,`data_flags`,`dataint`,`dataint2`,`dataint3`,`dataint4`,`x`,`y`,`z`,`o`,`comments`) VALUES (7811,0,21,1,0,10610,269,16,0,0,0,0,0,0,0,0,'Angus - active'), (7811,0,21,1,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy - active'), (7811,0,21,1,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty - active'), (7811,1,21,1,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler - active'), (7811,1,21,1,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp - active'), (7811,2,25,1,0,10805,272,16,0,0,0,0,0,0,0,0,'RUN ON'), (7811,3,16,6598,2,0,0,0,0,0,0,0,0,0,0,0,'sound'), (7811,3,3,0,0,10610,269,16,0,0,0,0,-6031.16,-230.264,414.361,2.18492,'Angus'), (7811,4,3,0,0,10611,267,16,0,0,0,0,-6031.59,-228.182,414.404,2,'Shorty'), (7811,4,3,0,0,10804,268,16,0,0,0,0,-6034.14,-223.333,413.4,1,'Middlecamp'), (7811,4,3,0,0,10805,272,16,0,0,0,0,-6011.17,-197.021,406.765,1.97737,'Klemmy'), (7811,4,3,0,0,10803,266,16,0,0,0,0,-6011.87,-199.241,406.834,4.31443,'Wheeler'), (7811,5,3,0,0,10805,272,16,0,0,0,0,-6015.51,-184.362,407.712,2.49704,'Klemmy'), (7811,7,3,0,0,10805,272,16,0,0,0,0,-6065.18,-201.938,424.419,5,'Klemmy'), (7811,6,3,0,0,10803,266,16,0,0,0,0,-6031.93,-221.088,413.153,2.44346,'Wheeler'), (7811,17,3,0,0,10805,272,16,0,0,0,0,0,0,0,5.59936,'Klemmy'), (7811,19,3,0,0,10611,267,16,0,0,0,0,0,0,0,2.18492,'Shorty'), (7811,20,3,0,0,10803,266,16,0,0,0,0,0,0,0,2.44346,'Wheeler'), (7811,20,3,0,0,10804,268,16,0,0,0,0,0,0,0,1.88496,'Middlecamp'), (7811,20,3,0,0,10610,269,16,0,0,0,0,0,0,0,2,'angus'), (7811,24,3,0,0,1243,265,16,0,0,0,0,0,0,0,3.68522,'Hegnar'), (7811,31,0,0,0,10804,268,23,2000005730,0,0,0,0,0,0,0,'Middlecamp'), (7811,34,15,16768,0,10804,268,23,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,36,0,0,0,10804,268,23,2000005731,0,0,0,0,0,0,0,'Middlecamp'), (7811,40,0,0,0,10804,268,23,2000005732,0,0,0,0,0,0,0,'Middlecamp'), (7811,42,15,16772,0,10804,268,23,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,44,0,0,0,10804,268,23,2000005733,0,0,0,0,0,0,0,'Middlecamp'), (7811,46,3,0,0,10804,268,16,0,0,0,0,0,0,0,0.810652,'Middlecamp'), (7811,47,1,5,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,47,1,11,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,48,1,274,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,48,1,274,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,49,3,0,0,10804,268,16,0,0,0,0,0,0,0,1.88496,'Middlecamp'), (7811,50,0,0,0,10803,266,23,2000005734,0,0,0,0,0,0,0,'Wheeler'), (7811,54,15,16767,0,10803,266,23,0,0,0,0,0,0,0,0,'Wheeler'), (7811,56,0,0,0,10803,266,23,2000005735,0,0,0,0,0,0,0,'Wheeler'), (7811,58,3,0,0,10803,266,16,0,0,0,0,0,0,0,4.00565,'Wheeler'), (7811,59,1,25,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,59,16,6249,2,10803,266,16,0,0,0,0,0,0,0,0,'sound'), (7811,61,1,21,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,62,1,21,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,62,1,23,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,64,3,0,0,10803,266,16,0,0,0,0,0,0,0,2.44346,'Wheeler'), (7811,67,0,0,0,10804,268,23,2000005736,0,0,0,0,0,0,0,'Middlecamp'), (7811,69,15,16777,0,10804,268,23,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,71,0,0,0,10804,268,23,2000005737,0,0,0,0,0,0,0,'Middlecamp'), (7811,73,1,20,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,73,3,0,0,10803,266,16,0,0,0,0,0,0,0,4.00565,'Wheeler'), (7811,74,1,6,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,74,16,6248,2,10803,266,16,0,0,0,0,0,0,0,0,'sound'), (7811,77,3,0,0,10803,266,16,0,0,0,0,0,0,0,2.44346,'Wheeler'), (7811,77,0,0,0,10804,268,23,2000005738,0,0,0,0,0,0,0,'Middlecamp'), (7811,79,15,16780,0,10804,268,23,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,81,0,0,0,10804,268,23,2000005739,0,0,0,0,0,0,0,'Middlecamp'), (7811,83,0,0,0,10803,266,23,2000005740,0,0,0,0,0,0,0,'Wheeler'), (7811,83,15,16775,0,10803,266,23,0,0,0,0,0,0,0,0,'Wheeler'), (7811,85,0,0,0,10803,266,23,2000005741,0,0,0,0,0,0,0,'Wheeler'), (7811,87,15,16778,0,10803,266,23,0,0,0,0,0,0,0,0,'Wheeler'), (7811,89,0,0,0,10803,266,23,2000005742,0,0,0,0,0,0,0,'Wheeler'), (7811,91,3,0,0,10803,266,16,0,0,0,0,0,0,0,4.00565,'Wheeler'), (7811,91,1,5,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,91,3,0,0,10804,268,16,0,0,0,0,0,0,0,0.810652,'Middlecamp'), (7811,93,1,25,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,95,1,11,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,98,3,0,0,10804,268,16,0,0,0,0,0,0,0,1.88496,'Middlecamp'), (7811,98,3,0,0,10803,266,16,0,0,0,0,0,0,0,2.44346,'Wheeler'), (7811,100,0,0,0,10804,268,23,2000005743,0,0,0,0,0,0,0,'Middlecamp'), (7811,100,16,6250,2,10804,268,23,0,0,0,0,0,0,0,0,'sound'), (7811,100,15,16572,0,10804,268,23,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,103,0,0,0,10804,268,23,2000005744,0,0,0,0,0,0,0,'Middlecamp'), (7811,103,16,6250,2,10804,268,23,0,0,0,0,0,0,0,0,'sound'), (7811,103,15,16776,0,10804,268,23,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,106,0,0,0,10804,268,23,2000005745,0,0,0,0,0,0,0,'Middlecamp'), (7811,106,16,6250,2,10804,268,23,0,0,0,0,0,0,0,0,'sound'), (7811,106,15,16779,0,10804,268,23,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,109,1,71,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,109,16,6246,2,10804,268,23,0,0,0,0,0,0,0,0,'sound'), (7811,113,3,0,0,10804,268,16,0,0,0,0,0,0,0,0.810652,'Middlecamp'), (7811,114,3,0,0,10803,266,16,0,0,0,0,0,0,0,4.00565,'Wheeler'), (7811,115,1,2,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,115,1,21,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,115,1,21,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,115,1,21,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,119,3,0,0,10804,268,16,0,0,0,0,0,0,0,5.13852,'Middlecamp'), (7811,119,3,0,0,10803,266,16,0,0,0,0,0,0,0,4.77803,'Wheeler'), (7811,119,3,0,0,10611,267,16,0,0,0,0,0,0,0,2.84489,'Shorty'), (7811,119,3,0,0,10610,269,16,0,0,0,0,0,0,0,2.84489,''), (7811,120,25,0,0,10805,272,16,0,0,0,0,0,0,0,0,'RUN OFF'), (7811,121,1,4,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,121,1,4,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,121,16,6256,2,0,0,0,0,0,0,0,0,0,0,0,''), (7811,121,3,0,0,10805,272,16,0,0,0,0,-6077.43,-213.257,424.05,5.59936,'Klemmy'), (7811,131,10,11875,180000,0,0,0,0,0,0,0,-6076,-215,424,0,'summon 1st Mortar Team Target Dummy'), (7811,132,25,1,0,10805,272,16,0,0,0,0,0,0,0,0,'RUN ON'), (7811,134,3,0,0,10805,272,16,0,0,0,0,-6065.9,-202.298,424.369,5,'Klemmy'), (7811,137,3,0,0,10805,272,16,0,0,0,0,0,0,0,5.59936,'Klemmy'), (7811,139,1,3,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy'), (7811,141,3,0,0,10611,267,16,0,0,0,0,0,0,0,4.54215,'Shorty'), (7811,142,3,0,0,10805,272,16,0,0,0,0,0,0,0,4.0985,'Klemmy'), (7811,142,1,16,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,143,1,69,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,148,1,0,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,150,3,0,0,10611,267,16,0,0,0,0,0,0,0,2.84489,'Shorty'), (7811,151,3,0,0,10804,268,16,0,0,0,0,0,0,0,2.9147,'Middlecamp'), (7811,151,3,0,0,10803,266,16,0,0,0,0,0,0,0,3.01942,'Wheeler'), (7811,151,1,25,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,152,15,18655,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,154,16,7316,2,0,0,0,0,0,0,0,0,0,0,0,'sound'), (7811,156,15,16786,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,156,15,5,0,11875,100,7,0,0,0,0,0,0,0,0,''), (7811,159,1,17,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,160,25,0,0,10805,272,16,0,0,0,0,0,0,0,0,'RUN OFF'), (7811,162,3,0,0,10611,267,16,0,0,0,0,0,0,0,4.54215,'Shorty'), (7811,162,3,0,0,10805,272,16,0,0,0,0,-6077.43,-213.257,424.05,5.59936,'Klemmy'), (7811,163,1,1,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,163,16,6252,2,0,0,0,0,0,0,0,0,0,0,0,''), (7811,164,1,4,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,167,3,0,0,10611,267,16,0,0,0,0,0,0,0,2.84489,'Shorty'), (7811,172,10,11875,180000,0,0,0,0,0,0,0,-6076,-215,424,0,'summon 2nd Mortar Team Target Dummy'), (7811,174,3,0,0,10805,272,16,0,0,0,0,-6071.88,-212.831,422.929,5,'Klemmy'), (7811,176,3,0,0,10805,272,16,0,0,0,0,0,0,0,6.04228,'Klemmy'), (7811,177,25,1,0,10805,272,16,0,0,0,0,0,0,0,0,'RUN ON'), (7811,178,1,66,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy'), (7811,178,3,0,0,10611,267,16,0,0,0,0,0,0,0,4.54215,'Shorty'), (7811,180,3,0,0,10805,272,16,0,0,0,0,-6065.9,-202.298,424.369,5,'Klemmy'), (7811,180,28,8,0,10611,267,16,0,0,0,0,0,0,0,0,'STATE_KNEEL'), (7811,182,16,6254,2,0,0,0,0,0,0,0,0,0,0,0,''), (7811,183,3,0,0,10805,272,16,0,0,0,0,0,0,0,4.0985,'Klemmy'), (7811,187,28,0,0,10611,267,16,0,0,0,0,0,0,0,0,'STATE_STAND'), (7811,188,3,0,0,10611,267,16,0,0,0,0,0,0,0,2.84489,'Shorty'), (7811,189,1,25,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,189,16,6255,2,0,0,0,0,0,0,0,0,0,0,0,''), (7811,190,15,18655,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,191,16,7316,2,0,0,0,0,0,0,0,0,0,0,0,'sound'), (7811,192,15,16786,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,192,15,5,0,11875,100,7,0,0,0,0,0,0,0,0,''), (7811,193,3,0,0,10611,267,16,0,0,0,0,0,0,0,4.54215,'Shorty'), (7811,193,25,0,0,10805,272,16,0,0,0,0,0,0,0,0,'RUN OFF'), (7811,194,1,25,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,194,16,6251,2,0,0,0,0,0,0,0,0,0,0,0,'sound'), (7811,195,3,0,0,10804,268,16,0,0,0,0,0,0,0,5.13852,'Middlecamp'), (7811,195,3,0,0,10805,272,16,0,0,0,0,-6077.43,-213.257,424.05,5.59936,'Klemmy'), (7811,196,1,21,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,196,3,0,0,10803,266,16,0,0,0,0,0,0,0,4.77803,'Wheeler'), (7811,197,3,0,0,10611,267,16,0,0,0,0,0,0,0,2.84489,'Shorty'), (7811,197,1,4,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,204,10,12385,180000,0,0,0,0,0,0,0,-6076,-215,424,0,'summon Mortar Team Advanced Target Dummy'), (7811,205,3,0,0,10805,272,16,0,0,0,0,-6071.88,-212.831,422.929,5,'Klemmy'), (7811,208,3,0,0,10805,272,16,0,0,0,0,0,0,0,6.04228,'Klemmy'), (7811,210,15,18655,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,207,1,25,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy'), (7811,208,1,11,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy'), (7811,211,1,15,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,211,1,5,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,212,16,6258,2,0,0,0,0,0,0,0,0,0,0,0,'sound'), (7811,210,25,1,0,10805,272,16,0,0,0,0,0,0,0,0,'RUN ON'), (7811,213,16,7316,2,0,0,0,0,0,0,0,0,0,0,0,'sound'), (7811,215,3,0,0,10804,268,16,0,0,0,0,0,0,0,2.9147,'Middlecamp'), (7811,215,3,0,0,10803,266,16,0,0,0,0,0,0,0,3.01942,'Wheeler'), (7811,210,3,0,0,10805,272,16,0,0,0,0,-6064.07,-209.851,421.98,6.10275,'Klemmy'), (7811,214,15,16786,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,214,15,5,0,12385,100,7,0,0,0,0,0,0,0,0,''), (7811,215,1,10,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,215,1,10,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,215,3,0,0,10805,272,16,0,0,0,0,-6061.97,-218.956,421.085,5.92054,'Klemmy'), (7811,219,3,0,0,10805,272,16,0,0,0,0,-6040.96,-221.929,414.921,5.92054,'Klemmy'), (7811,229,1,14,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy'), (7811,229,1,0,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,229,1,0,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,230,1,11,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,230,1,11,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,231,1,11,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,231,1,11,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,231,1,14,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy'), (7811,232,1,11,0,10610,269,16,0,0,0,0,0,0,0,0,''), (7811,232,1,11,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty'), (7811,233,1,11,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp'), (7811,233,1,11,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler'), (7811,236,3,0,0,10805,272,16,0,0,0,0,-6007.3,-200.348,406.777,3.28222,'Klemmy'), (7811,236,3,0,0,10611,267,16,0,0,0,0,-6007.46,-202.158,407.448,2,'Shorty'), (7811,237,3,0,0,10610,269,16,0,0,0,0,-6009.25,-202.65,406.983,2,'angus'), (7811,237,3,0,0,10804,268,16,0,0,0,0,-6010.67,-199.434,406.792,5.53269,'Middlecamp'), (7811,237,3,0,0,10803,266,16,0,0,0,0,-6008.53,-199.145,406.687,4.37218,'Wheeler'), (7811,256,3,0,0,10805,272,16,0,0,0,0,0,0,0,3.28222,'Klemmy'), (7811,254,3,0,0,10803,266,16,0,0,0,0,0,0,0,4.37218,'Wheeler'), (7811,254,3,0,0,10610,269,16,0,0,0,0,0,0,0,1.58825,'angus'), (7811,259,3,0,0,10804,268,16,0,0,0,0,0,0,0,5.53269,'Middlecamp'), (7811,260,3,0,0,1243,265,16,0,0,0,0,0,0,0,0.0349066,'Hegnar'), (7811,260,3,0,0,10611,267,16,0,0,0,0,0,0,0,2.47837,'Shorty'), (7811,270,21,0,0,10610,269,16,0,0,0,0,0,0,0,0,'Angus - unactive'), (7811,270,21,0,0,10805,272,16,0,0,0,0,0,0,0,0,'Klemmy - unactive'), (7811,270,21,0,0,10611,267,16,0,0,0,0,0,0,0,0,'Shorty - unactive'), (7811,270,21,0,0,10803,266,16,0,0,0,0,0,0,0,0,'Wheeler - unactive'), (7811,270,21,0,0,10804,268,16,0,0,0,0,0,0,0,0,'Middlecamp - unactive'); UPDATE `quest_template` SET `CompleteScript` = 7811 WHERE `entry` = 5541;
×
×
  • 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