@list #1:tell #1:tell this none this 1: this:notify(tostr(@args)); @list #100:tell #100:tell none none none 1: if ($g.gen_agent in $object_utils:ancestors(this)) 2: this:respond(tostr(@args)); 3: else 4: pass(@args); 5: endif @list #3:say #3:say any any any 1: try 2: player:tell("You say, \"", argstr, "\""); 3: this:announce(player.name, " ", $gender_utils:get_conj("says", player), ", \"", argstr, "\""); 4: except (ANY) 5: "Don't really need to do anything but ignore the idiot who has a bad :tell"; 6: endtry @list #50:say #50:say any any any 1: if (caller != player && caller_perms() != player) 2: return E_PERM; 3: endif 4: if (!(who = this:loaded(player))) 5: player:tell(this:nothing_loaded_msg()); 6: else 7: this:insert_line(who, argstr); 8: endif @list #1805:announce #1805:announce this none this 1: old_player = player; 2: source = player; 3: if (player.gui && length(args) == 6 && args[3] == "says" && args[6] == "\"") 4: source = $string_utils:match_object(args[1], this); 5: for object in (this.contents) 6: $command_utils:suspend_if_needed(0); 7: $g.interface_messages:announce(object, source, args[5]); 8: endfor 9: endif 10: player = source; 11: pass(@args); 12: player = old_player; @list #6:tell #6:tell this none this 1: if (this.gaglist || this.paranoid) 2: "Check the above first, default case, to save ticks. Paranoid gaggers are cost an extra three or so ticks by this, probably a net savings."; 3: if (this:gag_p()) 4: return; 5: endif 6: if (this.paranoid == 1) 7: $paranoid_db:add_data(this, {{@callers(), {player, "", player}}, args}); 8: elseif (this.paranoid == 2) 9: z = this:whodunnit({@callers(), {player, "", player}}, {this, $no_one}, {})[3]; 10: args = {"(", z.name, " ", z, ") ", @args}; 11: endif 12: endif 13: pass(@args); @list #1497:say #1497:say any none none 1: ""; 2: " say: to make the response_tree stuff work "; 3: ""; 4: if (caller == #2 || caller == #2965) 5: #2:tell("Player is ", player, " caller is ", caller, " this is ", this); 6: #2:tell("Entering say with ", toliteral(args)); 7: endif 8: if (!args || argstr == "") 9: return 0; 10: else 11: old_player = player; 12: this:tell("You say, \"", argstr, "\""); 13: " changed old DollarBay 4-arg format to Blackwood 6-arg, bms 27Jul99 "; 14: " this.location:announce(this.name, * says, **, argstr, ***); "; 15: this.location:announce(this.name, " ", $gender_utils:get_conj("says", player), ", \"", argstr, "\""); 16: player = old_player; 17: endif @list #532:tell #532:tell this none this 1: ""; 2: " tell: generic agent calls respond in response to a 'say'"; 3: " 9Feb99, bms"; 4: ""; 5: speaker = this; 6: tellee = this; 7: callstack = callers(); 8: statusrep = "tellee=" + tostr(tellee) + " len=" + tostr(length(callstack)); 9: if (length(callstack) == 2) 10: statusrep = statusrep + ", callers=" + callstack[2][2] + " @args=" + tostr(@args); 11: if (callstack[2][2] == "say") 12: fork (0) 13: tellee:respond(@args); 14: endfork 15: endif 16: elseif (length(callstack) == 3) 17: statusrep = statusrep + ", callers=" + callstack[1][2] + " @args=" + tostr(@args); 18: if (callstack[2][2] == "announce" && callstack[1][2] != "announce") 19: fork (0) 20: tellee:respond("", "", "says", "", args[5], ""); 21: endfork 22: elseif (callstack[2][2] == "announce" && callstack[1][2] == "announce") 23: fork (0) 24: tellee:respond(@args); 25: endfork 26: endif 27: elseif (length(callstack) > 3) 28: statusrep = statusrep + ", callers=" + callstack[2][2] + " @args=" + tostr(@args); 29: if (callstack[2][2] == "announce") 30: fork (0) 31: tellee:respond("", "", "says", "", @args, ""); 32: endfor 33: endif 34: endif