Skip to content

Repository files navigation

Psychology — Mental Resilience Skill

A Project Zomboid mod that adds a native Psychology skill: survivors gradually build mental resilience against stress, panic and unhappiness, and can develop — and recover from — nicotine and alcohol dependency.

Mod ID psychology_skill
Workshop ID 3561213456
Steam Workshop https://steamcommunity.com/sharedfiles/filedetails/?id=3561213456
Current version 1.0.2
Supported builds Build 41 · Build 42.20.2
Modes Singleplayer · Multiplayer · Dedicated server (see caveat below)
Languages English · Português · Português (Brasil)

What it does

Vanilla treats stress, panic and unhappiness as passive moodles you mostly wait out. This mod turns them into something you can train against.

  • A real skill. Psychology appears in the Skills tab under its own category, levels 1–10, with its own XP curve and its own line of skill books.
  • Exposure trains you. Being around visible zombies grants Psychology XP on a cooldown — the survivor who has seen the most is the hardest to rattle.
  • Higher level = softer hits. Each level multiplies incoming stress, panic and unhappiness down, and adds a small passive stress decay bonus.
  • Gore desensitisation. Nearby corpses and blood add extra stress decay that scales with your Psychology level — veterans stop flinching at the things that used to break them.
  • Therapeutic activities. Practice breathing anywhere, work through a CBT workbook, or read specialised literature.
  • Addiction and recovery. Nicotine and alcohol dependency build with use, cause withdrawal when you go without, decay naturally over time, and can be cut down faster with recovery guides. A higher Psychology level softens withdrawal.
  • On Build 42, nicotine defers to the base game. Build 42 has its own nicotine withdrawal system, so this mod does not add a second one on top of it — it steers the vanilla one from your dependency instead. Your dependency itself works identically on both builds.
  • A dedicated panel. The character info window gains a Psychology tab showing level, XP, stress/panic/depression bars, an overall status readout, and both dependency levels.

Everything is configurable through Sandbox Options.


Items

Item Type What it does
Psychology Textbook Literature One-time XP award on finishing the book
CBT Therapeutic Workbook Drainable "Do Therapeutic Exercise" — XP per use, 10 uses
Quit Smoking Guide Literature Reduces nicotine dependency at 50% and 100% read
Alcohol Sobriety Guide Literature Reduces alcohol dependency at 50% and 100% read
Psychology for Beginners Skill book Levels 1–2 XP multiplier
Psychology Intermediate Skill book Levels 3–4 XP multiplier
Psychology Advanced Skill book Levels 5–6 XP multiplier
Psychology Expert Skill book Levels 7–8 XP multiplier
Psychology Mastery Skill book Levels 9–10 XP multiplier

All of them spawn through vanilla procedural loot lists — bookstores, libraries, classrooms, school lockers, living-room shelves, office desks and medical storage. Nothing is force-spawned and no vanilla distribution file is overwritten.

Build 42 also adds a trait: Psychologically Resilient (4 points) — start at Psychology level 1.


Installation

Steam Workshop (recommended)

Subscribe on the Workshop, then enable Psychology — Mental Resilience Skill in the mod list.

For a dedicated server, add to your server config:

WorkshopItems=3561213456
Mods=psychology_skill

Manual

Copy Contents/mods/Psychology_Skill into your Zomboid/mods/ folder, then enable it in-game.

The mod ships Build 41 and Build 42 support in a single package — the game automatically loads the correct set of files for whichever build you are running. See AGENTS.md for how that works.


Sandbox options

All options live on the Psychology page in Sandbox Options (singleplayer or while hosting).

Resilience

Option Default Range Meaning
StressGainMultByLevel 0.98 0.80 – 1.00 Incoming stress multiplier per level
PanicGainMultByLevel 0.985 0.80 – 1.00 Incoming panic multiplier per level
UnhappyGainMultByLevel 0.985 0.80 – 1.00 Incoming unhappiness multiplier per level
StressDecayBonusPerLvl 0.0015 0 – 0.01 Flat extra stress decay per level, per in-game hour

Multipliers are applied as factor ^ level, so lower values mean a stronger reduction.

Nicotine

Option Default Range Meaning
NicoGain 0.5 0 – 5 Dependency gained per cigarette
NicoDecay 1 0 – 10 Natural dependency lost per day
NicoMinInt 120 10 – 1440 Minutes without a cigarette before withdrawal starts
NicoStrMin 0.002 0 – 0.02 Stress added per minute of withdrawal. Build 41 only — see below
NicoUnhMin 0.2 0 – 5 Unhappiness added per minute of withdrawal
NicoGuide 20 0 – 100 Dependency removed per Quit Smoking Guide milestone

On Build 42 the base game already delivers nicotine withdrawal stress, so this mod adds none of its own and NicoStrMin has no effect there. The remaining options all work on both builds: dependency still builds, decays and drives how hard withdrawal hits, and NicoUnhMin still applies, because the vanilla system does not touch unhappiness.

Alcohol

