68533d3edc71f

Page: [1] 2 »
68533d3ee0906
1 Guest is here.
 

Topic: SS2 Psi Regen Read 6720 times  

68533d3ee1373
Tags: °SS2 °dml °minimod

System Shock 2 Psi Regen v3
June 5, 2025
by Alexander Basov

Requires SS2 NewDark patch v2.48 or higher.

Description
After the thousandth playthrough, you crave new emotions.
That's why I created this mod that adds psi energy regeneration over time.
Undoubtedly, this breaks the balance, and if you haven't played SS2 yet, do not install this mod.
But for veteran players, it allows you to complete the game with a 100% focus on psi, offering a new perspective on the game.

Features
Regenerates psi energy by 1 unit per minute.
Regen time decreased by 5 seconds for each level of PSI.

Technical Details
To change the regeneration period, you can modify the constant REGEN_PERIOD_SECS.
To change the psi stat bonus, you can modify the constant REGEN_TIME_BONUS_PER_LEVEL_SECS.
« Last Edit: 05. June 2025, 23:50:33 by Moderator »
68533d3ee15af
I definitely posted in the modifications section. Why did the message end up here? Did I do something wrong?

68533d3ee174dvoodoo47

68533d3ee17c7
yes, that part where the script is getting attached to the compass hud is not the best way of handling this, most likely. lets wait for ZB and then we'll see.

only users with elevated rights can post mods in the modifications subforum without prior verification, if you don't have that your post will be moved to Rec automatically.

I will probably move this to Eng, that's where wip mods should reside until they are deemed good to go.

68533d3ee1871voodoo47

68533d3ee18c0
so uhh, about placing the script on the compass-hud, is that safe?

68533d3ee1a12ZylonBane

68533d3ee1a6d
Well, it feels wrong because the compass has nothing to do with the player's psi powers. From a logical organization standpoint this should be attached to the player object instead.

But, placing it on a non-player object means a Squirrel script isn't being woken up multiple times per second by all the PlayerScript damage timers. So that's good.

Eh, if it works and doesn't interfere with the functioning of mods that actually belong on the compass object, I don't really care.
68533d3ee1d1c
This is a good idea, it allows you to play through a PSI build a little easier - a PSI only playthrough can be intimidating for some - I've never tried it, but I might be more inclined to try a first PSI playthrough with this, then a second PSI playthrough without this mod but with the knowledge of the PSI abilities and functions that I would have learned from the first playthrough.

Plus it could make you feel like a super hero (-ish) type of character, since you're not necessarily dependant on artificial stimulations (the PSI hypos, etc) to use your extra-human abilities.

Thanks for this mod, Allex.

68533d3ee1dbdvoodoo47

68533d3ee1e0b
guess we can move it to the mods subforum then.

68533d3ee1ed5ZylonBane

68533d3ee1f29
I'm also assuming that the engine code automatically caps the player's psi at their psi max instead of allowing things like this script to just increase it infinitely.

It seems like this idea could be given a little more depth. Like maybe psi regenerates faster the higher your PSI stat.
Acknowledged by: icemann
68533d3ee2506
guess we can move it to the mods subforum then.

What, because I gave it my approval?

I didn't realize I had such power and authority here  :thumb:




It seems like this idea could be given a little more depth. Like maybe psi regenerates faster the higher your PSI stat.

Oh, that would be a good idea, yes.

68533d3ee2603voodoo47

68533d3ee2654
it's basically;

1) mod needs to load in the manager properly
2) mod needs to not crash or break the game
3) mod needs to do what is intended

as far as I can tell, all conditions have been met (the script assigned to the compass hud was a bit questionable, but if ZB says it's fine then it's fine), hence the mod now qualifies to be moved to the mods subforum.
68533d3ee2749
I posted v2 version.
Add regen speed bonus -5 secs for each psi stat
Fix bug with timer duplication on save/load
68533d3ee29ac
I posted v2 version.
Add regen speed bonus -5 secs for each psi stat
Fix bug with timer duplication on save/load

