Jump to content
  • Devastate doesn't apply sunder armor


    JPlady42
    • Status: Completed
      Main Category: Core / Mangos Daemon
      Sub-Category: Spell
      Version: 22.1 Milestone: 24 Priority: High
      Implemented Version: 22.1
      Assigned: Olion

    User Feedback

    Recommended Comments

    JPlady42

    Posted (edited)

    // Devastate
                if (m_spellInfo->SpellVisual == 671 && m_spellInfo->SpellIconID == 1508)
                {
                    customBonusDamagePercentMod = true;
                    bonusDamagePercentMod = 0.0f;               // only applied if auras found

                    // Sunder Armor
                    Aura* sunder = unitTarget->GetAura(SPELL_AURA_MOD_RESISTANCE, SPELLFAMILY_WARRIOR, UI64LIT(0x0000000000004000), m_caster->GetObjectGuid());

                    // Devastate bonus and sunder armor refresh, additional threat
                    if (sunder)
                    {
                        sunder->GetHolder()->RefreshHolder();

                        // 100% * stack
                        bonusDamagePercentMod += 1.0f * sunder->GetStackAmount();

                        // 25 * stack
                        unitTarget->AddThreat(m_caster, 25.0f * sunder->GetStackAmount(), false, GetSpellSchoolMask(m_spellInfo), m_spellInfo);

                      // Cast sunder armor

                      m_caster->CastSpell(unitTarget, 11597, true);
                    }
                    else
                        m_caster->CastSpell(unitTarget, 11597, true);
                }
                break;
            }

    Edited by JPlady42
    Olion

    Posted

    This is the only way to implement the mechanic without spell_linked_spell DB table. However it is wrong in details, and additional info is needed.

    Warrior's Devastate has 3 ranks, Sunder Armor - 6 ranks (looks like that 5 legitimate ones only, the 6th is for TBC). The proposed code casts Sunder Armor 5 irrespectively of Devastate rank. So,

    • will it be correct to use the highest Sunder Armor known to the character?
    • how the underranking situation must be handled, i.e. when a character knowing all 3 Devastate ranks and 5 S.A. ranks, uses Devastate 1?
    Fresh

    Posted

    Devastate has 3 ranks and use 3 ranks of Sunder Armor

    • Devastate(Rank 1) - use Sunder Armor(Rank 4)
    • Devastate(Rank 2) - use Sunder Armor(Rank 5)
    • Devastate(Rank 3) - use Sunder Armor(Rank 6)

    I fix this problem with MyDbcEditor Download

    1.  1.thumb.png.ad4320b9da994e4b5ad23f6c60aeaa0b.png
    2.  2.thumb.png.d7a1a6ce85d0f751377e0cc638185e4b.png
    3.  3.thumb.png.5c39e9c15c7b7d6e40c5617e1373fcb0.png
    4. Go to ID of Devastate : Rank 1 - 20243 , Rank 2 - 30016 , Rank 3 - 300224.thumb.png.aa0b647bbf1ffbd45d283ff4193d3638.png
    5. Change values5.thumb.png.9aefafb942f7d51851f50bdf1905f1ec.png
    6. Save and start server6.thumb.png.5f2f9acfbc1023f94612ec916253c130.png

    Now Devastate gives Sunder Armor GJ ! :D

    Olion

    Posted

    Thank you for the valuable info on spell linking.

    However the fix proposed is unacceptable. An obvious reason is sharing issue. If you do need to modify Spell.dbc visible within the server, use SpellMgr::ModDBCSpellAttributes(). This is not the case, the spell_linked table must have the desired effect and deserves to be filled finally.

    I wonder what blizz have meant omitting Effect1. I suspect the link between the spells may be more complex, but the presented info gives us a good start.

    Olion

    Posted

    Changed Status to In Progress

    Changed Assigned to Olion

    Changed Implemented Version to 22.1

    Changed Milestone to 24

    Changed Priority to New / Assign Priority

    Olion

    Posted

    This is a DB-based implementation. I was confused about the spell_linked table (whch core does contain it and which one does not), so I had to port it from Zero.

    Fresh

    Posted

    Hi , I try your update and dont work correctly. I found problem with applying Sunder Armor . When I use Devastate on NPC and I have under 30 rage dont apply Sunder Armor ,and said "Not enough rage" ,but if I use Devastate over 30 rage apply Sunder Armor.

    Devastate cost 15 rage and Sunder Armor 15 rage (15+15=30)

    I try all ranks of Devastate.

     

     

    Olion

    Posted

    Changed Status to In Progress

    Changed Priority to High

    I can test it again only two days later. In between, didn't you miss this core commit? Your issue suggests you've overlooked this change.

    Olion

    Posted

    Changed Status to Completed

    Here. Missed this bit, so consumed rage was calculated correctly, but the triggered Sunder Armor was not allowed at low rage.

    • Like 1
    Fresh

    Posted

    Console Error : 

    Loading Spell Linked definitions...
    ERROR:Spell 30016 listed in `spell_linked` is not first rank (20243) in chain
    ERROR:Spell 30022 listed in `spell_linked` is not first rank (20243) in chain

    Olion

    Posted

    I'm aware of that. You could try to remove the two spell assotiations reported here, from the table, and check all the 3 ranks.

    Otherwise, you can ignore it safely.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • 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