>visual decay is a bit too impractical for me to pull off
You wouldn't need visual decay, just disable certain controls or change animations, and put a warning light on the screen like "ARMOR DOWN" flashing over some part that changes its stats.
Something like:
Armor (0 to 1000)
Shielding (0 to 1000)
Energy (0 to 1000, slowly recharges)
Cooling (0 to 1000, slowly recharges)
So each weapon would do a certain amount of damage to armor, and certain amount to shielding, a certain amount to energy, and a certain amount to cooling.
If armor reaches 0, that part is completely disabled (can't attack using that arm, etc.), and at, say, 50% armor value,for legs, your mobility is reduced, 50% armor for arms you can't swing melee weapons (but you can fire guns), etc.
If shielding reaches 0, armor damage is allowed (if shielding exists, armor damage is blocked)
If energy reaches 0, that part is temporarily disabled until it restores to full, maybe also have other effects like making the screen fuzzy for energy depleted head parts.
If cooling reaches 0, armor continually is damaged until it restores to full
And each weapon would be like:
Rifle Damage
>Armor: 10
>Shield: 5
>Energy: 0
Cooling: 10
Armor Piercing Damage
>Armor 5
>Shield 20
>Energy 0
>Cooling 0
Chemical Weapon damage
>Armor 5
>Shield 5
>Energy 20
>Cooling 50
ECM weapon damage
>Armor 5
>Shield 5
>Energy 50
>Cooling 20
Melee weapon damage
>Armor 20
>Shield 100 ( a successful strike can break through shielding in one hit)
>Energy 10
>Cooling 10
And each body part will have different armor/shield, etc. values, so some mechs will have really strong shields and armor, but low energy defense , some will have high armor but small shields, and some will have high shielding but low armor.
So the game's strategy would involve swapping certain weapons to break the enemy's strategy.