1

Non-SKSE support for Arcane Fever effects

This commit is contained in:
Eddoursul 2024-02-10 21:06:02 +01:00
parent e7580e660c
commit 6945904e29
12 changed files with 64 additions and 44 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -502,7 +502,7 @@ scripts\_00e_fs_affinity_nightwolfsc.pex
scripts\_00e_fs_affinity_ravager_feastsc.pex
scripts\_00e_fs_affinity_scourge_titansc.pex
scripts\_00e_fs_affinity_transformapparation.pex
scripts\_00e_fs_alchaddarcanefever.pex
scripts\_00E_IncreaseArcaneFeverFFTarget.pex
scripts\_00e_fs_blueprintcontainersc.pex
scripts\_00e_fs_blueprintcontainerspellsc.pex
scripts\_00e_fs_chestopenpassphrase.pex

@ -0,0 +1,32 @@
Scriptname _00E_IncreaseArcaneFeverFFTarget extends activemagiceffect
event OnInit()
fMagnitude = PlayerREF.GetActorValue("LastFlattered")
endevent
Event OnEffectFinish(Actor akTarget, Actor akCaster)
If akCaster != PlayerREF
return
endif
fMagnitude -= PlayerREF.GetActorValue("LastFlattered")
If PlayerREF.HasPerk(_00E_Class_Thaumaturge_P07_MentalExpert)
fMagnitude = fMagnitude * 0.67
EndIf
PlayerREF.ModActorValue("LastFlattered", -fMagnitude)
_00E_Player_sArcaneFeverIncreased.Show(fMagnitude, - PlayerREF.GetActorValue("LastFlattered"))
_00E_FS_IncreaseArcaneFeverM.Play(PlayerREF)
EndEvent
float fMagnitude
Actor Property PlayerREF Auto
Sound Property _00E_FS_IncreaseArcaneFeverM Auto
Message Property _00E_Player_sArcaneFeverIncreased Auto
Perk Property _00E_Class_Thaumaturge_P07_MentalExpert Auto

@ -1,28 +1,44 @@
Scriptname _00E_ArkanistenfieberBlitzheilungSCN extends activemagiceffect
Event OnEffectStart(Actor akTarget, Actor akCaster)
event OnInit()
if SKSE.GetVersion()
skseMagnitude = GetMagnitude()
else
; By the time this value is retrieved, LastFlattered is already modified, making the calculation slightly inaccurate
fMagnitude = PlayerREF.GetActorValue("LastFlattered")
endif
endevent
Event OnEffectFinish(Actor akTarget, Actor akCaster)
if akTarget != PlayerREF
return
endif
float currentValue = PlayerREF.GetActorValue("LastFlattered")
if skseMagnitude
fMagnitude = - skseMagnitude
else
fMagnitude -= currentValue
endif
_00E_Player_sArcaneFeverIncreased.Show(fMagnitude, - currentValue)
If akCaster == PlayerREF || akTarget == PlayerREF
fMagnitude = Self.GetMagnitude()
If PlayerREF.HasPerK(_00E_Class_Thaumaturge_P07_MentalExpert)
fMagnitude = fMagnitude*0.67
EndIf
PlayerREF.ModActorValue("lastFlattered", -fMagnitude)
_00E_Player_sArcaneFeverIncreased.Show(fMagnitude, -1*(PlayerREF.GetActorValue("LastFlattered")))
If bVisuals
_00E_ArkanistenfieberIMOD.Apply()
EndIf
_00E_FS_IncreaseArcaneFeverM.Play(PlayerREF)
EndIf
EndEvent
float skseMagnitude
float fMagnitude
bool Property bVisuals = true Auto
bool Property bVisuals = false Auto
Actor Property PlayerREF Auto
ImageSpaceModifier Property _00E_ArkanistenfieberIMOD Auto
Sound Property _00E_FS_IncreaseArcaneFeverM Auto
Message Property _00E_Player_sArcaneFeverIncreased Auto
Perk Property _00E_Class_Thaumaturge_P07_MentalExpert Auto

@ -2,7 +2,7 @@ Scriptname _00E_ArkanistenfieberWohltatSCN extends activemagiceffect
Event OnEffectStart(actor akTarget, Actor akCaster)
If akTarget == Game.GetPlayer()
If akTarget.GetFormID() == 0x14
akPlayer = akTarget
fOldAV = -1*(akPlayer.GetActorValue("LastFlattered"))
Else

@ -1,26 +0,0 @@
Scriptname _00E_FS_AlchAddArcaneFever extends activemagiceffect
Event OnEffectStart(Actor akTarget, Actor akCaster)
if akTarget == Game.GetPlayer()
float fArcaneFeverAdd = Self.GetBaseObject().GetArea()
Debug.MessageBox(fArcaneFeverAdd)
akTarget.ModActorValue("LastFlattered", -fArcaneFeverAdd)
_00E_Player_sArcaneFeverIncreased.Show(fArcaneFeverAdd, -1*(akTarget.GetActorValue("LastFlattered")))
if bVisuals
_00E_ArkanistenfieberIMOD.Apply()
endif
_00E_FS_IncreaseArcaneFeverM.Play(akTarget)
EndIf
EndEvent
bool Property bVisuals = true Auto
ImageSpaceModifier Property _00E_ArkanistenfieberIMOD Auto
Sound Property _00E_FS_IncreaseArcaneFeverM Auto
Message Property _00E_Player_sArcaneFeverIncreased Auto

@ -26,5 +26,3 @@ Hazard Property _60E_FS_Mystical_PanaceaHazard Auto
Enchantment Property _60E_FS_Mystical_PanaceaEnch Auto
Perk Property _60E_FS_Mystical_ArmorBuffPerk Auto
Message Property _00E_Player_sArcaneFeverIncreased Auto