crimboMining.ash - A Crimbo Mining Script
Threw together a Mining Script that mines the crimbo mine, requires you to be running 'Crimbonar' when starting each mine.
http://pastebin.com/hbr72cQL (v1.14) (Note recommend to use Mafia r15029 or later)
Features:
For a given Crimbo mine this program will figure out the shortest path to get all the nuggets of Crimbonium in least number of mining attempts
Ability to skip mines where Crimbonium clumps might contain cave ins, skipping requires 1 mine attempt before getting new cave
Ability to mine extra peppermint trailing
Allows you to use script for mining even it will cost you turns, by default disabled
Multiple ways to heal after a cave-in: mafia restore, specify healing or just spend 10 meat and get a hp from Docs
Avoids cave-ins as much as possible, uses assumptions when you have found 6 nuggets, all rest interesting spots are cave ins, nuggets can't be in bottom two rows
Configurable options:
maxFailsAllowed = int;
How much bigger a set of continuous interesting points can be more then 6, if you were to explore all in bigger chains, you are guaranteed a cave in
Setting this to 4 will make it so no mine is skipped because of length of chain
maxCaves = 50;
Max caves to check against, mainly to solve for infinite loops just in case
requireFreeMining = boolean;
Whether to force no turn used, if true, you either have to have minin' dynamite in inventory or have the oily legs buff up
useDynamite = boolean;
Whether or not to use minin' dynamite, setting to false will store dynamite in closest, required mafia r15029 or later to work.
numTurnsToLeave = int;
When requireFreeMining is false, and you are using turns to mine, this will allow you to tell the script how many turns you want left over when done mining.
delayBetweenMines = int;
In seconds, This will allow you to add delays after each mining attempt, used to spread out server load espically if you are starting script and letting it run while you go do other things and don't care when it finishes
maxExtraNuggets = -1;
Set to -1 if you don't want to use this value and just mine as many nuggets as you can, else will mine nuggets in a given mine until you reach your current number of cylindrical molds + maxExtraNuggets
mineOnlyPeppermints = boolean;
Setting this to true will make it so you will only mine basic chucks of walls for peppermints and mine no nuggets, highly recommend to up minNumberTailsPerCave to something greater then 20 to reduce serverload, the code will automatically do this if its set to a number less then 12
minNumberTailingsPerCave = int;
This property will allow you to mine additonal peppermint tailings after finding all the nuggets in a given cave. Setting to 26, will try to clear entire cave except for the cave-ins, note, if a tailing is cut off from bottom by cave ins (surronded on all side) it won't trigger cave-ins to get to them.
useMafiaRestore = boolean;
This property will allow you to attempt to use the internal mafia restore to heal a single hp if after a cave-in you are at 0 hp, it it fails it will attempt to use Docs
healingSkill = $skill[<skill name>]
Use this skill instead of docs for healing after a cave-in, if value is $skill[none] it will just use doc's, not only used if useMafiaRestore is false
Sample Output
Number of Fully Explored Caves: 36
Number of Caves Skipped because chain to large: 2
Number of Cave Ins that occurred: 23
Number of peppermint tailings found: 119
Number of nugget of Crimbonium found: 216
Number of seconds it took: 798.0
Threw together a Mining Script that mines the crimbo mine, requires you to be running 'Crimbonar' when starting each mine.
http://pastebin.com/hbr72cQL (v1.14) (Note recommend to use Mafia r15029 or later)
Features:
For a given Crimbo mine this program will figure out the shortest path to get all the nuggets of Crimbonium in least number of mining attempts
Ability to skip mines where Crimbonium clumps might contain cave ins, skipping requires 1 mine attempt before getting new cave
Ability to mine extra peppermint trailing
Allows you to use script for mining even it will cost you turns, by default disabled
Multiple ways to heal after a cave-in: mafia restore, specify healing or just spend 10 meat and get a hp from Docs
Avoids cave-ins as much as possible, uses assumptions when you have found 6 nuggets, all rest interesting spots are cave ins, nuggets can't be in bottom two rows
Configurable options:
maxFailsAllowed = int;
How much bigger a set of continuous interesting points can be more then 6, if you were to explore all in bigger chains, you are guaranteed a cave in
Setting this to 4 will make it so no mine is skipped because of length of chain
maxCaves = 50;
Max caves to check against, mainly to solve for infinite loops just in case
requireFreeMining = boolean;
Whether to force no turn used, if true, you either have to have minin' dynamite in inventory or have the oily legs buff up
useDynamite = boolean;
Whether or not to use minin' dynamite, setting to false will store dynamite in closest, required mafia r15029 or later to work.
numTurnsToLeave = int;
When requireFreeMining is false, and you are using turns to mine, this will allow you to tell the script how many turns you want left over when done mining.
delayBetweenMines = int;
In seconds, This will allow you to add delays after each mining attempt, used to spread out server load espically if you are starting script and letting it run while you go do other things and don't care when it finishes
maxExtraNuggets = -1;
Set to -1 if you don't want to use this value and just mine as many nuggets as you can, else will mine nuggets in a given mine until you reach your current number of cylindrical molds + maxExtraNuggets
mineOnlyPeppermints = boolean;
Setting this to true will make it so you will only mine basic chucks of walls for peppermints and mine no nuggets, highly recommend to up minNumberTailsPerCave to something greater then 20 to reduce serverload, the code will automatically do this if its set to a number less then 12
minNumberTailingsPerCave = int;
This property will allow you to mine additonal peppermint tailings after finding all the nuggets in a given cave. Setting to 26, will try to clear entire cave except for the cave-ins, note, if a tailing is cut off from bottom by cave ins (surronded on all side) it won't trigger cave-ins to get to them.
useMafiaRestore = boolean;
This property will allow you to attempt to use the internal mafia restore to heal a single hp if after a cave-in you are at 0 hp, it it fails it will attempt to use Docs
healingSkill = $skill[<skill name>]
Use this skill instead of docs for healing after a cave-in, if value is $skill[none] it will just use doc's, not only used if useMafiaRestore is false
Sample Output
Number of Fully Explored Caves: 36
Number of Caves Skipped because chain to large: 2
Number of Cave Ins that occurred: 23
Number of peppermint tailings found: 119
Number of nugget of Crimbonium found: 216
Number of seconds it took: 798.0
Attachments
Last edited: