From 006cc1797a749d810b0a73c8a6b53bd1f5f6178e Mon Sep 17 00:00:00 2001 From: Gacko Date: Sun, 23 Dec 2012 18:04:42 +0100 Subject: Core: Fix warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit boss_sindragosa.cpp:235: warning: unused parameter ‘killer’ --- src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 8bdef30a711..ee915fb6ee8 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -232,7 +232,7 @@ class boss_sindragosa : public CreatureScript } } - void JustDied(Unit* killer) + void JustDied(Unit* /* killer */) { _JustDied(); Talk(SAY_DEATH); -- cgit v1.2.3 From 8c82c075cc32451d62d32bd0cfb51d60168ea8c5 Mon Sep 17 00:00:00 2001 From: Trista Date: Mon, 24 Dec 2012 00:48:41 +0200 Subject: Scripts/Quest: Defending Wyrmrest Temple * insert complete db sniff support, appart from missing spawns * remove achievement from disables (supported by core - timed one) * insert core support for spells and the defender itself, since SAI makes it act weird (maybe in future when SAI get integrated someone will convert it) Closes #1861 on 90% (except spawns (there are enough, but a lot more needed and minnor stuff that are core side connected with vehicles spellcastresults) --- .../2012_12_24_00_defending_wyrmrest_temple.sql | 77 ++++++++++++++++++ src/server/scripts/Northrend/dragonblight.cpp | 92 ++++++++++++++++++++-- src/server/scripts/Spells/spell_quest.cpp | 32 ++++++++ 3 files changed, 196 insertions(+), 5 deletions(-) create mode 100644 sql/updates/world/2012_12_24_00_defending_wyrmrest_temple.sql (limited to 'src/server/scripts/Northrend') diff --git a/sql/updates/world/2012_12_24_00_defending_wyrmrest_temple.sql b/sql/updates/world/2012_12_24_00_defending_wyrmrest_temple.sql new file mode 100644 index 00000000000..edf1f887d1c --- /dev/null +++ b/sql/updates/world/2012_12_24_00_defending_wyrmrest_temple.sql @@ -0,0 +1,77 @@ +-- Add support for quest Defending Wyrmrest Temple ID: 12372 and support for achievement Rapid Defence +-- Based on nelegalno and Nay updates +-- Indexes +-- NPCs +SET @Defender := 27629; +SET @AzureDrake := 27682; +SET @AzureDragon := 27608; +-- Spells +SET @SPELL_AZURE_ON_DEATH_FORCE_WHISPER := 50287; + +-- Update Defender template from sniffs +UPDATE `creature_template` SET `HoverHeight`=4,`npcflag`=1,`unit_flags`=unit_flags|0x00000200|0x00000300,`spell1`=49161,`spell2`=49243,`spell3`=49263,`spell4`=49264,`spell5`=49367,`InhabitType`=4 WHERE `entry`=@Defender; + +-- Conditions +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (49367,49370); +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN (49161,49243,49367); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ScriptName`,`Comment`) VALUES +(13,1,49367,0,0,31,0,3,27698,0,0,0,'','Spell can hit only Defending Wyrmrest Temple Kill Credit Bunny'), +(13,1,49370,0,0,31,0,3,27698,0,0,0,'','Spell can hit only Defending Wyrmrest Temple Kill Credit Bunny'), +(17,0,49367,0,0,29,0,27698,80,0,0,0,'','Temple Kill Credit Bunny must be in 80 yards to be able to cast Destibilize and less for smth to happen'), +(17,0,49161,0,0,31,1,3,27608,0,0,0,'','Spell Flame Breath target Azure Dragon'), +(17,0,49161,0,1,31,1,3,27682,0,0,0,'','Spell Flame Breath target Azure Drake'), +(17,0,49161,0,2,31,1,3,27629,0,0,0,'','Spell Flame Breath can target mounted by enemey faction player Defender'), +(17,0,49243,0,0,31,1,3,27608,0,0,0,'','Spell Immolation can target Azure Dragon'), +(17,0,49243,0,1,31,1,3,27682,0,0,0,'','Spell Immolation can target Azure Drake'), +(17,0,49243,0,1,31,1,3,27629,0,0,0,'','Spell Immolation can target mounted by enemey faction player Defender'); + +-- Remove unblizzlike npc_spell_sclick that is handled by spell now +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry`=27629; + +-- Addon data +DELETE FROM `creature_template_addon` WHERE `entry`=27629; +INSERT INTO `creature_template_addon` (`entry`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(27629,0,0,33554432,1,0,50069); + +-- Convert EAI to SAI and fix some timings +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@AzureDragon,@AzureDrake); +DELETE FROM `creature_ai_scripts` WHERE `creature_id` IN (@AzureDragon,@AzureDrake); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@AzureDragon,@AzureDrake) AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@AzureDragon,0,0,0,0,0,100,0,500,4000,3700,4500,11,49111,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Azure Dragon - IC - Cast Frost Breath'), +(@AzureDragon,0,1,0,6,0,100,0,0,0,0,0,11,@SPELL_AZURE_ON_DEATH_FORCE_WHISPER,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Azure Dragon - On death - Cast force whisper spell on invoker (hack need to be replaced by 11'), +(@AzureDrake,0,0,0,0,0,100,0,500,4000,3700,4500,11,49317,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Azure Drake - IC - Cast Frost Breath'), +(@AzureDrake,0,1,0,6,0,100,0,0,0,0,0,11,@SPELL_AZURE_ON_DEATH_FORCE_WHISPER,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Azure Drake - On death - Cast force whisper spell on invoker'); +-- No need to condition them, stuff will happen only if send to drake otherwise would be plain result + +-- Texts +DELETE FROM `creature_text` WHERE `entry`=@Defender; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +-- On player mounted or creature hit by mounting spell +(@Defender,0,0,'Are you ready for battle, $c?',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,0,1,'Take us into battle, $n!',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,0,2,'Shall we destabilize the shrine first or disable the enemy?',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,0,3,'We''ve been expecting you, $n. Now we have the upper hand.',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,0,4,'I can''t believe the blues would attack us. Let''s give some of it back!',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,0,5,'Let''s defend the temple!',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,0,6,'Where to first?',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,0,7,'Your reputation precedes you, $n. This should be interesting.',15,0,100,0,0,0, 'Wyrmrest Defender'), +-- On Azure Drake/Dragon kill +(@Defender,1,0,'I never thought that I''d be riding into battle with a $r on my back.',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,1,1,'Another blue down. We make a great team!',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,1,2,'With you and I working together, this battle will be over in no time.',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,1,3,'Malygos has clearly gone insane.',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,1,4,'Nice one, kid.',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,1,5,'I''ve never seen anything like this before. I''m glad that you''re here.',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,1,6,'I''m glad you saw that one!',15,0,100,0,0,0, 'Wyrmrest Defender'), +(@Defender,1,7,'Just hang on. We''ll get through this.',15,0,100,0,0,0, 'Wyrmrest Defender'), +-- Below 30% HP +(@Defender,2,0,'We should get out of here. I need to heal!',42,0,100,0,3000,0, 'Wyrmrest Defender'); + +-- Remove achievement "Rapid Defence" out of disables +DELETE FROM `disables` WHERE `sourceType`=4 AND `entry`=3924; + +-- Insert spell_script_name +DELETE FROM `spell_script_names` WHERE `spell_id`=@SPELL_AZURE_ON_DEATH_FORCE_WHISPER; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(@SPELL_AZURE_ON_DEATH_FORCE_WHISPER, 'spell_q12372_azure_on_death_force_whisper'); diff --git a/src/server/scripts/Northrend/dragonblight.cpp b/src/server/scripts/Northrend/dragonblight.cpp index 13a8370690e..71836a81687 100644 --- a/src/server/scripts/Northrend/dragonblight.cpp +++ b/src/server/scripts/Northrend/dragonblight.cpp @@ -33,6 +33,8 @@ EndContentData */ #include "SpellScript.h" #include "SpellAuraEffects.h" #include "ScriptedEscortAI.h" +#include "Vehicle.h" +#include "CombatAI.h" #include "Player.h" enum eEnums @@ -172,15 +174,27 @@ public: }; /*###### -## wyrmrest_defender +## Quest: Defending Wyrmrest Temple ID: 12372 ######*/ enum WyrmDefenderEnum { - QUEST_DEFENDING_WYRMREST_TEMPLE = 12372, - GOSSIP_TEXTID_DEF1 = 12899, - GOSSIP_TEXTID_DEF2 = 12900, - SPELL_CHARACTER_SCRIPT = 49213 + // Quest data + QUEST_DEFENDING_WYRMREST_TEMPLE = 12372, + GOSSIP_TEXTID_DEF1 = 12899, + + // Gossip data + GOSSIP_TEXTID_DEF2 = 12900, + + // Spells data + SPELL_CHARACTER_SCRIPT = 49213, + SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE = 52421, // ID - 52421 Wyrmrest Defender: On Low Health Boss Emote to Controller - Random /self/ + SPELL_RENEW = 49263, // casted to heal drakes + SPELL_WYRMREST_DEFENDER_MOUNT = 49256, + + // Texts data + WHISPER_MOUNTED = 0, + BOSS_EMOTE_ON_LOW_HEALTH = 2 }; #define GOSSIP_ITEM_1 "We need to get into the fight. Are you ready?" @@ -211,10 +225,78 @@ class npc_wyrmrest_defender : public CreatureScript player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_DEF2, creature->GetGUID()); // Makes player cast trigger spell for 49207 on self player->CastSpell(player, SPELL_CHARACTER_SCRIPT, true); + // The gossip should not auto close } return true; } + + struct npc_wyrmrest_defenderAI : public VehicleAI + { + npc_wyrmrest_defenderAI(Creature* creature) : VehicleAI(creature) { } + + bool hpWarningReady; + bool renewRecoveryCanCheck; + + uint32 RenewRecoveryChecker; + + void Reset() + { + hpWarningReady = true; + renewRecoveryCanCheck = false; + + RenewRecoveryChecker = 0; + } + + void UpdateAI(uint32 const diff) + { + // Check system for Health Warning should happen first time whenever get under 30%, + // after it should be able to happen only after recovery of last renew is fully done (20 sec), + // next one used won't interfere + if (hpWarningReady && me->GetHealthPct() <= 30.0f) + { + me->CastSpell(me, SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE); + hpWarningReady = false; + } + + if (renewRecoveryCanCheck) + { + if (RenewRecoveryChecker <= diff) + { + renewRecoveryCanCheck = false; + hpWarningReady = true; + } + else RenewRecoveryChecker -= diff; + } + } + + void SpellHit(Unit* /*caster*/, SpellInfo const* spell) + { + switch (spell->Id) + { + // This is what happens on retail + case SPELL_WYRMREST_DEFENDER_MOUNT: + Talk(WHISPER_MOUNTED, me->GetCharmerOrOwnerGUID()); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE); + break; + // Both below are for checking low hp warning + case SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE: + Talk(BOSS_EMOTE_ON_LOW_HEALTH, me->GetCharmerOrOwnerGUID()); + break; + case SPELL_RENEW: + if (!hpWarningReady && RenewRecoveryChecker <= 100) + RenewRecoveryChecker = 20000; + renewRecoveryCanCheck = true; + break; + } + } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_wyrmrest_defenderAI(creature); + } }; void AddSC_dragonblight() diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index 58b6fca8a81..b6497c048c8 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -1284,7 +1284,10 @@ class spell_q12372_cast_from_gossip_trigger : public SpellScriptLoader // 49370 - Wyrmrest Defender: Destabilize Azure Dragonshrine Effect enum Quest12372Data { + // NPCs NPC_WYRMREST_TEMPLE_CREDIT = 27698, + // Spells + WHISPER_ON_HIT_BY_FORCE_WHISPER = 1 }; class spell_q12372_destabilize_azure_dragonshrine_dummy : public SpellScriptLoader @@ -1318,6 +1321,34 @@ class spell_q12372_destabilize_azure_dragonshrine_dummy : public SpellScriptLoad } }; +// ID - 50287 Azure Dragon: On Death Force Cast Wyrmrest Defender to Whisper to Controller - Random (casted from Azure Dragons and Azure Drakes on death) +class spell_q12372_azure_on_death_force_whisper : public SpellScriptLoader +{ + public: + spell_q12372_azure_on_death_force_whisper() : SpellScriptLoader("spell_q12372_azure_on_death_force_whisper") { } + + class spell_q12372_azure_on_death_force_whisper_SpellScript : public SpellScript + { + PrepareSpellScript(spell_q12372_azure_on_death_force_whisper_SpellScript); + + void HandleScript(SpellEffIndex /*effIndex*/) + { + if (Creature* defender = GetHitCreature()) + defender->AI()->Talk(WHISPER_ON_HIT_BY_FORCE_WHISPER, defender->GetCharmerOrOwnerGUID()); + } + + void Register() + { + OnEffectHitTarget += SpellEffectFn(spell_q12372_azure_on_death_force_whisper_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; + + SpellScript* GetSpellScript() const + { + return new spell_q12372_azure_on_death_force_whisper_SpellScript(); + } +}; + // "Bombing Run" and "Bomb Them Again!" enum Quest11010_11102_11023Data { @@ -1522,4 +1553,5 @@ void AddSC_quest_spell_scripts() new spell_q11010_q11102_q11023_aggro_burst(); new spell_q11010_q11102_q11023_choose_loc(); new spell_q11010_q11102_q11023_q11008_check_fly_mount(); + new spell_q12372_azure_on_death_force_whisper(); } -- cgit v1.2.3 From fb3245d12533cde3fb0765b114a6132dde836119 Mon Sep 17 00:00:00 2001 From: Trista Date: Mon, 24 Dec 2012 01:35:55 +0200 Subject: Scripts/Quest: Gambling Debt and Words of Power * Quest support for Gambling Debt. Closes: #3122 * Fix bugging script for Words of Power: Closes: #7349 * Fix codestyle that vs broke from: 8c82c075cc32451d62d32bd0cfb51d60168ea8c5 --- sql/updates/world/2012_12_24_01_sai.sql | 42 ++++++++++++++++++ sql/updates/world/2012_12_24_02_sai.sql | 64 +++++++++++++++++++++++++++ src/server/scripts/Northrend/dragonblight.cpp | 27 +++++------ 3 files changed, 120 insertions(+), 13 deletions(-) create mode 100644 sql/updates/world/2012_12_24_01_sai.sql create mode 100644 sql/updates/world/2012_12_24_02_sai.sql (limited to 'src/server/scripts/Northrend') diff --git a/sql/updates/world/2012_12_24_01_sai.sql b/sql/updates/world/2012_12_24_01_sai.sql new file mode 100644 index 00000000000..d151ee4aa2c --- /dev/null +++ b/sql/updates/world/2012_12_24_01_sai.sql @@ -0,0 +1,42 @@ +-- Fix quest: "Words of Power" - http://www.wowhead.com/item=35354 +-- Indexes +SET @TALETKHA := 26073; +SET @SCRIPT := @TALETKHA * 100; + +-- Fix the previous SAIs for High Priest Talet-Kha +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@TALETKHA,-85118,-85098,-85176,-85175) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@SCRIPT AND `source_type`=9; +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 +(@TALETKHA,0,0,1,1,0,100,1,0,0,0,0,70,0,0,0,0,0,0,10,85098,25422,0,0,0,0,0, 'High Priest Talet-Kha - On OOC (1 time per reset/respawn) - Respawn Mystical Webbing'), +(@TALETKHA,0,1,2,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,85098,25422,0,0,0,0,0, 'High Priest Talet-Kha - Linked with previous event - Set data 0 1 to Mystical Webbing'), +(@TALETKHA,0,2,3,61,0,100,0,0,0,0,0,70,0,0,0,0,0,0,10,85118,25422,0,0,0,0,0, 'High Priest Talet-Kha - Linked with previous event - Respawn Mystical Webbing'), +(@TALETKHA,0,3,4,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,85118,25422,0,0,0,0,0, 'High Priest Talet-Kha - Linked with previous event - Set data 0 1 to Mystical Webbing'), +(@TALETKHA,0,4,5,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,85175,23033,0,0,0,0,0, 'High Priest Talet-Kha - Linked with previous event - Set data 0 1 to Invisible Stalker'), +(@TALETKHA,0,5,6,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,10,85176,23033,0,0,0,0,0, 'High Priest Talet-Kha - Linked with previous event - Set data 0 1 to Invisible Stalker'), +(@TALETKHA,0,6,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - Linked with previous event - Set phase 1'), +(@TALETKHA,0,7,0,38,0,100,0,0,1,0,0,23,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - On data set 0 1 - Increment phase by 1'), +(@TALETKHA,0,8,0,23,4,100,1,45497,0,0,0,80,@SCRIPT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - On Aura missing - Run Script'), +(@TALETKHA,0,9,0,2,8,100,0,1,45,0,0,11,11640,1,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - Health 45% - Cast Renew on self'), +(@TALETKHA,0,10,0,0,8,100,0,4000,6000,5000,8000,11,15587,0,0,0,0,0,2,0,0,0,0,0,0,0, 'High Priest Talet-Kha - IC - Cast Mind Blast on victim'), +(@TALETKHA,0,11,12,25,8,100,0,0,0,0,0,18,33555200,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - On reset - Restore unit flags'), +(@TALETKHA,0,12,0,61,8,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - Linked with previous event - Set phase back to 0'), +(@SCRIPT,9,0,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - script - Text 0'), +(@SCRIPT,9,1,0,0,0,100,0,500,500,0,0,69,0,0,0,0,0,0,8,0,0,0,3788.44,3418.25,85.0562,0, 'High Priest Talet-Kha - script - Move to point'), +(@SCRIPT,9,2,0,0,0,100,0,500,500,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.1672, 'High Priest Talet-Kha - script - Set Orientation'), +(@SCRIPT,9,3,0,0,0,100,0,1500,1500,0,0,91,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - script - Bytes1 set to 0'), +(@SCRIPT,9,4,0,0,0,100,0,100,100,0,0,19,33555200,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - script - Remove unitflags'), +(@SCRIPT,9,5,0,0,0,100,0,100,100,0,0,11,45492,1,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - script - Aura self'), +(@SCRIPT,9,6,0,0,0,100,0,0,0,0,0,22,4,0,0,0,0,0,1,0,0,0,0,0,0,0, 'High Priest Talet-Kha - script - Set phase 4'), +(@SCRIPT,9,7,0,0,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,40,0,0,0,0,0,0, 'High Priest Talet-Kha - script - Start attack on closest player in 40 yards'), +(-85118,0,0,1,38,0,100,0,0,1,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Mystical Webbing - On data set 0 1 - Set React State passive'), +(-85118,0,1,0,61,0,100,0,0,0,0,0,11,45497,2,0,0,0,0,11,26073,40,0,0,0,0,0,'Mystical Webbing - Linked with previous event - Web Beam'), +(-85118,0,2,3,6,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,85175,23033,0,0,0,0,0,'Mystical Webbing - On death - set data 0 2 Invisible Stalker'), +(-85118,0,3,0,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,11,26073,40,0,0,0,0,0,'Mystical Webbing - Linked with previous event - Set data 0 1 on Talet-Kha'), +(-85098,0,0,1,38,0,100,0,0,1,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Mystical Webbing - On data set 0 1 - Set React State passive'), +(-85098,0,1,0,61,0,100,0,0,0,0,0,11,45497,2,0,0,0,0,11,26073,40,0,0,0,0,0,'Mystical Webbing - Linked with previous event - Web Beam'), +(-85098,0,2,3,6,0,100,0,0,0,0,0,45,0,2,0,0,0,0,10,85176,23033,0,0,0,0,0,'Mystical Webbing - On death - set data 0 2 Invisible Stalker'), +(-85098,0,3,0,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,11,26073,40,0,0,0,0,0,'Mystical Webbing - Linked with previous event - Set data 0 1 on Talet-Kha'), +(-85175,0,0,0,38,0,100,0,0,1,0,0,11,45497,2,0,0,0,0,11,26073,40,0,0,0,0,0, 'Invisible Stalker (Floating) - On data set 0 1 - Cast Web Beam on target'), +(-85175,0,1,0,38,0,100,0,0,2,0,0,92,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Invisible Stalker (Floating) - On data set 0 2 - Stop casting'), +(-85176,0,0,0,38,0,100,0,0,1,0,0,11,45497,2,0,0,0,0,11,26073,40,0,0,0,0,0, 'Invisible Stalker (Floating) - On data set 0 1 - Cast Web Beam on target'), +(-85176,0,1,0,38,0,100,0,0,2,0,0,92,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Invisible Stalker (Floating) - On data set 0 2 - Stop casting'); diff --git a/sql/updates/world/2012_12_24_02_sai.sql b/sql/updates/world/2012_12_24_02_sai.sql new file mode 100644 index 00000000000..03d0a9ef5c6 --- /dev/null +++ b/sql/updates/world/2012_12_24_02_sai.sql @@ -0,0 +1,64 @@ +-- [Q] Gambling Debt - http://www.wowhead.com/quest=11464 +-- Discover's work, thanks to Vincent-Michael for helping with gossips and Pitcrawler for advices +-- Indexes +SET @ENTRY := 24539; +SET @SCRIPT := @ENTRY * 100; +SET @SCRIPT1 := (@ENTRY * 100) + 1; +SET @GOSSIP_1 := 9010; +SET @GOSSIP_2 := 9011; +SET @QUEST := 11464; +SET @SPELL_SCORCH := 50183; +SET @SPELL_BLAST_WAVE := 15091; + +-- SAI support - "Silvermoon" Harry +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@SCRIPT,@SCRIPT1) AND `source_type`=9; +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,62,0,100,0,@GOSSIP_1,0,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary - On Gossip Select option 2 - Set Faction Aggressive'), +(@ENTRY,0,1,2,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Silvermoon Hary - On Gossip Select - Close Gossip'), +(@ENTRY,0,2,3,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Silvermoon Hary - Linked with previous event - Say Line 0'), +(@ENTRY,0,3,0,61,0,100,0,0,0,0,0,2,14,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary - Linked with previous event - Set faction aggressive'), +(@ENTRY,0,4,0,2,0,100,1,1,50,60000,60000,80,@SCRIPT,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary - On hp % between 1/50 - Start acitonlist'), +(@ENTRY,0,5,0,64,1,100,0,0,0,0,0,98,@GOSSIP_2,12175,0,0,0,0,7,0,0,0,0,0,0,0, 'Silvermoon Hary - On gossip hello in phase 1 - Send gossip menu 2'), +(@ENTRY,0,6,0,62,1,100,0,@GOSSIP_2,0,0,0,80,@SCRIPT1,2,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary - On gossip select - Start actionlist 1'), +(@ENTRY,0,7,0,0,0,100,0,3000,6000,15000,22000,11,@SPELL_BLAST_WAVE,1,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary - IC - Cast Blast Wave'), +(@ENTRY,0,8,0,0,0,100,0,2500,4000,4000,5000,11,@SPELL_SCORCH,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Silvermoon Hary - IC - Cast Scorch'), +(@SCRIPT,9,0,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 0) - Action 0 - Say line 1'), +(@SCRIPT,9,1,0,0,0,100,0,0,0,0,0,102,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 0) - Action 1 - Set hp reg disabled'), +(@SCRIPT,9,2,0,0,0,100,0,0,0,0,0,101,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 0) - Action 2 - Set home position'), +(@SCRIPT,9,3,0,0,0,100,0,0,0,0,0,2,1080,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 0) - Action 3 - Change faction to friendly'), +(@SCRIPT,9,4,0,0,0,100,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 0) - Action 4 - Evade (to stop attack)'), +(@SCRIPT,9,5,0,0,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 0) - Action 6 - Set event phase 1'), +(@SCRIPT1,9,0,0,0,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Silvermoon Hary (script 1) - Action 0 - Close gossip window'), +(@SCRIPT1,9,1,0,0,0,100,0,0,0,0,0,56,34115,1,0,0,0,0,7,0,0,0,0,0,0,0, 'Silvermoon Hary (script 1) - Action 1 - Give item to invoker'), +(@SCRIPT1,9,2,0,0,0,100,0,0,0,0,0,102,1,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 1) - Action 2 - Set hp reg enabled'), +(@SCRIPT1,9,3,0,0,0,100,0,0,0,0,0,41,10000,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 1) - Action 3 - Despawn in 10 sec'), +(@SCRIPT1,9,4,0,0,0,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Silvermoon Hary (script 1) - Action 4 - Set event phase 0'); + +-- Texts +DELETE FROM `creature_text` WHERE `entry`=@ENTRY; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(@ENTRY,0,0,'Do not test me, scurvy dog! I''m trained in the way of Blood Knights!',12,0,100,0,0,0, 'Silvermoon Hary - start to fight'), +(@ENTRY,1,0,"I'll pay! I'll pay! Eeeek! Please don't hurt me!",12,0,100,0,0,0, 'Silvermoon Hary - second gossip'); + +-- Gossip menu +DELETE FROM `gossip_menu` WHERE `entry` IN (@GOSSIP_1,@GOSSIP_2); +INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES +(@GOSSIP_1,12174), +(@GOSSIP_2,12175); + +-- Gossip option menu +DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_1; +DELETE FROM `gossip_menu_option` WHERE `menu_id`=@GOSSIP_2; +INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_id`,`npc_option_npcflag`,`option_icon`,`option_text`,`box_coded`,`box_money`,`box_text`) VALUES +(@GOSSIP_1,0,1,1,0, 'Taruk sent me to collect what you owe.',0,0, ''), +(@GOSSIP_1,1,3,128,1, 'Do you sell any of this stuff?',0,0, ''), +(@GOSSIP_2,0,1,1,0, 'Pay up, Harry!',0,0, ''), +(@GOSSIP_2,1,3,128,1, 'Do you sell any of this stuff?',0,0, ''); + +-- Condition +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` IN (@GOSSIP_1,@GOSSIP_2); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(15,@GOSSIP_1,0,0,9,0,@QUEST,0,0,0,'','Only show first gossip (option 0) if player is on quest Gambling Debt'), +(15,@GOSSIP_2,0,0,9,0,@QUEST,0,0,0,'','Only show second gossip (option 0) if player is on quest Gambling Debt'); diff --git a/src/server/scripts/Northrend/dragonblight.cpp b/src/server/scripts/Northrend/dragonblight.cpp index 71836a81687..698daba99e3 100644 --- a/src/server/scripts/Northrend/dragonblight.cpp +++ b/src/server/scripts/Northrend/dragonblight.cpp @@ -274,21 +274,22 @@ class npc_wyrmrest_defender : public CreatureScript { switch (spell->Id) { - // This is what happens on retail - case SPELL_WYRMREST_DEFENDER_MOUNT: - Talk(WHISPER_MOUNTED, me->GetCharmerOrOwnerGUID()); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); - me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE); - break; + case SPELL_WYRMREST_DEFENDER_MOUNT: + Talk(WHISPER_MOUNTED, me->GetCharmerOrOwnerGUID()); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); + me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE); + break; // Both below are for checking low hp warning - case SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE: - Talk(BOSS_EMOTE_ON_LOW_HEALTH, me->GetCharmerOrOwnerGUID()); - break; - case SPELL_RENEW: - if (!hpWarningReady && RenewRecoveryChecker <= 100) - RenewRecoveryChecker = 20000; + case SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE: + Talk(BOSS_EMOTE_ON_LOW_HEALTH, me->GetCharmerOrOwnerGUID()); + break; + case SPELL_RENEW: + if (!hpWarningReady && RenewRecoveryChecker <= 100) + { + RenewRecoveryChecker = 20000; + } renewRecoveryCanCheck = true; - break; + break; } } }; -- cgit v1.2.3 From 6e921feebdecafc2e5855fbe63d1525f262a7daa Mon Sep 17 00:00:00 2001 From: Vincent_Michael Date: Tue, 25 Dec 2012 02:56:19 +0100 Subject: Core: Fix some codestyle --- src/server/game/Entities/Unit/Unit.cpp | 5 ++--- src/server/game/Quests/QuestDef.h | 2 +- src/server/game/Spells/SpellInfo.cpp | 2 +- src/server/scripts/Northrend/dragonblight.cpp | 6 +++--- 4 files changed, 7 insertions(+), 8 deletions(-) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 320204ed892..1c2f03ec5b9 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -17333,11 +17333,10 @@ void Unit::NearTeleportTo(float x, float y, float z, float orientation, bool cas void Unit::SendTeleportPacket(Position& pos) { - Position oldPos = {GetPositionX(), GetPositionY(), GetPositionZMinusOffset(), GetOrientation()}; + Position oldPos = { GetPositionX(), GetPositionY(), GetPositionZMinusOffset(), GetOrientation() }; if (GetTypeId() == TYPEID_UNIT) - { Relocate(&pos); - } + WorldPacket data2(MSG_MOVE_TELEPORT, 38); data2.append(GetPackGUID()); BuildMovementPacket(&data2); diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index 7af2e079971..3e8e91c9b6e 100644 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -22,7 +22,7 @@ #include "Define.h" #include "DatabaseEnv.h" #include "SharedDefines.h" -#include "DBCEnums.h" +#include "DBCEnums.h" #include #include diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 61b92ce6f81..dd367212f67 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1546,7 +1546,7 @@ SpellCastResult SpellInfo::CheckTarget(Unit const* caster, WorldObject const* ta if (unitTarget->HasUnitState(UNIT_STATE_IN_FLIGHT)) return SPELL_FAILED_BAD_TARGETS; - /* TARGET_UNIT_MASTER gets blocked here for passengers, because the whole idea of this check is to + /* TARGET_UNIT_MASTER gets blocked here for passengers, because the whole idea of this check is to not allow passengers to be implicitly hit by spells, however this target type should be an exception, if this is left it kills spells that award kill credit from vehicle to master (few spells), the use of these 2 covers passenger target check, logically, if vehicle cast this to master it should always hit diff --git a/src/server/scripts/Northrend/dragonblight.cpp b/src/server/scripts/Northrend/dragonblight.cpp index 698daba99e3..695a942721d 100644 --- a/src/server/scripts/Northrend/dragonblight.cpp +++ b/src/server/scripts/Northrend/dragonblight.cpp @@ -182,12 +182,12 @@ enum WyrmDefenderEnum // Quest data QUEST_DEFENDING_WYRMREST_TEMPLE = 12372, GOSSIP_TEXTID_DEF1 = 12899, - + // Gossip data GOSSIP_TEXTID_DEF2 = 12900, // Spells data - SPELL_CHARACTER_SCRIPT = 49213, + SPELL_CHARACTER_SCRIPT = 49213, SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE = 52421, // ID - 52421 Wyrmrest Defender: On Low Health Boss Emote to Controller - Random /self/ SPELL_RENEW = 49263, // casted to heal drakes SPELL_WYRMREST_DEFENDER_MOUNT = 49256, @@ -258,7 +258,7 @@ class npc_wyrmrest_defender : public CreatureScript me->CastSpell(me, SPELL_DEFENDER_ON_LOW_HEALTH_EMOTE); hpWarningReady = false; } - + if (renewRecoveryCanCheck) { if (RenewRecoveryChecker <= diff) -- cgit v1.2.3 From 81d53f8a87167427abc4e1645d9dac2fea3a834b Mon Sep 17 00:00:00 2001 From: Subv Date: Wed, 26 Dec 2012 13:36:07 -0500 Subject: Scripts/Ick&Krick: Krick should only say his KilledUnit text when the victim is a player. --- .../scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index ed196d2cd0c..abb633cee5c 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -322,7 +322,7 @@ class boss_krick : public CreatureScript void KilledUnit(Unit* victim) { - if (victim == me) + if (victim->GetTypeId() != TYPEID_PLAYER) return; Talk(SAY_KRICK_SLAY); -- cgit v1.2.3 From 452e585f7b4b2bc349d7386b0c42cf296f0ab4c2 Mon Sep 17 00:00:00 2001 From: Trista Date: Thu, 27 Dec 2012 01:28:23 +0200 Subject: Core/Vehicles: Fixed seat id for auras with SPELL_AURA_CONTROL_VEHICLE. Also always allow npc passengers to cast spells and remove TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE hacks. * Author: Horn. Please give feedback, I tested a lot stuff, but it will be appreciated. * One of the fixes allow all creatures to cast when being passangers, researched, this doesn't involve players. * This basically rewrittes vehicle seat formula calculated, so it fix quite stuff that will not be visible and some eye candies: #3831 and #1984 Heart part ;) (which magically fix a lot more of it and some quests), also Yog-Sarron mechanics --- src/server/game/Entities/Unit/Unit.cpp | 4 ++-- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 3 ++- src/server/game/Spells/Spell.cpp | 3 ++- .../scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 1c2f03ec5b9..62df8c2049c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -17064,7 +17064,7 @@ bool Unit::HandleSpellClick(Unit* clicker, int8 seatId) } if (IsInMap(caster)) - caster->CastCustomSpell(itr->second.spellId, SpellValueMod(SPELLVALUE_BASE_POINT0+i), seatId+1, target, GetVehicleKit() ? TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE : TRIGGERED_NONE, NULL, NULL, origCasterGUID); + caster->CastCustomSpell(itr->second.spellId, SpellValueMod(SPELLVALUE_BASE_POINT0+i), seatId, target, GetVehicleKit() ? TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE : TRIGGERED_NONE, NULL, NULL, origCasterGUID); else // This can happen during Player::_LoadAuras { int32 bp0 = seatId; @@ -17094,7 +17094,7 @@ bool Unit::HandleSpellClick(Unit* clicker, int8 seatId) void Unit::EnterVehicle(Unit* base, int8 seatId) { - CastCustomSpell(VEHICLE_SPELL_RIDE_HARDCODED, SPELLVALUE_BASE_POINT0, seatId+1, base, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE); + CastCustomSpell(VEHICLE_SPELL_RIDE_HARDCODED, SPELLVALUE_BASE_POINT0, seatId, base, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE); } void Unit::_EnterVehicle(Vehicle* vehicle, int8 seatId, AuraApplication const* aurApp) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 260091c9ed7..745a7baab8f 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -3199,7 +3199,8 @@ void AuraEffect::HandleAuraControlVehicle(AuraApplication const* aurApp, uint8 m if (apply) { - caster->_EnterVehicle(target->GetVehicleKit(), m_amount - 1, aurApp); + // correct amount is already calculated adding one more -1 meant calculated amount - 1 + caster->_EnterVehicle(target->GetVehicleKit(), m_amount, aurApp); } else { diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 3cee51949bc..1ca04747101 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4853,9 +4853,10 @@ SpellCastResult Spell::CheckCast(bool strict) if (!checkMask) checkMask = VEHICLE_SEAT_FLAG_CAN_ATTACK; + // All creatures should be able to cast as passengers freely, restriction and attribute are only for players VehicleSeatEntry const* vehicleSeat = vehicle->GetSeatForPassenger(m_caster); if (!(m_spellInfo->AttributesEx6 & SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE) && !(m_spellInfo->Attributes & SPELL_ATTR0_CASTABLE_WHILE_MOUNTED) - && (vehicleSeat->m_flags & checkMask) != checkMask) + && (vehicleSeat->m_flags & checkMask) != checkMask && m_caster->GetTypeId() == TYPEID_PLAYER) return SPELL_FAILED_DONT_REPORT; } diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index abb633cee5c..f94b028bfaf 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -226,13 +226,13 @@ class boss_ick : public CreatureScript case EVENT_TOXIC_WASTE: if (Creature* krick = GetKrick()) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) - krick->CastSpell(target, SPELL_TOXIC_WASTE, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE); + krick->CastSpell(target, SPELL_TOXIC_WASTE); events.ScheduleEvent(EVENT_TOXIC_WASTE, urand(7000, 10000)); break; case EVENT_SHADOW_BOLT: if (Creature* krick = GetKrick()) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) - krick->CastSpell(target, SPELL_SHADOW_BOLT, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE); + krick->CastSpell(target, SPELL_SHADOW_BOLT); events.ScheduleEvent(EVENT_SHADOW_BOLT, 15000); return; case EVENT_MIGHTY_KICK: -- cgit v1.2.3 From b19563fb6af74d7b9f915bdcf2fa5ec15e87e327 Mon Sep 17 00:00:00 2001 From: AliveShiro Date: Thu, 27 Dec 2012 12:12:27 +0100 Subject: Scripts/Trial of the Crusader: Fix Icehowl Script closes #8539 --- .../CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp index 2d09feef089..b0edbf214e8 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -1006,7 +1006,7 @@ class boss_icehowl : public CreatureScript events.ScheduleEvent(EVENT_WHIRL, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS)); return; case EVENT_MASSIVE_CRASH: - me->GetMotionMaster()->MoveJump(ToCCommonLoc[1].GetPositionX(), ToCCommonLoc[1].GetPositionY(), ToCCommonLoc[1].GetPositionZ(), 20.0f, 20.0f); // 1: Middle of the room + me->GetMotionMaster()->MoveJump(ToCCommonLoc[1].GetPositionX(), ToCCommonLoc[1].GetPositionY(), ToCCommonLoc[1].GetPositionZ(), 20.0f, 20.0f, 0); // 1: Middle of the room SetCombatMovement(false); me->AttackStop(); _stage = 7; //Invalid (Do nothing more than move) @@ -1059,7 +1059,7 @@ class boss_icehowl : public CreatureScript _trampleTargetY = target->GetPositionY(); _trampleTargetZ = target->GetPositionZ(); // 2: Hop Backwards - me->GetMotionMaster()->MoveJump(2*me->GetPositionX() - _trampleTargetX, 2*me->GetPositionY() - _trampleTargetY, me->GetPositionZ(), 30.0f, 20.0f); + me->GetMotionMaster()->MoveJump(2*me->GetPositionX() - _trampleTargetX, 2*me->GetPositionY() - _trampleTargetY, me->GetPositionZ(), 30.0f, 20.0f, 0); _stage = 7; //Invalid (Do nothing more than move) } else -- cgit v1.2.3