The following is an abbreviated version of the Subversion commit message logs. Please keep in mind that these messages are intended for other developers and they take the files which were modified into context in order to limit the amount of verbage. In general, they are not intended for general audiences and should not be treated as "official" documentation -- they are informal and abbreviated, at best.
If you do not understand what something says, try looking at the full version of the revision by following the accompanying link for the revision. The only difference is that the files which were modified will be listed, and sometimes, you can guess what happened from file names (though not always). If you still have no idea what happened, that's okay -- it probably doesn't relate to what you're doing with KoLmafia. ^_~
Furthermore, not everything marked as "fixed" is guaranteed to be fixed, not all changes are guaranteed to have a change. This is due the fact that both time and turns are finite and only a limited number of things can be tested. Some changes go in untested, assuming they would work, when they actually don't due to erroneous assumptions; alpha testers occasionally will be able to give feedback, but it's not always possible.
For example, if you read the revision logs for what changed between 10.2 and 10.3, the plus sign choice adventure was meant to get a use link. Something as seemingly insignificant as KoL using two spaces instead of one space in the sentence "It's actually a book. Read it." would mean the change didn't actually work -- anyone can verify that, in fact, the change didn't work for this very reason. If you ever encounter something like that, a non-accusatory mention of it (non-accusatory meaning anything that neither implies "ZOMG FALSE ADVERTISING" nor "You guys said this was fixed, but...") somewhere will usually result in the problem getting addressed.
Finally, if you've got a bug to report, make sure you read up on how to post a detailed bug report. While the rules outlined apply specifically to bugs related to scripting, many of them are applicable to KoLmafia bug reports in general. Most importantly, I hate the words "annoying" and "frustrating". Never use them when describing a bug/feature. Ever. Thanks. The abridged revision logs follow.
Allow zone() in modifier expression to match parent(s) of current zone, to handle nested zones correctly. Thanks to Saklad5
Remove unnecessary (incorrect) spaces accidentally dded to three monsters
Add a few new items, including enchantments for the hewn moon-rune spoon
Sailing the PirateRealm Seas has no combats, per Saklad5
When sell cursed compass, remove from inventory/equipment/checkpoints
Fix zone() function in modifier expressions. Use recursive zones for doll-eyed amulet, stinky fannypack, and Expert Vacationer
We use "^" rather than "**" for exponentiation in expressions
When resetting TCRS data, there are a few more ConsumablesDatabase methods that need to be called/
Call those methods.
Upgrade htmlcleaner to version 2.22.
It doesn't seem to crash on fight handling, so there is that at least.
Fix expression error for Expert Vacationer.
Add missing jdom2 jar.
Forgot to add -f this file in the last commit, whoops.
Set default text encoding for javac.
htmlcleaner's SpecialEntities.java contains weird characters that
break in windows-1252.
Use TagNode.getAllChildren(), not getChildren().
getChildren() doesn't preserve CommentNodes, and is deprecated to
Use getAllChildren when logging fight HTML tree, as required by new HTMLCleaner
Fix parsing of "p" tags in fights since behavior of TagNode.getText() has changed in the new version of HTMLCleaner
This runs an actual ASH script, then compares the output against a
Rename AshTest -> CustomScriptTest, auto-detect scripts.
For now, this only looks for scripts in the top-level scripts/
Update 3 items in two TCRS seeds
Add ability for KoLmafia itself to ship internal relay files in the relay directory.
A user-supplied relay file will override such an internal relay file.
Add internal relay file for afterlife.php which decorates the pet store and deli so that you can see what astral consumables and equipment will do in your choice of TCRS class/sign
Do not let a user relay script to override an internal relay script.
Perhaps we can figure out how to allow internal and user-supplied scripts to be composed, somehow, later
Beach Comb support
Restore relay script lookup for optional shops ids, etc.
Fix handling of VYKEA furniture with new HTMLCleaner
Fix Beach Comb Box
Beach Comb items and effects
Allow "tcrs derive #" which will derive a single itmem in TCRS and store it in local TCRS data. Use "tcrs save" to write it to storage.
Added some Beach Comb items
Items of the Month cannot be pulverized
hewn moon-rune spoon skills
tcrs help command
More Beach Comb stuff from mall
Expert Cornercutting is not available unless you have at least one turn left (to not be used) for crafting
Fix item_type() for shotgun, murderbot plasma rifle and Bananubis's Staff
KoL describes many items as "potions". Define a "potion" primary usage type. "usable" and "multible" can be
specified as the secondary usage type. If the potion is n avatar potion, use "avatar" as the primary usage
type; anything which is a "potion" or an "avatar" is a KoL "potion".
More Beach Comb stuff
Add Beach Combo skill. Log horse and meteor actions during fights. Two sticks make fire.
Add BeachManager, which can parse a beach layout and store the results in _beachMinutes and _beachLayout
When we visit a beach are to comb, parse the map and store in settings
MOve a bunch of variables into a loop so they get initialized each time through.
This was causing the maimizer to labele effects with multiple sources strangely:
potions would get an mp cost or adventures used or what have you
he beach can have "a sand castle", which we will designate with 'S' in the beach layout
Eliminate extra space in effect defaults when setting actions in TCRS.
Change to beach layout: rough sand = 'r', combed sand = 'c', sand castle = 'C'
Meteor combat messages can have "falling star" rather than "meteor". Allow either.
Move svnrepo.json from GitHub to SourceForge
svnrepo.json correctly read from SourceForge now.
Update svnrepo to point to new location for UR
Fix use links for potions
Pastamancer = 3 and Sauceror = 4.
When parsing an "Effect" modifier on an item, look up ambiguities and include effect ID if necessary to disambiguate.
Fix the modifiers for TCRS Accordion Thief/Blender, which were affected by this.
When handling kisses in Dreadsylvania, do not abort fight processing
add magical sausages to restores.txt as per saklad5 Untested
Track inflation of brainwave-controlled unicorn horn as per saklad5 Untested
Track cubeling drops as per gausie UNTESTED
Forcibly parse modifiers for Mummery, local vote.
This is a short-term hack that I'll figure out how to unwind when I
have more time. In the meanwhile, this does seem to work (at least
nominally tested for Mummery).
Remove forceEval, since it's unnecessary.
Don't clear modifierIndicesByName.
This map shouldn't change once it's been built up, since it's a helper
object to make it easier to find the index for a modifier. It
definitely shouldn't be cleared every time we reset our modifiers.
Detect mime army shotglass when you use the Gnomish MicroMicroBrewery in the relay browser.
When reloading modifiers, have to start fresh with bitmap masks
Don't get confused by non-standard 1000 Meat cap for free fights.
When equipping and unequipping Beach Comb or hewn moon-rune spoon, add or remove appropriate skills.
Untested - Fourth of May Cosplay Saber is always considered effective.
Update Vote Monster stats on fight start, not fight win.
Add some goals
Fix receiving a crimbo present in a fight
cyan seashell is multiusable
When reset modifiers after a TCRS run, reset all per-character item enchantments to correct per-character values.
Add the rest of my published script to the Script Manager repo
Fix short description. Why doesn't this show up in the ScriptManager?
Sigh. Fix JSON errors
Another fix to JSON. Also, vastly improve reading of JASON file into String.
Add Drag-n-Drop Inventories, Airport Colors, Dinsey Landfill, and Noobsorb to svn script repository
etched hourglass is reusable
Really make +effective work with Saber.
Pet Coral is 273
Remove extra tab for Like a Fish to Walter skill
Fix crimbo present logging
Zap wand to Scripts Menu
Add a bunch-o-scripts to the Script Manager
Variable consumables no longer have hard-coded size. Recalculate them when applying TCRS modifiers.
SVN Repository updates.
revert 19148 which did not do what it was supposed to do.
Try again on svnrepo
More repository tweaking. http replaced with https, couple more scripts, raw file sorted by category then name.
Arrrrboretum rewards are multi-usable.
Maximizer label for pullable/liable radio button now says (xxx pulls left)
f you are out of Ronin, pulls are (unlimited)
Add Ezandora's PirateRealm. Update metadata for missingManuel
Don't try and read JSON from a zero length file. Some lint. UNTESTED
Use etched hourglass during breakfast
Track Free Beach Walks used in _freeBeachWalksUsed and Beach Heads Used in _beachHeadsUsed
glowing New Age healing crystal is really glowing New Age crystal.
The Floor Is Yours choice adventure has a bunch of choices which require specific materials.
Some of them staty in the choice if you don't have the materials and some exit.
For those that stay in the choice, if you are automating, choose the option to exit the choice if you don't have the materials
Two properties for tracking beach Heads: beachHeadsUnlocked and _beachHeadsUsed
Add driftwood beach comb
Make a driftwood beach comb by using a piece of driftwood
USE -> SUSE
Clowniness and Surgeonisty have "Unique" sets of equipment - only the first of such items counts.
When maximizing for one of those modifiers, the maximizers will treat them as if they were single equip.
Clownosity has the identical unique item requirement as Clowniness
pile of sand and small pile of sand are multiusable.
Treat surgeonisty like any other -osity in the maximizer.
Fix parsing of "[bogus item number]" as an item name
If ASH script specifically does an "exit", do not let capturing a value override that.
Save beach head coords as well as minutes
You can create a bottle of sea wine by using a bunch of sea grapes.
Add some ASH functions to save/retrieve buffers of text to/from the data directory.
buffer file_to_buffer( string filepath )
boolean buffer_to_file( buffer data, string filepath )
When equipping an outfit which has multiple of the same weapon or accessory, and you are already
wearing some, but not all of the required item, do not unequip those that are already being worn
before issuing the change outfit request.
In The Floor Is Yours, if automating and do not have required ingredient, rather than
ignoring, go to manual control, since the user might want to use a different option
Add a few property checks we forgot for a couple of former swagger seasons
When tuning the moon with the hewn moon rune spoon, change your sign upon succes.
Set moonTuned property to true when the moon is tuned. Set it to false on ascension.
Add "beach" command. Add "_beachCombing" property which is true if we are actually looking at a beach.
Add "beach head" command as source for 11 status effects.
teach the Maximizer about the "beach head" command
Ensure that either a Beach Comb or a driftwood beach comb is available before attempting to comb the beach
Decorate raver dance moves even if they are copied, rather than Outside the Club
Pomp and Circumsands is actually Pomp & Circumsands. Use && rather than & in conditional.
All sources of bonus fullness are ignored in Dark Gyffte
Refactor code that fetches remote files to check "Not Modified" before deleting local copies.
The Hot-Headed effect has no spaces in the name. Don't confuse it with a "desc" when the "beach" command is
parsing the beach head subcommand
Give se wine base 4-5 adventures, per Jeparo
Fix errors revealed by checkitems and checkeffects
Bump version to 19.7