One bit less math on states
[open-adventure.git] / actions.c
index 2ac545c726e699bcd60065f11948ac95c613b73a..971bbb349cee39fb9c5398b1dcf18e7d26417dd1 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -6,13 +6,6 @@
 
 static int fill(token_t, token_t);
 
-static void state_change(long obj, long state)
-/* Object must have a change-message list for this to be useful; only some do */
-{
-    game.prop[obj] = state;
-    pspeak(obj, change, state, true);
-}
-
 static int attack(struct command_t *command)
 /*  Attack.  Assume target if unambiguous.  "Throw" also links here.
  *  Attackable objects fall into two categories: enemies (snake,
@@ -476,7 +469,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
                 rspeak(spk);
                 if (spk != RUG_WIGGLES) {
                     /* FIXME: Arithmetic on state numbers */
-                    int k = 2 - game.prop[RUG];
+                    int k = (game.prop[RUG] == RUG_HOVER) ? RUG_FLOOR : RUG_HOVER;
                     game.prop[RUG] = k;
                     if (k == RUG_HOVER)
                         k = objects[SAPPH].plac;