Here is some code. the problem is that the weaponset cann't be changed back. It becomes one way upgrade indeed.
Code:
WeaponSet
Conditions = None
Weapon = PRIMARY ChinaInfantryTankHunterMissileLauncher
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY ChinaInfantryNapalmHunterMissileLauncher
End
CommandSet = ChinaInfantryNapalmHunterCommandSet
Behavior = WeaponSetUpgrade ModuleTag_13
TriggeredBy = Upgrade_ChinaNapalmHunterWeaponSet
End
Behavior = CommandSetUpgrade ModuleTag_14
TriggeredBy = Upgrade_ChinaNapalmHunterWeaponSet
RemovesUpgrades = Upgrade_ChinaTankHunterWeaponSet
CommandSet = ChinaInfantryNapalmHunterCommandSet
End
Behavior = CommandSetUpgrade ModuleTag_15
TriggeredBy = Upgrade_ChinaTankHunterWeaponSet
RemovesUpgrades = Upgrade_ChinaNapalmHunterWeaponSet Upgrade_ChinaTankHunterWeaponSet
CommandSet = ChinaInfantryNapalmHunterCommandSet
End
Behavior = ProductionUpdate ModuleTag_16
MaxQueueEntries = 1; For the command set switching upgrade
End
BTW, the WorldBuilder cann't detect the mistake when Hunter
r is typed.