|
|
Модератор форума: Dimitro |
Форум TrinityCore Патчи / Моды / Фиксы для Trinity [fix] Всевластный Суккуб |
[fix] Всевластный Суккуб |
Первая часть таланта Всевластный Суккуб не работала.
Вот фикс: Code diff a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -3751,6 +3775,43 @@ spellInfo->EffectRadiusIndex[0] = 37; count++; break; + case 18754: // Improved succubus - problems with apply if target is pet + spellInfo->EffectApplyAuraName[0] = SPELL_AURA_ADD_FLAT_MODIFIER; // it's affects duration of seduction, let's minimize affection + spellInfo->EffectBasePoints[0] = -1.5*IN_MILISECONDS*0.22; // reduce cast time of seduction by 22% + spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER; + count++; + break; + case 18755: + spellInfo->EffectApplyAuraName[0] = SPELL_AURA_ADD_FLAT_MODIFIER; + spellInfo->EffectBasePoints[0] = -1.5*IN_MILISECONDS*0.44; // reduce cast time of seduction by 44% + spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER; + count++; + break; + case 18756: + spellInfo->EffectApplyAuraName[0] = SPELL_AURA_ADD_FLAT_MODIFIER; + spellInfo->EffectBasePoints[0] = -1.5*IN_MILISECONDS*0.66; // reduce cast time of seduction by 66% + spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_CASTER; + count++; + break; // Master Shapeshifter: missing stance data for forms other than bear - bear version has correct data // To prevent aura staying on target after talent unlearned case 48420: diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -51,6 +51,7 @@ @@ -1349,6 +1366,35 @@ if (IsChanneledSpell(m_spellInfo)) m_originalCaster->ModSpellCastTime(aurSpellInfo, duration, this); + // Seduction with Improved Succubus talent - fix duration. + if (m_spellInfo->Id == 6358 && unit->GetTypeId() == TYPEID_PLAYER && m_originalCaster->GetOwner()) + { + float mod = 1.0f; + float durationadd = 0.0f; + + if (m_originalCaster->GetOwner()->HasAura(18754)) + durationadd += float(1.5*IN_MILISECONDS*0.22); + else if (m_originalCaster->GetOwner()->HasAura(18755)) + durationadd += float(1.5*IN_MILISECONDS*0.44); + else if (m_originalCaster->GetOwner()->HasAura(18756)) + durationadd += float(1.5*IN_MILISECONDS*0.66); + + if (durationadd) + { + switch (m_diminishLevel) + { + case DIMINISHING_LEVEL_1: break; + // lol, we lost 1 second here + case DIMINISHING_LEVEL_2: duration += 1000; mod = 0.5f; break; + case DIMINISHING_LEVEL_3: duration += 1000; mod = 0.25f; break; + case DIMINISHING_LEVEL_IMMUNE: { m_spellAura->Remove(); return SPELL_MISS_IMMUNE; } + default: break; + } + durationadd *= mod; + duration += int32(durationadd); + } + } + if (duration == 0 && !positive) { m_spellAura->Remove(); Данный патч был переписа +100500 раз и по словам источника баг, который влёк за собой - исправлен. Источник |
Quote (C3mak) DeimosLand, это офигеть, какой Хардкор, у себя исправил буквально несколькими строчками, причем более вернее, чем тут. p.s. каждый раз, когда кто то пишет "более вернее".. в мире умирает учитель русского
Сообщение # 5 написано 05.09.2012 в 01:28
|
Quote (Ma_aelKoT) ну так, не будучи жадиной - выложил бы тут эти пару строчек...:( тык, скачать патч актуален под офф тринити. Скрин, без тала скрин с талом И как видите, без всякого хардкода.(хардкора) |
| |||
| |||