Brilliant, thanks.
68533d3ee2c19
ZylonBane
I'm also assuming that the engine code automatically caps the player's psi at their psi max instead of allowing things like this script to just increase it infinitely.
That's right. That's why I didn't make a clamp, because the engine already did it for me.

68533d3ee2f2fXenoSpyro

68533d3ee2f85
This makes WormSkin actually worth taking over Power Armor now, somewhat. Overall, a pretty cool economic boon for everybody. Psi characters will larp less as heroin addicts, non-Psi characters will larp less as nicotine addicts.

Just an idea if you want make it slightly less free. Regen could instead replace the function of WormMind, or even be a new researchable implant (WormThought?). At least then you'd have to invest into it.

Some things to note.
- Psi stat 1 is being counted, making the base interval 55 seconds, rather than the intended 60. You get level 5 in the training room, and the rate there is 35 seconds. A base of 65 would fix this, if it's a concern.
- Doesn't work past level 8, making the fastest rate every 20 seconds, otherwise it would have been 10 while using both WormSkin and Recursive Psi. It's not mentioned if this limit is intended. It's like it reads from the MFD to set the rate. (In SecMod, the Recursive bonus isn't shown the MFD, so regen doesn't interact with it at all.)
- I was expecting this mod to spread regen to others in multiplayer if the host had it loaded. This doesn't happen.

Plus it could make you feel like a super hero (-ish) type of character

A cyber mage, so to speak.

68533d3ee353dZylonBane

68533d3ee3599
- Doesn't work past level 8
Probably because there's no such thing as "past level 8".
Quote by System Shock 2 manual:
You have five statistics, each with several effects on your abilities. Your stats may only go up to 6 through training, though
temporary conditions such as use of implants may increase them beyond this point to a maximum of 8.

I was expecting this mod to spread regen to others in multiplayer if the host had it loaded.
What made you think that would happen? Has any SS2 mod ever manifested this magical behavior?

68533d3ee369bvoodoo47

68533d3ee36f1
I vaguely remember some games did have this feature (the host's mods getting autoloaded once a MP session is joined). just to clear any potential confusion, SS2 is not such a game, and having a different mod loadout* in a MP game will result in strange and broken behavior. even more than usual.


*texture and object replacements mods should be fine, actually, but if there is a dml that as much as sneezes at the gamesys or maps included, then expect an implosion of epic proportions.
« Last Edit: 12. October 2024, 17:46:11 by voodoo47 »

68533d3ee384cMoreGun

68533d3ee38a9
Doesn't seem to work after loading a save.
68533d3ee39a8
I can confirm that the mod stops working when I've loaded a save-game. Can this be fixed, please?

68533d3ee3a6evoodoo47

68533d3ee3ac3
@allex you probably should take a look and fix. yup, should have given this a quick run when it was released.

68533d3ee3baeZylonBane

68533d3ee3c00
Looks like v2 of the mod introduced some flawed logic in the BeginScript handler:
Code: [Select]
if (!IsDataSet("PsiRegenTimer")) {
StartNextTimer();
}
...which is wrong because his EndScript handler kills the timer and leaves PsiRegenTimer set. Should be:
Code: [Select]
if (IsDataSet("PsiRegenTimer")) {
KillTimer(GetData("PsiRegenTimer"));
}
StartNextTimer();
68533d3ee3cfd
Your fix seems to work perfectly, ZB. Your usual bang up job, thanks mate. Thanks also to Allex for the idea and the original mod.

68533d3ee3db8voodoo47

68533d3ee3e0b
I'll give it a few days and if the author won't check in, I will apply the change and reupload the archive.
68533d3ee40c1
JDoran
ZylonBane's fix is ​​absolutely correct, I uploaded a version of the mod with that code.
This is the code I used during the game. I can't remember why a different version was uploaded here.
« Last Edit: 17. May 2025, 17:11:25 by allex »
Acknowledged by: voodoo47

Your name:
This box must be left blank:

How can you challenge a ____, immortal machine? (Fill in the missing word):
1 Guest is here.
Hmmmmm? What do you think we're trying to say here?
Page: [1] 2 »
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
68533d3ee5409