Entropic Blood: selection of a victim happens by pressing "Activate" instead of just pointing
This commit is contained in:
parent
fb076c753c
commit
54aa09c3c2
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -10,73 +10,75 @@ Import Utility
|
||||
|
||||
Auto State Marking
|
||||
|
||||
Event OnCrosshairRefChange(ObjectReference ref)
|
||||
Event OnControlUp(string control, float HoldTime)
|
||||
|
||||
if lastTarget != None
|
||||
lastTarget.blockActivation(false)
|
||||
EndIf
|
||||
lastTarget = ref
|
||||
Actor rTarget = Game.GetCurrentCrosshairRef() as Actor
|
||||
|
||||
if ref
|
||||
ref.blockActivation(true)
|
||||
endif
|
||||
if ! rTarget || rTarget == Game.GetForm(0x14)
|
||||
return
|
||||
endif
|
||||
|
||||
If _00E_A2_EldritchBloodGlobal.GetValueInt() == 1
|
||||
If ref as Actor && ref != Game.GetForm(0x14)
|
||||
EldritchBloodEffectScript.SelectEnemy(ref as Actor)
|
||||
If _00E_A2_EldritchBloodGlobal.GetValueInt() == 1
|
||||
EldritchBloodEffectScript.SelectEnemy(rTarget)
|
||||
EndIf
|
||||
Else
|
||||
UnregisterForCrosshairRef()
|
||||
EndIf
|
||||
|
||||
EndEvent
|
||||
EndEvent
|
||||
|
||||
Event OnAnimationEvent(ObjectReference akSource, string asEventName)
|
||||
Event OnCrosshairRefChange(ObjectReference ref)
|
||||
|
||||
if(akSource == akSelfRef && asEventName == "weaponSwing")
|
||||
if iAttackCounter == 0
|
||||
iAttackCounter = 1
|
||||
Else
|
||||
if lastTarget != None
|
||||
lastTarget.blockActivation(false)
|
||||
EndIf
|
||||
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)
|
||||
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
|
||||
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
|
||||
EldritchBloodEffectScript.abort()
|
||||
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
|
||||
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)
|
||||
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
|
||||
_00E_MarkingTalents_sMarkingModeInterrupted.Show()
|
||||
EldritchBloodEffectScript.abort()
|
||||
EndIf
|
||||
|
||||
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
|
||||
EndEvent
|
||||
|
||||
EndState
|
||||
|
||||
@ -93,21 +95,28 @@ Function EnterMarkingMode(Float iReach, _00E_A2_EldritchBloodPlayerSC _00E_A2_El
|
||||
SetINIFloat("fActivatePickLength:Interface", iReach)
|
||||
EldritchBloodEffectScript = _00E_A2_EldritchBloodMEScript
|
||||
RegisterForCrosshairRef()
|
||||
RegisterForControl("Activate")
|
||||
|
||||
EndFunction
|
||||
|
||||
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
|
||||
lastTarget.blockActivation(false)
|
||||
EndIf
|
||||
lastTarget = None
|
||||
|
||||
iAttackCounter = 0
|
||||
UnregisterForAnimationEvent(akSelfRef, "weaponSwing")
|
||||
UnregisterForCrosshairRef()
|
||||
SetINIFloat("fActivatePickLength:Interface", 150)
|
||||
|
||||
EndFunction
|
||||
|
||||
;=====================================================================================
|
||||
|
@ -51,79 +51,79 @@ EndFunction
|
||||
|
||||
State MarkTargets
|
||||
|
||||
Event OnBeginState()
|
||||
Event OnBeginState()
|
||||
|
||||
If _00E_SelectionTutorialShown.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0
|
||||
_00E_Tutorial_SelectionMode.Show()
|
||||
_00E_SelectionTutorialShown.SetValueInt(1)
|
||||
EndIf
|
||||
If _00E_SelectionTutorialShown.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0
|
||||
_00E_Tutorial_SelectionMode.Show()
|
||||
_00E_SelectionTutorialShown.SetValueInt(1)
|
||||
EndIf
|
||||
|
||||
If _00E_A2_EldritchBloodInDepthTutorial.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0
|
||||
_00E_A2_Tutorial_EldritchBloodDetailed.Show()
|
||||
_00E_A2_EldritchBloodInDepthTutorial.SetValueInt(1)
|
||||
EndIf
|
||||
If _00E_A2_EldritchBloodInDepthTutorial.GetValueInt() == 0 && _00E_DisableSkillTutorials.GetValueInt() == 0
|
||||
_00E_A2_Tutorial_EldritchBloodDetailed.Show()
|
||||
_00E_A2_EldritchBloodInDepthTutorial.SetValueInt(1)
|
||||
EndIf
|
||||
|
||||
If _00E_DisableSkillTutorials.GetValueInt() == 0
|
||||
_00E_A2_Tutorial_EldritchBlood.ShowAsHelpMessage("EldritchBlood", 8, 8, 1)
|
||||
EndIf
|
||||
If _00E_DisableSkillTutorials.GetValueInt() == 0
|
||||
_00E_A2_Tutorial_EldritchBlood.ShowAsHelpMessage("EldritchBlood", 8, 8, 1)
|
||||
EndIf
|
||||
|
||||
_00E_A2_EldritchBloodGlobal.SetValueInt(1)
|
||||
(PlayerREF as _00E_Game_TalentControlSC).SetTalentRecoveryTime(_00E_A2_EldritchBlood, 0)
|
||||
A2_EldritchBlood_Player.ForceRefTo(PlayerREF)
|
||||
A2_EldritchBlood_PlayerForScript = A2_EldritchBlood_Player as _00E_A2_EldritchBloodPlayerMarkSC
|
||||
PlayerREF.AddSpell(_00E_A2_EldritchBloodAbSelectionSP, False)
|
||||
_00E_A2_EldritchBloodSelectionIntroIMOD.Apply()
|
||||
MarkingLP = _00E_A2_GhostwalkMarkingLPM.Play(playerREF)
|
||||
MAGConjurePortal.Play(PlayerREF)
|
||||
A2_EldritchBlood_PlayerForScript.EnterMarkingMode(1800, Self as _00E_A2_EldritchBloodPlayerSC)
|
||||
Wait(0.5)
|
||||
_00E_A2_EldritchBloodSelectionHoldIMOD.ApplyCrossFade(1.5)
|
||||
_00E_A2_EldritchBloodGlobal.SetValueInt(1)
|
||||
(PlayerREF as _00E_Game_TalentControlSC).SetTalentRecoveryTime(_00E_A2_EldritchBlood, 0)
|
||||
A2_EldritchBlood_Player.ForceRefTo(PlayerREF)
|
||||
A2_EldritchBlood_PlayerForScript = A2_EldritchBlood_Player as _00E_A2_EldritchBloodPlayerMarkSC
|
||||
PlayerREF.AddSpell(_00E_A2_EldritchBloodAbSelectionSP, False)
|
||||
_00E_A2_EldritchBloodSelectionIntroIMOD.Apply()
|
||||
MarkingLP = _00E_A2_GhostwalkMarkingLPM.Play(playerREF)
|
||||
MAGConjurePortal.Play(PlayerREF)
|
||||
A2_EldritchBlood_PlayerForScript.EnterMarkingMode(1800, Self as _00E_A2_EldritchBloodPlayerSC)
|
||||
Wait(0.5)
|
||||
_00E_A2_EldritchBloodSelectionHoldIMOD.ApplyCrossFade(1.5)
|
||||
|
||||
EndEvent
|
||||
EndEvent
|
||||
|
||||
EndState
|
||||
|
||||
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()
|
||||
A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
||||
endif
|
||||
if A2_EldritchBlood_VictimTarget.GetActorReference()
|
||||
A2_EldritchBlood_VictimTarget.GetActorReference().RemoveSpell(_00E_A2_EldritchBloodAbMarkedVictimTargetSP)
|
||||
endif
|
||||
|
||||
PlayerREF.RemoveSpell(_00E_A2_EldritchBloodAbSelectionSP)
|
||||
A2_EldritchBlood_PlayerForScript.ExitMarkingMode()
|
||||
_00E_A2_EldritchBloodSelectionHoldIMOD.Remove()
|
||||
QSTDA16SoulGemOffM.Play(PlayerREF)
|
||||
A2_EldritchBlood_Player.Clear()
|
||||
PlayerREF.RemoveSpell(_00E_A2_EldritchBloodAbSelectionSP)
|
||||
A2_EldritchBlood_PlayerForScript.ExitMarkingMode()
|
||||
_00E_A2_EldritchBloodSelectionHoldIMOD.Remove()
|
||||
QSTDA16SoulGemOffM.Play(PlayerREF)
|
||||
A2_EldritchBlood_Player.Clear()
|
||||
|
||||
if A2_EldritchBlood_Rune.GetReference()
|
||||
A2_EldritchBlood_Rune.GetReference().Delete()
|
||||
endif
|
||||
if A2_EldritchBlood_Rune.GetReference()
|
||||
A2_EldritchBlood_Rune.GetReference().Delete()
|
||||
endif
|
||||
|
||||
if A2_EldritchBlood_VictimRune.GetReference()
|
||||
A2_EldritchBlood_VictimRune.GetReference().Delete()
|
||||
endif
|
||||
if A2_EldritchBlood_VictimRune.GetReference()
|
||||
A2_EldritchBlood_VictimRune.GetReference().Delete()
|
||||
endif
|
||||
|
||||
A2_EldritchBlood_Rune.Clear()
|
||||
A2_EldritchBlood_VictimRune.Clear()
|
||||
A2_EldritchBlood_Rune.Clear()
|
||||
A2_EldritchBlood_VictimRune.Clear()
|
||||
|
||||
If MarkingRuneREF
|
||||
MarkingRuneREF.Delete()
|
||||
EndIf
|
||||
If MarkingRuneREF
|
||||
MarkingRuneREF.Delete()
|
||||
EndIf
|
||||
|
||||
If MarkingVictimRuneREF
|
||||
MarkingVictimRuneREF.Delete()
|
||||
EndIf
|
||||
If MarkingVictimRuneREF
|
||||
MarkingVictimRuneREF.Delete()
|
||||
EndIf
|
||||
|
||||
AddFrenzySpell()
|
||||
AddFrenzySpell()
|
||||
|
||||
_00E_A2_EldritchBloodGlobal.SetValueInt(0)
|
||||
Sound.StopInstance(MarkingLP)
|
||||
_00E_A2_EldritchBloodGlobal.SetValueInt(0)
|
||||
Sound.StopInstance(MarkingLP)
|
||||
|
||||
EndEvent
|
||||
EndEvent
|
||||
|
||||
EndState
|
||||
|
||||
@ -267,12 +267,6 @@ Function UnmarkEnemy(Actor iVictim)
|
||||
_00E_A2_GhostwalkDeselectM.Play(PlayerREF)
|
||||
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)
|
||||
A2_EldritchBlood_VictimRune.Clear()
|
||||
A2_EldritchBlood_VictimTarget.Clear()
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user