Jump to content

Ultron

Members
  • Posts

    6
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Ultron

  1. Updated for 5895. Without using explicit IDs for spells.
  2. 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
  3. 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:
  4. 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
  5. 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
  6. 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