Version 15.0

Veracity

Developer
Staff member
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: 9833
When the maximizer suggests an accessory that is mutually exclusive with an
accessory you're already wearing (such as the new halos), it should now
suggest the same slot as the existing accessory. Otherwise, the equipment
change could fail due to trying to put on the new one before the old one had
been removed. Not tested.

Revision: 9834
Fix maximum HP & MP for Vole sign

Revision: 9835
OceanDestinationListener hides popup menu before prompting for destination

Revision: 9836
meat paste and stacks do not have a creation method, so priceToMake was
erroneously returning MAX_INT. Use instead CombineMeateRequest.getCost to
calculate actual cost to make

Revision: 9837
When deciding which skill to use to remove an effect, check for Disco Nap before
Disco Power Nap, since it is a cheaper skill.
Add a few more effects that Disco Power Nap can remove.

Revision: 9838
When you free Ralph, set your current path to "None".

Revision: 9839
More Modifier Maximizer modifications:
* Leaving the weapon slot empty is now considered, and if it is empty, an
empty offhand is also considered. This should allow Unarmed items to be
suggested when appropriate.
* Unarmed and Mutex items no longer count towards the shortlist size limit,
so there will always be enough normal items to fill all slots.

Revision: 9840
add _borrowedTimeUsed.

Revision: 9841
Detect when you use a chat command to eat/drink/spleen and fail because your level is too low.

Revision: 9842
Detect and log distance at which you hit a bullseye. Untested.
Detect message and do not consume item after you have hit a bullseye. Tested.

Revision: 9843
Using a single d10 gives you a monster to fight

Revision: 9844
changed atributes of generic potions

Revision: 9845
phish stick

Revision: 9846
Protect the user from auto-adventuring when they are > 25 drunk when St. Sneaky Pete's Day is not active.
On St. Sneaky Pete's day and inebrity is between the user's inebriety limit and 25 (inclusive), print a message saying that they need to get even more drunk to continue, as the previous message was incorrect/misleading.

Revision: 9847
Add Drunksgiving to inebrity check

Revision: 9848
Distention pills can be used when full now, and persist through rollover.
Since we need to adjust consumption limits accordingly, add distentionPillActive user preference to track if a pill is active.

Revision: 9849
Never decorate api.php

Revision: 9850
Add consumption data for expensive cigars

Revision: 9851
Add missing informations in pulverize.txt, thanks to Yendor and Rinn @ kolmafia.us
Add anniversary balsa wood socks. STYX deodorant body spray is not consumed on use.

Revision: 9852
Track daily Moveable Feast usage in _feastUsed. When used with success, the feasted familiar is added to _feastedFamiliars, a comma-separated list of familiar races.
Add the Feast daily deed.

Revision: 9853
Give user manual control of choice sequences that occur as the user is logging in. Refresh session after the choice-on-login completes.

Revision: 9854
Added subject 37 quest items to goal lists
Fix a typo in pulverize.txt
Added anniversary balsa wood socks to equipment.txt and modifiers.txt
Added variable for tracking when Release the Boots skill is available bootsCharged
Fax monster tracker will show when you have a photocopier,
a monster, or you have used your photocopy for the day.
Added ! to stomps in charpanes, and (C) to Daily Deeds to mark when boots are charged
(This last one needs some feedback for cosmetic suggestions)

Revision: 9855
_feastedFamiliars is now a semi-colon separated list

Revision: 9856
Add Feast to default dailyDeedsOptions and bump dailyDeedsVersion to push the new deed to everyone who already has dailyDeedsOptions set.

Revision: 9857
Add plurals for Ye Wizard's Shack items.

Revision: 9858
More tweaks to the Feast daily deed.

Revision: 9859
Removed duplicates from pulverize.txt

Revision: 9860
bootsCharged needs to be reset when ascending as it isn't a _daily variable

Revision: 9861
Increased buffer size for gCLI (and chat) so scrollback is more useful with verbose scripts.

Revision: 9862
Shard of Double-Ice is a combat item.

Revision: 9863
Parse fullness from the character pane, when it is shown.

Revision: 9864
Change the way familiar annotations are displayed in the Mafia GUI and in the Character Pane, so that line breaks can be used.

Revision: 9865
Track and log monster healing.

Revision: 9866
Add counters for Holiday monsters and Romantically arrowed monsters, thanks to Rinn @ kolmafia.us.
Add a Romantic Arrow daily deed.

Revision: 9867
Update the descriptions of effects gained when consuming food/booze.
Fix typo

Revision: 9868
Add monster "phylum" to monsters.txt to indicate which group they belong to. Add the $phylum type, as well as the folowing ASH functions:
phylum to_phylum( string )
phylum monster_phylum()
phylum monster_phylum( monster )

Revision: 9869
$phylae is the plural type constant for $phylum
Thanks again to lostcalpolydude @ kolmafia.us for the update to monsters.txt

Revision: 9870
Add the monster's phylum in the Relay Browser during combats.

Revision: 9871
phylae -> phyla

Revision: 9872
Leave event messages in response text, and we'll see how it goes.

Revision: 9873
Add any messages that were seen in previous page loads without the relay browser when viewing a page in the relay browser.

Revision: 9874
Smarter replace logic for events -- only replace main.php or a page that is already showing events.
This means that main.php is the only place that will show past events that were encountered during automation, which is roughly the same as how things were before any of these changes happened.

Revision: 9875
Provide a warning if the user has no adventures and is not using a familiar.
Improve detection of combat zones when giving user a warning on a 100% familiar run.

Revision: 9876
Since we're only checking the URL string for adventure name data, that means that only URL portion will ever match against the adventure database.
As such, only accept GET requests and ignore anything with POST data when sending a familiar warning to the user. This will handle things like the Daily Dungeon, where the user will be alerted before they visit the Daily Dungeon, but not after every single adventure there.

Revision: 9877
Update some monster stats, thanks to Theraze and StDoodle @ kolmafia.us

Revision: 9878
Initial support for the Make-Your-Own-Vampire-Fangs kit.

Revision: 9879
Add proxy record for ASH monster values.
int base_hp
int base_attack
int base_defense
int base_initiative
element attack_element
element defense_element
int min_meat
int max_meat
float base_mainstat_exp
phylum phylum
effect poison

Revision: 9880
Add the new kobold monster/items/familiar.
Spaghetti Demon -> The Spaghetti Demon

Revision: 9881
Add bounty information in the proxy records values of ASH item and location values.
location item.bounty
int item.bounty_count
item location.bounty

Revision: 9882
Fix misplaced tab in modifiers for Scepter of Torremolinos Princw

Revision: 9883
The Adorable Seal Larva is a Mosquito. Log when it removes HP from a monster.

Revision: 9884
When you are drinking without enough turns of Ode to Booze, Mafia automatically casts it if you know the skill and have enough MP.
Only do this if you can interact. When you are in Ronin/HC, simply ask for confirmation.

Revision: 9885
Switch to GIFs instead of JPEGs for login window, since Java 7 has trouble loading JPEGs.

Revision: 9886
Remove explicit use of Foxtrot classes when loading windows in GUI.

Revision: 9887
Remove unused imports.

