Esempio n. 1
0
    def first_rebirth(duration):
        """Procedure for first rebirth."""
        ss_assigned = False
        adventure_pushed = False

        FightBoss.nuke()
        Adventure.adventure(highest=True)
        while Inputs.check_pixel_color(*coords.COLOR_TM_LOCKED):
            if not ss_assigned:
                time.sleep(1)
                Augmentation.augments({"SS": 1}, Misc.get_idle_cap(1))
                ss_assigned = True
            Wandoos.wandoos(True)
            if Wandoos.check_wandoos_bb_status():
                Augmentation.augments({"SS": 1}, Misc.get_idle_cap(1))
            FightBoss.nuke()
            time.sleep(2)
            FightBoss.fight()
        if ss_assigned:
            Misc.reclaim_aug()
        Augmentation.augments({"EB": 1}, Misc.get_idle_cap(1))

        while Inputs.check_pixel_color(*coords.COLOR_BM_LOCKED):
            Wandoos.wandoos(True)
            if Wandoos.check_wandoos_bb_status():
                Augmentation.augments({"EB": 1}, Misc.get_idle_cap(1))
            FightBoss.nuke()
            FightBoss.fight()
        BloodMagic.toggle_auto_spells(drop=False, gold=False)
        BloodMagic.blood_magic(8)
        rb_time = Rebirth.get_rebirth_time()
        while int(rb_time.timestamp.tm_min) < duration:
            Wandoos.wandoos(True)
            FightBoss.nuke()
            FightBoss.fight()
            time.sleep(2)
            try:
                current_boss = int(FightBoss.get_current_boss())
                if current_boss > 28 and current_boss < 49:
                    if not Timemachine.buster_assigned:
                        Misc.reclaim_aug()
                        Timemachine.buster_assigned = True
                    Augmentation.augments({"EB": 1}, Misc.get_idle_cap(1))

                elif current_boss >= 49:
                    if not Timemachine.final_aug:
                        Misc.reclaim_aug()
                        Timemachine.final_aug = True
                        time.sleep(1)
                    Augmentation.augments({
                        "EB": 0.66,
                        "CS": 0.34
                    }, Misc.get_idle_cap(1))
                if current_boss > 58 and not adventure_pushed:
                    Adventure.adventure(highest=True)
                    adventure_pushed = True
            except ValueError:
                print("couldn't get current boss")
            rb_time = Rebirth.get_rebirth_time()
Esempio n. 2
0
def update_gamestate():
    """Update relevant state information."""
    global advanced_training_locked, bm_locked, tm_locked

    if advanced_training_locked:
        advanced_training_locked = Inputs.check_pixel_color(
            *coords.COLOR_ADV_TRAINING_LOCKED)
    if bm_locked:
        bm_locked = Inputs.check_pixel_color(*coords.COLOR_BM_LOCKED)
    if tm_locked:
        tm_locked = Inputs.check_pixel_color(*coords.COLOR_TM_LOCKED)
Esempio n. 3
0
    def speedrun(duration):
        """Start a speedrun.

        Keyword arguments
        duration -- duration in minutes to run
        f -- feature object
        """
        diggers = [2, 3, 11, 12]
        FightBoss.nuke()
        time.sleep(2)

        FightBoss.fight()
        Adventure.adventure(highest=True)
        time.sleep(2)

        rb_time = Rebirth.get_rebirth_time()
        while int(rb_time.timestamp.tm_min) < duration:
            GoldDiggers.gold_diggers(diggers)
            Wandoos.wandoos(True)
            Augmentation.augments({"SM": 1}, coords.INPUT_MAX)
            if not Inputs.check_pixel_color(*coords.COLOR_TM_LOCKED):
                BloodMagic.blood_magic(6)
            FightBoss.nuke()
            rb_time = Rebirth.get_rebirth_time()
        MoneyPit.pit()
        MoneyPit.spin()
        return
