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.

Revision: 16132
FIx typo preventing detection of volcano items

Revision: 16133
Support ML-based physical resistance in last_monster().
Some sections of were redundant, so that logic is now
isolated in a separate function. ML was also being counted both toward the
monster's attack as well as by itself for stat gains, which was incorrect.

Revision: 16134
Raul Stamley, not Raul Stemley. stats for mutant cookie-baking elf.

Revision: 16135
Fix double-counting of ML toward average experience in a zone.

Revision: 16136
map_to_file() will now save items and effects as id, not as name

Revision: 16137
Pull out code that does special item retrieval, etc., before submitting
particular URLs out of run() into prepareForURL().

Revision: 16138
Remove drunkenness check for the Deck of Every Card, since KoL no longer restricts it

Revision: 16139
When dumping an item or effect, include both id and name

Revision: 16140
Doing The Hustle. giant pair of tweezers.

Revision: 16141
Add more extinct monsters. Fix a typo in a monster name.

Revision: 16142
Add Hersey SMOOCH. add missing space to usage string for cheat command

Revision: 16143
Treat undefined scaling caps as unbounded, not 0.

Revision: 16144
Some monster data

Revision: 16145
Improve logging when manipulating Ed servants. Add a few monster IDs

Revision: 16146
Knob Goblin Elite Zombie

Revision: 16147
Certain WLF bounties require that you turn in multiple items

Revision: 16148
Don't hardcode count of WLF "proof" items you need to turn in.

Revision: 16149
Fix handling of synergies when one is a 1 handed weapon.

Revision: 16150
Sinister Dodecahedron monsters

Revision: 16151
Do not force monster weightings in locations to be single digit values

Revision: 16152
Update Burning Hands

Revision: 16153
Spit Fireballs

Revision: 16154
If you're already wearing Lord Spookyraven's spectacles when you get the mortar-dissolving recipe, then you had it equipped for the automatic use

Revision: 16155
Stats for the Swiss hen. Fix parsing item names in ASH to handle [NUM]NAME
syntax when NAME contains commas

Revision: 16156
If you try to use a second ice sculpure in one day, the second one is not used.
Remove CSA firestarting kit from inventory only when actually used

Revision: 16157
Add idiot brain. Disambiguate 4 years worth of Crimbo Town Toy Factory via
year, rather than just having one of them in combats.txt and the others be
present only as comments.

Revision: 16158
Some monsters and consumable spading.

Revision: 16159
Servant of Lord Flameface

Revision: 16160
Hi Mein changes

Revision: 16161
New level 11 saucey recipes

Revision: 16162

Revision: 16163
Add Rudolph the Red to Crimbo Town Toy Factory (2004)
Fix capitalization of Servant of Lord Flameface and Smooth Criminal
Add a whole mess of monsters with associated ID, disambiguated by name.
For all monsters where our name differs from Manuel's, add a new
attribute: Manuel: "MANUEL NAME"
Add .manuelName proxy field for ASH $monster data type
Add MonsterManuelRequest which can look up a specific page or a monster
Add MonsterManuelManager which saves the Manuel entries for any page
you visit, either via the new request or in the Relay Browser
Add "checkmanuel" command which will look up all of you
Add two ASH functions:
int monster_factoids_available( monster )
returns number of factoids currently retained in memory. Note that this
can be more than the currently logged in character knows, since we don't
flush the factoids from a previous login if you know all three factoids.
string monster_manuel_text( monster )
returns the full HTML of the monster manuel entry for the given
monster. As above, this could have been retained from the previous
character; otherwise, it will fetch and cache the text.

Revision: 16164
Add Deck of Every Card to Daily Deeds panel. Thanks to PeKaJe @

Revision: 16165
Some Food/Booze spading

Revision: 16166
Add ASH function:
boolean [monster] all_monsters_with_id()
returns a map of all monsters that have a non-zero monster ID. It builds this
afresh every time you call it, since new monsters can be (temporarily) added
if you look at a Manuel page with a monster KoLmafia didn't know about.
When you log out and log in, clear cache entries for You the Adventurer and
Your winged yeti, since those will be on different pages for different

Revision: 16167
Fix various monster images. Add alternate images to many monsters that can have
varying images. Monster Data for Mob Penguin goon.

Revision: 16168
Rename some monsters:
barrel mimics are now: mimic (bottom barrels), (middle barrels), (top barrels)
animated nightstands are now: (white combat), white (noncombat), (mahogany
combat) and (mahogany noncombat).
Fix some monster capitalizations. space beasts have multiple images.

Revision: 16169
Add recipe for the smooth velvet bra. Add monster Ids fo Rudolphus of Crimborg,
blazing bat, and snakefire in the grass. Add MonsterManuelManager.flushCache()
and expose it to ASH via flush_monster_manuel_cache() function.
Add a second parameter to MonsterManuelManager.getFactoidsAvailable: boolean
cachedOnly says "don't look on the page if the monster is not in the cache,
because we have already looked at the page and the monster wasn't there."
Expose this to ASH by changing monster_factoids_available to have two
parameters: monster, boolean

Revision: 16170
When registering a new monster ID, don't be fooled by an existing monster with
the same name but a different ID. Update id & stats for Gnollish Sorceress.

Revision: 16171
Add ASH function: boolean[monster] get_location_monsters(location)
This has the same info as get_monsters, but returns a (perhaps) more useful
aggregate value

Revision: 16172
When we detect a monster in Manuel with an unknown item ID, extract the attack,
defense, hp, phylum, element, and initiative and build an "attributes" string.
Log that, along with the monster name, id, and image, to make it easy to
update monsters.txt with the new information.

Revision: 16173
Generalize mining cave-in detection. Fix 8-year-old ASH bug.
Instead of matching on specific text, we can future-proof the code by
instead detecting loss of HP.
Apparently replace(buffer, int, int, string) has always returned a buffer
since its initial implementation in 2007 but has never been specified as
such, until now. Also, apparently nobody ever used this function or its
return value, or else this would have been painfully evident.

Revision: 16174
Add more monster IDs, attributes, and item drops of extinct monsters.
Fix capitalization of a few such. Fix detection of monster phylum from Manuel

Revision: 16175
More monster IDs

Revision: 16176
Mob Penguin goon (2008) and Mob Penguin Goon (2009). In RuntimeLibrary, in the
many places where we have a Monster Data, use makeMonsterValue with that object
rather than using parseMonsterValue with the name.

Revision: 16177
Put Mob Penguin goon (2008) and Mob Penguin Goon (2009) in the correct areas
in combats.txt. Since Floor: 10 and Cap: 10000 are KoL's defaults, make those
the defaults in MonsterData and do not specify them in monsters.txt if default

Revision: 16178
Item plurals, monster ids

Revision: 16179
More monster IDs from the WIki.

Revision: 16180
When parsing a $bounty object in ASH, make case insensitive.
String comparisons (== and as a key in a map) are now case sensitive.

Revision: 16181
You can walk away from Community Service

Revision: 16182
Initial Community Service support

Revision: 16183
Minor fullness/monster spading

Revision: 16184
The Cookie-baking Thing from Beyond Time is undead. Who knew?

Revision: 16185
fix monster id for golden ring

Revision: 16186
When Manuel reports that the Atk/Def/HP are "?", register that as Scale: ?
Cap: ? Floor: ?. Those will interpret as the default values of 0/10000/10, but
will be a signal to the spader that the actual values are not known yet.
Previous removal of default Cap and Floor values was incorrect for the three
Uncle Gator's scaling monsters. Fix.
For a variety of monsters where we listed a numeric Scale: and the default
value for Floor, assume that Cap: is unspaded and put in Cap: ?

Revision: 16187
Fix a couple of capitalization or spelling errors in monster names

Revision: 16188
As a tiebreaker in Maximizer, prefer items you have.

Revision: 16189
When we look at Manuel pages, check everything - monster name, image, atk, def,
hp, phylum, element, init - against KoLmafia's internal data and log errors.
Fix many errors in monster data revealed by this.

Revision: 16190
The Cookie-Baking Thing from Beyond Time is a Horror. Thank you, Hotstuff!

Revision: 16191
Monster stats for Rudolphus of Crimborg

Revision: 16192
Simplify wandering bee stats. B's don't affect their stats, but rather than reverse engineering this in a complex calculation, just don't calculate bee count for them!

Revision: 16193
Some monster stats

Revision: 16194
If you are about to eat and are at drunk limit, and have Mayodiol in your mouth, or Mayo Minder set to use Mayodiol, give warning. If you are about to put Mayodiol in your mouth and are at drink limit, give warning. If you have autoFillMayoMinder set to true, and have a Mayo Minder, Mafia will automatically buy the appropriate Mayo if necessary when queuing Food. It will not buy Mayostat before eating 1 fullness Food, nor Mayodiol if at drunk limit.

Revision: 16195
Sneezy, the Reindeer

Revision: 16196
Since the "default" gremlin is the non-tool gremlin, give such gremlins
considtional tool drops so that we highlight the tool appropriately in the
Relay Browser. Decorate any monster whose name "contains" the word gremlin,
not just ends with it, so if we positiviely ID the tool gremlin, it'll match

Revision: 16197
bow-making mummy

Revision: 16198
Add autoGarish, autoTuxedo and autoMayoMinder to Item Acquisitions Option panel. Set Warehouse quest complete when returning MacGuffin as Ed. Log when using autoused helpers with Food.

Revision: 16199
Add monster id for Arc-Welding Elfborg. Make assumptions about attributes of
un-registered Elfborgs and the critters in the Sinister Dodecahedron.

