cyb3rpsych0s1s / 4ddicted

CP2077 mod
MIT License
6 stars 3 forks source link

incorrectly balanced BlackLace and NeuroBlockers #120

Open Roms1383 opened 7 months ago

Roms1383 commented 7 months ago

As reported by Roadblock101 on Nexus, there's not enough BlackLace and NeuroBlockers for people to really experience their addiction mechanism.

To Reproduce

I'd not consumed enough of each item from my testing. Having seen your debug code from your video, I'm assuming how it works is you have to have a total number of doses per item before symptoms show. ie. need to consume 40+ Maxdoc in total before notable or 40+ Blacklace in total before notable. The book of knowledge on github alluded to only having to consume a few before becoming addicted.

I'd incorrectly assumed that each item would have different scales of 'addictiveness' to reach the commonly shared thresholds of 40 or 60. e.g. Maxdoc may have a value of 2, meaning you'd need to take 20 uses to reach a threshold but Blacklace might have a value of 10 meaning only 4 doses would reach the notably addicted threshold.

This is probably where I've been going wrong. In vanilla CP2077, its highly unlikely there are 40+ Blacklaces to be consumed in a normal playthrough so the mechanisms may never pop. You'd have to find and kill over 40 junkies in Dogtown and then huff it to get the effects. With Synthdose its possible but again, you have to be roleplaying a junkie to take 40+ Blacklace but the effects are going to just outright kill you from toxicity. Even taking 3 in rapid succession is dangerous and you'd need to this nearly 13 times to notice the addiction has kicked in. Similarly with Neuroblockers, as they last so long, a player may never consume enough on a play through while also sleeping to get rid of the cyberpsycho effect to become addicted if they aren't consuming 40+ of them rapidly.

As such I may just tweak the thresholds down in your Definitions file so it means I'd face the effects more frequently.

Not sure if its doable to give each item an 'addictiveness score' so they all reach the intended thresholds at different amounts of consumption but feel it would make the mechanisms more obvious and more people would get to see your great work more frequently.

Expected behavior The BlackLace and NeuroBlockers should (either or all):

or any other tricks that would make V addicted faster, while still maintaining reasonable gameplay balance.

Roms1383 commented 7 months ago

@Phoenica would you feel like giving a hand on this one ?

Phoenica commented 7 months ago

Had some thoughts about it :D, gonna have time tommorow to write a bit

Phoenica commented 7 months ago

Oki, so looking at the numbers: 24hour cycle in game lasts 3 hours real time. So if player tries to sleep realisticly ( which might happen especialy when playing Wannabe / survival mod) this means sleep roughly every 2 hours of game time. Sleep gives -2 for addiction for most drugs (-1 for blacklace / alcohol)

Lets look how many times certain drugs might be used:

Since the drug potency is 1 for most, and 2 for black lace, it does seem to, that most addictions are very hard to develop ( might be even countered by the sleep)

So it does seem like increasing potency would be a good idea, ( the more it supposed to be addictive in lore, and how much player is realisticly going to use it in game). I also had this idea, that addictions feel like something that does develop over time. So for example, in real life if you smoked 30 cigaretes in one day, and not again, it would probably less addictive, if you smoked 1 cigarette a day for 30 days.

I was thinking that player could be rewarded/punished, if he keeps doing something every day. So for example, first whif of black lace in a day, could increase addiction to it for player by like 8. But each subsequent use of it in 24h window( in game) would only increase it by 2. Also stopping using drug could work like this. If you dont use black lace for 1 day, sleeping will lower addiction by 1, 2 days - lower addiction by 2 on sleep. On third day, lower addiction by 3 on sleep, and so on.

Was thinking, each item, could have ita own addiction number, for first/ subsequent use, to better tailor it for gameplay.

Even for healers ( i assume they share addictions? If I understand code correctly?), combat heal might increase addiction by 2or 1, but the health buff that lasts 30 minutes, could increase it by for example 5.

Phoenica commented 7 months ago

I also yhink increasing aviability of black lace, might be nice touch in your mod. In synthdose I actually added it to few drug vendors, (blacklacev1), if you want you could maybe add it to same vendors too?

Roms1383 commented 7 months ago

Oki, so looking at the numbers: 24hour cycle in game lasts 3 hours real time. So if player tries to sleep realisticly ( which might happen especialy when playing Wannabe / survival mod) this means sleep roughly every 2 hours of game time. Sleep gives -2 for addiction for most drugs (-1 for blacklace / alcohol)

Correct.

Lets look how many times certain drugs might be used:

  • healers - multiple times a fight, which might translate into a lot throught a in game day

Yes, for this consumable I think it's already well-balanced, at least that's the feeling I had when playing myself for hours with it.

  • black lace - since it lasts 5 minutes in vanila, it would probably used once per fight / twice in longer mission. Player is likely to only be able to farm it late game ( dog town), so small chance of developing addiction. With synthdose, it might be viable to use them once or twice per fight though.
  • neuroblockers: they last 8 minutes, and are scarsly aviable. I would guess player could use them 1-3 times a day, and on some days they might not have them either.
  • long buffs, like ram jolts - they last 30 minutes, so I dont think they would be used more then once, maybe twice a day.

Very good analysis.

Since the drug potency is 1 for most, and 2 for black lace, it does seem to, that most addictions are very hard to develop ( might be even countered by the sleep)

