Scriptname SuH_MCM extends SKI_ConfigBase

SuH_Fun Property _Fun auto
DialogueFollowerScript Property DialogueFollower Auto
Quest Property pDialogueFollower  Auto

;ent/ Object variables
Actor Property PlayerAlias auto
Actor Property PlayerRef Auto
Spell Property SuH_spell_petself Auto
Spell Property SuH_spell_pettarget Auto
Armor property SuH_armor_regalglow auto
ActorBase Property PlayerBase Auto
ObjectReference Property SuH_sdr_spawnpoint Auto 
ObjectReference Property SuH_realm_portalpoint Auto
GlobalVariable Property SuH_SETallowdrainkill auto
GlobalVariable Property SuH_PCScaphealth auto
GlobalVariable Property SuH_PCScaphealthitem auto
GlobalVariable Property SuH_PCScapmagicka auto
GlobalVariable Property SuH_PCScapmagickaitem auto
GlobalVariable Property SuH_PCScapstamina auto
GlobalVariable Property SuH_PCScapstaminaitem auto
GlobalVariable Property SuH_PCSdesire auto
GlobalVariable Property SuH_PCSxp auto
GlobalVariable Property SuH_PCSxpgain auto
GlobalVariable Property SuH_PCSxpgainitem auto
GlobalVariable Property SuH_PCSabsorbhealth auto
GlobalVariable Property SuH_PCSabsorbmagicka auto
GlobalVariable Property SuH_PCSabsorbstamina auto
GlobalVariable Property SuH_PCSspermhealth auto
GlobalVariable Property SuH_PCSspermmagicka auto
GlobalVariable Property SuH_PCSspermstamina auto
GlobalVariable Property SuH_PCSmilkhealth auto
GlobalVariable Property SuH_PCSmilkmagicka auto
GlobalVariable Property SuH_PCSmilkstamina auto
GlobalVariable Property SuH_PCSstackmaxsex auto
GlobalVariable Property SuH_PCSstackmaxsperm auto
GlobalVariable Property SuH_PCSstackmaxmilk auto
GlobalVariable Property SuH_PCSstacksex auto
GlobalVariable Property SuH_PCSstacksperm auto
GlobalVariable Property SuH_PCSstackmilk auto
GlobalVariable Property SuH_PCSsp auto
GlobalVariable Property SuH_PCSspearned auto
GlobalVariable Property SuH_PCSforce auto
GlobalVariable Property SuH_PCSeffectmulti auto
GlobalVariable Property SuH_PCSdesiregain auto
GlobalVariable Property SuH_PCSbpoint auto
GlobalVariable Property SuH_PCSdpoint auto
GlobalVariable Property SuH_PCSspoint auto
GlobalVariable Property SuH_PCSmpoint auto
GlobalVariable Property SuH_PCSbdsm auto
GlobalVariable Property SuH_PCSbdsmspecial auto
GlobalVariable Property SuH_SETcombatseduction auto
GlobalVariable Property SuH_SETnpc2npchealth auto
GlobalVariable Property SuH_SETnpc2npchealthmin auto
GlobalVariable Property SuH_SETnpc2pchealth auto
GlobalVariable Property SuH_SETnpc2pchealthmin auto
GlobalVariable Property SuH_SETpc2npchealth auto
GlobalVariable Property SuH_SETpc2npchealthmin auto
GlobalVariable Property SuH_SETpc2npcstamina auto
GlobalVariable Property SuH_SETallowmalehomo auto
GlobalVariable Property SuH_SETallowfemalehomo auto
GlobalVariable Property SuH_SETessentialacts auto
GlobalVariable Property SuH_SETconsentdrain auto
GlobalVariable Property SuH_SETdesiredrain auto
GlobalVariable Property SuH_SETdeathdrops auto
GlobalVariable Property SuH_SETalwaysdrainkill auto
GlobalVariable Property SuH_SETspecialdeath auto
GlobalVariable Property SuH_SETsdloseitems auto
GlobalVariable Property SuH_SETsdlosegold auto
GlobalVariable Property SuH_SETsdloseequip auto
GlobalVariable Property SuH_SETrestrictact auto
GlobalVariable Property SuH_SETdesirecap auto
GlobalVariable Property SuH_SETrandomdeathspawn auto
GlobalVariable Property SuH_SETdrainally auto
GlobalVariable Property SuH_MODversion auto
GlobalVariable Property SuH_MCMversion auto
GlobalVariable Property SuH_rank_perfectorgasm auto
GlobalVariable Property SuH_rank_perfectorgasm2 auto
GlobalVariable Property SuH_rank_lusciousliquids auto
GlobalVariable Property SuH_rank_lusciousliquids2 auto
GlobalVariable Property SuH_rank_masochist auto
GlobalVariable Property SuH_rank_masochist2 auto
GlobalVariable Property SuH_rank_selfstacker auto
GlobalVariable Property SuH_rank_valuestacker auto
GlobalVariable Property SuH_rank_savingessence auto
GlobalVariable Property SuH_rank_savingessence2 auto
GlobalVariable Property SuH_rank_giftedconsent auto
GlobalVariable Property SuH_rank_forcemaster auto
GlobalVariable Property SuH_rank_bdsm auto
GlobalVariable Property SuH_rank_deviouspartner auto
GlobalVariable Property SuH_rank_deviouspartner2 auto
GlobalVariable Property SuH_rank_formalbeauty auto
GlobalVariable Property SuH_rank_formalbeauty2 auto
GlobalVariable Property SuH_rank_seducer auto
GlobalVariable Property SuH_rank_regalglow auto
GlobalVariable Property SuH_rank_violence auto
GlobalVariable Property SuH_rank_violence2 auto
GlobalVariable Property SuH_rank_violence3 auto
GlobalVariable Property SuH_ORcaphealth auto
GlobalVariable Property SuH_ORcapmagicka auto
GlobalVariable Property SuH_ORcapstamina auto
GlobalVariable Property SuH_ORabsorbhealth auto
GlobalVariable Property SuH_ORabsorbmagicka auto
GlobalVariable Property SuH_ORabsorbstamina auto
GlobalVariable Property SuH_PETsummonlevel auto
GlobalVariable Property SuH_PETsummonxp auto
GlobalVariable Property SuH_PETdoglevel auto
GlobalVariable Property SuH_PETdogeffect auto
GlobalVariable Property SuH_PETwolflevel auto
GlobalVariable Property SuH_PETwolfeffect auto
GlobalVariable Property SuH_PEThorselevel auto
GlobalVariable Property SuH_PEThorseeffect auto
GlobalVariable Property SuH_PETskeeverlevel auto
GlobalVariable Property SuH_PETskeevereffect auto
GlobalVariable Property SuH_PETfamiliarlevel auto
GlobalVariable Property SuH_PETfamiliareffect auto
GlobalVariable Property SuH_PETbearlevel auto
GlobalVariable Property SuH_PETbeareffect auto
GlobalVariable Property SuH_PETsabrecatlevel auto
GlobalVariable Property SuH_PETsabrecateffect auto
GlobalVariable Property SuH_PETdraugrlevel auto
GlobalVariable Property SuH_PETdraugreffect auto
GlobalVariable Property SuH_PETtrolllevel auto
GlobalVariable Property SuH_PETtrolleffect auto
GlobalVariable Property SuH_PETsprigganlevel auto
GlobalVariable Property SuH_PETsprigganeffect auto
GlobalVariable Property SuH_PEThorkerlevel auto
GlobalVariable Property SuH_PEThorkereffect auto
GlobalVariable Property SuH_PETfalmerlevel auto
GlobalVariable Property SuH_PETfalmereffect auto
GlobalVariable property SuH_PETdogunlock auto
GlobalVariable property SuH_PETwolfunlock auto
GlobalVariable property SuH_PEThorseunlock auto
GlobalVariable property SuH_PETskeeverunlock auto
GlobalVariable property SuH_PETfamiliarunlock auto
GlobalVariable property SuH_PETbearunlock auto
GlobalVariable property SuH_PETsabrecatunlock auto
GlobalVariable property SuH_PETdraugrunlock auto
GlobalVariable property SuH_PETtrollunlock auto
GlobalVariable property SuH_PETsprigganunlock auto
GlobalVariable property SuH_PEThorkerunlock auto
GlobalVariable property SuH_PETfalmerunlock auto
GlobalVariable property SuH_PETspiderlevel auto
GlobalVariable property SuH_PETspiderxp auto
GlobalVariable property SuH_PETspiderunlock auto
GlobalVariable property SuH_PETspidereffect auto
GlobalVariable property SuH_SETinvactmale auto
GlobalVariable property SuH_SETinvactfemale auto
GlobalVariable property SuH_SETinvactmalecreature auto
GlobalVariable property SuH_SETinvactfemalecreature auto
GlobalVariable property SuH_PEThuskyunlock auto
GlobalVariable property SuH_PEThuskylevel auto
GlobalVariable property SuH_PEThuskyeffect auto
GlobalVariable property SuH_PETbristleunlock auto
GlobalVariable property SuH_PETbristlelevel auto
GlobalVariable property SuH_PETbristleeffect auto
GlobalVariable property SuH_PETseekerunlock auto
GlobalVariable property SuH_PETseekerlevel auto
GlobalVariable property SuH_PETseekereffect auto
GlobalVariable property SuH_PETgargoyleunlock auto
GlobalVariable property SuH_PETgargoylelevel auto
GlobalVariable property SuH_PETgargoyleeffect auto
GlobalVariable property SuH_PETnetchunlock auto
GlobalVariable property SuH_PETnetchlevel auto
GlobalVariable property SuH_PETnetcheffect auto
GlobalVariable property SuH_PETrieklingunlock auto
GlobalVariable property SuH_PETrieklinglevel auto
GlobalVariable property SuH_PETrieklingeffect auto
GlobalVariable property SuH_perk_orgasm auto
GlobalVariable property SuH_perk_orgasml auto
GlobalVariable property SuH_perk_allyorgasm auto
GlobalVariable property SuH_perk_allyorgasml auto
GlobalVariable property SuH_perk_npcorgasm auto
GlobalVariable property SuH_perk_npcorgasml auto
GlobalVariable property SuH_perk_absorb auto
GlobalVariable property SuH_perk_absorbl auto
GlobalVariable property SuH_perk_sperm auto
GlobalVariable property SuH_perk_sperml auto
GlobalVariable property SuH_perk_milk auto
GlobalVariable property SuH_perk_milkl auto
GlobalVariable property SuH_perk_killdrain auto
GlobalVariable property SuH_perk_killdrainl auto
GlobalVariable property SuH_SETnpcabsorb auto
GlobalVariable property SuH_craft_level auto
GlobalVariable property SuH_craft_xp auto
GlobalVariable property SuH_PCSalchemy auto
GlobalVariable property SuH_PCSalteration auto
GlobalVariable property SuH_PCSblock auto
GlobalVariable property SuH_PCSconjuration auto
GlobalVariable property SuH_PCSdestruction auto
GlobalVariable property SuH_PCSenchanting auto
GlobalVariable property SuH_PCSheavyarmor auto
GlobalVariable property SuH_PCSillusion auto
GlobalVariable property SuH_PCSlightarmor auto
GlobalVariable property SuH_PCSlockpicking auto
GlobalVariable property SuH_PCSmarksman auto
GlobalVariable property SuH_PCSonehanded auto
GlobalVariable property SuH_PCSpickpocket auto
GlobalVariable property SuH_PCSrestoration auto
GlobalVariable property SuH_PCSsmithing auto
GlobalVariable property SuH_PCSsneak auto
GlobalVariable property SuH_PCSspeechcraft auto
GlobalVariable property SuH_PCStwohanded auto
GlobalVariable property SuH_craft_points auto
GlobalVariable property SuH_SETclearactor auto
GlobalVariable property SuH_SETcalmaura auto
GlobalVariable property SuH_SETcsbleedoutdelay auto
GlobalVariable property SuH_SETdisablehealthrecovery auto
GlobalVariable property SuH_SETdisablemagickarecovery auto
GlobalVariable property SuH_SETdisablestaminarecovery auto
GlobalVariable property SuH_rank_healthyabsorber auto
GlobalVariable property SuH_SETfreepassivereset auto
GlobalVariable property SuH_SETadvancedchecking auto
GlobalVariable property SuH_PCScaphealthdown auto
GlobalVariable property SuH_PCScapmagickadown auto
GlobalVariable property SuH_PCScapstaminadown auto

;end/
;ent/ status
int status_health
int status_magicka
int status_stamina
int status_desire
int status_xp
int status_xpgain
int status_stacksex
int status_stacksperm
int status_stackmilk
int status_SETdrainkill
int status_SETcombatseduction
int status_SETnpc2npchealth
int status_SETnpc2npchealthmin
int status_SETnpc2pchealth
int status_SETnpc2pchealthmin
int status_SETpc2npchealth
int status_SETpc2npchealthmin
int status_SETpc2npcstamina
int status_SETallowmalehomo
int status_SETallowfemalehomo
int status_SETessentialacts
int status_SETconsentdrain
int status_SETdesiredrain
int status_SETdeathdrops
int status_SETeffectmulti
int status_SETdesiregain
int status_SETalwaysdrainkill
int status_SETspecialdeath
int status_SETsdloseitems
int status_SETsdlosegold
int status_SETsdloseequip
int status_SETrestrictact
int status_SETdesirecap
int status_SETrandomdeathspawn
int status_sdsetspawn
int status_ORcaphealth
int status_ORcapmagicka
int status_ORcapstamina
int status_ORabsorbhealth
int status_ORabsorbmagicka
int status_ORabsorbstamina
int status_SETinvact
int status_SETinvactmale
int status_SETinvactfemale
int status_SETinvactmalecreature
int status_SETinvactfemalecreature
int status_version
int status_SETpetspells
int status_SETnpcabsorb
int status_SETdrainally
int status_SETclearactor
int status_SETcalmaura
int status_SETcsbleedoutdelay
int status_SETdisablehealthrecovery
int status_SETdisablemagickarecovery
int status_SETdisablestaminarecovery
int status_SETadvancedchecking
;end/
;ent/ skill
int skill_sp
int skill_spnext
int skill_xp
int skill_convert
int skill_alchemy
int skill_alteration
int skill_block
int skill_conjuration
int skill_destruction
int skill_enchanting
int skill_heavyarmor
int skill_illusion
int skill_lightarmor
int skill_lockpicking
int skill_marksman
int skill_onehanded
int skill_pickpocket
int skill_restoration
int skill_smithing
int skill_sneak
int skill_speechcraft
int skill_twohanded
;end/
;ent/ heart
int heart_caphealth
int heart_capmagicka
int heart_capstamina
int heart_absorbhealth
int heart_absorbmagicka
int heart_absorbstamina
int heart_spermhealth
int heart_spermmagicka
int heart_spermstamina
int heart_milkhealth
int heart_milkmagicka
int heart_milkstamina
int heart_stacksex
int heart_stacksperm
int heart_stackmilk
int heart_xp
int heart_xpgain
;end/
;ent/ spell
int spell_xp
int spell_point
int spell_reset
int spell_perfectorgasm
int spell_perfectorgasmrank
int spell_perfectorgasmrank2
int spell_lusciousliquids
int spell_lusciousliquidsrank
int spell_lusciousliquidsrank2
int spell_masochist
int spell_masochistrank
int spell_masochistrank2
int spell_selfstacker
int spell_selfstackerrank
int spell_valuestacker
int spell_valuestackerrank
int spell_savingessence
int spell_savingessencerank
int spell_savingessencerank2
int spell_giftedconsent
int spell_giftedconsentrank
int spell_forcemaster
int spell_forcemasterrank
int spell_deviouspartner
int spell_deviouspartnerrank
int spell_deviouspartnerrank2
int spell_formalbeauty
int spell_formalbeautyrank
int spell_formalbeautyrank2
int spell_seducer
int spell_seducerrank
int spell_regalglow
int spell_regalglowrank
int spell_violence
int spell_violencerank
int spell_violencerank2
int spell_violencerank3
int spell_healthyabsorber
int spell_healthyabsorberrank
;end/
;ent/ perk
int perk_orgasm
int perk_allyorgasm
int perk_absorb
int perk_sperm
int perk_milk
int perk_killdrain
;end/
;ent/ Pets
int pet_summonxp
int pet_summonlevel
int pet_dog
int pet_dogdesire
int pet_doglevel
int pet_wolf
int pet_wolfdesire
int pet_wolflevel
int pet_horse
int pet_horsedesire
int pet_horselevel
int pet_skeever
int pet_skeeverdesire
int pet_skeeverlevel
int pet_familiar
int pet_familiardesire
int pet_familiarlevel
int pet_bear
int pet_beardesire
int pet_bearlevel
int pet_sabrecat
int pet_sabrecatdesire
int pet_sabrecatlevel
int pet_draugr
int pet_draugrdesire
int pet_draugrlevel
int pet_troll
int pet_trolldesire
int pet_trolllevel
int pet_spriggan
int pet_spriggandesire
int pet_sprigganlevel
int pet_horker
int pet_horkerdesire
int pet_horkerlevel
int pet_falmer
int pet_falmerdesire
int pet_falmerlevel
int pet_husky
int pet_huskydesire
int pet_huskylevel
int pet_bristle
int pet_bristledesire
int pet_bristlelevel
int pet_seeker
int pet_seekerdesire
int pet_seekerlevel
int pet_gargoyle
int pet_gargoyledesire
int pet_gargoylelevel
int pet_netch
int pet_netchdesire
int pet_netchlevel
int pet_riekling
int pet_rieklingdesire
int pet_rieklinglevel
int pet_spider
int pet_spiderdesire
int pet_spiderlevel
;end/
;ent/ Craft
int craft_level
int craft_xp
int craft_points

int craft_utility
int craft_weapon
int craft_lightarmor
int craft_heavyarmor
int craft_utilitycraft
int craft_weaponcraft
int craft_lightarmorcraft
int craft_heavyarmorcraft
;end/
;ent/ help
int help_credit
int help_version
int help_drain
int help_drops
int help_realm
int help_xp
int help_sp
int help_bdsm
int help_perks
int help_pets
int help_cs
int help_dom
int help_desire
int help_tracking
int help_craft
;end/
;ent/ Scrip Variables
int ftMCM
int ftstatus
int ftskill
int ftheart
int ftpassives
int ftsoul
int ftperk
int fthelp
int ftcraft
string[] peteffectlist
string[] craft_utilitylist
string[] craft_weaponlist
string[] craft_lightarmorlist
string[] craft_heavyarmorlist
string[] craft_utilitylistcost
string[] craft_weaponlistcost
string[] craft_lightarmorlistcost
string[] craft_heavyarmorlistcost
int craftitemutility
int craftitemweapon
int craftitemlightarmor
int craftitemheavyarmor
string craftitemutilityid
string craftitemweaponid
string craftitemlightarmorid
string craftitemheavyarmorid
;end/

;ent/ Init
Event OnConfigInit()
	ModName = "_Succubus Heart"
	Pages = new string[8]
		Pages[0] = "Status / Settings"
		Pages[1] = "Skill Levels"
		Pages[2] = "Heart Levels"
		Pages[3] = "Passives"
		Pages[4] = "Craft"
		Pages[5] = "Soul Pets"
		Pages[6] = "Perks"
		Pages[7] = "Help"
endEvent
;end/
;ent/ MCMupdate
Function MCMupdate()
	float MCMversion = SuH_MCMversion.GetValue()
	if MCMversion != 0 && MCMversion < 4.111
		ftsoul = 0
		SuH_MCMversion.SetValue(4.12)
	endIf
	If MCMversion < 4.21
		ModName = "_Succubus Heart"
		Pages = new string[8]
			Pages[0] = "Status / Settings"
			Pages[1] = "Skill Levels"
			Pages[2] = "Heart Levels"
			Pages[3] = "Passives"
			Pages[4] = "Craft"
			Pages[5] = "Soul Pets"
			Pages[6] = "Perks"
			Pages[7] = "Help"
		SuH_MCMversion.SetValue(4.21)
	endIf
endFunction
;end/
;ent/ Passive Reset Cost Calc
int Function passiveresetcostcalc()
	int bpoint = SuH_PCSbpoint.GetValue() as int
	int dpoint = SuH_PCSdpoint.GetValue() as int
	int spoint = SuH_PCSspoint.GetValue() as int
	int mpoint = SuH_PCSmpoint.GetValue() as int
	int bdsmrating = SuH_PCSbdsm.GetValue() as int
	int passiveresetcost = Math.Floor(500 * playerRef.GetLevel())
	if SuH_SETfreepassivereset.GetValue()
		passiveresetcost = 0
	endIf
	return passiveresetcost
endFunction
;end/

;ent/ OnPageReset
Event OnPageReset(string page)
	;ent/ Initial Page
	if (page == "")
		if ftMCM != 1
			debug.MessageBox("Welcome to the Succubus Heart MCM! Upon first entering each page a short description will be displayed describing the page and its basic functions. If you want more in-depth explanations please check out the Help MCM page or read-about on the mod's forums.")
			ftMCM = 1
		endIf
        LoadCustomContent("SuH/SuH_cover.swf")
        return
    else
        UnloadCustomContent()
    endIf
	;end/
	;ent/ Status / Settings
	if (page == "Status / Settings")
		if ftstatus != 1
			debug.MessageBox("This is the Status / Settings MCM. Here you can view an overview of some key stats within Succubus Heart as well as change various settings. I highly recommend checking down the full options list to enable/disabling anything you want/don't want in your game. Also check out Succubus Heart's Optional Features such as Combat Seduction to either fulfill gameplay needs or to ensure they're disabled for compatibility.")
			ftstatus = 1
		endIf
		SetCursorFillMode(TOP_TO_BOTTOM)		
		;ent/ Variables
		float modv = SuH_MODversion.GetValue()
		int playerHealth = PlayerRef.GetBaseActorValue("health") as int
		int playerMagicka = PlayerRef.GetBaseActorValue("magicka") as int
		int playerStamina = PlayerRef.GetBaseActorValue("stamina") as int
		int plvl = PlayerRef.GetLevel() as int
		int healthCap = Math.Floor((SuH_PCScaphealth.GetValue()+plvl*4) - SuH_PCScaphealthdown.GetValue())
		int magickaCap = Math.Floor((SuH_PCScapmagicka.GetValue()+plvl*3) - SuH_PCScapmagickadown.GetValue())
		int staminaCap = Math.Floor((SuH_PCScapstamina.GetValue()+plvl*3) - SuH_PCScapstaminadown.GetValue())
		int desireV = SuH_PCSdesire.GetValue() as int
		int XP = SuH_PCSxp.GetValue() as int
		int XPgain = SuH_PCSxpgain.GetValue() as int
		int XPgainV = XPgain
		int stacksex = SuH_PCSstacksex.GetValue() as int
		int stacksperm = SuH_PCSstacksperm.GetValue() as int
		int stackmilk = SuH_PCSstackmilk.GetValue() as int
		int stackmaxsex = SuH_PCSstackmaxsex.GetValue() as int
		int stackmaxsperm = SuH_PCSstackmaxsperm.GetValue() as int
		int stackmaxmilk = SuH_PCSstackmaxmilk.GetValue() as int
		bool SETdrainkill = SuH_SETallowdrainkill.GetValue() as bool
		bool SETcombatseduction = SuH_SETcombatseduction.GetValue() as bool
		int SETnpc2npchealth = Math.Floor(SuH_SETnpc2npchealth.GetValue()*100)
		int SETnpc2npchealthmin = Math.Floor(SuH_SETnpc2npchealthmin.GetValue())
		int SETnpc2pchealth = Math.Floor(SuH_SETnpc2pchealth.GetValue()*100)
		int SETnpc2pchealthmin = Math.Floor(SuH_SETnpc2pchealthmin.GetValue())
		int SETpc2npchealth = Math.Floor(SuH_SETpc2npchealth.GetValue()*100)
		int SETpc2npchealthmin = Math.Floor(SuH_SETpc2npchealthmin.GetValue())
		int SETpc2npcstamina = Math.Floor(SuH_SETpc2npcstamina.GetValue()*100)
		int SETallowmalehomo = SuH_SETallowmalehomo.GetValue() as int
		int SETallowfemalehomo = SuH_SETallowfemalehomo.GetValue() as int
		bool SETessentialacts = SuH_SETessentialacts.GetValue() as bool
		bool SETconsentdrain = SuH_SETconsentdrain.GetValue() as bool
		bool SETdesiredrain = SuH_SETdesiredrain.GetValue() as bool
		bool SETdeathdrops = SuH_SETdeathdrops.GetValue() as bool
		int ORcaphealth = SuH_ORcaphealth.GetValue() as int
		int ORcapmagicka = SuH_ORcapmagicka.GetValue() as int
		int ORcapstamina = SuH_ORcapstamina.GetValue() as int
		int ORabsorbhealth = SuH_ORcaphealth.GetValue() as int
		int ORabsorbmagicka = SuH_ORcapmagicka.GetValue() as int
		int ORabsorbstamina = SuH_ORcapstamina.GetValue() as int
		int effectmulti = Math.Floor(100 * SuH_PCSeffectmulti.GetValue())
		float SETdesiregain = SuH_PCSdesiregain.GetValue()
		bool SETalwaysdrainkill = SuH_SETalwaysdrainkill.GetValue() as bool
		bool SETspecialdeath = SuH_SETspecialdeath.GetValue() as bool
		bool SETsdloseitems = SuH_SETsdloseitems.GetValue() as bool
		bool SETsdlosegold = SuH_SETsdlosegold.GetValue() as bool
		bool SETsdloseequip = SuH_SETsdloseequip.GetValue() as bool
		bool SETrestrictact = SuH_SETrestrictact.GetValue() as bool
		int SETdesirecap = SuH_SETdesirecap.GetValue() as int
		int SETrandomdeathspawn = SuH_SETrandomdeathspawn.GetValue() as int
		bool SETinvactmale = SuH_SETinvactmale.GetValue() as bool
		bool SETinvactfemale = SuH_SETinvactfemale.GetValue() as bool
		bool SETinvactmalecreature = SuH_SETinvactmalecreature.GetValue() as bool
		bool SETinvactfemalecreature = SuH_SETinvactfemalecreature.GetValue() as bool
		bool SETnpcabsorb = SuH_SETnpcabsorb.GetValue() as bool
		bool SETdrainally = SuH_SETdrainally.GetValue() as bool
		bool SETclearactor = SuH_SETclearactor.GetValue() as bool
		bool SETcalmaura = SuH_SETcalmaura.GetValue() as bool
		int SETcsbleedoutdelay = SuH_SETcsbleedoutdelay.GetValue() as int
		bool SETadvancedchecking = SuH_SETadvancedchecking.GetValue() as bool
		bool SETdisablehealthrecovery = False
		if SuH_SETdisablehealthrecovery.GetValue() > 0.0
			SETdisablehealthrecovery = True
		endIf
		bool SETdisablemagickarecovery = False
		if SuH_SETdisablemagickarecovery.GetValue() > 0.0
			SETdisablemagickarecovery = True
		endIf
		bool SETdisablestaminarecovery = False
		if SuH_SETdisablestaminarecovery.GetValue() > 0.0
			SETdisablestaminarecovery = True
		endIf
		int SETpetspells = 0
		if playerRef.HasSpell(SuH_spell_petself)
			SETpetspells = 1
		else
			SETpetspells = 0
		endIF
		;end/
		;ent/ Left Side
		SetCursorPosition(0)
		; Status
		AddHeaderOption("Status ")
		if ORcaphealth == 0
			status_health = AddTextOption("Health ", playerHealth+"/"+healthCap)
		else
			status_health = AddTextOption("Health ", playerHealth+"/overwritten")
		endIf
		if ORcapmagicka == 0
			status_magicka = AddTextOption("Magicka ", playerMagicka+"/"+magickaCap)
		else
			status_magicka = AddTextOption("Magicka ", playerMagicka+"/overwritten")
		endIf
		if ORcapstamina == 0
			status_stamina = AddTextOption("Stamina ", playerStamina+"/"+staminaCap)
		else
			status_stamina = AddTextOption("Stamina ", playerStamina+"/overwritten")
		endIf
		status_stacksex = AddTextOption("Sex Stacks", stacksex+"/"+stackmaxsex)
		status_stacksperm = AddTextOption("Sperm Stacks", stacksperm+"/"+stackmaxsperm)
		status_stackmilk = AddTextOption("Milk Stacks", stackmilk+"/"+stackmaxmilk)
		AddEmptyOption()
		; Drain Options
		AddHeaderOption("Drain Options")
		status_SETeffectmulti = AddSliderOption("Drain/XP Multiplier",effectmulti, "{0}%")
		status_SETnpcabsorb = AddToggleOption("Absorb From NPCs", SETnpcabsorb)
		status_SETdrainkill = AddToggleOption("Allow Drain to Kill", SETdrainkill)
		status_SETconsentdrain = AddToggleOption("Allow Consensual Drain", SETconsentdrain)
		status_SETdrainally = AddToggleOption("Drain Followers", SETdrainally)
		status_SETalwaysdrainkill = AddToggleOption("Drain Always Kills ", SETalwaysdrainkill)
		; General Options
		AddHeaderOption("General Options")
		status_SETadvancedchecking = AddToggleOption("Advanced Checking ", SETadvancedchecking)
		status_SETcalmaura = AddToggleOption("Calm Enemies During Acts", SETcalmaura)
		status_SETdeathdrops = AddToggleOption("Death Drops ", SETdeathdrops)
		status_SETdesiredrain = AddToggleOption("Allow Desire Drain", SETdesiredrain)
		status_SETdesiregain = AddSliderOption("Desire Generation ", SETdesiregain)
		status_SETdesirecap = AddSliderOption("Desire Drain Trigger ", SETdesirecap, "{0}")
		; Animation Options
		AddHeaderOption("Animation Options")
		status_SETclearactor = AddToggleOption("Clean Arrows off PC", SETclearactor)
		status_SETallowmalehomo = AddToggleOption("Allow Male Homosexuals", SETallowmalehomo)
		status_SETallowfemalehomo = AddToggleOption("Allow Female Homosexuals", SETallowfemalehomo)
		status_SETrestrictact = AddToggleOption("Restrict Act ", SETrestrictact)
		status_SETessentialacts = AddToggleOption("NPCs Essential in Acts", SETessentialacts)
		; Overrides
		AddHeaderOption("Status Overrides")
		status_ORcaphealth = AddSliderOption("Health Cap",ORcaphealth,"{0}")
		status_ORcapmagicka = AddSliderOption("Magicka Cap",ORcapmagicka,"{0}")
		status_ORcapstamina = AddSliderOption("Stamina Cap",ORcapstamina,"{0}")
		status_ORabsorbhealth = AddSliderOption("Health Absorption",ORabsorbhealth,"{0}")
		status_ORabsorbmagicka = AddSliderOption("Magicka Absorption",ORabsorbhealth,"{0}")
		status_ORabsorbstamina = AddSliderOption("Stamina Absorption",ORabsorbhealth,"{0}")
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
		; Status
		AddHeaderOption("Status ")
		status_desire = AddTextOption("Desire ", desireV)
		status_xp = AddTextOption("XP ", XP)
		status_xpgain = AddTextOption("XP Gain ", XPgainV+"%")
		AddEmptyOption()
		AddEmptyOption()
		status_version = AddTextOption("Succubus Heart Version "+modv, " ")
		AddEmptyOption()
		; Mechanic Options
		AddHeaderOption("Mechanic Options ")
		status_SETdisablehealthrecovery = AddToggleOption("Disable Health Regen ", SETdisablehealthrecovery)
		status_SETdisablemagickarecovery = AddToggleOption("Disable Magicka Regen ", SETdisablemagickarecovery)
		status_SETdisablestaminarecovery = AddToggleOption("Disable Stamina Regen ", SETdisablestaminarecovery)
		status_SETpetspells = AddToggleOption("Display Pet Spells", SETpetspells)
		AddHeaderOption("Combat Seduction Options")
		status_SETcombatseduction = AddToggleOption("Combat Seduction", SETcombatseduction)
		status_SETpc2npchealth = AddSliderOption("PC to NPC", SETpc2npchealth, "{0}% Health")
		status_SETpc2npchealthmin = AddSliderOption("PC to NPC", SETpc2npchealthmin, "{0} Health")
		status_SETpc2npcstamina = AddSliderOption("PC to NPC", SETpc2npcstamina, "{0}% Stamina")
		status_SETnpc2pchealth = AddSliderOption("NPC to PC", SETnpc2pchealth, "{0}% Health")
		status_SETnpc2pchealthmin = AddSliderOption("NPC to PC", SETnpc2pchealthmin, "{0} Health")
		status_SETnpc2npchealth = AddSliderOption("NPC to NPC", SETnpc2npchealth, "{0}% Health")
		status_SETnpc2npchealthmin = AddSliderOption("NPC to NPC", SETnpc2npchealthmin, "{0} Health")
		AddHeaderOption("Death Override Mode Options")
		status_SETspecialdeath = AddToggleOption("Death Override Mode", SETspecialdeath)
		status_SETrandomdeathspawn = AddToggleOption("Force Random Death Respawn", SETrandomdeathspawn)
		status_SETsdloseitems = AddToggleOption("Lose Items on Death", SETsdloseitems)
		status_SETsdlosegold = AddToggleOption("Lose Gold on Death", SETsdlosegold)
		status_SETsdloseequip = AddToggleOption("Destroy Equipped on Death", SETsdloseequip)
		status_SETcsbleedoutdelay = AddSliderOption("Bleed Out Delay", SETcsbleedoutdelay, "{0} Sec")
		;end/
	;end/
	;ent/ Skill Levels
	elseIf (page == "Skill Levels")
		if ftskill != 1
			debug.MessageBox("This is the Skill Levels Menu. Here you can spend SP to level Skyrim's usual skills, such as Heavy Armor, or maybe even a useless stat like lockpicking... (seriously, does anyone even level that?). Costs increase with skill level and SP only gets more difficult to obtain so you may want to save points for your primary skills. SP is earned by gaining Status over your Status Cap, for a more in-depth explanation check the highlight info and Help MCM.")
			ftskill = 1
		endIf
		;ent/ Variables
			int alchemylvl = playerRef.GetBaseActorValue("alchemy") as int
			int alchemycost = Math.Ceiling(alchemylvl*0.1)
			int alterationlvl = playerRef.GetBaseActorValue("alteration") as int
			int alterationcost = Math.Ceiling(alterationlvl*0.1)
			int blocklvl = playerRef.GetBaseActorValue("block") as int
			int blockcost = Math.Ceiling(blocklvl*0.1)
			int conjurationlvl = playerRef.GetBaseActorValue("conjuration") as int
			int conjurationcost = Math.Ceiling(conjurationlvl*0.1)
			int destructionlvl = playerRef.GetBaseActorValue("destruction") as int
			int destructioncost = Math.Ceiling(destructionlvl*0.1)
			int enchantinglvl = playerRef.GetBaseActorValue("enchanting") as int
			int enchantingcost = Math.Ceiling(enchantinglvl*0.1)
			int heavyarmorlvl = playerRef.GetBaseActorValue("heavyarmor") as int
			int heavyarmorcost = Math.Ceiling(heavyarmorlvl*0.1)
			int illusionlvl = playerRef.GetBaseActorValue("illusion") as int
			int illusioncost = Math.Ceiling(illusionlvl*0.1)
			int lightarmorlvl = playerRef.GetBaseActorValue("lightarmor") as int
			int lightarmorcost = Math.Ceiling(lightarmorlvl*0.1)
			int lockpickinglvl = playerRef.GetBaseActorValue("lockpicking") as int
			int lockpickingcost = Math.Ceiling(lockpickinglvl*0.1)
			int marksmanlvl = playerRef.GetBaseActorValue("marksman") as int
			int marksmancost = Math.Ceiling(marksmanlvl*0.1)
			int onehandedlvl = playerRef.GetBaseActorValue("onehanded") as int
			int onehandedcost = Math.Ceiling(onehandedlvl*0.1)
			int pickpocketlvl = playerRef.GetBaseActorValue("pickpocket") as int
			int pickpocketcost = Math.Ceiling(pickpocketlvl*0.1)
			int restorationlvl = playerRef.GetBaseActorValue("restoration") as int
			int restorationcost = Math.Ceiling(restorationlvl*0.1)
			int smithinglvl = playerRef.GetBaseActorValue("smithing") as int
			int smithingcost = Math.Ceiling(smithinglvl*0.1)
			int sneaklvl = playerRef.GetBaseActorValue("sneak") as int
			int sneakcost = Math.Ceiling(sneaklvl*0.1)
			int speechcraftlvl = playerRef.GetBaseActorValue("speechcraft") as int
			int speechcraftcost = Math.Ceiling(speechcraftlvl*0.1)
			int twohandedlvl = playerRef.GetBaseActorValue("twohanded") as int
			int twohandedcost = Math.Ceiling(twohandedlvl*0.1)
		;end/
		;ent/ SP calculation
			int plvl = PlayerRef.GetLevel()
			float plvlmod = 1
			if plvl < 11 ; 30% cap
				plvlmod = 1 - (plvl*0.03)
			elseif plvl < 21 ; 50% cap
				plvlmod = 1 - ((plvl - 20)*0.02 + 0.3)
			elseif plvl < 31 ; 70% cap
				plvlmod = 1 - ((plvl - 30)*0.01 + 0.5)
			elseif plvl < 51 ; 75% cap
				plvlmod = 1 - ((plvl - 50)*0.005 + 0.7)
			elseif plvl > 60 ; 99.9% cap
				plvlmod = 1 - ((plvl - 60)*0.0025 + 0.75)
				if plvlmod > 1
					plvlmod = 1 - 0.999
				endIf
			endIf
			int xp = SuH_PCSxp.GetValue() as int
			int force = SuH_PCSforce.GetValue() as int
			int sp = SuH_PCSsp.GetValue() as int
			int spearned = SuH_PCSspearned.GetValue() as int
			float fmaster = 1 - (SuH_rank_forcemaster.GetValue() * 0.02)
			int spcost = Math.Floor((spearned*0.2*120)*plvlmod*fmaster)
			if force >= spcost
				int x = 0
				int y = 0
				int z = 0
				int forceSpent = 0
				int spgained = 0
				int newcost = 0
				int i = 0
				while i != 1
					x = force - forceSpent
					y = spearned + spgained
					newcost = Math.Floor((y*0.2*120)*plvlmod*fmaster)
					if x >= newcost
						forceSpent += newcost
						spgained += 1
					else
						z = sp + spgained
						SuH_PCSforce.SetValue(x)
						SuH_PCSspearned.SetValue(y)
						SuH_PCSsp.SetValue(z)
						debug.MessageBox(spgained+" SP was earned")
						i = 1
					endIf
				endWhile
				xp = SuH_PCSxp.GetValue() as int
				force = SuH_PCSforce.GetValue() as int
				sp = SuH_PCSsp.GetValue() as int
				spearned = SuH_PCSspearned.GetValue() as int
				spcost = Math.Floor((spearned*0.2*60)*plvlmod*fmaster)
			endIf
			int spnext = Math.Floor(spcost-force)
		;end/
		SetCursorFillMode(TOP_TO_BOTTOM)
		;ent/ Left Side
		SetCursorPosition(0)
		skill_sp = AddTextOption("Skill Points", sp)
		skill_spnext = AddTextOption("Till Next Skill Point", spnext+" Force")
		AddHeaderOption("Level Skills")
		skill_alchemy = AddTextOption("Alchemy ", alchemylvl+" ["+alchemycost+" SP]")
		skill_block = AddTextOption("Block ", blocklvl+" ["+blockcost+" SP]")
		skill_destruction = AddTextOption("Destruction ", destructionlvl+" ["+destructioncost+" SP]")
		skill_heavyarmor = AddTextOption("Heavy Armor ", heavyarmorlvl+" ["+heavyarmorcost+" SP]")
		skill_lightarmor = AddTextOption("Light Armor ", lightarmorlvl+" ["+lightarmorcost+" SP]")
		skill_marksman = AddTextOption("Marksman ", marksmanlvl+" ["+marksmancost+" SP]")
		skill_pickpocket = AddTextOption("Pickpocket ", pickpocketlvl+" ["+pickpocketcost+" SP]")
		skill_smithing = AddTextOption("Smithing ", smithinglvl+" ["+smithingcost+" SP]")
		skill_speechcraft = AddTextOption("Speechcraft ", speechcraftlvl+" ["+speechcraftcost+" SP]")
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
		skill_xp = AddTextOption("XP available", xp)
		skill_convert = AddSliderOption("XP to Force (10->1)",0,"{0}")
		AddHeaderOption("Level Skills")
		skill_alteration = AddTextOption("Alteration ", alterationlvl+" ["+alterationcost+" SP]")
		skill_conjuration = AddTextOption("Conjuration ", conjurationlvl+" ["+conjurationcost+" SP]")
		skill_enchanting = AddTextOption("Enchanting ", enchantinglvl+" ["+enchantingcost+" SP]")
		skill_illusion = AddTextOption("Illusion ", illusionlvl+" ["+illusioncost+" SP]")
		skill_lockpicking = AddTextOption("Lockpicking ", lockpickinglvl+" ["+lockpickingcost+" SP]")
		skill_onehanded = AddTextOption("One-Handed ", onehandedlvl+" ["+onehandedcost+" SP]")
		skill_restoration = AddTextOption("Restoration ", restorationlvl+" ["+restorationcost+" SP]")
		skill_sneak = AddTextOption("Sneak ", sneaklvl+" ["+sneakcost+" SP]")
		skill_twohanded = AddTextOption("Two-Handed ", twohandedlvl+" ["+twohandedcost+" SP]")
		;end/
	;end/
	;ent/ Heart Levels
	elseIf (page == "Heart Levels")
		if ftheart != 1
			debug.MessageBox("This is the Heart Levels Menu. Here you can level various Succubus Heart Stats, most note-ably Status Caps and Absorption. These stats will effect many of Succubus Heart's sex effects and increase the max status you can achieve using the mod. You'll probably want to check-in on this menu from time to time to increase your abilities as they'll grant a fiar amount of power and allow new passives to be learned. For more check the Help MCM. [Special Tip : Use the 'set to default' key to set tracking, you'll then receive a quick notification when the skill can be leveled!]")
			ftheart = 1
		endIf
		;ent/ Variables
		int caphealth = SuH_PCScaphealth.GetValue() as int
		int caphealthitem = SuH_PCScaphealthitem.GetValue() as int
		int caphealthcost = Math.Floor(((caphealth-caphealthitem)*0.12)*15+20)
		int caphealthdisplay = Math.Floor((caphealth + (PlayerRef.GetLevel()*4)) - SuH_PCScaphealthdown.GetValue())
		int capmagicka = SuH_PCScapmagicka.GetValue() as int
		int capmagickaitem = SuH_PCScapmagickaitem.GetValue() as int
		int capmagickacost = Math.Floor(((capmagicka-capmagickaitem)*0.12)*15+20)
		int capmagickadisplay = Math.Floor((capmagicka + (PlayerRef.GetLevel()*3)) - SuH_PCScapmagickadown.GetValue())
		int capstamina = SuH_PCScapstamina.GetValue() as int
		int capstaminaitem = SuH_PCScapstaminaitem.GetValue() as int
		int capstaminacost = Math.Floor(((capstamina-capstaminaitem)*0.12)*15+20)
		int capstaminadisplay = Math.Floor((capstamina + (PlayerRef.GetLevel()*3)) - SuH_PCScapstaminadown.GetValue())
		int absorbhealth = SuH_PCSabsorbhealth.GetValue() as int
		int absorbhealthcost = Math.Floor(absorbhealth*2.2*280)
		int absorbmagicka = SuH_PCSabsorbmagicka.GetValue() as int
		int absorbmagickacost = Math.Floor(absorbmagicka*2.2*280)
		int absorbstamina = SuH_PCSabsorbstamina.GetValue() as int
		int absorbstaminacost = Math.Floor(absorbstamina*2.2*280)
		int stacksex = SuH_PCSstackmaxsex.GetValue() as int
		int stacksexcost = Math.Floor(stacksex*2.8*240)
		int stacksperm = SuH_PCSstackmaxsperm.GetValue() as int
		int stackspermcost = Math.Floor(stacksperm*2.8*240)
		int stackmilk = SuH_PCSstackmaxmilk.GetValue() as int
		int stackmilkcost = Math.Floor(stackmilk*2.8*240)
		int spermhealth = SuH_PCSspermhealth.GetValue() as int
		int spermhealthcost = Math.Floor(spermhealth*1.8*200)
		int spermmagicka = SuH_PCSspermmagicka.GetValue() as int
		int spermmagickacost = Math.Floor(spermmagicka*1.8*200)
		int spermstamina = SuH_PCSspermstamina.GetValue() as int
		int spermstaminacost = Math.Floor(spermstamina*1.8*200)
		int milkhealth = SuH_PCSmilkhealth.GetValue() as int
		int milkhealthcost = Math.Floor(milkhealth*1.8*200)
		int milkmagicka = SuH_PCSmilkmagicka.GetValue() as int
		int milkmagickacost = Math.Floor(milkmagicka*1.8*200)
		int milkstamina = SuH_PCSmilkstamina.GetValue() as int
		int milkstaminacost = Math.Floor(milkstamina*1.8*200)
		int xp = SuH_PCSxp.GetValue() as int
		int xpgain = SuH_PCSxpgain.GetValue() as int
		int xpgainitem = SuH_PCSxpgainitem.GetValue() as int
		int xpgaincost = Math.Floor(((xpgain - (99+xpgainitem))*2.0*350)*0.5)
		int xpgaindisplay = xpgain
		;end/
		SetCursorFillMode(TOP_TO_BOTTOM)
		;ent/ Left Side
		SetCursorPosition(0)
		heart_xp = AddTextOption("XP available", xp)
		AddHeaderOption("Heart Levels")
		heart_caphealth = AddTextOption("Health Cap", caphealthdisplay+" ["+caphealthcost+" XP]")
		heart_capmagicka = AddTextOption("Magicka Cap", capmagickadisplay+" ["+capmagickacost+" XP]")
		heart_capstamina = AddTextOption("Stamina Cap", capstaminadisplay+" ["+capstaminacost+" XP]")
		AddEmptyOption()
		heart_stacksex = AddTextOption("Max Sex Stacks", stacksex+" ["+stacksexcost+" XP]")
		heart_stacksperm = AddTextOption("Max Sperm Stacks", stacksperm+" ["+stackspermcost+" XP]")
		heart_stackmilk = AddTextOption("Max Milk Stacks", stackmilk+" ["+stackmilkcost+" XP]")
		AddEmptyOption()
		heart_xpgain = AddTextOption("XP Gain", xpgaindisplay+"% ["+xpgaincost+" XP]")
		AddEmptyOption()
		AddEmptyOption()
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
		AddEmptyOption()
		AddHeaderOption("Heart Levels")
		heart_absorbhealth = AddTextOption("Health Absorption", absorbhealth+" ["+absorbhealthcost+" XP]")
		heart_absorbmagicka = AddTextOption("Magicka Absorption", absorbmagicka+" ["+absorbmagickacost+" XP]")
		heart_absorbstamina = AddTextOption("Stamina Absorption", absorbstamina+" ["+absorbstaminacost+" XP]")
		AddEmptyOption()
		heart_spermhealth = AddTextOption("Sperm Health Bonus", spermhealth+" ["+spermhealthcost+" XP]")
		heart_spermmagicka = AddTextOption("Sperm Magicka Bonus", spermmagicka+" ["+spermmagickacost+" XP]")
		heart_spermstamina = AddTextOption("Sperm Stamina Bonus", spermstamina+" ["+spermstaminacost+" XP]")
		AddEmptyOption()
		heart_milkhealth = AddTextOption("Milk Health Bonus", milkhealth+" ["+milkhealthcost+" XP]")
		heart_milkmagicka = AddTextOption("Milk Magicka Bonus", milkmagicka+" ["+milkmagickacost+" XP]")
		heart_milkstamina = AddTextOption("Milk Stamina Bonus", milkstamina+" ["+milkstaminacost+" XP]")
		;end/
	;end/
	;ent/ Passives
	elseIf (page == "Passives")
		if ftpassives != 1
			debug.MessageBox("This is the Passives Menu. Here you can learn various extra abilities to add to your Succubus Powers. These abilities are 'always on' and add benefits with some having costs. Passives require BDSM Rating which is earned by leveling Heart Skills in the Heart Levels MCM. Different Passives and Heart Abilities will also have a BDSM Type which can have an effect on some passives. Read the Highlight info on abilities and check out the Help MCM for more.")
			ftpassives = 1
		endIf
		SetCursorFillMode(TOP_TO_BOTTOM)
		;ent/ Variables
		int xp = SuH_PCSxp.GetValue() as int
		int perfectorgasmrank = SuH_rank_perfectorgasm.GetValue() as int
		int perfectorgasmrank2 = SuH_rank_perfectorgasm2.GetValue() as int
		int perfectorgasmrankall = perfectorgasmrank + perfectorgasmrank2
		int perfectorgasmcost = Math.Floor(12+(perfectorgasmrankall*0.1*12))
		int lusciousliquidsrank = SuH_rank_lusciousliquids.GetValue() as int
		int lusciousliquidsrank2 = SuH_rank_lusciousliquids2.GetValue() as int
		int lusciousliquidsrankall = lusciousliquidsrank + lusciousliquidsrank2
		int lusciousliquidscost = Math.Floor(24+(lusciousliquidsrankall*0.1*24))
		int masochistrank = SuH_rank_masochist.GetValue() as int
		int masochistrank2 = SuH_rank_masochist2.GetValue() as int
		int masochistrankall = masochistrank + masochistrank2
		int masochistcost = Math.Floor(12+(masochistrankall*0.1*12))
		int selfstackerrank = SuH_rank_selfstacker.GetValue() as int
		int selfstackercost = Math.Floor(30+(selfstackerrank*0.1*30))
		int valuestackerrank = SuH_rank_valuestacker.GetValue() as int
		int valuestackercost = Math.Floor(30+(valuestackerrank*0.1*30))
		int savingessencerank = SuH_rank_savingessence.GetValue() as int
		int savingessencerank2 = SuH_rank_savingessence2.GetValue() as int
		int savingessencerankall = savingessencerank + savingessencerank2
		int savingessencecost = Math.Floor(30+(savingessencerankall*0.1*30))
		int giftedconsentrank = SuH_rank_giftedconsent.GetValue() as int
		int giftedconsentcost = Math.Floor(12+(giftedconsentrank*0.1*12))
		int forcemasterrank = SuH_rank_forcemaster.GetValue() as int
		int forcemastercost = Math.Floor(30+(forcemasterrank*0.1*30))
		int deviouspartnerrank = SuH_rank_deviouspartner.GetValue() as int
		int deviouspartnerrank2 = SuH_rank_deviouspartner2.GetValue() as int
		int deviouspartnerrankall = deviouspartnerrank + deviouspartnerrank2
		int deviouspartnercost = Math.Floor(24+(deviouspartnerrankall*0.1*24))
		int formalbeautyrank = SuH_rank_formalbeauty.GetValue() as int
		int formalbeautyrank2 = SuH_rank_formalbeauty2.GetValue() as int
		int formalbeautyrankall = formalbeautyrank + formalbeautyrank2
		int formalbeautycost = Math.Floor(24+(formalbeautyrankall*0.1*24))
		int violencerank = SuH_rank_violence.GetValue() as int
		int violencerank2 = SuH_rank_violence2.GetValue() as int
		int violencerank3 = SuH_rank_violence3.GetValue() as int
		int violencerankall = violencerank + violencerank2 + violencerank3
		int violencecost = Math.Floor(30+(violencerankall*0.1*30))
		int seducerrank = SuH_rank_seducer.GetValue() as int
		int seducercost = Math.Floor(30+(seducerrank*0.1*30))
		int regalglowrank = SuH_rank_regalglow.GetValue() as int
		int regalglowcost = Math.Floor(24+(regalglowrank*0.1*24))
		int healthyabsorberrank = SuH_rank_healthyabsorber.GetValue() as int
		int healthyabsorbercost = Math.Floor(24+(healthyabsorberrank*0.1*24))
		int bpoint = SuH_PCSbpoint.GetValue() as int
		int dpoint = SuH_PCSdpoint.GetValue() as int
		int spoint = SuH_PCSspoint.GetValue() as int
		int mpoint = SuH_PCSmpoint.GetValue() as int
		int bdsmrating = SuH_PCSbdsm.GetValue() as int
		int bdsmrank = SuH_rank_bdsm.GetValue() as int
		int bdsmrankcost = Math.Floor((1200*bdsmrank)*1.6+1200)
		int passiveresetcost = passiveresetcostcalc()
		string Lbdsmrating = " "
		if dpoint >= bpoint && dpoint >= spoint && dpoint >= mpoint
			Lbdsmrating = "Desire"
		elseif bpoint >= spoint && bpoint >= mpoint
			Lbdsmrating = "Body"
		elseif spoint >= mpoint
			Lbdsmrating = "Soul"
		else
			Lbdsmrating = "Mind"
		endIf
		;end/
		;ent/ Left Side
		SetCursorPosition(0)
			spell_point = AddTextOption("BDSM Rating", bdsmrating+" ["+Lbdsmrating+"]")
			AddEmptyOption()
			; Combat Passives
			AddHeaderOption("Combat Passives")
			spell_masochist = AddTextOption("Masochist", "rank "+masochistrankall)
			spell_masochistrank = AddTextOption(" - - Desire Up", masochistcost)
			spell_masochistrank2 = AddTextOption(" - - Stamina Up", masochistcost)
			spell_violence = AddTextOption("Violence", "rank "+violencerankall)
			spell_violencerank = AddTextOption(" - - Health Up", violencecost)
			spell_violencerank2 = AddTextOption(" - - Magicka Up", violencecost)
			spell_violencerank3 = AddTextOption(" - - Stamina Up", violencecost)
			spell_regalglow = AddTextOption("Regal Glow", "rank "+regalglowrank)
			spell_regalglowrank = AddTextOption(" - - Armor Up", regalglowcost)
			spell_savingessence = AddTextOption("Saving Essence", "rank "+savingessencerankall)
			spell_savingessencerank = AddTextOption(" - - Recover Up", savingessencecost)
			spell_savingessencerank2 = AddTextOption(" - - Reduce Cooldown", savingessencecost)
			; Sex Passives
			AddHeaderOption("Sex Passives")
			spell_seducer = AddTextOption("Seducer ", "rank "+seducerrank)
			spell_seducerrank = AddTextOption(" - - Cost Down ", seducercost)
			spell_deviouspartner = AddTextOption("Devious Partner ", "rank "+deviouspartnerrankall)
			spell_deviouspartnerrank = AddTextOption(" - - Gold Up ", deviouspartnercost)
			spell_deviouspartnerrank2 = AddTextOption(" - - Conversion Up ", deviouspartnercost)
			spell_giftedconsent = AddTextOption("Gifted Consent", "rank "+giftedconsentrank)
			spell_giftedconsentrank = AddTextOption(" - - Status Up", giftedconsentcost)
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
			spell_xp = AddTextOption("Increase Rating", bdsmrankcost+" XP")
			spell_reset = AddTextOption(" - - Reset Passives and BDSM ", passiveresetcost+" XP")
			; Supportive Passives
			AddHeaderOption("Supportive Passives")
			spell_lusciousliquids = AddTextOption("Luscious Liquids", "rank "+lusciousliquidsrankall)
			spell_lusciousliquidsrank = AddTextOption(" - - Heal Up", lusciousliquidscost)
			spell_lusciousliquidsrank2 = AddTextOption(" - - Recovery Up", lusciousliquidscost)
			spell_formalbeauty = AddTextOption("Formal Beauty", "rank "+formalbeautyrankall)
			spell_formalbeautyrank = AddTextOption(" - - Effect Up", formalbeautycost)
			spell_formalbeautyrank2 = AddTextOption(" - - Frequency Up", formalbeautycost)
			spell_forcemaster = AddTextOption("Force Master", "rank "+forcemasterrank)
			spell_forcemasterrank = AddTextOption(" - - Cost Down", forcemastercost)
			spell_valuestacker = AddTextOption("Value Stacker", "rank "+valuestackerrank)
			spell_valuestackerrank = AddTextOption(" - - Value Up", valuestackercost)
			spell_selfstacker = AddTextOption("Self Stacker", "rank "+selfstackerrank)
			spell_selfstackerrank = AddTextOption(" - - Stack Up", selfstackercost)
			AddHeaderOption("Sex Passives")
			spell_healthyabsorber = AddTextOption("Healthy Absorber ", "rank "+healthyabsorberrank)
			spell_healthyabsorberrank = AddTextOption(" - - Rate Up", healthyabsorbercost)
			spell_perfectorgasm = AddTextOption("Perfect Orgasm", "rank "+perfectorgasmrankall)
			spell_perfectorgasmrank = AddTextOption(" - - Rare Up", perfectorgasmcost)
			spell_perfectorgasmrank2 = AddTextOption(" - - Drop Up", perfectorgasmcost)
			;end/
		;end/
	;ent/ Perks
	elseIf (page == "Perks")
		if ftperk != 1
			debug.MessageBox("This is the Perks MCM. As different actions are done within Succubus Heart perks will rank up granting additional bonuses.")
			ftperk = 1
		endIf
		;ent/ Variables
			float x = 0.0
			float k = 0.0
			string ps = "Undefined"
			
			int orgasmc = SuH_perk_orgasm.GetValue() as int
			int orgasml = SuH_perk_orgasml.GetValue() as int
			float orgasmnsub = 1
			if orgasml != 0
				orgasmnsub = Math.Floor(((((orgasml - 1) * 0.3) * 200) * 0.2) + 5)
			endIf
			float orgasmn = Math.Floor((((orgasml * 0.3) * 200) * 0.2) + 5)
			float orgasmndis = Math.Floor(orgasmn - orgasmnsub)
			float orgasmndos = Math.Floor(orgasmc - orgasmnsub)
			x = (orgasmndos / orgasmndis)
			ps = "....."
			if x >= 0.98
				ps = "IIIIIIIIII"
			elseif x >= 0.9
				ps = "IIIIIIIII."
			elseif x >= 0.8
				ps = "IIIIIIII.."
			elseif x >= 0.7
				ps = "IIIIIII..."
			elseif x >= 0.6
				ps = "IIIIII...."
			elseif x >= 0.5
				ps = "IIIII....."
			elseif x >= 0.4
				ps = "IIII......"
			elseif x >= 0.3
				ps = "III......."
			elseif x >= 0.2
				ps = "II........"
			elseif x >= 0.1
				ps = "I........."
			else
				ps = ".........."
			endIf
			string orgasms = ps
			int absorbc = SuH_perk_absorb.GetValue() as int
			int absorbl = SuH_perk_absorbl.GetValue() as int
			float absorbnsub = 1
			if absorbl != 0
				absorbnsub = Math.Floor(((((absorbl - 1) * 0.35) * 800) * 0.3) + 20)
			endIf
			float absorbn = Math.Floor((((absorbl * 0.35) * 800) * 0.3) + 20)
			float absorbndis = Math.Floor(absorbn - absorbnsub)
			float absorbndos = Math.Floor(absorbc - absorbnsub)
			x = (absorbndos / absorbndis)
			ps = "....."
			if x >= 0.98
				ps = "IIIIIIIIII"
			elseif x >= 0.9
				ps = "IIIIIIIII."
			elseif x >= 0.8
				ps = "IIIIIIII.."
			elseif x >= 0.7
				ps = "IIIIIII..."
			elseif x >= 0.6
				ps = "IIIIII...."
			elseif x >= 0.5
				ps = "IIIII....."
			elseif x >= 0.4
				ps = "IIII......"
			elseif x >= 0.3
				ps = "III......."
			elseif x >= 0.2
				ps = "II........"
			elseif x >= 0.1
				ps = "I........."
			else
				ps = ".........."
			endIf
			string absorbs = ps
			int spermc = SuH_perk_sperm.GetValue() as int
			int sperml = SuH_perk_sperml.GetValue() as int
			float spermnsub = 1
			if sperml != 0
				spermnsub = Math.Floor(((((sperml - 1) * 0.3) * 400) * 0.22) + 10)
			endIf
			float spermn = Math.Floor((((sperml * 0.3) * 400) * 0.22) + 10)
			float spermndis = Math.Floor(spermn - spermnsub)
			float spermndos = Math.Floor(spermc - spermnsub)
			x = (spermndos / spermndis)
			ps = "....."
			if x >= 0.98
				ps = "IIIIIIIIII"
			elseif x >= 0.9
				ps = "IIIIIIIII."
			elseif x >= 0.8
				ps = "IIIIIIII.."
			elseif x >= 0.7
				ps = "IIIIIII..."
			elseif x >= 0.6
				ps = "IIIIII...."
			elseif x >= 0.5
				ps = "IIIII....."
			elseif x >= 0.4
				ps = "IIII......"
			elseif x >= 0.3
				ps = "III......."
			elseif x >= 0.2
				ps = "II........"
			elseif x >= 0.1
				ps = "I........."
			else
				ps = ".........."
			endIf
			string sperms = ps
			int milkc = SuH_perk_milk.GetValue() as int
			int milkl = SuH_perk_milkl.GetValue() as int
			float milknsub = 1
			if milkl != 0
				milknsub = Math.Floor(((((milkl - 1) * 0.3) * 400) * 0.22) + 10)
			endIf
			float milkn = Math.Floor((((milkl * 0.3) * 400) * 0.22) + 10)
			float milkndis = Math.Floor(milkn - milknsub)
			float milkndos = Math.Floor(milkc - milknsub)
			x = (milkndos / milkndis)
			ps = "....."
			if x >= 0.98
				ps = "IIIIIIIIII"
			elseif x >= 0.9
				ps = "IIIIIIIII."
			elseif x >= 0.8
				ps = "IIIIIIII.."
			elseif x >= 0.7
				ps = "IIIIIII..."
			elseif x >= 0.6
				ps = "IIIIII...."
			elseif x >= 0.5
				ps = "IIIII....."
			elseif x >= 0.4
				ps = "IIII......"
			elseif x >= 0.3
				ps = "III......."
			elseif x >= 0.2
				ps = "II........"
			elseif x >= 0.1
				ps = "I........."
			else
				ps = ".........."
			endIf
			string milks = ps
			int allyorgasmc = SuH_perk_allyorgasm.GetValue() as int
			int allyorgasml = SuH_perk_allyorgasml.GetValue() as int
			float allyorgasmnsub = 1
			if allyorgasml != 0
				allyorgasmnsub = Math.Floor(((((allyorgasml - 1) * 0.3) * 140) * 0.18) + 5)
			endIf
			float allyorgasmn = Math.Floor((((allyorgasml * 0.3) * 140) * 0.18) + 5)
			float allyorgasmndis = Math.Floor(allyorgasmn - allyorgasmnsub)
			float allyorgasmndos = Math.Floor(allyorgasmc - allyorgasmnsub)
			x = (allyorgasmndos / allyorgasmndis)
			ps = "....."
			if x >= 0.98
				ps = "IIIIIIIIII"
			elseif x >= 0.9
				ps = "IIIIIIIII."
			elseif x >= 0.8
				ps = "IIIIIIII.."
			elseif x >= 0.7
				ps = "IIIIIII..."
			elseif x >= 0.6
				ps = "IIIIII...."
			elseif x >= 0.5
				ps = "IIIII....."
			elseif x >= 0.4
				ps = "IIII......"
			elseif x >= 0.3
				ps = "III......."
			elseif x >= 0.2
				ps = "II........"
			elseif x >= 0.1
				ps = "I........."
			else
				ps = ".........."
			endIf
			string allyorgasms = ps
			int killdrainc = SuH_perk_killdrain.GetValue() as int
			int killdrainl = SuH_perk_killdrainl.GetValue() as int
			float killdrainnsub = 1
			if killdrainl != 0
				killdrainnsub = Math.Floor(((((killdrainl - 1) * 0.3) * 140) * 0.14) + 3)
			endIf
			float killdrainn = Math.Floor((((killdrainl * 0.3) * 140) * 0.14) + 3)
			float killdrainndis = Math.Floor(killdrainn - killdrainnsub)
			float killdrainndos = Math.Floor(killdrainc - killdrainnsub)
			x = (killdrainndos / killdrainndis)
			ps = "....."
			if x >= 0.98
				ps = "IIIIIIIIII"
			elseif x >= 0.9
				ps = "IIIIIIIII."
			elseif x >= 0.8
				ps = "IIIIIIII.."
			elseif x >= 0.7
				ps = "IIIIIII..."
			elseif x >= 0.6
				ps = "IIIIII...."
			elseif x >= 0.5
				ps = "IIIII....."
			elseif x >= 0.4
				ps = "IIII......"
			elseif x >= 0.3
				ps = "III......."
			elseif x >= 0.2
				ps = "II........"
			elseif x >= 0.1
				ps = "I........."
			else
				ps = ".........."
			endIf
			string killdrains = ps
		;end/
		SetCursorFillMode(TOP_TO_BOTTOM)
		;ent/ Left Side
		SetCursorPosition(0)
		AddHeaderOption("Perks")
		perk_orgasm = AddTextOption("Have Orgasm : Rank "+orgasml, orgasms) ;+12 BDSM
		perk_allyorgasm = AddTextOption("Bring Ally To Orgasm : Rank "+allyorgasml, allyorgasms) ;+1000 XP
		perk_absorb = AddTextOption("Absorb Status In Acts : Rank "+absorbl, absorbs) ;+2 BDSM
		perk_sperm = AddTextOption("Consume Sperm : Rank "+sperml, sperms) ;+500 XP
		perk_milk = AddTextOption("Consume Breast Milk : Rank "+milkl, milks) ;+500 XP
		perk_killdrain = AddTextOption("Drain Them To Death : Rank "+killdrainl, killdrains) ;+2 Max Health
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
		;end/
	;end/
	;ent/ Pets
	elseIf (page == "Soul Pets")
		if ftsoul != 1
			debug.MessageBox("This is the Soul Pets MCM, a separate mod fully integrated into Succubus Heart! This MCM allows the summoning of various pets which level through sex acts and combat. If a Soul Pet dies they will de-summmon and lose XP. Check the highlight info and Help MCM for more.")
			ftsoul = 1
		endIf
		;ent/ Variables
			int summonlevel = SuH_PETsummonlevel.GetValue() as int
			int summonxp = SuH_PETsummonxp.GetValue() as int
			int summontill = Math.Floor((summonlevel*1.8) * 40 + 20)
			int summonnext = summontill - summonxp
			int doglevel = SuH_PETdoglevel.GetValue() as int
			int dogeffect = SuH_PETdogeffect.GetValue() as int
			int wolflevel = SuH_PETwolflevel.GetValue() as int
			int wolfeffect = SuH_PETwolfeffect.GetValue() as int
			int horselevel = SuH_PEThorselevel.GetValue() as int
			int horseeffect = SuH_PEThorseeffect.GetValue() as int
			int skeeverlevel = SuH_PETskeeverlevel.GetValue() as int
			int skeevereffect = SuH_PETskeevereffect.GetValue() as int
			int familiarlevel = SuH_PETfamiliarlevel.GetValue() as int
			int familiareffect = SuH_PETfamiliareffect.GetValue() as int
			int bearlevel = SuH_PETbearlevel.GetValue() as int
			int beareffect = SuH_PETbeareffect.GetValue() as int
			int sabrecatlevel = SuH_PETsabrecatlevel.GetValue() as int
			int sabrecateffect = SuH_PETsabrecateffect.GetValue() as int
			int draugrlevel = SuH_PETdraugrlevel.GetValue() as int
			int draugreffect = SuH_PETdraugreffect.GetValue() as int
			int trolllevel = SuH_PETtrolllevel.GetValue() as int
			int trolleffect = SuH_PETtrolleffect.GetValue() as int
			int sprigganlevel = SuH_PETsprigganlevel.GetValue() as int
			int sprigganeffect = SuH_PETsprigganeffect.GetValue() as int
			int horkerlevel = SuH_PEThorkerlevel.GetValue() as int
			int horkereffect = SuH_PEThorkereffect.GetValue() as int
			int falmerlevel = SuH_PETfalmerlevel.GetValue() as int
			int falmereffect = SuH_PETfalmereffect.GetValue() as int
			int huskylevel = SuH_PEThuskylevel.GetValue() as int
			int huskyeffect = SuH_PEThuskyeffect.GetValue() as int
			int bristlelevel = SuH_PETbristlelevel.GetValue() as int
			int bristleeffect = SuH_PETbristleeffect.GetValue() as int
			int seekerlevel = SuH_PETseekerlevel.GetValue() as int
			int seekereffect = SuH_PETseekereffect.GetValue() as int
			int gargoylelevel = SuH_PETgargoylelevel.GetValue() as int
			int gargoyleeffect = SuH_PETgargoyleeffect.GetValue() as int
			int netchlevel = SuH_PETnetchlevel.GetValue() as int
			int netcheffect = SuH_PETnetcheffect.GetValue() as int
			int rieklinglevel = SuH_PETrieklinglevel.GetValue() as int
			int rieklingeffect = SuH_PETrieklingeffect.GetValue() as int
			int spiderlevel = SuH_PETspiderlevel.GetValue() as int
			int spidereffect = SuH_PETspidereffect.GetValue() as int
			string lpetleader = " "
			string ldog
			string lwolf
			string lhorse
			string lskeever
			string lfamiliar
			string lbear
			string lsabrecat
			string ldraugr
			string ltroll
			string lspriggan
			string lhorker
			string lfalmer
			string lhusky
			string lbristle
			string lseeker
			string lgargoyle
			string lnetch
			string lriekling
			string lspider
			string activepet = _Fun.SoulPetActiveIDReturn()
			; level 0
			if activepet == "dog"
				ldog = "Active"
			else
				ldog = "Idle"
			endIf
			; level 4
			if summonlevel > 3
				if activepet == "familiar"
					lfamiliar = "Active"
				else
					lfamiliar = "Idle"
				endIf
				if activepet == "sabrecat"
					lsabrecat = "Active"
				else
					lsabrecat = "Idle"
				endIf
				if activepet == "falmer"
					lfalmer = "Active"
				else
					lfalmer = "Idle"
				endIf
				if activepet == "troll"
					ltroll = "Active"
				else
					ltroll = "Idle"
				endIf
				if activepet == "gargoyle"
					lgargoyle = "Active"
				else
					lgargoyle = "Idle"
				endIf
			endIF
			; level 3
			if summonlevel > 2
				if activepet == "horse"
					lhorse = "Active"
				else
					lhorse = "Idle"
				endIf
				if activepet == "bear"
					lbear = "Active"
				else
					lbear = "Idle"
				endIf
				if activepet == "spriggan"
					lspriggan = "Active"
				else
					lspriggan = "Idle"
				endIf
				if activepet == "horker"
					lhorker = "Active"
				else
					lhorker = "Idle"
				endIf
				if activepet == "husky"
					lhusky = "Active"
				else
					lhusky = "Idle"
				endIf
				if activepet == "seeker"
					lseeker = "Active"
				else
					lseeker = "Idle"
				endIf
			endIF
			; level 2
			if summonlevel > 1
				if activepet == "wolf"
					lwolf = "Active"
				else
					lwolf = "Idle"
				endIf
				if activepet == "draugr"
					ldraugr = "Active"
				else
					ldraugr = "Idle"
				endIf
				; level 1
				if activepet == "bristle"
					lbristle = "Active"
				else
					lbristle = "Idle"
				endIf
				if activepet == "netch"
					lnetch = "Active"
				else
					lnetch = "Idle"
				endIf
				if activepet == "riekling"
					lriekling = "Active"
				else
					lriekling = "Idle"
				endIf
				if activepet == "spider"
					lspider = "Active"
				else
					lspider = "Idle"
				endIf
			endIf
			if summonlevel > 0
				if activepet == "skeever"
					lskeever = "Active"
				else
					lskeever = "Idle"
				endIf
			endIF
		;end/
		
		peteffectlist = new string[6]
		peteffectlist[0] = "No Special Effect"
		peteffectlist[1] = "Damage Target Stamina"
		peteffectlist[2] = "Heal Target Health"
		peteffectlist[3] = "Damage Target Magicka"
		peteffectlist[4] = "Gain HeartXP For Master"
		peteffectlist[5] = "Damage Target Health"
		
		SetCursorFillMode(TOP_TO_BOTTOM)
		;ent/ Left Side
		SetCursorPosition(0)
		AddHeaderOption("Pet Status")
		pet_summonlevel = AddTextOption("Summoner Level", summonlevel)
		AddHeaderOption("Pet Selection")
		pet_dog = AddTextOption("Dog : Level "+doglevel, ldog)
		pet_dogdesire = AddMenuOption("Sex Effect", peteffectlist[dogeffect])
		AddEmptyOption()
		if summonlevel > 1
			pet_wolf = AddTextOption("Wolf : Level "+wolflevel, lwolf)
			pet_wolfdesire = AddMenuOption("Sex Effect", peteffectlist[wolfeffect])
			AddEmptyOption()
		else
			pet_wolf = AddTextOption("Wolf : Locked", " ")
			pet_wolfdesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIf
		if summonlevel > 2
			pet_husky = AddTextOption("Husky : Level "+huskylevel, lhusky)
			pet_huskydesire = AddMenuOption("Sex Effect", peteffectlist[huskyeffect])
			AddEmptyOption()
		else
			pet_husky = AddTextOption("Husky : Locked", " ")
			pet_huskydesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIf
		if summonlevel > 3
			pet_familiar = AddTextOption("Flame Familiar : Level "+familiarlevel, lfamiliar)
			pet_familiardesire = AddMenuOption("Sex Effect", peteffectlist[familiareffect])
			AddEmptyOption()
		else
			pet_familiar = AddTextOption("Flame Familiar : Locked", " ")
			pet_familiardesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIf
		
		if summonlevel > 1
			pet_netch = AddTextOption("Netch : Level "+netchlevel, lnetch)
			pet_netchdesire = AddMenuOption("Sex Effect", peteffectlist[netcheffect])
			AddEmptyOption()
			pet_bristle = AddTextOption("Bristle : Level "+bristlelevel, lbristle)
			pet_bristledesire = AddMenuOption("Sex Effect", peteffectlist[bristleeffect])
			AddEmptyOption()
		else
			pet_netch = AddTextOption("Netch : Locked", " ")
			pet_netchdesire = AddTextOption(" "," ")
			AddEmptyOption()
			pet_bristle = AddTextOption("bristle : Locked", " ")
			pet_bristledesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIf
		if summonlevel > 2
			pet_horse = AddTextOption("Horse : Level "+horselevel, lhorse)
			pet_horsedesire = AddMenuOption("Sex Effect", peteffectlist[horseeffect])
			AddEmptyOption()
			pet_seeker = AddTextOption("Seeker : Level "+seekerlevel, lseeker)
			pet_seekerdesire = AddMenuOption("Sex Effect", peteffectlist[seekereffect])
			AddEmptyOption()
		else
			pet_horse = AddTextOption("Horse : Locked", " ")
			pet_horsedesire = AddTextOption(" "," ")
			AddEmptyOption()
			pet_seeker = AddTextOption("Seeker : Locked", " ")
			pet_seekerdesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIf
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
		AddHeaderOption("Pet Status")
		pet_summonxp = AddTextOption("XP to next...", summonnext)
		;pet_currentleader = AddMenuOption("Pet Leader", petleaderlist[pet_currentleaderindex])
		;pet_leaderdesire = AddTextOption("Leader Desire", leaderdesire)
		AddHeaderOption(" ")
		if summonlevel > 1
			pet_draugr = AddTextOption("Draugr : Level "+draugrlevel, ldraugr)
			pet_draugrdesire = AddMenuOption("Sex Effect", peteffectlist[draugreffect])
			AddEmptyOption()
			pet_riekling = AddTextOption("Riekling : Level "+rieklinglevel, lriekling)
			pet_rieklingdesire = AddMenuOption("Sex Effect", peteffectlist[rieklingeffect])
			AddEmptyOption()
			pet_spider = AddTextOption("Spider : Level "+spiderlevel, lspider)
			pet_spiderdesire = AddMenuOption("Sex Effect", peteffectlist[spidereffect])
			AddEmptyOption()
		else
			pet_draugr = AddTextOption("Draugr : Locked", " ")
			pet_draugrdesire = AddTextOption(" "," ")
			AddEmptyOption()
			pet_riekling = AddTextOption("Riekling : Locked", " ")
			pet_rieklingdesire = AddTextOption(" "," ")
			AddEmptyOption()
			pet_spider = AddTextOption("Spider : Locked", " ")
			pet_spiderdesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIf
		if summonlevel > 2
			pet_spriggan = AddTextOption("Spriggan : Level "+sprigganlevel, lspriggan)
			pet_spriggandesire = AddMenuOption("Sex Effect", peteffectlist[sprigganeffect])
			AddEmptyOption()
		else
			pet_spriggan = AddTextOption("Spriggan : Locked", " ")
			pet_spriggandesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIF
		if summonlevel > 3
			pet_falmer = AddTextOption("Falmer : Level "+falmerlevel, lfalmer)
			pet_falmerdesire = AddMenuOption("Sex Effect", peteffectlist[falmereffect])
			AddEmptyOption()
		else
			pet_falmer = AddTextOption("Falmer : Locked", " ")
			pet_falmerdesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIF
		
		if summonlevel > 0
			pet_skeever = AddTextOption("Skeever : Level "+skeeverlevel, lskeever)
			pet_skeeverdesire = AddMenuOption("Sex Effect", peteffectlist[skeevereffect])
			AddEmptyOption()
		else
			pet_skeever = AddTextOption("Skeever : Locked", " ")
			pet_skeeverdesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIf
		if summonlevel > 2
			pet_bear = AddTextOption("Bear : Level "+bearlevel, lbear)
			pet_beardesire = AddMenuOption("Sex Effect", peteffectlist[beareffect])
			AddEmptyOption()
			pet_horker = AddTextOption("Horker : Level "+horkerlevel, lhorker)
			pet_horkerdesire = AddMenuOption("Sex Effect", peteffectlist[horkereffect])
			AddEmptyOption()
		else
			pet_bear = AddTextOption("Bear : Locked", " ")
			pet_beardesire = AddTextOption(" "," ")
			AddEmptyOption()
			pet_horker = AddTextOption("Horker : Locked", " ")
			pet_horkerdesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIF
		if summonlevel > 3
			pet_sabrecat = AddTextOption("Sabre Cat : Level "+sabrecatlevel, lsabrecat)
			pet_sabrecatdesire = AddMenuOption("Sex Effect", peteffectlist[sabrecateffect])
			AddEmptyOption()
			pet_troll = AddTextOption("Troll : Level "+trolllevel, ltroll)
			pet_trolldesire = AddMenuOption("Sex Effect", peteffectlist[trolleffect])
			AddEmptyOption()
			pet_gargoyle = AddTextOption("Gargoyle : Level "+gargoylelevel, lgargoyle)
			pet_gargoyledesire = AddMenuOption("Sex Effect", peteffectlist[gargoyleeffect])
			AddEmptyOption()
		else
			pet_sabrecat = AddTextOption("Sabre Cat : Locked", " ")
			pet_sabrecatdesire = AddTextOption(" "," ")
			AddEmptyOption()
			pet_troll = AddTextOption("Troll : Locked", " ")
			pet_trolldesire = AddTextOption(" "," ")
			AddEmptyOption()
			pet_gargoyle = AddTextOption("Gargoyle : Locked", " ")
			pet_gargoyledesire = AddTextOption(" "," ")
			AddEmptyOption()
		endIF
		;end/
	;end/
	;ent/ Craft
	elseIf (page == "Craft")
		if ftcraft != 1
			debug.MessageBox("This menu allows the exchange Craft Points for Items. Costs are decreased as the player levels up their crafting ability, however all costs will only decrease a certain amount, depending on the item and it's base values. Craft Points are earned from draining status or using specific items/passives.")
			ftcraft = 1
		endIf
		;ent/
		int craftpoints = SuH_craft_points.GetValue() as int
		int craftlevel = SuH_craft_level.GetValue() as int
		int craftxp = 0
		if craftlevel != 0
			craftxp = Math.Floor((craftlevel * 2000) - SuH_craft_xp.GetValue())
		else
			craftxp = Math.Floor(1000 - SuH_craft_xp.GetValue())
		endIf
		craft_utilitylistcost = new string[1]
		craft_utilitylistcost[0] = ("Lockpick " + _Fun.CRAFTCOSTcalc("Lockpick") + "c")
		craft_weaponlistcost = new string[18]
		craft_weaponlistcost[0] = ("Ebony Greatsword " + _Fun.CRAFTCOSTcalc("Ebony Greatsword") + "c")
		craft_weaponlistcost[1] = ("Ebony Sword " + _Fun.CRAFTCOSTcalc("Ebony Sword") + "c")
		craft_weaponlistcost[2] = ("Ebony Dagger " + _Fun.CRAFTCOSTcalc("Ebony Dagger") + "c")
		craft_weaponlistcost[3] = ("Glass Greatsword " + _Fun.CRAFTCOSTcalc("Glass Greatsword") + "c")
		craft_weaponlistcost[4] = ("Glass Sword " + _Fun.CRAFTCOSTcalc("Glass Sword") + "c")
		craft_weaponlistcost[5] = ("Glass Dagger " + _Fun.CRAFTCOSTcalc("Glass Dagger") + "c")
		craft_weaponlistcost[6] = ("Elven Greatsword " + _Fun.CRAFTCOSTcalc("Elven Greatsword") + "c")
		craft_weaponlistcost[7] = ("Elven Sword " + _Fun.CRAFTCOSTcalc("Elven Sword") + "c")
		craft_weaponlistcost[8] = ("Elven Dagger " + _Fun.CRAFTCOSTcalc("Elven Dagger") + "c")
		craft_weaponlistcost[9] = ("Dwarven Greatsword " + _Fun.CRAFTCOSTcalc("Dwarven Greatsword") + "c")
		craft_weaponlistcost[10] = ("Dwarven Sword " + _Fun.CRAFTCOSTcalc("Dwarven Sword") + "c")
		craft_weaponlistcost[11] = ("Dwarven Dagger " + _Fun.CRAFTCOSTcalc("Dwarven Dagger") + "c")
		craft_weaponlistcost[12] = ("Steel Greatsword " + _Fun.CRAFTCOSTcalc("Steel Greatsword") + "c")
		craft_weaponlistcost[13] = ("Steel Sword " + _Fun.CRAFTCOSTcalc("Steel Sword") + "c")
		craft_weaponlistcost[14] = ("Steel Dagger " + _Fun.CRAFTCOSTcalc("Steel Dagger") + "c")
		craft_weaponlistcost[15] = ("Iron Greatsword " + _Fun.CRAFTCOSTcalc("Iron Greatsword") + "c")
		craft_weaponlistcost[16] = ("Iron Sword " + _Fun.CRAFTCOSTcalc("Iron Sword") + "c")
		craft_weaponlistcost[17] = ("Iron Dagger " + _Fun.CRAFTCOSTcalc("Iron Dagger") + "c")
		craft_lightarmorlistcost = new string[24]
		craft_lightarmorlistcost[0] = ("Dragonscale Armor " + _Fun.CRAFTCOSTcalc("Dragonscale Armor") + "c")
		craft_lightarmorlistcost[1] = ("Dragonscale Helm " + _Fun.CRAFTCOSTcalc("Dragonscale Helm") + "c")
		craft_lightarmorlistcost[2] = ("Dragonscale Gaunts " + _Fun.CRAFTCOSTcalc("Dragonscale Gaunts") + "c")
		craft_lightarmorlistcost[3] = ("Dragonscale Boots " + _Fun.CRAFTCOSTcalc("Dragonscale Boots") + "c")
		craft_lightarmorlistcost[4] = ("Dragonscale Shield " + _Fun.CRAFTCOSTcalc("Dragonscale Shield") + "c")
		craft_lightarmorlistcost[5] = ("Glass Armor " + _Fun.CRAFTCOSTcalc("Glass Armor") + "c")
		craft_lightarmorlistcost[6] = ("Glass Helm " + _Fun.CRAFTCOSTcalc("Glass Helm") + "c")
		craft_lightarmorlistcost[7] = ("Glass Gaunts " + _Fun.CRAFTCOSTcalc("Glass Gaunts") + "c")
		craft_lightarmorlistcost[8] = ("Glass Boots " + _Fun.CRAFTCOSTcalc("Glass Boots") + "c")
		craft_lightarmorlistcost[9] = ("Glass Shield " + _Fun.CRAFTCOSTcalc("Glass Shield") + "c")
		craft_lightarmorlistcost[10] = ("Elven Armor " + _Fun.CRAFTCOSTcalc("Elven Armor") + "c")
		craft_lightarmorlistcost[11] = ("Elven Helm " + _Fun.CRAFTCOSTcalc("Elven Helm") + "c")
		craft_lightarmorlistcost[12] = ("Elven Gaunts " + _Fun.CRAFTCOSTcalc("Elven Gaunts") + "c")
		craft_lightarmorlistcost[13] = ("Elven Boots " + _Fun.CRAFTCOSTcalc("Elven Boots") + "c")
		craft_lightarmorlistcost[14] = ("Elven Shield " + _Fun.CRAFTCOSTcalc("Elven Shield") + "c")
		craft_lightarmorlistcost[15] = ("Leather Armor " + _Fun.CRAFTCOSTcalc("Leather Armor") + "c")
		craft_lightarmorlistcost[16] = ("Leather Helm " + _Fun.CRAFTCOSTcalc("Leather Helm") + "c")
		craft_lightarmorlistcost[17] = ("Leather Gaunts " + _Fun.CRAFTCOSTcalc("Leather Gaunts") + "c")
		craft_lightarmorlistcost[18] = ("Leather Boots " + _Fun.CRAFTCOSTcalc("Leather Boots") + "c")
		craft_lightarmorlistcost[19] = ("Hide Armor " + _Fun.CRAFTCOSTcalc("Hide Armor") + "c")
		craft_lightarmorlistcost[20] = ("Hide Helm " + _Fun.CRAFTCOSTcalc("Hide Helm") + "c")
		craft_lightarmorlistcost[21] = ("Hide Gaunts " + _Fun.CRAFTCOSTcalc("Hide Gaunts") + "c")
		craft_lightarmorlistcost[22] = ("Hide Boots " + _Fun.CRAFTCOSTcalc("Hide Boots") + "c")
		craft_lightarmorlistcost[23] = ("Hide Shield " + _Fun.CRAFTCOSTcalc("Hide Shield") + "c")
		craft_heavyarmorlistcost = new string[25]
		craft_heavyarmorlistcost[0] = ("Dragonplate Armor " + _Fun.CRAFTCOSTcalc("Dragonplate Armor") + "c")
		craft_heavyarmorlistcost[1] = ("Dragonplate Helm " + _Fun.CRAFTCOSTcalc("Dragonplate Helm") + "c")
		craft_heavyarmorlistcost[2] = ("Dragonplate Gaunts " + _Fun.CRAFTCOSTcalc("Dragonplate Gaunts") + "c")
		craft_heavyarmorlistcost[3] = ("Dragonplate Boots " + _Fun.CRAFTCOSTcalc("Dragonplate Boots") + "c")
		craft_heavyarmorlistcost[4] = ("Dragonplate Shield " + _Fun.CRAFTCOSTcalc("Dragonplate Shield") + "c")
		craft_heavyarmorlistcost[5] = ("Ebony Armor " + _Fun.CRAFTCOSTcalc("Ebony Armor") + "c")
		craft_heavyarmorlistcost[6] = ("Ebony Helm " + _Fun.CRAFTCOSTcalc("Ebony Helm") + "c")
		craft_heavyarmorlistcost[7] = ("Ebony Gaunts " + _Fun.CRAFTCOSTcalc("Ebony Gaunts") + "c")
		craft_heavyarmorlistcost[8] = ("Ebony Boots " + _Fun.CRAFTCOSTcalc("Ebony Boots") + "c")
		craft_heavyarmorlistcost[9] = ("Ebony Shield " + _Fun.CRAFTCOSTcalc("Ebony Shield") + "c")
		craft_heavyarmorlistcost[10] = ("Dwarven Armor " + _Fun.CRAFTCOSTcalc("Dwarven Armor") + "c")
		craft_heavyarmorlistcost[11] = ("Dwarven Helm " + _Fun.CRAFTCOSTcalc("Dwarven Helm") + "c")
		craft_heavyarmorlistcost[12] = ("Dwarven Gaunts " + _Fun.CRAFTCOSTcalc("Dwarven Gaunts") + "c")
		craft_heavyarmorlistcost[13] = ("Dwarven Boots " + _Fun.CRAFTCOSTcalc("Dwarven Boots") + "c")
		craft_heavyarmorlistcost[14] = ("Dwarven Shield " + _Fun.CRAFTCOSTcalc("Dwarven Shield") + "c")
		craft_heavyarmorlistcost[15] = ("Steel Armor " + _Fun.CRAFTCOSTcalc("Steel Armor") + "c")
		craft_heavyarmorlistcost[16] = ("Steel Helm " + _Fun.CRAFTCOSTcalc("Steel Helm") + "c")
		craft_heavyarmorlistcost[17] = ("Steel Gaunts " + _Fun.CRAFTCOSTcalc("Steel Gaunts") + "c")
		craft_heavyarmorlistcost[18] = ("Steel Boots " + _Fun.CRAFTCOSTcalc("Steel Boots") + "c")
		craft_heavyarmorlistcost[19] = ("Steel Shield " + _Fun.CRAFTCOSTcalc("Steel Shield") + "c")
		craft_heavyarmorlistcost[20] = ("Iron Armor " + _Fun.CRAFTCOSTcalc("Iron Armor") + "c")
		craft_heavyarmorlistcost[21] = ("Iron Helm " + _Fun.CRAFTCOSTcalc("Iron Helm") + "c")
		craft_heavyarmorlistcost[22] = ("Iron Gaunts " + _Fun.CRAFTCOSTcalc("Iron Gaunts") + "c")
		craft_heavyarmorlistcost[23] = ("Iron Boots " + _Fun.CRAFTCOSTcalc("Iron Boots") + "c")
		craft_heavyarmorlistcost[24] = ("Iron Shield " + _Fun.CRAFTCOSTcalc("Iron Shield") + "c")
		
		craft_utilitylist = new string[1]
		craft_utilitylist[0] = "Lockpick"
		craft_weaponlist = new string[18]
		craft_weaponlist[0] = "Ebony Greatsword"
		craft_weaponlist[1] = "Ebony Sword"
		craft_weaponlist[2] = "Ebony Dagger"
		craft_weaponlist[3] = "Glass Greatsword"
		craft_weaponlist[4] = "Glass Sword"
		craft_weaponlist[5] = "Glass Dagger"
		craft_weaponlist[6] = "Elven Greatsword"
		craft_weaponlist[7] = "Elven Sword"
		craft_weaponlist[8] = "Elven Dagger"
		craft_weaponlist[9] = "Dwarven Greatsword"
		craft_weaponlist[10] = "Dwarven Sword"
		craft_weaponlist[11] = "Dwarven Dagger"
		craft_weaponlist[12] = "Steel Greatsword"
		craft_weaponlist[13] = "Steel Sword"
		craft_weaponlist[14] = "Steel Dagger"
		craft_weaponlist[15] = "Iron Greatsword"
		craft_weaponlist[16] = "Iron Sword"
		craft_weaponlist[17] = "Iron Dagger"
		craft_lightarmorlist = new string[24]
		craft_lightarmorlist[0] = "Dragonscale Armor"
		craft_lightarmorlist[1] = "Dragonscale Helm"
		craft_lightarmorlist[2] = "Dragonscale Gaunts"
		craft_lightarmorlist[3] = "Dragonscale Boots"
		craft_lightarmorlist[4] = "Dragonscale Shield"
		craft_lightarmorlist[5] = "Glass Armor"
		craft_lightarmorlist[6] = "Glass Helm"
		craft_lightarmorlist[7] = "Glass Gaunts"
		craft_lightarmorlist[8] = "Glass Boots"
		craft_lightarmorlist[9] = "Glass Shield"
		craft_lightarmorlist[10] = "Elven Armor"
		craft_lightarmorlist[11] = "Elven Helm"
		craft_lightarmorlist[12] = "Elven Gaunts"
		craft_lightarmorlist[13] = "Elven Boots"
		craft_lightarmorlist[14] = "Elven Shield"
		craft_lightarmorlist[15] = "Leather Armor"
		craft_lightarmorlist[16] = "Leather Helm"
		craft_lightarmorlist[17] = "Leather Gaunts"
		craft_lightarmorlist[18] = "Leather Boots"
		craft_lightarmorlist[19] = "Hide Armor"
		craft_lightarmorlist[20] = "Hide Helm"
		craft_lightarmorlist[21] = "Hide Gaunts"
		craft_lightarmorlist[22] = "Hide Boots"
		craft_lightarmorlist[23] = "Hide Shield"
		craft_heavyarmorlist = new string[25]
		craft_heavyarmorlist[0] = "Dragonplate Armor"
		craft_heavyarmorlist[1] = "Dragonplate Helm"
		craft_heavyarmorlist[2] = "Dragonplate Gaunts"
		craft_heavyarmorlist[3] = "Dragonplate Boots"
		craft_heavyarmorlist[4] = "Dragonplate Shield"
		craft_heavyarmorlist[5] = "Ebony Armor"
		craft_heavyarmorlist[6] = "Ebony Helm"
		craft_heavyarmorlist[7] = "Ebony Gaunts"
		craft_heavyarmorlist[8] = "Ebony Boots"
		craft_heavyarmorlist[9] = "Ebony Shield"
		craft_heavyarmorlist[10] = "Dwarven Armor"
		craft_heavyarmorlist[11] = "Dwarven Helm"
		craft_heavyarmorlist[12] = "Dwarven Gaunts"
		craft_heavyarmorlist[13] = "Dwarven Boots"
		craft_heavyarmorlist[14] = "Dwarven Shield"
		craft_heavyarmorlist[15] = "Steel Armor"
		craft_heavyarmorlist[16] = "Steel Helm"
		craft_heavyarmorlist[17] = "Steel Gaunts"
		craft_heavyarmorlist[18] = "Steel Boots"
		craft_heavyarmorlist[19] = "Steel Shield"
		craft_heavyarmorlist[20] = "Iron Armor"
		craft_heavyarmorlist[21] = "Iron Helm"
		craft_heavyarmorlist[22] = "Iron Gaunts"
		craft_heavyarmorlist[23] = "Iron Boots"
		craft_heavyarmorlist[24] = "Iron Shield"
		;end/
		SetCursorFillMode(TOP_TO_BOTTOM)
		;ent/ Left Side
		SetCursorPosition(0)
		craft_points = AddTextOption("Crafting Points", craftpoints)
		AddEmptyOption()
		AddEmptyOption()
		craft_utility = AddMenuOption("Craft Utility Item", craft_utilitylist[craftitemutility])
		craft_weapon = AddMenuOption("Craft Weapon", craft_weaponlist[craftitemweapon])
		craft_lightarmor = AddMenuOption("Craft Light Armor", craft_lightarmorlist[craftitemlightarmor])
		craft_heavyarmor = AddMenuOption("Craft Heavy Armor", craft_heavyarmorlist[craftitemheavyarmor])
		
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
		craft_level = AddTextOption("Crafting Level", craftlevel)
		craft_xp = AddTextOption("CraftXP to next...", craftxp)
		AddEmptyOption()
		craft_utilitycraft = AddTextOption(craftitemutilityid, _Fun.CRAFTCOSTcalc(craftitemutilityid)+" C")
		craft_weaponcraft = AddTextOption(craftitemweaponid, _Fun.CRAFTCOSTcalc(craftitemweaponid)+" C")
		craft_lightarmorcraft = AddTextOption(craftitemlightarmorid, _Fun.CRAFTCOSTcalc(craftitemlightarmorid)+" C")
		craft_heavyarmorcraft = AddTextOption(craftitemheavyarmorid, _Fun.CRAFTCOSTcalc(craftitemheavyarmorid)+" C")
		;end/
	;end/
	;ent/ Help
	elseIf (page == "Help")
		if fthelp != 1
			debug.MessageBox("This is the Help MCM. Here you can view various bits of info about Succubus Heart and its mechanics as well as a reference list for everything included in the mod. Succubus Heart is fairly complex but no advanced understanding is required to use the mod.")
			fthelp = 1
		endIf
		SetCursorFillMode(TOP_TO_BOTTOM)
		;ent/ Left Side
		SetCursorPosition(0)
		AddHeaderOption("The Basics")
		help_drain = AddTextOption("Drain and it's Effects", " ")
		help_drops = AddTextOption("Sex/Death Drops", " ")
		help_realm = AddTextOption("The Succubus Realm", " ")
		help_xp = AddTextOption("Earning and Spending HeartXP", " ")
		help_sp = AddTextOption("Earning and Spending HeartSP", " ")
		help_bdsm = AddTextOption("BDSM Rating and Passives", " ")
		help_perks = AddTextOption("Upgrading Perks", " ")
		;end/
		;ent/ Right Side
		SetCursorPosition(1)
		AddHeaderOption("Optional Mechanics")
		help_pets = AddTextOption("Soul Pets", " ")
		help_cs = AddTextOption("Combat Seduction", " ")
		help_dom = AddTextOption("Death Override Mode", " ")
		help_craft = AddTextOption("Crafting ", " ")
		AddEmptyOption()
		AddHeaderOption("Advanced Mechanics")
		help_desire = AddTextOption("Desire", " ")
		help_craft = AddTextOption("Craft", " ")
		help_tracking = AddTextOption("Tracking", " ")
		;end/
	;end/
	endIf
endEvent
;end/
;ent/ OnOptionSelect
Event OnOptionSelect(int option)
	;ent/ Status / Settings
	if(CurrentPage == "Status / Settings")
		if(option == status_SETnpcabsorb)
			if SuH_SETnpcabsorb.GetValue()
				SuH_SETnpcabsorb.SetValue(0)
				SetToggleOptionValue(status_SETnpcabsorb, FALSE)
			else
				SuH_SETnpcabsorb.SetValue(1)
				SetToggleOptionValue(status_SETnpcabsorb, TRUE)
			endIf
		elseif(option == status_SETdisablehealthrecovery)
			float x = SuH_SETdisablehealthrecovery.GetValue()
			if x == 0
				float m = PlayerRef.GetBaseActorValue("HealRate")
				PlayerRef.SetActorValue("HealRate", 0.0)
				SuH_SETdisablehealthrecovery.SetValue(m)
				SetToggleOptionValue(status_SETdisablehealthrecovery, True)
			else
				float m = SuH_SETdisablehealthrecovery.GetValue()
				PlayerRef.SetActorValue("HealRate", m)
				SuH_SETdisablehealthrecovery.SetValue(0)
				SetToggleOptionValue(status_SETdisablehealthrecovery, False)
			endIf
		elseif(option == status_SETdisablemagickarecovery)
			float x = SuH_SETdisablemagickarecovery.GetValue()
			if x == 0
				float m = PlayerRef.GetBaseActorValue("MagickaRate")
				PlayerRef.SetActorValue("MagickaRate", 0.0)
				SuH_SETdisablemagickarecovery.SetValue(m)
				SetToggleOptionValue(status_SETdisablemagickarecovery, true)
			else
				float m = SuH_SETdisablemagickarecovery.GetValue()
				PlayerRef.SetActorValue("MagickaRate", m)
				SuH_SETdisablemagickarecovery.SetValue(0)
				SetToggleOptionValue(status_SETdisablemagickarecovery, false)
			endIf
		elseif(option == status_SETdisablestaminarecovery)
			float x = SuH_SETdisablestaminarecovery.GetValue()
			if x == 0
				float m = PlayerRef.GetBaseActorValue("StaminaRate")
				PlayerRef.SetActorValue("StaminaRate", 0.0)
				SuH_SETdisablestaminarecovery.SetValue(m)
				SetToggleOptionValue(status_SETdisablestaminarecovery, true)
			else
				float m = SuH_SETdisablestaminarecovery.GetValue()
				PlayerRef.SetActorValue("StaminaRate", m)
				SuH_SETdisablestaminarecovery.SetValue(0)
				SetToggleOptionValue(status_SETdisablestaminarecovery, false)
			endIf
		elseif(option == status_SETdrainally)
			if SuH_SETdrainally.GetValue()
				SuH_SETdrainally.SetValue(0)
				SetToggleOptionValue(status_SETdrainally, FALSE)
			else
				SuH_SETdrainally.SetValue(1)
				SetToggleOptionValue(status_SETdrainally, TRUE)
			endIf
		elseif(option == status_SETdrainkill)
			if SuH_SETallowdrainkill.GetValue()
				SuH_SETallowdrainkill.SetValue(0)
				SetToggleOptionValue(status_SETdrainkill, FALSE)
			else
				SuH_SETallowdrainkill.SetValue(1)
				SetToggleOptionValue(status_SETdrainkill, TRUE)
			endIf
		elseif(option == status_SETcombatseduction)
			if SuH_SETcombatseduction.GetValue()
				SuH_SETcombatseduction.SetValue(0)
				SetToggleOptionValue(status_SETcombatseduction, FALSE)
			else
				SuH_SETcombatseduction.SetValue(1)
				SetToggleOptionValue(status_SETcombatseduction, TRUE)
			endIf
		elseif(option == status_SETpetspells)
			if playerRef.HasSpell(SuH_spell_petself)
				playerRef.RemoveSpell(SuH_spell_petself)
				playerRef.RemoveSpell(SuH_spell_pettarget)
				SetToggleOptionValue(status_SETpetspells, FALSE)
			else
				playerRef.AddSpell(SuH_spell_petself)
				playerRef.AddSpell(SuH_spell_pettarget)
				SetToggleOptionValue(status_SETpetspells, TRUE)
			endIf
		elseif(option == status_SETallowmalehomo)
			if SuH_SETallowmalehomo.GetValue()
				SuH_SETallowmalehomo.SetValue(0)
				SetToggleOptionValue(status_SETallowmalehomo, FALSE)
			else
				SuH_SETallowmalehomo.SetValue(1)
				SetToggleOptionValue(status_SETallowmalehomo, TRUE)
			endIf
		elseif(option == status_SETallowfemalehomo)
			if SuH_SETallowfemalehomo.GetValue()
				SuH_SETallowfemalehomo.SetValue(0)
				SetToggleOptionValue(status_SETallowfemalehomo, FALSE)
			else
				SuH_SETallowfemalehomo.SetValue(1)
				SetToggleOptionValue(status_SETallowfemalehomo, TRUE)
			endIf
		elseif(option == status_SETessentialacts)
			if SuH_SETessentialacts.GetValue()
				SuH_SETessentialacts.SetValue(0)
				SetToggleOptionValue(status_SETessentialacts, FALSE)
			else
				SuH_SETessentialacts.SetValue(1)
				SetToggleOptionValue(status_SETessentialacts, TRUE)
			endIf
		elseif(option == status_SETconsentdrain)
			if SuH_SETconsentdrain.GetValue()
				SuH_SETconsentdrain.SetValue(0)
				SetToggleOptionValue(status_SETconsentdrain, FALSE)
			else
				SuH_SETconsentdrain.SetValue(1)
				SetToggleOptionValue(status_SETconsentdrain, TRUE)
			endIf
		elseif(option == status_SETdesiredrain)
			if SuH_SETdesiredrain.GetValue()
				SuH_SETdesiredrain.SetValue(0)
				SetToggleOptionValue(status_SETdesiredrain, FALSE)
			else
				SuH_SETdesiredrain.SetValue(1)
				SetToggleOptionValue(status_SETdesiredrain, TRUE)
			endIf
		elseif(option == status_SETdeathdrops)
			if SuH_SETdeathdrops.GetValue()
				SuH_SETdeathdrops.SetValue(0)
				SetToggleOptionValue(status_SETdeathdrops, FALSE)
			else
				SuH_SETdeathdrops.SetValue(1)
				SetToggleOptionValue(status_SETdeathdrops, TRUE)
			endIf
		elseif(option == status_SETalwaysdrainkill)
			if SuH_SETalwaysdrainkill.GetValue()
				SuH_SETalwaysdrainkill.SetValue(0)
				SetToggleOptionValue(status_SETalwaysdrainkill, FALSE)
			else
				SuH_SETalwaysdrainkill.SetValue(1)
				SetToggleOptionValue(status_SETalwaysdrainkill, TRUE)
			endIf
		elseif(option == status_SETspecialdeath)
			if SuH_SETspecialdeath.GetValue()
				PlayerBase.SetEssential(False)
				;PlayerRef.SetNoBleedoutRecovery(True)
				SuH_SETspecialdeath.SetValue(0)
				SetToggleOptionValue(status_SETspecialdeath, FALSE)
			else
				PlayerBase.SetEssential(True)
				SuH_SETspecialdeath.SetValue(1)
				SetToggleOptionValue(status_SETspecialdeath, TRUE)
			endIf
		elseif(option == status_SETsdloseitems)
			if SuH_SETsdloseitems.GetValue()
				SuH_SETsdloseitems.SetValue(0)
				SetToggleOptionValue(status_SETsdloseitems, FALSE)
			else
				SuH_SETsdloseitems.SetValue(1)
				SetToggleOptionValue(status_SETsdloseitems, TRUE)
			endIf
		elseif(option == status_SETsdlosegold)
			if SuH_SETsdlosegold.GetValue()
				SuH_SETsdlosegold.SetValue(0)
				SetToggleOptionValue(status_SETsdlosegold, FALSE)
			else
				SuH_SETsdlosegold.SetValue(1)
				SetToggleOptionValue(status_SETsdlosegold, TRUE)
			endIf
		elseif(option == status_SETsdloseequip)
			if SuH_SETsdloseequip.GetValue()
				SuH_SETsdloseequip.SetValue(0)
				SetToggleOptionValue(status_SETsdloseequip, FALSE)
			else
				SuH_SETsdloseequip.SetValue(1)
				SetToggleOptionValue(status_SETsdloseequip, TRUE)
			endIf
		elseif(option == status_SETrestrictact)
			if SuH_SETrestrictact.GetValue()
				SuH_SETrestrictact.SetValue(0)
				SetToggleOptionValue(status_SETrestrictact, FALSE)
			else
				SuH_SETrestrictact.SetValue(1)
				SetToggleOptionValue(status_SETrestrictact, TRUE)
			endIf
		elseif(option == status_SETrandomdeathspawn)
			if SuH_SETrandomdeathspawn.GetValue()
				SuH_SETrandomdeathspawn.SetValue(0)
				SetToggleOptionValue(status_SETrandomdeathspawn, FALSE)
			else
				SuH_SETrandomdeathspawn.SetValue(1)
				SetToggleOptionValue(status_SETrandomdeathspawn, TRUE)
			endIf
		elseif(option == status_SETinvactmale)
			if SuH_SETinvactmale.GetValue()
				SuH_SETinvactmale.SetValue(0)
				SetToggleOptionValue(status_SETinvactmale, FALSE)
			else
				SuH_SETinvactmale.SetValue(1)
				SetToggleOptionValue(status_SETinvactmale, TRUE)
			endIf
		elseif(option == status_SETinvactfemale)
			if SuH_SETinvactfemale.GetValue()
				SuH_SETinvactfemale.SetValue(0)
				SetToggleOptionValue(status_SETinvactfemale, FALSE)
			else
				SuH_SETinvactfemale.SetValue(1)
				SetToggleOptionValue(status_SETinvactfemale, TRUE)
			endIf
		elseif(option == status_SETinvactmalecreature)
			if SuH_SETinvactmalecreature.GetValue()
				SuH_SETinvactmalecreature.SetValue(0)
				SetToggleOptionValue(status_SETinvactmalecreature, FALSE)
			else
				SuH_SETinvactmalecreature.SetValue(1)
				SetToggleOptionValue(status_SETinvactmalecreature, TRUE)
			endIf
		elseif(option == status_SETinvactfemalecreature)
			if SuH_SETinvactfemalecreature.GetValue()
				SuH_SETinvactfemalecreature.SetValue(0)
				SetToggleOptionValue(status_SETinvactfemalecreature, FALSE)
			else
				SuH_SETinvactfemalecreature.SetValue(1)
				SetToggleOptionValue(status_SETinvactfemalecreature, TRUE)
			endIf
		elseif(option == status_SETclearactor)
			if SuH_SETclearactor.GetValue()
				SuH_SETclearactor.SetValue(0)
				SetToggleOptionValue(status_SETclearactor, FALSE)
			else
				SuH_SETclearactor.SetValue(1)
				SetToggleOptionValue(status_SETclearactor, TRUE)
			endIf
		elseif(option == status_SETcalmaura)
			if SuH_SETcalmaura.GetValue()
				SuH_SETcalmaura.SetValue(0)
				SetToggleOptionValue(status_SETcalmaura, FALSE)
			else
				SuH_SETcalmaura.SetValue(1)
				SetToggleOptionValue(status_SETcalmaura, TRUE)
			endIf
		elseif(option == status_SETadvancedchecking)
			if SuH_SETadvancedchecking.GetValue()
				SuH_SETadvancedchecking.SetValue(0)
				SetToggleOptionValue(status_SETadvancedchecking, FALSE)
			else
				SuH_SETadvancedchecking.SetValue(1)
				SetToggleOptionValue(status_SETadvancedchecking, TRUE)
			endIf
		endIf
	;end/
	;ent/ Skill Levels
	elseIf(CurrentPage == "Skill Levels")
		if(option == skill_alchemy)
			int alchemylvl = SuH_PCSalchemy.GetValue() as int
			if alchemylvl != playerRef.GetBaseActorValue("alchemy")
				int sp = SuH_PCSsp.GetValue() as int
				alchemylvl = playerRef.GetBaseActorValue("alchemy") as int
				int alchemycost = Math.Ceiling(alchemylvl*0.1)
				if sp >= alchemycost
					SuH_PCSalchemy.SetValue(alchemylvl)
					sp -= alchemycost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("alchemy")
					alchemylvl = playerRef.GetBaseActorValue("alchemy") as int
					alchemycost = Math.Ceiling(alchemylvl*0.1)
					SetTextOptionValue(skill_alchemy, alchemylvl+" ["+alchemycost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_alteration)
			int alterationlvl = SuH_PCSalteration.GetValue() as int
			if alterationlvl != playerRef.GetBaseActorValue("alteration")
				int sp = SuH_PCSsp.GetValue() as int
				alterationlvl = playerRef.GetBaseActorValue("alteration") as int
				int alterationcost = Math.Ceiling(alterationlvl*0.1)
				if sp >= alterationcost
					SuH_PCSalteration.SetValue(alterationlvl)
					sp -= alterationcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("alteration")
					alterationlvl = playerRef.GetBaseActorValue("alteration") as int
					alterationcost = Math.Ceiling(alterationlvl*0.1)
					SetTextOptionValue(skill_alteration, alterationlvl+" ["+alterationcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_block)
			int blocklvl = SuH_PCSblock.GetValue() as int
			if blocklvl != playerRef.GetBaseActorValue("block")
				int sp = SuH_PCSsp.GetValue() as int
				blocklvl = playerRef.GetBaseActorValue("block") as int
				int blockcost = Math.Ceiling(blocklvl*0.1)
				if sp >= blockcost
					SuH_PCSblock.SetValue(blocklvl)
					sp -= blockcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("block")
					blocklvl = playerRef.GetBaseActorValue("block") as int
					blockcost = Math.Ceiling(blocklvl*0.1)
					SetTextOptionValue(skill_block, blocklvl+" ["+blockcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_conjuration)
			int conjurationlvl = SuH_PCSconjuration.GetValue() as int
			if conjurationlvl != playerRef.GetBaseActorValue("conjuration")
				int sp = SuH_PCSsp.GetValue() as int
				conjurationlvl = playerRef.GetBaseActorValue("conjuration") as int
				int conjurationcost = Math.Ceiling(conjurationlvl*0.1)
				if sp >= conjurationcost
					SuH_PCSconjuration.SetValue(conjurationlvl)
					sp -= conjurationcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("conjuration")
					conjurationlvl = playerRef.GetBaseActorValue("conjuration") as int
					conjurationcost = Math.Ceiling(conjurationlvl*0.1)
					SetTextOptionValue(skill_conjuration, conjurationlvl+" ["+conjurationcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_destruction)
			int destructionlvl = SuH_PCSdestruction.GetValue() as int
			if destructionlvl != playerRef.GetBaseActorValue("destruction")
				int sp = SuH_PCSsp.GetValue() as int
				destructionlvl = playerRef.GetBaseActorValue("destruction") as int
				int destructioncost = Math.Ceiling(destructionlvl*0.1)
				if sp >= destructioncost
					SuH_PCSdestruction.SetValue(destructionlvl)
					sp -= destructioncost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("destruction")
					destructionlvl = playerRef.GetBaseActorValue("destruction") as int
					destructioncost = Math.Ceiling(destructionlvl*0.1)
					SetTextOptionValue(skill_destruction, destructionlvl+" ["+destructioncost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_enchanting)
			int enchantinglvl = SuH_PCSenchanting.GetValue() as int
			if enchantinglvl != playerRef.GetBaseActorValue("enchanting")
				int sp = SuH_PCSsp.GetValue() as int
				enchantinglvl = playerRef.GetBaseActorValue("enchanting") as int
				int enchantingcost = Math.Ceiling(enchantinglvl*0.1)
				if sp >= enchantingcost
					SuH_PCSenchanting.SetValue(enchantinglvl)
					sp -= enchantingcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("enchanting")
					enchantinglvl = playerRef.GetBaseActorValue("enchanting") as int
					enchantingcost = Math.Ceiling(enchantinglvl*0.1)
					SetTextOptionValue(skill_enchanting, enchantinglvl+" ["+enchantingcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_heavyarmor)
			int heavyarmorlvl = SuH_PCSheavyarmor.GetValue() as int
			if heavyarmorlvl != playerRef.GetBaseActorValue("heavyarmor")
				int sp = SuH_PCSsp.GetValue() as int
				heavyarmorlvl = playerRef.GetBaseActorValue("heavyarmor") as int
				int heavyarmorcost = Math.Ceiling(heavyarmorlvl*0.1)
				if sp >= heavyarmorcost
					SuH_PCSheavyarmor.SetValue(heavyarmorlvl)
					sp -= heavyarmorcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("heavyarmor")
					heavyarmorlvl = playerRef.GetBaseActorValue("heavyarmor") as int
					heavyarmorcost = Math.Ceiling(heavyarmorlvl*0.1)
					SetTextOptionValue(skill_heavyarmor, heavyarmorlvl+" ["+heavyarmorcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_illusion)
			int illusionlvl = SuH_PCSillusion.GetValue() as int
			if illusionlvl != playerRef.GetBaseActorValue("illusion")
				int sp = SuH_PCSsp.GetValue() as int
				illusionlvl = playerRef.GetBaseActorValue("illusion") as int
				int illusioncost = Math.Ceiling(illusionlvl*0.1)
				if sp >= illusioncost
					SuH_PCSillusion.SetValue(illusionlvl)
					sp -= illusioncost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("illusion")
					illusionlvl = playerRef.GetBaseActorValue("illusion") as int
					illusioncost = Math.Ceiling(illusionlvl*0.1)
					SetTextOptionValue(skill_illusion, illusionlvl+" ["+illusioncost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_lightarmor)
			int lightarmorlvl = SuH_PCSlightarmor.GetValue() as int
			if lightarmorlvl != playerRef.GetBaseActorValue("lightarmor")
				int sp = SuH_PCSsp.GetValue() as int
				lightarmorlvl = playerRef.GetBaseActorValue("lightarmor") as int
				int lightarmorcost = Math.Ceiling(lightarmorlvl*0.1)
				if sp >= lightarmorcost
					SuH_PCSlightarmor.SetValue(lightarmorlvl)
					sp -= lightarmorcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("lightarmor")
					lightarmorlvl = playerRef.GetBaseActorValue("lightarmor") as int
					lightarmorcost = Math.Ceiling(lightarmorlvl*0.1)
					SetTextOptionValue(skill_lightarmor, lightarmorlvl+" ["+lightarmorcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_lockpicking)
			int lockpickinglvl = SuH_PCSlockpicking.GetValue() as int
			if lockpickinglvl != playerRef.GetBaseActorValue("lockpicking")
				int sp = SuH_PCSsp.GetValue() as int
				lockpickinglvl = playerRef.GetBaseActorValue("lockpicking") as int
				int lockpickingcost = Math.Ceiling(lockpickinglvl*0.1)
				if sp >= lockpickingcost
					SuH_PCSlockpicking.SetValue(lockpickinglvl)
					sp -= lockpickingcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("lockpicking")
					lockpickinglvl = playerRef.GetBaseActorValue("lockpicking") as int
					lockpickingcost = Math.Ceiling(lockpickinglvl*0.1)
					SetTextOptionValue(skill_lockpicking, lockpickinglvl+" ["+lockpickingcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_marksman)
			int marksmanlvl = SuH_PCSmarksman.GetValue() as int
			if marksmanlvl != playerRef.GetBaseActorValue("marksman")
				int sp = SuH_PCSsp.GetValue() as int
				marksmanlvl = playerRef.GetBaseActorValue("marksman") as int
				int marksmancost = Math.Ceiling(marksmanlvl*0.1)
				if sp >= marksmancost
					SuH_PCSmarksman.SetValue(marksmanlvl)
					sp -= marksmancost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("marksman")
					marksmanlvl = playerRef.GetBaseActorValue("marksman") as int
					marksmancost = Math.Ceiling(marksmanlvl*0.1)
					SetTextOptionValue(skill_marksman, marksmanlvl+" ["+marksmancost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_onehanded)
			int onehandedlvl = SuH_PCSonehanded.GetValue() as int
			if onehandedlvl != playerRef.GetBaseActorValue("onehanded")
				int sp = SuH_PCSsp.GetValue() as int
				onehandedlvl = playerRef.GetBaseActorValue("onehanded") as int
				int onehandedcost = Math.Ceiling(onehandedlvl*0.1)
				if sp >= onehandedcost
					SuH_PCSonehanded.SetValue(onehandedlvl)
					sp -= onehandedcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("onehanded")
					onehandedlvl = playerRef.GetBaseActorValue("onehanded") as int
					onehandedcost = Math.Ceiling(onehandedlvl*0.1)
					SetTextOptionValue(skill_onehanded, onehandedlvl+" ["+onehandedcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_pickpocket)
			int pickpocketlvl = SuH_PCSpickpocket.GetValue() as int
			if pickpocketlvl != playerRef.GetBaseActorValue("pickpocket")
				int sp = SuH_PCSsp.GetValue() as int
				pickpocketlvl = playerRef.GetBaseActorValue("pickpocket") as int
				int pickpocketcost = Math.Ceiling(pickpocketlvl*0.1)
				if sp >= pickpocketcost
					SuH_PCSpickpocket.SetValue(pickpocketlvl)
					sp -= pickpocketcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("pickpocket")
					pickpocketlvl = playerRef.GetBaseActorValue("pickpocket") as int
					pickpocketcost = Math.Ceiling(pickpocketlvl*0.1)
					SetTextOptionValue(skill_pickpocket, pickpocketlvl+" ["+pickpocketcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_restoration)
			int restorationlvl = SuH_PCSrestoration.GetValue() as int
			if restorationlvl != playerRef.GetBaseActorValue("restoration")
				int sp = SuH_PCSsp.GetValue() as int
				restorationlvl = playerRef.GetBaseActorValue("restoration") as int
				int restorationcost = Math.Ceiling(restorationlvl*0.1)
				if sp >= restorationcost
					SuH_PCSrestoration.SetValue(restorationlvl)
					sp -= restorationcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("restoration")
					restorationlvl = playerRef.GetBaseActorValue("restoration") as int
					restorationcost = Math.Ceiling(restorationlvl*0.1)
					SetTextOptionValue(skill_restoration, restorationlvl+" ["+restorationcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_smithing)
			int smithinglvl = SuH_PCSsmithing.GetValue() as int
			if smithinglvl != playerRef.GetBaseActorValue("smithing")
				int sp = SuH_PCSsp.GetValue() as int
				smithinglvl = playerRef.GetBaseActorValue("smithing") as int
				int smithingcost = Math.Ceiling(smithinglvl*0.1)
				if sp >= smithingcost
					SuH_PCSsmithing.SetValue(smithinglvl)
					sp -= smithingcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("smithing")
					smithinglvl = playerRef.GetBaseActorValue("smithing") as int
					smithingcost = Math.Ceiling(smithinglvl*0.1)
					SetTextOptionValue(skill_smithing, smithinglvl+" ["+smithingcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_sneak)
			int sneaklvl = SuH_PCSsneak.GetValue() as int
			if sneaklvl != playerRef.GetBaseActorValue("sneak")
				int sp = SuH_PCSsp.GetValue() as int
				sneaklvl = playerRef.GetBaseActorValue("sneak") as int
				int sneakcost = Math.Ceiling(sneaklvl*0.1)
				if sp >= sneakcost
					SuH_PCSsneak.SetValue(sneaklvl)
					sp -= sneakcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("sneak")
					sneaklvl = playerRef.GetBaseActorValue("sneak") as int
					sneakcost = Math.Ceiling(sneaklvl*0.1)
					SetTextOptionValue(skill_sneak, sneaklvl+" ["+sneakcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_speechcraft)
			int speechcraftlvl = SuH_PCSspeechcraft.GetValue() as int
			if speechcraftlvl != playerRef.GetBaseActorValue("speechcraft")
				int sp = SuH_PCSsp.GetValue() as int
				speechcraftlvl = playerRef.GetBaseActorValue("speechcraft") as int
				int speechcraftcost = Math.Ceiling(speechcraftlvl*0.1)
				if sp >= speechcraftcost
					SuH_PCSspeechcraft.SetValue(speechcraftlvl)
					sp -= speechcraftcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("speechcraft")
					speechcraftlvl = playerRef.GetBaseActorValue("speechcraft") as int
					speechcraftcost = Math.Ceiling(speechcraftlvl*0.1)
					SetTextOptionValue(skill_speechcraft, speechcraftlvl+" ["+speechcraftcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		elseif(option == skill_twohanded)
			int twohandedlvl = SuH_PCStwohanded.GetValue() as int
			if twohandedlvl != playerRef.GetBaseActorValue("twohanded")
				int sp = SuH_PCSsp.GetValue() as int
				twohandedlvl = playerRef.GetBaseActorValue("twohanded") as int
				int twohandedcost = Math.Ceiling(twohandedlvl*0.1)
				if sp >= twohandedcost
					SuH_PCStwohanded.SetValue(twohandedlvl)
					sp -= twohandedcost
					SuH_PCSsp.SetValue(sp)
					Game.IncrementSkill("twohanded")
					twohandedlvl = playerRef.GetBaseActorValue("twohanded") as int
					twohandedcost = Math.Ceiling(twohandedlvl*0.1)
					SetTextOptionValue(skill_twohanded, twohandedlvl+" ["+twohandedcost+" SP]")
					SetTextOptionValue(skill_sp, SuH_PCSsp.GetValue() as int)
				endIf
			else
				debug.MessageBox("Skill Trainer Bug Detected, no SP spent. Level Skill normally to fix.")
			endIf
		endIf
	;end/
	;ent/ Heart Levels
	elseIf(CurrentPage == "Heart Levels")
		if(option == heart_caphealth)
			int xp = SuH_PCSxp.GetValue() as int
			int caphealth = SuH_PCScaphealth.GetValue() as int
			int caphealthitem = SuH_PCScaphealthitem.GetValue() as int
			int caphealthcost = Math.Floor(((caphealth-caphealthitem)*0.12)*15+20)
			if xp >= caphealthcost
				xp -= caphealthcost
				SuH_PCSxp.SetValue(xp)
				SuH_PCScaphealth.SetValue(caphealth+1)
				caphealth = SuH_PCScaphealth.GetValue() as int
				caphealthcost = Math.Floor(((caphealth-caphealthitem)*0.12)*15+20)
				int plvl = PlayerRef.GetLevel() as int
				int caphealthdisplay = Math.Floor((SuH_PCScaphealth.GetValue()+plvl*4) - SuH_PCScaphealthdown.GetValue())
				_Fun.BDSMcalc("b", 1)
				SetTextOptionValue(heart_caphealth, caphealthdisplay+" ["+caphealthcost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_capmagicka)
			int xp = SuH_PCSxp.GetValue() as int
			int capmagicka = SuH_PCScapmagicka.GetValue() as int
			int capmagickaitem = SuH_PCScapmagickaitem.GetValue() as int
			int capmagickacost = Math.Floor(((capmagicka-capmagickaitem)*0.12)*15+20)
			if xp >= capmagickacost
				xp -= capmagickacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCScapmagicka.SetValue(capmagicka+1)
				capmagicka = SuH_PCScapmagicka.GetValue() as int
				capmagickacost = Math.Floor(((capmagicka-capmagickaitem)*0.12)*15+20)
				int plvl = PlayerRef.GetLevel() as int
				int capmagickadisplay = Math.Floor((SuH_PCScapmagicka.GetValue()+plvl*3) - SuH_PCScapmagickadown.GetValue())
				_Fun.BDSMcalc("m", 1)
				SetTextOptionValue(heart_capmagicka, capmagickadisplay+" ["+capmagickacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_capstamina)
			int xp = SuH_PCSxp.GetValue() as int
			int capstamina = SuH_PCScapstamina.GetValue() as int
			int capstaminaitem = SuH_PCScapstaminaitem.GetValue() as int
			int capstaminacost = Math.Floor(((capstamina-capstaminaitem)*0.12)*15+20)
			if xp >= capstaminacost
				xp -= capstaminacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCScapstamina.SetValue(capstamina+1)
				capstamina = SuH_PCScapstamina.GetValue() as int
				capstaminacost = Math.Floor(((capstamina-capstaminaitem)*0.12)*15+20)
				int plvl = PlayerRef.GetLevel() as int
				int capstaminadisplay = Math.Floor((SuH_PCScapstamina.GetValue()+plvl*3) - SuH_PCScapstaminadown.GetValue())
				_Fun.BDSMcalc("s", 1)
				SetTextOptionValue(heart_capstamina, capstaminadisplay+" ["+capstaminacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_stacksex)
			int xp = SuH_PCSxp.GetValue() as int
			int stacksex = SuH_PCSstackmaxsex.GetValue() as int
			int stacksexcost = Math.Floor(stacksex*2.8*240)
			if xp >= stacksexcost
				xp -= stacksexcost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSstackmaxsex.SetValue(stacksex+1)
				stacksex = SuH_PCSstackmaxsex.GetValue() as int
				stacksexcost = Math.Floor(stacksex*2.8*240)
				_Fun.BDSMcalc("d", 5)
				SetTextOptionValue(heart_stacksex, stacksex+" ["+stacksexcost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_stacksperm)
			int xp = SuH_PCSxp.GetValue() as int
			int stacksperm = SuH_PCSstackmaxsperm.GetValue() as int
			int stackspermcost = Math.Floor(stacksperm*2.8*240)
			if xp >= stackspermcost
				xp -= stackspermcost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSstackmaxsperm.SetValue(stacksperm+1)
				stacksperm = SuH_PCSstackmaxsperm.GetValue() as int
				stackspermcost = Math.Floor(stacksperm*2.8*240)
				_Fun.BDSMcalc("d", 5)
				SetTextOptionValue(heart_stacksperm, stacksperm+" ["+stackspermcost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_stackmilk)
			int xp = SuH_PCSxp.GetValue() as int
			int stackmilk = SuH_PCSstackmaxmilk.GetValue() as int
			int stackmilkcost = Math.Floor(stackmilk*2.8*240)
			if xp >= stackmilkcost
				xp -= stackmilkcost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSstackmaxmilk.SetValue(stackmilk+1)
				stackmilk = SuH_PCSstackmaxmilk.GetValue() as int
				stackmilkcost = Math.Floor(stackmilk*2.8*240)
				_Fun.BDSMcalc("d", 5)
				SetTextOptionValue(heart_stackmilk, stackmilk+" ["+stackmilkcost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_absorbhealth)
			int xp = SuH_PCSxp.GetValue() as int
			int absorbhealth = SuH_PCSabsorbhealth.GetValue() as int
			int absorbhealthcost = Math.Floor(absorbhealth*2.2*280)
			if xp >= absorbhealthcost
				xp -= absorbhealthcost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSabsorbhealth.SetValue(absorbhealth+1)
				absorbhealth = SuH_PCSabsorbhealth.GetValue() as int
				absorbhealthcost = Math.Floor(absorbhealth*2.2*280)
				_Fun.BDSMcalc("b", 5)
				SetTextOptionValue(heart_absorbhealth, absorbhealth+" ["+absorbhealthcost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_absorbmagicka)
			int xp = SuH_PCSxp.GetValue() as int
			int absorbmagicka = SuH_PCSabsorbmagicka.GetValue() as int
			int absorbmagickacost = Math.Floor(absorbmagicka*2.2*280)
			if xp >= absorbmagickacost
				xp -= absorbmagickacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSabsorbmagicka.SetValue(absorbmagicka+1)
				absorbmagicka = SuH_PCSabsorbmagicka.GetValue() as int
				absorbmagickacost = Math.Floor(absorbmagicka*2.2*280)
				_Fun.BDSMcalc("m", 5)
				SetTextOptionValue(heart_absorbmagicka, absorbmagicka+" ["+absorbmagickacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_absorbstamina)
			int xp = SuH_PCSxp.GetValue() as int
			int absorbstamina = SuH_PCSabsorbstamina.GetValue() as int
			int absorbstaminacost = Math.Floor(absorbstamina*2.2*280)
			if xp >= absorbstaminacost
				xp -= absorbstaminacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSabsorbstamina.SetValue(absorbstamina+1)
				absorbstamina = SuH_PCSabsorbstamina.GetValue() as int
				absorbstaminacost = Math.Floor(absorbstamina*2.2*280)
				_Fun.BDSMcalc("s", 5)
				SetTextOptionValue(heart_absorbstamina, absorbstamina+" ["+absorbstaminacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_spermhealth)
			int xp = SuH_PCSxp.GetValue() as int
			int spermhealth = SuH_PCSspermhealth.GetValue() as int
			int spermhealthcost = Math.Floor(spermhealth*1.8*200)
			if xp >= spermhealthcost
				xp -= spermhealthcost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSspermhealth.SetValue(spermhealth+1)
				spermhealth = SuH_PCSspermhealth.GetValue() as int
				spermhealthcost = Math.Floor(spermhealth*1.8*200)
				_Fun.BDSMcalc("b", 2)
				SetTextOptionValue(heart_spermhealth, spermhealth+" ["+spermhealthcost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_spermmagicka)
			int xp = SuH_PCSxp.GetValue() as int
			int spermmagicka = SuH_PCSspermmagicka.GetValue() as int
			int spermmagickacost = Math.Floor(spermmagicka*1.8*200)
			if xp >= spermmagickacost
				xp -= spermmagickacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSspermmagicka.SetValue(spermmagicka+1)
				spermmagicka = SuH_PCSspermmagicka.GetValue() as int
				spermmagickacost = Math.Floor(spermmagicka*1.8*200)
				_Fun.BDSMcalc("m", 2)
				SetTextOptionValue(heart_spermmagicka, spermmagicka+" ["+spermmagickacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_spermstamina)
			int xp = SuH_PCSxp.GetValue() as int
			int spermstamina = SuH_PCSspermstamina.GetValue() as int
			int spermstaminacost = Math.Floor(spermstamina*1.8*200)
			if xp >= spermstaminacost
				xp -= spermstaminacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSspermstamina.SetValue(spermstamina+1)
				spermstamina = SuH_PCSspermstamina.GetValue() as int
				spermstaminacost = Math.Floor(spermstamina*1.8*200)
				_Fun.BDSMcalc("s", 2)
				SetTextOptionValue(heart_spermstamina, spermstamina+" ["+spermstaminacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_milkhealth)
			int xp = SuH_PCSxp.GetValue() as int
			int milkhealth = SuH_PCSmilkhealth.GetValue() as int
			int milkhealthcost = Math.Floor(milkhealth*1.8*200)
			if xp >= milkhealthcost
				xp -= milkhealthcost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSmilkhealth.SetValue(milkhealth+1)
				milkhealth = SuH_PCSmilkhealth.GetValue() as int
				milkhealthcost = Math.Floor(milkhealth*1.8*200)
				_Fun.BDSMcalc("b", 2)
				SetTextOptionValue(heart_milkhealth, milkhealth+" ["+milkhealthcost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_milkmagicka)
			int xp = SuH_PCSxp.GetValue() as int
			int milkmagicka = SuH_PCSmilkmagicka.GetValue() as int
			int milkmagickacost = Math.Floor(milkmagicka*1.8*200)
			if xp >= milkmagickacost
				xp -= milkmagickacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSmilkmagicka.SetValue(milkmagicka+1)
				milkmagicka = SuH_PCSmilkmagicka.GetValue() as int
				milkmagickacost = Math.Floor(milkmagicka*1.8*200)
				_Fun.BDSMcalc("m", 2)
				SetTextOptionValue(heart_milkmagicka, milkmagicka+" ["+milkmagickacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_milkstamina)
			int xp = SuH_PCSxp.GetValue() as int
			int milkstamina = SuH_PCSmilkstamina.GetValue() as int
			int milkstaminacost = Math.Floor(milkstamina*1.8*200)
			if xp >= milkstaminacost
				xp -= milkstaminacost
				SuH_PCSxp.SetValue(xp)
				SuH_PCSmilkstamina.SetValue(milkstamina+1)
				milkstamina = SuH_PCSmilkstamina.GetValue() as int
				milkstaminacost = Math.Floor(milkstamina*1.8*200)
				_Fun.BDSMcalc("s", 2)
				SetTextOptionValue(heart_milkstamina, milkstamina+" ["+milkstaminacost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		elseif(option == heart_xpgain)
			int xp = SuH_PCSxp.GetValue() as int
			int xpgain = SuH_PCSxpgain.GetValue() as int
			int xpgainitem = SuH_PCSxpgainitem.GetValue() as int
			int xpgaincost = Math.Floor(((xpgain - (99+xpgainitem))*2.0*350)*0.5)
			if xp >= xpgaincost
				xp -= xpgaincost
				SuH_PCSxp.SetValue(xp)
				xpgain += 2
				SuH_PCSxpgain.SetValue(xpgain)
				int xpgaindisplay = xpgain
				xpgaincost = Math.Floor(((xpgain - (99+xpgainitem))*2.0*350)*0.5)
				_Fun.BDSMcalc("d", 10)
				SetTextOptionValue(heart_xpgain, xpgaindisplay+"% ["+xpgaincost+" XP]")
				SetTextOptionValue(heart_xp, xp)
			endIf
		endIf
	;end/
	;ent/ Passives
	elseIf(CurrentPage == "Passives") ; NOTE T1=12 T2=24 T3=30
				int xp = SuH_PCSxp.GetValue() as int
				int b = SuH_PCSbpoint.GetValue() as int
				int d = SuH_PCSdpoint.GetValue() as int
				int s = SuH_PCSspoint.GetValue() as int
				int m = SuH_PCSmpoint.GetValue() as int
				int bdsm = SuH_PCSbdsm.GetValue() as int
				int bdsmspecial = SuH_PCSbdsmspecial.GetValue() as int
		if(option == spell_xp)
				int bdsmrank = SuH_rank_bdsm.GetValue() as int
				int bdsmrankcost = Math.Floor((1200*bdsmrank)*1.6+1200)
			if xp >= bdsmrankcost
				b += 5
				d += 5
				s += 5
				m += 5
				bdsm += 20
				SuH_PCSbpoint.SetValue(b)
				SuH_PCSdpoint.SetValue(d)
				SuH_PCSspoint.SetValue(s)
				SuH_PCSmpoint.SetValue(m)
				SuH_PCSbdsm.SetValue(bdsm)
				xp -= bdsmrankcost
				SuH_PCSxp.SetValue(xp)
				bdsmrank += 1
				SuH_rank_bdsm.SetValue(bdsmrank)
				bdsmrankcost = Math.Floor((1200*bdsmrank)*1.6+1200)
				;debug.MessageBox("BodyDesireSoulMind Rating has been increased!")
				SetTextOptionValue(spell_xp, bdsmrankcost+" XP")
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
			endIf
		elseif(option == spell_reset)
			_Fun.PassiveReset()
			;Utility.wait(0.01)
			ForcePageReset()
		elseif(option == spell_perfectorgasmrank)
				int perfectorgasmrank = SuH_rank_perfectorgasm.GetValue() as int
				int perfectorgasmrank2 = SuH_rank_perfectorgasm2.GetValue() as int
				int perfectorgasmrankall = perfectorgasmrank + perfectorgasmrank2
				int perfectorgasmcost = Math.Floor(12+(perfectorgasmrankall*0.1*12))
			if	perfectorgasmrank >= 95
				debug.MessageBox("Perfect Orgasm has reached its max rank on this path!")
			elseif bdsm >= perfectorgasmcost
				d += perfectorgasmcost
				bdsm -= perfectorgasmcost
				SuH_PCSdpoint.SetValue(d)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				perfectorgasmrank += 1
				SuH_rank_perfectorgasm.SetValue(perfectorgasmrank)
				perfectorgasmrankall = perfectorgasmrank + perfectorgasmrank2
				perfectorgasmcost = Math.Floor(12+(perfectorgasmrankall*0.1*12))
				SetTextOptionValue(spell_perfectorgasm, "rank "+ perfectorgasmrankall)
				SetTextOptionValue(spell_perfectorgasmrank, perfectorgasmcost)
				SetTextOptionValue(spell_perfectorgasmrank2, perfectorgasmcost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endIf
		elseif(option == spell_perfectorgasmrank2)
				int perfectorgasmrank = SuH_rank_perfectorgasm.GetValue() as int
				int perfectorgasmrank2 = SuH_rank_perfectorgasm2.GetValue() as int
				int perfectorgasmrankall = perfectorgasmrank + perfectorgasmrank2
				int perfectorgasmcost = Math.Floor(12+(perfectorgasmrankall*0.1*12))
			if	perfectorgasmrank2 >= 20
				debug.MessageBox("Perfect Orgasm has reached its max rank on this path!")
			elseif (SuH_PCScaphealth.GetValue() - SuH_PCScaphealthdown.GetValue()) < 11
				debug.MessageBox("Not enough Health Cap to sustain a passive increase")
			elseif (SuH_PCScapmagicka.GetValue() - SuH_PCScapmagickadown.GetValue()) < 11
				debug.MessageBox("Not enough Magicka Cap to sustain a passive increase")
			elseif (SuH_PCScapstamina.GetValue() - SuH_PCScapstaminadown.GetValue()) < 11
				debug.MessageBox("Not enough Stamina Cap to sustain a passive increase")
			elseif bdsm >= perfectorgasmcost
				d += perfectorgasmcost
				bdsm -= perfectorgasmcost
				SuH_PCSdpoint.SetValue(d)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				perfectorgasmrank2 += 1
				SuH_rank_perfectorgasm2.SetValue(perfectorgasmrank2)
				int x = Math.Floor(SuH_PCScaphealthdown.GetValue() + 10)
				SuH_PCScaphealthdown.SetValue(x)
				x = Math.Floor(SuH_PCScapmagickadown.GetValue() + 10)
				SuH_PCScapmagickadown.SetValue(x)
				x = Math.Floor(SuH_PCScapstaminadown.GetValue() + 10)
				SuH_PCScapstaminadown.SetValue(x)
				perfectorgasmrankall = perfectorgasmrank + perfectorgasmrank2
				perfectorgasmcost = Math.Floor(12+(perfectorgasmrankall*0.1*12))
				SetTextOptionValue(spell_perfectorgasm, "rank "+ perfectorgasmrankall)
				SetTextOptionValue(spell_perfectorgasmrank, perfectorgasmcost)
				SetTextOptionValue(spell_perfectorgasmrank2, perfectorgasmcost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endIf
		elseif(option == spell_lusciousliquidsrank)
				int lusciousliquidsrank = SuH_rank_lusciousliquids.GetValue() as int
				int lusciousliquidsrank2 = SuH_rank_lusciousliquids2.GetValue() as int
				int lusciousliquidsrankall = lusciousliquidsrank + lusciousliquidsrank2
				int lusciousliquidscost = Math.Floor(24+(lusciousliquidsrankall*0.1*24))
			if bdsm >= lusciousliquidscost
				s += lusciousliquidscost
				bdsm -= lusciousliquidscost
				SuH_PCSspoint.SetValue(s)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				lusciousliquidsrank += 1
				SuH_rank_lusciousliquids.SetValue(lusciousliquidsrank)
				lusciousliquidsrankall = lusciousliquidsrank + lusciousliquidsrank2
				lusciousliquidscost = Math.Floor(24+(lusciousliquidsrankall*0.1*24))
				SetTextOptionValue(spell_lusciousliquids, "rank "+ lusciousliquidsrankall)
				SetTextOptionValue(spell_lusciousliquidsrank, lusciousliquidscost)
				SetTextOptionValue(spell_lusciousliquidsrank2, lusciousliquidscost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endIf
		elseif(option == spell_lusciousliquidsrank2)
				int lusciousliquidsrank = SuH_rank_lusciousliquids.GetValue() as int
				int lusciousliquidsrank2 = SuH_rank_lusciousliquids2.GetValue() as int
				int lusciousliquidsrankall = lusciousliquidsrank + lusciousliquidsrank2
				int lusciousliquidscost = Math.Floor(24+(lusciousliquidsrankall*0.1*24))
			if bdsm >= lusciousliquidscost
				m += lusciousliquidscost
				bdsm -= lusciousliquidscost
				SuH_PCSmpoint.SetValue(m)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				lusciousliquidsrank2 += 1
				SuH_rank_lusciousliquids2.SetValue(lusciousliquidsrank2)
				lusciousliquidsrankall = lusciousliquidsrank + lusciousliquidsrank2
				lusciousliquidscost = Math.Floor(24+(lusciousliquidsrankall*0.1*24))
				SetTextOptionValue(spell_lusciousliquids, "rank "+ lusciousliquidsrankall)
				SetTextOptionValue(spell_lusciousliquidsrank, lusciousliquidscost)
				SetTextOptionValue(spell_lusciousliquidsrank2, lusciousliquidscost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endIf
		elseif(option == spell_masochistrank)
				int masochistrank = SuH_rank_masochist.GetValue() as int
				int masochistrank2 = SuH_rank_masochist2.GetValue() as int
				int masochistrankall = masochistrank + masochistrank2
				int masochistcost = Math.Floor(12+(masochistrankall*0.1*12))
			if bdsm >= masochistcost
				b += masochistcost
				bdsm -= masochistcost
				SuH_PCSbpoint.SetValue(b)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				masochistrank += 1
				SuH_rank_masochist.SetValue(masochistrank)
				masochistrankall = masochistrank + masochistrank2
				masochistcost = Math.Floor(12+(masochistrankall*0.1*12))
				SetTextOptionValue(spell_masochist, "rank "+masochistrankall)
				SetTextOptionValue(spell_masochistrank, masochistcost)
				SetTextOptionValue(spell_masochistrank2, masochistcost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_masochistrank2)
				int masochistrank = SuH_rank_masochist.GetValue() as int
				int masochistrank2 = SuH_rank_masochist2.GetValue() as int
				int masochistrankall = masochistrank + masochistrank2
				int masochistcost = Math.Floor(12+(masochistrankall*0.1*12))
			if bdsm >= masochistcost
				s += masochistcost
				bdsm -= masochistcost
				SuH_PCSspoint.SetValue(s)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				masochistrank2 += 1
				SuH_rank_masochist2.SetValue(masochistrank2)
				masochistrankall = masochistrank + masochistrank2
				masochistcost = Math.Floor(12+(masochistrankall*0.1*12))
				SetTextOptionValue(spell_masochist, "rank "+masochistrankall)
				SetTextOptionValue(spell_masochistrank, masochistcost)
				SetTextOptionValue(spell_masochistrank2, masochistcost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_selfstackerrank)
				int selfstackerrank = SuH_rank_selfstacker.GetValue() as int
				int selfstackercost = Math.Floor(30+(selfstackerrank*0.1*30))
			if bdsm >= selfstackercost
				d += selfstackercost
				bdsm -= selfstackercost
				SuH_PCSdpoint.SetValue(d)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				selfstackerrank += 1
				SuH_rank_selfstacker.SetValue(selfstackerrank)
				selfstackercost = Math.Floor(30+(selfstackerrank*0.1*30))
				SetTextOptionValue(spell_selfstacker, "rank "+selfstackerrank)
				SetTextOptionValue(spell_selfstackerrank, selfstackercost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_valuestackerrank)
				int valuestackerrank = SuH_rank_valuestacker.GetValue() as int
				int valuestackercost = Math.Floor(30+(valuestackerrank*0.1*30))
			if bdsm >= valuestackercost
				d += valuestackercost
				bdsm -= valuestackercost
				SuH_PCSdpoint.SetValue(d)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				valuestackerrank += 1
				SuH_rank_valuestacker.SetValue(valuestackerrank)
				valuestackercost = Math.Floor(30+(valuestackerrank*0.1*30))
				SetTextOptionValue(spell_valuestacker, "rank "+valuestackerrank)
				SetTextOptionValue(spell_valuestackerrank, valuestackercost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_savingessencerank)
				int savingessencerank = SuH_rank_savingessence.GetValue() as int
				int savingessencerank2 = SuH_rank_savingessence2.GetValue() as int
				int savingessencerankall = savingessencerank + savingessencerank2
				int savingessencecost = Math.Floor(30+(savingessencerankall*0.1*30))
			if bdsm >= savingessencecost
				b += savingessencecost
				bdsm -= savingessencecost
				SuH_PCSbpoint.SetValue(b)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				savingessencerank += 1
				savingessencerankall += 1
				SuH_rank_savingessence.SetValue(savingessencerank)
				savingessencecost = Math.Floor(30+(savingessencerankall*0.1*30))
				SetTextOptionValue(spell_savingessence, "rank "+savingessencerankall)
				SetTextOptionValue(spell_savingessencerank, savingessencecost)
				SetTextOptionValue(spell_savingessencerank2, savingessencecost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_savingessencerank2)
				int savingessencerank = SuH_rank_savingessence.GetValue() as int
				int savingessencerank2 = SuH_rank_savingessence2.GetValue() as int
				int savingessencerankall = savingessencerank + savingessencerank2
				int savingessencecost = Math.Floor(30+(savingessencerankall*0.1*30))
			if savingessencerank2 >= 19
				debug.MessageBox("Saving Essence has reached its max rank on this path!")
			elseif bdsm >= savingessencecost
				m += savingessencecost
				bdsm -= savingessencecost
				SuH_PCSmpoint.SetValue(m)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				savingessencerank2 += 1
				savingessencerankall += 1
				SuH_rank_savingessence2.SetValue(savingessencerank2)
				savingessencecost = Math.Floor(30+(savingessencerankall*0.1*30))
				SetTextOptionValue(spell_savingessence, "rank "+savingessencerankall)
				SetTextOptionValue(spell_savingessencerank, savingessencecost)
				SetTextOptionValue(spell_savingessencerank2, savingessencecost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_giftedconsentrank)
				int giftedconsentrank = SuH_rank_giftedconsent.GetValue() as int
				int giftedconsentcost = Math.Floor(12+(giftedconsentrank*0.1*12))
			if bdsm >= giftedconsentcost
				m += giftedconsentcost
				bdsm -= giftedconsentcost
				SuH_PCSmpoint.SetValue(m)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				giftedconsentrank += 1
				SuH_rank_giftedconsent.SetValue(giftedconsentrank)
				giftedconsentcost = Math.Floor(12+(giftedconsentrank*0.1*12))
				SetTextOptionValue(spell_giftedconsent, "rank "+giftedconsentrank)
				SetTextOptionValue(spell_giftedconsentrank, giftedconsentcost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_forcemasterrank)
				int forcemasterrank = SuH_rank_forcemaster.GetValue() as int
				int forcemastercost = Math.Floor(30+(forcemasterrank*0.1*30))
			if forcemasterrank >= 49
				debug.MessageBox("Force Master has reached its max rank!")
			elseif bdsm >= forcemastercost
				m += forcemastercost
				bdsm -= forcemastercost
				SuH_PCSmpoint.SetValue(m)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				forcemasterrank += 1
				SuH_rank_forcemaster.SetValue(forcemasterrank)
				forcemastercost = Math.Floor(30+(forcemasterrank*0.1*30))
				SetTextOptionValue(spell_forcemaster, "rank "+forcemasterrank)
				SetTextOptionValue(spell_forcemasterrank, forcemastercost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_deviouspartnerrank)
				int deviouspartnerrank = SuH_rank_deviouspartner.GetValue() as int
				int deviouspartnerrank2 = SuH_rank_deviouspartner2.GetValue() as int
				int deviouspartnerrankall = deviouspartnerrank + deviouspartnerrank2
				int deviouspartnercost = Math.Floor(24+(deviouspartnerrankall*0.1*24))
			if bdsm >= deviouspartnercost
				s += deviouspartnercost
				bdsm -= deviouspartnercost
				SuH_PCSspoint.SetValue(s)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				deviouspartnerrank += 1
				deviouspartnerrankall += 1
				SuH_rank_deviouspartner.SetValue(deviouspartnerrank)
				deviouspartnercost = Math.Floor(24+(deviouspartnerrankall*0.1*24))
				SetTextOptionValue(spell_deviouspartner, "rank "+deviouspartnerrankall)
				SetTextOptionValue(spell_deviouspartnerrank, deviouspartnercost)
				SetTextOptionValue(spell_deviouspartnerrank2, deviouspartnercost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_deviouspartnerrank2)
				int deviouspartnerrank = SuH_rank_deviouspartner.GetValue() as int
				int deviouspartnerrank2 = SuH_rank_deviouspartner2.GetValue() as int
				int deviouspartnerrankall = deviouspartnerrank + deviouspartnerrank2
				int deviouspartnercost = Math.Floor(24+(deviouspartnerrankall*0.1*24))
			if (SuH_PCScapstamina.GetValue() - SuH_PCScapstaminadown.GetValue()) < 21
				debug.MessageBox("Not enough Stamina Cap to sustain a passive increase")
			elseif bdsm >= deviouspartnercost
				m += deviouspartnercost
				bdsm -= deviouspartnercost
				SuH_PCSmpoint.SetValue(m)
				SuH_PCSbdsm.SetValue(bdsm)
				SuH_PCScapstaminadown.SetValue(SuH_PCScapstaminadown.GetValue() + 20)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				deviouspartnerrank2 += 1
				deviouspartnerrankall += 1
				SuH_rank_deviouspartner2.SetValue(deviouspartnerrank2)
				deviouspartnercost = Math.Floor(24+(deviouspartnerrankall*0.1*24))
				SetTextOptionValue(spell_deviouspartner, "rank "+deviouspartnerrankall)
				SetTextOptionValue(spell_deviouspartnerrank, deviouspartnercost)
				SetTextOptionValue(spell_deviouspartnerrank2, deviouspartnercost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_formalbeautyrank)
				int formalbeautyrank = SuH_rank_formalbeauty.GetValue() as int
				int formalbeautyrank2 = SuH_rank_formalbeauty2.GetValue() as int
				int formalbeautyrankall = formalbeautyrank + formalbeautyrank2
				int formalbeautycost = Math.Floor(24+(formalbeautyrankall*0.1*24))
			if bdsm >= formalbeautycost
				bdsm -= formalbeautycost
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				formalbeautyrank += 1
				formalbeautyrankall += 1
				SuH_rank_formalbeauty.SetValue(formalbeautyrank)
				formalbeautycost = Math.Floor(24+(formalbeautyrankall*0.1*24))
				SetTextOptionValue(spell_formalbeauty, "rank "+formalbeautyrankall)
				SetTextOptionValue(spell_formalbeautyrank, formalbeautycost)
				SetTextOptionValue(spell_formalbeautyrank2, formalbeautycost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_formalbeautyrank2)
				int formalbeautyrank = SuH_rank_formalbeauty.GetValue() as int
				int formalbeautyrank2 = SuH_rank_formalbeauty2.GetValue() as int
				int formalbeautyrankall = formalbeautyrank + formalbeautyrank2
				int formalbeautycost = Math.Floor(24+(formalbeautyrankall*0.1*24))
			if formalbeautyrank2 > 14
				debug.MessageBox("Frequency is already capped!")
			elseif bdsm >= formalbeautycost
				bdsm -= formalbeautycost
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				formalbeautyrank2 += 1
				formalbeautyrankall += 1
				SuH_rank_formalbeauty2.SetValue(formalbeautyrank2)
				formalbeautycost = Math.Floor(24+(formalbeautyrankall*0.1*24))
				SetTextOptionValue(spell_formalbeauty, "rank "+formalbeautyrankall)
				SetTextOptionValue(spell_formalbeautyrank, formalbeautycost)
				SetTextOptionValue(spell_formalbeautyrank2, formalbeautycost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_seducerrank)
				int seducerrank = SuH_rank_seducer.GetValue() as int
				int seducercost = Math.Floor(30+(seducerrank*0.1*30))
			if seducerrank >= 18
				debug.MessageBox("Cost Down has reached its max rank!")
			elseif bdsm >= seducercost
				m += seducercost
				bdsm -= seducercost
				SuH_PCSmpoint.SetValue(m)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				seducerrank += 1
				SuH_rank_seducer.SetValue(seducerrank)
				seducercost = Math.Floor(30+(seducerrank*0.1*30))
				SetTextOptionValue(spell_seducer, "rank "+seducerrank)
				SetTextOptionValue(spell_seducerrank, seducercost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_regalglowrank)
				int regalglowrank = SuH_rank_regalglow.GetValue() as int
				int regalglowcost = Math.Floor(24+(regalglowrank*0.1*24))
			if bdsm >= regalglowcost
				b += regalglowcost
				bdsm -= regalglowcost
				SuH_PCSbpoint.SetValue(b)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				regalglowrank += 1
				SuH_rank_regalglow.SetValue(regalglowrank)
				regalglowcost = Math.Floor(24+(regalglowrank*0.1*24))
				SetTextOptionValue(spell_regalglow, "rank "+ regalglowrank)
				SetTextOptionValue(spell_regalglowrank, regalglowcost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endIf
		elseif(option == spell_violencerank)
				int violencerank = SuH_rank_violence.GetValue() as int
				int violencerank2 = SuH_rank_violence2.GetValue() as int
				int violencerank3 = SuH_rank_violence3.GetValue() as int
				int violencerankall = violencerank + violencerank2 + violencerank3
				int violencecost = Math.Floor(30+(violencerankall*0.1*30))
			if bdsm >= violencecost
				b += violencecost
				bdsm -= violencecost
				SuH_PCSbpoint.SetValue(b)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				violencerank += 1
				violencerankall += 1
				SuH_rank_violence.SetValue(violencerank)
				violencecost = Math.Floor(30+(violencerankall*0.1*30))
				SetTextOptionValue(spell_violence, "rank "+violencerankall)
				SetTextOptionValue(spell_violencerank, violencecost)
				SetTextOptionValue(spell_violencerank2, violencecost)
				SetTextOptionValue(spell_violencerank3, violencecost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_violencerank2)
				int violencerank = SuH_rank_violence.GetValue() as int
				int violencerank2 = SuH_rank_violence2.GetValue() as int
				int violencerank3 = SuH_rank_violence3.GetValue() as int
				int violencerankall = violencerank + violencerank2 + violencerank3
				int violencecost = Math.Floor(30+(violencerankall*0.1*30))
			if bdsm >= violencecost
				b += violencecost
				bdsm -= violencecost
				SuH_PCSbpoint.SetValue(b)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				violencerank2 += 1
				violencerankall += 1
				SuH_rank_violence2.SetValue(violencerank2)
				violencecost = Math.Floor(30+(violencerankall*0.1*30))
				SetTextOptionValue(spell_violence, "rank "+violencerankall)
				SetTextOptionValue(spell_violencerank, violencecost)
				SetTextOptionValue(spell_violencerank2, violencecost)
				SetTextOptionValue(spell_violencerank3, violencecost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_violencerank3)
				int violencerank = SuH_rank_violence.GetValue() as int
				int violencerank2 = SuH_rank_violence2.GetValue() as int
				int violencerank3 = SuH_rank_violence3.GetValue() as int
				int violencerankall = violencerank + violencerank2 + violencerank3
				int violencecost = Math.Floor(30+(violencerankall*0.1*30))
			if bdsm >= violencecost
				b += violencecost
				bdsm -= violencecost
				SuH_PCSbpoint.SetValue(b)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				violencerank3 += 1
				violencerankall += 1
				SuH_rank_violence3.SetValue(violencerank3)
				violencecost = Math.Floor(30+(violencerankall*0.1*30))
				SetTextOptionValue(spell_violence, "rank "+violencerankall)
				SetTextOptionValue(spell_violencerank, violencecost)
				SetTextOptionValue(spell_violencerank2, violencecost)
				SetTextOptionValue(spell_violencerank3, violencecost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endif
		elseif(option == spell_healthyabsorberrank)
				int healthyabsorberrank = SuH_rank_healthyabsorber.GetValue() as int
				int healthyabsorbercost = Math.Floor(24+(healthyabsorberrank*0.1*24))
			if bdsm >= healthyabsorbercost
				d += healthyabsorbercost
				bdsm -= healthyabsorbercost
				SuH_PCSbpoint.SetValue(d)
				SuH_PCSbdsm.SetValue(bdsm)
				string Lbdsmrating = " "
				if d >= b && d >= s && d >= m
					Lbdsmrating = "Desire"
					SuH_PCSbdsmspecial.SetValue(2)
				elseif b >= s && b >= m
					Lbdsmrating = "Body"
					SuH_PCSbdsmspecial.SetValue(1)
				elseif s >= m
					Lbdsmrating = "Soul"
					SuH_PCSbdsmspecial.SetValue(3)
				else
					Lbdsmrating = "Mind"
					SuH_PCSbdsmspecial.SetValue(4)
				endIf
				SetTextOptionValue(spell_point, bdsm+" ["+Lbdsmrating+"]")
				healthyabsorberrank += 1
				SuH_rank_healthyabsorber.SetValue(healthyabsorberrank)
				healthyabsorbercost = Math.Floor(24+(healthyabsorberrank*0.1*24))
				SetTextOptionValue(spell_healthyabsorber, "rank "+ healthyabsorberrank)
				SetTextOptionValue(spell_healthyabsorberrank, healthyabsorbercost)
				int passiveresetcost = passiveresetcostcalc()
				SetTextOptionValue(spell_reset, passiveresetcost)
			endIf
		endIf
	;end/
	;ent/ Soul Pets
	elseif(CurrentPage == "Soul Pets")
		string sumpet = "none"
		if(option == pet_bear && SuH_PETbearunlock.GetValue())
			sumpet = "bear"
		elseif(option == pet_bristle && SuH_PETbristleunlock.GetValue())
			sumpet = "bristle"
		elseif(option == pet_dog && SuH_PETdogunlock.GetValue())
			sumpet = "dog"
		elseif(option == pet_draugr && SuH_PETdraugrunlock.GetValue())
			sumpet = "draugr"
		elseif(option == pet_falmer && SuH_PETfalmerunlock.GetValue())
			sumpet = "falmer"
		elseif(option == pet_familiar && SuH_PETfamiliarunlock.GetValue())
			sumpet = "familiar"
		elseif(option == pet_gargoyle && SuH_PETgargoyleunlock.GetValue())
			sumpet = "gargoyle"
		elseif(option == pet_horker && SuH_PEThorkerunlock.GetValue())
			sumpet = "horker"
		elseif(option == pet_horse && SuH_PEThorseunlock.GetValue())
			sumpet = "horse"
		elseif(option == pet_husky && SuH_PEThuskyunlock.GetValue())
			sumpet = "husky"
		elseif(option == pet_netch && SuH_PETnetchunlock.GetValue())
			sumpet = "netch"
		elseif(option == pet_riekling && SuH_PETrieklingunlock.GetValue())
			sumpet = "riekling"
		elseif(option == pet_sabrecat && SuH_PETsabrecatunlock.GetValue())
			sumpet = "sabrecat"
		elseif(option == pet_seeker && SuH_PETseekerunlock.GetValue())
			sumpet = "seeker"
		elseif(option == pet_skeever && SuH_PETskeeverunlock.GetValue())
			sumpet = "skeever"
		elseif(option == pet_spider && SuH_PETspiderunlock.GetValue())
			sumpet = "spider"
		elseif(option == pet_spriggan && SuH_PETsprigganunlock.GetValue())
			sumpet = "spriggan"
		elseif(option == pet_troll && SuH_PETtrollunlock.GetValue())
			sumpet = "troll"
		elseif(option == pet_wolf && SuH_PETwolfunlock.GetValue())
			sumpet = "wolf"
		endIf	
		if sumpet != "none"
			_Fun.SoulPetSummon(sumpet)
			debug.MessageBox("Pet has been returned to the Succubus Realm")
			ForcePageReset()
		endIf
	;end/
	;ent/ Craft
	elseif(CurrentPage == "Craft")
		if(option == craft_utilitycraft)
			_Fun.CRAFTcalc(craftitemutilityid)
			SetTextOptionValue(craft_points, SuH_craft_points.GetValue() as int)
			int craftlevel = SuH_craft_level.GetValue() as int
			int craftxp = 0
			if craftlevel != 0
				craftxp = Math.Floor((craftlevel * 2000) - SuH_craft_xp.GetValue())
			else
				craftxp = Math.Floor(1000 - SuH_craft_xp.GetValue())
			endIf
			SetTextOptionValue(craft_level, craftlevel)
			SetTextOptionValue(craft_xp, craftxp)
		elseif(option == craft_weaponcraft)
			_Fun.CRAFTcalc(craftitemweaponid)
			SetTextOptionValue(craft_points, SuH_craft_points.GetValue() as int)
			int craftlevel = SuH_craft_level.GetValue() as int
			int craftxp = 0
			if craftlevel != 0
				craftxp = Math.Floor((craftlevel * 2000) - SuH_craft_xp.GetValue())
			else
				craftxp = Math.Floor(1000 - SuH_craft_xp.GetValue())
			endIf
			SetTextOptionValue(craft_level, craftlevel)
			SetTextOptionValue(craft_xp, craftxp)
		elseif(option == craft_lightarmorcraft)
			_Fun.CRAFTcalc(craftitemlightarmorid)
			SetTextOptionValue(craft_points, SuH_craft_points.GetValue() as int)
			int craftlevel = SuH_craft_level.GetValue() as int
			int craftxp = 0
			if craftlevel != 0
				craftxp = Math.Floor((craftlevel * 2000) - SuH_craft_xp.GetValue())
			else
				craftxp = Math.Floor(1000 - SuH_craft_xp.GetValue())
			endIf
			SetTextOptionValue(craft_level, craftlevel)
			SetTextOptionValue(craft_xp, craftxp)
		elseif(option == craft_heavyarmorcraft)
			_Fun.CRAFTcalc(craftitemheavyarmorid)
			SetTextOptionValue(craft_points, SuH_craft_points.GetValue() as int)
			int craftlevel = SuH_craft_level.GetValue() as int
			int craftxp = 0
			if craftlevel != 0
				craftxp = Math.Floor((craftlevel * 2000) - SuH_craft_xp.GetValue())
			else
				craftxp = Math.Floor(1000 - SuH_craft_xp.GetValue())
			endIf
			SetTextOptionValue(craft_level, craftlevel)
			SetTextOptionValue(craft_xp, craftxp)
		endif
	;end/
	endIf
endEvent
;end/
;ent/ OnOptionMenuOpen
event OnOptionMenuOpen(int option)
	if(CurrentPage == "Craft")
		if (option == craft_utility)
			SetMenuDialogOptions(craft_utilitylistcost)
			SetMenuDialogStartIndex(craftitemutility)
			SetMenuDialogDefaultIndex(0)
		elseif (option == craft_weapon)
			SetMenuDialogOptions(craft_weaponlistcost)
			SetMenuDialogStartIndex(craftitemweapon)
			SetMenuDialogDefaultIndex(0)
		elseif (option == craft_lightarmor)
			SetMenuDialogOptions(craft_lightarmorlistcost)
			SetMenuDialogStartIndex(craftitemlightarmor)
			SetMenuDialogDefaultIndex(0)
		elseif (option == craft_heavyarmor)
			SetMenuDialogOptions(craft_heavyarmorlistcost)
			SetMenuDialogStartIndex(craftitemheavyarmor)
			SetMenuDialogDefaultIndex(0)
		endIf
	elseif(CurrentPage == "Soul Pets")
		;ent/ Pets
		if (option == pet_dogdesire)
			int x = SuH_PETdogeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_wolfdesire)
			int x = SuH_PETwolfeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_familiardesire)
			int x = SuH_PETfamiliareffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_skeeverdesire)
			int x = SuH_PETskeevereffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_beardesire)
			int x = SuH_PETbeareffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_sabrecatdesire)
			int x = SuH_PETsabrecateffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_trolldesire)
			int x = SuH_PETtrolleffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_horsedesire)
			int x = SuH_PEThorseeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_horkerdesire)
			int x = SuH_PEThorkereffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_draugrdesire)
			int x = SuH_PETdraugreffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_spriggandesire)
			int x = SuH_PETsprigganeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_falmerdesire)
			int x = SuH_PETfalmereffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_huskydesire)
			int x = SuH_PEThuskyeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_bristledesire)
			int x = SuH_PETbristleeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_seekerdesire)
			int x = SuH_PETseekereffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_gargoyledesire)
			int x = SuH_PETgargoyleeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_netchdesire)
			int x = SuH_PETnetcheffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_rieklingdesire)
			int x = SuH_PETrieklingeffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		elseif (option == pet_spiderdesire)
			int x = SuH_PETspidereffect.GetValue() as int
			SetMenuDialogOptions(peteffectlist)
			SetMenuDialogStartIndex(x)
			SetMenuDialogDefaultIndex(0)
		endIf
		;end/
	endIf
