aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2011-07-07 18:56:44 +0100
committerNay <dnpd.dd@gmail.com>2011-07-07 18:56:44 +0100
commit0c23e1597a6bf2fd5265ae65d30b5a2cab5ee42e (patch)
tree91ff2f5721c2b06a802fe382db7ef9668fb02fc2
parent6bf75970438e3f5fcd1f92538f0741549ac09b34 (diff)
DB/Misc: Add scripts & gossip to npc 10578; Template update and auras for corpses in Grizzly Hills; Remove a console error (Closes #2247)
-rw-r--r--sql/scripts/world_scripts_full.sql2
-rw-r--r--sql/updates/world/2011_07_07_00_world_creature.sql13
-rw-r--r--sql/updates/world/2011_07_07_01_world_misc.sql32
-rw-r--r--sql/updates/world/2011_07_07_01_world_spell_script_names.sql3
-rw-r--r--src/server/scripts/Kalimdor/durotar.cpp55
5 files changed, 105 insertions, 0 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql
index e045235d83f..4304dee41bf 100644
--- a/sql/scripts/world_scripts_full.sql
+++ b/sql/scripts/world_scripts_full.sql
@@ -2276,6 +2276,8 @@ INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
-- Zalazane's Fall
( 75420, 'spell_mount_check'),
( 75102, 'spell_voljin_war_drums'),
+-- Durotar
+( 17009, 'spell_voodoo'),
-- Dustwallow Marsh
( 42489, 'spell_ooze_zap'),
( 42485, 'spell_ooze_zap_channel_end'),
diff --git a/sql/updates/world/2011_07_07_00_world_creature.sql b/sql/updates/world/2011_07_07_00_world_creature.sql
new file mode 100644
index 00000000000..009a9fb8083
--- /dev/null
+++ b/sql/updates/world/2011_07_07_00_world_creature.sql
@@ -0,0 +1,13 @@
+UPDATE `creature_template` SET `dynamicflags`=32 WHERE `entry` IN (27457,27481,26513,26516); -- Skirmisher Corpse, Westfall Infantry Corpse, Drakkari Shaman Corpse, Drakkari Warrior Corpse
+
+DELETE FROM `creature_template_addon` WHERE `entry` IN (27457,27481);
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(27457,0,0,1,0, '29266'), -- Skirmisher Corpse (Permanent Feign Death)
+(27481,0,0,1,0, '29266'); -- Westfall Infantry Corpse (Permanent Feign Death)
+
+UPDATE `creature_template_addon` SET `bytes1`=0,`bytes2`=1,`mount`=0,`emote`=0,`auras`='29266' WHERE `entry` IN (26513,26516); -- Drakkari Shaman Corpse (Permanent Feign Death)
+
+UPDATE `creature` SET `MovementType`=0, `spawndist`=0 WHERE `id` IN (27457,27481,26513,26516);
+DELETE FROM `creature_addon` WHERE `guid` IN (102034,102035,102036,102037,102038,102041,102042,102043,102044,102045,102046,102047,103956,103957,103958,103959,103960,103972,103973,103974,103975,103976,103977,103978,103984,103985,103986,103987);
+
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=27570;
diff --git a/sql/updates/world/2011_07_07_01_world_misc.sql b/sql/updates/world/2011_07_07_01_world_misc.sql
new file mode 100644
index 00000000000..066656343c7
--- /dev/null
+++ b/sql/updates/world/2011_07_07_01_world_misc.sql
@@ -0,0 +1,32 @@
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=3062 AND `id` BETWEEN 0 AND 6;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`) VALUES
+(3062,0,0, 'Low spirits', 1,1),
+(3062,1,0, 'Bad hang nail', 1,1),
+(3062,2,0, 'Feeling underpowered', 1,1),
+(3062,3,0, 'Jungle Fever', 1,1),
+(3062,4,0, 'Uni-brow', 1,1),
+(3062,5,0, 'Whiplash', 1,1),
+(3062,6,0, 'I don''t want to go back to work', 1,1);
+
+DELETE FROM `creature_template_addon` WHERE `entry`=10578;
+INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES
+(10578,0,0,257,0, NULL); -- Bom'bay
+
+UPDATE `creature` SET `MovementType`=1,`spawndist`=5 WHERE `id`=10578; -- rand movement
+UPDATE `creature_template` SET `AIName`='SmartAI',`MovementType`=1 WHERE `entry`=10578;
+
+DELETE FROM `smart_scripts` WHERE (`entryorguid`=10578 AND `source_type`=0);
+DELETE FROM `smart_scripts` WHERE (`entryorguid`=1057800 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
+(10578, 0, 0, 0, 62, 0, 100, 0, 3062, 0, 0, 0, 80, 10578*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - On gossip select 0 run timed action list'),
+(10578, 0, 1, 0, 62, 0, 100, 0, 3062, 1, 0, 0, 80, 10578*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - On gossip select 1 run timed action list'),
+(10578, 0, 2, 0, 62, 0, 100, 0, 3062, 2, 0, 0, 80, 10578*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - On gossip select 2 run timed action list'),
+(10578, 0, 3, 0, 62, 0, 100, 0, 3062, 3, 0, 0, 80, 10578*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - On gossip select 3 run timed action list'),
+(10578, 0, 4, 0, 62, 0, 100, 0, 3062, 4, 0, 0, 80, 10578*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - On gossip select 4 run timed action list'),
+(10578, 0, 5, 0, 62, 0, 100, 0, 3062, 5, 0, 0, 80, 10578*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - On gossip select 5 run timed action list'),
+(10578, 0, 6, 0, 62, 0, 100, 0, 3062, 6, 0, 0, 80, 10578*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - On gossip select 6 run timed action list'),
+(10578, 0, 7, 0, 1, 0, 100, 0, 1000, 1000, 20000, 40000, 10, 153, 15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - Every 20-40 seconds do random emote'),
+(1057800, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - Close gossip'),
+-- could use a stop movement here
+(1057800, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 4, 6482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - Play a sound'),
+(1057800, 9, 2, 0, 0, 0, 100, 0, 100, 100, 0, 0, 11, 17009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Bom''bay - Cast Voodoo');
diff --git a/sql/updates/world/2011_07_07_01_world_spell_script_names.sql b/sql/updates/world/2011_07_07_01_world_spell_script_names.sql
new file mode 100644
index 00000000000..50483434dc0
--- /dev/null
+++ b/sql/updates/world/2011_07_07_01_world_spell_script_names.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_voodoo';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(17009, 'spell_voodoo');
diff --git a/src/server/scripts/Kalimdor/durotar.cpp b/src/server/scripts/Kalimdor/durotar.cpp
index e08010d46e5..113afdc2e77 100644
--- a/src/server/scripts/Kalimdor/durotar.cpp
+++ b/src/server/scripts/Kalimdor/durotar.cpp
@@ -508,6 +508,60 @@ class spell_voljin_war_drums : public SpellScriptLoader
}
};
+enum VoodooSpells
+{
+ SPELL_BREW = 16712, // Special Brew
+ SPELL_GHOSTLY = 16713, // Ghostly
+ SPELL_HEX1 = 16707, // Hex
+ SPELL_HEX2 = 16708, // Hex
+ SPELL_HEX3 = 16709, // Hex
+ SPELL_GROW = 16711, // Grow
+ SPELL_LAUNCH = 16716, // Launch (Whee!)
+};
+
+// 17009
+class spell_voodoo : public SpellScriptLoader
+{
+ public:
+ spell_voodoo() : SpellScriptLoader("spell_voodoo") {}
+
+ class spell_voodoo_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_voodoo_SpellScript)
+
+ bool Validate(SpellEntry const* /*spellEntry*/)
+ {
+ if (!sSpellStore.LookupEntry(SPELL_BREW) || !sSpellStore.LookupEntry(SPELL_GHOSTLY) ||
+ !sSpellStore.LookupEntry(SPELL_HEX1) || !sSpellStore.LookupEntry(SPELL_HEX2) ||
+ !sSpellStore.LookupEntry(SPELL_HEX3) || !sSpellStore.LookupEntry(SPELL_GROW) ||
+ !sSpellStore.LookupEntry(SPELL_LAUNCH))
+ return false;
+ return true;
+ }
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ Unit* caster = GetCaster();
+ if (Unit* target = GetHitUnit())
+ {
+ caster->CastSpell(target, RAND(SPELL_BREW, SPELL_GHOSTLY,
+ RAND(SPELL_HEX1, SPELL_HEX2, SPELL_HEX3),
+ SPELL_GROW, SPELL_LAUNCH), false);
+ }
+ }
+
+ void Register()
+ {
+ OnEffect += SpellEffectFn(spell_voodoo_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_voodoo_SpellScript();
+ }
+};
+
void AddSC_durotar()
{
new npc_lazy_peon();
@@ -516,4 +570,5 @@ void AddSC_durotar()
new npc_troll_volunteer();
new spell_mount_check();
new spell_voljin_war_drums();
+ new spell_voodoo();
} \ No newline at end of file