Replace check for various item ids with generic check:

Check for ammo being plutonium (either normal ammo or through atomic battery mod).
Remove reference to active UPS items / bionics.

Instead only check for the inactive ones and use charges from the inactive one when requested.
Use the item id "UPS" for any kind of UPS, or use only the *_off item type for checks for specific kind of UPS item.
Make optical cloak / power armor able to be active.

The item is set to active, but does not change its item type.
The code checks for an active and worn item of the required type.

During player::process_active_items the UPS charges for those items are consumed, or if not available the items are made inactive.

The items have simple iuse function (actor based) which is used to activate / deactivate it.

Replace the check has_active_UPS with has_charges("UPS",1) to check for the availability of at least one charges (from any source: UPS, adv. UPS, or bionic).
Save compatibility for active UPS items.