This is an old revision of the document!
Miscellaneous internal utility functions that don't seem to fit anywhere else. You probably won't every need to use any of these, except maybe String.capitalize().
Assuming that it is an array of strings, returns a proper serial-comma-separated description of the list including “and”, or “nothing” if the list is empty.
[ “a two-dollar pistol”, “a Stetson hat”, “a shotgun” ].commaList() returns “a two-dollar pistol, a Stetson hat, and a shotgun”.
[ “a two-dollar pistol”, “a Stetson hat” ].commaList() returns “a two-dollar pistol and a Stetson hat”.
[ “a two-dollar pistol” ].commaList() returns “a two-dollar pistol”.
[].commaList() returns “nothing”.
Assuming an array of PersistentObjects (or subclasses), returns a serial-comma-separated description like .commaList(), but using those objects' .aName fields.
Assuming an array of PersistentObjects (or subclasses), returns a serial-comma-separated description like .commaList(), but using those objects' .theName fields.
If Sugarcube has been put in debug mode (Config.debug = true), logs the given logName and message to the JS console. If Sugarcube is not in debug mode, it does nothing.
A global message queue system to allow the story author to more easily hook into the Inventory and Apparel UIs and display various flavor texts and do other processing while a player is fooling around with Inventory and Apparel.
Not fully implemented. May change as we rejigger the UIs.
Returns the string with the first character capitalized.
: This doesn't work if the first character is a quotation mark or other punctuation, or a number. Does it need to?