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: 15396
Fix override image for the hellion to be 100x100, rather than 60x100. This will
make it display nicely in the Monster Manuel - although you probably have to
disable/reenable override images AND flush your browser's image cache to see it

Revision: 15397
Simplify code for overriding KoL images with built-in replacements, a la the
hellion. Add darkcodelagranger's goldmonkey to the overrides directory, although
we do not (automatically) use it yet.

Revision: 15398
Another try at lovebug evilometer progress

Revision: 15399
KoL has decided that bento boxes have "dipping sauce", not "dippin' sauce".
Enable darkcodelagsniper's animated golden monkey as the default override

Revision: 15400
Simplify some code to check if Mall, NPCStores, Coinmasters, Storage, Closet and Clan Stash are available. Changed most of the appropriate code I could find to point at that place. Some checks now check all these sources rather than just Mall and Inventory. All unavailable in Spelunky.

Revision: 15401
Add new Twitch items and store. Fix images and case in monsters.txt. Log shop details for new items found in shops to session log as well as CLi, and in format for coinmasters.txt or npcstores.txt.

Revision: 15402
Couple of Twitch related choice adventures, default to manual control.

Revision: 15403
Some missing skill images.

Revision: 15404
Add missing Ninja Store. Them sneaky hidden Ninjas.

Revision: 15405
Fix glass eye modifiers

Revision: 15406
T9000 Image

Revision: 15407
Disable Twitch coinmasters when you visit the town and the tower is absent

Revision: 15408
Tweaks to Sorceress Quest tracking. Two steps added to contest, making other steps later. Read contestants remaining from quest log. Read quest log if you visit it without specifying a page. It's The Tasmanian Dervish.

Revision: 15409
Remove wrong gold gain message in non-combats. Sticky Bombs unlocked when Spider Queen is killed, not Queen Bee.

Revision: 15410
Log finding bombs, ropes and more than one gold gain in Spelunky. Don't log unlearning skills.

Revision: 15411
Log Spelunky encounters with turns left {3} rather than showing actual adventure turns [684] for all Spelunky encounters.

Revision: 15412
Fix stats for Bananubis. Golden Monkey is 5th Spelunky buddy.

Revision: 15413
Can only adventure in Spelunky zones with Spelunky Limitmode, and can't adventure anywhere else with it.

Revision: 15414
Add concoction for scale-mail underwear

Revision: 15415
Ed the Undying is class 17, path 23, has a Staff, can't use HP restores or Campground, and has Desert unlocked.

Revision: 15416
Ed's Invocation skills

Revision: 15417
Using a talisman of Seshat also increments edPoints

Revision: 15418
Ed Evocations and Curses

Revision: 15419
Everything Under the World shop. Add new consumables with an adventure range of 1-1, so KoLmafia expects them to give turns but they are human-readable as unspaded items.

Revision: 15420
Underworld Body Shop (Note, name for last three Spleen skills still needed, and max Spleen does not account for them)

Revision: 15421
Add count of Ka coins to GUI Compact Side Pane.

Revision: 15422
Thanks to URL injection, the rest of the Ed skills, though the Gift skills need more spading. Also Tavern quest tracking.

Revision: 15423
You can walk away from some Ed choices

Revision: 15424
Disable auto-crafting the old Staff of Ed for now, since the new Staff of Ed interferes with it

Revision: 15425
Put Spelunky equipment alphabetically in-line with other equipment
All sorts of changes identified by "checkitems"
When you end a Splunky game, remove all spelunky quest items from inventory
When you find a spelunky "accessory" - boots - provide a single "use" link to
put it on to accessory slot 1

Revision: 15426
Ed can't use familiars. Provide appropriate links when Ed gains a level.

Revision: 15427
Don't warn about 100% familiar runs as Ed

Revision: 15428
Add EdShopPanel to CoinmastersFrame, not a second FishboneryPanel

Revision: 15429
In EdCore, you fix Bart's "lack-of-rat problem", not his "rat problem".

Revision: 15430
Summon Love Scarabs

Revision: 15431
Handle copy of a jerk adventurer's father's diary the same as the macguffin diary. Components for Ed's staff.

Revision: 15432
Fix crafting of the original Staff of Ed, and restore auto-crafting it

Revision: 15433
Ed is a class

Revision: 15434
Fix calculation of flyeredML to use monster's original ML, even if you have
Monster Manuel and have deleveled it this round.

Revision: 15435
Reduce cyrptTotalEvilness when lovebugs activate in the Cyrpt

Revision: 15436
If you are Ed, when you login, look at your servants, not your terrarium.
Put your current servant into the compact sidepane and provide a popup to
switch between servants.

Revision: 15437
Temporary Ed fix

Revision: 15438
Fix a typo

Revision: 15439
Pandamonium is an adventuring location after Ed does the Friars' ceremenoy
Recognize when a servant gains a experience (and a level)
It's Sneaky Pete's lock, not Sneaky Pete's's lock.

Revision: 15440
Add "servants" command to list Ed's servants, "servant" to list status of your
current servant, and "servant TYPE" to switch to the servant of the specified