Revision: 16200
Mayominder CLi command. Sets (buying if needed) Mayo Minder to a particular Mayo. Can specify Mayo name or use a description (adv, stat, food, drunk or bmc).

Revision: 16201
Maximizer handles Hatrack and Scarecrow properly

Revision: 16202
Fullness spading

Revision: 16203
Account correctly for number of autoused Food helpers used. Probably wants a better solution that reads consumption line by line, and shows it in the right order, but I've not got time for that.

Revision: 16204
Familiar items don't seem to contribute to set bonuses (based on talking spade at least), so Maximizer shouldn't automatic flag them. Don't consider current caps when evaluating Hatrack/Scarecrow items, consider the current uncapped weight and the cap of the item being tested.

Revision: 16205
Some Fungal Nether's support.

Revision: 16206
DB Fungal Nethers drops

Revision: 16207
FIx more monsters, courtesy of Manuel and his clients

Revision: 16208
Happy, the Reindeer

Revision: 16209
More Mushroom items

Revision: 16210
Quest tracking for new Dank Cave. Note for script writers - this increments the old nemesis quest steps 10 and above by 7 places (so step 11 is now 18, etc).

Revision: 16211

Revision: 16212
Some monster stats

Revision: 16213
When looking at Manuel, don't check name of Your winged yeti and You the
Adventurer. Don't check image for You the adventurer or (shadow opponent).

Revision: 16214
More monster stats from Manuel

Revision: 16215
hangman's tree

Revision: 16216
Community Service Items

Revision: 16217
Some food spading

Revision: 16218
Add ASH function get_stash() to retrieve cached view of clan stash.

Revision: 16219
Zombie Goth Giant stats

Revision: 16220
Rare Caldera drops

Revision: 16221
Community Service item typos.

Revision: 16222
Turtle Tamer Fungal Nethers stuff.

Revision: 16223
As there are skills that specifically reference them, add maximizer keywords +club, +utensil, +knife, +accordion to force only those weapon types to be considered. +club also considers swords if Iron Palms is active.

Revision: 16224
Update modifiers for combat rate and MP cost of Mild Curse.
Mild Curse costs 1 MP outside of Ed, but 0 MP in Ed. Combat rate values for
the new Community Service items were determined via information booth.

Revision: 16225
Use Wiki stats for blazing bat. Unverified, since Manuel does not trigger on it,
even though it is copyable (bug reported), but they seem plausible

Revision: 16226
Some food spading.

Revision: 16227
deadwood tree & fur tree

Revision: 16228
Apply Hatrack/Scarecrow maximizer fixes when using switch to consider one, rather than only when equipped.

Revision: 16229
Update available menu items when you are in Gnome sign and you unlock the Beach. Untested. Also some monster updates.

Revision: 16230
If Maximizer thinks you should make something, actually make it!

Revision: 16231
After Ronin, explicitly pull if Maximizer wants to pull from storage.

Revision: 16232
Zombie eXtreme Snowboarding Orc

Revision: 16233
Account for the fact that you can no longer access The Florist Friar before unlocking the Distant Woods

Revision: 16234
Address disambiguation for effects with nonunique names.
This is exactly what it sounds like: several effects in KoL share names
with other effects. The unique identifier in those cases is the effect ID,
which we already use in some other places but not all.

Revision: 16235
Ribbon-Cutting Elfborg

Revision: 16236
Use makeEffectValue instead of parseEffectValue, per Veracity's suggestion.

Revision: 16237
Return numeric ID for effects from RuntimeLibrary.getModifierName.
This should address issues with *_modifier(effect, string) looking up
modifiers for the wrong effect.

Revision: 16238
When we decorate ascend.php in the Relay Browser, pass in the URL that was
submitted to get there so that we can distiguish a normal visit to the Astral
Gash from the Community Service body donation page

Revision: 16239
Use the correct ("new") choice numbers for controlling the Haunting Library
Bookshelf choices.

Revision: 16240
Add check to ValhallaDecorator.decorateGashJump() to prevent NPE.
While perhaps not the most elegant solution, it looks acceptable.

Revision: 16241
Calculate spleen limit in Ed via count, not max, of skills owned.
This is only relevant to players in an Ed ascension who have through URL
manipulation purchased more expensive spleen skills before the cheaper

Revision: 16242
Add effect desc_to_effect(string descid). Lightly tested.

Revision: 16243
There was a day when TPTB tightened up the adventure ranges on a large number of food items. There was a day when this was spaded for Lo Meins, and added to Mafia and the wiki. Those two days were some years apart.

Revision: 16244
Missing effect

Revision: 16245
pumpkin tree

Revision: 16246
Call kingLiberated when performing your final Community Service task.

Revision: 16247
Update mimic images

Revision: 16248
Choice spoiler for The Dark and Dank and Sinister Cave Entrance

Revision: 16249
Mushroom Melody

Revision: 16250
Plurals thanks to Cool12309. Tweaks to Lo Mein spading

