From 158a9b244f0b95502c418c3e367f9a1ea6d7c8f9 Mon Sep 17 00:00:00 2001 From: horrible little slime <69secret69email69@gmail.com> Date: Fri, 14 Feb 2025 11:51:23 -0500 Subject: [PATCH] handle crab meat better --- packages/garbo/src/lib.ts | 2 +- packages/garbo/src/outfit/target.ts | 24 ++++++++++++++------ packages/garbo/src/tasks/cockroach/finish.ts | 3 +-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/packages/garbo/src/lib.ts b/packages/garbo/src/lib.ts index dbcb67dd5..62b2ec008 100644 --- a/packages/garbo/src/lib.ts +++ b/packages/garbo/src/lib.ts @@ -150,7 +150,7 @@ export const MEAT_TARGET_MULTIPLIER = (): number => export const propertyManager = new PropertiesManager(); -const songboomMeat = () => +export const songboomMeat = () => SongBoom.have() && (SongBoom.songChangesLeft() > 0 || (SongBoom.song() === "Total Eclipse of Your Meat" && diff --git a/packages/garbo/src/outfit/target.ts b/packages/garbo/src/outfit/target.ts index 3a4e3dcb8..3f9d2bf46 100644 --- a/packages/garbo/src/outfit/target.ts +++ b/packages/garbo/src/outfit/target.ts @@ -5,6 +5,7 @@ import { $item, $items, $location, + $monster, Environment, Guzzlr, have, @@ -20,13 +21,18 @@ import { validateGarbageFoldable, waterBreathingEquipment, } from "./lib"; -import { BonusEquipMode, modeValueOfMeat, targetingMeat } from "../lib"; +import { + BonusEquipMode, + modeValueOfMeat, + songboomMeat, + targetingMeat, +} from "../lib"; import { globalOptions } from "../config"; +import { meatDrop } from "kolmafia"; export function meatTargetOutfit( spec: OutfitSpec = {}, target = $location.none, - baseMeat?: number, ): Outfit { cleaverCheck(); validateGarbageFoldable(spec); @@ -35,11 +41,15 @@ export function meatTargetOutfit( new Error(`Failed to construct outfit from spec ${JSON.stringify(spec)}`), ); - if (targetingMeat() || baseMeat) { - const meatDropModifier = baseMeat - ? baseMeat / 100 - : modeValueOfMeat(BonusEquipMode.MEAT_TARGET); - outfit.modifier.push(`${meatDropModifier} Meat Drop`, "-tie"); + if (target === $location`Crab Island`) { + const meat = meatDrop($monster`giant crab`) + songboomMeat(); + outfit.modifier.push(`${meat / 100} Meat Drop`, "-tie"); + } + if (targetingMeat()) { + outfit.modifier.push( + `${modeValueOfMeat(BonusEquipMode.MEAT_TARGET)} Meat Drop`, + "-tie", + ); } else if (globalOptions.target.attributes.includes("FREE")) { outfit.modifier.push("-tie"); } diff --git a/packages/garbo/src/tasks/cockroach/finish.ts b/packages/garbo/src/tasks/cockroach/finish.ts index b868e981c..af3c33bbb 100644 --- a/packages/garbo/src/tasks/cockroach/finish.ts +++ b/packages/garbo/src/tasks/cockroach/finish.ts @@ -37,8 +37,7 @@ export const CockroachFinish: Quest = { equip: $items`PirateRealm eyepatch`, avoid: $items`Roman Candelabra`, }, - undefined, - 2000, + $location`Crab Island`, ); return spec; },