Split the _00E_Game_SkillmenuSC alias into three separate quests, removed the Hero Menu hotkey setting
parent
4e2e2166c6
commit
d4cda7ea92
21 changed files with 310 additions and 432 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +0,0 @@ |
||||
Scriptname _00E_HeroMenu Hidden |
||||
|
||||
function Show() Global |
||||
((Game.GetForm(0x10AA2) as Quest).GetAlias(0) as _00E_Game_SkillmenuSC).OpenSkillmenu() |
||||
endfunction |
@ -0,0 +1,227 @@ |
||||
Scriptname _00E_HeroMenuAlias extends ReferenceAlias Hidden |
||||
|
||||
int function _GetScriptVersion() Global |
||||
return 1 |
||||
endFunction |
||||
|
||||
Event OnInit() |
||||
|
||||
InitializeActorValueInfos() |
||||
RegisterForModEvent("Enderal_OpenHeroMenu", "OnHeroMenuRequest") |
||||
|
||||
EndEvent |
||||
|
||||
Event OnPlayerLoadGame() |
||||
|
||||
if GetState() != "" |
||||
GotoState("") |
||||
endif |
||||
RegisterForModEvent("Enderal_OpenHeroMenu", "OnHeroMenuRequest") |
||||
|
||||
EndEvent |
||||
|
||||
Event OnHeroMenuRequest(string eventName, string strArg = "", float numArg = 0.0, Form sender = None) |
||||
GotoState("TryToOpen") |
||||
EndEvent |
||||
|
||||
state TryToOpen |
||||
Event OnBeginState() |
||||
If (! Utility.IsInMenuMode() || UI.IsMenuOpen("TweenMenu")) && ! UI.IsTextInputEnabled() && GetReference().GetCurrentLocation() != _00E_Dreamworld_Location |
||||
GotoState("Active") |
||||
else |
||||
GotoState("") |
||||
endif |
||||
EndEvent |
||||
endstate |
||||
|
||||
state Active |
||||
Event OnBeginState() |
||||
_00E_Game_MenuIMOD.Apply() |
||||
RegisterForControl("Cancel") |
||||
RegisterForControl("Quick Stats") |
||||
if ! UI.IsMenuOpen("CustomMenu") |
||||
UI.OpenCustomMenu("00E_heromenu") |
||||
endif |
||||
UI.InvokeStringA("CustomMenu", "_root.heromenu_mc.SetStringValues", GetStrings()) |
||||
UI.InvokeFloatA("CustomMenu", "_root.heromenu_mc.SetIntValues", GetFloats()) |
||||
UI.InvokeFloatA("CustomMenu", "_root.heromenu_mc.SetModifier", GetMods()) |
||||
EndEvent |
||||
|
||||
Event OnControlDown(string sControl) |
||||
GotoState("") |
||||
EndEvent |
||||
|
||||
Event OnEndState() |
||||
UnregisterForAllControls() |
||||
UI.CloseCustomMenu() |
||||
_00E_Game_MenuIMOD.Remove() |
||||
EndEvent |
||||
endstate |
||||
|
||||
Function InitializeActorValueInfos() |
||||
|
||||
AiHealth = ActorValueInfo.GetActorValueInfoByID(24) |
||||
AiStamina = ActorValueInfo.GetActorValueInfoByID(26) |
||||
AiMagicka = ActorValueInfo.GetActorValueInfoByID(25) |
||||
|
||||
AiRanged = ActorValueInfo.GetActorValueInfoByID(8) |
||||
AiLightArmor = ActorValueInfo.GetActorValueInfoByID(12) |
||||
AiPsionics = ActorValueInfo.GetActorValueInfoByID(21) ; Vanilla - Illusion |
||||
AiElementarism = ActorValueInfo.GetActorValueInfoByID(20); Vanilla - Destruction |
||||
AiManipulation = ActorValueInfo.GetActorValueInfoByID(18); Vanilla - Alteration |
||||
AiOneHanded = ActorValueInfo.GetActorValueInfoByID(6) ; Vanilla - OneHanded |
||||
AiTwoHanded = ActorValueInfo.GetActorValueInfoByID(7) ; Vanilla - TwoHanded |
||||
AiParry = ActorValueInfo.GetActorValueInfoByID(9) ; Vanilla - Block |
||||
AiLightMagic = ActorValueInfo.GetActorValueInfoByID(22) ; Vanilla - Restoration |
||||
AiEntrophy = ActorValueInfo.GetActorValueInfoByID(19) ; Vanilla - Conjuration |
||||
AiHeavyArmor = ActorValueInfo.GetActorValueInfoByID(11) ; Vanilla - HeavyArmor |
||||
AiSneak = ActorValueInfo.GetActorValueInfoByID(15) ; Vanilla - Sneak |
||||
|
||||
AiAlchemy = ActorValueInfo.GetActorValueInfoByID(16) ; Vanilla - Alchemy |
||||
AiPickpocket = ActorValueInfo.GetActorValueInfoByID(13) ; Vanilla - Pickpocket |
||||
AiEnchanting = ActorValueInfo.GetActorValueInfoByID(23) ; Vanilla - Enchanting |
||||
AiLockpicking = ActorValueInfo.GetActorValueInfoByID(14) ; Vanilla - Lockpicking |
||||
AiSmithing = ActorValueInfo.GetActorValueInfoByID(10) ; Vanilla - Smithing |
||||
AiSpeechcraft = ActorValueInfo.GetActorValueInfoByID(17) ; Vanilla - Speechcraft |
||||
|
||||
EndFunction |
||||
|
||||
Float[] Function GetFloats() |
||||
|
||||
Actor PlayerREF = GetReference() as Actor |
||||
Float[] SkillmenuFloats = New Float[33] |
||||
|
||||
; float fNeededEXP = ((pow((PlayerLevel.GetValueInt() + 1), EXPMultSlope.GetValue()) * EXPMult.GetValue()) - (pow(PlayerLevel.GetValueInt(), EXPMultSlope.GetValue()) * EXPMult.GetValue())) |
||||
|
||||
int iPlayerLevel = PlayerLevel.GetValueInt() |
||||
float fEXPMultSlope = EXPMultSlope.GetValue() |
||||
float fEXPMult = EXPMult.GetValue() |
||||
float fEXPNeededForCurrentLevel = (PlayerREF as _00E_EPUpdateFunctions).ComputeNeededExp(iPlayerLevel - 1, fEXPMultSlope, fEXPMult) |
||||
float fEXPNeededForNextLevel = (PlayerREF as _00E_EPUpdateFunctions).ComputeNeededExp(iPlayerLevel, fEXPMultSlope, fEXPMult) |
||||
int iPlayerExp = PlayerExp.GetValueInt() |
||||
|
||||
SkillmenuFloats[0] = (AiHealth.GetBaseValue(PlayerREF)) as Int |
||||
SkillmenuFloats[1] = AiHealth.GetCurrentValue(PlayerREF) as Int |
||||
SkillmenuFloats[2] = aiMagicka.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[3] = aiMagicka.GetCurrentValue(PlayerREF) as Int |
||||
SkillmenuFloats[4] = aiStamina.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[5] = aiStamina.GetCurrentValue(PlayerREF) as Int |
||||
SkillmenuFloats[6] = (-1*(PlayerREF.GetActorValue("LastFlattered"))) as Int |
||||
SkillmenuFloats[7] = fEXPNeededForNextLevel |
||||
; (pow(PlayerLevel.GetValueInt(), EXPMultSlope.GetValue()) * (EXPMult.GetValue()*fEXPAcceleration)) |
||||
;SkillmenuFloats[7] = ((pow((PlayerLevel.GetValueInt()), EXPMultSlope.GetValue()) * EXPMult.GetValue()) - (pow(PlayerLevel.GetValueInt() - 1, EXPMultSlope.GetValue()) * EXPMult.GetValue())) as Float |
||||
SkillmenuFloats[8] = iPlayerExp |
||||
SkillmenuFloats[9] = iPlayerLevel |
||||
SkillmenuFloats[10] = Lernpunkte.GetValueInt() |
||||
SkillmenuFloats[11] = Handwerkspunkte.GetValueInt() |
||||
SkillmenuFloats[12] = TalentPoints.GetValueInt() |
||||
SkillmenuFloats[13] = aiPsionics.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[14] = aiElementarism.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[15] = aiManipulation.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[16] = aiOneHanded.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[17] = aiParry.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[18] = aiRanged.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[19] = aiEntrophy.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[20] = aiLightMagic.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[21] = aiTwoHanded.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[22] = aiLightArmor.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[23] = aiHeavyArmor.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[24] = aiSneak.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[25] = aiAlchemy.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[26] = aiPickpocket.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[27] = aiLockpicking.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[28] = aiEnchanting.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[29] = aiSmithing.GetBaseValue(PlayerREF) as Int |
||||
SkillmenuFloats[30] = aiSpeechcraft.GetBaseValue(PlayerREF) as Int |
||||
|
||||
SkillmenuFloats[31] = iPlayerExp - fEXPNeededForCurrentLevel |
||||
SkillmenuFloats[32] = fEXPNeededForNextLevel - fEXPNeededForCurrentLevel |
||||
|
||||
Return SkillmenuFloats |
||||
|
||||
EndFunction |
||||
|
||||
Float[] Function GetMods() |
||||
|
||||
; Gets all modifiers applied to stats and skills |
||||
|
||||
Actor PlayerREF = GetReference() as Actor |
||||
Float[] SkillmenuMods = New Float[21] |
||||
|
||||
SkillmenuMods[0] = ((aiHealth.GetMaximumValue(PlayerREF) as Int) - (aiHealth.GetBaseValue(PlayerREF) as Int)) |
||||
SkillmenuMods[1] = ((aiMagicka.GetMaximumValue(PlayerREF) as Int) - aiMagicka.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[2] = ((aiStamina.GetMaximumValue(PlayerREF) as Int) - aiStamina.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[3] = ((aiPsionics.GetCurrentValue(PlayerREF) as Int) - aiPsionics.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[4] = ((aiElementarism.GetCurrentValue(PlayerREF) as Int) - aiElementarism.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[5] = ((aiManipulation.GetCurrentValue(PlayerREF) as Int) - aiManipulation.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[6] = ((aiOneHanded.GetCurrentValue(PlayerREF) as Int) - aiOneHanded.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[7] = ((aiParry.GetCurrentValue(PlayerREF) as Int) - aiParry.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[8] = ((aiRanged.GetCurrentValue(PlayerREF) as Int) - aiRanged.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[9] = ((aiEntrophy.GetCurrentValue(PlayerREF) as Int) - aiEntrophy.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[10] = ((aiLightMagic.GetCurrentValue(PlayerREF) as Int) - aiLightMagic.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[11] = ((aiTwoHanded.GetCurrentValue(PlayerREF) as Int) - aiTwoHanded.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[12] = ((aiLightArmor.GetCurrentValue(PlayerREF) as Int) - aiLightArmor.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[13] = ((aiHeavyArmor.GetCurrentValue(PlayerREF) as Int) - aiHeavyArmor.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[14] = ((aiSneak.GetCurrentValue(PlayerREF) as Int) - aiSneak.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[15] = ((aiAlchemy.GetCurrentValue(PlayerREF) as Int) - aiAlchemy.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[16] = ((aiPickpocket.GetCurrentValue(PlayerREF) as Int) - aiPickpocket.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[17] = ((aiLockpicking.GetCurrentValue(PlayerREF) as Int) - aiLockpicking.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[18] = ((aiEnchanting.GetCurrentValue(PlayerREF) as Int) - aiEnchanting.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[19] = ((aiSmithing.GetCurrentValue(PlayerREF) as Int) - aiSmithing.GetBaseValue(PlayerREF) as Int) |
||||
SkillmenuMods[20] = ((aiSpeechcraft.GetCurrentValue(PlayerREF) as Int) - aiSpeechcraft.GetBaseValue(PlayerREF) as Int) |
||||
|
||||
Return SkillmenuMods |
||||
|
||||
EndFunction |
||||
|
||||
String[] Function GetStrings() |
||||
|
||||
String[] SkillmenuStrings = new string[2] |
||||
|
||||
SkillmenuStrings[0] = Player.GetName() |
||||
SkillmenuStrings[1] = AffinityAlias.GetPlayerClassName() |
||||
|
||||
Return SkillmenuStrings |
||||
|
||||
EndFunction |
||||
|
||||
|
||||
ImageSpaceModifier Property _00E_Game_MenuIMOD Auto |
||||
Location Property _00E_Dreamworld_Location Auto |
||||
|
||||
GlobalVariable Property PlayerLevel Auto |
||||
GlobalVariable Property PlayerExp Auto |
||||
GlobalVariable Property EXPMultSlope Auto |
||||
GlobalVariable Property EXPMult Auto |
||||
|
||||
GlobalVariable Property Lernpunkte Auto |
||||
GlobalVariable Property Handwerkspunkte Auto |
||||
GlobalVariable Property TalentPoints Auto |
||||
|
||||
ActorBase Property Player Auto |
||||
|
||||
ActorValueInfo AiHealth |
||||
ActorValueInfo AiStamina |
||||
ActorValueInfo AiMagicka |
||||
|
||||
ActorValueInfo AiRanged ; Vanilla - Marksman |
||||
ActorValueInfo AiLightArmor ; Vanilla - Light Armor |
||||
ActorValueInfo AiPsionics ; Vanilla - Illusion |
||||
ActorValueInfo AiElementarism ; Vanilla - Destruction |
||||
ActorValueInfo AiManipulation ; Vanilla - Alteration |
||||
ActorValueInfo AiOneHanded ; Vanilla - OneHanded |
||||
ActorValueInfo AiTwoHanded ; Vanilla - TwoHanded |
||||
ActorValueInfo AiParry ; Vanilla - Block |
||||
ActorValueInfo AiLightMagic ; Vanilla - Restoration |
||||
ActorValueInfo AiEntrophy ; Vanilla - Conjuration |
||||
ActorValueInfo AiHeavyArmor ; Vanilla - HeavyArmor |
||||
ActorValueInfo AiSneak ; Vanilla - Sneak |
||||
|
||||
ActorValueInfo AiAlchemy ; Vanilla - Alchemy |
||||
ActorValueInfo AiPickpocket ; Vanilla - Pickpocket |
||||
ActorValueInfo AiEnchanting ; Vanilla - Enchanting |
||||
ActorValueInfo AiLockpicking ; Vanilla - Lockpicking |
||||
ActorValueInfo AiSmithing ; Vanilla - Smithing |
||||
ActorValueInfo AiSpeechcraft ; Vanilla - Speechcraft |
||||
|
||||
_00E_Game_SkillmenuSC Property AffinityAlias Auto |
@ -0,0 +1,40 @@ |
||||
Scriptname _00E_MeditationHotkeyAlias extends ReferenceAlias Hidden |
||||
|
||||
int function _GetScriptVersion() Global |
||||
return 1 |
||||
endFunction |
||||
|
||||
Function UpdateKeyRegistration() |
||||
RegisterForKey(iMeditateKeycode) |
||||
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 |
Loading…
Reference in new issue