From b967e2ac76158bfa2788e6024605d8928a44e606 Mon Sep 17 00:00:00 2001 From: horrible little slime <69secret69email69@gmail.com> Date: Sun, 11 Aug 2024 03:46:19 -0400 Subject: [PATCH 1/2] add a `post` task to adjust the songboom every 11ish turns --- packages/garbo/src/tasks/post/index.ts | 36 +++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/packages/garbo/src/tasks/post/index.ts b/packages/garbo/src/tasks/post/index.ts index 2a8551e47..b15527d83 100644 --- a/packages/garbo/src/tasks/post/index.ts +++ b/packages/garbo/src/tasks/post/index.ts @@ -2,6 +2,7 @@ import { adv1, availableChoiceOptions, canAdventure, + canEquip, cliExecute, inebrietyLimit, itemAmount, @@ -32,6 +33,7 @@ import { getRemainingStomach, have, JuneCleaver, + SongBoom, undelay, uneffect, withProperty, @@ -50,7 +52,7 @@ import { Quest } from "grimoire-kolmafia"; import { bestAutumnatonLocation } from "../../resources"; import { estimatedGarboTurns, remainingUserTurns } from "../../turns"; import { acquire } from "../../acquire"; -import { garboAverageValue } from "../../garboValue"; +import { garboAverageValue, garboValue } from "../../garboValue"; import workshedTasks from "./worksheds"; import { GarboPostTask } from "./lib"; import { GarboTask } from "../engine"; @@ -329,6 +331,37 @@ function handleDrenchedInLava(): GarboPostTask { }; } +function songBoom(): GarboPostTask[] { + const willDrunkAdventure = + globalOptions.ascend && + have($item`Drunkula's wineglass`) && + canEquip($item`Drunkula's wineglass`); + return [ + { + name: "Adjust Songboom: Meat", + available: () => SongBoom.have() && myInebriety() < inebrietyLimit(), + sobriety: "sober", + completed: () => SongBoom.song() === "Total Eclipse of Your Meat", + ready: () => + SongBoom.dropProgress() < 11 && + SongBoom.songChangesLeft() > 1 + Number(willDrunkAdventure), + do: () => SongBoom.setSong("Total Eclipse of Your Meat"), + }, + { + name: "Adjust Songboom: Seasoning", + available: () => + SongBoom.have() && + myInebriety() < inebrietyLimit() && + garboValue($item`Special Seasoning`) > 520, + completed: () => SongBoom.song() === "Food Vibrations", + ready: () => + SongBoom.dropProgress() === 11 && + SongBoom.songChangesLeft() > 2 + Number(willDrunkAdventure), + do: () => SongBoom.setSong("Food Vibrations"), + }, + ]; +} + export function PostQuest(completed?: () => boolean): Quest { return { name: "Postcombat", @@ -348,6 +381,7 @@ export function PostQuest(completed?: () => boolean): Quest { refillCinch(), leafResin(), wardrobeOMatic(), + ...songBoom(), ] .filter(({ available }) => undelay(available ?? true)) .map((task) => ({ ...task, spendsTurn: false })), From 07df2867dec443ff8039902f07df0fe24f3747fa Mon Sep 17 00:00:00 2001 From: horrible little slime <69secret69email69@gmail.com> Date: Tue, 13 Aug 2024 12:45:06 -0400 Subject: [PATCH 2/2] name `MEAT_CLIP_VALUE` magic number --- packages/garbo/src/tasks/post/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/garbo/src/tasks/post/index.ts b/packages/garbo/src/tasks/post/index.ts index b15527d83..bc54d8a3f 100644 --- a/packages/garbo/src/tasks/post/index.ts +++ b/packages/garbo/src/tasks/post/index.ts @@ -331,6 +331,7 @@ function handleDrenchedInLava(): GarboPostTask { }; } +const MEAT_CLIP_VALUE = 520; function songBoom(): GarboPostTask[] { const willDrunkAdventure = globalOptions.ascend && @@ -352,7 +353,7 @@ function songBoom(): GarboPostTask[] { available: () => SongBoom.have() && myInebriety() < inebrietyLimit() && - garboValue($item`Special Seasoning`) > 520, + garboValue($item`Special Seasoning`) > MEAT_CLIP_VALUE, completed: () => SongBoom.song() === "Food Vibrations", ready: () => SongBoom.dropProgress() === 11 &&