XCOM 2
1,205 ratings
[WOTC] Cost-Based Ability Colors
2
2
   
Award
Favorite
Favorited
Unfavorite
Tags:  Gameplay, Ui
File Size
Posted
Updated
0.165 MB
Feb 2, 2018 @ 6:09pm
Jun 29, 2019 @ 6:33pm
7 Change Notes ( view )
You need DLC to use this item.

Subscribe to download
[WOTC] Cost-Based Ability Colors

Description
[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)
    1.0.5:
    • Added support for 2+ action abilities (default color is Orange).
    • Added a config to auto-detect Free Reload Anytime and adjust handling of the reload ability accordingly (defaults to True).
    1.0.4:
    • Updated the SPARK's Bombard ability to remove the extra ActionPointCost causing it to show up incorrectly.
    1.0.3:
    • 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.
    1.0.2:
    • 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).
    1.0.1:
    • Fixed error in override logic causing bIsTurnEnding = true overrides not to process.
    • Added a few more overrides to the config file.
    1.0.0:
    • Initial Release!.
< >
168 Comments
Daemonjax Jun 1 @ 5:49am 
Works just fine when added to a new game.
Daemonjax May 31 @ 9:39am 
The only mods I had installed were voicepacks, so it wasn't conflicting with anything. I'll give it another shot right now -- making a new campaign with like 50 mods installed, so I'll report back.
shiremct  [author] May 29 @ 8:58am 
Are you subscribed to the original version? The only way you would be having issues like that related to this mod is if you are also using another mod that overrides UITacticalHUD_Ability.
Daemonjax May 29 @ 8:02am 
This causes lock ups and crashes -- at least when added to an ongoing campaign.
KptnStabbin Apr 27 @ 1:18pm 
I too would love to see this mod in Chimera Squad too.
Brujah Apr 25 @ 7:51am 
By any chance do you have Chimera Squad and feel like porting this mod over?

The issues of abilities not being clear whether they will end the turn or not is even more stark in this new one.
One of my favourite mods in original XCOM2, glad to see a WOTC port. Idk how this feature wasn't vanilla but these colors have saved my dumbass multiples times in my playthroughs lol.
j2deline Jan 10 @ 9:21pm 
So I've been dicking around with this for most of the night, with no luck, even when it's the only mod active.
j2deline Jan 10 @ 5:18pm 
seems to wok most of the time, but not always, and 75% of the time when i start a enw campaign or start the game up, it gets fucked up again if I haven't *just* done a config purge.
j2deline Jan 7 @ 6:08pm 
@Alexandr just had the exact same problem after purging my old saves, but that didn't fix it