Revision: 15441
Add the "servant" data type to ASH to represent one of Ed's servants.
It has the following proxy fields: id, name, level, experience, image,
level1_ability, level7_ability, level14_ability, and level21_ability
Add the following ASH runtime functions which deal with servants:
int to_servant( servant )
servant to_servant( int )
servant to_servant( string )
servant my_servant()
boolean have_servant( servant )
boolean use_servant( servant )
The "servant TYPE" CLI command now does fuzzy matching on TYPE and tells you
if TYPE is not a legal servant type as well as whether or not you employ one

Revision: 15442
More Legs gives you +50 Initiative. winged yeti fur is like Groar's fur

Revision: 15443
Temporary Staff of Ed maximizer fix. If not Ed, it won't be suggested by Maximizaer as it now requires class "Ed". Handle buying skill More Legs

Revision: 15444
Split data about "consumables" out of ItemDatabase into ConsumablesDatabase

Revision: 15445
Ed doesn't need no stinkin' wand.
Add final adventuring area and various Ed items.

Revision: 15446
Choice 1055 is where you cease being Ed and return to being a jerk adventurer

Revision: 15447
Handle Ed's limitmode

Revision: 15448
Experience for Ed Servants caps at 441

Revision: 15449
Don't automatically extend Shelter of Shed during mana burning

Revision: 15450
You can skip entering the Underworld when you lose as Ed now

Revision: 15451
Return null for limit_mode() instead of "0" when there is no limit mode active

Revision: 15452
Properly set limit_mode() for Ed

Revision: 15453
You lose Ed's staff when you get the components

Revision: 15454
Fix a typo

Revision: 15455
Do not force devster accounts to use the dev server

Revision: 15456
Modifiers for Ed servant skills

Revision: 15457

Revision: 15458
No "use" links in Ed's Underworld. The "servants" command now works even if you
are not currently Ed, to see the table of all Ed's servants. Include the image
in that table.
Do a little refactoring/code cleanup in preparation for future changes.

Revision: 15459
Move detection of leaving the Underworld

Revision: 15460
The plasma rifle has a weapon type

Revision: 15461
Refactor modifiers.txt to specify modifier type. Any ash modifier functions that use strings rather than items, effects or skill types will need to be changed to use type:name as the string. Quite a lot changed internally to use itemId rather than itemName, but I'm sure there will be edge cases. Everything else I've tested seems to work. You should be able to equip Staff of Fats / Staff of Ed when you have them and they are equipment. There are no longer duplicate entries for Industrial Strength Starch in Maximizer. Take into account Throne/Bjorn at Twin Peak (untested).

Revision: 15462
Show duration for hot dogs.

Revision: 15463
Don't NPE if you try to look up the itemId of a null item, return -1 instead.

Revision: 15464
Modtrace has Familiar as type for Familiars.

Revision: 15465
Fix "use" command to require that spleen items be consumed using "chew". When
that is done, do it via inv_spleen.php, not inv_use.php

Revision: 15466
Add chew(INT,ITEM) to ASH for cnsuming spleen toxins

Revision: 15467
Fix speculation issues and name extraction for some ash modifier commands.

Revision: 15468
Don't account for Florist in Twin Peak Non-combat check. Untested.

Revision: 15469
Some Ed plurals, thanks to Magus_Prime

Revision: 15470
For now, revert 15352 and process item acquistions with rel-strings before other
result processing, rather than in-sequence.

Revision: 15471
When generating statuseffects.txt line for a new effect granted by an item, if
it the item s a spleen toxin, the action is "chew", not "use".

Revision: 15472
When the browser passes up cookies in a RelayRequest, relay them to KoL.
When KoL passes down a Set-Cookie header, relay it to the browser

Revision: 15473
Go back to allowing spleen items to be used via "use" rather than only "chew".

Revision: 15474
Send response headers down to the browser in a way which does not break
Safari. Suppress certain KoL-supplied headers that we do not emulate.

Revision: 15475
Add prefref as a built-in gCLI command, thanks to PeKaJe

Revision: 15476
Change Relay Browser link from "Talk to Lady Spookyraven on the Third Floor" to
simply "Go to the Third Floor".

Revision: 15477
Support still-beating spleen

Revision: 15478
Most of The Skeleton Store

Revision: 15479
Handle hardcoded variables again.

Revision: 15480
Add missing else spotted by psly4mne

Revision: 15481
Add missing .gifs, spotted by ckb

Revision: 15482
Strip out appserver cookies from Relay Browser, since they can be stale

Revision: 15483
bone with a price tag on it

Revision: 15484
Don't add to turns_spent when chaining fights or going through Underworld choices as Ed

Revision: 15485
Don't add to noncombat_queue or check for semi-rares when chaining fights or going through Underworld choices as Ed

Revision: 15486
Monsters from Ed Challenge path. Fix capitalization of a few monsters identified
by theier image. Add a Spelunky monster.

