Av Latta MagickaのMaster of Destructionが自分に対して発動してしまう(+他)

2025-05-15

Av Latta Magicka v1.25で気になったところ。

Master of Destructionが自分に発動してしまう

Master of Destructionとは
Destructionスキルがマスターレベルになると獲得できるLesser Power
敵を攻撃した際、自動的に Weakness to Magic(15%, 10sec) が発動して敵を弱体化させる
3回まで重ねがけできる
Destruction Skill Perks
Apprentice: Fire, Frost and Shock spells can deal up to 20% more damage based an target's missing Health, Fatigue or Magicka percentage.
Journeyman: Elemental Destruction spells have a chance to cause recoil on impact.
Expert: Unlocks special impact effects from elemental Destruction spells.
Master: Each hit with Destruction spells applies 10 seconds 15% Weakness to Magic effect on target. Stacks up to 3 times.

―― Description - Av Latta Magicka

ただし、下記条件の魔法を詠唱すると自分に対してWeakness to Magicが発動してしまう。

条件
魔法の組み合わせが、Destruction魔法+Self魔法
Destruction Schoolであること

魔法を自作して検証

自作魔法
Fire Damage(Destruction, Touch)
Invisibility(Illusion, Self)
消費マジカを Fire Damage>Invisibility として、Destruction Schoolとなるようにする
  • Master of Destruction

    1. Fire Damage+Invisibilityを作成

  • Master of Destruction

    2. 詠唱すると自分にWeakness to Magicが発動する

almHandlerMagicApplySpellの記述ミス

Av Latta Magicka.esm 内のスクリプト almHandlerMagicApplySpell には、Disintegrate WeaponとElemental Weaponに関する処理に記述ミスがある。

;===========Disintegrate Weapon
if code == GetMECode DIWE
    if HasMagicEffect WEFI || HasMagicEffect WEFR || HasMagicEffect WESH
        if GetAVCurrentF almAVDamageBonusFire > 0
            Call almFnDealDamage target caster (GetAVCurrentF almAVDamageBonusFire) 2
        endif
        if GetAVCurrentF almAVDamageBonusFrost > 0
            Call almFnDealDamage target caster (GetAVCurrentF almAVDamageBonusFrost) 3
        endif
        if GetAVCurrentF almAVDamageBonusFire > 0
            Call almFnDealDamage target caster (GetAVCurrentF almAVDamageBonusShock) 4
        endif
        if caster == PlayerRef
            Call almFnMessageBig "Menus\Class\Attributes\load_image_alteration.dds" "Spell Combination: Meltdown%r%rDisintegrate Weapon effect causes Fire, Frost or Shock Weapons to become unstable and backfire on wielder."
        endif
    endif
    break
endif
if GetAVCurrentF almAVDamageBonusFire > 0
    Call almFnDealDamage target caster (GetAVCurrentF almAVDamageBonusShock) 4
endif

たぶん、上記if文の almAVDamageBonusFirealmAVDamageBonusShock が正しい。

if GetAVCurrentF almAVDamageBonusShock > 0
    Call almFnDealDamage target caster (GetAVCurrentF almAVDamageBonusShock) 4
endif

関連記事

    APPs
    APPs
    Game
    Qonoha
    Sublime Text
    Tablacus Explorer
    OBLIVION
    Oblivion
    Alchemy and Crafting
    Body, Head and Hair
    Combat
    Console
    Construction Set
    Equipment
    Immersion and Realism
    Locations and Player Homes
    Magic and Enchantments
    Mercantiles
    MODs List
    NPC
    Overhauls
    Photo
    Pose and Animation
    Quests
    Recommended
    Skills and Leveling
    TES4Edit
    Troubles
    User Interfaces
    Wrye Bash
    CODING
    Coding
    JavaScript