From 3c636e27e2fa4540ffa71ac12db0f4dda7c2ebd2 Mon Sep 17 00:00:00 2001 From: NHOrus Date: Tue, 4 Jul 2017 14:33:30 +0300 Subject: [PATCH] linearized extinguish --- actions.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/actions.c b/actions.c index 2b97800..5fa2fed 100644 --- a/actions.c +++ b/actions.c @@ -582,9 +582,7 @@ static int extinguish(token_t verb, int obj) obj = LAMP; if (HERE(URN) && game.prop[URN] == URN_LIT) obj = URN; - if (obj == INTRANSITIVE || - (HERE(LAMP) && game.prop[LAMP] == LAMP_BRIGHT && - HERE(URN) && game.prop[URN] == URN_LIT)) + if (obj == INTRANSITIVE) return GO_UNKNOWN; } @@ -594,20 +592,24 @@ static int extinguish(token_t verb, int obj) } else { pspeak(URN, change, URN_DARK, true); } + return GO_CLEAROBJ; + } - } else if (obj == LAMP) { + if (obj == LAMP) { state_change(LAMP, LAMP_DARK); rspeak(DARK(game.loc) ? PITCH_DARK : NO_MESSAGE); + return GO_CLEAROBJ; + } - } else if (obj == DRAGON || - obj == VOLCANO) { + if (obj == DRAGON || + obj == VOLCANO) { rspeak(BEYOND_POWER); - - } else { - rspeak(actions[verb].message); + return GO_CLEAROBJ; } + + rspeak(actions[verb].message); return GO_CLEAROBJ; } -- 2.31.1