Entropic Blood fixes:
- Controlled actor no longer remains hostile to player. - Fixed floating in the air after save reload or player's death, occurred during victim selection or ghostwalking. - Unmarking attacking actor unmarks its target as well.
This commit is contained in:
parent
343039ddd8
commit
6f96053d76
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -16,11 +16,14 @@ Event OnCrosshairRefChange(ObjectReference ref)
|
|||||||
lastTarget.blockActivation(false)
|
lastTarget.blockActivation(false)
|
||||||
EndIf
|
EndIf
|
||||||
lastTarget = ref
|
lastTarget = ref
|
||||||
ref.blockActivation(true)
|
|
||||||
|
if ref
|
||||||
|
ref.blockActivation(true)
|
||||||
|
endif
|
||||||
|
|
||||||
If _00E_A2_EldritchBloodGlobal.GetValueInt() == 1
|
If _00E_A2_EldritchBloodGlobal.GetValueInt() == 1
|
||||||
If Ref.GetSelfAsActor() && Ref != Game.GetPlayer()
|
If ref as Actor && ref != Game.GetForm(0x14)
|
||||||
EldritchBloodEffectScript.SelectEnemy(Ref as Actor)
|
EldritchBloodEffectScript.SelectEnemy(ref as Actor)
|
||||||
EndIf
|
EndIf
|
||||||
Else
|
Else
|
||||||
UnregisterForCrosshairRef()
|
UnregisterForCrosshairRef()
|
||||||
@ -86,7 +89,6 @@ Function EnterMarkingMode(Float iReach, _00E_A2_EldritchBloodPlayerSC _00E_A2_El
|
|||||||
|
|
||||||
akSelfRef = Self.GetActorReference()
|
akSelfRef = Self.GetActorReference()
|
||||||
RegisterForAnimationEvent(akSelfRef, "weaponSwing")
|
RegisterForAnimationEvent(akSelfRef, "weaponSwing")
|
||||||
Game.DisablePlayerControls(false, false, false, false, false, false, false, false)
|
|
||||||
fActivatePickLengthBefore = GetINIFloat("fActivatePickLength:Interface")
|
fActivatePickLengthBefore = GetINIFloat("fActivatePickLength:Interface")
|
||||||
SetINIFloat("fActivatePickLength:Interface", iReach)
|
SetINIFloat("fActivatePickLength:Interface", iReach)
|
||||||
EldritchBloodEffectScript = _00E_A2_EldritchBloodMEScript
|
EldritchBloodEffectScript = _00E_A2_EldritchBloodMEScript
|
||||||
@ -103,7 +105,6 @@ Function ExitMarkingMode()
|
|||||||
|
|
||||||
iAttackCounter = 0
|
iAttackCounter = 0
|
||||||
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
|
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
|
||||||
Game.EnablePlayerControls()
|
|
||||||
UnregisterForCrosshairRef()
|
UnregisterForCrosshairRef()
|
||||||
SetINIFloat("fActivatePickLength:Interface", 150)
|
SetINIFloat("fActivatePickLength:Interface", 150)
|
||||||
|
|
||||||
|
@ -88,15 +88,25 @@ State AddEffect
|
|||||||
Event OnBeginState()
|
Event OnBeginState()
|
||||||
|
|
||||||
A2_EldritchBlood_Victim.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
A2_EldritchBlood_Victim.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
||||||
A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
|
||||||
|
if A2_EldritchBlood_VictimTarget.GetActorReference()
|
||||||
|
A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
||||||
|
endif
|
||||||
|
|
||||||
PlayerREF.RemoveSpell(_00E_A2_EldritchBloodAbSelectionSP)
|
PlayerREF.RemoveSpell(_00E_A2_EldritchBloodAbSelectionSP)
|
||||||
A2_EldritchBlood_PlayerForScript.ExitMarkingMode()
|
A2_EldritchBlood_PlayerForScript.ExitMarkingMode()
|
||||||
_00E_A2_EldritchBloodSelectionHoldIMOD.Remove()
|
_00E_A2_EldritchBloodSelectionHoldIMOD.Remove()
|
||||||
Sound.StopInstance(MarkingLP)
|
|
||||||
QSTDA16SoulGemOffM.Play(PlayerREF)
|
QSTDA16SoulGemOffM.Play(PlayerREF)
|
||||||
A2_EldritchBlood_Player.Clear()
|
A2_EldritchBlood_Player.Clear()
|
||||||
A2_EldritchBlood_Rune.GetReference().Delete()
|
|
||||||
A2_EldritchBlood_VictimRune.GetReference().Delete()
|
if A2_EldritchBlood_Rune.GetReference()
|
||||||
|
A2_EldritchBlood_Rune.GetReference().Delete()
|
||||||
|
endif
|
||||||
|
|
||||||
|
if A2_EldritchBlood_VictimRune.GetReference()
|
||||||
|
A2_EldritchBlood_VictimRune.GetReference().Delete()
|
||||||
|
endif
|
||||||
|
|
||||||
A2_EldritchBlood_Rune.Clear()
|
A2_EldritchBlood_Rune.Clear()
|
||||||
A2_EldritchBlood_VictimRune.Clear()
|
A2_EldritchBlood_VictimRune.Clear()
|
||||||
|
|
||||||
@ -108,10 +118,10 @@ Event OnBeginState()
|
|||||||
MarkingVictimRuneREF.Delete()
|
MarkingVictimRuneREF.Delete()
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
|
|
||||||
AddFrenzySpell()
|
AddFrenzySpell()
|
||||||
|
|
||||||
_00E_A2_EldritchBloodGlobal.SetValueInt(0)
|
_00E_A2_EldritchBloodGlobal.SetValueInt(0)
|
||||||
|
Sound.StopInstance(MarkingLP)
|
||||||
|
|
||||||
EndEvent
|
EndEvent
|
||||||
|
|
||||||
@ -125,38 +135,54 @@ Function AddFrenzySpell()
|
|||||||
|
|
||||||
float iExpDamage = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(iIndex - 1)
|
float iExpDamage = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(iIndex - 1)
|
||||||
_00E_A2_EldritchBloodEnchantment.SetNthEffectMagnitude(0, iExpDamage)
|
_00E_A2_EldritchBloodEnchantment.SetNthEffectMagnitude(0, iExpDamage)
|
||||||
_00E_A2_EldritchBloodMarkedVictimFXS.Stop(A2_EldritchBlood_VictimTarget.GetActorReference())
|
|
||||||
|
if A2_EldritchBlood_VictimTarget.GetActorReference()
|
||||||
|
_00E_A2_EldritchBloodMarkedVictimFXS.Stop(A2_EldritchBlood_VictimTarget.GetActorReference())
|
||||||
|
endif
|
||||||
|
|
||||||
float iFrenzyDMGMult = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(iIndex + 2)
|
float iFrenzyDMGMult = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(iIndex + 2)
|
||||||
Int iFrenzyDuration = _00E_A2_EldritchBloodSP.GetNthEffectDuration(iIndex + 2) as Int
|
Int iFrenzyDuration = _00E_A2_EldritchBloodSP.GetNthEffectDuration(iIndex + 2) as Int
|
||||||
|
|
||||||
_00E_A2_EldritchBloodVictimSP.SetNthEffectMagnitude(0, iFrenzyDMGMult)
|
_00E_A2_EldritchBloodVictimSP.SetNthEffectMagnitude(0, iFrenzyDMGMult)
|
||||||
_00E_A2_EldritchBloodVictimSP.SetNthEffectDuration(0, iFrenzyDuration)
|
_00E_A2_EldritchBloodVictimSP.SetNthEffectDuration(0, iFrenzyDuration)
|
||||||
|
|
||||||
_00E_A2_EldritchBloodVictimSP.Cast(A2_EldritchBlood_Victim.GetReference(), A2_EldritchBlood_Victim.GetReference())
|
|
||||||
|
|
||||||
If iFrezyAttackTargetMarked
|
if A2_EldritchBlood_Victim.GetReference()
|
||||||
A2_EldritchBlood_Victim.GetActorReference().StartCombat(A2_EldritchBlood_VictimTarget.GetActorReference())
|
_00E_A2_EldritchBloodVictimSP.Cast(A2_EldritchBlood_Victim.GetReference(), A2_EldritchBlood_Victim.GetReference())
|
||||||
Else
|
endif
|
||||||
A2_EldritchBlood_Victim.GetActorReference().StartCombat(PlayerREF.GetCombatTarget())
|
|
||||||
EndIf
|
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function NotMarkedClearUp()
|
Function NotMarkedClearUp()
|
||||||
|
|
||||||
A2_EldritchBlood_Victim.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
if A2_EldritchBlood_Victim.GetActorReference()
|
||||||
A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
A2_EldritchBlood_Victim.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if A2_EldritchBlood_VictimTarget.GetActorReference()
|
||||||
|
A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
||||||
|
_00E_A2_EldritchBloodMarkedVictimFXS.Stop(A2_EldritchBlood_VictimTarget.GetActorReference())
|
||||||
|
endif
|
||||||
|
|
||||||
(PlayerREF as _00E_Game_TalentControlSC).SetTalentRecoveryTime(_00E_A2_EldritchBlood, 0)
|
(PlayerREF as _00E_Game_TalentControlSC).SetTalentRecoveryTime(_00E_A2_EldritchBlood, 0)
|
||||||
MAGFail.Play(PlayerREF)
|
MAGFail.Play(PlayerREF)
|
||||||
PlayerREF.RemoveSpell(_00E_A2_EldritchBloodAbSelectionSP)
|
PlayerREF.RemoveSpell(_00E_A2_EldritchBloodAbSelectionSP)
|
||||||
A2_EldritchBlood_PlayerForScript.ExitMarkingMode()
|
|
||||||
|
if A2_EldritchBlood_PlayerForScript
|
||||||
|
A2_EldritchBlood_PlayerForScript.ExitMarkingMode()
|
||||||
|
endif
|
||||||
|
|
||||||
_00E_A2_EldritchBloodSelectionHoldIMOD.Remove()
|
_00E_A2_EldritchBloodSelectionHoldIMOD.Remove()
|
||||||
Sound.StopInstance(MarkingLP)
|
|
||||||
QSTDA16SoulGemOffM.Play(PlayerREF)
|
QSTDA16SoulGemOffM.Play(PlayerREF)
|
||||||
A2_EldritchBlood_Player.Clear()
|
A2_EldritchBlood_Player.Clear()
|
||||||
A2_EldritchBlood_Rune.GetReference().Delete()
|
|
||||||
A2_EldritchBlood_VictimRune.GetReference().Delete()
|
if A2_EldritchBlood_Rune.GetReference()
|
||||||
_00E_A2_EldritchBloodMarkedVictimFXS.Stop(A2_EldritchBlood_VictimTarget.GetActorReference())
|
A2_EldritchBlood_Rune.GetReference().Delete()
|
||||||
|
endif
|
||||||
|
|
||||||
|
if A2_EldritchBlood_VictimRune.GetReference()
|
||||||
|
A2_EldritchBlood_VictimRune.GetReference().Delete()
|
||||||
|
endif
|
||||||
|
|
||||||
A2_EldritchBlood_Rune.Clear()
|
A2_EldritchBlood_Rune.Clear()
|
||||||
A2_EldritchBlood_VictimRune.Clear()
|
A2_EldritchBlood_VictimRune.Clear()
|
||||||
A2_EldritchBlood_VictimTarget.Clear()
|
A2_EldritchBlood_VictimTarget.Clear()
|
||||||
@ -170,31 +196,38 @@ Function NotMarkedClearUp()
|
|||||||
MarkingVictimRuneREF.Delete()
|
MarkingVictimRuneREF.Delete()
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
Wait(2)
|
if ! PlayerREF.IsDead()
|
||||||
|
Wait(2.0)
|
||||||
|
endif
|
||||||
|
|
||||||
_00E_A2_EldritchBloodGlobal.SetValueInt(0)
|
_00E_A2_EldritchBloodGlobal.SetValueInt(0)
|
||||||
|
|
||||||
|
if MarkingLP
|
||||||
|
Sound.StopInstance(MarkingLP)
|
||||||
|
endif
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function SelectEnemy(Actor iVictim)
|
Function SelectEnemy(Actor iVictim)
|
||||||
|
|
||||||
If IsTargetValid(iVictim)
|
If ! IsTargetValid(iVictim)
|
||||||
If !IsTargetMarked(iVictim)
|
return
|
||||||
If !iFrenzyTargetMarked
|
EndIf
|
||||||
MarkFrenzyVictim(iVictim)
|
|
||||||
iFrenzyTargetMarked = True
|
If !IsTargetMarked(iVictim)
|
||||||
Elseif !iFrezyAttackTargetMarked
|
If !iFrenzyTargetMarked
|
||||||
MarkFrenzyTargetVictim(iVictim)
|
MarkFrenzyVictim(iVictim)
|
||||||
iFrezyAttackTargetMarked = True
|
iFrenzyTargetMarked = True
|
||||||
Else
|
Elseif !iFrezyAttackTargetMarked
|
||||||
_00E_Levelsystem_sEnemyAlreadyMarked.Show()
|
MarkFrenzyTargetVictim(iVictim)
|
||||||
MAGFail.Play(PlayerREF)
|
iFrezyAttackTargetMarked = True
|
||||||
EndIf
|
|
||||||
Else
|
|
||||||
UnmarkEnemy(iVictim)
|
|
||||||
EndIf
|
|
||||||
Else
|
Else
|
||||||
Return
|
_00E_Levelsystem_sEnemyAlreadyMarked.Show()
|
||||||
|
MAGFail.Play(PlayerREF)
|
||||||
EndIf
|
EndIf
|
||||||
|
Else
|
||||||
|
UnmarkEnemy(iVictim)
|
||||||
|
EndIf
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
@ -224,35 +257,39 @@ EndFunction
|
|||||||
|
|
||||||
Function UnmarkEnemy(Actor iVictim)
|
Function UnmarkEnemy(Actor iVictim)
|
||||||
|
|
||||||
bool Cleared
|
|
||||||
|
|
||||||
If iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
If iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
||||||
A2_EldritchBlood_Rune.Clear()
|
A2_EldritchBlood_Rune.Clear()
|
||||||
A2_EldritchBlood_Victim.Clear()
|
A2_EldritchBlood_Victim.Clear()
|
||||||
MarkingRuneREF.Disable()
|
|
||||||
iFrenzyTargetMarked = False
|
iFrenzyTargetMarked = False
|
||||||
_00E_Levelsystem_sEldritchBloodVictimMarkingRemoved.Show()
|
_00E_Levelsystem_sEldritchBloodVictimMarkingRemoved.Show()
|
||||||
iVictim.RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
iVictim.RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
|
||||||
_00E_A2_EldritchBloodMarkedFXS.Stop(iVictim)
|
_00E_A2_EldritchBloodMarkedFXS.Stop(iVictim)
|
||||||
_00E_A2_GhostwalkDeselectM.Play(PlayerREF)
|
_00E_A2_GhostwalkDeselectM.Play(PlayerREF)
|
||||||
Cleared = True
|
MarkingRuneREF.Delete()
|
||||||
|
MarkingRuneREF = None
|
||||||
|
|
||||||
|
; Unmark attack target too
|
||||||
|
if A2_EldritchBlood_VictimTarget.GetActorReference()
|
||||||
|
UnmarkEnemy(A2_EldritchBlood_VictimTarget.GetActorReference())
|
||||||
|
endif
|
||||||
|
|
||||||
Elseif iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
Elseif iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
||||||
A2_EldritchBlood_VictimRune.Clear()
|
A2_EldritchBlood_VictimRune.Clear()
|
||||||
A2_EldritchBlood_VictimTarget.Clear()
|
A2_EldritchBlood_VictimTarget.Clear()
|
||||||
MarkingVictimRuneREF.Disable()
|
|
||||||
iFrezyAttackTargetMarked = False
|
iFrezyAttackTargetMarked = False
|
||||||
_00E_Levelsystem_sEldritchBloodAttackVictimMarkingRemoved.Show()
|
_00E_Levelsystem_sEldritchBloodAttackVictimMarkingRemoved.Show()
|
||||||
iVictim.RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
iVictim.RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
||||||
_00E_A2_EldritchBloodMarkedVictimFXS.Stop(iVictim)
|
_00E_A2_EldritchBloodMarkedVictimFXS.Stop(iVictim)
|
||||||
_00E_A2_GhostwalkDeselectM.Play(PlayerREF)
|
_00E_A2_GhostwalkDeselectM.Play(PlayerREF)
|
||||||
Cleared = True
|
MarkingVictimRuneREF.Delete()
|
||||||
|
MarkingVictimRuneREF = None
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
bool Function IsTargetValid(Actor CheckVictim)
|
bool Function IsTargetValid(Actor CheckVictim)
|
||||||
|
|
||||||
If CheckVictim.IsInFaction(PlayerAlliesFaction)
|
If CheckVictim.IsInFaction(PlayerAlliesFaction) || CheckVictim.IsCommandedActor() || CheckVictim.IsPlayerTeammate()
|
||||||
Return False
|
Return False
|
||||||
ElseIf CheckVictim.HasKeyword(MagicNoEldritchBlood)
|
ElseIf CheckVictim.HasKeyword(MagicNoEldritchBlood)
|
||||||
_00E_Levelsystem_sAbilityEnemyLevelTooHigh.Show()
|
_00E_Levelsystem_sAbilityEnemyLevelTooHigh.Show()
|
||||||
@ -272,21 +309,13 @@ bool Function EnemyLevelTooHigh(Actor LevelVictim)
|
|||||||
|
|
||||||
Float iAllowedDif = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(6)
|
Float iAllowedDif = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(6)
|
||||||
|
|
||||||
If (LevelVictim.GetLevel() > (PlayerLevel.GetValueInt() + iAllowedDif as Int))
|
return (LevelVictim.GetLevel() > (PlayerLevel.GetValueInt() + iAllowedDif as Int))
|
||||||
Return True
|
|
||||||
Else
|
|
||||||
Return False
|
|
||||||
EndIf
|
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
bool Function IsTargetMarked(Actor iVictim)
|
bool Function IsTargetMarked(Actor iVictim)
|
||||||
|
|
||||||
If iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimSP) || iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
return iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimSP) || iVictim.HasSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
||||||
Return True
|
|
||||||
Else
|
|
||||||
Return False
|
|
||||||
EndIf
|
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ EndEvent
|
|||||||
|
|
||||||
Event OnEffectStart(Actor akTarget, Actor akCaster)
|
Event OnEffectStart(Actor akTarget, Actor akCaster)
|
||||||
|
|
||||||
Actor PlayerRef = Game.GetPlayer()
|
Actor PlayerRef = Game.GetForm(0x14) as Actor
|
||||||
TalentLevel = GetPlayerTalentLevel(_00E_Class_LifeAndDeath_P09b_Talent_EldritchBlood, _00E_Class_LifeAndDeath_P09b_Talent_EldritchBlood2, _00E_Class_LifeAndDeath_P09b_Talent_EldritchBlood3)
|
TalentLevel = GetPlayerTalentLevel(_00E_Class_LifeAndDeath_P09b_Talent_EldritchBlood, _00E_Class_LifeAndDeath_P09b_Talent_EldritchBlood2, _00E_Class_LifeAndDeath_P09b_Talent_EldritchBlood3)
|
||||||
|
|
||||||
Game.ShowFirstPersonGeometry()
|
Game.ShowFirstPersonGeometry()
|
||||||
@ -29,10 +29,6 @@ Event OnEffectStart(Actor akTarget, Actor akCaster)
|
|||||||
|
|
||||||
_00E_A2_EldritchBloodParticelAttachVFX.Play(Victim)
|
_00E_A2_EldritchBloodParticelAttachVFX.Play(Victim)
|
||||||
|
|
||||||
If Victim.GetCombatTarget() == PlayerRef
|
|
||||||
Victim.StopCombat()
|
|
||||||
EndIf
|
|
||||||
|
|
||||||
; Strip Victim off all its factions
|
; Strip Victim off all its factions
|
||||||
VictimFactions = Victim.GetFactions(-128, 127)
|
VictimFactions = Victim.GetFactions(-128, 127)
|
||||||
VictimFactionRanks = CreateIntArray(VictimFactions.Length)
|
VictimFactionRanks = CreateIntArray(VictimFactions.Length)
|
||||||
@ -55,9 +51,16 @@ Event OnEffectStart(Actor akTarget, Actor akCaster)
|
|||||||
Victim.SetActorValue("Confidence", 4)
|
Victim.SetActorValue("Confidence", 4)
|
||||||
Victim.SetActorValue("Aggression", 2)
|
Victim.SetActorValue("Aggression", 2)
|
||||||
|
|
||||||
Victim.EvaluatePackage()
|
AdjustAndAddFrenzyPerk(Victim)
|
||||||
AdjustAndAddFrenzyPerk()
|
|
||||||
|
Victim.StopCombat()
|
||||||
|
|
||||||
|
If A2_EldritchBlood_VictimTarget.GetActorReference()
|
||||||
|
A2_EldritchBlood_Victim.GetActorReference().StartCombat(A2_EldritchBlood_VictimTarget.GetActorReference())
|
||||||
|
ElseIf PlayerREF.GetCombatTarget()
|
||||||
|
A2_EldritchBlood_Victim.GetActorReference().StartCombat(PlayerREF.GetCombatTarget())
|
||||||
|
EndIf
|
||||||
|
|
||||||
EndEvent
|
EndEvent
|
||||||
|
|
||||||
|
|
||||||
@ -85,6 +88,7 @@ Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
|||||||
EndWhile
|
EndWhile
|
||||||
|
|
||||||
Victim.EvaluatePackage()
|
Victim.EvaluatePackage()
|
||||||
|
|
||||||
EndEvent
|
EndEvent
|
||||||
|
|
||||||
Event OnDying(Actor akKiller)
|
Event OnDying(Actor akKiller)
|
||||||
@ -98,7 +102,7 @@ EndEvent
|
|||||||
; FUNCTIONS
|
; FUNCTIONS
|
||||||
;=====================================================================================
|
;=====================================================================================
|
||||||
|
|
||||||
Function AdjustAndAddFrenzyPerk()
|
Function AdjustAndAddFrenzyPerk(Actor Victim)
|
||||||
|
|
||||||
float iDamageMultiplicator = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(TalentLevel + 2)
|
float iDamageMultiplicator = _00E_A2_EldritchBloodSP.GetNthEffectMagnitude(TalentLevel + 2)
|
||||||
|
|
||||||
@ -112,6 +116,8 @@ Function AdjustAndAddFrenzyPerk()
|
|||||||
|
|
||||||
iPerk.SetNthEntryValue(1, 1, iDamageMultiplicator)
|
iPerk.SetNthEntryValue(1, 1, iDamageMultiplicator)
|
||||||
iPerk.SetNthEntryValue(2, 1, iDamageMultiplicator)
|
iPerk.SetNthEntryValue(2, 1, iDamageMultiplicator)
|
||||||
|
|
||||||
|
Victim.AddPerk(iPerk)
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
@ -172,14 +178,15 @@ Function Explode()
|
|||||||
_00E_A2_ShatterSoulExpIMOD.Apply()
|
_00E_A2_ShatterSoulExpIMOD.Apply()
|
||||||
Victim.AttachAshPile(_00E_EldritchPile)
|
Victim.AttachAshPile(_00E_EldritchPile)
|
||||||
|
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
ObjectReference VictimREF = Victim as ObjectReference
|
ObjectReference VictimREF = Victim as ObjectReference
|
||||||
(VictimREF as _00E_EPOnDeath).HasBlameSpell = true
|
(VictimREF as _00E_EPOnDeath).HasBlameSpell = true
|
||||||
Victim.SetAlpha(0.0, true)
|
Victim.SetAlpha(0.0, true)
|
||||||
Victim.Kill(Victim)
|
Victim.RemovePerk(iPerk)
|
||||||
Victim.SetCriticalStage(Victim.CritStage_DisintegrateEnd)
|
Victim.Kill(Victim)
|
||||||
EXPMarker.Delete()
|
Victim.SetCriticalStage(Victim.CritStage_DisintegrateEnd)
|
||||||
|
EXPMarker.Delete()
|
||||||
|
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
|
@ -21,6 +21,11 @@ Event OnPlayerLoadGame()
|
|||||||
if ControlRepository == None
|
if ControlRepository == None
|
||||||
ControlRepository = Game.GetForm(0x493C2) as _00E_EnderalControls
|
ControlRepository = Game.GetForm(0x493C2) as _00E_EnderalControls
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
; Restore INI value changed by slow time effects
|
||||||
|
if Utility.GetINIFloat("fInAirFallingCharGravityMult:Havok") < 1.35
|
||||||
|
Utility.SetINIFloat("fInAirFallingCharGravityMult:Havok", 1.35)
|
||||||
|
endif
|
||||||
EndEvent
|
EndEvent
|
||||||
|
|
||||||
_00E_SkillControl function GetSkillControl() Global
|
_00E_SkillControl function GetSkillControl() Global
|
||||||
|
@ -12,6 +12,8 @@ EndEvent
|
|||||||
Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
||||||
|
|
||||||
_00E_PlayerFunctions.GetVisionControl().UpdateSpeed(akTarget)
|
_00E_PlayerFunctions.GetVisionControl().UpdateSpeed(akTarget)
|
||||||
|
|
||||||
|
; Also restored on game load in _00E_PlayerFunctions
|
||||||
Utility.SetINIFloat("fInAirFallingCharGravityMult:Havok", 1.35)
|
Utility.SetINIFloat("fInAirFallingCharGravityMult:Havok", 1.35)
|
||||||
|
|
||||||
EndEvent
|
EndEvent
|
||||||
|
Loading…
Reference in New Issue
Block a user