@prog rob.muf 1 999 d 1 i : say-to swap notify ; : say me @ say-to ; : say-o-message "%n " swap strcat me @ swap pronoun_sub loc @ me @ rot notify_except ; : can-call? dup "l" flag? if 1 exit then me @ wizard? if 1 exit then dup owner me @ dbcmp if 1 exit then 0 ; : maybe-call can-call? if call else pop "Program call: Permission denied." say then ; : say-or-run dup "@" 1 strncmp if say else dup 1 strcut swap pop dup " " instr dup if strcut 1 strcut swap pop else pop "" then swap atoi dbref dup program? if rot pop maybe-call else pop pop say then then ; : do-rob me @ over passlock? if dup pennies 1 < if dup "%n is dollarless." pronoun_sub say me @ "%n tried to rob you, but you have no dollars to take." pronoun_sub over say-to else dup succ dup if say-or-run else pop then me @ "d" flag? not if dup osucc dup if say-o-message else pop then then "You stole a dollar." say me @ "%n stole one of your dollars!" pronoun_sub over say-to dup -1 addpennies me @ 1 addpennies then else dup fail dup not if pop "Your conscience tells you not to." then say-or-run me @ "d" flag? not if dup ofail dup if say-o-message else pop then then then pop ; : check-prob "/100" "%" subst dup "/" instr dup if 1 - strcut 1 strcut swap pop swap atoi swap atoi random swap % > else pop 0 trigger @ owner "#" trigger @ int intostr strcat " has a missing or invalid _jail-prob property!" strcat notify then ; : maybe-send-to-jail trigger @ "_jail-prob" getpropstr check-prob if trigger @ "_jail-prog" getpropstr atoi dbref call 1 else 0 then ; : main dup not if pop "Rob whom?" say exit then dup "me" stringcmp if .pmatch+ else me @ then dup #-1 dbcmp if pop "Rob whom?" say exit then dup #-2 dbcmp if pop "I don't know who you mean!" say exit then dup location me @ location dbcmp not if me @ wizard? not if "I don't see that here." say exit then then dup player? not if "Sorry, you can only rob other players." say exit then dup me @ dbcmp not if maybe-send-to-jail if exit then then do-rob ; . c q