TrinityCore icon indicating copy to clipboard operation
TrinityCore copied to clipboard

[Quest] The Fel and The Furious

Open lordofthedread opened this issue 13 years ago • 26 comments

The quest The Fel and The Furious (http://www.wowhead.com/quest=10612) in Shadowmoon Valley is bugged.

How it should work :

Use one of the fel reaver console near quest giver to gain control of a Fel Reaver and use it to destroy 60 infernals in the time allowed.

How it does work :

Using the console does nothing, you can "use" the elementals to destroy them but it gives no credit.

On rev : 7b5bdc2+ and TDB 11.47+

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

lordofthedread avatar Jun 12 '12 09:06 lordofthedread

Confirmed.

nelegalno avatar Sep 22 '12 14:09 nelegalno

The same problem on Q http://www.wowhead.com/quest=10613

Nevadas avatar Mar 05 '13 18:03 Nevadas

No work quest. ;s

AnTOLI avatar Mar 06 '13 02:03 AnTOLI

So i dont know it must be but i have some informations The gameobjects for the Alliance Version Quest id 10612 are spawned was the go ids: 185034, 185057, 185058 All of them have flags 4 and so are not useable. Is that right? Has anybody sniffs? For the Quest Horde Version 10613 the gameobjects are not spawned. He has the ids: 185059,185060, 185061 They have flags 0 so when they spawned they are useable. So i think first we need sniffed informations for the go's.

PS.: So i think when i see the link http://www.wowhead.com/spell=38002 and the other spells so we need spell things also!

Nevadas avatar Mar 06 '13 18:03 Nevadas

Deathforged Infernal destroyed for quest no credit.

AnTOLI avatar Mar 14 '13 11:03 AnTOLI

Still not working on hash b3bdcc6

nelegalno avatar Jun 30 '13 14:06 nelegalno

Confirmed. Hash: 55338ff Any progress?

novos avatar Jul 13 '13 09:07 novos

the npc that should be summoned: http://www.wowhead.com/npc=21949/fel-reaver-sentinel#abilities

Lumber-Jack-2 avatar Apr 18 '14 11:04 Lumber-Jack-2

There's no summoned npc, the player will just mind control one of http://www.wowhead.com/npc=21949 https://www.youtube.com/watch?v=iJNufLEQ_SM

Killyana avatar Apr 29 '15 16:04 Killyana

yeah similar to the other control-creature quest in shadowmoon valley, i forgot the name

but

the main problem will be to script the spells of the reavers, because the aoe spell should hit the gameobjects. and after each hit, the player should get a killcredit. i cannot remember any function which allows us to handle spellhits for gos

Lumber-Jack-2 avatar Apr 29 '15 20:04 Lumber-Jack-2

https://gist.github.com/Rushor/4aa4623de24a825c0792

despawnscript for the reaver after the mc fades away

this behaviour is blike

what we need now is a script for the spell http://de.wowhead.com/spell=38054/zufallige-rakete in order to reward the questcredits

Lumber-Jack-2 avatar Jun 18 '15 07:06 Lumber-Jack-2

There's already a credit spell: wowhead.com/spell=38022

When the gob is activated with wowhead.com/spell=38054 it will cast wowhead.com/spell=38020 on the fel-reaver-sentinel and on spellhit the fel-reaver-sentinel will cast wowhead.com/spell=38022 on the owner.

Killyana avatar Jun 18 '15 12:06 Killyana

This will allow the player to control the reaver:

UPDATE `creature_template` SET `spell1`=38488 WHERE `entry`=21949;

DELETE FROM `spell_scripts` WHERE `id` IN (38002, 38120, 38122, 38125, 38127, 38129);
INSERT INTO `spell_scripts` (`id`,`effindex`,`delay`,`command`,`datalong`,`datalong2`) VALUES
(38002,0,0,15,38003,2),
(38120,0,0,15,38121,2),
(38122,0,0,15,38123,2),
(38125,0,0,15,38126,2),
(38127,0,0,15,38128,2),
(38129,0,0,15,38130,2);

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (38003, 38121, 38123, 38126, 38128, 38130);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(13,1,38003,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38121,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38123,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38126,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38128,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38130,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller');

Killyana avatar Jun 18 '15 13:06 Killyana

Tried on Rev f8064a549d1b now and seems still broken anyway. Can't take control of Fel Reaver.

EDIT: applying @Killyana db fix will let me control Fel Reaver, but the quest is still bugged since you can't destroy infernals.

ikir83 avatar Jun 01 '16 20:06 ikir83

a spellscript could handle the killctredits (each time the spell hits the target (in this case the gameobject) the master of the controled unit (in this case the player) should get the credit

Lumber-Jack-2 avatar Jun 02 '16 07:06 Lumber-Jack-2

If it's needed i can sniff this.

Aokromes avatar Jun 14 '16 08:06 Aokromes

seems kilyanas sql to make this mount no longer works

have added a few things from sniff

UPDATE `creature_template` SET `spell1`=38055,`spell2`=38052,`spell3`=38006,`spell4`=37920 WHERE `entry`=21949;
UPDATE `gameobject_template_addon` SET `faction`=114 WHERE  `entry`=184979;

DELETE FROM `spell_scripts` WHERE `id` IN (38002, 38120, 38122, 38125, 38127, 38129);
INSERT INTO `spell_scripts` (`id`,`effindex`,`delay`,`command`,`datalong`,`datalong2`) VALUES
(38002,0,0,15,38003,2),
(38120,0,0,15,38121,2),
(38122,0,0,15,38123,2),
(38125,0,0,15,38126,2),
(38127,0,0,15,38128,2),
(38129,0,0,15,38130,2);

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (38003, 38121, 38123, 38126, 38128, 38130);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(13,1,38003,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38121,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38123,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38126,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38128,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller'),
(13,1,38130,0,0,31,0,3,21949,0,0,0,0,'','Only the fel reaver sentinel can be controlled by Fel Reaver Controller');

dr-j avatar Jun 22 '17 15:06 dr-j

class spell_q10612_10613_the_fel_and_the_furious : public SpellScriptLoader
{
    public:
        spell_q10612_10613_the_fel_and_the_furious() : SpellScriptLoader("spell_q10612_10613_the_fel_and_the_furious") { }

        class spell_q10612_10613_the_fel_and_the_furious_SpellScript : public SpellScript
        {
            PrepareSpellScript(spell_q10612_10613_the_fel_and_the_furious_SpellScript);

            void HandleScriptEffect(SpellEffIndex effIndex)
            {
                Player* charmer = GetCaster()->GetCharmerOrOwnerPlayerOrPlayerItself();
                if (!charmer)
                    return;

                std::list<GameObject*> gList;
                GetCaster()->GetGameObjectListWithEntryInGrid(gList, 184979, 30.0f);
                uint8 counter = 0;
                for (std::list<GameObject*>::const_iterator itr = gList.begin(); itr != gList.end(); ++itr, ++counter)
                {
                    if (counter >= 10)
                        break;
                    GameObject* go = *itr;
                    if (!go->isSpawned())
                        continue;
                    Creature* cr2 = go->SummonTrigger(go->GetPositionX(), go->GetPositionY(), go->GetPositionZ()+2.0f, 0.0f, 100);
                    if (cr2)
                    {
                        cr2->SetFaction(14);
                        cr2->SetUInt32Value(UNIT_FIELD_FLAGS, 0);
                        GetCaster()->CastSpell(cr2, 38083, true);
                    }

                    go->SetLootState(GO_JUST_DEACTIVATED);
                    charmer->KilledMonsterCredit(21959);
                }
            }

            void Register()
            {
                OnEffectHitTarget += SpellEffectFn(spell_q10612_10613_the_fel_and_the_furious_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
            }
        };

        SpellScript* GetSpellScript() const
        {
            return new spell_q10612_10613_the_fel_and_the_furious_SpellScript();
        }
};

by Azerothcore

mazdafil avatar Jun 30 '17 06:06 mazdafil

plz open a PR of this if something is valid.

Aokromes avatar Oct 26 '17 18:10 Aokromes

Some parts of this script aren't needed, because spell 38055 has Script Effect(38054) which has the effect (86) Activate Object (8) Radius: 50 yards Maybe will be enough to cast 38054 after 38055. And reduce MaxAffectedTargets to 10 for 38054.

According to Wowhead spell 38083 belongs to an another event.

offl avatar Nov 01 '17 13:11 offl

spells from the fel reaver can be spammable and the npc can be brought to shattrath and other places for example.

disruption01 avatar Jun 23 '20 00:06 disruption01

Fix so you get credit for destroying the deathforge infernals works, also the ability should fire 10 rockets at once also conditions so world breaker does not hit other fel reaver sentinels and cause these to attack

DELETE FROM `spell_scripts` WHERE `id`IN(38055,38020);
INSERT INTO `spell_scripts` (`id`, `effIndex`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`, `Comment`) VALUES 
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 2, 0, 0, 0, 0, 0, ''),
(38020, 0, 0, 15, 38022, 3, 0, 0, 0, 0, 0, '');

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceGroup`=3 AND `SourceEntry`IN(38006,38052);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES 
(13, 3, 38006, 0, 0, 31, 0, 3, 21753, 0, 0, 0, 0, '', 'World Breaker targets shadow council felsworm'),
(13, 3, 38006, 0, 1, 31, 0, 3, 21961, 0, 0, 0, 0, '', 'World Breaker targets shadow council Catacyslm Overseer'),
(13, 3, 38006, 0, 2, 31, 0, 3, 21754, 0, 0, 0, 0, '', 'World Breaker targets shadow council zealot'),
(13, 3, 38006, 0, 3, 31, 0, 3, 21779, 0, 0, 0, 0, '', 'World Breaker targets shadow doctor maleficus');

dr-j avatar Jul 12 '21 14:07 dr-j

38020 is cast by infernal gob when it is destroyed (from wdb data) 38022 gives kill credit to master of possessed npc

dr-j avatar Jul 12 '21 14:07 dr-j

and I have this quest working the only thing which is still annoying is the sonic boom spell if I cast using command at target it works if I get the fel reaver sentinel to cast back at me it works but when the fel reaver is possessed get told I dont have a target even though do

dr-j avatar Jul 12 '21 17:07 dr-j

Everything working except for recovery times for spells as cant add these via db on tc also seems was using wrong sonic boom spell or was using triggered spell rather than trigger


DELETE FROM `spell_scripts` WHERE `id`IN(38055,38020);
INSERT INTO `spell_scripts` (`id`, `effIndex`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`, `Comment`) VALUES 
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38055, 0, 0, 15, 38054, 0, 0, 0, 0, 0, 0, ''),
(38020, 0, 0, 15, 38022, 3, 0, 0, 0, 0, 0, '');

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND  `SourceEntry`IN(38006,38052);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES 
(13, 3, 38006, 0, 0, 31, 0, 3, 21753, 0, 0, 0, 0, '', 'World Breaker targets shadow council felsworm'),
(13, 3, 38006, 0, 1, 31, 0, 3, 21961, 0, 0, 0, 0, '', 'World Breaker targets shadow council Catacyslm Overseer'),
(13, 3, 38006, 0, 2, 31, 0, 3, 21754, 0, 0, 0, 0, '', 'World Breaker targets shadow council zealot'),
(13, 3, 38006, 0, 3, 31, 0, 3, 21779, 0, 0, 0, 0, '', 'World Breaker targets shadow doctor maleficus'),

(13, 7, 38052, 0, 0, 31, 0, 3, 21753, 0, 0, 0, 0, '', 'Sonic Boom targets shadow council felsworm'),
(13, 7, 38052, 0, 1, 31, 0, 3, 21961, 0, 0, 0, 0, '', 'Sonic Boom targets shadow council Catacyslm Overseer'),
(13, 7, 38052, 0, 2, 31, 0, 3, 21754, 0, 0, 0, 0, '', 'Sonic Boom targets shadow council zealot'),
(13, 7, 38052, 0, 3, 31, 0, 3, 21779, 0, 0, 0, 0, '', 'Sonic Boom targets shadow doctor maleficus');

UPDATE `creature_template` SET `Spell2`='38488' WHERE  `entry`=21949; -- 38052 is triggered from 38488 

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND  `SourceEntry`IN(38488);
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES 
(13, 1, 38488, 0, 0, 31, 0, 3, 21753, 0, 0, 0, 0, '', 'Sonic Boom targets shadow council felsworm'),
(13, 1, 38488, 0, 1, 31, 0, 3, 21961, 0, 0, 0, 0, '', 'Sonic Boom targets shadow council Catacyslm Overseer'),
(13, 1, 38488, 0, 2, 31, 0, 3, 21754, 0, 0, 0, 0, '', 'Sonic Boom targets shadow council zealot'),
(13, 1, 38488, 0, 3, 31, 0, 3, 21779, 0, 0, 0, 0, '', 'Sonic Boom targets shadow doctor maleficus');

UPDATE `creature_template` SET `AIName`='SmartAI',`flags_extra`='64' WHERE  `entry`=21949;

DELETE FROM `smart_scripts` WHERE `entryorguid`=21949 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`, `cus_target_param1`, `comment`) VALUES 
(21949, 0, 0, 0, 1, 0, 100, 512, 1000, 1000, 1000, 1000, 0, 41, 0, 15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Fel Reaver Sentinel - OOC - Despawn (Only if charmed)'),
(21949, 0, 1, 0, 0, 0, 100, 512, 1000, 1000, 1000, 1000, 0, 41, 0, 15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Fel Reaver Sentinel - OOC - Despawn (Only if charmed)'),
(21949, 0, 2, 0, 6, 0, 100, 0, 0, 0, 0, 0, 0, 41, 10, 15, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Fel Reaver Sentinel - On Death - Despawn ');

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup` IN(1,2) AND `SourceEntry`=21949 AND `SourceId`=0;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES 
(22, 1, 21949, 0, 0, 23, 1, 3943, 0, 0, 1, 0, 0, '', 'Fel reaver sentinel despawns if leaves Invasion Point Catacylsm'),
(22, 2, 21949, 0, 0, 23, 1, 3943, 0, 0, 1, 0, 0, '', 'Fel reaver sentinel despawns if leaves Invasion Point Catacylsm');

dr-j avatar Jul 13 '21 14:07 dr-j