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