Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- script "Seesee_Slime.ash";
- /**************************************************************************************************
- This script uses LOW ML as a first strike to get "covered in slime", and then uses HIGH ML to fight subsequent slimes.
- It also automatically collects 5 Groose Grease each day.
- It also uses as many Free Run-aways as it can for fighting the low ML slimes, before using CLEESH.
- Run away methods:
- 1. Natural run aways
- 2. After natural run aways run out, it gets the Susie buff for one more runaway.
- 3. After Susie, it gets the Hatter buff for one more run away.
- 4. After Hatter, it uses Meteorshower (combat skill +20 familiar weight) for 4 more runaways
- 5. After meteor shower, it uses 3 Snoke bombs skills
- 6. After Snoke, it uses Louder than bombs
- 7. After bombs...it begins to use Cleesh.
- It also keeps you informed of your progress throughout the run, and keeps a running estimate of when you should be done.
- This progress report can be continued without interuption over rollovers. (As sometimes, a slime run will be finished over two days. )
- It gives the option to use Louder than bomb or not.
- It gives the option to use Swimming pool buff or not.
- It stops in the beginning to allow you to check if your ML is correct for both LOW and HIGH moments.
- It keeps track of how many turns you're getting before you have to use Chamois.
- It auto preps all the necessary pre-fight buffs and preparations in order to start the slime run:
- 1. Checks all buffs, and extends them if they are too short on turns.
- 2. Checks all materials to see if you have enough for the run.
- 3. Fills up the bucket with Chamois
- 4. Makes sure you're in the correct clan before fighting. and auto corrects if you are not.
- It's really made for my own private (Sauceror) use, but it could work for others if they have the same gear.
- *******************************************************************************************************/
- ###########################################################################################################
- boolean Check_firstStrike = false; #Gives the user a chance to confirm if LOW ML is correct before starting.
- boolean Check_followupStrikes = false; #Gives the user a chance to confirm if HIGH ML is correct before continuing.
- int runAway_Count = 0; #Keeps track how many free-aways you were able to get before you started cleeshing low-level slimes.
- boolean Check_First_While_Adventures = false; #Makes sure we only check the number of initial fights we're getting ONCE.
- boolean Check_Second_While_Adventures = false; #Makes sure we only check the number of secondary fghts we're getting ONCE.
- int fightCount_holder = 0; #Keeps track of how many fights we had.
- int my_starting_adv_count = my_adventures(); #Keeps track of how many fights we had.
- int Clan_out_attempts = 0; #Keeps track of how many times we tried to go to Old CW's, so we can stop if we don't make it after 3 tries.
- int Clan_return_attempts = 0; #Keeps track of how many times we tried to return to Big Timers, so we can stop if we don't make it after 3 tries.
- int lacking = 0; #Tells us how many potions we are lacking of different buffs, so we can drink more if we need to.
- int iteration_count_holder = 7; #We fight in a WHILE loop, this keeps track of how many fights we can get inside of each WHILE loop (called an iteration).
- int Total_ML_Killed = 0; #Keeps track of how much ML we killed so far.
- boolean end_after_lapdog = false; #Keeps track of whether you want to end script when lapdog wears off.
- int try_susie = 0; #Sometimes there are problems with getting the Fortune buff. This variable allows 3 tries and then gives up on it.
- int try_hatter = 0; #Sometimes there are problems with getting the Hatter buff. This variable allows 3 tries and then gives up on it.
- int estimated_total_fight_count_to_finish = 0;
- int total_fights_used_with_runaways = 0; #Keeps track of how many fights were completed using a free runaway after getting covered in slime.
- int fights_still_needed = 0;
- int number_of_bombs_to_use = 5; #This constant can be changed to use more or less Louder than bombs.
- int ML_per_turn = 0; #We can continually estimate how many more turns are left till we finish.
- int ML_remaining = 0; #
- int Turns_still_needed = 0; #Useful if you've got a turn goal in mind.
- float[int] slime_percent; #for calculating "covered in slime" damage.
- slime_percent[1] = 5.334167;
- slime_percent[2] = 4.001677;
- slime_percent[3] = 2.9025;
- slime_percent[4] = 2.016667;
- slime_percent[5] = 1.325;
- slime_percent[6] = .805833;
- slime_percent[7] = .4391667;
- slime_percent[8] = .200833;
- slime_percent[9] = .066667;
- slime_percent[10] = 0;
- slime_percent[11] = 0;
- #5 persistant properties are tracked throughout the run.
- #This resets those variables if you are starting a fresh run, or continues the variables from where you last left off.
- void restart_actions() #It also fills up the bucket with chamois if you are on a fresh start. Aborts on lack of chamois.
- {
- if ( user_confirm( "Are you starting a fresh Slimetube run?" ) )
- {
- set_property("freerun_away_count",0);
- print("Your free runaway count has been reset to " + get_property("freerun_away_count") , "blue");
- set_property("total_fight_count",0);
- print("Your current fight count has been reset to " + get_property("total_fight_count") , "blue");
- set_property("total_ML_count",0);
- print("Your current ML count has been reset to " + get_property("total_ML_count") , "blue");
- set_property("total_cleesh_Count",0);
- print("Your current Cleesh count has been reset to " + get_property("total_cleesh_Count") , "blue");
- set_property("total_Bomb_Count",0);
- print("Your current Louder than bomb count has been reset to " + get_property("total_Bomb_Count") , "blue");
- set_property("fightCount_holder",0);
- if (item_amount($item[big bundle of chamoix]) < 1)
- {
- print("Sorry, you don't have any more chamois to fill up the bucket.", "blue");
- abort("Go get some more chamois!");
- }
- else
- {
- use( 1, $item[big bundle of chamoix] );
- print("...and your Slimetube bucket was filled with 100 chamois." , "blue");
- }
- }
- else
- {
- fightCount_holder = get_property("total_fight_count").to_int();
- print("Your free runaway count is currently at " + get_property("freerun_away_count") , "blue");
- print("Your fight count is currently at " + get_property("total_fight_count") , "blue");
- print("Your ML count is currently at " + get_property("total_ML_count") , "blue");
- print("Your Cleesh count is currently at " + get_property("total_cleesh_Count") , "blue");
- print("Your Louder than Bomb count is currently at " + get_property("total_Bomb_Count") , "blue");
- }
- }
- void get_buffs() #Automatically gives enough turns of each buff to last for the amount of turns we have. Aborts if we don't have enough supply.
- {
- if ( have_effect($effect[Go Get 'Em, Tiger!]) < my_adventures() )
- {
- Print("You need more, --> Go Get 'Em, Tiger!" , "blue" );
- lacking = max( ((my_adventures() - have_effect($effect[Go Get 'Em, Tiger!]))/3)+1 , 0 );
- If ( item_amount( $item[Ben-Gal™ Balm] ) < lacking )
- {
- abort("You don't have enough Ben-Gal Balm. Go buy some more!");
- }
- Else
- {
- use( lacking, $item[Ben-Gal™ Balm] );
- print("You now have " + have_effect($effect[Go Get 'Em, Tiger!]) + " turns of --> Go Get 'Em, Tiger!" , "blue" );
- }
- }
- if ( have_effect($effect[Incredibly Hulking]) < my_adventures() )
- {
- Print("You need more, --> Incredibly Hulking" , "blue" );
- lacking = max( ((my_adventures() - have_effect($effect[Incredibly Hulking]))/15)+1 , 0 );
- If ( item_amount( $item[Ferrigno's Elixir of Power] ) < lacking )
- {
- abort("You don't have enough Ferrigno's Elixir of Power. Go buy some more!");
- }
- Else
- {
- use( lacking, $item[Ferrigno's Elixir of Power] );
- print("You now have " + have_effect($effect[Incredibly Hulking]) + " turns of --> Incredibly Hulking." , "blue" );
- }
- }
- if ( have_effect($effect[Phorcefullness]) < my_adventures() )
- {
- Print("You need more, --> Phorcefullness" , "blue" );
- lacking = max( ((my_adventures() - have_effect($effect[Phorcefullness]))/15)+1 , 0 );
- If ( item_amount( $item[philter of phorce] ) < lacking )
- {
- abort("You don't have enough Philter of Phorce. Go buy some more!");
- }
- Else
- {
- use( lacking, $item[philter of phorce] );
- print("You now have " + have_effect($effect[Phorcefullness]) + " turns of --> Phorcefullness." , "blue" );
- }
- }
- if ( have_effect($effect[Tomato Power]) < my_adventures() )
- {
- Print("You need more, --> Tomato Power" , "blue" );
- lacking = max( ((my_adventures() - have_effect($effect[Tomato Power]))/15)+1 , 0 );
- If ( item_amount( $item[tomato juice of powerful power] ) < lacking )
- {
- abort("You don't have enough tomato juice of powerful power. Go buy some more!");
- }
- Else
- {
- use( lacking, $item[tomato juice of powerful power] );
- print("You now have " + have_effect($effect[Tomato Power]) + " turns of --> Tomato Power." , "blue" );
- }
- }
- if (item_amount($item[scroll of drastic healing]) < 100 )
- {
- abort("You should go get more Scrolls of Drastic Healing and start again.");
- }
- if (item_amount($item[honey-dipped locust]) < 150 )
- {
- abort("You should go get more Honey-dipped Locusts and start again.");
- }
- if (user_confirm( "Number of Bombs to be used: " + number_of_bombs_to_use + " Is that ok?") )
- {
- if (item_amount($item[louder than bomb]) < number_of_bombs_to_use )
- {
- abort("You don't have enough Bombs. Go buy some more and start again!");
- }
- else
- {
- print("Ok, we will use " + number_of_bombs_to_use + " bombs before we start cleeshing.", "blue");
- }
- }
- else
- {
- abort("Ok...we'll stop and you can change that.");
- }
- }
- int Expected_slime_damage() #considers "slime resistance" and "damage expected" from current monster to determine a final expected damage for the turn.
- {
- int damage = my_maxhp() * slime_percent[ have_effect( $effect[Coated in Slime] ) ];
- return ceil( damage - ( damage * ( elemental_resistance( $element[slime] ) / 100 ) ) ) + expected_damage($monster[Slime Colossus]);
- }
- Void VerifyUsed_Chamois () #This routine helps to guard against internet problems and "time out" errors to MAKE SURE you used a Chamois
- {
- while ( have_effect( $effect[Coated in Slime] ) > 0 )
- {
- cli_execute
- {
- /chamois
- }
- }
- }
- void check_if_lapdog() #Gives option to use Lapdog for 50 advs. and option to STOP when lapdog wears off.
- {
- if (user_confirm( "Should we use the pool to get Lapdog?" ) )
- {
- while ( get_clan_id()!= 14909 ) #Keep trying to get back if we're not successful.
- {
- visit_url("showclan.php?recruiter=1&whichclan="+ 14909 +"&pwd&whichclan=" + 14909 + "&action=joinclan&apply=Apply+to+this+Clan&confirm=on");
- if (get_clan_id()!= 14909)
- {
- Clan_out_attempts = Clan_out_attempts+1;
- Print("Could not jump to CW's. Attempts: " + Clan_out_attempts, "blue");
- if (Clan_out_attempts == 3)
- {
- Print("We tried 3 times to join CW's clan, but failed.", "blue");
- abort("Find out why.");
- }
- }
- }
- cli_execute
- {
- swim laps
- }
- if (user_confirm( "Should we end script when Lapdog is over?" ) )
- {
- end_after_lapdog = true;
- print("Ok...we'll stop when we run out of Lapdog", "blue");
- }
- else
- {
- end_after_lapdog = false;
- print("Ok...we'll keep going when we run out of Lapdog", "blue");
- }
- while (get_clan_id()!= 35794) #Keep trying to get back if we're not successful.
- {
- visit_url("showclan.php?recruiter=1&whichclan="+ 35794 +"&pwd&whichclan=" + 35794 + "&action=joinclan&apply=Apply+to+this+Clan&confirm=on");
- if (get_clan_id()!= 35794)
- {
- Clan_return_attempts = Clan_return_attempts+1;
- Print("Could not return to Big Timers. Attempts: " + Clan_return_attempts, "blue");
- if (Clan_return_attempts == 3)
- {
- Print("We tried 3 times to return to Big Timers, but failed.", "blue");
- abort("Find out why.");
- }
- }
- }
- }
- else
- {
- print("ok...no swimming today!");
- }
- }
- void Get_susie () #This routine jumps clans to get Fortune Teller buff, and protects against "time out" errors that may interfere.
- {
- while ( get_clan_id()!= 14909 ) #Try only 3 times to get to OLD CW's and if we're not successful then abort.
- {
- visit_url("showclan.php?recruiter=1&whichclan="+ 14909 +"&pwd&whichclan=" + 14909 + "&action=joinclan&apply=Apply+to+this+Clan&confirm=on");
- if (get_clan_id()!= 14909)
- {
- Clan_out_attempts = Clan_out_attempts+1;
- Print("Could not jump to CW's. Attempts: " + Clan_out_attempts, "blue");
- if (Clan_out_attempts == 3)
- {
- Print("We tried 3 times to join CW's clan, but failed.", "blue");
- abort("Find out why.");
- }
- }
- }
- while ( get_property("_clanFortuneBuffUsed") == false ) #makes sure we get this buff.
- {
- cli_execute
- {
- fortune buff familiar
- }
- }
- while (get_clan_id()!= 35794) #Try only 3 times to return to Big Timer's and if we're not successful then abort.
- {
- visit_url("showclan.php?recruiter=1&whichclan="+ 35794 +"&pwd&whichclan=" + 35794 + "&action=joinclan&apply=Apply+to+this+Clan&confirm=on");
- if (get_clan_id()!= 35794)
- {
- Clan_return_attempts = Clan_return_attempts+1;
- Print("Could not return to Big Timers. Attempts: " + Clan_return_attempts, "blue");
- if (Clan_return_attempts == 3)
- {
- Print("We tried 3 times to return to Big Timers, but failed.", "blue");
- abort("Find out why.");
- }
- }
- }
- }
- void VerifyUsed_HealScroll () #This routine helps to guard against internet problems and "time out" errors to MAKE SURE you used a Heal Scroll.
- {
- while (my_hp() < my_maxhp())
- {
- use( 1, $item[scroll of drastic healing] );
- }
- }
- void visit_the_hatter () #I've noticed that this will have trouble if your hat has 3 words in it...such as, reinforced beaded headband.
- {
- cli_execute
- {
- hatter suspicious-looking fedora
- }
- }
- void Determine_FirstStrike_and_Familiar ()
- /**************************************************************************************************
- This routine determines how to attack our FIRST "low level" slime fight that will cover us in Slime. We want to get as low ML as possible obviously.
- Also, it uses as many different ways as possible to squeeze as many free run_aways out of our Stomping boots as possible.
- It utilizes:
- 1. Normal Free run_away count
- 2. Susie buff to get 1 more run-way
- 3. Hatter buff to get 1 more run-way
- 4. Meteorshower skill to get 4 more run-ways
- 5. 3 snoke bombs to get 3 more run-ways
- After ALL free run_aways are used, we start to cleesh. We could perhaps use a few more potions, but I don't want to spend the meat!
- *******************************************************************************************************/
- {
- if ( get_property( "_banderRunaways" ).to_int() < floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 )
- {
- cli_execute("familiar Stomping"); #We only come here if we have more NATURAL free run_aways.
- cli_execute("ccs FreeRun");
- print("using stomping boots runaway skill");
- set_property("freerun_away_count" , (get_property("freerun_away_count").to_int()+1) ); #Keeping track of the free run_away count for verification in the end.
- }
- if ( get_property( "_banderRunaways" ).to_int() >= floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 &&
- get_property( "_banderRunaways" ).to_int() < (floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5)+4 &&
- get_property( "_madTeaParty" ) == true )
- {
- cli_execute("familiar Stomping"); #We only come here if we are ready to use METEOR SHOWER to get 4 more free run_aways.
- cli_execute("ccs MicroFreeRun");
- print("using meteor shower skill " + (get_property("_meteorShowerUses")+1) );
- print("You have " + (have_effect($effect[You Can Really Taste the Dormouse])) + " turns of +5 Fam Weight Hatter effect.");
- set_property("freerun_away_count" , (get_property("freerun_away_count").to_int()+1) ); #Keeping track of the free run_away count for verification in the end.
- }
- if ( get_property( "_banderRunaways" ).to_int() >= floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 &&
- get_property( "_madTeaParty" ) == false &&
- get_property("_clanFortuneBuffUsed") == true )
- {
- print("Trying to get Hatter buff.", "blue"); #We only come here if we are ready to use Hatter buff to get 1 more free run_away.
- visit_the_hatter ();
- if ( get_property( "_banderRunaways" ).to_int() < floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 )
- {
- print("We successfully got Hatter buff.", "green");
- cli_execute("familiar Stomping");
- set_property("freerun_away_count" , (get_property("freerun_away_count").to_int()+1) );
- cli_execute("ccs FreeRun");
- }
- else
- {
- print("For some reason we did NOT get Hatter buff. We have to use Cleesh.", "green");
- cli_execute("familiar Stomping");
- cli_execute("ccs cleesh");
- set_property("total_cleesh_Count", (get_property("total_cleesh_Count").to_int()+1) );
- try_hatter = try_hatter + 1;
- if(try_hatter >2)
- {
- print("We tried 2 times to get the Hatter buff, but failed. Giving up now.", "green");
- set_property("_madTeaParty", true );
- }
- else
- {
- print("I will try to get the Hatter buff again next iteration.", "green");
- }
- }
- }
- if ( get_property( "_banderRunaways" ).to_int() >= floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 &&
- get_property( "_madTeaParty" ) == false &&
- get_property("_clanFortuneBuffUsed") == false )
- {
- print("Trying to get Susie buff.", "blue"); #We only come here if we are ready to use Susie buff to get 1 more free run_away.
- Get_susie ();
- if ( get_property( "_banderRunaways" ).to_int() < floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 )
- {
- print("We successfully got Susie buff.", "green"); #A foolproof safety check to INSURE we got the susie buff before trying to fight again. IMPORTANT!
- cli_execute("familiar Stomping");
- set_property("freerun_away_count" , (get_property("freerun_away_count").to_int()+1) );
- cli_execute("ccs FreeRun");
- }
- else
- {
- print("For some reason we did NOT get Susie buff. We have to use Cleesh.", "green");
- cli_execute("familiar Stomping");
- cli_execute("ccs cleesh");
- set_property("total_cleesh_Count", (get_property("total_cleesh_Count").to_int()+1) );
- try_susie = try_susie + 1;
- if(try_susie >2)
- {
- print("We tried 2 times to get Susie, but failed. Giving up now.", "green");
- set_property("_clanFortuneBuffUsed", true );
- }
- else
- {
- print("I will try to get susie buff again next iteration.", "green");
- }
- }
- }
- if ( get_property( "_banderRunaways" ).to_int() >= (floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 )+4 &&
- get_property("_snokebombUsed" ).to_int() <3 &&
- get_property( "_madTeaParty" ) == true )
- { #It doesn't matter what familiar is active. I picked sombrero to show that I'm using snokes.
- cli_execute("Familiar sombrero"); #We only come here if we are ready to use SNOKE skill to get 3 more free run_aways.
- cli_execute("ccs Snoke_run"); #Unfortunately, Shatterfist advances the fight counter in the Tube, even though it does NOT advance the turn counter.
- print("using snokebombs to runaway."); #So we can't use Shatterfist in low level FIRST strikes.
- set_property("freerun_away_count" , (get_property("freerun_away_count").to_int()+1) );
- }
- if ( get_property( "_banderRunaways" ).to_int() >= (floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 )+4 &&
- get_property("_snokebombUsed" ).to_int() >=3 &&
- get_property("total_Bomb_Count").to_int() < number_of_bombs_to_use + 1 ) #We only come here when we're completely done with our free run aways.
- {
- cli_execute("Familiar sombrero"); #It really doesn't matter which familiar we use here, as we are using Louder than bomb to end the turn.
- cli_execute("ccs bombs");
- print("Using Bombs now.");
- set_property("total_Bomb_Count", (get_property("total_Bomb_Count").to_int()+1) );
- }
- if ( get_property( "_banderRunaways" ).to_int() >= (floor( numeric_modifier( "Familiar Weight" ) + familiar_weight( $familiar[Pair of Stomping Boots] ) ) / 5 )+4 &&
- get_property("total_Bomb_Count").to_int() > number_of_bombs_to_use )
- {
- cli_execute("Familiar sombrero"); #We only come here at the end, when all Free run_aways are used up.
- cli_execute("ccs cleesh"); #It really doesn't matter which familiar we use here, as we are cleeshing anyway.
- print("Starting to use Cleesh now.");
- set_property("total_cleesh_Count", (get_property("total_cleesh_Count").to_int()+1) );
- }
- }
- void Determine_FollowUpStrikes_and_Familiar ()
- /**************************************************************************************************
- This routine determines how to continue attacking after the FIRST strike. We want to get as HIGH ML as possible obviously.
- Also, it gets 5 grease drops from our Groose before switching to the Purse Rat.
- This does add 2 or 3 turns to the fight count, but it's worth it to get the 5 grease.
- *******************************************************************************************************/
- {
- if (my_familiar() == $familiar[Bloovian Groose] && # just in case Mafia looses track of "_grooseDrops"!
- my_adventures() < my_starting_adv_count-29 ) # if we adventured for 30 turns and didn't get 5 "_grooseDrops", something is wrong! So let's start using Purse Rat.
- {
- cli_execute("familiar Purse rat");
- cli_execute("ccs fight");
- print("Something went wrong with Mafia keeping track of your grease drops. Switching to Purse Rat now.");
- }
- if ( get_property("_grooseDrops" ).to_int() <=4 && #Trying to get our 5 grease drops for at most 30 turns, so keep using the Groose.
- my_adventures() >= my_starting_adv_count-29)
- {
- cli_execute("familiar Groose");
- cli_execute("ccs fight");
- print("CONTINUING STRIKES: Still using Groose trying to get 5 grease drops. We have " + (get_property("_grooseDrops" ).to_int()) );
- }
- if ( get_property("_grooseDrops" ).to_int() >=5 ) #When we finally get our 5 grease drops, switch over to Purse Rat.
- {
- cli_execute("familiar Purse rat");
- cli_execute("ccs fight");
- print("CONTINUING STRIKES: All grease collected..Purse rat is used ALL the time");
- }
- }
- void check_Clan() #Makes sure we are in the right clan! I can't tell you how many times made this mistake BEFORE I added this code!
- {
- if (get_clan_name() != "Big Timers" )
- {
- if (user_confirm( "You seem to be in the wrong clan. Do you want to switch to Big Timers? If not we'll stop." ) )
- {
- visit_url("showclan.php?recruiter=1&whichclan="+ 35794 +"&pwd&whichclan=" + 35794 + "&action=joinclan&apply=Apply+to+this+Clan&confirm=on");
- }
- else
- {
- abort("Ok then. We'll stop.");
- }
- }
- }
- boolean keep_Fighting() #This makes sure I stop fighting if I run out of booze/food/spleen buffs, or adventures.
- {
- if ( have_effect($effect[Grimace]) < iteration_count_holder )
- {
- Print("Sorry, your Grimace buff is too low to continue." , "blue" );
- return false;
- }
- if ( have_effect($effect[Bilious]) < iteration_count_holder )
- {
- Print("Sorry, your Bilious buff is too low to continue." , "blue" );
- return false;
- }
- if ( have_effect($effect[Slimebreath]) < iteration_count_holder )
- {
- Print("Sorry, your Slimebreath buff is too low to continue." , "blue" );
- return false;
- }
- if ( end_after_lapdog == true )
- {
- if ( have_effect($effect[lapdog]) < iteration_count_holder )
- {
- Print("Your Lapdog is about to run out." , "blue" );
- return false;
- }
- }
- if ( have_effect($effect[Slimebreath]) < iteration_count_holder )
- {
- Print("Sorry, your Slimebreath buff is too low to continue." , "blue" );
- return false;
- }
- if ( my_adventures() < iteration_count_holder )
- {
- Print("You're out of adventures.");
- return false;
- }
- else
- {
- return true;
- }
- }
- void bookkeeping()
- {
- iteration_count_holder = get_property("total_fight_count").to_int() - fightCount_holder;
- fightCount_holder = get_property("total_fight_count").to_int();
- print("You are getting " + iteration_count_holder + " fights before you have to use a chamois", "green"); #Tracks how many fights before we have to use chamois and start again.
- print( (my_adventures()/iteration_count_holder) + " iterations left.", "blue"); #notification of how many more fight iterations we have remaining
- print(" ");
- ML_per_turn = Round( get_property("total_ML_count").to_int() / get_property("total_fight_count").to_int() ); #Tracks how much ML we are getting each fight.
- print("We are killing " + ML_per_turn + " ML of slime per turn.", "purple");
- print("We killed " + get_property("total_ML_count") + " ML of Slimetube monsters already.", "green");
- ML_remaining = 400000 - get_property("total_ML_count").to_int();
- print("We have " + ML_remaining + " ML of slime remaining.", "purple");
- fights_still_needed = Round( ML_remaining / ML_per_turn ); #Tracks how many more fights in the tube are needed.
- total_fights_used_with_runaways = get_property("freerun_away_count").to_int()*iteration_count_holder;
- print("Total fights used with runways: " + total_fights_used_with_runaways, "blue"); #Tracks the number of fights before we had to use bombs or cleesh
- estimated_total_fight_count_to_finish = fights_still_needed + get_property("total_fight_count").to_int();
- print("run_away count = " + get_property("freerun_away_count") , "blue"); #Tracks how many Run aways have been used this run.
- print("Cleesh count = " + get_property("total_cleesh_Count") , "blue"); #Tracks how many Cleeshes have been used this run.
- print(" ");
- print("Fight count = " + get_property("total_fight_count"), "purple"); #Tracks how many fights have occured in the Slimetube this run.
- print("Number of fights remaining to finish Slimetube: " + fights_still_needed , "purple" ); #How many Slimetube fights are left...estimated.
- print(" ");
- print("On target to finishing the Slimetube run in " + estimated_total_fight_count_to_finish + " fights.", "red" ); #Tracks estimated end-turn count.
- }
- void main()
- {
- check_Clan(); #Making sure I don't adventure in Old CW's slime tube!
- get_buffs(); #As a Saucerer, I need quite a few MUSCLE buffs in order to fight against the 1100+ML slimes. (I rely on Hero of the Half Shell)
- restart_actions(); #If this is a brand new run, Put 100 chammies in the bucket, and start keeping track of 'free runaways', 'number of fights' and 'total ML' for the whole run.
- if( get_property("_olympicSwimmingPool") == false )
- {
- check_if_lapdog();
- }
- while ( keep_Fighting() ) #keep fighting till TURNS or BUFFS run out.
- {
- while ( current_mcd() > 0 || have_effect($effect[Ur-Kel's Aria of Annoyance]) > 0 || !is_wearing_outfit("minml") ) #protects against time-out errors, insuring we do these commands.
- {
- cli_execute {
- outfit minml
- mcd 0
- shrug Ur-kel's
- }
- }
- Determine_FirstStrike_and_Familiar (); #Planning our FIRST attack.
- if ( my_hp() < my_maxhp() )
- {
- VerifyUsed_HealScroll (); #Making sure we start with full health
- }
- if (Check_firstStrike==false) #A one time check to verify if our Low ML is correct.
- {
- if (user_confirm( "Is your MINIMAL +ML ok?" ) )
- {
- Check_firstStrike = true;
- }
- else
- {
- abort("Find out what's wrong and try again.");
- }
- }
- while ( have_effect( $effect[Coated in Slime] ) < 1 ) #we need this method because free runaways don't advance the turn counter thus "adventure(1,..." keeps repeating.
- { #BUT...adv1 will ONLY adventure ONCE, so we have to make sure that we got "coated in slime" before moving on.
- adv1($location[The Slime Tube], -1, ""); #It's possible to get the "engulfed" non-combat thereby NOT getting covered in slime.
- } #This makes sure we only spend ONE turn (even though we use a Free run_away) AND we get slimed!
- while ( current_mcd() < 10 || !is_wearing_outfit("maxml") )
- {
- cli_execute {
- outfit maxml
- mcd 10
- }
- }
- use_skill( 1, $skill[Ur-Kel's Aria of Annoyance] ); #Replace the mana we just used casting Ur-Kel's
- use( 5, $item[honey-dipped locust] ); #Helps to replenish mana. The higher level slimes take about 5 or 6 rounds of combat to kill.
- Determine_FollowUpStrikes_and_Familiar (); #Planning our High level attacks (Groose or Purse Rat?)
- if (Check_followupStrikes == false) #A one time check to verify if our HIGH ML is correct.
- {
- if (user_confirm( "Is your MAXIMAL +ML ok?" ) )
- {
- Check_followupStrikes = true;
- }
- else
- {
- abort("Find out what's wrong and try again.");
- }
- }
- while (Expected_slime_damage() < my_hp()) #Expecting 4-5 fights here in this FIRST "while" loop
- {
- adventure(1, $location[The Slime Tube]);
- set_property("total_fight_count" , (get_property("total_fight_count").to_int()+1) );
- set_property("total_ML_count" , (get_property("total_ML_count").to_int()+1) + monster_level_adjustment() + 400 );
- }
- if (Check_First_While_Adventures == false) #One time Check to see if you got the expected fight count in the FIRST "while" loop
- {
- Print("In this first 'While' loop you got " + (get_property("total_fight_count").to_int() - fightCount_holder) + " fights.", "blue");
- if (user_confirm( "Did you get the expected number of fights at this first stage?" ) )
- {
- Check_First_While_Adventures = true;
- }
- else
- {
- VerifyUsed_Chamois ();
- abort("Find out what's wrong and try again.");
- }
- }
- VerifyUsed_HealScroll ();
- while (Expected_slime_damage() < my_hp()) #squeezing out a few more advs. before using a Chamois...using heal scrolls instead
- { #expecting 2 more fights
- adventure(1, $location[The Slime Tube]);
- set_property("total_fight_count" , (get_property("total_fight_count").to_int()+1) ); #Keeping track of our total fight count for the tube run.
- set_property("total_ML_count" , (get_property("total_ML_count").to_int()+1) + monster_level_adjustment() + 400 ); #Keeping track of how much ML we kill. (need:400K ML.)
- VerifyUsed_HealScroll ();
- }
- if (Check_Second_While_Adventures == false) #One time Check to see if you got the expected fight count in the SECOND "while" loop
- {
- Print("You got " + (get_property("total_fight_count").to_int() - fightCount_holder) + " total fights before using a chamois.", "blue");
- if (user_confirm( "Did you get the expected number of fights?" ) )
- {
- Check_Second_While_Adventures = true;
- }
- else
- {
- VerifyUsed_Chamois ();
- abort("Find out what's wrong and try again.");
- }
- }
- VerifyUsed_Chamois ();
- bookkeeping();
- }
- bookkeeping(); #A final tally if we actually use up all adventures before getting to the mother slime.
- Print("All done.");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement