Jump to content

laise

Members
  • Posts

    344
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by laise

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

    fixes Wild Growth heal applying to enemy target

    For which repository revision was the patch created?

    9639

    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 b7a1acd..e328418 100644
    --- a/src/game/Spell.cpp
    +++ b/src/game/Spell.cpp
    @@ -1758,8 +1758,11 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
                    Unit* target = m_targets.getUnitTarget();
                    if(!target)
                        target = m_caster;
    -                uint32 count = CalculateDamage(EFFECT_INDEX_2,m_caster); // stored in dummy effect, affected by mods
    +                // prevent center adding to heal list
    +                else if (!m_caster->IsFriendlyTo(target))
    +                    targetUnitMap.remove(target);
    
    +                uint32 count = CalculateDamage(EFFECT_INDEX_2,m_caster); // stored in dummy effect, affected by mods
                    FillRaidOrPartyHealthPriorityTargets(targetUnitMap, m_caster, target, radius, count, true, false, true);
                }
                else

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

    fixes Seed of Corruption damaging friendly targets

    For which repository revision was the patch created?

    9618

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

    don't remember

    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 5e42bab..f7f1a39 100644
    --- a/src/game/Spell.cpp
    +++ b/src/game/Spell.cpp
    @@ -6416,8 +6416,5 @@ void Spell::FillRaidOrPartyHealthPriorityTargets(UnitList &targetUnitMap, Unit*
    
    WorldObject* Spell::GetCastingObject() const
    {
    -    if (m_originalCasterGUID.IsGameobject())
    -        return m_caster->IsInWorld() ? m_caster->GetMap()->GetGameObject(m_originalCasterGUID) : NULL;
    -    else
    -        return m_caster;
    +    return m_caster->IsInWorld() && !m_originalCasterGUID.IsEmpty() && m_caster->GetObjectGuid() != m_originalCasterGUID ? m_caster->GetMap()->GetWorldObject(m_originalCasterGUID) : m_caster;
    }

    hope it doesn't break anything on the way

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

    fixes summon Doomguard for Curse of Doom

    For which repository revision was the patch created?

    9619

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

    https://mangos.lighthouseapp.com/projects/18208/tickets/400-warlock-spell-curse-of-doom

    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 4cbcad5..d0f8465 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -7176,6 +7176,11 @@ void Aura::PeriodicTick()
                    procVictim|=PROC_FLAG_TAKEN_ANY_DAMAGE;
                pCaster->ProcDamageAndSpell(m_target, procAttacker, procVictim, PROC_EX_NORMAL_HIT, pdamage, BASE_ATTACK, GetSpellProto());
    
    +            // Curse of Doom summon
    +            if (GetSpellProto()->SpellFamilyName==SPELLFAMILY_WARLOCK && GetSpellProto()->SpellFamilyFlags & UI64LIT(0x200000000))
    +                if (pCaster->GetTypeId() == TYPEID_PLAYER && m_target->GetHealth() <= pdamage && ((Player*)pCaster)->isHonorOrXPTarget(m_target))
    +                    pCaster->CastSpell(m_target, 18662, true);
    +
                pCaster->DealDamage(m_target, pdamage, &cleanDamage, DOT, GetSpellSchoolMask(GetSpellProto()), GetSpellProto(), true);
                break;
            }
    diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
    index 9aff9bd..3cc3e54 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp
    @@ -4236,7 +4236,7 @@ void Spell::DoSummonWild(SpellEffectIndex eff_idx, uint32 forceFaction)
        if (!creature_entry)
            return;
    
    -    uint32 level = m_caster->getLevel();
    +    uint32 level = m_spellInfo->Id != 18662 ? m_caster->getLevel() : damage;
    
        // level of creature summoned using engineering item based at engineering skill level
        if (m_caster->GetTypeId()==TYPEID_PLAYER && m_CastItem)
    @@ -4259,7 +4259,7 @@ void Spell::DoSummonWild(SpellEffectIndex eff_idx, uint32 forceFaction)
        int32 duration = GetSpellDuration(m_spellInfo);
        TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_OR_DEAD_DESPAWN;
    
    -    int32 amount = damage > 0 ? damage : 1;
    +    int32 amount = damage > 0 && m_spellInfo->Id != 18662 ? damage : 1;
    
        for(int32 count = 0; count < amount; ++count)
        {

    I'm not sure if pCaster should cast on target =\\ and maybe the only summon spell that has level as basepoints

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

    fixes passed roll that was displaying as need roll and need roll that had wrong message on need select

    For which repository revision was the patch created?

    9613

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

    https://mangos.lighthouseapp.com/projects/18208/tickets/416-pass-on-loot-roll-shows-wrong-log-entry

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

    me

    diff --git a/src/game/Group.cpp b/src/game/Group.cpp
    index 961b82a..8541b3d 100644
    --- a/src/game/Group.cpp
    +++ b/src/game/Group.cpp
    @@ -721,14 +721,14 @@ bool Group::CountRollVote(ObjectGuid const& playerGUID, Rolls::iterator& rollI,
        {
            case ROLL_PASS:                                     // Player choose pass
            {
    -            SendLootRoll(playerGUID, 0, ROLL_PASS, *roll);
    +            SendLootRoll(playerGUID, 128, ROLL_PASS, *roll);
                ++roll->totalPass;
                itr->second = PASS;
            }
            break;
            case ROLL_NEED:                                     // player choose Need
            {
    -            SendLootRoll(playerGUID, 0, ROLL_NEED, *roll);
    +            SendLootRoll(playerGUID, 0, 0, *roll);
                ++roll->totalNeed;
                itr->second = NEED;
            }

  5. hey laise, thanks for the patch, its working!

    But there is still 1 major problem.

    for example, 2rogues use Deadlypoison on a Boss, sometimes stacks goes down to 1... so this fix could only help for 1rogue atm, would be cool if you can try to take a look on it :P

    was it caused by this patch or unrelated? also should poisons from diff casters stack?

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

    fixes Improved Stormstrike proc

    For which repository revision was the patch created?

    9609

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

    http://ru-mangos.ru/showthread.php?t=397

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

    me

    DELETE FROM `spell_proc_event` WHERE `entry` IN (51521);
    INSERT INTO `spell_proc_event` VALUES
    (51521, 0x00, 11, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0.000000, 0.000000, 1);

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

    fixes Invincible

    For which repository revision was the patch created?

    9609

    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 5f8439e..a76efd7 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp
    @@ -5806,6 +5806,38 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
                        m_caster->CastSpell(unitTarget, 72588, true);
                        return;
                    }
    +                case 72286:                                 // Invincible
    +                {
    +                    if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
    +                        return;
    +
    +                    // Prevent stacking of mounts
    +                    unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOUNTED);
    +                    uint16 skillval = ((Player*)unitTarget)->GetSkillValue(SKILL_RIDING);
    +                    if (!skillval)
    +                        return;
    +
    +                    if (skillval >= 225)
    +                    {
    +                        uint32 spellid = skillval >= 300 ? 72284 : 72283;
    +                        SpellEntry const *pSpell = sSpellStore.LookupEntry(spellid);
    +                        // zone check
    +                        uint32 zone, area;
    +                        unitTarget->GetZoneAndAreaId(zone, area);
    +
    +                        SpellCastResult locRes= sSpellMgr.GetSpellAllowedInLocationError(pSpell, unitTarget->GetMapId(), zone, area, unitTarget->GetCharmerOrOwnerPlayerOrPlayerItself());
    +                        if (locRes != SPELL_CAST_OK || !((Player*)unitTarget)->IsKnowHowFlyIn(unitTarget->GetMapId(),zone))
    +                            unitTarget->CastSpell(unitTarget, 72282, true);
    +                        else
    +                            unitTarget->CastSpell(unitTarget, pSpell, true);
    +                    }
    +                    else if (skillval >= 150)
    +                        unitTarget->CastSpell(unitTarget, 72282, true);
    +                    else 
    +                        unitTarget->CastSpell(unitTarget, 72281, true);
    +
    +                    return;
    +                }
                }
                break;
            }

    note: needed data in creature_template for correct work

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

    fixes self heal when having this glyph on

    For which repository revision was the patch created?

    9605

    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 ffe492a..5f8439e 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp
    @@ -4116,6 +4116,11 @@ void Spell::EffectDispel(SpellEffectIndex eff_idx)
                {
                    int32 heal_amount = m_spellInfo->CalculateSimpleValue(EFFECT_INDEX_1);
                    m_caster->CastCustomSpell(m_caster, 19658, &heal_amount, NULL, NULL, true);
    +
    +                // Glyph of Felhunter
    +                if (Unit *owner = m_caster->GetOwner())
    +                    if (owner->HasAura(56249))
    +                        m_caster->CastCustomSpell(owner, 19658, &heal_amount, NULL, NULL, true);
                }
            }
            // Send fail log to client

    I'm not sure if procFlags needs to be used since glyph aura is on player and felhunter's spell cast can't proc it

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

    fixes Primal Tenacity talent according to 3.1 patch notes:

    Patch 3.1.0 (2009-04-14): The damage reduction while stunned effect now only works in Cat Form

    For which repository revision was the patch created?

    9573

    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 1ae628e..57729a4 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -2000,8 +2000,8 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe
                    // Primal Tenacity
                    if (spellProto->SpellIconID == 2253)
                    {
    -                    //reduces all damage taken while Stunned
    -                    if (unitflag & UNIT_FLAG_STUNNED)
    +                    //reduces all damage taken while Stunned & in Cat Form
    +                    if (pVictim->m_form == FORM_CAT && (unitflag & UNIT_FLAG_STUNNED))
                            RemainingDamage -= RemainingDamage * currentAbsorb / 100;
                        continue;
                    }

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

    implements aura 284

    For which repository revision was the patch created?

    9570

    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/SpellAuraDefines.h b/src/game/SpellAuraDefines.h
    index 1bce86b..fb5a5ee 100644
    --- a/src/game/SpellAuraDefines.h
    +++ b/src/game/SpellAuraDefines.h
    @@ -326,7 +326,7 @@ enum AuraType
        SPELL_AURA_MOD_HONOR_GAIN = 281,
        SPELL_AURA_MOD_BASE_HEALTH_PCT = 282,
        SPELL_AURA_MOD_HEALING_RECEIVED = 283,                  // Possibly only for some spell family class spells
    -    SPELL_AURA_284,
    +    SPELL_AURA_LINKED = 284,
        SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR = 285,
        SPELL_AURA_ABILITY_PERIODIC_CRIT = 286,
        SPELL_AURA_DEFLECT_SPELLS = 287,
    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index acee827..4a64b7c 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -334,7 +334,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
        &Aura::HandleNoImmediateEffect,                         //281 SPELL_AURA_MOD_HONOR_GAIN             implemented in Player::RewardHonor
        &Aura::HandleAuraIncreaseBaseHealthPercent,             //282 SPELL_AURA_INCREASE_BASE_HEALTH_PERCENT
        &Aura::HandleNoImmediateEffect,                         //283 SPELL_AURA_MOD_HEALING_RECEIVED       implemented in Unit::SpellHealingBonus
    -    &Aura::HandleNULL,                                      //284 51 spells
    +    &Aura::HandleAuraLinked,                                //284 SPELL_AURA_LINKED
        &Aura::HandleAuraModAttackPowerOfArmor,                 //285 SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR  implemented in Player::UpdateAttackPowerAndDamage
        &Aura::HandleNoImmediateEffect,                         //286 SPELL_AURA_ABILITY_PERIODIC_CRIT      implemented in Aura::IsCritFromAbilityAura called from Aura::PeriodicTick
        &Aura::HandleNoImmediateEffect,                         //287 SPELL_AURA_DEFLECT_SPELLS             implemented in Unit::MagicSpellHitResult and Unit::MeleeSpellHitResult
    @@ -8367,3 +8367,29 @@ void Aura::HandleAllowOnlyAbility(bool apply, bool Real)
        m_target->UpdateDamagePhysical(RANGED_ATTACK);
        m_target->UpdateDamagePhysical(OFF_ATTACK);
    }
    +
    +void Aura::HandleAuraLinked(bool apply, bool Real)
    +{
    +    if(!Real)
    +        return;
    +
    +    uint32 linked_spell_id = GetSpellProto()->EffectTriggerSpell[GetEffIndex()];
    +    int32 basepoints = GetModifier()->m_amount;
    +
    +    SpellEntry const *spellInfo = sSpellStore.LookupEntry(linked_spell_id);
    +    if (!spellInfo)
    +    {
    +        sLog.outError("HandleAuraLinked of spell %u: triggering unknown spell id %i", GetSpellProto()->Id, linked_spell_id);
    +        return;
    +    }
    +
    +    if (apply)
    +    {
    +        if (basepoints)
    +            m_target->CastCustomSpell(m_target, spellInfo, &basepoints, NULL, NULL, true, NULL, this, GetCaster() ? GetCaster()->GetGUID() : NULL);
    +        else
    +            m_target->CastSpell(m_target, spellInfo, true, NULL, this, GetCaster() ? GetCaster()->GetGUID() : NULL);
    +    }
    +    else
    +        m_target->RemoveAurasDueToSpell(linked_spell_id);
    +}
    \\ No newline at end of file
    diff --git a/src/game/SpellAuras.h b/src/game/SpellAuras.h
    index 5f0b2d6..0cda226 100644
    --- a/src/game/SpellAuras.h
    +++ b/src/game/SpellAuras.h
    @@ -221,6 +221,7 @@ class MANGOS_DLL_SPEC Aura
            void HandleModTargetArmorPct(bool Apply, bool Real);
            void HandleAuraModAllCritChance(bool Apply, bool Real);
            void HandleAllowOnlyAbility(bool Apply, bool Real);
    +        void HandleAuraLinked(bool Apply, bool Real);
    
            virtual ~Aura();
    

    I'm not sure about right name for this aura, but it should work similar to SpellSpecificBoosts except that its based on single aura instead of the whole spell. Triggered spells not always exist in dbc so need to find correct ids and add them later

  11. forgot this :

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index ccee667..d9a7911 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -12950,6 +12950,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
                case SPELL_AURA_OBS_MOD_MANA:
                case SPELL_AURA_MOD_STUN:
                case SPELL_AURA_ADD_PCT_MODIFIER:
    +            case SPELL_AURA_PERIODIC_DUMMY:
                case SPELL_AURA_DUMMY:
                {
                    sLog.outDebug("ProcDamageAndSpell: casting spell id %u (triggered by %s dummy aura of spell %u)", spellInfo->Id,(isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
    

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

    fixes heal over time applying when target has Sacred Shield

    and use original Spell proc flags for Sacred Shield

    For which repository revision was the patch created?

    9531

    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 d6d1adb..d9a7911 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -6595,6 +6595,24 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                    // Sacred Shield (talent rank)
                    case 53601:
                    {
    +                    // Infusion of Light second part
    +                    if (procFlag & PROC_FLAG_TAKEN_POSITIVE_SPELL)
    +                    {
    +                        if (procSpell->SpellFamilyName == SPELLFAMILY_PALADIN && (procSpell->SpellFamilyFlags & UI64LIT(0x40000000)))
    +                        {
    +                            AuraList const& auras = pVictim->GetAurasByType(SPELL_AURA_PROC_TRIGGER_SPELL);
    +                            for(AuraList::const_iterator iter = auras.begin(); iter!=auras.end(); ++iter)
    +                            {
    +                                if((*iter)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_PALADIN && (*iter)->GetSpellProto()->SpellIconID == 3021)
    +                                {
    +                                    int32 bp = damage * (*iter)->GetSpellProto()->CalculateSimpleValue(EFFECT_INDEX_2) / 1200;
    +                                    pVictim->CastCustomSpell(this, 66922, &bp, NULL, NULL, true, NULL, (*iter), pVictim->GetGUID());
    +                                    return true;
    +                                }
    +                            }
    +                        }
    +                        return false;
    +                    }
                        triggered_spell_id = 58597;
                        target = this;
                        break;
    

    sql:

    DELETE FROM spell_proc_event WHERE entry=53601

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

    fixes damage increase for Smite with Glyph of Smite and Holy Fire on target

    For which repository revision was the patch created?

    9531

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

    https://mangos.lighthouseapp.com/projects/18208/tickets/433-glyph-priest-glyph-of-smite

    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 71c9642..d6d1adb 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -9326,6 +9326,18 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3
                }
                break;
            }
    +        case SPELLFAMILY_PRIEST:
    +        {
    +            // Glyph of Smite
    +            if (spellProto->SpellFamilyFlags & UI64LIT(0x00000080))
    +            {
    +                // Holy Fire
    +                if (pVictim->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_PRIEST, UI64LIT(0x00100000), NULL))
    +                    if (Aura *aur = GetAura(55692, EFFECT_INDEX_0))
    +                        DoneTotalMod *= (aur->GetModifier()->m_amount+100.0f) / 100.0f;
    +            }
    +            break;
    +        }
            case SPELLFAMILY_DEATHKNIGHT:
            {
                // Icy Touch, Howling Blast and Frost Strike
    

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