Each player would then store his tree of upgrades and whenever a stat was needed, the tree would be traversed and any upgrades encountered would be applied. I see a few problems with this. First, there'll be ALOT of upgrade tree traversal. Second, what about Cavalery Archers?
How would you structure it?
[indent=1]#Reinforce the castle walls w/ 5 dmg resist
[indent=1]#Archers get bracers:
[indent=1]#Only this one guy gets to fly
[indent=1]Units/Overpowered/"That One Guy"/Flight: =true
[indent=1]#Give the Town Center the ability to upgrade tech level
[indent=1]#Take away tech level 2 'cause that's where we are
[indent=1]Buildings/"Town Center"/Abilities: -TechLevel2, +TechLevel3
Of course you'll have to describe abilities separately...