diff --git a/Counter update.esp b/Counter update.esp new file mode 100644 index 00000000..1ce0a00f Binary files /dev/null and b/Counter update.esp differ diff --git a/scripts/_00e_overstrainsc.pex b/scripts/_00e_overstrainsc.pex index cd4d6254..f31abe8b 100644 Binary files a/scripts/_00e_overstrainsc.pex and b/scripts/_00e_overstrainsc.pex differ diff --git a/source/scripts/_00e_overstrainsc.psc b/source/scripts/_00e_overstrainsc.psc index aaae1c35..41e220e3 100644 --- a/source/scripts/_00e_overstrainsc.psc +++ b/source/scripts/_00e_overstrainsc.psc @@ -1,6 +1,5 @@ Scriptname _00E_OverstrainSC extends activemagiceffect - ;===================================================================================== ; EVENTS ;===================================================================================== @@ -18,6 +17,12 @@ Event OnEffectStart(Actor akTarget, Actor akCaster) bAwardXP = (akCasterREF == None || (akCasterREF.GetFactionRank(EPFaction) >= 0) || akCasterREF.HasEffectKeyword(BlameSpellKeyword)) + if SKSE.GetVersion() + fMagnitude = GetMagnitude() + endif + + fDamageMagnitude = fMagnitude * akCasterREF.GetActorValue("Illusion") / 5 + EndIf EndEvent @@ -49,10 +54,17 @@ Function CastStun() akTargetREF.PlaceAtMe(_00E_FS_OverstrainEXP) _00E_Ability_StaggerSelfSpell.RemoteCast(akTargetREF, akCasterREF, akTargetREF) - float fStrength = (Self.GetMagnitude()*akCasterREF.GetActorValue("Illusion")/5) - _00E_FS_OverstrainDMGSP.SetNthEffectMagnitude(0, fStrength) iStunStage = 2 - _00E_FS_OverstrainDMGSP.Cast(akTargetREF, akTargetREF) + + if SKSE.GetVersion() + _00E_FS_OverstrainDMGSP.SetNthEffectMagnitude(0, fDamageMagnitude) + _00E_FS_OverstrainDMGSP.Cast(akTargetREF, akTargetREF) + else + ; taper magnitude = effect magnitude * Taper Weight * Taper Duration / (Taper Curve + 1) + ; does not match SKSE damage, needs improvement + akTargetREF.DamageActorValue("Health", fDamageMagnitude + fDamageMagnitude * 0.3 * 1.0 / (2.0 + 1)) + endif + IllusionNegativeFXS.Play(akTargetREF) MAGIllusionReleaseAimedSDM.Play(akTargetREF) IllusionDark01Imod.Apply() @@ -69,6 +81,7 @@ Actor akTargetREF Actor akCasterREF Bool bAwardXP Int iStunStage +float fDamageMagnitude Spell Property _00E_Ability_StaggerSelfSpell Auto Spell Property _00E_FS_OverstrainDMGSP Auto @@ -86,4 +99,6 @@ ImageSpaceModifier Property IllusionDark01Imod Auto Keyword Property BlameSpellKeyword Auto -Faction Property EPFaction Auto \ No newline at end of file +Faction Property EPFaction Auto + +Float Property fMagnitude = 7.0 Auto