[RELz] Dragon Souls -> Perk Points

Post » Tue May 22, 2012 10:06 pm

Love the idea/mod.

Thanks for posting the source code. Would like something a little more dynamic for my tastes. I'm thinking something like the following:

perk_cost = ((spent_perks + unspent_perks) / 10) + 5;

Might be a little more balanced than scaling solely on level (since you could max weapon/armor and sit at a level farming perks at a static conversion rate).

Problem is, I didn't see a good way to figure out the number of spent perks digging through ScriptDragon source. I suppose we could iterate through all vanilla perks and count with hasPerk, but that's not a great solution due to the potential for new perks via mods. Hopefully I missed something in there - any suggestions? If I could overcome that problem, I would probably also implement something like a scaling cost decrease based on the number of known words using isWordUnlocked method (though I suppose that raises the same issue).

One other thing - not sure if there is any way to check if a player is currently using an enchanting station, but this mod triggers when editing the name of an enchanted item (e.g. "Crafter's Chain"). Luckily I didn't have enough souls at the time. I have since changed my hotkey in the .ini, but something to consider if possible.

Thanks,

Kyne
User avatar
Lizs
 
Posts: 3497
Joined: Mon Jul 17, 2006 11:45 pm

Post » Tue May 22, 2012 12:56 pm

There is one way to check if the player is using the enchanting station: checking to see if the player is in menu mode. I've changed the code for this in the next version:
if ( !Utility::IsInMenuMode() && GetKeyPressed( keyBuyPerkPoint ) ) {
Thanks for the suggestion. :)

As far as the cost... well, spent_perks + unspent_perks is usually just your level, unless you're using a mod like this or a mod that gives you more than one perk per level. So without counting souls from this mod, it could be:
perk_cost = ( ( ( level - 1 ) * scale / divisor ) + constant );

Another thought is to have this mod keep track of the number of conversions you've done in the past.
perk_cost = ( ( ( ( level - 1 ) * perks_per_level + num_of_conversions ) * scale / divisor ) + constant );

Granted at those points we're getting to too many settings, and having the user do math (gasp!) and think hard about how it effects long-term balance just to be able to customize the mod.

Assume the player kills 10 dragons and hasn't spent their souls by level 20. The formulas above, using your preferences for scale/divisor would spit out:
perk_cost = ( ( ( ( 20 - 1 ) * 1 + 0 ) * 1 / 10 ) + 5 ) = ( ( 19 * 0.10 ) + 5 ) = ( 1.9 + 5 ) = 1 [or 2 if we always round up].

Now, let's see at 100 souls, calculating for having spent all of them. We'll assume the player is, say, level 37.
perk_cost = ( ( ( ( 37 - 1 ) * 1 + 10 ) * 1 / 10 ) + 5 ) = ( ( 46 * 0.10 ) + 5 ) = ( 4.6 + 5 ) = 9 [or 10 if we always round up].

Anyway. It would take 10 additional perk points to bump up the value by 1. 10 perk points, assuming a standard rate of exchange of 10 per point, would take 100 dragon souls. So the only difference in your formula between a guy who has spent 0 souls to get perk points and a guy who has spent 100 souls to get perk points is an additional cost of 1.

You're free to code that yourself if you want (yay open source!), but writing some data storage functionality and doing file I/O every time you use it for an additional 1 cost for every 100 dragons isn't worth the payoff for me. :)
User avatar
Nikki Hype
 
Posts: 3429
Joined: Mon Jan 01, 2007 12:38 pm

Post » Tue May 22, 2012 9:46 pm

What an excellent idea. When I start playing again (waiting for patches to settle down a bit and such), this will definitely be in my LO.
User avatar
Schel[Anne]FTL
 
Posts: 3384
Joined: Thu Nov 16, 2006 6:53 pm

Post » Wed May 23, 2012 4:16 am

I occasionally loose some of my souls when I do this but I had no reason to have 18 when I only needed three more words. So great mod, and can use some improvements. But still it works well.

Oh and by loose I mean some don't change but still get removed. But it is bearable.
User avatar
Dominic Vaughan
 
Posts: 3531
Joined: Mon May 14, 2007 1:47 pm

Post » Tue May 22, 2012 9:57 pm

I occasionally loose some of my souls when I do this but I had no reason to have 18 when I only needed three more words. So great mod, and can use some improvements. But still it works well.

Oh and by loose I mean some don't change but still get removed. But it is bearable.
Could you please provide a bit more information? :)

Just to be clear, this mod will remove dragon souls from the player, in exchange for a perk point.
User avatar
Kayla Oatney
 
Posts: 3472
Joined: Sat Jan 20, 2007 9:02 pm

Post » Wed May 23, 2012 3:39 am

Nice work.

Is there any way to make it so that the number of souls needed to convert to a perk increments by a set amount each time (i.e. first Perk costs 3 souls, second perk costs 6, third costs 9)? I like the idea of being able to get a few extra perks fairly easily; but I feel that beyond that should require me to do some serious dragon hunting.
User avatar
rebecca moody
 
