Merge branch 'NetHack-3.6.2-beta01' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.2-beta01
This commit is contained in:
@@ -225,6 +225,7 @@ scattering of objects might leave source location with wrong thing displayed
|
||||
for configurations with 'long int' larger than 'int', lev_comp wrote some
|
||||
garbage into the *.lev files, but nethack seemed unaffected by that
|
||||
(at least on little-endian hardare) and loaded the levels successfully
|
||||
stinking cloud placed near water could kill underwater creatures
|
||||
|
||||
|
||||
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
||||
|
||||
13
src/mon.c
13
src/mon.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1543100460 2018/11/24 23:01:00 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.271 $ */
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1543455827 2018/11/29 01:43:47 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.272 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -483,13 +483,18 @@ register struct monst *mtmp;
|
||||
|
||||
/* [what about ceiling clingers?] */
|
||||
inpool = (is_pool(mtmp->mx, mtmp->my)
|
||||
&& !(is_flyer(mtmp->data) || is_floater(mtmp->data)));
|
||||
&& (!(is_flyer(mtmp->data) || is_floater(mtmp->data))
|
||||
/* there's no "above the surface" on the plane of water */
|
||||
|| Is_waterlevel(&u.uz)));
|
||||
inlava = (is_lava(mtmp->mx, mtmp->my)
|
||||
&& !(is_flyer(mtmp->data) || is_floater(mtmp->data)));
|
||||
infountain = IS_FOUNTAIN(levl[mtmp->mx][mtmp->my].typ);
|
||||
|
||||
/* Flying and levitation keeps our steed out of the liquid */
|
||||
/* (but not water-walking or swimming) */
|
||||
/* Flying and levitation keeps our steed out of the liquid
|
||||
(but not water-walking or swimming; note: if hero is in a
|
||||
water location on the Plane of Water, flight and levitating
|
||||
are blocked so this (Flying || Levitation) test fails there
|
||||
and steed will be subject to water effects, as intended) */
|
||||
if (mtmp == u.usteed && (Flying || Levitation))
|
||||
return 0;
|
||||
|
||||
|
||||
15
src/region.c
15
src/region.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 region.c $NHDT-Date: 1542765361 2018/11/21 01:56:01 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.42 $ */
|
||||
/* NetHack 3.6 region.c $NHDT-Date: 1543455828 2018/11/29 01:43:48 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.43 $ */
|
||||
/* Copyright (c) 1996 by Jean-Christophe Collet */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -947,10 +947,16 @@ genericptr_t p2;
|
||||
struct monst *mtmp;
|
||||
int dam;
|
||||
|
||||
/*
|
||||
* Gas clouds can't be targetted at water locations, but they can
|
||||
* start next to water and spread over it.
|
||||
*/
|
||||
|
||||
reg = (NhRegion *) p1;
|
||||
dam = reg->arg.a_int;
|
||||
if (p2 == (genericptr_t) 0) { /* This means *YOU* Bozo! */
|
||||
if (u.uinvulnerable || nonliving(youmonst.data) || Breathless)
|
||||
if (u.uinvulnerable || nonliving(youmonst.data) || Breathless
|
||||
|| Underwater)
|
||||
return FALSE;
|
||||
if (!Blind) {
|
||||
Your("%s sting.", makeplural(body_part(EYE)));
|
||||
@@ -973,6 +979,11 @@ genericptr_t p2;
|
||||
adult green dragon is not affected by gas cloud, baby one is */
|
||||
if (!(nonliving(mtmp->data) || is_vampshifter(mtmp))
|
||||
&& !breathless(mtmp->data)
|
||||
/* not is_swimmer(); assume that non-fish are swimming on
|
||||
the surface and breathing the air above it periodically
|
||||
unless located at water spot on plane of water */
|
||||
&& !((mtmp->data->mlet == S_EEL || Is_waterlevel(&u.uz))
|
||||
&& is_pool(mtmp->mx, mtmp->my))
|
||||
/* exclude monsters with poison gas breath attack:
|
||||
adult green dragon and Chromatic Dragon (and iron golem,
|
||||
but nonliving() and breathless() tests also catch that) */
|
||||
|
||||
Reference in New Issue
Block a user