diff --git a/packages/garbo/src/fights.ts b/packages/garbo/src/fights.ts index a5ca96cb4..10f430e51 100644 --- a/packages/garbo/src/fights.ts +++ b/packages/garbo/src/fights.ts @@ -1995,7 +1995,7 @@ function embezzlersInProgress(): boolean { ); } -export function freeRunFights(): void { +export function freeRunFights(priorityOnly: boolean): void { if (myInebriety() > inebrietyLimit()) return; if (embezzlersInProgress()) return; @@ -2004,10 +2004,6 @@ export function freeRunFights(): void { 1324: 5, // Fight a random partier }); - const onlyPriorityRuns = - globalOptions.prefs.yachtzeechain && - !get("_garboYachtzeeChainCompleted", false); - const stashRun = stashAmount($item`navel ring of navel gazing`) ? $items`navel ring of navel gazing` : stashAmount($item`Greatest American Pants`) @@ -2019,7 +2015,7 @@ export function freeRunFights(): void { for (const priorityRunFight of priorityFreeRunFightSources) { priorityRunFight.runAll(); } - if (onlyPriorityRuns) return; + if (priorityOnly) return; for (const freeRunFightSource of freeRunFightSources) { freeRunFightSource.runAll(); } @@ -2035,7 +2031,8 @@ export function freeFights(): void { 1324: 5, // Fight a random partier }); - freeRunFights(); + // Run our priorty free runs first + freeRunFights(true); killRobortCreaturesForFree(); @@ -2075,6 +2072,7 @@ export function freeFights(): void { ); } + // Free fights before free runs, so that we have free banishes available for things like Pygmies // TODO: Run unconverted free fights for (const freeFightSource of freeFightSources) { freeFightSource.runAll(); @@ -2084,6 +2082,8 @@ export function freeFights(): void { // TODO: freeFightMood() runGarboQuests([PostQuest(), FreeFightQuest]); + freeRunFights(false); + tryFillLatte(); postFreeFightDailySetup(); } diff --git a/packages/garbo/src/yachtzee/index.ts b/packages/garbo/src/yachtzee/index.ts index fdf9d7548..8386afd95 100644 --- a/packages/garbo/src/yachtzee/index.ts +++ b/packages/garbo/src/yachtzee/index.ts @@ -172,7 +172,7 @@ export function oldyachtzeeChain(): void { runDiet(); prepRobortender(); // Recompute robo drinks' worth after diet is finally consumed } - freeRunFights(); + freeRunFights(false); postFreeFightDailySetup(); }