mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
DB/Misc: Add scripts & gossip to npc 10578; Template update and auras for corpses in Grizzly Hills; Remove a console error (Closes #2247)
This commit is contained in:
@@ -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'),
|
||||
|
||||
13
sql/updates/world/2011_07_07_00_world_creature.sql
Normal file
13
sql/updates/world/2011_07_07_00_world_creature.sql
Normal file
@@ -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;
|
||||
32
sql/updates/world/2011_07_07_01_world_misc.sql
Normal file
32
sql/updates/world/2011_07_07_01_world_misc.sql
Normal file
@@ -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');
|
||||
@@ -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');
|
||||
@@ -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();
|
||||
}
|
||||
Reference in New Issue
Block a user