Hardcore Checklist -- sequential required item getter/notifier

zarqon

Well-known member
[size=+1]Hardcore Checklist 1.2.9[/size]

NOTE: This script has not been updated since 2010 and is completely obsolete. It has been replaced by a script beginning with the letter O.

What does it do?
Hardcore Checklist is an ascension aid script designed to help you get all required items in a timely manner. It loads a list of steps (which is sorted by moxie), and begins iterating through the steps, checking to see that the required conditions are met. The list of steps is based on the wiki's Hardcore Checklist, and sorted by safe moxie. If it finds you haven't gotten something, it can either complete the step for you or just tell you what you should do next.

Checklist can be used either as an adventuring script or purely for information (it actually belongs under both "information scripts" and "turn-burning scripts" but I decided to put it here).

Checklist is not an automatic ascension script. It does not get some of the main quest items, does not fight any bosses, and it will not unlock very many areas automatically. But because it is sorted based on moxie, it will expedite your ascensions by helping you sequence your playing. For example, if you are unable to go to the area it shows next, most likely it is the appropriate time to unlock that area.

Details
  • Checklist will add the following settings to your "vars_myname.txt" file, which you can configure to get the best use of the script:

    checklist_get_servants -- if true (default) Checklist will include all the items required to construct the meat maid, chef-in-a-box, and bartender-in-a-box (but not the beer lenses unless you can purchase them), then once you get the final piece it will construct each servant. If false, these items are excluded.

    checklist_get_ns_items -- if true, Checklist will include all possible Naughty Sorceress entrance/tower items. If false (default), these items are excluded. Getting them all guarantees you avoid backfarming when you reach the lair, but you have a higher overall adventure count. It's up to you.

    checklist_info_only -- if true (default), Checklist simply iterates through the list, tells you your next step in the list, then exits. If false, Checklist adventures to get the items for you. It does not buy any items except possibly when attempting to make the maid/boxservants (oven, cocktailcrafting kit, etc).
  • And one more which applies to adventuring (if checklist_info_only is false):

    auto_mcd -- if true (default), Checklist automatically adjusts your mind-control device when adventuring to the maximum safe value based on threshold. If false, Checklist will not adjust the MCD.
  • Checklist presently has logic for some special cases:
    • turning in the mosquito larva
    • unlocking the Boss Bat's chamber
    • building your meatcar
    • building your maid and box servants
    • getting most of your tower familiars if you don't have them, and putting them in your terrarium
    • using items containing required drops between combats (gnollish toolboxes, etc)
    • visiting the Oracle after getting your plus sign, then using it
  • If you are using the script to get items (checklist_info_only is false), Checklist checks your moxie before adventuring to determine if it's safe. It also automatically adjusts the MCD if possible for maximum stat gains according to the setting in your safetyThreshold property. Default is fairly conservative: (listed safe moxie value - 4).
  • Checklist was written to be relatively server-hit friendly given the massive checking nature of this script. There are several things which are stored at the beginning, so that rather than repeatedly checking popular pages, it simply checks the stored values. These could be expanded if the checklist grows as a result of this thread.
  • Checklist automatically visit the Daily Dungeon if you don't have enough keys, using the Daily Dungeon Diver.
  • Checklist will handle some mini-quests (Dolphin King, Slug Lord) if you happen to have all the parts you need.

IMPORTANT!
Checklist doesn't component-check your items
. For example, the checklist includes the ingredients for the meat engine, but if you get excited and build a cog & sprocket assembly, or fill the empty meat tank, Checklist will try to get those first-tier items again. The rule of thumb when ascending with this script is: don't build pieces of anything, only build entire items.
If you follow that rule, you should find this script most helpful.

How to use it:
  • Make sure you have ZLib and CanAdv.
  • Download Checklist.ash to your scripts directory.
  • You will also need to download the Daily Dungeon Diver.
  • Optionally, edit any of the variables starting with "checklist_" in your vars_myname.txt file.
  • Run the script from within mafia.
  • ...profit!

Changelog
[size=-2]2.02.08 - ver. 1.0 posted
2.13.08 - 1.0.1 changes: don't adjust the MCD if info_only is true. Slightly more useful daily dungeon check. Better pre-adv check order. More CLI-screen-friendly output.
2.17.08 - 1.0.2 changes: added more brackets to fix a parsing issue that appeared with recent builds, causing many steps to be skipped. Myst sign MCD goes to 11.
3.03.08 - Some updates to the checklist. Removed dead guy's watch after three consecutive HC ascensions that wasted far more adventures than I would have earned looking for the dang thing. Also added star items and parts of the pirate quest.
3.25.08 - Updated checklist.txt: new builds didn't recognize "the spooky forest"... changed to "spooky forest" and it works again.
4.07.08 - 1.0.3 changes: auto-handle Dolphin King's map if you happen to get it. Visit the pretentious artist immediately to prompt his quest drops in case you want them. Handle the plus sign. Updated checklist.txt: all of the the's needed to be removed, not just from "the spooky forest".
4.09.08 - 1.0.4 changes: also check the closet to see if you have required items lurking in there.
4.10.08 - 1.0.5 changes: skip the shovel if get_servants is false. Also changed default threshold to 3.
4.21.08 - Updated checklist.txt: added most of the spookyraven quest areas.
5.03.08 - 1.0.6 changes: handle choiceadvs for the Cyrpt. Updated checklist.txt: added the Cyrpt (but not the Bonerdagon)
5.16.08 - 1.0.7 changes: added ability to handle haveitem directives in the checklist. Updated checklist.txt: bum cheeks and wand of nagamar letters will now skip if you have the upgraded item. Also reduced server hits by changing over to haveitem.
9.21.08 - 1.0.8 changes: use polish/mop/shampoo as you get them for uninterrupted pirate fledges getting.
10.13.08 - 1.0.9 changes: hair spray is no longer a can of hair spray.
10.20.08 - 1.1.0 changes: auto-handle Slug Lord map if you happen to have it. Set conditions to get scroll. Use Temple map, 64735 scroll, and 31337 scroll after getting them. Get rid of shopping list if you have meatcar. Update sonar-use to deal with server-side image renaming. Updated checklist.txt: server-side renaming of Boss Bat area image. Reorder Spooky Forest drops to faciliate revealing the Hidden Temple.
11.25.08 - 1.1.1 changes: automatically update checklist.txt remotely. Remove checklist.txt from this page.
11.26.08 - 1.1.2 changes: WAY COOLER automatic updating using the Map Manager. Set and use safetyThreshold property in an effort to standardize personal safemox settings across scripts.
11.28.08 - added enchanted bean, bird rib, lion oil, S.O.C.K. to checklist (no need to download here - cf. previous update).
12.01.08 - 1.1.3 changes: fixed using the Spooky Temple map if you got it before the other Spooky items. Slightly better dolphin king map quest checking. Slightly revamped automatic updating after learning maps are passed by reference.
12.28.08 - 1.1.4 changes: fixed detection of servants due to server-side changes. Streamlined some stuff. Fixed skipping of shovel. Auto-equip wooden stakes in Spooky Forest. Get free goofballs. Fixed occasional problem with meatcar detection.
1.04.09 - 1.1.5 changes: automatically unlock island when going to get pirate items. Don't use too many sonars. Don't visit artist if you completed his quest. Changes to defaults: threshold is 4, get_ns_items defaults to false.
2.04.09 - change URL for update check to reflect forum changes. Get 1000 meat before searching for Oracle.
4.09.09 - 1.2.0 changes: save more server hits by using some relatively new mafia properties instead. Be smarter about switching gear while adventuring. Use the new Daily Dungeon Diver to automate acquiring your dungeon keys.
4.09.09 - 1.2.1 changes: moved a parenthese and don't bork so gracelessly on Degrassi Gnoll in a muscle sign.
5.24.09 - 1.2.2 changes: use chests in the Fantasy Airship, to expedite looking for the hair gel. Don't use F'c'le quest items now that mafia auto-uses them.
6.14.09 - 1.2.3 changes: moved out some functions -- now requires ZLib. Slightly decrease the threshold for attempting the Daily Dungeon.
7.25.09 - 1.2.4 changes: transition to compatibility with the new ZLib -- use script settings rather than variables. Use can_adv() rather than having special checks. Remove mini-boss Cyrpt choiceadv setting, to make way for Best Between Battle script.
9.12.09 - 1.2.5 changes: attempt to create needed items as part of the adventuring loop. Add in support for "havefam" directive, and adding tower familiars to your terrarium. Better, server-hit-less check for Pretentious Artist quest. A few other coding tweaks. Changes to checklist.txt: added items for tower familiars. Save server hits on Untinker check, and familiar checks using new havefam directive. Add questlog check to wooden wheel.
9.19.09 - 1.2.6 changes: even better Pretentious Artist check. Skip identified unnecessary potions. Added ideas from ziz: script setting for whether or not to dive for your third key. Display X next steps (default is 10) when in info-only mode. Changes to checklist.txt: skip castle map items if you have intragalactic rowboat.
9.22.09 - 1.2.7 changes: detect both maids. Fix already-met item requirement creation bug.
12.30.09 - 1.2.8 changes: use ZLib's new vprint()!
1.23.09 - 1.2.9 changes: use ZLib's new load_current_map()![/size]
 