Revision: 9888
Add Haunted Sorority House adventuring zone.
Override Sexy Sorority Monsters into base type, a la elemental hobos

Revision: 9889
Refactor current logic of explicitly invoking creatable item list refreshing to simply setting a flag on whether or not a refresh is needed.
Take advantage of this refactoring to call a lighter-weight version of refreshConcotions on every request that only does any refreshing if a change actually happened that would require a refresh.
Further taking advantage of this refactoring, only call deferRefresh when you're trying to defer the processing of multiple requests.

Revision: 9890
Take advantage of concoction refresh refactoring to defer refreshes if there are no goals specified that have a known creation method, which may be common in aftercore and saves time spent refreshing your concoction list.

Revision: 9891
Refreshing concoctions might have to make a request to get gender. Making a
request refreshes concoctions. Uh-oh.
Add items dropped by sexy sorority monsters
Reorganize zones: Clan Basement holds Hobopolis (which holds other zones), The
Slime Tube, and the Haunted Sorority House

Revision: 9892
Add spoilers and configuration for Sorority House choice adventures.

Revision: 9893
Add support for the Sorority Staff Guide. Add a choice for the Prop Deportment so the user can let Mafia decide between getting a chainsaw chain and a funhouse mirror.
Add some modifiers

Revision: 9894
Almost all "potions" end up being multi-usable, but KoL almost always forgets to
set that flag when the item is first introduced. Therefore, when generating an
item override for a new "potion", assume it is "usable" not "multiple".
None of the new Haunted Sorority House potions are multi-usable. Yet.

Revision: 9895
Once you refresh, a refresh is no longer needed

Revision: 9896
The use link for the Haunted Sorority House staff guide cannot load inline since
it redirects to a choice adventure.
chainsaw -> chainsaw chain

Revision: 9897
Change the way Sorority House monsters are recognized, since the name patterns changed.
Add a few options for the Sorority House choice adventures settings. Also add item amounts in the spoilers.
Add support for the silver item smithing adventure.

Revision: 9898
Show how many silver shotgun shells you have in the Prop Deportment spoilers.
Add The Necbronomicon and The Cooler Out of Space.

Revision: 9899
Add choiceAdventure553 (Relocked and Reloaded) to defaults.txt

Revision: 9900
Fix for proper tab not being automatically selected when the appropriate option is selected from menus or buttons

Revision: 9901
Fix concoctions not refreshing before auto-creation of quest items and item consumption that results in a redirect (most consumption)

Revision: 9902
Add The Necbromancer's Stein.
In the Relocked and Reloaded spoiler, show the amount of silver tongue charrrm bracelet, not the amount of silver tongue charrrms.

Revision: 9903
Update outfit modifiers.
Add The Necbromancer's Hat, Shorts and Staff.

Revision: 9904
Behind the Spooky Curtain is choice adventure 554, not 555

Revision: 9905
Fix typo in choice option menu. cursed scrunchie is single equip. add outfit
effect for Radio Free Regalia

Revision: 9906
Add some logging to show what happened in the Sorority House choice adventures.
Add a few status effects.

Revision: 9907
Fix a typo: if you fail to kill skeletons, say that you need a funhouse mirror,
not a chainsaw chain.

Revision: 9908
Allow breakfast scripts to know about creatable items

Revision: 9909
Boners Ho!

Revision: 9910
If you acquire a coinmaster token, a refresh will be needed

Revision: 9911
Ensure that password hash is included for Vending Machine requests.
Don't crash if a CoinmasterData does not have an item.

Revision: 9912
Add support for The Economist of Scale.
The Necbromancer outfit is a zap group.
Add a few modifiers.

Revision: 9913
Add some (used) versions of skill books. Add Comic-Con 2011 items.

Revision: 9914
Add some plurals.

Revision: 9915
(used) skill books are not consumed when used.

Revision: 9916
Add more (used) skill books.
Using the (used) versions of skill books teaches you skills.

Revision: 9917
Add Haunted Sorority House booze.

Revision: 9918
Haunted Sorority House drinks give 3-4 adventures.
Add monster phylum for the Sorority House.

Revision: 9919
We lower-case drink names in inebriety.txt
Add Sticks and Stones status effect
Comments in modifiers.txt for all the sorority drinks

Revision: 9920
Treat /hauntedhouse like other clan dungeon chat channels

Revision: 9921
Add Autobiography Of Dynamite Superman Jones (used).
(used) versions of skillbooks really do give skills.

Revision: 9922
Allow for expressions to get really unreasonable (increase maximum stack depth from 128 to 1024).

Revision: 9923
Only show events once in the relay browser.

Revision: 9924
The "unreasonably complicated expression" error message now includes a little
more detail, which may help in tracking down the cause.
Mafia's [use] links for items classified as potions now have a pop-up with
predicted modifier changes, just like [equip] links.

Revision: 9925
Outfits with names starting with 'save' can now be put on as expected.

Revision: 9926
Code cleanup to use strings, in case some compilers implement auto-unboxing for primitives.

Revision: 9927
Prevent Mafia from trying to log on the www1-www7 servers.

Revision: 9928
There is now only one login server and no way to connect via IP address.

Revision: 9929
Make sure threaded button actually results in something happening in a separate thread.

Revision: 9930
Remove unused import (it moved to inside of RequestThread)

Revision: 9931
Fix InvocationButton method not found exceptions on startup.

Revision: 9932
Restore ability to connect via IP address

Revision: 9933
Don't use mojo filters when you don't have enough spleen used, thanks to lostcalpolydude @ kolmafia.us.
Check for error messages when using a Haunted Sorority House staff guide.

Revision: 9934
Save object in InvocationButtons so non-static methods can be called

Revision: 9935
The Haiku Dungeon and the Dungeon of Doom are not in Seaside Town anymore, so list their choice adventures along with other dungeons, in the Mountains.

Revision: 9936
Added even more debugging output to the "Unreasonably complex expression"
error message. If you're one of the people experiencing this problem, please
post the output from the very first instance of the error in a mafia session.

Revision: 9937
stocking mimic doesn't automatically gain xp in combat

Revision: 9938
Print events in the gCLI.

Revision: 9939
Only recalculate adjustments on a charpane.php request that refreshes the character status.
Doesn't fully resolve the possibility of people clicking quickly in the relay browser resulting in lots of adjustment recalculations to run in parallel, but it should reduce them a bit.

Revision: 9940
Autobiography Of Dynamite Superman Jones is reusable

Revision: 9941
Fix compile error

Revision: 9942
Make sure threaded menu item actually results in something happening in a separate thread.

Revision: 9943
Add missing menu items from previous commit.

Revision: 9944
Since CLI commands, buttons, menu items and action panels all run in something other than the event dispatch thread, remove FoxTrot library.
If the UI locks up when you do something because it was overlooked in all this refactoring, that would be a bug.
If the UI renders funny because things aren't running in the event dispatch any more, that might also be a bug.
If you get a stack trace that says something like "pause object in event dispatch thread", that might also be (you guessed it) a bug.

Revision: 9945
Use default look and feel for an operating system if the user hasn't specifically set one. This allows cross-platform usage to be a little better.

Revision: 9946
Add some plurals