Revision: 16251
fiendish zombie can of asparagus

Revision: 16252
Change label (and drop down size) for deck of Every Card Daily Deed.

Revision: 16253
Monster IDs for various invading skeletons. Save historical mall prices via
item number, not item name

Revision: 16254
Additional monster number

Revision: 16255
The One Mood Ring is power 150. Spechunky bars are multi-usable

Revision: 16256
The Emperor's New Cookie

Revision: 16257
I wanted the Deck and Hatter dropdowns to be the same size. Make it so.

Revision: 16258
Cannot use Mayo when you have no Mayo Clinic installed, also don't show mayo as queueable in Item Manager in that case, and don't try to autofill Mayo Minder as it won't work. Stats for The One Mood Ring.

Revision: 16259
Bashful, the Reindeer. Fix typo

Revision: 16260
Iocaine Buffbot removed at owner's request as now dead but people still sending meat.

Revision: 16261
Fixed an Oops. Also removed other Buffbots who haven't logged in for more than 12 months or are marked as currently inactive.

Revision: 16262
Rewrite links to //
Evidently newer builds of Firefox do not like these.

Revision: 16263
New Swagger Shop seasonal item

Revision: 16264
More numericSwagger stuff

Revision: 16265
Madness bakery now saner, and when entering it you now end up indoors.

Revision: 16266
When we don't have a spoiler for a choice option, log it as whatever KoL calls
the option, rather than "unknown"

Revision: 16267
Better logging when approaching blocked nemesis cave, inspecting the rubble,
and going in to confront your Nemesis in the cave.

Revision: 16268
Shrine of the Barrel god. Track when you unlock it in barrelShrineUnlocked.

Revision: 16269
When you "use" a kitchen appliance, make sure it appears in get_campground()

Revision: 16270
Add a few barrel items and effects

Revision: 16271
You can walk away from smashing barrels

Revision: 16272
Beer Barrel Polka

Revision: 16273
More barrel items

Revision: 16274
Turtle Tamer Barrel buff

Revision: 16275
"test visit-choice" now prints the various choice options available on the
loaded HTML text.
Refactor ChoiceCommand.parseChoices (and related methods) to handle a variety
of alternate choice forms that have been captured in the wild.

Revision: 16276
Roll out a couple of barrels

Revision: 16277
More barrelly bits

Revision: 16278
More barrel stuff

Revision: 16279
sticky lava globs are multiusable. familiar item for Lil' Barrel Mimic

Revision: 16280
When you "use" a barrel, log it as "smash BARREL". When you throw a smash
party, log as "Throw a barrel smashing party!". When you smash a barrel in
party, log it as "smash BARREL". When you visit the Shrine to the Barrel God,
log it as "Worshiping at the Shrine to the Barrel God"

Revision: 16281
more barrel items from mall

Revision: 16282
Some food/booze spading

Revision: 16283
I trusted the wiki. I haven't played Community Service, but the wiki makes it look like each consumable always gives 40 adventures, and spleen one gives 250-300 each stat. If wrong, please let us know!

Revision: 16284
Add an ASH operator to perform an "approximately equal" comparison.

Revision: 16285
Make that work even if operator not surrounded by spaces

Revision: 16286
Initiative for ten skeletons

Revision: 16287
Fix some String comparisons for pool skill warning

Revision: 16288
Data for emaciated Knott Yeti

Revision: 16289
Add a smash party link to dropped barrels

Revision: 16290
Change off-hand regex to handle more cases

Revision: 16291
Sauceror barrel buff

Revision: 16292

Revision: 16293
Some unsmashable Mr. Store stuff

Revision: 16294
More refactoring of choice option parsing to inlude links again

Revision: 16295
Create package ChoiceUtilities and move choice option extraction from
ChoiceCommand to ChoiceUtilities.
Better handling of extracting the choice text whether it is delimited by single
quotes, double quotes, or no delimiters (i.e., it ends at space or >)

Revision: 16296
Handle KoLmafia & ASH state (and user abort status) correctly when passing
through "finally" blocks in an ASH script.

Revision: 16297
Remove barrels from inventory when smashing them at a Barrel Smashing Party

Revision: 16298
Add a few plurals. When an ASH finally block aborts, do not restore previous

Revision: 16299
There are no longer 5 monsters named "mimic". Four of them have been renamed to
tiny barrel mimic, small barrel mimic, medium-sized barrel mimic, and huge
barrel mimic.

Revision: 16300
Handle +sea, and other familiar equipment requirements in Maximizer.

Revision: 16301
Handle eating Optimal Dog with Mayodiol

Revision: 16302
map to the Biggest Barrel

Revision: 16303
map to the Biggest Barrel leads to an adventure

Revision: 16304
Oh, and I think map needs to be marked reusable.

Revision: 16305
Handle shaker of dry rub. Untested

Revision: 16306
Don't load map to the Biggest Barrel inline

