Sorry I didn't really do a good job of saying what I meant.
I am trying to make it so that a player's units cannot attack any certain buildings of another player (lets say those with a armored tag or those with a certain buff if that would be easier) unless the attacking player has/doesn't have a upgrade.
Sorry I have been very busy the last few days. I tried your solution tonight and I created 2 weapons like you said and that part works well. I have decided to have 2 weapons, one for attacking the armored tag and one for attacking everything but the armored tag. However the problem I have is with applying the upgrade to all current and to be built units.
I would prefer to have units have the armored attacking weapon, but have it grayed out and disabled. By acquiring level 1 of an upgrade the unit will then have the weapon enabled. I have tried looking around the editor in the unit, weapon, and upgrade sections and haven't found the enable/disable weapon tag. I was sure that I saw a tag like this a long time ago. Even if that tag may not exist would doing this be possible?