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.
FIx typo preventing detection of volcano items
Support ML-based physical resistance in last_monster().
Some sections of MonsterData.java 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.
Raul Stamley, not Raul Stemley. stats for mutant cookie-baking elf.
Fix double-counting of ML toward average experience in a zone.
map_to_file() will now save items and effects as id, not as name
Pull out code that does special item retrieval, etc., before submitting
particular URLs out of run() into prepareForURL().
Remove drunkenness check for the Deck of Every Card, since KoL no longer restricts it
When dumping an item or effect, include both id and name
Doing The Hustle. giant pair of tweezers.
Add more extinct monsters. Fix a typo in a monster name.
Add Hersey SMOOCH. add missing space to usage string for cheat command
Treat undefined scaling caps as unbounded, not 0.
Some monster data
Improve logging when manipulating Ed servants. Add a few monster IDs
Knob Goblin Elite Zombie
Certain WLF bounties require that you turn in multiple items
Don't hardcode count of WLF "proof" items you need to turn in.
Fix handling of synergies when one is a 1 handed weapon.
Sinister Dodecahedron monsters
Do not force monster weightings in locations to be single digit values
Update Burning Hands
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
Stats for the Swiss hen. Fix parsing item names in ASH to handle [NUM]NAME
syntax when NAME contains commas
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
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.
Some monsters and consumable spading.
Servant of Lord Flameface
Hi Mein changes
New level 11 saucey recipes
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.
Add Deck of Every Card to Daily Deeds panel. Thanks to PeKaJe @ kolmafia.us
Some Food/Booze spading
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
Fix various monster images. Add alternate images to many monsters that can have
varying images. Monster Data for Mob Penguin goon.
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.
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
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.
Add ASH function: boolean[monster] get_location_monsters(location)
This has the same info as get_monsters, but returns a (perhaps) more useful
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.
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.
Add more monster IDs, attributes, and item drops of extinct monsters.
Fix capitalization of a few such. Fix detection of monster phylum from Manuel
More monster IDs
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.
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
Item plurals, monster ids
More monster IDs from the WIki.
When parsing a $bounty object in ASH, make case insensitive.
String comparisons (== and as a key in a map) are now case sensitive.
You can walk away from Community Service
Initial Community Service support
Minor fullness/monster spading
The Cookie-baking Thing from Beyond Time is undead. Who knew?
fix monster id for golden ring
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: ?
Fix a couple of capitalization or spelling errors in monster names
As a tiebreaker in Maximizer, prefer items you have.
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.
The Cookie-Baking Thing from Beyond Time is a Horror. Thank you, Hotstuff!
Monster stats for Rudolphus of Crimborg
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!
Some monster stats
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.
Sneezy, the Reindeer
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
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.
Add monster id for Arc-Welding Elfborg. Make assumptions about attributes of
un-registered Elfborgs and the critters in the Sinister Dodecahedron.
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).
Maximizer handles Hatrack and Scarecrow properly
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.
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.
Some Fungal Nether's support.
DB Fungal Nethers drops
FIx more monsters, courtesy of Manuel and his clients
Happy, the Reindeer
More Mushroom items
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).
Some monster stats
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).
More monster stats from Manuel
Community Service Items
Some food spading
Add ASH function get_stash() to retrieve cached view of clan stash.
Zombie Goth Giant stats
Rare Caldera drops
Community Service item typos.
Turtle Tamer Fungal Nethers stuff.
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.
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.
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
Some food spading.
deadwood tree & fur tree
Apply Hatrack/Scarecrow maximizer fixes when using switch to consider one, rather than only when equipped.
Update available menu items when you are in Gnome sign and you unlock the Beach. Untested. Also some monster updates.
If Maximizer thinks you should make something, actually make it!
After Ronin, explicitly pull if Maximizer wants to pull from storage.
Zombie eXtreme Snowboarding Orc
Account for the fact that you can no longer access The Florist Friar before unlocking the Distant Woods
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.
Use makeEffectValue instead of parseEffectValue, per Veracity's suggestion.
Return numeric ID for effects from RuntimeLibrary.getModifierName.
This should address issues with *_modifier(effect, string) looking up
modifiers for the wrong effect.
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
Use the correct ("new") choice numbers for controlling the Haunting Library
Add check to ValhallaDecorator.decorateGashJump() to prevent NPE.
While perhaps not the most elegant solution, it looks acceptable.
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
Add effect desc_to_effect(string descid). Lightly tested.
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.
Call kingLiberated when performing your final Community Service task.
Update mimic images
Choice spoiler for The Dark and Dank and Sinister Cave Entrance
Plurals thanks to Cool12309. Tweaks to Lo Mein spading
fiendish zombie can of asparagus
Change label (and drop down size) for deck of Every Card Daily Deed.
Monster IDs for various invading skeletons. Save historical mall prices via
item number, not item name
Additional monster number
The One Mood Ring is power 150. Spechunky bars are multi-usable
The Emperor's New Cookie
I wanted the Deck and Hatter dropdowns to be the same size. Make it so.
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.
Bashful, the Reindeer. Fix typo
Iocaine Buffbot removed at owner's request as now dead but people still sending meat.
Fixed an Oops. Also removed other Buffbots who haven't logged in for more than 12 months or are marked as currently inactive.
Rewrite links to //images.kingdomofloathing.com.
Evidently newer builds of Firefox do not like these.
New Swagger Shop seasonal item
More numericSwagger stuff
Madness bakery now saner, and when entering it you now end up indoors.
When we don't have a spoiler for a choice option, log it as whatever KoL calls
the option, rather than "unknown"
Better logging when approaching blocked nemesis cave, inspecting the rubble,
and going in to confront your Nemesis in the cave.
Shrine of the Barrel god. Track when you unlock it in barrelShrineUnlocked.
When you "use" a kitchen appliance, make sure it appears in get_campground()
Add a few barrel items and effects
You can walk away from smashing barrels
Beer Barrel Polka
More barrel items
Turtle Tamer Barrel buff
"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.
Roll out a couple of barrels
More barrelly bits
More barrel stuff
sticky lava globs are multiusable. familiar item for Lil' Barrel Mimic
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"
more barrel items from mall
Some food/booze spading
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!
Add an ASH operator to perform an "approximately equal" comparison.
Make that work even if operator not surrounded by spaces
Initiative for ten skeletons
Fix some String comparisons for pool skill warning
Data for emaciated Knott Yeti
Add a smash party link to dropped barrels
Change off-hand regex to handle more cases
Sauceror barrel buff
Some unsmashable Mr. Store stuff
More refactoring of choice option parsing to inlude links again
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 >)
Handle KoLmafia & ASH state (and user abort status) correctly when passing
through "finally" blocks in an ASH script.
Remove barrels from inventory when smashing them at a Barrel Smashing Party
Add a few plurals. When an ASH finally block aborts, do not restore previous
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
Handle +sea, and other familiar equipment requirements in Maximizer.
Handle eating Optimal Dog with Mayodiol
map to the Biggest Barrel
map to the Biggest Barrel leads to an adventure
Oh, and I think map needs to be marked reusable.
Handle shaker of dry rub. Untested
Don't load map to the Biggest Barrel inline
When UseSkillRequest detects an error which should stop automation, go in to
ERROR state, not ABORT state.
Barrel crafted items
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.
arena parameters for Lil' Barrel Mimic
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.
Recognise Rollover effects on items.
Consider percentage experience increasers in expected experience gain.
Barrel Chested. Cooper's Couture.
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.
Track Barrel Prayers and item summons. Know which prayer effects are available to which classes. Add barrelprayer command. Maximizer offers appropriate prayers.
You do lose the barrel map when you use it, but get it back if you lose.
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.
Untested. Add actual reality goggles to restricted items as KoL doesn't.
Fixed a goal typo
Joke Book of the Dead is an offhand item with bonus Weapon Damage. Need to take
that into account in the Spelunky damage calculator.
Spelunky ghost has 50% physical resistance. ML has no effect in Spelunky.
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.
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.
Manuel says the blazing bat has Defense of 180
Some consumption spading
Spelunky boots always go in slot acc1
Lil' Barrel Mimic is a volleyball that gives 2 stats in Throne/Bjorn
Add mineLayout6 to defaults
You can Spelunk while overdrunk
Lots of items from the potted tea tree
cuppa Voraci tea increases fullness capacity
Recognize when you have a potted tea tree in your campground
Add heeheehee to authors.txt
More tea ?
cuppa Craft Tea crafting handling
Add outfit link in relay browsers for items you find in relay browser, rather than replacing all other links.
pickpocket protector is multiusable
When parsing the campground, recognize if the tea tree was already harvested even if done outside of KoLmafia
Add teatree command, mark teas multiusable
A tea that isn't actually multiusable
hustler shades is multiusable, consolation ribbon power
Add fish to Crown of Ed.
Very much untested.
Label the new Crown of Ed option
(Hopefully) fix Ghost Dog maximizer issue without introducing too many other bugs!
If filtering a list, filter it even if one item in the list!
Some haunted doghouse items, Royal scepter
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).
If filtering on usables, usable can be a secondary as well as a primary type (fixes "use bag o' tricks" type bugs).
Add Breakable keyword for items that can break in/after combat. Maximizer now prefers (all other things being equal) non breakable items.
Item Finder checks Mixing Method for creatables based on itemId rather than item name. Should fix ash create issue.
PeKaJe's Daily Deed for Barrel God Prayer patch.
Handle Speakeasy drinks with quotes in npc_price()
Allow the whole tea name (including "cuppa") for the teatree command
New stat recommendations
Don't try to decorate main.php when the main map isn't being shown
Missing doghouse items, and choice support for doghouse (Item tab on Choice Advs)
Spading for Doghouse Food/Booze
Can walk away from Barrel Full of Barrels
Multiuse and plurals
Shut down the GUI after running logout script
Roll back 16366, since people who are not me are having problems with it that
I do not see.
New twitch monsters
Revert Revision 16348 changes, fixes missing durations on potions in Maximizer.
Twitch - Ye Newe Souvenir Shoppe and Othello skill support
Coinmaster does not belong in npcstores.txt
More twitch stuff
Add a few more Shakespeare items
flowers need a "trade in" link rather than a "use" link
First steps for Calculate the Universe
Add an avatar potion. Fix preference listener for Twitch coinmasters
Some avatar potions
Another Avatar potion
fix a couple of item drops
Untested, Grow is a type of use.
new avatar potions
Add avatar potion drops to monsters
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.
Tweak to Item Database
ghost beer spading
Adventurer's Best Friendship
hamlet sandwich spading
KoL Con 12-gauge
EOF while reading serialized adventure queue indicates malformed file.
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.
Summon Holiday Fun! is granted by Holiday Hal's Happy-Time Fun Book!
Update all of queued fullness, inebriety, and spleen hit when you queue an
item, since some items affect more than one of those.
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.
When processing the description of an item that grants an effect, strip out and
ignore the span containing the enchantments that the effect provides.
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
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.
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.
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.
Do a better job of updating timesRested
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.
Update the side panel when available PvP Fights changes
The Terrified Eagle Inn has a couple of new items for sale.
Clancy Quest Tracking, untested
Some 70's Volcano choice spoilers, untested
Power Pill is multiusable
Zarqon monster tweaks
Smoothed Criminal back
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
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.
Absolute basic coldAirportAlways check
A tiny bit more support for detecting what Glaciest access you have.
The Ice Hole
The Ice Hotel
Wal-Mart, lightly tested
Some perfect cocktails
The wall of skin's HP is not affected by ML modifiers, but is boosted by BIG! path
Couple more items, can walk away from Walford Rusley, VYKEA instructions goes to a choice.
Some Glaciest item spading
Ice Hotel meat drops
VYKEA viking (female) drops VYKEA hex key. VYKEA Instructions lead to a choice
and therefore cannot have inline use links.
Handle shaking a carton of snake milk
Add Perfect Freeze to breakfast, track its usage in _perfectFreezeUsed
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.
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.
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)
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.
Some item spading, plurals from The Glaciest. Tonic djinn handling. Walford's Bucket quest tracking (untested).
Update existing Unspaded spleen items to 0 adventures
Beginning of VYKEA companion creation: pseudo items, concoctions, creation
subclass, and so on. Stops short of actually creating the companion.
Choice 922 default, untested.
Reset _infernoDiscoVisited if you lose to Travoltron
Track Popular Machine unlock. Hopefully stop infinite loop caused by trying to use Popular Machine without completing Armourer quest. Untested.
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.
Twelve Night Energy is one use per day.
Campground now recognises Doghouse installation. Doghouse Boarding up tracked in doghouseBoarded.
Avatar potions are now type avatar potion.
PeKaJe's Back Room SMOOCHing choice patch
parse VYKEA companion from charpane and save in settings. The VYKEA couch and
lamp affect Meat Drop and Item Drop, respectively.
Handle choice adventures when we construct a VYKEA Companion. Adjust inventory,
set preferences, remember companion.
Track 1/day options in VYKEA and Ice Hotel (_VYKEACafeteriaRaided, _VYKEALoungeRaided, _iceHotelRoomsRaided)
The VYKEA creation method requires at least 5 planks, rails, and brackets in
inventory - even though no recipe uses all of those.
Cute mushroom spading. Recognise Walford's bucket full combat message.
Update the bonus from experimental serum G-9 when looking at the item in addition to when looking at the effect
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
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.
Ignore more prompts with eatsilent
Make choice adventure settings for That 70s Volcano show in the GUI
Remove setting for choiceAdventure922 when summoning a demon. Summoning a demon will currently abort, but it will at least work.
Another choice setting
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
If someone is lucky enough to get a defective Game Grid token from checking Jackass Plumber, let them know
If Friars not complete when King Rescued, eg Community Service, Friar blessings aren't available.
Fix typo in choice spoiler. Simplify VYKEA Companion setting a tiny bit.
Walford quest tracking of additional bucket items. Can walk away from decorating Crimbo Shrub.
quantityPossible to create for a VYKEA comapnion is at most 1
Walford quest stuff - Now marked unstarted on completion to match quest log, bucket item type tracked, taking quest recorded as daily limited. Untested.
When we detect that a day has changed and reset daily things, reset your
In ConcoctionPool, do not canonicalize names of nonitems, since they will be
looked up with the non-canonical item name
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.
Some consumption spading, thanks to scullyangel. Some values still uncertain, and commented as such.
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.
Adventuring underwater with the Squamous Gibberer gives double progress toward a bonus adventure
Stranglin' algae drops sea lace
Just as we do for Pasta Thralls, if logFamiliarActions is true, log VYKEA
Companion actions in combat
Fix verious item powers
Barrel outfit is a zap group
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
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.
Allow more memorable parameters to be used for the edpiece command
water log spading, thanks to scullyangel
normalize a few modifiers. Allow fuzzy matching for bounty names - which also
has the effect of allowing recognition of the non-Euclidean hoof.
Spade shows Fortunate Resolve gives +10% Meat, Items and Init (guess that Spell Damage is the same)
Can only use Fudge Spork once per day (tracked in _fudgeSporkUsed)
Assume that an avatar potion is multiusable unless we explicitly flag is as not
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.
Address NPE in comparator for VYKEA ASH values. Lightly tested.
Minor internal tweaks to VYKEA companion object. Move the list of all VYKEA
companion names out of VYKEARequest into VYKEACompanionData.
Make instance variables for VYKEACompanionData final
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.
Fix a few item powers
Add potted tea tree daily deed
SMOOCH coffee cup spading, thanks to Scullyangel.
Mountain Stream Soda now restores 30-40 MP
Minor fix to tea tree daily deed
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.
Fix some errors found by checkeffects
Bump version to 17.2