Revision: 16307
When UseSkillRequest detects an error which should stop automation, go in to
ERROR state, not ABORT state.

Revision: 16308
Barrel crafted items

Revision: 16309
Add "test manuel" command which will process a loaded HTML file as if it were
the response to a visit to Monster Manuel. Fix extraction of image from Manuel
entries to be able to handle monsters in otherimages. Add new monster:
The Barrelmech of Diogenes.

Revision: 16310
arena parameters for Lil' Barrel Mimic

Revision: 16311
Once you identified (some) slime vials, "vermilion slime" (for example) might
match both "vial of vermilion slime" and "vial of vermilion slime: mentalism"
which will fail. Change fuzzy matching to recognize that the canoncal item
name table contains aliases and allow matches where all the matches are the
same (aliased) item.

Revision: 16312
Recognise Rollover effects on items.

Revision: 16313
Consider percentage experience increasers in expected experience gain.

Revision: 16314
Barrel Chested. Cooper's Couture.

Revision: 16315
Prefer items with rollover effect in Maximizer over ones with none, all other things being equal. Prefer items you have in inventory over ones you get from elsewhere, all other things being equal.

Revision: 16316
Track Barrel Prayers and item summons. Know which prayer effects are available to which classes. Add barrelprayer command. Maximizer offers appropriate prayers.

Revision: 16317
You do lose the barrel map when you use it, but get it back if you lose.

Revision: 16318
If you specify both an outfit and a piece of equipment in maximizer, rather than trying to satisfy one, it will try to satisfy both. If you are wanting to adventure in pirate cove, use +pirate and it'll wear either swashbuckling outfit or pirate fledges depending which is considered best overall.

Revision: 16319
Untested. Add actual reality goggles to restricted items as KoL doesn't.

Revision: 16320
Fixed a goal typo

Revision: 16321
Joke Book of the Dead is an offhand item with bonus Weapon Damage. Need to take
that into account in the Spelunky damage calculator.

Revision: 16322
Spelunky ghost has 50% physical resistance. ML has no effect in Spelunky.

Revision: 16323
Multiusable item

Revision: 16324
Untested Zeppelin updates. Autostop for Not So Much With The Humanity. Relay warning adventuring without Zeppelin Ticket in Zeppelin if you haven't defeated Ron. Log getting rid of Protesters.

Revision: 16325

Revision: 16326
In SPelunky, when you throw an item and kill the monster and immediately find
and equip another (or the same) offhand item, inventory got confused. Fix.

Revision: 16327
Manuel says the blazing bat has Defense of 180

Revision: 16328
Some consumption spading

Revision: 16329
Spelunky boots always go in slot acc1

Revision: 16330
Lil' Barrel Mimic is a volleyball that gives 2 stats in Throne/Bjorn

Revision: 16331
Add mineLayout6 to defaults

Revision: 16332
You can Spelunk while overdrunk

Revision: 16333
Lots of items from the potted tea tree

Revision: 16334
cuppa Voraci tea increases fullness capacity

Revision: 16335
Recognize when you have a potted tea tree in your campground

Revision: 16336
Add heeheehee to authors.txt

Revision: 16337
More tea ?

Revision: 16338
cuppa Craft Tea crafting handling

Revision: 16339
Add outfit link in relay browsers for items you find in relay browser, rather than replacing all other links.

Revision: 16340
pickpocket protector is multiusable

Revision: 16341
Add _pottedTeaTreeUsed

Revision: 16342
When parsing the campground, recognize if the tea tree was already harvested even if done outside of KoLmafia

Revision: 16343
Add teatree command, mark teas multiusable

Revision: 16344
A tea that isn't actually multiusable

Revision: 16345
hustler shades is multiusable, consolation ribbon power

Revision: 16346
Add fish to Crown of Ed.
Very much untested.

Revision: 16347
Label the new Crown of Ed option

Revision: 16348
(Hopefully) fix Ghost Dog maximizer issue without introducing too many other bugs!

Revision: 16349
If filtering a list, filter it even if one item in the list!

Revision: 16350
Some haunted doghouse items, Royal scepter

Revision: 16351
If fuzzy matching matches an item, add that item to the list of items, not the fuzzy matcher. (Fixes bugs like "use louder than" not working) Infinitely reusable items not matching usable filter (Fixes bugs like "use The Legendary Beat" not working).

Revision: 16352
If filtering on usables, usable can be a secondary as well as a primary type (fixes "use bag o' tricks" type bugs).

Revision: 16353
Add Breakable keyword for items that can break in/after combat. Maximizer now prefers (all other things being equal) non breakable items.

Revision: 16354
Item Finder checks Mixing Method for creatables based on itemId rather than item name. Should fix ash create issue.

Revision: 16355
PeKaJe's Daily Deed for Barrel God Prayer patch.

Revision: 16356
Handle Speakeasy drinks with quotes in npc_price()

