Building: Tells
All non-hostile, non-dumb mobiles should have at a mininum reponses to name, job, help, mission and follow. Adding others is encouraged, as is a custom "telldefault".
Non-speaking mobiles should have the CantTalk flag set on them.
Normally, if a mobile who can talk who is told something they don't have a response for, a log message is generated to tell the staff about a missing tell. If the mobile shoudln't respond to stuff in general but should just insult the player (or whatever), give them the WontTalk flag to hide the logmessage.
Normally, mobiles will respond to saytos as well as tells. When responding to a sayto, they'll use sayto as well, but this can be either irritating in a public area or worse potentially leak important mission details. To stop them using sayto automatically in a response, set the RespondWithTell flag on them
Adding/changing tells
chstr mobile_id_1 tell.whatever respond Whatever.chstr mobile_id_1 telldefault respond Excuse me?
In addition to "tell", you can use "whisper", "give
If you want to do multiple commands just separate them with ;
If you want one as an alias for another use the 'betold' command.
Also, you can do just "trap" which triggers a trap which can then do Stuff.
If you want the state to be taken from another object not the mobile, set the 'tellstate' property
on the mobile to the relevant object. This is quite limited, so for greater complexity lua tells may be
useful.
If you want you can grab ALL tells to a mobile into lua, with the lua.tell property. You are
then responsible for parsing the tells. Return 1 if you've handled it, return 0 to continue
the default tell behaviour.
Tells Under Certain Conditions
If you want a mobile's state to effect the tells it listens to, you can
set, for example, 'tell.foo.1'. This will activate only when the mobile
is in state 1 and is told foo.
Tells Only If You Are On A Quest
tell.foo.quest_0 will be triggered only if the player has accepted quest 0.
tell.foo.quest_0.3 will be triggered only if the player has accepted quest 0 and it (the quest)
is in state 3.
Lua Tells
You can hook lua into tells directly. For example, instead of making a tell.bar property,
have a lua.tell.bar property, that does something like "if somecondition then tell(one thing) else tell(another thing) return 1"
Removing tells
delete mobile_id_1 tell.whatever
Responding to actions
You can use "on_hug" to respond to hugs, "on_smile" to respond to smiles, etc.
Treatas
If a mobile has a treatas it will look at that object for tells.
Archetypes
Before triggering telldefault it will check the archetype of a mobile to see
if it knows how to respond. The archetype is specified with the "archetype" property. If
this isn't set, it will default to a value depending on the mobile's "nation" property.