Up to Main Index                           Up to Journal for October, 2020

                   JOURNAL FOR SATURDAY 31ST OCTOBER, 2020
______________________________________________________________________________

SUBJECT: WolfMUD v0.0.17 released
   DATE: Sat 31 Oct 16:05:42 GMT 2020

The next release of WolfMUD, v0.0.17, is now available for download[1].

This is the seventeenth official release of WolfMUD. It’s not been that long
since v0.0.16 was released. Does this mean the release is just being made to
put something out for Halloween? No! It’s smaller than previous releases, but
there are some nice changes — which get us closer to implementing combat :)

First of all there is a fix for a data race that could happen if a player is
killed just before they hit enter on a command to do something. The chances of
this actually happening are tiny, but it was there and is now gone.

Three new attributes have been added: Holding, Wearing and Wielding. They
record what items a player is using when they exit the game so that the items
are still in use when the player logs on again. The attributes also allow zone
authors to have mobiles wear and use equipment. For examples see the city
guard, sweet flower girl and toy doll in the data/zones/zinara.wrj file.

To accompany the new attributes, and make them work, there are new LoadHooks,
SaveHooks and ResetHooks added to the code for Thing to provide hooks into the
post-unmarshal, pre-marshal and reset processes.

The final piece of the puzzle to make mobiles use their items is a new WAIT
value on the Reset attribute, which can be specified in zone files. Specifying
WAIT on a container will cause it to delay resetting until all of it content
is ready. Mobiles are treated just like containers for resets. Full details on
using WAIT, and limitations, are in the docs/zone-files.txt documentation.

For authors playing with resets and WAIT you can now specify the alias of a
disabled item on the #DUMP command. No more using #DUMP on a location just to
find the disabled item you want to inspect.

Of course no release would be complete without numerous other minor additions,
bug fixes and assorted tweaks…

Time to get out the pumpkin again!

                                       __
                                      ///

                                /  __    __  \
                                   \/ __ \/
                                   _  \/  _
                                   \\/\/\//
                                 \  \/\/\/  /

                               HAPPY  HALLOWEEN


Main highlights from the release notes:

Added

  - New ref field added to Thing to store the original reference from the
    record jar. Accessed via a new Thing.Ref method.
  - New Inventory.SearchByRef method to search Inventory by Thing ref.
  - New LoadHooks and SaveHooks methods added to Thing to provide hooks into
    the post-unmarshaling and pre-marshaling processes.
  - New ResetHooks added to Thing to provide hooks into the reset process.
  - New Holding, Wearing and Wielding attributes to record what items a player
    or mobile is using and how the items are being used.
  - New saveHook added to Body attribute to make Holding, Wearing and Wielding
    attributes available for saving to a record jar.
  - Added a cuirass (ref: L11O1) and helmet (ref: L11O2) to stock inventory for
    armourer in data/zones/zinara.wrj.
  - Toy doll (ref: O11) wearing a dress (ref: O12) and hat (ref: O13) added to
    pawn shop (ref: L8) in zinara.wrj - for testing and experimenting with
    returning containers to their initial state including used items. Toy doll
    has WAIT set on Reset.
  - New WAIT value added to Reset attributes that cause mobiles/containers to
    wait for their inventory items to be ready before resetting.
  - New Inventory.SearchDisabled method added to search an Inventory disable
    list for a Thing matching an alias.
  - The Body attribute has a new RemoveAll method to unconditionally remove all
    items being used.

Changed

  - Loading players calls post-unmarshaling LoadHooks on Thing.
  - Saving players via QUIT command calls pre-marshaling SaveHooks on Thing.
  - The EXAMINE/EXAM command now details items being used by players and
    mobiles.
  - City guards (ref: M11 & M12) updated to wield a shortsword (ref: L13O1) and
    wear a helmet (ref: L11O2), cuirass (ref: L11O3), leather breeches (ref:
    L73O1) and boots (ref: L73O7). Mobiles have WAIT set on reset.
  - Sweet flower girl (ref: M7) updated to wear a dress (ref: M7O2) and hold a
    bunch of wild flowers (ref: M7O1).  Mobile also has WAIT set on reset.
  - Optimised Inventory move when from and to Inventory are the same.
  - The $RESET command now implements waiting for mobiles/containers with the
    new Reset WAIT value set.
  - The $RESET command now calls Thing.ResetHooks to provide access to the
    resetting process.
  - #DUMP/#UDUMP/#LDUMP can now be used directly on disabled items.
  - The JUNK command will now synchronise body slots when items are junked.

Fixed

  - Duplicate 'reference' removed from message text in zones.loadZone when
    overwriting duplicate references.
  - Data race fixed when player killed just as they submit a command for
    parsing.
  - The Body attribute Hold, Wear & Wield methods now check for Body being nil.
  - In data/zones/zinara.wrj remove duplicate aliases on the cotton shirt (ref:
    L73O11), cotton trousers (ref: L73O12) and cotton dress (ref: L73O13).

--
Diddymus

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


  Up to Main Index                           Up to Journal for October, 2020