Game modes
The modes New Game offers (sandbox, story, your own), and the rules each one sets.
Each mode is one New … Game row in the main menu. The player picks a mode once, when they start a life, and the save keeps it. The base game ships two modes:
- sandbox: everything is open. The player can furnish any building, set any stat in the creator and use the cheat tools.
- story: the player starts with the bare minimum, can only furnish their own home, with furniture they bought, and has no cheats. The Cheats mod (
ul_Cheats) opens all of it again.
Modes live in PlayModes/*.json in any mod. A later mod overrides a mode field by field, so a file that gives only start_stats changes the start and leaves every other rule as it was. A new id adds a new row to the menu.
json{
"modes": {
"story": {
"start_stats": { "money": 40 }
},
"outbreak": {
"label": "New Outbreak Game",
"subtitle": "The city is sick. Get through it.",
"order": 2,
"edit_any_building": false,
"choose_stats": false,
"cheats": false,
"free_furniture": false,
"start_stats": { "money": 300 }
}
}
}
Fields
| Field | Default | Meaning |
|---|---|---|
label |
the id | The row's text in the main menu. |
subtitle |
The line under it. | |
order |
0 | Position in the menu, lowest first. |
edit_any_building |
true | Furnish is offered in every building. When false, it is offered only in the player's home. |
choose_stats |
true | The creator's Skills page has sliders. When false, the life starts on each stat's DEFAULT_VALUE plus start_stats. The Preferences page (attraction) can always be edited. |
cheats |
true | Edit Character in the pause menu, and editing any person's character and look from their sheet. |
free_furniture |
true | Build mode's free PIECES and SETS catalogue. When false, the player furnishes only with what they bought (the OWNED tab, filled by a furniture shop). |
start_stats |
stat id → value, applied when the creator finishes, only if choose_stats is false. |
|
teaser |
false | The row is a hint: a dimmed silhouette with the label and no subtitle. Still playable; use it for the stories after the first, with a numeral as the label. |
A save made before game modes existed loads as sandbox. So does a save whose mode came from a mod that has since been removed.
When start_stats fixes age, the creator shows that age and offers no slider: a story's protagonist has the story's age.
Lua reads the mode with Game:getPlayMode() ("sandbox", "story", your own id). A mode cannot run scripts of its own yet: start one from the newGame event instead.
luaEvents:on(M, "newGame", function()
if Game:getPlayMode() ~= "my_story" then return end
Game:startQuest("my_story_main")
end)
A cheat mod
Because a later mod's PlayModes/*.json changes a mode field by field, a mod can open the story mode without touching anything else. The base game's Cheats mod (ul_Cheats) is only this file:
json{ "modes": { "story": { "edit_any_building": true, "cheats": true, "free_furniture": true } } }
The story's start (money, stats) stays as it is; turn the mod off to play the story as written.