Search results

  1. H

    Bug - Fixed AWOL Hard Drinker causes incorrect inebriety_limit

    I've noticed on two separate occasions, with two separate scripts (my own and vconsume), that I've been overdrinking (but only on heeheehee). Hard Drinker (Avatar of West of Loathing) is being mistaken for the AoSP skill.
  2. H

    Bug .exe (and .dmg?) builds don't work (anymore?)

    This is a tracking bug to make sure we don't forget about it. We had hoped that the automatic exe / dmg builds would be helpful to users (so we could stop telling them to download a new version of Java), but they're apparently broken. Some links to previous reports...
  3. H

    Bug ConcoctionTest.itShouldSortUsables sometimes failing

    So, I'm not sure exactly how to reproduce this in a platform-independent way, but I do sometimes see failures for this one test. Typically of the form: org.opentest4j.AssertionFailedError: expected: <10869> but was: <0> at...
  4. H

    Java 11 now required for KoLmafia, Java 17 recommended

    Note: this was initially written when we bumped the required version to 9. About a week later, we bumped it again to 11, which is a LTS release. We are considering one more move, from 11 to 17. See https://kolmafia.us/threads/java-8-now-required-for-kolmafia.24547/ if you want more backstory...
  5. H

    get_counter for ASH

    I've been trying out a crude get_counter() ASH function, that basically acts like the existing get_counters() function, except it returns when an arbitrary matching counter will expire (as opposed to checking if a counter will expire within a given range of turns). Do others want this? It's...
  6. H

    Mafia source code formatting

    Splitting this discussion off from https://kolmafia.us/threads/25944. So, there's an existing util/format.xml in the repo, although that isn't perfect (I tried running it on a few sample files, and the diff was... large). Poking around on the wiki has...
  7. H

    Bug Accessing $skill[].dailylimit can update preferences erroneously

    I saw two cases from a brief skim of the code: Summon Annoyances and Calculate the Universe. In particular, it looks like UseSkillRequest.getMaximumCast() would only be called in the process of casting an owned skill, which might not be a totally fair assumption even ignoring the access via...
  8. H

    ArrayLists in ASH? [Discussion]

    (If I were to implement that as a proper array, I'd probably use an ArrayList, then just use `new ArrayValue(lst.toArray())` after populating said list.) Do we want a native ArrayList datatype in ASH? We have arrays, and IIRC plural typed constants are immutable ArrayLists under the hood. I...
  9. H

    Feature ASH function templates

    C++ has a notion of templates, e.g. template <typename T> T max(T a, T b) { return a > b ? a : b; } ... max<int>(4, 13); // returns 13 The Java generics API is somewhat more concise (ignoring things like inheritance which just don't exist in ASH): <T> T max(T a, T b) { return a > b ? a...
  10. H

    Feature Improve auto-Funkslinging in CCS

    Well, there are arguments for funkslinging something with a banisher, say, MP/HP restorers (provided that they're the first item used). There are plenty of other items that could be marked as single (off the top of my head -- raindoh blue balls / indigo cup, big book of pirate insults, meat...
  11. H

    Witchess puzzle helper

    Note: this does not solve your puzzles for you. If you want to take all the fun out of puzzle-solving, go download this other script. I casually mentioned that I had rewritten some of the javascript / css for witchess.php via an ASH script to help with the solving process. The main things this...
  12. H

    Discussion: should we revert 0-argument visit_url to not follow redirects?

    Thanks for the fix. Something else I noticed while looking into this just now is that Mafia silently follows redirects without telling the browser, so the browser thinks that a redirect never happened. This is mostly unrelated to a bug wherein the wrong relay script fires after Mafia follows...
  13. H

    Multiline strings in ASH (potential feature?)

    So, the other day, someone was asking in chat about how to use multi-line strings in ASH, and I noted yet again that it just can't be done. I can see this being potentially useful to relay scripts that generate large amounts of HTML (think CHIT, Guide). I got around to looking at what sort of...
  14. H

    Bug Monsters with rejection in combat queue not accounted for properly

    Monsters with partial (i.e. between 0 and 1, exclusive; made-up term) rejection are not handled correctly, either with or without the combat queue. Example: spend turns in the Hole in the Sky until you encounter an astronomer, then add up all the rates in appearance_rates($location[the hole in...
  15. H

    New Content - Implemented Barrel full of barrels revamp

    Container at barrel.php Smash barrel @ X,Y (X,Y are each in {0,1,2}): choice.php?whichchoice=1099&pwd&option=2&slot=YX Turn crank: choice.php?whichchoice=1099&pwd&option=2 More when I log into a multi who isn't overdrunk.
  16. H

    Bug - Fixed Duplicate effect name disambiguation issues

    I saw this other thread, but it made more sense to file a new report rather than bump a tangentially-related report that was (for the most part) fixed already. There are currently a few bugs related to effects like Slicked-Back Do (from hair oil). For instance: I am currently a Pastamancer with...
  17. H

    Priority queue implementation in ASH

    In writing one of my scripts, I found that I wanted a priority queue. A naive ASH implementation using sort resulted in n log n cost to retrieve an element, which is hideously bad (with 1 million elements, that's about 20 million comparisons, as opposed to the desired 20 or so). After a bit of...
  18. H

    Feature - Implemented Add case-sensitivity for string comparisons in ASH

    Here is that bug / feature. I'm not totally sure I understand why we'd need to add case-insensitive string matching functions, and all that. We have to_lower_case(), and Java requires String.equals because the String class is required to invoke methods on strings. aside: it's really awkward...
  19. H

    SVNKit upgrade?

    So, I've heard some stories about how upgrading SVNKit is apparently difficult because nobody other than roippi understands how Mafia's driver interacts with the library. Since the library is publicly available on svnkit.com, I decided to just check out a fresh update and just try plugging it...
  20. H

    Bug Sombreros, ML, and scaling monsters

    I was spending some time with my Grill as a Pastamancer in a scaling zone (Deep Dark Jungle), and I noticed that the experience gains from the grill were much too high to agree with the wiki formula (which is also used in Mafia). I decided to look into this. It turns out that the following...
Top