Skip to content

Commit 5c778c3

Browse files
feat: move static option definitions into JSON
Assisted-by: openai/gpt-5.4 on opencode Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
1 parent 510f19b commit 5c778c3

9 files changed

Lines changed: 2482 additions & 892 deletions

File tree

data/json/options/debug.json

Lines changed: 316 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,316 @@
1+
[
2+
{
3+
"type": "OPTION_GROUP",
4+
"id": "debug_basics",
5+
"page": "debug",
6+
"title": "General"
7+
},
8+
{
9+
"type": "OPTION",
10+
"name": "STRICT_JSON_CHECKS",
11+
"stype": "bool",
12+
"scope": "global",
13+
"page": "debug",
14+
"group": "debug_basics",
15+
"menu_text": "Strict JSON checks",
16+
"tooltip": "If true, will show additional warnings for JSON data correctness.",
17+
"default": true
18+
},
19+
{
20+
"type": "OPTION",
21+
"name": "FORCE_TILESET_RELOAD",
22+
"stype": "bool",
23+
"scope": "global",
24+
"page": "debug",
25+
"group": "debug_basics",
26+
"menu_text": "Force tileset reload",
27+
"tooltip": "If false, the game will keep tileset in memory after first load to speed up subsequent loadings of game data. Enable this if you're working on a tileset for the game or a mod.",
28+
"default": false
29+
},
30+
{
31+
"type": "OPTION_GROUP",
32+
"id": "debug_display",
33+
"page": "debug",
34+
"title": "Display"
35+
},
36+
{
37+
"type": "OPTION",
38+
"name": "MOD_SOURCE",
39+
"stype": "bool",
40+
"scope": "global",
41+
"page": "debug",
42+
"group": "debug_display",
43+
"menu_text": "Display Mod Source",
44+
"tooltip": "Displays what content pack a piece of furniture, terrain, item or monster comes from or is affected by. Disable if it's annoying.",
45+
"default": true
46+
},
47+
{
48+
"type": "OPTION",
49+
"name": "SHOW_IDS",
50+
"stype": "bool",
51+
"scope": "global",
52+
"page": "debug",
53+
"group": "debug_display",
54+
"menu_text": "Display Object IDs",
55+
"tooltip": "Displays internal IDs of game objects and creatures. Warning: IDs may contain spoilers.",
56+
"default": false
57+
},
58+
{
59+
"type": "OPTION_GROUP",
60+
"id": "chargen_debug",
61+
"page": "debug",
62+
"title": "Character Generation"
63+
},
64+
{
65+
"type": "OPTION",
66+
"name": "DISTANCE_INITIAL_VISIBILITY",
67+
"stype": "int",
68+
"scope": "global",
69+
"page": "debug",
70+
"group": "chargen_debug",
71+
"menu_text": "Distance initial visibility",
72+
"tooltip": "Determines the scope, which is known in the beginning of the game.",
73+
"min": 3,
74+
"max": 20,
75+
"default": 15
76+
},
77+
{
78+
"type": "OPTION",
79+
"name": "INITIAL_STAT_POINTS",
80+
"stype": "int",
81+
"scope": "global",
82+
"page": "debug",
83+
"group": "chargen_debug",
84+
"menu_text": "Initial stat points",
85+
"tooltip": "Initial points available to spend on stats on character generation.",
86+
"min": 0,
87+
"max": 1000,
88+
"default": 6
89+
},
90+
{
91+
"type": "OPTION",
92+
"name": "INITIAL_TRAIT_POINTS",
93+
"stype": "int",
94+
"scope": "global",
95+
"page": "debug",
96+
"group": "chargen_debug",
97+
"menu_text": "Initial trait points",
98+
"tooltip": "Initial points available to spend on traits on character generation.",
99+
"min": 0,
100+
"max": 1000,
101+
"default": 0
102+
},
103+
{
104+
"type": "OPTION",
105+
"name": "INITIAL_SKILL_POINTS",
106+
"stype": "int",
107+
"scope": "global",
108+
"page": "debug",
109+
"group": "chargen_debug",
110+
"menu_text": "Initial skill points",
111+
"tooltip": "Initial points available to spend on skills on character generation.",
112+
"min": 0,
113+
"max": 1000,
114+
"default": 2
115+
},
116+
{
117+
"type": "OPTION",
118+
"name": "MAX_TRAIT_POINTS",
119+
"stype": "int",
120+
"scope": "global",
121+
"page": "debug",
122+
"group": "chargen_debug",
123+
"menu_text": "Maximum trait points",
124+
"tooltip": "Maximum trait points available for character generation.",
125+
"min": 0,
126+
"max": 1000,
127+
"default": 12
128+
},
129+
{
130+
"type": "OPTION_GROUP",
131+
"id": "skill_debug",
132+
"page": "debug",
133+
"title": "Skills"
134+
},
135+
{
136+
"type": "OPTION",
137+
"name": "SKILL_TRAINING_SPEED",
138+
"stype": "float",
139+
"scope": "global",
140+
"page": "debug",
141+
"group": "skill_debug",
142+
"menu_text": "Skill training speed",
143+
"tooltip": "Scales experience gained from practicing skills and reading books. 0.5 is half as fast as default, 2.0 is twice as fast, 0.0 disables skill training except for NPC training.",
144+
"min": 0.0,
145+
"max": 100.0,
146+
"step": 0.1,
147+
"default": 1.0
148+
},
149+
{
150+
"type": "OPTION",
151+
"name": "SKILL_RUST",
152+
"stype": "string_select",
153+
"scope": "global",
154+
"page": "debug",
155+
"group": "skill_debug",
156+
"menu_text": "Skill rust",
157+
"tooltip": "Set the level of skill rust. Vanilla: Vanilla Cataclysm - Capped: Capped at skill levels 2 - Int: Intelligence dependent - IntCap: Intelligence dependent, capped - Off: None at all.",
158+
"default": "off",
159+
"items": [
160+
{ "value": "vanilla", "label": "Vanilla" },
161+
{ "value": "capped", "label": "Capped" },
162+
{ "value": "int", "label": "Int" },
163+
{ "value": "intcap", "label": "IntCap" },
164+
{ "value": "off", "label": "Off" }
165+
]
166+
},
167+
{
168+
"type": "OPTION_GROUP",
169+
"id": "systems_debug",
170+
"page": "debug",
171+
"title": "Systems"
172+
},
173+
{
174+
"type": "OPTION",
175+
"name": "PICKUP_RANGE",
176+
"stype": "int",
177+
"scope": "global",
178+
"page": "debug",
179+
"group": "systems_debug",
180+
"menu_text": "Crafting range",
181+
"tooltip": "Maximum distance at which items are considered available for crafting (or some other actions).",
182+
"min": 1,
183+
"max": 30,
184+
"default": 6
185+
},
186+
{
187+
"type": "OPTION",
188+
"name": "ENABLE_EVENTS",
189+
"stype": "bool",
190+
"scope": "global",
191+
"page": "debug",
192+
"group": "systems_debug",
193+
"menu_text": "Event bus system",
194+
"tooltip": "If false, achievements and some Magiclysm functionality won't work, but performance will be better.",
195+
"default": true
196+
},
197+
{
198+
"type": "OPTION",
199+
"name": "ELECTRIC_GRID",
200+
"stype": "bool",
201+
"scope": "global",
202+
"page": "debug",
203+
"group": "systems_debug",
204+
"menu_text": "Electric grid testing",
205+
"tooltip": "If true, enables somewhat unfinished electric grid system that may slow the game down.",
206+
"default": true
207+
},
208+
{
209+
"type": "OPTION",
210+
"name": "MADE_OF_EXPLODIUM",
211+
"stype": "int",
212+
"scope": "global",
213+
"page": "debug",
214+
"group": "systems_debug",
215+
"menu_text": "Made of explodium",
216+
"tooltip": "Explosive items and traps will detonate when hit by damage exceeding the threshold. A higher number means more damage is required to detonate. Set to 0 to disable.",
217+
"min": 0,
218+
"max": 1000,
219+
"default": 30,
220+
"deps": [ { "option": "OLD_EXPLOSIONS", "values": [ "false" ] } ]
221+
},
222+
{
223+
"type": "OPTION",
224+
"name": "ITEM_DAMAGE_ON_FLYING_IMPACT",
225+
"stype": "bool",
226+
"scope": "global",
227+
"page": "debug",
228+
"group": "systems_debug",
229+
"menu_text": "Item damage on flying impact",
230+
"tooltip": "If true, items flung by explosions will deal (lethal) damage to whatever they hit.",
231+
"default": true,
232+
"deps": [ { "option": "OLD_EXPLOSIONS", "values": [ "false" ] } ]
233+
},
234+
{
235+
"type": "OPTION",
236+
"name": "OLD_EXPLOSIONS",
237+
"stype": "bool",
238+
"scope": "global",
239+
"page": "debug",
240+
"group": "systems_debug",
241+
"menu_text": "Old explosions system",
242+
"tooltip": "If true, disables new raycasting based explosive system in favor of old system. With new system obstacles (impassable terrain, furniture or vehicle parts) will block shrapnel, while blast will bash obstacles and throw creatures outward. If obstacles are destroyed, blast continues outward.",
243+
"default": false
244+
},
245+
{
246+
"type": "OPTION",
247+
"name": "CHRONIC_PAIN",
248+
"stype": "bool",
249+
"scope": "global",
250+
"page": "debug",
251+
"group": "systems_debug",
252+
"menu_text": "Chronic pain",
253+
"tooltip": "If true, injuries cause persistent pain until they are healed.",
254+
"default": false
255+
},
256+
{
257+
"type": "OPTION_GROUP",
258+
"id": "autodrive_debug",
259+
"page": "debug",
260+
"title": "Autodrive"
261+
},
262+
{
263+
"type": "OPTION",
264+
"name": "MIN_AUTODRIVE_SPEED",
265+
"stype": "int",
266+
"scope": "global",
267+
"page": "debug",
268+
"group": "autodrive_debug",
269+
"menu_text": "Minimum auto-drive speed",
270+
"tooltip": "Set the minimum speed for the auto-drive feature. In tiles/s. Default is 1 (6 km/h or 4 mph).",
271+
"min": 1,
272+
"max": 100,
273+
"default": 1
274+
},
275+
{
276+
"type": "OPTION",
277+
"name": "MAX_AUTODRIVE_SPEED",
278+
"stype": "int",
279+
"scope": "global",
280+
"page": "debug",
281+
"group": "autodrive_debug",
282+
"menu_text": "Maximum auto-drive speed",
283+
"tooltip": "Set the maximum speed for the auto-drive feature. In tiles/s. Default is 9 (57 km/h or 36 mph).",
284+
"min": 1,
285+
"max": 100,
286+
"default": 9
287+
},
288+
{
289+
"type": "OPTION",
290+
"name": "LIMITED_BAYONETS",
291+
"stype": "bool",
292+
"scope": "global",
293+
"page": "debug",
294+
"group": "autodrive_debug",
295+
"menu_text": "New bayonet system",
296+
"tooltip": "If true, bayonets replace weapon attack instead of adding to it. WIP feature, weakens bayonets heavily at the moment.",
297+
"default": false
298+
},
299+
{
300+
"type": "OPTION_GROUP",
301+
"id": "pathfinding_debug",
302+
"page": "debug",
303+
"title": "Pathfinding"
304+
},
305+
{
306+
"type": "OPTION",
307+
"name": "USE_LEGACY_PATHFINDING",
308+
"stype": "bool",
309+
"scope": "global",
310+
"page": "debug",
311+
"group": "pathfinding_debug",
312+
"menu_text": "Use legacy pathfinding",
313+
"tooltip": "If true, opt out of new pathfinding in favor of legacy one. This makes pathfinding mods not work.",
314+
"default": false
315+
}
316+
]

0 commit comments

Comments
 (0)