mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-22 06:35:12 +01:00
7d3c761150
## About The Pull Request ### Rewrite stuff Reagent addictions are written in terms of "units to addict" kinda like how they were ages ago For example `addiction_types = list(/datum/addiction/hallucinogens = 60)` says "We can expect to get addicted if we consume 60 units of this reagent alone" For easily converting units, I used the following equation ``` x = 1 / ((o * 0.2 / m / 2) / 600) o = the old addiction number m = the metabolism rate x = the converted threshold ``` Example (Nicotine) ``` x = 1 / ((o * 0.2 / m / 2) / 600) o = 15 m = 0.025 x = 10 (10 units to addict) ``` FULL TRANSPARENCY: Some reagents had some really weird results like `33.33u` or `685.78u` I rounded them to nicer numbers like `30u` or `685u`. I don't think anyone would really care. I anticipate this being easier to work with than the arbitrary point values ### Mechanics stuff Addiction gained is now calculated based on units metabolized, rather than the static metabolism rate. So if you metabolize less than a full metabolism tick, you aren't given the full addiction points. ## Why It's Good For The Game ### Rewrite stuff Addiction rates are kinda insane. If you look at nicotine you see: `list(/datum/addiction/nicotine = 15)` Then if you look at maintenance powder: `list(/datum/addiction/maintenance_drugs = 14)` You would assume that these give you addiction at a similar rate... but ACTUALLY you would get nicotine addiction from 10u consumed and you would get maintenance drug addiction from 50u consumed This was because nicotine's metabolism rate is 0.025 vs maintenance powder's 0.1 metabolism rate - this is not exactly obvious at a glance which makes tweaking addiction values kind of painful Putting them in terms of "units to addict" makes it a lot easy to parse at a glance - metabolism rate nor any other variable is necessary to know how potent a substance is (In particular you can see some reagents take **upwards of 1,200u** to addict on their own. Which is INSANEEE. I want to go through in a second pr and tweak all these values down) ### Mechanics stuff This ultimately changes very little, it just makes sense that metabolizing more or less of a reagent at once would give you more or less addiction progress. ## Changelog 🆑 Melbert refactor: Rewrites how addiction points are applied from reagents. Some reagents may be marginally more or less addictive as a consequence. balance: Addiction gained per metabolism tick now scales to the amount of reagents metabolized. In other words if you metabolize 0.2 units instead of the expected 0.4 units, you get 0.5x of the amount of addiction gain. This ultimately changes very little and I would imagine it's how most people expected it to work in the first place... /🆑