Attachments

  • Checklist.ash
    12.6 KB · Views: 532
Last edited:

jabberw0ck

New member
I could have missed a setting, but it does not appear that the script will use the Plus Sign after obtaining it from the Oracle, which leads to endless adventuring since I don't think you can obtain any large or small boxes until you use the Plus Sign...Once I manually use the Plus Sign though everything proceeds wonderfully.

Great script btw!
 

zarqon

Well-known member
Some updates to the checklist.txt file. See changelog in first post. I'm posting again because the version checking won't tell you about this update.

@jabberw0ck: Yeah, for now that's something you'll have to do manually. If you use the plus sign right after getting it, you have no idea what it is. Possibly we could add a condition to the checklist after the plus sign that adventures in the greater-than sign until the description for the plus sign changes, after which it uses the plus sign. But then you could still end up with endless adventuring if you don't have enough meat to pay the Oracle. I'll take another look at it after my vacation.
 
Code:
> call scripts\Checklist.ash

Checking for updates (running Hardcore Checklist ver. 1.0.2)...
Loading checklist...
Checklist loaded (97 steps).
Checking for items...
Step 10: procure 1 spooky sapling from the spooky forest
Conditions list cleared.
1 none does not exist in the adventure database.


Does that for anything I run it on.
1 none does not exist in the adventure database.

I think it's the new builds that does it.
 

zarqon

Well-known member
@Duffkiligan: fixed. The new builds didn't recognize "the spooky forest," so I got rid of the "the" and all was well. You'll need to re-download checklist.txt for the fix, not the script.
Updates:

@jabberw0ck: Ok, I added some plus-sign-handling code which worked for me manually in the CLI. Hopefully this will solve the endless adventuring problem you mentioned.

Also auto-handles the Dolphin King mini-quest, but only if you happen to get it. Also, visits the pretentious artist at the beginning to prompt his quest drops in the low-level locations in case you want to complete that mini-quest.

And, another update to the checklist: "the fun house" had the same problem as "the spooky forest" did... just "fun house" works.
 

Minuit

New member
First off, thanks Zarqon for your work on this. Your scripts have saved me a lot of bother.

I just ran the checklist with the latest nightly build (6033) and had to do some quick edits to checklist.txt:

7 12 1 the haunted kitchen leftovers of indeterminate origin ns ns

64 75 1 the goatlet goat cheese familiar.php Angry Goat

75 107 1 the f'c'le pirate fledges none none

All of these lines needed "the" removed from the zone name. So far everything else works okay.
 

zarqon

Well-known member
@Minuit: Thanks, I've had get_ns_items set to false so I didn't come across those.

checklist.txt updated in the first post.
 

Artemisdove

New member
Great script. I noticed that it kept adventuring for the rusty grave robbing shovel, despite it being in inventory. Adding 'rusty' to the item 'grave robbing shovel' fixed it:
36 27 1 pre-cyrpt cemetary rusty grave robbing shovel none none

I frequently closet all quest items, causing this script to think I don't have them. Modifying line 119 to

int num = item_amount(to_item(tolookup)) + closet_amount(to_item(tolookup));

