From: Eric S. Raymond Date: Wed, 5 Jul 2017 05:15:40 +0000 (-0400) Subject: Adapt bottle object to use state_change(). X-Git-Tag: takebird~21 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=31c1a44915e0f7bd94b5037dca393c68c6a6bb7d;p=open-adventure.git Adapt bottle object to use state_change(). --- diff --git a/actions.c b/actions.c index d5d6446..4135fba 100644 --- a/actions.c +++ b/actions.c @@ -546,9 +546,8 @@ static int drink(token_t verb, token_t obj) return GO_CLEAROBJ; } if (LIQUID() == WATER && HERE(BOTTLE)) { - game.prop[BOTTLE] = EMPTY_BOTTLE; game.place[WATER] = LOC_NOWHERE; - rspeak(BOTTLE_EMPTY); + state_change(BOTTLE, EMPTY_BOTTLE); return GO_CLEAROBJ; } @@ -741,13 +740,11 @@ int fill(token_t verb, token_t obj) return GO_CLEAROBJ; } - game.prop[BOTTLE] = (LIQLOC(game.loc) == OIL) ? OIL_BOTTLE : WATER_BOTTLE; + state_change(BOTTLE, (LIQLOC(game.loc) == OIL) + ? OIL_BOTTLE + : WATER_BOTTLE); if (TOTING(BOTTLE)) game.place[LIQUID()] = CARRIED; - if (LIQUID() == OIL) - rspeak(BOTTLED_OIL); - else - rspeak(BOTTLED_WATER); return GO_CLEAROBJ; } diff --git a/adventure.yaml b/adventure.yaml index e61a2d3..4338eb3 100644 --- a/adventure.yaml +++ b/adventure.yaml @@ -2845,7 +2845,6 @@ arbitrary_messages: !!omap - STREAM_WATER: |- You have taken a drink from the stream. The water tastes strongly of minerals, but is not unpleasant. It is extremely cold. -- BOTTLE_EMPTY: 'The bottle of water is now empty.' - RUB_NOGO: |- Rubbing the electric lamp is not particularly rewarding. Anyway, nothing exciting happens. @@ -2871,8 +2870,6 @@ arbitrary_messages: !!omap - NO_CONTAINER: 'You have nothing in which to carry it.' - BOTTLE_FULL: 'Your bottle is already full.' - NO_LIQUID: 'There is nothing here with which to fill the bottle.' -- BOTTLED_WATER: 'Your bottle is now full of water.' -- BOTTLED_OIL: 'Your bottle is now full of oil.' - CANT_FILL: 'You can''t fill that.' - RIDICULOUS_ATTEMPT: 'Don''t be ridiculous!' - RUSTY_DOOR: 'The door is extremely rusty and refuses to open.' @@ -3387,6 +3384,10 @@ objects: !!omap - 'There is a bottle of water here.' - 'There is an empty bottle here.' - 'There is a bottle of oil here.' + changes: + - 'Your bottle is now full of water.' + - 'The bottle of water is now empty.' + - 'Your bottle is now full of oil.' - WATER: words: ['water', 'h2o'] inventory: 'Water in the bottle'