Non-SKSE support for Arcane Fever effects
This commit is contained in:
parent
e7580e660c
commit
6945904e29
BIN
Arcane fever from healing.esp
Normal file
BIN
Arcane fever from healing.esp
Normal file
Binary file not shown.
BIN
scripts/_00E_IncreaseArcaneFeverFFTarget.pex
Normal file
BIN
scripts/_00E_IncreaseArcaneFeverFFTarget.pex
Normal file
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
|
||||
|
32
source/scripts/_00E_IncreaseArcaneFeverFFTarget.psc
Normal file
32
source/scripts/_00E_IncreaseArcaneFeverFFTarget.psc
Normal file
@ -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…
Reference in New Issue
Block a user