Skip to content

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

字段 含义
几率 每次使用使成瘾度上升的百分比几率
剂量 达到此使用次数时必定成瘾,不受几率影响
耐药性 每次使用增加多少耐药性
上限 耐药性能达到的最大值,100 到 1000
衰减 保持清醒多少小时后,成瘾等级开始下降
交叉耐药性 使用该物质会以一半的比率同时提升同类别其他物质的耐药性
隐藏 在真正开始戒断之前,不会提示玩家已经成瘾

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.

开启 Config.ToleranceDamping 后,耐药性实际上会削弱快感——角色的耐药性越高,效果就会越微弱,因此他们最终只能通过更大剂量和更频繁的使用来追求快感。这就是让瘾君子越陷越深的恶性循环。

隐藏是大多数服务器没有充分利用的设置。开启此功能后,玩家在进入第一个戒断阶段之前不会有 HUD 提示,也不会收到任何通知——他们发现自己出问题的方式将和现实生活中如出一辙。

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:

阶段 触发时间 症状
不安 120 分钟 渴望、出汗
颤抖 240 分钟 震颤、准星晃动、摇晃
生病 360 分钟 模糊、呕吐、跌跌撞撞、生命值扣除
危机 480 分钟 发作、昏迷

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.

字段 含义
重复间隔 处于此阶段时,发作之间的间隔秒数
警告时间 玩家首次受到的警告秒数
昏迷时长 屏幕变黑的时长
死亡计时 如果无人施救,危机导致死亡前的秒数

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.