Skip to content

Skeletons v2 - Allow tasks to say they were not attempted - #74

Merged
Pantocyclus merged 2 commits into
Pantocyclus:mainfrom
libraryaddict:skeleton-tornado
Apr 16, 2026
Merged

Skeletons v2 - Allow tasks to say they were not attempted#74
Pantocyclus merged 2 commits into
Pantocyclus:mainfrom
libraryaddict:skeleton-tornado

Conversation

@libraryaddict

Copy link
Copy Markdown
Contributor

So this PR is a different approach as the base issue as I see it, is really that the engine logs it as an attempt, when it wasn't a proper attempt.

The first commit introduces a new parameter that tasks can implement, a function that lets them declare if the task was indeed attempted or not.
This could potentially be expanded for other tasks, that have encounters that were distractions and didn't actually attempt the real task.

Skeletons now have a choice set to skip the scheduled NC, and will not mark the task as attempted if it hit either NC, or a time cop.

Haven't tested it, will do tomorrow though don't expect any issues.

If this approach doesn't seem good, lmk and I'll do a third PR where it simply adds the choices without looking at the initial NC 👍

@Pantocyclus

Copy link
Copy Markdown
Owner

I like this approach!

And yes I do think that there might be value in getting the engine to run a default attempted() function that handles a general list of unintentional encounters (e.g. holiday wanderers), but that's definitely out of scope of this PR.

My sole concern is with the messing around with lastEncounter - grimoire does that with a hardcoded list of encounters, and that has caused some issues which required some workarounds, so I don't really agree with that approach. But I'll be happy to merge this in as a first pass if it resolves the current issues.

@libraryaddict
libraryaddict marked this pull request as ready for review April 16, 2026 09:03
@libraryaddict

Copy link
Copy Markdown
Contributor Author

Seems to work fine for me, lastEncounter was cleared as expected.

Though oddly, it went back in because of Novelty Tropical Skeleton task. Not sure if there was a typo made here tbh. Basically "if we have not spent 3 turns, keep going even if we have a cherry"
Too lazy to link it.

      completed: () =>
        mainStat === $stat`Moxie` ||
        (have($item`cherry`) &&
          ($location`The Skeleton Store`.turnsSpent >= 3 ||
            completedSkeletonBanishes() ||
            !haveFreeSkeletonBanish())),
            ```

@Pantocyclus

Copy link
Copy Markdown
Owner

No typo there. The original low shiny path really needed some of these turn-burning actions at the right place and time to set up the trainset + bowling ball, and these artifacts remain since we remain committed to supporting the original low shiny run plan.

@Pantocyclus
Pantocyclus merged commit 38620b5 into Pantocyclus:main Apr 16, 2026
2 checks passed
@libraryaddict
libraryaddict deleted the skeleton-tornado branch April 16, 2026 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants