add #genocided command
Comparable to #vanquished, be able to view info normally available during end of game disclosure while the game is still in progress. The new #genocided command lists all genocided and extincted types of monsters. Unlike #vanquished, there aren't any sorting choices. Potential future enhancement: provide a way to view the genocided list at the "what do you want to genocide?" prompt.
This commit is contained in:
@@ -124,6 +124,7 @@ M-C conduct view optional challenges
|
|||||||
M-d dip dip an object into something
|
M-d dip dip an object into something
|
||||||
M-e enhance show weapon and spell skills, can improve them if eligible
|
M-e enhance show weapon and spell skills, can improve them if eligible
|
||||||
M-f force force a lock
|
M-f force force a lock
|
||||||
|
M-g genocided list genocided and extinct monster types, if any
|
||||||
M-i invoke invoke an object's special powers
|
M-i invoke invoke an object's special powers
|
||||||
M-j jump jump to another location
|
M-j jump jump to another location
|
||||||
M-l loot loot a box on the floor
|
M-l loot loot a box on the floor
|
||||||
|
|||||||
@@ -1298,6 +1298,10 @@ Default key is \(oqf\(cq.
|
|||||||
Force a lock.
|
Force a lock.
|
||||||
Autocompletes.
|
Autocompletes.
|
||||||
Default key is \(oqM-f\(cq.
|
Default key is \(oqM-f\(cq.
|
||||||
|
.lp #genocided
|
||||||
|
List any monster types which have been genocided or become extinct.
|
||||||
|
Autocompletes.
|
||||||
|
Default key is \(oqM-g\(cq.
|
||||||
.lp "#glance "
|
.lp "#glance "
|
||||||
Show what type of thing a map symbol corresponds to.
|
Show what type of thing a map symbol corresponds to.
|
||||||
Default key is \(oq;\(cq.
|
Default key is \(oq;\(cq.
|
||||||
@@ -1867,6 +1871,8 @@ option is enabled)
|
|||||||
#enhance
|
#enhance
|
||||||
.lp M-f
|
.lp M-f
|
||||||
#force
|
#force
|
||||||
|
.lp M-g
|
||||||
|
#genocided
|
||||||
.lp M-i
|
.lp M-i
|
||||||
#invoke
|
#invoke
|
||||||
.lp M-j
|
.lp M-j
|
||||||
|
|||||||
@@ -1407,6 +1407,11 @@ Default key is `{\tt f}'.
|
|||||||
\item[\tb{\#force}]
|
\item[\tb{\#force}]
|
||||||
Force a lock. Autocompletes. Default key is `{\tt M-f}'.
|
Force a lock. Autocompletes. Default key is `{\tt M-f}'.
|
||||||
%.lp
|
%.lp
|
||||||
|
\item[\tb{\#genocided}]
|
||||||
|
List any monster types which have been genocided or become extinct.
|
||||||
|
Autocompletes.
|
||||||
|
Default key is `{\tt M-g}'.
|
||||||
|
%.lp
|
||||||
\item[\tb{\#glance}]
|
\item[\tb{\#glance}]
|
||||||
Show what type of thing a map symbol corresponds to. Default key is `{\tt ;}'.
|
Show what type of thing a map symbol corresponds to. Default key is `{\tt ;}'.
|
||||||
%.lp
|
%.lp
|
||||||
@@ -2022,6 +2027,9 @@ equivalent is used for another command, so the three key combination
|
|||||||
\item[\tb{M-f}]
|
\item[\tb{M-f}]
|
||||||
{\tt\#force}
|
{\tt\#force}
|
||||||
%.lp
|
%.lp
|
||||||
|
\item[\tb{M-g}]
|
||||||
|
{\tt\#genocided}
|
||||||
|
%.lp
|
||||||
\item[\tb{M-i}]
|
\item[\tb{M-i}]
|
||||||
{\tt\#invoke}
|
{\tt\#invoke}
|
||||||
%.lp
|
%.lp
|
||||||
|
|||||||
@@ -1105,6 +1105,7 @@ extern int doborn(void);
|
|||||||
extern void list_vanquished(char, boolean);
|
extern void list_vanquished(char, boolean);
|
||||||
extern int num_genocides(void);
|
extern int num_genocides(void);
|
||||||
extern void list_genocided(char, boolean);
|
extern void list_genocided(char, boolean);
|
||||||
|
extern int dogenocided(void);
|
||||||
extern const char *align_str(aligntyp);
|
extern const char *align_str(aligntyp);
|
||||||
extern char *piousness(boolean, const char *);
|
extern char *piousness(boolean, const char *);
|
||||||
extern void mstatusline(struct monst *);
|
extern void mstatusline(struct monst *);
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ extern int dofire(void); /**/
|
|||||||
extern int dothrow(void); /**/
|
extern int dothrow(void); /**/
|
||||||
extern int doeat(void); /**/
|
extern int doeat(void); /**/
|
||||||
extern int done2(void); /**/
|
extern int done2(void); /**/
|
||||||
extern int vanquished(void); /**/
|
extern int dovanquished(void); /**/
|
||||||
extern int doengrave(void); /**/
|
extern int doengrave(void); /**/
|
||||||
extern int dopickup(void); /**/
|
extern int dopickup(void); /**/
|
||||||
extern int ddoinv(void); /**/
|
extern int ddoinv(void); /**/
|
||||||
@@ -2567,6 +2567,9 @@ struct ext_func_tab extcmdlist[] = {
|
|||||||
doforce, AUTOCOMPLETE, NULL },
|
doforce, AUTOCOMPLETE, NULL },
|
||||||
{ ';', "glance", "show what type of thing a map symbol corresponds to",
|
{ ';', "glance", "show what type of thing a map symbol corresponds to",
|
||||||
doquickwhatis, IFBURIED | GENERALCMD, NULL },
|
doquickwhatis, IFBURIED | GENERALCMD, NULL },
|
||||||
|
{ M('g'), "genocided",
|
||||||
|
"list monsters that have been genocided or become extinct",
|
||||||
|
dogenocided, IFBURIED | AUTOCOMPLETE, NULL },
|
||||||
{ '?', "help", "give a help message",
|
{ '?', "help", "give a help message",
|
||||||
dohelp, IFBURIED | GENERALCMD, NULL },
|
dohelp, IFBURIED | GENERALCMD, NULL },
|
||||||
{ '\0', "herecmdmenu", "show menu of commands you can do here",
|
{ '\0', "herecmdmenu", "show menu of commands you can do here",
|
||||||
|
|||||||
+17
-1
@@ -2826,7 +2826,7 @@ list_vanquished(char defquery, boolean ask)
|
|||||||
* which needs putstr() and past tense.
|
* which needs putstr() and past tense.
|
||||||
*/
|
*/
|
||||||
} else if (!gp.program_state.gameover) {
|
} else if (!gp.program_state.gameover) {
|
||||||
/* #dovanquished rather than final disclosure, so pline() is ok */
|
/* #vanquished rather than final disclosure, so pline() is ok */
|
||||||
pline("No creatures have been vanquished.");
|
pline("No creatures have been vanquished.");
|
||||||
#ifdef DUMPLOG
|
#ifdef DUMPLOG
|
||||||
} else if (dumping) {
|
} else if (dumping) {
|
||||||
@@ -2852,6 +2852,7 @@ num_genocides(void)
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* return a count of the number of extinct species */
|
||||||
static int
|
static int
|
||||||
num_extinct(void)
|
num_extinct(void)
|
||||||
{
|
{
|
||||||
@@ -2866,6 +2867,8 @@ num_extinct(void)
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* show genocided and extinct monster types for final disclosure/dumplog
|
||||||
|
or for the #genocided command */
|
||||||
void
|
void
|
||||||
list_genocided(char defquery, boolean ask)
|
list_genocided(char defquery, boolean ask)
|
||||||
{
|
{
|
||||||
@@ -2933,6 +2936,11 @@ list_genocided(char defquery, boolean ask)
|
|||||||
display_nhwindow(klwin, TRUE);
|
display_nhwindow(klwin, TRUE);
|
||||||
destroy_nhwindow(klwin);
|
destroy_nhwindow(klwin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* See the comment for similar code near the end of list_vanquished(). */
|
||||||
|
} else if (!gp.program_state.gameover) {
|
||||||
|
/* #genocided rather than final disclosure, so pline() is ok */
|
||||||
|
pline("No creatures have been genocided or become extinct.");
|
||||||
#ifdef DUMPLOG
|
#ifdef DUMPLOG
|
||||||
} else if (dumping) {
|
} else if (dumping) {
|
||||||
putstr(0, 0, "No species were genocided or became extinct.");
|
putstr(0, 0, "No species were genocided or became extinct.");
|
||||||
@@ -2940,6 +2948,14 @@ list_genocided(char defquery, boolean ask)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* M-g - #genocided command */
|
||||||
|
int
|
||||||
|
dogenocided(void)
|
||||||
|
{
|
||||||
|
list_genocided('y', FALSE);
|
||||||
|
return ECMD_OK;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* align_str(), piousness(), mstatusline() and ustatusline() once resided
|
* align_str(), piousness(), mstatusline() and ustatusline() once resided
|
||||||
* in pline.c, then got moved to priest.c just to be out of there. They
|
* in pline.c, then got moved to priest.c just to be out of there. They
|
||||||
|
|||||||
Reference in New Issue
Block a user