endEvent
;end/
;ent/ OnOptionMenuAccept
event OnOptionMenuAccept(int option, int index)
	if(CurrentPage == "Craft")
		if (option == craft_utility)
			craftitemutility = index
			craftitemutilityid = craft_utilitylist[index]
			ForcePageReset()
		elseif(option == craft_weapon)
			craftitemweapon = index
			craftitemweaponid = craft_weaponlist[index]
			ForcePageReset()
		elseif(option == craft_lightarmor)
			craftitemlightarmor = index
			craftitemlightarmorid = craft_lightarmorlist[index]
			ForcePageReset()
		elseif(option == craft_heavyarmor)
			craftitemheavyarmor = index
			craftitemheavyarmorid = craft_heavyarmorlist[index]
			ForcePageReset()
		endIf
	elseif(CurrentPage == "Soul Pets")
    ;ent/ Pets
		if (option == pet_dogdesire)
			SuH_PETdogeffect.SetValue(index)
			SetMenuOptionValue(pet_dogdesire, peteffectlist[index])
		elseif (option == pet_wolfdesire)
			SuH_PETwolfeffect.SetValue(index)
			SetMenuOptionValue(pet_wolfdesire, peteffectlist[index])
		elseif (option == pet_familiardesire)
			SuH_PETfamiliareffect.SetValue(index)
			SetMenuOptionValue(pet_familiardesire, peteffectlist[index])
		elseif (option == pet_skeeverdesire)
			SuH_PETskeevereffect.SetValue(index)
			SetMenuOptionValue(pet_skeeverdesire, peteffectlist[index])
		elseif (option == pet_beardesire)
			SuH_PETbeareffect.SetValue(index)
			SetMenuOptionValue(pet_beardesire, peteffectlist[index])
		elseif (option == pet_sabrecatdesire)
			SuH_PETsabrecateffect.SetValue(index)
			SetMenuOptionValue(pet_sabrecatdesire, peteffectlist[index])
		elseif (option == pet_trolldesire)
			SuH_PETtrolleffect.SetValue(index)
			SetMenuOptionValue(pet_trolldesire, peteffectlist[index])
		elseif (option == pet_horsedesire)
			SuH_PEThorseeffect.SetValue(index)
			SetMenuOptionValue(pet_horsedesire, peteffectlist[index])
		elseif (option == pet_horkerdesire)
			SuH_PEThorkereffect.SetValue(index)
			SetMenuOptionValue(pet_horkerdesire, peteffectlist[index])
		elseif (option == pet_draugrdesire)
			SuH_PETdraugreffect.SetValue(index)
			SetMenuOptionValue(pet_draugrdesire, peteffectlist[index])
		elseif (option == pet_spriggandesire)
			SuH_PETsprigganeffect.SetValue(index)
			SetMenuOptionValue(pet_spriggandesire, peteffectlist[index])
		elseif (option == pet_falmerdesire)
			SuH_PETfalmereffect.SetValue(index)
			SetMenuOptionValue(pet_falmerdesire, peteffectlist[index])
		elseif (option == pet_huskydesire)
			SuH_PEThuskyeffect.SetValue(index)
			SetMenuOptionValue(pet_huskydesire, peteffectlist[index])
		elseif (option == pet_bristledesire)
			SuH_PETbristleeffect.SetValue(index)
			SetMenuOptionValue(pet_bristledesire, peteffectlist[index])
		elseif (option == pet_seekerdesire)
			SuH_PETseekereffect.SetValue(index)
			SetMenuOptionValue(pet_seekerdesire, peteffectlist[index])
		elseif (option == pet_gargoyledesire)
			SuH_PETgargoyleeffect.SetValue(index)
			SetMenuOptionValue(pet_gargoyledesire, peteffectlist[index])
		elseif (option == pet_netchdesire)
			SuH_PETnetcheffect.SetValue(index)
			SetMenuOptionValue(pet_netchdesire, peteffectlist[index])
		elseif (option == pet_rieklingdesire)
			SuH_PETrieklingeffect.SetValue(index)
			SetMenuOptionValue(pet_rieklingdesire, peteffectlist[index])
		elseif (option == pet_spiderdesire)
			SuH_PETspidereffect.SetValue(index)
			SetMenuOptionValue(pet_spiderdesire, peteffectlist[index])
		endIf
	;end/
	endIf
endEvent
;end/
;ent/ OnOptionSliderOpen
Event OnOptionSliderOpen(int option)
	if(CurrentPage == "Status / Settings")
		If(option == status_SETpc2npchealth)
			SetSliderDialogStartValue(SuH_SETpc2npchealth.GetValue()*100)
			SetSliderDialogDefaultValue(30)
			SetSliderDialogRange(0,100)
			SetSliderDialogInterval(1)
		elseIf(option == status_SETpc2npchealthmin)
			SetSliderDialogStartValue(SuH_SETpc2npchealthmin.GetValue())
			SetSliderDialogDefaultValue(20)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_SETpc2npcstamina)
			SetSliderDialogStartValue(SuH_SETpc2npcstamina.GetValue()*100)
			SetSliderDialogDefaultValue(30)
			SetSliderDialogRange(0,100)
			SetSliderDialogInterval(1)
		elseif(option == status_SETnpc2pchealth)
			SetSliderDialogStartValue(SuH_SETnpc2pchealth.GetValue()*100)
			SetSliderDialogDefaultValue(30)
			SetSliderDialogRange(0,100)
			SetSliderDialogInterval(1)
		elseif(option == status_SETnpc2pchealthmin)
			SetSliderDialogStartValue(SuH_SETnpc2pchealth.GetValue())
			SetSliderDialogDefaultValue(20)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_SETnpc2npchealth)
			SetSliderDialogStartValue(SuH_SETnpc2npchealth.GetValue()*100)
			SetSliderDialogDefaultValue(30)
			SetSliderDialogRange(0,100)
			SetSliderDialogInterval(1)
		elseIf(option == status_SETnpc2npchealthmin)
			SetSliderDialogStartValue(SuH_SETnpc2npchealth.GetValue())
			SetSliderDialogDefaultValue(20)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_ORcaphealth)
			SetSliderDialogStartValue(SuH_ORcaphealth.GetValue())
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_ORcapmagicka)
			SetSliderDialogStartValue(SuH_ORcapmagicka.GetValue())
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_ORcapstamina)
			SetSliderDialogStartValue(SuH_ORcapstamina.GetValue())
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_ORabsorbhealth)
			SetSliderDialogStartValue(SuH_ORabsorbhealth.GetValue())
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_ORabsorbmagicka)
			SetSliderDialogStartValue(SuH_ORabsorbmagicka.GetValue())
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_ORabsorbstamina)
			SetSliderDialogStartValue(SuH_ORabsorbstamina.GetValue())
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_SETeffectmulti)
			SetSliderDialogStartValue(SuH_PCSeffectmulti.GetValue()*100)
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(1)
		elseIf(option == status_SETdesiregain)
			SetSliderDialogStartValue(SuH_PCSdesiregain.GetValue())
			SetSliderDialogDefaultValue(1)
			SetSliderDialogRange(0,100)
			SetSliderDialogInterval(0.2)
		elseIf(option == status_SETdesirecap)
			SetSliderDialogStartValue(SuH_SETdesirecap.GetValue())
			SetSliderDialogDefaultValue(1200)
			SetSliderDialogRange(0,100000)
			SetSliderDialogInterval(10.0)
		elseIf(option == status_SETcsbleedoutdelay)
			SetSliderDialogStartValue(SuH_SETcsbleedoutdelay.GetValue())
			SetSliderDialogDefaultValue(5)
			SetSliderDialogRange(0,20)
			SetSliderDialogInterval(1.0)
		endIf
	elseIf(CurrentPage == "Skill Levels")
		if(option == skill_convert)
			int x = SuH_PCSxp.GetValue() as int
			int y = Math.Floor(x/10)
			int z = y*10
			SetSliderDialogStartValue(0)
			SetSliderDialogDefaultValue(0)
			SetSliderDialogRange(0,z)
			SetSliderDialogInterval(10)
		endIf
	endIf
endEvent
;end/
;ent/ OnOptionSliderAccept
Event OnOptionSliderAccept(int option, float value)
	if(CurrentPage == "Status / Settings")
		if(option == status_SETpc2npchealth)
			SuH_SETpc2npchealth.SetValue(value/100)
			SetSliderOptionValue(status_SETpc2npchealth, value, "{0}% Health")
		elseif(option == status_SETpc2npchealthmin)
			SuH_SETpc2npchealthmin.SetValue(value)
			SetSliderOptionValue(status_SETpc2npchealthmin, value, "{0} Health")
		elseif(option == status_SETpc2npcstamina)
			SuH_SETpc2npcstamina.SetValue(value/100)
			SetSliderOptionValue(status_SETpc2npcstamina, value, "{0}% Stamina")
		elseif(option == status_SETnpc2pchealth)
			SuH_SETnpc2pchealth.SetValue(value/100)
			SetSliderOptionValue(status_SETnpc2pchealth, value, "{0}% Health")
		elseif(option == status_SETnpc2pchealthmin)
			SuH_SETnpc2pchealthmin.SetValue(value)
			SetSliderOptionValue(status_SETnpc2pchealthmin, value, "{0} Health")
		elseif(option == status_SETnpc2npchealth)
			SuH_SETnpc2npchealth.SetValue(value/100)
			SetSliderOptionValue(status_SETnpc2npchealth, value, "{0}% Health")
		elseif(option == status_SETnpc2npchealthmin)
			SuH_SETnpc2npchealthmin.SetValue(value)
			SetSliderOptionValue(status_SETnpc2npchealthmin, value, "{0} Health")
		elseif(option == status_ORcaphealth)
			SuH_ORcaphealth.SetValue(value)
			SetSliderOptionValue(status_ORcaphealth, value, "{0}")
			if value > 0
				int playerHealth = PlayerRef.GetBaseActorValue("health") as int
				SetTextOptionValue(status_health, playerHealth+"/overwritten")
			else
				int playerHealth = PlayerRef.GetBaseActorValue("health") as int
				int healthCap = SuH_PCScaphealth.GetValue() as int
				SetTextOptionValue(status_health, playerHealth+"/"+healthCap)
			endIf
		elseif(option == status_ORcapmagicka)
			SuH_ORcapmagicka.SetValue(value)
			SetSliderOptionValue(status_ORcapmagicka, value, "{0}")
			if value > 0
				int playerMagicka = PlayerRef.GetBaseActorValue("magicka") as int
				SetTextOptionValue(status_magicka, playerMagicka+"/overwritten")
			else
				int playerMagicka = PlayerRef.GetBaseActorValue("magicka") as int
				int magickaCap = SuH_PCScapmagicka.GetValue() as int
				SetTextOptionValue(status_magicka, playerMagicka+"/"+magickaCap)
			endIf
		elseif(option == status_ORcapstamina)
			SuH_ORcapstamina.SetValue(value)
			SetSliderOptionValue(status_ORcapstamina, value, "{0}")
			if value > 0
				int playerStamina = PlayerRef.GetBaseActorValue("stamina") as int
				SetTextOptionValue(status_stamina, playerStamina+"/overwritten")
			else
				int playerStamina = PlayerRef.GetBaseActorValue("stamina") as int
				int staminaCap = SuH_PCScapstamina.GetValue() as int
				SetTextOptionValue(status_stamina, playerStamina+"/"+staminaCap)
			endIf
		elseif(option == status_ORabsorbhealth)
			SuH_ORcaphealth.SetValue(value)
			SetSliderOptionValue(status_ORabsorbhealth, value, "{0}")
		elseif(option == status_ORabsorbmagicka)
			SuH_ORcapmagicka.SetValue(value)
			SetSliderOptionValue(status_ORabsorbmagicka, value, "{0}")
		elseif(option == status_ORabsorbstamina)
			SuH_ORcapstamina.SetValue(value)
			SetSliderOptionValue(status_ORabsorbstamina, value, "{0}")
		elseif(option == status_SETeffectmulti)
			SuH_PCSeffectmulti.SetValue(value/100)
			SetSliderOptionValue(status_SETeffectmulti, value, "{0}%")
		elseif(option == status_SETdesiregain)
			SuH_PCSdesiregain.SetValue(value)
			SetSliderOptionValue(status_SETdesiregain, value, "{0}")
		elseif(option == status_SETdesirecap)
			SuH_SETdesirecap.SetValue(value)
			SetSliderOptionValue(status_SETdesirecap, value, "{0}")
		elseif(option == status_SETcsbleedoutdelay)
			SuH_SETcsbleedoutdelay.SetValue(value)
			SetSliderOptionValue(status_SETcsbleedoutdelay, value, "{0} Sec")
		endIf
	elseIf(CurrentPage == "Skill Levels")
		if(option == skill_convert)
			int x = Math.Floor(value/10)
			int y = SuH_PCSforce.GetValue() as int
			int z = SuH_PCSxp.GetValue() as int
			SuH_PCSxp.SetValue(z-value)
			SuH_PCSforce.SetValue(y+x)
			ForcePageReset()
		endIf
	endIf
