Adapt bottle object to use state_change().

This commit is contained in:
Eric S. Raymond 2017-07-05 01:15:40 -04:00
parent 8613f0b3d9
commit 31c1a44915
2 changed files with 8 additions and 10 deletions

View file

@ -546,9 +546,8 @@ static int drink(token_t verb, token_t obj)
return GO_CLEAROBJ; return GO_CLEAROBJ;
} }
if (LIQUID() == WATER && HERE(BOTTLE)) { if (LIQUID() == WATER && HERE(BOTTLE)) {
game.prop[BOTTLE] = EMPTY_BOTTLE;
game.place[WATER] = LOC_NOWHERE; game.place[WATER] = LOC_NOWHERE;
rspeak(BOTTLE_EMPTY); state_change(BOTTLE, EMPTY_BOTTLE);
return GO_CLEAROBJ; return GO_CLEAROBJ;
} }
@ -741,13 +740,11 @@ int fill(token_t verb, token_t obj)
return GO_CLEAROBJ; 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)) if (TOTING(BOTTLE))
game.place[LIQUID()] = CARRIED; game.place[LIQUID()] = CARRIED;
if (LIQUID() == OIL)
rspeak(BOTTLED_OIL);
else
rspeak(BOTTLED_WATER);
return GO_CLEAROBJ; return GO_CLEAROBJ;
} }

View file

@ -2845,7 +2845,6 @@ arbitrary_messages: !!omap
- STREAM_WATER: |- - STREAM_WATER: |-
You have taken a drink from the stream. The water tastes strongly of You have taken a drink from the stream. The water tastes strongly of
minerals, but is not unpleasant. It is extremely cold. minerals, but is not unpleasant. It is extremely cold.
- BOTTLE_EMPTY: 'The bottle of water is now empty.'
- RUB_NOGO: |- - RUB_NOGO: |-
Rubbing the electric lamp is not particularly rewarding. Anyway, Rubbing the electric lamp is not particularly rewarding. Anyway,
nothing exciting happens. nothing exciting happens.
@ -2871,8 +2870,6 @@ arbitrary_messages: !!omap
- NO_CONTAINER: 'You have nothing in which to carry it.' - NO_CONTAINER: 'You have nothing in which to carry it.'
- BOTTLE_FULL: 'Your bottle is already full.' - BOTTLE_FULL: 'Your bottle is already full.'
- NO_LIQUID: 'There is nothing here with which to fill the bottle.' - 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.' - CANT_FILL: 'You can''t fill that.'
- RIDICULOUS_ATTEMPT: 'Don''t be ridiculous!' - RIDICULOUS_ATTEMPT: 'Don''t be ridiculous!'
- RUSTY_DOOR: 'The door is extremely rusty and refuses to open.' - 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 a bottle of water here.'
- 'There is an empty bottle here.' - 'There is an empty bottle here.'
- 'There is a bottle of oil 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: - WATER:
words: ['water', 'h2o'] words: ['water', 'h2o']
inventory: 'Water in the bottle' inventory: 'Water in the bottle'