Up to Main Index                             Up to Journal for March, 2022

                    JOURNAL FOR SATURDAY 12TH MARCH, 2022
______________________________________________________________________________

SUBJECT: You talking to me? New player commands added
   DATE: Sat 12 Mar 15:53:39 GMT 2022

A few weeks ago I made a new Beta 4 snapshot release. That seems to have gone
quite well. There was also the busybox / Git repository tutorial. A few people
seem to have found that useful.

In between times I’ve been very busy with work. I’ve still been busy working
on WolfMUD. In fact I’ve just pushed out an update to the public dev branch
that adds back two player commands: TALK/TELL and WHISPER. The commands did
throw up a bit of a nasty problem which has taken some time to sort out[1].

There are now four ways that players can communicate: SAY/", SHOUT, TALK/TELL
and WHISPER. In the following examples below the Actor is the player issuing
the command, the participant is who the Actor is talking to, Observers are
everybody else — the number after the Observer is how many locations away from
the Actor they are:


  SAY <message>
    You address everyone at the current location. Players at the current
    location will hear what is said. Players within one location will hear
    that someone talking, but not what is being said.

            Actor: >SAY Hello!
                   You say: Hello!
      Observer(0): Diddymus says: Hello!
      Observer(1): You hear talking nearby.


  SHOUT <message>
    You shout at the current location. All players at the current location
    will see and hear you shouting. Players within one location will hear
    what is being shouted. Players within two locations will hear someone
    is shouting, but not what is being shouted.

            Actor: >SHOUT Hello!
                   You shout: Hello!
      Observer(0): Diddymus shouts: Hello!
      Observer(1): You hear someone shout: Hello!
      Observer(2): You hear shouting nearby.


  TALK <who> <message>
    You say something to someone. All players at the current location will
    see you talking to someone and know what is said. Players within one
    location will hear that someone is talking, but not what is being said.

             Actor: >TALK alice Hello!
                    You say to Alice: Hello!
       Participant: Diddymus says to you: Hello!
      Observers(0): Diddymus says to Alice: Hello!
      Observers(1): You hear talking nearby.


  WHISPER <who> <message>
    You whisper something to someone. All players at the current location
    will see you whispering to someone. Only the actor and participant will
    know what is being said.

             Actor: >WHISPER alice Hello!
                    You whisper to Alice: Hello!
       Participant: Diddymus whispers to you: Hello!
      Observers(0): Diddymus whispers something to Alice.


Having written up those commands I realise I really need to implement the help
system soon.

The bots from the botrunner have been updated to TELL and WHISPER again. The
NPCs in the Zinara zone have been tweaked a little so that they will talk to
players directly. I’m not sure I like the change. As it’s a direct interaction
the messages do not get de-spammed. This can result in repeated messages:


  >
  The street vendor coughs.
  >
  The street vendor says to you: Hi there!
  >
  The street vendor says to you: Hi there!
  >


I’ll live with it for now and see how it goes. What we really need are smarter
NPCs instead of the current random actions — something else on the todo list.

Some aliases in the zinara.wrj file have been tweaked and improved.

With the TALK/TELL and WHISPER commands added there are only two more commands
from v0.0.18 that are currently missing: /PROMPT and WHO. Actually I guess it
should be /WHO as slash commands are OOC or “out of character” commands.

Hrm… there are probably a few other commands that should be OOC: COMMANDS,
QUIT and VERSION.

The new commands and additional tweaks are out on the public dev branch.

--
Diddymus

  [1] It took even longer to sort out as I wasn’t happy with the first three
      solutions. In the end I went with a simple brute force approach[2].

  [2] For those people interested in gory details take a look at the comments
      for StripMatch in core/matcher.go


  Up to Main Index                             Up to Journal for March, 2022