Skip to content

Refactor Actions to support more use-cases #316

Open

Description

@Zomis

The current action system is not great when it comes to:

  • Making it easy to highlight available actions or available action options (some progress has been made in Make actions a part of view #175)
  • Choices with infinite possibilities (strings, numbers) but that should still be possible for AIs to choose something
  • "When you do X, it costs Y less"
  • "When you do X, it also does Y" or "When you do X, increase the effect by Y"
  • "When X happens, do Y instead"
  • Inform about why actions cannot be done
  • Being able to dynamically add or remove choice options

To solve this:

  • Store requirements and effects, connect them with a value, and allow other rules to change that value or override the requirement/effect
  • Keep track of rule requirements, actions, options, etc. and return results for each of them (which rule fails, why they're not allowed, how much damage was done, etc.)

Later:

  • Multiple choices that are not directly dependent on each other

  • "You may" choices that are optional and you have to suit yourself if you forget it

  • Allow actions to have multiple parallel choices at the same time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

actionsdsl-coreFor improvements of the DSL approach to defining gamesenhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions