Hi, so a friend and I are working on some RTS heavily inspired by warcraft 3. As such, we are copying the combat system and with that the different attack and armor types, e.g. piercing, normal,… attacks and heavy, light,… armor.
Now, for each tuple (attack, armor) it is required to store a damage reduction factor. E.g. chaos damage always deals 100 % damage to any kind of armor, while e.g. magic damage is very effective against heavy armor, but less so against, e.g., normal armor.
An example of an optimal way to store the data can be found in Armor and Attack types - Liquipedia Warcraft Wiki, see the Damage calculation tables
To represent attack types and armor types I created separate blueprint classes (I followed the approach for ressource types of a plugin we are using here) which at the moment are only there to store the type and nothing else. Can I create something like
std::map<std::tuple<AttackType, ArmorType>, float> in the blueprint editor to conveniently set the damage reduction factors?