Non-intuitive and conflicting names in GAS Ability Tasks

Pull Request: #9381

There’s 3 Ability Tasks:

  • AbilityTask_WaitConfirm: This task will wait for the ability to be confirmed by the server.
  • AbilityTask_WaitCancel: This task waits for the Cancel Input.
  • AbilityTask_WaitConfirmCancel: This task waits for the targeting confirm and/or cancel.

The problem:

The AbilityTask_WaitConfirm and AbilityTask_WaitConfirmCancel tasks were in conflict because their names are too similar and not intuitive, causing confusion because there is already an AbilityTask_WaitCancel which is managed by Ability Cancel Input, and its name is similar to AbilityTask_WaitConfirm, but AbilityTask_WaitConfirm is managed by Server Confirmation and not by Ability Confirm Input. And as I said, the AbilityTask_WaitConfirmCancel is related to Targeting and not the Confirm/Cancel Input or the Server Confirmation.

There was also the intention to resolve this conflict, which was confirmed by this comment that exists in the “AbilityTask_WaitConfirmCancel.h”:

// Fixme: this name is conflicting with AbilityTask_WaitConfirm
// UAbilityTask_WaitConfirmCancel = Wait for Targeting confirm/cancel
// UAbilityTask_WaitConfirm = Wait for server to confirm ability activation

Figured this after lost some time trying to discover why the Confirm Input was not calling the OnConfirm from AbilityTask_WaitConfirm xD


The solution

  • Rename the files, classes and their properties and add CoreRedirects to avoid code breaking.

I submitted a Pull Request with some changes and details here: Fix non-intuitive and conflicting names: GAS Ability Tasks (github.com)