Combat Style

Combat Style describes what weapons owner currently has equipped.
Thanks to that we can tell if owner is using magic, one handed weapon, gun, bow, if has shield etc.
Then based on that info we can use different animation sets, process different actions on pressing inputs
for example shoot arrow if combat style is Archery, swing sword if combat style is one handed weapon etc.

Combat styles are identified as gameplay tags stored in file DCSTags_CombatStyles.

Default hierarchy of combat styles used in the system looks like that

It could be extended by adding new tags to be more specific.
For example by adding OneHandedWeapon.Axe, OneHandedWeapon.Sword
then we could use different attack animations for each of those weapons.

Combat style can be modified or checked by using these functions

There is one of many usage examples to choose different animations for MontageManagerComponent based on current Combat Style.

By default combat style is updated based on equipped items in Equipment Component.
Equipment Component has special function for that which returns combat style tag based on equipped items.

This function is called by owner to update current combat style every time when hand items has changed.