View/Edit #2027:say_action do_action

Switch to edit mode.

Name(s): say_action do_action
1:  "$you:say_action(message [,who [,thing, [,where [, excluding-whom]]]])"
2:  "announce 'message' with pronoun substitution as if it were just "
3:  "  where:announce_all_but(excluding-whom, "
4:  "    $string_utils:pronoun_sub(message, who, thing, where));"
5:  "except that who (player), dobj, and iobj get modified messages, with the appropriate use of 'you' instead of their name, and except that `excluding-whom' isn't really a valid variable name."
6:  "who       default player"
7:  "thing     default object that called this verb"
8:  "where     default who.location"
9:  "excluding default {}"
10: {msg, ?who = player, ?thing = caller, ?where = who.location, ?excluding = {}} = args
11: you = this
12: if (typeof(msg) == $LIST)
13:   tell = ""
14:   for x in (msg)
15:     tell = tell + (typeof(x) == $STR ? x | x[random(length(x))])
16:   endfor
17: else
18:   tell = msg
19: endif
20: if (!(who in excluding))
21:   who:tell($string_utils:pronoun_sub(this:fixpos(tell, "%n"), you, thing, where))
22: endif
23: if ($object_utils:has_callable_verb(where, "announce_all_but"))
24:   where:announce_all_but({dobj, who, iobj, @excluding}, $string_utils:pronoun_sub(tell, who, thing, where))
25: endif
26: if (valid(dobj) && dobj != who && !(dobj in excluding))
27:   x = dobj
28:   dobj = you
29:   x:tell($string_utils:pronoun_sub(this:fixpos(tell, "%d"), who, thing, where))
30:   dobj = x
31: endif
32: if (valid(iobj) && !(iobj in {who, dobj, @excluding}))
33:   x = iobj
34:   iobj = you
35:   x:tell($string_utils:pronoun_sub(this:fixpos(tell, "%i"), who, thing, where))
36:   iobj = x
37: endif
38: "Last modified by Dax (#789) on Tue May  3 14:03:27 2005 MDT."

Verb arguments: this none this
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: Cecil (#7407)

You are not logged in.

[home | help | who | search | setup | code]