; ; Creation Functions ; makeroom $ANY $ANY ARCH !ME EQ 1 -1 MSGCR {Unknown noun.} DONE makeroom $ANY $ANY ARCH !ME LENGTH U2 64 EQ 64 0 MSGCR {You must give a system name.} DONE makeroom $ANY $ANY ARCH !ME MKROOM U2 64 SETVOCAB !64 !4 !1 OK DONE setname $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 setname $ANY $ANY ARCH !ME -EQ 13 -1 SETNAME !13 U2 OK DONE setlong $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 setlong $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IROOM SETLONG !13 U2 OK DONE addnoun $ANY $ANY ARCH !ME LENGTH U1 64 EQ 64 0 MSGCR {Addnoun requires a word name.} DONE ARCH !ME FINDSTR U1 { .,*} 0 64 MSGCR {Illegal character in word text} DONE ARCH !ME ADDWORD U1 3 !FWORD MSG {Word '} MSG U1 MSGCR {' added.} ADD FWORD 1 DONE addadj $ANY $ANY ARCH !ME LENGTH U1 64 EQ 64 0 MSGCR {Addadj requires a word name.} DONE ARCH !ME FINDSTR U1 { .,*} 0 64 MSGCR {Illegal character in word text} DONE ARCH !ME ADDWORD U1 2 !FWORD MSG {Word '} MSG U1 MSGCR {' added.} ADD FWORD 1 DONE delnoun $ANY $ANY ARCH !ME DELWORD U1 3 OK DONE deladj $ANY $ANY ARCH !ME DELWORD U1 2 OK DONE makeobject $ANY $ANY ARCH !ME EQ 1 -1 MSGCR {Unknown noun.} DONE ARCH !ME LENGTH U2 64 EQ 64 0 MSGCR {You must give a system name.} DONE ARCH !ME MKOBJECT U2 64 SETMAXSTATE !64 1 SETVOCAB !64 !4 !1 PLACE !64 !ME OK DONE setmaxstate $ANY $ANY -ARCH !0 MSGCR {Pardon ?} DONE ARCH !0 -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE NUMOF U2 64 OBIT !13 %opens LT 64 2 MSGCR {Opening items must have maxstate of 2+} DONE OBIT !13 %weapon LT 64 3 MSGCR {Weapons must have maxstate of 3+} DONE LT 64 1 MSGCR {Invalid max state.} DONE GT 64 15 MSGCR {Invalid max state.} DONE SETMAXSTATE !13 !64 OK DONE setdesc $ANY $ANY -ARCH !ME MSGCR {Pardon ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE LDO 64 !13 OSTATES LD 65 !64 DIV 65 16 MUL 65 16 SUB 64 !65 SETDESC !13 !64 U2 OK DONE makeplayer $ANY $ANY ARCH !ME EQ 1 -1 MSGCR {Unknown noun.} DONE ARCH !ME LENGTH U2 64 EQ 64 0 MSGCR {You must give a system name.} DONE ARCH !ME MKPLAYER U2 64 SETVOCAB !64 !4 !1 OK DONE setarrive $ANY $ANY PBIT !ME %wizard SETIOH !ME 2 U1 OK DONE setleave $ANY $ANY PBIT !ME %wizard SETIOH !ME 1 U1 OK DONE sethere $ANY $ANY PBIT !ME %wizard SETIOH !ME 0 U1 OK DONE setfollow $ANY $ANY ARCH !ME -EQ 13 -1 -EQ 14 -1 IS !13 IPLAYER IS !14 IPLAYER SETP !13 PFOLLOW !14 OK DONE setwizard $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 ARCH !ME -EQ 13 -1 IS !13 IPLAYER LDP 64 !13 PFLAGS SET 64 %wizard SETP !13 PFLAGS !64 OK DONE setpleb $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 ARCH !ME -EQ 13 -1 IS !13 IPLAYER LDP 64 !13 PFLAGS RES 64 %wizmode RES 64 %wizard SETP !13 PFLAGS !64 OK DONE setweapon $ANY $ANY -ARCH !ME MSGCR {Pardon ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE LDO 64 !13 OSTATES DIV 64 16 LT 64 3 MSGCR {Not enough states to be a weapon.} DONE -NUMOF U2 64 MSGCR {You must specify a damage value.} DONE LDO 64 !13 OFLAGS SET 64 %weapon SETO !13 OFLAGS !64 NUMOF U2 64 SETO !13 ODAMAGE !64 OK DONE setsharp $ANY $ANY -ARCH !ME MSGCR {Pardon ?} DONE -EQ 9 -1 LD 13 !9 -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE NUMOF U2 65 SETO !13 OSHARP !65 OK DONE setvalue $ANY $ANY -ARCH !ME MSGCR {Pardon ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE NUMOF U2 65 SETO !13 OVALUE !65 OK DONE setseedark $ANY $ANY -ARCH !ME MSGCR {What?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that?} DONE -IS !13 IPLAYER PCNAME !13 MSGCR { is not a player.} DONE LDP 64 !ME PFLAGS SET 64 %seedark SETP !ME PFLAGS !64 OK DONE resseedark $ANY $ANY -ARCH !ME MSGCR {What?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that?} DONE -IS !13 IPLAYER PCNAME !13 MSGCR { is not a player.} DONE LDP 64 !ME PFLAGS RES 64 %seedark SETP !ME PFLAGS !64 OK DONE resweapon $ANY $ANY -ARCH !ME MSGCR {Pardon ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE -OBIT !13 %weapon PCNAME !13 MSGCR { is not a weapon.} DONE LDO 64 !13 OFLAGS RES 64 %weapon SETO !13 OFLAGS !64 SETO !13 ODAMAGE 0 OK DONE setcanget $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE OBIT !13 %canget MSGCR {Canget is already set.} DONE LDO 64 !13 OFLAGS SET 64 %canget SETO !13 OFLAGS !64 OK DONE setflannel $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE OBIT !13 %flannel MSGCR {Flannel is already set.} DONE LDO 64 !13 OFLAGS SET 64 %flannel SETO !13 OFLAGS !64 OK DONE setlitall $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE OBIT !13 %litall MSGCR {Litall is already set.} DONE LDO 64 !13 OFLAGS SET 64 %flannel SETO !13 OFLAGS !64 OK DONE setlit0 $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE OBIT !13 %lit0 MSGCR {Lit0 is already set.} DONE LDO 64 !13 OFLAGS SET 64 %lit0 SETO !13 OFLAGS !64 OK DONE setcontainer $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE OBIT !13 %container MSGCR {Container is already set.} DONE LDO 64 !13 OFLAGS SET 64 %container SETO !13 OFLAGS !64 OK DONE setsize $ANY $ANY -ARCH !ME MSGCR {Pardon} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE NUMOF U2 64 SETO !13 OSIZE !64 OK DONE setweight $ANY $ANY -ARCH !ME MSGCR {Pardon} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE NUMOF U2 64 SETO !13 OWEIGHT !64 OK DONE setopens $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IOBJECT PCNAME !13 MSGCR { is not an object.} DONE LDO 64 !13 OSTATES DIV 64 16 LT 16 2 MSGCR {Opens needs at least 2 states.} DONE LDO 64 !13 OFLAGS SET 64 %opens SETO !13 OFLAGS !64 OK DONE setdeath $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS SET 64 %death SETR !13 RFLAGS !64 OK DONE setoutside $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS SET 64 %outside SETR !13 RFLAGS !64 OK DONE setdark $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS SET 64 %dark SETR !13 RFLAGS !64 OK DONE setnomobile $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS SET 64 %nomobile SETR !13 RFLAGS !64 OK DONE settdrop $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS SET 64 %tdrop SETR !13 RFLAGS !64 OK DONE resdeath $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS RES 64 %death SETR !13 RFLAGS !64 OK DONE resoutside $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS RES 64 %outside SETR !13 RFLAGS !64 OK DONE resdark $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS RES 64 %dark SETR !13 RFLAGS !64 OK DONE resnomobile $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS RES 64 %nomobile SETR !13 RFLAGS !64 OK DONE restdrop $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE LDR 64 !13 PFLAGS RES 64 %tdrop SETR !13 RFLAGS !64 OK DONE setnexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -EQ 12 -1 LD 14 !12 EQ 14 -1 MSGCR {Where to ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE IS !14 IPLAYER PCNAME !14 MSGCR { is a player.} DONE SETR !13 ENORTH !14 OK DONE seteexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -EQ 12 -1 LD 14 !12 EQ 14 -1 MSGCR {Where to ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE IS !14 IPLAYER PCNAME !14 MSGCR { is a player.} DONE SETR !13 EEAST !14 OK DONE setsexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -EQ 12 -1 LD 14 !12 EQ 14 -1 MSGCR {Where to ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE IS !14 IPLAYER PCNAME !14 MSGCR { is a player.} DONE SETR !13 ESOUTH !14 OK DONE setwexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -EQ 12 -1 LD 14 !12 EQ 14 -1 MSGCR {Where to ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE IS !14 IPLAYER PCNAME !14 MSGCR { is a player.} DONE SETR !13 EWEST !14 OK DONE setuexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -EQ 12 -1 LD 14 !12 EQ 14 -1 MSGCR {Where to ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE IS !14 IPLAYER PCNAME !14 MSGCR { is a player.} DONE SETR !13 EUP !14 OK DONE setdexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -EQ 12 -1 LD 14 !12 EQ 14 -1 MSGCR {Where to ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE IS !14 IPLAYER PCNAME !14 MSGCR { is a player.} DONE SETR !13 EDOWN !14 OK DONE resnexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE SETR !13 ENORTH -1 OK DONE reseexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE SETR !13 EEAST -1 OK DONE ressexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE SETR !13 ESOUTH -1 OK DONE reswexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE SETR !13 EWEST -1 OK DONE resuexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE SETR !13 EUP -1 OK DONE resdexit $ANY $ANY -ARCH !ME MSGCR {What ?} DONE -EQ 9 -1 LD 13 !9 EQ 13 -1 MSGCR {What is that ?} DONE -IS !13 IROOM PCNAME !13 MSGCR { is not a room.} DONE SETR !13 EDOWN -1 OK DONE ; ; The rest of this set want tidying up to be neater like the above ; setfood $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 setfood $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS SET 64 %food SETO !13 OFLAGS !64 NUMOF U2 64 SETO !13 OFOOD !64 OK DONE rescanget $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 rescanget $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS RES 64 %canget SETO !13 OFLAGS !64 OK DONE resflannel $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 resflannel $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS RES 64 %flannel SETO !13 OFLAGS !64 DONE reslitall $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 reslitall $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS RES 64 %litall SETO !13 OFLAGS !64 OK DONE reslit0 $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 reslit0 $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS RES 64 %lit0 SETO !13 OFLAGS !64 OK DONE rescontainer $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 rescontainer $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS RES 64 %container SETO !13 OFLAGS !64 OK DONE resopens $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 resopens $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS RES 64 %opens SETO !13 OFLAGS !64 OK DONE resfood $ANY $ANY ARCH !ME -EQ 9 -1 LD 13 !9 resfood $ANY $ANY ARCH !ME -EQ 13 -1 IS !13 IOBJECT LDO 64 !13 OFLAGS RES 64 %food SETO !13 OFLAGS !64 SETO !13 OFOOD 0 OK DONE