-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Addiction rework #56923
Addiction rework #56923
Conversation
great pr ol chumster 👍 |
I've attempted this PR like twice but im dumb so cant code THANK YOU |
I am going to give the numbers a balance pass tomorrow. |
honestly I love this change |
I like this change, but it looks like you're just removing happiness addiction in general? Under our current addiction system you can add any reagent to the addiction list and have the player experience the negative moodlets and to_chat messages about craving The alternative is making a class of drug addiction for things sedatives/hypnotics (like benzodiazepenes, barbiturates) but seeing as happiness (and to a lesser extent, psicodine) are the only available medications in this class, it might not be worth the effort. Features of sedative/hypnotic addiction and withdrawal (taken from Wikipedia's article on Benzodiazepine withdrawal syndrome |
happiness would give the withdrawal moodlets like before but wont lock your sanity super low as it used to. |
This is great news, thank you Qust. |
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
About The Pull Request & why it's good for the game
This PR removes all existing addiction code to replace it with a less cheese-able variant that also eases the workload for people who want to add new reagents.
The current addiction mechanic has many serious flaws. First of all it is easy to cheat. The threshhold mechanic allows you take huge amounts of drugs and yet avoid addiction by structuring your doses.
This makes addiction only a concern of clueless newbies and those who have drugs forcibly injected into them, not drug-fueled powergamers.
In addition, addiction is hyperspecific and often quite lethal. This makes seeking out medical treatment in order to kick the habit almost invariably the best option.
This PR removes the unit threshold on specific reagents, and introduces 5 categories of drugs (With the possibility of more in the future)
Every time you metabolize a drug, you will gain addiction points in the category it belongs to. Extremer drugs and alcohol will make you addicted more quickly. At a certain threshold, you will become proper addicted. By not taking said drugs and having high sanity at the same time you will slower the amount of addiction points, and if you reach a certain threshold you stop being addicted.
Withdrawal effects per category
Stimulants
Stimulant withdrawal makes you slow in a number of ways.
At the first stage you get craving messages about feeling tired and needing a little pick me up. Your actions also become slower(action speed penalty).
At the second stage you recieve a click cooldown penalty.
At the third stage you get a movement speed penalty and more craving messages.
Opiods
The main symptoms of opiod withdrawals in real life is hyperalgesia, nausea and diarrhea. Since only one of those symptoms is implemented as an actual game mechanic will we will focus on that one.
At the first stage you get craving messages about feels aches in your body, chills and needing opioids. You start yawning intermittently.
At the second stage your high blood pressure will increase rate of blood loss from any open wounds.
At the third stage you will get hit by waves of nausea and vomiting. This should probably check your current nausea level before adding more nausea to prevent vomit stun locking.
This can be made a lot more interesting if pain mechanics are ever implemented.
Alcohol
Alcohol withdrawal is easy to stave off due to the abundance of low alcohol content drinks available from the bar, but it is the only one that can be outright lethal.
At the first stage you get craving messages about feeling thirsty, wondering if the bar is still open and needing a little Dutch courage. You also start to jitter.
At the second stage you start to hallucinate.
At the third stage you start to suffer intermittant seizures that paralyze you for 1-3 seconds and cause 10-30 brain damage depending on duration. Your seizures also cause heavy jittering. Seizures can be prevented by taking neurine or sodium thiopental, which now give you TRAIT_ANTICONVULSANT while they are in your body.
Hallucinogens
At the first stage you get craving messages about feeling empty, spirtually detached and you start to wonder what the machine elves are up to.
At the second stage you get visual disturbances in the form of an annoying filter applied to your screen. https://streamable.com/fl83ma
At the third stage you enter a hypnotic trance. (Feel free to suggest something better, hypnosis is really cool but this steps on the toes of the trauma a little bit.)
Maintenance Drugs
At the first stage you get craving messages, start growling intermittently and your health indicator will become unreliable(like if you had ingested miners salve).
At the second stage you can only stomach GROSS food and you grow a scraggly beard if male.
At the third stage you will become very dizzy and confused when exposed to light, but it also gives you nightvision.
The reason for granting a positive effect: nightvision, at stage 3 is that it is simply not very fun or engaging to stay in the dark tunnels without being able to see anything.
Changelog
🆑 Kryson, Qustinnus
add: All drug addictions are now put into 5 categories: Stimulants, Opiods, Alcohol, hallucinogens, and maintenance drugs. There is no longer an addiction threshold and becoming addicted is done by gaining addiction points from doing drugs in a specific category, if you become addicted you can stop being addicted by lowering your addiction points until it reaches a low enough value.
/:cl:
WIP:
Closes #56825.