|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.