Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:

env:
# Default version of Node.js for jobs
node-version: "18"
node-version: "24"

jobs:
build-push:
Expand Down
48 changes: 48 additions & 0 deletions eslint.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import * as eslint from "@eslint/js";
import tseslint from "typescript-eslint";
import prettier from "eslint-config-prettier";
import libram, { verifyConstantsSinceRevision } from "eslint-plugin-libram";

const VERIFY_CONSTANTS_SINCE = 28904;

await verifyConstantsSinceRevision(VERIFY_CONSTANTS_SINCE);

export default [
{
ignores: ["dist/**"],
files: ["**/*.ts", "**/*.tsx"],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
tsconfigRootDir: import.meta.dirname,
projectService: {
allowDefaultProject: ["*.mjs", "*.js"],
},
},
},
},

eslint.configs.recommended,
...tseslint.configs.recommended,
libram.configs.recommended,
prettier,

{
rules: {
"block-scoped-var": "error",
"eol-last": "error",
eqeqeq: "error",
"no-trailing-spaces": "error",
"no-var": "error",
"prefer-arrow-callback": "error",
"prefer-const": "error",
"prefer-template": "error",
"sort-imports": ["error", { ignoreCase: true, ignoreDeclarationSort: true }],
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "error",
"libram/verify-constants": "error",
},
},
];


22 changes: 13 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,28 @@
"@babel/plugin-proposal-object-rest-spread": "^7.14.7",
"@babel/preset-env": "^7.15.0",
"@babel/preset-typescript": "^7.15.0",
"@typescript-eslint/eslint-plugin": "^4.29.3",
"@typescript-eslint/parser": "^4.29.3",
"@typescript-eslint/eslint-plugin": "^8.33.1",
"@typescript-eslint/parser": "^8.33.1",
"babel-loader": "^8.2.2",
"eslint": "^9.17.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-libram": "^0.4.16",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-libram": "^0.5.3",
"prettier": "^2.3.2",
"typescript": "^4.4.2",
"webpack": "^5.61.0",
"webpack-cli": "^4.8.0"
},
"dependencies": {
"core-js": "^3.16.4",
"data-of-loathing": "^2.2.0",
"garbo-lib": "^0.0.1",
"grimoire-kolmafia": "^0.3.25",
"kolmafia": "^5.28266.0",
"libram": "^0.9.29",
"mafia-shared-relay": "0.0.7"
"grimoire-kolmafia": "^0.3.33",
"kol-rng": "^2.0.0",
"kolmafia": "^5.28904.0",
"libram": "^0.11.16",
"mafia-shared-relay": "0.0.7",
"node": "^25.6.0",
"typescript-eslint": "^8.54.0"
},
"author": "Pantocyclus/Seraphiii",
"license": "MIT",
Expand Down
76 changes: 4 additions & 72 deletions src/args.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,42 +27,10 @@ export const args = Args.create(
help: `Name of the outfit that contains stick-knife, for stick-knife trick`,
default: "",
}),
fortifiedwine: Args.flag({
help: `Do not grab the DFW lucky adventure (if you have numberology or are using skip-BT route)`,
default: true,
}),
perfectfreeze: Args.flag({
help: `Do not craft and drink a perfect drink`,
default: true,
}),
beesknees: Args.flag({
help: `Do not buy and drink Bee's Knees`,
default: true,
}),
sacramentowine: Args.flag({
help: `Do not drink a Sacramento Wine for the item test`,
default: true,
}),
synthxp: Args.flag({
help: `Do not use synth for the Xp% buff`,
default: true,
}),
deepdish: Args.flag({
help: `Skip Deep Dish of Legend`,
default: false,
}),
latedeepdish: Args.flag({
help: `Eat a deep dish, but only before the familiar test`,
default: false,
}),
calzone: Args.flag({
help: `Skip Calzone of Legend`,
default: false,
}),
pizza: Args.flag({
help: `Skip Pizza of Legend`,
default: false,
}),
asdon: Args.flag({
help: `Should we use Asdon Martin? Incompatible with Skipping Borrowed Time`,
default: false,
Expand All @@ -79,26 +47,10 @@ export const args = Args.create(
help: `Do not fight witchess monsters nor acquire Puzzle Champ`,
default: false,
}),
savebackups: Args.number({
help: "How many backup camera backups should we save?",
default: 11,
}),
savehabitats: Args.number({
help: "How many Book of Facts habitats should we save?",
default: 3,
}),
redskeleton: Args.flag({
help: `Do not locket a red skeleton`,
default: false,
}),
witchessking: Args.flag({
help: `Do not locket a witchess king`,
default: false,
}),
factoryworker: Args.flag({
help: `Do not locket a factory worker (female)`,
default: false,
}),
ninjamap: Args.flag({
help: `Do not attempt to grab a li'l ninja costume for your tot`,
default: false,
Expand Down Expand Up @@ -151,10 +103,6 @@ export const args = Args.create(
help: `Do not acquire shoe gum with cop dollars`,
default: false,
}),
savekgb: Args.flag({
help: `Do not use any KGB clicks`,
default: false,
}),
savepantogramming: Args.flag({
help: `Do not use your pantogram`,
default: false,
Expand All @@ -175,10 +123,6 @@ export const args = Args.create(
help: `Do not use harvested pumpkins`,
default: false,
}),
savesugar: Args.flag({
help: `Do not spend tome uses on sugar shorts/chapeau/shank`,
default: false,
}),
savegarden: Args.flag({
help: `Do not harvest your garden`,
default: false,
Expand Down Expand Up @@ -211,10 +155,6 @@ export const args = Args.create(
help: `Do not use Giant Growth or any other deck cheats`,
default: false,
}),
savecyclops: Args.flag({
help: `Do not get and use cyclops eyedrops`,
default: false,
}),
saveembers: Args.flag({
help: `Do not get and use mouthwash/sept-ember`,
default: false,
Expand All @@ -231,14 +171,6 @@ export const args = Args.create(
help: `Automatically optimize and use excess pulls for good stuff?`,
default: false,
}),
camelhat: Args.flag({
help: `Use a box of familiar jacks to ensure camel is charged faster?`,
default: false,
}),
skipbt: Args.flag({
help: `Route around using borrowed time? Note this requires using at least one legendary pizza.`,
default: false,
}),
experimentalsynth: Args.flag({
help: `Try using Synth for item%? Requires Sugar Shummoning`,
default: false,
Expand All @@ -251,10 +183,6 @@ export const args = Args.create(
help: `Effects that we should not acquire throughout the run.`,
default: "",
}),
wardrobe: Args.flag({
help: `Should we skip using the Wardrobe-O-Matic at level 15 automatically?`,
default: false,
}),
explicitlyexcludedfams: Args.string({
help: `Familiars that we should not use throughout the run.`,
default: "",
Expand Down Expand Up @@ -299,5 +227,9 @@ export const args = Args.create(
help: `Set default weapon damage test limit`,
default: 10,
}),
test: Args.flag({
help: `Test new features`,
default: false,
}),
}
);
Loading