Jump to content

laise

Members
  • Posts

    344
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by laise

  1. adds benefit from actual spell power instead of healing/damage bonuses and fix Borrowed Time Power Word: Shield absorb

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index 9b4c9b5..8f6692a 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -6480,32 +6480,61 @@ void Aura::HandleSchoolAbsorb(bool apply, bool Real)
                    case SPELLFAMILY_PRIEST:
                        // Power Word: Shield
                        if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000001))
    +                    {
    +                        if (caster->GetTypeId() != TYPEID_PLAYER)
    +                            break;
                            //+80.68% from +spell bonus
    -                        DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.8068f;
    +                        DoneActualBenefit = ((Player*)caster)->GetBaseSpellPowerBonus() * 0.8068f;
    +
    +                        // Borrowed Time
    +                        Unit::AuraList const& timeDummyAuras = caster->GetAurasByType(SPELL_AURA_DUMMY);
    +                        for(Unit::AuraList::const_iterator itr = timeDummyAuras.begin(); itr != timeDummyAuras.end(); ++itr)
    +                        {
    +                            if ((*itr)->GetSpellProto()->SpellIconID == 2899 && (*itr)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_PRIEST)
    +                            {
    +                                DoneActualBenefit += (*itr)->GetModifier()->m_amount * ((Player*)caster)->GetBaseSpellPowerBonus() / 100;
    +                                break;
    +                            }
    +                        }
    +                    }
                        break;
                    case SPELLFAMILY_MAGE:
                        // Frost Ward, Fire Ward
                        if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000108))
    +                    {
    +                        if (caster->GetTypeId() != TYPEID_PLAYER)
    +                            break;
                            //+10% from +spell bonus
    -                        DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.1f;
    +                        DoneActualBenefit = ((Player*)caster)->GetBaseSpellPowerBonus() * 0.1f;
    +                    }
                        // Ice Barrier
                        else if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000100000000))
    +                    {
    +                        if (caster->GetTypeId() != TYPEID_PLAYER)
    +                            break;
                            //+80.67% from +spell bonus
    -                        DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.8067f;
    +                        DoneActualBenefit = ((Player*)caster)->GetBaseSpellPowerBonus() * 0.8067f;
    +                    }
                        break;
                    case SPELLFAMILY_WARLOCK:
                        // Shadow Ward
                        if (m_spellProto->SpellFamilyFlags2 & 0x00000040)
    +                    {
    +                        if (caster->GetTypeId() != TYPEID_PLAYER)
    +                            break;
                            //+30% from +spell bonus
    -                        DoneActualBenefit = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) * 0.30f;
    +                        DoneActualBenefit = ((Player*)caster)->GetBaseSpellPowerBonus() * 0.30f;
    +                    }
                        break;
                    case SPELLFAMILY_PALADIN:
                        // Sacred Shield
                        // (check not strictly needed, only Sacred Shield has SPELL_AURA_SCHOOL_ABSORB in SPELLFAMILY_PALADIN at this time)
                        if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0008000000000000))
    -                    {
    +                    {    
    +                        if (caster->GetTypeId() != TYPEID_PLAYER)
    +                            break;
                            // +75% from spell power
    -                        DoneActualBenefit = caster->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellProto)) * 0.75f;
    +                        DoneActualBenefit = ((Player*)caster)->GetBaseSpellPowerBonus() * 0.75f;
                        }
                        break;
                    default:

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

    adds proc chances / ppm to judgements

    For which repository revision was the patch created?

    9236

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

    haven't seen any

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

    me

    /* Judgement of Light has fixed 40% proc */
    DELETE FROM `spell_proc_event` WHERE entry = 20185;
    INSERT INTO `spell_proc_event` VALUES
    (20185, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0);
    /* Judgement of Wisdom has 15ppm */
    DELETE FROM `spell_proc_event` WHERE entry = 20186;
    INSERT INTO `spell_proc_event` VALUES
    (20186, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0);

    as far as i know "chance on hit" is not supposed to be 100% chance...

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

    fixes Rime - proc, cd removing and rune cost part for Howling Blast

    For which repository revision was the patch created?

    9236

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

    haven't seen any

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

    me

                     diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
    index 91777de..01dee9e 100644
    --- a/src/game/Spell.cpp
    +++ b/src/game/Spell.cpp
    @@ -3757,8 +3757,21 @@ SpellCastResult Spell::CheckRuneCost(uint32 runeCostID)
        for(uint32 i = 0; i < MAX_RUNES; ++i)
        {
            RuneType rune = plr->GetCurrentRune(i);
    -        if((plr->GetRuneCooldown(i) == 0) && (runeCost[rune] > 0))
    -            runeCost[rune]--;
    +        if (runeCost[rune] > 0)
    +        {   
    +            int32 runeCostTemp = runeCost[rune] * 10000;
    +            if(Player* modOwner = plr->GetSpellModOwner())
    +                modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_COST, runeCostTemp, this);
    +
    +            if (runeCostTemp <= 0)
    +            {
    +                runeCost[rune]--;
    +                continue;
    +            }
    +
    +            if(plr->GetRuneCooldown(i) == 0)
    +                runeCost[rune]--;
    +        }
        }
    
        for(uint32 i = 0; i < RUNE_DEATH; ++i)
    @@ -3800,15 +3813,28 @@ void Spell::TakeRunePower()
        for(uint32 i = 0; i < MAX_RUNES; ++i)
        {
            RuneType rune = plr->GetCurrentRune(i);
    -        if((plr->GetRuneCooldown(i) == 0) && (runeCost[rune] > 0))
    -        {
    -            plr->SetRuneCooldown(i, RUNE_COOLDOWN);         // 5*2=10 sec
    -            
    +        if (runeCost[rune] > 0)
    +        {
    +            int32 runeCostTemp = runeCost[rune] * 10000;
    +            if(Player* modOwner = plr->GetSpellModOwner())
    +                modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_COST, runeCostTemp, this);
    +
    +            if (runeCostTemp <= 0)
    +            {
    +                runeCost[rune]--;
    +                continue;
    +            }
    +
    +            if(plr->GetRuneCooldown(i) == 0)
    +            {
    +                plr->SetRuneCooldown(i, RUNE_COOLDOWN);         // 5*2=10 sec
    +                
    -            runeCost[rune]--;
    -        }
    +                runeCost[rune]--;
    +            }
    +        }
        }
    
        runeCost[RUNE_DEATH] = runeCost[RUNE_BLOOD] + runeCost[RUNE_UNHOLY] + runeCost[RUNE_FROST];
    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index dc1efb2..58eff5e 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -7719,6 +7719,13 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB
                    return false;
                break;
            }
    +        // Freezing Fog (Rime triggered)
    +        case 59052:
    +        {
    +            if (GetTypeId() == TYPEID_PLAYER)
    +                ((Player*)this)->RemoveSpellCategoryCooldown(1248, true);
    +            break;
    +        }
            // Druid - Savage Defense
            case 62606:
            {
    
    

    sql:

    DELETE FROM spell_proc_event WHERE entry IN (49188,56822,59057);
    INSERT INTO `spell_proc_event` VALUES
    (49188, 0, 15, 0, 0x20000, 0, 0, 0, 0, 0, 0);
    INSERT INTO `spell_chain` VALUES
    (49188, 0, 49188, 1, 0);
    INSERT INTO `spell_chain` VALUES
    (56822, 49188, 49188, 2, 0);
    INSERT INTO `spell_chain` VALUES
    (59057, 56822, 49188, 3, 0);

  4. but why in original patch angle version is replaced by PUSH_IN_FRONT instead of

            case TARGET_IN_FRONT_OF_CASTER_2:
               if (m_spellInfo->SpellFamilyName == SPELLFAMILY_GENERIC)
                   FillAreaTargets(targetUnitMap, m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_30, SPELL_TARGETS_AOE_DAMAGE);
               else
                   FillAreaTargets(targetUnitMap, m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_90, SPELL_TARGETS_AOE_DAMAGE);
               break;

    ?

  5. like this ?

    diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
    index db31834..013f1ef 100644
    --- a/src/game/SharedDefines.h
    +++ b/src/game/SharedDefines.h
    @@ -1098,7 +1098,7 @@ enum Targets
        TARGET_SELF2                       = 87,
        TARGET_DIRECTLY_FORWARD            = 89,
        TARGET_NONCOMBAT_PET               = 90,
    -    TARGET_IN_FRONT_OF_CASTER_30       = 104,
    +    TARGET_IN_FRONT_OF_CASTER_90       = 104,
    };
    
    enum SpellMissInfo
    diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
    index 6d19612..680f34a 100644
    --- a/src/game/Spell.cpp
    +++ b/src/game/Spell.cpp
    @@ -1855,14 +1855,12 @@ void Spell::SetTargetMap(uint32 effIndex, uint32 targetMode, UnitList& targetUni
                break;
            }
            case TARGET_LARGE_FRONTAL_CONE:
    +        case TARGET_IN_FRONT_OF_CASTER_90:
                FillAreaTargets(targetUnitMap, m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_90, SPELL_TARGETS_AOE_DAMAGE);
                break;
            case TARGET_NARROW_FRONTAL_CONE:
                FillAreaTargets(targetUnitMap, m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_15, SPELL_TARGETS_AOE_DAMAGE);
                break;
    -        case TARGET_IN_FRONT_OF_CASTER_30:
    -            FillAreaTargets(targetUnitMap, m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_30, SPELL_TARGETS_AOE_DAMAGE);
    -            break;
            case TARGET_DUELVSPLAYER:
            {
                Unit *target = m_targets.getUnitTarget();
    diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
    index 54652d4..74df2a1 100644
    --- a/src/game/SpellMgr.cpp
    +++ b/src/game/SpellMgr.cpp
    @@ -415,7 +415,7 @@ bool IsPositiveTarget(uint32 targetA, uint32 targetB)
            case TARGET_ALL_ENEMY_IN_AREA_CHANNELED:
            case TARGET_CURRENT_ENEMY_COORDINATES:
            case TARGET_SINGLE_ENEMY:
    -        case TARGET_IN_FRONT_OF_CASTER_30:
    +        case TARGET_IN_FRONT_OF_CASTER_90:
                return false;
            case TARGET_CASTER_COORDINATES:
                return (targetB == TARGET_ALL_PARTY || targetB == TARGET_ALL_FRIENDLY_UNITS_AROUND_CASTER);
    diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h
    index 741b363..9de3323 100644
    --- a/src/game/SpellMgr.h
    +++ b/src/game/SpellMgr.h
    @@ -249,7 +249,7 @@ inline bool IsCasterSourceTarget(uint32 target)
            case TARGET_SELF2:
            case TARGET_DIRECTLY_FORWARD:
            case TARGET_NONCOMBAT_PET:
    -        case TARGET_IN_FRONT_OF_CASTER_30:
    +        case TARGET_IN_FRONT_OF_CASTER_90:
                return true;
            default:
                break;
    @@ -320,7 +320,7 @@ inline bool IsAreaEffectTarget( Targets target )
            case TARGET_AREAEFFECT_CUSTOM_2:
            case TARGET_ALL_RAID_AROUND_CASTER:
            case TARGET_AREAEFFECT_PARTY_AND_CLASS:
    -        case TARGET_IN_FRONT_OF_CASTER_30:
    +        case TARGET_IN_FRONT_OF_CASTER_90:
                return true;
            default:
                break;

  6. bug description: blink stopped working if you cast it while jumping, on certain maps if your destination is higher or lower it would go fail attempt

    diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
    index 5e99cb7..0a68943 100644
    --- a/src/game/Spell.cpp
    +++ b/src/game/Spell.cpp
    @@ -4829,13 +4829,13 @@ SpellCastResult Spell::CheckCast(bool strict)
                    float fx = m_caster->GetPositionX() + dis * cos(m_caster->GetOrientation());
                    float fy = m_caster->GetPositionY() + dis * sin(m_caster->GetOrientation());
                    // teleport a bit above terrain level to avoid falling below it
    -                float fz = m_caster->GetBaseMap()->GetHeight(fx,fy,m_caster->GetPositionZ(),true);
    +                float fz = m_caster->GetBaseMap()->GetHeight(fx,fy,MAX_HEIGHT,true);
                    if(fz <= INVALID_HEIGHT)                    // note: this also will prevent use effect in instances without vmaps height enabled
                        return SPELL_FAILED_TRY_AGAIN;
    
                    float caster_pos_z = m_caster->GetPositionZ();
                    // Control the caster to not climb or drop when +-fz > 8
    -                if(!(fz <= caster_pos_z + 8 && fz >= caster_pos_z - 8))
    +                if(!(fz <= caster_pos_z + 8))
                        return SPELL_FAILED_TRY_AGAIN;
    
                    // not allow use this effect at battleground until battleground start
    diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
    index 18b3420..c478668 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp
    @@ -6238,6 +6238,20 @@ void Spell::EffectLeapForward(uint32 i)
            // before caster
            float fx, fy, fz;
            unitTarget->GetClosePoint(fx, fy, fz, unitTarget->GetObjectSize(), dis);
    +
    +        // check if map height is valid
    +        float tempZ = unitTarget->GetBaseMap()->GetHeight(fx,fy,fz,true);
    +
    +        // relocate to map surface
    +        if (tempZ <= INVALID_HEIGHT)
    +        {
    +            float mapHeight = unitTarget->GetBaseMap()->GetHeight(fx,fy,MAX_HEIGHT,true);
    +
    +            // don't allow land on map if there is high difference between map height and target z
    +            if (!(mapHeight + 8 < fz))
    +                fz = mapHeight;
    +        }
    +
            float ox, oy, oz;
            unitTarget->GetPosition(ox, oy, oz);

    from the retail info you can blink while standing on the hill but almost sure that you can't climb

    1) this will adjust you blink landing point according to a map height instead of expecting flat surface always

    2) if you jump from too high hill u will appear in the air and fall

    3) maybe i needed to change spell effect part after getting position from vmap

    4)idk why blink broke only after 3.3 so maybe its wrong to fix it like that

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

    fixes proc of Divine Guardian and stacking with Divine Sacrifice

    For which repository revision was the patch created?

    9203

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

    haven't seen any

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

    me

    diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
    index 74cc8f1..0cf1067 100644
    --- a/src/game/SpellMgr.cpp
    +++ b/src/game/SpellMgr.cpp
    @@ -1688,6 +1688,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
                    // Seal of Corruption (caster/target parts stacking allow, other stacking checked by spell specs)
                    if (spellInfo_1->SpellIconID == 2292 && spellInfo_2->SpellIconID == 2292)
                        return false;
    +                
    +                // Divine Sacrifice and Divine Guardian
    +                if (spellInfo_1->SpellIconID == 3837 && spellInfo_2->SpellIconID == 3837)
    +                    return false;
                }
    
                // Blessing of Sanctuary (multi-family check, some from 16 spell icon spells)

    DELETE FROM `spell_proc_event` WHERE `entry` IN (53527, 53530);
    INSERT INTO `spell_proc_event` VALUES
    (53527, 0x00, 10, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
    INSERT INTO `spell_proc_event` VALUES
    (53530, 0x00, 10, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);

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

    fixes Vampiric Embrace (3.3 patch notes)

    For which repository revision was the patch created?

    9203

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

    haven't seen any

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

    me

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index e4dd6c0..1b17136 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -5690,17 +5690,10 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                    // Vampiric Embrace
                    case 15286:
                    {
    -                    if(!pVictim || !pVictim->isAlive())
    -                        return false;
    -
    -                    // pVictim is caster of aura
    -                    if(triggeredByAura->GetCasterGUID() != pVictim->GetGUID())
    -                        return false;
    -
                        // heal amount
                        int32 team = triggerAmount*damage/500;
                        int32 self = triggerAmount*damage/100 - team;
    -                    pVictim->CastCustomSpell(pVictim,15290,&team,&self,NULL,true,castItem,triggeredByAura);
    +                    CastCustomSpell(this,15290,&team,&self,NULL,true,castItem,triggeredByAura);
                        return true;                                // no hidden cooldown
                    }
                    // Priest Tier 6 Trinket (Ashtongue Talisman of Acumen)

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

    fixes Deadly Poison attack power bonus (3.1 patch notes)

    For which repository revision was the patch created?

    9138

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

    haven't seen any

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

    me

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index dcb9c60..85327d1 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -4753,8 +4753,8 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
                    // Deadly Poison
                    if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000010000))
                    {
    -                    // 0.08*$AP / 4 * amount of stack
    -                    m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 2 * GetStackAmount() / 100);
    +                    // 0.12*$AP / 4 * amount of stack
    +                    m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 3 * GetStackAmount() / 100);
                        return;
                    }
                    break;
    

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

    updates Fire Nova according to 3.3 changes

    For which repository revision was the patch created?

    9139(should work on latest)

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

    haven't seen any

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

    me

    diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
    index d61815e..4994f08 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp
    @@ -1968,6 +1931,37 @@ void Spell::EffectDummy(uint32 i)
                    }
                    return;
                }
    +            // Fire Nova
    +            if (m_spellInfo->SpellIconID == 33)
    +            {
    +                if (!m_caster)
    +                    return;
    +
    +                uint32 triggered_spell_id;
    +                switch(m_spellInfo->Id)
    +                {
    +                    case 1535:  triggered_spell_id = 8349; break;
    +                    case 8498:  triggered_spell_id = 8502; break;
    +                    case 8499:  triggered_spell_id = 8503; break;
    +                    case 11314: triggered_spell_id = 11306; break;
    +                    case 11315: triggered_spell_id = 11307; break;
    +                    case 25546: triggered_spell_id = 25535; break;
    +                    case 25547: triggered_spell_id = 25537; break;
    +                    case 61649: triggered_spell_id = 61650; break;
    +                    case 61657: triggered_spell_id = 61654; break;
    +                    default:
    +                        break;
    +                }
    +                // fire slot
    +                if (triggered_spell_id && m_caster->m_TotemSlot[0])
    +                {
    +                    Creature* totem = m_caster->GetMap()->GetCreature(m_caster->m_TotemSlot[0]);
    +                    if (totem && totem->isTotem())
    +                        totem->CastSpell(totem, triggered_spell_id, true, NULL, NULL, m_caster->GetGUID());
    +                }
    +                return;
    +            }
                break;
            case SPELLFAMILY_DEATHKNIGHT:
                // Death Coil
    
    

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

    fixes healing of Glyph of Rejuvenation

    For which repository revision was the patch created?

    9130

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

    haven't seen any

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

    me

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index 55e11ec..590c45d 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -5843,6 +5843,15 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                        triggered_spell_id = 32747;
                        break;
                    }
    +                // Glyph of Rejuvenation
    +                case 54754:
    +                {
    +                    if (pVictim->GetMaxHealth() * 0.5 < pVictim->GetHealth())
    +                        return false;
    +                    basepoints0 = triggerAmount * damage / 100;
    +                    triggered_spell_id = 54755;
    +                    break;
    +                }
                }
                // Eclipse
                if (dummySpell->SpellIconID == 2856)

    -- (54754) Glyph of Rejuvenation ()
    DELETE FROM `spell_proc_event` WHERE `entry` IN (54754);
    INSERT INTO `spell_proc_event` VALUES
    (54754, 0x08, 7, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);
    

    from retail info its heal amount is just half of Rejuvenation ticks

  12. diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index ae7d0ff..5f328ce 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -5923,6 +5923,12 @@ void Aura::HandleSpellSpecificBoosts(bool apply)
                    else
                        return;
                }
    +            // remove Combustion triggered
    +            else if (m_spellProto->Id == 11129 && !apply)
    +            {
    +                spellId1 = 28682;
    +                break;
    +            }
                else
                    return;
                break;
    

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

    fixes damage inflict and aura remove on parry

    For which repository revision was the patch created?

    9112

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

    haven't seen any

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

    Me

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index 6a820c6..0c03421 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -6947,6 +6947,18 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB
                    //case 44527: break;                        // Hate Monster (Spar Buddy) (30 sec)
                    //case 44819: break;                        // Hate Monster (Spar Buddy) (>30% Health)
                    //case 44820: break;                        // Hate Monster (Spar) (<30%)
    +                case 64440:                                 // Blade Warding
    +                {
    +                    SpellEntry const *triggeredSpell = sSpellStore.LookupEntry(64442);
    +                    basepoints[0] = triggeredByAura->GetStackAmount() * triggeredSpell->CalculateSimpleValue(0);
    +                    trigger_spell_id = triggeredSpell->Id;
    +                    triggeredByAura->SetStackAmount(1); // allow remove of all stack
    +
    +                    if (Aura *aur = GetAura(64440, 0))
    +                        aur->SetStackAmount(1);
    +
    +                    break;
    +                }
                    case 45057:                                 // Evasive Maneuvers (Commendation of Kael`thas trinket)
                        // reduce you below $s1% health
                        if (GetHealth() - damage > GetMaxHealth() * triggerAmount / 100)

    -- (64440) Blade Warding ()
    DELETE FROM `spell_proc_event` WHERE `entry` IN (64440);
    INSERT INTO `spell_proc_event` VALUES
    (64440, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000020, 0.000000, 0.000000, 0);
    

  14. seems like field related to which aura on what effIndex should proc is really missing there (gfor spells that have more than 1 effect)..

    example spell : 64440

    that first effect aura will proc because spell has proc event and charge will be removed so it will never get to second effect with actual spell cast.. it can be solved with hacky way of adding SPELL_AURA_MOD_RATING

           switch(auraModifier->m_auraname)
           {
               case SPELL_AURA_PROC_TRIGGER_SPELL:
               case SPELL_AURA_MOD_RATING:
               {
                   sLog.outDebug("ProcDamageAndSpell: casting spell %u (triggered by %s aura of spell %u)", spellInfo->Id,(isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
                   // Don`t drop charge or add cooldown for not started trigger
                   if (!HandleProcTriggerSpell(pTarget, damage, triggeredByAura, procSpell, procFlag, procExtra, cooldown))
                   {

    but its not the only spell that needs it.. and there are spells that have 2 procing dummy auras and it is also hardcoded for each effIndex.

    anyone else thinks its needed?

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

    adds correct class mask to proc event

    For which repository revision was the patch created?

    9112

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

    haven't seen any

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

    Me

    -- (67365) Item - Paladin T9 Retribution Relic (Seal of Vengeance) ()
    DELETE FROM `spell_proc_event` WHERE `entry` IN (67365);
    INSERT INTO `spell_proc_event` VALUES
    (67365, 0x00, 10, 0x00000000, 0x00000800, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 0);

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