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 "since" ASH directive to do numerical comparisons of major/minor versions
Allow for there to be no revision string in the KoLmafia version.
Initial Mummery modifier support. Lightly tested. Only basic effects are handled, with extra bonuses from using the correct familiar being completely ignored for now.
Some checking for unwanted external requests
Some reusable skill books
Another reusable book
Advent calendar foods
Add some familiar attributes (more to come later). Add attributes proxy field for familiars.
More familiar attributes. Use attributes for Mummery modifiers.
When giving a familiar a new costume, remove the modifier for the old one
Add mummery command
Update "counters" help text
Crimbo 2017 has started
Fix breakable detection in maximizer speculation. Consider simplicity (not changing items) as lower priority than checking for rollover effects and breakable items. Should now always prefer Astral Pet Sweater to Sugar Shield.
Remove handling for worthless items from Goal Manager, as we no longer adventure at Sewer for these !
Untested. Ignore autostops when teleportisis active.
Fix cosmetic typo in variable name
Can adventure drunk as Batfellow - untested
Those monsters actually wander
Missing file from previous commit
Fix stupid typo in previous commit
Since crystalline cheer is a coinmaster currency, need to trigger (coinmaster) listeners when it enters or leaves inventory
Crimbo 2017 tweaks
Cheer consumable spading.
Second Cheerless Level . First guess at combat rates.
disambiguate cheerless mime scientists
Work around KoL bug that no longer reports where paranormal activity is detected in walkie-talkie message
Fix initiative for cheerless mime scientist, per Manuel
Mouthless murmur is physically resistant. Fix cheer wine.
Cheerless Spire Level 3. Remove warehouse keys when used. Remove letters when handed in (and log).
disambiguate cheerless mime soldiers
Even wandering monsters won't go near the cheerless spire.
Track things properly when a mime army shotglass activates
New skillbooks (skills not yet public), new cheer level, tiny plastic.
Some consumable spading
Refactor how locations are marked as not having wanderers
Can walk away from Cursed Warehouse.
Some consumable spading - That mime army food is rather good.
You can use "cast" in combat macros
A new tiny plastic, and updated name for the first one
Tippy Top of Spire, Mime Skills, Warehouse Key in store, Tiny Plastic, Consumable Spading.
Can pickpocket warehouse key from executives
Change location name
Mark used skill books as reusable
mime army infiltration glove lets you pickpocket
Tiny plastic, mime boss.
Add The Silent Nightmare to the Monster section of the Encyclopedia
Log some SIlent Night visits
more SIlent Nightmare
Att -> Atk
200 it is
The Cheer-o-Vend 300 only distributes your class'es Mime Jounal volume
Maximizer now knows which buff Silent Hunter gives depending on class.
The mime army shotglass no longer leads to only consuming 1 of the item
tiny plastic The Silent Nightmare
primitive alien blowgun
Don't show hot dogs in Batfellow.
Happy New Year
Garbage Tote and associated items
Some spleen items no longer give adventures. Level 13 or higher requirement consumables cannot be consumed under Standard restrictions. Lightly tested.
Garbage fire and some of it's drops
Level 13+ consumables are blocked in-run, not just in Standard
wareouse key is usable and leads to a choice. Cheerful Reindeer Suit has an outfit bonus.
Garbage Fire equipment. Some missing Throne/Bjorn data. Mime Executive meat drop reduced to 1/3.
Untested, recognise broken champagne bottle being thrown away
Make "fold" work for garbage tote items
novelty monorail ticket
Garbage item tracking (_garbageTreeCharge, _garbageChampagneCharge, _garbageShirtCharge).
Good 'n' Quiet, multiusable items
items, outfits, effect
Handle doubled modifiers from garbage shirt and bottle. Maximizer does not currently handle them.
Basic support for broken champagne bottle and garbage shirt in Maximizer
Handle broken champagne on disembodied hand. Thanks, Lost. Untested.
Correctly calculate number of foldable items available when item is part of Garbage Tote. Correctly handle number of foldable items required when one is required due to bonus, but isn't otherwise best in slot. Hopefully. Lightly tested.
Make the stacked item drop doubling all work properly. Probably.
Track Crown of Thrones/Buddy Bjorn drops for the Optimistic Candle and Garbage Fire. Remove burning newspaper when using it to create something.
Allow crafting of burning newspaper items
burning paper slippers modifier
Marked Makeshift Garbage Shirt and Broken Champagne Bottle as breakable.
Track adventures granted by Mafia Thumb Ring
Don't load amorphous blob fights inline
Restore some code wrongly removed from Goal Manager in Revision 18301
Deceased crimbo tree is breakable too.
Quest tracking for New You quest. Lightly tested.
Show _mafiaThumbRingAdvs in Daily Deeds.
Fixed whitespace typo
Fix for equipment over max price being suggested by Maximizer to be bought and pulled.
Don't set PvP fights to 10 when breaking the hippy stone
Fix typo - thumb ring in Daily Deeds
New maximizer options panel (under General -> Preferences -> General -> Maximizer. Can set defaults in Maximizer, including all existing ones, plus a few new ones (suppress things which cost adventures, always consider current equipment in aftercore, consider created non-equipment as on hand). Add spleen, full and drunk into verbose maximizer text.
Maximizer Filters, based on patch by AlbinoRhino
The Fire Inside is capped at 200%. Untested
Minor Maximizer price checking tweaks, from AlbinoRhino
Maximizer now prefers equipment that drops items, then equipment that drops meat, before considering tiebreaker, assuming all else equal.
Missed a meat drop.
Pantogram with Ten Leaf Clover sacrifice drops items.
For Pantsgiving and some Enthroned/Bjorned Familiars, remove drops items modifier when they have dropped all they will for the day. Add another missing familiar that drops items. Largely untested.
Breaking your hippy stone has gone back to resetting fights to 10
Because I couldn't see a hit on main.php prior to refreshing session on login, have added one.
Missing quest default
Revert Revision 18400 as not needed and extra server hit.
Multi-usable item and correction
Track Garbage Fire counter (garbageFireProgress)
XO Skeleton drop tracking
Some spleen spading, thanks Xande1
Spading for Garbage Fire consumables.
Add LOV Choices to GUI (but don't mark up Spoilers as KOL clear enough already). Fix XO tracking and add link to store. Untested.
Affirmation Cookie handling. It will NOT automatically work out number consumed so far this ascension, so you'll need to set affirmationCookiesEaten manually if you've eaten some this ascension. There are just too many potential modifiers now and in the future to learn from the gains.
You can only eat one Affirmation Cookie per day.
Add opt in warning for drinking without Ode if you cannot cast it yourself but could get from a buffbot.
Untested. Grey out Gingerbread Mob Hit once used.
Add my_session_adv() to ash.
When looking at game description for a second or subsequent time, bring window to front.
Handle calculating edPoints if visiting Book of the Undying when not level 1. Untested.
Add horsery command and nicer logging of visiting Horsery.
Change handling of _horsery so it shows horse type. Horsery now appears in modifiers.txt. Get current horse and (if not currently crazy horse) crazy horse bonuses and store.
Maximizer now supports Horsery ! Some other horsery tweaks.
Recognise failure to stock store due to KOL price protection.
If you SEE a message arrive from someone because chat is open, refresh inventory using API because it may contain items.
If you SEE a pvp attack because chat is open, refresh inventory using API because you may have lost items.
Sleaze damage from Force of Mayo Be With You now adds 10 plus Blood Mayo Concentration rather than 10.
Check current fuel level when you use Asdon Martin keyfob. Untested.
Fix silly mistake
Hi Meins can be eaten at level 12
Missing status effects. Only check mall prices on tradeable items, and Speakeasy drinks are not tradeable!
Restore tradeable and discard flags to Speakeasy, and skip them in Maximizer price check. Why is something that doesn't ever exist tradeable? Don''t ask !
Refresh session data AFTER resetting preferences. Add api request to populate ascension number first before setting preferences.
Load counters and reset Char Pane request before visiting API status when refreshing session.
Option to log preference changes.
Some missing sources for status effects (mainly comments)
Recognize when any item use fails due to Standard restrictions
Track mime Shotglass use in Cafe and Speakeasy.
Mafia now accounts for mime army shotglass when queuing booze.
If someone a skills list has a null record, handle it.
Account for the mime army shotglass when prompting about Ode or overdrinking
Drop rate lowered for tattered scrap of paper
Fix Jelly Use detection. Untested.
Updated some Familiar attributes for Mumming Trunk. Added ability to reference familiar attributes in modifiers.txt, and added accounting for warbear foil helmet. Untested
Some familiar mummery bonuses.
More familiar mumming trunk data
Get Moon Phase before checking to see if counters should be reset. Would be handled anyway when starting mafia fresh, but wasn't when mafia running over rollover.
Experimental. Reset counters based on next Rollover time from API rather than moon phase. Add ash command rollover() to expose the time. Note that time varies by a few seconds, perhaps based on which server you log in to.
Some multiusables, thanks to the dictator.
Some fixes from Xande1 and checkitems
scratch 'n' sniff sword and crossbow are once again usable into each other.
killing jar, silver shrimp fork, and bubblin' crude can't be autosold, but has a minimum mall price
Training Scroll: xxx really do have two spaces after the colon.
gabardine and fiberglass candies
Familiar mumming trunk settings for 4 more familiars.
Ensure banishes are loaded before resetting them at rollover. Untested.
Some mumming trunk spading data
Some stuff from February's IotM
Allow expressions in aggregate literals. aggregate literals are np longer immutable.
More familiar attributes
arena parameters for Garbage Fire
Add Pocket Wish creation as an option in Breakfast automation.
More IotM stuff
You can walk away from the fortune teller
Recognise Pokefam path and Pokefam shop. Some items.
Remove temporary code.
Read Familiar list in Pocket Familiars. Expose poke_level in familiar proxy record.
Fix Gunther buff. Item Manager now knows Barrel Buffs can go out of season.
Handle new skillbooks (untested), some familiar mumming interactions, pokefam ascension image, Jerry Bradfords.
Track Pocket Familiar team. Expose to ash in my_poke_fam( slot ), where slot is 0 for front, 1 for middle, 2 for back.
Recognise PokeFam changes in character pane.
Cannot unlock Guild in Pocket Familiars.
Don't warn about 100% familiar runs in Pocket Familiars
Fix row number in pokestore
Mumming trunk data, Polka Dot Bow Tie is +3 Clownosity. Choice of whether or not to allow foldables now in Maximizer preferences only.
Clownosity bonus on Bow Tie is +3, but higher than +2 breaks bitmap modifiers, and I don't currently have time to investigate a proper fix.
Track if your clan has a fortune teller installed
Initial support for logging Familiar Battles. Register correct monsterm at least, so special actions happening after particular
monsters are defeated (should) work correctly.
|| -> &&, thanks to Ryo_Sangnoir
Fix a couple of monsters per Manuel
Add get_player_name(int) courtesy of cheesecookie
Revert unintended .classpath and .project changes from 18480, sorry I haven't committed in a while!
Trying to resolve build issues.
Maybe this works?
Some mummery modifiers
In Pokefam, log your familiar's skill usage each round
More dupport for Familar Battles: do normal "end of round" processing.
Some more familiar mumming data
Add "fortune" CLI command. Syntax is "fortune buff <buffname>" or "fortune <clanmate name>". All three words can be specified, otherwise the words in clanFortuneWord1 to 3 (defaults are pizza/batman/thick) will be used.
When you start the Island War in Pokefam, set # of hippies & fratboys defeated to 500.
Do certain post-fight fight decorations after a fambattle, too
Last of the mumming trunk familiar data that affects bonuses.
Pokefam Guide stuff
Pokefam familiar hatchlings are type "grow", rather than "none", since you CAN "use" them to put them into your terrarium.
Enforcing the "only in Pokefam" is a separate issue and can be added later; no reason to keep Pokefamers from growing them.
More pokefam garden items
more relay browser decorations after a fambattle
Spending 1000 turns doesn't let you break Ronin in Pocket Familiars
Fix Snojo fight tracking in Pocket Familiars
Fix display issue showing negative turns of Ronin in Pocket Familiars
More Pokefam items, familiars, effects.
Fix ordering for familiar equipment and familiar* when detecting item types
Anad another pokefam item
Updated familiar name
Untested. Stooper gives 1 extra liver whilst current familiar.
Corrected Eagle's Milk. Thanks, PeKaJe
Fix Stooper handling
Update relay browser from preferences for Clan Fortune Teller (clanFortuneWord1, clanFortuneWord2, clanFortuneWord3 for consulting, clanFortuneReply1, clanFortuneReply2, clanFortuneReply3 for responding to consultations).
More Love Potion
Fix stupid check for disembodied hand. Untested.
Add Clan Fortune Teller to Maximizer. Fortune Teller consumable spading.
Support for tall grass garden. We will recognize that you have one - and
ASH get_campground() will include a "tall grass seeds" entry to mark
that - and you can configure Breakfast (in Ronion and out of Ronin) to
Actually successfully harvesting is not working yet.
Also, fix a few Pokefam familiars to be "grow" rather than "none"
Do not track fraftboysDefeated and hippiesDefeated in local static variables; always fetch them from the appropriate
setting so that, for example, when you start the war in Pocket Familiars and we set the defeated count for both sides
to 500, visiting the Island will not reset the values to 548, since that is the minimum for image 21 and it is higher
than the cached value of 0.
fix CampgroundRequest.harvestGarden() to pick all the patches of tall grass in your garden.
Fix post tavern processing in Pocket Familiars so "explore next square" works
No wand needed in Pocket Familiars
No boos checks in Pokefam, since all the bosses (that have ML differing rewards) are replaced by Jerry Bradford.
Fix Grass Garden in the Gash decorator. Recognize it, recognize when it is an option.
Initial version of Pokefam familiar attributes
Some Pokefam spading
A little more spading
Initial implementation: read fambattle.txt into new data structure. Validate fields.
Fix errors in the data file discovered by said validation.
power goes to 4 and hp goes to 5
More Pokefam spading
Some pokefam spading
Some more pokefam spading
Add pokefam data to ASH familiar proxy fields
Guess what, it's more pokefam spading.
A couple more bits of spading
More fambattle spading. Change Armored to Armor. Parse HTML of first round of
fambattle.php and extract everything interesting about the familiars.
Fix planting grass from Valhalla Decorator
When we see previuously unknown Pokefam data, print it to gCLI and session log
More pokefam spading. Collect move descriptions and short name from fambattles
More pokefam spading
Pokefam spading from Magus_Prime and Ryo_Sangnoir
When look at the pokefam team management page, learn pokefam parameters, just as we do
from a fambattle. More pokefam spading.
More pokefam spading
Recognize when you feed a pokepill to a familiar and save it in setting "pokefamBoosts".
Take that into account when examining familiar power/HP/attributes in the Team Manager and in battle
and don't get fooled into thinking the augmented familiar has normal stats.
More fambattle spading.
Anyone for pokefam spading?
Don't get burned by KoL bug: if you power up a familiar with a pokepill that grants an attribute it alread has,
save the powerup as "None"
New monorail zone.
KoL capitalization change
tree hugging hippy protestor
Pokefam correction from Magus_Prime, meat drops at Monorail.
Oyster Fools Day items and effects
tree loving hippy protestor, egg spading, some pokefam data from Magus_Prime
Familiar arena parameters (thanks to jrsiebz)
Default # of trials when learning familiar arena parameters upped from 3 to 10.
Correct parameters for pokefams after jrsiebz reran his tests with more trials
Clan Fortune skills auto-perm so can't be permed.
Correct Cornbeefadon arena stats, Rhinestones are multi-usable.
Resubmit after Sourceforge hiccup.
Untested tweak to correct _snojoFreeFights if Mafia doesn't see the 10th win.
Fix pixel drop rates
Correct _tonicDjinn tracking, as per Saklad5 @ kolmafia.us
Lyle and Fantasy items
fix typo, add faerie dust
More Fantasyrealm stuff
Track permanent unlocks in FantasyRealm. Used membership (frAlways) - note, will NOT be automatically recognised historically, use "set frAlways = true". Daily membership (_frToday) recognised when used. Unlocked maps (frMountainsUnlocked, frWoodUnlocked, frSwampUnlocked, frVillageUnlocked, frCemetaryUnclocked) recognised when used or when FantasyRealm page visited in relay browser before visiting Welcome Center.
Add link to spend Rubees when they drop
Some FantasyRealm items
Correct skill name, thanks to AlbinoRhino
FantasyRealm stuff, more
More FantasyRealm stuff from Ezandora and Yendor
FantasyRealm items pulverise into Rubee's (well, some do according to Khurby). Also this years Standard item pulverises added.
Untested - Check for tokens in AdventureResult.parseItem before moving to next one at start. May have been mangled by Salad for exammple.
Missing berry effects, thanks to Yendor
Some more locations and monsters for FantasyRealm from Yendor.
Some pokefam updates.
More FantasyRealm stuff from Ezandora
Fix a typo
Track FantasyRealm questing, hours left (_frHoursLeft), areas unlocked (_frAreasUnlocked) and buttons pressed (_frButtonsPressed).
Monster tracking for Fantasy Realm (_frMonstersKilled). Fix for barrow wraith? and "Pheonix" are experimental and probably wrong.
Fix choice spoiler - thanks to Ryo_Sangnoir
Recognised when Favored by Lyle (_lyleFavored), add it to Maximizer. Also mark stuff complete when visitng WLF Bunker when it is silent.
Log visiting Lyle
Support for Expert Corner-Cutter. Untested.
Guess that PokeFams that you can have as familiars are normal effects (and that Unspeakachu is a reverse Hound Dog for combat rate). They can't go in Throne or Bjorn.
I must not forget to commit the new file. I must not forget to commit the new file. I must not forget to commit the new file. . .
Change duration of Paul's Passionate Pop Song to match other AT songs.
Mu Arena Parameters
Fix _tonicDjinn tracking
Recognize adventure failure in FantasyRealm after daily time is up
Log who a gift package was from. Lightly tested.
Replace spaces with underscores in chat log file names.
Fix stupid typo in ChoiceManager.
Making Staff of Kitchen Royalty (hopefully)
Add autoPinkyRing and account for Mafia Pinky Ring in wine adventure calculations. Lightly tested.
Simplification of allowed to eat/drink code. Previously checked for Cafe and Item requests, now also checked for Speakeasy / Hot Dogs. Now checks only exist once in code for Eating as well as Drinking. Hopefully haven't broken anything whilst fixing some edge cases?
Initial God Lobster stuff
Using 'overdrink', suppress all prompts as 'eatsilent' does.
For symmetry, allow "drinksilent" (same meaning as "overdrink").
Revise effect of mafia pinky ring to match spading. Consider Refined Palate in adventure listing, and interaction between the two.
Remove unnecessary recalculation of adventure ranges.
Don't get stuck in loop in Skeleton Store. God Lobster mummery stats. Some physical resistances.
Some more God Lobster stuff.
Untested. Harvest mushroom plot when entering Valhalla.
Prompt for or equip pinky ring or tuxedo even if shotglass makes consumption 0 inebriety.
In Pokefam, grey out Familiar and Familiar equipment in Gear Changer, produce error for familiar actions, ignore maximizer switch command, recognise Rainbow Storm.
choiceadventure 1281 "leave" option is 8, not 6
Fix overdrink message so it doesn't appear if the shotglass drink is drunk at limit.
Warn and ask for confirmation if you won't survive doing the Hedge Maze and you've asked to automate it. Lightly tested.
Abort hedge maze automation if you don't succeed.
Fix recognising familiar team by image from Character Pane.
Some missing standard pokefam data.
Even when prompts are supressed when eating/drinking, still do automation.
PokeFams can have two attributes, one natural, one added. Account for this when registering familiars.
Once, Twice, Thrice Cursed can be removed by Shake It Off and Hot Tub.
(Hopefully) detect defeating "Blofeld", Jerry Bradford, Pokéfam World Champion and barrow wraith.
Fix for A New You quest tracking, recognise defeating Jerry Bradford, World Champion, a little extra Pokefam spading.
The Troll Fortress is outdoors