cajofor Posted November 8, 2015 Share Posted November 8, 2015 (edited) Since when you devote too much thought into complicated matters along the day(such as scripting, as I was doing when that occured to me), it gets harder to focus on thoughts, even if your body isn't tired at all, and since in most fantasy scenarios casting magic spells is a mental task, I started thinking about a different approach and way to handle spell cost and magicka pool. After thinking about what would happen after mental strain, I came to this list(which probably should be revised and rebalanced): lose focus(vision gets darker around the edges, with a gradual progression, depending on magicka pool treshholds), difficulty to concentrate(magicka cost increases by a percentage, also gradually, depending on treshhold), losing conciousness(pass out if you abuse your magicka, getting to a REALLY low treshhold, something like, perhaps, paralyse so you fall to the ground, and pass some game time), decreased mental skill(mage-stone related skills,obviously, but also speech, alchemy and smithing) effective level(gradual debuff to these skills after going below each or certain treshholds). Besides the consequences to your general character performance, I felt that I had to elaborate ways for it to not be too limiting(c'mon, you cast one or two spells and already kiss the floor?), and so I thought up some tweaks to vanilla values so it would be playable, and reasons for them: multiply magicka pool and increase per level(like 30x normal, instead of decreasing costs, so you could use mod spells, and have to alter just one thing for this part; besides, with a larger magicka pool, along with consequences for excessive use, it becomes something way more strategic, and encourages you to leave those 900-like cost spells for emergencies or to clear a place in one go), certain skills should make you be more used to mental strain, as well as make it less heavy on you(restoration controls life forces, and alteration controls magicka flow, so at least these should, if possible, lower the treshholds), magicka regeneration should be extremely limited(mental strain is something that you recover very little from without sleeping, so much so, that school has periodic breaks like weekends, so the strain and stress should pile up along the day, instead of being gone after waiting for one hour), and also affected by skills. I know there are script functions to modify actor values(like skills), to evaluate actor values(like current magicka), to compare to set numbers(e.g. While GetActorValuePercent(Magicka) < 90), but I don't have enough experience to know how to use them for this(I just set up Notepad ++ to compile, and the only script I made was a magic effect that *should* modify health by minus magnitude if target has keyword Undead, do nothing if target has keyword daedra or dwarven, and modify health by magnitude if non of the above; still to be attached to objects in CK, and then tested), so if someone with more knowledge and experience could consider making it, using the idea in another mod(preferably modular so you could get just the magicka system modifications), or helping me with tips on functions, properties and syntax to use, it would be a great addition to Immersion mods, and I would be really thankful. Hope it's not too cramped and hard to read. EDIT 1: If you know any mod that does something like this, please point it out to me for me to check it out; EDIT 2: If you know, want to make, or have balance tips for a version of this for stamina, having the treshholds affected by the armor skills, greatly affecting weapon skills, and to a lesser degree armor and stealth skills, smithing skill, carry weight and maybe move and attack speeds, please comment; EDIT 3: Please point out if this thread is redundant, and if there is something unbalanced or impossible among the suggestions. EDIT 4: Would something along these lines work, or should I change something? Scriptname MagickaHandling extends ActiveMagicEffect import Actor Float Property MagickaTreshholdAFloat Property MagickaTreshholdBFloat Property MagickaTreshholdC; |; |{To define current magicka percentages depending on conditions} Actor Property exActor{make exActor be the effect target, no idea how besides OnEffectStart}Int Property ActorRestorationLvl = exActor.GetActorValue(Restoration)Int Property ActorAlterationLvl = exActor.GetActorValue(Alteration)Int Property TotalAltAndRestorLvl = (ActorRestorationLvl + ActorAlterationLvl) ;While exActor.GetActorValuePercent(Magicka) < 100; RegisterForSingleUpdate = 5{update every 5 s if Magicka is not full};EndWhile{Not idea if it is needed or adequately written, much less if it's the best way to make it check multiple times} Event {don't know which event I should use so it re-checks every 5.0 seconds} If TotalAltAndRestorLvl >= {number representing how used to mental tasks actor is} MagickaTreshholdA = {set a value for each treshhold} If exActor.GetActorValuePercentage(magicka) < MagickaTreshholdA {commands to make view darker(maybe Imod), increase spell cost by percentage, and debuff magic skills, alchemy, speech and smithing} ElseIf {compare magicka percentage to each treshhold} Else EndIf ElseIf {compare TotalAltAndRestorLvl to another number} MagickaTreshholdA = {repeat previous with different values} If {same conditions as above} EndIf Else EndIfEndEvent Edited November 8, 2015 by cajofor Link to comment Share on other sites More sharing options...
Recommended Posts