Fehler #15769
geschlossenFehler #4060: [Todesritter] - Hauptticket
[Todesritter] Todesgriff delay + Zauberunterbrechung
Der Delay des Todesgriffs wurde verringert.
Beschreibung
Die Fähigkeit Todesgriff vom DK zieht das Ziel erst nach langer Verzögerung (spelldelay)heran.
Somit kommen Zauber wie Poly, FoL etc., obwohl sie frühzeitig durch grip interrupted wurden, tdm durch.
Spell wird gewirkt > Animation kommt > Zauber kommt durch > grip + move > debuff
Der Delay zwischen casten und effekt (bewegung des targets) ist auf jeden Fall viel zu groß, spellinterrupt findet schlichtweg nicht statt.
Buggy seit https://redmine.rising-gods.de/issues/15423
So war es zwischenzeitlich gefixt (https://redmine.rising-gods.de/issues/5752):
"Rushor schrieb:
jo, es lag an der reihenfolge der funktionen
vorher:
1) move victim zu dk
2) interrupte spells vom victim"
Von Rushor vor etwa 9 Jahren aktualisiert
- Status wurde von Bestätigt zu Testbereit geändert
zusammen mit https://redmine.rising-gods.de/issues/15762 erstmal reverted
guck obs wieder geht
Von Rushor vor etwa 9 Jahren aktualisiert
- Status wurde von Testbereit zu Ready geändert
- Update Text Deutsch aktualisiert (Vergleich)
ist ja nur nen revert, richtiger fix iwann mal - kz atm
Von Rushor vor fast 9 Jahren aktualisiert
https://github.com/TrinityCore/TrinityCore/issues/15632
void Unit::CastSpell(SpellCastTargets const& targets, SpellInfo const* spellInfo, CustomSpellValues const* value, TriggerCastFlags triggerFlags, Item* castItem, AuraEffect const* triggeredByAura, ObjectGuid originalCaster) { if (!spellInfo) { TC_LOG_ERROR("entities.unit", "CastSpell: unknown spell by caster: %s %u)", (GetTypeId() == TYPEID_PLAYER ? "player (GUID:" : "creature (Entry:"), (GetTypeId() == TYPEID_PLAYER ? GetGUID().GetCounter() : GetEntry())); return; } // Prevent casting channeled spells while moving due to spells like Death Grip if (spellInfo->IsChanneled() && GetMotionMaster()->GetCurrentMovementGeneratorType() == WHATEVER_THE_ID_FOR_MOVEJUMP_IS) // There isn't a specific ID for this in the enum return; /// @todo this is a workaround - not needed anymore, but required for some scripts :( if (!originalCaster && triggeredByAura)
Von Rushor vor fast 9 Jahren aktualisiert
void HandleDummy(SpellEffIndex /*effIndex*/) { int32 damage = GetEffectValue(); float casterZ = GetCaster()->GetPositionZ(); // for Ring of Valor WorldLocation gripPos = *GetExplTargetDest(); if (Unit* target = GetHitUnit()) if (!target->HasAuraType(SPELL_AURA_DEFLECT_SPELLS) || target->HasUnitState(UNIT_STATE_STUNNED)) // Deterrence { if (target != GetCaster()) { const SpellInfo* spellInfo = sSpellMgr->GetSpellInfo(1766); // Rogue kick if (!target->IsImmunedToSpellEffect(spellInfo, EFFECT_0)) target->InterruptNonMeleeSpells(false, 0, false); } if (target->GetMapId() == 618) // for Ring of Valor gripPos.m_positionZ = std::max(casterZ+0.2f, 28.5f); target->CastSpell(gripPos.GetPositionX(), gripPos.GetPositionY(), gripPos.GetPositionZ(), 57604, true); } }
Von Rushor vor mehr als 8 Jahren aktualisiert
Bedeutung Live:
Der Bug wurde erfolgreich behoben und befindet sich auf dem Spielserver. Sollte der Fehler weiterhin bestehen sollte ein neues Ticket ( https://redmine.rising-gods.de/projects/live/issues/new ) erstellt werden. Anmerkungen in dem alten abgewiesenen oder live genommenen Ticket werden ignoriert und gelöscht.
Von Daejiv vor fast 8 Jahren aktualisiert
- Zielversion wurde von Klassen zu Klasse - Todesritter geändert
Von Left4Info vor mehr als 6 Jahren aktualisiert
- Tags wurde auf Classes, Death Knight gesetzt