684c56c522fd9

Page: [1] 2 »
684c56c527395
1 Guest is here.
 

Topic: SS2 Psi Regen Read 6406 times  

684c56c527ce0
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 »
684c56c527e63
I definitely posted in the modifications section. Why did the message end up here? Did I do something wrong?

684c56c52800fvoodoo47

684c56c528069
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.

684c56c528108voodoo47

684c56c528154
so uhh, about placing the script on the compass-hud, is that safe?

684c56c5282ccZylonBane

684c56c528320
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.
684c56c5284da
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.

684c56c528568voodoo47

684c56c5285b4
guess we can move it to the mods subforum then.

684c56c528681ZylonBane

684c56c5286d4
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
684c56c528b93
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.

684c56c528d3avoodoo47

684c56c528d8c
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.
684c56c528e80
I posted v2 version.
Add regen speed bonus -5 secs for each psi stat
Fix bug with timer duplication on save/load
684c56c5290eb
I posted v2 version.
Add regen speed bonus -5 secs for each psi stat
Fix bug with timer duplication on save/load

Brilliant, thanks.
684c56c5293b8
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.

684c56c5297c0XenoSpyro

684c56c52981f
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.

684c56c529cb3ZylonBane

684c56c529d19
- 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?

684c56c529e1cvoodoo47

684c56c529e76
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 »

684c56c529f94MoreGun

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

684c56c52a1e4voodoo47

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

684c56c52a329ZylonBane

684c56c52a377
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();
684c56c52a46b
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.

684c56c52a505voodoo47

684c56c52a558
I'll give it a few days and if the author won't check in, I will apply the change and reupload the archive.
684c56c52a7f9
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 perfect, _____ machine? (Fill in the missing word):
1 Guest is here.
“You came at the right time,” my taxi driver says. “Jamaica is vibing!”
Page: [1] 2 »
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
684c56c52bb36