MCPcopy Create free account
hub / github.com/NetHack/NetHack / optfn_pickup_burden

Function optfn_pickup_burden

src/options.c:3255–3305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3253}
3254
3255staticfn int
3256optfn_pickup_burden(
3257 int optidx, int req, boolean negated UNUSED,
3258 char *opts, char *op)
3259{
3260 if (req == do_init) {
3261 return optn_ok;
3262 }
3263 if (req == do_set) {
3264 /* maximum burden picked up before prompt (Warren Cheung) */
3265
3266 if ((op = string_for_env_opt(allopt[optidx].name, opts, FALSE))
3267 != empty_optstr) {
3268 switch (lowc(*op)) {
3269 case 'u': /* Unencumbered */
3270 flags.pickup_burden = UNENCUMBERED;
3271 break;
3272 case 'b': /* Burdened (slight encumbrance) */
3273 flags.pickup_burden = SLT_ENCUMBER;
3274 break;
3275 case 's': /* streSsed (moderate encumbrance) */
3276 flags.pickup_burden = MOD_ENCUMBER;
3277 break;
3278 case 'n': /* straiNed (heavy encumbrance) */
3279 flags.pickup_burden = HVY_ENCUMBER;
3280 break;
3281 case 'o': /* OverTaxed (extreme encumbrance) */
3282 case 't':
3283 flags.pickup_burden = EXT_ENCUMBER;
3284 break;
3285 case 'l': /* overLoaded */
3286 flags.pickup_burden = OVERLOADED;
3287 break;
3288 default:
3289 config_error_add("Unknown %s parameter '%s'",
3290 allopt[optidx].name, op);
3291 return optn_err;
3292 }
3293 } else
3294 return optn_err;
3295 return optn_ok;
3296 }
3297 if (req == get_val || req == get_cnf_val) {
3298 Sprintf(opts, "%s", burdentype[flags.pickup_burden]);
3299 return optn_ok;
3300 }
3301 if (req == do_handler) {
3302 return handler_pickup_burden();
3303 }
3304 return optn_ok;
3305}
3306
3307staticfn int
3308optfn_pickup_types(

Callers

nothing calls this directly

Calls 4

string_for_env_optFunction · 0.85
config_error_addFunction · 0.85
handler_pickup_burdenFunction · 0.85
lowcFunction · 0.70

Tested by

no test coverage detected