Results 1 to 10 of 10

Thread: Duplicate/incorrect/incomplete recipes in concoctions.txt

  1. #1
    Senior Member
    Join Date
    Apr 2018
    Posts
    302

    Default Duplicate/incorrect/incomplete recipes in concoctions.txt

    I recently wrote a script to find missing discoveries, including different ways of making the same item. This entailed a lot of regular expressions, to put it mildly. While testing, I found a variety of discrepancies, all of which I am willing to fix once I establish a fix is desired.

    1. There are exact duplicates for "Humpty Dumplings”, "loaf of soda bread”, "magical baguette”, and "standard-issue cupcake”.
    2. ​There are duplicate recipes for “green beer” using “MANUAL” instead of “SSPD”, with the note that there may be unexpected holidays. That is a really bizarre justification, considering that a similar argument could be made for any requirement. I recommend removing these “MANUAL” duplicates.
    3. ​The recipe for “meat stack” should be “ACOMBINE”, not “COMBINE”. The wiki says this was not always the case, hence the inaccuracy.
    4. ​“Eldritch Intellect” requirements are not implemented. This is the only issue likely to affect most players. Having gone through the code extensively to make my script, I think I can easily implement an “ELDRITCH” requirement for the recipes.
    5. ​“brick of sand” and “sandcastle” should have “NODISCOVERY”.


    I’ll put together a patch for these changes once I get confirmation they would be accepted.
    Last edited by Saklad5; 04-17-2019 at 03:15 PM.

  2. #2
    Senior Member
    Join Date
    Apr 2018
    Posts
    302

    Default

    Iím going to go ahead and start working on a patch.

  3. #3
    Senior Member
    Join Date
    Apr 2018
    Posts
    302

    Exclamation

    This patch makes all of the changes I delineated above, and corrects a few typos in the comments of the code: Recipe Fixes.patch

  4. #4
    Developer
    Join Date
    Aug 2009
    Posts
    2,960

    Default

    Incidentally, I pointed out a handful of duplicates some time back but never actually fixed them.

    https://kolmafia.us/showthread.php?2...l=1#post151520
    (mostly the same, but also with the warbear hoverbelt)

    I'm not sure I agree with your assessment re: green beer and SSPD. Many of the other requirements are purely a function of current player state (e.g. skill-based or item-based) and won't be met because of some arbitrary decision by TPTB (although the last unexpected SSPD was in 2009, according to the wiki).

  5. #5
    Developer
    Join Date
    Aug 2009
    Posts
    2,960

    Default

    r19178 (other than the green beer changes; I don't mind if Veracity or lost want to override me on that front... but I don't think it's actively harming anything.)

  6. #6
    Senior Member
    Join Date
    Apr 2018
    Posts
    302

    Default

    Incidentally, I pointed out a handful of duplicates some time back but never actually fixed them.

    https://kolmafia.us/showthread.php?2...l=1#post151520
    (mostly the same, but also with the warbear hoverbelt)

    I'm not sure I agree with your assessment re: green beer and SSPD. Many of the other requirements are purely a function of current player state (e.g. skill-based or item-based) and won't be met because of some arbitrary decision by TPTB (although the last unexpected SSPD was in 2009, according to the wiki).
    Originally Posted by heeheehee View Post
    The thing is, the duplicates are marked as MANUAL. That means KoLmafia ignores them entirely, right? If so, what exactly does having them affect? KoLmafia won’t stop players from using the relay script to craft, even if it thinks it is impossible.

    It doesn’t matter too much to leave them either, as you pointed out. It was just annoying when I was testing my script and coming up with more discovered recipes than KoL said I had, because of the duplicates. That’s how I found all of these, in fact.
    Last edited by Saklad5; 04-17-2019 at 11:42 PM.

  7. #7
    Senior Member
    Join Date
    Apr 2018
    Posts
    302

    Default

    r19178 (other than the green beer changes; I don't mind if Veracity or lost want to override me on that front... but I don't think it's actively harming anything.)
    Originally Posted by heeheehee View Post
    Thanks.

  8. #8

    Default

    I recently wrote a script to find missing discoveries, including different ways of making the same item. This entailed a lot of regular expressions, to put it mildly.
    Originally Posted by Saklad5 View Post

    Is your script something that would easily be adaptable to the test directory code in the Ant "test" target? Seems like it's right in line with where that is going.

  9. #9
    Senior Member
    Join Date
    Apr 2018
    Posts
    302

    Default

    Is your script something that would easily be adaptable to the test directory code in the Ant "test" target? Seems like it's right in line with where that is going.
    Originally Posted by MCroft View Post
    Possibly. It’s written in ASH, but there are Java equivalents of most functions from what I can tell. A substantial portion of it is simply replicating the existing code in ConcoctionDatabase.java, though, so I don’t think it would be worth adapting.

    Besides, it doesn’t recognize things as inaccurate so much as make them obvious.

    I tested the discovery-checking in my script by counting the number of discovered recipes in each category, then comparing that with the numbers KoL itself gives in the Quest Log. Duplicates got counted each time, so the number was higher than it should be. Since there aren’t actually that many recipes that make the same result, I temporarily modified my script to print the names of items that had multiple discovered recipes, then used the Find tool in-browser to narrow down the culprits.

    As for the other issues, the ultimate goal of my script (well, a different script using the first script as a library) was to show undiscovered recipes that I could make. So it exposed those problems too.

  10. #10
    Developer
    Join Date
    Aug 2009
    Posts
    2,960

    Default

    One thing that I want to eventually do with the test structure is set up ASH integration tests. Basically, provide .ash files and golden files (i.e. expected output), possibly also with sample inputs.

    Other than that, the test directory is currently a staging ground where basically anything could happen; right now it just contains a handful of proof-of-concept tests to hopefully inspire other devs.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •