OpenPF2 / Plugin

Core C++ Game Logic for OpenPF2 (Status: Pre-alpha)
https://www.openpf2.org/
Other
24 stars 5 forks source link

[Players] During Encounters - Ability to Queue and Execute Actions During Turns/Rounds #7

Closed GuyPaddock closed 2 years ago

GuyPaddock commented 2 years ago

As a Player in an Action RPG game, I'd like it if each action I performed with my character during an encounter was queued-up and executed in the order I performed it -- no matter how quickly or slowly I performed the action -- so that gameplay remains fluid even though PF2 rules are geared around a turn-based RPG.

Acceptance Criteria

Given that I am in an encounter:

  1. Given that I perform an action with my character:
    1. I would expect the action to be put into a queue of actions for my character.
    2. I would expect to be able to see icons or some visual indicator of the queued-up action in the HUD.
  2. I would expect the game to keep track of the initiative order for every character/creature in the encounter.
    1. Based on the initiative order, I would expect that each creature would get the chance to perform their attacks in the same order every round.
    2. Given that an action, spell, etc. has affected the initiative order: I would expect that the initiative order would be updated accordingly.
  3. I would expect that the virtual turn for each character/creature will end after either of the following (whichever is sooner):
    1. The character is out of action points.
    2. 6 seconds.
  4. Given that a virtual turn is starting for my character:
    1. I would expect that my character's action points would be reset to 3.
    2. Given that my character has at least one action queued up and I have enough action points for the action to be executed:
      1. I would expect the action to be executed.
      2. I would expect the action to be removed from the queue of actions for my character (including its associated visual indicator).
      3. I would expect my action points to be reduced by the cost of the action being executed.
  5. Given that a virtual turn is ending for my character: I would expect that any unspent action points would carry forward until the start of my next turn.