endEvent
;end/
;ent/ OnOptionDefault
Event OnOptionDefault(int option)
	;ent/ Heart Levels
	if(CurrentPage == "Heart Levels")
		if(option == heart_caphealth)
			int caphealth = SuH_PCScaphealth.GetValue() as int
			int caphealthitem = SuH_PCScaphealthitem.GetValue() as int
			int caphealthcost = Math.Floor(((caphealth-caphealthitem)*0.12)*15+20)
			_Fun.trackSet(caphealthcost, "Health Cap")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_capmagicka)
			int capmagicka = SuH_PCScapmagicka.GetValue() as int
			int capmagickaitem = SuH_PCScapmagickaitem.GetValue() as int
			int capmagickacost = Math.Floor(((capmagicka-capmagickaitem)*0.12)*15+20)
			_Fun.trackSet(capmagickacost, "Magicka Cap")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_capstamina)
			int capstamina = SuH_PCScapstamina.GetValue() as int
			int capstaminaitem = SuH_PCScapstaminaitem.GetValue() as int
			int capstaminacost = Math.Floor(((capstamina-capstaminaitem)*0.12)*15+20)
			_Fun.trackSet(capstaminacost, "Stamina Cap")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_stacksex)
			int stacksex = SuH_PCSstackmaxsex.GetValue() as int
			int stacksexcost = Math.Floor(stacksex*2.8*240)
			_Fun.trackSet(stacksexcost, "Max Sex Stacks")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_stacksperm)
			int stacksperm = SuH_PCSstackmaxsperm.GetValue() as int
			int stackspermcost = Math.Floor(stacksperm*2.8*240)
			_Fun.trackSet(stackspermcost, "Max Sperm Stacks")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_stackmilk)
			int stackmilk = SuH_PCSstackmaxmilk.GetValue() as int
			int stackmilkcost = Math.Floor(stackmilk*2.8*240)
			_Fun.trackSet(stackmilkcost, "Max Milk Stacks")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_absorbhealth)
			int absorbhealth = SuH_PCSabsorbhealth.GetValue() as int
			int absorbhealthcost = Math.Floor(absorbhealth*2.2*280)
			_Fun.trackSet(absorbhealthcost, "Health Absorption")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_absorbmagicka)
			int absorbmagicka = SuH_PCSabsorbmagicka.GetValue() as int
			int absorbmagickacost = Math.Floor(absorbmagicka*2.2*280)
			_Fun.trackSet(absorbmagickacost, "Magicka Absorption")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_absorbstamina)
			int absorbstamina = SuH_PCSabsorbstamina.GetValue() as int
			int absorbstaminacost = Math.Floor(absorbstamina*2.2*280)
			_Fun.trackSet(absorbstaminacost, "Stamina Absorption")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_spermhealth)
			int spermhealth = SuH_PCSspermhealth.GetValue() as int
			int spermhealthcost = Math.Floor(spermhealth*1.8*200)
			_Fun.trackSet(spermhealthcost, "Sperm Health Bonus")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_spermmagicka)
			int spermmagicka = SuH_PCSspermmagicka.GetValue() as int
			int spermmagickacost = Math.Floor(spermmagicka*1.8*200)
			_Fun.trackSet(spermmagickacost, "Sperm Magicka Bonus")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_spermstamina)
			int spermstamina = SuH_PCSspermstamina.GetValue() as int
			int spermstaminacost = Math.Floor(spermstamina*1.8*200)
			_Fun.trackSet(spermstaminacost, "Sperm Stamina Bonus")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_milkhealth)
			int milkhealth = SuH_PCSmilkhealth.GetValue() as int
			int milkhealthcost = Math.Floor(milkhealth*1.8*200)
			_Fun.trackSet(milkhealthcost, "Milk Health Bonus")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_milkmagicka)
			int milkmagicka = SuH_PCSmilkmagicka.GetValue() as int
			int milkmagickacost = Math.Floor(milkmagicka*1.8*200)
			_Fun.trackSet(milkmagickacost, "Milk Magicka Bonus")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_milkstamina)
			int milkstamina = SuH_PCSmilkstamina.GetValue() as int
			int milkstaminacost = Math.Floor(milkstamina*1.8*200)
			_Fun.trackSet(milkstaminacost, "Milk Stamina Bonus")
			debug.MessageBox("Tracking Set")
		elseif(option == heart_xpgain)
			float xpgain = SuH_PCSxpgain.GetValue()
			int xpgainitem = SuH_PCSxpgainitem.GetValue() as int
			int xpgaincost = Math.Floor(((xpgain - (99+xpgainitem))*2.0*350)*0.5)
			_Fun.trackSet(xpgaincost, "XP Gain")
			debug.MessageBox("Tracking Set")
		endIf
	;end/
	;ent/ Passives
	elseif(CurrentPage == "Passives")
		if(option == spell_xp)
			float xpgain = SuH_PCSxpgain.GetValue()
			int bdsmrank = SuH_rank_bdsm.GetValue() as int
			int bdsmrankcost = Math.Floor((1200*bdsmrank)*1.6+1200)
			_Fun.trackSet(bdsmrankcost, "BodyDesireSoulMind Rating")
			debug.MessageBox("Tracking Set")
		endIf
	;end/
	endIf
