From: Pasi Kallinen Date: Sat, 11 Jun 2016 19:26:22 +0000 (+0300) Subject: Make ray bounceback depend on the wall type. X-Git-Tag: NetHack-3.6.1_RC01~682 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=01d580cc0ab8c2891005980ce07e7bdf1fee42b8;p=nethack Make ray bounceback depend on the wall type. --- diff --git a/src/zap.c b/src/zap.c index 10fa3bc3a..dfd1ee72b 100644 --- a/src/zap.c +++ b/src/zap.c @@ -4071,11 +4071,14 @@ boolean say; /* Announce out of sight hit/miss events if true */ if (!ZAP_POS(levl[sx][sy].typ) || (closed_door(sx, sy) && range >= 0)) { - int bounce; + int bounce, bchance; uchar rmn; boolean fireball; make_bounce: + bchance = (levl[sx][sy].typ == STONE) ? 10 + : (In_mines(&u.uz) && IS_WALL(levl[sx][sy].typ)) ? 20 + : 75; bounce = 0; fireball = (type == ZT_SPELL(ZT_FIRE)); if ((--range > 0 && isok(lsx, lsy) && cansee(lsx, lsy)) @@ -4092,7 +4095,7 @@ boolean say; /* Announce out of sight hit/miss events if true */ } else pline_The("%s bounces!", fltxt); } - if (!dx || !dy || !rn2(20)) { + if (!dx || !dy || !rn2(bchance)) { dx = -dx; dy = -dy; } else {