def speedrun(): """Start a speedrun. Keyword arguments duration -- duration in minutes to run f -- feature object """ diggers = [2, 3, 11, 12] FightBoss.nuke() Wandoos.set_wandoos(0) Adventure.adventure(highest=True) TimeMachine.time_machine(Misc.get_idle_cap(1) * 0.01, magic=True) GoldDiggers.gold_diggers(diggers) Wandoos.wandoos(True) BloodMagic.blood_magic(8) while Rebirth.check_challenge(): FightBoss.nuke() Augmentation.augments({ "LS": 0.92, "QSL": 0.08 }, Misc.get_idle_cap(1)) GoldDiggers.gold_diggers(diggers) rb_time = Rebirth.get_rebirth_time() while int(rb_time.timestamp.tm_min) < 3: rb_time = Rebirth.get_rebirth_time() time.sleep(1)
def start(): """Challenge rebirth sequence. If you wish to edit the length or sequence of the rebirths; change the for-loop values and durations in the Equipment.speedrun(duration) calls.""" Wandoos.set_wandoos(0) # wandoos 98, use 1 for meh for x in range(8): Equipment.speedrun(3) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() for x in range(5): Equipment.speedrun(7) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() for x in range(5): Equipment.speedrun(12) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() for x in range(5): Equipment.speedrun(60) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() return
def equipment(): """Run no equipment challenge.""" Wandoos.set_wandoos(0) # wandoos 98, use 1 for meh for x in range(8): speedrun(3) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() for x in range(5): speedrun(7) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() for x in range(5): speedrun(12) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() for x in range(5): speedrun(60) if not Rebirth.check_challenge(): return Rebirth.do_rebirth() return
def ngu(): """Run no NGU challenge.""" Wandoos.set_wandoos(0) first_rebirth(15) if not Rebirth.check_challenge(): return for x in range(8): speedrun(30) if not Rebirth.check_challenge(): return while True: speedrun(60) if not Rebirth.check_challenge(): return return
def start(): """Defeat target boss.""" Wandoos.set_wandoos(0) NGU.first_rebirth(15) if not Rebirth.check_challenge(): return for x in range(8): NGU.speedrun(30) if not Rebirth.check_challenge(): return while True: NGU.speedrun(60) if not Rebirth.check_challenge(): return return
def start(): """Defeat target boss.""" Wandoos.set_wandoos(0) for x in range(6): Basic.speedrun(3) if not Rebirth.check_challenge(): return for x in range(4): Basic.speedrun(7) if not Rebirth.check_challenge(): return Wandoos.set_wandoos(1) for x in range(4): Basic.speedrun(12) if not Rebirth.check_challenge(): return Wandoos.set_wandoos(2) for x in range(4): Basic.speedrun(30) if not Rebirth.check_challenge(): return while True: Basic.speedrun(60) if not Rebirth.check_challenge(): return return
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()
def basic(): """Run basic challenge.""" Wandoos.set_wandoos(0) for x in range(6): speedrun(3) if not Rebirth.check_challenge(): return for x in range(4): speedrun(7) if not Rebirth.check_challenge(): return Wandoos.set_wandoos(1) for x in range(4): speedrun(12) if not Rebirth.check_challenge(): return Wandoos.set_wandoos(2) for x in range(4): speedrun(30) if not Rebirth.check_challenge(): return while True: speedrun(60) if not Rebirth.check_challenge(): return return
def start(): """Defeat target boss.""" Wandoos.set_wandoos(0) Timemachine.first_rebirth(3) if not Rebirth.check_challenge(): return for x in range(8): Timemachine.speedrun(3) if not Rebirth.check_challenge(): return for x in range(5): Timemachine.speedrun(7) if not Rebirth.check_challenge(): return for x in range(5): Timemachine.speedrun(12) if not Rebirth.check_challenge(): return for x in range(5): Timemachine.speedrun(60) if not Rebirth.check_challenge(): return return
def timemachine(): """Run no time machine challenge.""" Wandoos.set_wandoos(0) first_rebirth(3) if not Rebirth.check_challenge(): return for x in range(8): speedrun(3) if not Rebirth.check_challenge(): return for x in range(5): speedrun(7) if not Rebirth.check_challenge(): return for x in range(5): speedrun(12) if not Rebirth.check_challenge(): return for x in range(5): speedrun(60) if not Rebirth.check_challenge(): return return
def run() -> None: """Rebirth procedure.""" GuffinRun.advanced_training_locked = True GuffinRun.current_boss = 0 GuffinRun.rb_time = 0 GuffinRun.__update_gamestate() if GuffinRun.rb_time > GuffinRun.max_rb_duration: Rebirth.do_rebirth() return FightBoss.nuke() time.sleep(2) Adventure.adventure(const.ZONE_MAP[GuffinRun.gold_zone]) BloodMagic.toggle_auto_spells(number=False, drop=False) GoldDiggers.gold_diggers(GuffinRun.diggers) BloodMagic.blood_magic(8) NGU.cap_ngu() NGU.cap_ngu(magic=True) Wandoos.set_wandoos(0) Wandoos.wandoos(True, True) Augmentation.augments({ GuffinRun.aug[0]: 0.66, GuffinRun.aug[1]: 0.34 }, Misc.get_idle_cap(1) * 0.5) TimeMachine.time_machine(Misc.get_idle_cap(1) * 0.1, magic=True) GuffinRun.__update_gamestate() BloodMagic.toggle_auto_spells(drop=False, gold=False) if GuffinRun.wishes: GuffinRun.wishes.get_caps() GuffinRun.wishes.get_wish_status() GuffinRun.wishes.allocate_wishes() while GuffinRun.advanced_training_locked: GuffinRun.__do_quest() FightBoss.nuke() GoldDiggers.gold_diggers(GuffinRun.diggers) NGU.cap_ngu() NGU.cap_ngu(magic=True) Hacks.hacks(GuffinRun.hacks, coords.INPUT_MAX) Augmentation.augments( { GuffinRun.aug[0]: 0.66, GuffinRun.aug[1]: 0.34 }, Misc.get_idle_cap(1) * 0.5, ) TimeMachine.time_machine(coords.INPUT_MAX, magic=True) GuffinRun.__update_gamestate() Misc.reclaim_tm(energy=True, magic=True) Misc.reclaim_aug() AdvancedTraining.advanced_training(1e12) Wandoos.set_wandoos(GuffinRun.wandoos_version) Wandoos.wandoos(True, True) Augmentation.augments({ GuffinRun.aug[0]: 0.66, GuffinRun.aug[1]: 0.34 }, Misc.get_idle_cap(1) * 0.5) TimeMachine.time_machine(Misc.get_idle_cap(1) * 0.1, magic=True) while GuffinRun.rb_time < GuffinRun.max_rb_duration - 140: GoldDiggers.gold_diggers(GuffinRun.diggers) FightBoss.nuke() Hacks.hacks(GuffinRun.hacks, coords.INPUT_MAX) GuffinRun.__do_quest() GuffinRun.__update_gamestate() FightBoss.fight() Adventure.adventure(itopodauto=True) MoneyPit.pit() Misc.save_check() while GuffinRun.rb_time < GuffinRun.max_rb_duration: time.sleep(1) GuffinRun.__update_gamestate() FightBoss.nuke() Rebirth.do_rebirth() # Must wait for game to fully redraw all elements after rebirthing time.sleep(1) GuffinRun.runs += 1 print( f"Completed guffin run #{GuffinRun.runs} in {time.strftime('%H:%M:%S', time.gmtime(GuffinRun.rb_time))}" )