endEvent
;end/
;ent/ OnOptionHighlight
Event OnOptionHighlight(int option)
	;ent/ Status
	if(CurrentPage == "Status / Settings")
		if(option == status_health)
			SetInfoText("Current Base Health / Cap [Gain Health through absorption. Cap can be increased through Heart Levels and Items.]")
		elseif(option == status_magicka)
			SetInfoText("Current Base Magicka / Cap [Gain Magicka through absorption. Cap can be increased through Heart Levels and Items.]")
		elseif(option == status_SETadvancedchecking)
			SetInfoText("Enables additional polling for mechanics that usually don't need to be polled. If you're experiencing some mechanics not working properly you can try enabling this. (ex. If disabling regen isn't working enabling this 'may' fix it) [Default : Disabled]")
		elseif(option == status_SETdisablehealthrecovery)
			SetInfoText("Disables the player charater's base Health Regeneration. (Addative regen buffs/items should still work) [Default : Disabled]")
		elseif(option == status_SETdisablemagickarecovery)
			SetInfoText("Disables the player charater's base Magicka Regeneration. (Addative regen buffs/items should still work) [Default : Disabled]")
		elseif(option == status_SETdisableStaminarecovery)
			SetInfoText("Disables the player charater's base Stamina Regeneration. (Addative regen buffs/items should still work) [Default : Disabled]")
		elseif(option == status_SETcsbleedoutdelay)
			SetInfoText("Delay before sending character back to the Succubus Realm after going into the Bleed-out state (knocked down/out). Increasing this can help with Submit Mods not having enough time to trigger their animations/effects. [Default : 5]")
		elseif(option == status_SETdrainally)
			SetInfoText("Allows Followers to be drained of their status. When disabled they will ignore most absorb effects. [Default : Enabled]")
		elseif(option == status_SETpetspells)
			SetInfoText("Toggle display of Pet Spells on the player, toggle this off if you don't wish to use the Soul Pets feature. [Default : Enabled]")
		elseif(option == status_stamina)
			SetInfoText("Current Base Stamina / Cap [Gain Stamina through absorption. Cap can be increased through Heart Levels and Items.]")
		elseif(option == status_desire)
			SetInfoText("Current Desire Value. [Upon orgasm 80% of Desire converts to XP. When above a certain Desire level status will slowly convert to Force. Desire slowly generates over time.]")
		elseif(option == status_xp)
			SetInfoText("Current XP Value. [Gain XP through Sexual Acts and Items.]")
		elseif(option == status_xpgain)
			SetInfoText("Current XP gain percentage. [Increases all XP earned by a percentage. ex. 100 XP earned with 114% gain grants 114 XP. Increase through Heart Levels or Items.]")
		elseif(option == status_stacksex)
			SetInfoText("Sex Stacks / Cap [Gain Sex Stacks after a Act. Sex Stacks decay over time, losing 1 every 5 minutes. Increase Max Stacks through Heart Levels or Items.]")
		elseif(option == status_stacksperm)
			SetInfoText("Sperm Stacks / Cap [Gain Sperm Stacks by consuming Sperm. Sperm Stacks decay over time, losing 1 every minute. Increase Max Stacks through Heart Levels or Items.]")
		elseif(option == status_stackmilk)
			SetInfoText("Milk Stacks / Cap [Gain Milk Stacks by consuming Breast Milk. Milk Stacks decay over time, losing 1 every minute. Increase Max Stacks through Heart Levels or Items.]")
		elseif(option == status_SETdrainkill)
			SetInfoText("When enabled characters can be killed by sex drain when their Health reduces below 1. [Default : Enabled]")
		elseif(option == status_SETallowmalehomo)
			SetInfoText("When enabled Succubus Heart will trigger Male/Male act through Seduction Spells or Combat Seduction [Will prevent Male/Male when disabled]. Has no effect on other mods. [Defailt : Disabled]")
		elseif(option == status_SETallowfemalehomo)
			SetInfoText("When enabled Succubus Heart will trigger Female/Female act through Seduction Spells or Combat Seduction [Will prevent Female/Female when disabled]. Has no effect on other mods. [Defailt : Enabled]")
		elseif(option == status_SETessentialacts)
			SetInfoText("Attempts to make NPCs temporarily essential when in Acts. [WARNING: This can cause bugs with high script lag and certain quests, use with caution!] [Default : Disabled]")
		elseif(option == status_SETcombatseduction)
			SetInfoText("When enabled characters in combat that fall below the set Health Thresholds will submit to their attacker. [This is a Light weight Submit Type mod built in, leave disabled if you use another submit mod. May cause some bugs/glitches like other submit mods, use with caution!] [Default : Disabled]")
		elseif(option == status_SETnpc2pchealth)
			SetInfoText("Health Threshold for NPCs to submit to the Player. When an NPC falls below this threshold if hit by the player they will submit. [Default : 30%]")
		elseif(option == status_SETnpc2pchealthmin)
			SetInfoText("Health Threshold for NPCs to submit to the Player. When an NPC falls below this threshold if hit by the player they will submit. [Default : 20]")
		elseif(option == status_SETnpc2npchealth)
			SetInfoText("Health Threshold for NPCs to submit to other NPCs. When an NPC falls below this threshold if hit by another NPC they will submit. [Default : 30%]")
		elseif(option == status_SETnpc2npchealthmin)
			SetInfoText("Health Threshold for NPCs to submit to other NPCs. When an NPC falls below this threshold if hit by another NPC they will submit. [Default : 20]")
		elseif(option == status_SETpc2npchealth)
			SetInfoText("Health Threshold for PC to submit to NPCs. When the Player falls below this threshold and is hit by an NPC they will submit. [Default : 30%]")
		elseif(option == status_SETpc2npchealthmin)
			SetInfoText("Health Threshold for PC to submit to NPCs. When the Player falls below this threshold and is hit by an NPC they will submit. [Default : 20]")
		elseif(option == status_SETpc2npcstamina)
			SetInfoText("Stamina Threshold for PC to submit to NPCs. When the Player falls below this threshold and is hit by an NPC they will submit. [Default : 20]")
		elseif(option == status_SETconsentdrain)
			SetInfoText("When enabled consensual partners will be effected by absorption. [Will prevent drain on consensual partners if disabled] [Default : Disabled]")
		elseif(option == status_SETdesiredrain)
			SetInfoText("When enabled once Desire reaches high enough Status will slowly convert into Force [Disabling will prevent this feature] [Default : Disabled]")
		elseif(option == status_ORcaphealth)
			SetInfoText("Overrides the leveled Health Cap and replaces it with the fixed value selected [Set to 0 to disable] [Default : 0/Disabled]")
		elseif(option == status_ORcapmagicka)
			SetInfoText("Overrides the leveled Magicka Cap and replaces it with the fixed value selected [Set to 0 to disable] [Default : 0/Disabled]")
		elseif(option == status_ORcapstamina)
			SetInfoText("Overrides the leveled Stamina Cap and replaces it with the fixed value selected [Set to 0 to disable] [Default : 0/Disabled]")
		elseif(option == status_ORabsorbhealth)
			SetInfoText("Overrides the leveled Health Absorption and replaces it with the fixed value selected [Set to 0 to disable] [Default : 0/Disabled]")
		elseif(option == status_ORabsorbmagicka)
			SetInfoText("Overrides the leveled Magicka Absorption and replaces it with the fixed value selected [Set to 0 to disable] [Default : 0/Disabled]")
		elseif(option == status_ORabsorbstamina)
			SetInfoText("Overrides the leveled Stamina Absorption and replaces it with the fixed value selected [Set to 0 to disable] [Default : 0/Disabled]")
		elseif(option == status_SETdeathdrops)
			SetInfoText("When enabled characters will have a soul in their inventory after death. [Will be prevented if disabled] [Default : Enabled]")
		elseIf(option == status_SETeffectmulti)
			SetInfoText("Changes all drain and xp gain/absorption effects calculated by percentage. [Can be used to speed up/slow down progression - Example 100% with 10 drain will drain 10 points, 120% with 10 drain will drain 12 points]")
		elseIf(option == status_SETdesiregain)
			SetInfoText("Sets Desire gained per second [Updated every 5 seconds] [Default : 1]")
		elseIf(option == status_SETalwaysdrainkill)
			SetInfoText("When enabled status drain from acts will always kill the target. [Default : Disabled]")
		elseIf(option == status_SETspecialdeath)
			SetInfoText("(Death Override Mode) With this mode enabled instead of the player dieing and being asked to re-load the character will instead respawn in the Succubus Realm [Default : Disabled] WARNING : Disable if you use any other Death Alternative mod!")
		elseIf(option == status_SETsdloseitems)
			SetInfoText("(Death Override Mode) Upon death the player will lose all lose-able items (Items can be re-purchased from Tali in the Succubus Realm) [Default : Enabled]")
		elseIf(option == status_SETsdlosegold)
			SetInfoText("(Death Override Mode) Upon death the player will lose all gold they currently hold. [Default : Disabled]")
		elseIf(option == status_SETsdloseequip)
			SetInfoText("(Death Override Mode) Upon death the player's current equipment will be destroyed (These items can't be re-purchased from Tali) [Default : Enabled]")
		elseIf(option == status_SETrestrictact)
			SetInfoText("When enabled will restrict female aggressors to using cowgirl animations (only effects Succubus Heart animations) [Default : Enabled]")
		elseIf(option == status_SETdesirecap)
			SetInfoText("Set when Desire Drain starts to take effect (When above this amount desire will convert Status into Force when Desire Drain is enabled) [Default : 1200]")
		elseIf(option == status_SETrandomdeathspawn)
			SetInfoText("When enabled, after 'dieing' Succubus Realm -Disconnect- will force a random respawn when leaving the realm. [Default : Disabled]")
		elseIf(option == status_SETinvact)
			SetInfoText("'Virgin' Protection makes characters un-killable until they participate in an act. [Has no effect on NPCs that are already essential][This applies when loading a character, so you may need to access a new location, save/quit/load for all NPCs to be effected]")
		elseIf(option == status_SETinvactmale)
			SetInfoText("Makes Males 'virgin' protected [Default : Disabled]")
		elseIf(option == status_SETinvactfemale)
			SetInfoText("Makes Females 'virgin' protected [Default : Disabled]")
		elseIf(option == status_SETinvactmalecreature)
			SetInfoText("Makes Male Creatures 'virgin' protected [Default : Disabled]")
		elseIf(option == status_SETinvactfemalecreature)
			SetInfoText("Makes Females Creatures 'virgin' protected [Default : Disabled]")
		elseIf(option == status_SETnpcabsorb)
			SetInfoText("Allows Status Drain to effect NPCs - Dropping their Max Health/Magicka/Stamina [Note: Mod is balanced around this idea] [Default : Enabled]")
		elseIf(option == status_SETclearactor)
			SetInfoText("Attempts to remove arrows and other projectiles from a character before starting an act. (NOTE : This may remove mod-added effects and textures depending how they're applied) [Default : Disabled]")
		elseIf(option == status_SETcalmaura)
			SetInfoText("Attempts to stop combat via-calm spell when the Player Character enters an act. (NOTE : May not work in all situations) [Default : Disabled]")
		endIf
	;end/
	;ent/ Skill Levels
	elseif(CurrentPage == "Skill Levels")
		if(option == skill_sp)
			SetInfoText("Current SP Available. [Gain SP through Force or Items. SP can be spent on leveling Skills.]")
		elseif(option == skill_spnext)
			SetInfoText("Force till next SP. [Gain Force through absorbing past your Status Caps, Items, or converting XP. The Force required for SP increases the more SP earned this way.]")
		elseif(option == skill_xp)
			SetInfoText("Current XP Available. [Can be converted to Force for SP at a 10 to 1 ratio]")
		elseif(option == skill_convert)
			SetInfoText("Convert XP to Force at a 10 to 1 ration. [ex. 100 XP will give 10 Force]")
		elseif(option == skill_alchemy)
			SetInfoText("Level-up Alchemy")
		elseif(option == skill_alteration)
			SetInfoText("Level-up Alteration")
		elseif(option == skill_block)
			SetInfoText("Level-up Block")
		elseif(option == skill_conjuration)
			SetInfoText("Level-up Conjuration")
		elseif(option == skill_destruction)
			SetInfoText("Level-up Destruction")
		elseif(option == skill_enchanting)
			SetInfoText("Level-up Enchanting")
		elseif(option == skill_heavyarmor)
			SetInfoText("Level-up Heavy Armor")
		elseif(option == skill_illusion)
			SetInfoText("Level-up Illusion")
		elseif(option == skill_lightarmor)
			SetInfoText("Level-up Light Armor")
		elseif(option == skill_illusion)
			SetInfoText("Level-up Illusion")
		elseif(option == skill_lockpicking)
			SetInfoText("Level-up Lockpicking")
		elseif(option == skill_marksman)
			SetInfoText("Level-up Marksman")
		elseif(option == skill_onehanded)
			SetInfoText("Level-up One-Handed")
		elseif(option == skill_pickpocket)
			SetInfoText("Level-up Pickpocket")
		elseif(option == skill_restoration)
			SetInfoText("Level-up Restoration")
		elseif(option == skill_smithing)
			SetInfoText("Level-up Smithing")
		elseif(option == skill_sneak)
			SetInfoText("Level-up Sneak")
		elseif(option == skill_speechcraft)
			SetInfoText("Level-up speechcraft")
		elseif(option == skill_twohanded)
			SetInfoText("Level-up Two-Handed")
		endIf
	;end/
	;ent/ Heart Levels
	elseif(CurrentPage == "heart Levels")
		if(option == heart_xp)
			SetInfoText("Current XP Available. [Can spend XP to level Abilities.]")
		elseif(option == heart_caphealth)
			SetInfoText("Increases the Max Health Absorption can reach.[Increases by 1 per level] + 1 Body Rating")
		elseif(option == heart_capmagicka)
			SetInfoText("Increases the Max Magicka Absorption can reach.[Increases by 1 per level] + 1 Mind Rating")
		elseif(option == heart_capstamina)
			SetInfoText("Increases the Max Stamina Absorption can reach.[Increases by 1 per level] + 1 Soul Rating")
		elseif(option == heart_stacksex)
			SetInfoText("Increases the number of Sex Stacks which can be stored.[Increases by 1 per level] + 5 Desire Rating")
		elseif(option == heart_stacksperm)
			SetInfoText("Increases the number of Sperm Stacks which can be stored.[Increases by 1 per level] + 5 Desire Rating")
		elseif(option == heart_stackmilk)
			SetInfoText("Increases the number of Milk Stacks which can be stored.[Increases by 1 per level] + 5 Desire Rating")
		elseif(option == heart_xpgain)
			SetInfoText("Increases the XP gain multiplier. [Increases by 2% when leveled] + 5 Desire Rating")
		elseif(option == heart_absorbhealth)
			SetInfoText("Increases Health absorbed in acts per-tick. [Increases by 1 per level] + 5 Body Rating")
		elseif(option == heart_absorbmagicka)
			SetInfoText("Increases Magicka absorbed in acts per-tick. [Increases by 1 per level] + 5 Mind Rating")
		elseif(option == heart_absorbstamina)
			SetInfoText("Increases Stamina absorbed in acts per-tick. [Increases by 1 per level] + 5 Soul Rating")
		elseif(option == heart_spermhealth)
			SetInfoText("Increases Health earned when consuming Sperm. [Increases by 1 per level] + 2 Body Rating")
		elseif(option == heart_spermmagicka)
			SetInfoText("Increases Magicka earned when consuming Sperm. [Increases by 1 per level] + 2 Mind Rating")
		elseif(option == heart_spermstamina)
			SetInfoText("Increases Stamina earned when consuming Sperm. [Increases by 1 per level] + 2 Soul Rating")
		elseif(option == heart_milkhealth)
			SetInfoText("Increases Health earned when consuming Milk. [Increases by 1 per level] + 2 Body Rating")
		elseif(option == heart_milkmagicka)
			SetInfoText("Increases Magicka earned when consuming Milk. [Increases by 1 per level] + 2 Mind Rating")
		elseif(option == heart_milkstamina)
			SetInfoText("Increases Stamina earned when consuming Milk. [Increases by 1 per level] + 2 Soul Rating")
		endIf
	;end/
	;ent/ Passives
	elseif(CurrentPage == "Passives")
		if(option == spell_xp)
			SetInfoText("Use XP to increase the BodyDesireSoulMind Rating by 20 (5 of each trait).")
		elseif(option == spell_point)
			int b = SuH_PCSbpoint.GetValue() as int
			int d = SuH_PCSdpoint.GetValue() as int
			int s = SuH_PCSspoint.GetValue() as int
			int m = SuH_PCSmpoint.GetValue() as int
			SetInfoText("Current BodyDesireSoulMind Rating and which stat currently excels. [True values are "+b+" Body : "+d+" Desire : "+s+" Soul : "+m+" Mind]")
		elseif(option == spell_reset)
			SetInfoText("Resets all Passives to Level 0 and re-calculates BodyDesireSoulMind Rating. Useful if you wish to change passives or find BDSM Ratings acting weird. [Note : Individual BDSM ratings can go into the negative and be considered normal, however BDSM itself should never drop below zero]")
		elseIf(option == spell_perfectorgasm)
			int x = SuH_rank_perfectorgasm.GetValue() as int
			int y = Math.Floor(SuH_rank_perfectorgasm2.GetValue()*10)
			int z = Math.Floor(SuH_rank_perfectorgasm2.GetValue()*5)
			SetInfoText("Climax is often the best part! Increases the chance of a Rare Drop upon orgasms by "+x+"%. "+z+"% chance at receiving a death drop as well by decreasing Health/Magicka/Stamina Cap by "+y+".")
		elseIf(option == spell_perfectorgasmrank)
			SetInfoText("Adds 1% to Perfect Orgasm's Rare Drop Boost. + Desire Rating")
		elseIf(option == spell_perfectorgasmrank2)
			SetInfoText("Decrease Status Caps by 10 for 5% extra chance at a Death Drop. + Desire Rating")
		elseIf(option == spell_lusciousliquids)
			int x = Math.Floor(SuH_rank_lusciousliquids.GetValue()*5)
			int y = Math.Floor(SuH_rank_lusciousliquids2.GetValue()*5)
			SetInfoText("Certain fluids are more desire-able than others. Sperm and Milk heals "+x+" Health and restores "+y+" Magicka and Stamina when consumed. +: Mind Specialty adds 20% to the effect :+")
		elseIf(option == spell_lusciousliquidsrank)
			SetInfoText("Sperm and Milk will Heal 5 more Health. + Soul Rating")
		elseIf(option == spell_lusciousliquidsrank2)
			SetInfoText("Sperm and Milk will Recover 5 more Magicka and Stamina. + Mind Rating")
		elseIf(option == spell_masochist)
			int x = Math.Floor(5 * SuH_rank_masochist.GetValue())
			int y = Math.Floor(5 * SuH_rank_masochist2.GetValue())
			int z = Math.Floor((x+y) * 0.2)
			SetInfoText("Pain is just extra excitement! When hit, take "+z+" health damage but generate "+x+" Desire and recover "+y+" Stamina.")
		elseIf(option == spell_masochistrank)
			SetInfoText("Take 1 more Health Damage but generate 5 more Desire when hit. + Body Rating")
		elseIf(option == spell_masochistrank2)
			SetInfoText("Take 1 more Health Damage but recover 5 more Stamina when hit. + Soul Rating")
		elseIf(option == spell_selfstacker)
			int x = SuH_rank_selfstacker.GetValue() as int
			SetInfoText("A little taste never hurt. Grants "+x+" stack upon orgasm based on gender. [m/sperm f/milk]")
		elseIf(option == spell_selfstackerrank)
			SetInfoText("Adds 1 to Self Stacker's effect. + Desire Rating")
		elseIf(option == spell_valuestacker)
			int x = SuH_rank_valuestacker.GetValue() as int
			SetInfoText("Savoring every last drop... Increases number of stacks earned by "+x+".")
		elseIf(option == spell_valuestackerrank)
			SetInfoText("Adds 1 to Value Stacker's effect. + Desire Rating")
		elseIf(option == spell_savingessence)
			int x = Math.Floor(2 * SuH_rank_savingessence.GetValue())
			int y = Math.Floor(20 - SuH_rank_savingessence2.GetValue())
			SetInfoText("Harvesting true potential. When hit below 30% Health, recover "+x+" Health per sex/sperm/milk stack (Uses combined value). After activating Saving Essence goes on cooldown for "+y+" minutes.")
		elseIf(option == spell_savingessencerank)
			SetInfoText("Recover 2 more Health per stack. + Body Rating")
		elseIf(option == spell_savingessencerank2)
			SetInfoText("Decrease cooldown by 1 minute. + Mind Rating")
		elseIf(option == spell_giftedconsent)
			int x = SuH_rank_giftedconsent.GetValue() as int
			SetInfoText("Lovers are better with health. Grants consensual parters with "+x+" Health/Magicka/Stamina per-tick. [Applies before drain if consent drain is enabled]")
		elseIf(option == spell_giftedconsentrank)
			SetInfoText("Adds 1 to Gifted Consent's effect. + Mind Rating")
		elseIf(option == spell_forcemaster)
			int x = SuH_rank_forcemaster.GetValue() as int
			SetInfoText("Master of progression. Decreases the Force required to earn SP by "+x*2+"%.")
		elseIf(option == spell_forcemasterrank)
			SetInfoText("Adds 2% to Force Master's effect. + Mind Rating")
		elseIf(option == spell_deviouspartner)
			int x = SuH_rank_deviouspartner.GetValue() as int
			int y = Math.Floor(5 * SuH_rank_deviouspartner2.GetValue())
			int z = y * 4
			SetInfoText("Playing by the rules is for 'normal' partners. Passively steal "+x+" gold from your partners. On orgasm, convert unseen forces to "+y+" gold. Reduces Stamina Cap by "+z+".")
		elseIf(option == spell_deviouspartnerrank)
			SetInfoText("Steal 1 more gold every tick. + Soul Rating")
		elseIf(option == spell_deviouspartnerrank2)
			SetInfoText("Reduce Stamina Cap by 20 and gain 5 more gold on orgasm. + Mind Rating")
		elseIf(option == spell_formalbeauty)
			int x = SuH_rank_formalbeauty.GetValue() as int
			int y = Math.Floor(30 - (SuH_rank_formalbeauty2.GetValue() * 2))
			SetInfoText("Only those with a certain beauty absorb from thin air. Absorb "+x+" status per-stack every "+y+" seconds from the air. Sex Stacks grant Health, Sperm Stacks grant Magicka, Milk Stacks grants Stamina. +: Desire Specialty increases effect by 20% :+")
		elseIf(option == spell_formalbeautyrank)
			SetInfoText("Absorb 1 more status per-tick. No Rating Effect")
		elseIf(option == spell_formalbeautyrank2)
			SetInfoText("Increase Formal Beauty Frequency by 2 seconds. [Frequency caps at 0, ticking every second] No Rating Effect")
		elseIf(option == spell_seducer)
			int x = SuH_rank_seducer.GetValue() as int
			int y = Math.Floor(90 - (x*5))
			SetInfoText("Influence has a price, and it's worth it. Seduction Spells consume "+y+"% Health/Magicka/Stamina when successful.")
		elseIf(option == spell_seducerrank)
			SetInfoText("Reduce Successful Seduction cost by 5%. + Mind Rating")
		elseIf(option == spell_regalglow)
			int x = SuH_rank_regalglow.GetValue() as int
			int y = Math.Floor(x * 2)
			SetInfoText("Non-magic armor is just a bit too heavy. Equip 'Regal Glow' when not wearing any body armor, increasing Armor Rating by "+y+". [Regal Glow is effected by Light Armor enhancements][Compatibility : When Regal Glow is active the player counts as wearing body armor]")
		elseIf(option == spell_regalglowrank)
			SetInfoText("Adds 2 Armor to Regal Glow. + Body Rating")
		elseIf(option == spell_violence)
			int x = SuH_rank_violence.GetValue() as int
			int y = SuH_rank_violence2.GetValue() as int
			int z = SuH_rank_violence3.GetValue() as int
			SetInfoText("Making violence viable. When hitting an enemy absorb "+x+" Health, "+y+" Magicka, "+z+" Stamina. This effect can only happen once per second.")
		elseIf(option == spell_violencerank)
			SetInfoText("Increase Health Absorption on hit by 1")
		elseIf(option == spell_violencerank2)
			SetInfoText("Increase Magicka Absorption on hit by 1")
		elseIf(option == spell_violencerank3)
			SetInfoText("Increase Stamina Absorption on hit by 1")
		elseIf(option == spell_healthyabsorber)
			int x = SuH_rank_healthyabsorber.GetValue() as int
			int y = Math.Floor(x * 25)
			SetInfoText("A Healthy Succubus is a Happy Succubus! Increase Health/Magicka/Stamina Recovered when Absorbing Status by "+y+"%.")
		elseIf(option == spell_healthyabsorberrank)
			SetInfoText("Increases Health/Magicka/Stamina Recovered when Absorbing Status by 25%. (Doesn't effect cap increase) + Desire Rating")
		endIf
	;end/
	;ent/ Perks
	elseif(CurrentPage == "Perks")
		if(option == perk_orgasm)
				int x = SuH_perk_orgasm.GetValue() as int
			SetInfoText("(Total Count = "+x+") Have the main character experience an orgasm. +5 BDSM (Body) per-rank")
		elseif(option == perk_allyorgasm)
				int x = SuH_perk_allyorgasm.GetValue() as int
			SetInfoText("(Total Count = "+x+") Bring allies to orgasm. +1000 HeartXP per-rank")
		elseif(option == perk_absorb)
				int x = SuH_perk_absorb.GetValue() as int
			SetInfoText("(Total Count = "+x+") Absorb status from an NPC (or yourself... ^.-) in a sex act +2 BDSM (Mind) per rank")
		elseif(option == perk_sperm)
				int x = SuH_perk_sperm.GetValue() as int
			SetInfoText("(Total Count = "+x+") Consume Sperm. +500 HeartXP per rank")
		elseif(option == perk_milk)
				int x = SuH_perk_milk.GetValue() as int
			SetInfoText("(Total Count = "+x+") Consume Milk. +500 HeartXP per rank")
		elseif(option == perk_killdrain)
				int x = SuH_perk_killdrain.GetValue() as int
			SetInfoText("(Total Count = "+x+") Drain partners to death with absorption. +2 Health Cap per rank")
		endIF
	;end/
	;ent/ Soul Pets
	elseif(CurrentPage == "Soul Pets")
		if(option == pet_summonlevel)
			SetInfoText("Current Summoner Level (Increase by leveling up pets or obtaining bonuses)")
		elseif(option == pet_summonxp)
			SetInfoText("Summoner XP needed for next Summoner Level (Gain Summoner XP by leveling up pets or obtaining bonuses)")
		elseif(option == pet_dog)
			SetInfoText("Common Dog Summon, makes a great travel companion if you can stand barking.")
		elseif(option == pet_wolf)
			SetInfoText("Black Wolf Summon, he's a bit of a fright for locals.")
		elseif(option == pet_horse)
			SetInfoText("Brown Horse Summon, best ridden... unconventionally... =^.-=")
		elseif(option == pet_skeever)
			SetInfoText("Simple Skeever Summon, [insert cheesy pun about giant rats]")
		elseif(option == pet_familiar)
			SetInfoText("Flame Familiar Summon, he had a spider.")
		elseif(option == pet_bear)
			SetInfoText("Black Bear Summon, enjoys hibernation between summons.")
		elseif(option == pet_sabrecat)
			SetInfoText("Sabre Cat Summon, no yarn included.")
		elseif(option == pet_draugr)
			SetInfoText("Basic Draugr Summon, he was a man before... stuff happened.")
		elseif(option == pet_troll)
			SetInfoText("Troll Summon, he also does dank memes.")
		elseif(option == pet_spriggan)
			SetInfoText("Basic Spriggan Summon, nature's wood-light.")
		elseif(option == pet_horker)
			SetInfoText("Horker Summon, Horker.. with a PORKER! (I'm not sorry)")
		elseif(option == pet_falmer)
			SetInfoText("Basic Falmer Summon, oh how his race has fallen.")
		elseif(option == pet_husky)
			SetInfoText("Husky Summon, warm fur, warm blood.")
		elseif(option == pet_bristle)
			SetInfoText("Bristleback Summon, He can be a bit of a boar.")
		elseif(option == pet_Seeker)
			SetInfoText("Seeker Summon, the search is finally over.")
		elseif(option == pet_gargoyle)
			SetInfoText("Gargoyle Summon, he tends to prefer cliff sides and tall buildings.")
		elseif(option == pet_netch)
			SetInfoText("Netch Summon, I ran out of jokes.")
		elseif(option == pet_riekling)
			SetInfoText("Riekling Summon, only slightly better than a goblin.")
		elseif(option == pet_spider)
			SetInfoText("Spider Summon, this was a requested addition.. *Shivers*")
		elseif(option == pet_dogdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_wolfdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_horsedesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_skeeverdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_familiardesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_beardesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_sabrecatdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_draugrdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_trolldesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_spriggandesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_horkerdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_falmerdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_huskydesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_bristledesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_seekerdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_gargoyledesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_netchdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_rieklingdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		elseif(option == pet_spiderdesire)
			SetInfoText("Sex Effects will apply to characters in acts with each pet. Theses effects scale based on the pet and summoner's combined level. [Note : Negative effects won't effect the player]")
		else
			SetInfoText(" ")
		endIf
	;end/
	;ent/ Craft
	elseif(CurrentPage == "Craft")
		if(option == craft_level)
			SetInfoText("Craft Items to increase Craft XP per-status spent. Once enough is obtained the Crafting Level will increase, decreasing the cost of crafting items.")
		endIf
	;end/
	;ent/ Help
	elseif(CurrentPage == "Help")
		if(option == help_craft)
			SetInfoText("Crafting allows the PC to pay Max Status for various items and gear. As more items are crafted the PC will level their Crafting Level and decrease the cost of crafting items.")
		elseif(option == help_drain)
			SetInfoText("With Succubus Heart the PC will drain Max Status from NPCs which will then be absorbed. This is called absorption and is permanent in most cases. Drain can also kill NPCs if enabled and provides some alternatives to combat. This can be disabled in the Status / Settings MCM in various different ways, even entirely. (Just keep in mind the mod was designed with this mechanic active)")
		elseif(option == help_drops)
			SetInfoText("Upon Orgasm all characters will provide their partners with either Sperm or Breast Milk depending on their gender, and if the act is with the PC there is a chance of a rare drop being rewarded to the PC with special effects. Upon death NPCs will also have Soul items added to their inventory. The PC can collect these 'Drops' and use them to upgrade their stats and gain additional HeartXP/SP (or just waste them in alchemy, your choice).")
		elseif(option == help_Realm)
			SetInfoText("The Succubus Realm is a small location that can be access and departed by using the 'Succubus Realm -Connect-' Spell. This location offers several useful crafting stations, NPCs that offer items for sale, and more. Upon leaving with the spell you can return your PC either directly back or in another location presented in the menu. This location can act as almost a home-base of sorts, or completely ignored, up to you.")
		elseif(option == help_xp)
			SetInfoText("HeartXP is earned by the PC through Sex Acts and special interactions with other Succubus Heart mechanics. Once obtained, HeartXP can be spent on various Heart Skills to level different aspects of the PC's Succubus Abilities such as increasing drain amounts or expanding Max Health.")
		elseif(option == help_sp)
			SetInfoText("HeartSP is earned when the PC drains more than their Max Status Cap (increase with HeartXP). For every point over the cap absorbed the PC earns 1 Force which once enough have been earned they will converted into HeartSP. HeartSP is used to level Skyrim's normal skills such as Light Armor. As SP is earned the Force required for more increases.")
		elseif(option == help_bdsm)
			SetInfoText("Passives are a way to augment your PC with special abilities that activate automatically. These abilities are enabled and upgraded by using the PC's BDSM Rating. BDSM Rating is increased by increasing Heart Levels, Spending HeartXP to directly increase it, or by upgrading Perks. Passives can have multiple paths to upgrade however chosing any path will increase the cost for other paths at the same rate, however if you're ever unhappy with your choices Passives can be reset at any time and BDSM Rating will be restored to its full value.")
		elseif(option == help_perks)
			SetInfoText("Perks are small objectives that are completed automatically as you play. By doing certain actions perks will level up and give a reward at each rank-up some rewarding bonus HeartXP and others even rewarding BDSM Rating.")
		elseif(option == help_pets)
			SetInfoText("Soul Pets allows the PC to summon a variety of allied creatures to fight (and act) alongside. When engaging in Sex Acts or taking combat hits pets will gain XP and level up, which in-turn will increase their status and increase their effect strengths. As pets level up so will the PC's Summoner Level, upon reaching new ranks new pets will be unlocked and Pet Effects will increase. Pet Effects can also be set which will take effect in Sex Acts with Soul Pets, such as draining stamina or even healing partners.")
		elseif(option == help_cs)
			SetInfoText("This is a simple Combat Submit style mod built right into Succubus Heart, if you're using any other Combat Submit style mod please ensure this feature is disabled to prevent conflicts. In-combat if a character drops below the set Status they will then submit to their attacker and instantly begin an animation. [This feature was originally build for testing however has obviously been slightly expanded and actually works]")
		elseif(option == help_dom)
			SetInfoText("Death Override Mode is a Succubus Heart adapted Rogue-Light Mod. When enabled instead of the player dying when their health reaches zero they will instead return to the Succubus Realm with items removed, they can then leave the Succubus Realm as usual. By default items equiped will be destroyed and everything else will be sent to an NPC in the Succubus Realm to be re-purchased with Gold you keep between 'deaths'. What you lose can be configured, and of course disabled completely.")
		elseif(option == help_Craft)
			SetInfoText("Crafting allows you to create items based on Crafting Points earned from either draining status or using special items/passives. As more items are crafted XP is gained, upon leveling up crafting all costs are decreased. (Note : Items have a min-cost and can't go below this point)")
		elseif(option == help_desire)
			SetInfoText("Desire automatically generates on the PC overtime and upon Orgasms a large portion will be converted into HeartXP. Optionally Desire can also have negative effects such as draining Max status. [The conversion is a way for players that don't Sex Act a lot a way to catch up in HeartXP]")
		elseif(option == help_tracking)
			SetInfoText("While in the Heart Levels menu pressing the 'Reset to Default' key for the MCM Succubus Heart will start tracking that HeartXP cost and display a notification when you've earned enough to level it.")
		endIf
	;end/
	endIf
endEvent
;end/