Posts: 3430
Joined: Mon Mar 05, 2007 3:01 pm

Post » Tue May 22, 2012 8:32 pm

Could you please provide a bit more information? :)

Just to be clear, this mod will remove dragon souls from the player, in exchange for a perk point.
I just mean I occasionally loose more dragon souls then required to gain the perks, I went and set the dragon souls to perk ratio at 3 souls to 1 perk and sometimes I end up loosing 12 souls and gaining only 3 perks (for those bad at math I should of had 4). Doesn't bother me much but I don't know if it is the mod or my computer. Even with that I still think it an excellent mod. Only happened twice so I don't know what the cause is.
User avatar
Peter lopez
 
Posts: 3383
Joined: Mon Sep 10, 2007 5:55 pm

Post » Tue May 22, 2012 5:59 pm

I just mean I occasionally loose more dragon souls then required to gain the perks, I went and set the dragon souls to perk ratio at 3 souls to 1 perk and sometimes I end up loosing 12 souls and gaining only 3 perks (for those bad at math I should of had 4). Doesn't bother me much but I don't know if it is the mod or my computer. Even with that I still think it an excellent mod. Only happened twice so I don't know what the cause is.
Are you sure you downloaded v1.1 of the mod? The first version of the mod did have this issue, due to a bug in setav and the dragonsouls actor value.
User avatar
Emily abigail Villarreal
 
Posts: 3433
Joined: Mon Aug 27, 2007 9:38 am

Post » Wed May 23, 2012 3:27 am

One other thing - not sure if there is any way to check if a player is currently using an enchanting station, but this mod triggers when editing the name of an enchanted item (e.g. "Crafter's Chain"). Luckily I didn't have enough souls at the time. I have since changed my hotkey in the .ini, but something to consider if possible.
Well, I went to go test my fix to this. Apparently the enchanting station does not count as menu mode. :\ This will be annoying for plugin mods too in the future.

Currently thinking of other ways to detect if the player is trying to type.
User avatar
Sierra Ritsuka
 
Posts: 3506
Joined: Mon Dec 11, 2006 7:56 am

Post » Tue May 22, 2012 9:36 pm

Well, I went to go test my fix to this. Apparently the enchanting station does not count as menu mode. :\ This will be annoying for plugin mods too in the future.

Currently thinking of other ways to detect if the player is trying to type.
I'd think that pretty much has to be in there already; it's just a matter of finding it. Otherwise, you'd only get as far as "Crafte" before your "Crafter's Chain" would be interrupted by stepping away from the enchanting table. (Assuming you weren't interrupted first by the "r" pulling a weapon out, the "a" sidestepping to the left, or the "t" asking how many hours you want to wait...)
User avatar
jenny goodwin
 
Posts: 3461
Joined: Wed Sep 13, 2006 4:57 am

Post » Tue May 22, 2012 11:44 pm

Version 1.2 has been released (for Skyrim v1.1 still).

Version 1.2 adds MenuMode checks, so that the mod will not trigger while you're in a menu. It also adds a check to see if the user is typing an enchantment name, and no longer triggers then. https://github.com/NullCascade/Null-s-Elder-Scrolls-Modifications/commits/master/Script%20Dragon/soulstoperks.cpp

I'd think that pretty much has to be in there already; it's just a matter of finding it. Otherwise, you'd only get as far as "Crafte" before your "Crafter's Chain" would be interrupted by stepping away from the enchanting table. (Assuming you weren't interrupted first by the "r" pulling a weapon out, the "a" sidestepping to the left, or the "t" asking how many hours you want to wait...)
It seems that there are multiple checks to see what type of input the game is expecting: movement/action, UI input, or text input for example. I had to find the state in memory (luckily static) that determines if the game is expecting user input.
User avatar
Jessica Phoenix
 
Posts: 3420
Joined: Sat Jun 24, 2006 8:49 am

Post » Tue May 22, 2012 2:12 pm

Any chance of this being updated for Skyrim 1.2 anytime soon?
User avatar
sarah taylor
 
Posts: 3490
Joined: Thu Nov 16, 2006 3:36 pm

Post » Tue May 22, 2012 8:03 pm

Any chance of this being updated for Skyrim 1.2 anytime soon?
I'll be testing my mods on 1.2 here shortly, and will update them. It may be a bit, since I have to do more than simply recompile for some of them.
User avatar
Richard
 
Posts: 3371
Joined: Sat Oct 13, 2007 2:50 pm

Post » Tue May 22, 2012 1:52 pm

I'll be testing my mods on 1.2 here shortly, and will update them. It may be a bit, since I have to do more than simply recompile for some of them.

No rush, just curious if you were planning on doing it or waiting until the next (hopefully less broken) patch.
User avatar
Averielle Garcia
 
Posts: 3491
Joined: Fri Aug 24, 2007 3:41 pm

Post » Tue May 22, 2012 9:26 pm

No rush, just curious if you were planning on doing it or waiting until the next (hopefully less broken) patch.
I'm waiting on a response from hitachihex to get this and my Toggle UI mods updated for v1.2. I'm using some of his code to get/set the player's perk points and set the HUD opacity. Once he has time to respond and let me know if he can help or not I'll get v1.2 support out.

