Jump to content

Sarjuuk

Members
  • Posts

    99
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Posts posted by Sarjuuk

  1. Spellname:        |  FamilyFlags2:  FamilyFlags1:  |  Combined:
    ------------------+--------------------------------+----------------------------
    Frostbolt:        |  0x0            0x20           |  0x0000000000000020
    Arcane Barrage:   |  0x8000         0x0            |  0x0000800000000000
    Arcane Blast:     |  0x0            0x20000000     |  0x0000000020000000
    Frostfire Bolt:   |  0x1000         0x0            |  0x0000100000000000
    Arcane Missiles:  |  0x0            0x00200000     |  0x0000000000200000
    Fireball:         |  0x0            0x1            |  0x0000000000000001
    ------------------+--------------------------------+----------------------------
    Combined:         |                                |  0x0000900020200021
    

    so, if i'm not mistaken, the line should read something like

    if (spellProto->SpellFamilyFlags & UI64LIT(0x0000900020200021) && 
       (pVictim->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED) ||
       pVictim->HasAuraType(SPELL_AURA_MELEE_SLOW)))
    {
       // Itterate over Dummys and find icon 2215 to change DoneTotalMod 
    }

    /e: I've to admit, i'm confused about SpellFamilyFlags3. It doesn't matter in this case, but I'd appreciate some enlightenment ;)

    But If I'm actually wrong (again) than the Flag would be "0x000000080000900020200021" as Fireball has 0x8 set for it.

  2. had the following bug:

    Terokkar: spirit towers didn't reset after the six hours where up. All towers belonged to the old faction and the next player triggering the update-function recaptured the whole zone.

    MaNGOS/0.12.0 r7907

    ScriptDev2 for MaNGOS 7871+

    minor custom patches, so i'm not entirely sure, whether its the openPvP-Patchs fault or not.

  3. Ttwo smal things.

    First. The tooltip says its only affected by Rejuv., Regrowth, Lifebloom and Wild Growth. This is already checked with SPELLFAMILY_DRUID over SPELL_AURA_PERIODIC_HEAL. Frenzied Regeneration and Tranquility both aren't periodic Heals but periodic Triggers and druids don't have any other healing over time-spells. :)

    second:

    This simplyfication should make it easier to look forward to implement this Glyph-Spell, as it would need to go over every single periodic Heal-Aura and check, weather caster and owner are identical.

    maybe the second idea isn't so great, but i simply wanted to mention it ^.^

  4. oh right, thank you.

    I don't think that it uses charges. My guess is, that it's a bug or "custom feature" in the targeting.

    currently Is: all enemies in range

    should be: two unstealthed enemies in range.

    Dummy gets triggered once a second, casts two stars. 10 Seconds => 20 stars.

    But dont ask me, how to change the targeting behaviour^^

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

    implements Spell:18562, not consuming specific HoTs if caster has named Glyph equipped.

    For which repository revision was the patch created?

    master @ e1139e3f7001f512cca6fef459aecc43a99ef879

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

    none found

    Who has been writing this patch?

    Sarjuuk

    [Patch]

  6. First of all, the devs dont like UPDATE-Statements, try DELETE/INSERT instead.

    Second. If the tooltip says "cannot occure more than X per minute" its adressing to the internal cooldown of the item, not the procrate.

    So its something like:

    DELETE FROM `spell_proc_event` WHERE `entry`IN (55018, 55019);
    INSERT INTO `spell_proc_event` VALUES
    (55018, 0, 0, 0, 0, 0, X, Y, 0, 0, 60),
    (55019, 0, 0, 0, 0, 0, X, Y, 0, 0, 60);

    both spells already have a chance given, so you don't need to insert it again.

    replace X with the appropriate procFlags and Y with whatever-procEx-is and you are ready to go^^

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

    SpellPushback changed with 3.0. Its now delaying by a fixed ammount for normal spells (500ms) and a percentage for channeled spells (25%)

    SpellPushback may only occur twice per spell.

    Any Talents, previously giving a %chance to resist pushback are now giving a reduction to the fixed value. Renamed SpellAura:149, to reflect this new behaviour.

    For which repository revision was the patch created?

    master @ 08b475203194da030de1f4c0c57bdf6215c0170e

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

    none

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

    Sarjuuk

    Reference:

    WellKnownWiki => Interrupt

    Diff:

    =>DelaySpell.diff

    diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
    index 53a2327..7ef2f44 100644
    --- a/src/game/Spell.cpp
    +++ b/src/game/Spell.cpp
    @@ -5189,18 +5189,20 @@ void Spell::Delayed()
        if (m_spellState == SPELL_STATE_DELAYED)
            return;                                             // spell is active and can't be time-backed
    
    +    if(isDelayableNoMore())                                 // Spells may only be delayed twice
    +        return;
    +
        // spells not loosing casting time ( slam, dynamites, bombs.. )
        if(!(m_spellInfo->InterruptFlags & SPELL_INTERRUPT_FLAG_DAMAGE))
            return;
    
    -    //check resist chance
    -    int32 resistChance = 100;                               //must be initialized to 100 for percent modifiers
    -    ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME,resistChance, this);
    -    resistChance += m_caster->GetTotalAuraModifier(SPELL_AURA_RESIST_PUSHBACK) - 100;
    -    if (roll_chance_i(resistChance))
    -        return;
    +    //check pushback reduce
    +    int32 delaytime = 500;                                     // spellcasting delay is normally 500ms
    +    int32 delayReduce = 100;                               // must be initialized to 100 for percent modifiers
    +    ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME, delayReduce, this);
    +    delayReduce += m_caster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100;
    
    -    int32 delaytime = GetNextDelayAtDamageMsTime();
    +    delaytime -= delaytime * delayReduce / 100;
    
        if(int32(m_timer) + delaytime > m_casttime)
        {
    @@ -5224,14 +5226,16 @@ void Spell::DelayedChannel()
        if(!m_caster || m_caster->GetTypeId() != TYPEID_PLAYER || getState() != SPELL_STATE_CASTING)
            return;
    
    -    //check resist chance
    -    int32 resistChance = 100;                               //must be initialized to 100 for percent modifiers
    -    ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME,resistChance, this);
    -    resistChance += m_caster->GetTotalAuraModifier(SPELL_AURA_RESIST_PUSHBACK) - 100;
    -    if (roll_chance_i(resistChance))
    +    if(isDelayableNoMore())                                 // Spells may only be delayed twice
            return;
    
    -    int32 delaytime = GetNextDelayAtDamageMsTime();
    +    //check pushback reduce
    +    int32 delaytime = GetSpellDuration(m_spellInfo) * 25 / 100; // channeling delay is normally 25% of its time per hit
    +    int32 delayReduce = 100;                               // must be initialized to 100 for percent modifiers
    +    ((Player*)m_caster)->ApplySpellMod(m_spellInfo->Id,SPELLMOD_NOT_LOSE_CASTING_TIME,delayReduce, this);
    +    delayReduce += m_caster->GetTotalAuraModifier(SPELL_AURA_REDUCE_PUSHBACK) - 100;
    +
    +    delaytime -= delaytime * delayReduce / 100;
    
        if(int32(m_timer) < delaytime)
        {
    diff --git a/src/game/Spell.h b/src/game/Spell.h
    index 5befc67..4749433 100644
    --- a/src/game/Spell.h
    +++ b/src/game/Spell.h
    @@ -453,7 +453,14 @@ class Spell
            uint8 m_runesState;
    
            uint8 m_delayAtDamageCount;
    -        int32 GetNextDelayAtDamageMsTime() { return m_delayAtDamageCount < 5 ? 1000 - (m_delayAtDamageCount++)* 200 : 200; }
    +        bool isDelayableNoMore() 
    +        { 
    +            if(m_delayAtDamageCount >= 2)
    +                return true;
    +
    +            m_delayAtDamageCount++;
    +            return false; 
    +        }
    
            // Delayed spells system
            uint64 m_delayStart;                                // time of spell delay start, filled by event handler, zero = just started
    diff --git a/src/game/SpellAuraDefines.h b/src/game/SpellAuraDefines.h
    index 5d401b2..55eeab8 100644
    --- a/src/game/SpellAuraDefines.h
    +++ b/src/game/SpellAuraDefines.h
    @@ -191,7 +191,7 @@ enum AuraType
        SPELL_AURA_PERSUADED = 146,
        SPELL_AURA_ADD_CREATURE_IMMUNITY = 147,
        SPELL_AURA_RETAIN_COMBO_POINTS = 148,
    -    SPELL_AURA_RESIST_PUSHBACK  = 149,                      //    Resist Pushback
    +    SPELL_AURA_REDUCE_PUSHBACK  = 149,                      //    Reduce Pushback
        SPELL_AURA_MOD_SHIELD_BLOCKVALUE_PCT = 150,
        SPELL_AURA_TRACK_STEALTHED  = 151,                      //    Track Stealthed
        SPELL_AURA_MOD_DETECTED_RANGE = 152,                    //    Mod Detected Range
    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index 08fef1f..a3b6e8b 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -199,7 +199,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
        &Aura::HandleUnused,                                    //146 SPELL_AURA_PERSUADED obsolete?
        &Aura::HandleNULL,                                      //147 SPELL_AURA_ADD_CREATURE_IMMUNITY
        &Aura::HandleAuraRetainComboPoints,                     //148 SPELL_AURA_RETAIN_COMBO_POINTS
    -    &Aura::HandleNoImmediateEffect,                         //149 SPELL_AURA_RESIST_PUSHBACK
    +    &Aura::HandleNoImmediateEffect,                         //149 SPELL_AURA_REDUCE_PUSHBACK
        &Aura::HandleShieldBlockValue,                          //150 SPELL_AURA_MOD_SHIELD_BLOCKVALUE_PCT
        &Aura::HandleAuraTrackStealthed,                        //151 SPELL_AURA_TRACK_STEALTHED
        &Aura::HandleNoImmediateEffect,                         //152 SPELL_AURA_MOD_DETECTED_RANGE implemented in Creature::GetAttackDistance
    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index abbe272..fa47cd6 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -10207,7 +10207,7 @@ bool InitTriggerAuraData()
        isTriggerAura[sPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE] = true;
    
        isNonTriggerAura[sPELL_AURA_MOD_POWER_REGEN]=true;
    -    isNonTriggerAura[sPELL_AURA_RESIST_PUSHBACK]=true;
    +    isNonTriggerAura[sPELL_AURA_REDUCE_PUSHBACK]=true;
    
        return true;
    }
    
    

    pleas bear with me and my nonexistent git-account ;o

  8. What features does the patch add?

    Makes the following Relics work.

    For which SubVersion revision was the patch created?

    r6494

    Is there a thread in the bug report section?

    Harold's Rejuvenating Broach

    none for the others...

    Who has been writing this patch?

    Sarjuuk

    Code?

    paste2 - download

    notes?

    As far as i'm concerned, they are all working as intended. The style for item: 28372 is argueable. If someone has a bette idea i would be glad to hear it.

  9. What bug does the patch fix?

    Updates Heart of the Wild to meet official behaviour. Currently it increases AP in CatForm by 20%. Should be 10%.

    For which SubVersion revision was the patch created?

    r6414

    Is there a thread in the bug report section?

    [bug] Druids Attack Power Is Wrong, Calculation of Druid is wrong

    Who has been writing this patch?

    Me & myself

    Code:

    http://paste2.org/p/56553

    Index: SpellAuras.cpp
    ===================================================================
    --- SpellAuras.cpp            (revision 6414)
    +++ SpellAuras.cpp            (working copy)
    @@ -5023,7 +5023,10 @@
                                            if ((*i)->GetSpellProto()->SpellIconID == 240 && (*i)->GetModifier()->m_miscvalue == 3)
                                            {
                                                    int32 HotWMod = (*i)->GetModifier()->m_amount;
    -                                                m_target->CastCustomSpell(m_target, HotWSpellId, &HotWMod, NULL, NULL, true, NULL, this);
    +                                                if(GetModifier()->m_miscvalue == FORM_CAT)
    +                                                                HotWMod /= 2;
    +
    +                                                m_target->CastCustomSpell(m_target, HotWSpellId, &HotWMod, NULL, NULL, true, NULL, this);
                                                    break;
                                            }
                                    }

  10. well, i don't know, wheather it's supposed to.

    both spells increase your resistance to fire but, have different secondary effects :/

    /e:

    <strike>a cookie for the one, finding out, why the part armor-DefStance is working, while stamina-LotP isn't. The structure is perfectly the same. :S

    shortend code part at pastebin.com</strike>

    /e ²: Cookie to self, uploading corrected *.diff

    /e ³: up and working, no problems noticed : original

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