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

[FEATURE] default or initial Accuracy & Difficulty for HASE rolls (and a few others) #820

Open
aWinglessMonkey opened this issue Feb 20, 2025 · 0 comments
Labels
feature New feature or request triage To be assessed by maintainer

Comments

@aWinglessMonkey
Copy link

aWinglessMonkey commented Feb 20, 2025

There are many frame traits and NPC features that provide an unconditional Accuracy or Difficulty modifier to all mech-skill (HASE) rolls of a specific category (Hull, Agility, Systems, or Engineering). For example, Slow, Fragile, Exposed Reactor, Weak Computer, Superior Reactor, and Biotic Components are found across multiple PC frames, while all Veteran NPC mechs have Veterancy for one mech skill, and Kai Bioplating appears both as a Core Bonus and an Assassin feature.

Since Accuracy and Difficulty effects are already handled for attacks when they originate directly from weapons or tech-attack systems (both through tags and NPC-feature configuration), and are also handled universally for the Impaired condition, it would be convenient if there were a way to configure similar effects for a mech's HASE rolls. The LCP format doesn't explicitly list these bonuses outside of descriptive text, however, so aside from hard-coding the first-party cases, these bonuses would need to be configured manually by the GM or other players (and the Veterancy feature would need manual configuring regardless).

This feature could be implemented through some extension of the LancerActor data model (a single signed integer per stat would likely suffice), such that either LancerActor.beginStatFlow or the ensuing StatRollFlow could read and inject it appropriately. These fields could then be cumulatively adjusted by active effects associated with any appropriate item (or no item at all, if desired - likely to be the easier option once active-effect creation is implemented into actor-sheet UIs, up until a UI for configuring item bonuses also becomes available). This would be relatively easy to implement and easier to configure, but might not make the source of these bonuses cleanly apparent, and wouldn't lend itself as well to circumstantial Acc/Diff modifiers (such as Stable Structure or other save-only modifiers), which would likely work better with a clearly named toggle on the roll popup, to be activated at the players' discretion.

So, alternately, such modifiers could be aggregated somewhere from active effects and parsed at the time of rolling, including source names with toggles (in the same style as the current toggles for the Accurate and Inaccurate tags etc.*), which themselves could be on or off by default depending on how conditional the effect is (for example, unconditional modifiers would be on by default, if not outright locked that way). This could also make it easy to partially automate certain adjacency effects, such as the Engaged status or the Assault's Rank Discipline feature, as well as modifiers originating from the target (especially with attack rolls - see below). I'm thinking here of my short experience using the PF2e Foundry system, and how flexibly it handled modifiers (situational or otherwise), but it was also quite complex (and powerful! but much more complex than needed here), and I know nearly nothing of its implementation details.

*these ones:
Image

A hybrid approach between these two could also work, starting with the first for unconditional Acc/Diff modifiers, and keeping those there until a more flexible alternative is available.

Secondarily to this: there are also features that add an Accuracy bonus to tech attacks, such as the Goblin's Liturgicode trait and the Ultra template's Legion feature, as well as the Ultra's Supreme Melee feature which gives accuracy to melee attacks. For NPC features this can be edited into individual weapons and tech-attacks, but this can't be done for improvised attacks or the basic invade. It appears to already be hard-coded for Goblins, but also doesn't apply to the basic tech-attack button there - I assume due to a bug or oversight (as of v2.5.0). It's not quite as lacking as with HASE rolls, but the ability to configure unconditional Accuracy and Difficultly modifiers for the three standard attack categories (melee, ranged, & tech) would be useful and would likely be easy enough to implement alongside HASE modifiers in whatever form. There is also the Prone status and NPC features like Hardened Target which apply Acc/Diff modifiers to incoming attack rolls, which also makes this worth considering for a more powerful implementation. (There's some significant overlap with #746 here.)

Tertiarily: adding an initial Accuracy/Difficulty pass to LancerActor.beginStatFlow would also make it easy to implement a field for chat buttons to specify an additional Accuracy modifier to a stat roll. I think it would be quite useful if there were a way to prompt arbitrary stat or attack rolls with arbitrary modifiers from the chat, but this could be an entirely separate feature request on its own - and likely should be, but for now it's just additional context.

If necessary, I can be contacted on discord via the username apteropith.

@aWinglessMonkey aWinglessMonkey added feature New feature or request triage To be assessed by maintainer labels Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request triage To be assessed by maintainer
Projects
None yet
Development

No branches or pull requests

1 participant