Some change between r25765 and r25773, log property changes has started producing bad data for me. I can't tell if the actual properties are not returning correct values or if it's purely a logging issue.
For comparison sake, here are excerpts from my logs from yesterday and today.
Upon...
The counter is reset upon ascending, and I think that is handled correctly, however:
The counter should reset upon accepting a quest at the start of Neverending Party.
The counter continues from where you left off if you reject the quest.
Those might not explain what you're seeing but that is a...
When saving and equipping outfits containing foldable items, kolmafia can sometimes end up in a state of miscounting owned items, stating that you own zero of items that you do have or multiples of items that you do not. This leads to bad behavior when running automation involving changing...
It would likely cause a lot of problems for various scripts to stop updating this property, canadv, for instance, relies on it.
I posed the question about other paths opening the desert beach in the title because I don't remember at all.
After completing Community Service, the desert beach is closed unless you've made a meatcar or any of the other substitutes. Mafia improperly sets the lastDesertUnlock to your current ascension number upon completing this challenge path.
Edit: more info below in post #10
Clicking on the icon for the Quantum Familiar timer should show you the familiar's desc_familiar.php popup from the effects list in the character pane. This would be in line with how clicking on effect icons brings up the desc_effect.php popups. I think it'd help new players out a little bit...
The jsref cli command will match full ash function names with snake case instead of camel case which doesn't match what it returns.
Examples:
> jsref appearanceRates
> jsref appearanceRate
> jsref appearance
{ [monster: string]: number } appearanceRates(Location)
{ [monster: string]: number }...
Using this example ash return take_storage($item[hand turkey outline],100000); always returns true. Same with reversing the function arguments.
According to the wiki:
Based on that this doesn't appear to be working properly.
Other take_* functions may behave the same way as this one, I'm not sure.
One more quick thought: Having an API to switch to a temporary disabled CCS could solve things cleanly.
So a code solution in js might look something roughly like:
const oldCCS = getProperty('customCombatScript');
const ccsName = `${projectName}Temp.ccs`
const ccsData =
'[ default ]\...
I should have actually listed some of the edge cases that scripts handle currently:
Using an item that leads to a fight (BRICKOs, fax, desk bells, Seal Clubber figurines, etc.)
Casting a skill that leads to a fight (Evoke Eldritch Horror)
Entering a fight via a choice adventure that isn't in a...
There's a growing prevalence of scripts using either KoL's autoattack system, or passing in macro strings or functions to adv1 and runCombat. Personally I'm a big fan of the design to passing in a macro to adv1/runCombat since it lets you keep all combat code in one logical grouping there's no...