I want to make a mod to make NPCs gain experiencelevel up as

Post » Sat Jul 07, 2012 9:09 am

I'm using T.I.E. along with a couple of other mods that make the NPCs in the world static and make the level of spawned enemy creatures and NPCs random. I've been going for a sort of 'first person version of ADOM' feel, but with Duke Patrick's mods to add a nice feeling of realism and survival. Because of this, it means that all NPC's are static, which is both good and bad.

Static NPC's are good, since it means leveling up your character actually changes your strength relationship with everything in the game.

Static NPC's are bad (in Oblivion), since it means they don't EVER level up, even if they manage to survive a huge battle/things that would level up a Player Character. This is especially relevent for companions. (I use Share and Recruit)

I'm looking for a way to assign, track, and apply some sort of experience points to "level up" NPCs as they kill things or use skills. This is mostly intended to effect companions, but might be useful for unique characters too.

If it could be done similar to the formula used for the player in mods like Realistic Leveling, this would be ideal. An arbitrary 'points' system could be made to work too as a simpler, lower impact alternative (This is what I'm outlining below).

Anyone have any suggestions on where I should start to get this done?

My idea so far looks a little like this:

Create a "track experience and level up" script that would be applied to a companion/NPC if it detected something like Duke Patrick's companion ring in its inventory (but numbered, so it would create ring # 1,2,3,etc everytime it was given, so it could track more than one npc) and would update everytime the so designated NPC/s performed certain skill related actions (picked a lock, killed a creature/npc, etc).

This would look like:

if {our guy1} (kills a creature, picks a lock, makes a potion, etc) then add {10, 5, 900, etc} experience points

If {our guy1's total experience points} = 1300 then set {our guy's level} to level 10. If {our guy1's total experience points} = 2800 then set {our guy's level} to level 11.

And so on.

Does the normal "auto calc stats" update if an NPC's level is raised during play? Or would you need to actually write out the formula in the script itself so it would know how to update all the NPC's stats individually according to what level the NPC was at?
User avatar
April
 
Posts: 3479
Joined: Tue Jun 20, 2006 1:33 am

Return to IV - Oblivion