Version 13.1

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: 7045
Fix calculation of the date of Easter (had some missing parentheses).
Added the fact that certain item uses may consume adventures - any item that
can lead to a combat, and llama gongs when the choiceadv settings select
Roachform. It is now safe to do things like "use * drum machine" without
missing counter expirations (although this doesn't do anything to help with
item usage from the relay browser).
If a notice is given for a counter expiring more than two turns in the future
(this can happen when using a gym, for example), don't delete the counter -
let the warning be given again when the player reaches that point again.
If multiple counters expire on the same request, display the others in the
CLI - so that there's at least some evidence left of what happened to them.

Revision: 7046
When you receive Fernswarthy's Key the second time, link to the tower ruins
instead of the guild. Not tested.

Revision: 7047
Recognize damage
It's in the tooltip, log it
In haiku combat.

Revision: 7048
Update smithing requirements for Anemone Mine ore weapons

Revision: 7049
New SSPD items

Revision: 7050
Add handful of bees

Revision: 7051
Never interpret Mall buying results in haiku format - that leads to a
runaway buying spree, since no items appear to be obtained.
Add handful of bees to the monster it can be stolen from.

Revision: 7052
Don't double-count white pixels in inventory when generating the use link for
acquired pixels.

Revision: 7053
When using items that can result in a combat, perform normal between-battle
handling, including HP/MP maintenance.

Revision: 7054
When adventuring at the F'c'le, if you have all three quest items, use them.
Completing this area can therefore be done by adventuring until the default
goals are met, then adventuring once more to get the pirate fledges.
Adventuring with a goal of "pirate fledges" should also work, but can't be
made the default condition since it would prevent the use of the auto-olfact
or auto-putty features to help get the third quest item.

Revision: 7055
When reading a map from a file via ASH, if the key is an item and the file
contains a bogus item name, don't make an item with a null name, leading to
later NPEs. Instead, use the default "none" item.

Revision: 7056
KoLmafia wants to use a LARP card to buy from cafes. If you have one in your
inventory or closet, it will show the discounted price on the Item Manager.
If you have one in storage and are out of ronin, we would automatically pull
it for you. Unfortunately, we tried to do this whenever we were determining
the price, even for display on the Item Manager. Making requests from the
swing thread doesn't work.
Therefore, when you log on, when we fetch the contents of storage, if you are
out of ronin and have a LARP card sitting there, pull it at that time.

Revision: 7057
When you use an item that can redirect to a fight (black pudding, drum machine,
spooky puttiy monster, etc.) via the CLI or Item Manager, KoL actually does
issue a redirect, and we properly log the encounter as a fight and do special
prciessing, like dealing with fullness for a black pudding, or put a spooky
putty sheet back into inventory, for a spooky putty monster.
But if you do it from the Relay Browser, KoL uses ajax to execute a script to
call fight.php and we don't do any of that.
Fix that.

Revision: 7058
When you find the rusty screwdriver in the Relay Browser, provide a link to
visit the Untinker

Revision: 7059
Provide useless option to not strip linebreaks when logging HTML in debug log.
Using items in-line was erroneously trimming what was displayed to what was
between the first <table> tag and the first </table> tag. That breaks when the
output contains nested tables and/or multiple tables.
It appears to be completely unnecessary, in addition to being simply wrong, so
it's gone.
You may to remove data/relay/basics.js to get ths fix.e

Revision: 7060
Attempt to make the Basement decorator lists work again in IE.

Revision: 7061
Center table when using items inline

Revision: 7062
When deciding whether to buy or make an item, consider the price of
ingredients recursively (up to 10 levels deep), rather than only the top
level ingredients.

Revision: 7063
The Master of Ceremonies, not Master of Ceremonies. Ghuol, not Ghoul.

Revision: 7064
KoL now supports searching for the <n> cheapest mall prices again. Use it.

Revision: 7065
Fix white pixel use links: include not only how many yu can create, but how many
are currently in inventory.

Revision: 7066
Teach familiar trainer about bathysphere and das boot. Untested.

Revision: 7067
Fix typo

