Jump to content

Tassader2

Members
  • Posts

    81
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Tassader2

  1. Think no one mentioned that you can use blink in mid air to avoid fall dmg, if you blink from less than 20 yards from the ground whille in mid air you will be ported directly to the ground and take no fall dmg.

    Just watch this movie, 3rd Example of how to avoid fall dmg has a mage:

    http://www.youtube.com/watch?v=D4EZN0LpO90

    Another good example:

    Now the question is, can this be aplyed to Mangos ?

    With my "Patch v3" blink will make you stop in midair thus preventing fall damage if used near ground. It will be not exactly the same as shown in the vid, but it will do the job.

  2. these are the changes offy did on the spell in that date

    maybe one of them is facing flag changed?

    I think it is

    2008-10-15 00:04:53 unknown_141 changed from '16711916' to '16712172'
    because that's when the description changed
    2008-10-15 00:04:53 description changed from 'Instantly attacks with both weapons for an additional $5374s1 with each weapon. Damage is increased by 50% against Poisoned targets. Must be behind the target. Awards 2 combo points.' to 'Instantly attacks with both weapons for an additional $5374s1 with each weapon. Damage is increased by 50% against Poisoned targets. Awards 2 combo points.'
  3. On official server, mage can blink if there's room. that means: no wall, and no rift. i am not shure about jumping and falling, but i will ask around.

    I know that, but what exactly happens if there's no room? Does it just blink for shorter or even zero distance, but still free caster from stuns&bonds (that's what I think), or may an error message pop up?

    yes, you can blink in the air

    I know that, but what exactly happens if you DO blink in the air (and I repeat: when not near the ground)? Does it just stop you (that's what i think), move you forward or somewhere else?

  4. This should explain some things. :)

    But does not give clear answer to my questions. I know it, because i looked there before posting them. ;)

    The fact that wiki does not mention "failed attempt" does not mean it never happens. I'm _guessing_ it does not, but I am not _sure_ about it.

    About blinking in midair, it says it teleports you back to where you jumped from (at least that's how understand it) and then it says it just stops horizontal movement. Either these statements either contradict themselves or I have not understood them correctly. I need more info anyway.

  5. I think there can never be enough blink patches :P, or at least mages deserve one more, so I decided to start working on it.

    I will provide multiple patches. Because

    1) Someone may prefer only minor fix, whereas someone else would be more happy with complete rewrite. I want to satisfy both :-)

    2) I want to provide "step-by-step guide" of how I got to the final patch for those interested.

    Patch v1.

    What does it change: Moves "target height" check from Spell::CanCast to Spell::EffectMomentMove. That means that only leap effect fails instead of whole spell. Ie. in cases where you get "failed attempt" without this patch, with patch you wil not be teleported, but will be freed from stuns and bonds. This version does not fix blinking in textures, nor does it allow actual blinking (with teleporting) where it was not possible without it.

    http://github.com/Tassader/mangos/tree/blink1

    Patch v3.

    What does it change: Modifies check for target height. Witch V1 as well as without any patch, the locatin checked for height may not be the same as where player actually gets teleported. With this patch the correst location is checked (and check is performed only for players). This version should prevent blinking in texture in some cases, as well as allow blinking at more places. In case of invalid height, player target is teleported to original position (ie. is stopped if moving or falling). I recommend using this version instead of v1 or v2.

    http://github.com/Tassader/mangos/tree/blink3

    The 2 above versions of patch change only height check. Version 4 with rewritten/modified code or target location selection will be ready soon :)

    Note: patch removes check in CanCast for effects

    43 SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER

    and

    29 SPELL_EFFECT_LEAP

    It seems that effect 43 is "summon enemy player" (used by bosses' spells). Used check makes no sense for such effect (and implemented effect is currently wrong in spelleffect.cpp btw.), but is not purpose of this patch to make any further improvements/changes to that effect, only for effect 29.

  6. from Spell::EffectPlayerPull

                                                                // Horizontal speed
       data << float(damage ? damage : unitTarget->GetDistance2d(m_caster));
       data << float(m_spellInfo->EffectMiscValue[i])/-10;     // Z Movement speed
    

    So horizontal speed is calculated from distance, z-speed (height) fom effect value. The results are not correct - sometimes players are pulled too high and fall far behind caster, instead of in front of him.

    According to what I've read and seen on youtube videos, it should be other way round: distance from caster affects height (z-speed) and effeft the speed of the pull (horizontal speed.

    In order to target to land in front of the caster, either z or horizontal speed must be affected by both distance and effect value.

    So it can be something like this

                                                                
       data << float(m_spellInfo->EffectMiscValue[i]) * const1;    // Horizontal speed
                                                                                          // Z Movement speed
       data << float((damage ? damage : unitTarget->GetDistance2d(m_caster))/m_spellInfo->EffectMiscValue[i]) * const2;
    

    const1 and const2 are to be found.

    Do you agree with this concept?

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

    Makes units under frost stun aura (like freezing trap, deep freeze) "frozen" so isFrozen() returns true for them (needed for shatter etc.). Same way already used for frost root auras.

    For which repository revision was the patch created?

    7295

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

    No

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

    Me, Tassader

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index 5db2926..f3fb701 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -3312,6 +3312,10 @@ void Aura::HandleAuraModStun(bool apply, bool Real)
        if(!Real)
            return;
    
    +    // Frost stun aura -> freeze/unfreeze target
    +    if (GetSpellSchoolMask(m_spellProto) & SPELL_SCHOOL_MASK_FROST)
    +        m_target->ModifyAuraState(AURA_STATE_FROZEN, apply);
    +
        if (apply)
        {
            m_target->addUnitState(UNIT_STAT_STUNNED);
    

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

    It

    1) prevents attacks dealing elemental damage from crushing (crushing blows are restricted to physical autoattack on official realm),

    2) prevents melee spells from crushing (crushing blows are restricted to physical autoattack on official realm),

    3) prevents "normal" spells from critically hitting unless caster is a player (critical hits from creatures are restricted to autoattack and (maybe) melee spells on official realm).

    See comments in code for hint which change corresponds to 1), 2) and 3)

    * For which repository revision was the patch created?

    6918

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

    http://mangos.lighthouseapp.com/projects/18208/tickets/34-spells-from-creatures-can-crit#ticket-34-8

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

    Me, Tassader

    diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
    index 5925b21..d67bae6 100644
    --- a/src/game/Unit.cpp
    +++ b/src/game/Unit.cpp
    @@ -1334,7 +1334,7 @@ void Unit::DealFlatDamage(Unit *pVictim, SpellEntry const *spellInfo, uint32 *da
                // Calculate damage bonus
                *damage = SpellDamageBonus(pVictim, spellInfo, *damage, SPELL_DIRECT_DAMAGE);
    
    -            *crit = isSpellCrit(pVictim, spellInfo, GetSpellSchoolMask(spellInfo), BASE_ATTACK);
    +            *crit = isSpellCrit(pVictim, spellInfo, GetSpellSchoolMask(spellInfo), BASE_ATTACK) && GetTypeId()==TYPEID_PLAYER /* Only players can crit with spells */;
                if (*crit)
                {
                    *damage = SpellCriticalBonus(spellInfo, *damage, pVictim);
    @@ -2083,11 +2083,14 @@ void Unit::DoAttackDamage (Unit *pVictim, uint32 *damage, CleanDamage *cleanDama
            }
            case MELEE_HIT_CRUSHING:
            {
    -            // 150% normal damage
    -            *damage += (*damage / 2);
    -            cleanDamage->damage = *damage;
    -            *hitInfo |= HITINFO_CRUSHING;
    -            // TODO: victimState, victim animation?
    +            if (damageSchoolMask & SPELL_SCHOOL_MASK_NORMAL) //Only physical attack can be crushing blow
    +            {
    +                // 150% normal damage
    +                *damage += (*damage / 2);
    +                cleanDamage->damage = *damage;
    +                *hitInfo |= HITINFO_CRUSHING;
    +                // TODO: victimState, victim animation?
    +            }
                break;
            }
            default:
    @@ -2486,7 +2489,7 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit *pVictim, WeaponAttack
            }
        }
    
    -    if(GetTypeId()!=TYPEID_PLAYER && !(((Creature*)this)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_CRUSH) && !((Creature*)this)->isPet() )
    +    if(GetTypeId()!=TYPEID_PLAYER && !(((Creature*)this)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_CRUSH) && !((Creature*)this)->isPet() && !SpellCasted /*Only autoattack can be crushing blow*/)
        {
            // mobs can score crushing blows if they're 3 or more levels above victim
            // or when their weapon skill is 15 or more above victim's defense skill
    

  9. Does Mangos support ignoring line of sight by certain spells?

    Eg. 29511, 22972, 41624, 44208 and probably many triggered spells should ignore LOS.

    I tried casting 26983. It seemed to ignore LOS (as it should), but the triggered spell (44208) did not (so it did no healing)

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