[Complete] Quest 11344 "Anguish of Nifflevar"

[CODE]-- Quest 11344 “Anguish of Nifflevar”
– Spawn King Ymiron & Ancient Citizens of Nifflevar (24322,24323)
SET @GUID := XXXXXX; – 53 required
DELETE FROM creature WHERE id IN (24321,24322,24323);
INSERT INTO creature (guid,id,map,spawnMask,phaseMask,modelid,equipment_id,position_x,position_y,position_z,orientation,spawntimesecs,spawndist,currentwaypoint,curhealth,curmana,DeathState,MovementType,npcflag,unit_flags,dynamicflags) VALUES
(@GUID,24321,571,1,2,0,0,913.322571,-5580.623535,201.560135,1.169371,300,0,0,1,0,0,0,0,0,0),
(@GUID+1,24322,571,1,2,0,0,911.649536,-5561.338867,193.473511,4.799655,300,0,0,1,0,0,0,0,0,0),
(@GUID+2,24322,571,1,2,0,0,907.117493,-5537.400879,192.382034,4.869469,300,0,0,1,0,0,0,0,0,0),
(@GUID+3,24322,571,1,2,0,0,918.257690,-5544.248535,189.321060,4.572762,300,0,0,1,0,0,0,0,0,0),
(@GUID+4,24322,571,1,2,0,0,914.562317,-5522.900391,194.128143,4.677482,300,0,0,1,0,0,0,0,0,0),
(@GUID+5,24322,571,1,2,0,0,918.760193,-5563.743652,190.615295,4.398230,300,0,0,1,0,0,0,0,0,0),
(@GUID+6,24322,571,1,2,0,0,907.657227,-5558.532715,194.031952,4.974188,300,0,0,1,0,0,0,0,0,0),
(@GUID+7,24322,571,1,2,0,0,919.950439,-5557.877441,190.155640,4.433136,300,0,0,1,0,0,0,0,0,0),
(@GUID+8,24322,571,1,2,0,0,901.456604,-5555.405762,194.423370,5.148721,300,0,0,1,0,0,0,0,0,0),
(@GUID+9,24322,571,1,2,0,0,917.626770,-5553.712402,190.210724,4.555309,300,0,0,1,0,0,0,0,0,0),
(@GUID+10,24322,571,1,2,0,0,917.515747,-5529.253418,192.039810,4.625123,300,0,0,1,0,0,0,0,0,0),
(@GUID+11,24322,571,1,2,0,0,929.798828,-5579.141113,184.931671,3.263766,300,0,0,1,0,0,0,0,0,0),
(@GUID+12,24322,571,1,2,0,0,925.442383,-5571.049316,187.266571,3.839724,300,0,0,1,0,0,0,0,0,0),
(@GUID+13,24322,571,1,2,0,0,922.322693,-5531.354492,189.792633,4.520403,300,0,0,1,0,0,0,0,0,0),
(@GUID+14,24322,571,1,2,0,0,914.473938,-5533.336426,192.314362,4.677482,300,0,0,1,0,0,0,0,0,0),
(@GUID+15,24322,571,1,2,0,0,898.829895,-5539.486816,193.249542,5.061455,300,0,0,1,0,0,0,0,0,0),
(@GUID+16,24322,571,1,2,0,0,934.146912,-5528.458496,187.373657,4.328416,300,0,0,1,0,0,0,0,0,0),
(@GUID+17,24322,571,1,2,0,0,951.450745,-5546.908691,185.516861,3.857178,300,0,0,1,0,0,0,0,0,0),
(@GUID+18,24322,571,1,2,0,0,937.627197,-5573.079590,186.163086,3.455752,300,0,0,1,0,0,0,0,0,0),
(@GUID+19,24322,571,1,2,0,0,951.077820,-5562.566895,184.759872,3.595378,300,0,0,1,0,0,0,0,0,0),
(@GUID+20,24322,571,1,2,0,0,933.675659,-5544.941895,186.067123,4.188790,300,0,0,1,0,0,0,0,0,0),
(@GUID+21,24322,571,1,2,0,0,937.109619,-5553.085938,185.877472,3.996804,300,0,0,1,0,0,0,0,0,0),
(@GUID+22,24322,571,1,2,0,0,949.577271,-5571.852539,185.366730,3.385939,300,0,0,1,0,0,0,0,0,0),
(@GUID+23,24322,571,1,2,0,0,936.470398,-5562.455566,186.809601,3.822271,300,0,0,1,0,0,0,0,0,0),
(@GUID+24,24322,571,1,2,0,0,938.413879,-5547.399902,185.824203,4.066617,300,0,0,1,0,0,0,0,0,0),
(@GUID+25,24322,571,1,2,0,0,955.932312,-5541.443848,185.481186,3.892084,300,0,0,1,0,0,0,0,0,0),
(@GUID+26,24322,571,1,2,0,0,943.289490,-5552.288086,185.451431,3.909538,300,0,0,1,0,0,0,0,0,0),
(@GUID+27,24322,571,1,2,0,0,945.767151,-5536.810547,187.226501,4.066617,300,0,0,1,0,0,0,0,0,0),
(@GUID+28,24322,571,1,2,0,0,936.005432,-5533.506348,187.474640,4.258604,300,0,0,1,0,0,0,0,0,0),
(@GUID+29,24322,571,1,2,0,0,940.907532,-5562.951660,186.208282,3.717551,300,0,0,1,0,0,0,0,0,0),
(@GUID+30,24323,571,1,2,0,0,913.934875,-5540.195801,190.576599,4.694936,300,0,0,1,0,0,0,0,0,0),
(@GUID+31,24323,571,1,2,0,0,911.285278,-5528.675293,193.913025,4.764749,300,0,0,1,0,0,0,0,0,0),
(@GUID+32,24323,571,1,2,0,0,908.860596,-5550.749512,192.935822,4.869469,300,0,0,1,0,0,0,0,0,0),
(@GUID+33,24323,571,1,2,0,0,926.252625,-5554.952637,188.244858,4.241150,300,0,0,1,0,0,0,0,0,0),
(@GUID+34,24323,571,1,2,0,0,927.767273,-5549.813477,187.309235,4.276057,300,0,0,1,0,0,0,0,0,0),
(@GUID+35,24323,571,1,2,0,0,924.092590,-5543.457520,187.883835,4.433136,300,0,0,1,0,0,0,0,0,0),
(@GUID+36,24323,571,1,2,0,0,926.421143,-5563.162598,188.220581,4.084070,300,0,0,1,0,0,0,0,0,0),
(@GUID+37,24323,571,1,2,0,0,931.465698,-5537.858887,187.133362,4.310963,300,0,0,1,0,0,0,0,0,0),
(@GUID+38,24323,571,1,2,0,0,903.491638,-5545.229004,192.859741,4.991642,300,0,0,1,0,0,0,0,0,0),
(@GUID+39,24323,571,1,2,0,0,914.416138,-5547.484375,190.819977,4.677482,300,0,0,1,0,0,0,0,0,0),
(@GUID+40,24323,571,1,2,0,0,932.521729,-5568.607910,187.107620,3.717551,300,0,0,1,0,0,0,0,0,0),
(@GUID+41,24323,571,1,2,0,0,932.666260,-5559.350098,187.348434,3.979351,300,0,0,1,0,0,0,0,0,0),
(@GUID+42,24323,571,1,2,0,0,913.796448,-5555.000488,192.018814,4.694936,300,0,0,1,0,0,0,0,0,0),
(@GUID+43,24323,571,1,2,0,0,932.566406,-5549.750977,186.291962,4.153883,300,0,0,1,0,0,0,0,0,0),
(@GUID+44,24323,571,1,2,0,0,921.767151,-5549.706543,188.552811,4.450590,300,0,0,1,0,0,0,0,0,0),
(@GUID+45,24323,571,1,2,0,0,910.815247,-5543.295410,191.321259,4.782202,300,0,0,1,0,0,0,0,0,0),
(@GUID+46,24323,571,1,2,0,0,927.373047,-5532.523926,188.151520,4.415683,300,0,0,1,0,0,0,0,0,0),
(@GUID+47,24323,571,1,2,0,0,945.812073,-5543.786621,186.478867,3.996804,300,0,0,1,0,0,0,0,0,0),
(@GUID+48,24323,571,1,2,0,0,941.300110,-5580.629395,186.328186,3.159046,300,0,0,1,0,0,0,0,0,0),
(@GUID+49,24323,571,1,2,0,0,944.829895,-5566.057617,185.812531,3.577925,300,0,0,1,0,0,0,0,0,0),
(@GUID+50,24323,571,1,2,0,0,950.293091,-5554.961914,184.850952,3.752458,300,0,0,1,0,0,0,0,0,0),
(@GUID+51,24323,571,1,2,0,0,940.116882,-5538.732910,187.230682,4.136430,300,0,0,1,0,0,0,0,0,0),
(@GUID+52,24323,571,1,2,0,0,944.395813,-5558.648438,185.427444,3.752458,300,0,0,1,0,0,0,0,0,0);

