Jump to content

Most_Mangos

Members
  • Posts

    46
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Most_Mangos

  1. -- fixed some spell for DK
    
    -- (49004) Scent of Blood 
    DELETE FROM spell_proc_event WHERE entry = 49004;
    INSERT INTO spell_proc_event VALUES
    (49004, 0x00, 0x0F, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000031, 0, 15, 0);
    
    -- (51123) Killing Machine
    DELETE FROM spell_proc_event WHERE entry = 51123;
    INSERT INTO spell_proc_event VALUES
    (51123, 0x00, 0x0F, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000000, 5, 100, 0);
    
    -- (49200) Acclimation
    DELETE FROM spell_proc_event WHERE entry = 49200;
    
    -- (48988) Bloody Vengeance
    DELETE FROM spell_proc_event WHERE entry = 48988;
    INSERT INTO spell_proc_event VALUES
    (48988, 0x00, 0x0F, 0x00000000, 0x00000000, 0x00000000, 0x00011154, 0x00000002, 0, 100, 0);
    
    -- (49149) Chill of the Grave
    DELETE FROM spell_proc_event WHERE entry = 49149;
    INSERT INTO spell_proc_event VALUES
    (49149, 0x00, 0x0F, 0x00000006, 0x00020002, 0x00000000, 0x00015410, 0x00000000, 0, 100, 0);
    
    -- (49223) Dirge
    DELETE FROM spell_proc_event WHERE entry = 49223;
    INSERT INTO spell_proc_event VALUES
    (49223, 0x00, 0x0F, 0x00000011, 0x08000000, 0x00000000, 0x00015410, 0x00000000, 0, 100, 0);
    
    -- (55666) Desecration
    DELETE FROM spell_proc_event WHERE entry = 55666;
    INSERT INTO spell_proc_event VALUES
    (55666, 0x00, 0x0F, 0x00000001, 0x08000000, 0x00000000, 0x00000010, 0x00000000, 0, 100, 0);
    
    -- (50880) Icy Talons
    DELETE FROM spell_proc_event WHERE entry = 50880;
    INSERT INTO spell_proc_event VALUES
    (50880, 0x00, 0x0F, 0x00000000, 0x04000000, 0x00000000, 0x00070000, 0x00000000, 0, 100, 0);

  2. [10400+]

    src/game/Spell.cpp 
    View file @ 0612903...    ...    @@ -3072,6 +3072,13 @@ void Spell::cast(bool skipCheck)
    3072    3072                     AddPrecastSpell(25771);                     // Forbearance
    3073    3073                     AddPrecastSpell(61987);                     // Avenging Wrath Marker
    3074    3074                 }
        3075    +            // Aura Mastery 
        3076    +            else if (m_spellInfo->Id == 31821) 
        3077    +            { 
        3078    +                // get Concentration Aura 
        3079    +                if (m_caster->GetAura(SPELL_AURA_REDUCE_PUSHBACK, SPELLFAMILY_PALADIN, UI64LIT(0x00020000), (0x00000020), m_caster->GetGUID())) 
        3080    +                    AddTriggeredSpell(64364);               // Aura Mastery - immunity part 
        3081    +            }
    3075    3082                 // Lay on Hands
    3076    3083                 else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000008000))
    3077    3084                 {
    
    
    src/game/SpellAuras.cpp 
    View file @ 0612903...    ...    @@ -1046,6 +1046,10 @@ void Aura::HandleAddModifier(bool apply, bool Real)
    1046    1046         if(m_modifier.m_miscvalue >= MAX_SPELLMOD)
    1047    1047             return;
    1048    1048     
        1049    +    // Aura Mastery - Remove immunity effect 
        1050    +    if (!apply && GetSpellProto()->Id == 31821) 
        1051    +        GetTarget()->RemoveAurasDueToSpell(64364); 
        1052    +
    1049    1053         if (apply)
    1050    1054         {
    1051    1055             // Add custom charges for some mod aura

  3. @@ -2490,6 +2490,22 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
    2490    2490                     }
    2491    2491                     break;
    2492    2492                 }
        2493    +      case SPELLFAMILY_ROGUE:
        2494    +             // Honor Among Thieves 
        2495    +             if (GetSpellProto()->Id == 52916) 
        2496    +             { 
        2497    +                // prevent multiple casting of 51699 
        2498    +                if (GetTarget()->GetGUID() != GetCasterGUID()) 
        2499    +                    return; 
        2500    +                Unit *caster = GetCaster(); 
        2501    +                Unit *unitVictim = NULL; 
        2502    +                if (caster && caster->GetTypeId() == TYPEID_PLAYER) 
        2503    +                    unitVictim = ObjectAccessor::GetUnit(*caster,((Player*)caster)->GetComboTarget()); 
        2504    +                // roll proc chance 
        2505    +                if (unitVictim && roll_chance_i(m_modifier.m_amount)) 
        2506    +                    caster->CastSpell(unitVictim, 51699, true); 
        2507    +             }
        2508    +             break;
    2493    2509                 case SPELLFAMILY_WARRIOR:
    2494    2510                 {
    2495    2511                     // Overpower

  4. Spell does not throw aside a purpose, when are afoot.. Fix below.....

    PS: I do not know English, translated a translator. :/

    diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
    index f72be80..95bd25a 100644
    --- a/src/game/Spell.cpp
    +++ b/src/game/Spell.cpp
    @@ -259,7 +259,7 @@ void SpellCastTargets::read( ByteBuffer& data, Unit *caster )
            if(!MaNGOS::IsValidMapCoord(m_destX, m_destY, m_destZ))
                throw ByteBufferException(false, data.rpos(), 0, data.size());
    
    -        if( m_targetMask & TARGET_FLAG_SOURCE_LOCATION )
    +        if( m_targetMask & TARGET_FLAG_SOURCE_LOCATION && caster->getClass() != CLASS_DRUID)
            {
                if(data.rpos() + 4 + 4 <= data.size())
                {
    @@ -2129,11 +2129,12 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
                break;
            case TARGET_IN_FRONT_OF_CASTER_30:
            {
    -            if (m_spellInfo->SpellFamilyName == SPELLFAMILY_GENERIC)
    -            FillAreaTargets(targetUnitMap, m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_30, SPELL_TARGETS_AOE_DAMAGE);
    +            //Typhoon
    +            if (m_spellInfo->SpellFamilyName == SPELLFAMILY_GENERIC || (m_spellInfo->SpellFamilyName == SPELLFAMILY_DRUID && (m_spellInfo->SpellIconID == 2838 || m_spellInfo->SpellIconID == 15)))
    +                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;
    +                FillAreaTargets(targetUnitMap, m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT, SPELL_TARGETS_AOE_DAMAGE);
    +            break;
            }
            case TARGET_DUELVSPLAYER:
            {

  5. Rev 10051+

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index b69fbb5..18744f4 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -6392,6 +6421,18 @@ void Aura::HandleModDamagePercentDone(bool apply, bool Real)
        if(target->GetTypeId() == TYPEID_PLAYER)
            for(int i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)
                target->ApplyModSignedFloatValue(PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + i, m_modifier.m_amount/100.0f, apply);
    +       // Elemental Oath - Damage increase on Clearcasting
    +    if (apply && GetId() == 16246)
    +    {
    +        Unit::AuraList const& auras = target->GetAurasByType(SPELL_AURA_PROC_TRIGGER_SPELL);
    +        for (Unit::AuraList::const_iterator i = auras.begin(); i != auras.end(); ++i)
    +            if ((*i)->GetId() == 51466 ||   //Elemental Oath rank 1
    +                (*i)->GetId() == 51470)     //Elemental Oath rank 2
    +            {
    +                m_modifier.m_amount += (*i)->GetSpellProto()->CalculateSimpleValue(EFFECT_INDEX_1);
    +                break;
    +            }
    +    }
    }

  6. Проблема в том что не работает вторая часть глифов Glyph of Fireball & Glyph of Frostbolt

    Dont Work this:

    but removes the slowing effect.

    but removes the damage over time effect.

    Чиним фиксом

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index b69fbb5..7eebd4a 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -6782,6 +6822,20 @@ void Aura::HandleSpellSpecificBoosts(bool apply)
                        return;
                    break;
                }
    +           else if (m_spellProto->SpellFamilyFlags & 0x1LL && m_spellProto->SpellFamilyFlags2 & 0x8)
    +            {
    +                // Glyph of Fireball
    +                if (Unit * caster = GetCaster())
    +                    if (caster->HasAura(56368))
    +                        SetAuraDuration(0);
    +            }
    +            else if (m_spellProto->SpellFamilyFlags & 0x20LL && GetSpellProto()->SpellVisual[0] == 13)
    +            {
    +                // Glyph of Frostbolt
    +                if (Unit * caster = GetCaster())
    +                    if (caster->HasAura(56370))
    +                        m_target->RemoveAurasByCasterSpell(GetId(), caster->GetGUID());
    +            }
    
                switch(GetId())
                {

  7. rev 10051+

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index b69fbb5..18744f4 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -3174,7 +3174,33 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
                }
                break;
            case SPELLFAMILY_SHAMAN:
    -            break;
    +        {
    +            if (!Real)
    +                break;
    +            Unit * caster = GetCaster();
    +            if (!caster)
    +                return;
    +                       // Sentry Totem
    +            if (GetId() == 6495 && caster->GetTypeId() == TYPEID_PLAYER)
    +            {
    +                if (apply)
    +                {
    +                    uint64 guid = caster->GetTotemGUID(TOTEM_SLOT_AIR);
    +                    if (guid)
    +                    {
    +                        Creature *totem = caster->GetMap()->GetCreature(guid);
    +                        if (totem && totem->isTotem())
    +                            ((Player*)caster)->CastSpell(totem, 6277, true);
    +                    }
    +                }
    +                else
    +                {
    +                    // Remove Bind Sight
    +                    caster->RemoveAurasDueToSpell(6277);              
    +                }
    +                return;
    +                       }
    +               }
            case SPELLFAMILY_ROGUE:
                {
                    // Honor Among Thieves

    Но есть проблема: при переключении камеры на плеера и его подальшем движении ефект http://ru.wowhead.com/spell=6277 слетает, как зделать чтоб не слетало безпонятия...

  8. Description of the bug?

    we correct spell Blessed Life

    For which repository revision was the patch created?

    10180+

    Is there a thread in the bug report section or at lighthouse?

    none

    Who has been writing this patch?

    --

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index 0a3b89a..df72ec7 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -543,7 +543,17 @@ uint32 Unit::DealDamage(Unit *pVictim, uint32 damage, CleanDamage const* cleanDa
                pVictim->SetStandState(UNIT_STAND_STATE_STAND);
        }
    
    -    if(!damage)
    +    // Blessed Life
    +    if( pVictim->GetTypeId() == TYPEID_PLAYER )
    +    {
    +        Unit::AuraList const& BlessedLife = pVictim->GetAurasByType(SPELL_AURA_PROC_TRIGGER_SPELL);
    +        for(Unit::AuraList::const_iterator i = BlessedLife.begin(); i != BlessedLife.end(); ++i)
    +            if((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_PALADIN && (*i)->GetSpellProto()->SpellIconID == 2137)
    +                if( urand(0,100) < (*i)->GetSpellProto()->procChance )
    +                    damage *= 0.5;
    +    }
    +
    +       if(!damage)
        {
            // Rage from physical damage received .
            if(cleanDamage && cleanDamage->damage && (damageSchoolMask & SPELL_SCHOOL_MASK_NORMAL) && pVictim->GetTypeId() == TYPEID_PLAYER && (pVictim->getPowerType() == POWER_RAGE))

  9. Description of the bug?

    this glyph wasn't working at all before

    For which repository revision was the patch created?

    10180+

    Is there a thread in the bug report section or at lighthouse?

    none

    Who has been writing this patch?

    переделано с тринити

    diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
    index 3a8457c..4dbb693 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp@@ -5835,6 +5835,64 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
                        unitTarget->HandleEmoteCommand(EMOTE_STATE_DANCE);
                        return;
                    }
    +               // Glyph of Starfire
    +                case 54846:
    +                {
    +                    if (Aura * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_DRUID,0x00000002,0,m_caster->GetGUID()))
    +                    {
    +                        uint32 countMin = aurEff->GetAuraMaxDuration();
    +                        uint32 countMax = 18000;
    +                        countMax += m_caster->HasAura(38414) ? 3000 : 0;
    +                        countMax += m_caster->HasAura(57865) ? 3000 : 0;
    +
    +                        if (countMin < countMax)
    +                        {
    +                            aurEff->SetAuraDuration(uint32(aurEff->GetAuraDuration()+3000));
    +                            aurEff->SetAuraMaxDuration(countMin+3000);
    +                            aurEff->SendAuraUpdate(false);
    +                        }
    +                    }
    +                    return;
    +                }
    +                // Glyph of Shred
    +                case 63974:
    +                {
    +                    if (Aura * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_DRUID,0x00800000,0,m_caster->GetGUID()))
    +                    {
    +                        uint32 countMin = aurEff->GetAuraMaxDuration();
    +                        uint32 countMax = 20000;
    +                        countMax += m_caster->HasAura(54818) ? 4000 : 0;
    +                        countMax += m_caster->HasAura(60141) ? 4000 : 0;
    +
    +                        if (countMin < countMax)
    +                        {
    +                            aurEff->SetAuraDuration(uint32(aurEff->GetAuraDuration()+3000));
    +                            aurEff->SetAuraMaxDuration(countMin+2000);
    +                            aurEff->SendAuraUpdate(false);
    +                        }
    +
    +                    }
    +                    return;
    +                }
    +                // Glyph of Backstab
    +                case 63975:
    +                {
    +                    if (Aura * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_DAMAGE,SPELLFAMILY_ROGUE,0x00100000,0,m_caster->GetGUID()))
    +                    {
    +                        uint32 countMin = aurEff->GetAuraMaxDuration();
    +                        uint32 countMax = 12000;
    +                        countMax += m_caster->HasAura(56801) ? 4000 : 0;
    +
    +                        if (countMin < countMax)
    +                        {
    +                            aurEff->SetAuraDuration(uint32(aurEff->GetAuraDuration()+3000));
    +                            aurEff->SetAuraMaxDuration(countMin+2000);
    +                            aurEff->SendAuraUpdate(false);
    +                        }
    +
    +                    }
    +                    return;
    +                }
                    case 20589:                                 // Escape artist
                    {
                        if(!unitTarget)
    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index 0a3b89a..5c219aa 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -6373,6 +6373,18 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
                        }
                        break;
                    }
    +               // Glyph of Starfire
    +                case 54845:
    +                {
    +                    triggered_spell_id = 54846;
    +                    break;
    +                }
    +                // Glyph of Shred
    +                case 54815:
    +                {
    +                    triggered_spell_id = 63974;
    +                    break;
    +                }
                    // Glyph of Rejuvenation
                    case 54754:
                    {
    @@ -6474,6 +6486,12 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
            {
                switch(dummySpell->Id)
                {
    +               // Glyph of Backstab
    +                case 56800:
    +                {
    +                    triggered_spell_id = 63975;
    +                    break;
    +                }
                    // Deadly Throw Interrupt
                    case 32748:
                    {

  10. Выдёргивание патча, тем более такого обширного можно сравнить с написанием его заново... Если ты уже захотел поделиться с другими и создал тему на форуме разработчиков, то будь добр выложи чистый патч, иначе эта тема "пустышка"...

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

    Пвп тринкет при использовании не накладивает кд на расовую абилку http://www.wowhead.com/spell=7744, и наоборот...

    For which repository revision was the patch created?

    10141

    Is there a thread in the bug report section or at lighthouse?

    none

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

    Valhalla-Project

    @@ -2904,10 +2933,14 @@ void Spell::cast(bool skipCheck)
            {
                if (m_spellInfo->Mechanic == MECHANIC_BANDAGE)  // Bandages
                    AddPrecastSpell(11196);                     // Recently Bandaged
    +            else if(m_spellInfo->Id == 7744)                // Will of the Forsaken
    +                AddTriggeredSpell(72757);                   // PvP trinket Cooldown
                else if(m_spellInfo->Id == 20594)               // Stoneskin
                    AddTriggeredSpell(65116);                   // Stoneskin - armor 10% for 8 sec
                else if(m_spellInfo->Id == 71904)               // Chaos Bane strength buff
                    AddTriggeredSpell(73422);
    +            else if(m_spellInfo->Id == 42292)               // PvP trinket
    +                AddTriggeredSpell(72752);                   // Will of the Forsaken Cooldown
                else if(m_spellInfo->Id == 47345)               // Create Dark Brewmaiden's Brew
                    AddPrecastSpell(47331);                     // Has Dark Brewmaiden's Brew
                break;

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

    Explosive Shot returns only 1/3 of 40% per critical

    For which repository revision was the patch created?

    10137

    Is there a thread in the bug report section or at lighthouse?

    none

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

    Valhalla-Project

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index 0a3b89a..0364193 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -6547,6 +6559,17 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
    
                    // mana cost save
                    int32 mana = procSpell->manaCost + procSpell->ManaCostPercentage * GetCreateMana() / 100;
    +                // Explosive Shot returns only 1/3 of 40% per critical
    +                if (procSpell->Id == 53352)
    +                {
    +                    // All ranks have same cost
    +                    SpellEntry const* explosiveShot = sSpellStore.LookupEntry(53301);
    +                    if (!explosiveShot)
    +                        return false;
    +                    mana = explosiveShot->manaCost + explosiveShot->ManaCostPercentage * GetCreateMana() / 100;
    +                    mana /= 3;
    +                }
    +
                    basepoints[0] = mana * 40/100;
                    if (basepoints[0] <= 0)
                        return false;

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

    Destroy quest item after handing over of quest`s

    For which repository revision was the patch created?

    10136

    Is there a thread in the bug report section or at lighthouse?

    none

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

    Valhalla-Project

    diff --git a/src/game/Player.cpp b/src/game/Player.cpp
    index 9e0ce9d..4773c03 100644
    --- a/src/game/Player.cpp
    +++ b/src/game/Player.cpp
    @@ -13770,6 +13773,17 @@ void Player::RewardQuest( Quest const *pQuest, uint32 reward, Object* questGiver
                DestroyItemCount( pQuest->ReqItemId[i], pQuest->ReqItemCount[i], true);
        }
    
    +    //Destroy quest item
    +    uint32 srcitem = pQuest->GetSrcItemId();
    +    if( srcitem > 0 )
    +    {
    +        uint32 count = pQuest->GetSrcItemCount();
    +        if( count <= 0 )
    +            count = 1;
    +
    +        DestroyItemCount(srcitem, count, true, true);
    +    }
    +
        RemoveTimedQuest(quest_id);
    
        if (BattleGround* bg = GetBattleGround())

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