Revision: 15487
Only include the "iventory" cookie when we go to the inventory.
Suppress CONTENT-LENGTH headers from KoL, in addition to Content-Length
headers. Actually, do case-insensitive checks on all headers we suppress...

Revision: 15488
Don't provide a use link for the DNA extraction syringe

Revision: 15489
Better handling in Maximizer when one or two accessories are specified with +equip.

Revision: 15490
Recognise Storm of the Scarab damage pattern. Untested.

Revision: 15491
Ed MP restoration buffs, and some restoration item restore effects.

Revision: 15492
Don't add a link to talk to Lady Spookraven on the third floor after you
dance with her in the ballroom. In fact, don't even give a link to go to the
third floor, since KoL will reject that until it shows you the second floor

Revision: 15493
Set _holoWristProgress to 0 when you get a drop

Revision: 15494
Recognize when you only open a single drawer in The Haunted Kitchen

Revision: 15495
Really prevent turns_spent from advancing when Ed returns to a fight

Revision: 15496
Add The Secret Council Warehouse to combats.txt.

Revision: 15497
Beginning of an experimental feature: internally, a MonsterData has an id and
also an array of images, if KoL will pick from multiple images for it.
Add "id" and "images" proxy fields to the $monster data type in ASH.
As proof of concept, add the id and list of three images for all Dreadsylvanian
non-boss monsters.

Revision: 15498
Remove both the warehouse map and inventory page when you use either

Revision: 15499
Using a disposable instant camera doesn't count for upgrading the Yearbook Club Camera

Revision: 15500
Increment guyMadeOfBeesCount even when you fight the Guy Made Of Bees

Revision: 15501
Now KoL exposes it, parse restores data from new items and enter into CLi/Session log in restores.txt format.

Revision: 15502
Quest tracking for Meatsmith, choice adventure spoilers and skeleton key removal for Skeleton Store, add skill when equipping skeleton ring, monster drops for Skeleton Store, link back to meatsmith when check drops (untested), multiple images for factory-irregular skeleton.

Revision: 15503
Ed spleen item gains

Revision: 15504
Since there are itemswith identical names now, do not print a warning when values are specified in scripts by id instead of name

Revision: 15505
Fix typos

Revision: 15506
Set the default for turning on the rat faucet

Revision: 15507
Turning on the rat faucet is a different choice adventure than turning it off.
Add a few defaults for choices with only one option.

Revision: 15508
First baby steps towards handing effects as Ids rather than Names internally. Can now define AdventureResults by ID for Effects, and all lookups in EffectDatabase can work by Id.

Revision: 15509
Fix typo

Revision: 15510
Fix Modifiers based on turns of effects. Pension off EffectPool.Effect, make it work like ItemPool.

Revision: 15511
Sanity check on AdventureResult.getName() to only change item names.

Revision: 15512
Compute boost in Basement after setting item.

Revision: 15513
Basement boosters are always effects.

Revision: 15514
Added a listener to AdventureFrame so it can be updated by KoLAdventure. Also moved CouncilRequest COUNCIL_VISIT from CouncilFrame to CouncilCommand. (as per ajoshi)

Revision: 15515
Map to Kokomo

Revision: 15516
Add button to the Coinmasters Frame to pull an Uncle Buck from storage

Revision: 15517
Initialize all AdventureResult objects with an id of -1 - which is overridden
for items, effects (and monsters). This simplifies a lot of comparison code,
since you don't need to check the id only if the AdventureResult is of
certain types.

Revision: 15518
Simplify comparison of status effects so that they sort first by remaining
duration and then by name.

Revision: 15519
Fix NPE fetching modifiers in the Gear Change Frame

Revision: 15520
The Maximizer need not try to "acquire" EquipmentRequest.UNEQUIP

Revision: 15521
Handle null location in Response Text Parser.

Revision: 15522
KoL has added an extra space to the HTML defining choice option buttons. Cope.

Revision: 15523
Check for a broken hippy stone when logging in as Ed

Revision: 15524
Add exhibit crate and 'Edpiece. When wearing the latter, servants gain extra XP

Revision: 15525
To create AdventureResults, use ItemPool.get( itemId, count ) or EffectPool.get( effectId, count ) where possible for Items and Effects.

Revision: 15526
Only use EffectPool.get( effectId, count ) to create Effects, don't use effectName.

Revision: 15527
Provide spoilers for Adjust Your 'Edpiece. You can walk away from that choice

Revision: 15528
Increment servant level if experience >= the new level threshhold, not ==

Revision: 15529
AdventureResult.parseItem handles [XXXX]Name format, so use that in concoctions for clarity and remove separate parsing in ConcoctionDatabase.

Revision: 15530
Coinmaster Database now indexes on itemId rather than itemName.

Revision: 15531
Theraze's Wiki Lookup Command enhancements. Can choose type of item (effect, familiar, item, skill, outfit, monster, location) to look it up with "lookup type target" in CLI.

Revision: 15532
Recognise hippy stone broken when you shatter the Antishrine of Horus. Untested.

Revision: 15533
Handle "you gain no" as "you gain 0". Untested.

Revision: 15534
Use effectId's rather than effectNames to look things up in EffectDatabase.

Revision: 15535
Allow use of integers to specify Effects using ash $effect[xxxx] notation. Useful when there are effects with duplicate names.

Revision: 15536
Fix Basement Spoilers. Specify getItemModifiers when sending through an integer rather than getModifiers, so as to avoid mistakes like the one that broke them! Equipment Database now uses itemId rather than itemName where possible.

Revision: 15537
Regularize comments in coinmasters.txt. Boss Bat? is undead, not beast

Revision: 15538
Enforce some ItemDatabase stuff looking up on itemId rather than itemName. Fix wiki lookup command if no type is specified and lookup has more than one word.

Revision: 15539
Fix ClassCastException

Revision: 15540
Capitalization of monsters in consequences.txt must agree with monsters.txt.
It was wrong for guard turtle/french guard turtle. Fix it.

Revision: 15541
Update goals for some locations

Revision: 15542
Rejigger ConcoctionPool to have a lot less dependence of "name"; for
Concoctions which are actually items, use the itemId exclusively.
More needs to be done here...

Revision: 15543
NPCPurchaseRequest uses itemIds in preference to itemNames.

Revision: 15544
digital lock is ns_lock5 and skeleton lock is ns_lock6, rather than vice versa

Revision: 15545
As information about hp and mp restorers is in Restores Database, we don't need the types in Items Database or items.txt. Simplifies a lot of code, and means chewing restorers that use spleen now works.

Revision: 15546
Don't throw an NPE looking for "Adventure Again" location if there is none
and you have not yet fought a monster this session.
Do not include password hash in getURLString() calls for GET requests, just as
it is not included for POST requests.

Revision: 15547
Add pre- and post-quest rat faucet detection for Ed runs.

Revision: 15548
Show the number of drawers opened after a fight in The Haunted Kitchen

Revision: 15549
Track wins against Bob Racecar, Racecar Bob, and Drab Bard in palindome

Revision: 15550
Fix tavern quest tracking. Attempting to adventure in the lab without the PVU is
not an encounter. Fix typo in comment.

Revision: 15551
Better logging for visiting Sign Gyms via adventuring from Cli or Adventure Panel, when redirected from Pump Up Muscle/Mysticality/Moxie.

Revision: 15552
InventoryManager.getAccessibleCount will now return 0 for pseudoitems

Revision: 15553
Track item steals with Lash of the Cobra in _edLashCount

Revision: 15554
Recognise effects from descId rather than name when gaining/losing them. Effect modifiers looked up by effectId rather than effectName. Remove special code for A Little Bit Evil. Restore using Hair Oil for Slicked-Back-Do as we can now tell the two Slicked-Back-Do effects apart.

Revision: 15555
Adjust a few Spelunky choice spoilers

Revision: 15556
Remove erroneous goal item

Revision: 15557
Adjust a few more Spelunky spoilers

Revision: 15558
Adjust kitchen drawer spoiler text

Revision: 15559
Include Ed's servants in modifiers

Revision: 15560
Some Ed Quest tracking for earlier quests. Untested. Yes, I finally ascended Ed!

Revision: 15561
Crown of Ed the Undying support. Currently equipped animal adornment stored in preference edPiece. It is set when the adjustment choice adventure is visited. Command edpiece <animal> added, which equips Crown and sets adornment. Maximizer considers Crown of Ed animal adornments.

Revision: 15562
Only Ed's special restore items can heal his health. Detect failure to use an item due to limitmode (eg in Underworld). If you try to use a spleen item, you are told to chew it instead.

Revision: 15563
Some more quest tracking. Correct some status effect entries that weren't configured to use chew for spleen items.

Revision: 15564
Ed stops gaining skills/servants at level 15

Revision: 15565
Stop NPE crafting with thin air, it takes no adventures to create! Add the best effect ever! Track Ed level 11 quest start.

Revision: 15566
When we visit choice 1000 (Everything in Moderation), call
TavernRequest.postTavernVisit to register the square, just as we do for all the
other Tavern Cellar squares that are choice adventures.

Revision: 15567
Ditto for choice 1001 - Hot and Cold Dripping Rats

Revision: 15568
Reset edPiece at ascension.

Revision: 15569
Add Ed's Ziggurat adventure to list of autostops

Revision: 15570
Some more Ed quest tracking. Untested.

Revision: 15571
If we don't have a lastMonster, the current CCS encounterKey is "default".

Revision: 15572
Autocrafting will now only attempt to make 1 of an item, even if you have the
ingredients to make more than one. Don't attempt to make a Talisman o'Nam is
you already have one equipped, rather than simply in inventory

Revision: 15573
Hopefully stop NPE

Revision: 15574
Match monster capitalization with KoL

Revision: 15575
Add some monster ids

Revision: 15576
More monster ids

Revision: 15577
When preprocessing effects, just as for items, remove the whole HTML table
containing the effect.

