script, ui: added "sv_min_startmap_health" cvar
[k8vavoom.git] / basev / common / uidef / menus / gameplay.txt
bloba0e544a0bbffefdd9b052f8064df40b92c238d67
1 // gameplay options menu
2 menudef GameplayOptions {
3   //selector = MenuSelector_SmallRight;
4   Title = "GAMEPLAY OPTIONS";
7   header "Slide Movement" [k8vavoom_developer_version > 0];
9   option enum [k8vavoom_developer_version > 0] {
10     title = "Sliding Code";
11     cvar = gm_slide_code;
12     list {
13       "Vanilla",
14       "Sweep",
15       "Sweep, Q3-Like",
16     }
17     help = "Which sliding code to use?";
18   }
20   option bool [k8vavoom_developer_version > 0] {
21     title = "Q3 TimeLeft Method";
22     cvar = gm_q3slide_use_timeleft;
23     help = "Use 'timeleft' method for Q3 sliding code (gives wrong velocities and bumpiness)?";
24   }
26   option bool [k8vavoom_developer_version > 0] {
27     title = "Debug Slide Code";
28     cvar = dbg_slide_code;
29     help = "Dump various debug info in sliding code?";
30   }
33   header "Monster AI";
35   option enum {
36     title = "Monsters Melee Backing";
37     cvar = monster_backing;
38     list {
39       "Off",
40       "Normal",
41       "Forced",
42     }
43     help =
44       "Should monsters back away from melee attacker (normal),",
45       "or always back away when they have a ranged attack? (forced)";
46   }
48   option bool {
49     title = "Monsters can avoid dropoffs";
50     cvar = monster_dropoff;
51   }
53   option bool {
54     title = "Better sight for monsters";
55     cvar = compat_better_sight;
56     help = "Perform slightly better (and slower) line-of-sight checking for monsters.";
57   }
59   option bool {
60     title = "Limit PE soul spawn";
61     cvar = gm_default_pain_limit;
62     help =
63       "Limit Pain Elemental Lost Soul spawn to 20, as in vanilla?"
64       "This can be overriden by MAPINFO."
65       "\cGWARNING: This setting takes effect only after full game restart"
66       "\cG(i.e. close the game, and run it again)!";
67   }
69   option bool {
70     title = "Player Death Infighting";
71     cvar = gm_death_infighting;
72     help = "Should monsters start total infighting after player death?";
73   }
76   header "Corpses";
78   option bool {
79     title = "Slide Bodies";
80     cvar = gm_slide_bodies;
81     help =
82       "Slide bodies which may hang on ledges?",
83       "The algorithm is very experimental, and some bodies may",
84       "slide in a fancy ways. But this should not affect gameplay.";
85   }
87   option bool {
88     title = "Slide Dropped Pickups";
89     cvar = gm_slide_drop_items;
90     help =
91       "Slide dropped pickups which may hang on ledges?",
92       "Uses the same algorithm as corpse sliding.";
93   }
95   option slider {
96     title = "Slide Time Limit";
97     cvar = gm_slide_time_limit;
98     min = 0;
99     max = 120;
100     step = 2;
101     help =
102       "If sliding corpse/pickup cannot lay rest after this",
103       "number of seconds, it will not be nudged anymore.",
104       "'0' means \"no time limit\".";
105   }
107   option bool {
108     title = "Bodies Wall Slide";
109     cvar = gm_corpse_slidemove;
110     help =
111       "Should bodies use a sliding movement?",
112       "This helps with bodies sliding off the ledges.";
113   }
116   header "Corpses";
118   option bool {
119     title = "Make Corpses Smaller";
120     cvar = gm_smaller_corpses;
121     help =
122       "Make corpses smaller, so they will not hang on ledges?",
123       "This makes corpse collision radius smaller, so corpses will not",
124       "hang on ledges unrealistically (at least not so often).",
125       "",
126       "\cGWARNING! This may create stuck monsters with Arch-Vile resurrection.",
127       "\cGWARNING! This may create stuck monsters in Nightmare mode.";
128   }
130   option slider {
131     title = "Corpse Radius Multiplier";
132     cvar = gm_corpse_radius_mult;
133     min = 0;
134     max = 1;
135     step = 0.1;
136     help =
137       "If 'smaller corpses' is active, monster corpse radius will be multiplied by this.";
138   }
142   header "Player Movement";
144   option bool {
145     title = "Extra Player Friction";
146     cvar = player_extra_friction_enabled;
147     help =
148       "Apply extra friction to non-moving player, to make",
149       "player movement feel less 'icy'?";
150   }
152   option slider {
153     title = "Extra Player Friction Mult";
154     cvar = player_extra_friction;
155     min = 1.0;
156     max = 3.0;
157     step = 0.1;
158     help =
159       "Multiply non-moving player friction by this",
160       "(if extra player friction is enabled above).";
161   }
164   header "Physics Options";
166   option bool {
167     title = "Optimise Physics Calculation";
168     cvar = vm_optimise_statics;
169     help =
170       "Omit most physics code for 'sleeping' entities, i.e. entities without",
171       "horizontal velocity, and standing on a floor.",
172       "",
173       "This could allow you to play some pwads with 2k-4k monsters, but may",
174       "break some mods. If something doesn't work right, try to turn this",
175       "option off and check if it fixes broken things. There is no need to",
176       "restart a map to activate/deactivate this option.";
177   }
180   header "Other Options";
182   option bool {
183     title = "Player Hit Kickback";
184     cvar = plr_allow_damage_thrust;
185     help = "Can the player be knocked back when damaged?";
186   }
188   option enum {
189     title = "Infinitely tall monsters";
190     cvar = compat_nopassover;
191     list {
192       "Map Default, or 'no'",
193       "Always",
194       "Never",
195     }
196     help =
197       "Emulate vanilla infinitely tall monsters?"
198       "'Map Default' takes this from MAPINFO if set, otherwise defaults to 'NO'.";
199   }
201   option enum {
202     title = "Toss dropped items";
203     cvar = compat_notossdrops;
204     list {
205       "Map Default, or 'yes'",
206       "Never",
207       "Always",
208     }
209     help =
210       "Should dropped items be tossed into the air a little?"
211       "'Map Default' takes this from MAPINFO if set, otherwise defaults to 'YES'.";
212   }
214   option bool {
215     title = "Pushable barrels";
216     cvar = sv_pushable_barrels;
217     help =
218       "Can barrels be pushed?"
219       "Don't worry, this option is latched (I should explain this)."
220       "\cJRequires game/map restart.";
221   }
223   option bool {
224     title = "Respawn barrels";
225     cvar = sv_barrel_respawn;
226     help = "Respawn barrels in network game?";
227   }
229   option bool {
230     title = "Decorations block projectiles";
231     cvar = sv_decoration_block_projectiles;
232     help =
233       "Should decoration objects block projectiles?"
234       "Set to 'OFF' to get vanilla experience.";
235   }
237   option bool {
238     title = "'Unstealth' monsters";
239     cvar = fuck_stealth_monsters;
240     help =
241       "If you hate stealth monsters as much as I do,"
242       "you can turn them into normal ones with this toggle.";
243   }
245   option bool {
246     title = "NON-Velocity-based transporters";
247     cvar = sv_transporters_absolute;
248     help =
249       "Use velocity-based transporters?"
250       "This can glitch for small transporter speeds, and also"
251       "doesn't maintain the same speed as a scolling floor."
252       "If your pwad is not working right, try toggling this.";
253   }
255   option slider {
256     title = "Monster Corpse Limit";
257     cvar = gm_corpse_limit;
258     min = -1;
259     max = 8192;
260     step = 10;
261     help =
262       "Limits the number of corpses on the map.",
263       "If there will be more than the given number of monsters,",
264       "some corpses will disappear.",
265       "Note that Arch-Vile cannot resurrect disappeared corpses (obviously).",
266       "'-1' means 'no limit'.";
267   }
270   header "Weapon Behaviour";
272   option enum {
273     title = "Force Projectile Fire";
274     cvar = gm_vanilla_hitscan_type;
275     list {
276       "Default",
277       "Monsters",
278       "Player Weapons",
279       "Monsters And Player Weapons",
280     };
281     help =
282       "You can replace vanilla hitscan attacks with fast projectile attacks.",
283       "This mostly works for vanilla monsters and weapons.",
284       "You can replace vanilla hitscanner attacks, or player weapon attacks,",
285       "or both.",
286       "\cGWARNING! This is MAJOR gameplay changer!";
287   }
289   //TODO
290   //if (GameName == "hexen") CreateOnOffCvar("Alt. Monster Behaviour", 'alternate_monster_attacks');
293   header "Misc. Options";
295   option bool {
296     title = "Always Run";
297     cvar = always_run;
298     help =
299       "Controls 'always run' mode.";
300   }
302   option bool {
303     title = "Weapon autoswitch";
304     cvar = wpn_autoswitch;
305   }
307   option bool {
308     title = "Use Slot 11 in Weapon Cycling";
309     cvar = wp_cycle_special_slot;
310     help =
311       "Weapons without a defined slot usually put in slot 11.",
312       "This slot is excluded from weapon cycling, but you can",
313       "change it here.";
314   }
316   option bool {
317     title = "Hitscan shots through crosshair";
318     cvar = gm_fix_attack_offset;
319     help =
320       "Raise shooting point a little, so hitscan shots will go through your crosshair."
321       "\cGWARNING: this changes hitscan attack height!";
322   }
324   option bool [k8vavoom_developer_version > 0] {
325     title = "Projectile shots through crosshair";
326     cvar = gm_fix_projectile_attack_offset;
327     help =
328       "Raise shooting point a little, so projectile shots will go through your crosshair."
329       "\cGWARNING: this changes projectile attack height!";
330   }
332   option bool {
333     title = "Raise Camera to DoomGuy Eyes";
334     cvar = gm_doomguy_eye_camera;
335     help =
336       "Raise camera a little, so you'll see the world from DG eyes, not from his chest."
337       "You may need to crouch and stand up again for this to take effect.";
338   }
341   header "Self-Imposed Constraints";
343   option bool {
344     title = "New Map With Pistol";
345     cvar = sv_force_pistol_start;
346     help = "Force 'pistol start' (but don't reset health).";
347   }
349   option bool {
350     title = "New Map With Default Health";
351     cvar = sv_force_health_reset;
352     help = "Force default health on new map (but don't reset weapons).";
353   }
355   option slider {
356     title = "Minimum Start Health";
357     cvar = sv_min_startmap_health;
358     min = 0;
359     max = 100;
360     step = 5;
361     help = "Restore player health on a new map to this minimum value?",
362            "'0' means 'don't restore'.";
363   }
366   header "";
368   option submenu {
369     title = "Terrain/Boot Print Options";
370     submenu = "GameplayOptions_Terrain";
371   }
373   option submenu {
374     title = "Weapon/Autoaim Options";
375     submenu = "GameplayOptions_WeaponAutoaim";
376   }
378   option submenu {
379     title = "Mapinfo Override Options";
380     submenu = "GameplayOptions_OverrideMapinfo";
381   }
383   option submenu {
384     title = "Limit Non-Vanilla Features";
385     submenu = "GameplayOptions_AdvLimits";
386   }
388   option submenu {
389     title = "Skill Overrides";
390     submenu = "GameplayOptions_SkillOverrides";
391   }
393   option submenu {
394     title = "Headshots Options";
395     submenu = "GameplayOptions_Headshots";
396   }
398   option submenu {
399     title = "Elven Gifts";
400     submenu = "GameplayOptions_ElvenGifts";
401   }