Jump to content

Tanatos

Members
  • Posts

    12
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Tanatos

  1. No. May be detect, if bot intercepting API, theoretically blizz uses PROC_CHECK, but this check uneffective. Also you can use MEM_CHECK or PAGE_CHECK for some important dll's, user32.dll, ws2_32.dll(winsock) etc.

    But func adresses are changed in different types : win 7, win xp, etc

    MEM_CHECK - return to server raw data of memory block

    PAGE_CHECK - check memory page, use relative addresses of modules(base - wow.exe or some dll's), calclulate hash of memory block and compare with hash from packet. Return on server result of compare hashes

  2. Search Immolate auras with use

    Aura * aura = GetAura(...) more simply.

    I agree with pasdVn that both effects must be handled in SpellDamageBonus, because handle effects in sources before apply SpellDamageBonus, in effects must be calculate base damage

    As example, many glyph with auras OverrideClassScripts :)

  3. Thx for applying patch :)

    But I think, that need added very important part of patch.

    Arcane Potency must trigger from Clearcasting, but Clearcasting is trigger spell too and in Mangos sources start trigger from trigger spell is forbidden.

    Because we must allow trigger from Clearcasting specify, else with proc_event - Cleacasting do not start trigger Arcane Potency

    This is fix:

    Spell.cpp

    void Spell:: PrepareDataForTriggerSystem()

        {
            switch (m_spellInfo->SpellFamilyName)
            {
    -            case SPELLFAMILY_MAGE:    // Arcane Missles / Blizzard triggers need do it
    -                if (m_spellInfo->SpellFamilyFlags & 0x0000000000200080LL) m_canTrigger = true;
    +            case SPELLFAMILY_MAGE:    // Arcane Missles / Blizzard triggers / Clearcasting trigger need do it
    +                if (m_spellInfo->SpellFamilyFlags & 0x0000000000200080LL || (m_spellInfo->SpellFamilyFlags & 0x0000000200000000LL && m_spellInfo->SpellFamilyFlags2 & 0x00000008LL)) m_canTrigger = true;
                break;
                case SPELLFAMILY_WARLOCK: // For Hellfire Effect / Rain of Fire / Seed of Corruption triggers need do it
                    if (m_spellInfo->SpellFamilyFlags & 0x0000800000000060LL) m_canTrigger = true;
    

    Ps: (m_spellInfo->SpellFamilyFlags & 0x0000000200000000LL && m_spellInfo->SpellFamilyFlags2 & 0x00000008LL) - this is Clearcasting flags, maybe find better way of this check. :)

  4. +          case SPELL_AURA_MOD_SPELL_CRIT_CHANCE:
    +                             if (!procSpell)
    +                                    continue;
    +                             break;

    Not needed, as I think.

    As well as

    +                   if(!procSpell)
    +                             return false;
    

    but that's only peanuts^^

    This code allow remove buff after next spell cast, used proc trigger system

    Thanks all for test. :)

    Wait my new patches for other talents and spells ;)

  5. int32 mana15 = m_caster->GetMaxPower(POWER_MANA) * 0.15;

    It 's wrong, we must use a base mana.

    Quote from wowwiki.com

    Your Judgement spells have a X% chance to grant up to 10 party or raid members mana regeneration equal to 0.25% of their maximum mana per second, and to immediately grant you 15% of your base mana.

    Use a function GetCreateMana() for your fix.

    Thanks for patch :)

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

    - This patch would implement the mage talent Arcane Potency.

    For which repository revision was the patch created?

    - 7319

    diff --git a/Unit.cpp b/Unit.cpp
    index 97a26d9..6601aed 100644
    --- a/Unit.cpp
    +++ b/Unit.cpp
    @@ -4808,6 +4808,19 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                    triggered_spell_id = 29077;
                    break;
                }
    +       //Arcane Potency
    +           if (dummySpell->SpellIconID == 2120)
    +           {
    +               if(!procSpell)
    +                    return false;
    +
    +               switch (dummySpell->Id)
    +              {
    +        case 31571: triggered_spell_id = 57529; break;
    +        case 31572: triggered_spell_id = 57531; break;
    +        }
    +           break;
    +           }
                // Hot Streak
                if (dummySpell->SpellIconID == 2999)
                {
    
    @@ -10277,6 +10290,7 @@ bool InitTriggerAuraData()
        isTriggerAura[sPELL_AURA_PRAYER_OF_MENDING] = true;
        isTriggerAura[sPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE] = true;
        isTriggerAura[sPELL_AURA_MOD_DAMAGE_FROM_CASTER] = true;
    +   isTriggerAura[sPELL_AURA_MOD_SPELL_CRIT_CHANCE] = true;
    
        isNonTriggerAura[sPELL_AURA_MOD_POWER_REGEN]=true;
        isNonTriggerAura[sPELL_AURA_REDUCE_PUSHBACK]=true;
    
    @@ -10536,6 +10550,10 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
                    if (triggeredByAura->GetCasterGUID() != pTarget->GetGUID())
                        continue;
                    break;
    +    case SPELL_AURA_MOD_SPELL_CRIT_CHANCE:
    +                if (!procSpell)
    +                    continue;
    +                break;
                default:
                    // nothing do, just charges counter
                    break;
    
    diff --git a/Spell.cpp b/Spell.cpp
    index 9a15b9e..407c3f0 100644
    --- a/Spell.cpp
    +++ b/Spell.cpp
    @@ -699,8 +699,8 @@ void Spell::PrepareDataForTriggerSystem()
        {
            switch (m_spellInfo->SpellFamilyName)
            {
    -            case SPELLFAMILY_MAGE:    // Arcane Missles / Blizzard triggers need do it
    -                if (m_spellInfo->SpellFamilyFlags & 0x0000000000200080LL) m_canTrigger = true;
    +            case SPELLFAMILY_MAGE:    // Arcane Missles / Blizzard triggers / Clearcasting for Arcane Potency need do it
    +                if (m_spellInfo->SpellFamilyFlags & 0x0000000000200080LL || m_spellInfo->SpellIconID == 212) m_canTrigger = true;
                break;
                case SPELLFAMILY_WARLOCK: // For Hellfire Effect / Rain of Fire / Seed of Corruption triggers need do it
                    if (m_spellInfo->SpellFamilyFlags & 0x0000800000000060LL) m_canTrigger = true;
    

    SQL

    -- Arcane Potency
    DELETE FROM `spell_proc_event` WHERE `entry` IN (31571, 31572);
    INSERT INTO `spell_proc_event` VALUES
    (31571, 0x00, 3, 0x00000000, 0x00000022, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0)
    , (31572, 0x00, 3, 0x00000000, 0x00000022, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
    

    Testing)

    The note: Maybe - some bugs from the permission trigger Clearcasting. If those appear - please report.

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