Revision: 7068
At start of a familiar training session to learn arena parameters, log how many
iterations are expected.
If a learning session aborts for some reason, print out what had been deduced
up to that point.

Revision: 7069
When you acquire an unknown item, not only record it in the gCLI, but add it
to the session tally.

Revision: 7070
Add midget clownfish. No arena parameters yet.

Revision: 7071
Teach the familiar trainer about the disintegrating spiky collar

Revision: 7072
Show lighthouse items in Coinmaster frame if you've finished the lighthouse
subquest for the appropriate side.

Revision: 7073
Initial support for Mer-kin outpost, Grandma quest, new sea items, etc.
Now that we know the modifiers for the status effects, fix spoilers for Arena

Revision: 7074
Remove erroneously inserted newlines

Revision: 7075
Another sweep of content updates

Revision: 7076
Fix typo

Revision: 7077
ASH has string functions that can take indices to specify the part of the string
to manipulate. Range check them and generate an understandable runtime error,
rather than simply passing them on to Java to generate a stack trace.
Recognize when we visit Grandpa and ask him a story. Add a CLI command to do
so: "grandpa <query>" will start him talking.

Revision: 7078
You lose Grandma's note when you get Grandma's map

Revision: 7079
sea radish and eel sauce are now sushi ingredients

Revision: 7080
Log commands issued to the strange leaflet, whether via quest script or from
the Relay Browser. CLI command "leaflet location" tells you where you are in the
leaflet.

Revision: 7081
Correctly determine availability of cooking/mixing recipes when servant
auto-repair is turned off.

Revision: 7082
Recognize usage of zapping wand equivalently from GUI and from Relay Browser:
detect unzappable items, detect when wand blows up.

Revision: 7083
In the charpane decorator, insert counters in the proper place if they are
higher than any normal effect's count, but there is an intrinsic effect.

Revision: 7084
Fix Wiki lookups (via the "lookup" CLI command and the context menu in
various lists) for items with non-ASCII characters. Bash-Os still don't
work, but that appears to be a problem with the Wiki.

Revision: 7085
Add item drop chances for Hidden City, Octopus's Garden.

Revision: 7086
Re-sort the consumables list whenever milk of magnesium, mojo filters, or Ode
are used - even if not done via the buttons in the Item Manager.
Re-sort the consumables list whenever an item is consumed outside of the Item
Manager, if sortByRoom is turned on.

Revision: 7087
Experimental feature for Mac OS X 10.5: if a debug log is generated for any
reason, and the GUI appears to be running, add a proxy icon representing the
log file to the main window's title bar. This icon can be dragged to a text
editor to view the log, to an email message to attach it, or to a web form
file upload field (such as to attach it to a bug report) - all without having
to dig down to KoLmafia's data folder. Not tested - the feature isn't
available in OS X 10.4.

Revision: 7088
Regardless of whether the "inline use link" option is selected, use links for
drum machine, spooky putty monster, black pudding, Cap'n Caronch's map, and the
cursed piece of thirteen cannot be inline, since that doesn't work if/when you
get redirected to a fight.

Revision: 7089
Give the "drink without ode?" confirmation dialog if Ode was castable, but
failed for some reason - most likely due to having all song slots full.

Revision: 7090
ASH string functions CAN take an index which equals the length of the input
string.
Initial support for new Pastamancer combat entities. Not all the data is on the
Wiki yet, and more testing is needed...

Revision: 7091
Add another variation on the possible messages you can get when you acquire a
skill: this one handles Scarysauce, and possibly other Spookyraven skills.

Revision: 7092
Add .gif file names for the new pastamancer combat entities.

Revision: 7093
Fix a few regular expressions for new pastamancer ghosts.
Remove extra space in message for "entity" command.

