Armor penetration created a bunch of balance issues in AoE2. Armor shouldn't ever be ignored, but we do need to correct the damage reduction formula to not give so much reduction at lower levels.
I want to do something like this:
<Melee>
<AttackName>Mace</AttackName>
<Damage>
<Crush>10</Crush>
</Damage>
<IgnoreArmor>
<Multiplier>0.5</Multiplier>
<Classes>Infantry Cavalry</Classes>
</IgnoreArmor>
<MaxRange>4</MaxRange>
<PrepareTime>500</PrepareTime>
<RepeatTime>1000</RepeatTime>
<PreferredClasses datatype="tokens">Unit+!Ship</PreferredClasses>
</Melee>
So in this example 5 damage would be affected by the opponent's armor value, 5 damage goes straight through.
This functionality is then used for e.g. maces as they were often used against heavily armored foes because even though they could not penetrate the armor they could stop the wearer by brute kinetic force.
Would be nice if you actually copied the error message as text (the image doesn't load for me) so a blind guess is you use SetProgress instead of yield.