Skip to content

Conversation

@aed3
Copy link
Owner

@aed3 aed3 commented Sep 18, 2025

  • Effect information for a move is now stored directly on the move entity instead in its own entity. I did this since no move has both a primary and secondary effect and only one move has multiple secondary effects. This change will make filtering and applying effects much simpler. Triple Arrows will be handled a different way.
  • Changed test Ampharos' default ability to Plus so there's only one place paralysis can come from in the test result. Otherwise, calculating the ideal probability is impossible.
  • Added effect target components since effect targets and sources are not the same as the current move's source and target.
  • Changed multiple Targets components to single target components. The old way was assuming moves with multiple targets would share move data. Since multi-target moves aren't the norm, that caused more data to be moved around than.
  • Status moves are explicitly ignored in calc damage now.
  • Updated Simulate Turn single battle test to factor in Thunderbolt's paralysis chance.

Closes #38

- Effect information for a move is now stored directly on the move entity instead in its own entity. I did this since no move has both a primary and secondary effect and only one move has multiple secondary effects. This change will make filtering and applying effects much simpler. Triple Arrows will be handled a different way.
- Changed test Ampharos' default ability to Plus so there's only one place paralysis can come from in the test result. Otherwise, calculating the ideal probability is impossible.
- Added effect target components since effect targets and sources are not the same as the current move's source and target.
- Changed multiple Targets components to single target components. The old way was assuming moves with multiple targets would share move data. Since multi-target moves aren't the norm, that caused more data to be moved around than.
- Status moves are explicitly ignored in calc damage now.
- Updated Simulate Turn single battle test to factor in Thunderbolt's paralysis chance.
@aed3 aed3 added this to the Vertical Slices milestone Sep 18, 2025
@github-actions
Copy link
Contributor

🤖 One Review Bot Results

📖 Found 2 spelling issues using cspell

src/Utilities/ArgumentChecks.cpp
"Outcom": Unknown word

Possible replacements:
outcome, outcomes, outcode, outconv, outcrop

"Outcom" found at:

src/Utilities/ArgumentChecks.cpp:987:57
void check(const simulate_turn::TurnOutcomeBattles& teamOutcomBattles, const types::registry& registry) {

                                                        ^~~~~~
src/Utilities/ArgumentChecks.cpp:988:35
  for (types::entity entity : teamOutcomBattles.val) {

                                  ^~~~~~

@aed3 aed3 self-assigned this Sep 18, 2025
@github-actions
Copy link
Contributor

🤖 Passed All One Review Bot Checks ✔️

@aed3 aed3 merged commit 568421b into main Sep 18, 2025
70 checks passed
@aed3 aed3 deleted the aed3/event-systems branch September 18, 2025 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Systems for event handling

2 participants