Revision: 7094
A change to how the 3rd field in tradeitems.txt is handled: instead of a
numeric usage type code, it is now human-readable text. There can be one
primary usage ("eat", "drink", "usable", "multiple", "hat", "weapon", etc.),
plus zero or more secondary usages, separated by commas.
The possible secondary usages are:
"usable", "reusable" - for items that have a [use], [fold], or similar link,
in addition to their primary [equip] or other function. Such items no longer
have to be hard-coded in mafia.
"combat", "combat reusable" - for items usable in combat, which is now
entirely independent of other usages.
"single", "solo" - for combat items only, specifies that the item should not
be used twice, or that the second slot should not be used at all, if the
player has Funkslinking.
"bounty" - this was previously hard-coded.
"curse" - for items that can be used on other players. We're not currently
handling such items at all, but at least they're now identified.
tradeitems.txt has been converted to the new format, and the version number
has been bumped. Several combat item usage problems have been fixed, now
that it's possible to do so.

Revision: 7095
Fix over-zealous global replace

Revision: 7096
Add itemdesc for vampire glitter, from the Wiki.
Recognize when a Boba Fettucine is summoned into a fight.
(I'm missing the message when a Vampieroghi is summoned into a fight. If anyone
has that combat ghost and can send me a debug log, I'd appreciate it.)

Revision: 7097
Fix the vampire pearl ring & necklace - they were swapped in tradeitems.txt.
Add a way of classifying special item drops, via a letter added in front of
the drop rate numbers in monsters.txt:
p - item is pickpocket-only.
n - item cannot be pickpocketed.
b - bounty item.
c - conditional drop, such as the items unlocked by talking to Grandpa.
This info is shown in the relay browser spoilers, and is used to more
precisely calculate drop rates in Location Details (which also now labels the
multiple numbers shown when pickpocketing is involved). It should also make
the decision of whether to auto-pickpocket a monster more accurate.
monsters.txt version number NOT changed, as the added letters would be
ignored by previous versions. I've added the appropriate drop types for many
items, but many more remain to be done - in particular, all the non-pickable
items in the Sea.

Revision: 7098
Recognize when you summon a Vampieroghi in battle.
Initial support for a "switch" construct in ASH:
switch (<value>) {
case <expression>:
<statement>
<statement>
...
break;
default:
<statement>
<statement>
...
break;
}

Revision: 7099
If the switch scop leaves the interpreter in a BREAK state, set it back to
NORMAL so we don't prematurely exit enclosing loops.

Revision: 7100
Allow "continue" within a switch scope iff the switch is inside a loop.

Revision: 7101
switch can return something other than void if it is exited via "return"

Revision: 7102
Add support for items that require knowledge of a recipe to craft. Such
items are indicated by a preference of the form "unknownRecipe<itemId>" in
defaults.txt, with a value of true. The value will be changed to false,
allowing the item to be considered creatable, in the following cases:
* the recipe is read,
* the item was successfully crafted via the relay browser, or
* the item was seen on a crafting discoveries page.

Revision: 7103
The Clownlord Beelzebozo

Revision: 7104
Adds an override for handling expiring counters during automated adventuring.
Set counterScript to the name of an ASH script containing a function:
boolean main( string name, int remain )
name - the label of the expired counter, "Fortune Cookie" for example.
remain - the number of turns remaining, typically 0 but can be higher if
adventuring in an area that takes multiple turns.
return value - false to allow the counter warning to appear as normal,
aborting the adventure request; true to continue the request with no warning.

Revision: 7105
Add Typical Tavern swill and its byproducts, with preliminary consumption data.

Revision: 7106
Fix recipe for 17-alarm saucepan: we had it listed under 17-Alarm saucepan.
That's consistent with the 5-Alarm saucepan, but it's not correct name.
When your Wild Hare gives you an extra rollover adventure, tally it in the
"extraRolloverAdventures" setting, which is (obviously) cleared at rollover.
The little pop-up on the sidepane showing modifiers adds this to the Rollover
Advs number from equipment, to give you the total number of extra adventures
you get at rollover.

Revision: 7107
Use ISO-8859-1 charset for chat requests, not UTF-8

Revision: 7108
Optimization for switch: if the labels are all constants, use a map to quickly
and efficiently map the constant into the appropriate code offset to execute.
Regardless of whether all labels are constants, check those that are for
duplicates and give an error at script parse time if you give a duplicate.

Revision: 7109
When deciding whether to make or buy an item, better handle items that have a
yield greater than one. For example, with current prices, Saucerors will now
buy a goat's milk rather than a finished milk of magnesium - the goat's milk
actually costs more, but produces three items. The assumption is that the
other two milks of magnesium will also be useful.

Revision: 7110
Added a wide range of new ranged weapons.
Added item drop data for Mer-kin Outpost.
All shirt drops are now marked as conditional.

Revision: 7111
Added "Wiki Name" string modifier, containing an alternate name for looking
up items that contain characters that can't be used in Wiki titles. Added
such modifiers for both Bash-Os items and the new frigid hankyu.

Revision: 7112
Save mood settings after adding to the current mood via context menu.

Revision: 7113
Fix recognition of constant case labels: "not an Expression" won't do, since, at
least, a VariableReference is also not constant. What we really want is
"nothing more than a Value".

Revision: 7114
When a key breaks off in a lock in the daily dungeon, remove a skeleton key

Revision: 7115
Mer-kin sneakmask and hidepaint give Combat Rate -5 under the sea

Revision: 7116
When we acquire Lord Spookyraven's spectacles, reset the dusty bottle reset
counter to -1 so that we will identify the bottles even if we've erroneously
tried to identify them before.
This is a band-aid, since it doesn not address the root problem: why are we
sometimes trying to identify the bottles before we have the spectacles?

Revision: 7117
Add Wiki Name modifiers for the El Vibrato punchcards, so that they can be
looked up. Bang potions, stone spheres, and sushi remain unlookupable.

Revision: 7118
The namespace interpreter has a map from file -> modification date.
When checking whether a file has been modified, don't try to use the
modification date as the file.

Revision: 7119
Fix a variety of typos revealed by running "checkitems"

Revision: 7120
Switch needs any kind of Map, not specifically a TreeMap.
Don't ignore default actions for effects if we don't have a descid.
Soup up ASH's "call" facility a bit: in addition to accepting a string variable
reference to hold the function to invoke, allow a parenthesized expression that
evaluates to a string.

Revision: 7121
Even though it can be combined, if you get an eyepatch, you probably want an
[outfit] or [equip] link, not a [combine] link.

Revision: 7122
The ItemManager has a Create/Equipment section. When you see that you can make,
for example, 4 mummy masks, if you select that item and click the "create & use"
button, don't prompt for how many to make. You can only use 1 via "equip", which
is what "use" means in this context...

Revision: 7123
When you have a creatable item in inventory but lack the ingredients to make
another, the item will show up on the Create panel with a quantity of -1.
Fix that.

Revision: 7124
When navigating the strange leaflet, if you notice a tchotchke on the
mantlepiece, record it for posterity in the session log.

Revision: 7125
Added several of the new ranged weapons as possible instruments for passing
the Stone Mariachis.

Revision: 7126
When you visit the sewer with multiple clovers, remove one clover every time
you successfully pick three items from the sewer gnomes.
If the topiary golem steals your puzzle just after you turn the last tile, do
not fail to open the path to the tower while claiming to do so.

Revision: 7127
Add a couple of new items

Revision: 7128
April IOTM and April 1 IOTD

Revision: 7129
Tiny Costume Wardrobe gives +25 pounds to a Doppelshifter

Revision: 7130
A mixing method can change from being available to unavailable and back. For
example, checking or unchecking the "require in-a-box" checkbox will make
food or booze recipes available or not, depending on what you have in your
campground. Similarly, using the still for the last time in a day makes further
still usages unavailable.
We did not remove concoctions from the available list if the mixing method was
formerly available but is no longer available. Fix that.
Add plurals for several mixed swills.

Revision: 7131
When your cheap studded belt breaks in combat, remove and discard it.
The leaflet spells it "mantelpiece", not "mantlepiece".

Revision: 7132
Bump version number to 13.1
 

Bale

Minion
Wow. It seems you're actually keeping to your self-appointed schedule for releases, so far. Congrats.
 
Top