From 01d580cc0ab8c2891005980ce07e7bdf1fee42b8 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Sat, 11 Jun 2016 22:26:22 +0300 Subject: [PATCH] Make ray bounceback depend on the wall type. --- src/zap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 { -- 2.40.0