4
Fork 0

Non-SKSE support for Arcane Fever effects

development
Eddoursul 3 months ago
parent e7580e660c
commit 6945904e29
  1. BIN
      Arcane fever from healing.esp
  2. BIN
      scripts/_00E_IncreaseArcaneFeverFFTarget.pex
  3. BIN
      scripts/_00e_arkanistenfieberblitzheilungscn.pex
  4. BIN
      scripts/_00e_arkanistenfieberwohltatscn.pex
  5. BIN
      scripts/_00e_fs_alchaddarcanefever.pex
  6. BIN
      scripts/_60e_fs_mystical_panaceasc.pex
  7. 2
      scripts/scriptarchiveorder.txt
  8. 32
      source/scripts/_00E_IncreaseArcaneFeverFFTarget.psc
  9. 44
      source/scripts/_00e_arkanistenfieberblitzheilungscn.psc
  10. 2
      source/scripts/_00e_arkanistenfieberwohltatscn.psc
  11. 26
      source/scripts/_00e_fs_alchaddarcanefever.psc
  12. 2
      source/scripts/_60e_fs_mystical_panaceasc.psc

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
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

@ -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
Loading…
Cancel
Save