enderalse/source/scripts/_00e_meditationhotkeyalias.psc

43 lines
1.1 KiB
Plaintext

Scriptname _00E_MeditationHotkeyAlias extends ReferenceAlias Hidden
int function _GetScriptVersion() Global
return 1
endFunction
Function UpdateKeyRegistration()
if SKSE.GetVersion()
RegisterForKey(iMeditateKeycode)
endif
EndFunction
Function SetMeditateKey(int iNewMeditateKeycode)
UnregisterForKey(iMeditateKeycode)
iMeditateKeycode = iNewMeditateKeycode
UpdateKeyRegistration()
EndFunction
Event OnInit()
UpdateKeyRegistration()
EndEvent
Event OnPlayerLoadGame()
UpdateKeyRegistration()
EndEvent
Event OnKeyDown(Int KeyCode)
Spell meditateSpell = _00E_Class_Meditate.GetNthSpell(0)
Actor PlayerREF = GetReference() as Actor
If ! Utility.IsInMenuMode() && PlayerREF.HasSpell(_00E_Class_Meditate) && ! UI.IsTextInputEnabled() && ! PlayerRef.IsOnMount() && ! PlayerRef.IsSwimming() && Game.IsLookingControlsEnabled() && ! UI.IsMenuOpen("Dialogue Menu") && PlayerREF.GetCurrentLocation() != _00E_Dreamworld_Location
meditateSpell.Cast(PlayerREF, PlayerREF)
EndIf
EndEvent
Int Property iMeditateKeycode = 21 Auto ; 21 (Y on QWERTY, Z on QWERTZ)
Shout Property _00E_Class_Meditate Auto
Location Property _00E_Dreamworld_Location Auto