Skip to content
This repository has been archived by the owner on Aug 16, 2023. It is now read-only.

[MIRROR] Addiction rework #1038

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

[MIRROR] Addiction rework #1038

wants to merge 2 commits into from

Conversation

AeonSS13
Copy link

Original PR: tgstation/tgstation#56923

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)

  • Stimulants
  • Opioids
  • Alcohol
  • Hallucinogens
  • Maintenance drugs

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:

  • Make addiction points only go down at high sanity
  • Run a balance pass on the addiction/cycle values

[issue link stripped].

Qustinnus and others added 2 commits February 17, 2021 02:21
Co-authored-by: Krysonism <[email protected]>
Co-authored-by: Mothblocks <[email protected]>
Conflicts:
	code/__DEFINES/movespeed_modification.dm
	code/__DEFINES/reagents.dm
	code/__DEFINES/traits.dm
	code/__HELPERS/_lists.dm
	code/datums/components/mood.dm
	code/datums/elements/climbable.dm
	code/datums/mind.dm
	code/modules/mob/dead/observer/observer.dm
	code/modules/reagents/chemistry/holder.dm
	code/modules/reagents/chemistry/items.dm
	code/modules/reagents/chemistry/machinery/chem_master.dm
	code/modules/reagents/chemistry/reagents.dm
	code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
	code/modules/reagents/chemistry/reagents/drink_reagents.dm
	code/modules/reagents/chemistry/reagents/drug_reagents.dm
	code/modules/reagents/chemistry/reagents/food_reagents.dm
	code/modules/reagents/chemistry/reagents/medicine_reagents.dm
	code/modules/reagents/chemistry/reagents/other_reagents.dm
	code/modules/reagents/chemistry/reagents/toxin_reagents.dm
	code/modules/unit_tests/metabolizing.dm
	icons/hud/screen_alert.dmi
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant