Up to Main Index                            Up to Journal for August, 2021

                     JOURNAL FOR FRIDAY 13TH AUGUST, 2021
______________________________________________________________________________

SUBJECT: Clean-up events added to experiment + bug fixes and improvements
   DATE: Fri 13 Aug 19:27:48 BST 2021

Today has been nothing but problems — it is Friday 13th, so what did I expect?

I have a whole bunch of updates for the experiment branch dealing with resets,
spawning and adding clean-ups.

First of all, spawning has been fixed — I had a spawn→Spawn typo in the code
causing weird issues as there are spawn and Spawn methods.

To go with the resets and spawning the Cleanup events have been added. There
is a new Thing.Ref[Origin] so unique items know where to reset to. The junking
of items has been reworked from the very simplistic implementation to one that
handles inventories for containers and unique items properly. The JUNK command
now respects vetoes, so that you can have items that cannot be junked.

A bug in Thing.Junk causing unique items to be processed twice has been fixed.
Thing.Junk now also clears the dynamic qualifier so that junked items that
reset no longer retain the ‘SELF’ dynamic alias. The junk command now has
crowd control and accepts multiple items to junk.

The QUIT command now JUNKs all items in a player’s inventory instead of just
dropping them on the ground.

Thing.Free has been updated as some newer fields in the Thing struct were not
being freed or were being freed incorrectly. A Thing.Is[Freed] flag has been
added to indicate when a Thing has been released and is ready for GC — this is
mostly useful for debugging and tracking items.

Resets have improved container checking and crowd control for reset messages.
Items will now enable their action events after being reset.

The GET, DROP, PUT and TAKE commands have been updated to schedule or cancel
clean-up events automatically.

In short resets, spawning and clean-ups should be working quite well.

I think my next task will be… hrm… holding, wearing and wielding items. For
that I am going to need bodies and item slots. I also need to look at how best
to flag something as a mobile (or NPC, non-player character). I’m thinking of
maybe just adding a mobile/NPC field to the zone files. This would then allow
specific attributes to be added to the field later on such as behaviours.

After that I need to add the front-end so players can login to their accounts.
I also need to sort out the text formatting, add colours and a few other odds
and ends. I think that then puts the experiment on par with v0.0.18? I do need
to double check the two code bases and make sure all of the functionality in
the dev branch is there in the experiment branch. Then what? A release maybe?

All of the above is now out on the public experiment branch.

--
Diddymus


  Up to Main Index                            Up to Journal for August, 2021