Up to Main Index                             Up to Journal for March, 2022

                     JOURNAL FOR SUNDAY 27TH MARCH, 2022
______________________________________________________________________________

SUBJECT: WolfMUD v0.0.19-beta.5 released
   DATE: Sun 27 Mar 21:00:35 BST 2022

The fifth beta snapshot is now available for download[1]. I did hope I wasn’t
going to have to release another beta snapshot — but here it is. There have
been a lot of small changes all over the code. Unicode references should now
work correctly everywhere in zone files.

AN IMPORTANT CHANGE OF SPECIAL NOTE:

  A mobile/NPC is now defined as anything that can self heal — anything with
  HEALTH defined and MAXIMUM, RESTORE, AFTER and/or JITTER set. The zone files
  have been updated to reflect this. Please check your own zone files to see
  if you need to define some additional HEALTH fields on your mobiles/NPCs.

For this snapshot I’ve stayed with Go 1.17.8 due to hitting issue #51776[2]
when compiling Go 1.18 from source on 32bit ARM platforms with CGO_ENABLED=1.

I also hit issue #46695[3], I think that is more to do with my Raspberry Pi
setup and needs more investigating.

Main highlights from the release notes:

Added

  - The matcher package has a new trimMatch function to remove leading
    stopwords, modifiers, qualifiers and alias from an original input that
    would have been used in a match.
  - New TELL/TALK player command.
  - New WHISPER player command.
  - New map of in-game players added to core.state, players added by $POOF and
    removed by QUIT command.
  - New /WHO command to list other players currently in-game.
  - New /WHOAMI command to remind yourself who you are.
  - New Thing.selfHeals helper method.
  - Mobiles/NPCs that are holdable can no longer be PUT into containers.

Changed

  - The bots from the botrunner now TELL/TALK and WHISPER again.
  - The data/zones/zinara.wrj zone file has been updated so that some NPCs will
    directly address the player.
  - Clean-up initial section, example zone file, field data types and @refs
    section in docs/zone-files.txt
  - Clean-up EXIT/EXITS entry in docs/zone-files.txt
  - When unmarshaling a Thing current health is only set to maximum health if
    current health is zero and Thing can self heal.
  - An NPC is now anything that can self heal.
  - Updated docs/zone-files.txt for self healing and mobiles/NPC.
  - Updated data/zones/zinara.wrj to make sure all NPCs have Health so that
    they behave properly.
  - Documentation for KEYWORD and REF sections in docs/zone-files.txt has been
    updated and improved. REF section now has examples of naming schemes.
  - Documentation for NAME section in docs/zone-files.txt expanded and contains
    details of 'a/as/some' to 'the' and upper/lower case conversions.
  - Corrected who can see messages in CLEANUP section of docs/zone-files.txt

Fixed

  - Delete Thing.Event map entries for suspended events.
  - Suspend events scheduled by InitOnce/Init if Thing loaded disabled with a
    suspended reset event.
  - The maximum length of player names is now 15 letters. Previously no limit.
  - Initialise World in core.state where it is defined, not world.Load.
  - The SOME qualifier usage has been dropped from data/zones/zinara.wrj as it
    will never match due to being dropped as a stop word.
  - Improve some alias qualifiers in data/zones/zinara.wrj
  - Fix nil panic when DOOR attribute used in a location's definition. The
    DOOR attribute is now ignored.
  - Fix body checks failing when all body slots a used for held, worn or
    wielded items.
  - Fix nil panic in REMOVE command when item to remove not found.
  - Drop redundant check for "where.Is&(NPC|Player) != 0" in state.Take method.
  - Added health to the core.preferredOrdering list in core/types.go
  - Implement the minimum one second event period when ACTION, CLEANUP or RESET
    are specified but AFTER, JITTER and DUE_IN are not defined as documented in
    docs/zone-files.txt
  - The world loader now correctly uppercases REFs in zone files. Previously a
    lowercased REF would fail to match when used in, for example INVENTORY or
    LOCATION fields.
  - The pre-processor now identifies @refs with with Unicode letters correctly.
  - Fixed sentance not ending with a period for DROP command.
  - Fixed sentance not ending with a period for GET command.
  - Don't register redundant event when unmarshaling a DOOR field.
  - Type fixed in message for MOVE command.

Known Bugs / Issues

  - If a mobile is loaded with current health < maximum health a health event
    is not registered to regenerate health.
  - If a mobile is holdable and junked when current health < maximum health a
    health event is not registered to regenerate health when mobile resets.
  - If a door is saved and reloaded its reset event is not suspended and
    restored.

--
Diddymus

  [1] Download area: ../../../downloads/

  [2] https://github.com/golang/go/issues/51776

  [3] https://github.com/golang/go/issues/46695


  Up to Main Index                             Up to Journal for March, 2022