From: Eric S. Raymond Date: Sat, 10 Jun 2017 17:31:48 +0000 (-0400) Subject: Just one label left in actions.c. X-Git-Tag: 1.1~452 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=f6da31f6895714afabae2b93641f3cff670d75e5;p=open-adventure.git Just one label left in actions.c. --- diff --git a/actions.c b/actions.c index 3ef9289..276c0cb 100644 --- a/actions.c +++ b/actions.c @@ -994,19 +994,9 @@ int action(FILE *input, enum speechpart part, long verb, long obj) * they are never actually dropped at any location, but might * be here inside the bottle or urn or as a feature of the * location. */ - if (!HERE(obj)) - goto L5100; - L5010: - if (WD2 > 0) - return(2800); - if (verb != 0) - goto L4090; - SETPRM(1,WD1,WD1X); - RSPEAK(255); - return(2600); - - L5100: - if (obj == GRATE) { + if (HERE(obj)) + /* FALL THROUGH */; + else if (obj == GRATE) { if (game.loc == 1 || game.loc == 4 || game.loc == 7) obj=DPRSSN; if (game.loc > 9 && game.loc < 15) @@ -1014,35 +1004,43 @@ int action(FILE *input, enum speechpart part, long verb, long obj) if (obj != GRATE) return(8); } - - if (obj == DWARF && ATDWRF(game.loc) > 0) - goto L5010; - if ((LIQ(0) == obj && HERE(BOTTLE)) || obj == LIQLOC(game.loc)) - goto L5010; - if (obj == OIL && HERE(URN) && game.prop[URN] != 0) { + else if (obj == DWARF && ATDWRF(game.loc) > 0) + /* FALL THROUGH */; + else if ((LIQ(0) == obj && HERE(BOTTLE)) || obj == LIQLOC(game.loc)) + /* FALL THROUGH */; + else if (obj == OIL && HERE(URN) && game.prop[URN] != 0) { obj=URN; - goto L5010; + /* FALL THROUGH */; } - if (obj == PLANT && AT(PLANT2) && game.prop[PLANT2] != 0) { + else if (obj == PLANT && AT(PLANT2) && game.prop[PLANT2] != 0) { obj=PLANT2; - goto L5010; + /* FALL THROUGH */; } - if (obj == KNIFE && game.knfloc == game.loc) { + else if (obj == KNIFE && game.knfloc == game.loc) { game.knfloc= -1; SPK=116; return(2011); } - if (obj == ROD && HERE(ROD2)) { + else if (obj == ROD && HERE(ROD2)) { obj=ROD2; - goto L5010; + /* FALL THROUGH */; + } + else if ((verb == FIND || verb == INVENT) && WD2 <= 0) + /* FALL THROUGH */; + else { + SETPRM(1,WD1,WD1X); + RSPEAK(256); + return(2012); } - if ((verb == FIND || verb == INVENT) && WD2 <= 0) - goto L5010; + if (WD2 > 0) + return(2800); + if (verb != 0) + goto L4090; SETPRM(1,WD1,WD1X); - RSPEAK(256); - return(2012); - default: + RSPEAK(255); + return(2600); + default: BUG(99); } }