From 42a80ceaafe14ccb44b212cd7629e59efd89a1e6 Mon Sep 17 00:00:00 2001 From: joschiwald Date: Thu, 23 Jun 2011 21:18:11 +0200 Subject: Scripts/Gundrak: Properly fixed achievement What the Eck? --- sql/updates/world/2011_06_23_04_world_achievement_criteria_data.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/2011_06_23_04_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_23_04_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_23_04_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..e827105a94e --- /dev/null +++ b/sql/updates/world/2011_06_23_04_world_achievement_criteria_data.sql @@ -0,0 +1,5 @@ +DELETE FROM `disables` WHERE `entry`=7136 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7136 AND `type`=5; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) VALUES +(7136,5,55817,0,''); -- cgit v1.2.3 From 327c5d65bd889b0e44f7630c5d2226b83b63c97a Mon Sep 17 00:00:00 2001 From: Lopin Date: Thu, 23 Jun 2011 21:20:54 +0200 Subject: Scripts/Azjol'Nerub: Properly fixed achievement Watch Him Die and remove forgotten stuff from last recent commit --- ...11_06_23_05_world_achievement_criteria_data.sql | 6 ++ .../AzjolNerub/boss_krikthir_the_gatewatcher.cpp | 67 ++++++++++++---------- .../scripts/Northrend/Gundrak/boss_gal_darah.cpp | 20 ------- 3 files changed, 42 insertions(+), 51 deletions(-) create mode 100644 sql/updates/world/2011_06_23_05_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_23_05_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_23_05_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..6e39da9abb4 --- /dev/null +++ b/sql/updates/world/2011_06_23_05_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=4240 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=4240 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(4240,11,0,0,'achievement_watch_him_die'); diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp index 71063c9a80b..0affcc59605 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp @@ -75,11 +75,6 @@ enum Yells SAY_PREFIGHT_3 = -1601019 }; -enum Misc -{ - ACHIEV_WATH_HIM_DIE = 1296 -}; - const Position SpawnPoint[] = { { 566.164f, 682.087f, 769.079f, 2.21657f }, @@ -186,24 +181,8 @@ public: { DoScriptText(SAY_DEATH, me); - if (!pInstance) - return; - - pInstance->SetData(DATA_KRIKTHIR_THE_GATEWATCHER_EVENT, DONE); - //Achievement: Watch him die - Creature *pAdd = Unit::GetCreature(*me, pInstance->GetData64(DATA_WATCHER_GASHRA)); - if (!pAdd || !pAdd->isAlive()) - return; - - pAdd = Unit::GetCreature(*me, pInstance->GetData64(DATA_WATCHER_SILTHIK)); - if (!pAdd || !pAdd->isAlive()) - return; - - pAdd = Unit::GetCreature(*me, pInstance->GetData64(DATA_WATCHER_NARJIL)); - if (!pAdd || !pAdd->isAlive()) - return; - - pInstance->DoCompleteAchievement(ACHIEV_WATH_HIM_DIE); + if (pInstance) + pInstance->SetData(DATA_KRIKTHIR_THE_GATEWATCHER_EVENT, DONE); } void KilledUnit(Unit* victim) @@ -551,14 +530,40 @@ public: } }; +class achievement_watch_him_die : public AchievementCriteriaScript +{ + public: + achievement_watch_him_die() : AchievementCriteriaScript("achievement_watch_him_die") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + InstanceScript* instance = target->GetInstanceScript(); + Creature* Watcher[3]; + if (!instance) + return false; + + for (uint8 n = 0; n < 3; ++n) + { + Watcher[n] = ObjectAccessor::GetCreature(*target, instance->GetData64(DATA_WATCHER_GASHRA + n)); + if (Watcher[n] && !Watcher[n]->isAlive()) + return false; + } + + return true; + } +}; + void AddSC_boss_krik_thir() { - new boss_krik_thir; - new npc_skittering_infector; - new npc_anub_ar_skirmisher; - new npc_anub_ar_shadowcaster; - new npc_watcher_gashra; - new npc_anub_ar_warrior; - new npc_watcher_silthik; - new npc_watcher_narjil; + new boss_krik_thir(); + new npc_skittering_infector(); + new npc_anub_ar_skirmisher(); + new npc_anub_ar_shadowcaster(); + new npc_watcher_gashra(); + new npc_anub_ar_warrior(); + new npc_watcher_silthik(); + new npc_watcher_narjil(); + new achievement_watch_him_die(); } diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp index 93acb74cee6..6adf8314d5e 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp @@ -32,7 +32,6 @@ enum Spells SPELL_STAMPEDE = 55218, SPELL_WHIRLING_SLASH = 55250, H_SPELL_WHIRLING_SLASH = 59824, - SPELL_ECK_RESIDUE = 55817 }; //Yells @@ -50,11 +49,6 @@ enum Yells SAY_TRANSFORM_2 = -1604009 }; -enum Achievements -{ - ACHIEV_WHAT_THE_ECK = 1864, -}; - enum Displays { DISPLAY_RHINO = 26265, @@ -276,21 +270,7 @@ public: DoScriptText(SAY_DEATH, me); if (pInstance) - { - if (IsHeroic()) - { - AchievementEntry const *achievWhatTheEck = GetAchievementStore()->LookupEntry(ACHIEV_WHAT_THE_ECK); - if (achievWhatTheEck) - { - Map::PlayerList const &players = pInstance->instance->GetPlayers(); - for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) - if (itr->getSource()->HasAura(SPELL_ECK_RESIDUE)) - itr->getSource()->CompletedAchievement(achievWhatTheEck); - } - } - pInstance->SetData(DATA_GAL_DARAH_EVENT, DONE); - } } void KilledUnit(Unit* victim) -- cgit v1.2.3 From 36d6ca471115b101ffb62d7cd4b994ba3b6347fd Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Thu, 23 Jun 2011 21:24:20 +0200 Subject: Scripts/Ulduar: Fixed Sentinel Blast affecting whole instance and small typo in a script --- .../2011_06_23_06_world_spell_script_names.sql | 5 +++ .../Northrend/Ulduar/ulduar/boss_auriaya.cpp | 41 ++++++++++++++++++---- 2 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 sql/updates/world/2011_06_23_06_world_spell_script_names.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_23_06_world_spell_script_names.sql b/sql/updates/world/2011_06_23_06_world_spell_script_names.sql new file mode 100644 index 00000000000..33d20e467c6 --- /dev/null +++ b/sql/updates/world/2011_06_23_06_world_spell_script_names.sql @@ -0,0 +1,5 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` IN (64679,64392); +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) +VALUES +(64679,'spell_auriaya_sentinel_blast'), +(64392,'spell_auriaya_sentinel_blast'); diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_auriaya.cpp index ee0dd85519c..051fd1ad5f7 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_auriaya.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_auriaya.cpp @@ -113,7 +113,7 @@ class boss_auriaya : public CreatureScript { _Reset(); DefenderGUID = 0; - defenderLifes = 8; + defenderLives = 8; crazyCatLady = true; nineLives = false; } @@ -165,8 +165,8 @@ class boss_auriaya : public CreatureScript SetData(DATA_CRAZY_CAT_LADY, 0); break; case ACTION_RESPAWN_DEFENDER: - --defenderLifes; - if (!defenderLifes) + --defenderLives; + if (!defenderLives) { SetData(DATA_NINE_LIVES, 1); break; @@ -247,8 +247,8 @@ class boss_auriaya : public CreatureScript if (Creature* Defender = ObjectAccessor::GetCreature(*me, DefenderGUID)) { Defender->Respawn(); - if (defenderLifes) - Defender->SetAuraStack(SPELL_FERAL_ESSENCE, Defender, defenderLifes); + if (defenderLives) + Defender->SetAuraStack(SPELL_FERAL_ESSENCE, Defender, defenderLives); Defender->SetInCombatWithZone(); if (!Defender->isInCombat()) Defender->AI()->AttackStart(me->getVictim()); @@ -273,7 +273,7 @@ class boss_auriaya : public CreatureScript private: uint64 DefenderGUID; - uint8 defenderLifes; + uint8 defenderLives; bool crazyCatLady; bool nineLives; }; @@ -507,6 +507,34 @@ class spell_auriaya_strenght_of_the_pack : public SpellScriptLoader } }; +class spell_auriaya_sentinel_blast : public SpellScriptLoader +{ + public: + spell_auriaya_sentinel_blast() : SpellScriptLoader("spell_auriaya_sentinel_blast") { } + + class spell_auriaya_sentinel_blast_SpellScript : public SpellScript + { + PrepareSpellScript(spell_auriaya_sentinel_blast_SpellScript); + + void FilterTargets(std::list& unitList) + { + unitList.remove_if(PlayerOrPetCheck()); + } + + void Register() + { + OnUnitTargetSelect += SpellUnitTargetFn(spell_auriaya_sentinel_blast_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_AREA_ENEMY_SRC); + OnUnitTargetSelect += SpellUnitTargetFn(spell_auriaya_sentinel_blast_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_AREA_ENEMY_SRC); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_auriaya_sentinel_blast_SpellScript(); + } +}; + + class achievement_nine_lives : public AchievementCriteriaScript { public: @@ -548,6 +576,7 @@ void AddSC_boss_auriaya() new npc_feral_defender(); new npc_sanctum_sentry(); new spell_auriaya_strenght_of_the_pack(); + new spell_auriaya_sentinel_blast(); new achievement_nine_lives(); new achievement_crazy_cat_lady(); } -- cgit v1.2.3 From 08d5dd5a6551486730a3ae00ac0fde692c25bf22 Mon Sep 17 00:00:00 2001 From: Malcrom Date: Fri, 24 Jun 2011 03:22:04 +0200 Subject: DB/Waypoints: Add waypoints for a ton of creatures: Signed-off-by: click --- sql/updates/world/2011_06_23_07_world_misc.sql | 959 +++++++++++++++++++++++++ 1 file changed, 959 insertions(+) create mode 100644 sql/updates/world/2011_06_23_07_world_misc.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_23_07_world_misc.sql b/sql/updates/world/2011_06_23_07_world_misc.sql new file mode 100644 index 00000000000..e160887bfbc --- /dev/null +++ b/sql/updates/world/2011_06_23_07_world_misc.sql @@ -0,0 +1,959 @@ +-- Pathing for Arctic Ram Entry: 26426 +SET @NPC := 133248; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3509.64,`position_y`=-750.9414,`position_z`=294.3868 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,3511.387,-733.5805,299.6368,49000,0,0,100,0), +(@PATH,2,3509.64,-750.9414,294.3868,0,0,0,100,0), +(@PATH,3,3498.443,-768.702,291.2594,0,0,0,100,0), +(@PATH,4,3509.64,-750.9414,294.3868,0,0,0,100,0); + +-- Pathing for Illusia Lune Entry: 27042 +SET @NPC := 133617; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3647.948,`position_y`=-717.1948,`position_z`=215.0342 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,3648.265,-715.3195,215.0314,0,0,0,100,0), +(@PATH,2,3644.507,-714.7984,214.2407,0,0,0,100,0), +(@PATH,3,3635.043,-713.5746,214.2407,0,0,0,100,0), +(@PATH,4,3644.625,-714.8554,214.2407,0,0,0,100,0), +(@PATH,5,3648.25,-715.2807,215.0314,0,0,0,100,0), +(@PATH,6,3647.977,-717.1859,215.0342,0,0,0,100,0), +(@PATH,7,3655.216,-718.0604,215.0296,0,0,0,100,0), +(@PATH,8,3647.948,-717.1948,215.0342,0,0,0,100,0); + +-- Pathing for Ordal McLumpkins Entry: 27044 +SET @NPC := 133619; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3621.722,`position_y`=-718.3648,`position_z`=215.0349 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,2,3619.423,-714.603,215.0349,35000,0,@PATH+1,100,0), +(@PATH,4,3616.081,-716.1984,215.0349,50000,0,@PATH+2,100,0), +(@PATH,6,3621.722,-718.3648,215.0349,35000,0,@PATH+2,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2,@PATH+3); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,0,30,0,0,1.466077,846), +(@PATH+1,1,2,83,69,0,847), +(@PATH+2,0,30,0,0,4.639134,848), +(@PATH+2,1,2,83,69,0,849); + +-- Pathing for Hulking Jormungar Entry: 26293 +SET @NPC := 113071; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4686.325,`position_y`=338.1416,`position_z`=116.9954 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,4700.168,367.0156,118.5855,0,0,0,100,0), +(@PATH,2,4731.135,364.8878,126.2894,0,0,0,100,0), +(@PATH,3,4743.483,343.251,129.0478,0,0,0,100,0), +(@PATH,4,4713.793,315.9503,120.7992,0,0,0,100,0), +(@PATH,5,4686.325,338.1416,116.9954,0,0,0,100,0); + +-- Pathing for Magnataur Patriarch Entry: 26295 +SET @NPC := 113266; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4049.302,`position_y`=-29.04574,`position_z`=55.26999 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,4047.976,-37.78185,55.98508,0,0,0,100,0), +(@PATH,2,4047.698,-50.11871,53.98508,0,0,0,100,0), +(@PATH,3,4047.976,-37.78185,55.98508,0,0,0,100,0), +(@PATH,4,4049.302,-29.04574,55.26999,0,0,0,100,0), +(@PATH,5,4047.754,-16.93381,53.89499,0,0,0,100,0), +(@PATH,6,4049.302,-29.04574,55.26999,0,0,0,100,0); + +-- Pathing for Crystalline Ice Elemental Entry: 26316 +SET @NPC := 115062; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4860.147,`position_y`=992.9332,`position_z`=210.192 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,4869.752,1002.653,215.5425,0,0,0,100,0), +(@PATH,2,4860.147,992.9332,210.192,0,0,0,100,0), +(@PATH,3,4850.6,983.3943,204.442,0,0,0,100,0), +(@PATH,4,4844.505,971.259,198.692,0,0,0,100,0), +(@PATH,5,4858.342,938.2769,188.1321,0,0,0,100,0), +(@PATH,6,4844.505,971.259,198.692,0,0,0,100,0), +(@PATH,7,4850.6,983.3943,204.442,0,0,0,100,0), +(@PATH,8,4860.147,992.9332,210.192,0,0,0,100,0); + +-- Pathing for Crystalline Ice Elemental Entry: 26316 +SET @NPC := 115054; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4917.303,`position_y`=924.0703,`position_z`=223.1336 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,4929.146,915.8573,220.6336,0,0,0,100,0), +(@PATH,2,4940.256,927.373,227.7124,0,0,0,100,0), +(@PATH,3,4941.91,938.2441,233.9879,0,0,0,100,0), +(@PATH,4,4938.07,947.0781,238.7379,0,0,0,100,0), +(@PATH,5,4917.303,924.0703,223.1336,0,0,0,100,0); + +-- Pathing for Crystalline Ice Giant Entry: 26291 +SET @NPC := 112865; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4770.23,`position_y`=469.9691,`position_z`=111.7675 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,4796.084,455.2377,109.338,54000,0,@PATH+1,100,0), +(@PATH,2,4770.23,469.9691,111.7675,22000,0,@PATH+2,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,0,30,0,0,2.9147,850), +(@PATH+2,0,30,0,0,5.201081,851); + +-- Pathing for Crystalline Ice Giant Entry: 26291 +SET @NPC := 112866; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=4874.087,`position_y`=452.3281,`position_z`=115.6979 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,4888.814,445.456,118.1979,5000,0,@PATH+1,100,0), +(@PATH,2,4901.041,426.041,116.2949,0,0,0,100,0), +(@PATH,3,4901.041,426.041,116.2949,6000,0,@PATH+2,100,0), +(@PATH,4,4874.087,452.3281,115.6979,0,0,0,100,0), +(@PATH,5,4874.087,452.3281,115.6979,8000,0,@PATH+3,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2,@PATH+3); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,0,30,0,0,0.8552113,852), +(@PATH+2,0,30,0,0,0.8901179,853), +(@PATH+3,0,30,0,0,0.06981317,854); + +-- Pathing for Rabbit Entry: 721 +SET @NPC := 115702; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=5753.539,`position_y`=772.873,`position_z`=640.8826 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,5767.785,754.2614,641.7114,0,0,0,100,0), +(@PATH,2,5773.825,766.6644,640.7427,0,0,0,100,0), +(@PATH,3,5767.785,754.2614,641.7114,5000,0,0,100,0), +(@PATH,4,5753.539,772.873,640.8826,0,0,0,100,0), +(@PATH,5,5748.938,764.3101,641.9448,0,0,0,100,0), +(@PATH,6,5733.615,778.2639,641.7114,0,0,0,100,0), +(@PATH,7,5737.831,782.386,641.448,0,0,0,100,0), +(@PATH,8,5740.602,787.1411,641.0325,0,0,0,100,0), +(@PATH,9,5733.241,793.4806,640.9481,0,0,0,100,0), +(@PATH,10,5722.088,796.697,641.5259,0,0,0,100,0), +(@PATH,11,5726.339,806.3635,640.8337,0,0,0,100,0), +(@PATH,12,5722.138,815.5085,640.8914,0,0,0,100,0), +(@PATH,13,5714.45,821.5867,641.2027,0,0,0,100,0), +(@PATH,14,5700.078,828.2365,641.8647,0,0,0,100,0), +(@PATH,15,5698.136,820.8531,641.5467,0,0,0,100,0), +(@PATH,16,5709.789,810.5593,641.5497,0,0,0,100,0), +(@PATH,17,5698.065,820.5817,641.5533,0,0,0,100,0), +(@PATH,18,5700.078,828.2365,641.8647,0,0,0,100,0), +(@PATH,19,5714.45,821.5867,641.2027,0,0,0,100,0), +(@PATH,20,5722.138,815.5085,640.8914,0,0,0,100,0), +(@PATH,21,5726.339,806.3635,640.8337,0,0,0,100,0), +(@PATH,22,5722.088,796.697,641.5259,0,0,0,100,0), +(@PATH,23,5733.241,793.4806,640.9481,0,0,0,100,0), +(@PATH,24,5740.602,787.1411,641.0325,0,0,0,100,0), +(@PATH,25,5737.831,782.386,641.448,0,0,0,100,0), +(@PATH,26,5733.615,778.2639,641.7114,0,0,0,100,0), +(@PATH,27,5748.938,764.3101,641.9448,0,0,0,100,0), +(@PATH,28,5753.539,772.873,640.8826,0,0,0,100,0); + +-- Pathing for Putrid Wight Entry: 23992 +SET @NPC := 113344; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2668.823,`position_y`=-3746.312,`position_z`=249.9565 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2646.826,-3743.444,246.5889,0,0,0,100,0), +(@PATH,2,2629.433,-3732.29,245.4538,0,0,0,100,0), +(@PATH,3,2623.224,-3719.469,245.4964,0,0,0,100,0), +(@PATH,4,2627.88,-3711.047,246.3409,0,0,0,100,0), +(@PATH,5,2639.799,-3709.354,243.2022,0,0,0,100,0), +(@PATH,6,2647.973,-3713.873,239.3536,0,0,0,100,0), +(@PATH,7,2655.269,-3720.628,235.0643,0,0,0,100,0), +(@PATH,8,2664.609,-3723.947,230.2771,0,0,0,100,0), +(@PATH,9,2672.977,-3721.034,225.9482,0,0,0,100,0), +(@PATH,10,2680.715,-3711.313,221.8469,6000,0,0,100,0), +(@PATH,11,2677.229,-3716.424,222.8778,0,0,0,100,0), +(@PATH,12,2668.853,-3722.688,228.2985,0,0,0,100,0), +(@PATH,13,2659.52,-3723.743,232.6282,0,0,0,100,0), +(@PATH,14,2651.728,-3716.389,237.3867,0,0,0,100,0), +(@PATH,15,2643.281,-3709.406,241.6877,0,0,0,100,0), +(@PATH,16,2632.315,-3711.092,245.6459,0,0,0,100,0), +(@PATH,17,2624.75,-3717.884,245.7113,0,0,0,100,0), +(@PATH,18,2624.219,-3728.446,245.2014,0,0,0,100,0), +(@PATH,19,2631.771,-3736.979,245.6085,0,0,0,100,0), +(@PATH,20,2643.255,-3747.242,246.4638,0,0,0,100,0), +(@PATH,21,2655.134,-3751.437,248.9429,0,0,0,100,0), +(@PATH,22,2662.831,-3751.152,249.8362,0,0,0,100,0), +(@PATH,23,2668.823,-3746.312,249.9565,8000,0,0,100,0); + +-- Pathing for Putrid Wight Entry: 23992 +SET @NPC := 113343; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2785.402,`position_y`=-3613.447,`position_z`=250.922 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2785.402,-3613.447,250.922,0,0,0,100,0), +(@PATH,2,2785.44,-3590.348,251.3575,0,0,0,100,0), +(@PATH,3,2780.647,-3566.933,248.1158,0,0,0,100,0), +(@PATH,4,2776.989,-3563.271,247.6174,6000,0,0,100,0), +(@PATH,5,2786.118,-3579.14,249.4645,0,0,0,100,0), +(@PATH,6,2789.177,-3593.625,250.844,0,0,0,100,0), +(@PATH,7,2784.655,-3606.138,251.7757,0,0,0,100,0), +(@PATH,8,2778.348,-3606.077,253.5872,0,0,0,100,0), +(@PATH,9,2781.997,-3610.31,252.2005,0,0,0,100,0), +(@PATH,10,2789.771,-3615.286,249.8559,0,0,0,100,0), +(@PATH,11,2796.63,-3628.361,248.4757,0,0,0,100,0), +(@PATH,12,2798.595,-3636.199,247.7422,0,0,0,100,0), +(@PATH,13,2794.572,-3637.352,248.0836,0,0,0,100,0), +(@PATH,14,2806.817,-3639.35,246.4777,0,0,0,100,0), +(@PATH,15,2815.37,-3643.385,242.7697,0,0,0,100,0), +(@PATH,16,2817.436,-3655.363,242.607,0,0,0,100,0), +(@PATH,17,2803.864,-3660.431,246.2676,0,0,0,100,0), +(@PATH,18,2790.148,-3659.774,245.6176,0,0,0,100,0), +(@PATH,19,2783.257,-3650.315,241.2681,0,0,0,100,0), +(@PATH,20,2778.241,-3638.333,235.9849,0,0,0,100,0), +(@PATH,21,2771.057,-3630.219,230.9954,0,0,0,100,0), +(@PATH,22,2761.502,-3627.29,226.378,0,0,0,100,0), +(@PATH,23,2751.042,-3632.291,221.8077,6000,0,0,100,0), +(@PATH,24,2754.787,-3630.722,223.3591,0,0,0,100,0), +(@PATH,25,2766.29,-3628.396,228.8643,0,0,0,100,0), +(@PATH,26,2774.306,-3633.359,232.863,0,0,0,100,0), +(@PATH,27,2779.261,-3642.92,237.6714,0,0,0,100,0), +(@PATH,28,2785.011,-3652.979,242.7388,0,0,0,100,0), +(@PATH,29,2792.728,-3659.369,246.4393,0,0,0,100,0), +(@PATH,30,2806.87,-3658.866,245.5233,0,0,0,100,0), +(@PATH,31,2817.342,-3650.064,242.2243,0,0,0,100,0), +(@PATH,32,2799.635,-3631.787,247.9718,0,0,0,100,0), +(@PATH,33,2785.402,-3613.447,250.922,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 97230; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24014,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2809.687,`position_y`=-3622.016,`position_z`=161.3961 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2814.799,-3624.542,161.3958,0,0,0,100,0), +(@PATH,2,2823.035,-3625.648,161.3949,0,0,0,100,0), +(@PATH,3,2829.876,-3624.724,161.3975,0,0,0,100,0), +(@PATH,4,2836.048,-3620.994,161.3983,0,0,0,100,0), +(@PATH,5,2841.855,-3615.051,161.3947,0,0,0,100,0), +(@PATH,6,2844.207,-3609.994,161.3975,0,0,0,100,0), +(@PATH,7,2845.186,-3601.875,161.3951,0,0,0,100,0), +(@PATH,8,2844.337,-3594.973,161.3975,0,0,0,100,0), +(@PATH,9,2840.764,-3588.99,161.3957,0,0,0,100,0), +(@PATH,10,2834.76,-3583.182,161.3952,0,0,0,100,0), +(@PATH,11,2829.575,-3580.736,161.3979,0,0,0,100,0), +(@PATH,12,2821.425,-3579.65,161.3952,0,0,0,100,0), +(@PATH,13,2814.341,-3580.5,161.4046,0,0,0,100,0), +(@PATH,14,2808.07,-3583.772,161.4029,0,0,0,100,0), +(@PATH,15,2802.685,-3590.109,161.395,0,0,0,100,0), +(@PATH,16,2800.225,-3595.279,161.3977,0,0,0,100,0), +(@PATH,17,2799.105,-3603.418,161.3947,0,0,0,100,0), +(@PATH,18,2800.01,-3610.333,161.3973,0,0,0,100,0), +(@PATH,19,2803.705,-3616.418,161.3981,0,0,0,100,0), +(@PATH,20,2809.687,-3622.016,161.3961,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 97248; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24014,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2824.036,`position_y`=-3624.829,`position_z`=221.4252 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2816.773,-3623.985,221.4255,0,0,0,100,0), +(@PATH,2,2809.992,-3621.294,221.4247,0,0,0,100,0), +(@PATH,3,2803.77,-3615.729,221.4243,0,0,0,100,0), +(@PATH,4,2800.449,-3608.825,221.4259,0,0,0,100,0), +(@PATH,5,2799.794,-3601.215,221.4245,0,0,0,100,0), +(@PATH,6,2802.056,-3593.389,221.4274,0,0,0,100,0), +(@PATH,7,2806.402,-3587.211,221.4274,0,0,0,100,0), +(@PATH,8,2812.614,-3583.304,221.4273,0,0,0,100,0), +(@PATH,9,2819.016,-3581.604,221.4285,0,0,0,100,0), +(@PATH,10,2825.446,-3581.84,221.4301,0,0,0,100,0), +(@PATH,11,2831.818,-3583.644,221.4293,0,0,0,100,0), +(@PATH,12,2836.348,-3587.178,221.4313,0,0,0,100,0), +(@PATH,13,2839.835,-3592.544,221.434,0,0,0,100,0), +(@PATH,14,2842.145,-3599.79,221.4294,0,0,0,100,0), +(@PATH,15,2843.347,-3608.321,221.4291,0,0,0,100,0), +(@PATH,16,2840.997,-3614.059,221.4281,0,0,0,100,0), +(@PATH,17,2836.926,-3619.116,221.4238,0,0,0,100,0), +(@PATH,18,2831.312,-3622.841,221.4241,0,0,0,100,0), +(@PATH,19,2824.036,-3624.829,221.4252,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 97260; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24014,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2586.513,`position_y`=-3756.084,`position_z`=161.398 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2594.313,-3758.43,161.3953,0,0,0,100,0), +(@PATH,2,2601.175,-3758.778,161.3977,0,0,0,100,0), +(@PATH,3,2607.68,-3756.348,161.3983,0,0,0,100,0), +(@PATH,4,2614.385,-3751.512,161.3951,0,0,0,100,0), +(@PATH,5,2617.877,-3746.704,161.3976,0,0,0,100,0), +(@PATH,6,2620.328,-3738.942,161.3956,0,0,0,100,0), +(@PATH,7,2620.506,-3731.859,161.3961,0,0,0,100,0), +(@PATH,8,2618.016,-3725.396,161.3984,0,0,0,100,0), +(@PATH,9,2612.961,-3718.617,161.3952,0,0,0,100,0), +(@PATH,10,2608.518,-3715.498,161.398,0,0,0,100,0), +(@PATH,11,2600.665,-3713.045,161.3954,0,0,0,100,0), +(@PATH,12,2593.633,-3712.684,161.4046,0,0,0,100,0), +(@PATH,13,2586.809,-3714.743,161.4106,0,0,0,100,0), +(@PATH,14,2580.48,-3720.084,161.3953,0,0,0,100,0), +(@PATH,15,2577.218,-3724.641,161.3979,0,0,0,100,0), +(@PATH,16,2574.743,-3732.453,161.3959,0,0,0,100,0), +(@PATH,17,2574.244,-3739.552,161.3972,0,0,0,100,0), +(@PATH,18,2576.927,-3746.14,161.3958,0,0,0,100,0), +(@PATH,19,2581.687,-3752.61,161.398,0,0,0,100,0), +(@PATH,20,2586.513,-3756.084,161.398,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 203503; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2603.992,`position_y`=-3713.681,`position_z`=141.3663 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2597.609,-3712.674,141.3633,0,0,0,100,0), +(@PATH,2,2593.398,-3712.327,141.3879,0,0,0,100,0), +(@PATH,3,2587.152,-3715.266,141.3655,0,0,0,100,0), +(@PATH,4,2580.309,-3720.183,141.3624,0,0,0,100,0), +(@PATH,5,2576.709,-3724.49,141.3625,0,0,0,100,0), +(@PATH,6,2574.215,-3732.656,141.3617,0,0,0,100,0), +(@PATH,7,2574.386,-3739.554,141.3635,0,0,0,100,0), +(@PATH,8,2576.045,-3746.666,141.3606,0,0,0,100,0), +(@PATH,9,2579.443,-3751.851,141.3886,0,0,0,100,0), +(@PATH,10,2584.13,-3754.667,141.3627,0,0,0,100,0), +(@PATH,11,2590.743,-3758.33,141.3646,0,0,0,100,0), +(@PATH,12,2597.277,-3758.514,141.364,0,0,0,100,0), +(@PATH,13,2605.202,-3757.24,141.363,0,0,0,100,0), +(@PATH,14,2611.11,-3754.3,141.3651,0,0,0,100,0), +(@PATH,15,2616.42,-3749.062,141.363,0,0,0,100,0), +(@PATH,16,2619.533,-3741.9,141.3637,0,0,0,100,0), +(@PATH,17,2620.534,-3736.029,141.3637,0,0,0,100,0), +(@PATH,18,2618.751,-3727.877,141.3636,0,0,0,100,0), +(@PATH,19,2616.373,-3722.089,141.3558,0,0,0,100,0), +(@PATH,20,2610.62,-3717.114,141.3638,0,0,0,100,0), +(@PATH,21,2603.992,-3713.681,141.3663,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 115178; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2810.375,`position_y`=-3582.374,`position_z`=141.3599 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2805.214,-3586.358,141.3641,0,0,0,100,0), +(@PATH,2,2801.175,-3592.824,141.363,0,0,0,100,0), +(@PATH,3,2798.759,-3600.248,141.3618,0,0,0,100,0), +(@PATH,4,2799.583,-3606.401,141.3644,0,0,0,100,0), +(@PATH,5,2802.503,-3614.063,141.3632,0,0,0,100,0), +(@PATH,6,2805.852,-3619.302,141.3641,0,0,0,100,0), +(@PATH,7,2812.384,-3623.335,141.3662,0,0,0,100,0), +(@PATH,8,2819.554,-3625.753,141.3661,0,0,0,100,0), +(@PATH,9,2825.986,-3625.251,141.364,0,0,0,100,0), +(@PATH,10,2833.809,-3622.541,141.3623,0,0,0,100,0), +(@PATH,11,2838.974,-3618.843,141.3642,0,0,0,100,0), +(@PATH,12,2843.044,-3612.401,141.3634,0,0,0,100,0), +(@PATH,13,2845.442,-3605.066,141.3624,0,0,0,100,0), +(@PATH,14,2845.091,-3598.814,141.3633,0,0,0,100,0), +(@PATH,15,2842.213,-3590.969,141.3621,0,0,0,100,0), +(@PATH,16,2838.518,-3585.883,141.3633,0,0,0,100,0), +(@PATH,17,2831.972,-3581.769,141.3635,0,0,0,100,0), +(@PATH,18,2824.755,-3579.538,141.3658,0,0,0,100,0), +(@PATH,19,2818.303,-3579.807,141.3651,0,0,0,100,0), +(@PATH,20,2810.375,-3582.374,141.3599,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 97251; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24014,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2801.415,`position_y`=-3592.805,`position_z`=181.4086 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2805.63,-3586.741,181.4093,0,0,0,100,0), +(@PATH,2,2810.837,-3582.852,181.4067,0,0,0,100,0), +(@PATH,3,2818.372,-3579.891,181.4075,0,0,0,100,0), +(@PATH,4,2824.698,-3579.42,181.4061,0,0,0,100,0), +(@PATH,5,2831.986,-3581.824,181.4095,0,0,0,100,0), +(@PATH,6,2838.559,-3585.897,181.4075,0,0,0,100,0), +(@PATH,7,2842.173,-3590.988,181.4084,0,0,0,100,0), +(@PATH,8,2845.01,-3598.905,181.3987,0,0,0,100,0), +(@PATH,9,2845.163,-3605.083,181.4067,0,0,0,100,0), +(@PATH,10,2842.933,-3612.533,181.4066,0,0,0,100,0), +(@PATH,11,2839.144,-3618.943,181.4076,0,0,0,100,0), +(@PATH,12,2833.877,-3622.96,181.4045,0,0,0,100,0), +(@PATH,13,2826.177,-3625.395,181.4086,0,0,0,100,0), +(@PATH,14,2819.915,-3625.802,181.4059,0,0,0,100,0), +(@PATH,15,2812.322,-3623.443,181.3985,0,0,0,100,0), +(@PATH,16,2805.912,-3619.149,181.4085,0,0,0,100,0), +(@PATH,17,2801.737,-3614.466,181.4039,0,0,0,100,0), +(@PATH,18,2799.258,-3606.344,181.4081,0,0,0,100,0), +(@PATH,19,2798.46,-3600.148,181.4072,0,0,0,100,0), +(@PATH,20,2801.415,-3592.805,181.4086,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 115180; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2819.609,`position_y`=-3625.823,`position_z`=201.4168 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2825.926,-3625.365,201.4147,0,0,0,100,0), +(@PATH,2,2833.738,-3622.546,201.414,0,0,0,100,0), +(@PATH,3,2838.858,-3618.962,201.4162,0,0,0,100,0), +(@PATH,4,2842.757,-3612.3,201.4155,0,0,0,100,0), +(@PATH,5,2845.156,-3605.187,201.4145,0,0,0,100,0), +(@PATH,6,2845.112,-3598.919,201.4165,0,0,0,100,0), +(@PATH,7,2842.278,-3590.991,201.4143,0,0,0,100,0), +(@PATH,8,2838.798,-3585.699,201.4129,0,0,0,100,0), +(@PATH,9,2832.123,-3581.366,201.4112,0,0,0,100,0), +(@PATH,10,2824.705,-3579.036,201.4159,0,0,0,100,0), +(@PATH,11,2818.319,-3579.608,201.414,0,0,0,100,0), +(@PATH,12,2810.397,-3582.356,201.4127,0,0,0,100,0), +(@PATH,13,2805.141,-3585.997,201.4149,0,0,0,100,0), +(@PATH,14,2801.093,-3592.536,201.4165,0,0,0,100,0), +(@PATH,15,2798.692,-3600.158,201.4118,0,0,0,100,0), +(@PATH,16,2799.542,-3606.275,201.4129,0,0,0,100,0), +(@PATH,17,2802.349,-3614.061,201.4144,0,0,0,100,0), +(@PATH,18,2805.995,-3619.276,201.4165,0,0,0,100,0), +(@PATH,19,2812.382,-3623.6,201.4161,0,0,0,100,0), +(@PATH,20,2819.609,-3625.823,201.4168,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 97241; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24014,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2576.456,`position_y`=-3746.067,`position_z`=201.4139 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2581.68,-3752.681,201.414,0,0,0,100,0), +(@PATH,2,2586.568,-3756.62,201.413,0,0,0,100,0), +(@PATH,3,2594.226,-3758.521,201.4138,0,0,0,100,0), +(@PATH,4,2601.322,-3758.976,201.4392,0,0,0,100,0), +(@PATH,5,2608.325,-3756.202,201.4066,0,0,0,100,0), +(@PATH,6,2614.482,-3751.383,201.4148,0,0,0,100,0), +(@PATH,7,2617.85,-3746.781,201.4146,0,0,0,100,0), +(@PATH,8,2620.605,-3739.148,201.4127,0,0,0,100,0), +(@PATH,9,2620.888,-3731.896,201.415,0,0,0,100,0), +(@PATH,10,2618.019,-3725.131,201.4144,0,0,0,100,0), +(@PATH,11,2613.131,-3718.841,201.4171,0,0,0,100,0), +(@PATH,12,2608.565,-3715.357,201.4166,0,0,0,100,0), +(@PATH,13,2600.781,-3713.322,201.4151,0,0,0,100,0), +(@PATH,14,2593.642,-3712.292,201.4142,0,0,0,100,0), +(@PATH,15,2586.736,-3714.775,201.4059,0,0,0,100,0), +(@PATH,16,2580.157,-3719.908,201.413,0,0,0,100,0), +(@PATH,17,2577.031,-3724.391,201.4146,0,0,0,100,0), +(@PATH,18,2574.256,-3732.734,201.4134,0,0,0,100,0), +(@PATH,19,2573.823,-3739.465,201.4134,0,0,0,100,0), +(@PATH,20,2576.456,-3746.067,201.4139,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 97249; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24014,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2611.017,`position_y`=-3716.675,`position_z`=181.398 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2616.453,-3722.186,181.4082,0,0,0,100,0), +(@PATH,2,2619.343,-3727.752,181.4051,0,0,0,100,0), +(@PATH,3,2620.622,-3735.984,181.4042,0,0,0,100,0), +(@PATH,4,2619.866,-3742.29,181.4087,0,0,0,100,0), +(@PATH,5,2616.442,-3749.24,181.4057,0,0,0,100,0), +(@PATH,6,2611.063,-3754.8,181.4085,0,0,0,100,0), +(@PATH,7,2604.478,-3757.701,181.4068,0,0,0,100,0), +(@PATH,8,2597.286,-3758.759,181.4067,0,0,0,100,0), +(@PATH,9,2590.852,-3757.972,181.4083,0,0,0,100,0), +(@PATH,10,2584.248,-3754.43,181.4082,0,0,0,100,0), +(@PATH,11,2578.261,-3749.372,181.4069,0,0,0,100,0), +(@PATH,12,2575.873,-3743.828,181.4057,0,0,0,100,0), +(@PATH,13,2574.191,-3735.234,181.4073,0,0,0,100,0), +(@PATH,14,2575.195,-3729.327,181.4094,0,0,0,100,0), +(@PATH,15,2578.681,-3722.37,181.4084,0,0,0,100,0), +(@PATH,16,2583.938,-3716.915,181.4063,0,0,0,100,0), +(@PATH,17,2589.764,-3714.326,181.4076,0,0,0,100,0), +(@PATH,18,2597.566,-3712.55,181.4071,0,0,0,100,0), +(@PATH,19,2604.017,-3713.141,181.4054,0,0,0,100,0), +(@PATH,20,2611.017,-3716.675,181.398,0,0,0,100,0); + +-- Pathing for Necrolord Entry: 24014 +SET @NPC := 97250; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24014,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2585.757,`position_y`=-3717.824,`position_z`=221.4304 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2579.807,-3722.263,221.4254,0,0,0,100,0), +(@PATH,2,2575.761,-3730.515,221.4254,0,0,0,100,0), +(@PATH,3,2575.521,-3739.346,221.4455,0,0,0,100,0), +(@PATH,4,2577.731,-3745.002,221.4266,0,0,0,100,0), +(@PATH,5,2581.885,-3751.379,221.4258,0,0,0,100,0), +(@PATH,6,2588.023,-3755.677,221.4271,0,0,0,100,0), +(@PATH,7,2596.354,-3757.416,221.4265,0,0,0,100,0), +(@PATH,8,2602.154,-3756.99,221.4272,0,0,0,100,0), +(@PATH,9,2608.952,-3753.872,221.4283,0,0,0,100,0), +(@PATH,10,2613.777,-3748.49,221.4299,0,0,0,100,0), +(@PATH,11,2616.507,-3743.333,221.4301,0,0,0,100,0), +(@PATH,12,2617.603,-3736.914,221.4314,0,0,0,100,0), +(@PATH,13,2616.173,-3730.112,221.4334,0,0,0,100,0), +(@PATH,14,2611.927,-3721.691,221.432,0,0,0,100,0), +(@PATH,15,2605.345,-3717.231,221.4332,0,0,0,100,0), +(@PATH,16,2595.783,-3715.589,221.4307,0,0,0,100,0), +(@PATH,17,2585.757,-3717.824,221.4304,0,0,0,100,0); + +-- Pathing for Fearsome Horror Entry: 24073 +SET @NPC := 97267; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2685.435,`position_y`=-3516.336,`position_z`=161.3539 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2662.709,-3500.542,161.3926,0,0,0,100,0), +(@PATH,2,2650.608,-3502.922,161.3893,0,0,0,100,0), +(@PATH,3,2642.166,-3507.048,161.4015,0,0,0,100,0), +(@PATH,4,2640.603,-3513.472,161.4016,0,0,0,100,0), +(@PATH,5,2643.823,-3521.674,161.4016,0,0,0,100,0), +(@PATH,6,2647.113,-3529.029,161.403,0,0,0,100,0), +(@PATH,7,2655.038,-3531.975,161.4017,0,0,0,100,0), +(@PATH,8,2671.99,-3521.808,161.3573,0,0,0,100,0), +(@PATH,9,2673.333,-3507.633,161.3396,0,0,0,100,0), +(@PATH,10,2675.246,-3494.586,161.3678,0,0,0,100,0), +(@PATH,11,2685.497,-3487.036,161.3884,0,0,0,100,0), +(@PATH,12,2692.917,-3484.15,161.3961,0,0,0,100,0), +(@PATH,13,2699.012,-3487.089,161.4006,0,0,0,100,0), +(@PATH,14,2706.217,-3502.243,161.4013,0,0,0,100,0), +(@PATH,15,2703.759,-3510.093,161.4025,0,0,0,100,0), +(@PATH,16,2685.435,-3516.336,161.3539,0,0,0,100,0); + +-- Pathing for Fearsome Horror Entry: 24073 +SET @NPC := 97246; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2579.879,`position_y`=-3696.3,`position_z`=161.4409 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2588.232,-3690.074,161.4458,0,0,0,100,0), +(@PATH,2,2589.271,-3684.429,161.4359,0,0,0,100,0), +(@PATH,3,2585.342,-3675.472,161.4335,0,0,0,100,0), +(@PATH,4,2581.837,-3668.191,161.4327,0,0,0,100,0), +(@PATH,5,2575.887,-3666.925,161.4406,0,0,0,100,0), +(@PATH,6,2570.748,-3698.407,161.4427,0,0,0,100,0), +(@PATH,7,2579.879,-3696.3,161.4409,0,0,0,100,0); + +-- Pathing for Fearsome Horror Entry: 24073 +SET @NPC := 105763; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `id`=24073,`modelid`=0,`spawndist`=0,`MovementType`=2,`position_x`=2725.236,`position_y`=-3392.25,`position_z`=159.6907 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2727.104,-3390.643,159.6644,0,0,0,100,0), +(@PATH,2,2724.281,-3389.372,159.6592,0,0,0,100,0), +(@PATH,3,2721.806,-3387.376,159.6504,0,0,0,100,0), +(@PATH,4,2722.977,-3393.822,159.6598,0,0,0,100,0), +(@PATH,5,2725.236,-3392.25,159.6907,0,0,0,100,0); + +-- Pathing for Fearsome Horror Entry: 24073 +SET @NPC := 97252; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2813.579,`position_y`=-3620.822,`position_z`=161.4043 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2820.259,-3622.993,161.4039,0,0,0,100,0), +(@PATH,2,2825.655,-3622.695,161.4055,0,0,0,100,0), +(@PATH,3,2832.094,-3620.313,161.4071,0,0,0,100,0), +(@PATH,4,2836.655,-3616.929,161.4057,0,0,0,100,0), +(@PATH,5,2840.545,-3611.404,161.4061,0,0,0,100,0), +(@PATH,6,2842.39,-3604.52,161.4045,0,0,0,100,0), +(@PATH,7,2842.031,-3599.292,161.4063,0,0,0,100,0), +(@PATH,8,2839.814,-3592.598,161.4043,0,0,0,100,0), +(@PATH,9,2836.608,-3587.857,161.4041,0,0,0,100,0), +(@PATH,10,2830.603,-3584.255,161.4064,0,0,0,100,0), +(@PATH,11,2823.961,-3581.964,161.4031,0,0,0,100,0), +(@PATH,12,2818.599,-3582.841,161.4023,0,0,0,100,0), +(@PATH,13,2809.316,-3579.184,161.4106,0,0,0,100,0), +(@PATH,14,2801.529,-3572.713,161.4457,0,0,0,100,0), +(@PATH,15,2795.903,-3559.435,161.579,0,0,0,100,0), +(@PATH,16,2793.693,-3547.917,161.4434,0,0,0,100,0), +(@PATH,17,2794.609,-3538.025,161.6062,0,0,0,100,0), +(@PATH,18,2789.339,-3527.189,166.2076,0,0,0,100,0), +(@PATH,19,2778.46,-3527.366,166.1371,0,0,0,100,0), +(@PATH,20,2772.763,-3531.095,166.1371,0,0,0,100,0), +(@PATH,21,2765.156,-3536.607,166.1371,0,0,0,100,0), +(@PATH,22,2763.8,-3543.712,166.3489,0,0,0,100,0), +(@PATH,23,2772.348,-3554.362,161.5688,0,0,0,100,0), +(@PATH,24,2780.89,-3556.149,161.4322,0,0,0,100,0), +(@PATH,25,2791.389,-3562.775,161.5777,0,0,0,100,0), +(@PATH,26,2803.1,-3574.7,161.4174,0,0,0,100,0), +(@PATH,27,2803.814,-3581.895,161.3991,0,0,0,100,0), +(@PATH,28,2804,-3593.935,161.4066,0,0,0,100,0), +(@PATH,29,2801.798,-3600.579,161.4039,0,0,0,100,0), +(@PATH,30,2802.101,-3606.185,161.4054,0,0,0,100,0), +(@PATH,31,2804.482,-3612.46,161.4072,0,0,0,100,0), +(@PATH,32,2807.753,-3617.282,161.405,0,0,0,100,0), +(@PATH,33,2813.579,-3620.822,161.4043,0,0,0,100,0); + +-- Pathing for Gjalerbron Warrior Entry: 23991 +SET @NPC := 113286; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2656.009,`position_y`=-3595.201,`position_z`=205.3548 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,2619.413,-3562.591,205.3707,0,0,0,100,0), +(@PATH,2,2578.914,-3535.467,206.4749,0,0,0,100,0), +(@PATH,3,2569.813,-3526.975,206.25688,0,0,0,100,0), +(@PATH,4,2547.857,-3503.03,187.9234,0,0,0,100,0), +(@PATH,5,2550.461,-3454.087,184.147,0,0,0,100,0), +(@PATH,6,2603.13,-3431.154,184.0111,0,0,0,100,0), +(@PATH,7,2618.346,-3441.865,186.16079,0,0,0,100,0), +(@PATH,8,2636.813,-3462.923,202.8718,0,0,0,100,0), +(@PATH,9,2639.909,-3468.866,206.72212,0,0,0,100,0), +(@PATH,10,2659.177,-3506.079,205.3751,0,0,0,100,0), +(@PATH,11,2684.902,-3549.402,205.3751,0,0,0,100,0), +(@PATH,12,2687.326,-3578.99,205.3152,0,0,0,100,0), +(@PATH,13,2656.009,-3595.201,205.3548,0,0,0,100,0); + +-- Allerian Stronghold Fixup + +-- Update position for Erick Nateson +UPDATE `creature` SET `position_x`=-2947.306,`position_y`=3982.602,`position_z`=0.04192996,`orientation`=3.493307 WHERE `id`=21399; + +-- Pathing for High Elf Ranger Entry: 19000 +SET @NPC := 68300; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2892.84,`position_y`=3947.823,`position_z`=13.40542 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,258,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2900.541,3949.979,13.40506,8000,0,0,100,0), +(@PATH,2,-2892.84,3947.823,13.40542,16000,0,0,100,0); + +-- Pathing for High Elf Ranger Entry: 19000 +SET @NPC := 68302; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2984.74,`position_y`=4065.979,`position_z`=16.47879 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,258,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2989.837,4072.737,16.47879,16000,0,0,100,0), +(@PATH,2,-2984.74,4065.979,16.47879,8000,0,0,100,0); + +-- Pathing for High Elf Ranger Entry: 19000 +SET @NPC := 68304; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3057.808,`position_y`=4017.832,`position_z`=16.17462 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,258,0, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-3052.007,4011.99,16.17451,8000,0,0,100,0), +(@PATH,2,-3057.808,4017.832,16.17462,16000,0,0,100,0); + +-- Pathing for Allerian Horseman Entry: 19003 +SET @NPC := 68308; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2872.895,`position_y`=3981.621,`position_z`=5.133294 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,2404, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2862.589,3983.513,4.859164,23000,0,0,100,0), +(@PATH,2,-2877.861,3980.92,4.691218,22000,0,@PATH+1,100,0), +(@PATH,3,-2872.895,3981.621,5.133294,0,0,0,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,1,30,0,0,0.1919862,822); + +-- Pathing for Allerian Horseman Entry: 19003 +SET @NPC := 68309; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2965.397,`position_y`=4084.842,`position_z`=3.064998 WHERE `guid`=@NPC; +DELETE FROM `creature_addon` WHERE `guid`=@NPC; +INSERT INTO `creature_addon` (`guid`,`path_id`,`bytes2`,`mount`,`auras`) VALUES (@NPC,@PATH,1,2404, ''); +DELETE FROM `waypoint_data` WHERE `id`=@PATH; +INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2971.184,4089.91,4.059246,0,0,0,100,0), +(@PATH,2,-2974.546,4096.034,4.809246,0,0,0,100,0), +(@PATH,3,-2975.984,4102.904,5.563596,0,0,0,100,0), +(@PATH,4,-2976.84,4109.215,6.188596,0,0,0,100,0), +(@PATH,5,-2977.442,4116.1,6.438596,29000,0,0,100,0), +(@PATH,6,-2976.687,4106.692,6.063596,0,0,0,100,0), +(@PATH,7,-2975.544,4099.55,5.309246,0,0,0,100,0), +(@PATH,8,-2973.493,4091.829,4.309246,0,0,0,100,0), +(@PATH,9,-2969.062,4087.132,3.684246,0,0,0,100,0), +(@PATH,10,-2965.397,4084.842,3.064998,29000,0,@PATH+1,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,1,30,0,0,2.321288,823); + +-- Pathing for Lemla Hopewing Entry: 19181 +SET @NPC := 68626; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2981.203,`position_y`=3879.134,`position_z`=9.613096 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2992.487,3878.415,9.613096,9000,0,@PATH+1,100,0), +(@PATH,2,-2996.076,3870.127,9.613096,20000,0,0,100,0), +(@PATH,3,-2997.53,3865.11,9.484549,8000,0,0,100,0), +(@PATH,4,-2993.53,3863.55,9.484549,7000,0,0,100,0), +(@PATH,5,-2981.203,3879.134,9.613096,7000,0,0,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,0,30,0,0,1.27409,824); + +-- Pathing for Allerian Defender Entry: 18999 +SET @NPC := 68292; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2947.596,`position_y`=3983.544,`position_z`=-0.08307004 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2944.827,3979.540,0.041929,0,0,0,100,0), +(@PATH,2,-2942.500,3979.078,-0.20807,25000,0,@PATH+1,100,0), +(@PATH,3,-2939.759,3978.620,-0.425645,0,0,0,100,0), +(@PATH,4,-2936.500,3981.641,-0.33307,0,0,0,100,0), +(@PATH,5,-2935.938,3983.333,-0.33307,29000,0,@PATH+2,100,0), +(@PATH,6,-2935.374,3986.827,-0.594707,0,0,0,100,0), +(@PATH,7,-2937.500,3990.625,-0.58307,0,0,0,100,0), +(@PATH,8,-2940.678,3990.862,-0.70807,23000,0,@PATH+3,100,0), +(@PATH,9,-2943.362,3990.967,-0.597971,0,0,0,100,0), +(@PATH,10,-2947.396,3988.542,-0.20807,0,0,0,100,0), +(@PATH,11,-2947.596,3983.544,-0.08307004,27000,0,@PATH+4,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2,@PATH+3,@PATH+4); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,1,30,0,0,4.729842,825), +(@PATH+2,1,30,0,0,6.091199,826), +(@PATH+3,1,30,0,0,1.815142,827), +(@PATH+4,1,30,0,0,3.560472,828); + +-- Pathing for Allerian Defender Entry: 18999 +SET @NPC := 68296; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-3004.182,`position_y`=4059.2,`position_z`=16.47264 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-3016.535,4050.462,16.47229,0,0,0,100,0), +(@PATH,2,-3022.042,4045.356,17.46166,0,0,0,100,0), +(@PATH,3,-3030.056,4039.186,17.46166,0,0,0,100,0), +(@PATH,4,-3032.783,4036.933,16.18017,0,0,0,100,0), +(@PATH,5,-3044.368,4027.187,16.17542,12000,0,@PATH+1,100,0), +(@PATH,6,-3039.387,4030.45,16.1769,0,0,0,100,0), +(@PATH,7,-3032.683,4037.32,16.1804,0,0,0,100,0), +(@PATH,8,-3025.89,4042.386,17.46166,0,0,0,100,0), +(@PATH,9,-3019.17,4047.763,17.46166,0,0,0,100,0), +(@PATH,10,-3016.295,4049.834,16.47264,0,0,0,100,0), +(@PATH,11,-3004.042,4059.303,16.47269,12000,0,@PATH+2,100,0), +(@PATH,12,-2992.944,4066.828,16.47743,0,0,0,100,0), +(@PATH,13,-2989.875,4062.297,16.47566,0,0,0,100,0), +(@PATH,14,-2999.597,4055.534,10.61597,0,0,0,100,0), +(@PATH,15,-3008.305,4049.41,5.663261,10000,0,@PATH+3,100,0), +(@PATH,16,-3003.988,4052.784,7.524997,0,0,0,100,0), +(@PATH,17,-2989.94,4062.394,16.47567,0,0,0,100,0), +(@PATH,18,-2992.964,4066.766,16.47739,0,0,0,100,0), +(@PATH,19,-3004.182,4059.2,16.47264,12000,0,@PATH+4,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2,@PATH+3,@PATH+4); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,1,30,0,0,2.373648,829), +(@PATH+2,1,30,0,0,2.164208,830), +(@PATH+3,1,30,0,0,0.3490658,831), +(@PATH+4,1,30,0,0,2.164208,832); + +-- Pathing for Allerian Defender Entry: 18999 +SET @NPC := 68290; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2908.265,`position_y`=3922.398,`position_z`=13.40726 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2905.809,3933.479,7.323796,0,0,0,100,0), +(@PATH,2,-2903.188,3943.559,2.596507,11000,0,@PATH+1,100,0), +(@PATH,3,-2907.823,3925.806,12.06445,0,0,0,100,0), +(@PATH,4,-2908.265,3922.398,13.40726,0,0,0,100,0), +(@PATH,5,-2903.021,3920.76,13.40938,19000,0,@PATH+2,100,0), +(@PATH,6,-2900.368,3931.102,13.40561,0,0,0,100,0), +(@PATH,7,-2896.775,3945.807,13.40281,29000,0,@PATH+3,100,0), +(@PATH,8,-2898.747,3936.718,13.40411,0,0,0,100,0), +(@PATH,9,-2903.021,3920.76,13.40938,28000,0,@PATH+4,100,0), +(@PATH,10,-2908.265,3922.398,13.40726,0,0,0,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (@PATH+1,@PATH+2,@PATH+3,@PATH+4); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,1,30,0,0,2.80998,833), +(@PATH+2,1,30,0,0,6.021386,834), +(@PATH+3,1,30,0,0,6.161012,835), +(@PATH+4,1,30,0,0,6.003932,836); + +-- Allerian Defender SAI +SET @ENTRY := 18999; -- NPC entry +SET @SPELL1 := 18396; -- Dismounting Blast +SET @GUID1 := 68293; -- One Defender is scripted +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY; -- Set SAI as AI. Remove cpp ScriptName if one exist +DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY; -- Remove EAI if exist +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` IN (@ENTRY,-@GUID1); +DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN (@ENTRY*100); +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,1,0,0,0,0,11,@SPELL1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Allerian Defender - On Aggro - Cast Dismounting Blast on victim'), +(-@GUID1,0,0,0,4,0,100,1,0,0,0,0,11,@SPELL1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Allerian Defender - On Aggro - Cast Dismounting Blast on victim'), +(-@GUID1,0,1,0,1,0,100,0,40000,80000,180000,180000,80,@ENTRY*100,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Allerian Defender - OOC - Run Script'), +(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,4.642576, 'Allerian Defender - Script - turn to'), +(@ENTRY*100,9,1,0,0,0,100,0,1000,1000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Allerian Defender - Script - Say text 0'), +(@ENTRY*100,9,2,0,0,0,100,0,5000,5000,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.466077, 'Allerian Defender - Script - turn to'), +(@ENTRY*100,9,3,0,0,0,100,0,1000,1000,0,0,1,1,0,0,0,0,0,10,68291,@ENTRY,0,0,0,0,0, 'Allerian Defender - Script - Say text 0'); +-- NPC talk text insert from sniff +DELETE FROM `creature_text` WHERE `entry`=18999; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(18999,0,0, 'Hey, did you read the bounty on this wanted poster?',12,7,100,6,0,0, 'Allerian Defender'), +(18999,0,1, 'The Bone Wastes! I don''t care what''s being offered as a reward, I''m not going into the Bone Wastes!',12,7,100,6,0,0, 'Allerian Defender'), +(18999,0,2, 'This wanted poster says that they''re offering gold to these so-called adventurers to go kill things. Isn''t that what we do? I don''t think I''m being paid enough!',12,7,100,6,0,0, 'Allerian Defender'), +(18999,0,3, 'You want to go do the bounty off of this wanted poster after the shift is over?',12,7,100,6,0,0, 'Allerian Defender'), +(18999,0,4, 'This poster has a bounty on bonelashers. You think I should do that?',12,7,100,6,0,0, 'Allerian Defender'), +(18999,1,0, 'Is that wanted poster all that you''re going to talk about today?',12,7,100,1,0,0, 'Allerian Defender'), +(18999,1,1, 'I''m up to looking into that bounty after this shift.',12,7,100,1,0,0, 'Allerian Defender'), +(18999,1,2, 'I could use the extra money.',12,7,100,1,0,0, 'Allerian Defender'), +(18999,1,3, 'I don''t know and I don''t care.',12,7,100,1,0,0, 'Allerian Defender'), +(18999,1,4, 'The bonelashers of the wastes are no laughing matter. I hear they carry diseases!',12,7,100,1,0,0, 'Allerian Defender'); +-- Remove old crappy script +UPDATE `creature` SET `MovementType`=0 WHERE `guid` IN (68291,68293); +UPDATE `creature_addon` SET `path_id`=0 WHERE `guid` IN (68291,68293); +DELETE FROM `waypoint_data` WHERE `id` IN (682910,682930); +DELETE FROM `waypoint_scripts` WHERE `id` BETWEEN 170 AND 171; +DELETE FROM `db_script_string` WHERE `entry` IN (2000005046,2000005047); + +-- Pathing for Allerian Peasant Entry: 19147 +SET @NPC := 68470; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2983.204,`position_y`=3971.366,`position_z`=2.162047 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2981.773,3966.45,2.614914,0,0,0,100,0), +(@PATH,2,-2981.005,3960.968,2.989914,0,0,0,100,0), +(@PATH,3,-2981.881,3954.581,2.614914,0,0,0,100,0), +(@PATH,4,-2982.862,3947.319,3.114914,0,0,0,100,0), +(@PATH,5,-2986.684,3945.63,3.239914,0,0,0,100,0), +(@PATH,6,-2986.646,3950.593,3.761735,6000,0,@PATH+1,100,0), +(@PATH,7,-2986.979,3946.354,3.114914,0,0,0,100,0), +(@PATH,8,-2982.707,3945.763,3.364914,0,0,0,100,0), +(@PATH,9,-2980.747,3953.042,2.739914,0,0,0,100,0), +(@PATH,10,-2980.202,3961.786,2.864914,0,0,0,100,0), +(@PATH,11,-2983.204,3971.366,2.162047,4000,0,@PATH+2,100,0); +-- F1304ACB07BEF300 .go -2981.773 3966.45 2.614914 +DELETE FROM `waypoint_scripts` WHERE `id` IN (188,189,@PATH+1,@PATH+2); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,0,30,0,0,1.413717,837), +(@PATH+1,1,2,83,381,0,838), +(@PATH+2,1,2,83,381,0,839); + +-- Pathing for Allerian Peasant Entry: 19147 +SET @NPC := 68468; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2977.357,`position_y`=4012.234,`position_z`=1.424733 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2978.323,4006.793,1.174733,0,0,0,100,0), +(@PATH,2,-2973.405,4002.646,1.424733,0,0,0,100,0), +(@PATH,3,-2967.158,4003.521,1.299733,0,0,0,100,0), +(@PATH,4,-2964.591,4008.163,1.124218,0,0,0,100,0), +(@PATH,5,-2966.771,4010.062,1.299733,0,0,0,100,0), +(@PATH,6,-2969.096,4008.951,1.830398,5000,0,@PATH+1,100,0), +(@PATH,7,-2966.771,4010.062,1.299733,0,0,0,100,0), +(@PATH,8,-2964.591,4008.163,1.124218,0,0,0,100,0), +(@PATH,9,-2965.665,4005.173,1.249218,0,0,0,100,0), +(@PATH,10,-2972.548,4002.835,1.424733,0,0,0,100,0), +(@PATH,11,-2977.689,4007.088,1.174733,0,0,0,100,0), +(@PATH,12,-2977.357,4012.234,1.424733,4000,0,@PATH+2,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (184,185,@PATH+1,@PATH+2); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,0,30,0,0,3.839724,840), +(@PATH+1,1,2,83,381,0,841), +(@PATH+2,1,2,83,381,0,842); + +-- Pathing for Allerian Peasant Entry: 19147 +SET @NPC := 68469; +SET @PATH := @NPC * 10; +UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2994.862,`position_y`=4029.217,`position_z`=1.799733 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`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES +(@PATH,1,-2995.501,4024.677,1.674733,0,0,0,100,0), +(@PATH,2,-2991.115,4017.175,1.424733,0,0,0,100,0), +(@PATH,3,-2986.05,4011.426,0.7997329,0,0,0,100,0), +(@PATH,4,-2980.667,4005.888,1.049733,0,0,0,100,0), +(@PATH,5,-2974.792,4001.254,1.424733,0,0,0,100,0), +(@PATH,6,-2969.111,3999.192,1.787047,0,0,0,100,0), +(@PATH,7,-2962.025,4001.197,1.249218,0,0,0,100,0), +(@PATH,8,-2955.767,4003.337,0.8742183,0,0,0,100,0), +(@PATH,9,-2949.479,4006.26,-0.5007817,0,0,0,100,0), +(@PATH,10,-2943.639,4005.681,-0.8757817,0,0,0,100,0), +(@PATH,11,-2938.82,4004.248,-0.8757817,5000,0,@PATH+2,100,0), +(@PATH,12,-2944.247,4006.454,-0.8757817,0,0,0,100,0), +(@PATH,13,-2950.113,4005.459,-0.2507817,0,0,0,100,0), +(@PATH,14,-2958.819,4002.142,1.124218,0,0,0,100,0), +(@PATH,15,-2968.181,3999.478,1.662047,0,0,0,100,0), +(@PATH,16,-2976.377,4001.348,1.424733,0,0,0,100,0), +(@PATH,17,-2982.522,4005.211,1.049733,0,0,0,100,0), +(@PATH,18,-2987.678,4011.322,0.6747329,0,0,0,100,0), +(@PATH,19,-2991.716,4016.418,1.174733,0,0,0,100,0), +(@PATH,20,-2994.956,4023.157,1.549733,0,0,0,100,0), +(@PATH,21,-2994.996,4027.696,1.799733,0,0,0,100,0), +(@PATH,22,-2994.862,4029.217,1.799733,5000,0,@PATH+1,100,0); +DELETE FROM `waypoint_scripts` WHERE `id` IN (186,187,@PATH+1,@PATH+2); +INSERT INTO `waypoint_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`o`,`guid`) VALUES +(@PATH+1,0,30,0,0,1.570796,843), +(@PATH+1,1,2,83,381,0,844), +(@PATH+2,1,2,83,69,0,845); -- cgit v1.2.3 From 7954d9a0991b5ad88dd2faf138d3da3d0a56a3d0 Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 24 Jun 2011 08:20:56 +0200 Subject: Scripts/VioletHold: Properly fixed achievement Defenseless --- ...011_06_24_00_world_achievement_criteria_data.sql | 6 ++++++ .../scripts/Northrend/VioletHold/boss_cyanigosa.cpp | 21 +++++++++++++++++++++ .../Northrend/VioletHold/instance_violet_hold.cpp | 11 +++++------ .../scripts/Northrend/VioletHold/violet_hold.h | 3 ++- 4 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 sql/updates/world/2011_06_24_00_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_00_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_00_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..28f15696382 --- /dev/null +++ b/sql/updates/world/2011_06_24_00_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=6803 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=6803 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(6803,11,0,0,'achievement_defenseless'); diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp index 017da20a176..804d602a06f 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp @@ -159,7 +159,28 @@ public: }; +class achievement_defenseless : public AchievementCriteriaScript +{ + public: + achievement_defenseless() : AchievementCriteriaScript("achievement_defenseless") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + InstanceScript* instance = target->GetInstanceScript(); + if (!instance) + return false; + + if (!instance->GetData(DATA_DEFENSELESS)) + return false; + + return true; + } +}; + void AddSC_boss_cyanigosa() { new boss_cyanigosa(); + new achievement_defenseless(); } diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 93ef8256fef..98731f4aa7b 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -93,15 +93,12 @@ enum Yells { CYANIGOSA_SAY_SPAWN = -1608005 }; + enum Spells { CYANIGOSA_SPELL_TRANSFORM = 58668, CYANIGOSA_BLUE_AURA = 47759, }; -enum Achievements -{ - ACHIEV_DEFENSELESS = 1816 -}; class instance_violet_hold : public InstanceMapScript { @@ -165,6 +162,7 @@ public: bool bWiped; bool bIsDoorSpellCasted; bool bCrystalActivated; + bool defenseless; std::list NpcAtDoorCastingList; @@ -214,6 +212,7 @@ public: bActive = false; bIsDoorSpellCasted = false; bCrystalActivated = false; + defenseless = true; uiMainEventPhase = NOT_STARTED; memset(&m_auiEncounter, 0, sizeof(m_auiEncounter)); @@ -334,8 +333,6 @@ public: uiMainEventPhase = DONE; if (GameObject* pMainDoor = instance->GetGameObject(uiMainDoor)) pMainDoor->SetGoState(GO_STATE_ACTIVE); - if (!bCrystalActivated && uiDoorIntegrity == 100) - DoCompleteAchievement(ACHIEV_DEFENSELESS); } break; case DATA_WAVE_COUNT: @@ -350,6 +347,7 @@ public: break; case DATA_DOOR_INTEGRITY: uiDoorIntegrity = data; + defenseless = false; DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, uiDoorIntegrity); break; case DATA_NPC_PRESENCE_AT_DOOR_ADD: @@ -432,6 +430,7 @@ public: case DATA_FIRST_BOSS: return uiFirstBoss; case DATA_SECOND_BOSS: return uiSecondBoss; case DATA_MAIN_EVENT_PHASE: return uiMainEventPhase; + case DATA_DEFENSELESS: return defenseless ? 1 : 0; } return 0; diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.h b/src/server/scripts/Northrend/VioletHold/violet_hold.h index 5fe8b75e97f..ff663efe275 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.h +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.h @@ -52,7 +52,8 @@ enum Data DATA_FIRST_BOSS, DATA_SECOND_BOSS, DATA_ACTIVATE_CRYSTAL, - DATA_MAIN_EVENT_PHASE + DATA_MAIN_EVENT_PHASE, + DATA_DEFENSELESS, }; enum Data64 -- cgit v1.2.3 From 9582f596e28049a081ac27319c72a316ec94768b Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 24 Jun 2011 14:40:23 +0200 Subject: Scripts/Gundrak: Properly fixed achievement Less Rabi --- ...11_06_24_01_world_achievement_criteria_data.sql | 6 ++++ .../scripts/Northrend/Gundrak/boss_moorabi.cpp | 38 ++++++++++++++++------ 2 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 sql/updates/world/2011_06_24_01_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_01_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_01_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..1054e710fec --- /dev/null +++ b/sql/updates/world/2011_06_24_01_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=7319 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7319 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7319,11,0,0,'achievement_less_rabi'); diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp index d02a906b79b..71cd150e2ee 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp @@ -31,11 +31,6 @@ enum eSpells SPELL_TRANSFORMATION = 55098, //Periodic, The caster transforms into a powerful mammoth, increasing Physical damage done by 25% and granting immunity to Stun effects. }; -enum eArchivements -{ - ACHIEV_LESS_RABI = 2040 -}; - enum eSays { SAY_AGGRO = -1604010, @@ -48,6 +43,8 @@ enum eSays EMOTE_TRANSFORM = -1604017 }; +#define DATA_LESS_RABI 1 + class boss_moorabi : public CreatureScript { public: @@ -146,17 +143,20 @@ public: DoMeleeAttackIfReady(); } + uint32 GetData(uint32 type) + { + if (type == DATA_LESS_RABI) + return bPhase ? 0 : 1; + + return 0; + } + void JustDied(Unit* /*pKiller*/) { DoScriptText(SAY_DEATH, me); if (pInstance) - { pInstance->SetData(DATA_MOORABI_EVENT, DONE); - - if (IsHeroic() && !bPhase) - pInstance->DoCompleteAchievement(ACHIEV_LESS_RABI); - } } void KilledUnit(Unit* pVictim) @@ -170,7 +170,25 @@ public: }; +class achievement_less_rabi : public AchievementCriteriaScript +{ + public: + achievement_less_rabi() : AchievementCriteriaScript("achievement_less_rabi") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Moorabi = target->ToCreature()) + if (Moorabi->AI()->GetData(DATA_LESS_RABI)) + return true; + + return false; + } +}; + void AddSC_boss_moorabi() { new boss_moorabi(); + new achievement_less_rabi(); } -- cgit v1.2.3 From 2e1542d738b793d5148557c96922a96428e8e842 Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 24 Jun 2011 14:41:42 +0200 Subject: Scripts/Nexus: Properly fixed achievement Split Personality --- ...11_06_24_02_world_achievement_criteria_data.sql | 6 ++ .../Northrend/Nexus/Nexus/boss_magus_telestra.cpp | 79 +++++++++++++++------- 2 files changed, 61 insertions(+), 24 deletions(-) create mode 100644 sql/updates/world/2011_06_24_02_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_02_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_02_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..1668e241338 --- /dev/null +++ b/sql/updates/world/2011_06_24_02_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=7577 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7577 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7577,11,0,0,'achievement_split_personality'); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp index 66d98186975..b93090aac31 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp @@ -32,12 +32,14 @@ enum Spells SPELL_FROST_MAGUS_VISUAL = 47706, SPELL_ARCANE_MAGUS_VISUAL = 47704 }; + enum Creatures { MOB_FIRE_MAGUS = 26928, MOB_FROST_MAGUS = 26930, MOB_ARCANE_MAGUS = 26929 }; + enum Yells { SAY_AGGRO = -1576000, @@ -47,11 +49,9 @@ enum Yells SAY_SPLIT_1 = -1576004, SAY_SPLIT_2 = -1576005, }; -enum Achievements -{ - ACHIEV_SPLIT_PERSONALITY = 2150, - ACHIEV_TIMER = 5*IN_MILLISECONDS -}; + +#define ACTION_MAGUS_DEAD 1 +#define DATA_SPLIT_PERSONALITY 2 const Position CenterOfRoom = {504.80f, 89.07f, -16.12f, 6.27f}; @@ -82,17 +82,16 @@ public: bool bFrostMagusDead; bool bArcaneMagusDead; bool bIsWaitingToAppear; - bool bIsAchievementTimerRunning; uint32 uiIsWaitingToAppearTimer; uint32 uiIceNovaTimer; uint32 uiFireBombTimer; uint32 uiGravityWellTimer; uint32 uiCooldown; - uint32 uiAchievementTimer; uint8 Phase; - uint8 uiAchievementProgress; + uint8 splitPersonality; + time_t time[3]; void Reset() { @@ -107,10 +106,10 @@ public: uiFrostMagusGUID = 0; uiArcaneMagusGUID = 0; - uiAchievementProgress = 0; - uiAchievementTimer = 0; + for (uint8 n = 0; n < 3; ++n) + time[n] = 0; - bIsAchievementTimerRunning = false; + splitPersonality = 0; bIsWaitingToAppear = false; me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); @@ -133,11 +132,7 @@ public: DoScriptText(SAY_DEATH, me); if (pInstance) - { - if (IsHeroic() && uiAchievementProgress == 2) - pInstance->DoCompleteAchievement(ACHIEV_SPLIT_PERSONALITY); pInstance->SetData(DATA_MAGUS_TELESTRA_EVENT, DONE); - } } void KilledUnit(Unit* /*victim*/) @@ -145,6 +140,28 @@ public: DoScriptText(SAY_KILL, me); } + void DoAction(int32 const action) + { + if (action == ACTION_MAGUS_DEAD) + { + uint8 i = 0; + while (time[i] != 0) + ++i; + + time[i] = sWorld->GetGameTime(); + if (i == 2 && (time[2] - time[1] < 5) && (time[1] - time[0] < 5)) + ++splitPersonality; + } + } + + uint32 GetData(uint32 type) + { + if (type == DATA_SPLIT_PERSONALITY) + return splitPersonality; + + return 0; + } + uint64 SplitPersonality(uint32 entry) { if (Creature* Summoned = me->SummonCreature(entry, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1*IN_MILLISECONDS)) @@ -181,18 +198,18 @@ public: if (summon->GetGUID() == uiFireMagusGUID) { + me->AI()->DoAction(ACTION_MAGUS_DEAD); bFireMagusDead = true; - bIsAchievementTimerRunning = true; } else if (summon->GetGUID() == uiFrostMagusGUID) { + me->AI()->DoAction(ACTION_MAGUS_DEAD); bFrostMagusDead = true; - bIsAchievementTimerRunning = true; } else if (summon->GetGUID() == uiArcaneMagusGUID) { + me->AI()->DoAction(ACTION_MAGUS_DEAD); bArcaneMagusDead = true; - bIsAchievementTimerRunning = true; } } @@ -216,12 +233,10 @@ public: if ((Phase == 1) ||(Phase == 3)) { - if (bIsAchievementTimerRunning) - uiAchievementTimer += diff; if (bFireMagusDead && bFrostMagusDead && bArcaneMagusDead) { - if (uiAchievementTimer <= ACHIEV_TIMER) - uiAchievementProgress +=1; + for (uint8 n = 0; n < 3; ++n) + time[n] = 0; me->GetMotionMaster()->Clear(); me->GetMap()->CreatureRelocation(me, CenterOfRoom.GetPositionX(), CenterOfRoom.GetPositionY(), CenterOfRoom.GetPositionZ(), CenterOfRoom.GetOrientation()); DoCast(me, SPELL_TELESTRA_BACK); @@ -236,8 +251,6 @@ public: bIsWaitingToAppear = true; uiIsWaitingToAppearTimer = 4*IN_MILLISECONDS; DoScriptText(SAY_MERGE, me); - bIsAchievementTimerRunning = false; - uiAchievementTimer = 0; } else return; @@ -324,7 +337,25 @@ public: }; +class achievement_split_personality : public AchievementCriteriaScript +{ + public: + achievement_split_personality() : AchievementCriteriaScript("achievement_split_personality") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Telestra = target->ToCreature()) + if (Telestra->AI()->GetData(DATA_SPLIT_PERSONALITY) == 2) + return true; + + return false; + } +}; + void AddSC_boss_magus_telestra() { new boss_magus_telestra(); + new achievement_split_personality(); } -- cgit v1.2.3 From 5af6bf41b312a94892c223d949dd39a58db1a532 Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 24 Jun 2011 14:43:03 +0200 Subject: Scripts/Violet Hold: Properly fixed achievement Dehydration --- ...11_06_24_03_world_achievement_criteria_data.sql | 6 +++ .../scripts/Northrend/VioletHold/boss_ichoron.cpp | 43 ++++++++++++++++------ 2 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 sql/updates/world/2011_06_24_03_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_03_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_03_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..be782da4967 --- /dev/null +++ b/sql/updates/world/2011_06_24_03_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=7320 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7320 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7320,11,0,0,'achievement_dehydration'); diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp index 3f2ea65958d..db85422942f 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp @@ -50,11 +50,6 @@ enum Yells SAY_BUBBLE = -1608026 }; -enum Achievements -{ - ACHIEVEMENT_DEHYDRATION = 2041, -}; - enum Actions { ACTION_WATER_ELEMENT_HIT = 1, @@ -72,6 +67,8 @@ static Position SpawnLoc[MAX_SPAWN_LOC]= {1935.50f, 796.224f, 52.492f, 4.224f}, }; +#define DATA_DEHYDRATION 1 + class boss_ichoron : public CreatureScript { public: @@ -91,7 +88,7 @@ public: bool bIsExploded; bool bIsFrenzy; - bool bAchievement; + bool dehydration; uint32 uiBubbleCheckerTimer; uint32 uiWaterBoltVolleyTimer; @@ -104,7 +101,7 @@ public: { bIsExploded = false; bIsFrenzy = false; - bAchievement = true; + dehydration = true; uiBubbleCheckerTimer = 1000; uiWaterBoltVolleyTimer = urand(10000, 15000); @@ -168,7 +165,7 @@ public: if (bIsExploded) DoExplodeCompleted(); - bAchievement = false; + dehydration = false; break; case ACTION_WATER_ELEMENT_KILLED: uint32 damage = me->CountPctFromMaxHealth(3); @@ -199,11 +196,18 @@ public: me->GetMotionMaster()->MoveChase(me->getVictim()); } + uint32 GetData(uint32 type) + { + if (type == DATA_DEHYDRATION) + return dehydration ? 1 : 0; + + return 0; + } + void MoveInLineOfSight(Unit* /*pWho*/) {} void UpdateAI(const uint32 uiDiff) { - //Return since we have no target if (!UpdateVictim()) return; @@ -284,9 +288,6 @@ public: if (pInstance) { - if (IsHeroic() && bAchievement) - pInstance->DoCompleteAchievement(ACHIEVEMENT_DEHYDRATION); - if (pInstance->GetData(DATA_WAVE_COUNT) == 6) { pInstance->SetData(DATA_1ST_BOSS_EVENT, DONE); @@ -394,8 +395,26 @@ public: }; +class achievement_dehydration : public AchievementCriteriaScript +{ + public: + achievement_dehydration() : AchievementCriteriaScript("achievement_dehydration") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Ichoron = target->ToCreature()) + if (Ichoron->AI()->GetData(DATA_DEHYDRATION)) + return true; + + return false; + } +}; + void AddSC_boss_ichoron() { new boss_ichoron(); new mob_ichor_globule(); + new achievement_dehydration(); } -- cgit v1.2.3 From e08b539813889d71cd8dd3ab66fefb8b89f900a5 Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 24 Jun 2011 14:44:40 +0200 Subject: Core/Log: Killed one log pointing to missing instance achievement criteria data for achievement in Halls of Stone --- sql/updates/world/2011_06_24_04_world_achievement_criteria_data.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 sql/updates/world/2011_06_24_04_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_04_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_04_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..056450445e2 --- /dev/null +++ b/sql/updates/world/2011_06_24_04_world_achievement_criteria_data.sql @@ -0,0 +1 @@ +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7590 AND `type`=18; \ No newline at end of file -- cgit v1.2.3 From 1340a3d3825895f768c4fdc699a91f3382fef641 Mon Sep 17 00:00:00 2001 From: tobmaps Date: Fri, 24 Jun 2011 23:04:16 +0700 Subject: Core/Spells: Fix Paladin T8 Holy 2P Bonus --- sql/base/world_database.sql | 1 + sql/updates/world/2011_06_24_05_world_spell_bonus_data.sql | 3 +++ src/server/game/Entities/Unit/Unit.cpp | 7 +++++++ 3 files changed, 11 insertions(+) create mode 100644 sql/updates/world/2011_06_24_05_world_spell_bonus_data.sql (limited to 'sql/updates') diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index c3347731ab3..436102d9890 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -16959,6 +16959,7 @@ INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`a (53600, 0, 0, 0, 0 ,'Paladin - Shield of Righteousness'), (20267, 0, 0, 0, 0, 'Paladin - Judgement of Light Proc'), (25997, 0, 0, 0, 0, 'Paladin - Eye for an Eye'), +(64891, -1, 0, -1, -1, 'Paladin - T8 Holy 2P - Holy Mending'), (50256, -1, -1, 0.08, -1, 'Pet Skills - Bear (Swipe)'), (32546, 0.8068, -1, -1, -1, 'Priest - Binding Heal'), (27813, 0, 0, 0, 0, 'Priest - Blessed Recovery Rank 1'), diff --git a/sql/updates/world/2011_06_24_05_world_spell_bonus_data.sql b/sql/updates/world/2011_06_24_05_world_spell_bonus_data.sql new file mode 100644 index 00000000000..58ae76c3100 --- /dev/null +++ b/sql/updates/world/2011_06_24_05_world_spell_bonus_data.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_bonus_data` WHERE `entry` = 64891; +INSERT INTO `spell_bonus_data` VALUES +(64891, -1, 0, -1, -1, 'Paladin - T8 Holy 2P - Holy Mending'); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 66992062fb3..607ad66572d 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -6915,6 +6915,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger basepoints0 = CalculatePctN(int32(damage), triggerAmount); break; } + // Item - Paladin T8 Holy 2P Bonus + case 64890: + { + triggered_spell_id = 64891; + basepoints0 = triggerAmount * damage / 300; + break; + } case 71406: // Tiny Abomination in a Jar case 71545: // Tiny Abomination in a Jar (Heroic) { -- cgit v1.2.3 From 3de42791ee0343696586137d385f53bcc46ebd90 Mon Sep 17 00:00:00 2001 From: Shocker Date: Fri, 24 Jun 2011 21:56:37 +0300 Subject: Core/Spells: Partial revert of 5ddf90c5fe8e51a72697, use checkcast hook for disallowing spells to be casted directly Closes #2108 --- sql/scripts/world_scripts_full.sql | 5 ++++ .../2011_06_24_06_world_spell_script_names.sql | 7 +++++ src/server/game/Spells/Spell.cpp | 3 --- src/server/scripts/Spells/spell_generic.cpp | 30 ++++++++++++++++++++++ 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 sql/updates/world/2011_06_24_06_world_spell_script_names.sql (limited to 'sql/updates') diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index 92c5b80d603..c9f3efd4b8e 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -1976,6 +1976,11 @@ INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES ( 25281, 'spell_gen_turkey_marker'), (-55428, 'spell_gen_lifeblood'), ( 65917, 'spell_gen_magic_rooster'), +( 4073, 'spell_gen_allow_cast_from_item_only'), +( 19804, 'spell_gen_allow_cast_from_item_only'), +( 12749, 'spell_gen_allow_cast_from_item_only'), +( 13258, 'spell_gen_allow_cast_from_item_only'), +( 13166, 'spell_gen_allow_cast_from_item_only'), -- instances -- Black Temple ( 41475, 'spell_boss_lady_malande_shield'), diff --git a/sql/updates/world/2011_06_24_06_world_spell_script_names.sql b/sql/updates/world/2011_06_24_06_world_spell_script_names.sql new file mode 100644 index 00000000000..5c7b6e9bfc0 --- /dev/null +++ b/sql/updates/world/2011_06_24_06_world_spell_script_names.sql @@ -0,0 +1,7 @@ +DELETE FROM `spell_script_names` WHERE `spell_id` IN(4073,19804,12749,13258,13166); +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(4073,'spell_gen_allow_cast_from_item_only'), +(19804,'spell_gen_allow_cast_from_item_only'), +(12749,'spell_gen_allow_cast_from_item_only'), +(13258,'spell_gen_allow_cast_from_item_only'), +(13166,'spell_gen_allow_cast_from_item_only'); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 4357fb4bbc2..118f46cd701 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4652,9 +4652,6 @@ SpellCastResult Spell::CheckCast(bool strict) if (m_spellInfo->AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL && !m_caster->HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_ALLOW_CHEAT_SPELLS)) return SPELL_FAILED_SPELL_UNAVAILABLE; - if (m_castedClientside && m_spellInfo->Attributes & SPELL_ATTR0_HIDDEN_CLIENTSIDE && m_caster->GetTypeId() == TYPEID_PLAYER && !m_CastItem) - return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW; - // Check global cooldown if (strict && !m_IsTriggeredSpell && HasGlobalCooldown()) return SPELL_FAILED_NOT_READY; diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 583e199979a..9de0ffa6f54 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1125,6 +1125,35 @@ class spell_gen_magic_rooster : public SpellScriptLoader } }; +class spell_gen_allow_cast_from_item_only : public SpellScriptLoader +{ +public: + spell_gen_allow_cast_from_item_only() : SpellScriptLoader("spell_gen_allow_cast_from_item_only") { } + + class spell_gen_allow_cast_from_item_only_SpellScript : public SpellScript + { + PrepareSpellScript(spell_gen_allow_cast_from_item_only_SpellScript); + + SpellCastResult CheckRequirement() + { + if (!GetCastItem()) + return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW; + + return SPELL_CAST_OK; + } + + void Register() + { + OnCheckCast += SpellCheckCastFn(spell_gen_allow_cast_from_item_only_SpellScript::CheckRequirement); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_gen_allow_cast_from_item_only_SpellScript(); + } +}; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); @@ -1151,4 +1180,5 @@ void AddSC_generic_spell_scripts() new spell_gen_turkey_marker(); new spell_gen_lifeblood(); new spell_gen_magic_rooster(); + new spell_gen_allow_cast_by_item_only(); } -- cgit v1.2.3 From 29cacd96b2968d43f9bc6b27615377f2f848f2b9 Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 24 Jun 2011 22:03:14 +0200 Subject: Scripts/Halls Of Stone: Properly fixed achievement Brann Sparklin' News --- ...11_06_24_07_world_achievement_criteria_data.sql | 9 ++++ .../Ulduar/HallsOfStone/halls_of_stone.cpp | 57 ++++++++++++++-------- 2 files changed, 45 insertions(+), 21 deletions(-) create mode 100644 sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..e228625014e --- /dev/null +++ b/sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql @@ -0,0 +1,9 @@ +DELETE FROM `spell_dbc` WHERE `id`=59046; +INSERT INTO `spell_dbc` (`Id`,`Effect1`,`EffectRadiusIndex1`,`EffectImplicitTargetA1`,`EffectImplicitTargetB1`,`comment`) +VALUES +(59046,3,28,22,30,'Tribunal of Ages - Criteria Marker'); + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7590 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7590,11,0,0,'achievement_brann_sparklin_news'); diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp index f237871ef90..9d2f5647df2 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp @@ -110,7 +110,9 @@ enum Spells H_SPELL_DARK_MATTER = 59868, //Abedneum SPELL_SEARING_GAZE = 51136, - H_SPELL_SEARING_GAZE = 59867 + H_SPELL_SEARING_GAZE = 59867, + + SPELL_REWARD_ACHIEVEMENT = 59046, }; enum Quests @@ -118,13 +120,9 @@ enum Quests QUEST_HALLS_OF_STONE = 13207 }; -enum Achievements -{ - ACHIEV_BRANN_SPANKIN_NEW = 2154 -}; - #define GOSSIP_ITEM_START "Brann, it would be our honor!" #define GOSSIP_ITEM_PROGRESS "Let's move Brann, enough of the history lessons!" +#define DATA_BRANN_SPARKLIN_NEWS 1 static Position SpawnLocations[]= { @@ -184,7 +182,7 @@ public: } void UpdateFacesList() - { + { /*GetCreatureListWithEntryInGrid(lKaddrakGUIDList, me, CREATURE_KADDRAK, 50.0f); if (!lKaddrakGUIDList.empty()) { @@ -315,7 +313,7 @@ public: bool bIsBattle; bool bIsLowHP; - bool bHasBeenDamaged; + bool brannSparklinNews; void Reset() { @@ -323,10 +321,10 @@ public: { bIsLowHP = false; bIsBattle = false; - bHasBeenDamaged = false; uiStep = 0; uiPhaseTimer = 0; uiControllerGUID = 0; + brannSparklinNews = true; DespawnDwarf(); @@ -425,8 +423,16 @@ public: void DamageTaken(Unit* /*done_by*/, uint32 & /*damage*/) { - if (!bHasBeenDamaged) - bHasBeenDamaged = true; + if (brannSparklinNews) + brannSparklinNews = false; + } + + uint32 GetData(uint32 type) + { + if (type == DATA_BRANN_SPARKLIN_NEWS) + return brannSparklinNews ? 1 : 0; + + return 0; } void UpdateEscortAI(const uint32 uiDiff) @@ -590,17 +596,8 @@ public: case 29: DoScriptText(SAY_EVENT_END_02, me); if (pInstance) - { pInstance->SetData(DATA_BRANN_EVENT, DONE); - - // Achievement criteria is with spell 59046 which does not exist. - // There is thus no way it can be given by casting the spell on the players. - pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 59046); - - if (!bHasBeenDamaged) - pInstance->DoCompleteAchievement(ACHIEV_BRANN_SPANKIN_NEW); - } - + me->CastSpell(me, SPELL_REWARD_ACHIEVEMENT, true); JumpToNextStep(5500); break; case 30: @@ -738,8 +735,26 @@ public: }; +class achievement_brann_sparklin_news : public AchievementCriteriaScript +{ + public: + achievement_brann_sparklin_news() : AchievementCriteriaScript("achievement_brann_sparklin_news") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Brann = target->ToCreature()) + if (Brann->AI()->GetData(DATA_BRANN_SPARKLIN_NEWS)) + return true; + + return false; + } +}; + void AddSC_halls_of_stone() { new npc_brann_hos(); new mob_tribuna_controller(); + new achievement_brann_sparklin_news(); } -- cgit v1.2.3 From 3cb41ddb1f8fc1ca545d03a4aec48799b08a1973 Mon Sep 17 00:00:00 2001 From: Lopin Date: Fri, 24 Jun 2011 22:04:20 +0200 Subject: Scripts/Drak'Tharon Keep: Properly fixed achievement Oh Novos! --- ...11_06_24_08_world_achievement_criteria_data.sql | 6 ++ .../Northrend/DraktharonKeep/boss_novos.cpp | 69 +++++++++++++++------- 2 files changed, 54 insertions(+), 21 deletions(-) create mode 100644 sql/updates/world/2011_06_24_08_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_08_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_08_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..4e64ce26ae1 --- /dev/null +++ b/sql/updates/world/2011_06_24_08_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=7361 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7361 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7361,11,0,0,'achievement_oh_novos'); diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp index 2672a22d26c..4441c95a688 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp @@ -31,6 +31,7 @@ enum Spells H_SPELL_WRATH_OF_MISERY = 59856, SPELL_SUMMON_MINIONS = 59910 //Summons an army of Fetid Troll Corpses to assist the caster. }; + //not in db enum Yells { @@ -41,6 +42,7 @@ enum Yells SAY_REUBBLE_1 = -1600004, SAY_REUBBLE_2 = -1600005 }; + enum Creatures { CREATURE_RISEN_SHADOWCASTER = 27600, @@ -48,16 +50,16 @@ enum Creatures CREATURE_HULKING_CORPSE = 27597, CREATURE_CRYSTAL_HANDLER = 26627 }; + enum CombatPhase { IDLE, PHASE_1, PHASE_2 }; -enum Achievements -{ - ACHIEV_OH_NOVOS = 2057 -}; + +#define ACTION_MINION_REACHED 1 +#define DATA_OH_NOVOS 2 static Position AddSpawnPoint = { -379.20f, -816.76f, 59.70f, 0.0f }; static Position CrystalHandlerSpawnPoint = { -326.626343f, -709.956604f, 27.813314f, 0.0f }; @@ -79,7 +81,7 @@ public: uint32 uiCrystalHandlerTimer; uint8 crystalHandlerAmount; - bool bAchiev; + bool ohNovos; SummonList lSummons; @@ -93,7 +95,7 @@ public: { Phase = IDLE; luiCrystals.clear(); - bAchiev = true; + ohNovos = true; me->CastStop(); lSummons.DespawnAll(); crystalHandlerAmount = 0; @@ -108,10 +110,8 @@ public: if (pInstance) { pInstance->SetData(DATA_NOVOS_EVENT, NOT_STARTED); - luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_1)); - luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_2)); - luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_3)); - luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_4)); + for (uint8 n = 0; n < 4; ++n) + luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_1 + n)); for (std::list::const_iterator itr = luiCrystals.begin(); itr != luiCrystals.end(); ++itr) { if (GameObject* pTemp = pInstance->instance->GetGameObject(*itr)) @@ -182,12 +182,7 @@ public: { DoScriptText(SAY_DEATH, me); if (pInstance) - { pInstance->SetData(DATA_NOVOS_EVENT, DONE); - - if (IsHeroic() && bAchiev) - pInstance->DoCompleteAchievement(ACHIEV_OH_NOVOS); - } lSummons.DespawnAll(); } @@ -206,6 +201,20 @@ public: lSummons.Summon(summon); } + void DoAction(int32 const action) + { + if (action == ACTION_MINION_REACHED) + ohNovos = false; + } + + uint32 GetData(uint32 type) + { + if (type == DATA_OH_NOVOS) + return ohNovos ? 1 : 0; + + return 0; + } + void RemoveCrystal() { if (!luiCrystals.empty()) @@ -319,10 +328,10 @@ public: { if (type != POINT_MOTION_TYPE || id !=0) return; - if (Creature* pNovos = Unit::GetCreature(*me, pInstance ? pInstance->GetData64(DATA_NOVOS) : 0)) + if (Creature* Novos = ObjectAccessor::GetCreature(*me, pInstance ? pInstance->GetData64(DATA_NOVOS) : 0)) { - CAST_AI(boss_novos::boss_novosAI, pNovos->AI())->bAchiev = false; - if (Unit *pTarget = CAST_AI(boss_novos::boss_novosAI, pNovos->AI())->GetRandomTarget()) + Novos->AI()->DoAction(ACTION_MINION_REACHED); + if (Unit *pTarget = CAST_AI(boss_novos::boss_novosAI, Novos->AI())->GetRandomTarget()) AttackStart(pTarget); } } @@ -334,9 +343,27 @@ public: } }; +class achievement_oh_novos : public AchievementCriteriaScript +{ + public: + achievement_oh_novos() : AchievementCriteriaScript("achievement_oh_novos") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Novos = target->ToCreature()) + if (Novos->AI()->GetData(DATA_OH_NOVOS)) + return true; + + return false; + } +}; + void AddSC_boss_novos() { - new boss_novos; - new mob_crystal_handler; - new mob_novos_minion; + new boss_novos(); + new mob_crystal_handler(); + new mob_novos_minion(); + new achievement_oh_novos(); } -- cgit v1.2.3 From 4fb820dbc796df7d8415ebede27dc7de11e2703b Mon Sep 17 00:00:00 2001 From: click Date: Sat, 25 Jun 2011 01:18:47 +0200 Subject: Core/DBC: Add missing spell for Summon Shadoe Of Jin'Do (from 1.12 DBC) --- sql/updates/world/2011_06_25_00_world_spell_dbc.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sql/updates/world/2011_06_25_00_world_spell_dbc.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_00_world_spell_dbc.sql b/sql/updates/world/2011_06_25_00_world_spell_dbc.sql new file mode 100644 index 00000000000..782a29db90d --- /dev/null +++ b/sql/updates/world/2011_06_25_00_world_spell_dbc.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_dbc` WHERE `Id`=24308; +INSERT INTO `spell_dbc`(`Id`,`Dispel`,`Mechanic`,`Attributes`,`AttributesEx`,`AttributesEx2`,`AttributesEx3`,`AttributesEx4`,`AttributesEx5`,`Stances`,`StancesNot`,`Targets`,`CastingTimeIndex`,`AuraInterruptFlags`,`ProcFlags`,`ProcChance`,`ProcCharges`,`MaxLevel`,`BaseLevel`,`SpellLevel`,`DurationIndex`,`RangeIndex`,`StackAmount`,`EquippedItemClass`,`EquippedItemSubClassMask`,`EquippedItemInventoryTypeMask`,`Effect1`,`Effect2`,`Effect3`,`EffectDieSides1`,`EffectDieSides2`,`EffectDieSides3`,`EffectRealPointsPerLevel1`,`EffectRealPointsPerLevel2`,`EffectRealPointsPerLevel3`,`EffectBasePoints1`,`EffectBasePoints2`,`EffectBasePoints3`,`EffectMechanic1`,`EffectMechanic2`,`EffectMechanic3`,`EffectImplicitTargetA1`,`EffectImplicitTargetA2`,`EffectImplicitTargetA3`,`EffectImplicitTargetB1`,`EffectImplicitTargetB2`,`EffectImplicitTargetB3`,`EffectRadiusIndex1`,`EffectRadiusIndex2`,`EffectRadiusIndex3`,`EffectApplyAuraName1`,`EffectApplyAuraName2`,`EffectApplyAuraName3`,`EffectAmplitude1`,`EffectAmplitude2`,`EffectAmplitude3`,`EffectMultipleValue1`,`EffectMultipleValue2`,`EffectMultipleValue3`,`EffectMiscValue1`,`EffectMiscValue2`,`EffectMiscValue3`,`EffectMiscValueB1`,`EffectMiscValueB2`,`EffectMiscValueB3`,`EffectTriggerSpell1`,`EffectTriggerSpell2`,`EffectTriggerSpell3`,`EffectSpellClassMaskA1`,`EffectSpellClassMaskA2`,`EffectSpellClassMaskA3`,`EffectSpellClassMaskB1`,`EffectSpellClassMaskB2`,`EffectSpellClassMaskB3`,`EffectSpellClassMaskC1`,`EffectSpellClassMaskC2`,`EffectSpellClassMaskC3`,`MaxTargetLevel`,`SpellFamilyName`,`SpellFamilyFlags1`,`SpellFamilyFlags2`,`SpellFamilyFlags3`,`MaxAffectedTargets`,`DmgClass`,`PreventionType`,`DmgMultiplier1`,`DmgMultiplier2`,`DmgMultiplier3`,`AreaGroupId`,`SchoolMask`,`Comment`) VALUES +('24308','0','0','256','0','0','0','0','0','0','0','0','1','0','0','101','0','0','0','0','26','1','0','-1','0','0','41','0','0','1','0','0','0','0','0','0','0','0','0','0','0','18','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','14986','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','0','0','0','0','Summon Shade of Jin''Do'); -- cgit v1.2.3 From 6f8f82ce130e806585983fd0b0c09426a13e23f3 Mon Sep 17 00:00:00 2001 From: click Date: Sat, 25 Jun 2011 02:06:26 +0200 Subject: Scripts/DB: Fix a silly typo for Ragnaros' Magmaburst - thanks to Discover --- sql/updates/world/2011_06_25_01_world_script_texts.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/2011_06_25_01_world_script_texts.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_01_world_script_texts.sql b/sql/updates/world/2011_06_25_01_world_script_texts.sql new file mode 100644 index 00000000000..8b0a68f41c0 --- /dev/null +++ b/sql/updates/world/2011_06_25_01_world_script_texts.sql @@ -0,0 +1,2 @@ +-- Fix typo for Ragnaros' Magmaburst +UPDATE `script_texts` SET `content_default`='MY PATIENCE IS DWINDLING! COME, GNATS, TO YOUR DEATH!' WHERE `npc_entry`=11502 AND `entry`='-1409018'; -- cgit v1.2.3 From df5657871a64bf5b05f3b2f6cc144c8d5787137f Mon Sep 17 00:00:00 2001 From: Malcrom Date: Sat, 25 Jun 2011 04:22:44 +0200 Subject: DB/SAI: Fix quest 11465 "The Ransacked Caravan" Signed-off-by: click --- sql/updates/world/2011_06_25_02_world_misc.sql | 31 ++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 sql/updates/world/2011_06_25_02_world_misc.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_02_world_misc.sql b/sql/updates/world/2011_06_25_02_world_misc.sql new file mode 100644 index 00000000000..a30d8492262 --- /dev/null +++ b/sql/updates/world/2011_06_25_02_world_misc.sql @@ -0,0 +1,31 @@ +-- Fix Quest 11465 "The Ransacked Caravan" +-- Fjord Turkey SAI +SET @ENTRY := 24746; -- NPC entry +SET @SPELL1 := 44323; -- Hawk Hunting +SET @SPELL2 := 44327; -- Hawk Hunting +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY; +DELETE FROM `creature_ai_scripts` WHERE `creature_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,1,8,0,100,0,@SPELL1,0,0,0,11,@SPELL2,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Fjord Turkey - On Spellhit - Cast spell on invoker'), +(@ENTRY,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, 'Fjord Turkey - On Spellhit - Despawn'); +-- Fix condition for Item 34111 to only target Fjord Turkey +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=18 AND `SourceEntry`=34111; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(18,0,34111,0,24,1,@ENTRY,0,63,'','Item Trained Rock Falcon targets only Fjord Turkey'); +-- Dragonflayer Ambusher SAI +SET @ENTRY := 24779; -- NPC entry +SET @SPELL1 := 38557; -- Throw +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY; +DELETE FROM `creature_ai_scripts` WHERE `creature_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,11,0,100,0,0,0,0,0,89,10,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dragonflayer Ambusher - On spawn - Set random movement'), +(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Dragonflayer Ambusher - On aggro - Say text'), +(@ENTRY,0,2,0,0,0,100,1,0,0,0,0,11,@SPELL1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Dragonflayer Ambusher - Combat - Cast spell on victim'); +-- NPC talk text insert from sniff +DELETE FROM `creature_text` WHERE `entry`=24779; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(24779,0,0, 'Tonight we feast on you!',12,0,100,0,0,0, 'Dragonflayer Ambusher'), +(24779,0,1, 'Such easy prey...',12,0,100,0,0,0, 'Dragonflayer Ambusher'), +(24779,0,2, 'Who''s hunting who?',12,0,100,0,0,0, 'Dragonflayer Ambusher'); -- cgit v1.2.3 From 835efdacd1fd6671f14e2a83ef5a11c0d27b044a Mon Sep 17 00:00:00 2001 From: Malcrom Date: Sat, 25 Jun 2011 04:38:53 +0200 Subject: DB/SAI: Add a few more SAI-scripts for: - Ice Heart Jormungar Feeder - Fulgorge - assorted Hellfire creatures Signed-off-by: click --- sql/updates/world/2011_06_25_03_world_sai.sql | 52 +++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 sql/updates/world/2011_06_25_03_world_sai.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_03_world_sai.sql b/sql/updates/world/2011_06_25_03_world_sai.sql new file mode 100644 index 00000000000..61ab8ff2b88 --- /dev/null +++ b/sql/updates/world/2011_06_25_03_world_sai.sql @@ -0,0 +1,52 @@ +-- Ice Heart Jormungar Feeder SAI +SET @ENTRY := 26358; -- NPC entry +SET @SPELL1 := 47447; -- Corrosive Spit +UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`='' WHERE `entry`=@ENTRY; +DELETE FROM `creature_ai_scripts` WHERE `creature_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,5000,11000,20000,26000,11,@SPELL1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Ice Heart Jormungar Feeder - Combat - Cast Corrosive Spit'); + +-- SAI for Fulgorge +SET @ENTRY := 18678; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +UPDATE `creature` SET `spawndist`=20,`MovementType`=1 WHERE `id`=@ENTRY; +DELETE FROM `creature_ai_scripts` WHERE `creature_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,1,1,0,100,1,0,0,0,0,11,34038,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - OOC - Cast Submerge Visual'), +(@ENTRY,0,1,0,61,0,100,1,0,0,0,0,18,33554434,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - OOC - Set Unselectable and Unattackable Flags'), +(@ENTRY,0,2,3,0,0,100,1,0,0,0,0,28,34038,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - On Aggro - Remove Submerge Visual'), +(@ENTRY,0,3,4,61,0,100,0,0,0,0,0,19,33554434,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - On Aggro - Remove Unselectable and Unattackable Flags'), +(@ENTRY,0,4,5,61,0,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - On Aggro - Prevent Combat Movement'), +(@ENTRY,0,5,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - On Aggro - Set Phase 1'), +(@ENTRY,0,6,7,0,1,100,0,1000,1000,2100,4500,11,31747,1,0,0,0,0,2,0,0,0,0,0,0,0,'Fulgorge - Combat - Cast Poison (Phase 1)'), +(@ENTRY,0,7,0,61,1,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - Combat - Prevent Combat Movement (Phase 1)'), +(@ENTRY,0,8,0,0,1,100,0,20400,20400,45000,50000,11,32738,1,0,0,0,0,2,0,0,0,0,0,0,0,'Fulgorge - Combat - Cast Bore (Phase 1)'), +(@ENTRY,0,9,10,9,1,100,0,20,60,0,0,11,34038,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - At 20 - 60 Yards Range - Cast Submerge Visual (Phase 1)'), +(@ENTRY,0,10,0,61,1,100,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - At 20 - 60 Yards Range - Set Phase 2 (Phase 1)'), +(@ENTRY,0,11,12,9,2,100,0,0,8,0,0,28,34038,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - At 0 - 8 Yards - Remove Submerge Visual (Phase 2)'), +(@ENTRY,0,12,13,61,2,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - Combat - Prevent Combat Movement (Phase 2)'), +(@ENTRY,0,13,14,61,2,100,0,0,8,0,0,19,33554434,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - At 0 - 8 Yards - Remove Unselectable and Unattackable Flags (Phase 2)'), +(@ENTRY,0,14,0,61,2,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Fulgorge - At 20 - 60 Yards Range - Set Phase 1 (Phase 2)'); + +-- Deranged Helboar SAI +SET @ENTRY := 16863; -- NPC entry +SET @SPELL1 := 33908; -- Burning Spikes +SET @SPELL2 := 8599; -- Enrage +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `creature_ai_scripts` WHERE `creature_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,11,0,100,0,0,0,0,0,11,@SPELL1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Deranged Helboar - On spawn - Cast Burning Spikes on self'), +(@ENTRY,0,1,0,2,0,100,1,0,30,0,0,11,@SPELL2,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Deranged Helboar - On Health level - Cast Enrage When Below 30% HP'); + +-- Stonescythe Alpha SAI +SET @ENTRY := 16929; -- NPC entry +SET @SPELL1 := 33911; -- Tear Armor +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `creature_ai_scripts` WHERE `creature_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,50,0,3000,3000,8000,8000,11,@SPELL1,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Stonescythe Alpha - Combat - Cast Tear Armor'); + -- cgit v1.2.3 From ea55e54a50b53ff6d69023d14a64788b05f75fa8 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 13:30:51 +0200 Subject: Scripts/Halls Of Stone: Properly fixed achievement Abuse the Ooze --- ...11_06_25_04_world_achievement_criteria_data.sql | 6 +++ .../Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp | 56 +++++++++++++++------- 2 files changed, 45 insertions(+), 17 deletions(-) create mode 100644 sql/updates/world/2011_06_25_04_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_04_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_04_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..66a9ff7f115 --- /dev/null +++ b/sql/updates/world/2011_06_25_04_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=7593 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7593 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7593,11,0,0,'achievement_abuse_the_ooze'); diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp index 2377c5e908a..6de54d357c5 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp @@ -60,11 +60,7 @@ enum SjonnirCreatures CREATURE_IRON_SLUDGE = 28165 }; -enum Misc -{ - DATA_TIME_BEFORE_OOZE = 150000, //2min 30 secs - ACHIEV_ABUSE_THE_OOZE = 2155 -}; +#define DATA_TIME_BEFORE_OOZE 150000 //2min 30 secs struct Locations { @@ -73,10 +69,13 @@ struct Locations static Locations PipeLocations[] = { - {1295.44f, 734.07f, 200.3f}, //left - {1297.7f, 595.6f, 199.9f} //right + {1295.44f, 734.07f, 200.3f}, //left + {1297.7f, 595.6f, 199.9f} //right }; +#define ACTION_OOZE_DEAD 1 +#define DATA_ABUSE_THE_OOZE 2 + static Locations CenterPoint = {1295.21f, 667.157f, 189.691f}; class boss_sjonnir : public CreatureScript @@ -105,7 +104,7 @@ public: uint32 uiSummonTimer; uint32 uiFrenzyTimer; uint32 uiEncounterTimer; - uint32 uiKilledIronSludges; + uint8 abuseTheOoze; SummonList lSummons; @@ -122,7 +121,7 @@ public: uiLightningRingTimer = 30000 + rand()%5000; uiSummonTimer = 5000; uiFrenzyTimer = 300000; //5 minutes - uiKilledIronSludges = 0; + abuseTheOoze = 0; lSummons.DespawnAll(); @@ -221,11 +220,7 @@ public: lSummons.DespawnAll(); if (pInstance) - { pInstance->SetData(DATA_SJONNIR_EVENT, DONE); - if (IsHeroic() && uiKilledIronSludges > 4) - pInstance->DoCompleteAchievement(ACHIEV_ABUSE_THE_OOZE); - } } void KilledUnit(Unit* victim) { @@ -234,9 +229,18 @@ public: DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); } - void KilledIronSludge() + void DoAction(int32 const action) { - ++uiKilledIronSludges; + if (action == ACTION_OOZE_DEAD) + ++abuseTheOoze; + } + + uint32 GetData(uint32 type) + { + if (type == DATA_ABUSE_THE_OOZE) + return abuseTheOoze; + + return 0; } }; @@ -307,16 +311,34 @@ public: void JustDied(Unit* /*pKiller*/) { if (pInstance) - if (Creature* pSjonnir = Unit::GetCreature(*me, pInstance->GetData64(DATA_SJONNIR))) - CAST_AI(boss_sjonnir::boss_sjonnirAI, pSjonnir->AI())->KilledIronSludge(); + if (Creature* Sjonnir = ObjectAccessor::GetCreature(*me, pInstance->GetData64(DATA_SJONNIR))) + Sjonnir->AI()->DoAction(ACTION_OOZE_DEAD); } }; }; +class achievement_abuse_the_ooze : public AchievementCriteriaScript +{ + public: + achievement_abuse_the_ooze() : AchievementCriteriaScript("achievement_abuse_the_ooze") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Sjonnir = target->ToCreature()) + if (Sjonnir->AI()->GetData(DATA_ABUSE_THE_OOZE) >= 5) + return true; + + return false; + } +}; + void AddSC_boss_sjonnir() { new boss_sjonnir(); new mob_malformed_ooze(); new mob_iron_sludge(); + new achievement_abuse_the_ooze(); } -- cgit v1.2.3 From cec8ea0b4e0a4d6c224b7be4c9bf8990f326ad91 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 13:31:41 +0200 Subject: Scripts/Drak'Tharon Keep: Properly fixed achievement Consumption Junction --- ...11_06_25_05_world_achievement_criteria_data.sql | 6 +++ .../Northrend/DraktharonKeep/boss_trollgore.cpp | 52 +++++++++++++++------- 2 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 sql/updates/world/2011_06_25_05_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_05_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_05_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..c67289b76a5 --- /dev/null +++ b/sql/updates/world/2011_06_25_05_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=7579 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7579 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7579,11,0,0,'achievement_consumption_junction'); diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp index db285306071..641c3bed197 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp @@ -34,6 +34,7 @@ enum Spells H_SPELL_CONSUME = 59803, H_SPELL_CONSUME_AURA = 59805, }; + enum Yells { SAY_AGGRO = -1600006, @@ -42,16 +43,15 @@ enum Yells SAY_EXPLODE = -1600009, SAY_DEATH = -1600010 }; -enum Achievements -{ - ACHIEV_CONSUMPTION_JUNCTION = 2151 -}; + enum Creatures { NPC_DRAKKARI_INVADER_1 = 27753, NPC_DRAKKARI_INVADER_2 = 27709 }; +#define DATA_CONSUMPTION_JUNCTION 1 + Position AddSpawnPoint = { -260.493011f, -622.968018f, 26.605301f, 3.036870f }; class boss_trollgore : public CreatureScript @@ -73,7 +73,7 @@ public: uint32 uiExplodeCorpseTimer; uint32 uiSpawnTimer; - bool bAchiev; + bool consumptionJunction; SummonList lSummons; @@ -88,7 +88,7 @@ public: uiExplodeCorpseTimer = 3*IN_MILLISECONDS; uiSpawnTimer = urand(30*IN_MILLISECONDS, 40*IN_MILLISECONDS); - bAchiev = IsHeroic(); + consumptionJunction = true; lSummons.DespawnAll(); @@ -127,11 +127,11 @@ public: uiConsumeTimer = 15*IN_MILLISECONDS; } else uiConsumeTimer -= diff; - if (bAchiev) + if (consumptionJunction) { - Aura *pConsumeAura = me->GetAura(DUNGEON_MODE(SPELL_CONSUME_AURA, H_SPELL_CONSUME_AURA)); - if (pConsumeAura && pConsumeAura->GetStackAmount() > 9) - bAchiev = false; + Aura* ConsumeAura = me->GetAura(DUNGEON_MODE(SPELL_CONSUME_AURA, H_SPELL_CONSUME_AURA)); + if (ConsumeAura && ConsumeAura->GetStackAmount() > 9) + consumptionJunction = false; } if (uiCrushTimer <= diff) @@ -163,11 +163,15 @@ public: lSummons.DespawnAll(); if (pInstance) - { - if (bAchiev) - pInstance->DoCompleteAchievement(ACHIEV_CONSUMPTION_JUNCTION); pInstance->SetData(DATA_TROLLGORE_EVENT, DONE); - } + } + + uint32 GetData(uint32 type) + { + if (type == DATA_CONSUMPTION_JUNCTION) + return consumptionJunction ? 1 : 0; + + return 0; } void KilledUnit(Unit* victim) @@ -191,7 +195,25 @@ public: } }; +class achievement_consumption_junction : public AchievementCriteriaScript +{ + public: + achievement_consumption_junction() : AchievementCriteriaScript("achievement_consumption_junction") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Trollgore = target->ToCreature()) + if (Trollgore->AI()->GetData(DATA_CONSUMPTION_JUNCTION)) + return true; + + return false; + } +}; + void AddSC_boss_trollgore() { - new boss_trollgore; + new boss_trollgore(); + new achievement_consumption_junction(); } -- cgit v1.2.3 From b6283412c66ec3262538341c6da35efad03d319a Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 13:32:43 +0200 Subject: Scripts/Forge of Souls: Properly fixed achievement Three Faced --- ...11_06_25_06_world_achievement_criteria_data.sql | 4 +++ .../ForgeOfSouls/boss_devourer_of_souls.cpp | 38 ++++++++++++++++++---- 2 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 sql/updates/world/2011_06_25_06_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_06_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_06_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..3fa82b56f43 --- /dev/null +++ b/sql/updates/world/2011_06_25_06_world_achievement_criteria_data.sql @@ -0,0 +1,4 @@ +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=12976 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(12976,11,0,0,'achievement_three_faced'); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp index 38af9ad3a47..bcaf643136e 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp @@ -77,7 +77,6 @@ enum Events enum eEnum { - ACHIEV_THREE_FACED = 4523, DISPLAY_ANGER = 30148, DISPLAY_SORROW = 30149, DISPLAY_DESIRE = 30150, @@ -115,6 +114,8 @@ struct outroPosition { { 0, 0 }, { 0.0f, 0.0f, 0.0f, 0.0f } } }; +#define DATA_THREE_FACED 1 + class boss_devourer_of_souls : public CreatureScript { public: @@ -143,7 +144,7 @@ class boss_devourer_of_souls : public CreatureScript events.Reset(); summons.DespawnAll(); - threeFaceAchievement = true; + threeFaced = true; mirroredSoulTarget = 0; instance->SetData(DATA_DEVOURER_EVENT, NOT_STARTED); @@ -214,9 +215,6 @@ class boss_devourer_of_souls : public CreatureScript instance->SetData(DATA_DEVOURER_EVENT, DONE); - if (threeFaceAchievement && IsHeroic()) - instance->DoCompleteAchievement(ACHIEV_THREE_FACED); - int32 entryIndex; if (instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE) entryIndex = 0; @@ -239,7 +237,15 @@ class boss_devourer_of_souls : public CreatureScript void SpellHitTarget(Unit* /*target*/, const SpellEntry *spell) { if (spell->Id == H_SPELL_PHANTOM_BLAST) - threeFaceAchievement = false; + threeFaced = false; + } + + uint32 GetData(uint32 type) + { + if (type == DATA_THREE_FACED) + return threeFaced; + + return 0; } void UpdateAI(const uint32 diff) @@ -344,7 +350,7 @@ class boss_devourer_of_souls : public CreatureScript } private: - bool threeFaceAchievement; + bool threeFaced; // wailing soul event float beamAngle; @@ -360,7 +366,25 @@ class boss_devourer_of_souls : public CreatureScript } }; +class achievement_three_faced : public AchievementCriteriaScript +{ + public: + achievement_three_faced() : AchievementCriteriaScript("achievement_three_faced") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Devourer = target->ToCreature()) + if (Devourer->AI()->GetData(DATA_THREE_FACED)) + return true; + + return false; + } +}; + void AddSC_boss_devourer_of_souls() { new boss_devourer_of_souls(); + new achievement_three_faced(); } -- cgit v1.2.3 From a82a35c655f284ea0bc91d2353631274ae8dcef5 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 13:33:58 +0200 Subject: Scripts/Ahn'Kahet: Properly fixed achievement Volunteer Work --- ...11_06_25_07_world_achievement_criteria_data.sql | 6 ++ .../Northrend/AzjolNerub/ahnkahet/ahnkahet.h | 1 - .../ahnkahet/boss_jedoga_shadowseeker.cpp | 72 ++++++++++++++++++---- .../AzjolNerub/ahnkahet/instance_ahnkahet.cpp | 10 +-- 4 files changed, 67 insertions(+), 22 deletions(-) create mode 100644 sql/updates/world/2011_06_25_07_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_07_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_07_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..f714e984a19 --- /dev/null +++ b/sql/updates/world/2011_06_25_07_world_achievement_criteria_data.sql @@ -0,0 +1,6 @@ +DELETE FROM `disables` WHERE `entry`=7359 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7359 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7359,11,0,0,'achievement_volunteer_work'); diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h index a25093579bb..e19054d2f46 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/ahnkahet.h @@ -44,7 +44,6 @@ enum Data DATA_SPHERE2_EVENT, DATA_JEDOGA_TRIGGER_SWITCH, DATA_JEDOGA_RESET_INITIANDS, - DATA_INITIAND_KILLED, DATA_ALL_INITIAND_DEAD }; diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp index 68d1272750c..2923359e0fe 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_jedoga_shadowseeker.cpp @@ -63,6 +63,9 @@ const Position JedogaPosition[2] = {372.330994f, -705.278015f, -16.179716f, 5.427970f} }; +#define ACTION_INITIAND_KILLED 1 +#define DATA_VOLUNTEER_WORK 2 + class boss_jedoga_shadowseeker : public CreatureScript { public: @@ -89,7 +92,7 @@ public: bool bOnGround; bool bOpFerokFail; bool bCanDown; - + bool volunteerWork; bool bFirstTime; void Reset() @@ -104,6 +107,7 @@ public: bOpFerokFail = false; bOnGround = false; bCanDown = false; + volunteerWork = true; if (pInstance) { @@ -152,6 +156,20 @@ public: pInstance->SetData(DATA_JEDOGA_SHADOWSEEKER_EVENT, DONE); } + void DoAction(int32 const action) + { + if (action == ACTION_INITIAND_KILLED) + volunteerWork = false; + } + + uint32 GetData(uint32 type) + { + if (type == DATA_VOLUNTEER_WORK) + return volunteerWork ? 1 : 0; + + return 0; + } + void MoveInLineOfSight(Unit* who) { if (!pInstance || !who || (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_JEDOGA_CONTROLLER)) @@ -374,43 +392,53 @@ public: void JustDied(Unit* Killer) { - if (!Killer || !pInstance) return; + if (!Killer || !pInstance) + return; if (bWalking) { - Creature* boss = me->GetMap()->GetCreature(pInstance->GetData64(DATA_JEDOGA_SHADOWSEEKER)); - if (boss && !CAST_AI(boss_jedoga_shadowseeker::boss_jedoga_shadowseekerAI, boss->AI())->bOpFerok) CAST_AI(boss_jedoga_shadowseeker::boss_jedoga_shadowseekerAI, boss->AI())->bOpFerokFail = true; + if (Creature* boss = ObjectAccessor::GetCreature(*me, pInstance->GetData64(DATA_JEDOGA_SHADOWSEEKER))) + { + if (!CAST_AI(boss_jedoga_shadowseeker::boss_jedoga_shadowseekerAI, boss->AI())->bOpFerok) + CAST_AI(boss_jedoga_shadowseeker::boss_jedoga_shadowseekerAI, boss->AI())->bOpFerokFail = true; + + boss->AI()->DoAction(ACTION_INITIAND_KILLED); + } - if (Killer->GetTypeId() == TYPEID_PLAYER) pInstance->SetData(DATA_INITIAND_KILLED, 1); pInstance->SetData64(DATA_ADD_JEDOGA_OPFER, 0); bWalking = false; } - if (Killer->GetTypeId() == TYPEID_PLAYER) pInstance->SetData64(DATA_PL_JEDOGA_TARGET, Killer->GetGUID()); + if (Killer->GetTypeId() == TYPEID_PLAYER) + pInstance->SetData64(DATA_PL_JEDOGA_TARGET, Killer->GetGUID()); } void EnterCombat(Unit* who) { - if ((pInstance && pInstance->GetData(DATA_JEDOGA_SHADOWSEEKER_EVENT) == IN_PROGRESS) || !who) return; + if ((pInstance && pInstance->GetData(DATA_JEDOGA_SHADOWSEEKER_EVENT) == IN_PROGRESS) || !who) + return; } void AttackStart(Unit* victim) { - if ((pInstance && pInstance->GetData(DATA_JEDOGA_SHADOWSEEKER_EVENT) == IN_PROGRESS) || !victim) return; + if ((pInstance && pInstance->GetData(DATA_JEDOGA_SHADOWSEEKER_EVENT) == IN_PROGRESS) || !victim) + return; ScriptedAI::AttackStart(victim); } void MoveInLineOfSight(Unit* who) { - if ((pInstance && pInstance->GetData(DATA_JEDOGA_SHADOWSEEKER_EVENT) == IN_PROGRESS) || !who) return; + if ((pInstance && pInstance->GetData(DATA_JEDOGA_SHADOWSEEKER_EVENT) == IN_PROGRESS) || !who) + return; ScriptedAI::MoveInLineOfSight(who); } void MovementInform(uint32 uiType, uint32 uiPointId) { - if (uiType != POINT_MOTION_TYPE || !pInstance) return; + if (uiType != POINT_MOTION_TYPE || !pInstance) + return; switch(uiPointId) { @@ -569,9 +597,27 @@ public: } }; +class achievement_volunteer_work : public AchievementCriteriaScript +{ + public: + achievement_volunteer_work() : AchievementCriteriaScript("achievement_volunteer_work") + { + } + + bool OnCheck(Player* /*player*/, Unit* target) + { + if (Creature* Jedoga = target->ToCreature()) + if (Jedoga->AI()->GetData(DATA_VOLUNTEER_WORK)) + return true; + + return false; + } +}; + void AddSC_boss_jedoga_shadowseeker() { - new boss_jedoga_shadowseeker; - new mob_jedoga_initiand; - new npc_jedogas_aufseher_trigger; + new boss_jedoga_shadowseeker(); + new mob_jedoga_initiand(); + new npc_jedogas_aufseher_trigger(); + new achievement_volunteer_work(); } diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp index 55346cd8197..b10a49b7116 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/instance_ahnkahet.cpp @@ -59,9 +59,8 @@ public: uint32 m_auiEncounter[MAX_ENCOUNTER]; uint32 spheres[2]; - uint8 InitiandCnt, - switchtrigger, - initiandkilled; + uint8 InitiandCnt; + uint8 switchtrigger; std::string str_data; @@ -81,7 +80,6 @@ public: InitiandCnt = 0; switchtrigger = 0; - initiandkilled = 0; JedogaSacrifices = 0; JedogaTarget = 0; } @@ -200,8 +198,6 @@ public: cr->RemoveCorpse(); } } - if (!initiandkilled && instance->IsHeroic()) - DoCompleteAchievement(ACHIEV_VOLUNTEER_WORK); } break; case DATA_HERALD_VOLAZJ_EVENT: m_auiEncounter[3] = data; break; @@ -209,7 +205,6 @@ public: case DATA_SPHERE1_EVENT: spheres[0] = data; break; case DATA_SPHERE2_EVENT: spheres[1] = data; break; case DATA_JEDOGA_TRIGGER_SWITCH: switchtrigger = data; break; - case DATA_INITIAND_KILLED: initiandkilled = data; break; case DATA_JEDOGA_RESET_INITIANDS: for (std::set::const_iterator itr = InitiandGUIDs.begin(); itr != InitiandGUIDs.end(); ++itr) { @@ -245,7 +240,6 @@ public: } return 1; case DATA_JEDOGA_TRIGGER_SWITCH: return switchtrigger; - case DATA_INITIAND_KILLED: return initiandkilled; } return 0; } -- cgit v1.2.3 From b576be1b571430c9f6ff7364e099c9657bf3f384 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 13:39:23 +0200 Subject: Scripts/Halls of Stone: Fixed typo in achievement name. Thanks qaywsx for notice --- sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql | 2 +- sql/updates/world/2011_06_25_08_world_achievement_criteria_data.sql | 1 + src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 sql/updates/world/2011_06_25_08_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql index e228625014e..cb76cbb1d4a 100644 --- a/sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql +++ b/sql/updates/world/2011_06_24_07_world_achievement_criteria_data.sql @@ -6,4 +6,4 @@ VALUES DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7590 AND `type`=11; INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) VALUES -(7590,11,0,0,'achievement_brann_sparklin_news'); +(7590,11,0,0,'achievement_brann_spankin_new'); diff --git a/sql/updates/world/2011_06_25_08_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_08_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..fd2567ed526 --- /dev/null +++ b/sql/updates/world/2011_06_25_08_world_achievement_criteria_data.sql @@ -0,0 +1 @@ +UPDATE `achievement_criteria_data` SET `ScriptName`='achievement_brann_spankin_new' WHERE `ScriptName`='achievement_brann_sparklin_news'; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp index 9d2f5647df2..19bc5e9da7b 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp @@ -735,10 +735,10 @@ public: }; -class achievement_brann_sparklin_news : public AchievementCriteriaScript +class achievement_brann_spankin_new : public AchievementCriteriaScript { public: - achievement_brann_sparklin_news() : AchievementCriteriaScript("achievement_brann_sparklin_news") + achievement_brann_spankin_new() : AchievementCriteriaScript("achievement_brann_spankin_new") { } @@ -756,5 +756,5 @@ void AddSC_halls_of_stone() { new npc_brann_hos(); new mob_tribuna_controller(); - new achievement_brann_sparklin_news(); + new achievement_brann_spankin_new(); } -- cgit v1.2.3 From 88e53f978ec7b2daf648811e4bb890bf52e7124d Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 15:47:58 +0200 Subject: Scripts/Obsidian Sanctum: Properly fixed achievements Twilight Assist & Twilight Duo & Twilight Zone --- ...11_06_25_09_world_achievement_criteria_data.sql | 11 +++ .../ObsidianSanctum/boss_sartharion.cpp | 106 ++++++++++++++------- 2 files changed, 85 insertions(+), 32 deletions(-) create mode 100644 sql/updates/world/2011_06_25_09_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_09_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_09_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..6a2681b5e71 --- /dev/null +++ b/sql/updates/world/2011_06_25_09_world_achievement_criteria_data.sql @@ -0,0 +1,11 @@ +DELETE FROM `disables` WHERE `entry` IN (7328,7329,7330,7331,7332,7333) AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (7328,7329,7330,7331,7332,7333) AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7328,11,0,0,'achievement_twilight_assist'), +(7329,11,0,0,'achievement_twilight_duo'), +(7330,11,0,0,'achievement_twilight_zone'), +(7331,11,0,0,'achievement_twilight_assist'), +(7332,11,0,0,'achievement_twilight_duo'), +(7333,11,0,0,'achievement_twilight_zone'); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index bc844698fdb..aaf2dad111c 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -122,14 +122,6 @@ enum eEnums //using these custom points for dragons start and end POINT_ID_INIT = 100, POINT_ID_LAND = 200, - - //Achievements - ACHIEV_TWILIGHT_ASSIST = 2049, - H_ACHIEV_TWILIGHT_ASSIST = 2052, - ACHIEV_TWILIGHT_DUO = 2050, - H_ACHIEV_TWILIGHT_DUO = 2053, - ACHIEV_TWILIGHT_ZONE = 2051, - H_ACHIEV_TWILIGHT_ZONE = 2054 }; #define DATA_CAN_LOOT 0 @@ -213,6 +205,8 @@ Locations TwilightEggsSarth[] = {3257.54f, 502.285f , 58.2077f} }; +#define TWILIGHT_ACHIEVEMENTS 1 + /*###### ## Boss Sartharion ######*/ @@ -256,7 +250,7 @@ public: bool m_bHasCalledShadron; bool m_bHasCalledVesperon; - uint32 achievProgress; + uint8 drakeCount; void Reset() { @@ -285,7 +279,7 @@ public: me->SetHomePosition(3246.57f, 551.263f, 58.6164f, 4.66003f); - achievProgress = 0; + drakeCount = 0; // Drakes respawning system if (pInstance) @@ -384,20 +378,6 @@ public: if (pVesperon && pVesperon->isAlive()) pVesperon->DisappearAndDie(); - if (achievProgress == 1) - pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_ASSIST, H_ACHIEV_TWILIGHT_ASSIST)); - else if (achievProgress == 2) - { - pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_ASSIST, H_ACHIEV_TWILIGHT_ASSIST)); - pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_DUO, H_ACHIEV_TWILIGHT_DUO)); - } - else if (achievProgress == 3) - { - pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_ASSIST, H_ACHIEV_TWILIGHT_ASSIST)); - pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_DUO, H_ACHIEV_TWILIGHT_DUO)); - pInstance->DoCompleteAchievement(RAID_MODE(ACHIEV_TWILIGHT_ZONE, H_ACHIEV_TWILIGHT_ZONE)); - } - pInstance->SetData(TYPE_SARTHARION_EVENT, DONE); } } @@ -419,13 +399,21 @@ public: me->AddLootMode(LOOT_MODE_HARD_MODE_1); // Add 1st Drake loot mode } + uint32 GetData(uint32 type) + { + if (type == TWILIGHT_ACHIEVEMENTS) + return drakeCount; + + return 0; + } + void FetchDragons() { - if(!pInstance) + if (!pInstance) return; me->ResetLootMode(); - achievProgress = 0; + drakeCount = 0; Creature* pFetchTene = Unit::GetCreature(*me, pInstance->GetData64(DATA_TENEBRON)); Creature* pFetchShad = Unit::GetCreature(*me, pInstance->GetData64(DATA_SHADRON)); @@ -437,10 +425,10 @@ public: if (pFetchTene && pFetchTene->isAlive() && !pFetchTene->getVictim()) { bCanUseWill = true; - if(!pFetchTene->isInCombat()) + if (!pFetchTene->isInCombat()) { AddDrakeLootMode(); - achievProgress++; + ++drakeCount; } pFetchTene->GetMotionMaster()->MovePoint(POINT_ID_INIT, m_aTene[0].m_fX, m_aTene[0].m_fY, m_aTene[0].m_fZ); @@ -451,10 +439,10 @@ public: if (pFetchShad && pFetchShad->isAlive() && !pFetchShad->getVictim()) { bCanUseWill = true; - if(!pFetchShad->isInCombat()) + if (!pFetchShad->isInCombat()) { AddDrakeLootMode(); - achievProgress++; + ++drakeCount; } pFetchShad->GetMotionMaster()->MovePoint(POINT_ID_INIT, m_aShad[0].m_fX, m_aShad[0].m_fY, m_aShad[0].m_fZ); @@ -465,10 +453,10 @@ public: if (pFetchVesp && pFetchVesp->isAlive() && !pFetchVesp->getVictim()) { bCanUseWill = true; - if(!pFetchVesp->isInCombat()) + if (!pFetchVesp->isInCombat()) { AddDrakeLootMode(); - achievProgress++; + ++drakeCount; } pFetchVesp->GetMotionMaster()->MovePoint(POINT_ID_INIT, m_aVesp[0].m_fX, m_aVesp[0].m_fY, m_aVesp[0].m_fZ); @@ -1710,6 +1698,57 @@ public: }; +class achievement_twilight_assist : public AchievementCriteriaScript +{ + public: + achievement_twilight_assist() : AchievementCriteriaScript("achievement_twilight_assist") + { + } + + bool OnCheck(Player* player, Unit* target) + { + if (Creature* Sartharion = target->ToCreature()) + if (Sartharion->AI()->GetData(TWILIGHT_ACHIEVEMENTS) >= 1) + return true; + + return false; + } +}; + +class achievement_twilight_duo : public AchievementCriteriaScript +{ + public: + achievement_twilight_duo() : AchievementCriteriaScript("achievement_twilight_duo") + { + } + + bool OnCheck(Player* player, Unit* target) + { + if (Creature* Sartharion = target->ToCreature()) + if (Sartharion->AI()->GetData(TWILIGHT_ACHIEVEMENTS) >= 2) + return true; + + return false; + } +}; + +class achievement_twilight_zone : public AchievementCriteriaScript +{ + public: + achievement_twilight_zone() : AchievementCriteriaScript("achievement_twilight_zone") + { + } + + bool OnCheck(Player* player, Unit* target) + { + if (Creature* Sartharion = target->ToCreature()) + if (Sartharion->AI()->GetData(TWILIGHT_ACHIEVEMENTS) == 3) + return true; + + return false; + } +}; + void AddSC_boss_sartharion() { new boss_sartharion(); @@ -1722,4 +1761,7 @@ void AddSC_boss_sartharion() new npc_flame_tsunami(); new npc_twilight_fissure(); new mob_twilight_whelp(); + new achievement_twilight_assist(); + new achievement_twilight_duo(); + new achievement_twilight_zone(); } -- cgit v1.2.3 From 6fd2bc4f288817c128f9bf09bfed9fc42eb26bf2 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 16:40:10 +0200 Subject: Scripts/Nexus: Properly fixed achievement Intense Cold --- ...11_06_25_10_world_achievement_criteria_data.sql | 11 +++ .../Northrend/Nexus/Nexus/boss_keristrasza.cpp | 104 ++++++++++++++------- 2 files changed, 80 insertions(+), 35 deletions(-) create mode 100644 sql/updates/world/2011_06_25_10_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_10_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_10_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..1fddea0ad52 --- /dev/null +++ b/sql/updates/world/2011_06_25_10_world_achievement_criteria_data.sql @@ -0,0 +1,11 @@ +DELETE FROM `disables` WHERE `entry`=7315 AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7315 AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(7315,11,0,0,'achievement_intense_cold'); + +DELETE FROM `spell_script_names` WHERE `spell_id`=48095; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) +VALUES +(48095,'spell_intense_cold'); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index 7a5261a0548..7a7afb229e9 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -32,6 +32,7 @@ enum Spells SPELL_INTENSE_COLD = 48094, SPELL_INTENSE_COLD_TRIGGERED = 48095 }; + enum Yells { //Yell @@ -41,13 +42,11 @@ enum Yells SAY_DEATH = -1576043, SAY_CRYSTAL_NOVA = -1576044 }; -enum Achievements -{ - ACHIEV_INTENSE_COLD = 2036 -}; + enum Misc { - DATA_CONTAINMENT_SPHERES = 3 + DATA_INTENSE_COLD = 1, + DATA_CONTAINMENT_SPHERES = 3, }; class boss_keristrasza : public CreatureScript @@ -69,16 +68,14 @@ public: InstanceScript* pInstance; + std::list intenseColdList; + uint64 auiContainmentSphereGUIDs[DATA_CONTAINMENT_SPHERES]; uint32 uiCrystalfireBreathTimer; uint32 uiCrystalChainsCrystalizeTimer; uint32 uiTailSweepTimer; + bool intenseCold; bool bEnrage; - uint64 auiContainmentSphereGUIDs[DATA_CONTAINMENT_SPHERES]; - - uint32 uiCheckIntenseColdTimer; - bool bMoreThanTwoIntenseCold; // needed for achievement: Intense Cold(2036) - void Reset() { uiCrystalfireBreathTimer = 14*IN_MILLISECONDS; @@ -86,8 +83,8 @@ public: uiTailSweepTimer = 5*IN_MILLISECONDS; bEnrage = false; - uiCheckIntenseColdTimer = 2*IN_MILLISECONDS; - bMoreThanTwoIntenseCold = false; + intenseCold = true; + intenseColdList.clear(); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED); @@ -111,11 +108,7 @@ public: DoScriptText(SAY_DEATH, me); if (pInstance) - { - if (IsHeroic() && !bMoreThanTwoIntenseCold) - pInstance->DoCompleteAchievement(ACHIEV_INTENSE_COLD); pInstance->SetData(DATA_KERISTRASZA_EVENT, DONE); - } } void KilledUnit(Unit* /*victim*/) @@ -164,30 +157,17 @@ public: } } + void SetData(uint32 id, uint32 data) + { + if (id == DATA_INTENSE_COLD) + intenseColdList.push_back(data); + } + void UpdateAI(const uint32 diff) { if (!UpdateVictim()) return; - if (uiCheckIntenseColdTimer < diff && !bMoreThanTwoIntenseCold) - { - std::list ThreatList = me->getThreatManager().getThreatList(); - for (std::list::const_iterator itr = ThreatList.begin(); itr != ThreatList.end(); ++itr) - { - Unit *pTarget = Unit::GetUnit(*me, (*itr)->getUnitGuid()); - if (!pTarget || pTarget->GetTypeId() != TYPEID_PLAYER) - continue; - - Aura *AuraIntenseCold = pTarget->GetAura(SPELL_INTENSE_COLD_TRIGGERED); - if (AuraIntenseCold && AuraIntenseCold->GetStackAmount() > 2) - { - bMoreThanTwoIntenseCold = true; - break; - } - } - uiCheckIntenseColdTimer = 2*IN_MILLISECONDS; - } else uiCheckIntenseColdTimer -= diff; - if (!bEnrage && HealthBelowPct(25)) { DoScriptText(SAY_ENRAGE, me); @@ -246,8 +226,62 @@ public: }; +class spell_intense_cold : public SpellScriptLoader +{ + public: + spell_intense_cold() : SpellScriptLoader("spell_intense_cold") { } + + class spell_intense_cold_AuraScript : public AuraScript + { + PrepareAuraScript(spell_intense_cold_AuraScript); + + void HandlePeriodicTick(AuraEffect const* aurEff) + { + Unit* caster = GetCaster(); + if (!caster) + return; + + if (aurEff->GetBase()->GetStackAmount() >= 2) + caster->ToCreature()->AI()->SetData(DATA_INTENSE_COLD, GetTarget()->GetGUID()); + } + + void Register() + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_intense_cold_AuraScript::HandlePeriodicTick, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_intense_cold_AuraScript(); + } +}; + +class achievement_intense_cold : public AchievementCriteriaScript +{ + public: + achievement_intense_cold() : AchievementCriteriaScript("achievement_intense_cold") + { + } + + bool OnCheck(Player* player, Unit* target) + { + std::list intenseColdList = CAST_AI(boss_keristrasza::boss_keristraszaAI, target->ToCreature()->AI())->intenseColdList; + if (intenseColdList.empty()) + return true; + + for (std::list::iterator itr = intenseColdList.begin(); itr != intenseColdList.end(); ++itr) + if (player->GetGUID() != *itr) + return true; + + return false; + } +}; + void AddSC_boss_keristrasza() { new boss_keristrasza(); new containment_sphere(); + new achievement_intense_cold(); + new spell_intense_cold(); } -- cgit v1.2.3 From 365c74cf8e281f891143bf1e18f29c1f89822605 Mon Sep 17 00:00:00 2001 From: Shocker Date: Sat, 25 Jun 2011 17:44:25 +0300 Subject: Scripts/SQL: Update SQL after recent pull --- sql/scripts/world_scripts_full.sql | 2 +- sql/updates/world/2011_06_25_11_world_creature_template.sql | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2011_06_25_11_world_creature_template.sql (limited to 'sql/updates') diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index ace8b335a90..9cf49eb561e 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -1544,7 +1544,7 @@ UPDATE `creature_template` SET `ScriptName`='boss_flame_leviathan_defense_turret UPDATE `creature_template` SET `ScriptName`='boss_flame_leviathan_overload_device' WHERE `entry`=33143; UPDATE `creature_template` SET `ScriptName`='boss_flame_leviathan_defense_cannon' WHERE `entry`=33139; UPDATE `creature_template` SET `ScriptName`='npc_colossus' WHERE `entry`=33237; -UPDATE `creature_template` SET `ScriptName`='spell_pool_of_tar' WHERE `entry`=33090; +UPDATE `creature_template` SET `ScriptName`='npc_pool_of_tar' WHERE `entry`=33090; UPDATE `creature_template` SET `ScriptName`='boss_ignis' WHERE `entry`=33118; UPDATE `creature_template` SET `ScriptName`='npc_iron_construct' WHERE `entry`=33121; UPDATE `creature_template` SET `ScriptName`='npc_scorch_ground' WHERE `entry`=33221; diff --git a/sql/updates/world/2011_06_25_11_world_creature_template.sql b/sql/updates/world/2011_06_25_11_world_creature_template.sql new file mode 100644 index 00000000000..a0a41fb74c0 --- /dev/null +++ b/sql/updates/world/2011_06_25_11_world_creature_template.sql @@ -0,0 +1 @@ +UPDATE `creature_template` SET `ScriptName`='npc_pool_of_tar' WHERE `entry`=33090; -- cgit v1.2.3 From 66362cbc1de79ebbfbd99415d18ef4609cf53f36 Mon Sep 17 00:00:00 2001 From: Shocker Date: Sat, 25 Jun 2011 18:16:45 +0300 Subject: Core/Misc: Typo fix in trinity_string Thanks to sebid, closes #2100 --- sql/base/world_database.sql | 2 +- sql/updates/world/2011_06_25_11_world_trinity_string.sql | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/2011_06_25_11_world_trinity_string.sql (limited to 'sql/updates') diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index 436102d9890..dc601b4d268 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -27582,7 +27582,7 @@ INSERT INTO `trinity_string` (`entry`,`content_default`,`content_loc1`,`content_ (1131, 'The following characters match your query:', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (1132, 'Currently Banned Characters:', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (1133, '| Character | BanDate | UnbanDate | Banned By | Ban Reason |', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), -(1200, 'You try to view cinemitic %u but it doesn''t exist.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(1200, 'You try to view cinematic %u but it doesn''t exist.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (1201, 'You try to view movie %u but it doesn''t exist.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (1205, 'The battle will begin in two minutes.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), (1206, 'The battle will begin in 1 minute.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), diff --git a/sql/updates/world/2011_06_25_11_world_trinity_string.sql b/sql/updates/world/2011_06_25_11_world_trinity_string.sql new file mode 100644 index 00000000000..cb4cbbe4a95 --- /dev/null +++ b/sql/updates/world/2011_06_25_11_world_trinity_string.sql @@ -0,0 +1 @@ +UPDATE `trinity_string` SET `content_default`='You try to view cinematic %u but it doesn\'t exist.' WHERE entry='1200'; -- cgit v1.2.3 From 956c5f0e5e6b580f998383e915a62bcbb422d3f9 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 17:51:01 +0200 Subject: DB/Conditions: Correct conditions for Powerful Healing Ward and fix naming of SQL file in recent commit --- sql/updates/world/2011_06_25_11_world_trinity_string.sql | 1 - sql/updates/world/2011_06_25_12_world_trinity_string.sql | 1 + sql/updates/world/2011_06_25_13_world_achievement_criteria_data.sql | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 sql/updates/world/2011_06_25_11_world_trinity_string.sql create mode 100644 sql/updates/world/2011_06_25_12_world_trinity_string.sql create mode 100644 sql/updates/world/2011_06_25_13_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_11_world_trinity_string.sql b/sql/updates/world/2011_06_25_11_world_trinity_string.sql deleted file mode 100644 index cb4cbbe4a95..00000000000 --- a/sql/updates/world/2011_06_25_11_world_trinity_string.sql +++ /dev/null @@ -1 +0,0 @@ -UPDATE `trinity_string` SET `content_default`='You try to view cinematic %u but it doesn\'t exist.' WHERE entry='1200'; diff --git a/sql/updates/world/2011_06_25_12_world_trinity_string.sql b/sql/updates/world/2011_06_25_12_world_trinity_string.sql new file mode 100644 index 00000000000..cb4cbbe4a95 --- /dev/null +++ b/sql/updates/world/2011_06_25_12_world_trinity_string.sql @@ -0,0 +1 @@ +UPDATE `trinity_string` SET `content_default`='You try to view cinematic %u but it doesn\'t exist.' WHERE entry='1200'; diff --git a/sql/updates/world/2011_06_25_13_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_13_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..a7a9de5cbdf --- /dev/null +++ b/sql/updates/world/2011_06_25_13_world_achievement_criteria_data.sql @@ -0,0 +1 @@ +DELETE FROM `conditions` WHERE `SourceEntry`=24311 AND `ConditionValue2` IN (14825,14986,14826,14883); \ No newline at end of file -- cgit v1.2.3 From af023a40f745c48dc7e2e0ff8e45d2e79cff8717 Mon Sep 17 00:00:00 2001 From: tobmaps Date: Sat, 25 Jun 2011 23:23:14 +0700 Subject: Core/Spells: Fix Shaman T10 Elemental 4P Bonus Closes #1501 --- sql/base/world_database.sql | 1 + .../world/2011_06_25_14_world_spell_proc_event.sql | 3 +++ src/server/game/Entities/Unit/Unit.cpp | 20 ++++++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 sql/updates/world/2011_06_25_14_world_spell_proc_event.sql (limited to 'sql/updates') diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index dc601b4d268..97c48dc7056 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -19401,6 +19401,7 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam ( 70803, 0x00, 8, 0x003E0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Item - Rogue T10 4P Bonus ( 70805, 0x00, 8, 0x00000000, 0x00020000, 0x00000000, 0x00004000, 0x00000000, 0, 0, 0), -- Item - Rogue T10 2P Bonus ( 70807, 0x00, 11, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0, 0, 0), -- Item - Shaman T10 Restoration 2P Bonus +( 70817, 0x00, 11, 0x00000000, 0x00001000, 0x00000000, 0x00010000, 0x00000000, 0, 0, 0), -- Item - Shaman T10 Elemental 4P Bonus ( 70830, 0x00, 11, 0x00000000, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Item - Shaman T10 Enhancement 2P Bonus ( 70841, 0x00, 5, 0x00000004, 0x00000100, 0x00000000, 0x00040000, 0x00000000, 0, 0, 0), -- Item - Warlock T10 4P Bonus ( 70844, 0x00, 4, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- Item - Warrior T10 Protection 4P Bonus diff --git a/sql/updates/world/2011_06_25_14_world_spell_proc_event.sql b/sql/updates/world/2011_06_25_14_world_spell_proc_event.sql new file mode 100644 index 00000000000..b78a9c087a9 --- /dev/null +++ b/sql/updates/world/2011_06_25_14_world_spell_proc_event.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_proc_event` WHERE `entry` = 70817; +INSERT INTO `spell_proc_event` VALUES +(70817,0,11,0,0x1000,0,0x10000,0,0,0,0); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 67c5db70d1e..fd8be29c3e0 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7252,6 +7252,26 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger } return false; } + // Item - Shaman T10 Elemental 4P Bonus + case 70817: + { + // try to find spell Flame Shock on the target + if (AuraEffect const* aurEff = target->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_SHAMAN, 0x10000000, 0x0, 0x0, GetGUID())) + { + Aura* flameShock = aurEff->GetBase(); + int32 maxDuration = flameShock->GetMaxDuration(); + int32 newDuration = flameShock->GetDuration() + 2 * aurEff->GetAmplitude(); + + flameShock->SetDuration(newDuration); + // is it blizzlike to change max duration for FS? + if (newDuration > maxDuration) + flameShock->SetMaxDuration(newDuration); + + return true; + } + // if not found Flame Shock + return false; + } case 63280: // Glyph of Totem of Wrath { if (procSpell->SpellIconID != 2019) -- cgit v1.2.3 From 0b1fffcc700462d1a6c829ba8e08361c25b5a698 Mon Sep 17 00:00:00 2001 From: Lopin Date: Sat, 25 Jun 2011 19:13:09 +0200 Subject: Scripts/Ulduar: Properly fixed Orbital Bombardment & Orbital Devastation & Nuked From Orbit & Orbit-uary --- ...11_06_25_15_world_achievement_criteria_data.sql | 13 +++ .../Ulduar/ulduar/boss_flame_leviathan.cpp | 109 +++++++++++++++------ 2 files changed, 93 insertions(+), 29 deletions(-) create mode 100644 sql/updates/world/2011_06_25_15_world_achievement_criteria_data.sql (limited to 'sql/updates') diff --git a/sql/updates/world/2011_06_25_15_world_achievement_criteria_data.sql b/sql/updates/world/2011_06_25_15_world_achievement_criteria_data.sql new file mode 100644 index 00000000000..244d572253c --- /dev/null +++ b/sql/updates/world/2011_06_25_15_world_achievement_criteria_data.sql @@ -0,0 +1,13 @@ +DELETE FROM `disables` WHERE `entry` IN (10056,10057,10058,10059,10060,10061,10218,10219) AND `sourceType`=4; + +DELETE FROM `achievement_criteria_data` WHERE `criteria_id` IN (10056,10057,10058,10059,10060,10061,10218,10219) AND `type`=11; +INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`) +VALUES +(10056,11,0,0,'achievement_orbital_bombardment'), +(10057,11,0,0,'achievement_orbital_devastation'), +(10058,11,0,0,'achievement_nuked_from_orbit'), +(10059,11,0,0,'achievement_orbital_bombardment'), +(10060,11,0,0,'achievement_orbital_devastation'), +(10061,11,0,0,'achievement_nuked_from_orbit'), +(10218,11,0,0,'achievement_orbit_uary'), +(10219,11,0,0,'achievement_orbit_uary'); diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp index 634f03bb033..209e3ce2ece 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp @@ -158,20 +158,6 @@ enum Yells SAY_OVERLOAD_3 = -1603075, }; -enum AchievementData -{ - ACHIEV_10_NUKED_FROM_ORBIT = 2915, - ACHIEV_25_NUKED_FROM_ORBIT = 2917, - ACHIEV_10_ORBITAL_BOMBARDMENT = 2913, - ACHIEV_25_ORBITAL_BOMBARDMENT = 2918, - ACHIEV_10_ORBITAL_DEVASTATION = 2914, - ACHIEV_25_ORBITAL_DEVASTATION = 2916, - ACHIEV_10_ORBIT_UARY = 3056, - ACHIEV_25_ORBIT_UARY = 3057, - ACHIEV_10_SIEGE_OF_ULDUAR = 2886, - ACHIEV_25_SIEGE_OF_ULDUAR = 2887, -}; - enum actions { ACTION_TOWER_OF_STORM_DESTROYED = 1, @@ -212,6 +198,8 @@ Position const PosDemolisher[5] = {-798.01f, -227.24f, 429.84f, 1.446f}, }; +#define DATA_ORBIT_ACHIEVEMENTS 1 + class boss_flame_leviathan : public CreatureScript { public: @@ -321,21 +309,6 @@ class boss_flame_leviathan : public CreatureScript { _JustDied(); DoScriptText(SAY_DEATH, me); - - if (ActiveTowers) - { - switch (ActiveTowersCount) - { - case 4: - instance->DoCompleteAchievement(RAID_MODE(ACHIEV_10_ORBIT_UARY, ACHIEV_25_ORBIT_UARY)); - case 3: - instance->DoCompleteAchievement(RAID_MODE(ACHIEV_10_NUKED_FROM_ORBIT, ACHIEV_25_NUKED_FROM_ORBIT)); - case 2: - instance->DoCompleteAchievement(RAID_MODE(ACHIEV_10_ORBITAL_DEVASTATION, ACHIEV_25_ORBITAL_DEVASTATION)); - case 1: - instance->DoCompleteAchievement(RAID_MODE(ACHIEV_10_ORBITAL_BOMBARDMENT, ACHIEV_25_ORBITAL_BOMBARDMENT)); - } - } } void SpellHit(Unit* /*caster*/, SpellEntry const* spell) @@ -358,6 +331,8 @@ class boss_flame_leviathan : public CreatureScript return Shutout ? 1 : 0; case DATA_UNBROKEN: return Unbroken ? 1 : 0; + case DATA_ORBIT_ACHIEVEMENTS: + return ActiveTowersCount; default: break; } @@ -1411,6 +1386,78 @@ class achievement_unbroken : public AchievementCriteriaScript } }; +class achievement_orbital_bombardment : public AchievementCriteriaScript +{ + public: + achievement_orbital_bombardment() : AchievementCriteriaScript("achievement_orbital_bombardment") { } + + bool OnCheck(Player* /*source*/, Unit* target) + { + if (!target) + return false; + + if (Creature* Leviathan = target->ToCreature()) + if (Leviathan->AI()->GetData(DATA_ORBIT_ACHIEVEMENTS) >= 1) + return true; + + return false; + } +}; + +class achievement_orbital_devastation : public AchievementCriteriaScript +{ + public: + achievement_orbital_devastation() : AchievementCriteriaScript("achievement_orbital_devastation") { } + + bool OnCheck(Player* /*source*/, Unit* target) + { + if (!target) + return false; + + if (Creature* Leviathan = target->ToCreature()) + if (Leviathan->AI()->GetData(DATA_ORBIT_ACHIEVEMENTS) >= 2) + return true; + + return false; + } +}; + +class achievement_nuked_from_orbit : public AchievementCriteriaScript +{ + public: + achievement_nuked_from_orbit() : AchievementCriteriaScript("achievement_nuked_from_orbit") { } + + bool OnCheck(Player* /*source*/, Unit* target) + { + if (!target) + return false; + + if (Creature* Leviathan = target->ToCreature()) + if (Leviathan->AI()->GetData(DATA_ORBIT_ACHIEVEMENTS) >= 3) + return true; + + return false; + } +}; + +class achievement_orbit_uary : public AchievementCriteriaScript +{ + public: + achievement_orbit_uary() : AchievementCriteriaScript("achievement_orbit_uary") { } + + bool OnCheck(Player* /*source*/, Unit* target) + { + if (!target) + return false; + + if (Creature* Leviathan = target->ToCreature()) + if (Leviathan->AI()->GetData(DATA_ORBIT_ACHIEVEMENTS) == 4) + return true; + + return false; + } +}; + void AddSC_boss_flame_leviathan() { new boss_flame_leviathan(); @@ -1436,4 +1483,8 @@ void AddSC_boss_flame_leviathan() new achievement_three_car_garage_siege(); new achievement_shutout(); new achievement_unbroken(); + new achievement_orbital_bombardment(); + new achievement_orbital_devastation(); + new achievement_nuked_from_orbit(); + new achievement_orbit_uary(); } -- cgit v1.2.3 From aa0e279b04d0b39515d08db5d04c60cbf257eab1 Mon Sep 17 00:00:00 2001 From: Ramusik Date: Sun, 26 Jun 2011 00:44:09 +0700 Subject: Core/Spells: Fix Glyph of Raptor Strike --- sql/base/world_database.sql | 1 + sql/updates/world/2011_06_25_16_world_spell_proc_event.sql | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 sql/updates/world/2011_06_25_16_world_spell_proc_event.sql (limited to 'sql/updates') diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index 97c48dc7056..35f79bc11cf 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -19355,6 +19355,7 @@ INSERT INTO `spell_proc_event` (`entry`,`SchoolMask`,`SpellFamilyName`,`SpellFam ( 54832, 0x00, 7, 0x00000000, 0x00001000, 0x00000000, 0x00004000, 0x00000000, 0, 0, 0), -- Glyph of Innervate ( 67353, 0x00, 7, 0x00008000, 0x00100500, 0x00000000, 0x00000000, 0x00000000, 0, 0, 0), -- uncommented ( 57989, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0, 0, 0), -- uncommented +( 63086, 0x00, 9, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0, 0, 0), -- Glyph of Raptor Strike ( 65661, 0x00, 15, 0x00400011, 0x20020004, 0x00000000, 0x00000010, 0x00000000, 0, 100, 0), -- Threat of Thassarian (Rank 1) ( 66191, 0x00, 15, 0x00400011, 0x20020004, 0x00000000, 0x00000010, 0x00000000, 0, 100, 0), -- Threat of Thassarian (Rank 2) ( 66192, 0x00, 15, 0x00400011, 0x20020004, 0x00000000, 0x00000010, 0x00000000, 0, 100, 0), -- Threat of Thassarian (Rank 3) diff --git a/sql/updates/world/2011_06_25_16_world_spell_proc_event.sql b/sql/updates/world/2011_06_25_16_world_spell_proc_event.sql new file mode 100644 index 00000000000..d7ee64c667c --- /dev/null +++ b/sql/updates/world/2011_06_25_16_world_spell_proc_event.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_proc_event` WHERE `entry` = 63086; +INSERT INTO `spell_proc_event` VALUES +(63086, 0x00, 9, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0, 0, 0); -- cgit v1.2.3