aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZenoX92 <ZenoX92@users.noreply.github.com>2018-08-15 20:14:16 +0200
committerKillyana <morphone1@gmail.com>2018-08-15 20:14:16 +0200
commitcbacc72d934c10448762b67a0fa97ea4eb38cb63 (patch)
tree6262fb7d61115543e513759cffb47376014db8d4
parent25d7b7c819048d0c2d62b61dc47624735935a5f3 (diff)
DB/Quest: The Missing Diplomat (Part 16)
Closes #22261
-rw-r--r--sql/updates/world/3.3.5/2018_08_15_02_world_335.sql102
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp64
2 files changed, 102 insertions, 64 deletions
diff --git a/sql/updates/world/3.3.5/2018_08_15_02_world_335.sql b/sql/updates/world/3.3.5/2018_08_15_02_world_335.sql
new file mode 100644
index 00000000000..4ebfb5ceaa4
--- /dev/null
+++ b/sql/updates/world/3.3.5/2018_08_15_02_world_335.sql
@@ -0,0 +1,102 @@
+-- Quest "The Missing Diplomat (Part 16)"
+UPDATE `quest_template_addon` SET `SpecialFlags`=2 WHERE `ID`=1324; -- Prevents quest from auto completing
+
+-- Texts
+DELETE FROM `creature_text` WHERE `CreatureID` IN (4966,5184);
+DELETE FROM `creature_text` WHERE `CreatureID`=4967 AND `GroupID` IN (1,2,3,4);
+INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(4966,0,0,"%s obviously beaten, tries to run.",16,0,100,0,0,0,8225,0,"Private Hendel"),
+(4966,1,0,"%s, too injured, gives up the chase.",16,0,100,0,0,0,8224,0,"Private Hendel"),
+(4966,2,0,"Please... please... Miss Proudmore. I didn't mean to...",12,7,100,0,0,0,1759,0,"Private Hendel"),
+(4967,1,0,"Ah, Private Hendel. A pleasure to meet one of the men who would betray his kingdom for pride.",12,7,100,0,0,0,1657,0,"Archmage Tervosh"),
+(4967,2,0,"Why don't we deal with you now, Hendel? Lady Proudmoore will speak to you back in the tower.",12,7,100,0,0,0,1663,0,"Archmage Tervosh"),
+(4967,3,0,"I apologize for taking so long to get here. I wanted Lady Proudmoore to be present also.",12,7,100,0,0,0,1761,0,"Archmage Tervosh"),
+(4967,4,0,"We can only stay a few moments before returning to the tower. If you wish to speak to us more you may find us there.",12,7,100,0,0,0,1808,0,"Archmage Tervosh"),
+(5184,0,0,"It's Proudmoore! Get out of here!",12,7,100,0,0,0,7325,0,"Theramore Sentry"),
+(5184,1,0,"Run!",12,7,100,0,0,0,7324,0,"Theramore Sentry"),
+(5184,1,1,"Get out of here!",12,7,100,0,0,0,7340,0,"Theramore Sentry"),
+(5184,1,2,"Don't let them catch you!",12,7,100,0,0,0,7341,0,"Theramore Sentry"),
+(5184,1,3,"She'll have our heads if we're caught!",12,7,100,0,0,0,7342,0,"Theramore Sentry");
+
+-- Private Hendel
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`="" WHERE `entry`=4966;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=4966 AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (496600,496601) 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`,`event_param5`,`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
+(4966,0,0,1,19,0,100,0,1324,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Quest 'The Missing Diplomat (Part 16)' Taken - Remove Npc Flag Questgiver"),
+(4966,0,1,2,61,0,100,0,0,0,0,0,0,42,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Quest 'The Missing Diplomat (Part 16)' Taken - Set Invincibility at 1 HP"),
+(4966,0,2,3,61,0,100,0,0,0,0,0,0,2,168,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Quest 'The Missing Diplomat (Part 16)' Taken - Set Faction 168"),
+(4966,0,3,4,61,0,100,0,0,0,0,0,0,45,1,1,0,0,0,0,11,5184,50,0,0,0,0,0,"Private Hendel - On Quest 'The Missing Diplomat (Part 16)' Taken - Set Data 1 to Theramore Sentry"),
+(4966,0,4,5,61,0,100,0,0,0,0,0,0,49,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Private Hendel - On Quest 'The Missing Diplomat (Part 16)' Taken - Start Attacking"),
+(4966,0,5,6,61,0,100,0,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Private Hendel - On Quest 'The Missing Diplomat (Part 16)' Taken - Store Target"),
+(4966,0,6,0,61,0,100,0,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Quest 'The Missing Diplomat (Part 16)' Taken - Set Event Phase 1"),
+(4966,0,7,0,2,1,100,1,0,20,0,0,0,80,496600,2,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - Between 0-20% Health - Run Script 1 (Phase 1)"),
+(4966,0,8,0,21,2,100,1,0,0,0,0,0,80,496601,2,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Reached Home - Run Script 2 (Phase 2)"),
+(496600,9,0,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Script - Say Line 0"),
+(496600,9,1,0,0,0,100,0,0,0,0,0,0,2,1077,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Script - Set Faction 1077"),
+(496600,9,2,0,0,0,100,0,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Script - Stop Combat"),
+(496600,9,3,0,0,0,100,0,0,0,0,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Script - Set Event Phase 2"),
+(496601,9,0,0,0,0,100,0,0,0,0,0,0,69,0,0,0,0,0,0,8,0,0,0,-2897.06,-3349.2,31.3004,0,"Private Hendel - On Script - Move to Position"),
+(496601,9,1,0,0,0,100,0,1000,1000,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,0.277231,"Private Hendel - On Script - Set Orientation"),
+(496601,9,2,0,0,0,100,0,1000,1000,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Script - Say Line 1"),
+(496601,9,3,0,0,0,100,0,0,0,0,0,0,17,64,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Script - Set Emote State 64"),
+(496601,9,4,0,0,0,100,0,0,0,0,0,0,45,2,2,0,0,0,0,11,5184,50,0,0,0,0,0,"Private Hendel - On Script - Set Data 2 to Theramore Sentry"),
+(496601,9,5,0,0,0,100,0,0,0,0,0,0,107,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Private Hendel - On Script - Summon Group"),
+(496601,9,6,0,0,0,100,0,0,0,0,0,0,45,1,1,0,0,0,0,19,4967,0,0,0,0,0,0,"Private Hendel - On Script - Set Data to Archmage Tervosh"),
+(496601,9,7,0,0,0,100,0,0,0,0,0,0,100,1,0,0,0,0,0,19,4967,0,0,0,0,0,0,"Private Hendel - On Script - Send Target to Archmage Tervosh");
+
+DELETE FROM `creature_summon_groups` WHERE `summonerId`=4966;
+INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES
+(4966,0,1,4967,-2882.55,-3345.43,33.7722,3.39919,3,90000),
+(4966,0,1,4968,-2880.52,-3346.80,34.5063,3.36777,3,90000),
+(4966,0,1,4965,-2881.22,-3343.22,34.1732,3.52487,3,90000);
+
+-- Theramore Sentry
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=5184;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (-31271,-31268) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (518400,518401) 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`, `event_param5`, `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
+(-31271,0,0,0,38,0,100,1,1,1,0,0,0,2,168,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Data 1 Set - Set Faction 168"),
+(-31271,0,1,0,38,0,100,1,1,1,0,0,0,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0,"Theramore Sentry - On Data 1 Set - Start Attacking"),
+(-31271,0,2,0,38,0,100,1,2,2,0,0,0,80,518400,2,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Data 2 Set - Run Script"),
+(-31271,0,3,0,40,0,100,0,2,518400,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Waypoint 2 Reahed - Despawn"),
+(-31268,0,0,0,38,0,100,1,1,1,0,0,0,2,168,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Data Set - Set Faction 168"),
+(-31268,0,1,0,38,0,100,1,1,1,0,0,0,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0,"Theramore Sentry - On Data Set - Start Attacking"),
+(-31268,0,2,0,38,0,100,1,2,2,0,0,0,80,518401,2,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Data 2 Set - Run Script"),
+(-31268,0,3,0,40,0,100,0,3,518401,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Waypoint 3 Reahed - Despawn"),
+(518400,9,0,0,0,0,100,0,1000,1000,0,0,0,2,150,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Set Faction 150"),
+(518400,9,1,0,0,0,100,0,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Evade"),
+(518400,9,2,0,0,0,100,0,0,0,0,0,0,53,1,518400,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Start Waypoint"),
+(518400,9,3,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Say Line 0"),
+(518401,9,0,0,0,0,100,0,1000,1000,0,0,0,2,150,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Set Faction 150"),
+(518401,9,1,0,0,0,100,0,0,0,0,0,0,24,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Evade"),
+(518401,9,2,0,0,0,100,0,0,0,0,0,0,53,1,518401,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Start Waypoint"),
+(518401,9,3,0,0,0,100,0,1000,1000,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Theramore Sentry - On Script - Say Line 1");
+
+DELETE FROM `waypoints` WHERE `entry` IN (518400,518401);
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(518400,1,-2906.15,-3345.12,31.3324,""),
+(518400,2,-2910.64,-3353.77,30.4347,""),
+(518401,1,-2897.26,-3330.35,33.442,""),
+(518401,2,-2908.55,-3336.71,32.0493,""),
+(518401,3,-2914.51,-3346.08,30.843,"");
+
+-- Archmage Tervosh
+DELETE FROM `smart_scripts` WHERE `entryorguid`=4967 AND `source_type`=0 AND `id` IN (0,4,5,6);
+DELETE FROM `smart_scripts` WHERE `entryorguid`=496700 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`, `event_param5`, `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
+(4967,0,0,0,0,0,100,0,0,0,3000,5000,0,11,20822,64,0,0,0,0,2,0,0,0,0,0,0,0,"Archmage Tervosh - In Combat - Cast 'Frostbolt'"),
+(4967,0,4,0,0,0,100,0,6000,8000,12000,14000,0,11,20823,0,0,0,0,0,2,0,0,0,0,0,0,0,"Archmage Tervosh - In Combat - Cast 'Fireball'"),
+(4967,0,5,0,38,0,100,1,1,1,0,0,0,80,496700,2,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Data Set - Run Script"),
+(496700,9,0,0,0,0,100,0,0,0,0,0,0,11,51347,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Script - Cast 'Teleport Visual Only'"),
+(496700,9,1,0,0,0,100,0,0,0,0,0,0,86,51347,0,19,4965,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Script - Cross Cast 'Teleport Visual Only'"),
+(496700,9,2,0,0,0,100,0,0,0,0,0,0,86,51347,0,19,4968,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Script - Cross Cast 'Teleport Visual Only'"),
+(496700,9,3,0,0,0,100,0,4000,4000,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Script - Say Line 1"),
+(496700,9,4,0,0,0,100,0,3000,3000,0,0,0,11,7081,0,0,0,0,0,19,4966,0,0,0,0,0,0,"Archmage Tervosh - On Script - Cast 'Encage'"),
+(496700,9,5,0,0,0,100,0,4000,4000,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Script - Say Line 2"),
+(496700,9,6,0,0,0,100,0,5000,5000,0,0,0,1,2,0,0,0,0,0,19,4966,0,0,0,0,0,0,"Archmage Tervosh - On Script - Say Line 2 (Private Hendel)"),
+(496700,9,7,0,0,0,100,0,3000,3000,0,0,0,11,7079,0,0,0,0,0,19,4966,0,0,0,0,0,0,"Archmage Tervosh - On Script - Cast 'Simple Teleport Other'"),
+(496700,9,8,0,0,0,100,0,2000,2000,0,0,0,41,0,0,0,0,0,0,19,4966,0,0,0,0,0,0,"Archmage Tervosh - On Script - Despawn (Private Hendel)"),
+(496700,9,9,0,0,0,100,0,2000,2000,0,0,0,15,1324,0,0,0,0,0,12,1,0,0,0,0,0,0,"Archmage Tervosh - On Script - Complete Quest 'The Missing Diplomat (Part 16)'"),
+(496700,9,10,0,0,0,100,0,1000,1000,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Script - Say Line 2"),
+(496700,9,11,0,0,0,100,0,6000,6000,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Archmage Tervosh - On Script - Say Line 3");
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 6d30be6b0d5..9520ec93e60 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -25,7 +25,6 @@ EndScriptData */
/* ContentData
npc_nat_pagle
-npc_private_hendel
npc_cassa_crimsonwing - handled by npc_taxi
EndContentData */
@@ -89,68 +88,6 @@ public:
}
};
-/*######
-## npc_private_hendel
-######*/
-
-enum Hendel
-{
- SAY_PROGRESS_1_TER = 0,
- SAY_PROGRESS_2_HEN = 1,
- SAY_PROGRESS_3_TER = 2,
- SAY_PROGRESS_4_TER = 3,
- EMOTE_SURRENDER = 4,
-
- QUEST_MISSING_DIPLO_PT16 = 1324,
-
- NPC_SENTRY = 5184, //helps hendel
- NPC_JAINA = 4968, //appears once hendel gives up
- NPC_TERVOSH = 4967
-};
-
-/// @todo develop this further, end event not created
-class npc_private_hendel : public CreatureScript
-{
-public:
- npc_private_hendel() : CreatureScript("npc_private_hendel") { }
-
- struct npc_private_hendelAI : public ScriptedAI
- {
- npc_private_hendelAI(Creature* creature) : ScriptedAI(creature) { }
-
- void Reset() override
- {
- me->RestoreFaction();
- }
-
- void DamageTaken(Unit* pDoneBy, uint32 &Damage) override
- {
- if (Damage > me->GetHealth() || me->HealthBelowPctDamaged(20, Damage))
- {
- Damage = 0;
-
- if (pDoneBy)
- if (Player* player = pDoneBy->GetCharmerOrOwnerPlayerOrPlayerItself())
- player->GroupEventHappens(QUEST_MISSING_DIPLO_PT16, me);
-
- Talk(EMOTE_SURRENDER);
- EnterEvadeMode();
- }
- }
-
- void QuestAccept(Player* /*player*/, Quest const* quest) override
- {
- if (quest->GetQuestId() == QUEST_MISSING_DIPLO_PT16)
- me->SetFaction(FACTION_ENEMY);
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_private_hendelAI(creature);
- }
-};
-
enum SpellScripts
{
SPELL_OOZE_ZAP = 42489,
@@ -287,7 +224,6 @@ class spell_energize_aoe : public SpellScriptLoader
void AddSC_dustwallow_marsh()
{
new npc_nat_pagle();
- new npc_private_hendel();
new spell_ooze_zap();
new spell_ooze_zap_channel_end();
new spell_energize_aoe();