Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Framework for Bat Wings #2148

Merged
merged 13 commits into from
Oct 6, 2024
4 changes: 4 additions & 0 deletions packages/garbo/src/fights.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1263,6 +1263,8 @@ const freeRunFightSources = [
((have($item`industrial fire extinguisher`) &&
get("_fireExtinguisherCharge") >= 10) ||
(have($familiar`XO Skeleton`) && get("_xoHugsUsed") < 11) ||
// eslint-disable-next-line libram/verify-constants
(have($item`bat wings`) && get("_stealSkillPref", 0) < 11) ||
(have($skill`Perpetrate Mild Evil`) &&
get("_mildEvilPerpetrated") < 3)) &&
get("_VYKEACompanionLevel") === 0 && // don't attempt this in case you re-run garbo after making a vykea furniture
Expand Down Expand Up @@ -1297,6 +1299,8 @@ const freeRunFightSources = [
.trySkillRepeat(
$skill`Fire Extinguisher: Polar Vortex`,
$skill`Perpetrate Mild Evil`,
// eslint-disable-next-line libram/verify-constants
$skill`Swoop like a Bat`,
horrible-little-slime marked this conversation as resolved.
Show resolved Hide resolved
)
.step(runSource.macro)
.setAutoAttack();
Expand Down
2 changes: 1 addition & 1 deletion packages/garbo/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ function defaultTarget() {
}

export function main(argString = ""): void {
sinceKolmafiaRevision(28067); // yes, can haz is like o hai
sinceKolmafiaRevision(28077); // various iotm improvements
checkGithubVersion();

// Hit up main.php to get out of easily escapable choices
Expand Down
16 changes: 16 additions & 0 deletions packages/garbo/src/outfit/dropsgear.ts
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,21 @@ function simpleTargetCrits(mode: BonusEquipMode): Map<Item, number> {
]);
}

function batWings(mode: BonusEquipMode): Map<Item, number> {
// eslint-disable-next-line libram/verify-constants
const batWings = $item`bat wings`;
if (
!have(batWings) ||
mode !== BonusEquipMode.BARF ||
get("_batWingsFreeFights", 0) >= 5
) {
return new Map<Item, number>();
}
const batWingsRate = 0.25;
const value = batWingsRate * get("valueOfAdventure");
return new Map<Item, number>([[batWings, value]]);
}

export function bonusGear(
mode: BonusEquipMode,
valueCircumstantialBonus = true,
Expand All @@ -299,6 +314,7 @@ export function bonusGear(
...sneegleebs(),
...bindlestocking(mode),
...simpleTargetCrits(mode),
...batWings(mode),
...(valueCircumstantialBonus
? new Map<Item, number>([
...pantsgiving(mode),
Expand Down
Loading