Jump to content

Tassader2

Members
  • Posts

    81
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Tassader2

  1. It does, it can't be cast if you are disarmed but makes you immune to it Are you certain?? Tooltip of Bestial Wrath (nor Beast Within) says nothing about requiring weapons and posts on official forum suggest that hunter under effect of BW can be disarmed to prevent wing clip ...
  2. Not exactly. According to wowhead comments bladestorm gives immunity to CC and disarm, but does not break such effects already on the target. EDIT: oh I see: Patch 3.0.3 (11/4/08): Now breaks all snares and roots on the warrior when activated. BW breaks CC as well as making target immune to new. And AFAIK BW does not provide disarm immunity.
  3. 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.
  4. I think it is because that's when the description changed
  5. Hm then the implementation was incorrect even before I copied it from root handle ... because it is possible to have two different frost root aras (at least on mangos, maybe not on official)
  6. That does not work for AOE spells (like 29511). Target map is always filled only with targets within LOS.
  7. 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? 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?
  8. 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.
  9. I think there can never be enough blink patches , 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.
  10. 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?
  11. 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);
  12. Hmm bosses are immune to frostbolt snare, but not to its damage ... that works (and IMMUNE message appears)
  13. * 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
  14. Wow. And now let's find a flag that identifies such spells so they don't have to be filled in by hand by admin
  15. SQL should chose most optimal algorithm to process query, but in many cases it does not (compare subquery vs. join). Maybe post on MySQL forum?
  16. 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