Merge branch 'NetHack-3.6'
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.10 $ $NHDT-Date: 1558355176 2019/05/20 12:26:16 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.12 $ $NHDT-Date: 1558562367 2019/05/22 21:59:27 $
|
||||
|
||||
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
||||
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
||||
@@ -16,6 +16,8 @@ when examining the map with '/' or ';', picking a symbol which is used for
|
||||
billing and payment issue as a result of glob coalescing
|
||||
glob pricing did not consider weight properly
|
||||
glob shop interaction improved to handle more of the expected scenarios
|
||||
non-flying steed on Plane of Water would drown when air bubble moved hero
|
||||
xans fly, but could not reach your feet if you flew
|
||||
|
||||
|
||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
|
||||
@@ -1202,9 +1202,8 @@ register struct attack *mattk;
|
||||
/* This case is too obvious to ignore, but Nethack is not in
|
||||
* general very good at considering height--most short monsters
|
||||
* still _can_ attack you when you're flying or mounted.
|
||||
* [FIXME: why can't a flying attacker overcome this?]
|
||||
*/
|
||||
if (u.usteed || Levitation || Flying) {
|
||||
if ((u.usteed || Levitation || Flying) && !is_flyer(mtmp->data)) {
|
||||
pline("%s tries to reach your %s %s!", Monst_name, sidestr, leg);
|
||||
dmg = 0;
|
||||
} else if (mtmp->mcan) {
|
||||
|
||||
41
src/mkmaze.c
41
src/mkmaze.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mkmaze.c $NHDT-Date: 1555022325 2019/04/11 22:38:45 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.68 $ */
|
||||
/* NetHack 3.6 mkmaze.c $NHDT-Date: 1558562368 2019/05/22 21:59:28 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.70 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Pasi Kallinen, 2018. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -495,7 +495,7 @@ fixup_special()
|
||||
|
||||
case LR_UPSTAIR:
|
||||
case LR_DOWNSTAIR:
|
||||
place_it:
|
||||
place_it:
|
||||
place_lregion(r->inarea.x1, r->inarea.y1, r->inarea.x2,
|
||||
r->inarea.y2, r->delarea.x1, r->delarea.y1,
|
||||
r->delarea.x2, r->delarea.y2, r->rtype, &lev);
|
||||
@@ -1387,14 +1387,15 @@ STATIC_DCL void FDECL(mv_bubble, (struct bubble *, int, int, BOOLEAN_P));
|
||||
void
|
||||
movebubbles()
|
||||
{
|
||||
static boolean up;
|
||||
struct bubble *b;
|
||||
int x, y, i, j;
|
||||
struct trap *btrap;
|
||||
static const struct rm water_pos = { cmap_to_glyph(S_water), WATER, 0, 0,
|
||||
0, 0, 0, 0, 0, 0 };
|
||||
static const struct rm air_pos = { cmap_to_glyph(S_cloud), AIR, 0, 0, 0,
|
||||
1, 0, 0, 0, 0 };
|
||||
static boolean up = FALSE;
|
||||
struct bubble *b;
|
||||
struct container *cons;
|
||||
struct trap *btrap;
|
||||
int x, y, i, j;
|
||||
|
||||
/* set up the portal the first time bubbles are moved */
|
||||
if (!g.wportal)
|
||||
@@ -1425,9 +1426,6 @@ movebubbles()
|
||||
/* pick up objects, monsters, hero, and traps */
|
||||
if (OBJ_AT(x, y)) {
|
||||
struct obj *olist = (struct obj *) 0, *otmp;
|
||||
struct container *cons =
|
||||
(struct container *) alloc(
|
||||
sizeof(struct container));
|
||||
|
||||
while ((otmp = g.level.objects[x][y]) != 0) {
|
||||
remove_object(otmp);
|
||||
@@ -1436,6 +1434,7 @@ movebubbles()
|
||||
olist = otmp;
|
||||
}
|
||||
|
||||
cons = (struct container *) alloc(sizeof *cons);
|
||||
cons->x = x;
|
||||
cons->y = y;
|
||||
cons->what = CONS_OBJ;
|
||||
@@ -1445,10 +1444,8 @@ movebubbles()
|
||||
}
|
||||
if (MON_AT(x, y)) {
|
||||
struct monst *mon = m_at(x, y);
|
||||
struct container *cons =
|
||||
(struct container *) alloc(
|
||||
sizeof(struct container));
|
||||
|
||||
cons = (struct container *) alloc(sizeof *cons);
|
||||
cons->x = x;
|
||||
cons->y = y;
|
||||
cons->what = CONS_MON;
|
||||
@@ -1466,10 +1463,7 @@ movebubbles()
|
||||
mon->mx = mon->my = 0;
|
||||
}
|
||||
if (!u.uswallow && x == u.ux && y == u.uy) {
|
||||
struct container *cons =
|
||||
(struct container *) alloc(
|
||||
sizeof(struct container));
|
||||
|
||||
cons = (struct container *) alloc(sizeof *cons);
|
||||
cons->x = x;
|
||||
cons->y = y;
|
||||
cons->what = CONS_HERO;
|
||||
@@ -1479,10 +1473,7 @@ movebubbles()
|
||||
b->cons = cons;
|
||||
}
|
||||
if ((btrap = t_at(x, y)) != 0) {
|
||||
struct container *cons =
|
||||
(struct container *) alloc(
|
||||
sizeof(struct container));
|
||||
|
||||
cons = (struct container *) alloc(sizeof *cons);
|
||||
cons->x = x;
|
||||
cons->y = y;
|
||||
cons->what = CONS_TRAP;
|
||||
@@ -1875,21 +1866,21 @@ boolean ini;
|
||||
}
|
||||
|
||||
case CONS_HERO: {
|
||||
struct monst *mtmp = m_at(cons->x, cons->y);
|
||||
int ux0 = u.ux, uy0 = u.uy;
|
||||
|
||||
/* change u.ux0 and u.uy0? */
|
||||
u.ux = cons->x;
|
||||
u.uy = cons->y;
|
||||
u_on_newpos(cons->x, cons->y);
|
||||
newsym(ux0, uy0); /* clean up old position */
|
||||
|
||||
if (MON_AT(cons->x, cons->y)) {
|
||||
mnexto(m_at(cons->x, cons->y));
|
||||
if (mtmp) {
|
||||
mnexto(mtmp);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case CONS_TRAP: {
|
||||
struct trap *btrap = (struct trap *) cons->list;
|
||||
|
||||
btrap->tx = cons->x;
|
||||
btrap->ty = cons->y;
|
||||
break;
|
||||
|
||||
@@ -372,7 +372,7 @@ rc=Rc
|
||||
# Visual Studio we are using. We set VSVER to 0000 to flag any version that
|
||||
# is too old or untested.
|
||||
#
|
||||
#NMAKE version 1414264330 is distributed with VS 15.7.5
|
||||
#NMAKE version 1421277022 is distributed with latest VS 2019
|
||||
|
||||
#!MESSAGE $(MAKEFLAGS)
|
||||
#!MESSAGE $(MAKEDIR)
|
||||
@@ -396,9 +396,9 @@ VSVER=2013
|
||||
VSVER=2015
|
||||
!ELSEIF ($(MAKEVERSION) > 1411000000) && ($(MAKEVERSION) < 1416270312)
|
||||
VSVER=2017
|
||||
!ELSEIF ($(MAKEVERSION) > 1416270311) && ($(MAKEVERSION) < 1420275082)
|
||||
!ELSEIF ($(MAKEVERSION) > 1416270311) && ($(MAKEVERSION) < 1421277023)
|
||||
VSVER=$(VSNEWEST)
|
||||
!ELSEIF ($(MAKEVERSION) > 1420275081)
|
||||
!ELSEIF ($(MAKEVERSION) > 1421277022)
|
||||
VSVER=2999 #untested future version
|
||||
!ENDIF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user