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.
Since we have a "potion" type, we know that getting mall prices for "potions" does not actually get
the prices for all non-food candies. Therefore, the Sweet SYnthesis panel can't rely on that when
Add "tcrs test" command to allow testing with a class/sign that is not the one you are currently in.
Attempt at updating the queued items in the creation queue when attributes (like expected adventure range) change
Fix "beach head" command to work before you have unlocked the shortcut
Track Electric Kool-Aid eaten in elecricKololAidEaten and Bloodweiser drunk in bloodweiserDrunk.
Use those properties to calculate modifiers for Electric, Kool and Blood Porter effects
When we reset conumables, must also reset concoctions to use new values
Update Bloodweiser and Electric Kool-Aid consumption count when viewing their effects
When wandering down the beach, it is "1 minute" not "1 minutes"
Call QuestManager.updateQuestFightStarted in the round 0 processing, rather than after we have set the round to 1,
since if the monster is killed by auto-attack, in the place it was called, it would never be round 0.
In potions panel, if you have a potion-granted effect active, display (XX active) between effect name and effect modifiers
Initial set of items and effects from the Getaway Campsite
Add Your Campfire as a coinmaster. Accept pulverized Standard gear as potential currency for The Armory and Leggery/
Some campfire effects
Use a Set, not a List, in StandardRequest for storing restricted objects.
Since the keys are looked up in lower case, Fifteen Minutes of Flame -> fifteen minutes of flame
The Maximizer now checks if a skill is restricted before recommending its use
bundle of firewood -> SUSE -> 10 sticks of firewood
When opening a Broser on OS X, use the "command array" method of invoking Runtime.exec to allow the
browser name to contain spaces. Like "Google Chrome".
Apparently, Cafe items can be consumed even if they are not in Standard
Smile of the Opossum
Add Effect data to notes for campfire foods so it shows up in the Food panel of the Item Manager
Some zap groups
As they are wont to do, KoL admins added new Stuff after the IOTM was released.a
To wit, Whittled Wearables.
Add "restUsingCampAwayTent" setting. This will use your CampAway tent in preference to your dwelling when resting.
If you alos have "restUsing"Chateau" at true *and have access to the Chateau), that takes precedence, since it
also gives you stats. Either option is superior to a standard dwelling.
Getaway Campsite gives you an additional free rest. Add some more big smiles.
When considering toys to use as part of breakfast, if you have already met their
daily maximum, don't try using them. This chack was previously done later, which
resulted in a message saying you'd already reached that limit (before issuing a request),
but if you had the item in your closet, it would pull it out before detecting that.
This commit means you lose the message (alas) but do not move items out of the closet (yay).
Accomodate malformed HTML in item description of the Kremlin's Greatest Briefcase
Enforce Standard restrictions, as required, for Sweet Synthesis
fire is creatable by MUSEing 2 stickis, not via CRIMBO07 recipe
Fix spelling for potion of temporary gRevision 8ness
Add _campAwaySmileBuffs and _campAwayCLoudBuffs properties. Add more Big Smiles
I really did want _campAway rather than _campaway
Add items and path-starting for Kingdom of Exploathing and effects from CampAway
Coinmaster for Cosmic Ray's Bazaar
Account for things that decrease NPC Meat costs when a Coinmaster trades an item for Meat.
Correctly recognize when we are in Kingdom of Exploathing.
In Kingdom of Exploathing a player does not need a rowboat or S.O.C.K. to access the Castle basement
Add a new overload to ASH faxbot() command to let the user specify which bot they would like to request
Moon sign zones are not available in KoE
Add a couple of adventure locations for Kingdom of Exploathing.
Mark a number of NPC stores and coinmasters unavailible inf Kingdom of Exploahting.
PIXEL concoctions cannot be made at the Hermitage.
The Maximizer will not consider the Spacegate if the Kingdom exploded.
Gnasir has a different link in the exploded desert beach.
List all currencies in title bar for Cosmic Ray's Bazaar in Coinmasters Frame
Render diacritical marks nicely in title of Coinmaster frame for Coinmasters that require it
Resting in campaway tent is more effective
Council is now in place.php?whichplace=exploathing&action=expl_counc il
(fix council request, command, and frame)
Visit manor floor 1 before auto-reading Lady Spookyraven's telegraph
Council is now a choiceadv with a "Leave" button which can be walked away from
Don't log the "locked" version of the Haunted Kitchen, like other locked rooms.
A fix for parsing KGB regen broke parsing KGB prismatic damage
Sewing kit is reusable, track its daily use
In Kingdom of Exploathing, when you find a white pixel, give a use link to Cosmic Ray's Bazaar, not the mystic
When you get forged id documents in Kingdom of Exploathing, give a link to the council, not the shore
Fix more use links, quest progression, etc. for Kingdom of Exploathing
Tower Door quest script will now buy keys from Cosmic Ray's Bazaar, if necessary
puff.gif is the icon for Kingdom of Exploathing on the ascension list.
Don't try to visit the Hermit during breakfast in Kingdom of Exploathing
Refactor Tower Door quest script to use real Java objects.
In Kingdom of Exploathing, if autoQuest, visit council before visiting Spookyraven first floor
before reading Lady Spookyraven's telegram
Consumption data for space wine and space chowder
Saklad5 wondered where they wandered and so updated the locations where they could. UNTESTED
Handle non-combat in the exploated battlefield. remove the item you tossed and increment
fratboysDefeated or hippiesDefeated appropriately.
There are no sidequests in the war in KingdomOfExploathing. Assume there are no war heroes, either.
When listing war progress in the Relay Browser, recognize that there are 333 per side, not 1000.
-kThis line, and those below, will be ignored--
Add questL12HippyFrat to track progress of Hippy/Frat conflict in Kingdom Of Exploathing.
Unfortunately, when you finish it, the quest log says you finished the regular war.
Therefore, having progressed the regular island war is no longer an indicator that the island is available.
Visit the council and whichplace=manoRevision 1 before calling user's PostAscension script
Remove MMG code since the MMG is no more.
Add potion to valid primary item types for DataFileTest.
Big Smile of the Marmot
If a "td" node contains text directly under it, as opposed to within a "p" node, say,
look for damage we dealt to a monster.
haunted paddle-ball and Jacob's rug help in the exploaded battlefield
ClanLoungeRequest cannot automatically follow redirestcs
roofie -> shingle. Refresh inventry after visiting manoRevision 1 after ascend into Kingdom of Exploathing.
Initial supposrt for Implode Univers: track skill level in skillLevel188, increment it (max 13)
when you read The Imploded World. No support yet for counting daily uses.
When you cquire an item in The Lost Room, you lose your lost key
Manually specify line.separator in JUnit tests.
This may resolve tests failing under Windows...
In Kingdom of Exploathing, Palindome is visible on main map, whether or not you have the Talisman equipped,
but you still need to equip it in order to visit it.
Cosmic Ray's Bazaar sells rare Meat isotopes for Meat. Make "acquire" work for such Coinmaster concoctions,
Add space shield to known equipment. Fix equipment power for Beach Comb and hewn moon rune spoon
Make deck of lewd cards discovery via Saklad5
average season, Law of Averages. For now, assume you can only buy one Law of Averages
per season, like every other reward except for the School of Hard Knocks diploma
driftwood equipment adjustments
Recognize message for reading 2nd and subsequent copies of The Imploded World
Correctly parse "You lose an effect" tables
When you receive an effect KoL will sometimes not entity encode the effect name. That doesn't compare
successfuly with the actual effect name which is entity encoded. Compensate for this.
Revert attempted fix for special clips doing multiple rounds of damage with weird HTML,
since it broke other important parsing, like runaways and banishes.
Add check for ammo.gif to fix just the special clip issue
Initial support for Pocket Professor
When parsing effect (and item) names from KoL responseText, trim the results; Affirmation effects
(at least) are sometimes presented with a leading space
When you change up the Goth Giant's music, you lose your dum 'n' bass 'n' drum 'n' bass record
Add Kingdom of Exploathing monsters
Disable allowSocketTimeout since it is harmful. The default for the option was false, but players who
were using KoLmafia before I changed the default from true to false had it at false.
I left in the code, for study, but the option to enable it is ignored and it is always disabled.
Add Spacegate Sounds to Script repository
Allow tavern automation below level 3 if in KoE. Untested.
Fix Kingdom of Exploathing check
Law of Averages is reusable. Add ability to specify extra fields when automating choices:
ash run_choice ( 1, "tossid=10320" );
plural for bunch of sea graps. _universeImploded tracks usage of Implode Universe
Hedge Maze script checks for enough turns available for chosen path. Having confirmed you
have enough, accept KoL's intro choice adventure warning you that you have fewer than
9 turns available and may wish to turn back.
Add some methods in ChoiceUtilities to parse and validate "select" inputs in choice adventures.
Calling these methods to validate use-supplied input (CLI or ASH) will come next.
Arena parameters for Pocket Professor.
Update "choice" command:
choice -> prints current choice options, including extra fields from "select" inputs
choice NUMBER [FIELD=VALUE]... [always] -> make the specified decision with specified extra fields.
will set the default decision and extra fields as desired. If the fields prove to be invalid while automating,
you are given the opportunity to continue in the CLI - or in the relay browser
Support for automating choice adventures that have required "text" inouts
Arena parameters for Party Mouse. Fixes from checkeffects and checkitems.
ASH functions for getting available choice inputs:
string[string][string] available_choice_select_inputs( int decision );
string[string] available_choice_text_inputs( int decision );
Make a new RelayAutoCOmbatThred for every RelayAgent.
synchronize, as appropriate, on FightRequest.INSTANCE.
Set/clear isAutomating fight in a try/finally block
Add method-chaining friendly versions of eat, eatsilent, drink, drinksilent, chew, use and create. For example, you can now do .eat() or .drink(3)
Restore overdrink to RuntimeLibrary
Get rid of RelayAutoCOmbatThread
Add method chaining variants for ASH functions: overdrink, retrieve_item, buy, buy_using_storage, adventure
Whenever we update the round data in a fight, save the decorated response as well as the raw response.
Aitomating fights with the "script" button will show you the last decorated response, which will include a
"Found in this fight" section if needed.
Since we are running fights in the Relay Agent thread, catch exceptions and print a stack trace
Simplify a lot of "getNextTrackedRound, since all it really needs to do is return the last decorated response
When you use the "auto" button on a choice adventure in the relay browser, display the decorated
response text, so that use links, etc, get shown.
Add missing choice decision for Duffel on the Double
Get rid of RelayAutoCombatThread
Retrieve cafe menus when you log in
Since we decorate fight and choice pages as we examine them, don't do it again when
formatting response for the relay browser.
Determine if you can walk away from a choice before decorating the response, since
Use Links need to know that.
Do not display use links in a multi-stage fight.
If you log in during a multifight, wait until all fights are finished before completing login.
Fix NPE if there is no decorated response for a fight or choice available in relay browser
Do not double decorate the response if taking a choice leads to another choice
If you redirect to a fight you are no longer in a choice
Familiar arena parameters for Sausage Golem
campfire smoke cannot have an inline use link
Log the flavor text from the KoL Con 13 Snowglobe, Mr. Screege's spectacles,
Mr. Cheeng's spectacles, and the lucky gold ring
Can't protect clovers if another fight or choice follows the fight where the clover appeared.
If you have rare meat isotopes at the gash, suggest spending them, since they are quest items
Add "spaceInvaderDefeated" property to track if the invader has been defeated in Kingdom of Exploathing
WHen generating use links, we include "speculation" mouseover text.
Must quote '$' characters in said text so that Matcher.appendReplacement
does not throw an exception.
Generate decorated response text after we have updated available combat skills,
since stationary buttons depend on that list being accurate
Update stationarybuttons CSS file to work around recently introduced bug in Chrome,
Thanks to xmccx. Tested on Safari, Firefox, and Chrome on my OSX system
Don't check item name from response text against item name derived from relstring.
When fighting zoneless monsters, setLastAdventure to "None" as well as setNextAdventure,
so CCS doesn't use last adventure zone's CCS, if there is one
You need to spend your rare Meat isotopes before you break the prism, not
before you jump the gap. Issue a warning if you are about to break the prism
in Kingdom of Exploathing with rare Meat isotopes in prism, just as we do for
clovers and many other things.
Update items from checkItems. No blank line when visit Horsery
Add gausie to authors.txt. Fix ordering in list of licenses. Update year in
displayed KoLmafia license.
New properties to track Pocket Professor skills: _thesisDelivered and _pocketProfessorLectures
Fix line breaks
Various tweaks to item description parsing to let checkitems produce fewer false positives.
Fix a few real errors in modifiers.txt
If you get Shen's half of the Talisman, create the Talisman in ChoiceManager
while handling the choice, rather than in ResultProcessor, while we are still
in the choice and creation cannot be done.
Since my bug report has been responded to, update a comment.
Add $familiar.experience proxy record field
WHen you deliver your thesis, subract 200 experience from your familiar
Fix KoL typo before KoL, maybe, eventurally fixes it. Bug reported.
Bump version to 19.9