Esempio n. 4
0
    def update_gamestate():
        """Update relevant state information."""
        rb_time = Rebirth.get_rebirth_time()
        Basic.minutes_elapsed = int(rb_time.timestamp.tm_min)
        try:
            Basic.current_boss = int(FightBoss.get_current_boss())
        except ValueError:
            Basic.current_boss = 1
            print("couldn't get current boss")

        if Basic.advanced_training_locked:
            Basic.advanced_training_locked = Inputs.check_pixel_color(
                *coords.COLOR_ADV_TRAINING_LOCKED)
        if Basic.bm_locked:
            Basic.bm_locked = Inputs.check_pixel_color(*coords.COLOR_BM_LOCKED)
        if Basic.tm_locked:
            Basic.tm_locked = Inputs.check_pixel_color(*coords.COLOR_TM_LOCKED)
Esempio n. 5
0
 def init(target: int) -> None:
     """Counts available inventory pages."""
     Glop.start = time.time()
     Glop.target = target
     Navigation.menu("inventory")
     for btn in coords.INVENTORY_PAGE:
         res = Inputs.check_pixel_color(*btn, coords.COLOR_INVENTORY_BG)
         if not res:
             Glop.inv_pages_unlocked += 1
     Glop.update_inventory()
Esempio n. 6
0
    def normal_rebirth(duration):
        """Procedure for first rebirth."""
        diggers = [2, 3, 11, 12]  # Wandoos, stat, blood, exp
        FightBoss.nuke()
        time.sleep(2)
        FightBoss.fight()
        Adventure.adventure(highest=True)
        Wandoos.set_wandoos(1)  # wandoos Meh, use 0 for 98
        BloodMagic.toggle_auto_spells(drop=False)
        GoldDiggers.gold_diggers(diggers)
        while Inputs.check_pixel_color(*coords.COLOR_TM_LOCKED):
            Wandoos.wandoos(True)
            FightBoss.nuke()
            time.sleep(2)
            FightBoss.fight()

        TimeMachine.time_machine(Misc.get_idle_cap(1) * 0.1, magic=True)
        Adventure.adventure(itopod=True, itopodauto=True)

        while Inputs.check_pixel_color(*coords.COLOR_BM_LOCKED):
            Wandoos.wandoos(True)
            FightBoss.nuke()
            time.sleep(2)
            FightBoss.fight()
            GoldDiggers.gold_diggers(diggers)
        BloodMagic.blood_magic(8)
        rb_time = Rebirth.get_rebirth_time()
        while int(rb_time.timestamp.tm_min) < duration:
            Wandoos.wandoos(True)
            FightBoss.nuke()
            FightBoss.fight()
            time.sleep(2)
            GoldDiggers.gold_diggers(diggers)
            rb_time = Rebirth.get_rebirth_time()
            # return if challenge is completed and rebirth time is above 3 minutes
            if int(rb_time.timestamp.tm_min
                   ) >= 3 and not Rebirth.check_challenge():
                return

        Rebirth.do_rebirth()
Esempio n. 7
0
import usersettings as userset
import coordinates as coords

Helper.init(True)
Helper.requirements()

parser = argparse.ArgumentParser()
parser.add_argument("-z",
                    "--zone",
                    required=True,
                    type=int,
                    help="select which zone you wish to snipe")
args = parser.parse_args()

Adventure.adventure(0)
if Inputs.check_pixel_color(*coords.IS_IDLE):
    Inputs.click(*coords.ABILITY_IDLE_MODE)
time.sleep(userset.MEDIUM_SLEEP)

while True:  # main loop
    GoldDiggers.diggers([4, 1])

    if Inputs.check_pixel_color(*coords.COLOR_MEGA_BUFF_READY):
        Adventure.snipe(args.zone, 1, manual=True, bosses=True, once=True)
        Adventure.adventure(0)  # go wait at safe zone
        if Inputs.check_pixel_color(*coords.IS_IDLE):
            Inputs.click(*coords.ABILITY_IDLE_MODE)
            Inputs.click(*coords.WASTE_CLICK)

    else:
        MoneyPit.pit()
Esempio n. 8
0
    def speedrun(duration):
        """Start a speedrun.

        Keyword arguments
        duration -- duration in minutes to run
        f -- feature object
        """
        Rebirth.do_rebirth()
        FightBoss.nuke()
        time.sleep(2)
        Adventure.adventure(highest=True)

        try:
            current_boss = int(FightBoss.get_current_boss())
            if current_boss > 28 and current_boss < 49:
                Augmentation.augments({"EB": 1}, Misc.get_idle_cap(1))
            elif current_boss >= 49:
                Augmentation.augments({
                    "EB": 0.66,
                    "CS": 0.34
                }, Misc.get_idle_cap(1))
        except ValueError:
            print("couldn't get current boss")

        while Inputs.check_pixel_color(*coords.COLOR_TM_LOCKED):
            FightBoss.nuke()
            FightBoss.fight()
            Wandoos.wandoos(True)

        while Inputs.check_pixel_color(*coords.COLOR_BM_LOCKED):
            Wandoos.wandoos(True)
            FightBoss.nuke()
            time.sleep(2)
            FightBoss.fight()

        BloodMagic.blood_magic(8)
        Wandoos.wandoos(True)
        rb_time = Rebirth.get_rebirth_time()
        while int(rb_time.timestamp.tm_min) < duration:
            FightBoss.nuke()
            FightBoss.fight()
            Adventure.adventure(highest=True)
            Wandoos.wandoos(True)
            if Wandoos.check_wandoos_bb_status():
                Augmentation.augments({
                    "EB": 0.66,
                    "CS": 0.34
                }, Misc.get_idle_cap(1))
            """If current rebirth is scheduled for more than 3 minutes and
            we already finished the rebirth, we will return here, instead
            of waiting for the duration. Since we cannot start a new
            challenge if less than 3 minutes have passed, we must always
            wait at least 3 minutes."""
            rb_time = Rebirth.get_rebirth_time()
            if duration > 3:
                if not Rebirth.check_challenge():
                    while int(rb_time.timestamp.tm_min) < 3:
                        rb_time = Rebirth.get_rebirth_time()
                        time.sleep(1)
                    MoneyPit.pit()
                    MoneyPit.spin()
                    return

        MoneyPit.pit()
        MoneyPit.spin()
        return
Esempio n. 9
0
    def first_rebirth():
        """Procedure for first rebirth."""
        final_aug = False
        ss_assigned = False

        end = time.time() + 3 * 60

        FightBoss.nuke()
        time.sleep(2)

        FightBoss.fight()
        Adventure.adventure(highest=True)
        while Inputs.check_pixel_color(*coords.COLOR_TM_LOCKED):
            if not ss_assigned:
                time.sleep(1)
                Augmentation.augments({"SS": 1}, 3e12)
                ss_assigned = True
            Wandoos.wandoos(True)
            FightBoss.nuke()
            time.sleep(2)
            FightBoss.fight()

        TimeMachine.time_machine(1e9, magic=True)
        Augmentation.augments({"DS": 1}, 1e12)
        GoldDiggers.gold_diggers()
        Adventure.adventure(itopod=True, itopodauto=True)

        while Inputs.check_pixel_color(
                *coords.COLOR_BM_LOCKED) or Inputs.check_pixel_color(
                    *coords.COLOR_BM_LOCKED_ALT):
            Wandoos.wandoos(True)
            FightBoss.nuke()
            time.sleep(2)
            FightBoss.fight()
            GoldDiggers.gold_diggers()
        BloodMagic.blood_magic(8)
        BloodMagic.toggle_auto_spells(drop=False, number=False)
        while time.time() < end - 90:
            Wandoos.wandoos(True)
            FightBoss.nuke()
            time.sleep(2)
            try:
                current_boss = int(FightBoss.get_current_boss())
                if current_boss > 36:
                    Augmentation.augments({
                        "SS": 0.67,
                        "DS": 0.33
                    }, Misc.get_idle_cap(1))
            except ValueError:
                print("couldn't get current boss")
            GoldDiggers.gold_diggers()

        while True:
            Wandoos.wandoos(True)
            FightBoss.nuke()
            time.sleep(1)
            try:
                current_boss = int(FightBoss.get_current_boss())
                if current_boss > 45:
                    if not final_aug:
                        Misc.reclaim_aug()
                        final_aug = True
                    Augmentation.augments({
                        "SM": 0.67,
                        "AA": 0.33
                    }, Misc.get_idle_cap(1))
            except ValueError:
                print("couldn't get current boss")
            FightBoss.fight()
            GoldDiggers.gold_diggers()

            if time.time() > end and not RB.check_challenge():
                return