has seemed to solve this by getting the script to check the closet as well (you never know what's hiding in there). Thanks for creating this Zarqon.
 

zarqon

Well-known member
Actually, you should get the grave robbing shovel, not the rusty one (yes, they're different).

Good idea with the closet check. I've added that in.
 

Veracity

Developer
Staff member
The regular shovel drops in the Pre-Cyrpt Cemetary
The rusty shovel drops in the Post-Cyrpt Cemetary
 

zarqon

Well-known member
The rusty one only drops after the Cyrpt quest is finished. As the Checklist is designed to expedite ascensions, it is written to get the basic one from the pre-cyrpt cemetary. I can see where this might cause a problem if for some reason you finished the Cyrpt quest before you ever adventure in the cemetary.

I guess I should change it to only get the shovel if get_servants is true, because you only need the shovel to unlock the Ruins and get the stat-booklet, and the only thing you need from the Ruins is brains to make servants...

Ok, I added a line of code so it will skip the shovel if get_servants is false.
 

dangerpin

Member
[quote author=Veracity link=topic=1498.msg7841#msg7841 date=1207803537]
The regular shovel drops in the Pre-Cyrpt Cemetary
The rusty shovel drops in the Post-Cyrpt Cemetary
[/quote]

Ah, gotcha.
 

zarqon

Well-known member
Update: I've added the defiled areas of the Cyrpt to the checklist (but not the Bonerdagon). I've also added a little bit of code that sets your choiceadv properties for those areas as you go. In each area of the Cyrpt you will get the vs. mini-boss item the first time, and after that you'll get stats, if you even get that choiceadv again.

For this feature to be practically useful, I recommend adding the following to your ccs:

(EDIT: Or, use my First Things First consult script for even better handling... link in sig)

Code:
[ conjoined zmombie ]
item half-rotten brain
default

[ huge ghuol ]
item can of ghuol-b-gone
default

[ gargantulihc ]
item plus-size phylactery
default

[ giant skeelton ]
item rusty bonesaw
default
 

Tedris

New member
I know you say it doesn't component check your items, but I think there should be an exception if you make a Wand of Nagamar.

It tells you to get another Metallic A if you've already made the wand, I was about to fix it in the script I have, but I figured you'd want to know.

EDIT: Also, making a "bum cheek" into an "Ass hat" has the same issue, despite the fact that the upgrade has the same function. My suggestion would be to increment past that step if the upgrade is found.
 

zarqon

Well-known member
@Tedris: Okay, that's a reasonable request. Rather than coding the check into Checklist.ash, I just added a new ability for handling checklist steps (one tiny line of code), then edited the checklist. This gives more options for anyone editing their own checklist. I don't know why I didn't think of this before... now the checklist can specify "haveitem - item" as an optional check.

The result is a smarter script with regard to the items Tedris mentioned, as well as fewer overall server hits (I converted any existing inventory.php checks over to use haveitem).

Thanks for prompting this update.

To upgrade to 1.0.7: both the .ash file and the .txt file were updated, you'll need to download both of them.
 

Tedris

New member
Greetings Zargon. As I sometimes play from work, I can't always be bothered to do things with KoL while I'm sitting there. While your script is very good for going down through the list and grabbing the essentials, I figured there were a few points of interest that would optimize the script further.

One thing of note: At the Orc Chasm, if you set it to always make 31337 scrolls in Mafia, this script, when farming for the 64735 scroll, will get all the required scrolls, but only make 31337 scrolls, a simple fix for this is to merely uncheck the offending option, or set it in Mafia to find a 64735 scroll. Perhaps there's some way to get the best of both worlds?

At the F'C'le, it will get the required items for the Pirate Fledges, but will not use them in order to get what's required. Once again, setting Mafia to individually farm the area for Rigging Shampoo, Ball Polish, and the Mizzenmast Mop will fix this. If running the script, I believe simply setting to farm the three, and then using as you get them, would be most effective.

It's been a while since the previous posts, but I figured any suggestions would still help, thanks for such an awesome script!
 

zarqon

Well-known member
@Tedris: Thanks for the great feedback. The heads-up about the scrolls is good to know. I may try and find a graceful way to deal with that situation later.

Your suggestion about the F'c'le was a good one. I didn't want to add the polish/mop/shampoo to the checklist because there is no way to tell if someone has gotten one and used it already. But there is an easier solution. I've added a line of code that uses those three pre-fledges quest drops as you get them, so now when you're looking for fledges you'll actually get them.
 
Top