So in short, I'm working on a new mod... A static attributes mod. It's different than attributes were ever handled in TES more similar to Fallout, being functionally a cross between Daggerfall/Morrowind/Oblivion's "Choose two main attributes" and Fallouts "Choose this amount of these attributes", but with three main attributes rather than two.
It will work like this... With 7 Attributes, on top of the three main ones in vanilla Skyrim... With Stamina/Magicka being altered to make this well integrated with Skyrim. The way it works is basically if you have Health as a main stat for instance, that's 45 extra health, but with health not as a main stat that's 45 less health, or 120 carry weight with Strength as a main stat but 50 less carry weight if it's not a main stat.
And stuff like melee damage except daggers is 40% more powerful with Strength, or Spellpower makes all spells last 40% longer and be 40% more powerful and so on.
So you finally have the option for strengths and weaknesses, and unless you choose the "Jack Of All Trades" phenotype your character will inevitably have permanent weaknesses leveling and training cannot remove, but it's made rewarding by making them more specialized in certain ways. So you can finally customize a character from the start to say, be good at melee combat, be good at surviving and running... But be a terrible caster and have terrible charisma even with training. Or a archetypical frail mage, or a more unusual strong but slow mage... Things like that. The idea is to make each character feel very different, while also avoiding the very old fashioned mechanics of prior TES games, where characters have a tendency of ending up with less unique stats. I think the problem with prior TES games is characters ending up with near 100 in each attribute, meanwhile I think the problem in Skyrim is only three very simple attributes... Hence the whole idea for this mod.
Strength: Carry weight, Melee Damage (except daggers), Block
Health: hit points
Spellpower: Magical power
Speed: Run speed/attack speed/Ranged Damage/Fall Damage Reduction/PickPocket Chance/Crit Chance
Magicka: max magicka/staff damage
Charisma: Voice power barter (And hopefully) companion power
It will also rely upon a start enabled quest activating scripts that add spells to the player ensuring it's virtually impossible for it to be incompatible with anything. I wish I knew how to do that a long time ago, though it will assure this mod being highly compatible in spite of how ambitious it may sound. Embarrassed to say I went years modding without ever learning that until recently, anyways.
Magicka is just additional magicka health is just additional bonus health... Stamina itself will be altered to no longer increase carry weight, Magicka will be altered to make spellpower scale but somewhat less dramatically than another mod that focuses solely upon that. So far it's all going well... Only problem being I'm trying to make a cloak that increases the run speed of certain types of NPCs and creatures depending on what makes the most sense, to properly balance out the run speed thing.
So I tried this out... http://www.creationkit.com/Dynamically_Attaching_Scripts#Create_the_Cloak_AbilityI believe I mostly did as suggested, but since things got complicated I tried out something much simpler trying to figure things out... An simple Alternate cloak spell. And I made one that sort of worked, it added the fire visuals to anything within 192 feet, that did no damage. Problem is the script effect on the spell the script projects from the cloak isn't working here's a few screenshots.
http://imgur.com/a/tnDPV
And here's the giant behemoth speedmult altering script effects script.
Scriptname AABANPCSPeedTestaScri extends ActiveMagicEffect
Spell Property AABNPCSpeedActorsAbility Auto
Actor Property akTarget Auto
Race Property SabreCatRace Auto
Race Property SabreCatSnowyRace Auto
Race Property KhajiitRaceVampire Auto
Race Property DeerRace Auto
Race Property ElkRace Auto
Race Property HareRace Auto
Race Property ChaurusRace Auto
Race Property ChaurusReabichce Auto
Race Property SprigganSwarmRace Auto
Race Property C06WolfSpiritRace Auto
Race Property AtronachFlameRace Auto
Race Property WolfRace Auto
Race Property DarkElfRaceVampire Auto
Race Property RedguardRaceVampire Auto
Race Property ArgonianRaceVampire Auto
Race Property ElderRaceVampire Auto
Race Property DragonPriestRace Auto
Race Property DremoraRace Auto
Race Property WoodElfRaceVampire Auto
Race Property NordRaceVampire Auto
Race Property OrcRaceVampire Auto
Race Property ImperialRaceVampire Auto
Race Property BretonRaceChildVampire Auto
Race Property BretonRaceVampire Auto
Race Property HighElfRaceVampire Auto
Race Property DwarvenSphereRace Auto
Race Property HorseRace Auto
Race Property WispRace Auto
Race Property WispShadeRace Auto
Race Property KhajiitRace Auto
Race Property FoxRace Auto
Race Property AtronachStormRace Auto
Race Property DA03BarbasDogRace Auto
Race Property DogRace Auto
Race Property MG07DogRace Auto
Race Property DogCompanionRace Auto
Race Property WoodElfRace Auto
Race Property BearBlackRace Auto
Race Property BearBrownRace Auto
Race Property BearSnowRace Auto
Race Property DwarvenCenturionRace Auto
Race Property DwarvenSpiderRace Auto
Race Property MammothRace Auto
Race Property DarkelfRace Auto
Race Property RedguardRace Auto
Race Property ArgonianRace Auto
Race Property SkeeverRace Auto
Race Property SkeeverWhiteRace Auto
Event OnEffectStart(Actor akTarget, Actor akCaster)
If akTarget.GetRace() == SabreCatRace
akTarget.ModAV ("SpeedMult", 40)
ElseIf akTarget.GetRace() == SabreCatSnowyRace
akTarget.ModAV ("SpeedMult", 40)
ElseIf akTarget.GetRace() == KhajiitRaceVampire
akTarget.ModAV ("SpeedMult", 40)
ElseIf akTarget.GetRace() == DeerRace
akTarget.ModAV ("SpeedMult", 39)
ElseIf akTarget.GetRace() == ElkRace
akTarget.ModAV ("SpeedMult", 38)
ElseIf akTarget.GetRace() == HareRace
akTarget.ModAV ("SpeedMult", 37)
ElseIf akTarget.GetRace() == ChaurusRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == ChaurusReabichce
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == SprigganSwarmRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == C06WolfSpiritRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == AtronachFlameRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == WolfRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == DarkElfRaceVampire
akTarget.ModAV ("SpeedMult", 33)
ElseIf akTarget.GetRace() == RedguardRaceVampire
akTarget.ModAV ("SpeedMult", 33)
ElseIf akTarget.GetRace() == ArgonianRaceVampire
akTarget.ModAV ("SpeedMult", 32)
ElseIf akTarget.GetRace() == ElderRaceVampire
akTarget.ModAV ("SpeedMult", 30)
ElseIf akTarget.GetRace() == DragonPriestRace
akTarget.ModAV ("SpeedMult", 30)
ElseIf akTarget.GetRace() == DremoraRace
akTarget.ModAV ("SpeedMult", 30)
ElseIf akTarget.GetRace() == WoodElfRaceVampire
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == NordRaceVampire
akTarget.ModAV ("SpeedMult", 28)
ElseIf akTarget.GetRace() == OrcRaceVampire
akTarget.ModAV ("SpeedMult", 28)
ElseIf akTarget.GetRace() == ImperialRaceVampire
akTarget.ModAV ("SpeedMult", 26)
ElseIf akTarget.GetRace() == BretonRaceChildVampire
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == BretonRaceVampire
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == HighElfRaceVampire
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == DwarvenSphereRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == HorseRace
akTarget.ModAV ("SpeedMult", 30)
ElseIf akTarget.GetRace() == WispRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == WispShadeRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == KhajiitRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == FoxRace
akTarget.ModAV ("SpeedMult", 35)
ElseIf akTarget.GetRace() == AtronachStormRace
akTarget.ModAV ("SpeedMult", 30)
ElseIf akTarget.GetRace() == DA03BarbasDogRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == DogRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == MG07DogRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == DogCompanionRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == WoodElfRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == BearBlackRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == BearBrownRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == BearSnowRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == DwarvenCenturionRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == DwarvenSpiderRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == MammothRace
akTarget.ModAV ("SpeedMult", 25)
ElseIf akTarget.GetRace() == DarkElfRace
akTarget.ModAV ("SpeedMult", 15)
ElseIf akTarget.GetRace() == RedguardRace
akTarget.ModAV ("SpeedMult", 15)
ElseIf akTarget.GetRace() == ArgonianRace
akTarget.ModAV ("SpeedMult", 13)
ElseIf akTarget.GetRace() == SkeeverRace
akTarget.ModAV ("SpeedMult", 10)
ElseIf akTarget.GetRace() == SkeeverWhiteRace
akTarget.ModAV ("SpeedMult", 10)
EndIf
EndEvent
I'm trying to set it all up, where altering the speed of creatures and NPCs is compatible with other mods... And is also fairly believable. Hence, Sabrecats, and Khajiit Vampires being some of the fastest characters around. With NPC run speed being handled differently than the players, but still something that doesn't feel too off. I also later on have plans of making the speed of some humanoid NPCs scale with stamina as well, adding it to this script. To get rid of the silly issues that almost all NPCs run at the same speed. And since imo Stamina makes more sense representing Speed than Strength.
The problem? The SpeedMult change is not effecting NPCs at all, even though the fire visuals being used for testing show up. Meanwhile a very similar SpeedMult script works fine for the player in the Stat Choice starter menu I made. The script even compiles properly yet doesn't function at all. Any advice on why the SpeedMult of NPCs in the cloak range isn't being changed? Am I doing something wrong, or does this type of thing, simply not work for some reason?
What would you recommend I do? Keep trying to figure out a way to create a cloak effect that alters the SpeedMult of faster types of NPCs around the player, or should I go on some big project to alter movement speed of various actors, and just accept compatibility issues? The main reason I want to do it this way, is because I want stuff like characters who aren't speed specialized to be unable to outrun Sabrecats, and I want being able to run as fast as a Sabrecat to feel like something special, that not any character with any build can do... As a warrior in full steel running as fast as a Sabrecat... Is kinda strange.
Any advice on how to implement this would be greatly appreciated, and I'll be sure to credit you upon releasing this mod if you can help me solve this speed mystery.