Annotation of 42BSD/games/mpu/verbs, revision 1.1.1.1

1.1       root        1: VERB Debug;
                      2: VERB n,s,e,w,ne,se,nw,sw;
                      3: VERB up,down;
                      4: u=up; d=down;
                      5: north=n; south=s; east=e; west=w;
                      6: Looks = ($setg LOOKP TRUE)(($dobj): ($say "Huh?\n")($exit 1));
                      7: 
                      8: 
                      9: n (PREACT) = Looks;
                     10: s (PREACT) = Looks;
                     11: e (PREACT) = Looks;
                     12: w (PREACT) = Looks;
                     13: 
                     14: nw(PREACT) = Looks;
                     15: ne(PREACT) = Looks;
                     16: sw(PREACT) = Looks;
                     17: se(PREACT) = Looks;
                     18: 
                     19: u (PREACT) = Looks;
                     20: d (PREACT) = Looks;
                     21: 
                     22: VERB take; VERB drop;
                     23: get=take; carry=take;
                     24: take(PREACT) = (Avail ($dobj));
                     25: drop(PREACT) = (Avail ($dobj));
                     26: ROUTINE ctake; ROUTINE cdrop;
                     27: 
                     28: VERB save;
                     29: VERB shell;
                     30: VERB restore;
                     31: save(ACTION) = ($spec 4 0 0 0 0);
                     32: shell(ACTION) = ($spec 6 "/bin/csh" "-i" 0 0);
                     33: restore(ACTION) = ($spec 5 0 0 0 0) ($say "Restored.\n");
                     34: 
                     35: DWIMD = (($not (See ($dobj) ($cont ($loc .ME)))):
                     36:                ($rtrn 0)
                     37:          )
                     38:        (($not (Reach ($dobj) ($cont ($loc .ME)))):
                     39:                ($rtrn 0)
                     40:          )
                     41:        (($and ($eq ($verb) take) ($eq ($loc ($dobj)) .ME)):
                     42:                ($rtrn 0)
                     43:          )
                     44:        (($and ($eq ($verb) drop) ($ne ($loc ($dobj)) .ME)):
                     45:                ($rtrn 0)
                     46:          )
                     47:        ($rtrn 1)
                     48: ;
                     49: 
                     50: DWIMI = (($not (See ($iobj) ($cont ($loc .ME)))):
                     51:                ($rtrn 0)
                     52:          )
                     53:        (($not (Reach ($iobj) ($cont ($loc .ME)))):
                     54:                ($rtrn 0)
                     55:          )
                     56:        (($and ($eq ($verb) take) ($eq ($loc ($iobj)) .ME)):
                     57:                ($rtrn 0)
                     58:          )
                     59:        (($and ($eq ($verb) drop) ($ne ($loc ($iobj)) .ME)):
                     60:                ($rtrn 0)
                     61:          )
                     62: 
                     63:        ($rtrn 1)
                     64: ;
                     65: 
                     66: 
                     67: 
                     68: 
                     69: 
                     70: take(ACTION) = (ctake);
                     71: ctake =
                     72:        (($ge ($plus ($prop .ME HAS)
                     73:                     ($prop ($dobj) WEIGH))
                     74:              ($prop .ME HOLDS)):
                     75:                ($say "You can't take that!\n")
                     76:                ($exit 0)
                     77:        )
                     78:        ($setp .ME HAS ($plus ($prop .ME HAS) ($prop ($dobj) WEIGH) ) )
                     79:        ($say "Taken.\n") ($move ($dobj) .ME)
                     80:        ;
                     81: 
                     82: drop(ACTION) = (cdrop);
                     83: cdrop = (($ne ($loc ($dobj)) .ME) :
                     84:        ($say "You don't have it with you.\n")($exit 1))
                     85:        ($say "Dropped.\n") ($move ($dobj) ($loc .ME))
                     86:        ($setp .ME HAS ($minus ($prop .ME HAS)($prop ($dobj) WEIGH)))
                     87:        ;
                     88: 
                     89: VERB put;
                     90: put (PREACT) =
                     91:        (($ne ($loc ($dobj)) .ME) :
                     92:                ($say "You don't have it with you.\n")($exit 1))
                     93:        (Avail ($iobj));
                     94: put(ACTION) =
                     95:        (($not ($and ($prop ($iobj) OPEN)
                     96:                     ($prop ($iobj) OPENS))):
                     97:                ($say "You can't seem to manage that trick.\n")($exit 0))
                     98:        (($gt ($plus ($prop ($iobj) HAS)
                     99:                     ($prop ($dobj) WEIGH))
                    100:              ($prop ($iobj) HOLDS)):
                    101:                ($say "It won't fit!\n")($exit 0))
                    102:        ($say "OK\n") ($move ($dobj) ($iobj))
                    103:        ($setp ($iobj) HAS ($plus ($prop ($iobj) HAS) ($prop ($dobj) WEIGH)))
                    104:        ;
                    105: 
                    106: 
                    107: 
                    108: 
                    109: 
                    110: 
                    111: 
                    112: 
                    113: 
                    114: VERB open; VERB close;
                    115: open(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
                    116: close(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
                    117: open(ACTION) =
                    118:        (($not ($prop ($dobj) OPENS)):
                    119:                ($say "I don't know how to open that!\n")($exit 0))
                    120:        (($and ($prop ($dobj) LOCKS)
                    121:               ($prop ($dobj) LOCKD)):
                    122:                ($say "I can't open it, it's locked!\n")($exit 0))
                    123:        (($prop ($dobj) OPEN):
                    124:                ($say "It's already open!\n")($exit 0))
                    125:        ($setp ($dobj) OPEN TRUE)
                    126:        ($say "Opened.\n")
                    127:        (($and  ($ne 0 ($cont ($dobj)))  ($not ($prop ($dobj) TRANS))):
                    128:                (Llook 1 ($cont ($dobj)))
                    129:        )
                    130:        ;
                    131: 
                    132: close (ACTION) =
                    133:        (($not ($prop ($dobj) OPENS)):
                    134:                ($say "I don't know how to close that!\n")($exit 0))
                    135:        (($not ($prop ($dobj) OPEN)):
                    136:                ($say "It's already closed!\n")($exit 0))
                    137:        ($setp ($dobj) OPEN FALSE)
                    138:        ($say "Closed\n")
                    139:        ;
                    140: 
                    141: 
                    142: VERB lock; VERB unlock;
                    143: lock(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
                    144: unlock(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
                    145: 
                    146: Lockact =
                    147:        (($prop ($dobj) LOCKS) :
                    148:                ($say "Hm, you don't seem to have the right key.\n")
                    149:        {else}:
                    150:                ($say "I don't know how to lock or unlock such a thing.\n")
                    151:        );
                    152: 
                    153: lock(ACTION) = Lockact;
                    154: unlock(ACTION) = Lockact;
                    155: 
                    156: Lockup =
                    157:        (($prop %1 OPEN):
                    158:                ($say "You must close it first.\n")($exit 1))
                    159:        (($prop %1 LOCKD):
                    160:                ($say "It's already locked!\n")($exit 1))
                    161:        (($not ($prop %1 LOCKS)):($exit 0))
                    162:        (($eq ($loc %2) .ME):
                    163:                ($say %3)
                    164:                ($setp %1 LOCKD TRUE)
                    165:                ($exit 1))
                    166:                ;
                    167: Ulock  =
                    168:        (($not($prop %1 LOCKD)):
                    169:                ($say "It's already unlocked!\n")($exit 1))
                    170:        (($not ($prop %1 LOCKS)):($exit 0))
                    171:        (($eq ($loc %2) .ME):
                    172:                ($say %3)
                    173:                ($setp %1 LOCKD FALSE)
                    174:                ($exit 1))
                    175:                ;
                    176: 
                    177: 
                    178: 
                    179: 
                    180: VERB move;
                    181: move(PREACT) = (Avail ($dobj));
                    182: move(ACTION) =
                    183: ($say "Nothing seems to happen.\n");
                    184: push=move;
                    185: pull=move;
                    186: lift=move;
                    187: 
                    188: VERB break;
                    189: break(PREACT) = (Avail ($dobj));
                    190: break(ACTION) =
                    191: ($say "It seems to be unbreakable.\n");
                    192: 
                    193: VERB strike; hit=strike; kill=strike;
                    194: strike(PREACT) = (Avail ($dobj))
                    195:                 (($iobj):
                    196:                        (($ne ($loc ($iobj)) .ME):
                    197:                                ($say "You don't have it with you.\n")
                    198:                                ($exit 1)
                    199:                         )
                    200:                  );
                    201: strike(ACTION) = ($say "Hitting ")(($sdisc ($dobj)))($say
                    202:  " doesn't seem to do anything.");
                    203: 
                    204: VERB touch;  feel=touch;
                    205: touch(PREACT) = (Avail ($dobj))
                    206:                (($iobj):
                    207:                       (($ne ($loc ($iobj)) .ME):
                    208:                                ($say "You don't have it with you.\n")
                    209:                                ($exit 1)
                    210:                        )
                    211:                );
                    212: touch(ACTION) = ($say "Touching ")(($sdisc ($dobj)))
                    213:                ($say " doesn't seem too useful.\n");
                    214: 
                    215: 
                    216: 
                    217: 
                    218: 
                    219: 
                    220: VERB rub;
                    221: rub(PREACT) = (Avail ($dobj));
                    222: rub(ACTION) = ($say "Nothing happens when you rub ")
                    223:                (($sdisc ($dobj)))($say ".\n");
                    224: 
                    225: VERB cut;
                    226: cut(PREACT) = (($not ($iobj)): ($say "You need tools to do that.\n")
                    227:                               ($exit 1))
                    228:              (Avail ($iobj));
                    229: 
                    230: VERB pry;
                    231: pry(PREACT) =  (Avail ($dobj))
                    232:               (($not ($iobj)): ($say "You need tools to do that.\n")
                    233:                                ($exit 1))
                    234:               (Avail ($iobj));
                    235: 
                    236: pry(ACTION) =  ($say "I can't seem to manage that.\n");
                    237: 
                    238: VERB BEAM; BEAM(ACTION)=($setg LOOKP TRUE)($move .ME ($dobj));
                    239: VERB JOIN; JOIN(ACTION) = ($setg LOOKP TRUE)($move .ME ($loc ($dobj)));
                    240: 
                    241: 
                    242: VERB GRAB;
                    243: GRAB(ACTION) = ($move ($dobj) .ME)
                    244:               ($say "You have the ")($name ($dobj))($say ", boss!\n");
                    245: 
                    246: VERB throw;
                    247: throw(PREACT) = (($ne ($loc ($dobj)) .ME): ($say "You aren't holding it!\n")
                    248:                                           ($exit 1));
                    249: throw(ACTION) = ($move ($dobj) ($loc .ME))
                    250:                ($say "Thrown.\n");
                    251: 
                    252: VERB wake;
                    253: wake(PREAC) = (Avail ($dobj));
                    254: wake(ACTION) = ($say "I don't know how to wake ")(($sdisc ($dobj)))
                    255:                ($say ".\n");
                    256: VERB read;
                    257: read(PREAC) = (Avail ($dobj));
                    258: read(ACTION) = ($say "It doesn't have anything on it to read.\n");
                    259: 
                    260: VERB light;
                    261: light(PREACT) = (Avail ($dobj));
                    262: 
                    263: cg = ($say "Can't go that way.
                    264: ");
                    265: ny = ($say "That exit seems impassable today!?\n");
                    266: 
                    267: die = ($say "You are dead.  Better luck next time.\n")
                    268:       ($spec 3 0 0 0 0);
                    269: 
                    270: tress = ($say "You were warned about trespassing! The fence is electrified!\n")
                    271:        (die);
                    272: 
                    273: 
                    274: VERB look;
                    275: VERB quit;
                    276: VERB inven;
                    277: VERB score;
                    278: 
                    279: look(ACTION) = (Llook 0 ($loc .ME))
                    280:                      ;
                    281: inven(ACTION) = (($not ($cont .ME)):
                    282:                        ($say "You are empty-handed.\n")
                    283:                        ($exit 1))
                    284:                ($setp .ME CONTS TRUE)
                    285:                ($say "You are carrying:\n")
                    286:                (Slook 1 ($cont .ME))
                    287:                        ;
                    288: quit(ACTION) = ($spec 3 0 0 0 0);
                    289: 
                    290: score(ACTION) =
                    291:        (($eq ($loc .ME) town5):
                    292:                ($say
                    293: "A mysterious glowing network of lights appears, and you can
                    294: just make out the words:
                    295:    Your account is now at $")
                    296:                ($num @SCORE)
                    297:                ($say ".
                    298:    Thank you for letting Arpa-Citizen's be your host.\n")
                    299:                ($say
                    300: "The network then disappears.\n")
                    301:        {else}:
                    302:                ($say
                    303: "Hmm, you'll have to check at the local bank.\n")
                    304:        );
                    305: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.