new undead zone scripts

This commit is contained in:
luis
2026-03-15 10:52:47 -03:00
parent c67de7f095
commit b9275f314b
5 changed files with 945 additions and 32 deletions
@@ -0,0 +1,654 @@
DELETE FROM `smart_scripts` WHERE `entryorguid`=49337;
DELETE FROM `smart_scripts` WHERE `entryorguid`=49340;
UPDATE `creature_template` SET `AIName`='', `ScriptName`='npc_scarlet_corpse' WHERE `entry`=49340;
UPDATE `creature_template` SET `AIName`='', `ScriptName`='npc_darnell_deathknell_corpse' WHERE `entry`=49337;
-- --- Adam (1366) — fishing with Billy, responds to Billy's stories ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=1366;
DELETE FROM smart_scripts WHERE entryorguid=1366 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(1366, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 92, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Adam - On Respawn - Set Emote State Use Standing (Fishing)'),
(1366, 0, 1, 0, '', 1, 0, 100, 0, 120000, 360000, 120000, 360000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Adam - OOC 2-6min - Say Line 0'),
(1366, 0, 2, 0, '', 1, 0, 30, 0, 60000, 180000, 60000, 180000, 0, '', 10, 10, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Adam - OOC 1-3min 30% - Play Emote Laugh');
-- --- Billy (1367) — fishing with Adam, tells tall tales ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=1367;
DELETE FROM smart_scripts WHERE entryorguid=1367 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(1367, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 92, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Billy - On Respawn - Set Emote State Use Standing (Fishing)'),
(1367, 0, 1, 0, '', 1, 0, 100, 0, 120000, 360000, 120000, 360000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Billy - OOC 2-6min - Say Line 0'),
(1367, 0, 2, 0, '', 1, 0, 20, 0, 300000, 600000, 300000, 600000, 0, '', 1, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Billy - OOC 5-10min 20% - Say Line 1 (Lets go elsewhere)'),
(1367, 0, 3, 0, '', 1, 0, 30, 0, 60000, 180000, 60000, 180000, 0, '', 10, 4, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Billy - OOC 1-3min 30% - Play Emote Cheer');
-- --- Justin (1368) — storyteller of the trio ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=1368;
DELETE FROM smart_scripts WHERE entryorguid=1368;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(1368, 0, 0, 0, '', 1, 0, 100, 0, 120000, 300000, 120000, 300000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Justin - OOC 2-5min - Say Line 0 (Tell a story)'),
(1368, 0, 1, 0, '', 1, 0, 40, 0, 60000, 120000, 60000, 120000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Justin - OOC 1-2min 40% - Play Emote Talk'),
(1368, 0, 2, 0, '', 1, 0, 20, 0, 90000, 240000, 90000, 240000, 0, '', 10, 25, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Justin - OOC 1.5-4min 20% - Play Emote Point');
-- --- Brandon (1370) — listener, reacts to Justin's stories ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=1370;
DELETE FROM smart_scripts WHERE entryorguid=1370;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(1370, 0, 0, 0, '', 1, 0, 100, 0, 150000, 360000, 150000, 360000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brandon - OOC 2.5-6min - Say Line 0 (React to stories)'),
(1370, 0, 1, 0, '', 1, 0, 30, 0, 60000, 180000, 60000, 180000, 0, '', 10, 10, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brandon - OOC 1-3min 30% - Play Emote Laugh'),
(1370, 0, 2, 0, '', 1, 0, 20, 0, 90000, 240000, 90000, 240000, 0, '', 10, 4, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brandon - OOC 1.5-4min 20% - Play Emote Cheer');
-- --- Roman (1371) — the cautious one, hears things ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=1371;
DELETE FROM smart_scripts WHERE entryorguid=1371;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(1371, 0, 0, 0, '', 1, 0, 100, 0, 150000, 360000, 150000, 360000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Roman - OOC 2.5-6min - Say Line 0 (Cautious observations)'),
(1371, 0, 1, 0, '', 1, 0, 25, 0, 60000, 180000, 60000, 180000, 0, '', 10, 26, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Roman - OOC 1-3min 25% - Play Emote Shy'),
(1371, 0, 2, 0, '', 1, 0, 20, 0, 120000, 300000, 120000, 300000, 0, '', 10, 33, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Roman - OOC 2-5min 20% - Play Emote Cry (dramatic)');
-- --- William (2533) — playing alone, chasing his gorilla toy ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=2533;
DELETE FROM smart_scripts WHERE entryorguid=2533 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(2533, 0, 0, 0, '', 1, 0, 100, 0, 90000, 300000, 90000, 300000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'William - OOC 1.5-5min - Say Line 0 (Crying about gorilla)'),
(2533, 0, 1, 0, '', 1, 0, 40, 0, 60000, 180000, 60000, 180000, 0, '', 10, 33, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'William - OOC 1-3min 40% - Play Emote Cry'),
(2533, 0, 2, 0, '', 1, 0, 20, 0, 120000, 360000, 120000, 360000, 0, '', 1, 3, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'William - OOC 2-6min 20% - Say Line 3 (WAAAHHH)');
-- Set wander_distance for children so they move around a little
UPDATE creature SET wander_distance=3, MovementType=1 WHERE guid=314222 AND id=1366; -- Adam
UPDATE creature SET wander_distance=3, MovementType=1 WHERE guid=314223 AND id=1367; -- Billy
UPDATE creature SET wander_distance=4, MovementType=1 WHERE guid=313762 AND id=1368; -- Justin
UPDATE creature SET wander_distance=4, MovementType=1 WHERE guid=313761 AND id=1370; -- Brandon
UPDATE creature SET wander_distance=4, MovementType=1 WHERE guid=313763 AND id=1371; -- Roman
UPDATE creature SET wander_distance=5, MovementType=1 WHERE guid=252244 AND id=2533; -- William
-- --- Ironforge Blastsmith (108895) — 9 spawns at the harbor construction ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=108895;
DELETE FROM smart_scripts WHERE entryorguid=108895 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(108895, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 273, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Ironforge Blastsmith - On Respawn - Set Emote State Work Smith'),
(108895, 0, 1, 0, '', 1, 0, 100, 0, 180000, 480000, 180000, 480000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Ironforge Blastsmith - OOC 3-8min - Say Line 0'),
(108895, 0, 2, 0, '', 22, 0, 100, 0, 101, 15000, 15000, 0, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Ironforge Blastsmith - On Receive Wave - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=108895;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(108895, 0, 0, 'This iron''s got good grain. Bronzebeard stock, no doubt.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Ironforge Blastsmith'),
(108895, 0, 1, 'Steady heat, steady hammer. That''s how me da taught it.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Ironforge Blastsmith'),
(108895, 0, 2, 'Hah! Perfect fold on that one. Almost too pretty to rivet.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Ironforge Blastsmith'),
(108895, 0, 3, 'Whoever ordered steel plate this thick is expectin'' trouble.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Ironforge Blastsmith'),
(108895, 0, 4, 'Just need to quench this last piece...', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Ironforge Blastsmith'),
(108895, 0, 5, 'Could use a pint after this shift. Harbor work''s thirsty business.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Ironforge Blastsmith'),
(108895, 0, 6, 'These hull plates won''t shape themselves!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Ironforge Blastsmith');
-- --- Dracthyr Smith (198383) — 3 spawns, Obsidian Warders ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=198383;
DELETE FROM smart_scripts WHERE entryorguid=198383 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(198383, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 273, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Dracthyr Smith - On Respawn - Set Emote State Work Smith'),
(198383, 0, 1, 0, '', 1, 0, 100, 0, 180000, 600000, 180000, 600000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Dracthyr Smith - OOC 3-10min - Say Line 0'),
(198383, 0, 2, 0, '', 22, 0, 100, 0, 101, 15000, 15000, 0, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Dracthyr Smith - On Receive Wave - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=198383;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(198383, 0, 0, 'The forge burns hot today. Good conditions for shaping adamant.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Dracthyr Smith'),
(198383, 0, 1, 'In the Forbidden Reach, we had no choice but to craft our own weapons. Here, it is a pleasure.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Dracthyr Smith'),
(198383, 0, 2, 'Fascinating technique, this human tempering. Crude, but surprisingly effective.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Dracthyr Smith'),
(198383, 0, 3, 'Dragonfire would heat this faster, but the humans get nervous when I breathe near their forges.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Dracthyr Smith'),
(198383, 0, 4, 'Another blade finished. Neltharion would have demanded perfection. I demand it of myself.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Dracthyr Smith'),
(198383, 0, 5, 'The Alliance smiths were skeptical at first. Now they ask for tips.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Dracthyr Smith');
-- ============================================================================
-- CATEGORY 3: COOKS & BAKERS (3 entries, 3 spawns)
-- ============================================================================
-- --- Thomas Miller (3518) — Baker, already has creature_text ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=3518;
DELETE FROM smart_scripts WHERE entryorguid=3518 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(3518, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 274, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Thomas Miller - On Respawn - Set Emote State Work'),
(3518, 0, 1, 0, '', 1, 0, 100, 0, 120000, 300000, 120000, 300000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Thomas Miller - OOC 2-5min - Say Line 0 (Fresh bread!)'),
(3518, 0, 2, 0, '', 22, 0, 100, 0, 101, 15000, 15000, 0, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Thomas Miller - On Receive Wave - Play Emote Talk');
-- --- Connor Rivers (5081) — Apprentice Chef ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=5081;
DELETE FROM smart_scripts WHERE entryorguid=5081 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(5081, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 274, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Connor Rivers - On Respawn - Set Emote State Work'),
(5081, 0, 1, 0, '', 1, 0, 100, 0, 180000, 480000, 180000, 480000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Connor Rivers - OOC 3-8min - Say Line 0'),
(5081, 0, 2, 0, '', 1, 0, 30, 0, 60000, 180000, 60000, 180000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Connor Rivers - OOC 1-3min 30% - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=5081;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(5081, 0, 0, 'Hmm, needs more seasoning... I think.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Connor Rivers'),
(5081, 0, 1, 'Chef Angus says presentation is half the meal. The other half is not burning it.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Connor Rivers'),
(5081, 0, 2, 'One day I''ll have my own inn. Connor''s Kitchen... no, that''s terrible.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Connor Rivers'),
(5081, 0, 3, 'Stir, don''t stab, stir, don''t stab... there we go.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Connor Rivers'),
(5081, 0, 4, 'I wonder if Pandaren spices would work in boar stew...', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Connor Rivers'),
(5081, 0, 5, 'The trick to a good broth is patience. And not letting it boil over. Again.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Connor Rivers');
-- --- Kendor Kabonka (340) — Master of Cooking Recipes (vendor, but add personality) ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=340;
DELETE FROM smart_scripts WHERE entryorguid=340 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(340, 0, 0, 0, '', 1, 0, 100, 0, 240000, 600000, 240000, 600000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Kendor Kabonka - OOC 4-10min - Say Line 0'),
(340, 0, 1, 0, '', 1, 0, 30, 0, 120000, 300000, 120000, 300000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Kendor Kabonka - OOC 2-5min 30% - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=340;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(340, 0, 0, 'I have recipes from every corner of Azeroth! Well, most corners. I''m working on it.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Kendor Kabonka'),
(340, 0, 1, 'Fifty years behind the stove and I still learn something new every season.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Kendor Kabonka'),
(340, 0, 2, 'You haven''t lived until you''ve tasted Westfall stew made with fresh thyme.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Kendor Kabonka'),
(340, 0, 3, 'The secret to a good recipe? Knowing when to follow it and when to improvise.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Kendor Kabonka'),
(340, 0, 4, 'A dwarf once traded me a recipe for Dark Iron stout cake. Worth every copper.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Kendor Kabonka');
-- ============================================================================
-- CATEGORY 4: PRIESTS & HEALERS (3 entries, 6 spawns)
-- ============================================================================
-- --- Stormwind Priest (141508) — 4 spawns near wounded refugees, healing/tending ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=141508;
DELETE FROM smart_scripts WHERE entryorguid=141508 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(141508, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 28, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Stormwind Priest - On Respawn - Set Emote State Kneel'),
(141508, 0, 1, 0, '', 1, 0, 100, 0, 180000, 420000, 180000, 420000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Stormwind Priest - OOC 3-7min - Say Line 0'),
(141508, 0, 2, 0, '', 1, 0, 40, 0, 90000, 240000, 90000, 240000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Stormwind Priest - OOC 1.5-4min 40% - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=141508;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(141508, 0, 0, 'The Light will mend you. Be still.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Stormwind Priest'),
(141508, 0, 1, 'Rest now. You are safe within these walls.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Stormwind Priest'),
(141508, 0, 2, 'By the grace of the Light, your wounds will heal.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Stormwind Priest'),
(141508, 0, 3, 'Drink this. It will ease the pain.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Stormwind Priest'),
(141508, 0, 4, 'Teldrassil may be lost, but your spirit endures.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Stormwind Priest'),
(141508, 0, 5, 'There now... the fever is breaking. You''ll be all right.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Stormwind Priest');
-- --- Bishop Farthing (1212) — 1 spawn, pious leader ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=1212;
DELETE FROM smart_scripts WHERE entryorguid=1212 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(1212, 0, 0, 0, '', 1, 0, 100, 0, 240000, 600000, 240000, 600000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Bishop Farthing - OOC 4-10min - Say Line 0'),
(1212, 0, 1, 0, '', 1, 0, 30, 0, 120000, 360000, 120000, 360000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Bishop Farthing - OOC 2-6min 30% - Play Emote Talk'),
(1212, 0, 2, 0, '', 22, 0, 100, 0, 17, 15000, 15000, 0, 0, '', 10, 2, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Bishop Farthing - On Receive Bow - Play Emote Bow');
DELETE FROM creature_text WHERE CreatureID=1212;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(1212, 0, 0, 'The Light watches over Stormwind. Of this, I am certain.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Bishop Farthing'),
(1212, 0, 1, 'In these troubled times, faith is our greatest shield.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Bishop Farthing'),
(1212, 0, 2, 'The Cathedral stands as it always has. A beacon for the faithful.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Bishop Farthing'),
(1212, 0, 3, 'May the Light grant us the wisdom to weather what lies ahead.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Bishop Farthing'),
(1212, 0, 4, 'We must tend to the refugees. Their need is great.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Bishop Farthing');
-- --- Brother Benjamin (5484) — Priest Trainer, 1 spawn ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=5484;
DELETE FROM smart_scripts WHERE entryorguid=5484 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(5484, 0, 0, 0, '', 1, 0, 100, 0, 240000, 600000, 240000, 600000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brother Benjamin - OOC 4-10min - Say Line 0'),
(5484, 0, 1, 0, '', 1, 0, 25, 0, 90000, 300000, 90000, 300000, 0, '', 10, 28, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brother Benjamin - OOC 1.5-5min 25% - Play Emote Kneel (Praying)'),
(5484, 0, 2, 0, '', 22, 0, 100, 0, 17, 15000, 15000, 0, 0, '', 10, 2, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brother Benjamin - On Receive Bow - Play Emote Bow');
DELETE FROM creature_text WHERE CreatureID=5484;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(5484, 0, 0, 'The path of the Light is not an easy one, but it is always rewarding.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brother Benjamin'),
(5484, 0, 1, 'To heal is to serve. To serve is to know the Light.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brother Benjamin'),
(5484, 0, 2, 'Prayer and discipline. The foundations of all who channel the Light.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brother Benjamin'),
(5484, 0, 3, 'Even in darkness, a single candle can illuminate the way.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brother Benjamin');
-- ============================================================================
-- CATEGORY 5: STABLE KEEPER (1 entry, 1 spawn)
-- ============================================================================
-- --- Valarian (198579) — Stable Keeper, near the stables ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=198579;
DELETE FROM smart_scripts WHERE entryorguid=198579 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(198579, 0, 0, 0, '', 1, 0, 100, 0, 180000, 480000, 180000, 480000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Valarian - OOC 3-8min - Say Line 0'),
(198579, 0, 1, 0, '', 1, 0, 30, 0, 90000, 240000, 90000, 240000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Valarian - OOC 1.5-4min 30% - Play Emote Talk'),
(198579, 0, 2, 0, '', 22, 0, 100, 0, 101, 15000, 15000, 0, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Valarian - On Receive Wave - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=198579;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(198579, 0, 0, 'Easy there, girl. You''ll get your oats soon enough.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Valarian'),
(198579, 0, 1, 'These mounts have seen more battles than most soldiers. They deserve proper care.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Valarian'),
(198579, 0, 2, 'A well-groomed steed is a loyal companion on any road.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Valarian'),
(198579, 0, 3, 'The horses get restless before a storm. Must be one coming.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Valarian'),
(198579, 0, 4, 'Good hay, clean water, and a kind hand. That''s all they ask for.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Valarian'),
(198579, 0, 5, 'Shhh, steady now... that''s it.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Valarian');
-- ============================================================================
-- CATEGORY 6: CONVERSATION PAIRS (4 entries, 4 spawns)
-- Uses timed action lists (source_type=9) for synchronized dialogue
-- ============================================================================
-- ---- PAIR A: Harriet Mura (176234) & Anna Taki (176231) ----
-- Two women chatting in the Trade District
-- Harriet initiates the conversation via action list
UPDATE creature_template SET AIName='SmartAI' WHERE entry=176234;
UPDATE creature_template SET AIName='SmartAI' WHERE entry=176231;
DELETE FROM smart_scripts WHERE entryorguid=176234 AND source_type=0;
DELETE FROM smart_scripts WHERE entryorguid=176231 AND source_type=0;
DELETE FROM smart_scripts WHERE entryorguid IN (17623400, 17623401) AND source_type=9;
-- Harriet Mura: triggers timed action list conversations periodically
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(176234, 0, 0, 0, '', 1, 0, 100, 0, 300000, 600000, 300000, 600000, 0, '', 80, 17623400, 17623401, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - OOC 5-10min - Run Random Action List'),
(176234, 0, 1, 0, '', 1, 0, 30, 0, 90000, 240000, 90000, 240000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - OOC 1.5-4min 30% - Play Emote Talk');
-- Anna Taki: ambient emotes between conversations
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(176231, 0, 0, 0, '', 1, 0, 30, 0, 120000, 300000, 120000, 300000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Anna Taki - OOC 2-5min 30% - Play Emote Talk'),
(176231, 0, 1, 0, '', 1, 0, 20, 0, 180000, 420000, 180000, 420000, 0, '', 10, 10, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Anna Taki - OOC 3-7min 20% - Play Emote Laugh');
-- Action List: Conversation about the market
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(17623400, 9, 0, 0, '', 0, 0, 100, 0, 0, 0, 0, 0, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - Action List - Say Line 0'),
(17623400, 9, 1, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 19, 176231, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - Action List - Anna Taki Say Line 0'),
(17623400, 9, 2, 0, '', 0, 0, 100, 0, 6000, 0, 0, 0, 0, '', 1, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - Action List - Say Line 1'),
(17623400, 9, 3, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 1, 0, 0, 0, 0, 0, 0, NULL, 19, 176231, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - Action List - Anna Taki Say Line 1');
-- Action List: Conversation about the refugees
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(17623401, 9, 0, 0, '', 0, 0, 100, 0, 0, 0, 0, 0, 0, '', 1, 2, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - Action List 2 - Say Line 2'),
(17623401, 9, 1, 0, '', 0, 0, 100, 0, 6000, 0, 0, 0, 0, '', 1, 2, 0, 0, 0, 0, 0, 0, NULL, 19, 176231, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - Action List 2 - Anna Taki Say Line 2'),
(17623401, 9, 2, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 3, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Harriet Mura - Action List 2 - Say Line 3');
DELETE FROM creature_text WHERE CreatureID IN (176234, 176231);
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
-- Harriet Mura
(176234, 0, 0, 'Have you seen the prices at the Auction House lately? Outrageous!', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Harriet Mura - Market chat 1'),
(176234, 1, 0, 'I heard the Gilnean merchants are setting up shop near the canals.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Harriet Mura - Market chat 2'),
(176234, 2, 0, 'Those poor night elf refugees. Losing their home like that...', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Harriet Mura - Refugee chat 1'),
(176234, 3, 0, 'The Cathedral has been doing what it can. We all should help where we''re able.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Harriet Mura - Refugee chat 2'),
-- Anna Taki
(176231, 0, 0, 'Tell me about it! A simple linen bolt cost me three gold yesterday.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Anna Taki - Market reply 1'),
(176231, 1, 0, 'That''s good news. Competition keeps the prices honest, I say.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Anna Taki - Market reply 2'),
(176231, 2, 0, 'I know. My neighbor took in a family of three. They have almost nothing.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Anna Taki - Refugee reply');
-- ---- PAIR B: Chris Miller (50525) & Kyle Radue (50523) ----
-- Two men hanging out in the city, near the canals
UPDATE creature_template SET AIName='SmartAI' WHERE entry=50525;
UPDATE creature_template SET AIName='SmartAI' WHERE entry=50523;
DELETE FROM smart_scripts WHERE entryorguid=50525 AND source_type=0;
DELETE FROM smart_scripts WHERE entryorguid=50523 AND source_type=0;
DELETE FROM smart_scripts WHERE entryorguid IN (5052500, 5052501) AND source_type=9;
-- Chris Miller: initiates conversations
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(50525, 0, 0, 0, '', 1, 0, 100, 0, 300000, 600000, 300000, 600000, 0, '', 80, 5052500, 5052501, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - OOC 5-10min - Run Random Action List'),
(50525, 0, 1, 0, '', 1, 0, 25, 0, 90000, 240000, 90000, 240000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - OOC 1.5-4min 25% - Play Emote Talk');
-- Kyle Radue: ambient
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(50523, 0, 0, 0, '', 1, 0, 25, 0, 120000, 300000, 120000, 300000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Kyle Radue - OOC 2-5min 25% - Play Emote Talk'),
(50523, 0, 1, 0, '', 1, 0, 15, 0, 180000, 420000, 180000, 420000, 0, '', 10, 10, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Kyle Radue - OOC 3-7min 15% - Play Emote Laugh');
-- Action List: Conversation about life in Stormwind
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(5052500, 9, 0, 0, '', 0, 0, 100, 0, 0, 0, 0, 0, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List - Say Line 0'),
(5052500, 9, 1, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 19, 50523, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List - Kyle Radue Say Line 0'),
(5052500, 9, 2, 0, '', 0, 0, 100, 0, 6000, 0, 0, 0, 0, '', 1, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List - Say Line 1'),
(5052500, 9, 3, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 1, 0, 0, 0, 0, 0, 0, NULL, 19, 50523, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List - Kyle Radue Say Line 1');
-- Action List: Conversation about adventures
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(5052501, 9, 0, 0, '', 0, 0, 100, 0, 0, 0, 0, 0, 0, '', 1, 2, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List 2 - Say Line 2'),
(5052501, 9, 1, 0, '', 0, 0, 100, 0, 6000, 0, 0, 0, 0, '', 1, 2, 0, 0, 0, 0, 0, 0, NULL, 19, 50523, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List 2 - Kyle Radue Say Line 2'),
(5052501, 9, 2, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 3, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List 2 - Say Line 3'),
(5052501, 9, 3, 0, '', 0, 0, 100, 0, 6000, 0, 0, 0, 0, '', 1, 3, 0, 0, 0, 0, 0, 0, NULL, 19, 50523, 0, 0, 0, NULL, 0, 0, 0, 0, 'Chris Miller - Action List 2 - Kyle Radue Say Line 3');
DELETE FROM creature_text WHERE CreatureID IN (50525, 50523);
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
-- Chris Miller
(50525, 0, 0, 'You know what I could go for right now? A pint at the Pig and Whistle.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Chris Miller - City life 1'),
(50525, 1, 0, 'My wife wants to move to Goldshire. Says the city is too crowded now.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Chris Miller - City life 2'),
(50525, 2, 0, 'Did you hear? Some adventurer cleared out the Deadmines again. Third time this month.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Chris Miller - Adventures 1'),
(50525, 3, 0, 'I tell you, Kyle, sometimes I wonder what it would be like to just... go. See the world.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Chris Miller - Adventures 2'),
-- Kyle Radue
(50523, 0, 0, 'Now you''re talking. Reese brews the best stout this side of Ironforge.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Kyle Radue - City life reply 1'),
(50523, 1, 0, 'Goldshire? With the gnolls? Rather take my chances with the crowds.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Kyle Radue - City life reply 2'),
(50523, 2, 0, 'Those Defias types never learn. You''d think they''d find a new hideout by now.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Kyle Radue - Adventures reply 1'),
(50523, 3, 0, 'And get eaten by a dragon? No thanks. I''ll stick to the canals, where it''s safe.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Kyle Radue - Adventures reply 2');
-- ============================================================================
-- CATEGORY 7: RESEARCHERS & EXPLORERS (2 entries, 12 spawns)
-- Near the harbor expedition area
-- ============================================================================
-- --- Brave Researcher (187193) — 6 spawns, studying expedition findings ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=187193;
DELETE FROM smart_scripts WHERE entryorguid=187193 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(187193, 0, 0, 0, '', 1, 0, 100, 0, 180000, 480000, 180000, 480000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brave Researcher - OOC 3-8min - Say Line 0'),
(187193, 0, 1, 0, '', 1, 0, 30, 0, 60000, 180000, 60000, 180000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brave Researcher - OOC 1-3min 30% - Play Emote Talk'),
(187193, 0, 2, 0, '', 1, 0, 20, 0, 90000, 300000, 90000, 300000, 0, '', 10, 25, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Brave Researcher - OOC 1.5-5min 20% - Play Emote Point');
DELETE FROM creature_text WHERE CreatureID=187193;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(187193, 0, 0, 'These Dragon Isles samples are unlike anything in our archives.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brave Researcher'),
(187193, 0, 1, 'If my calculations are correct, this artifact predates the Sundering.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brave Researcher'),
(187193, 0, 2, 'Fascinating. The crystalline structure matches nothing in known geology.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brave Researcher'),
(187193, 0, 3, 'I need more ink. And more parchment. And possibly more coffee.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brave Researcher'),
(187193, 0, 4, 'The expedition reports mention a proto-drake nesting ground. We must study it further.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brave Researcher'),
(187193, 0, 5, 'Cross-referencing with the Explorers'' League records... ah, there it is.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Brave Researcher');
-- --- Cataloguing Enthusiast (193786) — 6 spawns, excitable researcher ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=193786;
DELETE FROM smart_scripts WHERE entryorguid=193786 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(193786, 0, 0, 0, '', 1, 0, 100, 0, 180000, 480000, 180000, 480000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Cataloguing Enthusiast - OOC 3-8min - Say Line 0'),
(193786, 0, 1, 0, '', 1, 0, 25, 0, 60000, 180000, 60000, 180000, 0, '', 10, 4, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Cataloguing Enthusiast - OOC 1-3min 25% - Play Emote Cheer'),
(193786, 0, 2, 0, '', 1, 0, 30, 0, 90000, 240000, 90000, 240000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Cataloguing Enthusiast - OOC 1.5-4min 30% - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=193786;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(193786, 0, 0, 'Oh! Item seven hundred and twelve! A fossilized... hmm, what IS this?', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Cataloguing Enthusiast'),
(193786, 0, 1, 'Must categorize, must catalogue, must... ooh, is that a new specimen?!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Cataloguing Enthusiast'),
(193786, 0, 2, 'The Explorers'' League will be thrilled when they see my notes!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Cataloguing Enthusiast'),
(193786, 0, 3, 'Genus: unknown. Species: unknown. Excitement level: VERY HIGH.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Cataloguing Enthusiast'),
(193786, 0, 4, 'I''ve catalogued three hundred items today and I''m just getting started!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Cataloguing Enthusiast'),
(193786, 0, 5, 'Now where did I put ledger number nine... ah, I''m sitting on it.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Cataloguing Enthusiast');
-- ============================================================================
-- CATEGORY 8: ADDITIONAL AMBIENT NPCS
-- ============================================================================
-- --- Attentive Child (151249) — near the Mage Tower, watching Jordan Meier ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=151249;
DELETE FROM smart_scripts WHERE entryorguid=151249 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(151249, 0, 0, 0, '', 1, 0, 100, 0, 180000, 480000, 180000, 480000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Attentive Child - OOC 3-8min - Say Line 0'),
(151249, 0, 1, 0, '', 1, 0, 30, 0, 60000, 180000, 60000, 180000, 0, '', 10, 4, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Attentive Child - OOC 1-3min 30% - Play Emote Cheer'),
(151249, 0, 2, 0, '', 1, 0, 20, 0, 120000, 300000, 120000, 300000, 0, '', 10, 10, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Attentive Child - OOC 2-5min 20% - Play Emote Laugh');
DELETE FROM creature_text WHERE CreatureID=151249;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(151249, 0, 0, 'Do it again! Do it again!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Attentive Child'),
(151249, 0, 1, 'Wow! I wanna be a mage when I grow up!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Attentive Child'),
(151249, 0, 2, 'Can you make a dragon?! Please?!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Attentive Child'),
(151249, 0, 3, 'How do you make the sparkly lights?', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Attentive Child');
-- --- Jordan Meier (151251) — near Mage Tower, performing magic for children ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=151251;
DELETE FROM smart_scripts WHERE entryorguid=151251 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(151251, 0, 0, 0, '', 1, 0, 100, 0, 180000, 480000, 180000, 480000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Jordan Meier - OOC 3-8min - Say Line 0'),
(151251, 0, 1, 0, '', 1, 0, 30, 0, 60000, 180000, 60000, 180000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Jordan Meier - OOC 1-3min 30% - Play Emote Talk'),
(151251, 0, 2, 0, '', 22, 0, 100, 0, 101, 15000, 15000, 0, 0, '', 10, 2, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Jordan Meier - On Receive Wave - Play Emote Bow');
DELETE FROM creature_text WHERE CreatureID=151251;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(151251, 0, 0, 'Watch closely now... nothing up my sleeve...', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Jordan Meier'),
(151251, 0, 1, 'And for my next trick, a conjured butterfly!', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Jordan Meier'),
(151251, 0, 2, 'The arcane arts aren''t just for battle. Sometimes, they''re for wonder.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'Jordan Meier'),
(151251, 0, 3, 'Every great mage started by watching someone else make sparks.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Jordan Meier');
-- --- Shauna Strattonmeier (151247) — Librarian near the Mage Tower ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=151247;
DELETE FROM smart_scripts WHERE entryorguid=151247 AND source_type=0;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(151247, 0, 0, 0, '', 1, 0, 100, 0, 240000, 600000, 240000, 600000, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Shauna Strattonmeier - OOC 4-10min - Say Line 0'),
(151247, 0, 1, 0, '', 1, 0, 20, 0, 90000, 300000, 90000, 300000, 0, '', 10, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Shauna Strattonmeier - OOC 1.5-5min 20% - Play Emote Talk');
DELETE FROM creature_text WHERE CreatureID=151247;
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
(151247, 0, 0, 'Please keep your voices down. This is a place of study.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Shauna Strattonmeier'),
(151247, 0, 1, 'I have a new shipment of tomes from Dalaran. Quite fascinating.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Shauna Strattonmeier'),
(151247, 0, 2, 'The history section is particularly comprehensive. Five Ages of Azeroth, all documented.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Shauna Strattonmeier'),
(151247, 0, 3, 'Books are the foundation of knowledge. Well, books and not setting them on fire.', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Shauna Strattonmeier');
-- --- SI:7 Agent (198885) & Defias Thief (198886) — interrogation scene ---
UPDATE creature_template SET AIName='SmartAI' WHERE entry=198885;
UPDATE creature_template SET AIName='SmartAI' WHERE entry=198886;
DELETE FROM smart_scripts WHERE entryorguid=198885 AND source_type=0;
DELETE FROM smart_scripts WHERE entryorguid=198886 AND source_type=0;
DELETE FROM smart_scripts WHERE entryorguid IN (19888500, 19888501) AND source_type=9;
-- SI:7 Agent: triggers interrogation conversations
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(198885, 0, 0, 0, '', 1, 0, 100, 0, 300000, 600000, 300000, 600000, 0, '', 80, 19888500, 19888501, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - OOC 5-10min - Run Random Action List'),
(198885, 0, 1, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 381, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - On Respawn - Set Emote State Stand Guard');
-- Defias Thief: cowering
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(198886, 0, 0, 0, '', 11, 0, 100, 0, 0, 0, 0, 0, 0, '', 5, 28, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Defias Thief - On Respawn - Set Emote State Kneel'),
(198886, 0, 1, 0, '', 1, 0, 30, 0, 120000, 360000, 120000, 360000, 0, '', 10, 26, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'Defias Thief - OOC 2-6min 30% - Play Emote Shy (Cower)');
-- Action List: Interrogation about the Brotherhood
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(19888500, 9, 0, 0, '', 0, 0, 100, 0, 0, 0, 0, 0, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - Action List - Say Line 0'),
(19888500, 9, 1, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 0, 0, 0, 0, 0, 0, 0, NULL, 19, 198886, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - Action List - Defias Thief Say Line 0'),
(19888500, 9, 2, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 1, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - Action List - Say Line 1');
-- Action List: Threatening
INSERT INTO smart_scripts (entryorguid, source_type, id, link, Difficulties, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, event_param_string, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, action_param7, action_param_string, target_type, target_param1, target_param2, target_param3, target_param4, target_param_string, target_x, target_y, target_z, target_o, comment) VALUES
(19888501, 9, 0, 0, '', 0, 0, 100, 0, 0, 0, 0, 0, 0, '', 1, 2, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - Action List 2 - Say Line 2'),
(19888501, 9, 1, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 1, 0, 0, 0, 0, 0, 0, NULL, 19, 198886, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - Action List 2 - Defias Thief Say Line 1'),
(19888501, 9, 2, 0, '', 0, 0, 100, 0, 5000, 0, 0, 0, 0, '', 1, 3, 0, 0, 0, 0, 0, 0, NULL, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 'SI:7 Agent - Action List 2 - Say Line 3');
DELETE FROM creature_text WHERE CreatureID IN (198885, 198886);
INSERT INTO creature_text (CreatureID, GroupID, ID, Text, Type, Language, Probability, Emote, Duration, Sound, SoundPlayType, BroadcastTextId, TextRange, comment) VALUES
-- SI:7 Agent
(198885, 0, 0, 'Talk. Who''s running the Brotherhood now?', 12, 0, 100, 25, 0, 0, 0, 0, 0, 'SI:7 Agent - Interrogation 1'),
(198885, 1, 0, 'Shaw wants answers by sundown. I suggest you cooperate.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'SI:7 Agent - Interrogation 2'),
(198885, 2, 0, 'We found the safehouse in Moonbrook. Your friends already talked.', 12, 0, 100, 25, 0, 0, 0, 0, 0, 'SI:7 Agent - Threat 1'),
(198885, 3, 0, 'Last chance. The Stockade isn''t known for its hospitality.', 12, 0, 100, 1, 0, 0, 0, 0, 0, 'SI:7 Agent - Threat 2'),
-- Defias Thief
(198886, 0, 0, 'I... I don''t know anything! I was just a lookout!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Defias Thief - Plea 1'),
(198886, 1, 0, 'Please... I have a family in Westfall. I was desperate for coin!', 12, 0, 100, 0, 0, 0, 0, 0, 0, 'Defias Thief - Plea 2');
-- ============================================================
-- 1. Enable SmartAI on all target entries
-- ============================================================
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (29712, 100449, 29152, 251797, 246154, 246155, 42421, 194437, 141504, 198461, 193812) AND `AIName`='';
-- ============================================================
-- 2. SMART_SCRIPTS
-- ============================================================
-- TextEmote IDs (verified from Guard 68 / Elly Langston 1328):
-- 5=Applaud, 17=Bow, 22=Chicken, 34=Dance, 41=Flex, 58=Kiss,
-- 77=Rude, 78=Salute, 84=Shy, 101=Wave
-- Emote animation IDs:
-- 1=TALK, 2=BOW, 4=CHEER, 25=POINT, 26=SHY, 33=CRY, 66=SALUTE,
-- 69=READY_UNARMED, 92=USE_STANDING, 274=WORK_NOPRE, 381=STAND_GUARD, 393=SIT_GROUND
-- ── Stormwind Harbor Guard (29712) — 85 spawns ──
-- Stand at attention, respond to /salute, periodic vigilance
DELETE FROM `smart_scripts` WHERE `entryorguid`=29712 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(29712, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 5, 381, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - On Respawn - Set Emote State Stand Guard'),
(29712, 0, 1, 0, 22, 0, 100, 0, 78, 15000, 15000, 0, 0, 10, 66, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - On Receive Salute - Play Emote Salute'),
(29712, 0, 2, 0, 22, 0, 100, 0, 78, 15000, 15000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - On Receive Salute - Say Line 0'),
(29712, 0, 3, 0, 1, 0, 100, 0, 120000, 300000, 120000, 300000, 0, 10, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - OOC 2-5min - Play Emote Talk'),
(29712, 0, 4, 0, 1, 0, 30, 0, 180000, 600000, 180000, 600000, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - OOC 3-10min 30% - Say Line 1');
-- ── Stormwind Royal Guard (100449) — 35 spawns ──
-- Stoic, respond to /salute and /bow
DELETE FROM `smart_scripts` WHERE `entryorguid`=100449 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(100449, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 5, 381, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Royal Guard - On Respawn - Set Emote State Stand Guard'),
(100449, 0, 1, 0, 22, 0, 100, 0, 78, 15000, 15000, 0, 0, 10, 66, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Royal Guard - On Receive Salute - Play Emote Salute'),
(100449, 0, 2, 0, 22, 0, 100, 0, 17, 15000, 15000, 0, 0, 10, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Royal Guard - On Receive Bow - Play Emote Bow');
-- ── Stormwind Dock Worker (29152) — 46 spawns ──
-- Working animation, periodic labor commentary
DELETE FROM `smart_scripts` WHERE `entryorguid`=29152 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(29152, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 5, 274, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - On Respawn - Set Emote State Work'),
(29152, 0, 1, 0, 1, 0, 100, 0, 180000, 600000, 180000, 600000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - OOC 3-10min - Say Line 0'),
(29152, 0, 2, 0, 22, 0, 100, 0, 101, 15000, 15000, 0, 0, 10, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - On Receive Wave - Play Emote Talk');
-- ── Interested Citizen (251797) — 49 spawns ──
-- Animated townsfolk, periodic gossip and emotes
DELETE FROM `smart_scripts` WHERE `entryorguid`=251797 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(251797, 0, 0, 0, 1, 0, 100, 0, 60000, 180000, 60000, 180000, 0, 10, 25, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Interested Citizen - OOC 1-3min - Play Emote Point'),
(251797, 0, 1, 0, 1, 0, 100, 0, 90000, 240000, 90000, 240000, 0, 10, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Interested Citizen - OOC 1.5-4min - Play Emote Talk'),
(251797, 0, 2, 0, 1, 0, 50, 0, 180000, 600000, 180000, 600000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Interested Citizen - OOC 3-10min 50% - Say Line 0'),
(251797, 0, 3, 0, 1, 0, 30, 0, 120000, 360000, 120000, 360000, 0, 10, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Interested Citizen - OOC 2-6min 30% - Play Emote Cheer');
-- ── Suspicious Citizen (246154) — 25 spawns ──
-- Shifty behavior, nervous emotes
DELETE FROM `smart_scripts` WHERE `entryorguid`=246154 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(246154, 0, 0, 0, 1, 0, 100, 0, 60000, 180000, 60000, 180000, 0, 10, 26, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - OOC 1-3min - Play Emote Shy'),
(246154, 0, 1, 0, 1, 0, 50, 0, 180000, 600000, 180000, 600000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - OOC 3-10min 50% - Say Line 0'),
(246154, 0, 2, 0, 1, 0, 100, 0, 90000, 240000, 90000, 240000, 0, 10, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - OOC 1.5-4min - Play Emote Talk');
-- ── Suspicious Citizen (246155) — 25 spawns ──
DELETE FROM `smart_scripts` WHERE `entryorguid`=246155 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(246155, 0, 0, 0, 1, 0, 100, 0, 60000, 180000, 60000, 180000, 0, 10, 26, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - OOC 1-3min - Play Emote Shy'),
(246155, 0, 1, 0, 1, 0, 50, 0, 180000, 600000, 180000, 600000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - OOC 3-10min 50% - Say Line 0'),
(246155, 0, 2, 0, 1, 0, 100, 0, 90000, 240000, 90000, 240000, 0, 10, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - OOC 1.5-4min - Play Emote Talk');
-- ── Stormwind Fisherman (42421) — 14 spawns ──
-- Fishing animation, periodic fishing talk
DELETE FROM `smart_scripts` WHERE `entryorguid`=42421 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(42421, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 5, 92, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Fisherman - On Respawn - Set Emote State Use Standing'),
(42421, 0, 1, 0, 1, 0, 100, 0, 120000, 360000, 120000, 360000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Fisherman - OOC 2-6min - Say Line 0');
-- ── Salty Deckhand (194437) — 25 spawns ──
-- Working animation, sailor commentary
DELETE FROM `smart_scripts` WHERE `entryorguid`=194437 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(194437, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 5, 274, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Salty Deckhand - On Respawn - Set Emote State Work'),
(194437, 0, 1, 0, 1, 0, 100, 0, 180000, 600000, 180000, 600000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Salty Deckhand - OOC 3-10min - Say Line 0');
-- ── Wounded Refugee (141504) — 15 spawns ──
-- Sitting on ground, periodic crying
DELETE FROM `smart_scripts` WHERE `entryorguid`=141504 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(141504, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 5, 393, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Wounded Refugee - On Respawn - Set Emote State Sit Ground'),
(141504, 0, 1, 0, 1, 0, 100, 0, 60000, 180000, 60000, 180000, 0, 10, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Wounded Refugee - OOC 1-3min - Play Emote Cry'),
(141504, 0, 2, 0, 1, 0, 50, 0, 180000, 600000, 180000, 600000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Wounded Refugee - OOC 3-10min 50% - Say Line 0');
-- ── Curious Dracthyr (198461) — 9 spawns ──
-- Pointing at landmarks, marveling at Stormwind
DELETE FROM `smart_scripts` WHERE `entryorguid`=198461 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(198461, 0, 0, 0, 1, 0, 100, 0, 60000, 180000, 60000, 180000, 0, 10, 25, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - OOC 1-3min - Play Emote Point'),
(198461, 0, 1, 0, 1, 0, 100, 0, 90000, 300000, 90000, 300000, 0, 10, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - OOC 1.5-5min - Play Emote Talk'),
(198461, 0, 2, 0, 1, 0, 100, 0, 120000, 420000, 120000, 420000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - OOC 2-7min - Say Line 0'),
(198461, 0, 3, 0, 22, 0, 100, 0, 101, 15000, 15000, 0, 0, 10, 101, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - On Receive Wave - Play Emote Wave');
-- ── Expedition Trainee (193812) — 9 spawns ──
-- Combat practice stance, periodic training emotes
DELETE FROM `smart_scripts` WHERE `entryorguid`=193812 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`,`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_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(193812, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 5, 69, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - On Respawn - Set Emote State Ready Unarmed'),
(193812, 0, 1, 0, 1, 0, 100, 0, 45000, 120000, 45000, 120000, 0, 10, 36, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - OOC 45s-2min - Play Emote Attack 2H'),
(193812, 0, 2, 0, 1, 0, 50, 0, 180000, 600000, 180000, 600000, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - OOC 3-10min 50% - Say Line 0'),
(193812, 0, 3, 0, 22, 0, 100, 0, 78, 15000, 15000, 0, 0, 10, 66, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - On Receive Salute - Play Emote Salute');
-- ============================================================
-- 3. CREATURE_TEXT — ambient dialogue
-- ============================================================
-- Type: 0=SAY, 2=TEXT_EMOTE, 6=EMOTE (yellow italic)
-- Harbor Guard (29712)
DELETE FROM `creature_text` WHERE `CreatureID`=29712;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(29712, 0, 0, 'Citizen.', 0, 0, 100, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - Salute response'),
(29712, 1, 0, 'All clear.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - Periodic 1'),
(29712, 1, 1, 'Stay vigilant.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - Periodic 2'),
(29712, 1, 2, 'Keep your eyes on the water.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - Periodic 3'),
(29712, 1, 3, 'Nothing to report.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Stormwind Harbor Guard - Periodic 4');
-- Dock Worker (29152)
DELETE FROM `creature_text` WHERE `CreatureID`=29152;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(29152, 0, 0, 'These crates aren''t going to move themselves.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - Periodic 1'),
(29152, 0, 1, 'Another shipment from Kul Tiras.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - Periodic 2'),
(29152, 0, 2, 'Watch your step on the docks.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - Periodic 3'),
(29152, 0, 3, 'The harbor master wants this done by sundown.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - Periodic 4'),
(29152, 0, 4, 'Heavy load today...', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Dock Worker - Periodic 5');
-- Interested Citizen (251797)
DELETE FROM `creature_text` WHERE `CreatureID`=251797;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(251797, 0, 0, 'Did you hear the latest news from the keep?', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Interested Citizen - Periodic 1'),
(251797, 0, 1, 'Times are changing around here.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Interested Citizen - Periodic 2'),
(251797, 0, 2, 'I heard adventurers have been pouring in from all over.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Interested Citizen - Periodic 3'),
(251797, 0, 3, 'Have you seen those dragon folk? Remarkable!', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Interested Citizen - Periodic 4'),
(251797, 0, 4, 'The trade district has been busier than ever.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Interested Citizen - Periodic 5');
-- Suspicious Citizen (246154)
DELETE FROM `creature_text` WHERE `CreatureID`=246154;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(246154, 0, 0, 'Mind your own business.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 1'),
(246154, 0, 1, 'I''m just... passing through.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 2'),
(246154, 0, 2, 'Don''t look at me like that.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 3'),
(246154, 0, 3, 'Nothing to see here. Move along.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 4');
-- Suspicious Citizen (246155)
DELETE FROM `creature_text` WHERE `CreatureID`=246155;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(246155, 0, 0, 'Keep walking, friend.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 1'),
(246155, 0, 1, 'You didn''t see anything.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 2'),
(246155, 0, 2, 'I have my reasons for being here.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 3'),
(246155, 0, 3, 'The guards ask too many questions...', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Suspicious Citizen - Periodic 4');
-- Fisherman (42421)
DELETE FROM `creature_text` WHERE `CreatureID`=42421;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(42421, 0, 0, 'I think I got a bite!', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Fisherman - Periodic 1'),
(42421, 0, 1, 'Nothing biting today...', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Fisherman - Periodic 2'),
(42421, 0, 2, 'The fish aren''t what they used to be.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Fisherman - Periodic 3'),
(42421, 0, 3, 'Patience... patience...', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Fisherman - Periodic 4'),
(42421, 0, 4, 'Should''ve brought more bait.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Fisherman - Periodic 5');
-- Salty Deckhand (194437)
DELETE FROM `creature_text` WHERE `CreatureID`=194437;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(194437, 0, 0, 'Heave ho!', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Salty Deckhand - Periodic 1'),
(194437, 0, 1, 'Mind the rigging!', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Salty Deckhand - Periodic 2'),
(194437, 0, 2, 'She''s a fine vessel, she is.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Salty Deckhand - Periodic 3'),
(194437, 0, 3, 'The sea calls to me...', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Salty Deckhand - Periodic 4'),
(194437, 0, 4, 'Stow that cargo below deck!', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Salty Deckhand - Periodic 5');
-- Wounded Refugee (141504)
DELETE FROM `creature_text` WHERE `CreatureID`=141504;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(141504, 0, 0, 'The pain... it won''t stop.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Wounded Refugee - Periodic 1'),
(141504, 0, 1, 'I just want to go home.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Wounded Refugee - Periodic 2'),
(141504, 0, 2, 'We lost everything...', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Wounded Refugee - Periodic 3'),
(141504, 0, 3, 'Is anyone coming to help us?', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Wounded Refugee - Periodic 4');
-- Curious Dracthyr (198461)
DELETE FROM `creature_text` WHERE `CreatureID`=198461;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(198461, 0, 0, 'Remarkable architecture!', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - Periodic 1'),
(198461, 0, 1, 'How do they build so tall without wings?', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - Periodic 2'),
(198461, 0, 2, 'So many different races all in one place...', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - Periodic 3'),
(198461, 0, 3, 'I must document this for the Weyrn.', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - Periodic 4'),
(198461, 0, 4, 'The energy of this city is invigorating!', 0, 0, 20, 0, 0, 0, 0, 0, 0, 'Curious Dracthyr - Periodic 5');
-- Expedition Trainee (193812)
DELETE FROM `creature_text` WHERE `CreatureID`=193812;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`SoundPlayType`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
(193812, 0, 0, 'One more set!', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - Periodic 1'),
(193812, 0, 1, 'I''ll be ready for whatever''s out there.', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - Periodic 2'),
(193812, 0, 2, 'Hah! Take that!', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - Periodic 3'),
(193812, 0, 3, 'Focus... breathe... strike!', 0, 0, 25, 0, 0, 0, 0, 0, 0, 'Expedition Trainee - Periodic 4');
UPDATE `creature_template` SET `AIName`='', `ScriptName`='npc_deathguard_saltain' WHERE `entry`=1740;
DELETE FROM `smart_scripts` WHERE `entryorguid`=1740;
@@ -32576,4 +32576,22 @@ void Player::AddMoveImpulse(Position direction)
impulse.Direction = direction;
SendMessageToSet(impulse.Write(), true);
}
bool Player::HasQuest(uint32 questID) const
{
if (questID == 0)
return false;
try
{
for (uint8 itr = 0; itr < MAX_QUEST_LOG_SIZE; ++itr)
if (GetQuestSlotQuestId(itr) == questID)
return true;
}
catch (...)
{
}
return false;
}
//WowCommunity
+3
View File
@@ -3423,6 +3423,9 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player>
void CancelPendingCastRequest();
bool CanRequestSpellCast(SpellInfo const* spell, Unit const* castingUnit) const;
//WowCommunity
bool HasQuest(uint32 questID) const;
//WowCommunity
private:
std::unique_ptr<SpellCastRequest> _pendingSpellCastRequest;
void ExecutePendingSpellCastRequest();
+14
View File
@@ -449,6 +449,14 @@ public:
// Called when a CreatureAI object is needed for the creature.
virtual CreatureAI* GetAI(Creature* creature) const = 0;
//WowCommunity
// Called when a player completes a quest and is rewarded, opt is the selected item's index or 0
virtual bool OnQuestReward(Player* /*player*/, Creature* /*creature*/, Quest const* /*quest*/, uint32 /*opt*/) { return false; }
// Called when a player accepts a quest from the creature.
virtual bool OnQuestAccept(Player* /*player*/, Creature* /*creature*/, Quest const* /*quest*/) { return false; }
//WowCommunity
};
class TC_GAME_API GameObjectScript : public ScriptObject
@@ -1342,6 +1350,12 @@ private:
ScriptLoaderCallbackType _script_loader_callback;
std::string _currentContext;
//Wowcommunity
public:
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest);
bool OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 opt);
//Wowcommunity
};
namespace Trinity::SpellScripts
@@ -18,6 +18,34 @@
#include "ScriptMgr.h"
#include "Player.h"
#include "PlayerChoice.h"
#include "AreaTrigger.h"
#include "AreaTriggerAI.h"
#include "CellImpl.h"
#include "CombatAI.h"
#include "Containers.h"
#include "Conversation.h"
#include "ConversationAI.h"
#include "CreatureAIImpl.h"
#include "EventProcessor.h"
#include "GridNotifiersImpl.h"
#include "MapUtils.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
#include "PathGenerator.h"
#include "PassiveAI.h"
#include "PhasingHandler.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "SpellAuras.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "Log.h"
#define QUEST_THE_SHADOW_GRAVE 28608
#define QUEST_BEYOND_THE_GRAVE 25089
#define NPC_DARNEL 49141
#define NPC_DARNEL_2 49337
enum ALegendYouCanHoldPriest
{
@@ -63,47 +91,241 @@ public:
}
};
// npc_scarlet_corpse_49340
class npc_scarlet_corpse_49340 : public CreatureScript
// npc_deathguard_saltain
class npc_deathguard_saltain : public CreatureScript
{
public:
npc_scarlet_corpse_49340() : CreatureScript("npc_scarlet_corpse_49340") {}
npc_deathguard_saltain() : CreatureScript("npc_deathguard_saltain") {}
struct npc_scarlet_corpse_49340AI : public ScriptedAI
struct npc_deathguard_saltainAI : public ScriptedAI
{
npc_scarlet_corpse_49340AI(Creature* creature) : ScriptedAI(creature)
{
me->SetReactState(REACT_PASSIVE);
}
void SpellHit(WorldObject* caster, SpellInfo const* /*spellInfo*/) override
{
if (Player* player = caster->ToPlayer())
if (player->GetQuestStatus(26800) == QUEST_STATUS_INCOMPLETE)
if (Creature* darnell = GetDarnell(player))
{
darnell->AI()->SetGUID(me->GetGUID(), me->GetEntry());
darnell->AI()->DoAction(1);
}
}
Creature* GetDarnell(Player* player)
{
for (Unit::ControlList::const_iterator itr = player->m_Controlled.begin(); itr != player->m_Controlled.end(); ++itr)
if ((*itr)->GetEntry() == 49337)
return (*itr)->ToCreature();
return nullptr;
}
npc_deathguard_saltainAI(Creature* creature) : ScriptedAI(creature) {}
};
CreatureAI* GetAI(Creature* creature) const override
{
return new npc_scarlet_corpse_49340AI(creature);
return new npc_deathguard_saltainAI(creature);
}
bool OnQuestAccept(Player* player, Creature* /*creature*/, Quest const* quest) override
{
if (quest->GetQuestId() == 26800)
{
if (player && !player->IsInWorld())
return true;
player->CastSpell(player, 91938, true);
}
return true;
}
bool OnQuestReward(Player* player, Creature* /*creature*/, Quest const* quest, uint32 /*opt*/) override
{
if (quest->GetQuestId() == 26800)
{
if (Creature* darnell = GetDarnell(player))
{
if (Vehicle* kit = darnell->GetVehicleKit())
kit->RemoveAllPassengers();
darnell->DespawnOrUnsummon(1000ms);
}
}
return true;
}
};
static Creature* GetDarnell(Player* player)
{
if (!player)
return nullptr;
for (Unit::ControlList::const_iterator itr = player->m_Controlled.begin(); itr != player->m_Controlled.end(); ++itr)
{
if (*itr && (*itr)->GetEntry() == NPC_DARNEL_2)
return (*itr)->ToCreature();
}
return nullptr;
}
// 49337 - Darnell for quest 25089 and 26800
struct npc_darnell_deathknell_corpse : public VehicleAI
{
npc_darnell_deathknell_corpse(Creature* c) : VehicleAI(c)
{
isWaitingForTurnIn = false;
eventTriggered = false;
m_seat = 0;
m_scarletGUID.Clear();
}
ObjectGuid playerGUID;
ObjectGuid m_scarletGUID;
uint8 m_seat;
bool isWaitingForTurnIn;
bool eventTriggered;
void Reset() override
{
isWaitingForTurnIn = false;
eventTriggered = false;
m_seat = 0;
m_scarletGUID.Clear();
me->SetReactState(REACT_PASSIVE);
}
void IsSummonedBy(WorldObject* summoner) override
{
if (!summoner)
return;
Player* player = nullptr;
if (summoner->IsPlayer())
player = summoner->ToPlayer();
else
{
Unit* owner = me->GetCharmerOrOwner();
if (owner && owner->IsPlayer())
player = owner->ToPlayer();
}
if (!player)
{
me->DespawnOrUnsummon(100ms);
return;
}
playerGUID = player->GetGUID();
bool hasQuest26800 = player->HasQuest(26800);
bool hasQuest25089 = player->HasQuest(25089);
if (hasQuest26800 || hasQuest25089)
{
Talk(0);
}
else
{
me->DespawnOrUnsummon(100ms);
}
}
void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) override
{
if (!apply)
{
if (Creature* scarlet = passenger->ToCreature())
{
scarlet->SetDisableGravity(false);
scarlet->DespawnOrUnsummon(500ms);
}
}
}
void SetGUID(ObjectGuid const& guid, int32 id) override
{
if (id == 49340)
m_scarletGUID = guid;
}
void DoAction(int32 param) override
{
if (param == 1)
{
if (Creature* scarlet = ObjectAccessor::GetCreature(*me, m_scarletGUID))
{
me->CastSpell(scarlet, 91945, true);
scarlet->AddAura(46598, scarlet);
scarlet->SetDisableGravity(true);
scarlet->EnterVehicle(me, m_seat);
m_seat++;
me->CastSpell(scarlet, 91935, true);
me->CastSpell(scarlet, 193710, true);
}
}
}
void UpdateAI(uint32 diff) override
{
VehicleAI::UpdateAI(diff);
Player* player = ObjectAccessor::GetPlayer(*me, playerGUID);
if (!player)
return;
if (isWaitingForTurnIn)
{
QuestStatus status26800 = player->GetQuestStatus(26800);
QuestStatus status25089 = player->GetQuestStatus(QUEST_BEYOND_THE_GRAVE);
if (status26800 != QUEST_STATUS_INCOMPLETE && status25089 != QUEST_STATUS_INCOMPLETE && status25089 != QUEST_STATUS_FAILED && status26800 != QUEST_STATUS_FAILED)
{
me->DespawnOrUnsummon();
}
return;
}
if (!eventTriggered)
{
if (player->IsWithinDist3d(1816.332f, 1589.852f, 96.523f, 3.0f))
{
if (player->GetQuestStatus(QUEST_BEYOND_THE_GRAVE) == QUEST_STATUS_COMPLETE)
{
eventTriggered = true;
isWaitingForTurnIn = true;
Talk(2);
me->StopMoving();
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
me->GetMotionMaster()->MovePoint(1, 1864.78f, 1604.89f, 94.606f);
}
}
}
}
void MovementInform(uint32 moveType, uint32 pointId) override
{
if (moveType != POINT_MOTION_TYPE)
return;
if (pointId == 1)
{
Talk(3);
me->StopMoving();
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
}
}
};
// npc_scarlet_corpse_49340
struct npc_scarlet_corpse : public ScriptedAI
{
npc_scarlet_corpse(Creature* c) : ScriptedAI(c) {}
void SpellHit(WorldObject* caster, SpellInfo const* /*spell*/) override
{
if (Player* player = caster->ToPlayer())
{
if (player->GetQuestStatus(26800) == QUEST_STATUS_INCOMPLETE)
{
if (Creature* darnell = GetDarnell(player))
{
darnell->AI()->SetGUID(me->GetGUID(), me->GetEntry());
darnell->CastSpell(darnell, 91935, true);
darnell->AI()->DoAction(1);
}
}
}
}
};
void AddSC_tirisfal_glades()
{
// Playerchoice
@@ -113,5 +335,7 @@ void AddSC_tirisfal_glades()
new quest_a_legend_you_can_hold();
//Npc
new npc_scarlet_corpse_49340();
new npc_deathguard_saltain();
RegisterCreatureAI(npc_darnell_deathknell_corpse);
RegisterCreatureAI(npc_scarlet_corpse);
}