Compare commits

..

3 Commits

9 changed files with 140 additions and 134 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -10,73 +10,75 @@ Import Utility
Auto State Marking Auto State Marking
Event OnCrosshairRefChange(ObjectReference ref) Event OnControlUp(string control, float HoldTime)
if lastTarget != None Actor rTarget = Game.GetCurrentCrosshairRef() as Actor
lastTarget.blockActivation(false)
EndIf
lastTarget = ref
if ref if ! rTarget || rTarget == Game.GetForm(0x14)
ref.blockActivation(true) return
endif endif
If _00E_A2_EldritchBloodGlobal.GetValueInt() == 1 If _00E_A2_EldritchBloodGlobal.GetValueInt() == 1
If ref as Actor && ref != Game.GetForm(0x14) EldritchBloodEffectScript.SelectEnemy(rTarget)
EldritchBloodEffectScript.SelectEnemy(ref as Actor)
EndIf EndIf
Else
UnregisterForCrosshairRef()
EndIf
EndEvent EndEvent
Event OnAnimationEvent(ObjectReference akSource, string asEventName) Event OnCrosshairRefChange(ObjectReference ref)
if(akSource == akSelfRef && asEventName == "weaponSwing") if lastTarget != None
if iAttackCounter == 0 lastTarget.blockActivation(false)
iAttackCounter = 1 EndIf
Else lastTarget = ref
if ref
ref.blockActivation(true)
endif
EndEvent
Event OnAnimationEvent(ObjectReference akSource, string asEventName)
if(akSource == akSelfRef && asEventName == "weaponSwing")
if iAttackCounter == 0
iAttackCounter = 1
Else
; Debug.Notification(sMarkingModeInterrupted)
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
EldritchBloodEffectScript.abort()
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
EndIf
EndIf
EndEvent
Event OnObjectEquipped(Form equippedObject, ObjectReference reference)
if ! equippedObject as Shout
; Debug.Notification(sMarkingModeInterrupted) ; Debug.Notification(sMarkingModeInterrupted)
_00E_MarkingTalents_sMarkingModeInterrupted.Show() _00E_MarkingTalents_sMarkingModeInterrupted.Show()
EldritchBloodEffectScript.abort() EldritchBloodEffectScript.abort()
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
EndIf EndIf
EndIf
EndEvent EndEvent
Event OnObjectEquipped(Form equippedObject, ObjectReference reference) Event OnSpellCast(Form akSpell)
Shout equippedShout = equippedObject as Shout if akSpell != _00E_A2_EldritchBloodSP
; Debug.Notification(sMarkingModeInterrupted)
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
EldritchBloodEffectScript.abort()
EndIf
EndEvent
Event OnPlayerBowShot(Weapon akWeapon, Ammo akAmmo, float afPower, bool abSunGazing)
if(!equippedShout)
; Debug.Notification(sMarkingModeInterrupted) ; Debug.Notification(sMarkingModeInterrupted)
_00E_MarkingTalents_sMarkingModeInterrupted.Show() _00E_MarkingTalents_sMarkingModeInterrupted.Show()
EldritchBloodEffectScript.abort() EldritchBloodEffectScript.abort()
EndIf
EndEvent EndEvent
Event OnSpellCast(Form akSpell)
Shout equippedShout = akSpell as Shout
if akSpell != _00E_A2_EldritchBloodSP
; Debug.Notification(sMarkingModeInterrupted)
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
EldritchBloodEffectScript.abort()
EndIf
EndEvent
Event OnPlayerBowShot(Weapon akWeapon, Ammo akAmmo, float afPower, bool abSunGazing)
; Debug.Notification(sMarkingModeInterrupted)
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
EldritchBloodEffectScript.abort()
EndEvent
EndState EndState
@ -93,21 +95,28 @@ Function EnterMarkingMode(Float iReach, _00E_A2_EldritchBloodPlayerSC _00E_A2_El
SetINIFloat("fActivatePickLength:Interface", iReach) SetINIFloat("fActivatePickLength:Interface", iReach)
EldritchBloodEffectScript = _00E_A2_EldritchBloodMEScript EldritchBloodEffectScript = _00E_A2_EldritchBloodMEScript
RegisterForCrosshairRef() RegisterForCrosshairRef()
RegisterForControl("Activate")
EndFunction EndFunction
Function ExitMarkingMode() Function ExitMarkingMode()
iAttackCounter = 0
UnregisterForAllControls()
UnregisterForCrosshairRef()
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
; Restore activation reach
if fActivatePickLengthBefore <= 0
fActivatePickLengthBefore = 150.0
endif
SetINIFloat("fActivatePickLength:Interface", fActivatePickLengthBefore)
if lastTarget != None if lastTarget != None
lastTarget.blockActivation(false) lastTarget.blockActivation(false)
EndIf EndIf
lastTarget = None lastTarget = None
iAttackCounter = 0
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
UnregisterForCrosshairRef()
SetINIFloat("fActivatePickLength:Interface", 150)
EndFunction EndFunction
;===================================================================================== ;=====================================================================================

View File

@ -51,79 +51,79 @@ EndFunction
State MarkTargets State MarkTargets
Event OnBeginState() Event OnBeginState()
If _00E_SelectionTutorialShown.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0 If _00E_SelectionTutorialShown.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0
_00E_Tutorial_SelectionMode.Show() _00E_Tutorial_SelectionMode.Show()
_00E_SelectionTutorialShown.SetValueInt(1) _00E_SelectionTutorialShown.SetValueInt(1)
EndIf EndIf
If _00E_A2_EldritchBloodInDepthTutorial.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0 If _00E_A2_EldritchBloodInDepthTutorial.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0
_00E_A2_Tutorial_EldritchBloodDetailed.Show() _00E_A2_Tutorial_EldritchBloodDetailed.Show()
_00E_A2_EldritchBloodInDepthTutorial.SetValueInt(1) _00E_A2_EldritchBloodInDepthTutorial.SetValueInt(1)
EndIf EndIf
If _00E_DisableSkillTutorials.GetValueInt() == 0 If _00E_DisableSkillTutorials.GetValueInt() == 0
_00E_A2_Tutorial_EldritchBlood.ShowAsHelpMessage("EldritchBlood", 8, 8, 1) _00E_A2_Tutorial_EldritchBlood.ShowAsHelpMessage("EldritchBlood", 8, 8, 1)
EndIf EndIf
_00E_A2_EldritchBloodGlobal.SetValueInt(1) _00E_A2_EldritchBloodGlobal.SetValueInt(1)
(PlayerREF as _00E_Game_TalentControlSC).SetTalentRecoveryTime(_00E_A2_EldritchBlood, 0) (PlayerREF as _00E_Game_TalentControlSC).SetTalentRecoveryTime(_00E_A2_EldritchBlood, 0)
A2_EldritchBlood_Player.ForceRefTo(PlayerREF) A2_EldritchBlood_Player.ForceRefTo(PlayerREF)
A2_EldritchBlood_PlayerForScript = A2_EldritchBlood_Player as _00E_A2_EldritchBloodPlayerMarkSC A2_EldritchBlood_PlayerForScript = A2_EldritchBlood_Player as _00E_A2_EldritchBloodPlayerMarkSC
PlayerREF.AddSpell(_00E_A2_EldritchBloodAbSelectionSP, False) PlayerREF.AddSpell(_00E_A2_EldritchBloodAbSelectionSP, False)
_00E_A2_EldritchBloodSelectionIntroIMOD.Apply() _00E_A2_EldritchBloodSelectionIntroIMOD.Apply()
MarkingLP = _00E_A2_GhostwalkMarkingLPM.Play(playerREF) MarkingLP = _00E_A2_GhostwalkMarkingLPM.Play(playerREF)
MAGConjurePortal.Play(PlayerREF) MAGConjurePortal.Play(PlayerREF)
A2_EldritchBlood_PlayerForScript.EnterMarkingMode(1800, Self as _00E_A2_EldritchBloodPlayerSC) A2_EldritchBlood_PlayerForScript.EnterMarkingMode(1800, Self as _00E_A2_EldritchBloodPlayerSC)
Wait(0.5) Wait(0.5)
_00E_A2_EldritchBloodSelectionHoldIMOD.ApplyCrossFade(1.5) _00E_A2_EldritchBloodSelectionHoldIMOD.ApplyCrossFade(1.5)
EndEvent EndEvent
EndState EndState
State AddEffect State AddEffect
Event OnBeginState() Event OnBeginState()
A2_EldritchBlood_Victim.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP) A2_EldritchBlood_Victim.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimSP)
if A2_EldritchBlood_VictimTarget.GetActorReference() if A2_EldritchBlood_VictimTarget.GetActorReference()
A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP) A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
endif 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()
QSTDA16SoulGemOffM.Play(PlayerREF) QSTDA16SoulGemOffM.Play(PlayerREF)
A2_EldritchBlood_Player.Clear() A2_EldritchBlood_Player.Clear()
if A2_EldritchBlood_Rune.GetReference() if A2_EldritchBlood_Rune.GetReference()
A2_EldritchBlood_Rune.GetReference().Delete() A2_EldritchBlood_Rune.GetReference().Delete()
endif endif
if A2_EldritchBlood_VictimRune.GetReference() if A2_EldritchBlood_VictimRune.GetReference()
A2_EldritchBlood_VictimRune.GetReference().Delete() A2_EldritchBlood_VictimRune.GetReference().Delete()
endif endif
A2_EldritchBlood_Rune.Clear() A2_EldritchBlood_Rune.Clear()
A2_EldritchBlood_VictimRune.Clear() A2_EldritchBlood_VictimRune.Clear()
If MarkingRuneREF If MarkingRuneREF
MarkingRuneREF.Delete() MarkingRuneREF.Delete()
EndIf EndIf
If MarkingVictimRuneREF If MarkingVictimRuneREF
MarkingVictimRuneREF.Delete() MarkingVictimRuneREF.Delete()
EndIf EndIf
AddFrenzySpell() AddFrenzySpell()
_00E_A2_EldritchBloodGlobal.SetValueInt(0) _00E_A2_EldritchBloodGlobal.SetValueInt(0)
Sound.StopInstance(MarkingLP) Sound.StopInstance(MarkingLP)
EndEvent EndEvent
EndState EndState
@ -267,12 +267,6 @@ Function UnmarkEnemy(Actor iVictim)
_00E_A2_GhostwalkDeselectM.Play(PlayerREF) _00E_A2_GhostwalkDeselectM.Play(PlayerREF)
MarkingRuneREF.Delete() MarkingRuneREF.Delete()
MarkingRuneREF = None 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()

View File

@ -22,10 +22,13 @@ Event OnPlayerLoadGame()
ControlRepository = Game.GetForm(0x493C2) as _00E_EnderalControls ControlRepository = Game.GetForm(0x493C2) as _00E_EnderalControls
endif endif
; Restore INI value changed by slow time effects ; Restore INI values changed by Entropic Blood
if Utility.GetINIFloat("fInAirFallingCharGravityMult:Havok") < 1.35 if Utility.GetINIFloat("fInAirFallingCharGravityMult:Havok") < 1.0
Utility.SetINIFloat("fInAirFallingCharGravityMult:Havok", 1.35) Utility.SetINIFloat("fInAirFallingCharGravityMult:Havok", 1.35)
endif endif
if Utility.GetINIFloat("fActivatePickLength:Interface") >= 1799.0
Utility.SetINIFloat("fActivatePickLength:Interface", 150.0)
endif
EndEvent EndEvent
_00E_SkillControl function GetSkillControl() Global _00E_SkillControl function GetSkillControl() Global

Binary file not shown.