phone call

I am kinda stuck. I want to allow the player to use a smart phone to talk with one or two other NPCs. I have read the discussion by Eric Eve about creating a CommLink to allow the player to talk to a pilot in a ship flying far away, but I’m curious about how to initiate it.

What I would prefer is one of two methods:

  1. call bob
  2. use phone:

Who would you like to call?

  1. bob
  2. bettie

I considered creating a phony entity that has no tangible form that “lives” in the phone with only a simple interface: Call, which would then either initiate a conversation with the phony version of the actor or maybe would simply set up a comm. link to the room where the NPC is currently located.

Any suggestions (or better yet…some code? :slight_smile: )

There’s no rule that says that your custom CALL verb has to accept TADS 3’s default notion of scope. See the article on Redefining Scope in the TADS 3 Technical Manual.

In essence you could define your Call action along the following lines:

DefineTAction(Call)
   objInScope(obj) { return true; }
;

VerbRule(Call)
   ('call' | 'phone') singleDobj
   : CallAction
   verbPhrase = 'call/calling (whom)'
;

This would have the effect of putting every object in scope for the CALL command, so the player could then CALL BOB even if Bob wasn’t present; but see the article in the Technical Manual for a full discussion.

Ah! This is exactly what I wanted. Thank you so much!