levelchange

This changes the #levelgain command to #levelchange, and allows changing
levels both up and down.

--Ken A.
This commit is contained in:
arromdee
2002-01-18 01:09:28 +00:00
parent 35b46238fc
commit d2050e48e5
2 changed files with 20 additions and 12 deletions

View File

@@ -479,7 +479,7 @@ ninjas should get multishot bonus with yumi and ya (Dylan O'Donnell)
put prisoners in the Dark One's dungeon (Dylan O'Donnell)
add leather cloak so soldiers don't have elven cloaks
add Tom Friedetzky's BUC-patch (applies to full menustyle only)
add wizard #poly and #levelgain (Dylan O'Donnell)
add wizard #poly and #levelchange (originally levelgain; Dylan O'Donnell),
Platform- and/or Interface-Specific New Features

View File

@@ -117,7 +117,7 @@ STATIC_PTR int NDECL(wiz_where);
STATIC_PTR int NDECL(wiz_detect);
STATIC_PTR int NDECL(wiz_polyself);
STATIC_PTR int NDECL(wiz_level_tele);
STATIC_PTR int NDECL(wiz_level_gain);
STATIC_PTR int NDECL(wiz_level_change);
STATIC_PTR int NDECL(wiz_show_seenv);
STATIC_PTR int NDECL(wiz_show_vision);
STATIC_PTR int NDECL(wiz_mon_polycontrol);
@@ -565,22 +565,30 @@ wiz_mon_polycontrol()
}
STATIC_PTR int
wiz_level_gain()
wiz_level_change()
{
char buf[BUFSZ];
int newlevel;
int ret;
if (u.ulevel >= MAXULEV) {
You("are already as experienced as you can get.");
return 0;
}
getlin("To what experience level do you want to be raised?", buf);
(void) sscanf(buf, "%d", &newlevel);
if (newlevel <= 0) {
ret = sscanf(buf, "%d", &newlevel);
if (ret < 1 || ret == EOF)
pline(Never_mind);
} else if (newlevel <= u.ulevel) {
else if (newlevel == u.ulevel)
You("are already that experienced.");
} else {
else if (newlevel < u.ulevel) {
if (u.ulevel == 1) {
You("are already as inexperienced as you can get.");
return 0;
}
if (newlevel < 1) newlevel = 1;
while (u.ulevel > newlevel) losexp((const char *)0);
} else {
if (u.ulevel >= MAXULEV) {
You("are already as experienced as you can get.");
return 0;
}
if (newlevel > MAXULEV) newlevel = MAXULEV;
while (u.ulevel < newlevel) pluslvl(FALSE);
}
@@ -1404,7 +1412,7 @@ struct ext_func_tab extcmdlist[] = {
#if defined(WIZARD)
static const struct ext_func_tab debug_extcmdlist[] = {
{"levelgain", "gain experience levels", wiz_level_gain, TRUE},
{"levelchange", "change experience change", wiz_level_change, TRUE},
{"light sources", "show mobile light sources", wiz_light_sources, TRUE},
{"monpoly_control", "control monster polymorphs", wiz_mon_polycontrol, TRUE},
{"poly", "polymorph self", wiz_polyself, TRUE},