Skip to content

Allow specifying attribute tag for various values #78

@monodop

Description

@monodop

I think it would be helpful if we could specify attribute tags for various hardcoded values in GMAS. I'm working on a proof of concept, but I'm curious if there's any technical or design blockers for this feature. I'm also super new to this project, so please let me know if there are better intended solutions for these use cases.

Here's some examples:

Effect Delay, Duration, Period

Example use cases:

  • Declare an effect that grants a player a running speed boost. Attribute allows duration to be made longer or shorter
  • Declare an effect that increases weapon ammunition by 1 (e.g. reload a shotgun). Attribute allows reload speed to be modified

Possible Issues:

  • adds a lot of fields in the effect data
    image
  • if duration, delay, or period change, we may want to update the end time for the effect

Effect Modifier Value

Example use cases:

  • Declare an effect that recharges stamina over time. Create an attribute tag for stamina recharge speed and use that as the value for the recharge effect. Attribute allows modifying stamina recharge speed
  • Declare an effect that does fire damage to a player over time. Create an attribute tag representing the damage for the effect. Attribute allows modifying fire damage on player (e.g. fire resistance)

Possible Issues:

  • May be confusing to users, as there are two attribute tags that can be configured
  • Can run into issues with infinite recursion if there is a loop attributes referencing each other via modifiers

Cooldown Time

Example use cases:

  • Create an ability that allows the player to jump. When the player lands, the effect completes. When the effect completes, commit the cooldown. Attribute allows the cooldown duration between jumps to vary

Possible Issues:

  • If the cooldown time changes, we may want to update the end time for the cooldown

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions