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

Fix: Forgotten Circles scenario data #374

Merged
merged 1 commit into from
Aug 31, 2023

Conversation

mentonin
Copy link
Contributor

@mentonin mentonin commented Aug 28, 2023

Forgotten circles scenario fixes:

  • add 96 GH requirements (implemented in data, needs cross-version requirements)
  • add Knowledge is Power requirements to scenarios 102 to 109
  • add rewards to scenarios 104, 105, 107, 110
  • remove scenario 112 unlock from scenarios 106 and 107 (manual unlock)
  • implement scenario 109 special rules
  • replace some null treasures by Goal treasures
  • fix description for Section 114 outcomes
  • add section 116 (conclusion to scenario 106)
  • remove some unused rooms from sections 22, 39, 46, 52, 71 (might break something)
  • fix reward for section 36
  • fix sections for scenario 104 (52, 79, 85). special rules can still be wrong some times, but hopefully this is better
  • fix standee setup for sections 67 and 93
  • add damage to section 87
  • add special rules reminder to section 91
  • change section 8 from fake room to spawn

Remaining issues

  • scenario 104 special rules should be changed depending of when the sections were activated.
  • section 132 needs custom special rule to draw extra card

@mentonin
Copy link
Contributor Author

Marked as draft because I didn't have time to properly test it yet. Also, I only have the first edition printing in hand, so some changes could be wrong for second edition. I checked the official changelist, but it may be incomplete. Still have to check errata as well.

@mentonin
Copy link
Contributor Author

@Lurkars I was looking at what you did on d350bf6 and have some questions:

  1. Why do some scenarios set up the conclusion from within the scenario file (e.g. scenario fc-96) while others set them on separate section files (e.g. scenario fc-97)?
  2. More generally, it looks like scenarios, rooms, and sections are redundant, and sometimes difficult to work with. Why not unify everything into the scenario file? Every additional content opened during the scenario could be coded as a "section", directly from inside the scenario file.

@Lurkars
Copy link
Owner

Lurkars commented Aug 28, 2023

@Lurkars I was looking at what you did on d350bf6 and have some questions:

1. Why do some scenarios set up the conclusion from within the scenario file (e.g. scenario fc-96) while others set them on separate section files (e.g. scenario fc-97)?

Because of multiple conclusion. That was sometime the issue with your initial issue: some conclusions only become available under certain conditions, so rewards shouldn't stack (what would happen, if you have rewards in scenario and than in an additional conclusion). In some cases possible, that it's just inconsistency and could move, but in general it is definitely required that the scenario file does not have any rewards, because the rewards depend on conclusion section.

2. More generally, it looks like scenarios, rooms, and sections are redundant, and sometimes difficult to work with. Why not unify everything into the scenario file? Every additional content opened during the scenario could be coded as a "section", directly from inside the scenario file.

This is a bit historical from GH not having sections and the auto-standee feature came later. Technically, I just could have implemented all GH rooms as sections. But for some reasons, I first implemented the room feature as it is for GH. Section have some more features as dependencies, special rules, round resets etc. And separate files are just for better readability. If you need to edit a section it's just easier to find. Also there are way more specials with sections in Frosthaven, where for example puzzle solutions are sections independent of any scenario. Anyways, long story short: It just evolved to this and I like keeping the separation of rooms vs sections for GH/JOTL and it works like this. (I also think other editions have room that are not sections). While technically I could achieve this, by marking a section as room and add like this, but I am just fine how it is working now.

@mentonin
Copy link
Contributor Author

mentonin commented Aug 28, 2023

Some things that need addressing (some may need code changes):

  • Section 01 objective needs shield
  • Section 34 objective needs retaliate
  • Scenario 98 treasure not working (might be a bigger issue with treasures)
  • Section 08 should spawn monster using Spawn Feature instead of Room feature (could make a difference later)
  • Scenario 104 rules may not be implementable
  • Sections 126 and 127 need to implement special rules (hard?) or show hint that it is not implemented
  • Section 66 and 128 have rules data, but the rules do not work
  • Section 132 needs custom special rule (alternatively, make it clear that one can draw cards manually from the monster deck edit menu)

@Lurkars
Copy link
Owner

Lurkars commented Aug 28, 2023

Are you working on that list in this PR or is it more an issue related to the PR?

@Lurkars
Copy link
Owner

Lurkars commented Aug 28, 2023

Small noticed: I realized why I missed some rewards... I searched for Rewards and added those. Some scenarios has Reward listed, because it's only one and I missed those sections!

@Lurkars
Copy link
Owner

Lurkars commented Aug 28, 2023

Section 01 objective needs shield
Section 34 objective needs retaliate

I will add

Scenario 98 treasure not working (might be a bigger issue with treasures)

I will fix.

Section 08 should spawn monster using Spawn Feature instead of Room feature (could make a difference later)

Are you referring to the special rules mentioned there? Otherwise please specify.

Scenario 104 rules may not be implementable

Can you specify, in general the spawning rules are implemented.

Sections 126 and 127 need to implement special rules (hard?) or show hint that it is not implemented

Will add.

Section 66 and 128 have rules data, but the rules do not work

Will fix.

Section 132 needs custom special rule (alternatively, make it clear that one can draw cards manually from the monster deck edit menu)

Will think about, if it's worth the effort implementing this.

@mentonin
Copy link
Contributor Author

Are you working on that list in this PR or is it more an issue related to the PR?

I was planning on implementing it on this PR

Scenario 104 rules may not be implementable

Can you specify, in general the spawning rules are implemented.

The spawning rules are not implemented correctly. I changed it in this branch, to be less incorrect (but I still need to verify if disableRules is doing what I want, I haven't checked how it is implemented). Example by round below

Expected behavior (rules):

  1. spawn at 1, 2, 3, 4 at R % 8 == 2, 4, 6, 0 respectively
  2. activate section 52 at round X
  3. spawn at 2, 3, 4 at (R - ((X-1)//2)*2 % 6) == 2, 4, 0 if the last spawn was 1 or 4; (R - ((X-1)//2)*2 % 6 == 0, 2, 4 if the last spawn was 2; (R - ((X-1)//2)*2) % 6 == 4, 0, 2 if the last spawn was 3;
  4. activate section 79 at round Y
  5. spawn at 3, 4 at R % 4 == 2, 0 or R % 4 == 2, 0, depending on current round and last spawn
  6. activate section 85
  7. spawn at 4 every even round

Current behavior:

  1. spawn at 1, 2, 3, 4 at R % 8 == 2, 4, 6, 0 respectively
  2. activate section 52 at round X
  3. spawn at 1, 2, 3, 4 at R % 8 == 2, 4, 6, 0 respectively
  4. no section 79
  5. no section 85

Behavior after this change:

  1. spawn at 1, 2, 3, 4 at R % 8 == 2, 4, 6, 0 respectively
  2. activate section 52 at round X
  3. spawn at 2, 3, 4 at R % 6 == 2, 4, 0
  4. activate section 79 at round Y
  5. spawn at 3, 4 at R % 4 == 2, 0
  6. activate section 85
  7. spawn at 4 every even round

Lurkars added a commit that referenced this pull request Aug 28, 2023
@Lurkars
Copy link
Owner

Lurkars commented Aug 28, 2023

I already addressed some stuff, so you may want to merge current branch.

@mentonin
Copy link
Contributor Author

I believe the best logic here would be:

  1. spawn at 1, 2, 3, 4 when R % 8 == 2, 4, 6, 0 respectively
  2. activate section 52 at round X
  3. spawn at 2, 3, 4 when (R - ((X+5) // 8) * 2) % 6 == 2, 4, 0
  4. activate section 79 at round Y
  5. spawn at 3, 4 when (R + (( ((X+5)//8)*4 + Y+3)//6) * 2) % 4 == 2, 0
  6. activate section 89
  7. spawn at 4 when R % 2 == 0

@Lurkars
Copy link
Owner

Lurkars commented Aug 30, 2023

How is progress here? Otherwise, I can try to migrate the changes and work on the rest myself.

@mentonin mentonin marked this pull request as ready for review August 30, 2023 22:03
@Lurkars Lurkars merged commit f79cc18 into Lurkars:main Aug 31, 2023
1 check passed
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