Jump to content

Ultron

Members
  • Posts

    6
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Ultron

  1. Implements Proc Trigger Spell handler for trinkets Timbal's Focusing Crystal and Shard of Contempt

    For which SubVersion revision was the patch created?

    5857

    Who has been writing this patch?

    Ultron

    Index: game/Unit.cpp
    ===================================================================
    --- game/Unit.cpp        (revision 5857)
    +++ game/Unit.cpp        (working copy)
    @@ -5988,6 +5988,46 @@
                                            CastCustomSpell(this, 33926, &amount, NULL, NULL, true, castItem, triggeredByAura);
                                            return;
                                    }
    +                                //Augment Pain (Timbal's Focusing Crystal trinket bonus)
    +                                case 45054:
    +                                {
    +                                        if(GetTypeId()!=TYPEID_PLAYER || !procSpell || !pVictim || !pVictim->isAlive() || !castItem)
    +                                                return;
    +
    +                                        //only periodic damage can trigger spell
    +                                        bool found = false;
    +                                        for(int j = 0; j < 3; ++j)
    +                                        {
    +                                                if(procSpell->EffectApplyAuraName[j]==SPELL_AURA_PERIODIC_DAMAGE
    +                                                        ||procSpell->EffectApplyAuraName[j]==SPELL_AURA_PERIODIC_DAMAGE_PERCENT
    +                                                        ||procSpell->EffectApplyAuraName[j]==SPELL_AURA_PERIODIC_LEECH)
    +                                                {
    +                                                        found = true;
    +                                                        break;
    +                                                }
    +                                        }
    +                                        if(!found)
    +                                                return;
    +                                        if(((Player*)this)->HasSpellCooldown(auraSpellInfo->Id))
    +                                                return;
    +
    +                                        CastSpell(pVictim, 45055, true, castItem, triggeredByAura);
    +                                        ((Player*)this)->AddSpellCooldown(auraSpellInfo->Id, 0, time(NULL) + 15);
    +                                        return;
    +                                }
    +                                //Sunwell Dungeon Melee Trinket (Shard of Contempt trinket bonus)
    +                                case 45354:
    +                                {
    +                                        if(GetTypeId()!=TYPEID_PLAYER || !castItem)
    +                                                return;
    +
    +                                        if(((Player*)this)->HasSpellCooldown(auraSpellInfo->Id))
    +                                                return;
    +
    +                                        CastSpell(this, 45053, true, castItem, triggeredByAura);
    +                                        ((Player*)this)->AddSpellCooldown(auraSpellInfo->Id, 0, time(NULL) + 45);
    +                                        return;
    +                                }
                            }
                            break;
                    }

    DELETE FROM spell_proc_event WHERE entry IN (45054,45354);
    INSERT INTO spell_proc_event VALUES
    (45054,0,0,0,0,0,131072,0), /*Augment Pain (Timbal's Focusing Crystal trinket bonus)*/
    (45354,0,0,0,0,0,1,0); /*Sunwell Dungeon Melee Trinket (Shard of Contempt trinket bonus)*/

    http://filebeam.com/80bc95c31b6c5a79afda9af88b4c8444

  2. Not work in the form in which it was included in the SVN. SpellIconID is wrong. Correct SpellIconID is 561.

    Index: SpellMgr.cpp
    ===================================================================
    --- SpellMgr.cpp        (revision 5845)
    +++ SpellMgr.cpp        (working copy)
    @@ -1007,7 +1007,7 @@
                                    return false;
    
                            // *Band of Eternal Champion and Seal of Command(multi-family check)
    -                        if( spellId_1 == 35081 && spellInfo_2->SpellFamilyName == SPELLFAMILY_PALADIN && spellInfo_2->SpellIconID==992 && spellInfo_2->SpellVisual==7992)
    +                        if( spellId_1 == 35081 && spellInfo_2->SpellFamilyName == SPELLFAMILY_PALADIN && spellInfo_2->SpellIconID==561 && spellInfo_2->SpellVisual==7992)
                                    return false;
                            break;
                    case SPELLFAMILY_MAGE:
    @@ -1128,7 +1128,7 @@
                                    return false;
    
                            // *Seal of Command and Band of Eternal Champion (multi-family check)
    -                        if( spellInfo_1->SpellIconID==992 && spellInfo_1->SpellVisual==7992 && spellId_2 == 35081)
    +                        if( spellInfo_1->SpellIconID==561 && spellInfo_1->SpellVisual==7992 && spellId_2 == 35081)
                                    return false;
                            break;
                    case SPELLFAMILY_SHAMAN:

  3. What bug does the patch fix?

    Player can Cyclone more than one targets.

    How it should work:

    Only one target can be affected by your Cyclone at a time (http://www.wowwiki.com/Cyclone).

    For which SubVersion revision was the patch created?

    5833

    Who has been writing this patch?

    Ultron

    Index: SpellMgr.cpp
    ===================================================================
    --- SpellMgr.cpp        (revision 5833)
    +++ SpellMgr.cpp        (working copy)
    @@ -452,7 +452,9 @@
            //Fear
            if ((spellInfo->SpellIconID == 98 && spellInfo->SpellVisual == 336)
                    //Banish
    -                || (spellInfo->SpellIconID == 96 && spellInfo->SpellVisual == 1305) )
    +                || (spellInfo->SpellIconID == 96 && spellInfo->SpellVisual == 1305)
    +                //Cyclone
    +                || (spellInfo->SpellIconID == 174 && spellInfo->SpellVisual == 8206))
                    return true;
    
            // spell with single target specific types

    http://filebeam.com/24f51f9645062371fa9cdc55e75f386e

  4. What bug does the patch fix?

    Paladin's seal Seal of Command and on hit bonus from ring Band of Eternal Champion overwrite each other, as have identical SpellIconId.

    For which SubVersion revision was the patch created?

    5790

    Who has been writing this patch?

    Ultron

    Index: SpellMgr.cpp
    ===================================================================
    --- SpellMgr.cpp        (revision 5790)
    +++ SpellMgr.cpp        (working copy)
    @@ -950,6 +950,10 @@
    
            if(spellInfo_1->Id == spellId_2)
                    return false;
    +        
    +        //Seal of Command and Band of Eternal Champion
    +        if ((spellInfo_1->SpellFamilyName == SPELLFAMILY_PALADIN || spellInfo_2->SpellFamilyName == SPELLFAMILY_PALADIN)&& spellInfo_1->SpellIconID == spellInfo_2->SpellIconID && (spellId_1 == 35081 || spellId_2 == 35081))
    +            return false;
    
            //I think we don't check this correctly because i need a exception for spell:
            //72,11327,18461...(called from 1856,1857...) Call Aura 16,31, after trigger another spell who call aura 77 and 77 remove 16 and 31, this should not happen.

    http://filebeam.com/5683f4ff9a5d213b3871095684f9dc72

  5. What bug does the patch fix?

    When channeling spells like Hellfire cause damage to caster, they shorten own duration.

    For which SubVersion revision was the patch created?

    5789

    Who has been writing this patch?

    Ultron

    Index: Unit.cpp
    ===================================================================
    --- Unit.cpp        (revision 5789)
    +++ Unit.cpp        (working copy)
    @@ -830,10 +830,13 @@
                                            uint32 channelInterruptFlags = pVictim->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_spellInfo->ChannelInterruptFlags;
                                            if( channelInterruptFlags & CHANNEL_FLAG_DELAY )
                                            {
    -                                                int32 delay = int32(0.25f * GetSpellDuration(pVictim->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_spellInfo));
    +                                                if(pVictim!=this) //don't shorten the duration of channeling if you damage yourself
    +                                                {
    +                                                int32 delay = int32(0.25f * GetSpellDuration(pVictim->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_spellInfo));
                                                    sLog.outDetail("Spell %u delayed (%d) at damage!",pVictim->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_spellInfo->Id,delay);
                                                    pVictim->m_currentSpells[CURRENT_CHANNELED_SPELL]->DelayedChannel(delay);
    -                                        }
    +                                                }
    +                                        }
                                            else if( (channelInterruptFlags & (CHANNEL_FLAG_DAMAGE | CHANNEL_FLAG_DAMAGE2)) )
                                            {
                                                    sLog.outDetail("Spell %u canceled at damage!",pVictim->m_currentSpells[CURRENT_CHANNELED_SPELL]->m_spellInfo->Id);

    http://filebeam.com/2fff10e28f9bff036719789d99b7c0de

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