zarqon
Well-known member
[size=+1]Daily Dungeon Diver 1.9[/size]
NOTE: This script has been completely obsoleted by the Daily Dungeon revamp of 2013. You can now easily automate the Daily Dungeon using Mercenary Mood and adv * daily dungeon.
The Daily Dungeon is a frequent source of annoyance in people's runs.
For all but the last one, there's this script.
What does it do?
Daily Dungeon Diver loads the day's dungeon contents from the Noblesse Oblige calendar, determines whether or not you can pass all the Dungeon tests (based on current wiki data), and then proceeds to pass them all. If you can't pass any of the tests, it doesn't bother wasting any adventures there.
Details
Acknowledgments
Special thanks to Ragnok (#49653) in Noblesse Oblige for his help in pointing me to the best way to access the daily dungeon data, which is not immediately apparent in the source of the site. Also, mad props to him for creating the Kingdom Calendar in the first place; it's a tremendously useful resource. Definitely send him some appreciation if you find this script useful.
How to use it:
Changelog
4.08.09 - ver. 1.0 posted, followed shortly by a few extra lines to handle the potato sprout.
4.12.09 - 1.1 changes: there is now a "takeitintheface" variable specifying your preference on attempting elemental test rooms even if you were unable to gain resistance.
4.24.09 - 1.2 changes: show all rooms during pre-testing, even if a room fails the test.
5.26.09 - 1.3 changes: add a parameter to resist(), allowing you to determine whether or not you can achieve resistance without actually casting the spells. So currently you won't cast spells during testing.
5.28.09 - 1.4 changes: the new improved resist() function searches all of your gear and doesn't waste time swapping outfits unnecessarily when testing. And, it's smaller.
6.14.09 - 1.5 changes: moved out some functions -- now requires ZLib.
7.25.09 - 1.6 changes: use script settings rather than variables. Change default goal3 to potato sprout and default takeitintheface to true.
11.01.09 - 1.7 changes: police is_100_run setting. Moved a few things around to play better with being imported. Several other tweaks and code cleanups (smaller by 0.1K, w00t).
12.30.09 - 1.8 changes: convert to using ZLib's new vprint().
5.22.10 - 1.9 changes: ASH's new to_element() doesn't equate "heat" with "hot", so replace that before parsing the dungeon data.
NOTE: This script has been completely obsoleted by the Daily Dungeon revamp of 2013. You can now easily automate the Daily Dungeon using Mercenary Mood and adv * daily dungeon.
The Daily Dungeon is a frequent source of annoyance in people's runs.
"Gah! I'm ready to hit the Tower but I forgot to get my keys!"
OR
"Gah! I can't pass this test! I just wasted 5 adventures in here!"
OR
"Gah! I forgot to eat my key lime pies and I'm already full today!"
OR
"Gah! Which of these dang accessories has sleaze resistance again?"
OR
"Gah! What was the URL to Noblesse Oblige's Kingdom Calendar again?!"
OR
"GAH! ANOTHER Jarlsberg's earring!!"
OR
"Gah! I can't pass this test! I just wasted 5 adventures in here!"
OR
"Gah! I forgot to eat my key lime pies and I'm already full today!"
OR
"Gah! Which of these dang accessories has sleaze resistance again?"
OR
"Gah! What was the URL to Noblesse Oblige's Kingdom Calendar again?!"
OR
"GAH! ANOTHER Jarlsberg's earring!!"
For all but the last one, there's this script.
What does it do?
Daily Dungeon Diver loads the day's dungeon contents from the Noblesse Oblige calendar, determines whether or not you can pass all the Dungeon tests (based on current wiki data), and then proceeds to pass them all. If you can't pass any of the tests, it doesn't bother wasting any adventures there.
Details
- DDD will use special items to attempt to open Locked Doors. In order of preference: Platinum Yendorian Express Cards (I don't have one so I would appreciate hearing if this works), lockpicks (if your Moxie passes the riskiness specified in statchance -- see below), and skeleton keys (but it holds one back for the tower).
- DDD has a few settings which you can configure to get the best use of the script. After running the script at least once (you can abort it before it does anything), type "zlib vars" in the CLI to see the current value of these settings, and "zlib settingname = value" to change them.
ddd_goal3 -- This allows you to specify an item that you want from the treasure chest in the 3rd room. It will only open the chest if you lack the item (or, in the case of the potato sprout, if you already have the Levitating Potato in your terrarium). Default is $item[potato sprout]. Specifying "none" will skip the chest.
ddd_goal6 -- Same as previous, but for the treasure chest in room 6. You may want to use this to look for lockpicks.
ddd_takeitintheface -- Whether or not to clear elemental test rooms even if you were unable to resist the element. If false, DDD will not attempt the dungeon if there is an elemental test you cannot pass. If true (default), you will take it in the face.
ddd_dungeonblind -- Whether or not to adventure anyway in the event that the NO Kingdom Calendar information is unavailable. If ddd_dungeonblind is true, DDD will try to complete the Daily Dungeon even if it can't predict it. If false (default), it will abort if you can't load the NO data.
ddd_statchance -- This is a spectrum from 1-3 of how risky you want it to be when attempting stat tests:- 1: Attempt when your stat is at least the lowest possible pass value (will require up to 5 attempts)
- 2 (default): Only attempt when your stat is at least the mean of the pass/fail range provided on the wiki. This is likely to pass on the first or second effort.
- 3: Only attempt when your stat is guaranteed to pass. Will always take only one adventure.
Acknowledgments
Special thanks to Ragnok (#49653) in Noblesse Oblige for his help in pointing me to the best way to access the daily dungeon data, which is not immediately apparent in the source of the site. Also, mad props to him for creating the Kingdom Calendar in the first place; it's a tremendously useful resource. Definitely send him some appreciation if you find this script useful.
How to use it:
- Download dailydungeon.ash to your scripts directory.
- Download dungeonstatchecks.txt to your data directory.
- Make sure you have ZLib if you don't already.
- Optionally, tweak any of the script settings as described above.
- Run the script from within mafia. Users of my Hardcore Checklist need not even bother with this step -- this has been integrated and Checklist will now automatically handle getting your keys.
Changelog
4.08.09 - ver. 1.0 posted, followed shortly by a few extra lines to handle the potato sprout.
4.12.09 - 1.1 changes: there is now a "takeitintheface" variable specifying your preference on attempting elemental test rooms even if you were unable to gain resistance.
4.24.09 - 1.2 changes: show all rooms during pre-testing, even if a room fails the test.
5.26.09 - 1.3 changes: add a parameter to resist(), allowing you to determine whether or not you can achieve resistance without actually casting the spells. So currently you won't cast spells during testing.
5.28.09 - 1.4 changes: the new improved resist() function searches all of your gear and doesn't waste time swapping outfits unnecessarily when testing. And, it's smaller.
6.14.09 - 1.5 changes: moved out some functions -- now requires ZLib.
7.25.09 - 1.6 changes: use script settings rather than variables. Change default goal3 to potato sprout and default takeitintheface to true.
11.01.09 - 1.7 changes: police is_100_run setting. Moved a few things around to play better with being imported. Several other tweaks and code cleanups (smaller by 0.1K, w00t).
12.30.09 - 1.8 changes: convert to using ZLib's new vprint().
5.22.10 - 1.9 changes: ASH's new to_element() doesn't equate "heat" with "hot", so replace that before parsing the dungeon data.
Attachments
Last edited: