This patch changes the armour data type from a nonNegativeDecimal to an integer. The armour values are levels, not amounts; all armour values in 0 A.D. and in all mods I'm aware of are already integers in practice; I'm not sure either how to visualize a decimal level, e.g. 3.14; allowing something that's unlikely to happen seems a bit unnecessary, hence the change from decimal to integer.
As for dropping the nonNegative, this would make it easier for mods to implement a counter system via armour levels; e.g. instead of hard-coding a 1.5× bonus attack vs a specific unit type, one could simply give the target −4 armour of the relevant damage type to achieve the same effect.