Merge branch 'NetHack-3.6.2'
This commit is contained in:
+13
-3
@@ -1,5 +1,5 @@
|
|||||||
# NetHack 3.6 data.base
|
# NetHack 3.6 data.base
|
||||||
# $NHDT-Date: 1524683801 2018/04/25 19:16:41 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.84 $
|
# $NHDT-Date: 1545359287 2018/12/21 02:28:07 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.87 $
|
||||||
# Copyright (c) 1994, 1995, 1996 by the NetHack Development Team
|
# Copyright (c) 1994, 1995, 1996 by the NetHack Development Team
|
||||||
# Copyright (c) 1994 by Boudewijn Wayers
|
# Copyright (c) 1994 by Boudewijn Wayers
|
||||||
# NetHack may be freely redistributed. See license for details.
|
# NetHack may be freely redistributed. See license for details.
|
||||||
@@ -1629,9 +1629,19 @@ eye of the aethiopica
|
|||||||
the power to instantly open a portal to any other area of the
|
the power to instantly open a portal to any other area of the
|
||||||
dungeon, allowing its invoker to travel quickly between
|
dungeon, allowing its invoker to travel quickly between
|
||||||
areas.
|
areas.
|
||||||
|
# note: The Eyes of the Overworld is the title of Jack Vance's sequel
|
||||||
|
# to The Dying Earth and in it the 'Eyes' were separate "cusps" that
|
||||||
|
# needed to be worn like contact lenses, one on each eyeball. Wearing
|
||||||
|
# just one and attempting to look with both eyes caused instant stun.
|
||||||
|
# And when wearing two you couldn't see normal world, only a projection
|
||||||
|
# of it that had similar topology but where everything was "better".
|
||||||
|
# NetHack simplifies things: a pair of lenses is a single item like
|
||||||
|
# spectacles (eyeglasses), and the effect of wearing these lenses has
|
||||||
|
# been changed to be useful to game play (Xray vision). [The quote is
|
||||||
|
# not derived from the book.]
|
||||||
eyes of the overworld
|
eyes of the overworld
|
||||||
... and finally there is "the Eyes of the Overworld". This
|
The Eyes of the Overworld is a rather obscure artifact.
|
||||||
obscure artifact pushes the wearer's view sense into the
|
These magical lenses push the wearer's view sense into the
|
||||||
"overworld" -- another name for a segment of the Astral Plane.
|
"overworld" -- another name for a segment of the Astral Plane.
|
||||||
Usually, there is nothing to be seen. However, the wearer
|
Usually, there is nothing to be seen. However, the wearer
|
||||||
is also able to look back and see the area around herself,
|
is also able to look back and see the area around herself,
|
||||||
|
|||||||
@@ -293,6 +293,10 @@ vibrating square is not really a trap so monsters don't need to avoid it
|
|||||||
if hero kicks some embedded gold out of a wall while following vault gaurd
|
if hero kicks some embedded gold out of a wall while following vault gaurd
|
||||||
away from vault, don't report "the guard _calms_down_and_ picks up
|
away from vault, don't report "the guard _calms_down_and_ picks up
|
||||||
the gold" unless he's on brink of going ballistic
|
the gold" unless he's on brink of going ballistic
|
||||||
|
for '/?' information lookup, "item named The Artifact" failed to find info
|
||||||
|
about "Artifact" due to presence of "The"
|
||||||
|
identifying or forgetting gem types now adjusts prices for gems already on
|
||||||
|
shopping bill
|
||||||
|
|
||||||
|
|
||||||
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
+2
-1
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 extern.h $NHDT-Date: 1545182146 2018/12/19 01:15:46 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.674 $ */
|
/* NetHack 3.6 extern.h $NHDT-Date: 1545383614 2018/12/21 09:13:34 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.675 $ */
|
||||||
/* Copyright (c) Steve Creps, 1988. */
|
/* Copyright (c) Steve Creps, 1988. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -2220,6 +2220,7 @@ E long FDECL(contained_cost,
|
|||||||
(struct obj *, struct monst *, long, BOOLEAN_P, BOOLEAN_P));
|
(struct obj *, struct monst *, long, BOOLEAN_P, BOOLEAN_P));
|
||||||
E long FDECL(contained_gold, (struct obj *));
|
E long FDECL(contained_gold, (struct obj *));
|
||||||
E void FDECL(picked_container, (struct obj *));
|
E void FDECL(picked_container, (struct obj *));
|
||||||
|
E void FDECL(gem_learned, (int));
|
||||||
E void FDECL(alter_cost, (struct obj *, long));
|
E void FDECL(alter_cost, (struct obj *, long));
|
||||||
E long FDECL(unpaid_cost, (struct obj *, BOOLEAN_P));
|
E long FDECL(unpaid_cost, (struct obj *, BOOLEAN_P));
|
||||||
E boolean FDECL(billable, (struct monst **, struct obj *, CHAR_P, BOOLEAN_P));
|
E boolean FDECL(billable, (struct monst **, struct obj *, CHAR_P, BOOLEAN_P));
|
||||||
|
|||||||
+8
-2
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 o_init.c $NHDT-Date: 1528332336 2018/06/07 00:45:36 $ $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.24 $ */
|
/* NetHack 3.6 o_init.c $NHDT-Date: 1545383615 2018/12/21 09:13:35 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.25 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -362,8 +362,11 @@ boolean credit_hero;
|
|||||||
exercise(A_WIS, TRUE);
|
exercise(A_WIS, TRUE);
|
||||||
}
|
}
|
||||||
/* moves==1L => initial inventory, gameover => final disclosure */
|
/* moves==1L => initial inventory, gameover => final disclosure */
|
||||||
if (moves > 1L && !program_state.gameover)
|
if (moves > 1L && !program_state.gameover) {
|
||||||
|
if (objects[oindx].oc_class == GEM_CLASS)
|
||||||
|
gem_learned(oindx); /* could affect price of unpaid gems */
|
||||||
update_inventory();
|
update_inventory();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -390,6 +393,9 @@ register int oindx;
|
|||||||
disco[dindx - 1] = 0;
|
disco[dindx - 1] = 0;
|
||||||
else
|
else
|
||||||
impossible("named object not in disco");
|
impossible("named object not in disco");
|
||||||
|
|
||||||
|
if (objects[oindx].oc_class == GEM_CLASS)
|
||||||
|
gem_learned(oindx); /* ok, it's actually been unlearned */
|
||||||
update_inventory();
|
update_inventory();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-1
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 pager.c $NHDT-Date: 1545129848 2018/12/18 10:44:08 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.142 $ */
|
/* NetHack 3.6 pager.c $NHDT-Date: 1545361111 2018/12/21 02:58:31 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.143 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2018. */
|
/*-Copyright (c) Robert Patrick Rankin, 2018. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -576,6 +576,8 @@ char *supplemental_name;
|
|||||||
if (*dbase_str == ' ')
|
if (*dbase_str == ' ')
|
||||||
++dbase_str;
|
++dbase_str;
|
||||||
}
|
}
|
||||||
|
if (!strncmp(dbase_str, "pair of ", 8))
|
||||||
|
dbase_str += 8;
|
||||||
if (!strncmp(dbase_str, "tame ", 5))
|
if (!strncmp(dbase_str, "tame ", 5))
|
||||||
dbase_str += 5;
|
dbase_str += 5;
|
||||||
else if (!strncmp(dbase_str, "peaceful ", 9))
|
else if (!strncmp(dbase_str, "peaceful ", 9))
|
||||||
@@ -640,6 +642,14 @@ char *supplemental_name;
|
|||||||
ep = strstri(dbase_str, ", ");
|
ep = strstri(dbase_str, ", ");
|
||||||
if (ep && ep > dbase_str)
|
if (ep && ep > dbase_str)
|
||||||
*ep = '\0';
|
*ep = '\0';
|
||||||
|
/* remove article from 'alt' name ("a pair of lenses named
|
||||||
|
The Eyes of the Overworld" simplified above to "lenses named
|
||||||
|
The Eyes of the Overworld", now reduced to "The Eyes of the
|
||||||
|
Overworld", skip "The" as with base name processing) */
|
||||||
|
if (!strncmpi(alt, "a ", 2)
|
||||||
|
|| !strncmpi(alt, "an ", 3)
|
||||||
|
|| !strncmpi(alt, "the ", 4))
|
||||||
|
alt = index(alt, ' ') + 1;
|
||||||
/* remove charges or "(lit)" or wizmode "(N aum)" */
|
/* remove charges or "(lit)" or wizmode "(N aum)" */
|
||||||
if ((ep = strstri(dbase_str, " (")) != 0 && ep > dbase_str)
|
if ((ep = strstri(dbase_str, " (")) != 0 && ep > dbase_str)
|
||||||
*ep = '\0';
|
*ep = '\0';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 shk.c $NHDT-Date: 1545036290 2018/12/17 08:44:50 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.143 $ */
|
/* NetHack 3.6 shk.c $NHDT-Date: 1545383616 2018/12/21 09:13:36 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.144 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -2278,6 +2278,45 @@ register struct monst *shkp;
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* unlike alter_cost() which operates on a specific item, identifying or
|
||||||
|
forgetting a gem causes all unpaid gems of its type to change value */
|
||||||
|
void
|
||||||
|
gem_learned(oindx)
|
||||||
|
int oindx;
|
||||||
|
{
|
||||||
|
struct obj *obj;
|
||||||
|
struct monst *shkp;
|
||||||
|
struct bill_x *bp;
|
||||||
|
int ct;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Unfortunately, shop bill doesn't have object type included,
|
||||||
|
* just obj->oid for each unpaid stack, so we have to go through
|
||||||
|
* every bill and every item on that bill and match up against
|
||||||
|
* every unpaid stack on the level....
|
||||||
|
*
|
||||||
|
* Fortunately, there's no need to catch up when changing dungeon
|
||||||
|
* levels even if we ID'd or forget some gems while gone from a
|
||||||
|
* level. There won't be any shop bills when arriving; they were
|
||||||
|
* either paid before leaving or got treated as robbery and it's
|
||||||
|
* too late to adjust pricing.
|
||||||
|
*/
|
||||||
|
for (shkp = next_shkp(fmon, TRUE); shkp;
|
||||||
|
shkp = next_shkp(shkp->nmon, TRUE)) {
|
||||||
|
ct = ESHK(shkp)->billct;
|
||||||
|
bp = ESHK(shkp)->bill;
|
||||||
|
while (--ct >= 0) {
|
||||||
|
obj = find_oid(bp->bo_id);
|
||||||
|
if (!obj) /* shouldn't happen */
|
||||||
|
continue;
|
||||||
|
if ((oindx != STRANGE_OBJECT) ? (obj->otyp == oindx)
|
||||||
|
: (obj->oclass == GEM_CLASS))
|
||||||
|
bp->price = get_cost(obj, shkp);
|
||||||
|
++bp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* called when an item's value has been enhanced; if it happens to be
|
/* called when an item's value has been enhanced; if it happens to be
|
||||||
on any shop bill, update that bill to reflect the new higher price
|
on any shop bill, update that bill to reflect the new higher price
|
||||||
[if the new price drops for some reason, keep the old one in place] */
|
[if the new price drops for some reason, keep the old one in place] */
|
||||||
|
|||||||
Reference in New Issue
Block a user