Addiction & withdrawal
Addiction and withdrawal
This is the part that makes a drug script worth running. A substance that only plays an effect is a consumable. A substance that changes what a character has to do tomorrow is a storyline.
Getting hooked
| Field | Meaning |
|---|---|
| Chance | Percent chance per dose of the addiction level rising |
| Doses | A guaranteed hook at this many doses, regardless of chance |
| Tolerance | How much tolerance each dose adds |
| Ceiling | The maximum tolerance can reach, 100 to 1000 |
| Decay | Hours of staying clean before the level starts falling |
| Cross-tolerance | Doses also raise tolerance on other substances in the same category, at half rate |
| Hidden | The player is not told they are addicted until withdrawal actually starts |
Tolerance starts at 100 and climbs. It is the reason a long-term user needs more of the same thing to feel anything, and it does not reset when the addiction level does.
With Config.ToleranceDamping on, tolerance actually weakens the high — the more tolerant a character is, the fainter the effects feel, so they end up chasing it with bigger and more frequent doses. That is the loop that drives an addict deeper.
Hidden is the setting most servers underuse. With it on, a player has no HUD entry and no notification until the first withdrawal stage lands — they find out they have a problem the same way a person would.
Withdrawal stages
Stages are driven by time since the last dose, not by a countdown that starts when the effect ends. A player who tops up every hour never sees stage one; a player who runs out at 3am wakes up in stage three.
The four default stages:
| Stage | After | Symptoms |
|---|---|---|
| Restless | 120 min | craving, sweating |
| Shaking | 240 min | tremor, aim sway, wobble |
| Sick | 360 min | blur, vomiting, stumbling, health drain |
| Crisis | 480 min | seizure, blackout |
Add, remove and retime them freely. All twelve symptoms are available on any stage: craving, sweating, tremor, aimsway, wobble, blur, slowed, vomiting, stumbling, healthdrain, seizure, blackout.
Crises
Mark a stage as a crisis and it stops being a constant drag and starts being an event.
| Field | Meaning |
|---|---|
| Repeat every | Seconds between attacks while in this stage |
| Warning | Seconds of warning the player gets first |
| Blackout | How long the screen goes out for |
| Death timer | Seconds before the crisis kills, if nobody helps |
The warning is what turns a crisis into roleplay. A player who feels it coming has time to pull over, get inside, or shout for a medic. Turn the warning off with Config.UI.ShowCrisisWarning = false if you want a crueller server.
Offline progression
By default the clock keeps running while a player is logged off, so somebody who logs out in withdrawal comes back worse. Config.Withdrawal.OfflineCap limits how far it can progress — 12 hours by default — so a player returning after a fortnight is not dropped straight into a crisis.
Set Config.Withdrawal.RunsOffline = false to freeze it entirely at logout.