Revision: 15578
Some more Ed tracking. Track warehouse progress in warehouseProgress. Track (badly) questL13Warehouse (have submitted bugs for missing quest log data). Check kitchen after completing Avatar path. Base access to Summoning on completion of Spookyraven quest, not presence of old Staff of Ed or pieces of it.

Revision: 15579
Ed Quest Tracking change

Revision: 15580
More monster ids

Revision: 15581
Default edPiece decoration to current one.

Revision: 15582
Track Ed defeats in _edDefeats, resets to 0 when fight is won or aborted. Add preference edDefeatAbort, defaulting to 2. When _edDefeats >= edDefeatAbort, abort at Like a Bat Into Hell for manual continuation. Remove Ka Coins if there is a cost to return to the fight.

Revision: 15583
Log cartouches

Revision: 15584
For Ed's Crown (and Snowsuit) include current decorations when showing bonuses the item gives in Gear Changer.

Revision: 15585
Fix Revision 15584 bug. Don't keep adding to the modifier when displaying in Gear Changer.

Revision: 15586
Lets try a better fix for maximizer handling duplicate items being equipped. Well, lets hope it's a better fix! Also finesse the edPiece handling slightly so when you select a non edPiece boost it doesn't include the edPiece decoration boost in it's prediction.

Revision: 15587
Fix selling to coinmaster (untested).

Revision: 15588
More monster ids

Revision: 15589
Rewrite Snowsuit handling to match EdPiece handling. Snowsuit now works with Maximizer.

Revision: 15590
Fix buying from coinmasters. Add run_combat( string filter ).

Revision: 15591
Add vestigial SnowsuitCommand to fix the build for now

Revision: 15592

Revision: 15593
Ancient Annoying Serpent Poison is a bit less annoying

Revision: 15594
Once you have all of Ed's skills, when you level up link to The Servants' Quarters to give a servant xp instead of The Book of the Undying

Revision: 15595
Reset _edDefeats when Curse of Vacation is used

Revision: 15596
Revert the last update. Instead, update _edDefeats based on whether there is a link to the Underworld

Revision: 15597
Maximizer can now consider foldables. Added preference maximizerFoldables, defaulting to true, and selectable in graphical Maximizer, as it didn't seem right to consider it at the same cost as creating items, which often has an adventure cost. Pulling and folding is currently untested. There is a small slowdown in processing for considering foldables, but it won't add combinations unless there are more of a fold group useful for a particular maximization than you have. There will be some edge cases involving having multiple of a fold group, in different forms, when multiple are wanted for a particular maximization, which it won't handle correctly.

Revision: 15598
Maximizer no longer suggests removing foldables before folding them.

Revision: 15599

Revision: 15600
Halt maximizer evaluation (including mall searching) after aborting

Revision: 15601
Fix ClassCastException

Revision: 15602
The "compile" target depends on the "version" target

Revision: 15603
When we find "Unknown Adventure #xxx", log the url to the gCLI and session log

Revision: 15604
When logging creations that will take turns, use current adventure count, not
that value + 1, as the turn number.

Revision: 15605
Fix modifies command.

Revision: 15606
Thwaitgold scarab beetle statuette is capitalized.
Add "test encounter URL" command.

Revision: 15607
Don't check if the guild store is open if you are in an Avatar run

Revision: 15608
Only the six original character classes can join a guild

Revision: 15609
Only pass synergistic items to Evaluator if they are better than individual items in the same slot. Improve comparisons for checking if Outfits are better than individual items in the same slot. A bit kludgy for handing three Secrets from the Future. Adds a lot of code to Evaluator, but you should notice an improvement in maximization time overall, especially when you have a lot of synergistic items available.

Revision: 15610
Add checks for response text for Curse of Fortune and Curse of Vacation. Add Curse of Stench support. Move skill result checking in FightRequest into payActionCost with the rest of them. All untested.

Revision: 15611
Ancient Cure-all support

Revision: 15612
Attempted NPE fix

Revision: 15613
Recognise "You the Adventurer" and "Your winged yeti".

Revision: 15614
Helloween candies (caps on Red in Tooth and Roly Poly are guesses, as these are yet to be spaded - and I have none of either).

Revision: 15615
Suggest Staff of Ed (if Ed), Staff of Fats (either one) in favour of Pool Cue in Billiards Room if you have them.

Revision: 15616
Expose StorageRequest's "bulk transfer" facility to API. Use for "equip all
familiars" feature.

Revision: 15617
Make Cuse of Vacation's success check function regardless of the pronoun used

Revision: 15618
When we are done logging the encounter from an item redirection, clear the
saved monster name so we don't suppress logging the next non-combat

Revision: 15619
Correct logging when you lose an effect in a fight.

Revision: 15620
Hopefully fix recognising image for You the Adventurer.

Revision: 15621
Recognise Mini-Crimbot settings when visiting configuration page.

Revision: 15622
Only try to use Ancient Cure-all to remove effects when you have one or more in inventory.

Revision: 15623
Open the session log before we refresh the session at login, so that new items
get logged there as well as in the gCLI.
plural for Shrubble Bubble

Revision: 15624
More monster ids

Revision: 15625
Ed's Servant doesn't count for Lost in the Overlook Lodge. Untested

Revision: 15626
When you are Ed, list the current fight number along with the round number in the relay browser

Revision: 15627
The rest of the monster ids

Revision: 15628
spleen items must use a SpleenItemRequest, even if they're secondary usage is
"usable", which indicated they are single-use items.

Revision: 15629
mummified bread and beef are multiusable

Revision: 15630
When processing items and effects, do not log them before processing other
results. Instead, queue them up and log them inline with other results at the
sequential place where the item or effect was gained or lost.

Revision: 15631
You can't call getFirst() on an empty list

Revision: 15632
In Maximizer, if new preference maximizerCurrentMallPrices is not set to true (default is false) then historical mall price from mall price database is used, rather than looking up current mall price (unless historical price is more than 7 days old. This will be slightly less accurate, especially for volatile commodities, but will be much faster. Updated help text to reflect this. Also foldables checkbox moved up onto Equipment line.

Revision: 15633
Adventuring on the battlefield when there are no hippy soldiers left is not an
Add ASH function: monster to_monster( int)

Revision: 15634
When generating "use" links in the Relay Browser, get items via "rel" string,
if possible, and effects via descid, rather than using item or effect names

Revision: 15635
Teach AutoFilterTextField about StoreLogEntry objects.
The Store Log Viewer does not need all the baggage of an ItemManagePanel, since
it contains StoreLog Entry objects, not "items".

Revision: 15636
Skills acquired during a fight now come in with an image, wrapped in a table.
Get the skill name appropriatly.
When logging fight html tree, do not skip "a" tags.

Revision: 15637
Monsters in the Haiku Dungeon have their names in a different format - including
some pretty darn bogus HTML, on occasion. Handle it.

Revision: 15638
Correct cap for Roly Poly and Red in Tooth

Revision: 15639
Mild Curse can be permed

Revision: 15640
Possible fix for fights which lead to choices. Fingers crossed.

Revision: 15641
Only reset monster stats in Ed when we win or abandon the fight. Untested.

Revision: 15642
Don't set a next monster name, which resets stats, in Ed after you have been defeated.

Revision: 15643
Test for Palindome availability should be quest started, not quest later than started.

Revision: 15644
Hopefully resolve some NPE's

Revision: 15645
Hopefully this logic is exactly right rather than exactly wrong!

Revision: 15646
Fix haiku monster names in a way which doesn't break other monsters

Revision: 15647
That previous commit obviates anther kludge

Revision: 15648
Convert monster name to encounter key in CustomCombatLookup.getBestEncounterKey().

Revision: 15649
Work around KoL bug: on standard.php, most Bookshelf books are listed under
both Bookshelf Books and Items, but 2 are listed only under Bookshelf Books and
1 is listed only under Items. Therefore, when checking is a skill is restricted,
need to potentially check both lists

Revision: 15650
Fix getting monsterName

Revision: 15651
Recognize adventure failures for ground and top floors of the castle

Revision: 15652
Some zone stat updates, thanks to Zen00, and some adventure goal updates. Minor encounter key update for consistency.

Revision: 15653
Display progress of finding landmarks in Black Forest. Untested.

Revision: 15654
Fix formatting of modifies and modtrace commands.

Revision: 15655
Link to Amun rather than Council in Ed (after the first visit), and link to Amun when getting Holy MacGuffin. Untested.

Revision: 15656
Only use Lash once per Ed fight, grey out button once used. Untested.

Revision: 15657
Thanks to five35, add mall/wiki search links to right-click menus (if enabled in KoL).

Revision: 15658
Add links to equip PVU in Government Lab. Fix last commit.

Revision: 15659
Use a preference for detecting Ed Lash usage, edLashUsed. Black Crayon monsters are Free.

Revision: 15660
Don't add bridge parts to inventory when we recognize that the bridge isn't actually completed

Revision: 15661
Set Orc Chasm Bridge progress to 0 when hulking bridge troll is defeated.

Revision: 15662
At Twin Peak, check Florist Flowers if you do have Florist, not if you don't.

Revision: 15663
Fix build

Revision: 15664
Preparing to fight a Chateau monster triggers a counter warning

Revision: 15665
Since my fight in The Sorceress' Chamber dropped a piece of Xiblaxian polymer,
apparently I was outdoors...

Revision: 15666
Apparently, that is the default drop (see Tavern Cellar, for example), so, no

Revision: 15667
Recognise Ed Servant from charpane.

Revision: 15668
Fix setting servant level from Character pane

Revision: 15669
Add Mer-kin lockkey to goals in The Mer-Kin Outpost

Revision: 15670
Add Amun rather than council links to certain items that drop.

Revision: 15671
If a Gremlin doesn't have a tool before undying, he doesn't have it afterwards either!

Revision: 15672
Stench charter

Revision: 15673
stenchAirportAlways defaults to false

Revision: 15674
Add various filthy items and effects

Revision: 15675
Work around KoL bug with Bookshelf skills & standard.php in another place;
Summon Rad Libs no longer will appear in dropdown on Use Skills frame

Revision: 15676
Make built-in Sorceress Tower scripts available to scripts.
maze [arg]
hedge_maze( string )
The string argument for the maze can be one of:
traps - 4 turns, all traps
gopher or duck - 7 turns gopher and duck
chihuahua or kiwi - 7 turns chihuahua and kiwi
nugglets - 10 turns, all nugglets

Revision: 15677
Some Disneylandfill items.

Revision: 15678
Add Disneylandfill locations.

Revision: 15679
Correct Dinseylandfill spelling

Revision: 15680
Dinseylandfill monsters

Revision: 15681
Add Toxic Chemistry coinmaster

Revision: 15682
Add _stenchAirportToday

Revision: 15683
Add missing tab to FunFunds&trade; in items.txt.
Add The Dinsey Company Store coinmaster

Revision: 15684
Fix comment for unknown modifiers when registering new objects

Revision: 15685
Scaling monsters in Dinseylandfill, fix for ML Multiplier on scaling monster defense, recognise Cbzzter the Grisly Bear, remove duplicate pirate. Encounter rates in Hidden City now reflect Janitor and Lawyer banishes.

Revision: 15686
Track Dinseylandfill maintenance options (dinseyRollercoasterStats, dinseyGatorStenchDamage, dinseyGarbagePirate, dinseyToxicMultiplier). Set appearance rate of flashy pirate accordingly.

Revision: 15687
Talisman o' Namsilat

Revision: 15688
Trash net and swamp skunk drops pogo stick

Revision: 15689
novelty tropical skeleton can drop lemons

Revision: 15690
Fix Talisman of Namsilat concoctions. Handle +Meat from Tourists and Stinky Fannypack.

Revision: 15691
Fix a couple of typos

Revision: 15692
Quest tracking for four quests, Teach A Man to Fish Trash, Social Justice Adventurer I, Social Justice Adventurer II and Whistling Zippity-Doo-Dah. Includes progress tracking for each (assuming each take 15 turns) but does not parse current progress from quest log.

Revision: 15693
Fake Washboard

Revision: 15694
Quest tracking for Super Luber

Revision: 15695
Track garbage disposal (_dinseyGarbageDisposed) and remove garbage bag. Untested.

Revision: 15696
Include TM symbol in title bar of Dinsey Company Store coinmaster.
Use queued items, as appropriate, when we parse an old-style result that has
the item's plural in it.

Revision: 15697
If Maximizer thinks we should uncloset or unstash an item to equip, do so explicitly so it doesn't remove instead. Always prefer to steal equipment from another familiar than remove it from current equipment.

Revision: 15698
Modifiers typo

Revision: 15699
Quantum Taco is Food, Schrodinger's Thermos is Booze. Queue appropriately.

Revision: 15700
We can safely check 'freedralph' in Ed, except after defeating the adventurer.

Revision: 15701
Actually it's simpler than that. If we are Ed, we haven't yet 'liberated king'.

Revision: 15702
Sludgepuppy arena parameters.

Revision: 15703
Fix Toxic Globule link to go to do science rather than use.

Revision: 15704
Maximizer shouldn't attempt to remove items it has already equipped in an earlier slot when using command line interface.

Revision: 15705
Add Nasty, Nasty Bears quest tracking. Fix Teach a Man to Fish Trash, now tracked as dinseyFilthLevel from 100 to 0 in steps of 5 to match quest log rather than dinseyFishTrashProgress. Fix bug where hot dog results weren't parsed if eating one lost the last of Got Milk buff.

Revision: 15706
This Ride Is Like... A Rollercoaster Baby Baby spoilers and recognise some Performance Review text.

Revision: 15707
Various Dinsey items are multiusable.
When evaluating modifiers, need to lookup effect duration based on name of
the effect, not name of the modifier.

Revision: 15708
Pass lookup rather than name to ModifierExpression, and lookup Effect Name for Effects.

Revision: 15709
stats for nasty snuff

Revision: 15710
Quest tracking for Give Me Fuel (thanks, Bale). Missing messages for Social Justice Adventurer I (thanks, me). We are only missing quest advertised as Guest Sustenance Assurance and message to put on Lube shoes to complete quest tracking for Dinseylandfill.

Revision: 15711
add complimentary Dinsey refreshments

Revision: 15712
Add Elemental International Airport as an option in drop-down style of topmenu

Revision: 15713
Fix effect lookup via descid in charpane

Revision: 15714
Rename EffectDatabase.getEffect( descid) to getEffectIdFromDescription( descid )
to agree with corresponding method from ItemDatabase.

Revision: 15715
Fix conditional for detecting when using too many speakeasy drinks

Revision: 15716
Tracking for Will Work With Food.

Revision: 15717
Recognize aliases - bang potions, slime vials, and sushi - in the "use" (and
"eat", etc. commands that are handled by the same code) and ignore them, with
an appropriate message.

Revision: 15718
resolve bang potions and slime vials in "use" command.

Revision: 15719
Resolve bang potions and slime vials in maximizer

Revision: 15720
Missing quest log text for Super-Luber, thanks, Bale. Monster data changes from first twitch stream, thanks, Heeheehee.

Revision: 15721
Dinsey skills

Revision: 15722
Move detecting lubrication to ChoiceManager where it should be. Detect when rollercoaster is next (dinseyRollercoasterNext) and change combat rate at Barf Mountain to 0% when it is.

Revision: 15723
Perfume-soaked Bandana gives +4 stench res

Revision: 15724
Do not print "You have not yet identified" messages from the "use" command if
it is running in "sim" mode.

Revision: 15725
Cbzztr the Grisly bear has italics in his name. As well as a banjo on his knee.

Revision: 15726
Fix Ed level 11 quest granted check. Normalise Navel Ring sporadic drops by occurrence rate to match other sporadic drops.

Revision: 15727
Restore code to detect skills in combat that don't have an image

Revision: 15728
Track Dinseylandfill maintenance settings that require the skill to be known. Monsters can now have monster expressions in the Scale and ML Multiplier fields.

Revision: 15729
Add a plural

Revision: 15730
Fix Will Work With Food quest tracking.

Revision: 15731
If a banish results in This is a really confined space..., the banish fails. Untested.

Revision: 15732
Check your current location instead of the response text to see if banishing fails

Revision: 15733
When checking if we hava a clover in inventory, check the count in inventory,
not the accessible amount, which can include clovers in the closet, for example.

Revision: 15734
When logging monster actions, use the monster name, not the encounter name/

Revision: 15735
jar of swamp honey is a food helper. Show it on Food panel of Item Manager and
remove it from inventory when it is automatically used.

Revision: 15736
More zones in which banishes fail.

Revision: 15737
Methinks the Protesters Doth Protest Too Little is not a semirare if you have a clover

Revision: 15738
ASH to_item( "potion of blessing" ) will now resolve into whichever bang potion
is that item for this character at this time, or $item[ none ] if it is unknown.
$item[ potion of blessing ] will throw a compile error, since it makes no sense
to resolve the alias except at runtime - and to_item() is the way to do that.

Revision: 15739
Experimental Effect G-9 has a random effect every day. Update the effect when viewing its description and use that value.

Revision: 15740
Do not remove rusty hedge trimmers twice from inventory when you use one via a

Revision: 15741
Item descriptions now include the itemId in a comment. Now "test newitem descId" no longer requires itemId.

Revision: 15742
Crimbo 2014 shopping is closed

Revision: 15743
Fix "only one adventurer left" messages in stat and element contests, courtesy
of Ezandora. Fix typo in image name for Odorous Humongous.

Revision: 15744
Evil eyes are multiusable

Revision: 15745
Resolve bang potions when executing a mood trigger

Revision: 15746
Some Walt Dinsey stuff

Revision: 15747
Skillbook isn't 100%.

Revision: 15748
Dinsey's pizza cutter and actual tapas

Revision: 15749
The other Dinsey items, Rotten Memories skill/effect, keycard goals.

Revision: 15750
Parse events delivered via chat whether or not green screen protection is active

Revision: 15751
Recognize the Event that the "/servant" command generates and change your
servant appropriately.

Revision: 15752
actual tapas drops from possessed wine rack

Revision: 15753
Phylum and element for toxic beastie

Revision: 15754
Actual Tapas spading

Revision: 15755
Lemonade-235 spading

Revision: 15756
Link to Amun from Scarab Beatle Statuette, untested.

Revision: 15757
Remove references to gallery quest in Choice Spoilers

Revision: 15758
Only try to match DNA Syringe message after you use it. Untested.

Revision: 15759
Only decorate monster stats in relay browser with # of insults learned if
FightRequest.isPirate holds for the monster in question.

Revision: 15760
Another choice that you can walk away from

Revision: 15761
There's a new doc quest, so don't try to auto-accept the old one

Revision: 15762
Doc no longer has HP or MP on tap

Revision: 15763
The Overgrown Lot

Revision: 15764
Doc Galaktik's Medicine Show updates

Revision: 15765
Track doc's new quest in questM24Doc, and use it to determine shop prices and item availability

Revision: 15766
Ash have_skill() function now checks for temporary combat skills

Revision: 15767
Don't turn the < & > in Cbzzter's name into character entities when logging

Revision: 15768
Add The Lot's engagement ring. Fix ROW for Invigorating Tonic

Revision: 15769
Add Lot's Wife, combat data for The Overgrown Lot, choice spoilers for 1062

Revision: 15770
Log room # in Daily Dungeon again. Recognize message when try to adventure in a
closed video game level

Revision: 15771
Remove sneaky semi-colon

Revision: 15772
More Overgrown Lot support

Revision: 15773
Some consumption spading

Revision: 15774
HP and MP restore lists now use new Doc Galaktik restores. Untested.

Revision: 15775
When completing Galaktik quest, update restore costs.

Revision: 15776
Various fixes revealed by checkitems

Revision: 15777
update mallprices.txt

Revision: 15778
Bump version to 16.9