Agreed.

So it does seem like increasing potency would be a good idea, ( the more it supposed to be addictive in lore, and how much player is realisticly going to use it in game).

Yes, maybe it would be worth refactoring it on a per-consumable basis.

But there's other ways to "artificially" make addiction increases faster.

For example, another idea that came to my mind yesterday evening was:

This would create an interesting gameplay loop where, e.g. if player never use both NeuroBlocker and Sandevistan at the same time, (s)he is unlikely to ever get addicted at all. But on the other hand, players usually want to use NeuroBlocker to block the effect of Cyberpsychosis and be able to go wild on using cyberware, where in this situation NeuroBlocker's addiction is likely to increase very fast.

Maybe a little bit of both?

I also had this idea, that addictions feel like something that does develop over time. So for example, in real life if you smoked 30 cigaretes in one day, and not again, it would probably less addictive, if you smoked 1 cigarette a day for 30 days.

I was thinking that player could be rewarded/punished, if he keeps doing something every day. So for example, first whif of black lace in a day, could increase addiction to it for player by like 8. But each subsequent use of it in 24h window( in game) would only increase it by 2. Also stopping using drug could work like this. If you dont use black lace for 1 day, sleeping will lower addiction by 1, 2 days - lower addiction by 2 on sleep. On third day, lower addiction by 3 on sleep, and so on.

Was thinking, each item, could have ita own addiction number, for first/ subsequent use, to better tailor it for gameplay.

I had a similar idea in mind, where addiction's increase would be influenced by over-consumption (consuming too many a day) and habit (consuming it daily / on a regular basis). It would imply modifying a lot of Addicted's internals though, so such a change should be implemented carefully to avoid potential regressions.

Even for healers ( i assume they share addictions? If I understand code correctly?)

Well spotted, they totally share addiction.

combat heal might increase addiction by 2or 1, but the health buff that lasts 30 minutes, could increase it by for example 5.

Yes that's a good idea too.

I also yhink increasing aviability of black lace, might be nice touch in your mod. In synthdose I actually added it to few drug vendors, (blacklacev1), if you want you could maybe add it to same vendors too?

Not only to vendors, I'd actually like to:

Finally I would suggest we agree on a couple of fixes and tackle them together on separate PR. Let me know what you think too :)

Phoenica commented 7 months ago
  • when consuming NeuroBlocker
  • each time player uses a cyberware that slows time (e.g. Sandevistan, Kerenzikov, Reflex tuner, Revulsor etc), NeuroBlocker additction increases by e.g. 3 or 4
  • each time player uses a quick hack or cyberware that requires a lot of mental focus (e.g. higher levels of quick hack, cyberware like Bioconductor, COX-2 Cybersomatic Optimizer, Ex-Disk, etc), addiction increases by e.g. 1 or 2

This would create an interesting gameplay loop where, e.g. if player never use both NeuroBlocker and Sandevistan at the same time, (s)he is unlikely to ever get addicted at all. But on the other hand, players usually want to use NeuroBlocker to block the effect of Cyberpsychosis and be able to go wild on using cyberware, where in this situation NeuroBlocker's addiction is likely to increase very fast.

Oooo that's interesting idea. I guess would be good idea to cap the addiction that player can get in one day from it though? So they don't get immediately addicted. I was thinking, maybe there is a function in wanna be edgerunner, that we could hook into, whenever something that would cause humanity to drop while player is under affect of neuroblocker, it would than it could add into the addcition instead with the factor like 1/10. (so if sandevistan in edgerunning is causing 10 humanity lose, than using it with neuroblocker, would add +1 to the addiction).

Not only to vendors, I'd actually like to:

  • add a chance to loot some when killing gang members
  • with a greater chance to loot it on Maelstroms (in the lore they are big consumers of BlackLace)
  • add a very small chance to loot it on regular NPC
  • with a greater chance to loot it on NPC with drug addict or homeless appearances + in dangerous neighborhoods in general
  • all these additional loots should only happen after the mission The Pickup with Royce and Dumdum (otherwise it kinda ruins the cutscene where Dumdum offers you one for the first time)

Sounds good :D

Phoenica commented 7 months ago

Finally I would suggest we agree on a couple of fixes and tackle them together on separate PR. Let me know what you think too :)

Sounds good, let me know how you want to tackle it :D

Roms1383 commented 7 months ago

Sounds good, let me know how you want to tackle it :D

Make mini PR like the one I just started for loots #122 :)

Roms1383 commented 7 months ago

Oooo that's interesting idea. I guess would be good idea to cap the addiction that player can get in one day from it though? So they don't get immediately addicted. I was thinking, maybe there is a function in wanna be edgerunner, that we could hook into, whenever something that would cause humanity to drop while player is under affect of neuroblocker, it would than it could add into the addcition instead with the factor like 1/10. (so if sandevistan in edgerunning is causing 10 humanity lose, than using it with neuroblocker, would add +1 to the addiction).

Sounds complicated and heavily relying on Wannabe Edgerunner, isn't it ? I'd personally go with something simpler.

By the way there's already some cross-compatible gameplay in Crossover.reds. For example, consuming BlackLace decrease Humanity

Roms1383 commented 7 months ago

This commit ecf22974003d5991b1073d2b49f3f8762e81de53 is also related, and should address deadlock on GLPS.GetAppliedPackages call.