Improve test coverage, simplify code.
[open-adventure.git] / actions.c
index 58d808bf4d6348b60f12d89f3568e6d3c8476c07..59f9942b6715acf1959362b8a1b9413d7ce1aea6 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -925,19 +925,13 @@ static int throw (FILE *cmdin, long verb, token_t obj)
         return (discard(verb, obj, false));
     int i = ATDWRF(game.loc);
     if (i <= 0) {
-        if (AT(DRAGON) && game.prop[DRAGON] == 0) {
-            spk = DRAGON_SCALES;
-            return throw_support(spk);
-        }
-        if (AT(TROLL)) {
-            spk = TROLL_RETURNS;
-            return throw_support(spk);
-        }
-        if (AT(OGRE)) {
-            spk = OGRE_DODGE;
-            return throw_support(spk);
-        }
-        if (HERE(BEAR) && game.prop[BEAR] == 0) {
+        if (AT(DRAGON) && game.prop[DRAGON] == 0)
+            return throw_support(DRAGON_SCALES);
+        if (AT(TROLL))
+            return throw_support(TROLL_RETURNS);
+        else if (AT(OGRE))
+            return throw_support(OGRE_DODGE);
+        else if (HERE(BEAR) && game.prop[BEAR] == 0) {
             /* This'll teach him to throw the axe at the bear! */
             DROP(AXE, game.loc);
             game.fixed[AXE] = -1;