Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
29 changes: 5 additions & 24 deletions src/args.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Args } from "grimoire-kolmafia";
import { $familiar } from "libram";

export const args = Args.create(
"FolgerCS",
Expand All @@ -23,14 +24,14 @@ export const args = Args.create(
help: `Name of the mother clan for your slime fighting needs`,
default: "",
}),
useonefam: Args.familiar({
help: "Use one familiar over the course of the run, rather than using different familiars",
default: $familiar.none,
}),
stickknifeoutfit: Args.string({
help: `Name of the outfit that contains stick-knife, for stick-knife trick`,
default: "",
}),
synthxp: Args.flag({
help: `Do not use synth for the Xp% buff`,
default: true,
}),
asdon: Args.flag({
help: `Should we use Asdon Martin? Incompatible with Skipping Borrowed Time`,
default: false,
Expand All @@ -47,10 +48,6 @@ export const args = Args.create(
help: `Do not fight witchess monsters nor acquire Puzzle Champ`,
default: false,
}),
redskeleton: Args.flag({
help: `Do not locket a red skeleton`,
default: false,
}),
ninjamap: Args.flag({
help: `Do not attempt to grab a li'l ninja costume for your tot`,
default: false,
Expand All @@ -75,10 +72,6 @@ export const args = Args.create(
help: `Do not fight the Witchess Queen using the Witchess Set`,
default: false,
}),
savepurqoise: Args.flag({
help: `Do not autosell your porquoise`,
default: false,
}),
savefloundry: Args.flag({
help: `Do not create a carpe`,
default: false,
Expand Down Expand Up @@ -111,10 +104,6 @@ export const args = Args.create(
help: `Do not use your mumming trunk`,
default: false,
}),
saveglove: Args.flag({
help: `Do not acquire Triple-Sized and Invisible Avatar`,
default: false,
}),
savemayday: Args.flag({
help: `Do not use your Mayday survival package`,
default: false,
Expand Down Expand Up @@ -163,14 +152,6 @@ export const args = Args.create(
help: `Do not use our ten free cyber-fights`,
default: false,
}),
dopulls: Args.flag({
help: `Automatically use excess pulls for good stuff?`,
default: true,
}),
dopullstest: Args.flag({
help: `Automatically optimize and use excess pulls for good stuff?`,
default: false,
}),
experimentalsynth: Args.flag({
help: `Try using Synth for item%? Requires Sugar Shummoning`,
default: false,
Expand Down
2 changes: 1 addition & 1 deletion src/engine/outfit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ function baseOutfitFirstPass(
100 - get("_cinchUsed", 0) > args.savecinch
? $item`Cincho de Mayo`
: undefined,
familiar: chooseFamiliar(allowAttackingFamiliars),
familiar: args.useonefam !== $familiar.none ? args.useonefam : chooseFamiliar(allowAttackingFamiliars),
famequip:
have($item`tiny rake`) && get("_leafMonstersFought", 0) < 5 ? $item`tiny rake` : undefined,
modifier: `${stringPrequel} 0.001 familiar experience, -equip tinsel tights, -equip wad of used tape`,
Expand Down
2 changes: 1 addition & 1 deletion src/tasks/boozedrop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ export const BoozeDropQuest: Quest = {
acc1: $item`Kremlin's Greatest Briefcase`,
acc2: $item`Lil' Doctor™ bag`,
acc3: $item`spring shoes`,
familiar: $familiar`Pair of Stomping Boots`,
familiar: args.useonefam === $familiar.none ? $familiar`Pair of Stomping Boots` : args.useonefam,
},
post: () => useFamiliar($familiar`Left-Hand Man`),
limit: { tries: 1 },
Expand Down
2 changes: 1 addition & 1 deletion src/tasks/familiarweight.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ export const FamiliarWeightQuest: Quest = {
),
outfit: () => ({
weapon: $item`Fourth of May Cosplay Saber`,
familiar: chooseFamiliar(false),
familiar: args.useonefam !== $familiar.none ? args.useonefam : chooseFamiliar(false),
avoid: [...sugarItemsAboutToBreak()],
}),
choices: { 1387: 3 },
Expand Down
2 changes: 1 addition & 1 deletion src/tasks/hotres.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export const HotResQuest: Quest = {
back: $item`vampyric cloake`,
weapon: $item`Fourth of May Cosplay Saber`,
offhand: $item`industrial fire extinguisher`,
familiar: $familiar`Cookbookbat`,
familiar: args.useonefam !== $familiar.none ? args.useonefam : $familiar`Cookbookbat`,
modifier: "Item Drop",
},
choices: { 1387: 3 },
Expand Down
7 changes: 5 additions & 2 deletions src/tasks/leveling.ts
Original file line number Diff line number Diff line change
Expand Up @@ -955,6 +955,7 @@ export const LevelingQuest: Quest = {
},
{
name: "Map Amateur Ninja",
ready: () => args.useonefam === $familiar.none,
prepare: () => prepCommon,
completed: () =>
!have($skill`Map the Monsters`) ||
Expand Down Expand Up @@ -1210,7 +1211,7 @@ export const LevelingQuest: Quest = {
{
name: "Snojo Pledge",
prepare: () => prepCommon,
ready: () => have($familiar`Patriotic Eagle`) && get("snojoAvailable"),
ready: () => have($familiar`Patriotic Eagle`) && get("snojoAvailable") && args.useonefam === $familiar.none,
completed: () => get("_citizenZone").includes("Snowman"),
do: $location`The X-32-F Combat Training Snowman`,
combat: new CombatStrategy().macro(
Expand Down Expand Up @@ -1264,7 +1265,7 @@ export const LevelingQuest: Quest = {
{
name: "Bakery Pledge",
prepare: () => prepCommon,
ready: () => !get("snojoAvailable"),
ready: () => !get("snojoAvailable") && args.useonefam === $familiar.none,
completed: () =>
have($effect`Citizen of a Zone`) ||
!have($familiar`Patriotic Eagle`) ||
Expand Down Expand Up @@ -1471,6 +1472,7 @@ export const LevelingQuest: Quest = {
{
name: "God Lobster",
prepare: () => prepCommon,
ready: () => args.useonefam === $familiar.none,
completed: () => get("_godLobsterFights") >= 3 || !have($familiar`God Lobster`),
do: () => visitUrl("main.php?fightgodlobster=1"),
combat: new CombatStrategy().macro(Macro.default(useCinch())),
Expand Down Expand Up @@ -1521,6 +1523,7 @@ export const LevelingQuest: Quest = {
},
{
name: "DMT",
ready: () => args.useonefam === $familiar.none,
prepare: () => prepCommon,
completed: () => get("_machineTunnelsAdv") >= 5 || !have($familiar`Machine Elf`),
do: $location`The Deep Machine Tunnels`,
Expand Down
1 change: 0 additions & 1 deletion src/tasks/noncombat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@ export const NoncombatQuest: Quest = {
$effect`Blessing of the Bird`,
$effect`Feeling Lonely`,
$effect`Gummed Shoes`,
$effect`Invisible Avatar`,
$effect`Silent Running`,
$effect`Smooth Movements`,
$effect`The Sonata of Sneakiness`,
Expand Down
5 changes: 4 additions & 1 deletion src/tasks/spelldamage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ export const SpellDamageQuest: Quest = {
},
{
name: "Stand-Alone Carol Ghost Buff",
ready: () => args.useonefam === $familiar.none,
prepare: (): void => {
restoreHp(clamp(1000, myMaxhp() / 2, myMaxhp()));
restoreMp(50);
Expand All @@ -120,6 +121,7 @@ export const SpellDamageQuest: Quest = {
},
{
name: "Inner Elf",
ready: () => args.useonefam === $familiar.none,
prepare: (): void => {
restoreHp(clamp(1000, myMaxhp() / 2, myMaxhp()));
restoreMp(50);
Expand Down Expand Up @@ -163,6 +165,7 @@ export const SpellDamageQuest: Quest = {
outfit: () => ({
weapon: $item`Fourth of May Cosplay Saber`,
familiar:
args.useonefam !== $familiar.none ? args.useonefam :
get("camelSpit") >= 100
? $familiar`Melodramedary`
: $effects`Do You Crush What I Crush?, Holiday Yoked, Let It Snow/Boil/Stink/Frighten/Grease, All I Want For Crimbo Is Stuff, Crimbo Wrapping`.some(
Expand Down Expand Up @@ -192,7 +195,7 @@ export const SpellDamageQuest: Quest = {
if (myHp() < neededHp) restoreHp(neededHp);
tryAcquiringEffect($effect`Visions of the Deep Dark Deeps`);
},
outfit: { modifier: "HP 500max, Spooky Resistance", familiar: $familiar`Exotic Parrot` },
outfit: { modifier: "HP 500max, Spooky Resistance", familiar: args.useonefam !== $familiar.none ? args.useonefam : $familiar`Exotic Parrot` },
limit: { tries: 1 },
},
{
Expand Down
4 changes: 0 additions & 4 deletions src/tasks/stat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ export const HPQuest: Quest = {
$effect`Seal Clubbing Frenzy`,
$effect`Song of Starch`,
$effect`Stevedave's Shanty of Superiority`,
$effect`Triple-Sized`,
];
usefulEffects.forEach((ef) => tryAcquiringEffect(ef, true));
},
Expand Down Expand Up @@ -127,7 +126,6 @@ export const MuscleQuest: Quest = {
$effect`Rage of the Reindeer`,
$effect`Song of Bravado`,
$effect`Stevedave's Shanty of Superiority`,
$effect`Triple-Sized`,
];
usefulEffects.forEach((ef) => tryAcquiringEffect(ef, true));

Expand Down Expand Up @@ -198,7 +196,6 @@ export const MysticalityQuest: Quest = {
$effect`Feeling Excited`,
$effect`Glittering Eyelashes`,
$effect`The Magical Mojomuscular Melody`,
$effect`Triple-Sized`,
$effect`Pasta Oneness`,
$effect`Quiet Judgement`,
$effect`Saucemastery`,
Expand Down Expand Up @@ -283,7 +280,6 @@ export const MoxieQuest: Quest = {
$effect`Disco State of Mind`,
$effect`Feeling Excited`,
$effect`The Moxious Madrigal`,
$effect`Triple-Sized`,
$effect`Penne Fedora`,
$effect`Pomp & Circumsands`,
$effect`Quiet Desperation`,
Expand Down
3 changes: 3 additions & 0 deletions src/tasks/weapondamage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ export const WeaponDamageQuest: Quest = {
},
{
name: "Stand-Alone Carol Ghost Buff",
ready: () => args.useonefam === $familiar.none,
prepare: (): void => {
restoreHp(clamp(1000, myMaxhp() / 2, myMaxhp()));
restoreMp(50);
Expand All @@ -106,6 +107,7 @@ export const WeaponDamageQuest: Quest = {
},
{
name: "Inner Elf",
ready: () => args.useonefam === $familiar.none,
prepare: (): void => {
restoreHp(clamp(1000, myMaxhp() / 2, myMaxhp()));
restoreMp(50);
Expand Down Expand Up @@ -168,6 +170,7 @@ export const WeaponDamageQuest: Quest = {
outfit: () => ({
weapon: $item`Fourth of May Cosplay Saber`,
familiar:
args.useonefam !== $familiar.none ? args.useonefam :
get("camelSpit") >= 100
? $familiar`Melodramedary`
: $effects`Do You Crush What I Crush?, Holiday Yoked, Let It Snow/Boil/Stink/Frighten/Grease, All I Want For Crimbo Is Stuff, Crimbo Wrapping`.some(
Expand Down