Is there a way to adjust the attributes for shields (i.e. Light, Armored, etc.) so it doesn't default to the unit's? It seems like this is built-in. I want shields that take full damage from any damage type but begin taking attributes into account once their health starts taking damage. How can I approach this?
I made something like this for my map.
Whenever I need a damage effect, I make one damage effect for shielded targets, and one for unshielded targets. I then make a switch effect where it uses the shielded damage effect if the "Has Shields" validator returns true, otherwise it uses the unshielded damage effect. Only drawback here is that if the target only has 1 point left in shields, it will take damage as a shielded target, eaven if most of the damage will actually be done to the health.
Instead of applying the Attribute in UnitData you could do a behavior, which is disabled if ShieldCurrent > 0
dunno if it is possible to make a unit "Mechanical" through a behavior, but i guess so
thus would make ArmorAttribute (armored and so on) and ShieldAttribute = none,
if you want ShieldAttribute = Light ie
make a behavior which is disabled if Shield==0 via validator :)
if it is not possible to change Attribute via Behaviors, you could also use EffectSet/EffectSwitch for the weapon, and a combined validator, checking for UnitType (as thus should all have same shield-type then) and IfShield>0