Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import "tf_lib.ash"
- string scriptname = "tf_cs";
- string scriptversion = "1.0";
- boolean use_borrowed = true;
- boolean do_pvp = true;
- // Well apparently there's no better way to do this, so screw it
- string cs_all_macro = "scrollwhendone; sub weak_stag; if beenhit 1 || beenhit 2 || beenhit 3 || beenhit 4 || beenhit 5; # reset beenhit counter (is there a better way to do this?); endif; if hasskill curse of weaksauce; skill curse of weaksauce; endif; if beenhit 1; # Monster not staggered, kill it!; skill saucegeyser; repeat; endif; if hasskill micrometeorite; skill micrometeorite; endif; if hascombatitem Time-Spinner; use Time-Spinner; endif; if hasskill entangling noodles; skill entangling noodles; endif; if hasskill cowboy kick; skill cowboy kick; endif; if hasskill compress; skill compress; endif; endsub; ; sub try_banish1; if hasskill Asdon Martin: Spring-Loaded Front Bumper; skill asdon martin: spring-loaded front bumper; endif; if hasskill Snokebomb; skill snokebomb; endif; if hasskill KGB tranquilizer dart; skill kgb tranquilizer dart; endif; endsub; ; sub try_banish2; if hasskill Asdon Martin: Spring-Loaded Front Bumper; skill asdon martin: spring-loaded front bumper; endif; if hasskill KGB tranquilizer dart; skill kgb tranquilizer dart; endif; if hasskill Snokebomb; skill snokebomb; endif; endsub; ; if monstername The Icewoman || monstername The ghost of Lord Montague Spookyraven || monstername the ghost of Monsieur Baguelle || monstername The Headless Horseman; skill extract; skill shoot ghost; skill shoot ghost; skill shoot ghost; skill trap ghost; endif; ; abort hppercentbelow 20; ; if monstername spooky gravy fairy ninja; if hasskill shattering punch; skill shattering punch; endif; runaway; endif; ; if monstername novelty tropical skeleton || monstername amateur ninja || monstername sk8 gnome; if hasskill extract; skill extract; endif; skill shattering punch; endif; ; if monstername ancient insane monk || monstername Ferocious bugbear || monstername spooky gravy fairy guard; call try_banish1; runaway; endif; ; if monstername gelatinous cube || monstername Knob Goblin poseur || monstername spooky gravy fairy warlock; call try_banish2; runaway; endif; ; if monstername remaindered skeleton || match Fratskirt.gif; call try_banish1; call weak_stag; skill saucegeyser; endif; ; if monstername Orcish Frat Boy; skill toss; if match \"He whips out a frat-paddle and hits you\" || match \"He hands you a feather duster\" || match \"He pulls out a bra\" || match \"He beans you in the\" || match \"He swings his frat-paddle\" || match \"He winds up and smacks you\" || match \"He tries to get you\" || match \"He throws a can of Sir Schlitz\" || match \"He whips out his frat-paddle and prepares\"; skill asdon martin: missile launcher; endif; call try_banish2; endif; ; if monstername factory-irregular skeleton || monstername swarm of skulls; call try_banish2; call weak_stag; skill saucegeyser; endif; ; if monstername Eldritch Tentacle; skill Stuffed Mortar Shell ; skill Saucegeyser; repeat; endif; ; if monstername knob goblin embezzler; if hasskill Fire a badly romantic arrow; skill Fire a badly romantic arrow; endif; if hasskill digitize; skill digitize; endif; call weak_stag; skill Extract; if hasskill meteor shower; skill meteor shower; endif; skill Saucegeyser; repeat; endif; ; if monstername LOV Enforcer; if !mpbelow 40; call weak_stag; endif; skill Stuffed Mortar Shell ; skill Extract; if hasskill saucegeyser; skill Saucegeyser; endif; if hasskill compress; skill compress; endif; if hasskill cannelloni cannon; skill cannelloni cannon; endif; endif; ; if monstername LOV Engineer ; call weak_stag; skill Extract; use exploding cigar, exploding cigar; attack; repeat; endif; ; call weak_stag; if !match \"Cattle Prod\" && hasskill Stuffed Mortar Shell; skill Stuffed Mortar Shell; endif; if !match \"Cattle Prod\" && hasskill extract; skill extract; endif; skill Saucegeyser; repeat;";
- void use_hipster(){
- if(my_daycount() == 2){
- // TODO: hipster equipment?
- if(get_property("_hipsterAdv").to_int() < 5){
- use_familiar($familiar[Mini-Hipster]);
- } else {
- use_familiar($familiar[Baby Sandworm]);
- }
- }
- }
- void heal(){
- if(my_hp() < my_maxhp()){
- if(get_property("_hotTubSoaks").to_int() < 5){
- cli_execute("soak");
- } else {
- use_skill(1, $skill[Cannelloni Cocoon]);
- }
- }
- }
- void heal_threshold(int threshold, boolean use_tub){
- if(my_hp() < threshold){
- if(use_tub && get_property("_hotTubSoaks").to_int() < 5){
- cli_execute("soak");
- } else {
- use_skill(1, $skill[Cannelloni Cocoon]);
- }
- }
- }
- void get_potion(effect eff, item potion){
- if(have_effect(eff) < 1){
- if(item_amount(potion) < 1){
- cli_execute("make "+potion);
- }
- use(1, potion);
- }
- }
- // TODO: improve this
- void get_potion_ingr(effect eff, item potion, item ingredient){
- if(have_effect(eff) < 1){
- if(item_amount(potion) < 1){
- if(item_amount(ingredient) < 1) return;
- cli_execute("make "+potion);
- }
- use(1, potion);
- }
- }
- // Make sugar item if we don't already have one
- void create_sugar_item(string it_string){
- item it;
- if(contains_text(it_string, "sugar")){
- it = it_string.to_item();
- if(available_amount(it) > 0){
- // Make sure the item isn't equiped
- if(item_amount(it) < 1 && have_equipped(it)){
- cli_execute("unequip "+it_string);
- }
- } else {
- cli_execute("make "+it_string);
- }
- }
- }
- void do_synthesis(effect eff){
- item it1, it2;
- if(have_effect(eff) < 1){
- if(eff == $effect[Synthesis: Collection]){
- // Check that we did this right
- if(sweet_synthesis_result(get_property("_candy1_for_item").to_item(), get_property("_candy2_for_item").to_item()) != $effect[Synthesis: Collection]){
- abort("Problem with synthesizing Collection! Check preferences to see what's wrong");
- }
- create_sugar_item(get_property("_candy2_for_item"));
- sweet_synthesis(get_property("_candy1_for_item").to_item(), get_property("_candy2_for_item").to_item());
- } else if(eff == $effect[Synthesis: Learning]){
- // Check that we did this right
- if(sweet_synthesis_result(get_property("_candy1_for_mystg").to_item(), get_property("_candy2_for_mystg").to_item()) != $effect[Synthesis: Learning]){
- abort("Problem with synthesizing Learning! Check preferences to see what's wrong");
- }
- create_sugar_item(get_property("_candy2_for_mystg"));
- sweet_synthesis(get_property("_candy1_for_mystg").to_item(), get_property("_candy2_for_mystg").to_item());
- } else if(eff == $effect[Synthesis: Smart]){
- // No sugar sheet, hope we have the right candy heart
- if(get_property("_candy_for_myst") == "none"){
- cli_execute("synthesize "+eff);
- } else {
- // Create the right sugar item depending on what we need
- if(item_amount($item[white candy heart]) > 0){
- create_sugar_item("sugar shorts");
- it1 = $item[white candy heart];
- it2 = $item[sugar shorts];
- } else if(item_amount($item[green candy heart]) > 0){
- create_sugar_item("sugar shorts");
- it1 = $item[green candy heart];
- it2 = $item[sugar shorts];
- } else if(item_amount($item[pink candy heart]) > 0){
- it1 = $item[pink candy heart];
- it2 = $item[sugar sheet];
- } else if(item_amount($item[orange candy heart]) > 0){
- create_sugar_item("sugar shank");
- it1 = $item[orange candy heart];
- it2 = $item[sugar shank];
- } else if(item_amount($item[lavender candy heart]) > 0){
- create_sugar_item("sugar shillelagh");
- it1 = $item[lavender candy heart];
- it2 = $item[sugar shillelagh];
- } else if(item_amount($item[yellow candy heart]) > 0){
- create_sugar_item("sugar shotgun");
- it1 = $item[yellow candy heart];
- it2 = $item[sugar shotgun];
- }
- if(sweet_synthesis_result(it1, it2) != $effect[Synthesis: Smart]){
- abort("Problem with synthesizing Smart! Items are "+it1+" and "+it2);
- }
- sweet_synthesis(it1, it2);
- }
- } else {
- // TODO : do day 2 checks
- cli_execute("synthesize "+eff);
- }
- }
- if(have_effect(eff) < 1){
- abort("Sweet synthesis didn't work! :(");
- }
- }
- void equip_garbage_item(item it){
- if(have_equipped($item[makeshift garbage shirt])){
- equip($slot[shirt], $item[none]);
- } else if(have_equipped($item[broken champagne bottle])){
- equip($slot[weapon], $item[none]);
- } else if(have_equipped($item[wad of used tape])){
- equip($slot[hat], $item[none]);
- }
- if(item_amount($item[makeshift garbage shirt]) > 0 || item_amount($item[broken champagne bottle]) > 0 || item_amount($item[wad of used tape]) > 0){
- cli_execute("fold "+it);
- }
- if(item_amount(it) > 0){
- equip(it);
- }
- }
- // TODO: use buff potions that may have randomly dropped from the snowglobe
- void buff_all(){
- // Bee's knees
- if(have_effect($effect[On the Trolley]) < 1 && inebriety_limit() - my_inebriety() >= 2){
- if(have_effect($effect[Ode to booze]) < 2){
- cli_execute("cast ode");
- }
- cli_execute("drink 1 Bee's Knees");
- }
- // Songs
- if(have_effect($effect[Ode to booze]) > 0){
- cli_execute("shrug Ode to booze");
- }
- get_buff($effect[Stevedave's Shanty of Superiority], $skill[Stevedave's Shanty of Superiority]);
- // Sauce potions
- get_potion($effect[Tomato Power], $item[tomato juice of powerful power]);
- get_potion_ingr($effect[Gr8tness], $item[potion of temporary gr8tness], $item[gr8ps]);
- // Scope and protonic pack
- if(have_effect($effect[Total Protonic Reversal]) < 1 && !get_property("_streamsCrossed").to_boolean()){
- cli_execute("crossstreams");
- }
- if(have_effect($effect[Starry-Eyed]) < 1 && !get_property("telescopeLookedHigh").to_boolean()){
- cli_execute("telescope high");
- }
- // Spacegate vaccine
- if(have_effect($effect[Broad-Spectrum Vaccine]) < 1 && !get_property("_spacegateVaccine").to_boolean() && get_property("spacegateVaccine2").to_boolean()){
- cli_execute("Spacegate vaccine 2");
- }
- }
- void buff_myst(){
- // Sweet synthesis
- do_synthesis($effect[Synthesis: Smart]);
- buff_all();
- get_buff($effect[The Magical Mojomuscular Melody], $skill[The Magical Mojomuscular Melody]);
- get_buff($effect[Quiet Judgement], $skill[Quiet Judgement]);
- // Sauce potions
- get_potion($effect[Mystically Oiled], $item[ointment of the occult]);
- // Mascara
- if(have_effect($effect[Glittering Eyelashes]) < 1){
- cli_execute("use 1 glittery mascara");
- }
- // Semi-rare
- if(item_amount($item[teeny-tiny magic scroll]) > 0 && have_effect($effect[Happy Trails]) < 1){
- use(1, $item[teeny-tiny magic scroll]);
- }
- }
- void buff_moxie(){
- buff_all();
- // Buffs
- get_buff($effect[The Moxious Madrigal], $skill[The Moxious Madrigal]);
- get_buff($effect[Quiet Desperation], $skill[Quiet Desperation]);
- // Sauce potions
- get_potion($effect[Superhuman Sarcasm], $item[serum of sarcasm]);
- get_potion($effect[Expert Oiliness], $item[oil of expertise]);
- // Sometimes you get lucky
- if(item_amount($item[pressurized potion of pulchritude]) > 0 && have_effect($effect[Pulchritudinous Pressure]) < 1){
- use(1, $item[pressurized potion of pulchritude]);
- }
- // Hair spray
- if(have_effect($effect[Butt-Rock Hair]) < 1){
- cli_execute("use 1 hair spray");
- }
- // Sweet synthesis
- do_synthesis($effect[Synthesis: Cool]);
- // Myst quest reward
- if(item_amount($item[pocket maze]) > 0 && have_effect($effect[Amazing]) < 1){
- use(1, $item[pocket maze]);
- }
- }
- void buff_muscle(){
- buff_all();
- // Buffs
- get_buff($effect[Rage of the Reindeer], $skill[Rage of the Reindeer]);
- get_buff($effect[Power Ballad of the Arrowsmith], $skill[The Power Ballad of the Arrowsmith]);
- get_buff($effect[Quiet Determination], $skill[Quiet Determination]);
- // Sauce potions
- get_potion($effect[Phorcefullness], $item[philter of phorce]);
- get_potion($effect[Expert Oiliness], $item[oil of expertise]);
- // Bengal
- if(have_effect($effect[Go Get 'Em, Tiger!]) < 1){
- cli_execute("use 1 Ben-Gal Balm");
- }
- // Semi-rare
- if(item_amount($item[bottle of rhinoceros hormones]) > 0 && have_effect($effect['Roids of the Rhinoceros]) < 1){
- use(1, $item[bottle of rhinoceros hormones]);
- }
- // Sweet synthesis
- do_synthesis($effect[Synthesis: Strong]);
- // Moxie quest reward
- if(item_amount($item[shady shades]) > 0 && have_effect($effect[Throwing Some Shade]) < 1){
- use(1, $item[shady shades]);
- }
- }
- void buff_hp(){
- // Sweet synthesis
- do_synthesis($effect[Synthesis: Hardy]);
- // Oil of expertise
- get_potion($effect[Expert Oiliness], $item[oil of expertise]);
- // Buffs
- get_buff($effect[Reptilian Fortitude], $skill[Reptilian Fortitude]);
- get_buff($effect[A Few Extra Pounds], $skill[Holiday Weight Gain]);
- get_buff($effect[Rage of the Reindeer], $skill[Rage of the Reindeer]);
- get_buff($effect[Power Ballad of the Arrowsmith], $skill[The Power Ballad of the Arrowsmith]);
- // Bengal
- if(have_effect($effect[Go Get 'Em, Tiger!]) < 1){
- cli_execute("use 1 Ben-Gal Balm");
- }
- }
- void buff_spell(){
- // Buy and cast simmer
- if(!have_skill($skill[simmer])){
- visit_url("guild.php?place=trainer");
- visit_url("guild.php?action=buyskill&skillid=25", true);
- }
- if(have_effect($effect[Simmering]) < 1){
- use_skill(1, $skill[simmer]);
- }
- // Buffs
- get_buff($effect[Jackasses' Symphony of Destruction], $skill[Jackasses' Symphony of Destruction]);
- // Marble soda
- if(item_amount($item[tobiko marble soda]) > 0 || item_amount($item[Ye Wizard's Shack snack voucher]) > 0 && have_effect($effect[Pisces in the Skyces]) < 1){
- cli_execute("use 1 tobiko marble soda");
- }
- // Sugar chapeau
- if(item_amount($item[sugar sheet]) > 0 && available_amount($item[sugar chapeau]) < 1){
- cli_execute("make sugar chapeau");
- }
- // Affirmation
- if(item_amount($item[Daily affirmation: Be a Mind Master]) > 0){
- use(1, $item[Daily affirmation: Be a Mind Master]);
- }
- // Pool
- if(get_property("_poolGames").to_int() < 3 && have_effect($effect[Mental A-cue-ity]) < 1){
- cli_execute("pool 2");
- }
- }
- void buff_meat(){
- // Hobo monkey
- use_familiar($familiar[hobo monkey]);
- // Buffs
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- get_buff($effect[Polka of Plenty], $skill[The Polka of Plenty]);
- cli_execute("maximize meat");
- // Garbage hat
- equip_garbage_item($item[wad of used tape]);
- }
- void fuel_asdon(int fuel_level){
- int bread_needed;
- while(get_fuel() < fuel_level){
- // Calculate how many loaves of bread are needed
- bread_needed = (fuel_level - get_fuel()) / 5;
- if(bread_needed == 0) bread_needed = 1;
- // Make them, minus the number we may already have
- cli_execute("make "+to_int(bread_needed - item_amount($item[loaf of soda bread]))+" loaf of soda bread");
- // Fuel the car
- cli_execute("asdonmartin fuel "+to_int(bread_needed)+" loaf of soda bread");
- }
- }
- void buff_weight(){
- // Buffs
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- // Play pool (+weight)
- if(get_property("_poolGames").to_int() < 3 && have_effect($effect[Billiards Belligerence]) < 1){
- cli_execute("pool 1");
- }
- // Use candy heart if we have more than 1
- cli_execute("cast * candy heart");
- if(item_amount($item[green candy heart]) > 1 && have_effect($effect[Heart of Green]) < 1){
- use(1, $item[green candy heart]);
- }
- // Use sandworm, equip pet sweater
- use_familiar($familiar[baby sandworm]);
- }
- void buff_noncom_quest(){
- // Buffs
- if(have_effect($effect[Carlweather's cantata of confrontation]) > 0){
- cli_execute("shrug Carlweather's cantata of confrontation");
- }
- get_buff($effect[the sonata of sneakiness], $skill[the sonata of sneakiness]);
- get_buff($effect[Smooth Movements], $skill[Smooth Movement]);
- // Asdon
- if(have_effect($effect[Driving Stealthily]) < 1){
- fuel_asdon(37);
- cli_execute("asdonmartin drive Stealthily");
- }
- // Swim sprints
- if(have_effect($effect[Silent Running]) < 1){
- cli_execute("swim sprints");
- }
- // KGB
- cli_execute("briefcase e spell hot -combat");
- // Horse
- if(!contains_text(get_property("_horsery"), "Combat Rate")){
- visit_url("place.php?whichplace=town_right&action=town_horsery");
- visit_url("choice.php?pwd=&whichchoice=1266&option=2", true);
- }
- // Quest reward
- if(have_effect($effect[A Rose by Any Other Material]) < 1 && item_amount($item[squeaky toy rose]) > 0){
- use(1, $item[squeaky toy rose]);
- }
- // Genie wish
- if(get_property("_genieWishesUsed").to_int() < 3 && have_effect($effect[disquiet riot]) < 1){
- cli_execute("genie effect disquiet riot");
- }
- // Deodorant
- if(have_effect($effect[Fresh Scent]) < 1 && item_amount($item[deodorant]) > 0){
- use(1, $item[deodorant]);
- }
- }
- void buff_melee_dmg(){
- // Buffs
- get_buff($effect[Jackasses' Symphony of Destruction], $skill[Jackasses' Symphony of Destruction]);
- get_buff($effect[Rage of the Reindeer], $skill[Rage of the Reindeer]);
- // Marble soda
- if((item_amount($item[wasabi marble soda]) > 0 || item_amount($item[Ye Wizard's Shack snack voucher]) > 0) && have_effect($effect[Wasabi With You]) < 1){
- cli_execute("use 1 wasabi marble soda");
- }
- // Play pool (+weight)
- if(get_property("_poolGames").to_int() < 3 && have_effect($effect[Billiards Belligerence]) < 1){
- cli_execute("pool 1");
- }
- }
- void buff_hot_res(){
- // Sweet synthesis
- do_synthesis($effect[Synthesis: Hot]);
- // Buffs
- get_buff($effect[Astral Shell], $skill[Astral Shell]);
- get_buff($effect[Elemental Saucesphere], $skill[Elemental Saucesphere]);
- // Asdon
- if(have_effect($effect[Driving Safely]) < 1){
- fuel_asdon(37);
- cli_execute("asdonmartin drive safely");
- }
- // Ish kabibble
- if(my_inebriety() <= 12 && have_effect($effect[Feeling No Pain]) < 1){
- get_buff($effect[Ode to Booze], $skill[The Ode to Booze]);
- cli_execute("drink 1 ish kabibble");
- }
- // Horse
- if(!contains_text(get_property("_horsery"), "Elemental")){
- visit_url("place.php?whichplace=town_right&action=town_horsery");
- visit_url("choice.php?pwd=&whichchoice=1266&option=4", true);
- }
- // Spacegate vaccine
- if(have_effect($effect[Rainbow Vaccine]) < 1 && !get_property("_spacegateVaccine").to_boolean() && get_property("spacegateVaccine1").to_boolean()){
- cli_execute("Spacegate vaccine 1");
- }
- }
- void buff_items_and_booze(){
- // Sweet synthesis
- do_synthesis($effect[Synthesis: Collection]);
- // Buffs
- get_buff($effect[Fat Leon's Phat Loot Lyric], $skill[Fat Leon's Phat Loot Lyric]);
- get_buff($effect[Singer's Faithful Ocelot], $skill[Singer's Faithful Ocelot]);
- // Pool
- if(get_property("_poolGames").to_int() < 3 && have_effect($effect[Hustlin']) < 1){
- cli_execute("pool 3");
- }
- // Terminal
- if(get_property("_sourceTerminalEnhanceUses").to_int() < 3 && have_effect($effect[items.enh]) < 1){
- cli_execute("terminal enhance items.enh");
- }
- // Asdon
- if(have_effect($effect[Driving Observantly]) < 1){
- fuel_asdon(37);
- cli_execute("asdonmartin drive Observantly");
- }
- // Genie
- if(get_property("_genieWishesUsed").to_int() < 3 && have_effect($effect[Infernal thirst]) < 1){
- cli_execute("genie effect Infernal thirst");
- }
- // Cyclops eyedrops
- if(have_effect($effect[One Very Clear Eye]) < 1 && item_amount($item[cyclops eyedrops]) > 0){
- use(1, $item[cyclops eyedrops]);
- }
- // Squint
- if(!get_property("_steelyEyedSquintUsed").to_boolean() && have_effect($effect[Steely-Eyed Squint]) < 1){
- use_skill(1, $skill[Steely-Eyed Squint]);
- }
- }
- void maximize_stash(string opts, boolean use_stash){
- string prop_val = get_property("autoSatisfyWithStash");
- set_property("autoSatisfyWithStash", use_stash);
- cli_execute("maximize "+opts);
- set_property("autoSatisfyWithStash", prop_val);
- }
- void buff_coms(){
- maximize_stash("+combat", false);
- if(have_effect($effect[The Sonata of Sneakiness]) > 0){
- cli_execute("shrug The Sonata of Sneakiness");
- }
- if(have_effect($effect[musk of the moose]) < 1){
- use_skill(1, $skill[musk of the moose]);
- }
- if(have_effect($effect[Carlweather's cantata of confrontation]) < 1){
- use_skill(1, $skill[Carlweather's cantata of confrontation]);
- }
- }
- void kgb_buff(effect eff){
- string eff_string;
- switch(eff){
- case $effect[Thunderspell]:
- eff_string = "myst";
- break;
- case $effect[Goldentongue]:
- eff_string = "moxie";
- break;
- case $effect[License to Punch]:
- eff_string = "muscle";
- break;
- case $effect[Items are forever]:
- eff_string = "item";
- break;
- }
- // Try to get the buff we're looking for
- while(have_effect(eff) < 1 && get_property("_kgbClicksUsed").to_int() <= 21){
- cli_execute("briefcase buff "+eff_string);
- }
- }
- void get_once_day(){
- if(!get_property("_perfectFreezeUsed").to_boolean()){
- use_skill(1, $skill[perfect freeze]);
- }
- if(get_property("grimoire2Summons").to_int() == 0){
- use_skill(1, $skill[Summon Tasteful Items]);
- }
- // TODO: use foot massage oil
- if(get_property("grimoire3Summons").to_int() == 0){
- use_skill(1, $skill[Summon Alice's Army Cards]);
- }
- if(get_property("cocktailSummons").to_int() == 0){
- use_skill(1, $skill[Advanced cocktailcrafting]);
- }
- if(get_property("reagentSummons").to_int() == 0){
- use_skill(1, $skill[Advanced saucecrafting]);
- }
- if(get_property("noodleSummons").to_int() == 0){
- use_skill(1, $skill[Pastamastery]);
- }
- if(get_property("_candySummons").to_int() == 0){
- use_skill(1, $skill[Summon crimbo candy]);
- }
- }
- void do_lov(){
- int mp_req;
- string page;
- // Set terminal
- cli_execute("terminal educate extract");
- cli_execute("terminal educate compress");
- // Heal (probably with hot tub)
- heal();
- // Make sure we have enough mp to cast mortar, extract, compress and cannon
- mp_req = 8 + 5 + 5 + 8 + 4*numeric_modifier("mana cost") + 5;
- if(my_mp() < mp_req){
- restore_mp(mp_req);
- }
- // Enforcer: mortar, compress and cannon
- // Engineer: weaksauce, micrometeor, time-spinner, noodles, cow-bow boots, compress, cigar + cigar, toss
- // Last guy: mortar, geyser
- // cli_execute("/aa cs_all");
- cli_execute("ccs abort");
- page = visit_url("place.php?whichplace=town_wrong&action=townwrong_tunnel");
- if(contains_text(page, "Come back tomorrow!")){
- print("Already visited L.O.V.E. Tunnel. Can't be visiting again.", "red");
- visit_url("choice.php?pwd=&whichchoice=1222&option=2");
- } else {
- visit_url("choice.php?pwd=&whichchoice=1222&option=1");
- // LOV enforcer
- visit_url("choice.php?pwd=&whichchoice=1223&option=1");
- run_combat(cs_all_macro);
- // Grab myst equip
- visit_url("choice.php?pwd=&whichchoice=1224&option=2");
- // LOV engineer
- visit_url("choice.php?pwd=&whichchoice=1225&option=1");
- run_combat(cs_all_macro);
- // Stat buff
- visit_url("choice.php?pwd=&whichchoice=1226&option=1");
- // Last combat
- visit_url("choice.php?pwd=&whichchoice=1227&option=1");
- run_combat(cs_all_macro);
- // Chocolate
- visit_url("choice.php?pwd=&whichchoice=1228&option=3");
- // Use chocolate
- if(available_amount($item[LOV Extraterrestrial Chocolate]) > 0){
- use(1, $item[LOV Extraterrestrial Chocolate]);
- }
- }
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- void do_brickos(){
- int nb_brick;
- item it_bricko;
- while(item_amount($item[bricko eye brick]) > 0 || item_amount($item[BRICKO trunk]) > 0){
- heal();
- nb_brick = 0;
- // Open trunk if we got one
- if(item_amount($item[bricko trunk]) > 0){
- use(1, $item[bricko trunk]);
- }
- // See what we can make with our bricks
- else {
- if(item_amount($item[bricko brick]) >= 23){
- nb_brick = 23;
- it_bricko = $item[BRICKO elephant];
- } else if(item_amount($item[bricko brick]) >= 11){
- nb_brick = 11;
- it_bricko = $item[BRICKO turtle];
- } else if(item_amount($item[bricko brick]) >= 5){
- nb_brick = 5;
- it_bricko = $item[BRICKO bat];
- } else if(item_amount($item[bricko brick]) >= 2){
- nb_brick = 2;
- it_bricko = $item[BRICKO ooze];
- } else if(my_mp() > 150){
- cli_execute("cast 1 bricko");
- } else {
- break;
- }
- }
- // Fight!
- if(nb_brick > 0){
- use_familiar($familiar[Baby sandworm]);
- // cli_execute("/aa cs_all");
- //cli_execute("ccs cs_all");
- cli_execute("terminal educate extract");
- cli_execute("terminal educate compress");
- use(nb_brick, $item[bricko brick]);
- //use(1, it_bricko);
- visit_url("inv_use.php?checked=1&whichitem="+it_bricko.to_int()+"&pwd=");
- run_combat(cs_all_macro);
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- }
- }
- void do_ghost(){
- // Go kill a ghost if one is available
- if(get_property("ghostLocation").to_string() != ""){
- get_buff($effect[Astral Shell], $skill[Astral Shell]);
- get_buff($effect[Elemental Saucesphere], $skill[Elemental Saucesphere]);
- heal();
- equip($item[protonic accelerator pack]);
- adv1(get_property("ghostLocation").to_location(), -1, cs_all_macro);
- use_skill(1, $skill[Cannelloni Cocoon]);
- }
- }
- void do_snojo(){
- int mp_req;
- // Weak_stag if no mp absorb, mortar + geyser, cast turbo if mp < threshold
- if(get_property("_snojoFreeFights").to_int() < 10){
- // Terminal turbo
- cli_execute("terminal educate extract");
- cli_execute("terminal educate turbo");
- cli_execute("/aa none");
- get_buff($effect[Astral Shell], $skill[Astral Shell]);
- get_buff($effect[Elemental Saucesphere], $skill[Elemental Saucesphere]);
- // TODO: make sure it's actually set to myst
- visit_url("place.php?whichplace=snojo&action=snojo_controller");
- // TODO: for now the combat macro will abort if the snowman gets a hot resist part, but that may not be needed.
- //abort("Run your snojo fights manually!");
- while(get_property("_snojoFreeFights").to_int() < 10){
- //use_hipster();
- // Make sure we are healed and have enough mp to cast weaksauce, mortar, extract and geyser
- mp_req = 8 + 8 + 5 + 24 + 4*numeric_modifier("mana cost") + 5;
- if(my_mp() < mp_req){
- restore_mp(mp_req);
- }
- heal_threshold(200, false);
- visit_url("adventure.php?snarfblat=460");
- run_combat(cs_all_macro);
- }
- // Get rid of potential negative effects
- if(have_effect($effect[Snowballed]) > 0 || have_effect($effect[Half-Blooded]) > 0 || have_effect($effect[Half-Drained]) > 0 || have_effect($effect[Bruised]) > 0 || have_effect($effect[Relaxed Muscles]) > 0 || have_effect($effect[Hypnotized]) > 0 || have_effect($effect[Bad Haircut]) > 0){
- heal_threshold(9999, true);
- }
- }
- }
- void do_tentacle(){
- string temp;
- if(!get_property("_eldritchTentacleFought").to_boolean()){
- heal();
- cli_execute("/aa none");
- cli_execute("ccs abort");
- use_familiar($familiar[baby sandworm]);
- cli_execute("maximize exp -pants");
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- get_buff($effect[Ur-Kel's Aria of Annoyance], $skill[Ur-Kel's Aria of Annoyance]);
- get_buff($effect[Drescher's Annoying Noise], $skill[Drescher's Annoying Noise]);
- get_buff($effect[Reptilian Fortitude], $skill[Reptilian Fortitude]);
- get_buff($effect[A Few Extra Pounds], $skill[Holiday Weight Gain]);
- temp = visit_url("place.php?whichplace=forestvillage&action=fv_scientist");
- if(contains_text(temp, "Can I fight that tentacle you saved for science?")){
- //run_choice(1);
- visit_url("choice.php?whichchoice=1201&pwd=&option=1");
- run_combat(cs_all_macro);
- } else {
- run_choice(2);
- }
- }
- }
- void get_ninja(){
- // Look for an amateur ninja if needed
- if(available_amount($item[li'l ninja costume]) < 1){
- // Prepare banishes & free runs
- fuel_asdon(50);
- equip($slot[acc2], $item[Kremlin's Greatest Briefcase]);
- restore_mp(50);
- use_familiar($familiar[pair of stomping boots]);
- while(available_amount($item[li'l ninja costume]) < 1){
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- restore_mp(30);
- adv1($location[the haiku dungeon], -1, cs_all_macro);
- }
- }
- }
- boolean have_quest(string quest_text){
- string page;
- page = visit_url("council.php");
- return contains_text(page, quest_text);
- }
- // This function gives us the number of turns left before a certain counter reaches 0 (can return a negative number)
- // Some code inspired by Ezandora's Guide
- int get_counter_from_now(string counter_label){
- int turn_number;
- string counter_name_raw;
- string counters = get_property("relayCounters").to_string();
- string [int] counters_split = split_string(counters.replace_string("|", ":"), ":");
- for i from 0 to (counters_split.count() - 1) by 3 {
- if (i + 3 > counters_split.count())
- break;
- if (counters_split[i].length() == 0)
- continue;
- turn_number = to_int(counters_split[i]);
- counter_name_raw = counters_split[i + 1];
- if(contains_text(counter_name_raw, counter_label)){
- return turn_number - my_turncount();
- }
- }
- return 1000;
- }
- // This function set daily preferences with the name of candies to be sweet synthesized for:
- // - Item buff
- // - +Myst gains
- // - Myst buff
- void assign_candy(){
- // Only do day 1 for now
- if(my_daycount() == 1){
- // Map keys are nbP, nbF, nbC
- // With P = peppermint bark, F = fudge, C = candied pecan
- item [int, int, int] candy1_for_item;
- item [int, int, int] candy2_for_item;
- item [int, int, int] candy1_for_mystg;
- item [int, int, int] candy2_for_mystg;
- candy1_for_item[3, 0, 0] = $item[Crimbo peppermint bark];
- candy1_for_item[2, 1, 0] = $item[Crimbo peppermint bark];
- candy1_for_item[2, 0, 1] = $item[Crimbo peppermint bark];
- candy1_for_item[0, 3, 0] = $item[Crimbo fudge];
- candy1_for_item[1, 2, 0] = $item[Crimbo peppermint bark];
- candy1_for_item[0, 2, 1] = $item[Crimbo candied pecan];
- candy1_for_item[0, 0, 3] = $item[Crimbo candied pecan];
- candy1_for_item[1, 0, 2] = $item[Crimbo candied pecan];
- candy1_for_item[0, 1, 2] = $item[Crimbo candied pecan];
- candy1_for_item[1, 1, 1] = $item[Crimbo fudge];
- candy2_for_item[3, 0, 0] = $item[Crimbo peppermint bark];
- candy2_for_item[2, 1, 0] = $item[Crimbo peppermint bark];
- candy2_for_item[2, 0, 1] = $item[Crimbo peppermint bark];
- candy2_for_item[0, 3, 0] = $item[sugar shorts];
- candy2_for_item[1, 2, 0] = $item[sugar shotgun];
- candy2_for_item[0, 2, 1] = $item[Sugar sheet];
- candy2_for_item[0, 0, 3] = $item[Sugar sheet];
- candy2_for_item[1, 0, 2] = $item[Sugar sheet];
- candy2_for_item[0, 1, 2] = $item[Sugar sheet];
- candy2_for_item[1, 1, 1] = $item[sugar shorts];
- candy1_for_mystg[3, 0, 0] = $item[Crimbo peppermint bark];
- candy1_for_mystg[2, 1, 0] = $item[Crimbo fudge];
- candy1_for_mystg[2, 0, 1] = $item[Crimbo candied pecan];
- candy1_for_mystg[0, 3, 0] = $item[Crimbo fudge];
- candy1_for_mystg[1, 2, 0] = $item[Crimbo fudge];
- candy1_for_mystg[0, 2, 1] = $item[Crimbo fudge];
- candy1_for_mystg[0, 0, 3] = $item[Crimbo candied pecan];
- candy1_for_mystg[1, 0, 2] = $item[Crimbo candied pecan];
- candy1_for_mystg[0, 1, 2] = $item[Crimbo candied pecan];
- candy1_for_mystg[1, 1, 1] = $item[Crimbo candied pecan];
- candy2_for_mystg[3, 0, 0] = $item[sugar shank];
- candy2_for_mystg[2, 1, 0] = $item[sugar shillelagh];
- candy2_for_mystg[2, 0, 1] = $item[sugar shotgun];
- candy2_for_mystg[0, 3, 0] = $item[Crimbo fudge];
- candy2_for_mystg[1, 2, 0] = $item[Crimbo fudge];
- candy2_for_mystg[0, 2, 1] = $item[Crimbo fudge];
- candy2_for_mystg[0, 0, 3] = $item[sugar shotgun];
- candy2_for_mystg[1, 0, 2] = $item[Crimbo peppermint bark];
- candy2_for_mystg[0, 1, 2] = $item[sugar shotgun];
- candy2_for_mystg[1, 1, 1] = $item[Crimbo peppermint bark];
- // Item buff
- if(get_property("_candy1_for_item") == "" || get_property("_candy2_for_item") == ""){
- set_property("_candy1_for_item", candy1_for_item[item_amount($item[Crimbo peppermint bark]), item_amount($item[Crimbo fudge]), item_amount($item[Crimbo candied pecan])].to_string());
- set_property("_candy2_for_item", candy2_for_item[item_amount($item[Crimbo peppermint bark]), item_amount($item[Crimbo fudge]), item_amount($item[Crimbo candied pecan])].to_string());
- }
- // Myst gain buff
- if(get_property("_candy1_for_mystg") == "" || get_property("_candy2_for_mystg") == ""){
- set_property("_candy1_for_mystg", candy1_for_mystg[item_amount($item[Crimbo peppermint bark]), item_amount($item[Crimbo fudge]), item_amount($item[Crimbo candied pecan])].to_string());
- set_property("_candy2_for_mystg", candy2_for_mystg[item_amount($item[Crimbo peppermint bark]), item_amount($item[Crimbo fudge]), item_amount($item[Crimbo candied pecan])].to_string());
- }
- // Myst buff
- if(get_property("_candy_for_myst") == ""){
- // Cases where we don't have a sugar sheet left (CCC and CCF)
- if(item_amount($item[Crimbo candied pecan]) == 3 || (item_amount($item[Crimbo candied pecan]) == 2 && item_amount($item[Crimbo fudge]) == 1)){
- set_property("_candy_for_myst", "none");
- } else {
- set_property("_candy_for_myst", "candy_heart");
- }
- }
- }
- }
- void common_step1(){
- // Detective cases + badge
- if(get_property("_detectiveCasesCompleted").to_int() < 3){
- cli_execute("call Detective Solver.ash");
- }
- if(available_amount($item[silver detective badge])> 0){
- equip($slot[acc3], $item[silver detective badge]);
- } else if(available_amount($item[gold detective badge])> 0){
- equip($slot[acc3], $item[gold detective badge]);
- }
- // Pantogram
- if(get_property("_pantogramModifier") == ""){
- visit_url("inv_use.php?pwd=&which=3&whichitem=9573");
- if(item_amount($item[baconstone]) > 0){
- visit_url("choice.php?pwd=&whichchoice=1270&option=1&m=2&e=1&s1=705,1&s2=-1,0&s3=-1,0", true);
- } else {
- visit_url("choice.php?pwd=&whichchoice=1270&option=1&m=2&e=1&s1=-2,0&s2=-1,0&s3=-1,0", true);
- }
- }
- if(available_amount($item[pantogram pants]) > 0){
- equip($item[pantogram pants]);
- }
- // Cowboy boots
- visit_url("place.php?whichplace=town_right&action=townright_ltt");
- if(available_amount($item[your cowboy boots]) > 0){
- equip($slot[acc1], $item[your cowboy boots]);
- }
- // KGB
- if(my_inebriety() < inebriety_limit()){
- cli_execute("briefcase left");
- cli_execute("briefcase e spell hot ml");
- }
- equip($slot[acc2], $item[Kremlin's Greatest Briefcase]);
- // Tote's garbage shirt
- if(get_property("_garbageShirtCharge") > 0){
- if(available_amount($item[makeshift garbage shirt]) < 1){
- visit_url("inv_use.php?pwd=&which=3&whichitem=9690");
- visit_url("choice.php?pwd=&whichchoice=1275&option=5", true);
- }
- equip($item[makeshift garbage shirt]);
- }
- // Mummery
- use_familiar($familiar[baby sandworm]);
- if(!contains_text(get_property("_mummeryMods"), "Mysticality")){
- cli_execute("mummery mysticality");
- }
- // Protonic pack
- equip($item[protonic accelerator pack]);
- equip($item[KoL Con 13 snowglobe]);
- equip($item[astral pet sweater]);
- // Fish hatchet
- if(!get_property("_floundryItemCreated").to_boolean()){
- cli_execute("make fish hatchet");
- }
- equip($item[fish hatchet]);
- // Source terminal
- if(have_effect($effect[substats.enh]) < 1){
- cli_execute("terminal enhance substats");
- }
- cli_execute("terminal enquiry stats");
- cli_execute("terminal educate extract");
- cli_execute("terminal educate compress");
- // VIP shower
- if(!get_property("_aprilShower").to_boolean()){
- cli_execute("shower mysticality");
- }
- // Equip helmet
- if(available_amount($item[Van der Graaf helmet]) > 0){
- equip($item[Van der Graaf helmet]);
- } else if(available_amount($item[filthy knitted dread sack]) > 0){
- equip($item[filthy knitted dread sack]);
- } else if(available_amount($item[Hollandaise helmet]) > 0){
- equip($item[Hollandaise helmet]);
- }
- if(get_property("_candySummons").to_int() == 0){
- use_skill(1, $skill[Summon crimbo candy]);
- }
- // Get 2 sugar sheets
- while(get_property("tomeSummons").to_int() < 2 && available_amount($item[sugar sheet]) < 2){
- cli_execute("cast sugar sheet");
- }
- assign_candy();
- }
- void exec_step1(){
- string page;
- // Toot oriole
- visit_url("tutorial.php?action=toot");
- if(item_amount($item[letter from King Ralph XI]) > 0){
- use(1, $item[letter from King Ralph XI]);
- }
- if(item_amount($item[pork elf goodies sack]) > 0){
- use(1, $item[pork elf goodies sack]);
- }
- // Use astral six pack
- if(item_amount($item[astral six-pack]) > 0){
- use(1, $item[astral six-pack]);
- }
- // Use tent
- if(item_amount($item[Newbiesport™ tent]) > 0){
- use(1, $item[Newbiesport™ tent]);
- }
- // Get normal horse
- if(get_property("_horsery") == ""){
- visit_url("place.php?whichplace=town_right&action=town_horsery");
- visit_url("choice.php?pwd=&whichchoice=1266&option=1", true);
- }
- // Do a bunch of stuff
- common_step1();
- // Autosell gems, buy accordion, mcd
- cli_execute("autosell * baconstone");
- cli_execute("autosell * porquoise");
- cli_execute("autosell * hamethyst");
- cli_execute("mcd 10");
- if(item_amount($item[toy accordion]) < 1){
- buy(1, $item[toy accordion]);
- }
- // Fish for turtle totem
- while(item_amount($item[turtle totem]) < 1){
- cli_execute("/gum");
- }
- // Open madness bakery
- if(get_property("questM25Armorer").to_string() == "unstarted"){
- visit_url("shop.php?whichshop=armory&action=talk");
- run_choice(1);
- }
- // Break pvp stone
- page = visit_url("peevpee.php?place=fight");
- if(contains_text(page, "Smash that Hippy Crap!")){
- visit_url("peevpee.php?action=smashstone&pwd=&confirm=on");
- }
- // Talk to guild master
- visit_url("guild.php?place=challenge");
- }
- void exec_step2(){
- // Eat hardboiled egg if fullness = 0
- if(my_fullness() == 0){
- cli_execute("eat 1 hardboiled egg");
- }
- // Calculate the universe if we can get adventures
- check_calc_universe();
- use_familiar($familiar[baby sandworm]);
- do_synthesis($effect[Synthesis: Learning]);
- // Do lov tunnel
- if(!get_property("_loveTunnelUsed").to_boolean()){
- // Cast buffs
- get_buff($effect[The Magical Mojomuscular Melody], $skill[The Magical Mojomuscular Melody]);
- get_buff($effect[The Moxious Madrigal], $skill[The Moxious Madrigal]);
- get_buff($effect[Power Ballad of the Arrowsmith], $skill[The Power Ballad of the Arrowsmith]);
- get_buff($effect[Jackasses' Symphony of Destruction], $skill[Jackasses' Symphony of Destruction]);
- get_buff($effect[Spirit of Cayenne], $skill[Spirit of Cayenne]);
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- // TODO: don't use if not needed
- cli_execute("use 1 mascara");
- cli_execute("use 1 bengal");
- cli_execute("use 1 hair spray");
- do_lov();
- }
- // Summon brickos && cast aria, drescher, fortitude, holiday weight gain, astral shell, elemental saucesphere
- if(get_property("libramSummons").to_int() < 7){
- // Cast aria, drescher, fortitude, holiday weight gain, astral shell, elemental saucesphere
- if(have_effect($effect[The Moxious Madrigal]) > 0){
- cli_execute("shrug The Moxious Madrigal");
- }
- get_buff($effect[Ur-Kel's Aria of Annoyance], $skill[Ur-Kel's Aria of Annoyance]);
- get_buff($effect[Drescher's Annoying Noise], $skill[Drescher's Annoying Noise]);
- get_buff($effect[Reptilian Fortitude], $skill[Reptilian Fortitude]);
- get_buff($effect[A Few Extra Pounds], $skill[Holiday Weight Gain]);
- while(get_property("libramSummons").to_int() < 7){
- cli_execute("cast 1 bricko");
- }
- }
- // Trap kitchen ghost
- do_ghost();
- use_skill(1, $skill[cannelloni cocoon]);
- // Equip lov epaulettes
- equip($item[LOV Epaulettes]);
- // Snojo myst
- do_snojo();
- // Fight brickos
- do_brickos();
- }
- void fight_embezzler(){
- heal();
- buff_meat();
- cli_execute("/aa none");
- adv1($location[the haunted pantry], -1, cs_all_macro);
- check_calc_universe();
- }
- void exec_step3(){
- int i;
- string page = "";
- // Chew 3 agua de vida
- while(my_spleen_use() < 9 && item_amount($item[agua de vida]) > 0){
- chew(1, $item[agua de vida]);
- }
- // Fighting embezzler
- if(!get_property("_photocopyUsed").to_boolean()){
- // Fax embezzler (try a few times, abort if no response)
- i = 0;
- while(item_amount($item[photocopied monster]) < 1 && i < 3){
- i++;
- cli_execute("faxbot knob goblin embezzler");
- }
- if(item_amount($item[photocopied monster]) > 0){
- // Terminal to digitize
- // cli_execute("/aa cs_all");
- cli_execute("ccs abort");
- cli_execute("terminal educate extract");
- cli_execute("terminal educate digitize");
- // Use obtuse angel
- use_familiar($familiar[obtuse angel]);
- // Cast polka
- if(have_effect($effect[The Magical Mojomuscular Melody]) > 0){
- cli_execute("shrug The Magical Mojomuscular Melody");
- }
- get_buff($effect[Polka of Plenty], $skill[The Polka of Plenty]);
- // Fight embezzler: digitize, arrow, mortar, cannon
- heal();
- //use(1, $item[photocopied monster]);
- visit_url("inv_use.php?pwd=&which=3&whichitem=4873");
- run_combat(cs_all_macro);
- cli_execute("/aa none");
- cli_execute("ccs default");
- check_calc_universe();
- } else {
- abort("Faxbot is broken :(");
- }
- }
- // Get a cherry from skeletons
- if(available_amount($item[cherry]) < 1){
- // Buff +items
- use_familiar($familiar[Jumpsuited Hound Dog]);
- if(have_effect($effect[Carlweather's Cantata of Confrontation]) > 0){
- cli_execute("shrug Carlweather's Cantata of Confrontation");
- }
- if(have_effect($effect[Polka of plenty]) > 0){
- cli_execute("shrug polka of plenty");
- }
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- get_buff($effect[Fat Leon's Phat Loot Lyric], $skill[Fat Leon's Phat Loot Lyric]);
- get_buff($effect[Singer's Faithful Ocelot], $skill[Singer's Faithful Ocelot]);
- // Don't let the maximizer alternate between champagne bottle and wad of tape
- cli_execute("maximize item drop -hat");
- // Work around for garbage thing
- equip_garbage_item($item[broken champagne bottle]);
- // Open skeleton store
- if(get_property("questM23Meatsmith").to_string() == "unstarted"){
- visit_url("shop.php?whichshop=meatsmith&action=talk");
- run_choice(1);
- }
- // Look for fruit skeleton, shatterpunch it (kgb dart + snokebomb for others)
- while(available_amount($item[cherry]) < 1 && available_amount($item[oil of expertise]) < 3){
- heal_threshold(130, true);
- cli_execute("/aa none");
- cli_execute("ccs abort");
- adv1($location[the skeleton store], -1, cs_all_macro);
- }
- }
- equip($item[fish hatchet]);
- equip($item[KoL Con 13 snowglobe]);
- // Make meatcar
- if(available_amount($item[bitchin' meatcar]) < 1){
- cli_execute("make bitchin' meatcar");
- }
- // Shore & open island
- while(available_amount($item[Dingy dinghy]) < 1){
- if(available_amount($item[dinghy plans]) > 0){
- if(available_amount($item[dingy planks]) < 1){
- buy(1, $item[dingy planks]);
- }
- use(1, $item[Dinghy plans]);
- } else if(available_amount($item[Shore Inc. Ship Trip Scrip]) >= 3){
- buy($coinmaster[The Shore, Inc. Gift Shop], 1, $item[dinghy plans]);
- } else {
- visit_url("adventure.php?snarfblat=355");
- run_choice(2);
- }
- }
- check_calc_universe();
- refresh_status();
- // Use hobo monkey, buff meat, fight embezzler
- while(get_counter_from_now("Digitize Monster") <= 0 && my_meat() <= 5000){
- fight_embezzler();
- }
- // Yellow ray (+ extract) hippy
- if(available_amount($item[filthy knitted dread sack]) < 1){
- heal_threshold(100, true);
- use_familiar($familiar[space jellyfish]);
- restore_mp(150);
- // TODO: merge into main ccs
- cli_execute("ccs cs_hippy");
- adv1($location[hippy camp], -1, "");
- check_calc_universe();
- cli_execute("ccs abort");
- }
- }
- void exec_step4(){
- string page;
- // Make sure we've seen the exposition page
- visit_url("council.php");
- // Coil wire, equip lov epaulettes, use reward
- if(have_quest("Coil Wire")){
- if(my_inebriety() == 0){
- // Cast Ode
- get_buff($effect[Ode to Booze], $skill[The Ode to Booze]);
- // Drink 1 hacked gibson
- cli_execute("drink 1 hacked gibson");
- }
- // Do quest
- cli_execute("cast * candy heart");
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=11");
- // Use reward
- if(item_amount($item[a ten-percent bonus]) > 0){
- equip($item[LOV epaulettes]);
- use(1, $item[a ten-percent bonus]);
- }
- }
- // Cast once/day things
- get_once_day();
- // Make sure that mafia is aware that turns have passed
- refresh_status();
- // Use hobo monkey, buff meat, fight 2 embezzlers
- //print("Digitize monster in "+get_counter_from_now("Digitize Monster"));
- //print("Romantic monster in "+get_counter_from_now("Romantic Monster window end"));
- while(get_counter_from_now("Digitize Monster") <= 0 && my_meat() <= 9000){
- fight_embezzler();
- }
- while(get_counter_from_now("Romantic Monster window end") <= 0 && my_meat() <= 13000){
- fight_embezzler();
- }
- // Get tot ninja outfit
- get_ninja();
- // Missile a frat boy for gin bottle + flask hops + deodorant
- while(!get_property("_missileLauncherUsed").to_boolean()){
- buff_coms();
- heal();
- fuel_asdon(100);
- cli_execute("ccs abort");
- adv1($location[Frat house], -1, cs_all_macro);
- }
- // Food
- if(my_fullness() < 15){
- // Genie milk
- if(have_effect($effect[Got Milk]) < 1){
- cli_execute("genie effect Got Milk");
- }
- // Eat 1 browser cookie, re-eat with spinner
- if(!contains_text(get_property("_timeSpinnerFoodAvailable").to_string(), "9035")){
- cli_execute("eat 1 browser cookie");
- }
- while(contains_text(get_property("_timeSpinnerFoodAvailable").to_string(), "9035") && my_fullness() < 13 && get_property("_timeSpinnerMinutesUsed").to_int() <= 7){
- cli_execute("timespinner eat browser cookie");
- }
- // Eat 1 ice rice
- if(item_amount($item[ice rice]) > 0 && my_fullness() < 14){
- eat(1, $item[ice rice]);
- }
- // Eat 1 optimal dog
- if(!get_property("_fancyHotDogEaten").to_boolean() && my_fullness() < 15){
- cli_execute("eat 1 optimal dog");
- }
- }
- // Adventure in limerick dungeon for SR
- if(item_amount($item[cyclops eyedrops]) < 1 && get_counter_from_now("Fortune Cookie") == 0){
- adv1($location[The limerick dungeon], 0, "");
- }
- // Shape meteorbs into shoes + shield
- if(available_amount($item[metal meteoroid]) > 0 && available_amount($item[meteorite guard]) < 1){
- set_property("choiceAdventure1264", 2);
- use(1, $item[metal meteoroid]);
- //run_choice(2);
- }
- if(available_amount($item[metal meteoroid]) > 0 && available_amount($item[meteorthopedic shoes]) < 1){
- set_property("choiceAdventure1264", 5);
- use(1, $item[metal meteoroid]);
- //run_choice(5);
- }
- // Make time halo
- if(get_property("tomeSummons").to_int() < 3 && available_amount($item[time halo]) < 1){
- cli_execute("make time halo");
- }
- // Breed border collies
- if(have_quest("Breed More Collies")){
- // Buff
- buff_weight();
- cli_execute("maximize familiar weight");
- // Do quest
- cli_execute("cast * candy heart");
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=5");
- }
- // Be a living statue
- if(have_quest("Be a Living Statue") && !have_quest("Coil Wire")){
- // Buff
- buff_noncom_quest();
- cli_execute("maximize -combat");
- // Do quest
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=8");
- }
- do_ghost();
- // Clean Steam Tunnels
- if(have_quest("Clean Steam Tunnels") && !have_quest("Be a Living Statue")){
- cli_execute("cast * candy heart");
- // Buff
- buff_hot_res();
- // Tot costume
- use_familiar($familiar[trick-or-treating tot]);
- if(available_amount($item[li'l candy corn costume]) < 1){
- buy(1, $item[li'l candy corn costume]);
- }
- cli_execute("maximize hot res");
- // Do quest
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=10");
- }
- // Drink to have enough adventures
- if(available_amount($item[perfect ice cube]) > 0 && available_amount($item[bottle of gin]) > 0 && my_inebriety() <= 11){
- get_buff($effect[Ode to Booze], $skill[The Ode to Booze]);
- cli_execute("drink 1 perfect negroni");
- }
- if(available_amount($item[perfect ice cube]) > 0 && available_amount($item[bottle of vodka]) > 0 && my_inebriety() <= 11){
- get_buff($effect[Ode to Booze], $skill[The Ode to Booze]);
- cli_execute("drink 1 perfect cosmopolitan");
- }
- if(available_amount($item[meadeorite]) > 0 && my_inebriety() < 14){
- get_buff($effect[Ode to Booze], $skill[The Ode to Booze]);
- drink(1, $item[meadeorite]);
- }
- while(available_amount($item[astral pilsner]) > 0 && my_inebriety() < 14){
- get_buff($effect[Ode to Booze], $skill[The Ode to Booze]);
- drink(1, $item[astral pilsner]);
- }
- // Reduce Gazelle Population
- if(have_quest("Reduce Gazelle Population") && !have_quest("Clean Steam Tunnels")){
- // Buff
- buff_melee_dmg();
- cli_execute("maximize weapon dmg");
- // Do quest
- cli_execute("cast * candy heart");
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=6");
- }
- // Make Margaritas
- if(have_quest("Make Margaritas") && !have_quest("Reduce Gazelle Population")){
- // Buff
- buff_items_and_booze();
- use_familiar($familiar[trick-or-treating tot]);
- cli_execute("maximize item drop, booze drop -weapon");
- // Work around for garbage thing
- equip_garbage_item($item[wad of used tape]);
- // Try to get kgb buff => shouldn't be needed anymore
- //cli_execute("briefcase e spell hot adventures");
- //kgb_buff($effect[Items Are Forever]);
- // Do quest
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=9");
- }
- // Open guild and woods
- if(get_property("questG07Myst").to_string() != "finished"){
- // Talk to guild master
- visit_url("guild.php?place=challenge");
- // Adventure in the pantry until we exorcize the sandwich
- while(get_property("questG07Myst").to_string() == "started" && !contains_text(page, "sudo exorcise me a sandwich")){
- // Buff +combat
- if(have_effect($effect[Polka of plenty]) > 0){
- cli_execute("shrug polka of plenty");
- }
- if(have_effect($effect[Fat Leon's Phat Loot Lyric]) > 0){
- cli_execute("shrug Fat Leon's Phat Loot Lyric");
- }
- get_buff($effect[Musk of the Moose], $skill[Musk of the Moose]);
- get_buff($effect[Carlweather's Cantata of Confrontation], $skill[Carlweather's Cantata of Confrontation]);
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- get_buff($effect[Ur-Kel's Aria of Annoyance], $skill[Ur-Kel's Aria of Annoyance]);
- if(have_equipped($item[fish hatchet])){
- equip($slot[weapon], $item[none]);
- }
- if(have_equipped($item[pantogram pants])){
- equip($slot[pants], $item[old sweatpants]);
- }
- equip($slot[acc2], $item[Kremlin's Greatest Briefcase]);
- // Use stomping boots
- use_familiar($familiar[pair of stomping boots]);
- // Free runs in pantry until sandwich (this should only use 2, since we've sent 3 embezzlers there)
- heal_threshold(140, true);
- cli_execute("/aa runaway");
- cli_execute("ccs abort");
- page = visit_url("adventure.php?snarfblat=113");
- run_choice(-1);
- check_calc_universe();
- }
- // Exorcize the sandwich
- if(contains_text(page, "sudo exorcise me a sandwich")){
- run_choice(-1);
- if(have_effect($effect[Carlweather's Cantata of Confrontation]) > 0){
- cli_execute("shrug Carlweather's Cantata of Confrontation");
- }
- }
- // Complete quest
- if(get_property("questG07Myst").to_string() == "step1"){
- visit_url("guild.php?place=challenge");
- }
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- // Make meatcar, open woods
- if(get_property("questG07Myst").to_string() == "finished"){
- if(get_property("questG01Meatcar").to_string() != "finished"){
- if(get_property("questG01Meatcar").to_string() == "unstarted"){
- visit_url("guild.php?place=paco");
- }
- if(get_property("questG01Meatcar").to_string() == "started" && available_amount($item[bitchin' meatcar]) > 0){
- visit_url("guild.php?place=paco");
- }
- }
- if(get_property("questG02Whitecastle").to_string() == "unstarted"){
- visit_url("guild.php?place=paco");
- run_choice(-1);
- cli_execute("/go woods");
- }
- }
- // Overdrink
- if(my_inebriety() == inebriety_limit() && !have_quest("Reduce Gazelle Population")){
- if(have_effect($effect[Ode to booze]) < 4){
- use_skill(1, $skill[The ode to booze]);
- }
- cli_execute("drink 1 hacked gibson");
- }
- if(my_inebriety() > inebriety_limit()){
- // Buff myst
- buff_myst();
- cli_execute("briefcase e spell hot adventures");
- kgb_buff($effect[Thunderspell]);
- while(get_property("_kgbClicksUsed").to_int() < 22){
- cli_execute("briefcase identify");
- }
- // Fight tentacle while myst-buffed
- restore_mp(120);
- do_tentacle();
- // Equip adv gear
- use_familiar($familiar[trick-or-treating tot]);
- if(available_amount($item[li'l unicorn costume]) < 1){
- buy(1, $item[li'l unicorn costume]);
- }
- cli_execute("maximize adv");
- // Hatter buff
- visit_url("clan_viplounge.php?action=lookingglass&whichfloor=2");
- if(!get_property("_madTeaParty").to_boolean()){
- if(available_amount($item[coconut shell]) > 0){
- cli_execute("hatter coconut shell");
- } else if(available_amount($item[ravioli hat]) > 0){
- cli_execute("hatter ravioli hat");
- }
- }
- }
- // FarFuture.ash
- if(!get_property("_timeSpinnerReplicatorUsed").to_boolean()){
- cli_execute("FarFuture.ash mall");
- }
- }
- void exec_day2_step1(){
- common_step1();
- // Get crazy horse
- if(get_property("_horsery") == ""){
- visit_url("place.php?whichplace=town_right&action=town_horsery");
- visit_url("choice.php?pwd=&whichchoice=1266&option=3", true);
- }
- // Buffs
- get_buff($effect[Leash of linguini], $skill[Leash of linguini]);
- get_buff($effect[Empathy], $skill[Empathy of the Newt]);
- get_buff($effect[Ur-Kel's Aria of Annoyance], $skill[Ur-Kel's Aria of Annoyance]);
- get_buff($effect[Drescher's Annoying Noise], $skill[Drescher's Annoying Noise]);
- if(have_effect($effect[Driving Recklessly]) < 1){
- fuel_asdon(37);
- cli_execute("asdonmartin drive Recklessly");
- }
- // Calc universe?
- check_calc_universe();
- // Tome?
- if(get_property("tomeSummons").to_int() == 0){
- cli_execute("cast 2 sugar sheets");
- }
- }
- void exec_day2_step2(){
- int i;
- // Drink 1 falcon maltese
- if(my_inebriety() == 0 && have_effect($effect[Too Noir For Snoir]) < 1){
- if(have_effect($effect[Fat Leon's Phat Loot Lyric]) > 0){
- cli_execute("shrug Fat Leon's Phat Loot Lyric");
- }
- get_buff($effect[Ode to Booze], $skill[The Ode to Booze]);
- cli_execute("drink 1 falcon maltese liquor");
- }
- if(numeric_modifier("monster level") >= 150){
- cli_execute("mcd 1");
- }
- use_familiar($familiar[baby sandworm]);
- // Summon some candy hearts
- while(get_property("libramSummons").to_int() < 5){
- cli_execute("cast 1 candy heart");
- }
- // Get cornucopia
- visit_url("campground.php");
- visit_url("campground.php?action=garden&pwd=");
- // Fax sk8 gnome
- if(!get_property("_photocopyUsed").to_boolean()){
- // Sk8 gnome (try a few times, abort if no response)
- i = 0;
- while(item_amount($item[photocopied monster]) < 1 && i < 3){
- i++;
- cli_execute("faxbot sk8 gnome");
- }
- if(item_amount($item[photocopied monster]) > 0){
- // cli_execute("/aa cs_all");
- cli_execute("ccs abort");
- // Get enough MP for shatterpunch
- while(my_mp() < 80){
- if(item_amount($item[psychokinetic energy blob]) > 0){
- use(1, $item[psychokinetic energy blob]);
- } else {
- cli_execute("/mmj 1");
- }
- }
- // Fight sk8 gnome: shatterpunch
- heal();
- visit_url("inv_use.php?pwd=&which=3&whichitem=4873");
- run_combat(cs_all_macro);
- cli_execute("/aa none");
- cli_execute("ccs default");
- } else {
- abort("Faxbot is broken :(");
- }
- }
- // LOV tunnel
- if(!get_property("_loveTunnelUsed").to_boolean()){
- buff_myst();
- do_lov();
- }
- // Cast all 1/day things
- get_once_day();
- // Libram summons with lov mp
- while(get_property("libramSummons").to_int() < 21){
- cli_execute("cast 1 bricko");
- }
- //while(get_property("libramSummons").to_int() < 15){
- //cli_execute("cast 1 candy heart");
- //}
- // Switch to hipster if fights left; or not, doesn't seem to work at the snojo
- //use_hipster();
- // Trap ghost
- do_ghost();
- // Equip lov epaulettes
- equip($item[LOV Epaulettes]);
- // Snojo fights
- do_snojo();
- // Bricko fights
- do_brickos();
- // Fight tentacle
- do_tentacle();
- }
- void exec_day2_step3(){
- // Donate blood (HP)
- if(have_quest("Donate Blood")){
- // Buff HP
- buff_hp();
- // The quest should take 1 turn at above > 2500 HP, which should be easy to get
- if(my_maxhp() < 2500){
- abort("Max HP is too low!");
- }
- // Do quest
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=1");
- check_calc_universe();
- }
- // Build Playground Mazes (myst)
- if(have_quest("Build Playground Mazes") && !have_quest("Donate Blood")){
- // Buff myst
- buff_myst();
- // Try to get kgb buff
- kgb_buff($effect[Thunderspell]);
- // Equip myst gear
- cli_execute("maximize myst");
- // Work around for garbage hat, don't know if there's a better way to do this
- equip_garbage_item($item[wad of used tape]);
- // Do quest
- cli_execute("cast * candy heart");
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=3");
- check_calc_universe();
- }
- // Feed Conspirators (moxie)
- if(have_quest("Feed Conspirators") && !have_quest("Build Playground Mazes")){
- // Buff moxie
- buff_moxie();
- // Try to get kgb buff
- kgb_buff($effect[Goldentongue]);
- // Equip moxie gear
- cli_execute("maximize moxie");
- // Work around for garbage hat, don't know if there's a better way to do this
- equip_garbage_item($item[wad of used tape]);
- // Do quest
- cli_execute("cast * candy heart");
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=4");
- check_calc_universe();
- }
- // Feed The Children (muscle)
- if(have_quest("Feed The Children") && !have_quest("Feed Conspirators")){
- // Buff muscle
- buff_muscle();
- // Try to get kgb buff
- kgb_buff($effect[License to Punch]);
- // Equip muscle gear
- cli_execute("maximize muscle");
- // Work around for garbage hat, don't know if there's a better way to do this
- equip_garbage_item($item[wad of used tape]);
- // Do quest
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=2");
- check_calc_universe();
- }
- // Make Sausage
- if(have_quest("Make Sausage") && !have_quest("Feed The Children")){
- // Buff spell damage
- buff_spell();
- // Equip spell dmg gear
- // Get 1 obsidian nutcracker, to save 1 turn
- if(available_amount($item[obsidian nutcracker]) < 1){
- buy(1, $item[obsidian nutcracker]);
- }
- cli_execute("maximize spell dmg");
- // Chew some agua de vida
- while(my_adventures() < 53){
- if(item_amount($item[agua de vida]) > 0){
- chew(1, $item[agua de vida]);
- }
- }
- // Do quest
- visit_url("council.php");
- visit_url("choice.php?pwd=&whichchoice=1089&option=7");
- check_calc_universe();
- }
- }
- int get_free_drunk(){
- if(available_amount($item[[7302]Spookyraven library key]) < 1){
- return 10 - my_inebriety();
- } else {
- return inebriety_limit() - my_inebriety();
- }
- }
- void eat_drink(){
- int drink_limit;
- // Spleen 1 (agua de vida)
- fillup_with($item[agua de vida], spleen_limit() - my_spleen_use(), 4, "chew", 10000, $item[none], 0);
- // Food (sliders or lasagna or ??? + alien sandwich + bag of qwop)
- // Use milk when needed
- if(have_effect($effect[Got Milk]) < fullness_limit() - my_fullness()){
- if(!buy_and_use($item[milk of magnesium], 1, 3000)){
- abort("No Milk!");
- }
- }
- if(my_level() >= 13){
- elem_res_gear("hot");
- use_skill($skill[Reptilian Fortitude]);
- use_skill($skill[The power ballad of the arrowsmith]);
- use_skill($skill[Holiday weight gain]);
- fillup_with($item[extra-greasy slider], fullness_limit() - my_fullness(), 5, "eat", 35000, $item[Ol' Scratch's salad fork], 25000);
- } else {
- if(now_to_string("EEE") == "lun"){
- // Eating on a monday: popular tarts and bag of qwop
- fillup_with($item[popular tart], fullness_limit() - my_fullness(), 2, "eat", 1500, $item[none], 0);
- fillup_with($item[bag of qwop], fullness_limit() - my_fullness(), 1, "eat", 1500, $item[none], 0);
- } else {
- // Eating on other days: lasagna!
- if(fullness_limit() - my_fullness() >= 9){
- buy_and_use($item[potion of the field gar], 1, 10000);
- }
- fillup_with($item[fishy fish lasagna], fullness_limit() - my_fullness(), 3, "eat", 7000, $item[none], 0);
- }
- }
- fillup_with($item[alien sandwich], fullness_limit() - my_fullness(), 2, "eat", 1500, $item[none], 0);
- fillup_with($item[bag of qwop], fullness_limit() - my_fullness(), 2, "eat", 1500, $item[none], 0);
- // Spleen 2 (agua de vida)
- fillup_with($item[agua de vida], spleen_limit() - my_spleen_use(), 4, "chew", 10000, $item[none], 0);
- // Cast Ode if needed
- while(have_effect($effect[Ode to booze]) < get_free_drunk()){
- use_skill($skill[The Ode to booze]);
- }
- // Drink (astral pilsners + perfect drinks + elemental caipiroskas)
- // If library isn't unlocked, only drink up to 10
- fillup_with($item[astral pilsner], get_free_drunk(), 1, "drink", 0, $item[none], 0);
- // Shotglass
- if(!get_property("_mimeArmyShotglassUsed").to_boolean()){
- have_or_buy($item[elemental caipiroska], 1, 1600);
- drink(1, $item[elemental caipiroska]);
- }
- fillup_with($item[perfect negroni], get_free_drunk(), 3, "drink", 4000, $item[none], 0);
- fillup_with($item[elemental caipiroska], get_free_drunk(), 1, "drink", 1600, $item[none], 0);
- // Spleen 3 (agua de vida + octolus oculus)
- fillup_with($item[agua de vida], spleen_limit() - my_spleen_use(), 4, "chew", 10000, $item[none], 0);
- fillup_with($item[octolus oculus], spleen_limit() - my_spleen_use(), 1, "chew", 3000, $item[none], 0);
- // Use borrowed time?
- if(use_borrowed && !get_property("_borrowedTimeUsed").to_boolean()){
- buy_and_use($item[borrowed time], 1, 7500);
- }
- }
- void buff_noncoms(){
- maximize_stash("-combat", false);
- if(have_effect($effect[Carlweather's cantata of confrontation]) > 0){
- cli_execute("shrug Carlweather's cantata of confrontation");
- }
- if(have_effect($effect[smooth movements]) < 1){
- use_skill(1, $skill[smooth movement]);
- }
- if(have_effect($effect[the sonata of sneakiness]) < 1){
- use_skill(1, $skill[the sonata of sneakiness]);
- }
- if(have_effect($effect[Fresh Scent]) < 1){
- buy_and_use($item[chunk of rock salt], 1, 2000);
- }
- }
- // Re-uses some code from http://kolmafia.us/showthread.php?10001-Tracking-Bugbears-a-Zapruder-Quest-Felonia-script
- // Credit to Weatherboy
- void do_zapruder(){
- string zap_url = "place.php?whichplace=knoll_friendly&action=dk_mayor";
- string status;
- void give_pitchfork(){
- have_or_buy($item[annoying pitchfork], 1, 500);
- visit_url(zap_url);
- }
- void give_mushroom(){
- // Just get 1 of each mushrooms, that'll work
- have_or_buy($item[flaming mushroom], 1, 1000);
- have_or_buy($item[frozen mushroom], 1, 1000);
- have_or_buy($item[stinky mushroom], 1, 1000);
- visit_url(zap_url);
- }
- void kill_felonia(){
- have_or_buy($item[Small leather glove], 1, 1000);
- use_familiar($familiar[Frozen Gravy Fairy]);
- set_property("choiceAdventure5", 2);
- buff_noncoms();
- // Get GAP for free runs
- if(get_property("_navelRunaways").to_int() < 9){
- cli_execute("/whitelist Hardcore oxygenation");
- if(take_stash(1, $item[greatest american pants]) || available_amount($item[greatest american pants]) > 0){
- equip($item[greatest american pants]);
- }
- }
- equip($slot[acc2], $item[Kremlin's Greatest Briefcase]);
- // Do this until we have killed Felonia
- while(get_property("questM03Bugbear") == "step2"){
- // Make and equip spooky glove whenever we need it
- if(available_amount($item[spooky glove]) < 1 && available_amount($item[spooky fairy gravy]) > 0 && available_amount($item[inexplicably glowing rock]) > 0){
- cli_execute("make spooky glove");
- equip($slot[acc1], $item[spooky glove]);
- set_property("choiceAdventure5", 1);
- }
- //if(get_property("_navelRunaways").to_int() < 9){
- // cli_execute("/aa runaway");
- // cli_execute("ccs abort");
- //} else {
- // cli_execute("/aa none");
- // cli_execute("ccs default");
- //}
- restore_mp(50);
- adv1($location[The Spooky Gravy Burrow], -1, cs_all_macro);
- //visit_url("adventure.php?snarfblat=48");
- //run_turn();
- visit_url("questlog.php?which=1");
- }
- // Put GAP back in stash
- if(available_amount($item[greatest american pants]) > 0){
- if(have_equipped($item[greatest american pants])){
- equip($slot[pants], $item[none]);
- }
- cli_execute("/whitelist Hardcore oxygenation");
- put_stash(1, $item[greatest american pants]);
- }
- cli_execute("/whitelist not dead yet");
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- repeat {
- status = get_property("questM03Bugbear");
- switch(status) {
- case "unstarted" : visit_url(zap_url); break;
- case "started" : give_pitchfork(); break;
- case "step1" : give_mushroom(); break;
- case "step2" : kill_felonia(); break;
- case "step3" : visit_url(zap_url); break;
- case "finished" : print("Felonia quest finished"); break;
- }
- } until (status == "finished");
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- void do_jelly(){
- while(get_property("_spaceJellyfishDrops").to_int() < 5){
- cli_execute("/aa auto_jelly");
- cli_execute("ccs abort");
- use_familiar($familiar[space jellyfish]);
- buff_coms();
- visit_url("adventure.php?snarfblat=26");
- }
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- void unlock_billiards(){
- if(available_amount($item[Spookyraven billiards room key]) < 1){
- maximize_stash("hot res, stench res", false);
- cli_execute("/aa cs_aftercore");
- cli_execute("ccs abort");
- use_familiar($familiar[robortender]);
- equip($item[toggle switch (Bounce)]);
- }
- while(available_amount($item[Spookyraven billiards room key]) < 1){
- adv1($location[the haunted kitchen], -1, "");
- }
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- void unlock_library(){
- boolean drink = true;
- if(available_amount($item[[7302]Spookyraven library key]) < 1){
- cli_execute("/aa cs_aftercore");
- cli_execute("ccs abort");
- use_familiar($familiar[robortender]);
- equip($item[toggle switch (Bounce)]);
- set_property("choiceAdventure875", 1);
- // Equip pool cue
- equip($item[pool cue]);
- }
- while(available_amount($item[[7302]Spookyraven library key]) < 1){
- buff_noncoms();
- // Buff pool skill
- if(have_effect($effect[Chalky Hand]) < 1){
- buy_and_use($item[handful of hand chalk], 1, 500);
- }
- if(have_effect($effect[Influence of Sphere]) < 1){
- buy_and_use($item[sugar sphere], 1, 3000);
- }
- //if(have_effect($effect[Swimming with Sharks]) < 1){
- // buy_and_use($item[shark cartilage], 1, 6000);
- //}
- adv1($location[the haunted billiards room], -1, "");
- }
- if(drink){
- // Call eatdrink to fill up liver now
- eat_drink();
- }
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- void buff_items(){
- int nb_cast = 0;
- if(my_adventures() > 0){
- // Buffbot ==> no good way to automate this without breaking chat commands (?), do it manually beforehand!
- if(have_effect($effect[Fat Leon's Phat Loot Lyric]) < my_adventures() || have_effect($effect[Empathy]) < my_adventures() ){
- abort("Get buffs from buffbot first!");
- }
- cli_execute("/aa cs_aftercore");
- cli_execute("ccs abort");
- // Terminal
- while(get_property("_sourceTerminalEnhanceUses").to_int() < 3){
- cli_execute("terminal enhance item");
- }
- // Pool
- while(get_property("_poolGames").to_int() < 3){
- cli_execute("pool 3");
- }
- // Self-buffs
- nb_cast = nb_cast_req($effect[Leash of Linguini], 10, my_adventures());
- if(nb_cast > 0) cli_execute("cast "+nb_cast+" leash");
- nb_cast = nb_cast_req($effect[Singer's Faithful Ocelot], 10, my_adventures());
- if(nb_cast > 0) cli_execute("cast "+nb_cast+" Singer's Faithful Ocelot");
- // Familiar
- // TODO: use boots runaways
- use_familiar($familiar[trick-or-treating tot]);
- if(available_amount($item[li'l ninja costume]) < 1){
- buff_coms();
- get_ninja();
- }
- if(available_amount($item[li'l ninja costume]) > 0){
- equip($item[li'l ninja costume]);
- }
- // Gear
- cli_execute("/whitelist hardcore oxygenation");
- refresh_stash();
- maximize_stash("item drop -weapon", true);
- take_and_equip($item[bottle-rocket crossbow], 1, $slot[weapon]);
- }
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- void farm_tattered(){
- cli_execute("/aa cs_aftercore");
- cli_execute("ccs abort");
- // TODO: shatterpunch, jokester
- while(my_adventures() > 0){
- // Banish writing desk with rhino
- if(get_property("_nanorhinoBanishedMonster") == ""){
- use_familiar($familiar[Nanorhino]);
- } else {
- use_familiar($familiar[trick-or-treating tot]);
- }
- do_ghost();
- adv1($location[the haunted library], -1, "");
- }
- cli_execute("/aa none");
- cli_execute("ccs default");
- }
- void do_end(){
- cli_execute("/whitelist hardcore oxygenation");
- put_back_stash($item[hypnodisk], 1);
- put_back_stash($item[Jekyllin hide belt], 3);
- put_back_stash($item[flaming pink shirt], 1);
- put_back_stash($item[Grimacite go-go boots], 1);
- put_back_stash($item[Mr. Accessory Jr.], 3);
- put_back_stash($item[bottle-rocket crossbow], 1);
- put_back_stash($item[bag o' tricks], 1);
- cli_execute("/whitelist not dead yet");
- // Burn MP
- cli_execute("cast * bricko");
- // Make pocket wishes
- while(get_property("_genieWishesUsed").to_int() < 3){
- cli_execute("genie.ash wish");
- }
- }
- void do_pvp(){
- if(pvp_attacks_left() > 0 && do_pvp){
- maximize_stash("hot dmg, hot spell dmg", false);
- cli_execute("pvp fame fahrenheit");
- }
- }
- void do_spacegate(){
- if(!get_property("_spacegateToday").to_boolean()){
- cli_execute("call Spacegate.ash");
- use_skill(1, $skill[Cannelloni Cocoon]);
- }
- }
- void exec_after(){
- // KGB briefcase clicks
- // Time-spinner minutes
- // Breakfast
- have_breakfast();
- // Time spinner
- if(!get_property("_timeSpinnerReplicatorUsed").to_boolean() && get_property("_timeSpinnerMinutesUsed").to_int() <= 8){
- cli_execute("FarFuture.ash mall");
- }
- // Consume!
- eat_drink();
- // Do zapruder quest
- do_zapruder();
- // Get stench jellies
- do_jelly();
- // Spacegate research
- do_spacegate();
- // Unlock billiards room
- unlock_billiards();
- // Unlock library
- unlock_library();
- // Buff +items
- buff_items();
- // Farm tattered scraps of paper
- farm_tattered();
- // Put stuff back in the stash
- do_end();
- // Spend pvp fights
- do_pvp();
- // Mallsell stuff
- cli_execute("use_and_mall.cli");
- }
- void check_daycount(int day_ref){
- if(day_ref != my_daycount()){
- abort("Cannot execute this when not on day "+day_ref+"!");
- }
- }
- void main(string args){
- switch(args){
- case "step1":
- check_daycount(1);
- exec_step1();
- break;
- case "step2":
- check_daycount(1);
- exec_step2();
- break;
- case "step3":
- check_daycount(1);
- exec_step3();
- break;
- case "step4":
- check_daycount(1);
- exec_step4();
- break;
- case "day2_step1":
- check_daycount(2);
- exec_day2_step1();
- break;
- case "day2_step2":
- check_daycount(2);
- exec_day2_step2();
- break;
- case "day2_step3":
- check_daycount(2);
- exec_day2_step3();
- break;
- case "aftercore":
- exec_after();
- break;
- default:
- print("Step not recognized");
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement