Jump to content

[patch] Deathbringer's Will and Tiny Abomination in a Jar Fix(es)


Guest dpedroia15

Recommended Posts

What bug does the patch fix? What features does the patch add?

The patch adds the dummy effects for the two ICC trinkets mentioned above. Currently, the items do not have any effect when used ingame.

For which repository revision was the patch created?

10241

Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

No

Who has been writing this patch? Please include either forum user names or email addresses.

Me, dpedroia15

Link to patch

I didnt think of it before, but if you'd like me to compress the fixes into one case for each, I will do so.

Also, the models for the Deathbringer's Will effect are not working. I should say..only the iron dwarf model is in the DBCs. According to Wowhead, the other model ids for the transform spells are over 30k. The max model id as of 3.3.5a is somewhere around 29k (can't be sure of the exact, still away from home).

So as of now, all the transforms except for iron dwarf use the default pig model.

It seems that an Arcemu based server I used to play on has the models working, so I plan to look through the Arcemu source when I get a chance (no promises though, it might be a hacky fix or a custom patch by the server).

EDIT: Fixed thanks to fullburn's find. I have a slightly modified SQL from the Trinitycore

DELETE FROM creature_template WHERE entry IN (38292,38271,38273);
INSERT INTO creature_template (entry,modelid_A,modelid_H) VALUES
(38292,31182,31182),
(38271,31182,31182),
(38273,31015,31015);

DELETE FROM creature_model_info WHERE modelid = 31015;
INSERT INTO creature_model_info (modelid) VALUES
(31015);

DELETE FROM creature_model_info WHERE modelid=31182;
INSERT INTO creature_model_info (`modelid`) VALUES
(31182); 

EDIT: Updated code to be cleaner.

EDIT: Updated SQL.

Link to comment
Share on other sites

I get this error. On the latest version of MaNGOS (as of me writing this.)

Rev. 10297 I think

10>UnitAuraProcHandler.cpp
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(955) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2143: syntax error : missing ';' before 'case'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>SpellAuras.cpp
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(957) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(958) : error C2143: syntax error : missing ';' before '{'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(959) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(959) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(959) : error C3872: '0xa0': this character is not allowed in an identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(959) : error C2065: '*' : undeclared identifier
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(959) : error C2146: syntax error : missing ';' before identifier '*'
10>..\\..\\src\\game\\UnitAuraProcHandler.cpp(959) : fatal error C1003: error count exceeds 100; stopping compilation

Link to comment
Share on other sites

Maybe these sql changes can help.

DELETE FROM `creature_template` WHERE `entry` IN (38292,38271,38273);

INSERT INTO `creature_template` (`entry`,`modelid1`,`faction_A`,`faction_H`,`unit_class`) VALUES

(38292,31015,35,35,1),

(38271,31015,35,35,1),

(38273,31182,35,35,1); -- Aim of the Iron Dwarves proc and correct skin

-- not sure why adding the above 3 lines instead of 2 worked for me though :/

DELETE FROM `creature_model_info` WHERE `modelid`=31015;

INSERT INTO `creature_model_info` (`modelid`) VALUES

(31015);

DELETE FROM `creature_model_info` WHERE `modelid`=31182;

INSERT INTO `creature_model_info` (`modelid`) VALUES

(31182);

Source: http://code.google.com/p/trinitycore/source/detail?r=2db20d21cc

Link to comment
Share on other sites

About first spell part of patch.

First, I find this note "Just as a fun note. Let a warlock equip this to see if it would proc and it WILL proc for warlocks. He got the +600 haste buff.". Possible this applied to all caster classes as one from cases.

Second. Curretly 2 spell cases look like mixed duplicates. Possible 2 cases maybed:

make own versions for spels with more compressed switch format. Or make static array

array[MAX_CLASSES][3][2] instead...

then check from duplcate proc also can be make as loop for class-specific spell cases...

Link to comment
Share on other sites

Hmm, related second fix, i not see your patch and add in [10349] own version. But looking at your version after see that forgot about no offhand case.

So this small fix included from your version in [10351]. When i read comments i not see any references for select weapon by next attack time.

AFAIK, Tiny abomination in a Jar is not choosing targets and weapon random. According to ElitistJerks, you'll strike with weapon, which gain first of 8(7) motes of anger to target, which gives you last (7/7 or 8/8) mote of anger :)

That's what I was trying to accomplish with the attack times. Since the 50% damage is dealt by the same weapon that gained the 8th/7th mote of anger, you can get that weapon by checking for which weapon was the last weapon to attack, hence getting the attack timers.

About the Deathbringer's Will trinket, thank you for finding something on what happens with casters Vladimir, I couldnt find anything when I looked. I don't quite know what you're saying about the duplicate spell cases though, but I will try to rethink that part of the patch and possibly resubmit something :D

Link to comment
Share on other sites

Errr, Vladimir, your version of this spell in the official repo is wrong (talking about Anger Capacitor).

It isnt a random weapon hit with main or off hand, it's based on which weapon procced the 7/8th stack.

My way of doing this may not be the way you want, but it certainly works, and I'm surprised you havent at least revised your edition of your commit.

Link to comment
Share on other sites

About the Deathbringer's Will trinket, thank you for finding something on what happens with casters Vladimir, I couldnt find anything when I looked.

Deathbringer's Will only can proc on physical damages, so if a caster gets this trinket it won't proc until the caster does physical damages, so in mele most probably, then if will most probably never happen. If you have confirmation that it procs haste when used on a warlock, I personally think it's safe to proc this for all casters since this trinket is really useless for them. I can only imagine an elementary chaman who goes in mele range(!) getting one use of this trinket if really he does not even have a lvl 150 caster one :P

Shorter answer: a caster has no chance to get this trinket (ICC 25) except by .item add, so proc haste or nothing for them :P

Link to comment
Share on other sites

Deathbringer's Will only can proc on physical damages, so if a caster gets this trinket it won't proc until the caster does physical damages, so in mele most probably, then if will most probably never happen. If you have confirmation that it procs haste when used on a warlock, I personally think it's safe to proc this for all casters since this trinket is really useless for them. I can only imagine an elementary chaman who goes in mele range(!) getting one use of this trinket if really he does not even have a lvl 150 caster one :P

Shorter answer: a caster has no chance to get this trinket (ICC 25) except by .item add, so proc haste or nothing for them :P

We're still going for being as blizzlike as possible. If Vladimir has proof that on retail, you can get the hast proc as a caster meleeing, then why shouldnt we implement it.

And I'm still trying to draw Vladimir's attention to this thread. His version of Tiny Abominations in a Jar is not blizzlike.

Link to comment
Share on other sites

  • 4 weeks later...

maybe something like this for deathbringer's will:

diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp
index 965d264..62b0010 100644
--- a/src/game/UnitAuraProcHandler.cpp
+++ b/src/game/UnitAuraProcHandler.cpp
@@ -953,6 +953,59 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura
                case 63320:
                    triggered_spell_id = 63321;
                    break;
+                // Item - Deathbringer's Will
+                case 71519:
+                case 71562:
+                {
+                    static uint32 const normal_spells[MAX_CLASSES*3] =
+                    {
+                        0, 0, 0,                // (unused)
+                        71491, 71484, 71492,    // Warrior
+                        71491, 71484, 71492,    // Paladin
+                        71485, 71491, 71486,    // Hunter
+                        71485, 71486, 71492,    // Rogue
+                        71492, 71492, 71492,    // Priest
+                        71491, 71484, 71492,    // Death Knight
+                        71485, 71486, 71492,    // Shaman
+                        71492, 71492, 71492,    // Mage
+                        71492, 71492, 71492,    // Warlock
+                        0, 0, 0,                // (unused)
+                        71485, 71484, 71492     // Druid
+                    };
+                    static uint32 const heroic_spells[MAX_CLASSES*3] =
+                    {
+                        0, 0, 0,                // (unused)
+                        71559, 71561, 71560,    // Warrior
+                        71559, 71561, 71560,    // Paladin
+                        71556, 71559, 71558,    // Hunter
+                        71556, 71558, 71560,    // Rogue
+                        71560, 71560, 71560,    // Priest
+                        71559, 71561, 71560,    // Death Knight
+                        71556, 71558, 71560,    // Shaman
+                        71560, 71560, 71560,    // Mage
+                        71560, 71560, 71560,    // Warlock
+                        0, 0, 0,                // (unused)
+                        71556, 71561, 71560     // Druid
+                    };
+
+                    if (cooldown && GetTypeId() == TYPEID_PLAYER && static_cast<Player*>(this)->HasSpellCooldown(dummySpell->Id))
+                        return SPELL_AURA_PROC_FAILED;
+
+                    uint32 const *proc_spells = NULL;
+                    switch (dummySpell->Id)
+                    {
+                        case 71519: proc_spells = normal_spells; break;
+                        case 71562: proc_spells = heroic_spells; break;
+                        default: return SPELL_AURA_PROC_FAILED;
+                    }
+
+                    CastSpell(this, proc_spells[getClass()*3 + urand(0,2)], true, castItem, triggeredByAura);
+
+                    if (cooldown && GetTypeId() == TYPEID_PLAYER)
+                        static_cast<Player*>(this)->AddSpellCooldown(dummySpell->Id, 0, time(NULL) + cooldown);
+
+                    return SPELL_AURA_PROC_OK;
+                }
                // Item - Shadowmourne Legendary
                case 71903:
                {

Link to comment
Share on other sites

maybe something like this for deathbringer's will:

diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp
index 965d264..62b0010 100644
--- a/src/game/UnitAuraProcHandler.cpp
+++ b/src/game/UnitAuraProcHandler.cpp
@@ -953,6 +953,59 @@ SpellAuraProcResult Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura
                case 63320:
                    triggered_spell_id = 63321;
                    break;
+                // Item - Deathbringer's Will
+                case 71519:
+                case 71562:
+                {
+                    static uint32 const normal_spells[MAX_CLASSES*3] =
+                    {
+                        0, 0, 0,                // (unused)
+                        71491, 71484, 71492,    // Warrior
+                        71491, 71484, 71492,    // Paladin
+                        71485, 71491, 71486,    // Hunter
+                        71485, 71486, 71492,    // Rogue
+                        71492, 71492, 71492,    // Priest
+                        71491, 71484, 71492,    // Death Knight
+                        71485, 71486, 71492,    // Shaman
+                        71492, 71492, 71492,    // Mage
+                        71492, 71492, 71492,    // Warlock
+                        0, 0, 0,                // (unused)
+                        71485, 71484, 71492     // Druid
+                    };
+                    static uint32 const heroic_spells[MAX_CLASSES*3] =
+                    {
+                        0, 0, 0,                // (unused)
+                        71559, 71561, 71560,    // Warrior
+                        71559, 71561, 71560,    // Paladin
+                        71556, 71559, 71558,    // Hunter
+                        71556, 71558, 71560,    // Rogue
+                        71560, 71560, 71560,    // Priest
+                        71559, 71561, 71560,    // Death Knight
+                        71556, 71558, 71560,    // Shaman
+                        71560, 71560, 71560,    // Mage
+                        71560, 71560, 71560,    // Warlock
+                        0, 0, 0,                // (unused)
+                        71556, 71561, 71560     // Druid
+                    };
+
+                    if (cooldown && GetTypeId() == TYPEID_PLAYER && static_cast<Player*>(this)->HasSpellCooldown(dummySpell->Id))
+                        return SPELL_AURA_PROC_FAILED;
+
+                    uint32 const *proc_spells = NULL;
+                    switch (dummySpell->Id)
+                    {
+                        case 71519: proc_spells = normal_spells; break;
+                        case 71562: proc_spells = heroic_spells; break;
+                        default: return SPELL_AURA_PROC_FAILED;
+                    }
+
+                    CastSpell(this, proc_spells[getClass()*3 + urand(0,2)], true, castItem, triggeredByAura);
+
+                    if (cooldown && GetTypeId() == TYPEID_PLAYER)
+                        static_cast<Player*>(this)->AddSpellCooldown(dummySpell->Id, 0, time(NULL) + cooldown);
+
+                    return SPELL_AURA_PROC_OK;
+                }
                // Item - Shadowmourne Legendary
                case 71903:
                {

this works but there appears to be no internal CD happening, once it procs its on CD for 105 seconds.

Link to comment
Share on other sites

  • 1 month later...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use