diff --git a/Arcane fever from healing.esp b/Arcane fever from healing.esp new file mode 100644 index 00000000..6c3156ff Binary files /dev/null and b/Arcane fever from healing.esp differ diff --git a/scripts/_00E_IncreaseArcaneFeverFFTarget.pex b/scripts/_00E_IncreaseArcaneFeverFFTarget.pex new file mode 100644 index 00000000..671d0277 Binary files /dev/null and b/scripts/_00E_IncreaseArcaneFeverFFTarget.pex differ diff --git a/scripts/_00e_arkanistenfieberblitzheilungscn.pex b/scripts/_00e_arkanistenfieberblitzheilungscn.pex index f6cd37da..139155c2 100644 Binary files a/scripts/_00e_arkanistenfieberblitzheilungscn.pex and b/scripts/_00e_arkanistenfieberblitzheilungscn.pex differ diff --git a/scripts/_00e_arkanistenfieberwohltatscn.pex b/scripts/_00e_arkanistenfieberwohltatscn.pex index 9d538aca..68f35437 100644 Binary files a/scripts/_00e_arkanistenfieberwohltatscn.pex and b/scripts/_00e_arkanistenfieberwohltatscn.pex differ diff --git a/scripts/_00e_fs_alchaddarcanefever.pex b/scripts/_00e_fs_alchaddarcanefever.pex deleted file mode 100644 index 1761ccbb..00000000 Binary files a/scripts/_00e_fs_alchaddarcanefever.pex and /dev/null differ diff --git a/scripts/_60e_fs_mystical_panaceasc.pex b/scripts/_60e_fs_mystical_panaceasc.pex index 465eaff5..86d0beec 100644 Binary files a/scripts/_60e_fs_mystical_panaceasc.pex and b/scripts/_60e_fs_mystical_panaceasc.pex differ diff --git a/scripts/scriptarchiveorder.txt b/scripts/scriptarchiveorder.txt index c259e4c6..b9006995 100644 --- a/scripts/scriptarchiveorder.txt +++ b/scripts/scriptarchiveorder.txt @@ -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 diff --git a/source/scripts/_00E_IncreaseArcaneFeverFFTarget.psc b/source/scripts/_00E_IncreaseArcaneFeverFFTarget.psc new file mode 100644 index 00000000..c8021f08 --- /dev/null +++ b/source/scripts/_00E_IncreaseArcaneFeverFFTarget.psc @@ -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 diff --git a/source/scripts/_00e_arkanistenfieberblitzheilungscn.psc b/source/scripts/_00e_arkanistenfieberblitzheilungscn.psc index bf1e2a48..82c91a9f 100644 --- a/source/scripts/_00e_arkanistenfieberblitzheilungscn.psc +++ b/source/scripts/_00e_arkanistenfieberblitzheilungscn.psc @@ -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 - 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) +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 bVisuals + _00E_ArkanistenfieberIMOD.Apply() EndIf + _00E_FS_IncreaseArcaneFeverM.Play(PlayerREF) + 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 \ No newline at end of file diff --git a/source/scripts/_00e_arkanistenfieberwohltatscn.psc b/source/scripts/_00e_arkanistenfieberwohltatscn.psc index 995765ce..9569422f 100644 --- a/source/scripts/_00e_arkanistenfieberwohltatscn.psc +++ b/source/scripts/_00e_arkanistenfieberwohltatscn.psc @@ -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 diff --git a/source/scripts/_00e_fs_alchaddarcanefever.psc b/source/scripts/_00e_fs_alchaddarcanefever.psc deleted file mode 100644 index 2c9c777f..00000000 --- a/source/scripts/_00e_fs_alchaddarcanefever.psc +++ /dev/null @@ -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 diff --git a/source/scripts/_60e_fs_mystical_panaceasc.psc b/source/scripts/_60e_fs_mystical_panaceasc.psc index 6d44ebeb..9a2dfc4f 100644 --- a/source/scripts/_60e_fs_mystical_panaceasc.psc +++ b/source/scripts/_60e_fs_mystical_panaceasc.psc @@ -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 \ No newline at end of file