– SAI for King Ymiron & Ancient Citizen of Nifflevar (24322,24323)
UPDATE creature_template SET unit_flags=unit_flags|768,AIName= ‘SmartAI’ WHERE entry IN (24321,24322,24323);
DELETE FROM smart_scripts WHERE source_type=0 AND entryorguid IN (24321,24322,24323);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (2432100);
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
(24321,0,0,0,1,0,100,0,15000,15000,120000,120000,80,2432100,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘King Ymiron - Run script every 2 min’),
(24321,0,1,0,11,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘King Ymiron - Set React State civilian’),
(2432100,9,0,0,0,0,100,0,1000,1000,0,0,1,0,0,0,0,0,0,10,@GUID+34,24323,0,0,0,0,0, ‘Ancient Citizen of Nifflevar Say text 0’),
(2432100,9,1,0,0,0,100,0,8000,8000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 0’),
(2432100,9,2,0,0,0,100,0,1000,1000,0,0,1,0,0,0,0,0,0,10,@GUID+8,24322,0,0,0,0,0, ‘Ancient Citizen of Nifflevar Say text 0’),
(2432100,9,3,0,0,0,100,0,4000,4000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 1’),
(2432100,9,4,0,0,0,100,0,5000,5000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 2’),
(2432100,9,5,0,0,0,100,0,5000,5000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 3’),
(2432100,9,6,0,0,0,100,0,5000,5000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 4’),
(2432100,9,7,0,0,0,100,0,4000,4000,0,0,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘emote say’),
(2432100,9,8,0,0,0,100,0,4000,4000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 5’),
(2432100,9,9,0,0,0,100,0,4000,4000,0,0,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘emote say’),
(2432100,9,10,0,0,0,100,0,4000,4000,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 6’),
(2432100,9,11,0,0,0,100,0,4000,4000,0,0,5,6,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘emote question’),
(2432100,9,12,0,0,0,100,0,4000,4000,0,0,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 7’),
(2432100,9,13,0,0,0,100,0,3000,3000,0,0,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 8’),
(2432100,9,14,0,0,0,100,0,2000,2000,0,0,1,9,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 9’),
(2432100,9,15,0,0,0,100,0,3000,3000,0,0,5,53,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘emote battleroar’),
(2432100,9,16,0,0,0,100,0,9000,9000,0,0,1,10,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Say text 10’),
(2432100,9,17,0,0,0,100,0,3000,3000,0,0,5,53,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘emote battleroar’),
(2432100,9,18,0,0,0,100,0,5000,5000,0,0,1,1,0,0,0,0,0,10,@GUID+26,24322,0,0,0,0,0, ‘Ancient Citizen of Nifflevar Say text 1’),
(2432100,9,19,0,0,0,100,0,0,0,0,0,11,43468,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘Cast Secrets of Nifflevar’),
(2432100,9,20,0,0,0,100,0,4000,4000,0,0,1,2,0,0,0,0,0,10,@GUID+5,24322,0,0,0,0,0, ‘Ancient Citizen of Nifflevar Say text 2’),
(2432100,9,21,0,0,0,100,0,2000,2000,0,0,1,1,0,0,0,0,0,10,@GUID+41,24323,0,0,0,0,0, ‘Ancient Citizen of Nifflevar Say text 1’),
(24322,0,0,0,11,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Ancient Citizen of Nifflevar (24322) - Set React State civilian’),
(24322,0,1,0,1,0,100,0,1000,10000,8000,10000,10,4,53,113,397,0,0,1,0,0,0,0,0,0,0, ‘Ancient Citizen of Nifflevar (24322) - Play random emote’),
(24323,0,0,0,11,0,100,0,0,0,0,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Ancient Citizen of Nifflevar (24323) - Set React State civilian’),
(24323,0,1,0,1,0,100,0,1000,10000,8000,10000,10,4,53,113,397,0,0,1,0,0,0,0,0,0,0, ‘Ancient Citizen of Nifflevar (24323) - Play random emote’);

– Spell Condition for 43468
DELETE FROM conditions WHERE SourceTypeOrReferenceId=13 AND SourceEntry IN (43468);
INSERT INTO conditions (SourceTypeOrReferenceId,SourceGroup,SourceEntry,ElseGroup,ConditionTypeOrReference,ConditionValue1,ConditionValue2,ConditionValue3,ErrorTextId,ScriptName,Comment) VALUES
(13,0,43468,0,18,1,0,0,0, ‘’, ‘Spell 43468 target player’);

– NPC talk text insert from sniff for King Ymiron & Ancient Citizens of Nifflevar
DELETE FROM creature_text WHERE entry IN (24321,24322,24323);
INSERT INTO creature_text (entry,groupid,id,text,type,language,probability,emote,duration,sound,comment) VALUES
(24321,0,0,‘%s motions for silence.’,2,0,100,397,0,0, ‘King Ymiron emote’),
(24321,1,0,‘Vrykul, your king implores you to listen!’,1,0,100,22,0,0, ‘King Ymiron yell’),
(24321,2,0,‘The crowd gasps in horror.’,2,0,100,53,0,0, ‘King Ymiron emote’),
(24321,3,0,‘Even now, in our darkest hour, they mock us!’,1,0,100,22,0,0, ‘King Ymiron yell’),
(24321,4,0,‘Where are the titans in our time of greatest need? Our women birth abberations - disfigured runts unable to even stand on their own! Weak and ugly… Useless…’,1,0,100,22,0,0, ‘King Ymiron yell’),
(24321,5,0,‘Ymiron has toiled. Long have I sat upon my throne and thought hard of our plight. There is only one answer… one reason…’,1,0,100,22,0,0, ‘King Ymiron yell’),
(24321,6,0,‘For who but the titans themselves could bestow such a curse? What could have such power?’,1,0,100,1,0,0, ‘King Ymiron yell’),
(24321,7,0,‘And the answer is nothing… For it is the titans that have cursed us!’,1,0,100,53,0,0, ‘King Ymiron yell’),
(24321,8,0,‘The crowd cheers.’,2,0,100,0,0,0, ‘King Ymiron’),
(24321,9,0,‘On this day all Vrykul will shed their old beliefs! We denounce our old gods! All Vrykul will pledge their allegiance to Ymiron! Ymiron will protect our noble race!’,1,0,100,53,0,0, ‘King Ymiron yell’),
(24321,10,0,‘And now my first decree upon the Vrykul! All malformed infants born of Vrykul mother and father are to be destroyed upon birth! Our blood must remain pure always! Those found in violation of Ymiron’‘s decree will be taken to Gjalerbron for execution!’,1,0,100,1,0,0, ‘King Ymiron yell’),
(24322,0,0,‘Silence!’,1,0,100,1,0,0, ‘Ancient Citizen of Nifflevar yell’),
(24322,1,0,‘Show them mercy, my king! They are of our flesh and blood!’,1,0,100,53,0,0, ‘Ancient Citizen of Nifflevar yell’),
(24322,2,0,‘All hail our glorious king, Ymiron!’,1,0,100,53,0,0, ‘Ancient Citizen of Nifflevar yell’),
(24323,0,0,‘Show the abberations no mercy, Ymiron!’,1,0,100,1,0,0, ‘Ancient Citizen of Nifflevar yell’),
(24323,1,0,‘They weaken us! Our strength is dilluted by their very existence! Destroy them all!’,1,0,100,113,0,0, ‘Ancient Citizen of Nifflevar yell’);[/sql]
[/CODE]

Note: guid 300000 is being used by me for testing.

All Spawns now added.

Quest credit and all text now working. I just need to add in some emotes to the Ancient Citizens of Nifflevar.

SAI for random emote doesn’t seem to be working. Until I can get someone to look at it I can adjust the Ancient Citizens of Nifflevar to emote at a proper rate.

Aside from adjusting that everything else is complete and working.

In random_emote action:

if (e.action.randomEmote.emote1 && !IsEmoteValid(e, e.action.randomEmote.emote1)) return false;

The problem is that IsEmoteValid searches in EmoteText.dbc and not in Emote.dbc

While this is correct for SMART_EVENT_RECEIVE_EMOTE it’s not righ for SMART_ACTION_PLAY_EMOTE or SMART_ACTION_RANDOM_EMOTE

Brian fixed this issue so I will recompile tonight and tweak.

Complete.

On tracker.