Revision: 16357
Allow the whole tea name (including "cuppa") for the teatree command

Revision: 16358
New stat recommendations

Revision: 16359
Don't try to decorate main.php when the main map isn't being shown

Revision: 16360
Missing doghouse items, and choice support for doghouse (Item tab on Choice Advs)

Revision: 16361
Spading for Doghouse Food/Booze

Revision: 16362
Fix typo

Revision: 16363
Can walk away from Barrel Full of Barrels

Revision: 16364
Multiuse and plurals

Revision: 16365
Doghouse defaults

Revision: 16366
Shut down the GUI after running logout script

Revision: 16367
Roll back 16366, since people who are not me are having problems with it that
I do not see.

Revision: 16368
New twitch monsters

Revision: 16369
Revert Revision 16348 changes, fixes missing durations on potions in Maximizer.

Revision: 16370
Twitch - Ye Newe Souvenir Shoppe and Othello skill support

Revision: 16371
Coinmaster does not belong in npcstores.txt

Revision: 16372
More twitch stuff

Revision: 16373
Add a few more Shakespeare items

Revision: 16374
flowers need a "trade in" link rather than a "use" link

Revision: 16375
First steps for Calculate the Universe

Revision: 16376
Add an avatar potion. Fix preference listener for Twitch coinmasters

Revision: 16377
Some avatar potions

Revision: 16378
Another Avatar potion

Revision: 16379
fix a couple of item drops

Revision: 16380
Untested, Grow is a type of use.

Revision: 16381
new avatar potions

Revision: 16382
Add avatar potion drops to monsters

Revision: 16383
Once identified, update aliases for base bang potions and slime potions so that you can return an item number for the base item, rather than the default -1 set up in ItemDatabase.

Revision: 16384
Tweak to Item Database

Revision: 16385
twitch plurals

Revision: 16386
ghost beer spading

Revision: 16387
Adventurer's Best Friendship

Revision: 16388
hamlet sandwich spading

Revision: 16389
KoL Con 12-gauge

Revision: 16390
EOF while reading serialized adventure queue indicates malformed file.

Revision: 16391
When an item description says that the item is only usable by a certain class,
set the "Class" modifier appropriately for that item.
When an item description says that the item grants a skill, set the "Skill"
modifier appropriately for that item.
For all items which grant skills but whose descriptions do not mention that,
give them the appropriate "Skill" modifier.
UseItemRequest now determines the Class and Granted skill for an item by looking
in the item's modifiers, rather than having a hardcoded list.
Add ASH skill_modifier(object, modifiername) (currently only useful for "Skill")
to interpret the specified modifier of an item as a skill object.

Revision: 16392
Summon Holiday Fun! is granted by Holiday Hal's Happy-Time Fun Book!

Revision: 16393
Update all of queued fullness, inebriety, and spleen hit when you queue an
item, since some items affect more than one of those.

Revision: 16394
When the campground or chateau is parsed, update timesRested if KoLmafia is wrong about whether you currently have any free rests remaining.
If you have multiple free rests remaining and KoLmafia thinks that you are out of free rests, it will only be able to reflect 1 remaining until your resting catches up.

Revision: 16395
When processing the description of an item that grants an effect, strip out and
ignore the span containing the enchantments that the effect provides.

Revision: 16396
Start of Numberology support:
numberology - lists all the currently possible seeds and what they give you
numberology? N - tells you what seed N currently gives you
numberology N - does nothing, but will eventually calculate the universe with N

Revision: 16397
The "numberology" command with no argument now filters out "Try Again" results.
If it finds only "Try Again" results (which may not be possible), say so.

Revision: 16398
More refinements to the numberology command: you give it the desired (numeric)
result you want, not the seed. If it is not currently available, it tells you
in how many turns it will be available.

Revision: 16399
More numberology:
numberology N - will now actually Calculate the Universe and submit a seed that
will give you result N. The number will be verified first: it must not be one of
the Try Again results and it must be currently available.
You can walk away from Doing the Maths
numberology? commands that give an error message do not go into ERROR state, but
numberology commands that result in an error will do so.

Revision: 16400
Do a better job of updating timesRested

Revision: 16401
Filter visible concoction that are purchased from Coinmasters based on whether
the user wants to autoSatisfyWithCoinmasters, just as NPC purchasable things
are filtered with the corresponding setting.
Fix a typo in a Numberology prize.

Revision: 16402
Update the side panel when available PvP Fights changes

Revision: 16403
The Terrified Eagle Inn has a couple of new items for sale.

Revision: 16404
Clancy Quest Tracking, untested

Revision: 16405
Some 70's Volcano choice spoilers, untested

Revision: 16406
Power Pill is multiusable

Revision: 16407
Zarqon monster tweaks

Revision: 16408
Smoothed Criminal back

Revision: 16409
Doing the Maths has a form which doesn't actually mention choice.php. Change
various parts of ChoiceManager that only assumes you are in a choice if the
text contains that string

Revision: 16410
Kludgy fix, but probably the best decision in most cases without adding a whole load of code to iterate through edPiece decorations. If +sea specified, only consider fish decoration on Crown of Ed, not the decoration best for the rest of the maximizer expression.

Revision: 16411
Absolute basic coldAirportAlways check

Revision: 16412
A tiny bit more support for detecting what Glaciest access you have.

Revision: 16413
The Ice Hole

Revision: 16414
The Ice Hotel

Revision: 16415

Revision: 16416
Wal-Mart, lightly tested

Revision: 16417
Some perfect cocktails

Revision: 16418
The wall of skin's HP is not affected by ML modifiers, but is boosted by BIG! path

Revision: 16419
Couple more items, can walk away from Walford Rusley, VYKEA instructions goes to a choice.

Revision: 16420
Some Glaciest item spading

Revision: 16421
Ice Hotel meat drops

Revision: 16422
VYKEA viking (female) drops VYKEA hex key. VYKEA Instructions lead to a choice
and therefore cannot have inline use links.

Revision: 16423
Handle shaking a carton of snake milk

Revision: 16424
Add Perfect Freeze to breakfast, track its usage in _perfectFreezeUsed

Revision: 16425
When we discover a new item with a Rollover Effect, if the effect is unknown,
register it as well. Add rare drops from the Ice Hole.

Revision: 16426
Spading for Perfect drinks stats and VYKEA meatballs. Perfect drinks are a new type of concoction that requires a cocktailcrafting kit but doesn't cost turns to make. Lightly tested.

Revision: 16427
Undo most of that stuff. Turns out that the issues I got on the first day I played about not being able to make them without a cocktailcrafting kit are no longer the case. (Not that I can test)

Revision: 16428

Revision: 16429
Go back to reporting 0 adventures for new consumables. Ode and Milk now check for Unspaded in the note in addition to checking for adventures from the item.

Revision: 16430
Some item spading, plurals from The Glaciest. Tonic djinn handling. Walford's Bucket quest tracking (untested).

Revision: 16431
Update existing Unspaded spleen items to 0 adventures

Revision: 16432
Beginning of VYKEA companion creation: pseudo items, concoctions, creation
subclass, and so on. Stops short of actually creating the companion.

Revision: 16433
Choice 922 default, untested.

Revision: 16434
Add _infernoDiscoVisited

Revision: 16435
Reset _infernoDiscoVisited if you lose to Travoltron

Revision: 16436
Track Popular Machine unlock. Hopefully stop infinite loop caused by trying to use Popular Machine without completing Armourer quest. Untested.

Revision: 16437
When affected by standard (type69) restrictions, allow filtering in item manager by whether items are in style. Defaults to only showing items that are in style. Untested.

Revision: 16438
Twelve Night Energy is one use per day.

Revision: 16439
Campground now recognises Doghouse installation. Doghouse Boarding up tracked in doghouseBoarded.

Revision: 16440
Avatar potions are now type avatar potion.

Revision: 16441
PeKaJe's Back Room SMOOCHing choice patch

Revision: 16442
parse VYKEA companion from charpane and save in settings. The VYKEA couch and
lamp affect Meat Drop and Item Drop, respectively.

Revision: 16443
Handle choice adventures when we construct a VYKEA Companion. Adjust inventory,
set preferences, remember companion.

Revision: 16444
Track 1/day options in VYKEA and Ice Hotel (_VYKEACafeteriaRaided, _VYKEALoungeRaided, _iceHotelRoomsRaided)

Revision: 16445
The VYKEA creation method requires at least 5 planks, rails, and brackets in
inventory - even though no recipe uses all of those.

Revision: 16446
Cute mushroom spading. Recognise Walford's bucket full combat message.

Revision: 16447
Update the bonus from experimental serum G-9 when looking at the item in addition to when looking at the effect

Revision: 16448
List ingredients for VYKEA companions in order they will be requested.
Disable creattion method for VYKEA companions if you already have one today.
Allow creation of VYKEA companions through item manager

Revision: 16449
Adjust VYKEA companion recipes so that they explicitly include the VKEA
instructions. Other prerequisites - hex key, and the mandatory 5 each of
planks, rails, and brackets - no longer make VYKEA creation method invalid if
they are not in inventory; they have to be "accessible". The VYKEA companion
creation request will now "retrieve" hex key, mandatory parts and all the
actually consumed ingredients before constructing the companion.

Revision: 16450
Ignore more prompts with eatsilent

Revision: 16451
Make choice adventure settings for That 70s Volcano show in the GUI

Revision: 16452
Remove setting for choiceAdventure922 when summoning a demon. Summoning a demon will currently abort, but it will at least work.

Revision: 16453
Another choice setting

