Simplify vase-dropping logic using state_change().
[open-adventure.git] / actions.c
index 48e987f8e67f86d84504b29a5f465085ff0afe03..59ec428f506127b5b2612f282ca34e5da5b31c44 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -502,10 +502,9 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
                    game.loc == objects[PILLOW].plac) {
             rspeak(OK_MAN);
         } else {
-            game.prop[VASE] = VASE_BROKEN;
-            if (AT(PILLOW))
-                game.prop[VASE] = VASE_WHOLE;
-            pspeak(VASE, look, game.prop[VASE] + 1, true);
+           state_change(VASE, AT(PILLOW)
+                        ? VASE_WHOLE
+                        : VASE_DROPPED);
             if (game.prop[VASE] != VASE_WHOLE)
                 game.fixed[VASE] = -1;
         }