diff --git a/Dreameater update.esp b/Dreameater update.esp new file mode 100644 index 00000000..29a3d0d2 Binary files /dev/null and b/Dreameater update.esp differ diff --git a/scripts/_00e_fs_dreameatersc.pex b/scripts/_00e_fs_dreameatersc.pex index 7eb829fe..56ff4ff1 100644 Binary files a/scripts/_00e_fs_dreameatersc.pex and b/scripts/_00e_fs_dreameatersc.pex differ diff --git a/source/scripts/_00e_fs_dreameatersc.psc b/source/scripts/_00e_fs_dreameatersc.psc index 5b8d7e10..41db13b6 100644 --- a/source/scripts/_00e_fs_dreameatersc.psc +++ b/source/scripts/_00e_fs_dreameatersc.psc @@ -1,11 +1,27 @@ Scriptname _00E_FS_DreameaterSC extends activemagiceffect +{Dreameater bonus damage} ;===================================================================================== ; EVENTS ;===================================================================================== -Event OnEffectStart(Actor akTarget, Actor akCaster) - Float fMagnitude = Self.GetMagnitude() +event OnEffectStart(Actor akTarget, Actor akCaster) + if SKSE.GetVersion() + fMagnitude = GetMagnitude() + endif +endevent + +Event OnEffectFinish(Actor akTarget, Actor akCaster) + if ! fMagnitude + fMagnitude = - akTarget.GetActorValue(sActorValue) + endif + + if akTarget.IsDead() + return + endif + + akTarget.RestoreActorValue(sActorValue, fMagnitude) + Float fBonusDamage = fMagnitude * akCaster.GetActorValue("Illusion") / 3.0 If fBonusDamage < fMagnitude fBonusDamage = fMagnitude @@ -30,7 +46,6 @@ Event OnEffectStart(Actor akTarget, Actor akCaster) fBonusDamage = fBonusDamage * (100.0 - fMagicResist) / 100.0 EndIf - akTarget.DamageActorValue("Health", fBonusDamage) If akTarget.HasMagicEffect(_00E_FS_PsychosisWeaknessVisualME) @@ -59,6 +74,9 @@ EndFunction ; PROPERTIES ;===================================================================================== +float fMagnitude +String Property sActorValue = "FavorActive" Auto + Actor Property PlayerREF Auto Perk Property _00E_Class_Infiltrator_P03_B_HeartShot Auto ; 2.5