4
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

231 lines
10 KiB

Scriptname _00E_HeroMenuAlias extends ReferenceAlias Hidden
{This script is unused, hero menu handling has been moved to DLL in 2.1+.}
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)
; OnHeroMenuRequest refuses to compile in other states
if GetState() == ""
GotoState("TryToOpen")
endif
EndEvent
state TryToOpen
Event OnBeginState()
If (! Utility.IsInMenuMode() || UI.IsMenuOpen("TweenMenu")) && ! UI.IsTextInputEnabled()
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 = _00E_Func_ComputeNeededExp.Run(iPlayerLevel - 1, fEXPMultSlope, fEXPMult)
float fEXPNeededForNextLevel = _00E_Func_ComputeNeededExp.Run(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_AffinityControl Property AffinityAlias Auto