From: arromdee Date: Fri, 18 Jan 2002 01:23:58 +0000 (+0000) Subject: lenses X-Git-Tag: MOVE2GIT~3457 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=28975c668282218dc6f708dc9ff9da46eca18452;p=nethack lenses This adds 's lens patch. This is probably it for me adding in any more user-contributed patches for 3.3.2 (except maybe coin flipping; does anyone object to it?) --Ken A. --- diff --git a/doc/fixes33.2 b/doc/fixes33.2 index 373d7724c..77c8feaf4 100644 --- a/doc/fixes33.2 +++ b/doc/fixes33.2 @@ -480,6 +480,7 @@ put prisoners in the Dark One's dungeon (Dylan O'Donnell) add leather cloak so soldiers don't have elven cloaks add Tom Friedetzky's BUC-patch (applies to full menustyle only) add wizard #poly and #levelchange (originally levelgain; Dylan O'Donnell), +add Jason Short's additional lenses use patch Platform- and/or Interface-Specific New Features diff --git a/src/detect.c b/src/detect.c index d73a69e9c..6015065ae 100644 --- a/src/detect.c +++ b/src/detect.c @@ -1115,7 +1115,10 @@ register int aflag; } else { int fund = (uwep && uwep->oartifact && spec_ability(uwep, SPFX_SEARCH)) ? - ((uwep->spe > 5) ? 5 : uwep->spe) : 0; + uwep->spe : 0; + if (ublindf && ublindf->otyp == LENSES) + fund += 2; /* JDS: lenses help searching */ + if (fund > 5) fund = 5; for(x = u.ux-1; x < u.ux+2; x++) for(y = u.uy-1; y < u.uy+2; y++) { if(!isok(x,y)) continue; diff --git a/src/spell.c b/src/spell.c index 6cd09d167..eecd15b48 100644 --- a/src/spell.c +++ b/src/spell.c @@ -281,6 +281,8 @@ learn() char splname[BUFSZ]; boolean costly = TRUE; + /* JDS: lenses give 50% faster reading; 33% smaller read time */ + if (ublindf && ublindf->otyp == LENSES && rn2(2)) delay++; if (delay) { /* not if (delay++), so at end delay == 0 */ delay++; return(1); /* still busy */ @@ -386,7 +388,8 @@ register struct obj *spellbook; } else { /* uncursed - chance to fail */ int read_ability = ACURR(A_INT) + 4 + u.ulevel/2 - - 2*objects[booktype].oc_level; + - 2*objects[booktype].oc_level + + (ublindf && ublindf->otyp == LENSES) ? 2 : 0; /* only wizards know if a spell is too difficult */ if (Role_if(PM_WIZARD) && read_ability < 20) { char qbuf[QBUFSZ];