From 0e274bdcb7bda6e889ef7ce2749e2bfd5b773fe0 Mon Sep 17 00:00:00 2001 From: Havenard Date: Tue, 11 Oct 2011 22:32:36 -0300 Subject: Fix Divine Storm Fix healing part of Divine Storm, will now work as intented healing up to 3 party or raid members for a total of 25% (or 40% with Glyph) of the damage caused. Closes #285 --- sql/updates/world/2011_10_11_01_world_spell_script_names.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2011_10_11_01_world_spell_script_names.sql (limited to 'sql') diff --git a/sql/updates/world/2011_10_11_01_world_spell_script_names.sql b/sql/updates/world/2011_10_11_01_world_spell_script_names.sql new file mode 100644 index 00000000000..f8ae3db6ad3 --- /dev/null +++ b/sql/updates/world/2011_10_11_01_world_spell_script_names.sql @@ -0,0 +1,2 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` = 53385; +INSERT INTO `spell_script_names` VALUES (53385, 'spell_pal_divine_storm'); -- cgit v1.2.3 From bf73409f4934754fcd8b85e70a16ceb2715e60d0 Mon Sep 17 00:00:00 2001 From: Giuseppe Montesanto Date: Sun, 1 Jan 2012 04:34:14 +0100 Subject: Fix 'The Undying' and 'The Immortal' achievements. --- .../world/2011_12_26_00_world_achievements.sql | 29 +++ src/server/game/Entities/Creature/Creature.cpp | 3 - src/server/game/Entities/Unit/Unit.cpp | 4 + src/server/game/Maps/ZoneScript.h | 2 +- .../IcecrownCitadel/instance_icecrown_citadel.cpp | 6 +- .../Northrend/Naxxramas/instance_naxxramas.cpp | 212 +++++++++++++-------- .../Northrend/Nexus/Oculus/instance_oculus.cpp | 6 +- .../Northrend/Ulduar/Ulduar/instance_ulduar.cpp | 6 +- 8 files changed, 177 insertions(+), 91 deletions(-) create mode 100644 sql/updates/world/2011_12_26_00_world_achievements.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_00_world_achievements.sql b/sql/updates/world/2011_12_26_00_world_achievements.sql new file mode 100644 index 00000000000..cbd5efa3cd6 --- /dev/null +++ b/sql/updates/world/2011_12_26_00_world_achievements.sql @@ -0,0 +1,29 @@ +-- The Undying +DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` IN (13237, 13238, 13239, 13240, 7617); -- Enable criteria +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (13237, 13238, 13239, 13240, 7617); -- Enable instance script execution for achievement criteria +INSERT INTO `achievement_criteria_data` VALUES +(13237, 12, 0, 0, ''), +(13237, 18, 0, 0, ''), +(13238, 12, 0, 0, ''), +(13238, 18, 0, 0, ''), +(13239, 12, 0, 0, ''), +(13239, 18, 0, 0, ''), +(13240, 12, 0, 0, ''), +(13240, 18, 0, 0, ''), +(7617, 12, 0, 0, ''), +(7617, 18, 0, 0, ''); + +-- The Immortal +DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` IN (13233, 13234, 13235, 13236, 7616); -- Enable criteria +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (13233, 13234, 13235, 13236, 7616); -- Enable instance script execution for achievement criteria +INSERT INTO `achievement_criteria_data` VALUES +(13233, 12, 1, 0, ''), +(13233, 18, 0, 0, ''), +(13234, 12, 1, 0, ''), +(13234, 18, 0, 0, ''), +(13235, 12, 1, 0, ''), +(13235, 18, 0, 0, ''), +(13236, 12, 1, 0, ''), +(13236, 18, 0, 0, ''), +(7616, 12, 1, 0, ''), +(7616, 18, 0, 0, ''); diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index f97d01a42a4..aac7e55a4a7 100755 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1507,9 +1507,6 @@ void Creature::setDeathState(DeathState s) if (m_formation && m_formation->getLeader() == this) m_formation->FormationReset(true); - if (ZoneScript* zoneScript = GetZoneScript()) - zoneScript->OnCreatureDeath(this); - if ((canFly() || IsFlying()) && FallGround()) return; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index fec9a13192c..981318fbdeb 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -12750,6 +12750,10 @@ void Unit::setDeathState(DeathState s) // do not why since in IncreaseMaxHealth currenthealth is checked SetHealth(0); SetPower(getPowerType(), 0); + + // players in instance don't have ZoneScript, but they have InstanceScript + if (ZoneScript* zoneScript = GetZoneScript() ? GetZoneScript() : (ZoneScript*)GetInstanceScript()) + zoneScript->OnUnitDeath(this); } else if (s == JUST_ALIVED) RemoveFlag (UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); // clear skinnable for creature and player (at battleground) diff --git a/src/server/game/Maps/ZoneScript.h b/src/server/game/Maps/ZoneScript.h index 58ba9ae2c43..70239baefaf 100755 --- a/src/server/game/Maps/ZoneScript.h +++ b/src/server/game/Maps/ZoneScript.h @@ -37,7 +37,7 @@ class ZoneScript virtual void OnGameObjectCreate(GameObject* /*go*/) {} virtual void OnGameObjectRemove(GameObject* /*go*/) {} - virtual void OnCreatureDeath(Creature* /*creature*/) {} + virtual void OnUnitDeath(Unit* /*unit*/) {} //All-purpose data storage 64 bit virtual uint64 GetData64(uint32 /*DataId*/) { return 0; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index a7235e34f3a..c6dcf3d7e29 100755 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -335,8 +335,12 @@ class instance_icecrown_citadel : public InstanceMapScript return entry; } - void OnCreatureDeath(Creature* creature) + void OnUnitDeath(Unit* unit) { + Creature* creature = unit->ToCreature(); + if (!creature) + return; + switch (creature->GetEntry()) { case NPC_YMIRJAR_BATTLE_MAIDEN: diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index 077aa708e14..e42f6230ecf 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -121,24 +121,24 @@ public: LoadMinionData(minionData); } - std::set HeiganEruptionGUID[4]; - uint64 GothikGateGUID; - uint64 HorsemenChestGUID; - uint64 SapphironGUID; - uint64 uiFaerlina; - uint64 uiThane; - uint64 uiLady; - uint64 uiBaron; - uint64 uiSir; - - uint64 uiThaddius; - uint64 uiHeigan; - uint64 uiFeugen; - uint64 uiStalagg; - - uint64 uiKelthuzad; - uint64 uiKelthuzadTrigger; - uint64 uiPortals[4]; + std::set heiganEruptionGUID[4]; + uint64 gothikGateGUID; + uint64 horsemenChestGUID; + uint64 sapphironGUID; + uint64 faerlinaGUID; + uint64 thaneGUID; + uint64 ladyGUID; + uint64 baronGUID; + uint64 sirGUID; + + uint64 thaddiusGUID; + uint64 heiganGUID; + uint64 feugenGUID; + uint64 stalaggGUID; + + uint64 kelthuzadGUID; + uint64 kelthuzadTriggerGUID; + uint64 portalsGUID[4]; uint32 AbominationCount; @@ -147,41 +147,46 @@ public: time_t minHorsemenDiedTime; time_t maxHorsemenDiedTime; + uint32 playerDied; + void Initialize() { - GothikGateGUID = 0; - HorsemenChestGUID = 0; - SapphironGUID = 0; - uiFaerlina = 0; - uiThane = 0; - uiLady = 0; - uiBaron = 0; - uiSir = 0; - uiThaddius = 0; - uiHeigan = 0; - uiFeugen = 0; - uiStalagg = 0; - uiKelthuzad = 0; - uiKelthuzadTrigger = 0; - - memset(uiPortals, 0, sizeof(uiPortals)); + gothikGateGUID = 0; + horsemenChestGUID = 0; + sapphironGUID = 0; + faerlinaGUID = 0; + thaneGUID = 0; + ladyGUID = 0; + baronGUID = 0; + sirGUID = 0; + thaddiusGUID = 0; + heiganGUID = 0; + feugenGUID = 0; + stalaggGUID = 0; + kelthuzadGUID = 0; + kelthuzadTriggerGUID = 0; + + playerDied = 0; + gothikDoorState = GO_STATE_ACTIVE; + + memset(portalsGUID, 0, sizeof(portalsGUID)); } void OnCreatureCreate(Creature* creature) { switch (creature->GetEntry()) { - case 15989: SapphironGUID = creature->GetGUID(); return; - case 15953: uiFaerlina = creature->GetGUID(); return; - case 16064: uiThane = creature->GetGUID(); return; - case 16065: uiLady = creature->GetGUID(); return; - case 30549: uiBaron = creature->GetGUID(); return; - case 16063: uiSir = creature->GetGUID(); return; - case 15928: uiThaddius = creature->GetGUID(); return; - case 15936: uiHeigan = creature->GetGUID(); return; - case 15930: uiFeugen = creature->GetGUID(); return; - case 15929: uiStalagg = creature->GetGUID(); return; - case 15990: uiKelthuzad = creature->GetGUID(); return; + case 15989: sapphironGUID = creature->GetGUID(); return; + case 15953: faerlinaGUID = creature->GetGUID(); return; + case 16064: thaneGUID = creature->GetGUID(); return; + case 16065: ladyGUID = creature->GetGUID(); return; + case 30549: baronGUID = creature->GetGUID(); return; + case 16063: sirGUID = creature->GetGUID(); return; + case 15928: thaddiusGUID = creature->GetGUID(); return; + case 15936: heiganGUID = creature->GetGUID(); return; + case 15930: feugenGUID = creature->GetGUID(); return; + case 15929: stalaggGUID = creature->GetGUID(); return; + case 15990: kelthuzadGUID = creature->GetGUID(); return; } AddMinion(creature, true); @@ -197,7 +202,7 @@ public: if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); - HeiganEruptionGUID[section].insert(go->GetGUID()); + heiganEruptionGUID[section].insert(go->GetGUID()); return; } @@ -205,29 +210,29 @@ public: switch (go->GetEntry()) { case GO_GOTHIK_GATE: - GothikGateGUID = go->GetGUID(); + gothikGateGUID = go->GetGUID(); go->SetGoState(gothikDoorState); break; case GO_HORSEMEN_CHEST: - HorsemenChestGUID = go->GetGUID(); + horsemenChestGUID = go->GetGUID(); break; case GO_HORSEMEN_CHEST_HERO: - HorsemenChestGUID = go->GetGUID(); + horsemenChestGUID = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL01: - uiPortals[0] = go->GetGUID(); + portalsGUID[0] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL02: - uiPortals[1] = go->GetGUID(); + portalsGUID[1] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL03: - uiPortals[2] = go->GetGUID(); + portalsGUID[2] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL04: - uiPortals[3] = go->GetGUID(); + portalsGUID[3] = go->GetGUID(); break; case GO_KELTHUZAD_TRIGGER: - uiKelthuzadTrigger = go->GetGUID(); + kelthuzadTriggerGUID = go->GetGUID(); break; default: break; @@ -242,16 +247,16 @@ public: { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); - HeiganEruptionGUID[section].erase(go->GetGUID()); + heiganEruptionGUID[section].erase(go->GetGUID()); return; } switch (go->GetEntry()) { case GO_BIRTH: - if (SapphironGUID) + if (sapphironGUID) { - if (Creature* pSapphiron = instance->GetCreature(SapphironGUID)) + if (Creature* pSapphiron = instance->GetCreature(sapphironGUID)) pSapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH); return; } @@ -263,6 +268,15 @@ public: AddDoor(go, false); } + void OnUnitDeath(Unit* unit) + { + if (unit->GetTypeId() == TYPEID_PLAYER && IsEncounterInProgress()) + { + playerDied = 1; + SaveToDB(); + } + } + void SetData(uint32 id, uint32 value) { switch (id) @@ -271,11 +285,10 @@ public: HeiganErupt(value); break; case DATA_GOTHIK_GATE: - if (GameObject* gothikGate = instance->GetGameObject(GothikGateGUID)) + if (GameObject* gothikGate = instance->GetGameObject(gothikGateGUID)) gothikGate->SetGoState(GOState(value)); gothikDoorState = GOState(value); break; - case DATA_HORSEMEN0: case DATA_HORSEMEN1: case DATA_HORSEMEN2: @@ -319,35 +332,35 @@ public: switch (id) { case DATA_FAERLINA: - return uiFaerlina; + return faerlinaGUID; case DATA_THANE: - return uiThane; + return thaneGUID; case DATA_LADY: - return uiLady; + return ladyGUID; case DATA_BARON: - return uiBaron; + return baronGUID; case DATA_SIR: - return uiSir; + return sirGUID; case DATA_THADDIUS: - return uiThaddius; + return thaddiusGUID; case DATA_HEIGAN: - return uiHeigan; + return heiganGUID; case DATA_FEUGEN: - return uiFeugen; + return feugenGUID; case DATA_STALAGG: - return uiStalagg; + return stalaggGUID; case DATA_KELTHUZAD: - return uiKelthuzad; + return kelthuzadGUID; case DATA_KELTHUZAD_PORTAL01: - return uiPortals[0]; + return portalsGUID[0]; case DATA_KELTHUZAD_PORTAL02: - return uiPortals[1]; + return portalsGUID[1]; case DATA_KELTHUZAD_PORTAL03: - return uiPortals[2]; + return portalsGUID[2]; case DATA_KELTHUZAD_PORTAL04: - return uiPortals[3]; + return portalsGUID[3]; case DATA_KELTHUZAD_TRIGGER: - return uiKelthuzadTrigger; + return kelthuzadTriggerGUID; } return 0; } @@ -359,7 +372,7 @@ public: if (id == BOSS_HORSEMEN && state == DONE) { - if (GameObject* pHorsemenChest = instance->GetGameObject(HorsemenChestGUID)) + if (GameObject* pHorsemenChest = instance->GetGameObject(horsemenChestGUID)) pHorsemenChest->SetRespawnTime(pHorsemenChest->GetRespawnDelay()); } @@ -373,7 +386,7 @@ public: if (i == section) continue; - for (std::set::const_iterator itr = HeiganEruptionGUID[i].begin(); itr != HeiganEruptionGUID[i].end(); ++itr) + for (std::set::const_iterator itr = heiganEruptionGUID[i].begin(); itr != heiganEruptionGUID[i].end(); ++itr) { if (GameObject* pHeiganEruption = instance->GetGameObject(*itr)) { @@ -384,6 +397,21 @@ public: } } + // This Function is called in CheckAchievementCriteriaMeet and CheckAchievementCriteriaMeet is called before SetBossState(bossId, DONE), + // so to check if all bosses are done the checker must exclude 1 boss, the last done, if there is at most 1 encouter in progress when is + // called this function then all bosses are done. The one boss that check is the boss that calls this function, so it is dead. + bool AreAllEncoutersDone() + { + uint32 numBossAlive = 0; + for (uint32 i = 0; i < MAX_BOSS_NUMBER; ++i) + if (GetBossState(i) != DONE) + numBossAlive++; + + if (numBossAlive > 1) + return false; + return true; + } + bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target = NULL*/, uint32 /*miscvalue1 = 0*/) { switch (criteria_id) @@ -396,12 +424,22 @@ public: if (Difficulty(instance->GetSpawnMode()) == RAID_DIFFICULTY_25MAN_NORMAL && (maxHorsemenDiedTime - minHorsemenDiedTime) < 15) return true; return false; - case 13233: // Criteria for achievement 2186: The Immortal (25-man) - // TODO. - break; - case 13237: // Criteria for achievement 2187: The Undying (10-man) - // TODO. - break; + // Difficulty checks are done on DB. + // Criteria for achievement 2186: The Immortal (25-man) + case 13233: // The Four Horsemen + case 13234: // Maexxna + case 13235: // Thaddius + case 13236: // Loatheb + case 7616: // Kel'Thuzad + // Criteria for achievement 2187: The Undying (10-man) + case 13237: // The Four Horsemen + case 13238: // Maexxna + case 13239: // Loatheb + case 13240: // Thaddius + case 7617: // Kel'Thuzad + if (AreAllEncoutersDone() && !playerDied) + return true; + return false; } return false; } @@ -409,16 +447,22 @@ public: std::string GetSaveData() { std::ostringstream saveStream; - saveStream << GetBossSaveData() << ' ' << gothikDoorState; + saveStream << GetBossSaveData() << gothikDoorState << ' ' << playerDied; return saveStream.str(); } void Load(const char * data) { std::istringstream loadStream(LoadBossState(data)); - uint32 buff; + uint32 temp, buff, buff2; + + for (uint32 i = 0; i < MAX_BOSS_NUMBER; ++i) + loadStream >> temp; + loadStream >> buff; gothikDoorState = GOState(buff); + loadStream >> buff2; + playerDied = buff2; } }; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index e6b3416b89c..ebc19b723d8 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -58,8 +58,12 @@ public: gameObjectList.clear(); } - void OnCreatureDeath(Creature* creature) + void OnUnitDeath(Unit* unit) { + Creature* creature = unit->ToCreature(); + if (!creature) + return; + if (creature->GetEntry() != NPC_CENTRIFUGE_CONSTRUCT) return; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 3c5697a7995..232c0ad6ffe 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -358,8 +358,12 @@ class instance_ulduar : public InstanceMapScript } } - void OnCreatureDeath(Creature* creature) + void OnUnitDeath(Unit* unit) { + Creature* creature = unit->ToCreature(); + if (!creature) + return; + switch (creature->GetEntry()) { case NPC_CORRUPTED_SERVITOR: -- cgit v1.2.3 From c75564bf69812bf831b38117439bf4889ce10eea Mon Sep 17 00:00:00 2001 From: Valcorb Date: Mon, 2 Jan 2012 23:45:52 +0100 Subject: DB\Quests: Fix Plan B --- sql/updates/world/2012_02_01_00_world_sai.sql | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 sql/updates/world/2012_02_01_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2012_02_01_00_world_sai.sql b/sql/updates/world/2012_02_01_00_world_sai.sql new file mode 100644 index 00000000000..3b9abd4c746 --- /dev/null +++ b/sql/updates/world/2012_02_01_00_world_sai.sql @@ -0,0 +1,41 @@ +-- [Q] Plan B (11658) +SET @ENTRY_GUARD := 25342; -- Dead Caravan Guard +SET @ENTRY_WORKER := 25343; -- Dead Caravan Worker +SET @ITEM := 34842; -- Warsong Outfit +SET @GOSSIP_1 := 9155; +SET @GOSSIP_2 := 9156; +SET @QUEST := 11658; -- Plan B + +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP_1; +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP_2; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(@GOSSIP_1, 12388), +(@GOSSIP_2, 12389); + +DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_1; +DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_2; +INSERT INTO `gossip_menu_option` VALUES +(@GOSSIP_1, 0, 0, 'Retrieve Warsong Outfit.', 1, 1, 0, 0, 0, 0, ''), +(@GOSSIP_2, 0, 0, 'Retrieve Warsong Outfit.', 1, 1, 0, 0, 0, 0, ''); + +UPDATE `creature_template` SET `npcflag`=`npcflag`|1 WHERE `entry` IN (@ENTRY_GUARD, @ENTRY_WORKER); +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25342 AND `id`=2534201; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25343 AND `id`=2534301; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@ENTRY_GUARD, @ENTRY_WORKER); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY_GUARD AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY_WORKER AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) +VALUES +(@ENTRY_GUARD, 0, 0, 1, 62, 0, 100, 0, @GOSSIP_1, 0, 0, 0, 56, @ITEM, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Select - Add Item Warsong Outfit'), +(@ENTRY_GUARD, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Select - Forced Despawn'), +(@ENTRY_WORKER, 0, 0, 1, 62, 0, 100, 0, @GOSSIP_2, 0, 0, 0, 56, @ITEM, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Select - Add Item Warsong Outfit'), +(@ENTRY_WORKER, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Select - Forced Despawn'); + +-- Conditions +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP_1; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP_2; +INSERT INTO `conditions` VALUES +(15, @GOSSIP_1, 0, 0, 9, @QUEST, 0, 0, 0, '', 'Only show gossip if player has quest Plan B'), +(15, @GOSSIP_2, 0, 0, 9, @QUEST, 0, 0, 0, '', 'Only show gossip if player has quest Plan B'), +(15, @GOSSIP_1, 0, 0, 2, @ITEM, 10, 0, 0, '', 'Only show gossip if player has less then 10 outfits'), +(15, @GOSSIP_2, 0, 0, 2, @ITEM, 10, 0, 0, '', 'Only show gossip if player has less then 10 outfits'); -- cgit v1.2.3 From db48702b5e83b0669ab8be6f39255bc6aab14c48 Mon Sep 17 00:00:00 2001 From: zxbiohazardzx Date: Tue, 3 Jan 2012 16:42:24 +0100 Subject: DB/Game Event: update Darkmoon Faire starttimes --- sql/updates/world/2012_01_02_00_world_sai.sql | 41 ++++++++++++++++++++++ .../world/2012_01_02_01_world_game_event.sql | 4 +++ sql/updates/world/2012_02_01_00_world_sai.sql | 41 ---------------------- 3 files changed, 45 insertions(+), 41 deletions(-) create mode 100644 sql/updates/world/2012_01_02_00_world_sai.sql create mode 100644 sql/updates/world/2012_01_02_01_world_game_event.sql delete mode 100644 sql/updates/world/2012_02_01_00_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_02_00_world_sai.sql b/sql/updates/world/2012_01_02_00_world_sai.sql new file mode 100644 index 00000000000..3b9abd4c746 --- /dev/null +++ b/sql/updates/world/2012_01_02_00_world_sai.sql @@ -0,0 +1,41 @@ +-- [Q] Plan B (11658) +SET @ENTRY_GUARD := 25342; -- Dead Caravan Guard +SET @ENTRY_WORKER := 25343; -- Dead Caravan Worker +SET @ITEM := 34842; -- Warsong Outfit +SET @GOSSIP_1 := 9155; +SET @GOSSIP_2 := 9156; +SET @QUEST := 11658; -- Plan B + +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP_1; +DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP_2; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(@GOSSIP_1, 12388), +(@GOSSIP_2, 12389); + +DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_1; +DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_2; +INSERT INTO `gossip_menu_option` VALUES +(@GOSSIP_1, 0, 0, 'Retrieve Warsong Outfit.', 1, 1, 0, 0, 0, 0, ''), +(@GOSSIP_2, 0, 0, 'Retrieve Warsong Outfit.', 1, 1, 0, 0, 0, 0, ''); + +UPDATE `creature_template` SET `npcflag`=`npcflag`|1 WHERE `entry` IN (@ENTRY_GUARD, @ENTRY_WORKER); +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25342 AND `id`=2534201; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25343 AND `id`=2534301; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@ENTRY_GUARD, @ENTRY_WORKER); +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY_GUARD AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY_WORKER AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) +VALUES +(@ENTRY_GUARD, 0, 0, 1, 62, 0, 100, 0, @GOSSIP_1, 0, 0, 0, 56, @ITEM, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Select - Add Item Warsong Outfit'), +(@ENTRY_GUARD, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Select - Forced Despawn'), +(@ENTRY_WORKER, 0, 0, 1, 62, 0, 100, 0, @GOSSIP_2, 0, 0, 0, 56, @ITEM, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Select - Add Item Warsong Outfit'), +(@ENTRY_WORKER, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Select - Forced Despawn'); + +-- Conditions +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP_1; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP_2; +INSERT INTO `conditions` VALUES +(15, @GOSSIP_1, 0, 0, 9, @QUEST, 0, 0, 0, '', 'Only show gossip if player has quest Plan B'), +(15, @GOSSIP_2, 0, 0, 9, @QUEST, 0, 0, 0, '', 'Only show gossip if player has quest Plan B'), +(15, @GOSSIP_1, 0, 0, 2, @ITEM, 10, 0, 0, '', 'Only show gossip if player has less then 10 outfits'), +(15, @GOSSIP_2, 0, 0, 2, @ITEM, 10, 0, 0, '', 'Only show gossip if player has less then 10 outfits'); diff --git a/sql/updates/world/2012_01_02_01_world_game_event.sql b/sql/updates/world/2012_01_02_01_world_game_event.sql new file mode 100644 index 00000000000..11267a6b296 --- /dev/null +++ b/sql/updates/world/2012_01_02_01_world_game_event.sql @@ -0,0 +1,4 @@ +-- More Darkmoon Faerie synchronization +UPDATE `game_event` SET `start_time`='2012-02-05 00:01:00' WHERE `eventEntry`=3; +UPDATE `game_event` SET `start_time`='2012-03-04 00:01:00' WHERE `eventEntry`=4; +UPDATE `game_event` SET `start_time`='2012-01-01 00:01:00' WHERE `eventEntry`=5; diff --git a/sql/updates/world/2012_02_01_00_world_sai.sql b/sql/updates/world/2012_02_01_00_world_sai.sql deleted file mode 100644 index 3b9abd4c746..00000000000 --- a/sql/updates/world/2012_02_01_00_world_sai.sql +++ /dev/null @@ -1,41 +0,0 @@ --- [Q] Plan B (11658) -SET @ENTRY_GUARD := 25342; -- Dead Caravan Guard -SET @ENTRY_WORKER := 25343; -- Dead Caravan Worker -SET @ITEM := 34842; -- Warsong Outfit -SET @GOSSIP_1 := 9155; -SET @GOSSIP_2 := 9156; -SET @QUEST := 11658; -- Plan B - -DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP_1; -DELETE FROM `gossip_menu` WHERE `entry`=@GOSSIP_2; -INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES -(@GOSSIP_1, 12388), -(@GOSSIP_2, 12389); - -DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_1; -DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_2; -INSERT INTO `gossip_menu_option` VALUES -(@GOSSIP_1, 0, 0, 'Retrieve Warsong Outfit.', 1, 1, 0, 0, 0, 0, ''), -(@GOSSIP_2, 0, 0, 'Retrieve Warsong Outfit.', 1, 1, 0, 0, 0, 0, ''); - -UPDATE `creature_template` SET `npcflag`=`npcflag`|1 WHERE `entry` IN (@ENTRY_GUARD, @ENTRY_WORKER); -DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25342 AND `id`=2534201; -DELETE FROM `creature_ai_scripts` WHERE `creature_id`=25343 AND `id`=2534301; -UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@ENTRY_GUARD, @ENTRY_WORKER); -DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY_GUARD AND `source_type`=0; -DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY_WORKER AND `source_type`=0; -INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) -VALUES -(@ENTRY_GUARD, 0, 0, 1, 62, 0, 100, 0, @GOSSIP_1, 0, 0, 0, 56, @ITEM, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Select - Add Item Warsong Outfit'), -(@ENTRY_GUARD, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Guard - On Gossip Select - Forced Despawn'), -(@ENTRY_WORKER, 0, 0, 1, 62, 0, 100, 0, @GOSSIP_2, 0, 0, 0, 56, @ITEM, 1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Select - Add Item Warsong Outfit'), -(@ENTRY_WORKER, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Dead Caravan Worker - On Gossip Select - Forced Despawn'); - --- Conditions -DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP_1; -DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@GOSSIP_2; -INSERT INTO `conditions` VALUES -(15, @GOSSIP_1, 0, 0, 9, @QUEST, 0, 0, 0, '', 'Only show gossip if player has quest Plan B'), -(15, @GOSSIP_2, 0, 0, 9, @QUEST, 0, 0, 0, '', 'Only show gossip if player has quest Plan B'), -(15, @GOSSIP_1, 0, 0, 2, @ITEM, 10, 0, 0, '', 'Only show gossip if player has less then 10 outfits'), -(15, @GOSSIP_2, 0, 0, 2, @ITEM, 10, 0, 0, '', 'Only show gossip if player has less then 10 outfits'); -- cgit v1.2.3 From 11d7acc99a1ea5dae116fce5a221f07b1a5b0b18 Mon Sep 17 00:00:00 2001 From: zxbiohazardzx Date: Tue, 3 Jan 2012 16:44:42 +0100 Subject: DB/creatures: Summoned creatures that come with the portal guardian in violet hold should not reward XP --- .../world/2012_01_02_02_world_creature_template.sql | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 sql/updates/world/2012_01_02_02_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_02_02_world_creature_template.sql b/sql/updates/world/2012_01_02_02_world_creature_template.sql new file mode 100644 index 00000000000..1f87f418dec --- /dev/null +++ b/sql/updates/world/2012_01_02_02_world_creature_template.sql @@ -0,0 +1,21 @@ +-- Kill xp exploit, mobs spawned by portal keepers don't gives xp on retail. (ie mobs 30662, 30664) +UPDATE `creature_template` SET `flags_extra`= `flags_extra`|64 WHERE `entry` IN ( +-- NORMAL +30661, -- CREATURE_AZURE_INVADER_1 +30961, -- CREATURE_AZURE_INVADER_2 +30662, -- CREATURE_AZURE_SPELLBREAKER_1 +30962, -- CREATURE_AZURE_SPELLBREAKER_2 +30663, -- CREATURE_AZURE_BINDER_1 +30918, -- CREATURE_AZURE_BINDER_2 +30664, -- CREATURE_AZURE_MAGE_SLAYER_1 +30963, -- CREATURE_AZURE_MAGE_SLAYER_2 +-- HEROIC: +31487, -- Azure Invader +31494, -- Azure Spellbreaker +31483, -- Azure Binder +31497, -- Azure Mage Slayer +31484, -- Azure Binder +31488, -- Azure Invader +31495, -- Azure Spellbreaker +31498, -- Azure Mage Slayer +); -- cgit v1.2.3 From 3a29f5a5de42d02f17fe24a789b91fe859399647 Mon Sep 17 00:00:00 2001 From: zxbiohazardzx Date: Tue, 3 Jan 2012 16:47:44 +0100 Subject: DB/creatures: fix reputation rewardings for Oculus and Utgarde Pinnacle heroic modes --- ...2_01_02_03_world_creature_onkill_reputation.sql | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 sql/updates/world/2012_01_02_03_world_creature_onkill_reputation.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_02_03_world_creature_onkill_reputation.sql b/sql/updates/world/2012_01_02_03_world_creature_onkill_reputation.sql new file mode 100644 index 00000000000..282fc58dd3b --- /dev/null +++ b/sql/updates/world/2012_01_02_03_world_creature_onkill_reputation.sql @@ -0,0 +1,57 @@ +-- The Oculus hero +DELETE FROM `creature_onkill_reputation` WHERE `creature_id` IN (31558, 31561, 31560, 31559, 30901, 30902, 30903, 30904, 30905, 30906, 30907, 30908, 30909, 30910, 30911, 30912, 30913, 30914, 30991, 30915, 30916, 30879); +INSERT INTO `creature_onkill_reputation` VALUES +(31558, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(31561, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(31560, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(31559, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(30901, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30902, 1037, 1052, 7, 0, 2, 7, 0, 2, 1), +(30903, 1037, 1052, 7, 0, 30, 7, 0, 30, 1), +(30904, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30905, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30991, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30906, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30907, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30908, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30909, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30910, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30911, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30912, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30913, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30914, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30879, 1037, 1052, 7, 0, 0, 7, 0, 0, 1), +(30915, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30916, 1037, 1052, 7, 0, 15, 7, 0, 15, 1); + +-- Utgarde Pinnacle hero +DELETE FROM `creature_onkill_reputation` WHERE `creature_id` IN (30774, 30788, 30807, 30810, 30756, 30762, 30764, 30765, 30766, 30767, 30770, 30772, 30779, 30790, 30803, 30775, 30791, 30804, 30806, 30809, 30816, 30817, 30818, 30819, 30820, 30821, 30822, 30823); +INSERT INTO `creature_onkill_reputation` VALUES +(30774, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(30788, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(30807, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(30810, 1037, 1052, 7, 0, 250, 7, 0, 250, 1), +(30756, 1037, 1052, 7, 0, 0, 7, 0, 0, 1), +(30762, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30764, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30765, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30766, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30767, 1037, 1052, 7, 0, 2, 7, 0, 2, 1), +(30770, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30772, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30779, 1037, 1052, 7, 0, 0, 7, 0, 0, 1), +(30790, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30803, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30775, 1037, 1052, 7, 0, 0, 7, 0, 0, 1), +(30791, 1037, 1052, 7, 0, 2, 7, 0, 2, 1), +(30804, 1037, 1052, 7, 0, 2, 7, 0, 2, 1), +(30806, 1037, 1052, 7, 0, 30, 7, 0, 30, 1), +(30809, 1037, 1052, 7, 0, 0, 7, 0, 0, 1), +(30816, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30817, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30818, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30819, 1037, 1052, 7, 0, 2, 7, 0, 2, 1), +(30820, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30821, 1037, 1052, 7, 0, 15, 7, 0, 15, 1), +(30822, 1037, 1052, 7, 0, 2, 7, 0, 2, 1), +(30823, 1037, 1052, 7, 0, 2, 7, 0, 2, 1); -- cgit v1.2.3 From 110432ec679c6097cf56fb6181f052314119b62a Mon Sep 17 00:00:00 2001 From: Malcrom Date: Wed, 4 Jan 2012 10:34:34 +0100 Subject: DB/Gossip: add some missing gossips from sniff --- .../world/2012_01_02_02_world_creature_template.sql | 2 +- sql/updates/world/2012_01_03_00_world_gossip_menu.sql | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2012_01_03_00_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_02_02_world_creature_template.sql b/sql/updates/world/2012_01_02_02_world_creature_template.sql index 1f87f418dec..ed95c4450fd 100644 --- a/sql/updates/world/2012_01_02_02_world_creature_template.sql +++ b/sql/updates/world/2012_01_02_02_world_creature_template.sql @@ -17,5 +17,5 @@ UPDATE `creature_template` SET `flags_extra`= `flags_extra`|64 WHERE `entry` IN 31484, -- Azure Binder 31488, -- Azure Invader 31495, -- Azure Spellbreaker -31498, -- Azure Mage Slayer +31498 -- Azure Mage Slayer ); diff --git a/sql/updates/world/2012_01_03_00_world_gossip_menu.sql b/sql/updates/world/2012_01_03_00_world_gossip_menu.sql new file mode 100644 index 00000000000..9e9bba43b1a --- /dev/null +++ b/sql/updates/world/2012_01_03_00_world_gossip_menu.sql @@ -0,0 +1,17 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9918 AND `text_id`=13792; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9918,13792); +DELETE FROM `gossip_menu` WHERE `entry`=9859 AND `text_id`=13650; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9859,13650); +DELETE FROM `gossip_menu` WHERE `entry`=9857 AND `text_id`=13651; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9857,13651); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=10316 WHERE `entry`=33224; +UPDATE `creature_template` SET `gossip_menu_id`=9918 WHERE `entry`=29430; +UPDATE `creature_template` SET `gossip_menu_id`=9859 WHERE `entry`=29434; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10316,9857,9917) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(10316,0,0, 'Glad to help, my lady. I''m told you were once the guardian of a fabled sword. Do you know where I might find it?',1,1,10315,0,0,0, ''), +(9857,0,0, 'I''m ready - lets get you out of here.',1,1,0,0,0,0, ''), +(9917,0,0, 'I am ready to head further into Storm Peaks.',1,1,0,0,0,0, ''); -- cgit v1.2.3 From 3d12f6309f255f9fdcbcfac109ed3e49e49b2580 Mon Sep 17 00:00:00 2001 From: zoidmann Date: Wed, 4 Jan 2012 11:15:36 +0100 Subject: DB/Quest: fix a typo in OfferRewardText for "Get to Getry" closes #3197 --- sql/updates/world/2012_01_03_01_world_quest_template.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 sql/updates/world/2012_01_03_01_world_quest_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_01_world_quest_template.sql b/sql/updates/world/2012_01_03_01_world_quest_template.sql new file mode 100644 index 00000000000..5ffc0930645 --- /dev/null +++ b/sql/updates/world/2012_01_03_01_world_quest_template.sql @@ -0,0 +1 @@ +UPDATE quest_template SET OfferRewardText='$B$BThis is all Ickoris could send?' WHERE entry=11703; -- cgit v1.2.3 From eb6b5d8d13ea89a3cd00a36a99d0988db0eeeebe Mon Sep 17 00:00:00 2001 From: gecko32 Date: Wed, 4 Jan 2012 11:21:10 +0100 Subject: DB/SAI: fix quest Peace at Last closes #3144 --- sql/updates/world/2012_01_03_02_world_sai.sql | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 sql/updates/world/2012_01_03_02_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_02_world_sai.sql b/sql/updates/world/2012_01_03_02_world_sai.sql new file mode 100644 index 00000000000..61ae8aab575 --- /dev/null +++ b/sql/updates/world/2012_01_03_02_world_sai.sql @@ -0,0 +1,27 @@ +-- Add text for Lynn Hyal +DELETE FROM `creature_text` WHERE `entry`=23768; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(23768, 1, 0, 'James? James... No, you\'re not James, but I know who you are...', 12, 0, 100, 0, 0, 0, 'Lynn Hyal'), +(23768, 2, 0, 'You\'re the one who tracked down the brutes who did this to us.', 12, 0, 100, 0, 0, 0, 'Lynn Hyal'), +(23768, 3, 0, 'I tried so hard to tell Jim... to tell anyone... who was behind this, but I couldn\'t find a way...', 12, 0, 100, 0, 0, 0, 'Lynn Hyal'), +(23768, 4, 0, 'Thank you for helping us and for helping Jim. If you see him, tell him little Jimmy and I love him and that we\'re waiting for him.', 12, 0, 100, 0, 0, 0, 'Lynn Hyal'), +(23768, 5, 0, 'I don\'t know when we\'ll see Daddy again, Jimmy, but I know he loves you and he misses you very much.', 12, 0, 100, 0, 0, 0, 'Lynn Hyal'); +-- Add text for Jimmy Hyal +DELETE FROM `creature_text` WHERE `entry`=23769; +INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`) VALUES +(23769, 1, 0, 'Mommy, when will we see Daddy again?', 12, 0, 100, 0, 0, 0, 'Jimmy Hyal'); +-- add smart ai dialog for Lynn Hyal and quest credit at end of dialog +UPDATE `creature_template` SET AIName="SmartAI" WHERE `entry`=23768; +DELETE FROM `smart_scripts` WHERE `entryorguid`=23768; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23768, 0, 0, 0, 1, 0, 100, 1, 0, 0, 0, 0, 84, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Lynn Hyal - on spawn - talk 1'), +(23768, 0, 1, 0, 1, 0, 100, 1, 2000, 2000, 0, 0, 84, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Lynn Hyal - after 2 sec - talk 2'), +(23768, 0, 2, 0, 1, 0, 100, 1, 5000, 5000, 0, 0, 84, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Lynn Hyal - after 5 sec - talk 3'), +(23768, 0, 3, 0, 1, 0, 100, 1, 8000, 8000, 0, 0, 84, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Lynn Hyal - after 8 sec - talk 4'), +(23768, 0, 4, 0, 1, 0, 100, 1, 12000, 12000, 0, 0, 84, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Lynn Hyal - after 12 sec - reply to jimmy'), +(23768, 0, 5, 0, 1, 0, 100, 1, 12000, 12000, 0, 0, 33, 23768, 0, 0, 0, 0, 0, 18, 5, 0, 0, 0, 0, 0, 0, 'Lynn Hyal - after 12 sec - kill credit quest complete'); +-- add smart ai dialog for Jimmy Hyal +UPDATE `creature_template` SET AIName="SmartAI" WHERE `entry`=23769; +DELETE FROM `smart_scripts` WHERE `entryorguid`=23769; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23769, 0, 0, 0, 1, 0, 100, 1, 10000, 10000, 0, 0, 84, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Jimmy Hyal - after 10 sec - talk 1'); -- cgit v1.2.3 From 2b066b8ff58a21fdee063db0a1284043bdc58a7a Mon Sep 17 00:00:00 2001 From: malcrom Date: Wed, 4 Jan 2012 11:25:45 +0100 Subject: DB/Creatures: set correct faction for frostmane troll whelp closes #1105 --- sql/updates/world/2012_01_03_01_world_quest_template.sql | 2 +- sql/updates/world/2012_01_03_03_world_creature_template.sql | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2012_01_03_03_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_01_world_quest_template.sql b/sql/updates/world/2012_01_03_01_world_quest_template.sql index 5ffc0930645..f35ea3be65b 100644 --- a/sql/updates/world/2012_01_03_01_world_quest_template.sql +++ b/sql/updates/world/2012_01_03_01_world_quest_template.sql @@ -1 +1 @@ -UPDATE quest_template SET OfferRewardText='$B$BThis is all Ickoris could send?' WHERE entry=11703; +UPDATE `quest_template` SET `OfferRewardText`='$B$BThis is all Ickoris could send?' WHERE `id`=11703; diff --git a/sql/updates/world/2012_01_03_03_world_creature_template.sql b/sql/updates/world/2012_01_03_03_world_creature_template.sql new file mode 100644 index 00000000000..29d0e802abe --- /dev/null +++ b/sql/updates/world/2012_01_03_03_world_creature_template.sql @@ -0,0 +1,2 @@ +-- Update faction for Frostmane Troll Whelp "From Sniff" +UPDATE `creature_template` SET `faction_A`=7,`faction_H`=7 WHERE `entry`=706; -- cgit v1.2.3 From 2f7dd296166ba64effc5dd101f011fea14b50075 Mon Sep 17 00:00:00 2001 From: horn Date: Wed, 4 Jan 2012 11:34:15 +0100 Subject: DB/Quests: set correct questrelations for quests 12345 and 12377 closes #3569 --- .../world/2012_01_03_04_world_gameobject_questrelation.sql | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 sql/updates/world/2012_01_03_04_world_gameobject_questrelation.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_04_world_gameobject_questrelation.sql b/sql/updates/world/2012_01_03_04_world_gameobject_questrelation.sql new file mode 100644 index 00000000000..519fa99e2d5 --- /dev/null +++ b/sql/updates/world/2012_01_03_04_world_gameobject_questrelation.sql @@ -0,0 +1,8 @@ +DELETE FROM `gameobject_questrelation` WHERE `quest` IN (12345, 12377); +INSERT INTO `gameobject_questrelation` VALUES +(190035, 12345), +(190079, 12377); +DELETE FROM `gameobject_involvedrelation` WHERE `quest` IN (12345, 12377); +INSERT INTO `gameobject_involvedrelation` VALUES +(190035, 12345), +(190079, 12377); -- cgit v1.2.3 From 46fb199ee1c5d27ea79f65d63f6fd8dbe29612c6 Mon Sep 17 00:00:00 2001 From: kandera Date: Tue, 3 Jan 2012 08:37:21 -0500 Subject: Core/Quests: Add implementation of seasonal quest reset. uses a new table much like character_queststatus_weekly. fixed typo where WEEKLY was WEKLY. Attempt 2 --- ..._00_world_game_event_seasonal_questrelation.sql | 387 +++++++++++++++++++++ ...1_characters_character_queststatus_seasonal.sql | 8 + src/server/game/Entities/Player/Player.cpp | 125 ++++++- src/server/game/Entities/Player/Player.h | 12 +- src/server/game/Events/GameEventMgr.cpp | 43 +++ src/server/game/Globals/ObjectMgr.h | 5 + src/server/game/Quests/QuestDef.cpp | 1 + src/server/game/Quests/QuestDef.h | 5 + .../Server/Protocol/Handlers/CharacterHandler.cpp | 8 +- src/server/game/World/World.cpp | 11 + src/server/game/World/World.h | 1 + .../Database/Implementation/CharacterDatabase.cpp | 10 +- .../Database/Implementation/CharacterDatabase.h | 10 +- 13 files changed, 608 insertions(+), 18 deletions(-) create mode 100644 sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql create mode 100644 sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql mode change 100755 => 100644 src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp mode change 100755 => 100644 src/server/shared/Database/Implementation/CharacterDatabase.cpp mode change 100755 => 100644 src/server/shared/Database/Implementation/CharacterDatabase.h (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql b/sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql new file mode 100644 index 00000000000..b4ff9c1da5e --- /dev/null +++ b/sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql @@ -0,0 +1,387 @@ +DROP TABLE IF EXISTS `game_event_seasonal_questrelation`; +CREATE TABLE `game_event_seasonal_questrelation` ( + `quest` mediumint(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier', + `event` mediumint(10) NOT NULL DEFAULT '0' COMMENT 'Quest Identifier', + PRIMARY KEY (`quest`,`event`), + KEY `idx_quest` (`quest`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Player System'; + +INSERT INTO `game_event_seasonal_questrelation` (`quest`,`event`) VALUES + (1657, 12), + (1658, 12), + (6961, 2), + (6962, 2), + (6963, 2), + (6964, 2), + (6983, 3), + (6984, 3), + (7021, 2), + (7022, 2), + (7023, 2), + (7024, 2), + (7025, 2), + (7042, 2), + (7043, 2), + (7045, 2), + (7061, 2), + (7062, 2), + (7063, 2), + (8149, 11), + (8150, 11), + (8311, 12), + (8312, 12), + (8322, 12), + (8353, 12), + (8354, 12), + (8355, 12), + (8356, 12), + (8357, 12), + (8358, 12), + (8359, 12), + (8360, 12), + (8373, 12), + (8409, 12), + (8744, 52), + (8746, 2), + (8762, 2), + (8763, 2), + (8767, 52), + (8768, 52), + (8769, 52), + (8788, 52), + (8799, 2), + (8803, 52), + (8827, 2), + (8828, 2), + (8860, 6), + (8861, 6), + (8868, 7), + (8897, 8), + (8898, 8), + (8899, 8), + (8900, 8), + (8901, 8), + (8902, 8), + (8903, 8), + (8904, 8), + (8971, -1), + (8972, -1), + (8973, -1), + (8974, -1), + (8975, -1), + (8976, -1), + (8979, 8), + (8980, 8), + (8981, 8), + (8982, 8), + (8983, 8), + (8984, 8), + (8993, 8), + (9024, 8), + (9025, 8), + (9026, 8), + (9027, 8), + (9028, 8), + (11131, 12), + (11135, 12), + (11219, 12), + (11220, 12), + (11242, 12), + (11356, 12), + (11357, 12), + (11360, 12), + (11361, 12), + (11392, 12), + (11401, 12), + (11403, 12), + (11404, 12), + (11405, 12), + (11435, 12), + (11439, 12), + (11440, 12), + (11449, 12), + (11450, 12), + (11528, 52), + (11558, 8), + (11580, 1), + (11581, 1), + (11583, 1), + (11584, 1), + (11696, 1), + (11732, 1), + (11734, 1), + (11735, 1), + (11736, 1), + (11737, 1), + (11738, 1), + (11739, 1), + (11740, 1), + (11741, 1), + (11742, 1), + (11743, 1), + (11744, 1), + (11745, 1), + (11746, 1), + (11747, 1), + (11748, 1), + (11749, 1), + (11750, 1), + (11751, 1), + (11752, 1), + (11753, 1), + (11754, 1), + (11755, 1), + (11756, 1), + (11757, 1), + (11758, 1), + (11759, 1), + (11760, 1), + (11761, 1), + (11762, 1), + (11763, 1), + (11764, 1), + (11765, 1), + (11766, 1), + (11767, 1), + (11768, 1), + (11769, 1), + (11770, 1), + (11771, 1), + (11772, 1), + (11773, 1), + (11774, 1), + (11775, 1), + (11776, 1), + (11777, 1), + (11778, 1), + (11779, 1), + (11780, 1), + (11781, 1), + (11782, 1), + (11783, 1), + (11784, 1), + (11785, 1), + (11786, 1), + (11787, 1), + (11799, 1), + (11800, 1), + (11801, 1), + (11802, 1), + (11803, 1), + (11804, 1), + (11805, 1), + (11806, 1), + (11807, 1), + (11808, 1), + (11809, 1), + (11810, 1), + (11811, 1), + (11812, 1), + (11813, 1), + (11814, 1), + (11815, 1), + (11816, 1), + (11817, 1), + (11818, 1), + (11819, 1), + (11820, 1), + (11821, 1), + (11822, 1), + (11823, 1), + (11824, 1), + (11825, 1), + (11826, 1), + (11827, 1), + (11828, 1), + (11829, 1), + (11830, 1), + (11831, 1), + (11832, 1), + (11833, 1), + (11834, 1), + (11835, 1), + (11836, 1), + (11837, 1), + (11838, 1), + (11839, 1), + (11840, 1), + (11841, 1), + (11842, 1), + (11843, 1), + (11844, 1), + (11845, 1), + (11846, 1), + (11847, 1), + (11848, 1), + (11849, 1), + (11850, 1), + (11851, 1), + (11852, 1), + (11853, 1), + (11854, 1), + (11855, 1), + (11856, 1), + (11857, 1), + (11858, 1), + (11859, 1), + (11860, 1), + (11861, 1), + (11862, 1), + (11863, 1), + (11937, 1), + (11976, 1), + (12133, 12), + (12135, 12), + (12139, 12), + (12155, 12), + (12286, -1), + (12313, 24), + (12331, 12), + (12332, 12), + (12333, 12), + (12334, 12), + (12335, 12), + (12336, 12), + (12337, 12), + (12338, 12), + (12339, 12), + (12340, 12), + (12341, 12), + (12342, 12), + (12343, 12), + (12344, 12), + (12345, 12), + (12346, 12), + (12347, 12), + (12348, 12), + (12349, 12), + (12350, 12), + (12351, 12), + (12352, 12), + (12353, 12), + (12354, 12), + (12355, 12), + (12356, 12), + (12357, 12), + (12358, 12), + (12359, 12), + (12360, 12), + (12361, 12), + (12362, 12), + (12363, 12), + (12364, 12), + (12365, 12), + (12366, 12), + (12367, 12), + (12368, 12), + (12369, 12), + (12370, 12), + (12371, 12), + (12373, 12), + (12374, 12), + (12375, 12), + (12376, 12), + (12377, 12), + (12378, 12), + (12379, 12), + (12380, 12), + (12381, 12), + (12382, 12), + (12383, 12), + (12384, 12), + (12385, 12), + (12386, 12), + (12387, 12), + (12388, 12), + (12389, 12), + (12390, 12), + (12391, 12), + (12392, 12), + (12393, 12), + (12394, 12), + (12395, 12), + (12396, 12), + (12397, 12), + (12398, 12), + (12399, 12), + (12400, 12), + (12401, 12), + (12402, 12), + (12403, 12), + (12404, 12), + (12405, 12), + (12406, 12), + (12407, 12), + (12408, 12), + (12409, 12), + (12410, 12), + (12940, 12), + (12941, 12), + (12944, 12), + (12945, 12), + (12946, 12), + (12947, 12), + (12950, 12), + (13203, 52), + (13433, 12), + (13434, 12), + (13435, 12), + (13436, 12), + (13437, 12), + (13438, 12), + (13439, 12), + (13440, 12), + (13441, 12), + (13442, 12), + (13443, 12), + (13444, 12), + (13445, 12), + (13446, 12), + (13447, 12), + (13448, 12), + (13449, 12), + (13450, 12), + (13451, 12), + (13452, 12), + (13453, 12), + (13454, 12), + (13455, 12), + (13456, 12), + (13457, 12), + (13458, 12), + (13459, 12), + (13460, 12), + (13461, 12), + (13462, 12), + (13463, 12), + (13464, 12), + (13465, 12), + (13466, 12), + (13467, 12), + (13468, 12), + (13469, 12), + (13470, 12), + (13471, 12), + (13472, 12), + (13473, 12), + (13474, 12), + (13485, 1), + (13486, 1), + (13487, 1), + (13488, 1), + (13489, 1), + (13490, 1), + (13491, 1), + (13492, 1), + (13493, 1), + (13494, 1), + (13495, 1), + (13496, 1), + (13497, 1), + (13498, 1), + (13499, 1), + (13500, 1), + (13501, 12), + (13548, 12), + (13966, 52); + diff --git a/sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql b/sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql new file mode 100644 index 00000000000..88264c424cc --- /dev/null +++ b/sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql @@ -0,0 +1,8 @@ +DROP TABLE IF EXISTS `character_queststatus_seasonal`; +CREATE TABLE `character_queststatus_seasonal` ( + `guid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier', + `quest` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Quest Identifier', + `event` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Event Identifier', + PRIMARY KEY (`guid`,`quest`), + KEY `idx_guid` (`guid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Player System'; \ No newline at end of file diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 74f475aab17..c152b911fe2 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14529,7 +14529,7 @@ bool Player::CanSeeStartQuest(Quest const* quest) SatisfyQuestExclusiveGroup(quest, false) && SatisfyQuestReputation(quest, false) && SatisfyQuestPreviousQuest(quest, false) && SatisfyQuestNextChain(quest, false) && SatisfyQuestPrevChain(quest, false) && SatisfyQuestDay(quest, false) && SatisfyQuestWeek(quest, false) && - !DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, quest->GetQuestId(), this)) + SatisfyQuestSeasonal(quest, false) && !DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, quest->GetQuestId(), this)) { return getLevel() + sWorld->getIntConfig(CONFIG_QUEST_HIGH_LEVEL_HIDE_DIFF) >= quest->GetMinLevel(); } @@ -14545,7 +14545,7 @@ bool Player::CanTakeQuest(Quest const* quest, bool msg) && SatisfyQuestPreviousQuest(quest, msg) && SatisfyQuestTimed(quest, msg) && SatisfyQuestNextChain(quest, msg) && SatisfyQuestPrevChain(quest, msg) && SatisfyQuestDay(quest, msg) && SatisfyQuestWeek(quest, msg) - && !DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, quest->GetQuestId(), this) + && SatisfyQuestSeasonal(quest,msg) && !DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, quest->GetQuestId(), this) && SatisfyQuestConditions(quest, msg); } @@ -14669,7 +14669,7 @@ bool Player::CanRewardQuest(Quest const* quest, bool msg) return false; // daily quest can't be rewarded (25 daily quest already completed) - if (!SatisfyQuestDay(quest, true) || !SatisfyQuestWeek(quest, true)) + if (!SatisfyQuestDay(quest, true) || !SatisfyQuestWeek(quest, true) || !SatisfyQuestSeasonal(quest,true)) return false; // rewarded and not repeatable quest (only cheating case, then ignore without message) @@ -14978,6 +14978,8 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, } else if (quest->IsWeekly()) SetWeeklyQuestStatus(quest_id); + else if (quest->IsSeasonal()) + SetSeasonalQuestStatus(quest_id); RemoveActiveQuest(quest_id); m_RewardedQuests.insert(quest_id); @@ -15333,7 +15335,7 @@ bool Player::SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg) // not allow have daily quest if daily quest from exclusive group already recently completed Quest const* Nquest = sObjectMgr->GetQuestTemplate(exclude_Id); - if (!SatisfyQuestDay(Nquest, false) || !SatisfyQuestWeek(Nquest, false)) + if (!SatisfyQuestDay(Nquest, false) || !SatisfyQuestWeek(Nquest, false) || !SatisfyQuestSeasonal(Nquest,false)) { if (msg) SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); @@ -15342,7 +15344,7 @@ bool Player::SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg) } // alternative quest already started or completed - but don't check rewarded states if both are repeatable - if (GetQuestStatus(exclude_Id) != QUEST_STATUS_NONE || (!(qInfo->IsRepeatable() && Nquest->IsRepeatable()) && m_RewardedQuests.find(exclude_Id) != m_RewardedQuests.end())) + if (GetQuestStatus(exclude_Id) != QUEST_STATUS_NONE || (!(qInfo->IsRepeatable() && Nquest->IsRepeatable()) && (m_RewardedQuests.find(exclude_Id) != m_RewardedQuests.end()))) { if (msg) SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ); @@ -15443,6 +15445,15 @@ bool Player::SatisfyQuestWeek(Quest const* qInfo, bool /*msg*/) return m_weeklyquests.find(qInfo->GetQuestId()) == m_weeklyquests.end(); } +bool Player::SatisfyQuestSeasonal(Quest const* qInfo, bool /*msg*/) +{ + if (!qInfo->IsSeasonal() || m_seasonalquests.empty()) + return true; + if (m_seasonalquests.find(qInfo->GetSeasonalQuestEvent()) == m_seasonalquests.end()) return false; + // if not found in cooldown list + return m_seasonalquests[qInfo->GetSeasonalQuestEvent()].find(qInfo->GetQuestId()) == m_seasonalquests[qInfo->GetSeasonalQuestEvent()].end(); +} + bool Player::GiveQuestSourceItem(Quest const* quest) { uint32 srcitem = quest->GetSrcItemId(); @@ -16980,7 +16991,8 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder) _LoadQuestStatus(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADQUESTSTATUS)); _LoadQuestStatusRewarded(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADQUESTSTATUSREW)); _LoadDailyQuestStatus(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADDAILYQUESTSTATUS)); - _LoadWeeklyQuestStatus(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADWEKLYQUESTSTATUS)); + _LoadWeeklyQuestStatus(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADWEEKLYQUESTSTATUS)); + _LoadSeasonalQuestStatus(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADSEASONALQUESTSTATUS)); _LoadRandomBGStatus(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADRANDOMBG)); // after spell and quest load @@ -17846,6 +17858,29 @@ void Player::_LoadWeeklyQuestStatus(PreparedQueryResult result) m_WeeklyQuestChanged = false; } +void Player::_LoadSeasonalQuestStatus(PreparedQueryResult result) +{ + m_seasonalquests.clear(); + + if (result) + { + do + { + uint32 quest_id = (*result)[0].GetUInt32(); + uint16 event_id = (*result)[1].GetUInt16(); + Quest const* quest = sObjectMgr->GetQuestTemplate(quest_id); + if (!quest) + continue; + + m_seasonalquests[event_id].insert(quest_id); + sLog->outDebug(LOG_FILTER_PLAYER_LOADING, "Seasonal quest {%u} cooldown for player (GUID: %u)", quest_id, GetGUIDLow()); + } + while (result->NextRow()); + } + + m_SeasonalQuestChanged = false; +} + void Player::_LoadSpells(PreparedQueryResult result) { //QueryResult* result = CharacterDatabase.PQuery("SELECT spell, active, disabled FROM character_spell WHERE guid = '%u'", GetGUIDLow()); @@ -18572,6 +18607,7 @@ void Player::SaveToDB(bool create /*=false*/) _SaveQuestStatus(trans); _SaveDailyQuestStatus(trans); _SaveWeeklyQuestStatus(trans); + _SaveSeasonalQuestStatus(trans); _SaveTalents(trans); _SaveSpells(trans); _SaveSpellCooldowns(trans); @@ -18910,18 +18946,28 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans) // save last daily quest time for all quests: we need only mostly reset time for reset check anyway // we don't need transactions here. - trans->PAppend("DELETE FROM character_queststatus_daily WHERE guid = '%u'", GetGUIDLow()); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_DAILY_CHAR); + stmt->setUInt32(0, GetGUIDLow()); + trans->Append(stmt); for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx) if (GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx)) - trans->PAppend("INSERT INTO character_queststatus_daily (guid, quest, time) VALUES ('%u', '%u', '" UI64FMTD "')", - GetGUIDLow(), GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx), uint64(m_lastDailyQuestTime)); + { + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_DAILYQUESTSTATUS); + stmt->setUInt32(0, GetGUIDLow()); + stmt->setUInt32(1, GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx)); + stmt->setUInt64(2, uint64(m_lastDailyQuestTime)); + trans->Append(stmt); + } if (!m_DFQuests.empty()) { for (DFQuestsDoneList::iterator itr = m_DFQuests.begin(); itr != m_DFQuests.end(); ++itr) { - trans->PAppend("INSERT INTO character_queststatus_daily (guid, quest, time) VALUES ('%u', '%u', '" UI64FMTD "')", - GetGUIDLow(), (*itr), uint64(m_lastDailyQuestTime)); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_DAILYQUESTSTATUS); + stmt->setUInt32(0, GetGUIDLow()); + stmt->setUInt32(1, (*itr)); + stmt->setUInt64(2, uint64(m_lastDailyQuestTime)); + trans->Append(stmt); } } } @@ -18932,18 +18978,51 @@ void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans) return; // we don't need transactions here. - trans->PAppend("DELETE FROM character_queststatus_weekly WHERE guid = '%u'", GetGUIDLow()); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_WEEKLY_CHAR); + stmt->setUInt32(0, GetGUIDLow()); + trans->Append(stmt); for (QuestSet::const_iterator iter = m_weeklyquests.begin(); iter != m_weeklyquests.end(); ++iter) { uint32 quest_id = *iter; - trans->PAppend("INSERT INTO character_queststatus_weekly (guid, quest) VALUES ('%u', '%u')", GetGUIDLow(), quest_id); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_WEEKLYQUESTSTATUS); + stmt->setUInt32(0, GetGUIDLow()); + stmt->setUInt32(1, quest_id); + trans->Append(stmt); } m_WeeklyQuestChanged = false; } +void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans) +{ + if (!m_SeasonalQuestChanged || m_seasonalquests.empty()) + return; + + // we don't need transactions here. + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR); + stmt->setUInt32(0, GetGUIDLow()); + trans->Append(stmt); + + for (SeasonalEventQuestMap::const_iterator iter = m_seasonalquests.begin(); iter != m_seasonalquests.end(); ++iter) + { + uint16 event_id = iter->first; + for (SeasonalQuestSet::const_iterator itr = (iter->second).begin(); itr != (iter->second).end(); ++itr) + { + uint32 quest_id = (*itr); + + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_SEASONALQUESTSTATUS); + stmt->setUInt32(0,GetGUIDLow()); + stmt->setUInt32(1,quest_id); + stmt->setUInt16(1,event_id); + trans->Append(stmt); + } + } + + m_SeasonalQuestChanged = false; +} + void Player::_SaveSkills(SQLTransaction& trans) { // we don't need transactions here. @@ -22036,6 +22115,16 @@ void Player::SetWeeklyQuestStatus(uint32 quest_id) m_WeeklyQuestChanged = true; } +void Player::SetSeasonalQuestStatus(uint32 quest_id) +{ + Quest const* q = sObjectMgr->GetQuestTemplate(quest_id); + if (!q) + return; + + m_seasonalquests[q->GetSeasonalQuestEvent()].insert(quest_id); + m_SeasonalQuestChanged = true; +} + void Player::ResetDailyQuestStatus() { for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx) @@ -22058,6 +22147,16 @@ void Player::ResetWeeklyQuestStatus() m_WeeklyQuestChanged = false; } +void Player::ResetSeasonalQuestStatus(uint16 event_id) +{ + if (m_seasonalquests.empty() || m_seasonalquests[event_id].empty()) + return; + + m_seasonalquests.erase(event_id); + // DB data deleted in caller + m_SeasonalQuestChanged = false; +} + Battleground* Player::GetBattleground() const { if (GetBattlegroundId() == 0) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 7da008d597b..21c87a993dc 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -815,11 +815,12 @@ enum PlayerLoginQueryIndex PLAYER_LOGIN_QUERY_LOADTALENTS = 23, PLAYER_LOGIN_QUERY_LOADACCOUNTDATA = 24, PLAYER_LOGIN_QUERY_LOADSKILLS = 25, - PLAYER_LOGIN_QUERY_LOADWEKLYQUESTSTATUS = 26, + PLAYER_LOGIN_QUERY_LOADWEEKLYQUESTSTATUS = 26, PLAYER_LOGIN_QUERY_LOADRANDOMBG = 27, PLAYER_LOGIN_QUERY_LOADBANNED = 28, PLAYER_LOGIN_QUERY_LOADQUESTSTATUSREW = 29, PLAYER_LOGIN_QUERY_LOADINSTANCELOCKTIMES = 30, + PLAYER_LOGIN_QUERY_LOADSEASONALQUESTSTATUS = 31, MAX_PLAYER_LOGIN_QUERY, }; @@ -1422,6 +1423,7 @@ class Player : public Unit, public GridObject bool SatisfyQuestPrevChain(Quest const* qInfo, bool msg); bool SatisfyQuestDay(Quest const* qInfo, bool msg); bool SatisfyQuestWeek(Quest const* qInfo, bool msg); + bool SatisfyQuestSeasonal(Quest const* qInfo, bool msg); bool GiveQuestSourceItem(Quest const* quest); bool TakeQuestSourceItem(uint32 questId, bool msg); bool GetQuestRewardStatus(uint32 quest_id) const; @@ -1432,8 +1434,10 @@ class Player : public Unit, public GridObject void SetDailyQuestStatus(uint32 quest_id); void SetWeeklyQuestStatus(uint32 quest_id); + void SetSeasonalQuestStatus(uint32 quest_id); void ResetDailyQuestStatus(); void ResetWeeklyQuestStatus(); + void ResetSeasonalQuestStatus(uint16 event_id); uint16 FindQuestSlot(uint32 quest_id) const; uint32 GetQuestSlotQuestId(uint16 slot) const { return GetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_ID_OFFSET); } @@ -2558,8 +2562,11 @@ class Player : public Unit, public GridObject //We allow only one timed quest active at the same time. Below can then be simple value instead of set. typedef std::set QuestSet; + typedef std::set SeasonalQuestSet; + typedef UNORDERED_MAP SeasonalEventQuestMap; QuestSet m_timedquests; QuestSet m_weeklyquests; + SeasonalEventQuestMap m_seasonalquests; uint64 m_divider; uint32 m_ingametime; @@ -2580,6 +2587,7 @@ class Player : public Unit, public GridObject void _LoadQuestStatusRewarded(PreparedQueryResult result); void _LoadDailyQuestStatus(PreparedQueryResult result); void _LoadWeeklyQuestStatus(PreparedQueryResult result); + void _LoadSeasonalQuestStatus(PreparedQueryResult result); void _LoadRandomBGStatus(PreparedQueryResult result); void _LoadGroup(PreparedQueryResult result); void _LoadSkills(PreparedQueryResult result); @@ -2605,6 +2613,7 @@ class Player : public Unit, public GridObject void _SaveQuestStatus(SQLTransaction& trans); void _SaveDailyQuestStatus(SQLTransaction& trans); void _SaveWeeklyQuestStatus(SQLTransaction& trans); + void _SaveSeasonalQuestStatus(SQLTransaction& trans); void _SaveSkills(SQLTransaction& trans); void _SaveSpells(SQLTransaction& trans); void _SaveEquipmentSets(SQLTransaction& trans); @@ -2716,6 +2725,7 @@ class Player : public Unit, public GridObject bool m_DailyQuestChanged; bool m_WeeklyQuestChanged; + bool m_SeasonalQuestChanged; time_t m_lastDailyQuestTime; uint32 m_drunkTimer; diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index 8b9e2fe047b..e1900c6c994 100755 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -759,6 +759,47 @@ void GameEventMgr::LoadFromDB() } } + sLog->outString("Loading Game Event Seasonal Quest Relations..."); + { + uint32 oldMSTime = getMSTime(); + + // 0 1 + QueryResult result = WorldDatabase.Query("SELECT quest, event FROM game_event_seasonal_questrelation"); + + if (!result) + { + sLog->outString(">> Loaded 0 seasonal quests additions in game events. DB table `game_event_seasonal_questrelation` is empty."); + sLog->outString(); + } + else + { + uint32 count = 0; + do + { + Field* fields = result->Fetch(); + + uint32 quest = fields[0].GetUInt32(); + uint16 event_id = fields[1].GetUInt16(); + + if (event_id >= mGameEvent.size()) + { + sLog->outErrorDb("`game_event_seasonal_questrelation` event id (%u) is out of range compared to max event in `game_event`", event_id); + continue; + } + + Quest * qInfo = sObjectMgr->GetQuestTemplate(quest); + if (qInfo) + qInfo->SetSeasonalQuestEvent(event_id); + + ++count; + } + while (result->NextRow()); + + sLog->outString(">> Loaded %u quests additions in game events in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); + sLog->outString(); + } + } + sLog->outString("Loading Game Event Vendor Additions Data..."); { uint32 oldMSTime = getMSTime(); @@ -1079,6 +1120,8 @@ void GameEventMgr::UnApplyEvent(uint16 event_id) UpdateEventNPCVendor(event_id, false); // update bg holiday UpdateBattlegroundSettings(); + // check for seasonal quest reset. + sWorld->ResetEventSeasonalQuests(event_id); } void GameEventMgr::ApplyNewEvent(uint16 event_id) diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index 57c6fe1ad2f..1b6d90da0a6 100755 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -687,6 +687,11 @@ class ObjectMgr QuestMap::const_iterator itr = mQuestTemplates.find(quest_id); return itr != mQuestTemplates.end() ? itr->second : NULL; } + Quest * GetQuestTemplate(uint32 quest_id) + { + QuestMap::const_iterator itr = mQuestTemplates.find(quest_id); + return itr != mQuestTemplates.end() ? itr->second : NULL; + } QuestMap const& GetQuestTemplates() const { return mQuestTemplates; } uint32 GetQuestForAreaTrigger(uint32 Trigger_ID) const diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index 14a6577b1b5..674f54d07a8 100755 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -65,6 +65,7 @@ Quest::Quest(Field* questRecord) RequiredPlayerKills = questRecord[40].GetUInt32(); RewardTalents = questRecord[41].GetUInt32(); RewardArenaPoints = questRecord[42].GetInt32(); + SeasonalQuestEvent = 0; for (int i = 0; i < QUEST_REWARDS_COUNT; ++i) RewardItemId[i] = questRecord[43+i].GetUInt32(); diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index 90905f2fa34..4fbfcd176f4 100755 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -187,6 +187,7 @@ class Quest bool HasFlag(uint32 flag) const { return (Flags & flag) != 0; } void SetFlag(uint32 flag) { Flags |= flag; } + void SetSeasonalQuestEvent(uint16 event_id) { SeasonalQuestEvent = event_id; } // table data accessors: uint32 GetQuestId() const { return Id; } @@ -246,11 +247,13 @@ class Quest uint32 GetCompleteEmote() const { return EmoteOnComplete; } uint32 GetQuestStartScript() const { return StartScript; } uint32 GetQuestCompleteScript() const { return CompleteScript; } + uint16 GetSeasonalQuestEvent() const {return SeasonalQuestEvent; } bool IsRepeatable() const { return Flags & QUEST_TRINITY_FLAGS_REPEATABLE; } bool IsAutoComplete() const; uint32 GetFlags() const { return Flags; } bool IsDaily() const { return Flags & QUEST_FLAGS_DAILY; } bool IsWeekly() const { return Flags & QUEST_FLAGS_WEEKLY; } + bool IsSeasonal() const { return ZoneOrSort == -22; } bool IsDailyOrWeekly() const { return Flags & (QUEST_FLAGS_DAILY | QUEST_FLAGS_WEEKLY); } bool IsAutoAccept() const { return Flags & QUEST_FLAGS_AUTO_ACCEPT; } bool IsRaidQuest() const { return Type == QUEST_TYPE_RAID || Type == QUEST_TYPE_RAID_10 || Type == QUEST_TYPE_RAID_25; } @@ -295,6 +298,8 @@ class Quest uint32 m_reqCreatureOrGOcount; uint32 m_rewchoiceitemscount; uint32 m_rewitemscount; + //additional data needed for seasonal quest events + uint16 SeasonalQuestEvent; // table data protected: diff --git a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp old mode 100755 new mode 100644 index 11de2c68ca1..47af8c9bc1e --- a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp @@ -93,9 +93,13 @@ bool LoginQueryHolder::Initialize() stmt->setUInt32(0, lowGuid); res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOADDAILYQUESTSTATUS, stmt); - stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_WEKLYQUESTSTATUS); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_WEEKLYQUESTSTATUS); stmt->setUInt32(0, lowGuid); - res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOADWEKLYQUESTSTATUS, stmt); + res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOADWEEKLYQUESTSTATUS, stmt); + + stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_SEASONALQUESTSTATUS); + stmt->setUInt32(0, lowGuid); + res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOADSEASONALQUESTSTATUS, stmt); stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_REPUTATION); stmt->setUInt32(0, lowGuid); diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index b9ac3d1d365..f05a2721276 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2746,6 +2746,17 @@ void World::ResetWeeklyQuests() sPoolMgr->ChangeWeeklyQuests(); } +void World::ResetEventSeasonalQuests(uint16 event_id) +{ + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_SEASONAL); + stmt->setUInt16(0,event_id); + CharacterDatabase.Execute(stmt); + + for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr) + if (itr->second->GetPlayer()) + itr->second->GetPlayer()->ResetSeasonalQuestStatus(event_id); +} + void World::ResetRandomBG() { sLog->outDetail("Random BG status reset for all characters."); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 02438375058..bedd8a87b20 100755 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -746,6 +746,7 @@ class World uint32 GetCleaningFlags() const { return m_CleaningFlags; } void SetCleaningFlags(uint32 flags) { m_CleaningFlags = flags; } + void ResetEventSeasonalQuests(uint16 event_id); protected: void _UpdateGameTime(); // callback for UpdateRealmCharacters diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp old mode 100755 new mode 100644 index b5b174a19eb..31fd5f66375 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -46,6 +46,10 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_SEL_GUID_RACE_ACC_BY_NAME, "SELECT guid, race, account FROM characters WHERE name = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_DAILY, "DELETE FROM character_queststatus_daily", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_WEEKLY, "DELETE FROM character_queststatus_weekly", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_SEASONAL, "DELETE FROM character_queststatus_seasonal WHERE event = ?", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_DAILY_CHAR, "DELETE FROM character_queststatus_daily WHERE guid = ?", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_WEEKLY_CHAR, "DELETE FROM character_queststatus_weekly WHERE guid = ?", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR, "DELETE FROM character_queststatus_seasonal WHERE guid = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_BATTLEGROUND_RANDOM, "DELETE FROM character_battleground_random", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_INS_BATTLEGROUND_RANDOM, "INSERT INTO character_battleground_random (guid) VALUES (?)", CONNECTION_ASYNC); @@ -63,7 +67,11 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_SEL_CHARACTER_QUESTSTATUS, "SELECT quest, status, explored, timer, mobcount1, mobcount2, mobcount3, mobcount4, " "itemcount1, itemcount2, itemcount3, itemcount4, playercount FROM character_queststatus WHERE guid = ?", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_SEL_CHARACTER_DAILYQUESTSTATUS, "SELECT quest, time FROM character_queststatus_daily WHERE guid = ?", CONNECTION_ASYNC) - PREPARE_STATEMENT(CHAR_SEL_CHARACTER_WEKLYQUESTSTATUS, "SELECT quest FROM character_queststatus_weekly WHERE guid = ?", CONNECTION_ASYNC) + PREPARE_STATEMENT(CHAR_SEL_CHARACTER_WEEKLYQUESTSTATUS, "SELECT quest FROM character_queststatus_weekly WHERE guid = ?", CONNECTION_ASYNC) + PREPARE_STATEMENT(CHAR_SEL_CHARACTER_SEASONALQUESTSTATUS, "SELECT quest FROM character_queststatus_seasonal WHERE guid = ?", CONNECTION_ASYNC) + PREPARE_STATEMENT(CHAR_INS_CHARACTER_DAILYQUESTSTATUS, "INSERT INTO character_queststatus_daily (guid, quest, time) VALUES (?, ?, ?)", CONNECTION_ASYNC) + PREPARE_STATEMENT(CHAR_INS_CHARACTER_WEEKLYQUESTSTATUS, "INSERT INTO character_queststatus_weekly (guid, quest) VALUES (?, ?)", CONNECTION_ASYNC) + PREPARE_STATEMENT(CHAR_INS_CHARACTER_SEASONALQUESTSTATUS, "INSERT INTO character_queststatus_seasonal (guid, quest, event) VALUES (?, ?, ?)", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_SEL_CHARACTER_REPUTATION, "SELECT faction, standing, flags FROM character_reputation WHERE guid = ?", CONNECTION_ASYNC) PREPARE_STATEMENT(CHAR_SEL_CHARACTER_INVENTORY, "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, bag, slot, " "item, itemEntry FROM character_inventory ci JOIN item_instance ii ON ci.item = ii.guid WHERE ci.guid = ? ORDER BY bag, slot", CONNECTION_ASYNC) diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h old mode 100755 new mode 100644 index a0f5b9a9954..a239e274a54 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -66,6 +66,10 @@ enum CharacterDatabaseStatements CHAR_SEL_GUID_RACE_ACC_BY_NAME, CHAR_DEL_QUEST_STATUS_DAILY, CHAR_DEL_QUEST_STATUS_WEEKLY, + CHAR_DEL_QUEST_STATUS_SEASONAL, + CHAR_DEL_QUEST_STATUS_DAILY_CHAR, + CHAR_DEL_QUEST_STATUS_WEEKLY_CHAR, + CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR, CHAR_DEL_BATTLEGROUND_RANDOM, CHAR_INS_BATTLEGROUND_RANDOM, @@ -76,7 +80,11 @@ enum CharacterDatabaseStatements CHAR_SEL_CHARACTER_SPELL, CHAR_SEL_CHARACTER_QUESTSTATUS, CHAR_SEL_CHARACTER_DAILYQUESTSTATUS, - CHAR_SEL_CHARACTER_WEKLYQUESTSTATUS, + CHAR_SEL_CHARACTER_WEEKLYQUESTSTATUS, + CHAR_SEL_CHARACTER_SEASONALQUESTSTATUS, + CHAR_INS_CHARACTER_DAILYQUESTSTATUS, + CHAR_INS_CHARACTER_WEEKLYQUESTSTATUS, + CHAR_INS_CHARACTER_SEASONALQUESTSTATUS, CHAR_SEL_CHARACTER_REPUTATION, CHAR_SEL_CHARACTER_INVENTORY, CHAR_SEL_CHARACTER_ACTIONS, -- cgit v1.2.3 From 65c9fddafd8c83953a47ac58c642206e56655fdc Mon Sep 17 00:00:00 2001 From: tharaca Date: Wed, 4 Jan 2012 15:35:21 +0100 Subject: DB/Creature: Pusillin And The Elder Azj'tordin spawns and waypoints closes #3535 --- sql/updates/world/2012_01_03_05_world_creature.sql | 180 +++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 sql/updates/world/2012_01_03_05_world_creature.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_05_world_creature.sql b/sql/updates/world/2012_01_03_05_world_creature.sql new file mode 100644 index 00000000000..b30ca2d5ef4 --- /dev/null +++ b/sql/updates/world/2012_01_03_05_world_creature.sql @@ -0,0 +1,180 @@ +SET @GUID := 72707; -- need 62; +SET @NPC_WILDSPAWN_SATYR = 11451; +SET @NPC_WILDSPAWN_ROGUE := 11452; +SET @NPC_WILDSPAWN_BETRAYER := 11454; +SET @NPC_WILDSPAWN_FELSWORN := 11455; +SET @NPC_WILDSPAWN_SHADOWSTALKER := 11456; +SET @NPC_WILDSPAWN_HELLCALLER := 11457; +SET @NPC_WARPWOOD_TREANT = 11462; +SET @NPC_WARPWOOD_CRUSHER := 13021; +SET @NPC_WHIP_LASHER := 13022; +SET @NPC_PHASE_LASHER := 13196; +SET @NPC_FEL_LASH := 13197; + +-- add movement +SET @ENTRY := 56992; -- single Wildspawn Felsworn instance +UPDATE creature SET `MovementType`=2 WHERE `guid`=@ENTRY; +DELETE FROM `creature_addon` WHERE `guid`=@ENTRY; +INSERT INTO `creature_addon`(`guid`,`path_id`) VALUES +(@ENTRY,@ENTRY*10); + +-- Add waypoints to Wildspawn Felsworn instance +DELETE FROM `waypoint_data` WHERE `id`=@ENTRY*10; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@ENTRY*10,1,57.4000,-737.329,-25.1524,0,0,0,100,0), +(@ENTRY*10,2,26.45,-682.69,-24.98,0,0,0,100,0); + +-- Smart AI for Wildspawn Shadowstalker +SET @ENTRY := @NPC_WILDSPAWN_SHADOWSTALKER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,11,0,100,0,0,0,0,0,11,22766,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Shadowstalker - On Spawn - cast Sneak on self'), +(@ENTRY,0,1,0,0,0,100,0,4000,8000,5000,8000,11,22416,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Shadowstalker - In Combat - Cast Backstab'), +(@ENTRY,0,2,0,0,0,100,0,6000,7000,8000,9000,11,7992,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Shadowstalker - In Combat - Cast Slowing Posion'); + +-- add movement +SET @ENTRY := 56967; -- single Wildspawn Shadowstalker instance +UPDATE creature SET `MovementType`=2 WHERE `guid`=@ENTRY; +DELETE FROM `creature_addon` WHERE `guid`=@ENTRY; +INSERT INTO `creature_addon`(`guid`,`path_id`) VALUES +(@ENTRY,@ENTRY*10); + +-- Add waypoints to Wildspawn Shadowstalker instance +DELETE FROM `waypoint_data` WHERE `id`=@ENTRY*10; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@ENTRY*10,1,45.4305,-675.9378,-25.1612,0,0,0,100,0), +(@ENTRY*10,2,36.5939,-646.3212,-25.1506,0,0,0,100,0), +(@ENTRY*10,3,58.3292,-605.7308,-25.0700,0,0,0,100,0), +(@ENTRY*10,4,52.3244,-584.9519,-23.3673,0,0,0,100,0), +(@ENTRY*10,5,52.1407,-565.7738,-19.4151,0,0,0,100,0), +(@ENTRY*10,6,56.5794,-558.3062,-19.2307,0,0,0,100,0), +(@ENTRY*10,7,76.8705,-545.9866,-15.2457,0,0,0,100,0), +(@ENTRY*10,8,97.9787,-544.0214,-11.0777,0,0,0,100,0), +(@ENTRY*10,9,76.8705,-545.9866,-15.2457,0,0,0,100,0), +(@ENTRY*10,10,56.5794,-558.3062,-19.2307,0,0,0,100,0), +(@ENTRY*10,11,52.1407,-565.7738,-19.4151,0,0,0,100,0), +(@ENTRY*10,12,52.3244,-584.9519,-23.3673,0,0,0,100,0), +(@ENTRY*10,13,58.3292,-605.7308,-25.0700,0,0,0,100,0), +(@ENTRY*10,14,36.5939,-646.3212,-25.1506,0,0,0,100,0), +(@ENTRY*10,15,45.4305,-675.9378,-25.1612,0,0,0,100,0), +(@ENTRY*10,16,62.53,-681.04,-24.98,0,0,0,100,0); + +-- Spawn the mobs +DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID+62; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES +(@GUID+1,@NPC_WARPWOOD_TREANT,429,1,1,0,0,72.5524,-197.561,-4.14211,3.13356,7200,0,0,7842,0,2), +(@GUID+2,@NPC_WARPWOOD_TREANT,429,1,1,0,0,20.3687,-203.068,-4.0968,3.10349,7200,0,0,7842,0,2), +(@GUID+3,@NPC_WARPWOOD_TREANT,429,1,1,0,0,30.1582,-195.841,-4.12466,3.01317,7200,0,0,7599,0,2), +(@GUID+4,@NPC_WARPWOOD_TREANT,429,1,1,0,0,25.8537,-206.521,-4.06996,3.01317,7200,0,0,7599,0,2), +(@GUID+5,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-107.769,-200.032,-4.10429,0.153016,7200,0,0,7842,0,2), +(@GUID+6,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-113.89,-195.466,-4.14424,0.0626954,7200,0,0,7842,0,2), +(@GUID+7,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-117.388,-207.58,-4.06716,0.0476419,7200,0,0,7842,0,2), +(@GUID+8,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-142.675,-350.105,-4.11237,1.70352,7200,0,0,7599,0,2), +(@GUID+9,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-145.689,-356.994,-4.13712,1.66338,7200,0,0,7599,0,2), +(@GUID+10,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-138.62,-360.106,-4.13313,1.66338,7200,0,0,7599,0,2), +(@GUID+11,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-115.225,-347.295,-4.05097,6.26559,7200,0,0,7599,0,2), +(@GUID+12,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-109.451,-350.449,-4.07628,6.28064,7200,0,0,7599,0,2), +(@GUID+13,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-120.637,-353.502,-4.10136,6.26747,7200,0,0,7842,0,2), +(@GUID+14,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-46.8699,-355.781,-4.11898,0.109725,7200,0,0,7599,0,2), +(@GUID+15,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-57.5391,-352.691,-4.09353,0.121943,7200,0,0,7842,0,2), +(@GUID+16,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-60.9243,-359.466,-4.14508,0.0617289,7200,0,0,7842,0,2), +(@GUID+17,@NPC_WARPWOOD_TREANT,429,1,1,0,0,54.2367,-348.114,-4.05781,6.25459,7200,0,0,7599,0,2), +(@GUID+18,@NPC_WARPWOOD_TREANT,429,1,1,0,0,43.279,-352.861,-4.0973,0.0633858,7200,0,0,7842,0,2), +(@GUID+19,@NPC_WARPWOOD_TREANT,429,1,1,0,0,39.8267,-343.521,-4.02135,6.18098,7200,0,0,7842,0,2), +(@GUID+20,@NPC_WARPWOOD_TREANT,429,1,1,0,0,111.859,-366.456,-4.14992,1.56459,7200,0,0,7842,0,2), +(@GUID+21,@NPC_WARPWOOD_TREANT,429,1,1,0,0,116.012,-372.374,-4.09262,1.52947,7200,0,0,7842,0,2), +(@GUID+22,@NPC_WARPWOOD_TREANT,429,1,1,0,0,107.625,-377.033,-4.07882,1.53449,7200,0,0,7842,0,2), +(@GUID+23,@NPC_WARPWOOD_CRUSHER,429,1,1,0,0,141.391,-355.109,-4.15258,3.22692,7200,0,0,16194,0,0), +(@GUID+24,@NPC_PHASE_LASHER,429,1,1,0,0,81.2447,-361.592,-4.14699,1.54781,7200,0,0,15684,0,0), +(@GUID+25,@NPC_WHIP_LASHER,429,1,1,0,0,34.9898,-347.58,-4.05484,0.017372,7200,0,0,1900,0,0), +(@GUID+26,@NPC_WHIP_LASHER,429,1,1,0,0,36.7793,-352.448,-4.09411,0.00231851,7200,0,0,1900,0,0), +(@GUID+27,@NPC_WHIP_LASHER,429,1,1,0,0,41.2793,-352.437,-4.09411,0.00231851,7200,0,0,1900,0,0), +(@GUID+28,@NPC_WHIP_LASHER,429,1,1,0,0,44.3212,-352.43,-4.09411,0.00231851,7200,0,0,1900,0,0), +(@GUID+29,@NPC_WHIP_LASHER,429,1,1,0,0,44.315,-349.742,-4.07234,0.0588672,7200,0,0,1900,0,0), +(@GUID+30,@NPC_WHIP_LASHER,429,1,1,0,0,39.4515,-350.029,-4.0749,0.063885,7200,0,0,1900,0,0), +(@GUID+31,@NPC_WHIP_LASHER,429,1,1,0,0,39.2745,-347.262,-4.05348,0.063885,7200,0,0,1900,0,0), +(@GUID+32,@NPC_WARPWOOD_CRUSHER,429,1,1,0,0,-20.953,-371.52,-4.05577,1.58638,7200,0,0,16194,0,0), +(@GUID+33,@NPC_PHASE_LASHER,429,1,1,0,0,-52.0524,-361.703,-4.14598,1.7679,7200,0,0,15684,0,0), +(@GUID+34,@NPC_WHIP_LASHER,429,1,1,0,0,-62.1186,-349.8,-4.07015,6.09414,7200,0,0,1900,0,0), +(@GUID+35,@NPC_WHIP_LASHER,429,1,1,0,0,-69.5873,-354.282,-4.1069,6.17944,7200,0,0,1900,0,0), +(@GUID+36,@NPC_WHIP_LASHER,429,1,1,0,0,-66.7331,-351.805,-4.08577,6.18948,7200,0,0,1900,0,0), +(@GUID+37,@NPC_WHIP_LASHER,429,1,1,0,0,-73.9811,-351.124,-4.08116,6.18948,7200,0,0,1900,0,0), +(@GUID+38,@NPC_WHIP_LASHER,429,1,1,0,0,-69.8854,-349.117,-4.06468,6.2798,7200,0,0,1900,0,0), +(@GUID+39,@NPC_WHIP_LASHER,429,1,1,0,0,-65.6902,-346.108,-4.0402,6.2798,7200,0,0,1900,0,0), +(@GUID+40,@NPC_WARPWOOD_CRUSHER,429,1,1,0,0,-73.7821,-346.08,-4.0402,6.2798,7200,0,0,1900,0,0), +(@GUID+41,@NPC_WARPWOOD_TREANT,429,1,1,0,0,-93.8011,-363.618,-4.14738,1.65316,7200,0,0,16194,0,0), +(@GUID+42,@NPC_PHASE_LASHER,429,1,1,0,0,-131.311,-365.627,-4.15058,1.51265,7200,0,0,15198,0,0), +(@GUID+43,@NPC_WHIP_LASHER,429,1,1,0,0,-143.839,-340.391,-4.12014,1.83881,7200,0,0,1900,0,0), +(@GUID+44,@NPC_WHIP_LASHER,429,1,1,0,0,-142.296,-336.529,-4.10736,1.85386,7200,0,0,1900,0,0), +(@GUID+45,@NPC_WHIP_LASHER,429,1,1,0,0,-138.49,-341.197,-4.07808,1.73845,7200,0,0,1900,0,0), +(@GUID+46,@NPC_WHIP_LASHER,429,1,1,0,0,-134.462,-337.194,-4.04726,1.70944,7200,0,0,1900,0,0), +(@GUID+47,@NPC_WHIP_LASHER,429,1,1,0,0,-135.424,-330.303,-4.0528,1.70944,7200,0,0,1900,0,0), +(@GUID+48,@NPC_WHIP_LASHER,429,1,1,0,0,-142.163,-331.244,-4.1045,1.71445,7200,0,0,1900,0,0), +(@GUID+49,@NPC_WHIP_LASHER,429,1,1,0,0,-138.62,-333.245,-4.07944,1.71947,7200,0,0,1900,0,0), +(@GUID+50,@NPC_WARPWOOD_CRUSHER,429,1,1,0,0,-138.38,-275.724,-4.07674,3.17049,7200,0,0,16194,0,0), +(@GUID+51,@NPC_PHASE_LASHER,429,1,1,0,0,-162.835,-275.863,-4.14791,6.27238,7200,0,0,15684,0,0), +(@GUID+52,@NPC_WHIP_LASHER,429,1,1,0,0,-158.318,-204.325,-4.15232,0.0694766,7200,0,0,1900,0,0), +(@GUID+53,@NPC_WHIP_LASHER,429,1,1,0,0,-154.646,-204.07,-4.15232,0.0694766,7200,0,0,1900,0,0), +(@GUID+54,@NPC_WHIP_LASHER,429,1,1,0,0,-153.089,-196.695,-4.15243,0.0343519,7200,0,0,1900,0,0), +(@GUID+55,@NPC_WHIP_LASHER,429,1,1,0,0,-160.393,-196.946,-4.15243,0.0343519,7200,0,0,1900,0,0), +(@GUID+56,@NPC_WHIP_LASHER,429,1,1,0,0,-162.052,-201.486,-4.15243,0.0393697,7200,0,0,1900,0,0), +(@GUID+57,@NPC_WHIP_LASHER,429,1,1,0,0,-152.686,-201.117,-4.15243,0.0393697,7200,0,0,1900,0,0), +(@GUID+58,@NPC_WHIP_LASHER,429,1,1,0,0,-156.996,-199.83,-4.15243,0.059441,7200,0,0,1900,0,0), +(@GUID+59,@NPC_PHASE_LASHER,429,1,1,0,0,-86.8965,-210.681,-4.03141,1.56479,7200,0,0,15198,0,0), +(@GUID+60,@NPC_WARPWOOD_CRUSHER,429,1,1,0,0,-87.0174,-180.571,-2.71439,4.76202,7200,0,0,16194,0,0), +(@GUID+61,@NPC_PHASE_LASHER,429,1,1,0,0,-27.3846,-207.58,-4.06107,0.888256,7200,0,0,15684,0,0), +(@GUID+62,@NPC_WARPWOOD_CRUSHER,429,1,1,0,0,-15.3937,-177.684,-2.71439,4.81219,7200,0,0,16194,0,0); + +-- Add movement to some mobs +DELETE FROM `creature_addon` WHERE `guid` BETWEEN @GUID+1 AND @GUID+22; +INSERT INTO `creature_addon` (`guid`,`path_id`) VALUES +(@GUID+1,(@GUID+1)*10), +(@GUID+2,(@GUID+2)*10), +(@GUID+3,(@GUID+2)*10), +(@GUID+4,(@GUID+2)*10), +(@GUID+5,(@GUID+6)*10), +(@GUID+6,(@GUID+6)*10), +(@GUID+7,(@GUID+6)*10), +(@GUID+8,(@GUID+8)*10), +(@GUID+9,(@GUID+8)*10), +(@GUID+10,(@GUID+8)*10), +(@GUID+11,(@GUID+11)*10), +(@GUID+12,(@GUID+11)*10), +(@GUID+13,(@GUID+11)*10), +(@GUID+14,(@GUID+14)*10), +(@GUID+15,(@GUID+14)*10), +(@GUID+16,(@GUID+14)*10), +(@GUID+17,(@GUID+17)*10), +(@GUID+18,(@GUID+17)*10), +(@GUID+19,(@GUID+17)*10), +(@GUID+20,(@GUID+20)*10), +(@GUID+21,(@GUID+20)*10), +(@GUID+22,(@GUID+20)*10); + +-- Add waypoints to mobs +DELETE FROM `waypoint_data` WHERE `id` = (@GUID+1)*10; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +((@GUID+1)*10,1,70.6901,-197.173,-4.14434,0,1,0,100,0), +((@GUID+1)*10,2,-104.169,-199.817,-4.12389,0,1,0,100,0), +((@GUID+2)*10,1,-73.5443,-202.239,-4.10251,0,1,0,100,0), +((@GUID+2)*10,2,35.4205,-201.467,-4.11061,0,1,0,100,0), +((@GUID+6)*10,1,-20.2122,-201.982,-4.11082,0,1,0,100,0), +((@GUID+6)*10,2,-130.665,-201.733,-4.10813,0,1,0,100,0), +((@GUID+8)*10,1,-166.248,-199.501,-4.15228,0,1,0,100,0), +((@GUID+8)*10,2,-131.595,-354.127,-4.10839,0,1,0,100,0), +((@GUID+11)*10,1,-35.5988,-348.525,-4.06037,0,1,0,100,0), +((@GUID+11)*10,2,-21.0353,-356.517,-4.12553,0,1,0,100,0), +((@GUID+11)*10,3,4.10672,-354.436,-4.11233,0,1,0,100,0), +((@GUID+11)*10,4,-62.8668,-351.204,-4.083,0,1,0,100,0), +((@GUID+11)*10,5,-113.908,-346.958,-4.04887,0,1,0,100,0), +((@GUID+14)*10,1,49.0152,-351.975,-4.09131,0,1,0,100,0), +((@GUID+14)*10,2,-68.801,-355.361,-4.11568,0,1,0,100,0), +((@GUID+17)*10,1,140.938,-354.573,-4.15133,0,1,0,100,0), +((@GUID+17)*10,2, -17.9066,-352.038,-4.09042,0,1,0,100,0), +((@GUID+20)*10,1,134.04,-337.362,-4.14977,0,1,0,100,0), +((@GUID+20)*10,2,117.337,-367.835,-4.15199,0,1,0,100,0), +((@GUID+20)*10,3,68.2814,-346.911,-4.04935,0,1,0,100,0), +((@GUID+20)*10,4,111.089,-364.118,-4.14948,0,1,0,100,0); -- cgit v1.2.3 From 52e9df2b018b3686d8133c1c716ca84373c0ef23 Mon Sep 17 00:00:00 2001 From: tharaca Date: Wed, 4 Jan 2012 15:39:44 +0100 Subject: DB/creature: SAI and spawns for Pusillin And The Elder Azj'tordin closes #3534 --- sql/updates/world/2012_01_03_06_world_sai.sql | 82 +++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 sql/updates/world/2012_01_03_06_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_06_world_sai.sql b/sql/updates/world/2012_01_03_06_world_sai.sql new file mode 100644 index 00000000000..858dc3f498d --- /dev/null +++ b/sql/updates/world/2012_01_03_06_world_sai.sql @@ -0,0 +1,82 @@ +SET @NPC_WILDSPAWN_SATYR = 11451; +SET @NPC_WILDSPAWN_ROGUE := 11452; +SET @NPC_WILDSPAWN_BETRAYER := 11454; +SET @NPC_WILDSPAWN_FELSWORN := 11455; +SET @NPC_WILDSPAWN_SHADOWSTALKER := 11456; +SET @NPC_WILDSPAWN_HELLCALLER := 11457; +SET @NPC_WARPWOOD_TREANT = 11462; +SET @NPC_WARPWOOD_CRUSHER := 13021; +SET @NPC_WHIP_LASHER := 13022; +SET @NPC_PHASE_LASHER := 13196; +SET @NPC_FEL_LASH := 13197; + +-- SmartAI for Wildspawn Hellcaller +SET @ENTRY := @NPC_WILDSPAWN_HELLCALLER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Prevent Combat Movement'), +(@ENTRY,0,1,2,4,0,100,0,0,0,0,0,11,15228,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Cast Fireball '), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Set Phase 1'), +(@ENTRY,0,3,0,9,1,100,0,0,40,2400,3800,11,15228,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Phase 1 - Cast Fireball'), +(@ENTRY,0,4,5,3,1,100,0,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller -In Phase 1 - Start Combat Movement'), +(@ENTRY,0,5,0,61,1,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Mana at 15% (Phase 1) - Set Phase 2'), +(@ENTRY,0,6,0,9,1,100,0,35,80,0,0,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Hellcaller - At 35 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,7,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - at 15 Yards (Phase 1) - Prevent Combat Movement '), +(@ENTRY,0,8,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Below 5 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,9,0,3,2,100,0,0,30,100,100,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Mana is above 30% (Phase 2) - Set Phase 1'), +(@ENTRY,0,10,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Set Phase 1 when Mana is above 30% (Phase 2)'), +(@ENTRY,0,11,0,0,0,100,0,8000,14000,18000,25000,11,20754,3,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - In Combat - Cast Rain of Fire'), +(@ENTRY,0,12,0,2,0,100,1,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - At 15% HP - Start Combat Movement'), +(@ENTRY,0,13,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 15% HP - Flee'), +(@ENTRY,0,14,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Evade - Set Phase to 0'); + +-- SmartAI for Wildspawn Felsworn +SET @ENTRY := @NPC_WILDSPAWN_FELSWORN; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,1,0,100,1,1000,1000,1800000,1800000,11,12542,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Cast Chaotic Focus'), +(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Aggro - Prevent Combat Movement'), +(@ENTRY,0,2,3,4,0,100,0,0,0,0,0,11,15537,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Aggro - Cast Shadow Bolt'), +(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Aggro - Set Phase 1'), +(@ENTRY,0,4,0,9,1,100,0,0,40,2400,3800,11,15537,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Felsworn - Phase 1 - Cast Shadow Bolt'), +(@ENTRY,0,5,6,3,1,100,0,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn -In Phase 1 - Start Combat Movement'), +(@ENTRY,0,6,0,61,1,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Mana at 15% (Phase 1) - Set Phase 2'), +(@ENTRY,0,7,0,9,1,100,0,35,80,0,0,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Felsworn - At 35 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,8,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - at 15 Yards (Phase 1) - Prevent Combat Movement '), +(@ENTRY,0,9,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Below 5 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,10,0,3,2,100,0,0,30,100,100,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Mana is above 30% (Phase 2) - Set Phase 1'), +(@ENTRY,0,11,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Felsworn - Set Phase 1 when Mana is above 30% (Phase 2)'), +(@ENTRY,0,12,0,0,0,100,0,7000,12000,38000,45000,11,22417,1,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Phase 1 - Cast Shadow Shield'), +(@ENTRY,0,13,0,0,1,100,0,11000,17000,23000,30000,11,15654,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Phase 1 - Cast Shadow Word: Pain'), +(@ENTRY,0,14,0,0,0,100,0,6000,10000,10000,15000,11,12542,1,0,0,0,0,5,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Combat - Cast Fear (on random target)'), +(@ENTRY,0,15,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Evade - Set Phase to 0'); + +-- add movement +SET @ENTRY := 56992; -- single Wildspawn Felsworn instance +UPDATE creature SET `MovementType`=2 WHERE `guid`=@ENTRY; +DELETE FROM `creature_addon` WHERE `guid`=@ENTRY; +INSERT INTO `creature_addon`(`guid`,`path_id`) VALUES +(@ENTRY,@ENTRY*10); + +-- Add waypoints to Wildspawn Felsworn instance +DELETE FROM `waypoint_data` WHERE `id`=@ENTRY*10; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@ENTRY*10,1,57.4000,-737.329,-25.1524,0,0,0,100,0), +(@ENTRY*10,2,26.45,-682.69,-24.98,0,0,0,100,0); + +-- Smart AI for Wildspawn Shadowstalker +SET @ENTRY := @NPC_WILDSPAWN_SHADOWSTALKER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,11,0,100,0,0,0,0,0,11,22766,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Shadowstalker - On Spawn - cast Sneak on self'), +(@ENTRY,0,1,0,0,0,100,0,4000,8000,5000,8000,11,22416,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Shadowstalker - In Combat - Cast Backstab'), +(@ENTRY,0,2,0,0,0,100,0,6000,7000,8000,9000,11,7992,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Shadowstalker - In Combat - Cast Slowing Posion'); -- cgit v1.2.3 From eebe772a9af9c4f68e9d3245092cc498b6464d34 Mon Sep 17 00:00:00 2001 From: malcrom Date: Wed, 4 Jan 2012 15:47:39 +0100 Subject: DB/Creature: Add spawn & waypoints for Horace Alder (Entry: 27704 ) closes #4272 --- sql/updates/world/2012_01_03_07_world_creature.sql | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 sql/updates/world/2012_01_03_07_world_creature.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_03_07_world_creature.sql b/sql/updates/world/2012_01_03_07_world_creature.sql new file mode 100644 index 00000000000..5098901b564 --- /dev/null +++ b/sql/updates/world/2012_01_03_07_world_creature.sql @@ -0,0 +1,46 @@ +-- Spawn & Pathing for Horace Alder Entry: 27704 "Not Spawned" +SET @NPC := 1846; +DELETE FROM `creature` WHERE `guid` IN (@NPC); +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES +(@NPC,27704,1,1,1,0,0,-3738.565,-4442.265,56.23981,0.41887,300,0,0,1,0,2); +SET @PATH := @NPC * 10; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-3740.015,-4437.762,56.23981,0,0,0,0,100,0), +(@PATH,2,-3742.823,-4433.892,56.23981,0,0,0,0,100,0), +(@PATH,3,-3746.757,-4431.049,56.23981,0,0,0,0,100,0), +(@PATH,4,-3751.263,-4429.58,56.23981,0,0,0,0,100,0), +(@PATH,5,-3756.035,-4429.627,56.23981,0,0,0,0,100,0), +(@PATH,6,-3760.625,-4431.113,56.23981,0,0,0,0,100,0), +(@PATH,7,-3764.42,-4433.888,56.22611,0,0,0,0,100,0), +(@PATH,8,-3767.252,-4437.716,56.23981,0,0,0,0,100,0), +(@PATH,9,-3768.719,-4442.307,56.23982,0,0,0,0,100,0), +(@PATH,10,-3768.664,-4447.081,56.22474,0,0,0,0,100,0), +(@PATH,11,-3767.221,-4451.627,56.23982,0,0,0,0,100,0), +(@PATH,12,-3764.422,-4455.48,56.23981,0,0,0,0,100,0), +(@PATH,13,-3767.221,-4451.627,56.23982,0,0,0,0,100,0), +(@PATH,14,-3768.664,-4447.081,56.22474,0,0,0,0,100,0), +(@PATH,15,-3768.719,-4442.307,56.23982,0,0,0,0,100,0), +(@PATH,16,-3767.255,-4437.724,56.20177,0,0,0,0,100,0), +(@PATH,17,-3764.42,-4433.888,56.22611,0,0,0,0,100,0), +(@PATH,18,-3760.625,-4431.113,56.23981,0,0,0,0,100,0), +(@PATH,19,-3756.035,-4429.627,56.23981,0,0,0,0,100,0), +(@PATH,20,-3751.263,-4429.58,56.23981,0,0,0,0,100,0), +(@PATH,21,-3746.757,-4431.049,56.23981,0,0,0,0,100,0), +(@PATH,22,-3742.823,-4433.892,56.23981,0,0,0,0,100,0), +(@PATH,23,-3740.015,-4437.762,56.23981,0,0,0,0,100,0), +(@PATH,24,-3738.565,-4442.265,56.23981,0,0,0,0,100,0), +(@PATH,25,-3738.577,-4447.063,56.23981,0,0,0,0,100,0), +(@PATH,26,-3740.03,-4451.584,56.23981,0,0,0,0,100,0), +(@PATH,27,-3742.872,-4455.448,56.23981,0,0,0,0,100,0), +(@PATH,28,-3746.699,-4458.252,56.23982,0,0,0,0,100,0), +(@PATH,29,-3751.217,-4459.749,56.26265,0,0,0,0,100,0), +(@PATH,30,-3756.021,-4459.732,56.23981,0,0,0,0,100,0), +(@PATH,31,-3751.217,-4459.749,56.26265,0,0,0,0,100,0), +(@PATH,32,-3746.699,-4458.252,56.23982,0,0,0,0,100,0), +(@PATH,33,-3742.872,-4455.448,56.23981,0,0,0,0,100,0), +(@PATH,34,-3740.03,-4451.584,56.23981,0,0,0,0,100,0), +(@PATH,35,-3738.577,-4447.063,56.23981,0,0,0,0,100,0), +(@PATH,36,-3738.565,-4442.265,56.23981,0,0,0,0,100,0); -- cgit v1.2.3 From 9c5637a35f52550ceb3ff8cd4dd98708c1845ec6 Mon Sep 17 00:00:00 2001 From: malcrom Date: Wed, 4 Jan 2012 16:18:25 +0100 Subject: DB/Gossip: add/update some gossips based on sniffed data closes #4545 --- .../world/2012_01_04_00_world_gossip_menu.sql | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 sql/updates/world/2012_01_04_00_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_00_world_gossip_menu.sql b/sql/updates/world/2012_01_04_00_world_gossip_menu.sql new file mode 100644 index 00000000000..cf11ba74eb2 --- /dev/null +++ b/sql/updates/world/2012_01_04_00_world_gossip_menu.sql @@ -0,0 +1,70 @@ +-- Update npc_text from sniff +UPDATE `npc_text` SET `prob0`=1,`text0_0`='I wandered for the rest of my natural life in search of knowledge, seeing more wonder and meeting more strange and mysterious races than any of my people before me. I travelled across the length and breadth of ancient Kalimdor until there was no more to see, no new lands across the horizon.$B$BYet... there was still so much I did not know as I felt my final journey approaching and I wept for the things I would never know.$B$BAs I fell, my life at an end, that is when they found me.',`WDBVerified`=14545 WHERE `ID`=14121; +UPDATE `npc_text` SET `prob0`=1,`text0_0`='The bronze dragonflight. They snatched me from the brink of death and took me before their master, Nozdormu. He said they had been watching me and wanted me to continue my hunt. He granted me immortality as a watcher, tasked to bear witness to the history of Azeroth as one of his agents.$B$BI am Xarantaur the Witness, and it is my duty to preserve the true history of Azeroth lest it be forgotten.',`WDBVerified`=14545 WHERE `ID`=14122; + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=10217 AND `text_id`=14204; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10217,14204); +DELETE FROM `gossip_menu` WHERE `entry`=10174 AND `text_id`=14118; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10174,14118); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=10217 WHERE `entry`=30824; +UPDATE `creature_template` SET `gossip_menu_id`=10038 WHERE `entry`=31261; +UPDATE `creature_template` SET `gossip_menu_id`=10174 WHERE `entry`=30825; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10026,10174) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(10026,0,0, 'Take me to the ship.',1,1,0,0,0,0, ''), +(10174,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9806 AND `text_id`=13525; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9806,13525); +DELETE FROM `gossip_menu` WHERE `entry`=9807 AND `text_id`=13526; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9807,13526); +DELETE FROM `gossip_menu` WHERE `entry`=9808 AND `text_id`=13527; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9808,13527); +DELETE FROM `gossip_menu` WHERE `entry`=9809 AND `text_id`=13528; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9809,13528); +DELETE FROM `gossip_menu` WHERE `entry`=9810 AND `text_id`=13529; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9810,13529); +DELETE FROM `gossip_menu` WHERE `entry`=9811 AND `text_id`=13530; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9811,13530); +DELETE FROM `gossip_menu` WHERE `entry`=9812 AND `text_id`=13531; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9812,13531); +DELETE FROM `gossip_menu` WHERE `entry`=9813 AND `text_id`=13534; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9813,13534); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9806 WHERE `entry`=29344; +UPDATE `creature_template` SET `gossip_menu_id`=9813 WHERE `entry`=29396; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9806,9807,9808,9809,9810,9811,9812) AND `id` IN (0); +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9808,9809,9810,9811,9812) AND `id` IN (1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(9806,0,0, 'Lord-Commander, I would hear your tale.',1,1,9807,0,0,0, ''), +(9807,0,0, '',1,1,9808,0,0,0, ''), +(9808,0,0, 'I thought that they now called themselves the Scarlet Onslaught?',1,1,9809,0,0,0, ''), +(9808,1,0, 'Lord-Commander, would you repeat what you said before?',1,1,9807,0,0,0, ''), +(9809,0,0, 'Where did the grand admiral go?',1,1,9810,0,0,0, ''), +(9809,1,0, 'Lord-Commander, would you repeat what you said before?',1,1,9808,0,0,0, ''), +(9810,0,0, 'That''s fine. When do I start?',1,1,9811,0,0,0, ''), +(9810,1,0, 'Lord-Commander, would you repeat what you said before?',1,1,9809,0,0,0, ''), +(9811,0,0, 'Let''s finish this!',1,1,9812,0,0,0, ''), +(9811,1,0, 'Lord-Commander, would you repeat what you said before?',1,1,9810,0,0,0, ''), +(9812,0,0, 'That''s quite a tale, lord-commander.',1,1,0,0,0,0, ''), +(9812,1,0, 'Lord-Commander, would you repeat what you said before?',1,1,9811,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9168 AND `text_id`=12427; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9168,12427); +DELETE FROM `gossip_menu` WHERE `entry`=9184 AND `text_id`=12472; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9184,12472); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9168 WHERE `entry`=25504; +UPDATE `creature_template` SET `gossip_menu_id`=9184 WHERE `entry`=25379; +UPDATE `creature_template` SET `gossip_menu_id`=348 WHERE `entry`=25278; -- cgit v1.2.3 From 872859ce399348e85e7da8c69357525a50d2464f Mon Sep 17 00:00:00 2001 From: Shocker Date: Wed, 4 Jan 2012 23:13:31 +0200 Subject: SQL: Correct SQL naming/locations for recent pull --- ...0_characters_character_queststatus_seasonal.sql | 8 + .../2011_12_13_02_creature_template_addon.sql | 2 - ...2011_12_13_02_world_creature_template_addon.sql | 2 + ..._00_world_game_event_seasonal_questrelation.sql | 387 --------------------- ...1_characters_character_queststatus_seasonal.sql | 8 - ..._01_world_game_event_seasonal_questrelation.sql | 386 ++++++++++++++++++++ 6 files changed, 396 insertions(+), 397 deletions(-) create mode 100644 sql/updates/characters/2012_01_04_00_characters_character_queststatus_seasonal.sql delete mode 100644 sql/updates/world/2011_12_13_02_creature_template_addon.sql create mode 100644 sql/updates/world/2011_12_13_02_world_creature_template_addon.sql delete mode 100644 sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql delete mode 100644 sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql create mode 100644 sql/updates/world/2012_01_04_01_world_game_event_seasonal_questrelation.sql (limited to 'sql') diff --git a/sql/updates/characters/2012_01_04_00_characters_character_queststatus_seasonal.sql b/sql/updates/characters/2012_01_04_00_characters_character_queststatus_seasonal.sql new file mode 100644 index 00000000000..f9ae71b65a7 --- /dev/null +++ b/sql/updates/characters/2012_01_04_00_characters_character_queststatus_seasonal.sql @@ -0,0 +1,8 @@ +DROP TABLE IF EXISTS `character_queststatus_seasonal`; +CREATE TABLE `character_queststatus_seasonal` ( + `guid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier', + `quest` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Quest Identifier', + `event` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Event Identifier', + PRIMARY KEY (`guid`,`quest`), + KEY `idx_guid` (`guid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Player System'; diff --git a/sql/updates/world/2011_12_13_02_creature_template_addon.sql b/sql/updates/world/2011_12_13_02_creature_template_addon.sql deleted file mode 100644 index f1dc473bdd7..00000000000 --- a/sql/updates/world/2011_12_13_02_creature_template_addon.sql +++ /dev/null @@ -1,2 +0,0 @@ --- Fix speed of oculus drakes -UPDATE `creature_template_addon` SET `auras`='50325' WHERE `entry` IN (27755,27692,27756); diff --git a/sql/updates/world/2011_12_13_02_world_creature_template_addon.sql b/sql/updates/world/2011_12_13_02_world_creature_template_addon.sql new file mode 100644 index 00000000000..f1dc473bdd7 --- /dev/null +++ b/sql/updates/world/2011_12_13_02_world_creature_template_addon.sql @@ -0,0 +1,2 @@ +-- Fix speed of oculus drakes +UPDATE `creature_template_addon` SET `auras`='50325' WHERE `entry` IN (27755,27692,27756); diff --git a/sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql b/sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql deleted file mode 100644 index b4ff9c1da5e..00000000000 --- a/sql/updates/world/2012_01_03_00_world_game_event_seasonal_questrelation.sql +++ /dev/null @@ -1,387 +0,0 @@ -DROP TABLE IF EXISTS `game_event_seasonal_questrelation`; -CREATE TABLE `game_event_seasonal_questrelation` ( - `quest` mediumint(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier', - `event` mediumint(10) NOT NULL DEFAULT '0' COMMENT 'Quest Identifier', - PRIMARY KEY (`quest`,`event`), - KEY `idx_quest` (`quest`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Player System'; - -INSERT INTO `game_event_seasonal_questrelation` (`quest`,`event`) VALUES - (1657, 12), - (1658, 12), - (6961, 2), - (6962, 2), - (6963, 2), - (6964, 2), - (6983, 3), - (6984, 3), - (7021, 2), - (7022, 2), - (7023, 2), - (7024, 2), - (7025, 2), - (7042, 2), - (7043, 2), - (7045, 2), - (7061, 2), - (7062, 2), - (7063, 2), - (8149, 11), - (8150, 11), - (8311, 12), - (8312, 12), - (8322, 12), - (8353, 12), - (8354, 12), - (8355, 12), - (8356, 12), - (8357, 12), - (8358, 12), - (8359, 12), - (8360, 12), - (8373, 12), - (8409, 12), - (8744, 52), - (8746, 2), - (8762, 2), - (8763, 2), - (8767, 52), - (8768, 52), - (8769, 52), - (8788, 52), - (8799, 2), - (8803, 52), - (8827, 2), - (8828, 2), - (8860, 6), - (8861, 6), - (8868, 7), - (8897, 8), - (8898, 8), - (8899, 8), - (8900, 8), - (8901, 8), - (8902, 8), - (8903, 8), - (8904, 8), - (8971, -1), - (8972, -1), - (8973, -1), - (8974, -1), - (8975, -1), - (8976, -1), - (8979, 8), - (8980, 8), - (8981, 8), - (8982, 8), - (8983, 8), - (8984, 8), - (8993, 8), - (9024, 8), - (9025, 8), - (9026, 8), - (9027, 8), - (9028, 8), - (11131, 12), - (11135, 12), - (11219, 12), - (11220, 12), - (11242, 12), - (11356, 12), - (11357, 12), - (11360, 12), - (11361, 12), - (11392, 12), - (11401, 12), - (11403, 12), - (11404, 12), - (11405, 12), - (11435, 12), - (11439, 12), - (11440, 12), - (11449, 12), - (11450, 12), - (11528, 52), - (11558, 8), - (11580, 1), - (11581, 1), - (11583, 1), - (11584, 1), - (11696, 1), - (11732, 1), - (11734, 1), - (11735, 1), - (11736, 1), - (11737, 1), - (11738, 1), - (11739, 1), - (11740, 1), - (11741, 1), - (11742, 1), - (11743, 1), - (11744, 1), - (11745, 1), - (11746, 1), - (11747, 1), - (11748, 1), - (11749, 1), - (11750, 1), - (11751, 1), - (11752, 1), - (11753, 1), - (11754, 1), - (11755, 1), - (11756, 1), - (11757, 1), - (11758, 1), - (11759, 1), - (11760, 1), - (11761, 1), - (11762, 1), - (11763, 1), - (11764, 1), - (11765, 1), - (11766, 1), - (11767, 1), - (11768, 1), - (11769, 1), - (11770, 1), - (11771, 1), - (11772, 1), - (11773, 1), - (11774, 1), - (11775, 1), - (11776, 1), - (11777, 1), - (11778, 1), - (11779, 1), - (11780, 1), - (11781, 1), - (11782, 1), - (11783, 1), - (11784, 1), - (11785, 1), - (11786, 1), - (11787, 1), - (11799, 1), - (11800, 1), - (11801, 1), - (11802, 1), - (11803, 1), - (11804, 1), - (11805, 1), - (11806, 1), - (11807, 1), - (11808, 1), - (11809, 1), - (11810, 1), - (11811, 1), - (11812, 1), - (11813, 1), - (11814, 1), - (11815, 1), - (11816, 1), - (11817, 1), - (11818, 1), - (11819, 1), - (11820, 1), - (11821, 1), - (11822, 1), - (11823, 1), - (11824, 1), - (11825, 1), - (11826, 1), - (11827, 1), - (11828, 1), - (11829, 1), - (11830, 1), - (11831, 1), - (11832, 1), - (11833, 1), - (11834, 1), - (11835, 1), - (11836, 1), - (11837, 1), - (11838, 1), - (11839, 1), - (11840, 1), - (11841, 1), - (11842, 1), - (11843, 1), - (11844, 1), - (11845, 1), - (11846, 1), - (11847, 1), - (11848, 1), - (11849, 1), - (11850, 1), - (11851, 1), - (11852, 1), - (11853, 1), - (11854, 1), - (11855, 1), - (11856, 1), - (11857, 1), - (11858, 1), - (11859, 1), - (11860, 1), - (11861, 1), - (11862, 1), - (11863, 1), - (11937, 1), - (11976, 1), - (12133, 12), - (12135, 12), - (12139, 12), - (12155, 12), - (12286, -1), - (12313, 24), - (12331, 12), - (12332, 12), - (12333, 12), - (12334, 12), - (12335, 12), - (12336, 12), - (12337, 12), - (12338, 12), - (12339, 12), - (12340, 12), - (12341, 12), - (12342, 12), - (12343, 12), - (12344, 12), - (12345, 12), - (12346, 12), - (12347, 12), - (12348, 12), - (12349, 12), - (12350, 12), - (12351, 12), - (12352, 12), - (12353, 12), - (12354, 12), - (12355, 12), - (12356, 12), - (12357, 12), - (12358, 12), - (12359, 12), - (12360, 12), - (12361, 12), - (12362, 12), - (12363, 12), - (12364, 12), - (12365, 12), - (12366, 12), - (12367, 12), - (12368, 12), - (12369, 12), - (12370, 12), - (12371, 12), - (12373, 12), - (12374, 12), - (12375, 12), - (12376, 12), - (12377, 12), - (12378, 12), - (12379, 12), - (12380, 12), - (12381, 12), - (12382, 12), - (12383, 12), - (12384, 12), - (12385, 12), - (12386, 12), - (12387, 12), - (12388, 12), - (12389, 12), - (12390, 12), - (12391, 12), - (12392, 12), - (12393, 12), - (12394, 12), - (12395, 12), - (12396, 12), - (12397, 12), - (12398, 12), - (12399, 12), - (12400, 12), - (12401, 12), - (12402, 12), - (12403, 12), - (12404, 12), - (12405, 12), - (12406, 12), - (12407, 12), - (12408, 12), - (12409, 12), - (12410, 12), - (12940, 12), - (12941, 12), - (12944, 12), - (12945, 12), - (12946, 12), - (12947, 12), - (12950, 12), - (13203, 52), - (13433, 12), - (13434, 12), - (13435, 12), - (13436, 12), - (13437, 12), - (13438, 12), - (13439, 12), - (13440, 12), - (13441, 12), - (13442, 12), - (13443, 12), - (13444, 12), - (13445, 12), - (13446, 12), - (13447, 12), - (13448, 12), - (13449, 12), - (13450, 12), - (13451, 12), - (13452, 12), - (13453, 12), - (13454, 12), - (13455, 12), - (13456, 12), - (13457, 12), - (13458, 12), - (13459, 12), - (13460, 12), - (13461, 12), - (13462, 12), - (13463, 12), - (13464, 12), - (13465, 12), - (13466, 12), - (13467, 12), - (13468, 12), - (13469, 12), - (13470, 12), - (13471, 12), - (13472, 12), - (13473, 12), - (13474, 12), - (13485, 1), - (13486, 1), - (13487, 1), - (13488, 1), - (13489, 1), - (13490, 1), - (13491, 1), - (13492, 1), - (13493, 1), - (13494, 1), - (13495, 1), - (13496, 1), - (13497, 1), - (13498, 1), - (13499, 1), - (13500, 1), - (13501, 12), - (13548, 12), - (13966, 52); - diff --git a/sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql b/sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql deleted file mode 100644 index 88264c424cc..00000000000 --- a/sql/updates/world/2012_01_03_01_characters_character_queststatus_seasonal.sql +++ /dev/null @@ -1,8 +0,0 @@ -DROP TABLE IF EXISTS `character_queststatus_seasonal`; -CREATE TABLE `character_queststatus_seasonal` ( - `guid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier', - `quest` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Quest Identifier', - `event` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Event Identifier', - PRIMARY KEY (`guid`,`quest`), - KEY `idx_guid` (`guid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Player System'; \ No newline at end of file diff --git a/sql/updates/world/2012_01_04_01_world_game_event_seasonal_questrelation.sql b/sql/updates/world/2012_01_04_01_world_game_event_seasonal_questrelation.sql new file mode 100644 index 00000000000..9746a358e8a --- /dev/null +++ b/sql/updates/world/2012_01_04_01_world_game_event_seasonal_questrelation.sql @@ -0,0 +1,386 @@ +DROP TABLE IF EXISTS `game_event_seasonal_questrelation`; +CREATE TABLE `game_event_seasonal_questrelation` ( + `quest` mediumint(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier', + `event` mediumint(10) NOT NULL DEFAULT '0' COMMENT 'Quest Identifier', + PRIMARY KEY (`quest`,`event`), + KEY `idx_quest` (`quest`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Player System'; + +INSERT INTO `game_event_seasonal_questrelation` (`quest`,`event`) VALUES + (1657, 12), + (1658, 12), + (6961, 2), + (6962, 2), + (6963, 2), + (6964, 2), + (6983, 3), + (6984, 3), + (7021, 2), + (7022, 2), + (7023, 2), + (7024, 2), + (7025, 2), + (7042, 2), + (7043, 2), + (7045, 2), + (7061, 2), + (7062, 2), + (7063, 2), + (8149, 11), + (8150, 11), + (8311, 12), + (8312, 12), + (8322, 12), + (8353, 12), + (8354, 12), + (8355, 12), + (8356, 12), + (8357, 12), + (8358, 12), + (8359, 12), + (8360, 12), + (8373, 12), + (8409, 12), + (8744, 52), + (8746, 2), + (8762, 2), + (8763, 2), + (8767, 52), + (8768, 52), + (8769, 52), + (8788, 52), + (8799, 2), + (8803, 52), + (8827, 2), + (8828, 2), + (8860, 6), + (8861, 6), + (8868, 7), + (8897, 8), + (8898, 8), + (8899, 8), + (8900, 8), + (8901, 8), + (8902, 8), + (8903, 8), + (8904, 8), + (8971, -1), + (8972, -1), + (8973, -1), + (8974, -1), + (8975, -1), + (8976, -1), + (8979, 8), + (8980, 8), + (8981, 8), + (8982, 8), + (8983, 8), + (8984, 8), + (8993, 8), + (9024, 8), + (9025, 8), + (9026, 8), + (9027, 8), + (9028, 8), + (11131, 12), + (11135, 12), + (11219, 12), + (11220, 12), + (11242, 12), + (11356, 12), + (11357, 12), + (11360, 12), + (11361, 12), + (11392, 12), + (11401, 12), + (11403, 12), + (11404, 12), + (11405, 12), + (11435, 12), + (11439, 12), + (11440, 12), + (11449, 12), + (11450, 12), + (11528, 52), + (11558, 8), + (11580, 1), + (11581, 1), + (11583, 1), + (11584, 1), + (11696, 1), + (11732, 1), + (11734, 1), + (11735, 1), + (11736, 1), + (11737, 1), + (11738, 1), + (11739, 1), + (11740, 1), + (11741, 1), + (11742, 1), + (11743, 1), + (11744, 1), + (11745, 1), + (11746, 1), + (11747, 1), + (11748, 1), + (11749, 1), + (11750, 1), + (11751, 1), + (11752, 1), + (11753, 1), + (11754, 1), + (11755, 1), + (11756, 1), + (11757, 1), + (11758, 1), + (11759, 1), + (11760, 1), + (11761, 1), + (11762, 1), + (11763, 1), + (11764, 1), + (11765, 1), + (11766, 1), + (11767, 1), + (11768, 1), + (11769, 1), + (11770, 1), + (11771, 1), + (11772, 1), + (11773, 1), + (11774, 1), + (11775, 1), + (11776, 1), + (11777, 1), + (11778, 1), + (11779, 1), + (11780, 1), + (11781, 1), + (11782, 1), + (11783, 1), + (11784, 1), + (11785, 1), + (11786, 1), + (11787, 1), + (11799, 1), + (11800, 1), + (11801, 1), + (11802, 1), + (11803, 1), + (11804, 1), + (11805, 1), + (11806, 1), + (11807, 1), + (11808, 1), + (11809, 1), + (11810, 1), + (11811, 1), + (11812, 1), + (11813, 1), + (11814, 1), + (11815, 1), + (11816, 1), + (11817, 1), + (11818, 1), + (11819, 1), + (11820, 1), + (11821, 1), + (11822, 1), + (11823, 1), + (11824, 1), + (11825, 1), + (11826, 1), + (11827, 1), + (11828, 1), + (11829, 1), + (11830, 1), + (11831, 1), + (11832, 1), + (11833, 1), + (11834, 1), + (11835, 1), + (11836, 1), + (11837, 1), + (11838, 1), + (11839, 1), + (11840, 1), + (11841, 1), + (11842, 1), + (11843, 1), + (11844, 1), + (11845, 1), + (11846, 1), + (11847, 1), + (11848, 1), + (11849, 1), + (11850, 1), + (11851, 1), + (11852, 1), + (11853, 1), + (11854, 1), + (11855, 1), + (11856, 1), + (11857, 1), + (11858, 1), + (11859, 1), + (11860, 1), + (11861, 1), + (11862, 1), + (11863, 1), + (11937, 1), + (11976, 1), + (12133, 12), + (12135, 12), + (12139, 12), + (12155, 12), + (12286, -1), + (12313, 24), + (12331, 12), + (12332, 12), + (12333, 12), + (12334, 12), + (12335, 12), + (12336, 12), + (12337, 12), + (12338, 12), + (12339, 12), + (12340, 12), + (12341, 12), + (12342, 12), + (12343, 12), + (12344, 12), + (12345, 12), + (12346, 12), + (12347, 12), + (12348, 12), + (12349, 12), + (12350, 12), + (12351, 12), + (12352, 12), + (12353, 12), + (12354, 12), + (12355, 12), + (12356, 12), + (12357, 12), + (12358, 12), + (12359, 12), + (12360, 12), + (12361, 12), + (12362, 12), + (12363, 12), + (12364, 12), + (12365, 12), + (12366, 12), + (12367, 12), + (12368, 12), + (12369, 12), + (12370, 12), + (12371, 12), + (12373, 12), + (12374, 12), + (12375, 12), + (12376, 12), + (12377, 12), + (12378, 12), + (12379, 12), + (12380, 12), + (12381, 12), + (12382, 12), + (12383, 12), + (12384, 12), + (12385, 12), + (12386, 12), + (12387, 12), + (12388, 12), + (12389, 12), + (12390, 12), + (12391, 12), + (12392, 12), + (12393, 12), + (12394, 12), + (12395, 12), + (12396, 12), + (12397, 12), + (12398, 12), + (12399, 12), + (12400, 12), + (12401, 12), + (12402, 12), + (12403, 12), + (12404, 12), + (12405, 12), + (12406, 12), + (12407, 12), + (12408, 12), + (12409, 12), + (12410, 12), + (12940, 12), + (12941, 12), + (12944, 12), + (12945, 12), + (12946, 12), + (12947, 12), + (12950, 12), + (13203, 52), + (13433, 12), + (13434, 12), + (13435, 12), + (13436, 12), + (13437, 12), + (13438, 12), + (13439, 12), + (13440, 12), + (13441, 12), + (13442, 12), + (13443, 12), + (13444, 12), + (13445, 12), + (13446, 12), + (13447, 12), + (13448, 12), + (13449, 12), + (13450, 12), + (13451, 12), + (13452, 12), + (13453, 12), + (13454, 12), + (13455, 12), + (13456, 12), + (13457, 12), + (13458, 12), + (13459, 12), + (13460, 12), + (13461, 12), + (13462, 12), + (13463, 12), + (13464, 12), + (13465, 12), + (13466, 12), + (13467, 12), + (13468, 12), + (13469, 12), + (13470, 12), + (13471, 12), + (13472, 12), + (13473, 12), + (13474, 12), + (13485, 1), + (13486, 1), + (13487, 1), + (13488, 1), + (13489, 1), + (13490, 1), + (13491, 1), + (13492, 1), + (13493, 1), + (13494, 1), + (13495, 1), + (13496, 1), + (13497, 1), + (13498, 1), + (13499, 1), + (13500, 1), + (13501, 12), + (13548, 12), + (13966, 52); -- cgit v1.2.3 From 5e9882f8623263913fd2a1771d5e8666c18f949f Mon Sep 17 00:00:00 2001 From: Shocker Date: Wed, 4 Jan 2012 23:28:36 +0200 Subject: SQL: Correct SQL file name after recent pull --- .../world/2011_12_26_00_world_achievements.sql | 29 ---------------------- .../world/2012_01_04_02_world_achievements.sql | 29 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 29 deletions(-) delete mode 100644 sql/updates/world/2011_12_26_00_world_achievements.sql create mode 100644 sql/updates/world/2012_01_04_02_world_achievements.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_26_00_world_achievements.sql b/sql/updates/world/2011_12_26_00_world_achievements.sql deleted file mode 100644 index cbd5efa3cd6..00000000000 --- a/sql/updates/world/2011_12_26_00_world_achievements.sql +++ /dev/null @@ -1,29 +0,0 @@ --- The Undying -DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` IN (13237, 13238, 13239, 13240, 7617); -- Enable criteria -DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (13237, 13238, 13239, 13240, 7617); -- Enable instance script execution for achievement criteria -INSERT INTO `achievement_criteria_data` VALUES -(13237, 12, 0, 0, ''), -(13237, 18, 0, 0, ''), -(13238, 12, 0, 0, ''), -(13238, 18, 0, 0, ''), -(13239, 12, 0, 0, ''), -(13239, 18, 0, 0, ''), -(13240, 12, 0, 0, ''), -(13240, 18, 0, 0, ''), -(7617, 12, 0, 0, ''), -(7617, 18, 0, 0, ''); - --- The Immortal -DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` IN (13233, 13234, 13235, 13236, 7616); -- Enable criteria -DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (13233, 13234, 13235, 13236, 7616); -- Enable instance script execution for achievement criteria -INSERT INTO `achievement_criteria_data` VALUES -(13233, 12, 1, 0, ''), -(13233, 18, 0, 0, ''), -(13234, 12, 1, 0, ''), -(13234, 18, 0, 0, ''), -(13235, 12, 1, 0, ''), -(13235, 18, 0, 0, ''), -(13236, 12, 1, 0, ''), -(13236, 18, 0, 0, ''), -(7616, 12, 1, 0, ''), -(7616, 18, 0, 0, ''); diff --git a/sql/updates/world/2012_01_04_02_world_achievements.sql b/sql/updates/world/2012_01_04_02_world_achievements.sql new file mode 100644 index 00000000000..cbd5efa3cd6 --- /dev/null +++ b/sql/updates/world/2012_01_04_02_world_achievements.sql @@ -0,0 +1,29 @@ +-- The Undying +DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` IN (13237, 13238, 13239, 13240, 7617); -- Enable criteria +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (13237, 13238, 13239, 13240, 7617); -- Enable instance script execution for achievement criteria +INSERT INTO `achievement_criteria_data` VALUES +(13237, 12, 0, 0, ''), +(13237, 18, 0, 0, ''), +(13238, 12, 0, 0, ''), +(13238, 18, 0, 0, ''), +(13239, 12, 0, 0, ''), +(13239, 18, 0, 0, ''), +(13240, 12, 0, 0, ''), +(13240, 18, 0, 0, ''), +(7617, 12, 0, 0, ''), +(7617, 18, 0, 0, ''); + +-- The Immortal +DELETE FROM `disables` WHERE `sourceType` = 4 AND `entry` IN (13233, 13234, 13235, 13236, 7616); -- Enable criteria +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (13233, 13234, 13235, 13236, 7616); -- Enable instance script execution for achievement criteria +INSERT INTO `achievement_criteria_data` VALUES +(13233, 12, 1, 0, ''), +(13233, 18, 0, 0, ''), +(13234, 12, 1, 0, ''), +(13234, 18, 0, 0, ''), +(13235, 12, 1, 0, ''), +(13235, 18, 0, 0, ''), +(13236, 12, 1, 0, ''), +(13236, 18, 0, 0, ''), +(7616, 12, 1, 0, ''), +(7616, 18, 0, 0, ''); -- cgit v1.2.3 From a7a1b6a312a4174fa97e34bdcd6f7f8c59005e85 Mon Sep 17 00:00:00 2001 From: Shocker Date: Wed, 4 Jan 2012 23:36:26 +0200 Subject: SQL: Fix SQL naming after recent pull --- sql/updates/world/2011_10_11_01_world_spell_script_names.sql | 2 -- sql/updates/world/2012_01_04_03_world_spell_script_names.sql | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 sql/updates/world/2011_10_11_01_world_spell_script_names.sql create mode 100644 sql/updates/world/2012_01_04_03_world_spell_script_names.sql (limited to 'sql') diff --git a/sql/updates/world/2011_10_11_01_world_spell_script_names.sql b/sql/updates/world/2011_10_11_01_world_spell_script_names.sql deleted file mode 100644 index f8ae3db6ad3..00000000000 --- a/sql/updates/world/2011_10_11_01_world_spell_script_names.sql +++ /dev/null @@ -1,2 +0,0 @@ -DELETE FROM `spell_script_names` WHERE `spell_id` = 53385; -INSERT INTO `spell_script_names` VALUES (53385, 'spell_pal_divine_storm'); diff --git a/sql/updates/world/2012_01_04_03_world_spell_script_names.sql b/sql/updates/world/2012_01_04_03_world_spell_script_names.sql new file mode 100644 index 00000000000..f8ae3db6ad3 --- /dev/null +++ b/sql/updates/world/2012_01_04_03_world_spell_script_names.sql @@ -0,0 +1,2 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` = 53385; +INSERT INTO `spell_script_names` VALUES (53385, 'spell_pal_divine_storm'); -- cgit v1.2.3 From dd25ed1743056c52a2f2eafae3264d0eb185f1c7 Mon Sep 17 00:00:00 2001 From: tharaca Date: Wed, 4 Jan 2012 22:36:51 +0100 Subject: DB/SAI: added SAI for Pusillin encounter & DM East closes #3533 --- sql/updates/world/2012_01_04_02_world_sai.sql | 177 ++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 sql/updates/world/2012_01_04_02_world_sai.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_02_world_sai.sql b/sql/updates/world/2012_01_04_02_world_sai.sql new file mode 100644 index 00000000000..fb59ba8b4e8 --- /dev/null +++ b/sql/updates/world/2012_01_04_02_world_sai.sql @@ -0,0 +1,177 @@ +-- spawns for the first part of DM East, along Pusillins path (will make things a bit more fun ;-) ) + +SET @NPC_WILDSPAWN_SATYR = 11451; +SET @NPC_WILDSPAWN_ROGUE := 11452; +SET @NPC_WILDSPAWN_BETRAYER := 11454; +SET @NPC_WILDSPAWN_FELSWORN := 11455; +SET @NPC_WILDSPAWN_SHADOWSTALKER := 11456; +SET @NPC_WILDSPAWN_HELLCALLER := 11457; +SET @NPC_WARPWOOD_TREANT = 11462; +SET @NPC_WARPWOOD_CRUSHER := 13021; +SET @NPC_WHIP_LASHER := 13022; +SET @NPC_PHASE_LASHER := 13196; +SET @NPC_FEL_LASH := 13197; + +-- SmartAI for Warpwood Treant +SET @ENTRY := @NPC_WARPWOOD_TREANT; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,0,0,100,0,3000,5000,5000,7000,11,18368,0,0,0,0,0,2,0,0,0,0,0,0,0,'Warpwood Treant - In Combat - Cast Strike'), +(@ENTRY,0,1,0,0,0,100,0,7000,9000,18000,22000,11,14331,0,0,0,0,0,2,0,0,0,0,0,0,0,'Warpwood Treant - In Combat - Cast Vicious Rend'), +(@ENTRY,0,2,0,0,0,100,0,10000,12000,9000,14000,11,11428,0,0,0,0,0,2,0,0,0,0,0,0,0,'Warpwood Treant - In Combat - Cast Knockdown'); + +-- SmartAI for Warpwood Crusher +SET @ENTRY := @NPC_WARPWOOD_CRUSHER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,0,0,100,0,3000,7000,8000,12000,11,22426,0,0,0,0,0,2,0,0,0,0,0,0,0,'Warpwood Crusher - In Combat - Cast Crush Armor'); + +-- SmartAI for Whip Lasher +SET @ENTRY := @NPC_WHIP_LASHER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=15 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,0,0,100,0,2000,5000,7000,9000,11,21987,0,0,0,0,0,2,0,0,0,0,0,0,0,'Whip Lasher - In Combat - Cast Lash of Pain'); + +-- Fel Lash +SET @ENTRY := @NPC_FEL_LASH; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=15 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fel Lash - On Aggro - Prevent Combat Movement'), +(@ENTRY,0,1,2,4,0,100,0,0,0,0,0,11,15230,0,0,0,0,0,2,0,0,0,0,0,0,0,'Fel Lash - On Aggro - Cast Arcane Bolt'), +(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Fel Lash - On Aggro - Set Phase 1'), +(@ENTRY,0,3,0,9,1,100,0,0,40,2400,3800,11,15230,0,0,0,0,0,2,0,0,0,0,0,0,0,'Fel Lash - In Phase 1 - Cast Arcane Bolt '), +(@ENTRY,0,4,5,3,1,100,0,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fel Lash - In Phase 1 and Mana at 15% - Start Combat Movement'), +(@ENTRY,0,5,0,61,1,100,0,0,0,0,0,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,'Fel Lash - In Phase 1 and Mana is at 15% - set Phase 2'), +(@ENTRY,0,6,0,9,1,100,0,35,80,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fel Lash - In Phase 1 - Start Combat Movement at 35 Yards'), +(@ENTRY,0,7,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fel Lash - In Phase 1 - Prevent Combat Movement at 15 Yards'), +(@ENTRY,0,8,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fel Lash - In Phase 1 - Start Combat Movement Below 5 Yards'), +(@ENTRY,0,9,0,3,2,100,0,30,100,100,100,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Fel Lash - Phase 2 - Set Phase 1 when Mana is above 30%'), +(@ENTRY,0,10,0,0,0,100,0,9000,15000,11000,16000,11,22271,1,0,0,0,0,1,0,0,0,0,0,0,0,'Fel Lash - In Combat - Cast Arcane Explosion'), +(@ENTRY,0,11,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Fel Lash - On Evade - Set Phase to 0'); + +-- Phase Lasher +SET @ENTRY := @NPC_PHASE_LASHER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=15 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - On Aggro - Prevent Combat Movement'), +(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - On Aggro - Set Phase 1'), +(@ENTRY,0,2,0,9,1,100,0,0,30,3400,4800,11,17228,2,0,0,0,0,2,0,0,0,0,0,0,0,'Phase Lasher - On Range - Cast Shadow Bolt Volley (Phase 1)'), +(@ENTRY,0,3,0,0,1,100,0,5000,5000,6000,6000,31,2,4,8,16,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - In Phase 1 - Random Select Phase'), +(@ENTRY,0,4,5,9,2,100,0,0,40,3400,4800,11,15285,2,0,0,0,0,2,0,0,0,0,0,0,0,'Phase Lasher - In Phase 2 - Cast Fireball Volley'), +(@ENTRY,0,5,0,61,2,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - In Phase 2 - Set Phase 1'), +(@ENTRY,0,6,7,0,4,100,0,4000,8000,8000,10000,11,22519,2,0,0,0,0,2,0,0,0,0,0,0,0,'Phase Lasher - In Phase 3 - Cast Ice Nova'), +(@ENTRY,0,7,0,61,4,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - In Phase 3 - Set Phase 1'), +(@ENTRY,0,8,0,0,8,100,0,4000,8000,10000,13000,11,22356,2,0,0,0,0,2,0,0,0,0,0,0,0,'Phase Lasher - In Phase 4 - Cast Slow'), +(@ENTRY,0,9,0,61,8,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - In Phase 4 - Set Phase 1'), +(@ENTRY,0,10,11,0,16,100,0,4000,8000,6000,8000,11,21749,2,0,0,0,0,2,0,0,0,0,0,0,0,'Phase Lasher - In Phase 5 - Cast Thorn Volley'), +(@ENTRY,0,11,0,61,16,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - In Phase 5 - Set Phase 1'), +(@ENTRY,0,12,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - On Evade - Set Phase to 0'), +(@ENTRY,0,13,0,6,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Phase Lasher - On Death - Set Phase to 0'); + +-- SmartAI for Wildspawn Satyr +SET @ENTRY := @NPC_WILDSPAWN_SATYR; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,0,0,100,0,1000,3000,4000,6000,11,15580,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Satyr - In Combat - Cast Strike'), +(@ENTRY,0,1,0,0,0,100,0,7000,9000,14000,18000,11,9080,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Satyr - In Combat - Cast Hamstring'), +(@ENTRY,0,2,0,0,0,100,0,5000,7000,15000,25000,11,9128,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Satyr - In Combat - Cast Battle Shout'), +(@ENTRY,0,3,0,2,0,100,1,0,30,0,0,11,8599,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Satyr - At 30% HP - Cast Enrage'), +(@ENTRY,0,4,0,2,0,100,1,0,30,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Satyr - At 30% HP - Say Line 0'); + +-- Text for Wildspawn Satyr +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0,'%s becomes enraged!',16,0,100,0,0,0,'Wildspawn Satyr - At 30% HP - Enraged Text'); + +-- SmartAI for Wildspawn Rogue +SET @ENTRY := @NPC_WILDSPAWN_ROGUE; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,0,0,100,0,5000,7000,12000,16000,11,15583,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Rogue - In Combat - Cast Rupture'), +(@ENTRY,0,1,0,0,0,100,0,11000,15000,10000,13000,11,15667,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Rogue - In Combat - Cast Sinister Strike'); + +-- SmartAI for Wildspawn Betrayer +SET @ENTRY := @NPC_WILDSPAWN_BETRAYER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,1,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - On Spawn - Prevent Combat Movement'), +(@ENTRY,0,1,0,61,0,100,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Betrayer - On Spawn - Prevent Melee'), +(@ENTRY,0,2,3,4,0,100,0,0,0,0,0,11,16100,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Betrayer - On Aggro - Cast Shoot'), +(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - On Aggro - Set Phase 1'), +(@ENTRY,0,4,5,9,1,100,0,5,30,2300,3900,11,16100,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Betrayer - In Combat (Phase 1) - Cast Shoot'), +(@ENTRY,0,5,0,61,1,100,0,0,0,0,0,40,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - In Combat (Phase 1) - Set Ranged Weapon Model'), +(@ENTRY,0,6,7,9,1,100,1,25,80,0,0,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 25 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,7,0,61,1,100,1,0,0,0,0,20,1,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 25 Yards (Phase 1) - Start Melee'), +(@ENTRY,0,8,9,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - Below 5 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,9,10,61,1,100,0,0,0,0,0,40,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - Below 5 Yards (Phase 1) - Set Melee Weapon'), +(@ENTRY,0,10,0,61,1,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - Below 5 Yards (Phase 1) - Start Melee'), +(@ENTRY,0,11,12,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 15 Yards (Phase 1) - Prevent Combat Movement'), +(@ENTRY,0,12,0,61,1,100,0,0,0,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 15 Yards (Phase 1) - Prevent Melee'), +(@ENTRY,0,13,0,9,1,100,0,5,30,7800,11400,11,18649,40,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Betrayer - In Combat (Phase 1) - Cast Shadow Shot'), +(@ENTRY,0,14,0,9,1,100,0,5,30,9900,13600,11,7896,40,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Betrayer - In Combat (Phase 1) - Cast Exploding Shot'), +(@ENTRY,0,15,0,0,1,100,0,5000,8000,8000,11000,11,11428,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Betrayer - In Combat (Phase 1) - Cast Knockdown'), +(@ENTRY,0,16,0,2,0,100,1,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 15% HP - Start Combat Movement'), +(@ENTRY,0,17,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 15% HP - Flee'), +(@ENTRY,0,18,19,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - On Evade - Set Phase to 0'), +(@ENTRY,0,19,0,61,0,100,0,0,0,0,0,40,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - On Evade - Set Melee Weapon Model'); + +-- SmartAI for Wildspawn Hellcaller +SET @ENTRY := @NPC_WILDSPAWN_HELLCALLER; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY +;DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Prevent Combat Movement'), +(@ENTRY,0,1,2,4,0,100,0,0,0,0,0,11,15228,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Cast Fireball '),(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Set Phase 1'),(@ENTRY,0,3,0,9,1,100,0,0,40,2400,3800,11,15228,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Phase 1 - Cast Fireball'), +(@ENTRY,0,4,5,3,1,100,0,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller -In Phase 1 - Start Combat Movement'), +(@ENTRY,0,5,0,61,1,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Mana at 15% (Phase 1) - Set Phase 2'), +(@ENTRY,0,6,0,9,1,100,0,35,80,0,0,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Hellcaller - At 35 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,7,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - at 15 Yards (Phase 1) - Prevent Combat Movement '), +(@ENTRY,0,8,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Below 5 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,9,0,3,2,100,0,0,30,100,100,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Mana is above 30% (Phase 2) - Set Phase 1'), +(@ENTRY,0,10,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Set Phase 1 when Mana is above 30% (Phase 2)'), +(@ENTRY,0,11,0,0,0,100,0,8000,14000,18000,25000,11,20754,3,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - In Combat - Cast Rain of Fire'), +(@ENTRY,0,12,0,2,0,100,1,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - At 15% HP - Start Combat Movement'), +(@ENTRY,0,13,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Betrayer - At 15% HP - Flee'),(@ENTRY,0,14,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Evade - Set Phase to 0'); + +-- SmartAI for Wildspawn Felsworn +SET @ENTRY := @NPC_WILDSPAWN_FELSWORN; +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES(@ENTRY,0,0,0,1,0,100,1,1000,1000,1800000,1800000,11,12542,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Cast Chaotic Focus'), +(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Aggro - Prevent Combat Movement'), +(@ENTRY,0,2,3,4,0,100,0,0,0,0,0,11,15537,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Aggro - Cast Shadow Bolt'), +(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Aggro - Set Phase 1'),(@ENTRY,0,4,0,9,1,100,0,0,40,2400,3800,11,15537,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Felsworn - Phase 1 - Cast Shadow Bolt'), +(@ENTRY,0,5,6,3,1,100,0,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn -In Phase 1 - Start Combat Movement'), +(@ENTRY,0,6,0,61,1,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Mana at 15% (Phase 1) - Set Phase 2'), +(@ENTRY,0,7,0,9,1,100,0,35,80,0,0,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Felsworn - At 35 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,8,0,9,1,100,0,5,15,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - at 15 Yards (Phase 1) - Prevent Combat Movement '), +(@ENTRY,0,9,0,9,1,100,0,0,5,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Below 5 Yards (Phase 1) - Start Combat Movement'), +(@ENTRY,0,10,0,3,2,100,0,0,30,100,100,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Mana is above 30% (Phase 2) - Set Phase 1'), +(@ENTRY,0,11,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Felsworn - Set Phase 1 when Mana is above 30% (Phase 2)'), +(@ENTRY,0,12,0,0,0,100,0,7000,12000,38000,45000,11,22417,1,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Phase 1 - Cast Shadow Shield'),(@ENTRY,0,13,0,0,1,100,0,11000,17000,23000,30000,11,15654,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Phase 1 - Cast Shadow Word: Pain'),(@ENTRY,0,14,0,0,0,100,0,6000,10000,10000,15000,11,12542,1,0,0,0,0,5,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Combat - Cast Fear (on random target)'), +(@ENTRY,0,15,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Evade - Set Phase to 0'); \ No newline at end of file -- cgit v1.2.3 From 69a901fe243726a770e70225650109a2fac38890 Mon Sep 17 00:00:00 2001 From: Shocker Date: Wed, 4 Jan 2012 23:56:03 +0200 Subject: Core/Quests: Fix Priest Class quest fix for Night Elf / Dwarf / Undead (by evharten) Closes #4601 --- sql/updates/world/2012_01_04_04_world_creature_template.sql | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 sql/updates/world/2012_01_04_04_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_04_world_creature_template.sql b/sql/updates/world/2012_01_04_04_world_creature_template.sql new file mode 100644 index 00000000000..6131c439fdb --- /dev/null +++ b/sql/updates/world/2012_01_04_04_world_creature_template.sql @@ -0,0 +1,8 @@ +-- [Q] Garments of the Moon (5621) and Garments of the Light (5625) +SET @ENTRY_SHAYA := 12429; -- Sentinel Shaya +SET @ENTRY_DOLF := 12427; -- Mountaineer Dolf +UPDATE `creature_template` SET `unit_flags`=`unit_flags`|8 WHERE `entry` IN (@ENTRY_SHAYA, @ENTRY_DOLF); + +-- [Q] Garments of Darkness (5650) +SET @ENTRY_KEL := 12428; -- Deathguard Kel (has to be +8 so in total 36872) +UPDATE `creature_template` SET `unit_flags`=`unit_flags`|8|4096|32768 WHERE `entry` IN (@ENTRY_KEL); -- cgit v1.2.3 From 43c6889315fd7c86cf586996e83b22d2c4d458f2 Mon Sep 17 00:00:00 2001 From: zxbiohazardzx Date: Wed, 4 Jan 2012 23:45:22 +0100 Subject: DB/Commit: restore creature 1846 as creature 1864 (typofix) --- sql/updates/world/2012_01_04_04_world_creature.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 sql/updates/world/2012_01_04_04_world_creature.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_04_world_creature.sql b/sql/updates/world/2012_01_04_04_world_creature.sql new file mode 100644 index 00000000000..58970cd03c7 --- /dev/null +++ b/sql/updates/world/2012_01_04_04_world_creature.sql @@ -0,0 +1,10 @@ +-- fix earlier typo in guid (recovered 1846) +DELETE FROM `creature` WHERE `guid` = 1864; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES +(1864,1096,0,1,1,7197,0,-11958.5,-484.88,17.0796,5.15875,300,0,0,1160,1067,0); + +DELETE FROM `creature_addon` WHERE `guid`=1864; +INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(1864,0,0,0,4097,0,''); + + -- cgit v1.2.3 From cc337def4544bddb4333561ab5af8882e29af4d2 Mon Sep 17 00:00:00 2001 From: malcrom Date: Wed, 4 Jan 2012 23:46:52 +0100 Subject: DB/Waypoints: some Hinterlands fixes closes #4274 --- .../world/2012_01_04_05_world_waypoint_data.sql | 476 +++++++++++++++++++++ 1 file changed, 476 insertions(+) create mode 100644 sql/updates/world/2012_01_04_05_world_waypoint_data.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_05_world_waypoint_data.sql b/sql/updates/world/2012_01_04_05_world_waypoint_data.sql new file mode 100644 index 00000000000..2ad787b36ca --- /dev/null +++ b/sql/updates/world/2012_01_04_05_world_waypoint_data.sql @@ -0,0 +1,476 @@ +-- Some Hinterlands fixups. + +-- Waypoint Script guids +SET @SCRIPTGUID := 55; -- 12 required + +-- Fixup Revantusk Watcher add Invisibility and Stealth Detection aura +UPDATE creature SET `modelid`=0,`curhealth`=1 WHERE id=14730; +UPDATE `creature_addon` SET `bytes2`=257,`auras`=18950 WHERE guid IN (SELECT guid FROM creature WHERE id=14730); + +-- Revantusk Drummer add emote +DELETE FROM `creature_addon` WHERE `guid` IN (92886,92887,92888); +DELETE FROM `creature_template_addon` WHERE `entry`=14734; +INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`emote`) VALUES (14734,1,36); + +-- Pathing for Smith Slagtree Entry: 14737 +SET @NPC := 92909; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-589.9536,`position_y`=-4548.458,`position_z`=9.161489 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-591.6767,-4554.789,9.161489,0,0,0,0,100,0), +(@PATH,2,-595.7503,-4559.671,9.161489,0,6000,0,929090,100,0), +(@PATH,3,-589.9536,-4548.458,9.161489,0,29000,0,929091,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (929090,929091); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(929090,1,30,0,0,3.228859,@SCRIPTGUID), +(929090,2,2,74,8,0,@SCRIPTGUID+1), +(929090,5,2,74,0,0,@SCRIPTGUID+2), +(929091,1,30,0,0,0.6108652,@SCRIPTGUID+3), +(929091,2,15,23488,1,0,@SCRIPTGUID+4), +(929091,5,2,83,233,0,@SCRIPTGUID+5), +(929091,24,2,83,69,0,@SCRIPTGUID+6); + +-- Pathing for Mystic Yayo'jin Entry: 14739 +SET @NPC := 92911; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-541.7078,`position_y`=-4608.892,`position_z`=13.12271 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-538.0938,-4609.549,13.11275,0,500,0,0,100,0), +(@PATH,2,-538.0938,-4609.549,13.11275,5.986479,8000,0,0,100,0), +(@PATH,3,-539.3364,-4606.846,13.11516,0,500,0,0,100,0), +(@PATH,4,-539.3364,-4606.846,13.11516,0.9773844,10000,0,0,100,0), +(@PATH,5,-542.105,-4606.523,13.12286,0,500,0,0,100,0), +(@PATH,6,-542.105,-4606.523,13.12286,1.815142,9000,0,0,100,0), +(@PATH,7,-543.7079,-4611.147,13.15176,0,0,0,0,100,0), +(@PATH,8,-540.0343,-4611.84,13.11918,0,0,0,0,100,0), +(@PATH,9,-539.916,-4609.014,13.11769,0,0,0,0,100,0), +(@PATH,10,-541.7078,-4608.892,13.12271,0,500,0,0,100,0), +(@PATH,11,-541.7078,-4608.892,13.12271,2.86234,48000,0,929110,100,0); +DELETE FROM `waypoint_scripts` WHERE `id`=929110; +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`guid`) VALUES +(929110,2,2,74,1,@SCRIPTGUID+7), +(929110,39,2,74,0,@SCRIPTGUID+8), +(929110,41,2,83,133,@SCRIPTGUID+9); + +-- Pathing for Revantusk Watcher Entry: 14730 +SET @NPC := 92898; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-621.9691,`position_y`=-4670.079,`position_z`=5.061154 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,257,0, '18950'); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-614.1932,-4653.834,5.040805,0,0,0,0,100,0), +(@PATH,2,-620.4515,-4667.109,5.066647,0,0,0,0,100,0), +(@PATH,3,-630.2896,-4686.361,5.086016,0,0,0,0,100,0), +(@PATH,4,-644.1071,-4714.346,5.219747,0,9000,0,928980,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (928980); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`x`,`y`,`z`,`o`,`guid`) VALUES +(928980,8,6,0,1,-621.9691,-4670.079,5.061154,1.098353,@SCRIPTGUID+10); + +-- Pathing for Revantusk Watcher Entry: 14730 +SET @NPC := 92899; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-619.3934,`position_y`=-4664.687,`position_z`=5.057855 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,257,0, '18950'); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-615.9739,-4657.611,5.048162,0,0,0,0,100,0), +(@PATH,2,-617.2744,-4660.37,5.053535,0,0,0,0,100,0), +(@PATH,3,-618.5742,-4663.127,5.058907,0,0,0,0,100,0), +(@PATH,4,-619.8167,-4665.867,5.066616,0,0,0,0,100,0), +(@PATH,5,-621.2051,-4668.584,5.066684,0,0,0,0,100,0), +(@PATH,6,-622.5936,-4671.301,5.066746,0,0,0,0,100,0), +(@PATH,7,-623.9827,-4674.019,5.066799,0,0,0,0,100,0), +(@PATH,8,-625.2844,-4676.566,5.066853,0,0,0,0,100,0), +(@PATH,9,-626.7726,-4679.479,5.060135,0,0,0,0,100,0), +(@PATH,10,-628.1486,-4682.171,5.07026,0,0,0,0,100,0), +(@PATH,11,-629.5447,-4684.852,5.078729,0,0,0,0,100,0), +(@PATH,12,-630.8968,-4687.591,5.091967,0,0,0,0,100,0), +(@PATH,13,-632.2471,-4690.326,5.105191,0,10000,0,928990,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (928990); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`x`,`y`,`z`,`o`,`guid`) VALUES +(928990,9,6,0,1,-619.3934,-4664.687,5.057855,1.120319,@SCRIPTGUID+11); + +-- Pathing for Revantusk Watcher Entry: 14730 +SET @NPC := 92946; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-583.7281,`position_y`=-4567.89,`position_z`=9.120717 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,257,0, '18950'); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-576.5599,-4568.717,9.161489,0,0,0,0,100,0), +(@PATH,2,-570.6282,-4570.051,9.286489,0,0,0,0,100,0), +(@PATH,3,-564.2906,-4571.396,9.480314,0,0,0,0,100,0), +(@PATH,4,-559.9419,-4573.958,9.605314,0,0,0,0,100,0), +(@PATH,5,-554.7994,-4581.686,9.740568,0,0,0,0,100,0), +(@PATH,6,-552.841,-4589.281,9.605314,0,0,0,0,100,0), +(@PATH,7,-555.0905,-4596.873,9.605314,0,0,0,0,100,0), +(@PATH,8,-555.7503,-4601.974,9.614173,0,0,0,0,100,0), +(@PATH,9,-559.4357,-4608.517,9.739173,0,0,0,0,100,0), +(@PATH,10,-563.2764,-4613.221,9.739173,0,0,0,0,100,0), +(@PATH,11,-566.1555,-4615.88,9.739173,0,0,0,0,100,0), +(@PATH,12,-566.157,-4619.973,9.739173,0,0,0,0,100,0), +(@PATH,13,-565.7682,-4621.338,10.5361,0,0,0,0,100,0), +(@PATH,14,-564.9091,-4624.298,12.33652,0,0,0,0,100,0), +(@PATH,15,-564.4247,-4626.619,13.21042,0,0,0,0,100,0), +(@PATH,16,-565.8718,-4628.861,13.21023,0,0,0,0,100,0), +(@PATH,17,-568.9028,-4629.674,13.21105,0,0,0,0,100,0), +(@PATH,18,-571.7204,-4630.63,14.69388,0,0,0,0,100,0), +(@PATH,19,-576.4782,-4631.931,17.15172,0,0,0,0,100,0), +(@PATH,20,-581.1254,-4634.227,19.03236,0,0,0,0,100,0), +(@PATH,21,-585.7308,-4639.775,21.21893,0,0,0,0,100,0), +(@PATH,22,-585.2182,-4645.189,22.94262,0,0,0,0,100,0), +(@PATH,23,-582.2473,-4647.843,24.75424,0,0,0,0,100,0), +(@PATH,24,-576.8602,-4648.417,26.25482,0,0,0,0,100,0), +(@PATH,25,-572.6866,-4646.474,28.46729,0,0,0,0,100,0), +(@PATH,26,-569.6187,-4644.834,30.25781,0,0,0,0,100,0), +(@PATH,27,-565.1738,-4641.978,30.34623,0,0,0,0,100,0), +(@PATH,28,-561.8621,-4639.479,30.34518,0,0,0,0,100,0), +(@PATH,29,-559.1216,-4640.588,30.34381,0,0,0,0,100,0), +(@PATH,30,-561.8621,-4639.479,30.34518,0,0,0,0,100,0), +(@PATH,31,-568.164,-4644.291,30.34578,0,0,0,0,100,0), +(@PATH,32,-572.6866,-4646.474,28.46729,0,0,0,0,100,0), +(@PATH,33,-576.8602,-4648.417,26.25482,0,0,0,0,100,0), +(@PATH,34,-582.2473,-4647.843,24.75424,0,0,0,0,100,0), +(@PATH,35,-585.2182,-4645.189,22.94262,0,0,0,0,100,0), +(@PATH,36,-585.7538,-4639.803,21.22803,0,0,0,0,100,0), +(@PATH,37,-581.134,-4634.237,19.03649,0,0,0,0,100,0), +(@PATH,38,-576.6482,-4631.978,17.23644,0,0,0,0,100,0), +(@PATH,39,-572.6212,-4631.001,15.44738,0,0,0,0,100,0), +(@PATH,40,-568.9028,-4629.674,13.21105,0,0,0,0,100,0), +(@PATH,41,-565.8718,-4628.861,13.21023,0,0,0,0,100,0), +(@PATH,42,-564.4247,-4626.619,13.21042,0,0,0,0,100,0), +(@PATH,43,-564.7512,-4625.108,12.77208,0,0,0,0,100,0), +(@PATH,44,-565.6238,-4622.17,11.06051,0,0,0,0,100,0), +(@PATH,45,-566.157,-4619.973,9.739173,0,0,0,0,100,0), +(@PATH,46,-566.1555,-4615.88,9.739173,0,0,0,0,100,0), +(@PATH,47,-563.2764,-4613.221,9.739173,0,0,0,0,100,0), +(@PATH,48,-559.4357,-4608.517,9.739173,0,0,0,0,100,0), +(@PATH,49,-555.7503,-4601.974,9.614173,0,0,0,0,100,0), +(@PATH,50,-555.0905,-4596.873,9.605314,0,0,0,0,100,0), +(@PATH,51,-552.841,-4589.281,9.605314,0,0,0,0,100,0), +(@PATH,52,-554.7994,-4581.686,9.740568,0,0,0,0,100,0), +(@PATH,53,-559.9419,-4573.958,9.605314,0,0,0,0,100,0), +(@PATH,54,-564.2906,-4571.396,9.480314,0,0,0,0,100,0), +(@PATH,55,-570.6282,-4570.051,9.286489,0,0,0,0,100,0), +(@PATH,56,-576.5599,-4568.717,9.161489,0,0,0,0,100,0), +(@PATH,57,-583.7281,-4567.89,9.120717,0,0,0,0,100,0), +(@PATH,58,-589.5422,-4571.942,9.482045,0,0,0,0,100,0), +(@PATH,59,-595.0231,-4573.951,9.786489,0,0,0,0,100,0), +(@PATH,60,-589.5422,-4571.942,9.482045,0,0,0,0,100,0), +(@PATH,61,-583.7281,-4567.89,9.120717,0,0,0,0,100,0); + +-- Pathing for Revantusk Watcher Entry: 14730 +SET @NPC := 92903; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-587.9592,`position_y`=-4565.161,`position_z`=9.161489 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,257,0, '18950'); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-589.1211,-4560.011,9.161489,0,0,0,0,100,0), +(@PATH,2,-586.8055,-4558.024,9.161489,0,0,0,0,100,0), +(@PATH,3,-582.1091,-4557.421,9.418232,0,0,0,0,100,0), +(@PATH,4,-563.0848,-4567.083,9.617765,0,0,0,0,100,0), +(@PATH,5,-564.0873,-4565.243,9.636915,0,0,0,0,100,0), +(@PATH,6,-554.4955,-4549.669,10.38081,0,0,0,0,100,0), +(@PATH,7,-551.9146,-4546.659,10.20161,0,0,0,0,100,0), +(@PATH,8,-530.5864,-4534.892,10.88507,0,0,0,0,100,0), +(@PATH,9,-528.0935,-4540.74,10.68414,0,0,0,0,100,0), +(@PATH,10,-548.4247,-4552.033,10.33687,0,0,0,0,100,0), +(@PATH,11,-559.3554,-4571.553,9.605396,0,0,0,0,100,0), +(@PATH,12,-558.353,-4572.357,9.734953,0,0,0,0,100,0), +(@PATH,13,-552.0048,-4585.105,9.830168,0,0,0,0,100,0), +(@PATH,14,-551.9355,-4589.406,9.685699,0,0,0,0,100,0), +(@PATH,15,-559.1077,-4612.717,9.864173,0,0,0,0,100,0), +(@PATH,16,-563.384,-4614.937,9.739216,0,0,0,0,100,0), +(@PATH,17,-587.5415,-4618.487,9.456761,0,0,0,0,100,0), +(@PATH,18,-596.1833,-4629.224,9.796849,0,0,0,0,100,0), +(@PATH,19,-601.0118,-4628.754,9.411202,0,0,0,0,100,0), +(@PATH,20,-592.4224,-4616.147,9.359911,0,0,0,0,100,0), +(@PATH,21,-588.6967,-4613.219,9.55808,0,0,0,0,100,0), +(@PATH,22,-567.4048,-4614.91,9.729955,0,0,0,0,100,0), +(@PATH,23,-566.9582,-4615.76,9.628169,0,0,0,0,100,0), +(@PATH,24,-557.4971,-4586.748,9.730397,0,0,0,0,100,0), +(@PATH,25,-565.1426,-4573.827,9.526945,0,0,0,0,100,0), +(@PATH,26,-587.9592,-4565.161,9.161489,0,0,0,0,100,0); + +-- Pathing for Revantusk Watcher Entry: 14730 +SET @NPC := 92904; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-563.7853,`position_y`=-4572.203,`position_z`=9.480314 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,257,0, '18950'); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-589.0695,-4562.6,9.161489,0,0,0,0,100,0), +(@PATH,2,-584.3304,-4558.535,9.161489,0,0,0,0,100,0), +(@PATH,3,-563.9773,-4568.874,9.527922,0,0,0,0,100,0), +(@PATH,4,-551.5903,-4548.764,10.15376,0,0,0,0,100,0), +(@PATH,5,-529.4497,-4536.548,11.02155,0,0,0,0,100,0), +(@PATH,6,-549.9079,-4550.587,9.985304,0,0,0,0,100,0), +(@PATH,7,-561.3011,-4570.924,9.605314,0,0,0,0,100,0), +(@PATH,8,-553.2903,-4587.01,9.647795,0,0,0,0,100,0), +(@PATH,9,-561.1612,-4612.59,9.864173,0,0,0,0,100,0), +(@PATH,10,-588.2601,-4616.572,9.456761,0,0,0,0,100,0), +(@PATH,11,-599.4961,-4630.079,9.579808,0,0,0,0,100,0), +(@PATH,12,-589.3387,-4615.174,9.456761,0,0,0,0,100,0), +(@PATH,13,-565.2857,-4617.084,9.739173,0,0,0,0,100,0), +(@PATH,14,-555.2867,-4586.42,9.730314,0,0,0,0,100,0), +(@PATH,15,-563.7853,-4572.203,9.480314,0,0,0,0,100,0); + +DELETE FROM `creature_formations` WHERE `leaderGUID`=92903; +INSERT INTO `creature_formations` (`leaderGUID`,`memberGUID`,`dist`,`angle`,`groupAI`) VALUES +(92903,92903,0,0,2), +(92903,92904,2,300,2); + +-- Pathing for Vilebranch Headhunter Entry: 2641 +SET @NPC := 93747; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-334.7697,`position_y`=-4118.176,`position_z`=152.1513 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-333.2237,-4134.225,152.0622,0,0,0,0,100,0), +(@PATH,2,-339.8373,-4147.746,152.1256,0,0,0,0,100,0), +(@PATH,3,-346.6712,-4160.327,152.1256,0,0,0,0,100,0), +(@PATH,4,-345.9421,-4177.107,152.2871,0,0,0,0,100,0), +(@PATH,5,-346.2449,-4195.276,152.2244,0,0,0,0,100,0), +(@PATH,6,-345.7937,-4206.436,152.1899,0,0,0,0,100,0), +(@PATH,7,-341.1774,-4208.535,152.0649,0,0,0,0,100,0), +(@PATH,8,-337.7476,-4206.129,152.1899,0,1000,0,0,100,0), +(@PATH,9,-341.1774,-4208.535,152.0649,0,0,0,0,100,0), +(@PATH,10,-345.7937,-4206.436,152.1899,0,0,0,0,100,0), +(@PATH,11,-346.2449,-4195.276,152.2244,0,0,0,0,100,0), +(@PATH,12,-345.9421,-4177.107,152.2871,0,0,0,0,100,0), +(@PATH,13,-346.6712,-4160.327,152.1256,0,0,0,0,100,0), +(@PATH,14,-339.8373,-4147.746,152.1256,0,0,0,0,100,0), +(@PATH,15,-333.2237,-4134.225,152.0622,0,0,0,0,100,0), +(@PATH,16,-334.7697,-4118.176,152.1513,0,0,0,0,100,0), +(@PATH,17,-345.4443,-4114.745,151.9538,0,0,0,0,100,0), +(@PATH,18,-358.0292,-4116.998,154.2687,0,0,0,0,100,0), +(@PATH,19,-345.4443,-4114.745,151.9538,0,0,0,0,100,0), +(@PATH,20,-334.7697,-4118.176,152.1513,0,0,0,0,100,0); + +-- Pathing for Vilebranch Headhunter Entry: 2641 +SET @NPC := 93634; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-304.2423,`position_y`=-4087.691,`position_z`=152.2971 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-295.6881,-4087.868,152.4837,0,0,0,0,100,0), +(@PATH,2,-284.571,-4085.302,152.14,0,0,0,0,100,0), +(@PATH,3,-272.7595,-4092.214,152.5167,0,0,0,0,100,0), +(@PATH,4,-284.571,-4085.302,152.14,0,0,0,0,100,0), +(@PATH,5,-295.6881,-4087.868,152.4837,0,0,0,0,100,0), +(@PATH,6,-304.2423,-4087.691,152.2971,0,0,0,0,100,0), +(@PATH,7,-314.2382,-4088.344,152.2971,0,0,0,0,100,0), +(@PATH,8,-322.7508,-4087.331,152.5894,0,0,0,0,100,0), +(@PATH,9,-331.1907,-4082.108,152.5066,0,0,0,0,100,0), +(@PATH,10,-338.1729,-4086.666,153.3141,0,0,0,0,100,0), +(@PATH,11,-342.3202,-4093.814,152.2581,0,0,0,0,100,0), +(@PATH,12,-338.1729,-4086.666,153.3141,0,0,0,0,100,0), +(@PATH,13,-331.1907,-4082.108,152.5066,0,0,0,0,100,0), +(@PATH,14,-322.7508,-4087.331,152.5894,0,0,0,0,100,0), +(@PATH,15,-314.2382,-4088.344,152.2971,0,0,0,0,100,0), +(@PATH,16,-304.2423,-4087.691,152.2971,0,0,0,0,100,0); + +-- Pathing for Vilebranch Headhunter Entry: 2641 +SET @NPC := 93755; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-334.7697,`position_y`=-4118.176,`position_z`=152.1513 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-345.4443,-4114.745,151.9538,0,0,0,0,100,0), +(@PATH,2,-334.7697,-4118.176,152.1513,0,0,0,0,100,0), +(@PATH,3,-333.2237,-4134.225,152.0622,0,0,0,0,100,0), +(@PATH,4,-339.8373,-4147.746,152.1256,0,0,0,0,100,0), +(@PATH,5,-345.9421,-4177.107,152.2871,0,0,0,0,100,0), +(@PATH,6,-346.2449,-4195.276,152.2244,0,0,0,0,100,0), +(@PATH,7,-345.7937,-4206.436,152.1899,0,0,0,0,100,0), +(@PATH,8,-341.1774,-4208.535,152.0649,0,0,0,0,100,0), +(@PATH,9,-337.7476,-4206.129,152.1899,0,3000,0,0,100,0), +(@PATH,10,-341.1774,-4208.535,152.0649,0,0,0,0,100,0), +(@PATH,11,-345.7937,-4206.436,152.1899,0,0,0,0,100,0), +(@PATH,12,-346.2449,-4195.276,152.2244,0,7000,0,0,100,0), +(@PATH,13,-345.9421,-4177.107,152.2871,0,0,0,0,100,0), +(@PATH,14,-339.8373,-4147.746,152.1256,0,0,0,0,100,0), +(@PATH,15,-333.2237,-4134.225,152.0622,0,0,0,0,100,0), +(@PATH,16,-334.7697,-4118.176,152.1513,0,0,0,0,100,0); + +-- Pathing for Green Sludge Entry: 2655 +SET @NPC := 92995; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=367.4861,`position_y`=-3892.534,`position_z`=103.3926 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,362.0923,-3869.861,106.0149,0,0,0,0,100,0), +(@PATH,2,359.729,-3842.23,107.0658,0,0,0,0,100,0), +(@PATH,3,362.0923,-3869.861,106.0149,0,0,0,0,100,0), +(@PATH,4,367.4861,-3892.534,103.3926,0,0,0,0,100,0), +(@PATH,5,388.8041,-3900.64,99.87824,0,0,0,0,100,0), +(@PATH,6,399.8027,-3882.644,97.61748,0,0,0,0,100,0), +(@PATH,7,390.798,-3860.872,95.97817,0,0,0,0,100,0), +(@PATH,8,379.3473,-3843.385,96.72575,0,0,0,0,100,0), +(@PATH,9,389.2842,-3825.799,98.92686,0,0,0,0,100,0), +(@PATH,10,399.2549,-3789.222,102.3659,0,0,0,0,100,0), +(@PATH,11,389.2842,-3825.799,98.92686,0,0,0,0,100,0), +(@PATH,12,379.3473,-3843.385,96.72575,0,0,0,0,100,0), +(@PATH,13,390.7259,-3860.698,95.98909,0,0,0,0,100,0), +(@PATH,14,399.8027,-3882.644,97.61748,0,0,0,0,100,0), +(@PATH,15,388.8041,-3900.64,99.87824,0,0,0,0,100,0), +(@PATH,16,367.4861,-3892.534,103.3926,0,0,0,0,100,0); + +-- Pathing for Jade Ooze Entry: 2656 +SET @NPC := 93068; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=386.5382,`position_y`=-3767.701,`position_z`=103.1262 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,382.7473,-3754.237,102.4903,0,0,0,0,100,0), +(@PATH,2,376.4646,-3738.252,105.2092,0,0,0,0,100,0), +(@PATH,3,365.8063,-3725.304,105.9001,0,0,0,0,100,0), +(@PATH,4,348.4052,-3720.816,105.9374,0,0,0,0,100,0), +(@PATH,5,319.9912,-3724.497,106.8615,0,0,0,0,100,0), +(@PATH,6,312.3986,-3744.087,106.7072,0,0,0,0,100,0), +(@PATH,7,318.8742,-3761.253,106.802,0,0,0,0,100,0), +(@PATH,8,343.6207,-3757.014,106.9888,0,0,0,0,100,0), +(@PATH,9,318.8742,-3761.253,106.802,0,0,0,0,100,0), +(@PATH,10,312.3907,-3744.138,106.7072,0,0,0,0,100,0), +(@PATH,11,319.9912,-3724.497,106.8615,0,0,0,0,100,0), +(@PATH,12,348.4052,-3720.816,105.9374,0,0,0,0,100,0), +(@PATH,13,365.8063,-3725.304,105.9001,0,0,0,0,100,0), +(@PATH,14,376.4646,-3738.252,105.2092,0,0,0,0,100,0), +(@PATH,15,382.7473,-3754.237,102.4903,0,0,0,0,100,0), +(@PATH,16,386.5382,-3767.701,103.1262,0,0,0,0,100,0), +(@PATH,17,398.7607,-3775.05,102.3659,0,0,0,0,100,0), +(@PATH,18,403.8524,-3788.918,102.2382,0,0,0,0,100,0), +(@PATH,19,398.7607,-3775.05,102.3659,0,0,0,0,100,0), +(@PATH,20,386.5382,-3767.701,103.1262,0,0,0,0,100,0); + +-- Pathing for Green Sludge Entry: 2655 +SET @NPC := 93068; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=353.2792,`position_y`=-3775.147,`position_z`=126.7992 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,337.8778,-3781.475,127.0284,0,0,0,0,100,0), +(@PATH,2,348.2281,-3797.657,127.2243,0,0,0,0,100,0), +(@PATH,3,337.8778,-3781.475,127.0284,0,0,0,0,100,0), +(@PATH,4,353.2792,-3775.147,126.7992,0,0,0,0,100,0), +(@PATH,5,360.8041,-3764.615,126.8099,0,0,0,0,100,0), +(@PATH,6,384.1081,-3758.339,126.8203,0,0,0,0,100,0), +(@PATH,7,398.6287,-3760.762,126.0662,0,0,0,0,100,0), +(@PATH,8,421.6737,-3776.188,122.9383,0,0,0,0,100,0), +(@PATH,9,439.5612,-3795.414,120.8122,0,0,0,0,100,0), +(@PATH,10,416.8036,-3816.887,120.3546,0,0,0,0,100,0), +(@PATH,11,400.8517,-3822.608,118.5542,0,0,0,0,100,0), +(@PATH,12,381.2686,-3822.9,114.8412,0,0,0,0,100,0), +(@PATH,13,372.0157,-3806.465,111.9946,0,0,0,0,100,0), +(@PATH,14,363.0406,-3792.427,111.5014,0,0,0,0,100,0), +(@PATH,15,374.681,-3774.967,106.5569,0,0,0,0,100,0), +(@PATH,16,363.0406,-3792.427,111.5014,0,0,0,0,100,0), +(@PATH,17,372.0157,-3806.465,111.9946,0,0,0,0,100,0), +(@PATH,18,381.2686,-3822.9,114.8412,0,0,0,0,100,0), +(@PATH,19,400.8517,-3822.608,118.5542,0,0,0,0,100,0), +(@PATH,20,416.8036,-3816.887,120.3546,0,0,0,0,100,0), +(@PATH,21,439.5612,-3795.414,120.8122,0,0,0,0,100,0), +(@PATH,22,421.6737,-3776.188,122.9383,0,0,0,0,100,0), +(@PATH,23,398.6287,-3760.762,126.0662,0,0,0,0,100,0), +(@PATH,24,384.1081,-3758.339,126.8203,0,0,0,0,100,0), +(@PATH,25,360.8041,-3764.615,126.8099,0,0,0,0,100,0), +(@PATH,26,353.2792,-3775.147,126.7992,0,0,0,0,100,0); + +-- Pathing for Vilebranch Warrior Entry: 4465 +SET @NPC := 93742; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-300.8814,`position_y`=-4190.363,`position_z`=136.5622 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-299.2402,-4199.432,136.8216,0,0,0,0,100,0), +(@PATH,2,-294.703,-4206.721,136.5972,0,0,0,0,100,0), +(@PATH,3,-284.916,-4203.682,136.7266,0,0,0,0,100,0), +(@PATH,4,-281.4611,-4198.692,136.5716,0,0,0,0,100,0), +(@PATH,5,-278.4128,-4187.48,136.5716,0,0,0,0,100,0), +(@PATH,6,-279.7527,-4179.343,136.4959,0,0,0,0,100,0), +(@PATH,7,-282.9599,-4172.346,136.5655,0,0,0,0,100,0), +(@PATH,8,-291.1088,-4159.861,136.5396,0,0,0,0,100,0), +(@PATH,9,-296.5112,-4150.362,136.5396,0,0,0,0,100,0), +(@PATH,10,-297.4698,-4136.667,136.5396,0,0,0,0,100,0), +(@PATH,11,-296.116,-4127.808,136.4748,0,0,0,0,100,0), +(@PATH,12,-287.9145,-4123.469,136.6125,0,0,0,0,100,0), +(@PATH,13,-276.8211,-4123.947,137.0688,0,0,0,0,100,0), +(@PATH,14,-268.0964,-4124.016,135.5265,0,0,0,0,100,0), +(@PATH,15,-259.8373,-4124.032,128.8418,0,0,0,0,100,0), +(@PATH,16,-253.119,-4123.896,124.6126,0,0,0,0,100,0), +(@PATH,17,-245.0412,-4124.756,119.3458,0,0,0,0,100,0), +(@PATH,18,-231.2207,-4124.845,117.8142,0,0,0,0,100,0), +(@PATH,19,-213.4383,-4132.925,118.0337,0,0,0,0,100,0), +(@PATH,20,-231.2207,-4124.845,117.8142,0,0,0,0,100,0), +(@PATH,21,-245.0412,-4124.756,119.3458,0,0,0,0,100,0), +(@PATH,22,-253.119,-4123.896,124.6126,0,0,0,0,100,0), +(@PATH,23,-259.8373,-4124.032,128.8418,0,0,0,0,100,0), +(@PATH,24,-268.0964,-4124.016,135.5265,0,0,0,0,100,0), +(@PATH,25,-276.8211,-4123.947,137.0688,0,0,0,0,100,0), +(@PATH,26,-287.9145,-4123.469,136.6125,0,0,0,0,100,0), +(@PATH,27,-296.116,-4127.808,136.4748,0,0,0,0,100,0), +(@PATH,28,-297.4698,-4136.667,136.5396,0,0,0,0,100,0), +(@PATH,29,-296.5112,-4150.362,136.5396,0,0,0,0,100,0), +(@PATH,30,-291.1088,-4159.861,136.5396,0,0,0,0,100,0), +(@PATH,31,-282.9599,-4172.346,136.5655,0,0,0,0,100,0), +(@PATH,32,-279.7527,-4179.343,136.4959,0,0,0,0,100,0), +(@PATH,33,-278.4128,-4187.48,136.5716,0,0,0,0,100,0), +(@PATH,34,-281.4611,-4198.692,136.5716,0,0,0,0,100,0), +(@PATH,35,-284.916,-4203.682,136.7266,0,0,0,0,100,0), +(@PATH,36,-294.703,-4206.721,136.5972,0,0,0,0,100,0), +(@PATH,37,-299.2402,-4199.432,136.8216,0,0,0,0,100,0), +(@PATH,38,-300.8814,-4190.363,136.5622,0,0,0,0,100,0); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=6059 AND `text_id`=7211; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (6059,7211); +DELETE FROM `gossip_menu` WHERE `entry`=6087 AND `text_id`=7241; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (6087,7241); +DELETE FROM `gossip_menu` WHERE `entry`=6088 AND `text_id`=7242; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (6088,7242); +DELETE FROM `gossip_menu` WHERE `entry`=6086 AND `text_id`=7240; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (6086,7240); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=6059 WHERE `entry`=14731; +UPDATE `creature_template` SET `gossip_menu_id`=6087 WHERE `entry`=14740; +UPDATE `creature_template` SET `gossip_menu_id`=6088 WHERE `entry`=14741; +UPDATE `creature_template` SET `gossip_menu_id`=6086 WHERE `entry`=14739; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (6059,6087,6086) AND `id` IN (0); +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (6059,6087) AND `id` IN (1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(6059,0,5, 'Make this inn your home.',8,65536,0,0,0,0, ''), +(6059,1,1, 'Let me browse your goods.',3,128,0,0,0,0, ''), +(6087,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''), +(6087,1,3, 'What can you teach me?',5,16,0,0,0,0, ''), +(6086,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''); + -- cgit v1.2.3 From eab3257d926e5078fc2cceddf9fd0c9221918758 Mon Sep 17 00:00:00 2001 From: malcrom Date: Wed, 4 Jan 2012 23:52:16 +0100 Subject: DB/Creature: add waypoints to King Dred closes #4423 --- .../world/2012_01_04_06_world_waypoint_data.sql | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 sql/updates/world/2012_01_04_06_world_waypoint_data.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_06_world_waypoint_data.sql b/sql/updates/world/2012_01_04_06_world_waypoint_data.sql new file mode 100644 index 00000000000..c4cefc87c63 --- /dev/null +++ b/sql/updates/world/2012_01_04_06_world_waypoint_data.sql @@ -0,0 +1,22 @@ +-- Pathing for King Dred Entry: 27483 "Drak'Tharon Keep" +SET @NPC := 127507; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-544.874,`position_y`=-696.9735,`position_z`=30.29507 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-529.7952,-711.4729,30.37141,0,1000,0,0,100,0), +(@PATH,2,-544.874,-696.9735,30.29507,0,0,0,0,100,0), +(@PATH,3,-550.9299,-694.043,30.49649,0,0,0,0,100,0), +(@PATH,4,-554.3631,-689.458,30.83389,0,0,0,0,100,0), +(@PATH,5,-554.6004,-681.4241,30.67007,0,0,0,0,100,0), +(@PATH,6,-550.1124,-674.5519,30.67007,0,0,0,0,100,0), +(@PATH,7,-540.9714,-671.0374,30.29507,0,0,0,0,100,0), +(@PATH,8,-535.8426,-664.3137,30.29507,0,1000,0,0,100,0), +(@PATH,9,-540.9714,-671.0374,30.29507,0,0,0,0,100,0), +(@PATH,10,-550.1124,-674.5519,30.67007,0,0,0,0,100,0), +(@PATH,11,-554.6004,-681.4241,30.67007,0,0,0,0,100,0), +(@PATH,12,-554.3631,-689.458,30.83389,0,0,0,0,100,0), +(@PATH,13,-550.9299,-694.043,30.49649,0,0,0,0,100,0), +(@PATH,14,-544.874,-696.9735,30.29507,0,0,0,0,100,0); -- cgit v1.2.3 From 98f3e05ffeea213697991a5bf4f1a17ac3d10e63 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:04:07 +0100 Subject: DB/Gossips: Some Storm Peaks Gossip updates closes #4519 --- sql/updates/world/2012_01_04_07_world_gossip_menu.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 sql/updates/world/2012_01_04_07_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_07_world_gossip_menu.sql b/sql/updates/world/2012_01_04_07_world_gossip_menu.sql new file mode 100644 index 00000000000..9e9bba43b1a --- /dev/null +++ b/sql/updates/world/2012_01_04_07_world_gossip_menu.sql @@ -0,0 +1,17 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9918 AND `text_id`=13792; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9918,13792); +DELETE FROM `gossip_menu` WHERE `entry`=9859 AND `text_id`=13650; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9859,13650); +DELETE FROM `gossip_menu` WHERE `entry`=9857 AND `text_id`=13651; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9857,13651); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=10316 WHERE `entry`=33224; +UPDATE `creature_template` SET `gossip_menu_id`=9918 WHERE `entry`=29430; +UPDATE `creature_template` SET `gossip_menu_id`=9859 WHERE `entry`=29434; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10316,9857,9917) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(10316,0,0, 'Glad to help, my lady. I''m told you were once the guardian of a fabled sword. Do you know where I might find it?',1,1,10315,0,0,0, ''), +(9857,0,0, 'I''m ready - lets get you out of here.',1,1,0,0,0,0, ''), +(9917,0,0, 'I am ready to head further into Storm Peaks.',1,1,0,0,0,0, ''); -- cgit v1.2.3 From 5681d57f70fecca191ce79df057c292c07b4d3d2 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:07:24 +0100 Subject: DB/Gossip: more missing gossips closes #4595 --- .../world/2012_01_04_08_world_gossip_menu.sql | 164 +++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 sql/updates/world/2012_01_04_08_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_08_world_gossip_menu.sql b/sql/updates/world/2012_01_04_08_world_gossip_menu.sql new file mode 100644 index 00000000000..826ca19e99f --- /dev/null +++ b/sql/updates/world/2012_01_04_08_world_gossip_menu.sql @@ -0,0 +1,164 @@ +-- Some Gossip updates +UPDATE `creature_template` SET `npcflag`=`npcflag`&~1 WHERE `entry` IN (239,353,658,1215,1233,2079); +UPDATE `creature_template` SET `gossip_menu_id`=5241 WHERE `entry` IN (22658,32099); +UPDATE `creature_template` SET `gossip_menu_id`=5124 WHERE `entry` IN (22571,32080); +UPDATE `creature_template` SET `gossip_menu_id`=5442 WHERE `entry` IN (22628); +UPDATE `creature_template` SET `gossip_menu_id`=6500 WHERE `entry` IN (22656); +UPDATE `creature_template` SET `gossip_menu_id`=7499 WHERE `entry` IN (20548); +UPDATE `creature_template` SET `gossip_menu_id`=9695 WHERE `entry` IN (31210); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=1632 AND `text_id`=2289; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (1632,2289); +DELETE FROM `gossip_menu` WHERE `entry`=4322 AND `text_id`=5494; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4322,5494); +DELETE FROM `gossip_menu` WHERE `entry`=2801 AND `text_id`=3494; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (2801,3494); +DELETE FROM `gossip_menu` WHERE `entry`=2831 AND `text_id`=3523; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (2831,3523); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=1632 WHERE `entry`=1340; +UPDATE `creature_template` SET `gossip_menu_id`=4322 WHERE `entry`=2057; +UPDATE `creature_template` SET `gossip_menu_id`=2801 WHERE `entry`=1154; +UPDATE `creature_template` SET `gossip_menu_id`=2831 WHERE `entry`=1156; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (2831) AND `id` IN (0,1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(2831,0,5, 'Make this inn your home.',8,65536,0,0,0,0, ''), +(2831,1,1, 'Let me browse your goods.',3,128,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9838 AND `text_id`=13349; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9838,13349); +DELETE FROM `gossip_menu` WHERE `entry`=10854 AND `text_id`=15066; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10854,15066); +DELETE FROM `gossip_menu` WHERE `entry`=10147 AND `text_id`=14091; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10147,14091); +DELETE FROM `gossip_menu` WHERE `entry`=9873 AND `text_id`=13690; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9873,13690); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9838 WHERE `entry`=28774; +UPDATE `creature_template` SET `gossip_menu_id`=9832 WHERE `entry`=28776; +UPDATE `creature_template` SET `gossip_menu_id`=10854 WHERE `entry`=36856; +UPDATE `creature_template` SET `gossip_menu_id`=10180 WHERE `entry`=29478; +UPDATE `creature_template` SET `gossip_menu_id`=10147 WHERE `entry`=31136; +UPDATE `creature_template` SET `gossip_menu_id`=9873 WHERE `entry`=28701; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9838,9873) AND `id` IN (0); +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9838,9873,10180) AND `id` IN (1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(9838,0,8, 'I want to create a guild crest.',11,524288,0,0,0,0, ''), +(9838,1,7, 'How do I form a guild?',10,262144,0,0,0,0, ''), +(10180,1,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(9873,0,3, 'Train me.',5,16,0,0,0,0, ''), +(9873,1,1, 'May I browse your epic gem recipes?',3,128,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=2061 AND `text_id`=2713; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (2061,2713); +DELETE FROM `gossip_menu` WHERE `entry`=5818 AND `text_id`=6991; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5818,6991); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=2061 WHERE `entry`=9563; +UPDATE `creature_template` SET `gossip_menu_id`=5818 WHERE `entry`=14437; +UPDATE `creature_template` SET `gossip_menu_id`=10188 WHERE `entry`=31051; + +-- Creature Gossip_menu_option Update from sniff +-- You must manually add delete statement +-- DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (5818) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(5818,0,1, 'Gorzeeki, I wish to make a purchase.',3,128,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=8023 AND `text_id`=9899; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8023,9899); +DELETE FROM `gossip_menu` WHERE `entry`=8021 AND `text_id`=9896; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8021,9896); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=8021 WHERE `entry`=19679; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8023,8021,4005) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(8023,0,0, '',1,1,8023,0,0,0, ''), +(8021,0,1, 'Show me what you have for sale, "Slim."',3,128,0,0,0,0, ''), +(4005,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=4143 AND `text_id`=5136; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4143,5136); +DELETE FROM `gossip_menu` WHERE `entry`=6229 AND `text_id`=7403; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (6229,7403); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9781 WHERE `entry`=29143; +UPDATE `creature_template` SET `gossip_menu_id`=4143 WHERE `entry`=2857; +UPDATE `creature_template` SET `gossip_menu_id`=6229 WHERE `entry`=7010; +UPDATE `creature_template` SET `gossip_menu_id`=9107 WHERE `entry`=24930; +UPDATE `creature_template` SET `gossip_menu_id`=9108 WHERE `entry`=25081; +UPDATE `creature_template` SET `gossip_menu_id`=9107 WHERE `entry`=24931; +UPDATE `creature_template` SET `gossip_menu_id`=9106 WHERE `entry`=24926; + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=4667 WHERE `entry`=906; + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=4644 AND `text_id`=5716; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4644,5716); +DELETE FROM `gossip_menu` WHERE `entry`=4045 AND `text_id`=4935; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4045,4935); +DELETE FROM `gossip_menu` WHERE `entry`=3926 AND `text_id`=4786; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (3926,4786); +DELETE FROM `gossip_menu` WHERE `entry`=4006 AND `text_id`=4862; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4006,4862); +DELETE FROM `gossip_menu` WHERE `entry`=4012 AND `text_id`=4998; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4012,4998); +DELETE FROM `gossip_menu` WHERE `entry`=4185 AND `text_id`=5287; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4185,5287); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=4045 WHERE `entry`=2980; +UPDATE `creature_template` SET `gossip_menu_id`=5856 WHERE `entry`=5939; +UPDATE `creature_template` SET `gossip_menu_id`=10181 WHERE `entry`=3079; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (4644,3926,4006) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(4644,0,3, 'I seek further druidic training to have a closer understanding of the Earth Mother''s will.',5,16,0,0,0,0, ''), +(3926,0,3, 'I seek training as a druid.',5,16,0,0,0,0, ''), +(4006,0,1, 'I would like to buy from you.',3,128,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=7369 AND `text_id`=8805; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7369,8805); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=7369 WHERE `entry`=17109; + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=4486 AND `text_id`=538; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4486,538); + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (4486) AND `id` IN (0,1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(4486,0,3, 'I am interested in mage training.',5,16,0,0,0,0, ''), +(4486,1,0, 'I wish to unlearn my talents.',16,16,0,0,0,0, ''); + +-- Gossip conditions +SET @ID := 4486; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=@ID; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@ID,538,0,15,8,0,0,0,'','Show gossip text if player is mage'); +-- Gossip option conditions +SET @ID := 4486; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@ID; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@ID,0,0,15,8,0,0,0,'','Show gossip option if player is mage'), +(15,@ID,1,0,15,8,0,0,0,'','Show gossip option if player is mage'); -- cgit v1.2.3 From c8f711e8199d1b5a3b7b14f1aa068626a76283dd Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:10:28 +0100 Subject: DB/Gossip: Ogri'la missing Gossips closes #4589 --- .../world/2012_01_04_09_world_gossip_menu.sql | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 sql/updates/world/2012_01_04_09_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_09_world_gossip_menu.sql b/sql/updates/world/2012_01_04_09_world_gossip_menu.sql new file mode 100644 index 00000000000..b95eb723d03 --- /dev/null +++ b/sql/updates/world/2012_01_04_09_world_gossip_menu.sql @@ -0,0 +1,56 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=6768 AND `text_id`=6194; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (6768,6194); +DELETE FROM `gossip_menu` WHERE `entry`=8703 AND `text_id`=10948; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8703,10948); +DELETE FROM `gossip_menu` WHERE `entry`=8672 AND `text_id`=10910; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8672,10910); +DELETE FROM `gossip_menu` WHERE `entry`=8673 AND `text_id`=10911; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8673,10911); +DELETE FROM `gossip_menu` WHERE `entry`=8678 AND `text_id`=10916; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8678,10916); +DELETE FROM `gossip_menu` WHERE `entry`=8677 AND `text_id`=10921; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8677,10921); +DELETE FROM `gossip_menu` WHERE `entry`=8677 AND `text_id`=10913; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8677,10913); -- Needs condition of 10 Apexis Shards +DELETE FROM `gossip_menu` WHERE `entry`=8676 AND `text_id`=10914; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8676,10914); +DELETE FROM `gossip_menu` WHERE `entry`=8704 AND `text_id`=10949; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8704,10949); +DELETE FROM `gossip_menu` WHERE `entry`=8681 AND `text_id`=10927; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8681,10927); +DELETE FROM `gossip_menu` WHERE `entry`=8671 AND `text_id`=10951; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8671,10951); +DELETE FROM `gossip_menu` WHERE `entry`=8680 AND `text_id`=10923; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8680,10923); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=6768 WHERE `entry`=13418; +UPDATE `creature_template` SET `gossip_menu_id`=8678 WHERE `entry`=23316; +UPDATE `creature_template` SET `gossip_menu_id`=8681 WHERE `entry`=23233; +UPDATE `creature_template` SET `gossip_menu_id`=8680 WHERE `entry`=23300; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (6768,8703,8672,8673,8677,8676,8704) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(6768,0,1, 'Let me browse your seasonal fare.',3,128,0,0,0,0, ''), +(8703,0,0, 'Insert an Apexis Shard, and begin!',1,1,0,0,0,0, ''), +(8672,0,0, 'Purchase 1 Unstable Flask of the Beast for the cost of 10 Apexis Shards',1,1,8673,0,0,0, ''), -- Needs condition of 10 Apexis Shards +(8673,0,0, 'Use the fel crystalforge to make another purchase.',1,1,8672,0,0,0, ''), +(8677,0,0, 'Purchase 1 Unstable Flask of the Sorcerer for the cost of 10 Apexis Shards',1,1,8676,0,0,0, ''), -- Needs condition of 10 Apexis Shards +(8676,0,0, 'Use the Bash''ir crystalforge to make another purchase.',1,1,8677,0,0,0, ''), +(8704,0,0, 'Insert 35 Apexis Shards, and begin!',1,1,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=8689 AND `text_id`=10931; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8689,10931); +DELETE FROM `gossip_menu` WHERE `entry`=8669 AND `text_id`=10938; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8669,10938); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=8669 WHERE `entry`=23334; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8689) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(8689,0,0, 'Place 35 Apexis Shards near the dragon egg to crack it open.',1,1,0,0,0,0, ''); -- cgit v1.2.3 From be02b0a8730530a26aca86309f2e73659d4fc3f9 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:12:17 +0100 Subject: DB/Gossip: more missing gossips closes #4585 --- .../world/2012_01_04_10_world_gossip_menu.sql | 131 +++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 sql/updates/world/2012_01_04_10_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_10_world_gossip_menu.sql b/sql/updates/world/2012_01_04_10_world_gossip_menu.sql new file mode 100644 index 00000000000..b41f74e8050 --- /dev/null +++ b/sql/updates/world/2012_01_04_10_world_gossip_menu.sql @@ -0,0 +1,131 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=4005 AND `text_id`=4869; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4005,4869); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=4005 WHERE `entry`=4731; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (4005) AND `id` IN (1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(4005,1,1, 'I would like to buy from you.',3,128,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=940 AND `text_id`=1513; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (940,1513); +DELETE FROM `gossip_menu` WHERE `entry`=941 AND `text_id`=1517; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (941,1517); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=940 WHERE `entry`=7607; +UPDATE `creature_template` SET `gossip_menu_id`=941 WHERE `entry`=7604; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (941) AND `id` IN (1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(941,1,0, 'That''s it! I''m tired of helping you out. It''s time we settled things on the battlefield!',1,1,0,0,0,0, ''); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=6944 WHERE `entry`=28621; +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=5710 AND `text_id`=6878; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5710,6878); +DELETE FROM `gossip_menu` WHERE `entry`=5711 AND `text_id`=6879; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5711,6879); +DELETE FROM `gossip_menu` WHERE `entry`=5712 AND `text_id`=6880; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5712,6880); +DELETE FROM `gossip_menu` WHERE `entry`=5713 AND `text_id`=6881; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5713,6881); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=3623 WHERE `entry`=11556; -- 3624 in db. possible different gossip depending on faction? +UPDATE `creature_template` SET `gossip_menu_id`=5710 WHERE `entry`=14354; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (5710,5711,5712,5713) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(5710,0,0, 'Why you little...',1,1,0,0,0,0, ''), +(5711,0,0, 'Mark my words, I will catch you, imp. And when I do!',1,1,0,0,0,0, ''), +(5712,0,0, 'DIE!',1,1,0,0,0,0, ''), +(5713,0,0, 'Prepare to meet your maker.',1,1,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=8310 AND `text_id`=10373; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8310,10373); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=8310 WHERE `entry`=20977; +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=8006 AND `text_id`=9871; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8006,9871); +DELETE FROM `gossip_menu` WHERE `entry`=8007 AND `text_id`=9872; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8007,9872); +DELETE FROM `gossip_menu` WHERE `entry`=8036 AND `text_id`=9922; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8036,9922); +DELETE FROM `gossip_menu` WHERE `entry`=8036 AND `text_id`=10045; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8036,10045); +DELETE FROM `gossip_menu` WHERE `entry`=8082 AND `text_id`=9990; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8082,9990); +DELETE FROM `gossip_menu` WHERE `entry`=8038 AND `text_id`=9925; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8038,9925); +DELETE FROM `gossip_menu` WHERE `entry`=7829 AND `text_id`=9579; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7829,9579); +DELETE FROM `gossip_menu` WHERE `entry`=7831 AND `text_id`=9580; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7831,9580); +DELETE FROM `gossip_menu` WHERE `entry`=7840 AND `text_id`=9597; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7840,9597); +DELETE FROM `gossip_menu` WHERE `entry`=7852 AND `text_id`=9613; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7852,9613); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=8006 WHERE `entry`=19468; +UPDATE `creature_template` SET `gossip_menu_id`=8082 WHERE `entry`=20162; +UPDATE `creature_template` SET `gossip_menu_id`=8038 WHERE `entry`=19840; +UPDATE `creature_template` SET `gossip_menu_id`=7852 WHERE `entry`=18887; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8036,8082,7830,7829,7831,7840,7852) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(8036,0,0, '',1,1,8036,0,0,0, ''), +(8082,0,0, 'I''m as ready as I''ll ever be.',1,1,0,0,0,0, ''), +(7830,0,0, 'Taretha cannot see you, Thrall.',1,1,7829,0,0,0, ''), +(7829,0,0, 'The situation is rather complicated, Thrall. It would be best for you to head into the mountains now, before more of Blackmoore''s men show up. We''ll make sure Taretha is safe.',1,1,7831,0,0,0, ''), +(7831,0,0, 'Tarren Mill.',1,1,0,0,0,0, ''), +(7840,0,0, 'We''re ready, Thrall.',1,1,0,0,0,0, ''), +(7852,0,0, 'We''ll get you out, Taretha. Don''t worry. I doubt the wizard would wander too far away.',1,1,0,0,0,0, ''); + +-- Creature Gossip_menu_option Update from sniff +UPDATE `gossip_menu_option` SET `action_menu_id`=7829 WHERE `menu_id`=7830 AND `id`=0; + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9185 AND `text_id`=12475; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9185,12475); +DELETE FROM `gossip_menu` WHERE `entry`=9248 AND `text_id`=12556; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9248,12556); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9185 WHERE `entry`=25381; +UPDATE `creature_template` SET `gossip_menu_id`=9248 WHERE `entry`=26158; +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=5232 AND `text_id`=6250; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5232,6250); +DELETE FROM `gossip_menu` WHERE `entry`=6813 AND `text_id`=8139; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (6813,8139); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=5232 WHERE `entry`=13445; +UPDATE `creature_template` SET `gossip_menu_id`=6813 WHERE `entry`=15760; + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=6944 WHERE `entry`=6026; +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=10171 AND `text_id`=14115; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10171,14115); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=10171 WHERE `entry`=32301; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10026) AND `id` IN (1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(10026,1,0, 'Take me to the ship.',1,1,0,0,0,0, ''); -- cgit v1.2.3 From b7e135a17f3bafcff78c89d561e72139eb1ed008 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:14:18 +0100 Subject: DB/Gossip: Missing Stormwind Gossips closes #4564 --- .../world/2012_01_04_11_world_gossip_menu.sql | 223 +++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 sql/updates/world/2012_01_04_11_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_11_world_gossip_menu.sql b/sql/updates/world/2012_01_04_11_world_gossip_menu.sql new file mode 100644 index 00000000000..4356f9c7a0a --- /dev/null +++ b/sql/updates/world/2012_01_04_11_world_gossip_menu.sql @@ -0,0 +1,223 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=341 AND `text_id`=820; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (341,820); +DELETE FROM `gossip_menu` WHERE `entry`=1041 AND `text_id`=1123; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (1041,1123); +DELETE FROM `gossip_menu` WHERE `entry`=643 AND `text_id`=1203; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (643,1203); +DELETE FROM `gossip_menu` WHERE `entry`=645 AND `text_id`=1206; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (645,1206); +DELETE FROM `gossip_menu` WHERE `entry`=648 AND `text_id`=1208; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (648,1208); +DELETE FROM `gossip_menu` WHERE `entry`=657 AND `text_id`=1221; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (657,1221); +DELETE FROM `gossip_menu` WHERE `entry`=660 AND `text_id`=1226; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (660,1226); +DELETE FROM `gossip_menu` WHERE `entry`=682 AND `text_id`=1232; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (682,1232); +DELETE FROM `gossip_menu` WHERE `entry`=683 AND `text_id`=1233; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (683,1233); +DELETE FROM `gossip_menu` WHERE `entry`=692 AND `text_id`=1242; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (692,1242); +DELETE FROM `gossip_menu` WHERE `entry`=693 AND `text_id`=1243; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (693,1243); +DELETE FROM `gossip_menu` WHERE `entry`=698 AND `text_id`=1249; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (698,1249); +DELETE FROM `gossip_menu` WHERE `entry`=705 AND `text_id`=1257; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (705,1257); +DELETE FROM `gossip_menu` WHERE `entry`=706 AND `text_id`=1258; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (706,1258); +DELETE FROM `gossip_menu` WHERE `entry`=10392 AND `text_id`=1259; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10392,1259); +DELETE FROM `gossip_menu` WHERE `entry`=708 AND `text_id`=1260; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (708,1260); +DELETE FROM `gossip_menu` WHERE `entry`=2943 AND `text_id`=3657; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (2943,3657); +DELETE FROM `gossip_menu` WHERE `entry`=4469 AND `text_id`=3977; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4469,3977); +DELETE FROM `gossip_menu` WHERE `entry`=4470 AND `text_id`=3977; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4470,3977); +DELETE FROM `gossip_menu` WHERE `entry`=4471 AND `text_id`=3977; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4471,3977); +DELETE FROM `gossip_menu` WHERE `entry`=4466 AND `text_id`=4434; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4466,4434); +DELETE FROM `gossip_menu` WHERE `entry`=4467 AND `text_id`=4434; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4467,4434); +DELETE FROM `gossip_menu` WHERE `entry`=4468 AND `text_id`=4434; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4468,4434); +DELETE FROM `gossip_menu` WHERE `entry`=12537 AND `text_id`=4437; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (12537,4437); +DELETE FROM `gossip_menu` WHERE `entry`=4508 AND `text_id`=4783; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4508,4783); +DELETE FROM `gossip_menu` WHERE `entry`=4502 AND `text_id`=4837; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4502,4837); +DELETE FROM `gossip_menu` WHERE `entry`=5061 AND `text_id`=4837; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5061,4837); +DELETE FROM `gossip_menu` WHERE `entry`=4472 AND `text_id`=5000; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4472,5000); +DELETE FROM `gossip_menu` WHERE `entry`=4473 AND `text_id`=5000; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4473,5000); +DELETE FROM `gossip_menu` WHERE `entry`=4474 AND `text_id`=5000; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4474,5000); +DELETE FROM `gossip_menu` WHERE `entry`=4201 AND `text_id`=5016; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4201,5016); +DELETE FROM `gossip_menu` WHERE `entry`=4112 AND `text_id`=5019; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4112,5019); +DELETE FROM `gossip_menu` WHERE `entry`=4139 AND `text_id`=5124; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4139,5124); +DELETE FROM `gossip_menu` WHERE `entry`=4146 AND `text_id`=5147; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4146,5147); +DELETE FROM `gossip_menu` WHERE `entry`=4161 AND `text_id`=5207; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4161,5207); +DELETE FROM `gossip_menu` WHERE `entry`=4173 AND `text_id`=5260; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4173,5260); +DELETE FROM `gossip_menu` WHERE `entry`=4203 AND `text_id`=5320; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4203,5320); +DELETE FROM `gossip_menu` WHERE `entry`=4262 AND `text_id`=5416; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4262,5416); +DELETE FROM `gossip_menu` WHERE `entry`=4344 AND `text_id`=5519; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4344,5519); +DELETE FROM `gossip_menu` WHERE `entry`=4353 AND `text_id`=5561; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4353,5561); +DELETE FROM `gossip_menu` WHERE `entry`=4482 AND `text_id`=5721; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4482,5721); +DELETE FROM `gossip_menu` WHERE `entry`=4475 AND `text_id`=5721; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4475,5721); +DELETE FROM `gossip_menu` WHERE `entry`=4481 AND `text_id`=5721; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4481,5721); +DELETE FROM `gossip_menu` WHERE `entry`=4504 AND `text_id`=5722; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4504,5722); +DELETE FROM `gossip_menu` WHERE `entry`=4505 AND `text_id`=5722; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4505,5722); +DELETE FROM `gossip_menu` WHERE `entry`=4503 AND `text_id`=5722; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4503,5722); +DELETE FROM `gossip_menu` WHERE `entry`=4941 AND `text_id`=5994; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (4941,5994); +DELETE FROM `gossip_menu` WHERE `entry`=5641 AND `text_id`=6755; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5641,6755); +DELETE FROM `gossip_menu` WHERE `entry`=5849 AND `text_id`=7011; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (5849,7011); +DELETE FROM `gossip_menu` WHERE `entry`=8110 AND `text_id`=10040; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8110,10040); +DELETE FROM `gossip_menu` WHERE `entry`=8631 AND `text_id`=10821; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8631,10821); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=341 WHERE `entry`=3628; +UPDATE `creature_template` SET `gossip_menu_id`=581 WHERE `entry`=5511; +UPDATE `creature_template` SET `gossip_menu_id`=645 WHERE `entry`=5493; +UPDATE `creature_template` SET `gossip_menu_id`=648 WHERE `entry`=1292; +UPDATE `creature_template` SET `gossip_menu_id`=657 WHERE `entry`=2327; +UPDATE `creature_template` SET `gossip_menu_id`=660 WHERE `entry`=5513; +UPDATE `creature_template` SET `gossip_menu_id`=681 WHERE `entry`=1312; +UPDATE `creature_template` SET `gossip_menu_id`=681 WHERE `entry`=1315; +UPDATE `creature_template` SET `gossip_menu_id`=681 WHERE `entry`=1314; +UPDATE `creature_template` SET `gossip_menu_id`=681 WHERE `entry`=1307; +UPDATE `creature_template` SET `gossip_menu_id`=681 WHERE `entry`=1313; +UPDATE `creature_template` SET `gossip_menu_id`=681 WHERE `entry`=1309; +UPDATE `creature_template` SET `gossip_menu_id`=681 WHERE `entry`=1310; +UPDATE `creature_template` SET `gossip_menu_id`=682 WHERE `entry`=1304; +UPDATE `creature_template` SET `gossip_menu_id`=683 WHERE `entry`=5503; +UPDATE `creature_template` SET `gossip_menu_id`=684 WHERE `entry`=1347; +UPDATE `creature_template` SET `gossip_menu_id`=685 WHERE `entry`=5494; +UPDATE `creature_template` SET `gossip_menu_id`=687 WHERE `entry`=1298; +UPDATE `creature_template` SET `gossip_menu_id`=688 WHERE `entry`=1319; +UPDATE `creature_template` SET `gossip_menu_id`=688 WHERE `entry`=1323; +UPDATE `creature_template` SET `gossip_menu_id`=688 WHERE `entry`=1333; +UPDATE `creature_template` SET `gossip_menu_id`=689 WHERE `entry`=1341; +UPDATE `creature_template` SET `gossip_menu_id`=689 WHERE `entry`=1339; +UPDATE `creature_template` SET `gossip_menu_id`=690 WHERE `entry`=1324; +UPDATE `creature_template` SET `gossip_menu_id`=691 WHERE `entry`=1350; +UPDATE `creature_template` SET `gossip_menu_id`=691 WHERE `entry`=1349; +UPDATE `creature_template` SET `gossip_menu_id`=692 WHERE `entry`=1351; +UPDATE `creature_template` SET `gossip_menu_id`=693 WHERE `entry`=5510; +UPDATE `creature_template` SET `gossip_menu_id`=693 WHERE `entry`=5512; +UPDATE `creature_template` SET `gossip_menu_id`=693 WHERE `entry`=5509; +UPDATE `creature_template` SET `gossip_menu_id`=693 WHERE `entry`=5514; +UPDATE `creature_template` SET `gossip_menu_id`=698 WHERE `entry`=5519; +UPDATE `creature_template` SET `gossip_menu_id`=701 WHERE `entry`=1305; +UPDATE `creature_template` SET `gossip_menu_id`=703 WHERE `entry`=1303; +UPDATE `creature_template` SET `gossip_menu_id`=703 WHERE `entry`=1302; +UPDATE `creature_template` SET `gossip_menu_id`=705 WHERE `entry`=1326; +UPDATE `creature_template` SET `gossip_menu_id`=706 WHERE `entry`=1325; +UPDATE `creature_template` SET `gossip_menu_id`=708 WHERE `entry`=4974; +UPDATE `creature_template` SET `gossip_menu_id`=1041 WHERE `entry`=7232; +UPDATE `creature_template` SET `gossip_menu_id`=2745 WHERE `entry`=957; +UPDATE `creature_template` SET `gossip_menu_id`=2943 WHERE `entry`=10782; +UPDATE `creature_template` SET `gossip_menu_id`=4112 WHERE `entry`=5500; +UPDATE `creature_template` SET `gossip_menu_id`=4139 WHERE `entry`=11026; +UPDATE `creature_template` SET `gossip_menu_id`=4146 WHERE `entry`=5518; +UPDATE `creature_template` SET `gossip_menu_id`=4161 WHERE `entry`=1317; +UPDATE `creature_template` SET `gossip_menu_id`=4173 WHERE `entry`=11096; +UPDATE `creature_template` SET `gossip_menu_id`=4201 WHERE `entry`=5499; +UPDATE `creature_template` SET `gossip_menu_id`=4203 WHERE `entry`=5564; +UPDATE `creature_template` SET `gossip_menu_id`=4262 WHERE `entry`=1300; +UPDATE `creature_template` SET `gossip_menu_id`=4344 WHERE `entry`=5567; +UPDATE `creature_template` SET `gossip_menu_id`=4353 WHERE `entry`=1346; +UPDATE `creature_template` SET `gossip_menu_id`=4466 WHERE `entry`=376; +UPDATE `creature_template` SET `gossip_menu_id`=4467 WHERE `entry`=5489; +UPDATE `creature_template` SET `gossip_menu_id`=4468 WHERE `entry`=5484; +UPDATE `creature_template` SET `gossip_menu_id`=4469 WHERE `entry`=5491; +UPDATE `creature_template` SET `gossip_menu_id`=4470 WHERE `entry`=5492; +UPDATE `creature_template` SET `gossip_menu_id`=4471 WHERE `entry`=928; +UPDATE `creature_template` SET `gossip_menu_id`=4472 WHERE `entry`=5517; +UPDATE `creature_template` SET `gossip_menu_id`=4473 WHERE `entry`=5516; +UPDATE `creature_template` SET `gossip_menu_id`=4474 WHERE `entry`=5515; +UPDATE `creature_template` SET `gossip_menu_id`=4475 WHERE `entry`=914; +UPDATE `creature_template` SET `gossip_menu_id`=4481 WHERE `entry`=5480; +UPDATE `creature_template` SET `gossip_menu_id`=4482 WHERE `entry`=5479; +UPDATE `creature_template` SET `gossip_menu_id`=4502 WHERE `entry`=918; +UPDATE `creature_template` SET `gossip_menu_id`=4503 WHERE `entry`=461; +UPDATE `creature_template` SET `gossip_menu_id`=4504 WHERE `entry`=5496; +UPDATE `creature_template` SET `gossip_menu_id`=4505 WHERE `entry`=5495; +UPDATE `creature_template` SET `gossip_menu_id`=4508 WHERE `entry`=5504; +UPDATE `creature_template` SET `gossip_menu_id`=4783 WHERE `entry`=2879; +UPDATE `creature_template` SET `gossip_menu_id`=4941 WHERE `entry`=332; +UPDATE `creature_template` SET `gossip_menu_id`=5061 WHERE `entry`=13283; +UPDATE `creature_template` SET `gossip_menu_id`=5641 WHERE `entry`=6122; +UPDATE `creature_template` SET `gossip_menu_id`=5849 WHERE `entry`=14450; +UPDATE `creature_template` SET `gossip_menu_id`=8110 WHERE `entry`=20407; +UPDATE `creature_template` SET `gossip_menu_id`=8631 WHERE `entry`=23050; +UPDATE `creature_template` SET `gossip_menu_id`=9729 WHERE `entry`=28650; +UPDATE `creature_template` SET `gossip_menu_id`=9823 WHERE `entry`=29725; +UPDATE `creature_template` SET `gossip_menu_id`=10392 WHERE `entry`=5193; +UPDATE `creature_template` SET `gossip_menu_id`=10606 WHERE `entry`=34998; +UPDATE `creature_template` SET `gossip_menu_id`=10606 WHERE `entry`=34997; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (341,581,645,648,657,660,682,683,684,687,688,689,690,692,693,698,701,702,703,705,706,4146,4161,4201,4203,4353,9823) AND `id` IN (0); +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9823) AND `id` IN (4); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(341,0,5, 'Make this inn your home.',8,65536,0,0,0,0, ''), +(581,0,3, 'Train me.',5,16,0,0,0,0, ''), +(645,0,3, 'Train me.',5,16,0,0,0,0, ''), +(648,0,3, 'Train me.',5,16,0,0,0,0, ''), +(657,0,3, 'Train me.',5,16,0,0,0,0, ''), +(660,0,3, 'Train me.',5,16,0,0,0,0, ''), +(682,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(683,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(684,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(687,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(688,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(689,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(690,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(692,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(693,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(698,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(701,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(702,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(703,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(705,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(706,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''), +(4146,0,3, 'Train me.',5,16,0,0,0,0, ''), +(4161,0,3, 'Train me.',5,16,0,0,0,0, ''), +(4201,0,3, 'Train me.',5,16,0,0,0,0, ''), +(4203,0,3, 'Train me.',5,16,0,0,0,0, ''), +(4353,0,3, 'Train me.',5,16,0,0,0,0, ''), +(9823,0,0, 'I''ve lost my key to Scholomance.',1,1,0,0,0,0, ''), +(9823,4,0, 'I''ve lost my Shadowforge Key.',1,1,0,0,0,0, ''); + +-- Insert npc_text from sniff +DELETE FROM `npc_text` WHERE `ID` IN (1123); +INSERT INTO `npc_text` (`ID`,`prob0`,`text0_0`,`text0_1`,`lang0`,`em0_0`,`em0_1`,`em0_2`,`em0_3`,`em0_4`,`em0_5`,`prob1`,`text1_0`,`text1_1`,`lang1`,`em1_0`,`em1_1`,`em1_2`,`em1_3`,`em1_4`,`em1_5`,`prob2`,`text2_0`,`text2_1`,`lang2`,`em2_0`,`em2_1`,`em2_2`,`em2_3`,`em2_4`,`em2_5`,`prob3`,`text3_0`,`text3_1`,`lang3`,`em3_0`,`em3_1`,`em3_2`,`em3_3`,`em3_4`,`em3_5`,`prob4`,`text4_0`,`text4_1`,`lang4`,`em4_0`,`em4_1`,`em4_2`,`em4_3`,`em4_4`,`em4_5`,`prob5`,`text5_0`,`text5_1`,`lang5`,`em5_0`,`em5_1`,`em5_2`,`em5_3`,`em5_4`,`em5_5`,`prob6`,`text6_0`,`text6_1`,`lang6`,`em6_0`,`em6_1`,`em6_2`,`em6_3`,`em6_4`,`em6_5`,`prob7`,`text7_0`,`text7_1`,`lang7`,`em7_0`,`em7_1`,`em7_2`,`em7_3`,`em7_4`,`em7_5`,`WDBVerified`) VALUES +(1123,100,'Can''t ye see I''m busy? This had better be good.','',7,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,1); -- cgit v1.2.3 From 74bdd6d965be9c3d2f52fa19dca5b1f66bbf9e98 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:15:46 +0100 Subject: DB/Gossip: Death Knight Zone Gossips --- .../world/2012_01_04_12_world_gosip_menu.sql | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 sql/updates/world/2012_01_04_12_world_gosip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_12_world_gosip_menu.sql b/sql/updates/world/2012_01_04_12_world_gosip_menu.sql new file mode 100644 index 00000000000..a57dc7bcdba --- /dev/null +++ b/sql/updates/world/2012_01_04_12_world_gosip_menu.sql @@ -0,0 +1,30 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=752 AND `text_id`=1302; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (752,1302); +DELETE FROM `gossip_menu` WHERE `entry`=1541 AND `text_id`=2213; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (1541,2213); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=752 WHERE `entry`=7363; +UPDATE `creature_template` SET `gossip_menu_id`=11618 WHERE `entry`=9540; +UPDATE `creature_template` SET `gossip_menu_id`=1541 WHERE `entry`=8816; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (1541) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(1541,0,0, 'I wish to face the Defiler.',1,1,0,0,0,0, ''); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9735 AND `text_id`=13342; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9735,13342); +DELETE FROM `gossip_menu` WHERE `entry`=9754 AND `text_id`=13397; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9754,13397); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9735 WHERE `entry`=28760; +UPDATE `creature_template` SET `gossip_menu_id`=9769 WHERE `entry`=28914; +UPDATE `creature_template` SET `gossip_menu_id`=9762 WHERE `entry`=28912; +UPDATE `creature_template` SET `gossip_menu_id`=9795 WHERE `entry`=29173; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9735,9769,9795) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(9735,0,1, 'Yes, Hargus. I wish to purchase supplies.',3,128,0,0,0,0, ''), +(9769,0,0, 'I missed the gate to Acherus, Orbaz. Could you please open another?',1,1,0,0,0,0, ''), +(9795,0,0, 'I am ready, Highlord. Let the siege of Light''s Hope begin!',1,1,0,0,0,0, ''); -- cgit v1.2.3 From 0dad9029e19b68297f3f9bf4c8530ea8a2431147 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:21:32 +0100 Subject: DB/Gossip: still more missing gossip closes #4597 --- .../world/2012_01_04_13_world_gossip_menu.sql | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 sql/updates/world/2012_01_04_13_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_13_world_gossip_menu.sql b/sql/updates/world/2012_01_04_13_world_gossip_menu.sql new file mode 100644 index 00000000000..5a102db3f08 --- /dev/null +++ b/sql/updates/world/2012_01_04_13_world_gossip_menu.sql @@ -0,0 +1,88 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=8895 AND `text_id`=11667; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8895,11667); +DELETE FROM `gossip_menu` WHERE `entry`=8805 AND `text_id`=11291; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8805,11291); +DELETE FROM `gossip_menu` WHERE `entry`=10116 AND `text_id`=14042; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10116,14042); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=8895 WHERE `entry`=24111; +UPDATE `creature_template` SET `gossip_menu_id`=8805 WHERE `entry`=23733; +UPDATE `creature_template` SET `gossip_menu_id`=10116 WHERE `entry`=26914; +UPDATE `creature_template` SET `gossip_menu_id`=9879 WHERE `entry`=26916; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10116) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(10116,0,3, 'Train me.',5,16,0,0,0,0, ''); +-- Insert npc_text from sniff +DELETE FROM `npc_text` WHERE `ID` IN (11291); +INSERT INTO `npc_text` (`ID`,`prob0`,`text0_0`,`text0_1`,`lang0`,`em0_0`,`em0_1`,`em0_2`,`em0_3`,`em0_4`,`em0_5`,`prob1`,`text1_0`,`text1_1`,`lang1`,`em1_0`,`em1_1`,`em1_2`,`em1_3`,`em1_4`,`em1_5`,`prob2`,`text2_0`,`text2_1`,`lang2`,`em2_0`,`em2_1`,`em2_2`,`em2_3`,`em2_4`,`em2_5`,`prob3`,`text3_0`,`text3_1`,`lang3`,`em3_0`,`em3_1`,`em3_2`,`em3_3`,`em3_4`,`em3_5`,`prob4`,`text4_0`,`text4_1`,`lang4`,`em4_0`,`em4_1`,`em4_2`,`em4_3`,`em4_4`,`em4_5`,`prob5`,`text5_0`,`text5_1`,`lang5`,`em5_0`,`em5_1`,`em5_2`,`em5_3`,`em5_4`,`em5_5`,`prob6`,`text6_0`,`text6_1`,`lang6`,`em6_0`,`em6_1`,`em6_2`,`em6_3`,`em6_4`,`em6_5`,`prob7`,`text7_0`,`text7_1`,`lang7`,`em7_0`,`em7_1`,`em7_2`,`em7_3`,`em7_4`,`em7_5`,`WDBVerified`) VALUES +(11291,1,'When I grow up I want to be a stable man!','',0,0,1,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,0,'','',0,0,0,0,0,0,0,1); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=7434 AND `text_id`=8983; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7434,8983); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=7434 WHERE `entry`=17440; +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=10922 AND `text_id`=15171; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10922,15171); +DELETE FROM `gossip_menu` WHERE `entry`=10950 AND `text_id`=15215; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10950,15215); +DELETE FROM `gossip_menu` WHERE `entry`=10909 AND `text_id`=15157; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10909,15157); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=10922 WHERE `entry`=37592; +UPDATE `creature_template` SET `gossip_menu_id`=10950 WHERE `entry`=37223; +UPDATE `creature_template` SET `gossip_menu_id`=10909 WHERE `entry`=37554; + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10950) AND `id` IN (0,1); +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10909) AND `id` IN (0); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(10950,0,0, 'Can you remove the sword?',1,1,0,0,0,0, ''), +(10950,1,0, 'Dark Lady, I think I hear Arthas coming. Whatever you''re going to do, do it quickly.',1,1,0,0,0,0, ''), +(10909,0,0, 'We''re ready! Let''s go!',1,1,0,0,0,0, ''); +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9024 AND `text_id`=12194; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9024,12194); + +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9024) AND `id` IN (0,1,2,3); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(9024,0,0, '',1,1,0,0,0,0, ''), +(9024,1,0, '',1,1,0,0,0,0, ''), +(9024,2,0, '',1,1,0,0,0,0, ''), +(9024,3,0, '',1,1,0,0,0,0, ''); + +-- Gossip conditions +SET @ID := 9024; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=@ID; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@ID,0,0,9,11485,0,0,0,'','Show gossip option if player has quest Iron Rune Constructs and You: Rocket Jumping'), +(15,@ID,1,0,9,11489,0,0,0,'','Show gossip option if player has quest Iron Rune Constructs and You: Collecting Data'), +(15,@ID,2,0,9,11491,0,0,0,'','Show gossip option if player has quest Iron Rune Constructs and You: The Bluff'), +(15,@ID,3,0,9,11494,0,0,0,'','Show gossip option if player has quest Lightning Infused Relics'); + + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=8560 AND `text_id`=10723; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8560,10723); + +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9562 AND `text_id`=12881; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9562,12881); +DELETE FROM `gossip_menu` WHERE `entry`=9562 AND `text_id`=12882; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9562,12882); + +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9562 WHERE `entry`=27318; + +-- Gossip conditions +SET @ID := 9562; +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=@ID; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(14,@ID,12882,0,8,12311,0,0,0,'','Show gossip text if player completed quest The Noble''s Crypt'); + +UPDATE `creature_template` SET `gossip_menu_id`=0 WHERE `entry`=14354; + -- cgit v1.2.3 From 0d6a84c8f9c9cbf9cdf2768fd54d782a59caf167 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:23:42 +0100 Subject: DB/Gossip: Missing Scholazar Basin gossip closes #4315 --- .../world/2012_01_04_14_world_gossip_menu.sql | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 sql/updates/world/2012_01_04_14_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_14_world_gossip_menu.sql b/sql/updates/world/2012_01_04_14_world_gossip_menu.sql new file mode 100644 index 00000000000..be28d634899 --- /dev/null +++ b/sql/updates/world/2012_01_04_14_world_gossip_menu.sql @@ -0,0 +1,71 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9635 AND `text_id`=13322; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9635,13322); +DELETE FROM `gossip_menu` WHERE `entry`=9724 AND `text_id`=13307; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9724,13307); +DELETE FROM `gossip_menu` WHERE `entry`=9720 AND `text_id`=13303; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9720,13303); +DELETE FROM `gossip_menu` WHERE `entry`=9688 AND `text_id`=13147; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9688,13147); +DELETE FROM `gossip_menu` WHERE `entry`=9738 AND `text_id`=13352; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9738,13352); +DELETE FROM `gossip_menu` WHERE `entry`=9723 AND `text_id`=13306; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9723,13306); +DELETE FROM `gossip_menu` WHERE `entry`=9721 AND `text_id`=13304; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9721,13304); +DELETE FROM `gossip_menu` WHERE `entry`=9722 AND `text_id`=13305; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9722,13305); +DELETE FROM `gossip_menu` WHERE `entry`=9748 AND `text_id`=13366; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9748,13366); +DELETE FROM `gossip_menu` WHERE `entry`=9677 AND `text_id`=13124; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9677,13124); +DELETE FROM `gossip_menu` WHERE `entry`=9679 AND `text_id`=13124; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9679,13124); +DELETE FROM `gossip_menu` WHERE `entry`=9684 AND `text_id`=13124; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9684,13124); +DELETE FROM `gossip_menu` WHERE `entry`=9742 AND `text_id`=13361; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9742,13361); +DELETE FROM `gossip_menu` WHERE `entry`=9678 AND `text_id`=13137; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9678,13137); +DELETE FROM `gossip_menu` WHERE `entry`=9686 AND `text_id`=13138; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9686,13138); +DELETE FROM `gossip_menu` WHERE `entry`=9743 AND `text_id`=13362; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9743,13362); +DELETE FROM `gossip_menu` WHERE `entry`=9746 AND `text_id`=13365; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9746,13365); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9724 WHERE `entry`=28604; +UPDATE `creature_template` SET `gossip_menu_id`=9720 WHERE `entry`=27801; +UPDATE `creature_template` SET `gossip_menu_id`=9688 WHERE `entry`=28376; +UPDATE `creature_template` SET `gossip_menu_id`=9738 WHERE `entry`=28771; +UPDATE `creature_template` SET `gossip_menu_id`=9723 WHERE `entry`=28374; +UPDATE `creature_template` SET `gossip_menu_id`=9748 WHERE `entry`=28216; +UPDATE `creature_template` SET `gossip_menu_id`=9677 WHERE `entry`=28217; +UPDATE `creature_template` SET `gossip_menu_id`=9742 WHERE `entry`=28027; +UPDATE `creature_template` SET `gossip_menu_id`=9678 WHERE `entry`=28315; +UPDATE `creature_template` SET `gossip_menu_id`=9743 WHERE `entry`=28114; +UPDATE `creature_template` SET `gossip_menu_id`=9746 WHERE `entry`=28122; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9804,9750,9713,9720,9721,9722,9674,9677,9684,9678,9686,9728,2384,1624) AND `id` IN (0); +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (10024,9724,2384) AND `id` IN (1); +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9742,2384) AND `id` IN (2); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(10024,1,0, 'I''m ready to fly to Sholazar Basin.',1,1,0,0,0,0, ''), +(9804,0,1, 'Show me what you have for sale.',3,128,0,0,0,0, ''), +(9750,0,3, 'Train me.',5,16,0,0,0,0, ''), +(9724,1,0, 'Have a spare bunch of bananas?',1,1,0,0,0,0, ''), +(9713,0,0, 'I''m ready to start the distillation, uh, Tipsy.',1,1,0,0,0,0, ''), +(9720,0,0, 'I want to stop the Scourge as much as you do. How can I help?',1,1,9721,0,0,0, ''), +(9721,0,0, 'You can trust me. I am no friend of the Lich King''s.',1,1,9722,0,0,0, ''), +(9722,0,0, 'I will not fail.',1,1,0,0,0,0, ''), +(9674,0,0, 'You look safe enough... let''s do this.',1,1,0,0,0,0, ''), +(9677,0,0, '',1,1,0,0,0,0, ''), +(9684,0,0, 'I am ready to travel to your village now.',1,1,0,0,0,0, ''), +(9678,0,0, 'Shaman Vekjik, I have spoken with the big-tongues and they desire peace. I have brought this offering on their behalf.',1,1,9686,0,0,0, ''), +(9686,0,0, 'No no... I had no intentions of betraying your people. I was only defending myself. It was all a misunderstanding.',1,1,0,0,0,0, ''), +(9742,2,0, 'I need to find Jaloot, do you have his favorite crystal?',1,1,0,0,0,0, ''), +(9728,0,0, '',1,1,0,0,0,0, ''), +(2384,0,3, 'I am interested in warlock training.',5,16,0,0,0,0, ''), +(2384,1,0, 'I wish to unlearn my talents.',16,16,0,0,0,0, ''), +(2384,2,0, 'I wish to know about Dual Talent Specialization.',1,1,0,0,0,0, ''), +(1624,0,1, 'I want to browse your goods.',3,128,0,0,0,0, ''); -- cgit v1.2.3 From 52b68711460a98d7ee2d629ce286499cdcf361df Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 00:25:40 +0100 Subject: DB/Gossip: Some Missing Gossip closes #4521 --- .../world/2012_01_04_15_world_gossip_menu.sql | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 sql/updates/world/2012_01_04_15_world_gossip_menu.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_15_world_gossip_menu.sql b/sql/updates/world/2012_01_04_15_world_gossip_menu.sql new file mode 100644 index 00000000000..38d449640f2 --- /dev/null +++ b/sql/updates/world/2012_01_04_15_world_gossip_menu.sql @@ -0,0 +1,26 @@ +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9475 AND `text_id`=12733; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9475,12733); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9475 WHERE `entry`=27060; +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9786 AND `text_id`=13466; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9786,13466); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9574 WHERE `entry`=27659; +-- Creature Gossip_menu_option Update from sniff +DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9574) AND `id` IN (0,1,4); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(9574,0,0, 'What should we do next?',1,1,9786,0,0,0, ''), +(9574,1,0, 'I want to fly on the wings of the Bronze Flight.',1,1,0,0,0,0, ''), +(9574,4,0, 'What abilities do Amber Drakes have?',1,1,0,0,0,0, ''); +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=9690 AND `text_id`=13157; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (9690,13157); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=9690 WHERE `entry`=26664; +-- Gossip Menu insert from sniff +DELETE FROM `gossip_menu` WHERE `entry`=10009 AND `text_id`=13873; +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (10009,13873); +-- Creature Gossip_menu_id Update from sniff +UPDATE `creature_template` SET `gossip_menu_id`=10009 WHERE `entry`=30871; -- cgit v1.2.3 From c7e054712bb0068ddf0286c2b37113318090a2d6 Mon Sep 17 00:00:00 2001 From: zoidmann Date: Thu, 5 Jan 2012 10:50:29 +0100 Subject: DB/Scripts: correct scripttexts for The Art Of Persuasion closes #3423 --- sql/updates/world/2012_01_05_00_world_script_texts.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_05_00_world_script_texts.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_00_world_script_texts.sql b/sql/updates/world/2012_01_05_00_world_script_texts.sql new file mode 100644 index 00000000000..2fcaaf83e49 --- /dev/null +++ b/sql/updates/world/2012_01_05_00_world_script_texts.sql @@ -0,0 +1,2 @@ +UPDATE `script_texts` SET `content_default` = "Noooo! This torture is inhumane! You have what you want... why don't you just kill me?" WHERE `entry`="-1571030"; +UPDATE `script_texts` SET `content_default` = "Pathetic fool! A servant of Malygos would sooner die than aid an enemy..." WHERE `entry`= "-1571024"; -- cgit v1.2.3 From 0d6a66a88f63ad424c0ee761025af5b20173e290 Mon Sep 17 00:00:00 2001 From: svannon Date: Thu, 5 Jan 2012 10:55:50 +0100 Subject: DB/Gameobject: add Saga of the Twins closes #3438 --- sql/updates/world/2012_01_05_01_world_gameobject.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2012_01_05_01_world_gameobject.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_01_world_gameobject.sql b/sql/updates/world/2012_01_05_01_world_gameobject.sql new file mode 100644 index 00000000000..15b2f5dc408 --- /dev/null +++ b/sql/updates/world/2012_01_05_01_world_gameobject.sql @@ -0,0 +1,5 @@ +-- Template updates for gameobject 186831 (Saga of the Twins) +UPDATE `gameobject_template` SET `flags`=`flags`|4 WHERE `entry`=186831; -- Saga of the Twins +DELETE FROM `gameobject` WHERE `id`=186831; +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(216,186831,571,1,1,957.1025,-5308.23,189.3529,2.600535,0,0,0.9636297,0.267241,300,100,1); -- cgit v1.2.3 From 02cf6e156e7bcde5f158bedd7392b8391ef2a8a0 Mon Sep 17 00:00:00 2001 From: durotar Date: Thu, 5 Jan 2012 10:58:18 +0100 Subject: DB/Quest: Need to know now has all objects closes #3443 --- sql/updates/world/2012_01_05_02_world_gameobject_template.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sql/updates/world/2012_01_05_02_world_gameobject_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_02_world_gameobject_template.sql b/sql/updates/world/2012_01_05_02_world_gameobject_template.sql new file mode 100644 index 00000000000..022c82d539d --- /dev/null +++ b/sql/updates/world/2012_01_05_02_world_gameobject_template.sql @@ -0,0 +1,7 @@ +-- Fixing quest 12234 "Need to Know" +UPDATE `gameobject_template` SET `flags`=`flags`|4 WHERE `entry`=188675; -- Scarlet Onslaught Daily Orders: Barracks by sniff +UPDATE `gameobject_template` SET `flags`=`flags`|4 WHERE `entry`=188676; -- Scarlet Onslaught Daily Orders: Abbey by sniff +UPDATE `gameobject_template` SET `flags`=`flags`|4 WHERE `entry`=188677; -- Scarlet Onslaught Daily Orders: Beach by sniff +DELETE FROM `gameobject` WHERE `id`=188677; +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(219,188677,571,1,1,2567.449,-388.7118,3.573463,-2.879789,0,0,-0.9914446,0.1305283,300,100,1); -- cgit v1.2.3 From 79318966496b1264c01cdca0891cfb4611ad967e Mon Sep 17 00:00:00 2001 From: svannon Date: Thu, 5 Jan 2012 11:00:41 +0100 Subject: DB/Quest: The Core's Keeper add modelinfo and addon data closes #3460 --- sql/updates/world/2012_01_05_03_world_creature_model_info.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sql/updates/world/2012_01_05_03_world_creature_model_info.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_03_world_creature_model_info.sql b/sql/updates/world/2012_01_05_03_world_creature_model_info.sql new file mode 100644 index 00000000000..8da923db96b --- /dev/null +++ b/sql/updates/world/2012_01_05_03_world_creature_model_info.sql @@ -0,0 +1,7 @@ +-- Template updates for creature 31798 (Athan) +-- Model data 23823 (creature 31798 (Athan)) +UPDATE `creature_model_info` SET `bounding_radius`=2.06,`combat_reach`=0,`gender`=2 WHERE `modelid`=23823; -- Athan +-- Addon data for creature 31798 (Athan) +DELETE FROM `creature_template_addon` WHERE `entry`=31798; +INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(31798,0,0,1,0, NULL); -- Athan -- cgit v1.2.3 From e670f14e6f0c6812f0f68d2d729c59d16b58fe34 Mon Sep 17 00:00:00 2001 From: svannon Date: Thu, 5 Jan 2012 11:14:02 +0100 Subject: DB/Gameobject: add missing South Point Station Valve closes #3594 --- sql/updates/world/2012_01_05_04_world_gameobject.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2012_01_05_04_world_gameobject.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_04_world_gameobject.sql b/sql/updates/world/2012_01_05_04_world_gameobject.sql new file mode 100644 index 00000000000..4090eb0c123 --- /dev/null +++ b/sql/updates/world/2012_01_05_04_world_gameobject.sql @@ -0,0 +1,4 @@ +-- add South Point Station Valve gameobject +DELETE FROM `gameobject` WHERE `id`=188109; +INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES +(221,188109,571,1,1,3792.77,4808.874,-11.56067,1.483528,0,0,0.6755896,0.7372779,0,0,1); -- cgit v1.2.3 From d8827d8a6ab451abd156e278af743d9f8ee5c814 Mon Sep 17 00:00:00 2001 From: shlomi1515 Date: Thu, 5 Jan 2012 11:16:18 +0100 Subject: DB/Creature: fix position of a Stormforged Raider closes #3644 --- sql/updates/world/2012_01_05_05_world_creature.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_05_05_world_creature.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_05_world_creature.sql b/sql/updates/world/2012_01_05_05_world_creature.sql new file mode 100644 index 00000000000..b902db64ee6 --- /dev/null +++ b/sql/updates/world/2012_01_05_05_world_creature.sql @@ -0,0 +1,2 @@ +-- Update position of a Stormforged Raider that was flying +UPDATE `creature` SET position_X=8471.19, position_Y=-105.686, position_Z=792.018 WHERE guid=114177; -- cgit v1.2.3 From aa51133d28bf1f939f02402885f13dd517b1a76b Mon Sep 17 00:00:00 2001 From: kaelima Date: Thu, 5 Jan 2012 11:23:13 +0100 Subject: DB/Spells: add voices to Corrupted Ashbringer closes #3705 --- sql/updates/world/2012_01_05_06_world_spel_script_names.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_05_06_world_spel_script_names.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_06_world_spel_script_names.sql b/sql/updates/world/2012_01_05_06_world_spel_script_names.sql new file mode 100644 index 00000000000..1a22c2916bb --- /dev/null +++ b/sql/updates/world/2012_01_05_06_world_spel_script_names.sql @@ -0,0 +1,2 @@ +-- add voices for Currupted Ashbringer +UPDATE `spell_script_names` SET `spell_id`=28414 WHERE `ScriptName`= 'spell_item_ashbringer'; -- cgit v1.2.3 From 728c07b888f0c5ade0806f688b65e0a47234c125 Mon Sep 17 00:00:00 2001 From: tREAk Date: Thu, 5 Jan 2012 11:25:07 +0100 Subject: DB/Creatures: Fixes the Vehicle -The Etymidian- required for Quest Reclamation (12546) closes #3713 --- sql/updates/world/2012_01_05_07_world_creature_template.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 sql/updates/world/2012_01_05_07_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_07_world_creature_template.sql b/sql/updates/world/2012_01_05_07_world_creature_template.sql new file mode 100644 index 00000000000..b3f0c8aeec6 --- /dev/null +++ b/sql/updates/world/2012_01_05_07_world_creature_template.sql @@ -0,0 +1,9 @@ +UPDATE `creature_template` SET `npcflag`=`npcflag`|16777216,`unit_flags`=`unit_flags`|16777216,`spell1`=50978,`spell2`=50980,`spell3`=50985,`spell4`=50983,`spell5`=54166,`VehicleId`=111,`Health_mod`=18,`Mana_mod`=12,`questItem1`=0,`AIName`='',`ScriptName`='' WHERE `entry`=28222; + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=28222; +INSERT INTO `npc_spellclick_spells` (`npc_entry`,`spell_id`,`quest_start`,`quest_start_active`,`quest_end`,`cast_flags`,`aura_required`,`aura_forbidden`,`user_type`) VALUES +(28222,52082,12546,1,12546,1,0,0,0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=16 AND `SourceEntry`=28222; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(16,0,28222,0,23,4282,0,0,0,'','Ride vehicle only in Area'); -- cgit v1.2.3 From 031ff47e7c29e923f832e73a97e65c987ff2cb9a Mon Sep 17 00:00:00 2001 From: kandera Date: Thu, 5 Jan 2012 11:44:32 +0100 Subject: DB/Creature: Fix Highlord Nemesis Trainer closes #3942 --- sql/updates/world/2012_01_05_08_world_creature_template.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_05_08_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_08_world_creature_template.sql b/sql/updates/world/2012_01_05_08_world_creature_template.sql new file mode 100644 index 00000000000..e62617c0914 --- /dev/null +++ b/sql/updates/world/2012_01_05_08_world_creature_template.sql @@ -0,0 +1,2 @@ +-- Fix Highlord Nemesis Trainer +UPDATE `creature_template` SET `unit_flags`=131072,`flags_extra`=262144,`ScriptName`= 'npc_training_dummy' WHERE `entry`=32547; -- cgit v1.2.3 From 16458fa07520f9dc11d847d79cc93da0475863f0 Mon Sep 17 00:00:00 2001 From: malcrom Date: Thu, 5 Jan 2012 11:57:14 +0100 Subject: DB/Waypoints: Add pathing for Nethervine Inciter "Botanica" closes #4431 --- .../world/2012_01_05_09_world_waypoint_data.sql | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 sql/updates/world/2012_01_05_09_world_waypoint_data.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_09_world_waypoint_data.sql b/sql/updates/world/2012_01_05_09_world_waypoint_data.sql new file mode 100644 index 00000000000..6299472a263 --- /dev/null +++ b/sql/updates/world/2012_01_05_09_world_waypoint_data.sql @@ -0,0 +1,73 @@ +-- Spawn & Pathing for Nethervine Inciter Entry: 19511 "Not Spawned" +SET @NPC := 40252; +DELETE FROM `creature` WHERE `guid` IN (@NPC); +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`) VALUES +(@NPC,19511,553,1,1,0,0,13.71129,556.805,-18.16187,0.41887,300,0,0,1,0,2); +SET @PATH := @NPC * 10; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,34.53745,554.1877,-18.31396,0,0,0,0,100,0), +(@PATH,2,13.71129,556.805,-18.16187,0,0,0,0,100,0), +(@PATH,3,-11.50565,559.8253,-18.09619,0,0,0,0,100,0), +(@PATH,4,-29.17254,568.2135,-17.99052,0,0,0,0,100,0), +(@PATH,5,-11.50565,559.8253,-18.09619,0,0,0,0,100,0), +(@PATH,6,13.71129,556.805,-18.16187,0,0,0,0,100,0); +-- .go 34.53745 554.1877 -18.31396 + +-- Pathing for Nethervine Inciter Entry: 19511 +SET @NPC := 83086; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-37.1817,`position_y`=524.0293,`position_z`=-10.16431 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-21.58225,517.7063,-6.475254,0,0,0,0,100,0), +(@PATH,2,-9.34382,516.5084,-5.636462,0,0,0,0,100,0), +(@PATH,3,4.990617,518.1604,-7.138422,0,0,0,0,100,0), +(@PATH,4,19.44558,526.3201,-11.25785,0,0,0,0,100,0), +(@PATH,5,23.91135,540.4265,-18.37715,0,0,0,0,100,0), +(@PATH,6,18.10396,548.5428,-18.3295,0,0,0,0,100,0), +(@PATH,7,-1.83314,553.5635,-18.1602,0,0,0,0,100,0), +(@PATH,8,-17.95817,553.2923,-18.19155,0,0,0,0,100,0), +(@PATH,9,-30.42817,550.3372,-18.30474,0,0,0,0,100,0), +(@PATH,10,-43.32164,544.6859,-18.35999,0,0,0,0,100,0), +(@PATH,11,-46.76561,533.5467,-15.89331,0,0,0,0,100,0), +(@PATH,12,-37.1817,524.0293,-10.16431,0,0,0,0,100,0); +-- .go -21.58225 517.7063 -6.475254 + +-- Pathing for Nethervine Inciter Entry: 19511 +SET @NPC := 83072; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-10.81185,`position_y`=498.6948,`position_z`=-5.355443 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-10.5063,509.9379,-5.275531,0,0,0,0,100,0), +(@PATH,2,-10.81185,498.6948,-5.355443,0,0,0,0,100,0), +(@PATH,3,2.500325,493.4179,-5.437914,0,0,0,0,100,0), +(@PATH,4,15.09316,496.8965,-5.464271,0,0,0,0,100,0), +(@PATH,5,2.500325,493.4179,-5.437914,0,0,0,0,100,0), +(@PATH,6,-10.81185,498.6948,-5.355443,0,0,0,0,100,0); +-- .go -10.5063 509.9379 -5.275531 + +-- Pathing for Nethervine Inciter Entry: 19511 +SET @NPC := 83073; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-6.525395,`position_y`=482.9323,`position_z`=-5.492778 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,1.63937,482.4999,-5.53459,0,0,0,0,100,0), +(@PATH,2,-6.525395,482.9323,-5.492778,0,0,0,0,100,0), +(@PATH,3,-13.81937,488.856,-5.425375,0,0,0,0,100,0), +(@PATH,4,-17.63536,496.55,-5.370692,0,0,0,0,100,0), +(@PATH,5,-16.29433,503.0782,-5.324292,0,0,0,0,100,0), +(@PATH,6,-17.63536,496.55,-5.370692,0,0,0,0,100,0), +(@PATH,7,-13.81937,488.856,-5.425375,0,0,0,0,100,0), +(@PATH,8,-6.525395,482.9323,-5.492778,0,0,0,0,100,0); +-- .go 1.63937 482.4999 -5.53459 -- cgit v1.2.3 From ac265d7ea27760fa4440ded6cfc4383fbd155f4b Mon Sep 17 00:00:00 2001 From: kandera Date: Thu, 5 Jan 2012 12:20:29 +0100 Subject: DB/Creatures: add mechanic immune mask data to Scourgelord Tyrannus closes #3985 --- sql/updates/world/2012_01_05_10_world_creature_template.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_05_10_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_10_world_creature_template.sql b/sql/updates/world/2012_01_05_10_world_creature_template.sql new file mode 100644 index 00000000000..a3d8d2432b5 --- /dev/null +++ b/sql/updates/world/2012_01_05_10_world_creature_template.sql @@ -0,0 +1,2 @@ +-- Set correct immunemasks for Scourgelord Tyrannus +UPDATE `creature_template` SET `mechanic_immune_mask` = mechanic_immune_mask|1|2|4|16|32|64|128|256|512|1024|2048|4096|8192|131072|4194304|8388608|67108864|536870912 WHERE `entry` in (36658,36938); -- cgit v1.2.3 From fc987e9a2f948c7a68e352fe9a3024730e3ed839 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 5 Jan 2012 12:57:34 +0100 Subject: DB/Reputation: add correct reputation gains for ashen verdict closes #4353 --- .../world/2012_01_05_11_world_creature_onkill_reputation.sql | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 sql/updates/world/2012_01_05_11_world_creature_onkill_reputation.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_11_world_creature_onkill_reputation.sql b/sql/updates/world/2012_01_05_11_world_creature_onkill_reputation.sql new file mode 100644 index 00000000000..047c0453608 --- /dev/null +++ b/sql/updates/world/2012_01_05_11_world_creature_onkill_reputation.sql @@ -0,0 +1,6 @@ +-- remade incorrect gain of ashen verdict reputation according to http://www.wowwiki.com/Ashen_Verdict +-- there were incorrect values for trash mobs ( before=25 for kill, must to be 15) +-- for Lich King it must to be 1500 and for Deathbound Wards and Deathspeaker High Priests 45 +UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = 1500 WHERE `creature_id` IN (36597,39166,39167,39168); +UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = 45 WHERE `creature_id` IN (36829,37007); +UPDATE `creature_onkill_reputation` SET `RewOnKillRepValue1` = 15 WHERE `creature_id` IN (36619,36724,36725,36791,36805,36807,36808,36811,36880,36957,36960,36968,36982,37011,37012,37022,37029,37030,37031,37032,37033,37034,37035,37117,37125,37127,37132,37133,37134,37146,37149,37228,37229,37232,37501,37502,37531,37532,37546,37571,37595,37662,37663,37664,37665,37666,37695,37782,37886,37890,37919,37934,37949,38125,38159,38184,38369,38472,38485,38508,38711,38712); -- cgit v1.2.3 From 01900b5829af7970eee2bea2efe6e74a7830a84d Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 5 Jan 2012 13:27:17 +0100 Subject: Core/Events * Changed how quests are linked to events (no longer in Quest class) * Added quest validation when loading game_event_seasonal_questrelation * Renamed fields in new table to be consistent with game_event* tables * Corrected db data (some entries had -1 as event id) --- ..._12_world_game_event_seasonal_questrelation.sql | 5 ++++ src/server/game/Entities/Player/Player.cpp | 18 ++++++----- src/server/game/Events/GameEventMgr.cpp | 35 +++++++++++++++------- src/server/game/Events/GameEventMgr.h | 3 ++ src/server/game/Globals/ObjectMgr.h | 8 ++--- src/server/game/Quests/QuestDef.cpp | 7 ++--- src/server/game/Quests/QuestDef.h | 6 +--- 7 files changed, 51 insertions(+), 31 deletions(-) create mode 100644 sql/updates/world/2012_01_05_12_world_game_event_seasonal_questrelation.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_12_world_game_event_seasonal_questrelation.sql b/sql/updates/world/2012_01_05_12_world_game_event_seasonal_questrelation.sql new file mode 100644 index 00000000000..ad6013b0edf --- /dev/null +++ b/sql/updates/world/2012_01_05_12_world_game_event_seasonal_questrelation.sql @@ -0,0 +1,5 @@ +UPDATE `game_event_seasonal_questrelation` SET `event`=8 WHERE `event`=-1; + +ALTER TABLE `game_event_seasonal_questrelation` + CHANGE `quest` `questId` int(10) unsigned NOT NULL COMMENT 'Quest Identifier', + CHANGE `event` `eventEntry` mediumint(8) unsigned NOT NULL DEFAULT 0 COMMENT 'Entry of the game event'; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index d6a33c1c4e8..f2e7e60a3e3 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15449,9 +15449,13 @@ bool Player::SatisfyQuestSeasonal(Quest const* qInfo, bool /*msg*/) { if (!qInfo->IsSeasonal() || m_seasonalquests.empty()) return true; - if (m_seasonalquests.find(qInfo->GetSeasonalQuestEvent()) == m_seasonalquests.end()) return false; + + uint16 eventId = sGameEventMgr->GetEventIdForQuest(qInfo); + if (m_seasonalquests.find(eventId) == m_seasonalquests.end()) + return false; + // if not found in cooldown list - return m_seasonalquests[qInfo->GetSeasonalQuestEvent()].find(qInfo->GetQuestId()) == m_seasonalquests[qInfo->GetSeasonalQuestEvent()].end(); + return m_seasonalquests[eventId].find(qInfo->GetQuestId()) == m_seasonalquests[eventId].end(); } bool Player::GiveQuestSourceItem(Quest const* quest) @@ -19004,7 +19008,7 @@ void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans) PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR); stmt->setUInt32(0, GetGUIDLow()); trans->Append(stmt); - + for (SeasonalEventQuestMap::const_iterator iter = m_seasonalquests.begin(); iter != m_seasonalquests.end(); ++iter) { uint16 event_id = iter->first; @@ -22117,11 +22121,11 @@ void Player::SetWeeklyQuestStatus(uint32 quest_id) void Player::SetSeasonalQuestStatus(uint32 quest_id) { - Quest const* q = sObjectMgr->GetQuestTemplate(quest_id); - if (!q) + Quest const* quest = sObjectMgr->GetQuestTemplate(quest_id); + if (!quest) return; - - m_seasonalquests[q->GetSeasonalQuestEvent()].insert(quest_id); + + m_seasonalquests[sGameEventMgr->GetEventIdForQuest(quest)].insert(quest_id); m_SeasonalQuestChanged = true; } diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index e1900c6c994..6f5dc0e511e 100755 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -764,7 +764,7 @@ void GameEventMgr::LoadFromDB() uint32 oldMSTime = getMSTime(); // 0 1 - QueryResult result = WorldDatabase.Query("SELECT quest, event FROM game_event_seasonal_questrelation"); + QueryResult result = WorldDatabase.Query("SELECT questId, eventEntry FROM game_event_seasonal_questrelation"); if (!result) { @@ -778,19 +778,22 @@ void GameEventMgr::LoadFromDB() { Field* fields = result->Fetch(); - uint32 quest = fields[0].GetUInt32(); - uint16 event_id = fields[1].GetUInt16(); + uint32 questId = fields[0].GetUInt32(); + uint16 eventEntry = fields[1].GetUInt16(); - if (event_id >= mGameEvent.size()) + if (!sObjectMgr->GetQuestTemplate(questId)) + { + sLog->outErrorDb("`game_event_seasonal_questrelation` quest id (%u) does not exist in `quest_template`", questId); + continue; + } + + if (eventEntry >= mGameEvent.size()) { - sLog->outErrorDb("`game_event_seasonal_questrelation` event id (%u) is out of range compared to max event in `game_event`", event_id); + sLog->outErrorDb("`game_event_seasonal_questrelation` event id (%u) is out of range compared to max event in `game_event`", eventEntry); continue; } - - Quest * qInfo = sObjectMgr->GetQuestTemplate(quest); - if (qInfo) - qInfo->SetSeasonalQuestEvent(event_id); + _questToEventLinks[questId] = eventEntry; ++count; } while (result->NextRow()); @@ -1671,6 +1674,18 @@ void GameEventMgr::RunSmartAIScripts(uint16 event_id, bool activate) } } +uint16 GameEventMgr::GetEventIdForQuest(Quest const* quest) const +{ + if (!quest) + return 0; + + UNORDERED_MAP::const_iterator itr = _questToEventLinks.find(quest->GetQuestId()); + if (itr == _questToEventLinks.end()) + return 0; + + return itr->second; +} + bool IsHolidayActive(HolidayIds id) { if (id == HOLIDAY_NONE) @@ -1686,7 +1701,7 @@ bool IsHolidayActive(HolidayIds id) return false; } - bool IsEventActive(uint16 event_id) +bool IsEventActive(uint16 event_id) { GameEventMgr::ActiveEvents const& ae = sGameEventMgr->GetActiveEventList(); return ae.find(event_id) != ae.end(); diff --git a/src/server/game/Events/GameEventMgr.h b/src/server/game/Events/GameEventMgr.h index 34258bac499..d9b5890bfe5 100755 --- a/src/server/game/Events/GameEventMgr.h +++ b/src/server/game/Events/GameEventMgr.h @@ -89,6 +89,7 @@ struct NPCVendorEntry class Player; class Creature; +class Quest; class GameEventMgr { @@ -118,6 +119,7 @@ class GameEventMgr void HandleWorldEventGossip(Player* player, Creature* c); uint32 GetNPCFlag(Creature* cr); uint32 GetNpcTextId(uint32 guid); + uint16 GetEventIdForQuest(Quest const* quest) const; private: void SendWorldStateUpdate(Player* player, uint16 event_id); void AddActiveEvent(uint16 event_id) { m_ActiveEvents.insert(event_id); } @@ -169,6 +171,7 @@ class GameEventMgr QuestIdToEventConditionMap mQuestToEventConditions; GameEventNPCFlagMap mGameEventNPCFlags; ActiveEvents m_ActiveEvents; + UNORDERED_MAP _questToEventLinks; bool isSystemInit; public: GameEventGuidMap mGameEventCreatureGuids; diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index 1b6d90da0a6..126cca59ef0 100755 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -670,6 +670,7 @@ class ObjectMgr return NULL; return info; } + void GetPlayerLevelInfo(uint32 race, uint32 class_, uint8 level, PlayerLevelInfo* info) const; uint64 GetPlayerGUIDByName(std::string name) const; @@ -687,11 +688,7 @@ class ObjectMgr QuestMap::const_iterator itr = mQuestTemplates.find(quest_id); return itr != mQuestTemplates.end() ? itr->second : NULL; } - Quest * GetQuestTemplate(uint32 quest_id) - { - QuestMap::const_iterator itr = mQuestTemplates.find(quest_id); - return itr != mQuestTemplates.end() ? itr->second : NULL; - } + QuestMap const& GetQuestTemplates() const { return mQuestTemplates; } uint32 GetQuestForAreaTrigger(uint32 Trigger_ID) const @@ -701,6 +698,7 @@ class ObjectMgr return itr->second; return 0; } + bool IsTavernAreaTrigger(uint32 Trigger_ID) const { return mTavernAreaTriggerSet.find(Trigger_ID) != mTavernAreaTriggerSet.end(); diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index 674f54d07a8..0467eaa3253 100755 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -65,7 +65,6 @@ Quest::Quest(Field* questRecord) RequiredPlayerKills = questRecord[40].GetUInt32(); RewardTalents = questRecord[41].GetUInt32(); RewardArenaPoints = questRecord[42].GetInt32(); - SeasonalQuestEvent = 0; for (int i = 0; i < QUEST_REWARDS_COUNT; ++i) RewardItemId[i] = questRecord[43+i].GetUInt32(); @@ -78,7 +77,7 @@ Quest::Quest(Field* questRecord) for (int i = 0; i < QUEST_REWARD_CHOICES_COUNT; ++i) RewardChoiceItemCount[i] = questRecord[57+i].GetUInt32(); - + for (int i = 0; i < QUEST_REPUTATIONS_COUNT; ++i) RewardFactionId[i] = questRecord[63+i].GetUInt32(); @@ -87,7 +86,7 @@ Quest::Quest(Field* questRecord) for (int i = 0; i < QUEST_REPUTATIONS_COUNT; ++i) RewardFactionValueIdOverride[i] = questRecord[73+i].GetInt32(); - + PointMapId = questRecord[78].GetUInt32(); PointX = questRecord[79].GetFloat(); PointY = questRecord[80].GetFloat(); @@ -203,7 +202,7 @@ uint32 Quest::XPValue(Player* player) const return 0; } -int32 Quest::GetRewOrReqMoney() const +int32 Quest::GetRewOrReqMoney() const { if (RewardOrRequiredMoney <= 0) return RewardOrRequiredMoney; diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index 4fbfcd176f4..3e142e1d84c 100755 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -187,7 +187,6 @@ class Quest bool HasFlag(uint32 flag) const { return (Flags & flag) != 0; } void SetFlag(uint32 flag) { Flags |= flag; } - void SetSeasonalQuestEvent(uint16 event_id) { SeasonalQuestEvent = event_id; } // table data accessors: uint32 GetQuestId() const { return Id; } @@ -247,13 +246,12 @@ class Quest uint32 GetCompleteEmote() const { return EmoteOnComplete; } uint32 GetQuestStartScript() const { return StartScript; } uint32 GetQuestCompleteScript() const { return CompleteScript; } - uint16 GetSeasonalQuestEvent() const {return SeasonalQuestEvent; } bool IsRepeatable() const { return Flags & QUEST_TRINITY_FLAGS_REPEATABLE; } bool IsAutoComplete() const; uint32 GetFlags() const { return Flags; } bool IsDaily() const { return Flags & QUEST_FLAGS_DAILY; } bool IsWeekly() const { return Flags & QUEST_FLAGS_WEEKLY; } - bool IsSeasonal() const { return ZoneOrSort == -22; } + bool IsSeasonal() const { return ZoneOrSort == -QUEST_SORT_SEASONAL; } bool IsDailyOrWeekly() const { return Flags & (QUEST_FLAGS_DAILY | QUEST_FLAGS_WEEKLY); } bool IsAutoAccept() const { return Flags & QUEST_FLAGS_AUTO_ACCEPT; } bool IsRaidQuest() const { return Type == QUEST_TYPE_RAID || Type == QUEST_TYPE_RAID_10 || Type == QUEST_TYPE_RAID_25; } @@ -298,8 +296,6 @@ class Quest uint32 m_reqCreatureOrGOcount; uint32 m_rewchoiceitemscount; uint32 m_rewitemscount; - //additional data needed for seasonal quest events - uint16 SeasonalQuestEvent; // table data protected: -- cgit v1.2.3 From cc5dae032cb05cf6b8d63afca718108f5e809aaf Mon Sep 17 00:00:00 2001 From: aokromes Date: Thu, 5 Jan 2012 13:42:17 +0100 Subject: DB/Creature: put Brother Keltan on the correct ship closes #1964 --- sql/updates/world/2012_01_05_13_world_creature_transport.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_05_13_world_creature_transport.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_13_world_creature_transport.sql b/sql/updates/world/2012_01_05_13_world_creature_transport.sql new file mode 100644 index 00000000000..3acb70a4442 --- /dev/null +++ b/sql/updates/world/2012_01_05_13_world_creature_transport.sql @@ -0,0 +1,2 @@ +-- put Brother Keltan on the correct ship +UPDATE `creature_transport` SET `guid`=1, `transport_entry`=192241, `TransOffsetX`=-24.08398, `TransOffsetY`=-22.21777, `TransOffsetZ`=24.37781 WHERE `guid`=66 AND `transport_entry`=192242; -- cgit v1.2.3 From b7959716ea30e11598c16ddd3e072893d81bd71d Mon Sep 17 00:00:00 2001 From: Venugh Date: Thu, 5 Jan 2012 20:31:12 +0100 Subject: Core/Commands: Implemented .reload waypoint_data command. (requests from Aokromes.) --- sql/updates/world/2012_01_05_14_world_command.sql | 1 + src/server/scripts/Commands/cs_reload.cpp | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2012_01_05_14_world_command.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_14_world_command.sql b/sql/updates/world/2012_01_05_14_world_command.sql new file mode 100644 index 00000000000..875acde19bb --- /dev/null +++ b/sql/updates/world/2012_01_05_14_world_command.sql @@ -0,0 +1 @@ +INSERT INTO `command` (`name`, `security`, `help`) VALUES ('reload wp_data', 3, 'Syntax: .reload wp_data will reload waypoint_data table.'); \ No newline at end of file diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index b1aaf82e35b..4d8ce4ef4ed 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -36,6 +36,7 @@ EndScriptData */ #include "SkillDiscovery.h" #include "SkillExtraItems.h" #include "Chat.h" +#include "WaypointManager.h" class reload_commandscript : public CommandScript { @@ -144,13 +145,14 @@ public: { "spell_linked_spell", SEC_ADMINISTRATOR, true, &HandleReloadSpellLinkedSpellCommand, "", NULL }, { "spell_pet_auras", SEC_ADMINISTRATOR, true, &HandleReloadSpellPetAurasCommand, "", NULL }, { "spell_proc_event", SEC_ADMINISTRATOR, true, &HandleReloadSpellProcEventCommand, "", NULL }, - { "spell_proc", SEC_ADMINISTRATOR, true, &HandleReloadSpellProcsCommand, "", NULL }, + { "spell_proc", SEC_ADMINISTRATOR, true, &HandleReloadSpellProcsCommand, "", NULL }, { "spell_scripts", SEC_ADMINISTRATOR, true, &HandleReloadSpellScriptsCommand, "", NULL }, { "spell_target_position", SEC_ADMINISTRATOR, true, &HandleReloadSpellTargetPositionCommand, "", NULL }, { "spell_threats", SEC_ADMINISTRATOR, true, &HandleReloadSpellThreatsCommand, "", NULL }, { "spell_group_stack_rules", SEC_ADMINISTRATOR, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL }, { "trinity_string", SEC_ADMINISTRATOR, true, &HandleReloadTrinityStringCommand, "", NULL }, { "waypoint_scripts", SEC_ADMINISTRATOR, true, &HandleReloadWpScriptsCommand, "", NULL }, + { "waypoint_data", SEC_ADMINISTRATOR, true, &HandleReloadWpCommand, "", NULL }, { "vehicle_accessory", SEC_ADMINISTRATOR, true, &HandleReloadVehicleAccessoryCommand, "", NULL }, { "vehicle_template_accessory", SEC_ADMINISTRATOR, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL }, { NULL, 0, false, NULL, "", NULL } @@ -264,6 +266,7 @@ public: handler->SendGlobalGMSysMessage("DB tables `*_scripts` reloaded."); HandleReloadDbScriptStringCommand(handler, "a"); HandleReloadWpScriptsCommand(handler, "a"); + HandleReloadWpCommand(handler, "a"); return true; } @@ -986,6 +989,19 @@ public: return true; } + static bool HandleReloadWpCommand(ChatHandler* handler, const char* args) + { + if (*args != 'a') + sLog->outString("Re-Loading Waypoints data from 'waypoints_data'"); + + sWaypointMgr->Load(); + + if (*args != 'a') + sLog->outString("DB Table 'waypoint_data' reloaded."); + + return true; + } + static bool HandleReloadEventAITextsCommand(ChatHandler* handler, const char* /*args*/) { -- cgit v1.2.3 From 981777197307cbdb63a5f212319890ecf8760c90 Mon Sep 17 00:00:00 2001 From: kaelima Date: Thu, 5 Jan 2012 21:56:18 +0100 Subject: DB: - Corrected the name of one recently pushed sql file. - Added some stuff to 728c07b888f0c5ade0806f688b65e0a47234c125 (for The Etymidian) --- sql/updates/world/2012_01_05_06_world_spel_script_names.sql | 2 -- sql/updates/world/2012_01_05_06_world_spell_script_names.sql | 2 ++ sql/updates/world/2012_01_05_14_world_creature_template.sql | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) delete mode 100644 sql/updates/world/2012_01_05_06_world_spel_script_names.sql create mode 100644 sql/updates/world/2012_01_05_06_world_spell_script_names.sql create mode 100644 sql/updates/world/2012_01_05_14_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_05_06_world_spel_script_names.sql b/sql/updates/world/2012_01_05_06_world_spel_script_names.sql deleted file mode 100644 index 1a22c2916bb..00000000000 --- a/sql/updates/world/2012_01_05_06_world_spel_script_names.sql +++ /dev/null @@ -1,2 +0,0 @@ --- add voices for Currupted Ashbringer -UPDATE `spell_script_names` SET `spell_id`=28414 WHERE `ScriptName`= 'spell_item_ashbringer'; diff --git a/sql/updates/world/2012_01_05_06_world_spell_script_names.sql b/sql/updates/world/2012_01_05_06_world_spell_script_names.sql new file mode 100644 index 00000000000..1a22c2916bb --- /dev/null +++ b/sql/updates/world/2012_01_05_06_world_spell_script_names.sql @@ -0,0 +1,2 @@ +-- add voices for Currupted Ashbringer +UPDATE `spell_script_names` SET `spell_id`=28414 WHERE `ScriptName`= 'spell_item_ashbringer'; diff --git a/sql/updates/world/2012_01_05_14_world_creature_template.sql b/sql/updates/world/2012_01_05_14_world_creature_template.sql new file mode 100644 index 00000000000..331a533812d --- /dev/null +++ b/sql/updates/world/2012_01_05_14_world_creature_template.sql @@ -0,0 +1,9 @@ +-- Added equipment template, corrected unit_flags and fixed model bounding for The Etymidian +SET @EQUIP := 2477; + +UPDATE `creature_template` SET `unit_flags`=`unit_flags`|8,`equipment_id`=@EQUIP WHERE `entry`=28222; +UPDATE `creature_model_info` SET `bounding_radius`=0.42,`combat_reach`=2.4 WHERE `modelid`=25928; + +DELETE FROM `creature_equip_template` WHERE `entry`=@EQUIP; +INSERT INTO `creature_equip_template` (`entry`,`itemEntry1`,`itemEntry2`,`itemEntry3`) VALUES +(@EQUIP,25316,0,0); -- cgit v1.2.3 From 2d8a6fdf154ff0971bbf5e6cb201ec3c1cd56aac Mon Sep 17 00:00:00 2001 From: Souler Date: Fri, 6 Jan 2012 01:19:07 +0100 Subject: Scripts/Quests: An Apexis Relic, The Relic's Emanation and Guardian of the Monument. --- sql/updates/world/2012_01_06_00_world_misc.sql | 189 +++++++ src/server/game/Spells/SpellMgr.cpp | 11 +- .../scripts/Outland/blades_edge_mountains.cpp | 561 +++++++++++++++++++++ 3 files changed, 759 insertions(+), 2 deletions(-) create mode 100644 sql/updates/world/2012_01_06_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_06_00_world_misc.sql b/sql/updates/world/2012_01_06_00_world_misc.sql new file mode 100644 index 00000000000..5cc96ef17a8 --- /dev/null +++ b/sql/updates/world/2012_01_06_00_world_misc.sql @@ -0,0 +1,189 @@ +SET @NPC_SIMON_BUNNY := 22923; +SET @GO_APEXIS_RELIC := 185890; +SET @GO_APEXIS_MONUMENT := 185944; + +SET @SPELL_SIMON_BLUE_VISUAL := 40244; +SET @SPELL_SIMON_GREEN_VISUAL := 40245; +SET @SPELL_SIMON_RED_VISUAL := 40246; +SET @SPELL_SIMON_YELLOW_VISUAL := 40247; + +SET @ITEM_APEXIS_SHARD := 32569; +SET @QUEST_THE_CRYSTALS := 11025; +SET @QUEST_GUARDIAN_MONUMENT := 11059; +SET @GOSSIP_MENU_ID_NORMAL := 8703; +SET @GOSSIP_MENU_ID_LARGE := 8704; + +SET @ID_SPELL_GROUP := 1115; + +UPDATE `creature_template` SET `ScriptName` = 'npc_simon_bunny',`flags_extra` = 130 WHERE `entry` = @NPC_SIMON_BUNNY; +UPDATE `gameobject_template` SET `ScriptName` = 'go_apexis_relic' WHERE `entry` IN (@GO_APEXIS_MONUMENT,@GO_APEXIS_RELIC); +-- Update is done via displayid since there are 28 entries for each color +UPDATE `gameobject_template` SET `flags` = 16,`ScriptName` = 'go_simon_cluster' WHERE `displayId` IN (7364,7365,7366,7367,7369,7371,7373,7375); + +-- Spell stacking rules for Introspection and Apexis reward spells +DELETE FROM `spell_group` WHERE `spell_id` IN (40055,40165,40166,40167,40623,40625,40626); +INSERT INTO `spell_group` (`id`,`spell_id`) VALUES +(@ID_SPELL_GROUP+0,40055), +(@ID_SPELL_GROUP+0,40165), +(@ID_SPELL_GROUP+0,40166), +(@ID_SPELL_GROUP+0,40167), +(@ID_SPELL_GROUP+1,40623), +(@ID_SPELL_GROUP+1,40625), +(@ID_SPELL_GROUP+1,40626); + +DELETE FROM `spell_group_stack_rules` WHERE `group_id` IN (@ID_SPELL_GROUP,@ID_SPELL_GROUP+1); +INSERT INTO `spell_group_stack_rules` (`group_id`,`stack_rule`) VALUES +(@ID_SPELL_GROUP+0,1), +(@ID_SPELL_GROUP+1,1); +-- + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 13 AND `SourceEntry` IN (@SPELL_SIMON_BLUE_VISUAL,@SPELL_SIMON_GREEN_VISUAL,@SPELL_SIMON_RED_VISUAL,@SPELL_SIMON_YELLOW_VISUAL); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` = 15 AND `SourceGroup` IN (@GOSSIP_MENU_ID_NORMAL,@GOSSIP_MENU_ID_LARGE); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +-- Apexis Relic gossip option conditions +(15,@GOSSIP_MENU_ID_NORMAL,0,0,8,@QUEST_THE_CRYSTALS ,0,0,0,'','Apexis Relic Gossip Condition - Must have completed quest The Crystals'), +(15,@GOSSIP_MENU_ID_NORMAL,0,0,2,@ITEM_APEXIS_SHARD,1,0,0,'','Apexis Relic Gossip Condition - Must have an Apexis Shard'), +-- Apexis Monument gossip option conditions +(15,@GOSSIP_MENU_ID_LARGE,0,0,9,@QUEST_GUARDIAN_MONUMENT ,0,0,0,'','Apexis Monument Gossip Condition - Must be on quest Guardian of the Monument'), +(15,@GOSSIP_MENU_ID_LARGE,0,0,2,@ITEM_APEXIS_SHARD,35,0,0,'','Apexis Monument Gossip Condition - Must have 35 Apexis Shard'), +-- Visual color spells should target their correspondant cluster color +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185604,0,0,'','Simon Game - Blue visual target Large Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185609,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185617,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185625,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185637,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185640,0,0,'','Simon Game - Blue visual target Large Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185647,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185649,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185652,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185659,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185660,0,0,'','Simon Game - Blue visual target Large Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185665,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185669,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185673,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185770,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185772,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185776,0,0,'','Simon Game - Blue visual target Large Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185780,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185784,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185791,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185795,0,0,'','Simon Game - Blue visual target Large Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185796,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185807,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185808,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185812,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185816,0,0,'','Simon Game - Blue visual target Large Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185820,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185824,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185828,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185832,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185836,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185840,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185844,0,0,'','Simon Game - Blue visual target Large Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185848,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_BLUE_VISUAL,0,18,0,185853,0,0,'','Simon Game - Blue visual target Blue Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185605,0,0,'','Simon Game - Green visual target Large Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185611,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185619,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185627,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185639,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185641,0,0,'','Simon Game - Green visual target Large Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185646,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185651,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185654,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185658,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185661,0,0,'','Simon Game - Green visual target Large Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185667,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185671,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185675,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185768,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185774,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185777,0,0,'','Simon Game - Green visual target Large Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185781,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185786,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185789,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185793,0,0,'','Simon Game - Green visual target Large Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185798,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185805,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185810,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185814,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185818,0,0,'','Simon Game - Green visual target Large Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185822,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185826,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185830,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185834,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185838,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185842,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185846,0,0,'','Simon Game - Green visual target Large Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185850,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_GREEN_VISUAL,0,18,0,185855,0,0,'','Simon Game - Green visual target Green Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185606,0,0,'','Simon Game - Red visual target Large Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185613,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185621,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185626,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185638,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185642,0,0,'','Simon Game - Red visual target Large Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185645,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185650,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185655,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185657,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185662,0,0,'','Simon Game - Red visual target Large Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185666,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185670,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185674,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185771,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185773,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185778,0,0,'','Simon Game - Red visual target Large Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185782,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185785,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185788,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185794,0,0,'','Simon Game - Red visual target Large Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185797,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185804,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185809,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185815,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185817,0,0,'','Simon Game - Red visual target Large Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185823,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185827,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185831,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185835,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185839,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185843,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185845,0,0,'','Simon Game - Red visual target Large Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185851,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_RED_VISUAL,0,18,0,185854,0,0,'','Simon Game - Red visual target Red Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185607,0,0,'','Simon Game - Yellow visual target Large Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185615,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185623,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185624,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185636,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185643,0,0,'','Simon Game - Yellow visual target Large Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185644,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185648,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185653,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185656,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185663,0,0,'','Simon Game - Yellow visual target Large Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185664,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185668,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185672,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185769,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185775,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185779,0,0,'','Simon Game - Yellow visual target Large Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185783,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185787,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185790,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185792,0,0,'','Simon Game - Yellow visual target Large Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185803,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185806,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185811,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185813,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185819,0,0,'','Simon Game - Yellow visual target Large Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185821,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185825,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185829,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185833,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185837,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185841,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185847,0,0,'','Simon Game - Yellow visual target Large Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185849,0,0,'','Simon Game - Yellow visual target Yellow Cluster'), +(13,0,@SPELL_SIMON_YELLOW_VISUAL,0,18,0,185852,0,0,'','Simon Game - Yellow visual target Yellow Cluster'); \ No newline at end of file diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index b7c31ee29c6..e57cbf4a390 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2960,8 +2960,10 @@ void SpellMgr::LoadDbcDataCorrections() switch (spellInfo->Id) { - case 42835: // Spout - spellInfo->Effect[0] = 0; // remove damage effect, only anim is needed + case 40244: case 40245: // Simon Game Visual + case 40246: case 40247: // Simon Game Visual + case 42835: // Spout, remove damage effect, only anim is needed + spellInfo->Effect[0] = 0; break; case 30657: // Quake spellInfo->EffectTriggerSpell[0] = 30571; @@ -3495,6 +3497,11 @@ void SpellMgr::LoadDbcDataCorrections() case 72405: // Broken Frostmourne spellInfo->EffectRadiusIndex[1] = EFFECT_RADIUS_200_YARDS; // 200yd break; + case 40055: // Introspection + case 40165: // Introspection + case 40166: // Introspection + case 40167: // Introspection + spellInfo->Attributes |= SPELL_ATTR0_NEGATIVE_1; default: break; } diff --git a/src/server/scripts/Outland/blades_edge_mountains.cpp b/src/server/scripts/Outland/blades_edge_mountains.cpp index d78d4afbfb8..97ce9f45430 100644 --- a/src/server/scripts/Outland/blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/blades_edge_mountains.cpp @@ -562,6 +562,564 @@ class go_thunderspike : public GameObjectScript } }; +enum SimonGame +{ + NPC_SIMON_BUNNY = 22923, + NPC_APEXIS_GUARDIAN = 22275, + + GO_APEXIS_RELIC = 185890, + GO_APEXIS_MONUMENT = 185944, + GO_AURA_BLUE = 185872, + GO_AURA_GREEN = 185873, + GO_AURA_RED = 185874, + GO_AURA_YELLOW = 185875, + + GO_BLUE_CLUSTER_DISPLAY = 7369, + GO_GREEN_CLUSTER_DISPLAY = 7371, + GO_RED_CLUSTER_DISPLAY = 7373, + GO_YELLOW_CLUSTER_DISPLAY = 7375, + GO_BLUE_CLUSTER_DISPLAY_LARGE = 7364, + GO_GREEN_CLUSTER_DISPLAY_LARGE = 7365, + GO_RED_CLUSTER_DISPLAY_LARGE = 7366, + GO_YELLOW_CLUSTER_DISPLAY_LARGE = 7367, + + SPELL_PRE_GAME_BLUE = 40176, + SPELL_PRE_GAME_GREEN = 40177, + SPELL_PRE_GAME_RED = 40178, + SPELL_PRE_GAME_YELLOW = 40179, + SPELL_VISUAL_BLUE = 40244, + SPELL_VISUAL_GREEN = 40245, + SPELL_VISUAL_RED = 40246, + SPELL_VISUAL_YELLOW = 40247, + + SOUND_BLUE = 11588, + SOUND_GREEN = 11589, + SOUND_RED = 11590, + SOUND_YELLOW = 11591, + SOUND_DISABLE_NODE = 11758, + + SPELL_AUDIBLE_GAME_TICK = 40391, + SPELL_VISUAL_START_PLAYER_LEVEL = 40436, + SPELL_VISUAL_START_AI_LEVEL = 40387, + + SPELL_BAD_PRESS_TRIGGER = 41241, + SPELL_BAD_PRESS_DAMAGE = 40065, + SPELL_REWARD_BUFF_1 = 40310, + SPELL_REWARD_BUFF_2 = 40311, + SPELL_REWARD_BUFF_3 = 40312, +}; + +enum SimonEvents +{ + EVENT_SIMON_SETUP_PRE_GAME = 1, + EVENT_SIMON_PLAY_SEQUENCE = 2, + EVENT_SIMON_RESET_CLUSTERS = 3, + EVENT_SIMON_PERIODIC_PLAYER_CHECK = 4, + EVENT_SIMON_TOO_LONG_TIME = 5, + EVENT_SIMON_GAME_TICK = 6, + EVENT_SIMON_ROUND_FINISHED = 7, + + ACTION_SIMON_CORRECT_FULL_SEQUENCE = 8, + ACTION_SIMON_WRONG_SEQUENCE = 9, + ACTION_SIMON_ROUND_FINISHED = 10, +}; + +enum SimonColors +{ + SIMON_BLUE = 0, + SIMON_RED = 1, + SIMON_GREEN = 2, + SIMON_YELLOW = 3, + SIMON_MAX_COLORS = 4, +}; + +class npc_simon_bunny : public CreatureScript +{ + public: + npc_simon_bunny() : CreatureScript("npc_simon_bunny") { } + + struct npc_simon_bunnyAI : public ScriptedAI + { + npc_simon_bunnyAI(Creature* creature) : ScriptedAI(creature) { } + + bool large; + bool listening; + uint8 gameLevel; + uint8 fails; + uint8 gameTicks; + uint64 playerGUID; + uint32 clusterIds[SIMON_MAX_COLORS]; + float zCoordCorrection; + float searchDistance; + EventMap _events; + std::list colorSequence, playableSequence, playerSequence; + + void UpdateAI(const uint32 diff) + { + _events.Update(diff); + + switch(_events.ExecuteEvent()) + { + case EVENT_SIMON_PERIODIC_PLAYER_CHECK: + if (!CheckPlayer()) + ResetNode(); + else + _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2000); + break; + case EVENT_SIMON_SETUP_PRE_GAME: + SetUpPreGame(); + _events.CancelEvent(EVENT_SIMON_GAME_TICK); + _events.ScheduleEvent(EVENT_SIMON_PLAY_SEQUENCE, 1000); + break; + case EVENT_SIMON_PLAY_SEQUENCE: + if (!playableSequence.empty()) + { + PlayNextColor(); + _events.ScheduleEvent(EVENT_SIMON_PLAY_SEQUENCE, 1500); + } + else + { + listening = true; + DoCast(SPELL_VISUAL_START_PLAYER_LEVEL); + playerSequence.clear(); + PrepareClusters(); + gameTicks = 0; + _events.ScheduleEvent(EVENT_SIMON_GAME_TICK, 3000); + } + break; + case EVENT_SIMON_GAME_TICK: + DoCast(SPELL_AUDIBLE_GAME_TICK); + + if (gameTicks > gameLevel) + _events.ScheduleEvent(EVENT_SIMON_TOO_LONG_TIME, 500); + else + _events.ScheduleEvent(EVENT_SIMON_GAME_TICK, 3000); + gameTicks++; + break; + case EVENT_SIMON_RESET_CLUSTERS: + PrepareClusters(true); + break; + case EVENT_SIMON_TOO_LONG_TIME: + DoAction(ACTION_SIMON_WRONG_SEQUENCE); + break; + case EVENT_SIMON_ROUND_FINISHED: + DoAction(ACTION_SIMON_ROUND_FINISHED); + break; + } + } + + void DoAction(const int32 action) + { + switch (action) + { + case ACTION_SIMON_ROUND_FINISHED: + listening = false; + DoCast(SPELL_VISUAL_START_AI_LEVEL); + GiveRewardForLevel(gameLevel); + _events.CancelEventGroup(0); + if (gameLevel == 10) + ResetNode(); + else + _events.ScheduleEvent(EVENT_SIMON_SETUP_PRE_GAME, 1000); + break; + case ACTION_SIMON_CORRECT_FULL_SEQUENCE: + gameLevel++; + DoAction(ACTION_SIMON_ROUND_FINISHED); + break; + case ACTION_SIMON_WRONG_SEQUENCE: + GivePunishment(); + DoAction(ACTION_SIMON_ROUND_FINISHED); + break; + } + } + + // Called by color clusters script (go_simon_cluster) and used for knowing the button pressed by player + void SetData(uint32 type, uint32 /*data*/) + { + if (!listening) + return; + + uint8 pressedColor; + + if (type == clusterIds[SIMON_RED]) + pressedColor = SIMON_RED; + else if (type == clusterIds[SIMON_BLUE]) + pressedColor = SIMON_BLUE; + else if (type == clusterIds[SIMON_GREEN]) + pressedColor = SIMON_GREEN; + else if (type == clusterIds[SIMON_YELLOW]) + pressedColor = SIMON_YELLOW; + + PlayColor(pressedColor); + playerSequence.push_back(pressedColor); + _events.ScheduleEvent(EVENT_SIMON_RESET_CLUSTERS, 500); + CheckPlayerSequence(); + } + + // Used for getting involved player guid. Parameter id is used for defining if is a large(Monument) or small(Relic) node + void SetGUID(uint64 guid, int32 id) + { + me->SetFlying(true); + + large = (bool)id; + playerGUID = guid; + StartGame(); + } + + /* + Resets all variables and also find the ids of the four closests color clusters, since every simon + node have diferent ids for clusters this is absolutely NECESSARY. + */ + void StartGame() + { + listening = false; + gameLevel = 0; + fails = 0; + gameTicks = 0; + zCoordCorrection = large ? 8.0f : 2.75f; + searchDistance = large ? 13.0f : 5.0f; + colorSequence.clear(); + playableSequence.clear(); + playerSequence.clear(); + me->SetFloatValue(OBJECT_FIELD_SCALE_X, large ? 2 : 1); + + std::list ClusterList; + Trinity::AllWorldObjectsInRange objects(me, searchDistance); + Trinity::WorldObjectListSearcher searcher(me, ClusterList, objects); + me->VisitNearbyObject(searchDistance, searcher); + + for (std::list::const_iterator i = ClusterList.begin(); i != ClusterList.end(); ++i) + { + if (GameObject* go = (*i)->ToGameObject()) + { + // We are checking for displayid because all simon nodes have 4 clusters with different entries + if (large) + { + switch (go->GetGOInfo()->displayId) + { + case GO_BLUE_CLUSTER_DISPLAY_LARGE: clusterIds[SIMON_BLUE] = go->GetEntry(); break; + case GO_RED_CLUSTER_DISPLAY_LARGE: clusterIds[SIMON_RED] = go->GetEntry(); break; + case GO_GREEN_CLUSTER_DISPLAY_LARGE: clusterIds[SIMON_GREEN] = go->GetEntry(); break; + case GO_YELLOW_CLUSTER_DISPLAY_LARGE: clusterIds[SIMON_YELLOW] = go->GetEntry(); break; + } + } + else + { + switch (go->GetGOInfo()->displayId) + { + case GO_BLUE_CLUSTER_DISPLAY: clusterIds[SIMON_BLUE] = go->GetEntry(); break; + case GO_RED_CLUSTER_DISPLAY: clusterIds[SIMON_RED] = go->GetEntry(); break; + case GO_GREEN_CLUSTER_DISPLAY: clusterIds[SIMON_GREEN] = go->GetEntry(); break; + case GO_YELLOW_CLUSTER_DISPLAY: clusterIds[SIMON_YELLOW] = go->GetEntry(); break; + } + } + } + } + + _events.Reset(); + _events.ScheduleEvent(EVENT_SIMON_ROUND_FINISHED, 1000); + _events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2000); + + if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) + relic->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + } + + // Called when despawning the bunny. Sets all the node GOs to their default states. + void ResetNode() + { + DoPlaySoundToSet(me, SOUND_DISABLE_NODE); + + for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++) + if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], searchDistance)) + cluster->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + + for (uint32 auraId = GO_AURA_BLUE; auraId <= GO_AURA_YELLOW; auraId++) + if (GameObject* auraGo = me->FindNearestGameObject(auraId, searchDistance)) + auraGo->RemoveFromWorld(); + + if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) + relic->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + + me->ForcedDespawn(1000); + } + + /* + Called on every button click of player. Adds the clicked color to the player created sequence and + checks if it corresponds to the AI created sequence. If so, incremente gameLevel and start a new + round, if not, give punishment and restart current level. + */ + void CheckPlayerSequence() + { + bool correct = true; + if (playerSequence.size() <= colorSequence.size()) + for (std::list::const_iterator i = playerSequence.begin(), j = colorSequence.begin(); i != playerSequence.end(); ++i, ++j) + if ((*i) != (*j)) + correct = false; + + if (correct && (playerSequence.size() == colorSequence.size())) + DoAction(ACTION_SIMON_CORRECT_FULL_SEQUENCE); + else if (!correct) + DoAction(ACTION_SIMON_WRONG_SEQUENCE); + } + + /* + Generates a random sequence of colors depending on the gameLevel. We also copy this sequence to + the playableSequence wich will be used when playing the sequence to the player. + */ + void GenerateColorSequence() + { + colorSequence.clear(); + for (uint8 i = 0; i <= gameLevel; i++) + colorSequence.push_back(RAND(SIMON_BLUE, SIMON_RED, SIMON_GREEN, SIMON_YELLOW)); + + for (std::list::const_iterator i = colorSequence.begin(); i != colorSequence.end(); ++i) + playableSequence.push_back(*i); + } + + + // Remove any existant glowing auras over clusters and set clusters ready for interating with them. + void PrepareClusters(bool clustersOnly = false) + { + for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++) + if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], searchDistance)) + cluster->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + + if (clustersOnly) + return; + + for (uint32 auraId = GO_AURA_BLUE; auraId <= GO_AURA_YELLOW; auraId++) + if (GameObject* auraGo = me->FindNearestGameObject(auraId, searchDistance)) + auraGo->RemoveFromWorld(); + } + + /* + Called when AI is playing the sequence for player. We cast the visual spell and then remove the + casted color from the casting sequence. + */ + void PlayNextColor() + { + PlayColor(*playableSequence.begin()); + playableSequence.erase(playableSequence.begin()); + } + + // Casts a spell and plays a sound depending on parameter color. + void PlayColor(uint8 color) + { + switch (color) + { + case SIMON_BLUE: + DoCast(SPELL_VISUAL_BLUE); + DoPlaySoundToSet(me, SOUND_BLUE); + break; + case SIMON_GREEN: + DoCast(SPELL_VISUAL_GREEN); + DoPlaySoundToSet(me, SOUND_GREEN); + break; + case SIMON_RED: + DoCast(SPELL_VISUAL_RED); + DoPlaySoundToSet(me, SOUND_RED); + break; + case SIMON_YELLOW: + DoCast(SPELL_VISUAL_YELLOW); + DoPlaySoundToSet(me, SOUND_YELLOW); + break; + } + } + + /* + Creates the transparent glowing auras on every cluster of this node. + After calling this function bunny is teleported to the center of the node. + */ + void SetUpPreGame() + { + for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++) + { + if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], 2.0f*searchDistance)) + { + cluster->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + + // break since we don't need glowing auras for large clusters + if (large) + break; + + float x, y, z, o; + cluster->GetPosition(x, y, z, o); + me->NearTeleportTo(x, y, z, o); + + uint32 preGameSpellId; + if (cluster->GetEntry() == clusterIds[SIMON_RED]) + preGameSpellId = SPELL_PRE_GAME_RED; + else if (cluster->GetEntry() == clusterIds[SIMON_BLUE]) + preGameSpellId = SPELL_PRE_GAME_BLUE; + else if (cluster->GetEntry() == clusterIds[SIMON_GREEN]) + preGameSpellId = SPELL_PRE_GAME_GREEN; + else if (cluster->GetEntry() == clusterIds[SIMON_YELLOW]) + preGameSpellId = SPELL_PRE_GAME_YELLOW; + else break; + + me->CastSpell(cluster, preGameSpellId, true); + } + } + + if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance)) + { + float x, y, z, o; + relic->GetPosition(x, y, z, o); + me->NearTeleportTo(x, y, z + zCoordCorrection, o); + } + + GenerateColorSequence(); + } + + // Handles the spell rewards. The spells also have the QuestCompleteEffect, so quests credits are working. + void GiveRewardForLevel(uint8 level) + { + uint32 rewSpell; + switch (level) + { + case 6: + if (large) + GivePunishment(); + else + rewSpell = SPELL_REWARD_BUFF_1; + break; + case 8: + rewSpell = SPELL_REWARD_BUFF_2; + break; + case 10: + rewSpell = SPELL_REWARD_BUFF_3; + break; + default: + rewSpell = 0; + } + + if (rewSpell) + if (Player* player = me->GetPlayer(*me, playerGUID)) + DoCast(player, rewSpell, true); + } + + /* + Depending on the number of failed pushes for player the damage of the spell scales, so we first + cast the spell on the target that hits for 50 and shows the visual and then forces the player + to cast the damaging spell on it self with the modified basepoints. + 4 fails = death. + On large nodes punishment and reward are the same, summoning the Apexis Guardian. + */ + void GivePunishment() + { + if (large) + { + if (Player* player = me->GetPlayer(*me, playerGUID)) + if (Creature* guardian = me->SummonCreature(NPC_APEXIS_GUARDIAN, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() - zCoordCorrection, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 20000)) + guardian->AI()->AttackStart(player); + + ResetNode(); + } + else + { + fails++; + + if (Player* player = me->GetPlayer(*me, playerGUID)) + DoCast(player, SPELL_BAD_PRESS_TRIGGER, true); + + if (fails >= 4) + ResetNode(); + } + } + + void SpellHitTarget(Unit* target, const SpellInfo* spell) + { + // Cast SPELL_BAD_PRESS_DAMAGE with scaled basepoints when the visual hits the target. + // Need Fix: When SPELL_BAD_PRESS_TRIGGER hits target it triggers spell SPELL_BAD_PRESS_DAMAGE by itself + // so player gets damage equal to calculated damage dbc basepoints for SPELL_BAD_PRESS_DAMAGE (~50) + if (spell->Id == SPELL_BAD_PRESS_TRIGGER) + { + int32 bp = (int32)((float)(fails)*0.33f*target->GetMaxHealth()); + target->CastCustomSpell(target, SPELL_BAD_PRESS_DAMAGE, &bp, NULL, NULL, true); + } + } + + // Checks if player has already die or has get too far from the current node + bool CheckPlayer() + { + if (Player* player = me->GetPlayer(*me, playerGUID)) + { + if (player->isDead()) + return false; + if (player->GetDistance2d(me) >= 2.0f*searchDistance) + { + GivePunishment(); + return false; + } + } + else + return false; + + return true; + } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_simon_bunnyAI(creature); + } +}; + +class go_simon_cluster : public GameObjectScript +{ + public: + go_simon_cluster() : GameObjectScript("go_simon_cluster") { } + + bool OnGossipHello(Player* player, GameObject* go) + { + if (Creature* bunny = go->FindNearestCreature(NPC_SIMON_BUNNY, 12.0f, true)) + bunny->AI()->SetData(go->GetEntry(), 0); + + player->CastSpell(player, go->GetGOInfo()->goober.spellId, true); + go->AddUse(); + return true; + } +}; + +enum ApexisRelic +{ + QUEST_CRYSTALS = 11025, + GOSSIP_TEXT_ID = 10948, + + ITEM_APEXIS_SHARD = 32569, + SPELL_TAKE_REAGENTS_SOLO = 41145, + SPELL_TAKE_REAGENTS_GROUP = 41146, +}; + +class go_apexis_relic : public GameObjectScript +{ + public: + go_apexis_relic() : GameObjectScript("go_apexis_relic") { } + + bool OnGossipHello(Player* player, GameObject* go) + { + player->PrepareGossipMenu(go, go->GetGOInfo()->questgiver.gossipID); + player->SendPreparedGossip(go); + return true; + } + + bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 /*action*/) + { + player->CLOSE_GOSSIP_MENU(); + + bool large = (go->GetEntry() == GO_APEXIS_MONUMENT); + if (player->HasItemCount(ITEM_APEXIS_SHARD, large ? 35 : 1)) + { + player->CastSpell(player, large ? SPELL_TAKE_REAGENTS_GROUP : SPELL_TAKE_REAGENTS_SOLO, false); + + if (Creature* bunny = player->SummonCreature(NPC_SIMON_BUNNY, go->GetPositionX(), go->GetPositionY(), go->GetPositionZ())) + bunny->AI()->SetGUID(player->GetGUID(), large); + } + + return true; + } +}; + void AddSC_blades_edge_mountains() { new mobs_bladespire_ogre(); @@ -573,4 +1131,7 @@ void AddSC_blades_edge_mountains() new npc_bloodmaul_brutebane(); new npc_ogre_brute(); new go_thunderspike(); + new npc_simon_bunny(); + new go_simon_cluster(); + new go_apexis_relic(); } -- cgit v1.2.3 From 0b10ded2d890cf327ed53bb887d3c891b53e7cd1 Mon Sep 17 00:00:00 2001 From: Shocker Date: Fri, 6 Jan 2012 07:47:57 +0200 Subject: SQL: Some newline file endings --- sql/updates/world/2012_01_04_02_world_sai.sql | 2 +- sql/updates/world/2012_01_05_14_world_command.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_02_world_sai.sql b/sql/updates/world/2012_01_04_02_world_sai.sql index fb59ba8b4e8..5a302205a6d 100644 --- a/sql/updates/world/2012_01_04_02_world_sai.sql +++ b/sql/updates/world/2012_01_04_02_world_sai.sql @@ -174,4 +174,4 @@ INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type (@ENTRY,0,10,0,3,2,100,0,0,30,100,100,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - Mana is above 30% (Phase 2) - Set Phase 1'), (@ENTRY,0,11,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'Wildspawn Felsworn - Set Phase 1 when Mana is above 30% (Phase 2)'), (@ENTRY,0,12,0,0,0,100,0,7000,12000,38000,45000,11,22417,1,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Phase 1 - Cast Shadow Shield'),(@ENTRY,0,13,0,0,1,100,0,11000,17000,23000,30000,11,15654,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Phase 1 - Cast Shadow Word: Pain'),(@ENTRY,0,14,0,0,0,100,0,6000,10000,10000,15000,11,12542,1,0,0,0,0,5,0,0,0,0,0,0,0,'Wildspawn Felsworn - In Combat - Cast Fear (on random target)'), -(@ENTRY,0,15,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Evade - Set Phase to 0'); \ No newline at end of file +(@ENTRY,0,15,0,7,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Felsworn - On Evade - Set Phase to 0'); diff --git a/sql/updates/world/2012_01_05_14_world_command.sql b/sql/updates/world/2012_01_05_14_world_command.sql index 875acde19bb..d890ab5509c 100644 --- a/sql/updates/world/2012_01_05_14_world_command.sql +++ b/sql/updates/world/2012_01_05_14_world_command.sql @@ -1 +1 @@ -INSERT INTO `command` (`name`, `security`, `help`) VALUES ('reload wp_data', 3, 'Syntax: .reload wp_data will reload waypoint_data table.'); \ No newline at end of file +INSERT INTO `command` (`name`, `security`, `help`) VALUES ('reload wp_data', 3, 'Syntax: .reload wp_data will reload waypoint_data table.'); -- cgit v1.2.3 From 736bf37d044b3d702da964658bac3565e1b5f860 Mon Sep 17 00:00:00 2001 From: Shocker Date: Fri, 6 Jan 2012 07:55:10 +0200 Subject: SQL: Fix an sql error Closes #4647 --- sql/updates/world/2012_01_04_02_world_sai.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sql') diff --git a/sql/updates/world/2012_01_04_02_world_sai.sql b/sql/updates/world/2012_01_04_02_world_sai.sql index 5a302205a6d..70cb3fc9a04 100644 --- a/sql/updates/world/2012_01_04_02_world_sai.sql +++ b/sql/updates/world/2012_01_04_02_world_sai.sql @@ -141,8 +141,8 @@ INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type SET @ENTRY := @NPC_WILDSPAWN_HELLCALLER; DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; -UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY -;DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +UPDATE creature SET `MovementType`=1,`spawndist`=3 WHERE `id`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES(@ENTRY,0,0,0,4,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Prevent Combat Movement'), (@ENTRY,0,1,2,4,0,100,0,0,0,0,0,11,15228,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Cast Fireball '),(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller - On Aggro - Set Phase 1'),(@ENTRY,0,3,0,9,1,100,0,0,40,2400,3800,11,15228,0,0,0,0,0,2,0,0,0,0,0,0,0,'Wildspawn Hellcaller - Phase 1 - Cast Fireball'), (@ENTRY,0,4,5,3,1,100,0,0,15,0,0,21,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Wildspawn Hellcaller -In Phase 1 - Start Combat Movement'), -- cgit v1.2.3 From 3d9d76f31c22d19b680db3ad0332e1640efd830e Mon Sep 17 00:00:00 2001 From: ZxBiohazardZx Date: Fri, 6 Jan 2012 10:09:17 +0100 Subject: DB/Creature: Spell interruption is now part of DBC so can be removed from the mechanic immune masks --- sql/updates/world/2012_01_06_01_world_creature_template.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_06_01_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_06_01_world_creature_template.sql b/sql/updates/world/2012_01_06_01_world_creature_template.sql new file mode 100644 index 00000000000..c089209c16f --- /dev/null +++ b/sql/updates/world/2012_01_06_01_world_creature_template.sql @@ -0,0 +1,2 @@ +-- spell interrupt is loaded from DBC so can be removed from mechanic_immune_mask +UPDATE `creature_template` SET `mechanic_immune_mask`=`mechanic_immune_mask` &~33554432; -- cgit v1.2.3 From 14f309f72e1a2a9400724138f8265c7d8b40cef7 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:28:53 +0200 Subject: Ogre Heaven fix PrevQuestID by shlomi1515 Closes #2732 --- sql/updates/world/2011_12_30_02_world_misc.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 sql/updates/world/2011_12_30_02_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_30_02_world_misc.sql b/sql/updates/world/2011_12_30_02_world_misc.sql new file mode 100644 index 00000000000..5e52a80ab35 --- /dev/null +++ b/sql/updates/world/2011_12_30_02_world_misc.sql @@ -0,0 +1,4 @@ +-- Ogre Heaven fix PrevQuestID by shlomi1515 +-- Closes #2732 + +UPDATE quest_template SET PrevQuestID='11000' WHERE ID='11009'; -- cgit v1.2.3 From 6be242053f15e6d5bfec0eaef1b1ae5f37ea84e6 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:30:51 +0200 Subject: Tiger Matriarch Credit have no SAI script --- sql/updates/world/2011_12_30_04_world_misc.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2011_12_30_04_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_30_04_world_misc.sql b/sql/updates/world/2011_12_30_04_world_misc.sql new file mode 100644 index 00000000000..d59a5551f14 --- /dev/null +++ b/sql/updates/world/2011_12_30_04_world_misc.sql @@ -0,0 +1,2 @@ +-- Tiger Matriarch Credit have no SAI script +UPDATE `creature_template` SET `AIName`='' WHERE `entry`=40301; -- cgit v1.2.3 From 7d72c7fef425769292459dc88c352bea8d259792 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:31:47 +0200 Subject: Fix Report to Gryan Stoutmantle creature_questrelation values by nelegalno Closes #4461 --- sql/updates/world/2011_12_30_05_world_misc.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 sql/updates/world/2011_12_30_05_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_30_05_world_misc.sql b/sql/updates/world/2011_12_30_05_world_misc.sql new file mode 100644 index 00000000000..1ee9c8799ca --- /dev/null +++ b/sql/updates/world/2011_12_30_05_world_misc.sql @@ -0,0 +1,11 @@ +-- Fix Report to Gryan Stoutmantle creature_questrelation values by nelegalno +-- Closes #4461 + +DELETE FROM `creature_questrelation` WHERE `quest` = 109; +INSERT INTO `creature_questrelation` (`id`, `quest`) VALUES +(233, 109), -- Farmer Saldean +(237, 109), -- Farmer Furlbrow +(240, 109), -- Marshal Dughan +(261, 109), -- Guard Thomas +(294, 109), -- Marshal Haggard +(963, 109); -- Deputy Rainer -- cgit v1.2.3 From 7def2c7b2570e28635d5a8034ca1eaf9d78bf714 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:32:33 +0200 Subject: Drowned Guardian & Phylactery Guardian summoned NPC should not give XP fix by tobmaps Closes #1860 --- sql/updates/world/2011_12_30_06_world_misc.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sql/updates/world/2011_12_30_06_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_30_06_world_misc.sql b/sql/updates/world/2011_12_30_06_world_misc.sql new file mode 100644 index 00000000000..ecd6360b911 --- /dev/null +++ b/sql/updates/world/2011_12_30_06_world_misc.sql @@ -0,0 +1,3 @@ +-- Drowned Guardian & Phylactery Guardian summoned NPC should not give XP fix by tobmaps +-- Closes #1860 +UPDATE `creature_template` SET `flags_extra` = 64 WHERE `entry` IN (26225, 26224); -- cgit v1.2.3 From 40109fd041cdb2f63a27ea1cffd68cd4bcba2894 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:34:06 +0200 Subject: Fix Quest 11795, 11887 'Emergency Protocol: Section 8.2, Paragraph C', 'Emergency Supplies' by Pitcrawler Closes #2026 & #4187 --- sql/updates/world/2011_12_30_08_world_misc.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sql/updates/world/2011_12_30_08_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_30_08_world_misc.sql b/sql/updates/world/2011_12_30_08_world_misc.sql new file mode 100644 index 00000000000..df9a75bacd3 --- /dev/null +++ b/sql/updates/world/2011_12_30_08_world_misc.sql @@ -0,0 +1,25 @@ +-- Fix Quest 11795, 11887 'Emergency Protocol: Section 8.2, Paragraph C', 'Emergency Supplies' by Pitcrawler +-- Closes #2026 & #4187 + +SET @NPC :=25841; -- Fizzcrank Recon Pilot +SET @Gossip :=21248; + +DELETE FROM `gossip_menu_option` WHERE (`menu_id`=@Gossip AND `id`=1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(@Gossip,1,0,"Search the body for the pilot's insignia.",1,1,0,0,0,0,''); + +DELETE FROM `conditions` WHERE `SourceGroup`=21248; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@Gossip,0,0,9,11887,0,0,0,'',''), +(15,@Gossip,1,0,9,11795,0,0,0,'',''); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC,0,0,0,11,0,100,0,0,0,0,0,82,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On spawn - set gossip flag'), +(@NPC,0,1,2,62,0,100,0,@Gossip,0,0,0,11,46362,2,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On gossip option 0 select - cast spell'), +(@NPC,0,2,3,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - close gossip'), +(@NPC,0,3,7,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - remove gossip flag'), +(@NPC,0,4,5,62,0,100,0,@Gossip,1,0,0,11,46166,2,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On gossip option 1 select - cast spell'), +(@NPC,0,5,6,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - close gossip'), +(@NPC,0,6,7,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - remove gossip flag'), +(@NPC,0,7,0,61,0,100,0,0,0,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - Despawn'); -- cgit v1.2.3 From c3ac958c0ce7273a75dc6a08216c949d68e46e56 Mon Sep 17 00:00:00 2001 From: ZxBiohazardZx Date: Fri, 6 Jan 2012 12:38:48 +0100 Subject: DB/Achievements: add data to match Realm First! --- ...12_01_06_02_world_achievement_criteria_data.sql | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sql/updates/world/2012_01_06_02_world_achievement_criteria_data.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_06_02_world_achievement_criteria_data.sql b/sql/updates/world/2012_01_06_02_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..9e6dddfb949 --- /dev/null +++ b/sql/updates/world/2012_01_06_02_world_achievement_criteria_data.sql @@ -0,0 +1,24 @@ +DELETE FROM `achievement_criteria_data` WHERE criteria_id IN (5220, 5215, 5218, 5221, 5216, 5219, 5213, 5018, 5217, 5214, 5233, 5235, 5232, 5234, 5238, 5236, 5229, 5237, 5230, 5231); +INSERT INTO `achievement_criteria_data` VALUES +-- Classes +(5220,21, 1,0,''), -- Realm First! Level 80 Warrior +(5215,21, 2,0,''), -- Realm First! Level 80 Paladin +(5218,21, 3,0,''), -- Realm First! Level 80 Hunter +(5221,21, 4,0,''), -- Realm First! Level 80 Rogue +(5216,21, 5,0,''), -- Realm First! Level 80 Priest +(5219,21, 6,0,''), -- Realm First! Level 80 Death Knight +(5213,21, 7,0,''), -- Realm First! Level 80 Shaman +(5018,21, 8,0,''), -- Realm First! Level 80 Mage +(5217,21, 9,0,''), -- Realm First! Level 80 Warlock +(5214,21,11,0,''), -- Realm First! Level 80 Druid +-- Races +(5233,21,0,1,''), -- Realm First! Level 80 Human +(5235,21,0,2,''), -- Realm First! Level 80 Orc +(5232,21,0,3,''), -- Realm First! Level 80 Dwarf +(5234,21,0,4,''), -- Realm First! Level 80 Night Elf +(5238,21,0,5,''), -- Realm First! Level 80 Undead +(5236,21,0,6,''), -- Realm First! Level 80 Tauren +(5229,21,0,7,''), -- Realm First! Level 80 Gnome +(5237,21,0,8,''), -- Realm First! Level 80 Troll +(5230,21,0,10,''), -- Realm First! Level 80 Blood Elf +(5231,21,0,11,''); -- Realm First! Level 80 Draenei -- cgit v1.2.3 From 1122b7b3222c710f43c576c2e5e3dd0426aa474c Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:41:46 +0200 Subject: Fix Captain Vimes questrelation Closes #4569 --- sql/updates/world/2012_01_01_00_world_misc.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sql/updates/world/2012_01_01_00_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_01_00_world_misc.sql b/sql/updates/world/2012_01_01_00_world_misc.sql new file mode 100644 index 00000000000..4bbd2d371c8 --- /dev/null +++ b/sql/updates/world/2012_01_01_00_world_misc.sql @@ -0,0 +1,7 @@ +-- Fix Captain Vimes questrelation +-- Closes #4569 + +DELETE FROM `creature_questrelation` WHERE `quest`=1220; +INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES +(4947,1220), +(23951,1220); -- cgit v1.2.3 From 64d9be1a7d6a9d04734ddf979e7c79b7543811d4 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:42:49 +0200 Subject: Creatures with EAI flag set but no EAI script --- sql/updates/world/2012_01_01_01_world_misc.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2012_01_01_01_world_misc.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_01_01_world_misc.sql b/sql/updates/world/2012_01_01_01_world_misc.sql new file mode 100644 index 00000000000..412fab4dab2 --- /dev/null +++ b/sql/updates/world/2012_01_01_01_world_misc.sql @@ -0,0 +1,2 @@ +-- Creatures with EAI flag set but no EAI script +UPDATE `creature_template` SET `AIName` = '' WHERE `entry` IN (29329,29330,29333,29338); -- cgit v1.2.3 From f3b50ffe11d3bc5f75df0db7062f106de205be69 Mon Sep 17 00:00:00 2001 From: nelegalno Date: Fri, 6 Jan 2012 13:38:26 +0100 Subject: Db/Loot: Fix items dropped in Narain's Special Kit --- sql/updates/world/2012_01_06_03_world_item_loot_template.sql | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 sql/updates/world/2012_01_06_03_world_item_loot_template.sql (limited to 'sql') diff --git a/sql/updates/world/2012_01_06_03_world_item_loot_template.sql b/sql/updates/world/2012_01_06_03_world_item_loot_template.sql new file mode 100644 index 00000000000..e1d6cd94525 --- /dev/null +++ b/sql/updates/world/2012_01_06_03_world_item_loot_template.sql @@ -0,0 +1,8 @@ +-- Fix Decoy! (8606) quest items drop chance from Narain's Special Kit (21042) +SET @Kit := 21042; +DELETE FROM `item_loot_template` WHERE `entry`= @Kit; +INSERT INTO `item_loot_template` VALUES +(@Kit, 21037, 100, 1, 0, 1, 1), -- Crude Map +(@Kit, 21039, 100, 1, 0, 1, 1), -- Narain's Turban +(@Kit, 21040, 100, 1, 0, 1, 1), -- Narain's Robe +(@Kit, 21041, 100, 1, 0, 1, 1); -- Bag of Gold -- cgit v1.2.3 From 7f241e5b64f9f27b885f15965c810d32a97cb408 Mon Sep 17 00:00:00 2001 From: ZxBiohazardZx Date: Fri, 6 Jan 2012 13:54:34 +0100 Subject: DB/Commits: fix the filenaming on the files used in pull request from nelgano and fix some errors, please do not create pull requests for database fixes, the issuetracker will do... Closes #2732, #4461, #1860, #2026, #4187, #4569 --- sql/updates/world/2011_12_30_02_world_misc.sql | 4 ---- sql/updates/world/2011_12_30_04_world_misc.sql | 2 -- sql/updates/world/2011_12_30_05_world_misc.sql | 11 ---------- sql/updates/world/2011_12_30_06_world_misc.sql | 3 --- sql/updates/world/2011_12_30_08_world_misc.sql | 25 ---------------------- sql/updates/world/2012_01_01_00_world_misc.sql | 7 ------ sql/updates/world/2012_01_01_01_world_misc.sql | 2 -- .../2012_01_06_04_world_creature_questrelation.sql | 5 +++++ .../2012_01_06_05_world_creature_template.sql | 2 ++ .../world/2012_01_06_06_world_quest_template.sql | 2 ++ sql/updates/world/2012_01_06_07_world_sai.sql | 23 ++++++++++++++++++++ .../2012_01_06_08_world_creature_template.sql | 2 ++ .../2012_01_06_09_world_creature_questrelation.sql | 9 ++++++++ .../2012_01_06_10_world_creature_template.sql | 2 ++ 14 files changed, 45 insertions(+), 54 deletions(-) delete mode 100644 sql/updates/world/2011_12_30_02_world_misc.sql delete mode 100644 sql/updates/world/2011_12_30_04_world_misc.sql delete mode 100644 sql/updates/world/2011_12_30_05_world_misc.sql delete mode 100644 sql/updates/world/2011_12_30_06_world_misc.sql delete mode 100644 sql/updates/world/2011_12_30_08_world_misc.sql delete mode 100644 sql/updates/world/2012_01_01_00_world_misc.sql delete mode 100644 sql/updates/world/2012_01_01_01_world_misc.sql create mode 100644 sql/updates/world/2012_01_06_04_world_creature_questrelation.sql create mode 100644 sql/updates/world/2012_01_06_05_world_creature_template.sql create mode 100644 sql/updates/world/2012_01_06_06_world_quest_template.sql create mode 100644 sql/updates/world/2012_01_06_07_world_sai.sql create mode 100644 sql/updates/world/2012_01_06_08_world_creature_template.sql create mode 100644 sql/updates/world/2012_01_06_09_world_creature_questrelation.sql create mode 100644 sql/updates/world/2012_01_06_10_world_creature_template.sql (limited to 'sql') diff --git a/sql/updates/world/2011_12_30_02_world_misc.sql b/sql/updates/world/2011_12_30_02_world_misc.sql deleted file mode 100644 index 5e52a80ab35..00000000000 --- a/sql/updates/world/2011_12_30_02_world_misc.sql +++ /dev/null @@ -1,4 +0,0 @@ --- Ogre Heaven fix PrevQuestID by shlomi1515 --- Closes #2732 - -UPDATE quest_template SET PrevQuestID='11000' WHERE ID='11009'; diff --git a/sql/updates/world/2011_12_30_04_world_misc.sql b/sql/updates/world/2011_12_30_04_world_misc.sql deleted file mode 100644 index d59a5551f14..00000000000 --- a/sql/updates/world/2011_12_30_04_world_misc.sql +++ /dev/null @@ -1,2 +0,0 @@ --- Tiger Matriarch Credit have no SAI script -UPDATE `creature_template` SET `AIName`='' WHERE `entry`=40301; diff --git a/sql/updates/world/2011_12_30_05_world_misc.sql b/sql/updates/world/2011_12_30_05_world_misc.sql deleted file mode 100644 index 1ee9c8799ca..00000000000 --- a/sql/updates/world/2011_12_30_05_world_misc.sql +++ /dev/null @@ -1,11 +0,0 @@ --- Fix Report to Gryan Stoutmantle creature_questrelation values by nelegalno --- Closes #4461 - -DELETE FROM `creature_questrelation` WHERE `quest` = 109; -INSERT INTO `creature_questrelation` (`id`, `quest`) VALUES -(233, 109), -- Farmer Saldean -(237, 109), -- Farmer Furlbrow -(240, 109), -- Marshal Dughan -(261, 109), -- Guard Thomas -(294, 109), -- Marshal Haggard -(963, 109); -- Deputy Rainer diff --git a/sql/updates/world/2011_12_30_06_world_misc.sql b/sql/updates/world/2011_12_30_06_world_misc.sql deleted file mode 100644 index ecd6360b911..00000000000 --- a/sql/updates/world/2011_12_30_06_world_misc.sql +++ /dev/null @@ -1,3 +0,0 @@ --- Drowned Guardian & Phylactery Guardian summoned NPC should not give XP fix by tobmaps --- Closes #1860 -UPDATE `creature_template` SET `flags_extra` = 64 WHERE `entry` IN (26225, 26224); diff --git a/sql/updates/world/2011_12_30_08_world_misc.sql b/sql/updates/world/2011_12_30_08_world_misc.sql deleted file mode 100644 index df9a75bacd3..00000000000 --- a/sql/updates/world/2011_12_30_08_world_misc.sql +++ /dev/null @@ -1,25 +0,0 @@ --- Fix Quest 11795, 11887 'Emergency Protocol: Section 8.2, Paragraph C', 'Emergency Supplies' by Pitcrawler --- Closes #2026 & #4187 - -SET @NPC :=25841; -- Fizzcrank Recon Pilot -SET @Gossip :=21248; - -DELETE FROM `gossip_menu_option` WHERE (`menu_id`=@Gossip AND `id`=1); -INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES -(@Gossip,1,0,"Search the body for the pilot's insignia.",1,1,0,0,0,0,''); - -DELETE FROM `conditions` WHERE `SourceGroup`=21248; -INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES -(15,@Gossip,0,0,9,11887,0,0,0,'',''), -(15,@Gossip,1,0,9,11795,0,0,0,'',''); - -DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC AND `source_type`=0; -INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES -(@NPC,0,0,0,11,0,100,0,0,0,0,0,82,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On spawn - set gossip flag'), -(@NPC,0,1,2,62,0,100,0,@Gossip,0,0,0,11,46362,2,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On gossip option 0 select - cast spell'), -(@NPC,0,2,3,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - close gossip'), -(@NPC,0,3,7,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - remove gossip flag'), -(@NPC,0,4,5,62,0,100,0,@Gossip,1,0,0,11,46166,2,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On gossip option 1 select - cast spell'), -(@NPC,0,5,6,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - close gossip'), -(@NPC,0,6,7,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - remove gossip flag'), -(@NPC,0,7,0,61,0,100,0,0,0,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - Despawn'); diff --git a/sql/updates/world/2012_01_01_00_world_misc.sql b/sql/updates/world/2012_01_01_00_world_misc.sql deleted file mode 100644 index 4bbd2d371c8..00000000000 --- a/sql/updates/world/2012_01_01_00_world_misc.sql +++ /dev/null @@ -1,7 +0,0 @@ --- Fix Captain Vimes questrelation --- Closes #4569 - -DELETE FROM `creature_questrelation` WHERE `quest`=1220; -INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES -(4947,1220), -(23951,1220); diff --git a/sql/updates/world/2012_01_01_01_world_misc.sql b/sql/updates/world/2012_01_01_01_world_misc.sql deleted file mode 100644 index 412fab4dab2..00000000000 --- a/sql/updates/world/2012_01_01_01_world_misc.sql +++ /dev/null @@ -1,2 +0,0 @@ --- Creatures with EAI flag set but no EAI script -UPDATE `creature_template` SET `AIName` = '' WHERE `entry` IN (29329,29330,29333,29338); diff --git a/sql/updates/world/2012_01_06_04_world_creature_questrelation.sql b/sql/updates/world/2012_01_06_04_world_creature_questrelation.sql new file mode 100644 index 00000000000..e1dce65f3bc --- /dev/null +++ b/sql/updates/world/2012_01_06_04_world_creature_questrelation.sql @@ -0,0 +1,5 @@ +-- Fix Captain Vimes questrelation +DELETE FROM `creature_questrelation` WHERE `quest`=1220; +INSERT INTO `creature_questrelation` (`id`,`quest`) VALUES +(4947,1220), +(23951,1220); diff --git a/sql/updates/world/2012_01_06_05_world_creature_template.sql b/sql/updates/world/2012_01_06_05_world_creature_template.sql new file mode 100644 index 00000000000..412fab4dab2 --- /dev/null +++ b/sql/updates/world/2012_01_06_05_world_creature_template.sql @@ -0,0 +1,2 @@ +-- Creatures with EAI flag set but no EAI script +UPDATE `creature_template` SET `AIName` = '' WHERE `entry` IN (29329,29330,29333,29338); diff --git a/sql/updates/world/2012_01_06_06_world_quest_template.sql b/sql/updates/world/2012_01_06_06_world_quest_template.sql new file mode 100644 index 00000000000..4f58452d980 --- /dev/null +++ b/sql/updates/world/2012_01_06_06_world_quest_template.sql @@ -0,0 +1,2 @@ +-- Ogre Heaven fix PrevQuestID +UPDATE `quest_template` SET `PrevQuestID`=11000 WHERE `ID`=11009; diff --git a/sql/updates/world/2012_01_06_07_world_sai.sql b/sql/updates/world/2012_01_06_07_world_sai.sql new file mode 100644 index 00000000000..5d322367250 --- /dev/null +++ b/sql/updates/world/2012_01_06_07_world_sai.sql @@ -0,0 +1,23 @@ +-- Fix Quest 11795, 11887 'Emergency Protocol: Section 8.2, Paragraph C', 'Emergency Supplies' +SET @NPC :=25841; -- Fizzcrank Recon Pilot +SET @Gossip :=21248; + +DELETE FROM `gossip_menu_option` WHERE (`menu_id`=@Gossip AND `id`=1); +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`) VALUES +(@Gossip,1,0,"Search the body for the pilot's insignia.",1,1,0,0,0,0,''); + +DELETE FROM `conditions` WHERE `SourceGroup`=21248; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@Gossip,0,0,9,11887,0,0,0,'',''), +(15,@Gossip,1,0,9,11795,0,0,0,'',''); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=@NPC AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@NPC,0,0,0,11,0,100,0,0,0,0,0,82,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On spawn - set gossip flag'), +(@NPC,0,1,2,62,0,100,0,@Gossip,0,0,0,11,46362,2,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On gossip option 0 select - cast spell'), +(@NPC,0,2,3,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - close gossip'), +(@NPC,0,3,7,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - remove gossip flag'), +(@NPC,0,4,5,62,0,100,0,@Gossip,1,0,0,11,46166,2,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - On gossip option 1 select - cast spell'), +(@NPC,0,5,6,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - close gossip'), +(@NPC,0,6,7,61,0,100,0,0,0,0,0,83,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - remove gossip flag'), +(@NPC,0,7,0,61,0,100,0,0,0,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fizzcrank Recon Pilot - Despawn'); diff --git a/sql/updates/world/2012_01_06_08_world_creature_template.sql b/sql/updates/world/2012_01_06_08_world_creature_template.sql new file mode 100644 index 00000000000..d59a5551f14 --- /dev/null +++ b/sql/updates/world/2012_01_06_08_world_creature_template.sql @@ -0,0 +1,2 @@ +-- Tiger Matriarch Credit have no SAI script +UPDATE `creature_template` SET `AIName`='' WHERE `entry`=40301; diff --git a/sql/updates/world/2012_01_06_09_world_creature_questrelation.sql b/sql/updates/world/2012_01_06_09_world_creature_questrelation.sql new file mode 100644 index 00000000000..c2af677f047 --- /dev/null +++ b/sql/updates/world/2012_01_06_09_world_creature_questrelation.sql @@ -0,0 +1,9 @@ +-- Fix Report to Gryan Stoutmantle creature_questrelation values +DELETE FROM `creature_questrelation` WHERE `quest` = 109; +INSERT INTO `creature_questrelation` (`id`, `quest`) VALUES +(233,109), -- Farmer Saldean +(237,109), -- Farmer Furlbrow +(240,109), -- Marshal Dughan +(261,109), -- Guard Thomas +(294,109), -- Marshal Haggard +(963,109); -- Deputy Rainer diff --git a/sql/updates/world/2012_01_06_10_world_creature_template.sql b/sql/updates/world/2012_01_06_10_world_creature_template.sql new file mode 100644 index 00000000000..c121fd7424b --- /dev/null +++ b/sql/updates/world/2012_01_06_10_world_creature_template.sql @@ -0,0 +1,2 @@ +-- Drowned Guardian & Phylactery Guardian summoned NPC should not give XP +UPDATE `creature_template` SET `flags_extra`=`flags_extra`|64 WHERE `entry` IN (26225,26224); -- cgit v1.2.3