Revision: 9947
Necbromancer drops pulverize into epic wads

Revision: 9948
Make sure threaded listener actually results in something happening in a separate thread.

Revision: 9949
Overhaul of the modifier expression evaluator, aimed mainly at thread safety
issues (my best guess as to the root cause of the "unreasonably complicated
expression" problem). Glory to those [bugs] who die!
* Partially reverted the split of Expressions into multiple dialects. There
is now a single evaluator loop that handles bytecodes from all three
dialects, which are now distinguished entirely by what operations are allowed
at compile time. This gains back some performance, but more importantly it
allows the stack pointer to be a local variable again, rather than a field of
the Expression (which wasn't safe given the possibility of multiple threads
calling eval() concurrently).
* Instead of having a separate stack per Expression (also unsafe), stacks are
now acquired from a factory function. Normally the same stack gets reused
for each eval(), but in the case of a concurrent or recursive call to eval()
a new stack gets allocated.
* Non-integer numeric literals (which were previously stored in the
Expression's private stack) are now kept in an ArrayList, just as the various
kinds of string literals were. All literals are now in the same list,
allocated only if needed, rather than wastefully allocating a separate list
for each possible kind of literal.

Revision: 9950
Mariachi toothpaste is not multiusable

Revision: 9951
Add new Halloween items and effects. Add Banfoy's Boutique Order Form

Revision: 9952
Add some plurals

Revision: 9953
You can't use a sexy costume item if you already have a sexy costume effect.

Revision: 9954
Haunting Looks is effect number 937, not 938.

Revision: 9955
Upon login, we choose look-and-feel based on the swingLookAndFeel setting. If
that setting is "", we choose a system default value. The Preferences/Look and
Feel panel does did not know what to do with that setting at "". Teach it:
If the setting is "", show the system default
If the selection is the system default, make the setting be "".
Preliminary support for FancyPants Scarecrow. It does not appear to be affected
by familiar weight effects, skills, and items. Instead, it takes its weight
from whatever pants it is wearing. This can be specified in modifiers.txt
by adding a Familiar Effect: "cap 10" for example to the item. Presumably
there are other effects from wearing particular pants, just like hats on a
hatrack, and those effects should e added to the Familiar Effect modifier.

Revision: 9956
Added goals for artist quest, evil eye and plus-sized phylactery

Revision: 9957
Remove kludges to account for scarecrow not being affected by familiar weight
effects, since that was a KoL bug which is now fixed.

Revision: 9958
The Slime Tube isn't a zone anymore, it's a location. Make sure the extra ML from Slime Hates It is taken into account when you are in the Slime Tube.

Revision: 9959
Changed pretentious paint to pail of pretentious paint for artist quest goals.

Revision: 9960
In the Arboreal Respite choice adventure, choosing to Squeeze into the cave after you have already obtained the tree-holed coin skips the adventure without using an adventure, so change the "Spooky Temple map" setting to "Spooky Temple map then skip adventure".
Make the spoilers shown in the Relay Browser for Arboreal Respite dynamic.

Revision: 9961
Check if you have enough meat before trying to buy a spooky sapling.

Revision: 9962
Can of Black Paint is not usable in fistcore.

Revision: 9963
Add a link to The Hacienda when you get a Hacienda key.

Revision: 9964
remove temporary code added to get around since-fixed KoL bug

Revision: 9965
Additional debugging for when things run inside of the event dispatch thread when they aren't supposed to

Revision: 9966
Fix logout requests running in the same thread as the window dispose attempt

Revision: 9967
Fix chat not switching channels when the current channel is closed.
Fix chat not unlistening to a channel when the window/tab is closed

Revision: 9968
Remove ActionListenerRunnable, since it really is just duplicate code. Instead, re-apply old code to ThreadedListener and add code which clears an event once it's been processed so it can handle both action events and key events.
Using the new ThreadedListener, fix some of the 'runnables in the event dispatch thread' that were identified in the previous commit.

Revision: 9969
Turns out that just recalculating is enough, because ingredient counts also need to be recomputed.
While it's technically simple enough to do given that you'll most likely only have one item with two ingredients, just refresh the whole concoctions list for simplicity.

Revision: 9970
Update fakeitem command to allow you to fake meat acquisition as well for testing.

Revision: 9971
Added more options for Pyramid goals.

Revision: 9972
Delete Foxtrot directories and license files.

Revision: 9973
It is possible for characters that are level 11 or lower to have finished the Filthworm sidequest, which means they can shop at the post-war hippy stand.

Revision: 9974
Finally, Louvre automation is fully driven by the improved prediction model,
not just the choice spoilers.
Choice adventures are now decorated with an arrow indicating which choice
would be taken when automating.

Revision: 9975
The first choice in the Welcome to the Footlocker choice adventure doesn't only give you Knob jelly donut.

Revision: 9976
Exact matches for CCS before substring matches

Revision: 9977
Wait for the relay server to load when loading the URL, rather than when instantiating the object that loads the URL. This prevents pause objects from being run in the event dispatch thread.

Revision: 9978
Make debugging of UI freezes opt-in so as to not fill up people's debug logs while we sort this out

Revision: 9979
Initialize the desktop, then request focus in the event dispatch thread, since initializing the desktop may result in requests running in parallel.

Revision: 9980
Remove table buttons, since their listeners are not fired in a separate thread, and replace them with a threaded version of those listeners.
This should address the problem of clan management, store management and the cake-shaped arena causing a debug trace if you have Foxtrot debugging enabled.

Revision: 9981
Fix internal chat links resulting in runnables in the event dispatch thread.

Revision: 9982
Add the following ASH functions to remove items from your mall store:
boolean take_shop( item it )
boolean take_shop( item it, boolean takeAll )
where takeAll defaults to true in the one-parameter version. If takeAll is false, only one of the specified item will be removed.
Add the shop CLI command, to add or remove items from your mall store.
Replace the autosell button in the Store Manager's Removals tab with a 'take one' button.

Revision: 9983
Only exit if the user is logged out. For now, the only reliable way of checking for this is to check against the password hash.

Revision: 9984
Allow all loopback addresses as referers

Revision: 9985
Don't add a second spooky putty sheet to your inventory when using a spooky putty monster that contains nothing.

Revision: 9986
Fix buttons on tables (like store manager)

Revision: 9987
Login command in CLI requires that you be logged out successfully before it tries to login again.
Therefore, rather than run logout in parallel, let it run normally and only run the logout from closing a window in parallel.

Revision: 9988
When using "import", don't look for the name of the file to import in other commands on the same line.

Revision: 9989
Restore icon that was removed from the Store Manager frame in Revision 9980.

Revision: 9990
Allow "kitchen", "restaurant", and "brewery" commands to take a numeric item id
parameter, rather than just an item name. This will allow the ASH eat() and
drink() functions to retrieve daily specials from the appropriate cafe

Revision: 9991
Fix possible race conditions when initializing user interface

Revision: 9992
Add familiar effects for some hats and for pants, as per the KoL Wiki.

Revision: 9993
Nothing should extend StaticEntity

Revision: 9994
Refresh the ItemDatabase when you ascend, to clear any item alias.

Revision: 9995
Eliminate infinite loop if find unexpected form while decorating choices

Revision: 9996
Add 11/11/11 items

Revision: 9997
Mark handful of confetti as "multiple, reusable". Make that go to multiuse.php

Revision: 9998
Add some useful links to the gash jumping page thanks to Rinn @ KoLmafia.us

Revision: 9999
Start of ChoiceManager refactoring, initially focused on collecting all the
data and code for each choice adventure in a single place, rather than spread
over 3 arrays and 11 functions. I have only refactored the static data so
far, but didn't want to hold up release of these other changes.
Added "go to goal" button for Dungeon Fist!, giving you a consistent 30 Game
Grid tickets. This can only be done from the initial page of the game, as
it's just a playback of a recorded sequence of moves, with no ability to pick
up in the middle of a game.
There are 122 moves in the sequence, so the existing choice-goal mechanism
wouldn't work very well - the relay browser would almost certainly time out
the request before the sequence was complete. Therefore, any command
submitted via /KoLmafia/specialCommand that takes more than half a second to
execute will now produce a status page that auto-refreshes every second until
the command is complete.
Recovery, mood maintenance, and other between-battle actions are no longer
attempted between the steps of a chained choice adventure (and hopefully also
multi-form battles like Ed, but I was unable to test that). This was needed
for Dungeon Fist! because it replaces your normal HP readout on the charpane
with the in-game HP, which would otherwise be likely to falsely trigger
recovery.
The main item-usage commands are now blocked when a choice adventure or fight
is in progress, as they would otherwise fail in ways that we don't always
detect, resulting in inventory count discrepancies.

Revision: 10000
Louvre and Violet Fog automation can now be overridden by the presence of any
of the possible goal items in your conditions.
The Dungeon Fist! solver now shows progress messages when automated from the
relay browser.
Acquired Game Grid tickets now link to the redemption counter.

Revision: 10001
Fix to my specialCommand progress display from Revision 9999: instead of waiting for
the command to assign to specialCommandResponse, wait for the command queue
to be empty. This allows arbitrary commands to be invoked, even if they
never assign to sCR (which would otherwise leave the "Automating..." message
refreshing forever), and properly handles commands that assign to sCR more
than once (as the chess solver does).
The chess solver now applies decorations to its final page load, so that your
cookie gets its [eat] link. Because you want instant gratification, and you
want it NOW.

Revision: 10002
Initial support for the "Trendy" path. Disregard "expired" familiars or bookshelf skills.

Revision: 10003
Further Trendy support:
- When you ascend into a Trendy path, log that in the session log
- add ASH function is_trendy() which will assess whether an item, skill,
familiar, or random string is defined as trendy by typeii.php.
boolean is_trendy( item )
boolean is_trendy( familiar )
boolean is_trendy( skill )
(note that bookshelf skills get translated in KoL's "Bookshelf" category to
determine this)
boolean is_trendy( string thing)
(a catch-all; verifies that the random string is not untrendy in any of the
various possible categories. This is the only way to check a Campground item,
at the moment

Revision: 10004
Pure, unadulterated, greed.

Revision: 10005
Removed some unused imports in /lib files

Revision: 10006
More Trendy support:
- do not show untrendy familiars
- do not try to automatically equip untrendy familiar items
- do not show untrendy restoratives
- do not show untrendy consumables
- do not equip untrendy equipment
- do not show untrendy bookshelf skills
- do not try to pull untrendy items
- do not consider untrendy items when maximizing
The list of trendy items is now parsed when you log on (or when you ascend) if your character is trendy.

Revision: 10007
creation.item can be null. Don't crash at startup.

Revision: 10008
In Trendy runs, do not show Daily Deeds that depend on untrendy Clan Items.

Revision: 10009
Recognize items with HTML tags when parsing typeii.php

Revision: 10010
Properly check if Clan Items are trendy.

Revision: 10011
You can create Clip Art items in Bad Moon after recalling your skills.

Revision: 10012
Remove certain trendiness checks, since items already in your inventory can be used regardless of their trendiness.
For trendy characters, do not count untrendy items in storage in InventoryManager.getAccessibleCount() and do not try to acquire untrendy items from the stash, the storage or the mall in InventoryManager.retrieveItem().
In the Maximizer, check if clan items are trendy when needed. Also check if you can equip suggested familiars.
In the Daily Deeds, check if you can equip familiars.

Revision: 10013
Add recipes for Rough Stuff

Revision: 10014
Some slight Maximizer tweaks for better Scarecrow support, and general
efficiency.

Revision: 10015
Currently, choice adventures are recorded in the session log as just a raw
URL. Added a more human-readable format:
"Took choice XXX/Y: ZZZZ"
where ZZZZ is mafia's spoiler for the choice that was taken.
I have left the raw URL in the log for now, in case any log analysis tools
are relying on it.

Revision: 10016
"N pirate insult" and "N arena flyer ml" are now valid goals.
The vast majority of AdventureResult instances now have their count as a
field, rather than a 1-element array - the memory and time savings are small,
but get multiplied by the many thousands of these objects that exist. The
few instances that actually need an array with multiple values (3 or 4 at any
given time) are now handled by a subclass.

Revision: 10017
Do not consider untrendy items for untrendy characters when maximizing with "pullable/buyable" checked.
Add Thwaitgold butterfly statuette.
Update some modifiers for the Fancypants Scarecrow and for the Crown of Thrones, thanks to lostcalpolydude @ kolmafia.us

Revision: 10018
Tweak ScriptMRUList for potential reuse.

Revision: 10019
Tweak ScriptMRUList some more for potential reuse.

Revision: 10020
For unarmed characters with Master of the Surprising Fist, take into account the +20 to-hit in the Location Details and in the ASH function buffed_hit_stat().
This allows players to auto-adventure with "attack" as their combat action in zones where they wouldn't be able to hit anything without Master of the Surprising Fist.

Revision: 10021
Give a meaningful error message instead of a debug log if an ASH
octal/hex/Unicode character escape contains too few digits.
Removed bizarre use of BigInteger class in parsing character escapes.

Revision: 10022
Preliminary implementation of MRU list for Modifier Mazimizer

Revision: 10023
Fix typos in maximizerMRUList

Revision: 10024
If you are Trendy, you get no benefit from the Feat of Boris

Revision: 10025
Added "choice" CLI command, to resolve manual or unsupported choice
adventures without having to visit the relay browser - which might be
inconvenient if you're already in the CLI, and don't need to see the full
adventure text to decide which option you want. With no parameter, "choice"
just lists the options. With a numeric parameter, it picks that option.
With any other parameter, it picks the first option containing that text (in
either the actual button text, or mafia's spoiler text).
"trigger" is now a full-line command, since the action parameter can
reasonably contain semicolons.

Revision: 10026
Wait until the main interface is loaded whenever you attempt to display it to avoid any race conditions that may cause premature exits in the program.

Revision: 10027
If you're helping debug the Foxtrot removal, print out messages indicating how many request threads have not been properly closed

Revision: 10028
Move login logic to its own class to ensure that request sequences don't stay open if an exception happens on login

Revision: 10029
Less strict check for exiting from KoLmafia when login window closes now that main interface race condition is resolved

Revision: 10030
Add a logout manager to mirror the login manager.
Move the on-logout logic (such as any nightcap scripts people may have) out of the logout request and into the logout manager.

Revision: 10031
Only request contact list once, rather than every time it's empty (fake it by adding current user to the contact list).

Revision: 10032
Fix stack trace when loading menu bar due to method being moved

Revision: 10033
Somewhat major refactoring of how enabling/disabling of display happens. Some preliminary testing of the different user interfaces, the CLI and the up arrow options in the relay browser has not revealed anything out of the ordinary.
Essentially, with these changes, rather than have all the different things in KoLmafia open and close request sequences explicitly, rely entirely on ThreadedListener (or really anything which invokes RequestThread.runInParallel) to do so automatically. CLI-related tools themselves (such as the actual CLI and the gCLI) will also be responsible for opening/closing request sequences.
In case things still cause problems, a new command 'graygui' (or 'greygui' if you prefer that spelling) has been added to the CLI, which will print out all the entry points for all the stuff that still has a known open request sequence.

Revision: 10034
Use RequestThread.runInParallel for post-login re-initialization due to choices and fights.

Revision: 10035
"0%" appears on adventure window if it loads without any additional messages being printed to it, since a JProgressBar shows its current percentage completion as its default text.
Resolve this by setting the status message to the last thing printed to the display.

Revision: 10036
Do not do any additional requests if a redirect occurs when requesting the character sheet to avoid unnecessary server hits on choice/fight pages.

Revision: 10037
Since we only have a 32-bit DLL for the system tray, don't try to load it if running on a 32-bit architecture.

Revision: 10038
Rather than rejecting all non-x86 architectures, try to load the DLL in case you are using Java 6, since rumor has it that loading the DLL still works there.

Revision: 10039
A basic meat skirt also makes the Fancypants Scarecrow act like a fairy.
Set the default number of usable pants to 2, just like hats.

Revision: 10040
Move listeners into a package where they will compile

Revision: 10041
Remove foxtrot license from license display

Revision: 10042
Do not build KoLmafia or continue execution if compile fails. Fixes problem where partial daily build JARs are created when KoLmafia does not actually compile.

Revision: 10043
Fix cancel button not cancelling

Revision: 10044
Fix rogue button panel occuring to right of adventure panel

Revision: 10045
Fix button disappearing from login

Revision: 10046
If no active requests are going, make sure that submitting a relay browser request triggers a force-continue

Revision: 10047
Move special actions panel and combat actions select to Custom Combat subtab.
Change buttons on adventuring interface to be arranged vertically rather than horizontally to give them more room.

Revision: 10048
Fix memory leak that keeps main interface in memory even after it's been closed.

Revision: 10049
Modifier maximizer and special combat execute CLI commands as well, so open and close request sequences inside of executeCommand.

Revision: 10050
Call xdg-open as the default browser if available

Revision: 10051
Rather than default browsers, use default 'open file' applications and fallback to Firefox if none are available.

Revision: 10052
Add plural for the Notes from the Elfpocalypse.

Revision: 10053
Lollipop Forest

Revision: 10054
Peppermint Seed Catalog and Peppermint Pip Packet

Revision: 10055
Treat clicks in DatabaseFrame as threaded listeners

Revision: 10056
Change one character. This is Incredibly Important.

Revision: 10057
Add more Peppermint items and concoctions.

Revision: 10058
Lolliphaunt

Revision: 10059
Disco Power Nap does not remove the Flared Nostrile effect.

Revision: 10060
Add the Gingerbread Homestead choice adventure, as well as the licorice root item and effect.
Add peppermint drinks to concoctions.txt. The peppermint parasol is no longer untinkerable.

Revision: 10061
Add plural for cold-filtered water

Revision: 10062
Quick & dirty fix for NPEs after consumption when addCreationQueue is false.

Revision: 10063
Add Lolrus and monster data for the other lollipop monsters.

Revision: 10064
The [use] link popup for potions now indicates the duration of the effect you
will receive.
Added missing default for choiceadv 557 (the gingerbread house).

Revision: 10065
Add day 5 advent items and concoctions.

Revision: 10066
Make sure to clean up after panel listeners to avoid potential memory leak

Revision: 10067
Don't print request sequence for thread that is requesting graygui information.

Revision: 10068
Fix enter key not triggering actionConfirmed in a request sequence

Revision: 10069
Fix potential memory leak in Windows if main interface is closed and reopened constantly (such as when you relogin).

Revision: 10070
Fix default component focus when switching between frames. This doesn't fix what happens when a frame loads, however, so will still need to find out what happened there.

Revision: 10071
If you're debugging the Foxtrot removal, add additional functionality to the ESC key to print out what currently has focus.

Revision: 10072
Fix null pointer exception when there is no parent comparator or no default component

Revision: 10073
Only use tabs as default component for main interface, seems to break other interfaces like item manager otherwise.

Revision: 10074
Add more bricko airship, cathedral, chicken as per lostcalpolydude

Revision: 10075
Add day 6 sucker items.

Revision: 10076
When discover new items in mall (or any place other than api.php), read
equipment power from item description, rather than assuming it is 0
Add peppermint sprout and giant candy cane to possible crops in your garden.
This makes them appear in result of get_campground() and selectable as
harvestable goals during breakfast.

Revision: 10077
1 giant candy cane. Peppermint rhino. licorice boa

Revision: 10078
ash function format_dtg for StDoodle @ kolmafia.us

Revision: 10079
Add support for the Tool Time choice adventure.

Revision: 10080
Add the choiceAdventure558 setting to defaults.txt

Revision: 10081
ash function format_dtg renamed to be format_date_time

Revision: 10082
Don't add status bar to main interface

Revision: 10083
When a panel is disposed, do not try to reload it.
This will fix the issue where the login window does not disappear when you relog as well as windows where the compact side pane stops refreshing.

Revision: 10084
Add Advent day 7 lollipop monster and its items. Add a few plurals. Update lollipop monster stats and item drop rates.

Revision: 10085
Check if the character is the correct class before using a class-based skillbook and deciding a new skill has been learned.

Revision: 10086
Fix name of blue raspberry troll doll. Add plural for Field Guide to Skeletal Anatomy.

Revision: 10087
Fix runnable in event dispatch thread when loading the mushroom plot interface and the mini-browser.

Revision: 10088
Fix memory leak where action panels stay in list used for broadcasting messages to all panels after window is closed.

Revision: 10089
Fix memory leak for user interface elements registered to the preference registry.

Revision: 10090
Fix null pointer exception when loading the trophy window when not logged in.

Revision: 10091
Fix character listener memory leak when viewing player status using internal UI.

Revision: 10092
More defensive coding in case text passed to StringUtilities is null.

Revision: 10093
CheckboxUpdateListeners will immediately get garbage collected because all we have is weak references to them.
Instead, create checkboxes that are themselves preference listeners and register those. Provide a convenience class (PreferenceListenerCheckBox) which provides all the preference listener functionality.

Revision: 10094
fix plural of leather aviator's cap
giant candy cane pulverizes into candycaine powder

Revision: 10095
Add Fudge Mountain adventure location, monsters and item.

Revision: 10096
Add fudge lily and the Fudge Mountain Breakdown choice adventure. Update stats for the fudge monsters.

Revision: 10097
Add support for the Fudge Mountain Breakdown choice adventure. For real this time.

Revision: 10098
Take into account any weight cap when computing a familiar's modified weight.

Revision: 10099
Pre-retrieve multiple items to use even if autosell price is 0

Revision: 10100
Don't bother saving an outfit checkpoint when buying selter, since the KGE
Uniform is no longer needed.

Revision: 10101
When checking for duplicate key variables in foreach, do not search in varlist
of parent scope. Search in list of key variables already declared

Revision: 10102
Add Fudge Oyster.

Revision: 10103
When decorating the Gash and offering to send gifts to developer, use acquire
to ensure the accessible gifts are in inventory before csending them along

Revision: 10104
If a request sequence is running as a frame is loaded, disable the display. This should help with the problem of the login window opening in the middle of a request sequence on logout staying enabled.
Fix duplicate tabs appearing in main interface.
Fix runnable in event dispatch thread if main interface is loaded in event dispatch thread, triggering subframes (which may post requests) to also send requests as they are loading.

Revision: 10105
Fix first tab in main interface always getting auto-selected even when menu option for another tab is selected.

Revision: 10106
Group together imports a little bit better.
Reorganize UI building logic to allow for frame panel's center component to be added directly to a tab rather than have the wrapping panel added. This should make focus a little bit more consistent and the refactoring resolves an issue where some interfaces (such as the one that pops up from /who) lost its toolbar panel.

Revision: 10107
Log requests even if buffbot is running.

Revision: 10108
Ensure that display is disabled during logout.

Revision: 10109
Since the stuff inside of LogoutManager.logout() will already be called inside of a parallel thread, call it directly instead of wrapping another runnable inside of it.

Revision: 10110
Change ctrl+f6 and ctrl+shift+f6 hotkey to ctrl+pageup and ctrl+pagedown in order to match web browsers like Chrome.

Revision: 10111
Add the Swarm of fudgewasps. Use the _fudgeWaspFights preference to track how many Swarms of fudgewasps have been fought by taking the "Look for trouble" choice in the Fudge Mountain Breakdown choice adventure.

Revision: 10112
Fix class cast exception when closing buff request window

Revision: 10113
Add fudge poodle.

Revision: 10114
Add plural for fudge lily.

Revision: 10115
Since the problem with logout scripts wasn't related to request sequences (it just needed some display update happening in a request sequence that was already taking place), rollback the change that breaks logout scripts on exit and via CLI logout.

Revision: 10116
Fix removing of last element in highlight list.

Revision: 10117
Add Advent day 13 fudge items. Add plural for Single Alice's Army Foil. Add candy cane candygram.

Revision: 10118
Rather than assume that the default look and feel means that the user wants KoLmafia to use the OS-specific look and feel, make that option explicit.
This allows people to specifically set the look and feel and have that be used across operating systems.

Revision: 10119
Fix itemdescs.txt data from Revision 10117.
Add stats for the Fudge poodle and the Swarm of fudgewasps.

Revision: 10120
Add image info for Fudgehound

Revision: 10121
Mark more items as "candy", according to the KoL Wiki.

Revision: 10122
Add the boolean "fancy" and "candy" fields to item proxy records.

Revision: 10123
Fix being unable to tab between fields.

Revision: 10124
Add Advent day 14 Fudge items.

Revision: 10125
fudgecycle is now single equip
fudge wand can't be used via ajax

Revision: 10126
Lollipop jewelry is single equip. Fudge lily and fluid of fudge-finding are both multi-usable.

Revision: 10127
Translate all the path numbers in api.php to the names of the paths.

Revision: 10128
Add frigid fudgepuck.

Revision: 10129
Add the Fudge Wand coinmaster.

Revision: 10130
fudgsicle

Revision: 10131
The fudge spork is a food helper.

Revision: 10132
Add gummi items, effects and concoctions.

Revision: 10133
Recognize mining in the Gummi Bear mine.

Revision: 10134
Add Toot Oriole care package.

Revision: 10135
FudgeWandRequest claims only usage of the fudge wand, not all inv_use calls.

Revision: 10136
Add Advent day 17 items.

Revision: 10137
Extract effects from Char Sheet.
cane-mail items smash into candycaine powder

Revision: 10138
Handle complete absence of effects on the Char Sheet.
Pull All can now go to both inventory and closet. For now, handle this by
calling InventoryManager.refresh(), to refresh inventory and closet.

Revision: 10139
Make restore_mp() return value agree with restore_hp()
Eliminate value consing for some common constants

Revision: 10140
Add The Abominable Fudgeman. Mark more candy items as candy.

Revision: 10141
Add 2011 Crimbo Toy Factory Gift items. Add data for Candy Credit trading

Revision: 10142
The Crimbo Cafe is open

Revision: 10143
Update fullness for Turnip and Rutabaga Pie

Revision: 10144
Mark more items as candy.

Revision: 10145
Use ñ instead of special character in coinmasters.txt for jabañero-flavored chewing gum

Revision: 10146
Add Advent day 19 monster and item.

Revision: 10147
Initial support for "Crimbo 2011" coinmaster: trade candy for Candy Credits and
use Candy Credits to send gift items.

Revision: 10148
Detect when your desired victim already has a Crimbo present

Revision: 10149
No NPE if visit Cimbo Town with no action and no place

Revision: 10150
ItemDatabse.miniReset - called when logging in to a previously initialized
KoLmafia session - no longer clears the itemIdByName table, thus losing some of
the ability to use overridden items.

Revision: 10151
5 more candies for the Crimbo 2011 Coinmaster, thanks to Bale

Revision: 10152
When you send a Toy Factory gift, log "for xxx" or "for the needy" in the
session log.

Revision: 10153
url_decode the victim's name

Revision: 10154
Filter out action=buygifts in Crimbo 2011 Coinmaster, since that is just a
transitional form on the way to action=reallybuygifts.
Giving to the Needy can be either towho=0 or towho=

Revision: 10155
Add speculative sonsumption data for peppermint twist drinks

Revision: 10156
Big Candy's tophat. Speculative consumption data for peppermint patty

Revision: 10157
Fix a typo that was preventing Mafia from knowing about Mysyicality stat days.

Revision: 10158
Only complete "purchase" in the Toy Factory if we detect a "success" message.
Recognize the failure message for invalid item IDs, such as generated by bcc's
crimbo gift script.
Attempt to extract any unknown failure message.

Revision: 10159
candy cane candygram concoction

Revision: 10160
Add Advent day 21 and 22 tiny plastic items.

Revision: 10161
Save per-user item aliases - bang potions, stone spheres, slime vials - in a
special table and remove all old aliases from global canonical name array when
log in as a new user

Revision: 10162
Add Advent day 23 tiny plastic item.

Revision: 10163
Add a _allYearSucker and a _darkChocolateHear preferences to track usage of those items.

Revision: 10164
Save plural aliases and clear them when you log in as a new character

Revision: 10165
Don't reject an NPC store item just because you can't afford it.

Revision: 10166
Add Advent day 24 and 25 tiny plastic items and items send by Uncle Crimbo
Add Toy Factory effects, items, food, booze and familiar.
Track daily usage of the Jackass Plumber home game and the Trivial Avocations board game with the _jackassePlumberGame and _trivialAvocationsGame properties.

Revision: 10167
Add Atomic Pop, fix names of Trivia cards, add Trivia effects

Revision: 10168
Add the Trivial Advocations board game to "once a day" breakfast items.

Revision: 10169
Fix form url for getting 2nd and subsequent pages of a mall search
Add Crimbo Credits for the Atomic Pop

Revision: 10170
A Trivial Avocations card is not consumed until you flip it over and get the
answer. When you do that, log card number, question, and answer.

Revision: 10171
Mark go-wassail as EPIC booze.

Revision: 10172
jerky coins are EPIC
When you log in as a new character, clear consumption queues rather than
retaining whatever previous character had queued.
Ingredients that are coinmaster tokens do not have a Concoction

Revision: 10173
Correctly detect Crimbo Cafe requests and register request.
Refactor CrimboCafeRequest to make this easier next year

Revision: 10174
When queueing items on the Food/Booze/Spleen panels, look them up by name,
rather than by item ID. This should allow cafe offerings (which aren't items)
and sushi (which also are not items) to obey consumption limits.

Revision: 10175
The eXtreme Bi-Polar Fleece Vest drops from eXtreme Orcish Snowboarders.

Revision: 10176
If your spleen is full, don't use spleen-consuming recovery items

Revision: 10177
Give CoinmastersFrame's wrapper panel a BorderLayout

Revision: 10178
plurals for trivia cards

Revision: 10179
Arena parameters for Tickle-Me Emilio

Revision: 10180
When we detect a new familiar larva, parse description text to learn familiar
add new Mr. Store items.

Revision: 10181
Looks like try-catch when trying to load a 32-bit DLL on a 64-bit architecture doesn't actually help, and KoLmafia will still exit when the DLL fails to load.
Instead, try detecting the architecture via the system property that Java sets in Sun/Oracle versions of Java and skip if it's not set to 32-bit.

Revision: 10182
The Festival of Jarlsberg comes on Jarlsuary 1, but also on January 2.

Revision: 10183
Set a maximum value of 65535 on base points.

Revision: 10184
Remove extra whitespace in build.properties and default.properties. Open a debug port on the exec target to make it easier to do remote debugging if you aren't already debugging through your IDE.

Revision: 10185
Fix null pointer exception in daily deeds panel.

Revision: 10186
Libram of Resolutions, Summon Resolutions, items, status effects

Revision: 10187
Initial support for new FOTYs

Revision: 10188
Groose Grease has no level requirement

Revision: 10189
Animate familiar icons in compact side pane

Revision: 10190
Just the Best Anapests is shruggable

Revision: 10191
Log familiar actions and enthroned familiar actions in rhyme

Revision: 10192
Improve handling of familiar actions in rhyme or haiku, including recognizing
deleveling

Revision: 10193
The Crimbo11 Coinmaster doesn't sell anything which actually goes into your own
inventory, so do not generate purchase requests for its items

Revision: 10194
When using current working directory as root, don't look for prefixes after ..
or ../.. have reached the top of the file system.
Uncle Crimbo fashion accessories are now tradeable.

Revision: 10195
Bye Bye Crimbo Cafe. Bye Bye Crimbo 2011 Coinmaster.

Revision: 10196
Support for the Altar in the Suburbs of Dis

Revision: 10197
Further improvements in rhyme combat parsing

Revision: 10198
Add plural for resolutions.

Revision: 10199
resolution: be wealthier really does have two spaces after the colon

Revision: 10200
fix garbled name for resolution: be more adventurous

Revision: 10201
Track successful uses of a peppermint parasol in the parasolUsed preference. Reset parasolUsed when the parasol breaks and on ascension. Increment _navelRunaways when a parasol is successfully used in combat.

Revision: 10202
Correctly log when you feed your familiar from your inventory in the Relay Browser.

Revision: 10203
Add new skills

Revision: 10204
resolution: be wealthier no longer has two spaces after the colon.

Revision: 10205
When parsing api.php output, call CharPane parser, rather than the CharSheet
parser twice

Revision: 10206
Get current moon phase and holiday first. TurnsThisRUn -> turnsthisrun

Revision: 10207
Read current fullness from api.php. Ignore it from charpane.php.

Revision: 10208
If you have no active effects, api.php returns an empty JSON array for key
"effects", rather than a JSON object

Revision: 10209
Fix price analysis and remove buttons on Store Manager to work for items with
umlauts and such in their names

Revision: 10210
Add the monsters of Suburban Dis

Revision: 10211
Fix typo in monster drop
Put off checking trendiness as long as possible during login
Detect when TrendyRequest doesn't retrieve expected page (due to redirect)
Eliminate infinite loop if redirected to a fight while logging in as trendy

Revision: 10212
Only remove rat whiskers when you successfully sell them to the Pretentious Artist.
Add the "You're In Trouble" status effect.

Revision: 10213
Preliminary consumption data for green eggnog and green hamhock
When you run out of Dis Abled and try to adventure in the Suburbs of Dis, give
a link to "use devilish folio" if you have any in inventory
When you are in a poetic combat (haiku or anapest), generate use links for all
items that drop poetically in combat and list them all at the end as Previously
Seen - complete with use links, if appropriate.

Revision: 10214
Fix item drop for Hugo Von Douchington.
Experimental feature:
When you use the "script" button in the Relay Browser, KoLmafia creates a
macro to encapsulate your current combat strategy and submits it. Multiple
combat rounds can occur and items can be knowcked loose at various times
during the combat: pickpocketing at the top, rave steal in the middle, normal
item drops at the end. Accumulate all items dropped during the combat and
show them at the end in a "Found in this fight" section.

Revision: 10215
Copy items to "Found in this fight" section even if they have no use link

Revision: 10216
RelayRequest needs to override the 3-argument version (and only that version)
of constructURLString

Revision: 10217
Recognize when you are in a game of Beer Pong and log it better in session log
When we see the form of available insults in a Beer Pong game, update known
insult settings as appropriate.

Revision: 10218
Always separate lines of familiar actions with slashes when logging

Revision: 10219
Detect familiar weight gain in Anapestic combat

Revision: 10220
You can't equip shirts unless you are aware of your Torso.

Revision: 10221
Eating food with a distended stomach will use one less turn of Got Milk.

Revision: 10222
When accumulating use links to the end of the battle, do not limit "usable"
items, since we won't actually show the use link until the battle is done.
Show use links at end for entire battle for native macros, not just KoLmafia
generated ones.
Detect going up a level in Anapestic combat.
Identify 3 of the 4 types of stone spheres in Anapestic combat.
-This line, and those below, will be ignored--
M src/net/sourceforge/kolmafia/objectpool/ItemPool.java
M src/net/sourceforge/kolmafia/webui/UseLinkDecorator.java
M src/net/sourceforge/kolmafia/request/UseItemRequest.java
M src/net/sourceforge/kolmafia/request/FightRequest.java

Revision: 10223
Winifred can drop 2 jars full of wind. Tattle costs 7 MP to cast.

Revision: 10224
Add another Anapestic phrase for familiar weight gain

Revision: 10225
Address displaying main frame before completion and moving main interface. Lightly tested at best.

Revision: 10226
Track usage of resolution: be more adventurous. Extra rollover adventures from resolutions are tracked in the _resolutionAdv preference, and added to the extraRolloverAdventures preference.
Resolutions are multi-usable.

Revision: 10227
Recognize when a player empties his closet. Add the "closet empty" CLI command, and the empty_closet() ASH function.

Revision: 10228
Don't reset Trendiness map when you time in

Revision: 10229
plural of "pog" is "pogs"

Revision: 10230
Untradeable NPC items you have access to should be assigned a price.

Revision: 10231
More plurals

Revision: 10232
Add glacial clock modifier
Translate all Shadow versions of yourself to "Your Shadow"

Revision: 10233
Disambiguate Fernswarthy's basement monsters.

Revision: 10234
Recognize monster healing in Anapestic combat.
Better familiar action logging.
Anapests override Haiukus in the Haiku Dungeon.

Revision: 10235
Only ask item database to pluralize coinmaster tokens if they are real items

Revision: 10236
More of the same: don't ask item database to pluralize no items in purchase
requests

Revision: 10237
Restore code removed in 9720 to support the "Show All Displays" menu item

Revision: 10238
Further improve handling familiar actions in combat

Revision: 10239
When you do a "pull all" from storage and are still in a Trendy run, you may
have left untrendy items in storage. Therefore, in addition to refreshing
inventory and closet (to see what ended up where), refresh storage (to see what
didn't get pulled.)

Revision: 10240
The CLI "acquire" command will now respect autoBuyPriceLimit for all the acquisition options, including the last resort of buying from the mall.
This should prevent cases where an item is bought from the mall rather than crafted because an ingredient is more expensive than autoBuyPriceLimit, even if crafting would have been cheaper overall.

Revision: 10241
Roll back 10225; it disabled the ability to open the gCLI before logging in.

Revision: 10242
It is 2012....

Revision: 10243
Every time we look at basement.php, parse the responseText and set all the
basement level variables

Revision: 10244
The LogoutRequest needs to run even if there is no server cookie

Revision: 10245
Don't make KoLDestop.INSTANCE visible until it is completely constructed.

Revision: 10246
Never try to get Hermit clovers during breakfast in Bad Moon.

Revision: 10247
Add "pasta guardian" item type.
Fix prices, modifiers, power, etc. from checkitems
Add fullness and inebriety data for various Crimbo 2011 and Suburban Dis items

Revision: 10248
When you unequip pants, if you have a scarecrow as your current familiar,
update familiar item dropdown in Gear Changer

Revision: 10249
Check for afterlife.php, not valhalla.php
 

Veracity

Developer
Staff member
(And here are the rest of the revisions; the total text was > 100,000 characters, and was rejected by the forum software.)

Revision: 10250
Do not call kingLiberated when you are about to call the appropriate URL in
the Relay Browser. Call it after that URL has been submitted and returned a
response, regardless of how the URL was submitted.
Do not change your state at all when you are about to submit the URL to free
the king. Move all such state changing to kingLiberated().
As final action in kingLoiberated(), invoke user supplied kingLiberatedScript

Revision: 10251
Don't visit the Farm Stand for breakfast in FistCore, since you won't get to
keep the profits, anyway.

Revision: 10252
Fix typo

Revision: 10253
Simplify Window Focus Comparator

Revision: 10254
When running a buffbot, do not sleep for a minute at end of last iteration

Revision: 10255
When you select a tab on the KoLDesktop frame, give it focus
When the CommandDisplayPanel gains focus, give it to the command input field.

Revision: 10256
Rats. Remove debug print

Revision: 10257
Rather than sorting the store inventory in place when updating, sort the new
list and replace the displayed list in bulk

Revision: 10258
Chat Frame and Mini-Browser have toolbars, but they only show up if the frames
are standalone windows, not tabs. Fix that.

Revision: 10259
is_online( player ) now returns true if the player is logged in, whether or not
they are "online" or "away from KoL".

Revision: 10260
Fix plurals of pogs. Again.

Revision: 10261
Fix "apply" button on the Reorder Panel of the Display Case Frame

Revision: 10262
If you "pull just your favorite things" from Hagnk's, refresh inventory, closet,
and storage, to see just what ended up where

Revision: 10263
Add Contact List to People menu. Make Contact List Frame work in a tab.

Revision: 10264
Update HP for sewer monsters

Revision: 10265
glass of warm water is a Free Pull

Revision: 10266
Indicate in inebriety.txt that drunki-beers also give 4 fullness.
Ditto for fullness.txt and 4 Inebriety

Revision: 10267
Update mallprices

Revision: 10268
Bump version to 15.0
 

Veracity

Developer
Staff member
I have to point out that for the first time in a long time, there is no official file release of a Windows .exe file, since the jsmooth process took an exception trying to build it. Instead, I have marked the .jar file as the default download for Windows machines. Since any Windows machine with Java is fully capable of executing a .jar file (although some people have to fix a misconfiguration issue, first), this should be OK - although I am sure there will be plenty of notes from people complaining that there is no .exe file.

Sorry. I have no solution for it, at the moment.
 

Veracity

Developer
Staff member
Heh. I figured out the issue: the icon had been renamed, but the jsmooth config file had not been updated.

I respun 15.0 and replaced the files in the download directory on sourceforge and included a .exe file as the default for Windows.

New revisions included in the respin:

Revision: 10269
Rename release header text file

Revision: 10270
When building a Windows .exe file, do not move a file from the svn source to a
temporary directory. Copy it.
The icon for the .exe file is now a .gif, not a .jpg
Fix a typo
 

Bale

Minion
Congratulations on another successful release!

It's very nice that KoLmafia now officially supports Windows 7 and Java 7 both. And oh my, there are a lot of new features supported.
 

fronobulax

Developer
Staff member
It's very nice that KoLmafia now officially supports Windows 7 and Java 7 both.

Let's be careful throwing around the phrase "officially supports" shall we? ;-) It works in both environments but as long as the official requirement is Java 1.4 (as stated at SourceForge), if there is ever a feature used in KoLmafia that is eliminated or deprecated in Java 7 and beyond, then KoLmafia won't work. Also r10181 disabled the TrayIcon feature on 64 bit Windows so there is at least one feature that is unsupported in Windows 7 even if KoLmafia does work.
 

roippi

Developer
Unfortunately some recent KoL-side change has broken login on the point release. There is some new redirect that causes an NPE.

Some commit between the point release and the current revision has already fixed the problem, but until we spin the 15.1 point release, people should be aware of the issue.
 

Veracity

Developer
Staff member
What the heck. I'll spin 15.1 because KoL has changed the login sequence and I've seen lots of people say "I can't log in using the latest KoLmafia". Turns out, they are running 15.0 straight from sourceforge, which is nothing even close to "the latest KoLmafia", but, oh, well.

Too bad, since I have other bug fixes and/or features I wanted to go into 15.1 - as well as supporting an upcoming KoL change, which will now force us to immediately spin 15.2...
 
Top