4
Fork 0

Brought back Dreameater's sneak attack bonus, since it's mentioned in the description, will be addressed later

development
Eddoursul 2 months ago
parent ccd3c0c262
commit d4cd1b4f0e
  1. BIN
      Enderal - Forgotten Stories.esm
  2. BIN
      scripts/_00e_fs_dreameatersc.pex
  3. 34
      source/scripts/_00e_fs_dreameatersc.psc

Binary file not shown.

Binary file not shown.

@ -27,6 +27,19 @@ Event OnEffectFinish(Actor akTarget, Actor akCaster)
fBonusDamage = fMagnitude
EndIf
; Sneak bonus
If IsExtraDamageApplicable(akTarget, akCaster)
Float fStealthModifier = Game.GetGameSettingFloat("fCombatSneakBowMult")
If akCaster.HasPerk(_00E_Class_Infiltrator_P03_B_HeartShot)
fStealthModifier = fStealthModifier * _00E_Class_Infiltrator_P03_B_HeartShot.GetNthEntryValue(0, 0)
EndIf
If akCaster == PlayerREF
_00E_FS_FakeStealthMsg.Show(fStealthModifier)
UISneakAttackM.Play(akCaster)
EndIf
fBonusDamage = fBonusDamage * fStealthModifier
EndIf
; Target's magic resistance
Float fMagicResist = akTarget.GetActorValue("MagicResist")
If fMagicResist > 0
@ -41,6 +54,21 @@ Event OnEffectFinish(Actor akTarget, Actor akCaster)
EndIf
EndEvent
Bool Function IsExtraDamageApplicable(Actor akTarget, Actor akCaster)
If akTarget.HasMagicEffect(_00E_FS_PsychosisWeaknessVisualME)
Return True
EndIf
If akCaster.IsDetectedBy(akTarget) == False
akTarget.GetCombatState()
If akTarget.GetCombatState() != 1
Return True
EndIf
EndIf
Return False
EndFunction
;=====================================================================================
; PROPERTIES
;=====================================================================================
@ -54,3 +82,9 @@ MagicEffect Property _00E_FS_PsychosisWeaknessVisualME Auto
Spell Property _00E_FS_PsychosisWeaknessSP Auto
Spell Property _00E_FS_PsychosisWeaknessSP_NoSlow Auto
Perk Property _00E_Class_Infiltrator_P03_B_HeartShot Auto ; 2.5
Message Property _00E_FS_FakeStealthMsg Auto
Sound Property UISneakAttackM Auto

Loading…
Cancel
Save