Index: binaries/data/mods/public/simulation/components/tests/test_Damage.js =================================================================== --- binaries/data/mods/public/simulation/components/tests/test_Damage.js +++ binaries/data/mods/public/simulation/components/tests/test_Damage.js @@ -509,7 +509,7 @@ let splashBonus = { "BonusCav": { "Classes": "Cavalry", "Multiplier": 10000 } }; AddMock(61, IID_Identity, { - "HasClass": cl => cl == "Cavalry" + "GetClassesList": () => ["Cavalry"] }); data.bonus = bonus; Index: binaries/data/mods/public/simulation/helpers/DamageBonus.js =================================================================== --- binaries/data/mods/public/simulation/helpers/DamageBonus.js +++ binaries/data/mods/public/simulation/helpers/DamageBonus.js @@ -20,9 +20,8 @@ let bonus = template[key]; if (bonus.Civ && bonus.Civ !== cmpIdentity.GetCiv()) continue; - if (bonus.Classes && bonus.Classes.split(/\s+/).some(cls => !cmpIdentity.HasClass(cls))) - continue; - attackBonus *= ApplyValueModificationsToEntity("Attack/" + type + "/Bonuses/" + key + "/Multiplier", +bonus.Multiplier, source); + if (bonus.Classes && MatchesClassList(cmpIdentity.GetClassesList(), bonus.Classes)) + attackBonus *= ApplyValueModificationsToEntity("Attack/" + type + "/Bonuses/" + key + "/Multiplier", +bonus.Multiplier, source); } return attackBonus;