Merge remote-tracking branch 'origin/NetHack-3.6.0'
This commit is contained in:
@@ -1091,6 +1091,7 @@ dokick()
|
||||
goto ouch;
|
||||
if (IS_TREE(maploc->typ)) {
|
||||
struct obj *treefruit;
|
||||
|
||||
/* nothing, fruit or trouble? 75:23.5:1.5% */
|
||||
if (rn2(3)) {
|
||||
if (!rn2(6) && !(mvitals[PM_KILLER_BEE].mvflags & G_GONE))
|
||||
@@ -1101,7 +1102,9 @@ dokick()
|
||||
&& (treefruit = rnd_treefruit_at(x, y))) {
|
||||
long nfruit = 8L - rnl(7), nfall;
|
||||
short frtype = treefruit->otyp;
|
||||
|
||||
treefruit->quan = nfruit;
|
||||
treefruit->owt = weight(treefruit);
|
||||
if (is_plural(treefruit))
|
||||
pline("Some %s fall from the tree!", xname(treefruit));
|
||||
else
|
||||
@@ -1125,6 +1128,7 @@ dokick()
|
||||
int cnt = rnl(4) + 2;
|
||||
int made = 0;
|
||||
coord mm;
|
||||
|
||||
mm.x = x;
|
||||
mm.y = y;
|
||||
while (cnt--) {
|
||||
|
||||
@@ -1489,7 +1489,7 @@ struct obj *otmp;
|
||||
}
|
||||
if (s1)
|
||||
pline("Use the '%s' command to %s %s%s.", s1, s2,
|
||||
!is_plural(otmp) ? "that" : "those", s3);
|
||||
!(is_plural(otmp) || pair_of(otmp)) ? "that" : "those", s3);
|
||||
else
|
||||
#endif
|
||||
pline(silly_thing_to, word);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 muse.c $NHDT-Date: 1457254910 2016/03/06 09:01:50 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.72 $ */
|
||||
/* NetHack 3.6 muse.c $NHDT-Date: 1469840918 2016/07/30 01:08:38 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.78 $ */
|
||||
/* Copyright (C) 1990 by Ken Arromdee */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -2369,7 +2369,7 @@ boolean by_you;
|
||||
return muse_unslime(mon, obj, (struct trap *) 0, by_you);
|
||||
|
||||
if (((t = t_at(mon->mx, mon->my)) == 0 || t->ttyp != FIRE_TRAP)
|
||||
&& !mon->mtrapped && !mptr->mmove == 0) {
|
||||
&& mptr->mmove && !mon->mtrapped) {
|
||||
int xy[2][8], x, y, idx, ridx, nxy = 0;
|
||||
|
||||
for (x = mon->mx - 1; x <= mon->mx + 1; ++x)
|
||||
|
||||
29
src/objnam.c
29
src/objnam.c
@@ -2763,24 +2763,25 @@ struct obj *no_wish;
|
||||
}
|
||||
|
||||
/*
|
||||
Skip over "pair of ", "pairs of", "set of" and "sets of".
|
||||
|
||||
Accept "3 pair of boots" as well as "3 pairs of boots". It is valid
|
||||
English either way. See makeplural() for more on pair/pairs.
|
||||
|
||||
We should only double count if the object in question is not
|
||||
referred to as a "pair of". E.g. We should double if the player
|
||||
types "pair of spears", but not if the player types "pair of
|
||||
lenses". Luckily (?) all objects that are referred to as pairs
|
||||
-- boots, gloves, and lenses -- are also not mergable, so cnt is
|
||||
ignored anyway.
|
||||
*/
|
||||
* Skip over "pair of ", "pairs of", "set of" and "sets of".
|
||||
*
|
||||
* Accept "3 pair of boots" as well as "3 pairs of boots". It is
|
||||
* valid English either way. See makeplural() for more on pair/pairs.
|
||||
*
|
||||
* We should only double count if the object in question is not
|
||||
* referred to as a "pair of". E.g. We should double if the player
|
||||
* types "pair of spears", but not if the player types "pair of
|
||||
* lenses". Luckily (?) all objects that are referred to as pairs
|
||||
* -- boots, gloves, and lenses -- are also not mergable, so cnt is
|
||||
* ignored anyway.
|
||||
*/
|
||||
if (!strncmpi(bp, "pair of ", 8)) {
|
||||
bp += 8;
|
||||
cnt *= 2;
|
||||
} else if (cnt > 1 && !strncmpi(bp, "pairs of ", 9)) {
|
||||
} else if (!strncmpi(bp, "pairs of ", 9)) {
|
||||
bp += 9;
|
||||
cnt *= 2;
|
||||
if (cnt > 1)
|
||||
cnt *= 2;
|
||||
} else if (!strncmpi(bp, "set of ", 7)) {
|
||||
bp += 7;
|
||||
} else if (!strncmpi(bp, "sets of ", 8)) {
|
||||
|
||||
@@ -1798,7 +1798,7 @@ dodip()
|
||||
if (inaccessible_equipment(obj, "dip", FALSE))
|
||||
return 0;
|
||||
|
||||
shortestname = is_plural(obj) ? "them" : "it";
|
||||
shortestname = (is_plural(obj) || pair_of(obj)) ? "them" : "it";
|
||||
/*
|
||||
* Bypass safe_qbuf() since it doesn't handle varying suffix without
|
||||
* an awful lot of support work. Format the object once, even though
|
||||
|
||||
14
src/wield.c
14
src/wield.c
@@ -421,10 +421,11 @@ dowieldquiver()
|
||||
}
|
||||
Strcpy(qbuf, "Ready all of them instead?");
|
||||
} else {
|
||||
boolean use_plural = (is_plural(uwep) || pair_of(uwep));
|
||||
|
||||
Sprintf(qbuf, "You are wielding %s. Ready %s instead?",
|
||||
/* uwep->quan is 1, but name might be plural ('boots') */
|
||||
!is_plural(uwep) ? "that" : "those",
|
||||
!is_plural(uwep) ? "it" : "them");
|
||||
!use_plural ? "that" : "those",
|
||||
!use_plural ? "it" : "them");
|
||||
}
|
||||
/* require confirmation to ready the main weapon */
|
||||
if (ynq(qbuf) != 'y') {
|
||||
@@ -458,11 +459,12 @@ dowieldquiver()
|
||||
}
|
||||
Strcpy(qbuf, "Ready all of them instead?");
|
||||
} else {
|
||||
boolean use_plural = (is_plural(uswapwep) || pair_of(uswapwep));
|
||||
|
||||
Sprintf(qbuf, "%s your %s weapon. Ready %s instead?",
|
||||
!is_plural(uswapwep) ? "That is" : "Those are",
|
||||
!use_plural ? "That is" : "Those are",
|
||||
u.twoweap ? "second" : "alternate",
|
||||
/* uswapwep->quan is 1, but name might be plural */
|
||||
!is_plural(uswapwep) ? "it" : "them");
|
||||
!use_plural ? "it" : "them");
|
||||
}
|
||||
/* require confirmation to ready the alternate weapon */
|
||||
if (ynq(qbuf) != 'y') {
|
||||
|
||||
Reference in New Issue
Block a user