435 ratings
[WOTC] Cost-Based Ability Colors
File Size
0.162 MB
Feb 2 @ 6:09pm
May 4 @ 5:52pm
5 Change Notes ( view )
You need DLC to use this item.

Subscribe to download
[WOTC] Cost-Based Ability Colors

[WOTC] Cost-Based Ability Colors

This is an updated version of Cost-Based Ability Colors for WOTC. All credit for the original mod and concept goes to infectedm and you should go rate it if you haven't already.

Overrides UITacticalHUD_Ability and is incompatible with any other mod doing the same (unsubscribe from the original).

What's New

For the most part, the original Cost-Based Ability Colors works fine in WOTC, but there were a few situations where it needed an update, especially with regards to improving support for mod-added abilities. Here are the big changes from the original version:
  • Updated Free Reload Handling: The handling of Free Reloads has been updated to take bonus charges into account and has been set to an ini toggle so that it may be disabled entirely by users when using other mods that handle free reloads (like [WOTC] Free Reload Anytime , for example).
  • Better Override Support: The mod has been re-written to provide more robust, conditional color overrides for mod authors. The cost category can be changed or a completely custom color can be assigned to an ability and it can be conditional to the presence of an another ability or an activated effect on the unit.
  • Updated Cost Check Logic: The cost-checking logic has been updated, primarily to support action point altering effects from mods utilizing XModBase. The mod will now recognize actions with a cost of 0 as free (was previously only considering the bFreeCost variable). A check for valid action point types has also been added and when a unit does not have a valid action point type for an ability (for example, when a unit only has Movement-only action points, etc.) the Unavailable color will be used.

For Mod Authors: How to Setup an Override

If you have an ability that needs an override entry to display correctly, you can include a copy of XComWOTC_CostBasedAbilityColors.ini with your mod that contains the following:

[WOTC_CostBasedAbilityColors.UITacticalHUD_Ability_WOTC_CostBasedAbilityColors] +AbilityCostColorOverrides=(AbilityName=Name, ModifyingAbilityName=Name, ModifyingEffectName=Name, OverrideColor=Color_String, bIsFreeAction=Bool, bIsTurnEnding=Bool, bNotTurnEnding=Bool)

Some examples of when you might want to use an override include abilities that only return actions via PostAbilityCostPaid(), abilities that are bFreeCost = true, but will remove action points through further processing, or when you want an ability to use a different border color than any of the preset categories under certain conditions.

The overrides are entered using a struct and the members and their usage are detailed below. Only include the OPTIONAL members that you need. See the ini file included in this mod for more information and examples:
  • AbilityName (string)
    REQUIRED - The name of the ability being modified

  • ModifyingAbilityName (string)
    OPTIONAL - The name of the ability that the unit must have to validate the modify

  • ModifyingEffectName (string)
    OPTIONAL - The name of the effect that the unit must have to validate the modify

  • OverrideColor (string)
    OPTIONAL - If a color string is entered, the ability being modified will use that color instead

  • bIsFreeAction (bool)
    OPTIONAL - If true, the ability being modified will be considered a free action

  • bIsTurnEnding (bool)
    OPTIONAL - If true, the ability being modified will be considered a turn ending action

  • bNotTurnEnding (bool)
    OPTIONAL - If true, the ability being modified will be considered a non-turn ending action

  • NOTES:
    More than one entry for a single ability can be entered when there are more than one ModifyingAbilityName or ModifyingEffectName that may modify that ability. When a ModifyingAbilityName AND a ModifyingEffectName are present in the same AbilityCostColorOverride entry, they will be treated as an OR statement.

    The OverrideColor, if defined, will take first priority - use this to give an ability a border color outside the preset categories. The bIsFreeAction bool will be evaluated next and, if true, will use the FreeAction border color. If neither an OverrideColor or the bIsFreeAction bool are defined, then the TurnEnding bools will be evaluated for their preset colors.

    bIsFreeAction and bIsTurnEnding are immediate overrides - when either one is found in an override, their preset color is used and no other override entries are evaluated. bNotTurnEnding, however, is not immediate - the value is stored and continues evaluating other override entries, primarily to allow any potential bIsFreeAction overrides to supercede it.

Some Examples:
+AbilityCostColorOverrides=(AbilityName=SmartOverwatchAll, bIsTurnEnding=true) +AbilityCostColorOverrides=(AbilityName=SmartOverwatchOthers, bIsFreeAction=true)

Version History
(See Change Notes for full history)
    • Updated the SPARK's Bombard ability to remove the extra ActionPointCost causing it to show up incorrectly.
    • Attempt to fix issues with Free Reload charges reporting incorrect values and added handling to support multiple upgrades per weapon granting Free Reloads, should that ever exist.
    • Added Full Color Mode toggle in the config file (defaults to Off/False). Colors the Icon border AND inner symbol based on the action cost.
    • Added a check for valid action point types. If the unit does not have a valid action point type for an ability, it will display the Unavailable color (for example, when a unit has a movement-only action point, normal actions will be colored as unavailable).
    • Fixed error in override logic causing bIsTurnEnding = true overrides not to process.
    • Added a few more overrides to the config file.
    • Initial Release!.
< >
Sputnik Monroe Aug 26 @ 5:36pm 
shiremct  [author] Aug 24 @ 7:16pm 
Sputnik Monroe Aug 24 @ 6:45pm 
Will this work if used with Long War Classes and Communiity Highlander?
shiremct  [author] Jul 30 @ 5:29pm 
You may be using another mod that overrides the same files (UITacticalHUD_Ability) - the only one I know of offhand would be the original, non-WOTC version of Cost-Based Ability Colors (which you should not use alongside this one), but there may be something else out there that conflicts.

Do you use the alternate mod launcher? Does it report any conflicts with other mods you are running?
brandonlee503 Jul 30 @ 5:20pm 
After hours of testing to figure out why my frame rate was dropping. I narrowed it down to this mod. Dropped my FPS by 15 fps.
cryptyyy Jul 15 @ 10:43am 
thanks ^^
shiremct  [author] Jul 15 @ 10:21am 
Yes it does, provided their custom abilities were setup correctly.
cryptyyy Jul 15 @ 4:21am 
Does this mod work with custom classes?
哈恩雷斯舒伯特 May 22 @ 12:23am 
Thank you
DIGGS24 May 11 @ 8:36pm 
I love the workshop!