More vocabulary handlers.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 9 Jun 2017 06:12:59 +0000 (02:12 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 9 Jun 2017 06:12:59 +0000 (02:12 -0400)
actions2.c
advent.h

index 5b0bd86428bc8754e6e24de8b04aa6b32283ab14..72bd0b01e45abaa48d4ef1b0d6f9c4bf1c9d2622 100644 (file)
@@ -7,6 +7,15 @@
 
 int carry(long obj)
 {
+    if (obj == INTRANSITIVE) {
+       /*  Carry, no object given yet.  OK if only one object present. */
+       if(game.atloc[game.loc] == 0 ||
+          game.link[game.atloc[game.loc]] != 0 ||
+          ATDWRF(game.loc) > 0)
+           return(8000);
+       obj=game.atloc[game.loc];
+    }
+
     if (TOTING(obj)) return(2011);
     SPK=25;
     if (obj == PLANT && game.prop[PLANT] <= 0)SPK=115;
index e33d66aef6263b7d601daf29adb4219f74126b9a..90b25c642e4f2f0f14dbd30ee81a0f5178be3fc1 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -11,6 +11,7 @@
 #define MAXTRS         79
 #define MAXPARMS       25
 #define INVLIMIT       7
+#define INTRANSITIVE   -1      /* illegal object number */
 
 typedef struct lcg_state
 {