Option Default Range Meaning
AlcGain 5 0 – 30 Dependency gained per drink
AlcDecay 1 0 – 10 Natural dependency lost per day
AlcMinInt 360 10 – 2880 Minutes without a drink before withdrawal starts
AlcStrMin 0.003 0 – 0.03 Stress added per minute of withdrawal
AlcUnhMin 0.3 0 – 5 Unhappiness added per minute of withdrawal
AlcGuide 20 0 – 100 Dependency removed per Sobriety Guide milestone

Dedicated servers

Dedicated servers have no Sandbox Options UI. Set the values directly in your sandbox vars file:

SandboxVars.PSY = {
    StressGainMultByLevel  = 0.98,
    PanicGainMultByLevel   = 0.985,
    UnhappyGainMultByLevel = 0.985,
    StressDecayBonusPerLvl = 0.0015,

    NicoGain   = 0.5,
    NicoDecay  = 1,
    NicoMinInt = 120,
    NicoStrMin = 0.002,
    NicoUnhMin = 0.2,
    NicoGuide  = 20,

    AlcGain    = 5,
    AlcDecay   = 1,
    AlcMinInt  = 360,
    AlcStrMin  = 0.003,
    AlcUnhMin  = 0.3,
    AlcGuide   = 20,
}

Dependency values are on a 0–100 scale. Withdrawal only begins once a dependency is at 10 or above.


Compatibility

  • No vanilla file is overwritten. The mod only appends to procedural distribution lists and wraps vanilla timed actions, so it coexists with other mods rather than replacing anything.
  • Safe to add to an existing save. Newly added items need unexplored containers to spawn naturally, so expect to travel a bit before finding the books.
  • Build 41 and Build 42 are fully separated. They never share Lua files, so a change to one cannot break the other.
  • Multiplayer aware. Progression and dependency state are authoritative on the server and synced to clients.

⚠️ Dedicated servers: one thing is unverified

Version 1.0.2 was tested in singleplayer, including saving and reloading. Dependency syncing on a dedicated server with multiple connected clients has not been verified. The command path is server-authoritative by construction and works in singleplayer, but nobody has yet watched it work across a real connection.

It is expected to work. If you run a server and see dependency values drift between players or reset on reconnect, please open an issue — that is the fastest way to get it fixed.


Versioning

This project follows Semantic Versioning — see CHANGELOG.md for the full history.

  • MAJOR — save-breaking changes, or dropping support for a game build.
  • MINOR — new features, items, sandbox options or languages.
  • PATCH — bug fixes, balance tweaks, translation corrections.

The version in every mod.info matches the git tag for that release (v1.0.2version=1.0.2).


Repository layout

This repository is the mod's Steam Workshop folder. Only Contents/ is uploaded to Steam — everything else (this README, AGENTS.md, CHANGELOG.md, .git/) stays local and is ignored by both the game and the uploader.

Psychology_Skill/          <- repository root, never uploaded
├── Contents/              <- the only folder Steam receives
│   └── mods/Psychology_Skill/
│       ├── media/         <- Build 41 implementation
│       ├── common/        <- Build 42 shared assets (translations)
│       ├── 42/            <- Build 42 implementation
│       └── mod.info
├── qa/                    <- debug-only test harness, never shipped
├── scripts/               <- verification and formatting tooling
├── workshop.txt           <- Workshop listing metadata
├── preview.png            <- 256x256 Workshop thumbnail
├── README.md
├── AGENTS.md              <- read this before changing any code
└── CHANGELOG.md

Only Contents/ is uploaded. Everything else — including the QA harness and all tooling — stays local, and scripts/verify.ps1 fails the build if a debug file ever appears inside Contents/.

A full breakdown of every file, the dual-build loading rules and the Build 42.20 requirements lives in AGENTS.md.


Development

Everything below stays local — none of it is uploaded to the Workshop.

npm install                       # pinned StyLua + luaparse, no admin needed
pwsh -File scripts/verify.ps1     # read-only: reports, never rewrites

verify.ps1 runs thirteen checks before a release: Lua 5.1 syntax, translation JSON and UTF-8 validity, the Build 42.20 %% escaping rule, mod.info version agreement, Build 41 / Build 42 parity, merge-conflict markers, stray control characters, config-file sanity, Steam's 8000-byte description limit, and guards that no documentation or debug file has leaked into Contents/.

qa/PsychologySkill_QA is a debug-only harness for the in-game acceptance tests — it sets dependency values, abstinence state and Psychology level directly, and displays the raw engine stats. It lives outside Contents/ so it cannot ship. See qa/README.md.

Read AGENTS.md before changing any code. It documents the dual-build layout, the Build 42 API facts verified against the game jar, the multiplayer model, and the acceptance tests that gate a release.


Reporting bugs

Please include:

  1. Your game build (e.g. 42.20.2) and whether you are in SP, MP or on a dedicated server.
  2. The relevant section of console.txt from your Zomboid/ folder.
  3. Whether the issue still reproduces with only this mod enabled.

Report on the Steam Workshop page or as a GitHub issue.


Credits

Created by WindLother.

If you enjoy the mod and want to support future updates: Support me on Ko-fi.

About

Psychology — Mental Resilience Skill: a Project Zomboid mod adding a native Psychology skill, therapeutic activities and nicotine/alcohol dependency. Build 41 + Build 42.20.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages