Version 12.7

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: 6299
Simplify calculation for determining if mana burning will happen

Revision: 6300
Install Jason Harper's patch to auto-identify last bang potion or stone sphere
when penultimate one is identified

Revision: 6301
New items, recipes, and effects

Revision: 6302
New concoctions
Monster updates
Modifier updates
Haert of the Cyrpt URL update

Revision: 6303
Haunted Kitchen monster item drop update

Revision: 6304
Fix recipe for Staff of the Deepest Freeze

Revision: 6305
Fix item number of toy mercenary

Revision: 6306
Don't get confused when "you acquire a clan trophy"

Revision: 6307
Add text filter fields to inventory and display lists of MuseumDisplay

Revision: 6308
Make getInstance() do the right thing for pseudo and tally items

Revision: 6309
Account for fullness and inebriety for Hobopolis Food Court food & booze
Account for cost to upgrade hobo tattoo
Abort adventuring when automating in Hobopolis and encounter a boss, when
choice is set to "skip adventure"

Revision: 6310
Fix basic crafting functionality (cooking, mixing)
Add password hashes to all requests for convenience

Revision 6311
Fix pulverize

Revision 6312
Fix ingredient tracking
Fix meat paste/stack/dense creation

Revision 6313
Updated use links

Revision 6314
Remove display pane updater (just use queue handler)

Revision 6315
Dispose on close

Revision 6316
Fix wok/malus/distiller usage

Revision 6317
Fix bounty lookup

Revision: 6318
Remove debug text for checking permissible creations

Revision 6319
Fix MultiUseRequest

Revision: 6320
Meat Paste combinations consume meat paste

Revision: 6321
Fix recognition of jewelry making. Tweak star chart usage

Revision: 6322
Some updates for modifiers, itemdescs and statuseffects

Revision 6323
Add spooky rattling cigar box. Disembodied Hand can equip any one-handed
weapon. Fix Mad Hatrack.

Revision: 6324
Disembodied Hand can equip non-specific familiar equipment but not chefstaves

Revision: 6325
Add Jason Harper's relay browser decorator for the Barrel Full of Barrels

Revision: 6326
Add arena parameters for Disembodied Hand

Revision: 6327
Only handle taking a choice once. Save Violet Fog layout in preferences.

Revision: 6328
Refactor pre and post processing for choice adventures

Revision: 6329
Since there are 11 trophies for discovering recipes, provide option (default on)
to let KoL register discoveries, rather than automatically selecting the
server-friendly field that also suppresses discoveries.

Revision: 6330
I were mistaken; remove that preference.

Revision: 6331
Clear choice veriables when visit choice page before making a decision

Revision: 6332
Add performance fix for searching NPC stores, courtesy of Jason Harper

Revision: 6333
Adds the Nuns, free disco rests, and Oscus's soda as HP/MP restorative options.
Adds a "nuns" command to the CLI - if given as "nuns mp", it will fail if you completed that sidequest as a hippy (and therefore get only HP from the Nuns).

Revision: 6334
Accidentally omitted file from previous checkin

Revision 6335
Added new "Mana Cost (stackable)" modifier, that bypasses the normal -3 limit; the Vile Vagrant outfit and the Arcane In The Brain effect have this type of enchantment.

Revision: 6336
Ignore lucky numbers from fortune cookies if they're too small to possibly be the actual semirare counter - conservatively assumes a minimum of 150 turns between semirares normally, 100 in oxy path (or at the start of an ascension, in case the player did an oxydrop).

It doesn't ignore numbers that are too large; there's always the possibility that the last semirare was obtained outside of mafia, in which case that determination would be wrong. Also, too-large numbers automatically get cleared when you get the semirare.

Revision: 6337
In the Hobopolis sewers, automatically equips another gatorskin umbrella if yours was used up. Aborts and shows a message if you don't have any more, or used the last of any of the other test-passing items.

Revision: 6338
Make unavailable special item creation methods (such as Crimbo toymaking) actually unavailable. The code was checking the mixingMethod specifed in the CreateItemRequest (instead of the ConcoctionDatabase); that's always SUBCLASS for these special methods.

Also, ASH get_ingredients() now returns an empty map for items that cannot be created.

Revision: 6339
Implemented new "Hobo Power:" float modifier. Added it to the relevant items, outfit, and effect.

Implemented new "Hobo Powered" boolean modifier. On an item with this flag set, any numeric modifiers over 200 will be interpreted as a conversion factor (divided by 1000) from total Hobo Power to the specific modifier. Smaller numbers are interpreted as fixed modifiers, as usual - this split is needed to handle the Imaginary Hamster, which has a mixture of fixed and variable enchantments. Added this flag to the relevant Hodgman off-hands.

Revision: 6340
Remove some duplicate recipes

Revision: 6341
Tracks the monster on which you must recently cast Transcendent Olfaction, or used an odor extractor. Adds this info to the "On the Trail" effect in the relay browser charpane.

Revision: 6342
Item name change: polka-dot bowtie => polka-dot bow tie

Revision: 6343
In the item consumption panels, items which you do not have sufficient stomach/liver/spleen room for
are now sorted to the end of the list. When you're nearly full, this makes it a lot easier to find
items to fill up the remaining space.

This feature is currently enabled unconditionally. I can see that it might be somewhat inconvenient for
people using those panels to feed their spirit hobo or GGG, for which YOUR current fullness is
irrelevant; unfortunately, I have neither of those familiars. I would appreciate feedback from anyone
who uses those familiars.

Revision: 6344
Correctly recognize when items are pulverized

Revision: 6345
Stop comparing bang potion use text once you get a match

Revision: 6346
Added Seasonal Beret.

Item name change: tasteful black bowtie => tasteful black bow tie.
Note that this, and the polka-dot bow tie, are still in the Mall with the old name; you won't be able
to buy or sell these until that's fixed on the server side.

Revision: 6347
That Explains All The Eyepatches choice adventure results are based on character class, not highest
base stat.

Revision: 6348
Adds recipe for barskin hat.

Fixes unintended consequence of previous bugfix that was causing mafia to buy meat stacks from the mall,
rather than creating them. Sorry about that!

Revision: 6349
Consumption helpers (divine champagne flute, Frosty's frosty mug, Ol' Scratch's salad fork) now
remove the helper from inventory if successful, or restore the consumable to inventory on failure.

Improvements to item sorting: consumables with the same adv-per-<fullness> value are now sorted in
decreasing order of <fullness>. Also, the jar of fermented pickle juice is no longer permanently
stuck at the bottom of the list (it had an incorrect consumption type specified).

Revision: 6350
Make island arena requests case-insensitive, so you can (for example) use "concert winklered" instead
of having to type it as "concert Winklered". Also, sets "concertVisited" preference, for future use
in displaying the limited-use things you've done or not done.

Revision: 6351
Move HashMultimap to utilities

Revision 6352
Ensure frames get reused

Revision 6353
Added tertiary sort to consumable items lists: by descending mainstat gain.

Revision: 6354
Fix Show All Displays menu item

Revision 6355
Do not show hidden frames

Revision 6356
Fix copy-paste compile error

Revision 6357
Fix council frame not showing

Revision 6358
New CLI command variation: "use either <item1>, <item2>,..." (also works with "eat", "drink", "hobo",
and "ghost" commands). This will use the first of the specified items that you already have in
inventory, limited to the quantity in inventory. Only if you have none of them will it attempt to
make or buy the first item - in other words, it becomes equivalent to "use <item1>".

This was implemented specifically to handle the two combat% effects (Fresh Scent, Hippy Stench), each
of which is obtainable from two different items, and the default mood extenders for those effects have
been changed to use it. I'm sure that users will come up with other creative uses for it.

Revision: 6359
Since current statuseffects.txt uses commands unavailable in earlier versions of
KoLmafia, update the version number so such earlier versions will not try to use
the new file when obtained via an "update" command.

Revision: 6360
Adds drop location spoilers to the Spookyraven Wine Cellar, along the lines of my previous Barrel Full
Of Barrels code. The "Wine Cellar (Random)" adv location has been renamed as "Wine Cellar (automatic)",
as it now chooses a corner based on any dusty wines in your conditions.

There is one big difference between the Cellar and Barrels - nobody has really spaded the possible
patterns of the Cellar wines, beyond the fact that there are only four possible sets of wine that can
drop in any one corner. This is due to a combination of the fact that it's a once-per-ascension piece
of data, and some game bugs that made it uncertain as to which corner you were actually adventuring in.
Therefore, for now the code assumes that every possible drop pattern is equally likely, but it remembers
which pattern it found, and can kmail that information to me if you type "spade" in the CLI.

The spade mechanism is designed to be extensible and privacy-preserving. It can queue up multiple items
of data, from the same or different sources, and the user will always be shown the full data, its
recipient, and an explanation of what the data will be used for, before anything is transmitted. A
nudge will be given at login if there's data waiting to be sent, but it can be ignored without
consequence.

Note for testers: please adventure in the Wine Cellars (assuming that you can get to them) until the
spoiler text indicates only three possible wines in each location. Two distinct wine drops, in any three
of the corners, will be suffient. Then type "spade", read the info, and I hope you'll be willing to
say "yes" to it. Also in need of testing: when you first visit the pedestal in the Cellar with Lord
Spookyraven's spectacles equipped, the new code should set "Wine Cellar (automatic)" as your adventure
location, and add the three needed dusty wines to your conditions. I can't test that as I've already
opened the Summoning Chamber this ascension.

Revision: 6361
Item name change: can of hair spray => hair spray.
New item: glittery mascara, and its effect, Glittering Eyelids (+15% myst).
Added Tropical Crimbo equipment recipies.
Fixed bowler, bow-legged pants recipies.

Revision: 6362
The new "use either" command can now be added to moods without generating an error message.
This change also eliminates the error messages you'd get at login if you had a bang potion in any of
your moods.

Revision: 6363
The default conditions for adventure locations are now in a data file where they belong, not hard-coded
into the program. adventures.txt is now version 3.

This change means that players can now customize the conditions - for example, a softcore-only player
could remove the various components of the Wand of Nagamar, since they're probably not going to be
building a new one each ascension. Or, a player that collects some common item could make sure that
they pick up another one every time they're in that area.

Revision: 6364
Correctly track equipping/unequipping familiar equipment, either through the
inventory page or the terrarium page.

Revision: 6365
Teensy code improvement

Revision: 6366
GenericRequest.getDataString was sometimes inserting unnecessary ampersands, and reordering fields.
This would cause AdventureDatabase.getLocationByURL to not recognize URLs that had made two trips through
the request machinery; specifically, adventures that had been deferred by a relay browser warning.
getDataString no longer inserts the bogus ampersands, and getLocationByURL now filters out the
"&confirm=on" parameter wherever it appears in the URL, rather than adding copies of every adventure
URL to the database with that string appended.

Long story short: the location of your last semirare should now be accurately recorded, no matter how
you reached the location.

Also, fortune cookie lucky numbers over 205 are now rejected as being impossible.

Revision: 6367
Recognize meat paste/stack creation relay browser. Refresh concoctions whenever
meat is gained or lost.

Revision: 6368
Add new yearly Mr. Familiars

Revision: 6369
"Barrel full of Barrels" is now an auto-adventurable location, with a menu in
the Choice Advs tab to select which rows of booze you want to collect.
(Goals other than booze aren't supported - does anybody actually do that?)

The same probability data as is used by the Barrels decorator is used to
select which barrel to smash, so this feature should be maximally efficient.
However, the possibilities of an exploding barrel, finding a clover, or
losing to a mimic (none of which help to identify the Barrels pattern) mean
that no guarantee can be made as to how many turns it would take to find all
the booze.

Revision: 6370
Adds some item drop data for Hobopolis monsters. It's not very accurate, but merely having any data enables the use of pickpocketing when auto-adventuring. This is especially important for the C.H.U.M.s, which have a pickpocket-only drop.

Revision: 6371
Consumption helpers (divine champagne flute, Frosty's frosty mug, Ol'
Scratch's salad fork) can now be used from the CLI or scripts - just
eat/drink the helper, and it will be applied to the next actual consumable of
the same type. Multiple helpers of the same type can be queued up, so both
"drink 4 div flute, 4 Mae West" and "drink 4 div flute; drink 4 Mae West"
will work.

Two new consumption type constants have been defined, but I have NOT bumped
the version number of tradeitems.txt - older Mafia versions would treat the
items with these unrecognized types as unusable, and couldn't meaningfully
use them anyway, so no harm is done.

Note that this feature still doesn't check that you have enough HP to survive
the elemental hit from the Mug and Fork, nor is it yet usable from the item
manager.

Revision: 6372
Some updates for monsters.txt and adventures.txt

Revision 6373
Adds preliminary data about some of the new Underwater item drops, so you can
at least eat the food without mafia loosing track of your fullness.

Revision: 6374
Add little bitty bathysphere.
Handle inventory correctly when Captain of the Gourd takes items.

Revision: 6375
New command option "counters add <number>" in the CLI - acts just like a
fortune cookie counter, but with a watch as the icon.
Adds "[guild]" link in relay browser when you acquire Fernswarthy's key or
the dusty old book.
Olfaction tracking doesn't trigger when you mistakenly try to olfact
something while On the Trail is already active.

Revision: 6376
Some updates for fullness.txt

Revision 6377
Some updates for modifiers.txt, monsters.txt and statuseffects.txt

Revision 6378
Remembers which of the three random pirate items (brochure, pamphlet, tract) are actually available in Barrrtlesby's, and skip directly to Mall purchasing for the other two. This can save lots of unnecessary outfit switching.

Also, CreateItemPanel now includes the text "for immediate use" when prompting for the quantity after a create & use request.

Revision: 6379
The use links for Fernswarthy's key and the dusty old book now should
actually go to your guild, instead of falling through to the next case and
visiting the Untinker.
Adds the +2^n% item and meat drops from Brimstone equipment.

Revision: 6380
Jar of fermented pickle juice and extra-greasy slider will remove up to 5
points of spleen damage when consumed.

Revision: 6381
The "effects" command now includes the total number of AT buffs you have
active.

Revision: 6382
New URL for IocaineBot.

Revision: 6383
Plural of "cream stout" is "bottles of cream stout", not "glasses of..."

Revision: 6384
Added a mechanism to disambiguate monsters with the same name: any code which
can predict which is going to appear can call
AdventureRequest.setNameOverride( <in-game name>, <disambiguated name> ).
Used this to distinguish the Barrels mimic (of which there are three
varieties) from the Dungeon of Doom mimic, and the Snake/Wolf knights in the
Gallery.

Also disambiguated the white & mahogany versions of the animated nightstand;
that had to be hard-coded as it's possible to directly encounter them without
going through a choice adventure.

Revision: 6385
Effect name change: Glittering Eyelids => Eyelashes. Also, The Halls of
Muscularity is now spelled correctly on the server.

Revision: 6386
Warn when have less than three bottles of oil of oiliness left in sewers

Revision: 6387
Give link to frat house when you find a spanish fly.
Be defensive when reading defaults.txt

Revision: 6388
When the Item Manager frame is created, the lists of creatable items contain
CreateItemRequest objects. Since frames are no longer destroyed, even across
logout/login, cached concoction yield can be incorrect for sauceress potions.
Therefore, recalculate yield before combining items.
Widen strut in front of garbage collect button to match other struts

Revision: 6389
Check data length in all other uses of FileUtilities.readData, too.

On fallback to an internal data file in case of version mismatch, skip over
the version number of the internal file.

Revision: 6390
Fix certain frames not calling dispose() when closed
Decode character entities in status messages (Labór Day)
Improve hide/redisplay for tabbed chat
When /listening to a channel, open tab before broadcasting listen message

Revision 6391
Disambiguate the three subspecies of Orcish Frat Boys. To minimize
confusion, I've changed their names to match those used on the Wiki. This
will break any existing ASH scripts that were referring to them by name, but
any such scripts were broken already.

Revision: 6392
When logout from one character and login to another, update battle action
and custom combat script combo boxes in Adventure Frame.
Louvre choice handler only activates for Louvre choices.
ASH extract_item and extract_meat functions should now work even if string
is in haiku result format.
Gaining a full stat point in an adventure should now force a refresh, which
hopefully will make newly equippable items available in the Gear Changer.

Revision: 6393
Fix at least some of the problems with taking a clan snapshot, including
handling players with custom titles.

Revision: 6394
Fix starcharting and other specialty creation methods that were producing no
results. (CreateItemRequest.reconstructFields had been inappropriately
changed to 'private', making the subclass overrides of that method
inaccessible.)

Revision: 6395
When not sorting consumables by adv-per-<fullness>, sort by adventures, not
<fullness>.
Restore equipment before inserting skeleton key if you aren't using a clover,
to gain the benefits of any equipment that raises your max HP.
Add "Mind Yer Binder" choice adventure.
The warning about needing a certain item when fighting the NS should now
work.

Revision: 6396
Consumption helpers are now fully usable from the item manager - they're
always at the top of the lists, just consume or enqueue them before the
consumables you want to apply them to. Note that the queue remembers the
exact order in which you added items, although the display does not currently
preserve that order.

Using Frosty's mug or Scratch's fork, from the item manager, CLI, or scripts,
should now automatically remove the disallowed elemental form, and heal
enough HP to survive the elemental hit you'll receive. This hasn't been
fully tested yet (ran out of fullness while testing other aspects).

Revision: 6397
Fix copy&paste bug in r6396.

Revision: 6398
Update for modifiers.txt to add the Red Door Syndrome effect

Revision 6399
Plump juicy grubs are now an option for HP restoration, and delicious
shimmering moths for MP restoration, when in Birdform. Eat 'em up, yum!

Revision: 6400
KoLmafia.getRestoreCount() (as used by the CLI "mpitems" command) no longer
crashes if there are non-item sources of MP restoration enabled.

Revision: 6401
Add space at the right end of the toolbar to match the space on the left end.

Revision: 6402
Logs the zodiac sign of a newly-ascended character, as requested by QuantumNightmare.
Adds "preAscensionScript" and "postAscensionScript" string preferences, which are
executed from the corresponding ValhallaManager methods. These should be useful to
customize last-minute preparations, and ascendee setup.

Revision: 6403
Don't let any item list contain negative item counts, except for the tally

Revision: 6404
Don't load the custom avatar page to determine the class of a player who has
a custom title - that information is actually on the character sheet, just in
a different place.

Revision: 6405
Add "gnaw through the bars" choice for Despite All Your Rage - useful for
people doing Hobopolis solo, who have no other choice. "Wait for rescue" is
not available as a choice, since it makes no sense to automate that - you
can't have already been rescued until some time has passed.

Revision: 6406
Correctly displays MP after a libram summoning (it was decreased by the cost
of the next cast, not the current one.)

Revision: 6407
Add choice spoilers for all the llama lama gong choice adventures.
Unfortunately, actual choice options wouldn't work very well, since these
adventures aren't tied to any one zone - the player would have to temporarily
change their adventuring location in order to access them. A "gong" CLI
command that sets all the choice numbers based on entered goals seems like
the simplest solution, but that's a project for another day.

Restore a used gong to inventory if it's used before the previous journey was
done.

Show the current tunnel level when in Moleform, as part of the "Shape
of...Mole!" effect in the charpane (much like the olfaction tracker).

Revision: 6408
Fix tracking of autoattack changes - both from the account page (the server
started quoting the option values at some point), and the new /aa chat
command.

Revision: 6409
Fix an old bug affecting clover recognition - their multiuse was detected with
urlString.indexOf( "whichitem=24" ) != -1
which picks up any other multiusable items with IDs starting with 24
(including most semirares, and a few other uncommonly used items).

Revision: 6410
Only look for "whichitem=xxx" for use and multi-use requests to avoid getting
fooled by mall purchase requests with >32 bit integers in such fields

Revision: 6411
Ingredients are now properly removed from inventory after one-click and chat
command crafting, thanks to a server-side change by CDMoyer. (Crafting and
other new chat commands still don't work in KoLmafia's internal chat.)

Revision: 6412
Since logout request is run in a worker thread while AWT is blocked, do not call AWT classes until logout is finished

Revision 6413
Support the new /outfit chat command, sort of - it's basically doing a
"refresh equipment" each time, as the server response does not contain enough
information to reconstruct the equipment change with 100% accuracy.

Display a message in internal chat when any advanced chat command is attempted
there, until such time as they are working properly.

Revision: 6414
Add support for / chat commands without the /cli, /do, or /run prefix

Revision 6415
Refactor chat command handling

Revision 6416
Ensure global menu bar is added to all windows"

Revision 6417
Correctly calculate MP cost of multiple libram summons.
Remove self-described "ugly hack".

Revision: 6418
Allow adventure zones to have multiple sets of default conditions.
Give the Oasis and Barrrney's Barrr multiple default conditions

Revision: 6419
Add /hobopolis to list of known channels

Revision 6420
Mafia's inventory can no longer be corrupted by the presence of "You acquire
an item:" or similar text in Mall stores.

Abort Mall/NPC store buying if the desired item isn't received, but something
else was. This should eliminate the runaway buying sprees that could occur
if an item had been renamed, or its plural was incorrect in itemdescs.txt.

Revision: 6421
Adds a "by room" checkbox to the item consumption lists, that controls
whether items you don't have room for are sorted to the bottom. This is for
the benefit of people using this interface to feed a GGG, and for those who
found that this feature increased the amount of scrolling they had to do.

Revision: 6422
Add new items and associated effects and recipes

Revision: 6423
Update to modifiers.txt for well-oiled
Update to concoctions.txt for new still recipe
Correction to equipment.txt Mpx -> Mox
Update to inebriety to include Pete's Sake

Revision 6424
Create login frame before logout sequence, make chat command detection case-insensitive

Revision 6425
Remove duplicate entries from concoction and inebriety data files

Revision: 6426
Implements usability of the Idol of Ak'gyxoth (it now summons one drink per
day), and adds it to the list of items used at breakfast. The code is based
on the assumption that it works exactly the same as the Emblem.

Revision: 6427
Corrected a bunch of plurals from a "checkplurals" run.

Revision: 6428
Fix ingredient usage for MultiUseRequest (palm fronds, duct tape, etc.)
Add preference to control whether closet is used as source of ingredients for
item creation. Add a checkbox to the item creation panel to control this.

Revision: 6429
Give corect adventure name as status when you find a new demon name

Revision: 6430
Adds Clownosity as a tracked modifier, which is displayed on the sidepane in
the same place as Hobo Power if nonzero. In the unlikely event that you have
both Clownosity and Hobo Power, Hobo Power currently wins.

Also a bunch of data file updates, such as the equip requirements recently
added to several items.

Revision: 6431
Add "Ballyhoo!" PvP stance.

Save the PvP loss message whenever it changes, rather than when the win message changes.

Revision: 6432
Libram skills can be cast multiple times per request now.

Revision: 6433
it's "Pete's Sake" not "Pete's sake"

Revision: 6434
Add groovy prism necklace

Revision: 6435
Star chart item creation makes one item at a time. Override processResults
since superclass method assumes all the items get created with one request.

Revision: 6436
A bunch of hopeful performance improvements, aimed mainly at
refreshConcoctions which seems to be the source of the recent slow-downs. I
can't quantify the results, but it certainly seems faster.

ConcoctionDatabase.getAvailableIngredients now always returns a
SortedListModel, which makes subequent lookups more efficient. There was a
bug here: if no items were available in the closet, storage, or stash, this
routine would simply return the full inventory list - even if there were
queued items whose ingredients shouldn't be available.

Rearranged the code in UseItemEnquePanel's isVisible filter to check the
simplest things first, and therefore usually exit faster. That seems to have
been the single greatest speedup.

Changed many uses of TreeMap to the more efficient HashMap - wherever I could
easily verify that no operations were being performed on the map that
required the sortedness of TreeMap.

Revision: 6437
Removed extraneous tab in file that was causing a "Unknown item found:" on
startup.

Revision: 6438
Adds moon sign spoilers to the resurrect screen, so that I don't have to look
them up in the Wiki every time I ascend.

Revision: 6439
The Storage list in the item manager now shows more info about consumables,
and grays out items that you are unable to consume or equip with your current
stats.

Automatically starts Doc Galaktik's Quest For Herbs after ascension. As far
as I can tell, there is no possible downside to doing this, but in case
anybody objects they can set autostartGalaktikQuest to false.

Revision: 6440
When fighting any pirate in the relay browser, show the current number of
known insults in the monster stats area.

Revision: 6441
When in Ronin, items from storage can now be directly used from the
consumption and creation lists within the Item Manager. Pulled items will be
shown in italic, and the number of pulls that will be used is shown in the
queued ingredient lists. To avoid clutter, consumables that you aren't high
enough level to consume will not be considered pullable.

To enable this feature, you must first set a budget for the number of pulls
KoLmafia is allowed to use on your behalf - this is done in either the
General Storage or Equipment Storage lists (just above the display of the #
of pulls remaining). Explicitly pulled items (from either Storage list, or
"pull" commands in the CLI) do not require a budget, but may reduce the
budget as it is limited to the number of pulls remaining. The budget is
reset to zero for every session, to avoid surprises.

Use with caution! If you've set a nonzero budget, mafia will happily use
those pulls to satisfy ANY item request that exceeds the amount creatable
from inventory!

Revision: 6442
Fixed visual glitch with Haunted Wine Cellar glyph display.

Revision: 6443
Added a bunch of missing monster drop data, primarily for Battlefield
enemies.

Removed forced stack trace on unrecognized item names, inadvertently checked
in with r6441.

Revision: 6444
Fix accounting of Hermit Permits when you've hacked the Hermit

Revision: 6445
Add new Halloween items

Revision: 6446
Keep better track of equipped accessories when refresh inventory/equipment

Revision: 6447
Disambiguates the Ninja Snowmen, to the extent possible. The variety that
drops the rice bowl has a distinct image, so can always be identified. The
other two (icy katana hilt & cold ninja mask) have the same image and intro
text, so they generally can't be distinguished before calling a CCS. I've
combined them into a single monster, with both drops, and twice the
appearance rate.

Revision: 6448
Add bird rib to dropped items for whitesnake

Revision: 6449
Makes pulling all items from Hagnk's much, much faster, by doing a single
refreshConcoctions at the end, rather than for each item. It can still take
over a minute, with a huge inventory on a slow computer.

Revision: 6450
Hopefully fixes infinite loop in CCS when using [lunging] thrust-smack with a
ranged weapon equiped (I have neither skill available to test).

Revision: 6451
Generalize the thrust-smack w/ranged weapon check to cover the *butt skills
as well, and their combos.

Revision: 6452
Fixed misspelled plural of deodorant.

Revision: 6453
Adds a new "Familiar Effect" modifier for equipment, which is displayed in
the Gear Changer in the familiar equipment menu. It's mainly useful for the
Mad Hatrack, but there are several ordinary familiar equipment items that
have hard-to-remember effects (such as the ant gardening tools).

Revision: 6454
Add villa to the list of known channels

Revision 6455
Since we're re-using frames, no need to do remove-readd tracking on frames with sidebar

Revision 6456
Display frame before rendering text to avoid race condition

Revision 6457
Adds online help to the CLI - "help" shows the full command list (long!) with
brief descriptions, "help <subject>" shows commands with <subject> in their
name or description, and "help help" shows the conventions used in the
command descriptions.

There will undoubtedly be commands in the list you weren't aware of, but
these are actually new: "budget", "pull outfit <name>", "condref", and
"moleref".

This feature required a complete rewrite of how commands are handled, so that
usage text could be associated with them; please report any anomalies,
especially in CLI scripts.

Revision: 6458
Adds Daily Deeds list (an option in the Overview section of the Adventure
tab), containing various limited-times-per-day actions such as the Friars
blessings and Nunnery visits. Most are in the form of a button that will
perform the action, which is dimmed out after the action has been done, so
you can tell at a glance which of these actions are still available (spice
melange usage is shown as text only, to avoid a potentially very expensive
misclick).

Adds "later" CLI command, that will add a Daily Deeds button that will
execute a specified command (or commands, separated by semicolons - "later"
eats the whole line). The button will be dimmed out if you click it and the
command completes without error, and in any case will disappear at the end of
your session.

Revision: 6459
Halloween prizes are "display" not "none"

Revision: 6460
If a counter would expire in the middle of an activity that takes multiple
turns (such as shoring), show the number of turns before expiration, so that
the player can take appropriate action.

Revision: 6461
KoLmafia's HP/MP restoration mechanism can now be overridden by an ASH
script: set preference "recoveryScript" to its filename. Its main() will be
called with two parameters, a string ("HP" or "MP") and an integer (the
specific amount that recovery needs to achieve, or zero for the usual case of
recovering up to the user-set threshold). The normal mechanism gets called
afterwards, so the script can simply return if it only handles the other type
of restoration, or it can't come up with anything useful to do.
removeMalignantEffects() is called before calling the script for HP recovery,
so you'd need to disable that in the preferences if you wanted the script to
take over those duties, too.

Revision: 6462
Show quantity when acquiring multiple items.

Revision: 6463
Dont stop adventuring when removing a countwer which expired in the past

Revision: 6464
Mysticality weapons require Muscle to hit

Revision: 6465
Adds "execute" button to the Mood panel, for convenience.

Revision: 6466
Adds another scriptable behavior override: deciding whether to buy or create
an item, which doesn't always have an obvious answer. Set "buyScript" to the
filename of an ASH script definining a function like this:
boolean main(item itm, int qty, int ingredientLevel, boolean defaultBuy)
If it returns true, the item will be bought, otherwise created (possibly
invoking further buy/create decisions for the ingredients).

Parameters itm & qty specify the item that is needed.

ingredientLevel indicates what's already available: 0 = none of the
ingredients, 1 = some of them, 2 = enough to create at least one of the
requested item.

defaultBuy indicates what KoLmafia would have done otherwise; returning this
value is the safest thing your script could do. It will normally be true if
ingredientLevel is 0, false if 2. The default at level 1 depends on the
item, and is subject to change - currently, anything made with star charts,
pixels, the Malus, or multi-use are bought, anything else is created.

Your script should generally NOT buy or create anything - those actions will
be performed based on the value it returns. However, the script might want
to acquire the item by nonstandard means - for example, it could pull certain
items from the clan stash, while the general preference for satisfying
requests from the stash is turned off.

Revision: 6467
Remove chat command interception (rollback to /do /run /cli before all chat commands)

Revision 6468
Add /ann to list of commands requiring /channel prefix

Revision 6469
Combats in Hobopolis are no longer assumed to be vs. ordinary hobos if the
encounter name matches any known monster. This should fix problems with
holiday monsters in Hobopolis, and with giant sandworms or black puddings
after a Hobopolis adventure. New holiday monsters are still going to be
misrecognized as hobos until entered into monsters.txt, there's no easy fix
for that.

Added minimal entries (HP=0, no other data) for the FoB and Drunken Dead
monsters, so that the above actually accomplishes something. Added actual
entries for Giant Sandworm and Black Pudding, which had somehow been
overlooked.

When using a CCS, the name of the section being used is now shown on the
"Strategy:" line. This should make it more obvious what's going on in cases
of monster misrecognition.

Revision: 6470
Adds preliminary support for the Scratch 'n' Sniff Sticker Tome and its
products. All currently known items are recognized (however, I suspect there
are some rare stickers yet to be discovered). The weapons can be equipped
from mafia, and "use"d to fold into the other form (but there's currently an
error given if you were wielding the weapon at the time).

Mafia cannot currently cast the summoning skill, nor apply/remove the
stickers. The sticker enchantments are not yet accounted for.

Revision: 6471
When a sticker falls off at the end of a relay browser combat, add a
[bedazzle] link to let the player easily replace it.

Revision: 6472
Provide ability to (almost) create fullness and inebriety files directly from
the Well Tempered Epicure and Mixologist.
Update data files with latest Well-Tempered data

Revision: 6473
InventoryManager.hasAnyIngredient() no longer hangs on items with a creation
loop, such as flat dough <-> wad of dough.

Revision: 6474
Tries to recognize
monster names, and to insert
spoilers, in haiku.

Only tested in
the Haiku Dungeon: I don't
know how well it will

work with combats with
the haiku katana (what
happens with monster

names over seven
syllables?). blah blah blah blah
blah blah haiku sux

Revision: 6475
Adds more graceful handling of situations in which an item is unequipped in
order to satisfy a request, with an outfit checkpoint active - the item is
removed from all checkpoints, so there won't be a useless error when the
checkpoints are restored. This is specifically useful for "use"ing an
equipped scratch 'n' sniff weapon in order to fold it into the other form.
It should also eliminate that annoying "You need 1 more worm riding hooks to
continue" error at the end of the Desert subquest.

When using multiple Warm Subject gift certificates, they should now all be
used, even if the first one gave you the T-shirt.

Revision: 6476
Adds a [refresh] link at the bottom of the charpane - it can easily get out
of sync due to activities performed within mafia, and a page refresh may have
undesirable side-effects such as clearing chat.

Makes the current image number visible in all Hobopolis zones.

Revision: 6477
Fix bug that was causing items to be misidentified when added to your Mall
store via the relay browser - the quantity was being used as the item ID.

Revision: 6478
let's try this again
haiku dungeon combat now
has recognition

Revision: 6479
Avoids an error when trying to view the Mall store of a player who doesn't
have a Mall store.

Revision: 6480
Restore "galaktik" CLI command to fully or partially cure HP or MP

Revision: 6481
Makes the quest completion info from QuestLogRequest available to ASH
scripts: galaktikCuresAvailable(), isWhiteCitadelAvailable(),
isBlackMarketAvailable(), and isHippyStoreAvailable(), all returning boolean.

Revision: 6482
Renamed the functions added in r6481 to better match the naming conventions
for ASH - galaktik_cures_discounted(), white_citadel_available(),
black_market_available(), and hippy_store_available().

Revision: 6483
Whenever you receive a roasted marshmallow from one of the Yuletide
adventures, a marshmallow now mysteriously vanishes from your inventory.
Spoooky!
 

Veracity

Developer
Staff member
Revision: 6484
Phase 2 of scratch 'n' sniff support. Stickers are now fully usable from CLI
and ASH, as if they went in three new equipment slots, named "sticker1" thru
"sticker3" (can be abbreviated as "st1" thru "st3"). "equip" now includes
sticker info, including the estimated number of combat turns left for each
one; "equip [<slot>] <sticker>" or just "use <sticker>" applies one; and
"unequip <slot>" or "unequip <name>" peels them. If no slot is explicitly
given when using a sticker, only currently empty slots are considered - it
won't peel one to make room, as it can't know which one you wanted to remove,
and there's a cost to guessing wrong.

Still not implemented: summoning stickers, using them from the Gear Changer,
accounting for the sticker effects, and a mechanism for automatically
replacing stickers when they wear out.

Revision: 6485
Do a better job of tracking equipped equipment while refreshing inventory

Revision: 6486
Give choice spoilers to Orcish Frat House Blueprints

Revision: 6487
Scratch 'n' sniff phase 3: Gear Changer is now fully functional with
stickers. Sticker enchantments are now accounted for in the displayed item
drop %, meat drop %, etc. Added a "stickers" value to CLI conditional tests,
so you can now say things like:
while stickers < 3; use apple sticker

Revision: 6488
If you find a special encounter twice in the same session, special handling
didn't happen for the second time - even though that was when it NEEDED to
happen, in the case of the adventures that remove catnip and hang glider from
your inventory.

Revision: 6489
Small refactoring of choice handling

Revision: 6490
Fix problem with using Ben-Gal balm (or anything else with non-ASCII
characters) from the Fernswarthy's Basement booster list. You may need to
manually delete relay/basement.js from your data directory for this to take
effect, it's one of the files that's only updated on a version number change.

Disable "telescope" and "concert" options in the Basement booster list if
those activities have already been done today.

Set the current quartet song when distant music is heard at the end of
combat. This will eventually pick up any changes from adventuring in the
Ballroom outside of mafia.

Revision: 6491
Fix familiar changing in the Basement, which was broken by previous fix for
using Ben-Gal balm in the Basement.

Revision: 6492
Use the correct parameters when implicitly calling a script from the CLI (no
explicit "call" command given), especially when the script isn't the first
command on the line.

Revision: 6493
Fix problem with incorrect HP target being shown for Basement gauntlet test,
if your DA is over 1000.

Fix problem with Basement monsters being misrecognized as hobos if your last
normal adventure was in Hobopolis.

Revision: 6494
Fix problem introduced in r6493 that was causing a variety of
location-specific actions to not take place.

Revision: 6495
Updated monsters.txt with the latest data from AFH.

Revision: 6496
Add item to use to get Radiating Black Body

Revision: 6497
Fixed relay browser safetly spoilers ("?" at top right of map pages): the
problem was that mafia was being inconsistent as to whether the "&pwd" should
be part of URLs passed to getAdventureByURL(). I believe this will also fix
problems related to auto-completing the Untinker quest, and auto-acquiring an
enchanted bean to unlock the Beanstalk.

Revision: 6498
Add a couple modifiers that have now been spaded

Revision: 6499
Testing a possible fix to the slowdowns reported by some players after
receiving or using items with a (TM) or other non-ASCII character. Possible
side-effects include incorrect display or word-wrap of words with such
characters, although I've not personally seen any such problems (and I assume
that the affected players would prefer an occasional garbled word to an
unusably slow program).

Revision: 6500
Remove carved wooden wheel from inventory when you install it in the pyramid

Revision: 6501
Ignore Olfaction in CCS if you are in bad moon; the skill shows up on the
character sheet but is not really available.

Revision: 6502
Phase 1 of campground parsing - your housing, furnishings, and other
campground equipment that isn't already detected is now collected in a list
of items, available internally as KoLConstants.campground, and from ASH via
get_campground(), which returns a mapping from items to integers (the integer
can only be 1 for most items, but can be as high as 9 for pretty bouquets and
fences). There are a few special cases for campground items that don't
correspond directly to an inventory item: having Really Good Feng Shui is
represented by the item "Feng Shui for Big Dumb Idiots", having a pagoda is
represented by "pagoda plans", and the ground (having no housing) is
represented by a "big rock" for lack of anything more appropriate.

Modifiers are processed for all campground items, and new modifier types have
been created for the various aspects of recovering HP/MP via resting, but at
the moment the only items with any real effect are the Hobopolis bedding
items which give elemental resistance. Also, the campground info is only
valid at the start of a session, it isn't yet being updated if items are
added.

Revision: 6503
Remove carved wooden wheel when given choice adventure that consumes it, not
when you take a choice.

Initial support for HiddenCityRequest: recognize and log visits to hidden city,
recognize when placing stone triangles or round objects consumes items.

This could ulitmately be expanded to allow detection and tracking of which
squares contain the various altars and the temple, to allow insertion of
round objects and stone triangles, and to allow autmated adventuring in
other squares.

Revision: 6504
Support for automatic adventuring in the Hidden City. You have to choose a
square to adventure in. Having done so, you can select Hidden City as an
adventure location and all should work as expected. If you choose a square
that contains an altar, the temple, or a former protector spirit, you will
be told that there is nothing more to do and adventuring will abort.

A new CLI command has been added to enable this:

hiddencity <square>

will set the designated square in your preferences for automated adventuring
in the Hidden City.

This command also allows two other things, but they have not been tested yet:

hiddencity <square> temple

will visit the specified square and deposit the four stone triangles. That
should redirect you into a fight...

hiddencity <square> altar <item>

will visit the specified square and insert the specified item into the altar.

Revision: 6505
HiddenCityRequest no-longer erroneously claims all URLs from relay browser.
Opps!

Revision: 6506
Hopefully fix problem with taking a clan snapshot of a player with a custom
title starting with "Level". Note that correct parsing of the level of any
player that has their level as part of their title cannot be guaranteed.

Revision: 6507
Phase 2 of campground parsing: most changes to campground equipment are now
tracked, the main thing missing is that it doesn't notice when Spn-Zor's
"tasteful" furnishing items break.

HP/MP restoration now uses the actual values based on your campground when
resting, rather than assuming 40 points - this should make it a bit more
intelligent about choosing that option.

Having "sleep on your clan sofa" selected as a restorative, when your clan
doesn't have a sofa, should behave a bit better now - you'll get hurt once,
then it will move on to another option.

Revision: 6508
Improve parsing of housing changes - mafia was looking for some rather
outdated messages.

Refresh effects after using an anti-anti-antidote.

Revision: 6509
Adds tirevalanche calculator at the bottom of Burnbarrel Blvd.

Revision: 6510
Adds a few CLI commands:

"try" - execute the following commands, but continue the script even if an
error occurs.

"else" - execute the following commands only if the previous "if", "while",
or "try" didn't execute theirs.

"elseif <condition>" - use this instead of "else; if <condition>" which
doesn't actually work. Due to the unusual way the CLI defines block
statements, both "else" and the conditional command it goes with must be at
the outermost level; neither can be nested inside anything, thus a separate
"elseif" command is required.

"ash <statement>" - runs a single line of ASH code, and displays the results.
This is intended for quick testing of ASH built-in functions; for embedding
ASH code in a CLI script, the <inline-ash-script> mechanism remains a much
better choice.

Also fixed a crash that would occur if a return statement was used at the top
level of ASH code, outside of a function.

Revision: 6511
Changes the "all but one" option on several Item Manager pages to "all but
usable", since a growing number of equipment types can now have more than one
equipped - for example, with Double-Fisted Skull Smashing and a Disembodied
Hand, up to three of any 1-handed weapon might be used at once. However, not
everybody has DFSS available on their current run, and not everybody is ever
going to have a Hand, so the exact numbers are configurable. This is done on
the Item Filters page, which was previously blank. In anticipation of even
more ways in which multiples of equipment items might be needed, I've added
configurable values for every category I could think of. So, once you have
the Quadrupedal Pants-Wearing skill, and the Psychopathic Pantsrack familiar
is released, all you'll need to do is change the Pants value from 1 to 3.

Revision: 6512
Adds "overdrink" command to CLI, which behaves exactly the same as "drink"
except that there won't be any confirmation dialogs if this would get you
falling-down drunk with turns remaining, or if you don't have enough MP to
cast Ode to Booze. Useful if you need to queue up some actions before
rollover and won't be around to answer any dialogs.

Revision: 6513
Adds a 3-turn counter when a dance card is used, to remind you to go back to
the Ballroom.

It is the player's responsibility to avoid using a dance card when another
counter has 3 turns remaining; there is no mechanism for delivering two
simultaneous counter expiration notices (and of course no way to collect both
rewards).

Revision: 6514
Adds a couple of Birdform-specific fumble/damage messages.

Revision: 6515
Don't shortcircuit a request when removing a previously expired counter

Revision: 6516
Initial support for the "Summon Stickers" skill. You can now mix and match
Tome skills three times per day for 2 MP each. I have not changed how they
are used in Breakfast, yet.

Revision: 6517
Creating stuff with meat via the inventory uses action=makestuff.
Creating stuff with meat via the crafting interface uses action=makepaste.
Handle both.

When an already expired counter is detected in the Relay Browser, do not alert
the user that the counter expired -1 turns ago.

Revision: 6518
Fix spleen tracking

Revision: 6519
Muscle and Mysticality weapons are both Melee and can be mixed.
Moxie weapons are Ranged and can be mixed onlty with other Ranged weapons.

Revision: 6520
If MP is insufficient for mood maintenance, recover enough MP to cast all
skills that actually need to be cast, not every skill in the mood.

ASH restore_mp(0) now works to restore to the user-set recovery level, just
as restore_hp(0) does.

Added ASH meat_drop() and meat_drop(monster), which return the base average
meat drop for a monster (0 for monsters that don't drop meat, -1 for unknown
monsters).

Added CLI "holiday <name>" command to enable special processing for holidays
that are celebrated on an unexpected day. "Feast of Boris" (increased
stomach capacity) and "Festival of Jarlsberg" (reduced skill cost) are the
only names with any current effect - note that these are case-sensitive.

Revision: 6521
Fix incorrect determination of the date of Thanksgiving (although I'm not
sure if it's going to be a Feast of Boris this year, given today's unexpected
FoB).

Discontinue collection of Wine Cellar drop pattern data - with over 500
submissions, it's clear that all 24 patterns are possible, with no
significant differences in frequency. Thanks to everyone who contributed!

Revision: 6522
Show odds of winning Beer Pong along with insult count

Revision: 6523
Added the three ways you can help Richard in Hobopolis as adventurable
locations.

Added the four current Sea zones as adventurable locations. Yes, it takes
into account the fact that they normally consume two adventures - if you try
to adventure there with one turn left on a counter, and don't have the Fishy
effect, you'll get the warning.

Added the monsters from those Sea zones with minimal data, and all of the
items they drop directly (just enough to prevent errors at startup). Some of
the items you can get indirectly remain to be added.

Revision: 6524
Adds ASH autosell_price() function.

Adds [use map] link when you receive the Knob encryption key.

Revision: 6525
Fix "add to mood" button on status effect panel.
Add hedge maze puzzle as default goal for hedge maze

Revision: 6526
If breakfast unequipped your old-fashioned Crimbo toy in order to use it,
reequip it

Revision: 6527
Degrassi Knoll shopping list is consumed if you have a bitchin' meatcar in your
inventory. Otherwise, it is not.

Revision: 6528
If you have no adventures left, clicking arrows on the adventure count spinner
will no longer change the adventure count from 0

Revision: 6529
Support for the wheel in the pyramid.

Whenever we visit the main pyramid page, we record what position the lower
chamber is in. This position is incremented by turning the wheel, either via
choice adventure or tomb ratchet.

When you are given the pyramid wheel choice adventure in the Relay Browser,
the current state of the pyramid is shown below the choice options.

When you take a choice, the new state of the pyramid replaces the Adventure
Again section, complete with HTML links.

Acquiring and using ancient bronze tokens and ancient bombs should be correct.

Revision: 6530
Don't let KoLAdventure claim requests owned by PyramidRequest.
Change name of final Lower Chamber configuration to Empty/Empty/Ed's Chamber

Revision: 6531
Shows the current Guy Made of Bees state and Ballroom song on the 2nd floor
of Spookyraven Manor.

Recognizes monsters with prepositions in their names, even when the sword
behind inappropriate prepositions is equipped.

Revision: 6532
The Palindome is now properly unlocked when you attempt to adventure there,
so your initial visit no longer has to be made via the relay browser.

The "telescope" command now indicates whether you have the item needed to
pass each level, in either your inventory or closet.

Revision: 6533
Change Melee Damage and Melee Damage Percent to Weapon Damage and Weapon Damage
Percent, to agree with KoL.
Made other modifications to item enchantment parsing.
Ran checkdata and updated all items to agree with current KoL item descriptions

Revision: 6534
Add new items and such, courtesy of Doctor Rotelle

Revision: 6535
Do not provide a use link for the Orcish Frat House Blueprints, as it is
useless: you MUST be wearing the Swashbuckling Getup when you get them, and
it is not possible to pass any of the options on the Blueprints while wearing
that outfit.

Revision: 6536
Restore that use link, after browbeating by dangerpin. :)

Revision: 6537
If we have not detected the pyramid position, look at it before decorating the
response to the pyramid wheel choice adventure.

Revision: 6538
Testing a possible partial fix for the hangs on window opening.

Adds combat data for Dr. Awkward.

Revision: 6539
Another attempt at parsing profiles of players with custom titles.

In the process of debugging the above, I added a "checkprofile <player>" CLI
command. I've left it in place, but not marked public, as I'm sure it's
going to be needed again.

Also fixed a problem with ascension history parsing due to a change in format
on the server.

Added recipes for creating any of the four flavors of South of the Border
gum, by using a pack of gum (it's guaranteed to drop one of each, unlike
other similar situations such as the pile of candy).

Revision: 6540
I don't want full pathnames cluttering up my gCLI output, so make it optional.

Revision: 6541
Added the varying properties of the new depleted grimacite equipment.

Corrected calculation of bonuses for all grimacite equipment - it was wrong
when the mini-moon was hidden.

Added "PvP Fights" numeric modifier, and applied it to all the relevant
equipment.

Revision: 6542
Support for depleted grimacite items.

Yes, Jason beat this submit by mere seconds. I retained his submit and folded
in some refactoring from my submit.

Revision: 6543
Recognize pirate insults even if you have the sword behind inappropriate
prepositions equipped.

Revision: 6544
Don't parse results on account.php, as there can be arbitrary text (such as
"You acquire an item") in the profile quote field.

Adds three new ASH stat constants: SubMuscle, SubMysticality, and SubMoxie.
Passing one of these to my_basestat() will return the current substats rather
than full stat points.

Revision: 6545
Add plural of lewd playing card
Add new items and effects.

Revision: 6546
Toaster is no longer a campground item.

Revision: 6547
Provide mechanism for ASH runtime errors to print the line and filename of the
script statement that generated the error. The following places use this:

Runtime library functions: random, square_root
Operators: division by zero, mod by zero
For Loop with increment of zero
Array index out of bounds
Various internal errors which should never happen

Arrays are now publicly released.

int [6] array;

declares an array with six elements, indexed from 0 to 5. Accessing it looks
just like accessing a map with integer keys, but, unlike a map, only those
specific keys are allowed; you can't use other integers as indices. Doing so
generates "Array index out of bounds" errors at runtime.

Revision: 6548
Operators need line number tracking, not Expressions. Refactor a bit.

Revision: 6549
Adds a new Pulverize panel to the Equipment section of the Item Manager. It can filter items based on expected yield & element, and queue them up for smashing, or to be sent off to wadbot.

The list of non-standard pulverize results is not 100% complete yet, but I believe that the displayed values are accurate for all items that players are likely to want to smash on a regular basis.

Revision: 6550
Add IOTM, Sneaky Pete's day items, Advent calendar items

Revision: 6551
Set line and file just before invoking a function, not before parameters are
evaluated. Arena parameters for Sugar Fruit Fairy.

Revision: 6552
Detect "you don't have permission" from dev server and connect to another server.
For now, don't use raw IP addresses when connecting to KoL servers.

Revision: 6553
Don't double count ingredients when craft items in relay browser.
Suppress visits to crafting interface in session log that are not creations.

Revision: 6554
The various panels on the Meat Manager now have a "transfer all" button.

Revision: 6555
Do not unequip your familiar's item when you put on the Birthday Suit.
(You do need to do that in the Sorceress's Lair, but the quest script handles
that a different way.)

Revision: 6556
Maximum use count for a dance card is 1, or 0 if one is already active.

Revision: 6557
WHn you take a clover into the sewers, your clover and chewing gum are only
consumed if you accept three items; you can return to the Marketplace and
keep both items.
Clover protection should only kick in before you enter the sewers, not when
you accept items.
When you create an item out of meat, need a blank line in the session log.

Revision: 6558
Clover protection kicks in only if >0 clovers in inventory.
Don't mess up caret position when typing in Conditions field or Login name

Revision: 6559
M-x tabify turned the two spaces in "It's actually a book. Read it." into
a tab. Revert it to the (necessary) two spaces.

Revision: 6560
Regular item creation should not claim urls owned by PulverizeRequest
Provide arena parameters for the Cuddlefish
Add Festive Radiation status effect

Revision: 6561
Attempt to fix clover protection for 31337 scrolls: don't reset last used item
until clover protection has looked at it.

Revision: 6562
Add "int equipped_amount( item )" function to ASH

Revision: 6563
Skills that cost 0 MP to cast always cost that, regardless of Mana Cost
Reduction gear.

Revision: 6564
If use a tattered scrap of paper or a divine champagne popper in a CCS, don't
try funkslinging more than one at a time. In fact, don't automatically choose
a second item to funksling with those items, since if they work, the monster
goes away. You can still explicitly list a second, different item.

Revision: 6565
Add new item type: combat item.
Custom Combat only allows combat items

Revision: 6566
Another attempt at correctly calculating the varying effects of Grimacite
equipment.

Revision: 6567
Automatically create intragalactic rowboat when acquire a quantum egg

Revision: 6568
Add "item familiar_equipped_equipment( familiar )" function to ASH to return
current item, as opposed to familiar_equipment( familiar ) which returns the
special item only this familiar can use.

Revision: 6569
Makes the Gear Changer scrollable, so the presence of the sticker slots
doesn't affect the minimum size of the containing window.

And a little experiment: on Mac OS X 10.5+, gives the various text filters
the standard OS X search field appearance - this should make the purpose of
these unlabeled fields much clearer to new users. The change has no effect
on any other platform, and in fact doesn't even affect 10.4, so I'm unable to
see the results myself. Feedback, please.

Revision: 6570
Detect Really Good Feng Shui in your dwelling.
Logout before disposing of frames for "exit" command, rather than after.

Revision: 6571
Two fixes to Familiar Trainer's "Learn Familiar Parameters" feature:
Print current iteration number, rather than +1
Detect special "this familiar sucks at this contest" message better: the message
for the Cuddlefish, for example, ends with a "!", not a "."

Revision: 6572
Backs out the change in r6569 that gave the Mac OS X standard search field
appearance to text filters. It had an ugly visual glitch on the
AdventureSelectPanel; the only thing that seems to be done differently there
is that the field is forced to a specific size, but that appears necessary
for layout.

Revision: 6573
Add new underwater items, effects, familiars, etc.
Fix Elemental Resistance factors of Stupendous and Sublime

Revision: 6574
Put logout request back after frame manipulation, so user has feedback during
execution of the logout script.

Revision: 6575
zen motorcycle and imitation whetstone do not increase familiar weight

Revision: 6576
Add damp old boot. das boot is no longer a quest item.

Revision: 6577
Fixed a space/tab problem with The Wreck of the Edgar Fitzsimmons.

Revision: 6578
Item descid for das boot. 2 more monsters in the Wreck of the Edgar Fitzsimmons.

Revision: 6579
Change an 8-hippy battlefield search string so as not to match a possible hot
cookbook message

Revision: 6580
Using a strategy of "item dictionary" against a rampaging adding machine now
properly gets turned into an attack, rather than hanging the combat.

Items used in combat, that have some use type other than COMBAT_ITEM, are now
properly removed from inventory.

Revision: 6581
When you pick up a sand dollar, give a use link to Big Brother

Revision: 6582
Fixed a misplaced line break in The Wreck of the Edgar Fitzsimmons.

Revision: 6583
Fix some undersea item drops and add some HP. Add Greased-Up Familiar

Revision: 6584
Add Big Brother to list of Coinmasters for trading sand dollars for items.

We do not currently ensure that you are wearing equipment that allows you
to go under water or that you have progressed far enough in the quest to
actually visit Big Brother.

Revision: 6585
Clean up some data files
New zap groups
Added data for new AT skills to avoid "uneffect" when adding to current mood

Revision: 6586
You need to have rescued Big Brother before you can buy stuff from him.
You need to wear underwater equipment before you can visit Big Brother.

Revision: 6587
Arena parameters for the Imitation Crab.
Effect images for sugar fruit effects.
Update Coinmaster Frame variables when acquire sand dollars.

Revision: 6588
Update version number to 12.7
 
Top