X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=actions1.c;fp=actions1.c;h=9e3235f650b3fae68c62316b01f2b5478cf58903;hb=50b30d01442455fb63f3117f6bb08de24e89bb4f;hp=a0ba0b060a8f337a11f298b890a5878c46641e23;hpb=dbe2acd864bf92983f05fc8c308846dcef1df576;p=open-adventure.git diff --git a/actions1.c b/actions1.c index a0ba0b0..9e3235f 100644 --- a/actions1.c +++ b/actions1.c @@ -140,6 +140,26 @@ static int drink(token_t obj) } } +static int extinguish(int obj) +/* Extinguish lamp or urn */ +{ + if(obj == URN) { + game.prop[URN]=game.prop[URN]/2; + SPK=210; + return(2011); + } + if(obj == LAMP) { + game.prop[LAMP]=0; + RSPEAK(40); + if(DARK(0)) + RSPEAK(16); + return(2012); + } + if(obj == DRAGON || obj == VOLCAN) + SPK=146; + return(2011); +} + static int find(token_t obj) /* Find. Might be carrying it, or it might be here. Else give caveat. */ { @@ -536,19 +556,7 @@ L8080: if(HERE(LAMP) && game.prop[LAMP] == 1)obj=LAMP; if(HERE(URN) && game.prop[URN] == 2)obj=obj*NOBJECTS+URN; if(obj == 0 || obj > NOBJECTS) return(8000); -L9080: if(obj == URN) goto L9083; - if(obj == LAMP) goto L9086; - if(obj == DRAGON || obj == VOLCAN)SPK=146; - return(2011); - -L9083: game.prop[URN]=game.prop[URN]/2; - SPK=210; - return(2011); - -L9086: game.prop[LAMP]=0; - RSPEAK(40); - if(DARK(0))RSPEAK(16); - return(2012); +L9080: return extinguish(obj); L9090: return wave(obj);