B12010 - boulders in throw menu for giants
When the player is poly'd to a giant, it was a bit odd that boulders weren't listed in the throw menu, especially since the usual check for them is throws_rocks. Since statues are not appropriate, I added this thru yet another ugly check in getobj.
This commit is contained in:
@@ -760,6 +760,7 @@ register const char *let,*word;
|
|||||||
boolean usegold = FALSE; /* can't use gold because its illegal */
|
boolean usegold = FALSE; /* can't use gold because its illegal */
|
||||||
boolean allowall = FALSE;
|
boolean allowall = FALSE;
|
||||||
boolean allownone = FALSE;
|
boolean allownone = FALSE;
|
||||||
|
boolean useboulder = FALSE;
|
||||||
xchar foox = 0;
|
xchar foox = 0;
|
||||||
long cnt;
|
long cnt;
|
||||||
boolean prezero = FALSE;
|
boolean prezero = FALSE;
|
||||||
@@ -793,6 +794,11 @@ register const char *let,*word;
|
|||||||
*/
|
*/
|
||||||
if(allowall && !strcmp(word, "read")) allowall = FALSE;
|
if(allowall && !strcmp(word, "read")) allowall = FALSE;
|
||||||
|
|
||||||
|
/* another ugly check: show boulders (not statues) */
|
||||||
|
if(*let == WEAPON_CLASS &&
|
||||||
|
!strcmp(word, "throw") && throws_rocks(youmonst.data))
|
||||||
|
useboulder = TRUE;
|
||||||
|
|
||||||
if(allownone) *bp++ = '-';
|
if(allownone) *bp++ = '-';
|
||||||
#ifndef GOLDOBJ
|
#ifndef GOLDOBJ
|
||||||
if(allowgold) *bp++ = def_oc_syms[COIN_CLASS];
|
if(allowgold) *bp++ = def_oc_syms[COIN_CLASS];
|
||||||
@@ -811,6 +817,7 @@ register const char *let,*word;
|
|||||||
#ifdef GOLDOBJ
|
#ifdef GOLDOBJ
|
||||||
|| (usegold && otmp->invlet == GOLD_SYM)
|
|| (usegold && otmp->invlet == GOLD_SYM)
|
||||||
#endif
|
#endif
|
||||||
|
|| (useboulder && otmp->otyp == BOULDER)
|
||||||
) {
|
) {
|
||||||
register int otyp = otmp->otyp;
|
register int otyp = otmp->otyp;
|
||||||
bp[foo++] = otmp->invlet;
|
bp[foo++] = otmp->invlet;
|
||||||
|
|||||||
Reference in New Issue
Block a user