[Wip]: Revenge For The Vargul

I’ve been working on this quest http://www.wowhead.com/quest=13059, here after 2 minute you can see a video, the only 1 I found on the net.

The problems were fixed, need a bit more time to clean up and adjust timings.

SET @Thane_Illskar := 30475;
SET @Volgur := 30483;
SET @Brita := 30484;
SET @ObjectiveCredit := 61779; – spell, note there are 2 credits
SET @Arbiter := 30501; – Val"kyr Arbiter
SET @TheDamned := 30523; – Thane Illskar the Damned
SET @Script := 30475000;
SET @Script1 := 30475001;
SET @Script2 := 30501000;
SET @Summon := 55064; – this get displayed correctly each time after an active core use it once /first time he start above ground and do all, all rest emerge from groun - core issue with loading addon data/.
SET @Judge := 55063; – Arbiter - Judge the fallen vrykul, ascending them to Ymirjar or reducing them to vargul.
SET @Challenge := 36851;
SET @Teleport := 34427;
SET @Sword := 192558;
– SAI Thane Illskar
UPDATE creature_template SET unit_flags=33028,AIName= ‘SmartAI’ WHERE entry=@Thane_Illskar;
DELETE FROM smart_scripts WHERE source_type=0 AND entryorguid=@Thane_Illskar;
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@Script,@Script1);
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
(@Thane_Illskar,0,0,1,8,0,100,0,@Challenge,0,0,0,85,@ObjectiveCredit,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Thane - On spell hit by Sword Challenge - Invoker spell cast on self objectivecomplete credit’),
(@Thane_Illskar,0,1,0,61,0,100,0,0,0,0,0,80,@Script,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Thane - Linked with event 0 - Start script 00’),
(@Thane_Illskar,0,2,0,38,0,100,0,0,1,0,0,80,@Script1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Thane - On data set 0 1 - Start script 01’),
– Script 00
(@Script,9,0,0,0,0,100,0,500,500,0,0,1,0,2000,0,0,0,0,21,60,0,0,0,0,0,0, ‘Action 0 - Say text 0’),
(@Script,9,1,0,0,0,100,0,1500,1500,0,0,45,0,1,0,0,0,0,9,@Volgur,0,70,0,0,0,0, ‘Action 1 - Set data 0 1 to Volgur to trigger his SAI’),
– Script 01
(@Script1,9,0,0,0,0,100,0,500,500,0,0,1,1,2000,0,0,0,0,21,60,0,0,0,0,0,0, ‘Action 0 - Say text 1’),
(@Script1,9,1,0,0,0,100,0,1500,1500,0,0,45,0,1,0,0,0,0,9,@Brita,0,70,0,0,0,0, ‘Action 1 - Set data 0 1 to Brita to trigger her SAI’),
– Continues normal events
(@Thane_Illskar,0,3,4,38,0,100,0,0,2,0,0,12,@Arbiter,2,180000,0,0,0,8,0,0,0,7851.866699,3399.678955,670.993225,3.665521, ‘Thane - On Set data 0 2 - Summon Arbiter Val"kyr in air’),
(@Thane_Illskar,0,4,5,61,0,100,0,0,2,0,0,1,2,2000,0,0,0,0,21,50,0,0,0,0,0,0, ‘Thane - Linked with event 3 - Say text 2’),
(@Thane_Illskar,0,5,6,61,0,100,0,0,0,0,0,1,3,2000,0,0,0,0,21,50,0,0,0,0,0,0, ‘Thane - Linked with event 4 - Say text 3’),
(@Thane_Illskar,0,6,7,61,0,100,0,0,0,0,0,19,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Thane - Linked with event 5 - Remove unattackable flag’),
(@Thane_Illskar,0,7,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,30,0,0,0,0,0,0, ‘Thane - Linked with event 6 - Attack player’),
(@Thane_Illskar,0,8,0,0,0,100,0,2000,6000,8500,15800,11,51779,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Thane - IC - Cast spell Frostfire Bolt’),
(@Thane_Illskar,0,9,0,0,0,100,0,2100,8100,2000,9000,11,19816,0,0,0,0,0,0,0,0,0,0,0,0,0,‘Thane - IC - Cast spell Fire Ball’),
(@Thane_Illskar,0,10,0,0,0,100,0,4200,10200,1000,10200,11,17145,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Thane - IC - Blast Wave’),
(@Thane_Illskar,0,11,0,0,0,100,0,4300,10000,13000,16000,11,20754,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Thane - IC - Rain of Fire’),
(@Thane_Illskar,0,12,0,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,9,@Arbiter,0,70,0,0,0,0, ‘Thane - On death - Data set 0 1 on Val"kyr Arbiter’),
(@Thane_Illskar,0,13,14,38,0,100,0,0,3,0,0,11,@Summon,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘Action 0 - Cast Summon’),
(@Thane_Illskar,0,14,0,61,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘@Thane_Illskar - Linked with event 13 - Set unseen’),
(@Thane_Illskar,0,15,0,25,0,100,0,0,0,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘@Thane_Illskar - Data set 0 0’);
– SAI for Volgur
UPDATE creature_template SET AIName= ‘SmartAI’ WHERE entry=@Volgur;
DELETE FROM smart_scripts WHERE source_type=0 AND entryorguid=@Volgur;
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
(@Volgur,0,0,1,38,0,100,0,0,1,0,0,19,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Volgur - On data set 0 1 - Remove flag unattackable’),
(@Volgur,0,1,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0, ‘Volgur - Linked with event 0 - Attack player’),
(@Volgur,0,2,0,0,0,100,0,2000,10000,30000,31000,11,23262,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Volgur - IC - Cast spell Demoralize’),
(@Volgur,0,3,0,0,0,100,0,2100,6100,4000,8000,11,43410,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Volgur - IC - Cast spell Chop’),
(@Volgur,0,4,0,9,0,100,0,6,30,15000,20000,11,49758,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Volgur - On target in range more than 5 yards - Cast spell Charge’),
(@Volgur,0,5,0,0,0,100,0,6300,12000,10000,12000,11,49807,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Volgur - IC - Cast spell Whirlwind’),
(@Volgur,0,6,7,6,0,100,0,0,0,0,0,45,0,1,0,0,0,0,9,@Thane_Illskar,0,80,0,0,0,0, ‘Volgur - On death - Dataset 0 1 on Thane’),
(@Volgur,0,7,0,25,0,100,0,0,0,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Volgur - On Reset - Data set 0 0’);
– SAI for Brita
UPDATE creature_template SET AIName= ‘SmartAI’ WHERE entry=@Brita;
DELETE FROM smart_scripts WHERE source_type=0 AND entryorguid=@Brita;
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
(@Brita,0,0,1,38,0,100,0,0,1,0,0,19,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Brita - On data set 0 1 - Remove flag unattackable’),
(@Brita,0,1,0,61,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,50,0,0,0,0,0,0, ‘Brita - Linked with event 0 - Attack player’),
(@Brita,0,2,0,0,0,100,0,19500,19600,60000,60000,11,43414,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Brita - IC - Cast spell Frost trap’),
(@Brita,0,3,0,0,0,100,0,2100,6100,5000,10000,11,44286,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Brita - IC - Cast spell Wing Clip’),
(@Brita,0,4,0,0,0,100,0,20000,21000,20000,21000,11,60932,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Brita - Linked with event 2 - Cast spell Disengage /Leaps backwards/’),
(@Brita,0,5,6,0,0,100,0,2500,3000,2000,2250,11,60954,1,0,0,0,0,2,0,0,0,0,0,0,0,‘Brita - IC - Cast spell Aimed Shot /only out of melee range/’),
(@Brita,0,6,0,61,0,100,0,0,0,0,0,11,49712,0,0,0,0,0,2,0,0,0,0,0,0,0,‘Brita - Linked with event 5 - Cast spell Shoot /only out of melee range/’),
(@Brita,0,7,8,6,0,100,0,0,0,0,0,45,0,2,0,0,0,0,9,@Thane_Illskar,0,80,0,0,0,0, ‘Brita - On death - Dataset 0 2 on Thane’),
(@Brita,0,8,0,25,0,100,0,0,0,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Brita - On reset - Data set 0 0’);
– SAI for Arbiter
DELETE FROM creature_template_addon WHERE entry=@Arbiter;
INSERT INTO creature_template_addon (entry, path_id, mount, bytes1, bytes2, emote, auras)
VALUES (@Arbiter, 0, 0, 33554432, 1, 0, NULL);
UPDATE creature_template SET AIName= ‘SmartAI’ WHERE entry=@Arbiter;
DELETE FROM smart_scripts WHERE source_type=0 AND entryorguid=@Arbiter;
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid=@Script2;
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
(@Arbiter,0,0,0,54,0,100,0,0,0,0,0,11,@Teleport,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Arbiter - On spawn - Cast Ethereal Teleport on self’),
(@Arbiter,0,1,0,38,0,100,0,0,1,0,0,80,@Script2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Arbiter - On Data set 0 1 - Follow Thane Illskar’),
– Start script 00 (Script2)
(@Script2,9,0,0,0,0,100,0,0,0,0,0,69,1,0,0,0,0,0,0,0,0,0,7835.128906,3389.118408,655.098083,3.915739, ‘Action 0 - Move to pos (near Illskar body)’),
(@Script2,9,1,0,0,0,100,0,2250,2250,0,0,1,0,1000,0,0,0,0,1,0,0,0,0,0,0,0, ‘Action 1 - Say text 0’),
(@Script2,9,2,0,0,0,100,0,2250,2250,0,0,1,1,2000,0,0,0,0,1,0,0,0,0,0,0,0, ‘Action 2 - Say text 1’),
(@Script2,9,3,0,0,0,100,0,0,0,0,0,11,@Judge,0,0,0,0,0,10,121005,@Thane_Illskar,0,0,0,0,0, ‘Action 3 - Cast spell Arbiter Judgment /visual stuff/’),
(@Script2,9,4,0,0,0,100,0,5000,5000,0,0,45,0,3,0,0,0,0,10,121005,@Thane_Illskar,0,0,0,0,0, ‘Action 4 - Data set 0 3 on Thane’),
(@Script2,9,5,0,0,0,100,0,0,0,0,0,69,1,0,0,0,0,0,0,0,0,0,7851.866699,3399.678955,670.993225,3.665521, ‘Action 5 - Move to pos /starting one/’),
(@Script2,9,6,0,0,0,100,0,4000,4000,0,0,45,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Action 6 - Data set 0 0’),
(@Script2,9,7,0,0,0,100,0,0,0,0,0,78,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Action 7 - Reset’),
(@Script2,9,8,0,0,0,100,0,0,0,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Action 8 - Set unseen’),
(@Script2,9,9,0,0,0,100,0,0,0,0,0,41,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Action 9 - Despawn’);
– SAI for Thane Illskar the Damned and creature_template_addon data
DELETE FROM creature_template_addon WHERE entry=@TheDamned;
INSERT INTO creature_template_addon (entry, path_id, mount, bytes1, bytes2, emote, auras) VALUES
(@TheDamned, 0, 0, 9, 1, 0, NULL);
UPDATE creature_template SET unit_flags=33024,faction_A=1885,faction_H=1885,AIName= ‘SmartAI’ WHERE entry=@TheDamned;
DELETE FROM smart_scripts WHERE source_type=0 AND entryorguid=@TheDamned;
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
(@TheDamned,0,0,1,54,0,100,0,0,0,0,0,91,9,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Thane Illskar the Damned - On summon - Remove field byte that makes creature submurged under ground (to create emerge on surface effect)’),
(@TheDamned,0,1,2,61,0,100,0,0,0,0,0,1,0,1000,0,0,0,0,1,0,0,0,0,0,0,0, ‘Thane Illskar the Damned - Linked with event 1 - Say text 0’),
(@TheDamned,0,2,3,61,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,0.9, ‘Thane Illskar the Damned - Linked with event 2 - Set orientation to look towards Arbiter’),
(@TheDamned,0,3,0,61,0,100,0,0,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘Thane Illskar the Damned - Linked with event 3 - Set unit field bytes for creature kneel state’);
– Texts
DELETE FROM creature_text WHERE entry IN (@Thane_Illskar,@Arbiter,@TheDamned);
INSERT INTO creature_text (entry,groupid,id,text,type,language,probability,emote,duration,sound,comment) VALUES
(@Thane_Illskar,0,0,‘Bethod's Sword? Very well, $R, I accept your challenge. But first, you must best my champions. Volgur! Squash this insect!’,14,0,100,1,2000,0,‘Thane’),
(@Thane_Illskar,1,0,‘Brita, create a pincushion of this puny $C!’,14,0,100,1,2000,0,‘Thane’),
(@Thane_Illskar,2,0,‘You may have defeated my champions, $C. I am something else entirely.’,14,0,100,1,2000,0,‘Thane’),
(@Thane_Illskar,3,0,‘Pray to your gods for a quick death.’,14,0,100,1,2000,0,‘Thane’),
(@Arbiter,0,0,‘Thane Illskar, you were challenged to honorable combat and failed.’,14,0,100,1,2000,0,‘Arbiter’),
(@Arbiter,1,0,‘You have been found wanting and are judged accordingly. Now rise, Thane Illskar the Damned!’,14,0,100,1,2000,0,‘Arbiter’),
(@TheDamned,0,0,‘NOOOOOOOOOOOOOOOOOOOOOOOOOO!’,14,0,100,1,2000,0,‘Illskar the Damned’);
– Add conditions for Judge
DELETE FROM conditions WHERE SourceTypeOrReferenceId=13 AND SourceEntry=@Judge;
INSERT INTO conditions (SourceTypeOrReferenceId,SourceGroup,SourceEntry,SourceId,ElseGroup,ConditionTypeOrReference,ConditionTarget,ConditionValue1,ConditionValue2,ConditionValue3,NegativeCondition ,ErrorTextId,ScriptName,Comment) VALUES
(13,1,@Judge,0,0,31,0,3,@Thane_Illskar,0,0,0,‘’,‘Judge can target only Illskar’);
– Add conditions for Challenge - player can only cast it, if no sword is already on ground /per 3 minutes/
DELETE FROM conditions WHERE SourceTypeOrReferenceId=17 AND SourceEntry=@Challenge;
INSERT INTO conditions (SourceTypeOrReferenceId,SourceGroup,SourceEntry,SourceId,ElseGroup,ConditionTypeOrReference,ConditionTarget,ConditionValue1,ConditionValue2,ConditionValue3,NegativeCondition ,ErrorTextId,ScriptName,Comment) VALUES
(17,0,@Challenge,0,0,30,0,@Sword,30,0,1,0,‘’,‘Challenge can be used only, if no aura present from it’);

-- [Q]{A/H} Revenge for the Vargul /ID: 13059/
  1. Check this topic. I’m at work now and haven’t read into a lot of ChatHandler and how (if) it works on NPCs, but it is possible to prevent the execution of socials based on ID# so I would assume it’s possible to call them in a similar manner.

http://www.trinitycore.org/f/topic/5533-disable-kiss-sexy-dance-command

I see one problem here before that and it is where did you get the ID of these emotes? I couldn’t find the one for spit.

From where did you get the information that he should spit onto the ground? I neither saw it in the provided vid nor is there anything like that in my sniff of this quest…

Well, to be honnest in one of the comments in wowhead that is rated with green text :X…

By Blackboy0 (10,511 – 2·8·108) on 2008/12/14 (Patch 3.0.3) Report Thane Illskar yells: Bethod’s Sword? Very well, , I accept your challenge. But first, you must best my champions. Volgur! Squash this insect!

Volgur is spawned (tank & spank)

Thane Illskar yells: Brita, create a pincushion of this puny !

Brita is spawned (long-ranged bow)

Thane Illskar yells: You may have defeated my champions, . I am something else entirely.

Thane Illskar yells: Pray to your gods for a quick death.

Thane Illskar is engaged (mage)

Val’kyr Arbiter yells: Thane Illskar, you were challenged to honorable combat and failed.

Val’kyr Arbier yells: You have been found wanting and are judged accordingly. Now rise, Thane Illskar the Damned!

Thane Illskar the Damned yells: NOOOOOOOOOOOOOOOOOOOOOOOOOO!

Can you give out the sniff for the other things, will appreciate it a lot /especialy the Val’kyr part and his 2nd the Damned version/.

If you see no such thing in the sniffs I will auto ignore it, since 1 comment < than sniff and rest info of internet. The video has too poor quality to be 100% sure though, that is why I wasn’t sure.

Jayzee provided them in the thread I linked you in this post. I imagine their burried in a DBC or something someplace; maybe one of the enums. Haven’t looked a lot further into it honestly.

I fixed the spell part, so only the fly emote thing is remaining.

Well I checked the sniff:

The Arbiter applies http://old.wowhead.com/spell=34427 on spawn. But there is no emote or anything that makes the Arbiter flap its wings. Machiavelli pushed hoverheight and inhabitType for that creature recently https://github.com/TrinityCore/TrinityCore/commit/f18946a72e5f4d8075dcf631f63502f235e5c8b4. Did you apply that already? I think everything should be fine with that commit.

As for the summoning spell I found out that the Thane casts it on self when http://old.wowhead.com/spell=55063 fades from him. Perhaps you can try to set data for him by the Arbiter 5 seconds after the channeling spell is started. Then use spellcast with SMARTCAST_TRIGGERED for the Thane to make the dead creature cast it. http://old.wowhead.com/spell=55064 needs target coordinates Destination Position: X: 7830.014 Y: 3387.258 Z: 652.4928 (from sniff).

How can I time data set btw? I mean can linked events be timed, appart from action list. As for the rest helped a lot, only am wondering about that targeted position. In video the body always appear from the corpse. Or maybe the Thane cannot move to begin with, so the position is always the same. I’ll use on hit by self start timed actionlist for now.

P.S.: Yeah, all makes sense now, he doesn’t move and the arbiter flies down to a specified position already, than goes back to the starting one and dissapear.

It turns out that Machieveli update didn’t fix it compeltely, but I applied fly data in creature_template_addon and is ok now.

The script is completed, but I need to rewrite Arbiter in actionlist now, since follow and move pos invoker have some bugs when using it here. Thanks for the sniffs, you were great help as always.

Finaly killed all the bugs, adjusting and cleaning the script a bit.