Revision: 16454
When searching items for CREATE_MATCH (or UNTINKER_MATCH), use the version of
ConcoctionDatabase.getMixingMethod that takes an AdventureResult (with both an
itemId and a name) rather than just an item is. This fixes "create" for both
sushi and VYKEA companions

Revision: 16455
If someone is lucky enough to get a defective Game Grid token from checking Jackass Plumber, let them know

Revision: 16456

Revision: 16457

Revision: 16458
If Friars not complete when King Rescued, eg Community Service, Friar blessings aren't available.

Revision: 16459
Fix typo in choice spoiler. Simplify VYKEA Companion setting a tiny bit.

Revision: 16460
Walford quest tracking of additional bucket items. Can walk away from decorating Crimbo Shrub.

Revision: 16461
quantityPossible to create for a VYKEA comapnion is at most 1

Revision: 16462
Walford quest stuff - Now marked unstarted on completion to match quest log, bucket item type tracked, taking quest recorded as daily limited. Untested.

Revision: 16463
When we detect that a day has changed and reset daily things, reset your
VYKEA companion.

Revision: 16464
In ConcoctionPool, do not canonicalize names of nonitems, since they will be
looked up with the non-canonical item name

Revision: 16465
Do a bit more refactoring: include both canonical names (used for user input)
and data names (used in GUI) in the non-item name -> Concoction map.
Provide a method to lookup a Concoction by either itemId or name, whichever is
appropriate, and he equivalent to look up a mixing method. Use that method in
ItemFinder for CREATE matches, rather than making a temporary AdventureResult to
do the same thing.

Revision: 16466
Some consumption spading, thanks to scullyangel. Some values still uncertain, and commented as such.

Revision: 16467
Rather than putting both normal and canonical names in the non-item concoction
map, which results in the concoction being duplicated in the creatables list
if the name and canonical name differ, keep a canonical map and a non-canonical
map and lookup up the concoction name in both, as needed.

Revision: 16468
Adventuring underwater with the Squamous Gibberer gives double progress toward a bonus adventure

Revision: 16469
Stranglin' algae drops sea lace

Revision: 16470
Just as we do for Pasta Thralls, if logFamiliarActions is true, log VYKEA
Companion actions in combat

Revision: 16471
Fix verious item powers

Revision: 16472
Barrel outfit is a zap group

Revision: 16473
The place request to go to the Summoning Chamber needs to be set to follow the
initial redirect to choice.php, since otherwise KoLmafia will try to automate
the choice.

Revision: 16474
Add Disco Style and Rollover Effect Duration numeric modifiers. Add them to
appropriate items. Add a couple of effect pictures and fix a few spaces which
should be tabs, as reported by checkeffects and checkitems.

Revision: 16475
Allow more memorable parameters to be used for the edpiece command

Revision: 16476
water log spading, thanks to scullyangel

Revision: 16477
normalize a few modifiers. Allow fuzzy matching for bounty names - which also
has the effect of allowing recognition of the non-Euclidean hoof.

Revision: 16478
Spade shows Fortunate Resolve gives +10% Meat, Items and Init (guess that Spell Damage is the same)

Revision: 16479
Can only use Fudge Spork once per day (tracked in _fudgeSporkUsed)

Revision: 16480
Assume that an avatar potion is multiusable unless we explicitly flag is as not

Revision: 16481
Add $vykea type to ASH. It has the following proxy fields:
int id -> 1 through 6, based on KoL's apparent id
string name -> the companions name
string type -> lamp, couch, etc.
item rune -> which rune was installed
int level -> 1-5
string image -> the file name of the image
string modifiers -> Item Drop or Meat Drop, if appropriate
element attack_element -> the type of elemental damage it does in battle.

Revision: 16482
Address NPE in comparator for VYKEA ASH values. Lightly tested.

Revision: 16483
Minor internal tweaks to VYKEA companion object. Move the list of all VYKEA
companion names out of VYKEARequest into VYKEACompanionData.

Revision: 16484
Make instance variables for VYKEACompanionData final

Revision: 16485
Build the string form of a VYKEA companion once, the first time it is requested.
Use the cached string for subsequent calls.
In the table which determines if a modifer is Numeric, store the modifier "tag",
which may be different than the modifier name.
Add option ID parameter to "checkeffects" command to check a single effect.

Revision: 16486
Fix a few item powers

Revision: 16487
Add potted tea tree daily deed

Revision: 16488
SMOOCH coffee cup spading, thanks to Scullyangel.

Revision: 16489
Mountain Stream Soda now restores 30-40 MP

Revision: 16490
Minor fix to tea tree daily deed

Revision: 16491
Add _lastCombatStarted

Revision: 16492
Plural for Ghost Dog Chow. Log when successfully build VYKEA companion. If we
stop iterating through the Hedge Maze and it is not complete, log status.

Revision: 16493
Fix some errors found by checkeffects

Revision: 16494
Update mallprices.txt

Revision: 16495
Bump version to 17.2