Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import <EatDrink.ash>;
- import <manual_buffs.ash>
- import <pvpbestgear.ash>
- import <pvploot.ash>
- import <zlib.ash>
- import <AT_song_support.ash>
- void get_ode() {
- // Get ode from some other source
- int[string] otherBuffbotsPrices;
- otherBuffbotsPrices["kolabuff"] = 2;
- otherBuffbotsPrices["testudinata"] = 11;
- otherBuffbotsPrices["noblesse oblige"] = 16;
- otherBuffbotsPrices["iocainebot"] = 23;
- otherBuffbotsPrices["notbot"] = 40;
- otherBuffbotsPrices["tinkerballa"] = 67;
- if (!have_equipped($item[plexiglass pendant]) && available_amount($item[plexiglass pendant]) > 0) {
- equip($slot[acc3], $item[plexiglass pendant]);
- }
- while (available_song_slots() <= 0) {
- open_song_spot();
- }
- cli_execute("refresh effects");
- if (!(have_effect($effect[Ode to Booze]) > 15)) {
- if (is_online("buffy")) {
- chat_private("buffy", "ode");
- wait(30);
- }
- foreach buffbot in otherBuffbotsPrices {
- cli_execute("refresh effects");
- if (have_effect($effect[Ode to Booze]) > 0) {
- return;
- }
- if (is_online(buffbot) && !(have_effect($effect[Ode to Booze]) > 0)) {
- kmail(buffbot, "", otherBuffbotsPrices[buffbot]);
- wait(20);
- }
- }
- }
- }
- // Consumption
- void consumption() {
- SIM_CONSUME = false;
- if (my_inebriety() < inebriety_limit() || my_fullness() < fullness_limit() || my_spleen_use() < spleen_limit()) {
- if (!(have_effect($effect[Ode to Booze]) > 0)) {
- get_ode();
- }
- eatdrink(fullness_limit(), inebriety_limit(), spleen_limit(), false);
- }
- // Increase fullness/drunkenness limits.
- if (!to_boolean(get_property("_syntheticDogHairPillUsed")) && item_amount($item[synthetic dog hair pill]) >= 1) {
- use(1, $item[synthetic dog hair pill]);
- }
- if (!to_boolean(get_property("_distentionPillUsed")) && item_amount($item[distention pill]) >= 1) {
- // If pantsgiving is available, delay using distention pill.
- if ((item_amount($item[pantsgiving]) == 0 && !have_equipped($item[pantsgiving])) || to_int(get_property("_pantsgivingFullness")) >= 2) {
- use(1, $item[distention pill]);
- }
- }
- if (my_inebriety() < inebriety_limit() || my_fullness() < fullness_limit()) {
- print("test", "red");
- eatdrink(fullness_limit(), inebriety_limit(), spleen_limit(), false);
- }
- }
- // Adventuring
- boolean changePantsAfterAdventuringFor1(location whereToAdv) {
- if (have_equipped($item[pantsgiving])) {
- int pantsFullness;
- pantsFullness = to_int(get_property("_pantsgivingFullness"));
- adventure(1, whereToAdv);
- if (to_int(get_property("_pantsgivingCount")) >= 49) {
- consumption();
- }
- if (to_int(get_property("_pantsgivingFullness")) >= 2) {
- return true;
- }
- }
- return false;
- }
- void farm(string modifier_string) {
- // No need to run this if out of adventures
- if (my_adventures() == 0) {
- return;
- }
- // What familiar you use once you've got all the drops, and where to farm
- familiar defaultFamiliar;
- location whereToAdv;
- if (modifier_string == "Meat Drop") {
- defaultFamiliar = $familiar[hobo monkey];
- whereToAdv = $location[Sloppy Seconds Diner];
- } else if (modifier_string == "Item Drop") {
- defaultFamiliar = $familiar[jumpsuited hound dog];
- whereToAdv = $location[The Haunted Library];
- }
- // Initial maximizer string
- buffer maximizer_string;
- maximizer_string.append(modifier_string + ", -tie, -current");
- if (item_amount($item[pantsgiving]) >= 1 || have_equipped($item[pantsgiving])) {
- if (get_property("_pantsgivingFullness") < 2) {
- equip($slot[pants], $item[pantsgiving]);
- maximizer_string.append(", -pants");
- }
- }
- string preserved_max_string;
- // Concerning familiars
- string[familiar] dropperProperty;
- dropperProperty[$familiar[Angry Jung Man]] = "_jungDrops"; // Item, meat
- dropperProperty[$familiar[Blavious Kloop]] = "_kloopDrops"; // Item, meat
- dropperProperty[$familiar[Bloovian Groose]] = "_grooseDrops"; // Meat
- dropperProperty[$familiar[Green Pixie]] = "_absintheDrops"; // Item
- dropperProperty[$familiar[Grim Brother]] = "_grimFairyTaleDrops"; // Meat
- dropperProperty[$familiar[Grimstone Golem]] = "_grimstoneMaskDrops"; // Item, meat
- dropperProperty[$familiar[Li'l Xenomorph]] = "_transponderDrops"; // Item, meat
- dropperProperty[$familiar[Pair of Stomping Boots]] = "_bootStomps"; // Item
- dropperProperty[$familiar[Unconscious Collective]] = "_dreamJarDrops"; // Meat
- int[familiar] otherThan5;
- otherThan5[$familiar[Angry Jung Man]] = 1;
- otherThan5[$familiar[Grimstone Golem]] = 1;
- otherThan5[$familiar[Pair of Stomping Boots]] = 7;
- int goal;
- // Equip hamster, in case the maximizer tries to use the garbage detector (!)
- if (item_amount($item[Hodgman\'s imaginary hamster]) > 0 && my_path() != "Avatar of Boris" && my_path() != "Way of the Surprising Fist") {
- if (weapon_hands(equipped_item($slot[weapon])) > 1) {
- equip($slot[weapon], $item[none]);
- }
- equip($slot[off-hand], $item[Hodgman\'s imaginary hamster]);
- }
- // Special cases
- switch (my_path()) {
- case "Avatar of Boris":
- if (item_amount($item[Clancy's lute]) > 0) {
- use(1, $item[Clancy's lute]);
- }
- equip($slot[weapon], $item[Trusty]);
- maximize(maximizer_string, false);
- while (my_adventures() > 0) {
- if (have_equipped($item[pantsgiving])) {
- if (changePantsAfterAdventuringFor1(whereToAdv)) {
- maximizer_string.replace_string(", -pants", "");
- maximize(maximizer_string, false);
- }
- } else {
- adventure(my_adventures(), whereToAdv);
- }
- }
- break;
- case "Avatar of Sneaky Pete":
- maximize(maximizer_string, false);
- while (my_adventures() > 0) {
- if (have_equipped($item[pantsgiving])) {
- if (changePantsAfterAdventuringFor1(whereToAdv)) {
- maximizer_string.replace_string(", -pants", "");
- maximize(maximizer_string, false);
- }
- } else {
- adventure(my_adventures(), whereToAdv);
- }
- }
- break;
- case "Avatar of Jarlsberg":
- if (my_companion() != "Eggman" && have_skill($skill[Egg Man]) && item_amount($item[Cosmic Egg]) > 0) {
- use_skill(1, $skill[Egg Man]);
- }
- maximize(maximizer_string, false);
- while (my_adventures() > 0) {
- if (have_equipped($item[pantsgiving])) {
- if (changePantsAfterAdventuringFor1(whereToAdv)) {
- maximizer_string.replace_string(", -pants", "");
- maximize(maximizer_string, false);
- }
- } else {
- adventure(my_adventures(), whereToAdv);
- }
- }
- break;
- default:
- // Use all item-dropping familiars which also buffs what you are trying to farm (item/meat)
- foreach fam in dropperProperty {
- // Have it, correct drop modifier, adventures left
- if(have_familiar(fam) && numeric_modifier(fam, modifier_string, 20, familiar_equipment(fam)) > 0 && my_adventures() > 0) {
- use_familiar(fam);
- if (fam == $familiar[Li'l Xenomorph] && dropperProperty[fam] < 5) {
- maximizer_string.append(", equip tiny top hat and cane");
- }
- if (otherThan5 contains fam) {
- goal = otherThan5[fam];
- } else {
- goal = 5;
- }
- // Not at max drops
- if (to_int(get_property(dropperProperty[fam])) < goal) {
- // Change gear
- maximize(maximizer_string, false);
- // Adventure
- while(get_property(dropperProperty[fam]) < goal && my_adventures() > 0) {
- if (have_equipped($item[pantsgiving])) {
- if(changePantsAfterAdventuringFor1(whereToAdv)) {
- maximizer_string.replace_string(", -pants", "");
- maximize(maximizer_string, false);
- }
- } else {
- adventure(1, whereToAdv);
- }
- }
- }
- // If tiny top hat and cane added to maximizer string, remove it.
- maximizer_string.replace_string(", equip tiny top hat and cane", "");
- }
- }
- // Burn the rest of your adventures using the default familiar.
- if (my_adventures() > 0) {
- use_familiar(defaultFamiliar);
- maximize(maximizer_string, false);
- adventure(my_adventures(), whereToAdv);
- }
- // End of switch
- }
- }
- void main(string what_to_farm) {
- // Exit on invalid input
- string modifier_string;
- if (to_lower_case(what_to_farm).contains_text("meat")) {
- modifier_string = "Meat Drop";
- } else if (to_lower_case(what_to_farm).contains_text("item")) {
- modifier_string = "Item Drop";
- } else {
- print("Error in input; \'" + what_to_farm + "\'. The string given to the script should be either \'meat\' or \'item'. Try again.", "red");
- exit;
- }
- // Consume
- if (!have_equipped($item[plexiglass pendant]) && item_amount($item[plexiglass pendant]) >= 1) {
- equip($slot[acc3], $item[plexiglass pendant]);
- }
- if (my_inebriety() < inebriety_limit()) {
- manual_buffs(true);
- wait(30);
- }
- consumption();
- // Farm
- farm(modifier_string);
- // Overdrink
- get_ode();
- eatdrink(0, inebriety_limit(), 0, true);
- // Rollover-outfit
- if (hippy_stone_broken()) {
- cli_execute("refresh inv");
- main@pvploot();
- main@pvpbestgear();
- cli_execute("flowers");
- maximize("0.1 adv, pvp fights, -current", false);
- } else {
- maximize("adv, -current", false);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement