Up to Main Index Up to Journal for October, 2018 JOURNAL FOR WEDNESDAY 31ST OCTOBER, 2018 ______________________________________________________________________________ SUBJECT: WolfMUD v0.0.11 released DATE: Wed 31 Oct 19:27:58 GMT 2018 The next release of WolfMUD, v0.0.11, is now available for download[1]. I Thought this was going to be quite a small release, mostly behind the scene changes. As can been seen from the release notes below this was actually quite a big release with a number of fixes. This release also introduces one big new feature that players will notice. Mobiles (non-player characters, creatures and critters) can now roam around all over the place. In fact they can use any player or scripting command. This has required a compatibility breaking change to the OnAction field, used in zone files. See below for details. If you have created or modified any zone files you may need to take some action to manually update them. Time to get out the pumpkin again! __ /// / __ __ \ \/ __ \/ _ \/ _ \\/\/\// \ \/\/\/ / HAPPY HALLOWEEN Main highlights from the release notes: +++ BREAKING CHANGES +++ - SYNTAX OF ONACTION CHANGED The OnAction field in zone files previously used a list of strings. When the Action fired one of the strings was picked at random and displayed. For example, the frog was defined using the old syntax as: Ref: M3 Name: a small frog Alias: FROG Reset: AFTER→1m OnReset: A frog hops into view. Action: AFTER→10s JITTER→20s OnAction: The frog croaks a bit. : The little frog leaps high into the air. : The frog hops around a bit. With this update OnAction expects a list of commands. The new $ACT command can be used in place of the old strings list. However, the $ACT command will add the actors name to the beginning of the supplied text. Furthermore, if the actor's name starts with 'a ' it will be changed to 'the ' - as this tends to produce better messages. For example, "$ACT croaks a bit." would display "The small frog croaks a bit". The definition for the frog using the new syntax, with additional movement commands so the frog will wander around, is: Ref: M3 Name: a small frog Alias: FROG Reset: AFTER→1m OnReset: A frog hops into view. Action: AFTER→10s JITTER→20s OnAction: $ACT croaks a bit. : $ACT leaps high into the air. : $ACT hops around a bit. : N : S : E : W The supply zone files have been updated for the new OnAction syntax. User supplied or modified zone files will need to be manually updated. Until then the strings will be processed, but most likely result in trying to execute invalid player or scripting commands. Added - recordjar: new and improved encode/decode tests and benchmarks. - New $ACT scripting command for performing actions via Action/OnAction. - Barkeep added back into the tavern (in data/zones/zinara.wrj). - Flower girl added back outside the pawn shop (in data/zones/zinara.wrj). - Giant spider added back into the shed (in data/zones/zinara.wrj). - Street vendor added back at crossroads (in data/zones/zinara.wrj). - The frog and rabbit (in data/zones/zinara.wrj) now move around from location to location. - The fireplace in the tavern (in data/zones/zinara.wrj) now has a separate fire narrative. - Added a fast moving mouse to the tavern (in data/zones/zinara.wrj). This is useful for triggering any locking bug or data races quickly in the changed Action/OnAction processing. - Make sure all players have a PLAYER alias. Existing players will have the alias added when next loaded. Changed - recordjar: package documentation improved. - recordjar: encoded StringList and KeyedStringList fields now starts each item in the list on its own line. - Logging now uses UTC instead of local time zone. - recordjar: encode/decode DateTime uses UTC for result. - The attr.Description Marshal method now uses encode.Bytes. - recordjar: encode and decode now expect date/time values in RFC1123Z. Will fallback to RFC1123 to support date/time values in the old format. - recordjar: non-exported indexSeparator returns the separator starting index and the length of the separator rune found. Previously returned a bool. - recordjar: encode/decode KayedString function dropped. - The OnAction attribute now takes a list of commands instead of a list of strings to display. Fixed - recordjar: Write method rewritten to clean up code. Fixes issue with trailing white space after a field name with no values. Field name are now written with consistent ordering. - recordjar: encode/decode String trims leading/trailing white space. - recordjar: encode/decode Keyword removes ALL white space. - recordjar: encode/decode KeywordList orders the list items consistently. Any list entries with empty or duplicate field names are dropped. - recordjar: encode.PairList removes ALL white space from field names and values. List is sorted consistently. - recordjar: encode.StringList trims leading/trailing white space from values. List is sorted consistently. - recordjar: encode.KeyedStringList removes ALL white space from keys and trims leading/trailing white space from values. List is sorted consistently. - recordjar: encode/decode Duration rounds seconds (half up). - recordjar: encode.KeyedString omit delimiter after field name if no value. - recordjar: encode/decode Bytes trims leading/trailing white space up to the first/last line feed found. - recordjar: decode.Duration strips ALL white space. - recordjar: encode/decode PairList will ignore values where no field name given. - recordjar: decode.DateTime trims leading/trailing white space. - event: when event logging is turned on only log events actually cancelled. - cmd: Uppercase first letter of speakers name for SAY command. - cmd: Uppercase first letter of item examined for EXAMINE command. - Nil pointer panic fixed in attr.Alias.SetParent method. - Can now use 'Veto' or 'Vetoes' in zone files. Updated provided zone files where only one veto defined. - Don't stop processing when using the SAY command and there is nobody else at the location. Otherwise players in nearby locations will not hear someone talking to themself. -- Diddymus [1] Download area: ../../../downloads/ Up to Main Index Up to Journal for October, 2018