*Crosses fingers.*

I've been trying to replicate his work, but my debugger seems to absolutely hate Skyrim. I can read memory and everything fine, but the moment I start to see what reads/writes where, it crashes and burns. :\
User avatar
Sammygirl
 
Posts: 3378
Joined: Fri Jun 16, 2006 6:15 pm

Post » Tue May 22, 2012 1:33 pm

Wait, script mods don't work with Skyrim v1.2?
User avatar
trisha punch
 
Posts: 3410
Joined: Thu Jul 13, 2006 5:38 am

Post » Wed May 23, 2012 3:25 am

Wait, script mods don't work with Skyrim v1.2?
They do, but some things change from version to version. So while some SD mods might not need to be updated for v1.2 (like my No Fast Travel mod), others need to be because of how they are made.

Anywho, talking with hitachi now, and will hopefully get something out tonight.
User avatar
mollypop
 
Posts: 3420
Joined: Fri Jan 05, 2007 1:47 am

Post » Wed May 23, 2012 3:18 am

Nice mod, I just can't picture myself making this game even easier though. Really starts to dull down being level 77 in good gear.
User avatar
Melung Chan
 
Posts: 3340
Joined: Sun Jun 24, 2007 4:15 am

Post » Tue May 22, 2012 5:11 pm

Version 1.3 has been released (for Skyrim v1.2).

Version 1.3 updates the mod to play nice with Skyrim v1.2's offsets. It will now give you your perk points, rather than randomly modifying a now-unrelated section of memory. No further edits, but it is more optimized.

Nice mod, I just can't picture myself making this game even easier though. Really starts to dull down being level 77 in good gear.
Yeah, it does add more power, but if you're worried about that don't use the mod or make the cost very high. :) This is meant for late-game added perks anyway, to make it so you can get more powerful after level 80 and can actually do stuff with dragon souls.
User avatar
Tarka
 
Posts: 3430
Joined: Sun Jun 10, 2007 9:22 pm

Post » Tue May 22, 2012 9:16 pm

Version 1.3 has been released (for Skyrim v1.2).

Version 1.3 updates the mod to play nice with Skyrim v1.2's offsets. It will now give you your perk points, rather than randomly modifying a now-unrelated section of memory. No further edits, but it is more optimized.

Yeah, it does add more power, but if you're worried about that don't use the mod or make the cost very high. :) This is meant for late-game added perks anyway, to make it so you can get more powerful after level 80 and can actually do stuff with dragon souls.

I think it's a wonderful mod that you've made. But I want some sort of mod that comes out that makes the games 20x harder before I download it. GJ though.
User avatar
Pixie
 
Posts: 3430
Joined: Sat Oct 07, 2006 4:50 am

Post » Tue May 22, 2012 10:23 pm

Great stuff, though 10 souls is a little steep don't you think? I changed it to 2, but maybe I'm being too generous.
Well aparantly you just build up MOUNTAINS of spare souls, and Perks are powerful things that shouldn't just be given for little work. Then again, thats exactly why it's configurable. You can make it 2, and I can make it whatever I want. :D
User avatar
Susan Elizabeth
 
Posts: 3420
Joined: Sat Oct 21, 2006 4:35 pm

Post » Wed May 23, 2012 4:14 am

I've been testing my mods to make sure they can run on both v1.1 AND v1.2 of Skyrim.

I have a http://nullcascade.com/dl/mods/skyrim/soulsToPerks_v1-4_dev.zip that I'd like to have a few people test before releasing officially.

If you test, please post here telling me:
1) Does it work? It gives you a perk point increment with enough souls? Removes the souls?
2) What version of Skyrim are you using?
3) Go to an enchanting station and try to make an enchantment. Go to rename the item, and hit your key. Does it give you a message or is the mod disabled while renaming an item?

Thank you to those that offer testing. :) I've tested for v1.2, but not v1.1, as I've upgraded to v1.2.

And, as always, be sure to back up your saves before trying anything new.
User avatar
Kelvin
 
Posts: 3405
Joined: Sat Nov 17, 2007 10:22 am

Post » Wed May 23, 2012 3:16 am

Updated to version 1.5, for Skyrim v1.3.7.0 and v1.3.10.0. The mod still supports and works with v1.1.21.0 and v1.2.12.0 of Skyrim.
User avatar
Minako
 
Posts: 3379
Joined: Sun Mar 18, 2007 9:50 pm

Post » Wed May 23, 2012 3:03 am

i could not wait so i downloaded your source code

but how do you find things like "IsRenaming" address and "PerkPoints" Offsets
User avatar
Ross Zombie
 
Posts: 3328
Joined: Wed Jul 11, 2007 5:40 pm

Post » Wed May 23, 2012 3:29 am

good work :D
User avatar
(G-yen)
 
Posts: 3385
Joined: Thu Oct 11, 2007 11:10 pm

PreviousNext

Return to V - Skyrim