Skip to content

GetActionGroup and ActionGroupHasActions do not behave properly with Action Sets #378

@DeanMallory

Description

@DeanMallory

The GetActionGroup and ActionGroupHasActions functions return values based on the default Action Set (which I call Action Set 0), even if the player has selected any of the other available Action Sets (1, 2, 3, or 4).

If the player has assigned actions to an Action Group in one of these other (non-default) Action Sets, the ToggleActionGroup function DOES properly execute the assigned actions.

I would be happy to discuss, or to build and provide screenshots or a video to demonstrate this issue if you would like. You can also create a scenario to see this issue using the process below.

How to create a scenario to see this issue:

  • Assign some actions to AG1 in the default Action Set (AS0)
  • Do not assign any actions to any of the other AGs in AS0
  • Assign some actions to AG2 in Action Set 1 (AS1)
  • Select Override Default for AS1
  • Do not assign any actions to any of the other AGs in AS1
  • Put MAS buttons in an IVA for AG1, AG2, and AG3
  • Edit these 3 button cfg files to display the value of GetActionGroup on the PanelTextTop, and ActionGroupHasActions on the Legend_Center
  • Start the game and enter the IVA
  • The AG1, AG2, and AG3 buttons should show 0 on the PanelTextTop, because none of these buttons has been pressed yet
  • The AG1 button should show 1 on the Legend_Center, because AG1 does have actions assigned
  • The AG2 and AG2 buttons should show 0 on the Legend_Center
  • One at a time, press the AG1, AG2, and AG3 buttons. As you press each one, the PanelTextTop for each button should change from 0 to 1
  • As you press AG1, the actions assigned to AG1 in the default Action Set should occur
  • Deactivate each of these buttons (PanelTextTop on each button should now read 0)
  • Select ActionSet 1 by pressing F7 (verify by seeing the number 1 appear on the Action Sets icon - hammer, wrench, and + sign - in the toolbar on the right
  • The AG1, AG2, and AG3 buttons should show 0 on the PanelTextTop, because none of these buttons has been pressed yet
  • The AG1, AG2, and AG3 Legend_Center should show 0, 1, and 0 (because AG2 in AS1 does have actions), but instead they will show 1, 0, and 0 (because the ActionGroupHasActions function is looking at AS0 instead of AS1
  • One at a time, press the AG1, AG2, and AG3 buttons. As you press each one, the PanelTextTop for each button will not change, but it should change from 0 to 1 as each button is pressed. This shows that GetActionGroup is determining if any of the AG buttons in AS0 have been pressed
  • As you press AG1, the actions assigned to AG1 in Action Set 1 should occur

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions