Version 15.4

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: 11184
Tweak JXCollapsiblePane so that it collapses down to the content pane's minimum size, not necessarily to zero.
(this doesn't affect anything client-facing. yet)

Revision: 11185
Add plural for baggie of powdered sugar. Baggie of powdered sugar is multi-usable

Revision: 11186
Since Jick won't add such an option to KoL's options, even though many users
have asked to be protected from themselves, add a General setting - mmgDisabled
which stops you from entering the Money Losing Game in the Relay Browser

Revision: 11187
Make "hp regen" and "mp regen" work as maximizer inputs

Revision: 11188
Lord Fireflame's Castle. Servants of Lord Fireflame. fire brick

Revision: 11189
List the commands for applying/extending GAP and Trivia effects

Revision: 11190
Detect "lazyinventory" flag from account.php and api.php. If it is set, reset
and restore it around inventory updates, to avoid being fooled by collapsed
inventory sections.

Revision: 11191
Add The Fire Inside

Revision: 11192
Reset item aliases before reloading moods. Remove extraneous # from comment
field of items in fullness and inebriety

Revision: 11193
Automation card of OptionsFrame now has shiny expandable/collapsible text areas.

Revision: 11194
For a multi-display setup, allow windows placed on a non-primary display to be restored to that position

Revision: 11195
improve how swing's layout manager handles the new Automation card.

Revision: 11196
dynamically size JTextAreas to fit properly on Automation card.

Revision: 11197
new ASH functions:
boolean is_familiar_equipment_locked()
-returns true if current familiar equipment is locked, otherwise false
void lock_familiar_equipment(boolean locking)
-tries to lock/unlock fam equipment accordingly.

Revision: 11198
Add naive implementation of to_json() for all types.
It has no special checking, so don't use this on something that can't actually be converted directly into JSON (so an aggregate type that doesn't use non-simple keys) or it'll return a gibberish string that JSON parsers will choke on.

Revision: 11199
Display a more informative message if retrieving an epic weapon for buff casting fails.

Revision: 11200
synchronize more sorting operations in LockableListModel.

Revision: 11201
don't truncate combat actions displayed in the JTree layout

Revision: 11202
Update the number of PvP fights you have when you log in or when you break your stone

Revision: 11203
clarify code

Revision: 11204
Fix null pointer exception in ashref

Revision: 11205
add an empty border to Automation card

Revision: 11206
Add hot daub and related items

Revision: 11207
Add plural. Fix typo.

Revision: 11208
Add int get_clan_id() and string get_clan_name() functions.
Recognize item loss when breaking apart bricko equipment.

Revision: 11209
Store manager overhaul. Shiny.

Revision: 11210
store manager: right-align integers and format them with commas.

Revision: 11211
allow -k and -m suffixes when entering store manager prices

Revision: 11212
Fix parsing of clan id. Refactor code so that clan name/id are stored in just one place.

Revision: 11213
Use a consistent value for clanId (0) to indicate that you are not in a clan

Revision: 11214
also apply the "value changed" highlighting in store manager to the limit checkbox.

Revision: 11215
add a couple more highlighters to the store manager:
warning: paints the background of price Red if you price under 15% of the lowest item in the mall. Lowest priced item also has to be above 50k; I didn't want it nagging on really cheap items.
999m: items priced at 999,999,999 get a border around their price, indicating they are eligible for auto-repricing. This is a quick way to see what items you've recently added to the store.

Revision: 11216
Add Lord Flameface items.
Mark items that were changed to back items as containers for now.

Revision: 11217
Swirl Cloak

Revision: 11218
scratch the border highlighter. Instead, make the item name bold for items priced at 999m.

Revision: 11219
always show Container (now "Back") field on gear changer.
Change icons on buttons in store manager to ones that make a bit more sense.

Revision: 11220
Lord Flameface's Throne Room

Revision: 11221
add an underline to store manager mouseover highlighting.
remove some 1.6-src annotations

Revision: 11222
Fix parsing of back items when viewing your equipment in the relay browser.
Replace underscores with spaces in the relay script dropdown menu.

Revision: 11223
Print a message when using a bricko monster fails due to reaching the limit.
Recognize when you fail to set the mind control device or equivalent.

Revision: 11224
The container slot is now called the back slot.

Revision: 11225
certain items have moved from being accessories to back items, or vice versa.
Lots of old "event" items now have an autosell of zero.
A few items that used to have an autosell of zero now have a different price

Revision: 11226
Huggler Radio is a Free Pull.

Revision: 11227
Don't suggest GAP buffs when you can't get them

Revision: 11228
Give a more informative message when aborting Arena battles.

Revision: 11229
more finer-grained synchronization for LockableListModel - specifically, some methods that were changing the state of the list were synchronized, but some were not. For example sort() was for the most part properly synchronized, but add() was not. And adding an object to a list while it is sorting is a no-no.
Hopefully now most methods properly acquire the object's monitor before operating on it.

Revision: 11230
Add Black Crayon monsters.

Revision: 11231
Hack: Huggler Radio messages from old KoL chat are malformed. Try to recognize
them and treat them as comining on channel /pvp from player "HMC Radio" so they
don't get interpreted as system events.

Revision: 11232
Add daub-breaker, Drizzlers™ Black Licorice

Revision: 11233
Add Effect Duration: 1 to Drizzler and daub-breaker

Revision: 11234
don't display memento items on UseItemEnqueuePanel.

Revision: 11235
track jack-in-the-box charges. thanks pekaje@kolmafia.us

Revision: 11236
Add angst burger and 5-hour acrimony
Add Camp Scout backpack and some of the items it drops

Revision: 11237
The paperclip cape is no longer marked Single Equip, now that it is a Back Item.
Yeah, right. Just TRY to equip more than one.

Revision: 11238
Chat has been "fixed" to have all sorts of special fonts and spans and such in
places it didn't used to. Recognize and adapt.

Revision: 11239
Fix /em in chat

Revision: 11240
Using a wax bugbear uses a turn.
The use link for a wax bugbear cannot be loaded in-line. Group all items together that cannot be loaded in-line.

Revision: 11241
The FDKOL Requisitions Tent is no longer available as an NPC Store

Revision: 11242
Improve reliability of item creation when CoinMaster is involved. Thanks to catch-22 @ kolmafia.us

Revision: 11243
Improve reliability of arrows to increase turns of effect. Thanks to catch-22 @ kolmafia.us

Revision: 11244
Remove some of the more exotic aspects of Louvre map prediction, which are no
longer valid now that KoL is using a more modern version of PHP.

Revision: 11245
Make ASH "sort by" trap IllegalArgumentException and generate an ASH runtime
exception with filename and line number

Revision: 11246
More camp scout backpack content

Revision: 11247
Fix the link to blow up a zap wand before ascending. Remove unused code.

Revision: 11248
Add ability to log chat-related requests in the debug log

Revision: 11249
Fix some potential NPEs in StoreManageFrame. Fix a definite NPE in DailyDeedsPanel.

Revision: 11250
Allow for various HTML perversions from KoL in chat messages

Revision: 11251
Better chat parsing when there is no channel tag

Revision: 11252
Make changes to the table model on the event dispatch thread. This is general good practice since swing is not thread safe and whatnot. (I believe it also fixes an unsightly flash when saving store manager prices)

Revision: 11253
Partial de-linting. Unused imports, unnecessay toStrings

Revision: 11254
More partial de-linting. Unused imports, unused locals

Revision: 11255
Adjust to plains.php -> place.php?whichplace=plains

Revision: 11256
Update Store Manager to account for recent KoL change

Revision: 11257
Add Staff of Holiday Sensations and rusty staff

Revision: 11258
Fix tab

Revision: 11259
ash modifier_eval("sqrt(-1)") will now return 0.0 instead of something non-numeric derived from NaN.

Revision: 11260
The last (I hope) of the Unused Imports.

Revision: 11261
Add message so user knows when sqrt(neg) is replaced with zero. Interim improvement to Revision 11259 until its fate is determined.

Revision: 11262
Fixed typo in 11243.

Revision: 11263
Since ASH "floats" are now doubles, and since modifiers are available to ASH
as "floats", convert internal format of modifers from float to double

Revision: 11264
Fix Value.compareTo() so that it produces a consistent ordering even in the
presence of special floating-point values.

Revision: 11265
Add support for the CSA fire-starting kit choice adventure. Fix CSA scoutmaster's "water".

Revision: 11266
KoL can now redirect to the initial choice.php with a parameter. Doing so
prevented KoLmafia from calling the "visit" method for choices. Fix this.

Revision: 11267
Pass chat events along to chatbotscript. The sender is an empty string, the channel is "Events", and the message is stripped of its HTML.

Revision: 11268
No Feat of Boris in Bugcore. slime-covered staff. Staff of the Scummy Sink.

Revision: 11269
Autosell bugbear autopsy tweezers when you ascend

Revision: 11270
Add Flaming Face and Crown of Thrones familiars.
When folding a Loathing Legion item that you are wearing into a form that goes in the same slot, keep it equipped.

Revision: 11271
Look up clan members when needed

Revision: 11272
Tales of the Word Realms

Revision: 11273
add "back" filter to InventoryPanel.

Revision: 11274
Improve parsing of Expression, ModifierExpression, and MonsterExpression expr
strings: collect all errors in a string buffer and return multi-line error
string when requested.
In ASH modifier_eval(), mnster_eval(), and expr_eval(), if there is a parse
error in the expression string, throw a runtime error.

Revision: 11275
When evaluation expressions, throw exceptions for dividing by zero and taking
square root of negative numbers. Outside of ASH, catch these exceptions and
display in CLI/GUI. From ASH modifier_eval() etc, throw a runtime error and
thereby stop script execution.

Revision: 11276
Parse compact PvP mode. Stat loss when you lose can't be parsed because it isn't provided.
Recognize when you pick an invalid PvP target.

Revision: 11277
Maximizer best score doesn't need to display umpteen digits of precision

Revision: 11278
Check if you can adventure in Whitey's Grove by checking quest status before loading the woods.
If you need to pick up a transfunctioner, skip unnecessary server hits.

Revision: 11279
Add tracking of hare, gibberer, and goth kid fights progress toward the next pvp fight/rollover adventure. Move some fight message checks that can only happen at the end of the fight. Make some checks compatible with SBIP use.

Revision: 11280
Add OutfitPool. Fix NPE when you have an unrecognized familiar. More type safety. Remove redundant BHH logging. Remove some unused code.

Revision: 11281
Fix Goth Kid charge tracking

Revision: 11282
Add line breaks for hare/gibberer/goth kid charges

Revision: 11283
Track daily use of CSA fire-starting kit

Revision: 11284
Add the supported Hidden Temple adventures to the Choice Adv panel.

Revision: 11285
Restore KoL favicon

Revision: 11286
use CSA fire-starting kit as part of breakfast if the user has set that choice adventure to something other than "show in browser" (and use-one-a-day items is enabled)

Revision: 11287
add support for diving for treasure in clan swimming pool. Thanks irontetsubo@kolmafia.us

Revision: 11288
methods that override synchronized methods should themselves be synchronized.
add some type safety for StoreManager, remove unused local.

Revision: 11289
Only track Goth Kid charges if your hippy stone is broken

Revision: 11290
Don't call Math.pow with arguments that will produce a NaN.

Revision: 11291
When you have free access to storage, do not print the number of pulls remaining when pulling an item. Thanks to IronTetsubo @ kolmafia.us.

Revision: 11292
When ASH wants to call Math.pow, just do it and reject NaN and Infinite values
fete the fact, rather than trying to filter out various types of invalid args
up front.

Revision: 11293
When we discover a new item, add it to the ConcoctionPool

Revision: 11294
cape -> codpiece

Revision: 11295
Most back items have equip requirements now. Add stats for Goth Kid monsters.

Revision: 11296
When performing exact mall searches in the GUI, update mall_price (and historical_price) appropriately for that item, once per session.

Revision: 11297
Handle multiple URLs sent in a single dojax() function call.

Revision: 11298
fix ArrayOutOfBoundsException when registering a concoction for an unknown item with itemId greater than the largest known itemId

Revision: 11299
Fix familiar id for Flaming Face and add Arena stats

Revision: 11300
Add lost key items and flaming nose

Revision: 11301
Two identical numbers from a single fortune cookie does not ensure that the duplicate number is the right number

Revision: 11302
Avoid null pointer exception when adding an invalid mood trigger via CLI

Revision: 11303
vampire cape equip requirement went from mys: 75 to mus: 75

Revision: 11304
Add Superhero Reboots.

Revision: 11305
inigo's does not give free crafting turns when using the wok of ages. boo.

Revision: 11306
When saving a custom outfit, clone all the AdventureResults for the individual
pieces, rather than using what the EquipmentManager is using.

Revision: 11307
MCD warning for goblin king: batcape -> codpiece

Revision: 11308
wok crafting 2: electric boogaloo

Revision: 11309
Log when a stack trace occurs in session log. Credit to Catch-22 @ KoLmafia.us, blame to me :)

Revision: 11310
Fix pie parts tracking for the Organ Grinder. Moping Artistic Goth Kid is a free pull. Crayon shavings are multi-usable.

Revision: 11311
partially revert Revision 11243 - no more ashq in statuseffects.txt until we figure out what to do with the maximizer.

Revision: 11312
try to handle effects that can be extended in multiple ways more intelligently.

Revision: 11313
Camp Scout pup tent and CSA all-purpose soap are HP and MP restore items.

Revision: 11314
don't display error messages when simulating item usage

Revision: 11315
Add missing semicolon to would-be HTML character entity.

Revision: 11316
only filter out memento items from UseItemEnqueuePanel if mementoListActive=true

Revision: 11317
Provide a warning if you try to adventure with a Kung Fu effect active and something in your hands

Revision: 11318
Add quest tracking for some more of the white citadel quest.
Fix step1 for palindome quest.

Revision: 11319
don't fiddle with clover protection when doing simulated retrieveItem

Revision: 11320
mclargehuge.php and trapper.php are now place.php?stuff
remove some unnecessary server hits from KoLAdventure.validate()
use Generics in AdventureDatabase

Revision: 11321
7-Foot Dwarf Foreman is now a semirare. Changed snarfblats on Mt. McLargeGuge.
Changed pricelist at TRevision 4pz0r coinmaster

Revision: 11322
remove some more server hits from validate() when doing the airship quest.

Revision: 11323
improve method for opening chat contact windows. thanks catch22@kolmafia.us

Revision: 11324
Add a link to Dis when you get Dis Abled

Revision: 11325
Don't give a Kung Fu (or 100% familiar) warning in zones that can't have any combats

Revision: 11326
the various hobo songs are only castable when you're AT and level 15+

Revision: 11327
Add Groar's fur. Add recipes, items, etc. for new PVP food & drink

Revision: 11328
Detect successful supertinkering

Revision: 11329
Add ninja gear and fuzzy earmuffs

Revision: 11330
make GenericRequest data thread-safe

Revision: 11331
don't recommend items and skills in the maximizer when out of their respective uses.

Revision: 11332
puppet strings are a free pull

Revision: 11333
fix logic in QuestDatabase string comparator function

Revision: 11334
fix validate() regression bug when using sonars in bathole.

Revision: 11335
Replace hard-coded numbers with defined constants for zone/outfit pairing, and update zone numbers for the McLargeHuge revamp

Revision: 11336
add ascension reminder to use your PVP fights. thanks irontetsubo@kolmafia.us

Revision: 11337
If you aren't in a clan with a sofa or stat training furniture, give an error message when you try to use them

Revision: 11338
completely remove the unsetting/resetting of clover protection in retrieveItem so that there's officially no way that setting can get messed up even if your hard drive explodes mid-execution. Shrapnel yes, messed up preferences no.

Revision: 11339
print error message on unsuccessful arrowing

Revision: 11340
Camp Scout pup tent are not multi-usable.

Revision: 11341
Don't match a function on ashref simply because one of it's references is null. This fixes to_json( null ) always being shown.

Revision: 11342
relayShowSpoilers controls the visibility of choice spoilers.

Revision: 11343
Aye Aye, Tooth Tooth plural and McLargeHuge quest reward hats

Revision: 11344
plurals for some siphoned spirits. myst requirement for extreme mittens.
Remove some obsolete conditions

Revision: 11345
more things controlled by relayShowSpoilers:
barrel full of barrels
nemesis cave
spookyraven cellar/2nd floor
NS gate/digital key/tower monsters/NS chamber

Revision: 11346
don't post sofa requests that lack a numturns formfield

Revision: 11347
New requirement to avoid ASH scripts being allowed to overwrite other ASH scripts: data files must not end with .ash.

Revision: 11348
Fix directory traversal exploit. Disallow scripts from writing a data file with the .ash extension.

Revision: 11349
Fix the Trapper coinmaster

Revision: 11350
update mclargehuge quest log stuff.

Revision: 11351
When an effect name contains parentheses, put the uneffect link under the effect duration rather than the parenthesized part of its name

Revision: 11352
Any time you leave ronin and are not in hardcore, you can interact with the rest of the kingdom. You can also pull everything right away.
Add knob goblin accountant meat drop.

Revision: 11353
Just as "rest" is the same as "rest 1", "sofa" is now interpreted as "sofa 1"

Revision: 11354
The clan chat "update" and "logoff" commands are now only honored for people who
are currently members of a clan, not everybody who has a whitelist to the clan.
In both cases, we force the clan member list to be refreshed before checking,
since a person can come and go asynchronously.

Revision: 11355
Initial support for new FOTM: Reagnimated Gnome

Revision: 11356
Update hatrack weight caps for nemesis quest hats. Update cold resistance for EXtream Cold-Weather Gear.
Some things don't need to be reset when you ascend.
When you switch clans, clear everything associated with your current clan, and clear the list of clan messages to be sent in response to "update".

Revision: 11357
Itznotyerzitz Mine monsters

Revision: 11358
When searching mall and returning results in a list of strings (as in the
searchmall CLI command or the price analysis in the Store Manager), omit
Coinmaster prices, rather than listing the price as "3 Meat".

Revision: 11359
Be a bit more restrictive in matching invalid targets in PVP results

Revision: 11360
Add a function to check whether you can access the desert beach, and use it where appropriate

Revision: 11361
Create per-user setting "chatServesUpdates" to control whether KoLmafia will
respond with recent chat messages upon request.

Revision: 11362
Provide a notification when someone tries to retrieve recent clan chat messages from you

Revision: 11363
When KoLmafia receives a bogus line from the browser, tell the user and skip it.

Revision: 11364
When you try to multi-use something that mafia knows cannot be multi-used (using a chat command, possibly), do not enter an error state

Revision: 11365
If a concoction has an ingredient which also used to create one of its other
ingredients, making the latter can result in creation failure for the initial
concoction.

Revision: 11366
Add new choice adventures for extreme slope and itznotyerzitz mine

Revision: 11367
Put modifiers for the Thick-Skinned skill under "Thick-Skinned (Skill)" to
distinguish them from the Thick-Skinned effect.

Revision: 11368
Fix various item data errors revealed by checkitems and checkpowers

Revision: 11369
Update mallprices.txt

Revision: 11370
Bump version to 15.4
 
Top