X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=advent.h;h=b642fbf6dccf26441cfd053d2ae91060f495f800;hb=ecff53d3a8322224bafe0c2a4cffc3e32840e82a;hp=f52ea8e3ea4b432c3636a1bf79452e0c8cb2d516;hpb=7f7f49b7396135f53e31c03d28ecc4d69b8b4584;p=open-adventure.git diff --git a/advent.h b/advent.h index f52ea8e..b642fbf 100644 --- a/advent.h +++ b/advent.h @@ -151,22 +151,16 @@ extern int restore(FILE *); #define LIQUID() (LIQ2(game.prop[BOTTLE]<0 ? -1-game.prop[BOTTLE] : game.prop[BOTTLE])) #define LIQLOC(LOC) (LIQ2((MOD(conditions[LOC]/2*2,8)-5)*MOD(conditions[LOC]/4,2)+1)) #define CNDBIT(L,N) (TSTBIT(conditions[L],N)) -#define FORCED(LOC) (conditions[LOC] == 2) -#define DARK(DUMMY) ((!TSTBIT(conditions[game.loc],COND_LIT)) && (game.prop[LAMP] == 0 || !HERE(LAMP))) +#define FORCED(LOC) CNDBIT(LOC, COND_FORCED) +#define DARK(DUMMY) ((!TSTBIT(conditions[game.loc],COND_LIT)) && (game.prop[LAMP] == LAMP_DARK || !HERE(LAMP))) #define PCT(N) (randrange(100) < (N)) #define GSTONE(OBJ) ((OBJ) == EMERALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH) -#define FOREST(LOC) ((LOC) >= LOC_FOREST1 && (LOC) <= LOC_FOREST22) +#define FOREST(LOC) CNDBIT(LOC, COND_FOREST) #define VOCWRD(LETTRS,SECT) (VOCAB(MAKEWD(LETTRS),SECT)) #define SPECIAL(LOC) ((LOC) > SPECIALBASE) +#define OUTSID(LOC) (CNDBIT(LOC, COND_ABOVE) || FOREST(LOC)) -/* The following two functions were added to fix a bug (game.clock1 decremented - * while in forest). They should probably be replaced by using another - * "cond" bit. For now, however, a quick fix... OUTSID(LOC) is true if - * LOC is outside, INDEEP(LOC) is true if LOC is "deep" in the cave (hall - * of mists or deeper). Note special kludges for "Foof!" locs. */ - -#define OUTSID(LOC) ((LOC) <= LOC_GRATE || FOREST(LOC) || (LOC) == PLAC[SAPPH] || (LOC) == LOC_FOOF2 || (LOC) == LOC_FOOF4) -#define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC) && (LOC) != LOC_FOOF1) +#define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC)) /* vocabulary items */ extern long AMBER, ATTACK, AXE, BACK, BATTERY, BEAR,