Give Atmos-traitors a unique 10TC axe to buy.
This axe starts with a single charge and can gain more charges over time
by destroying windows and grilles. Each grille or window destroyed has a
4% chance of giving another charge to the axe. On a charged hit the axe
will hit for 30 brute and 30 burn. It will otherwise function as a
normal fireaxe if out of charges.

Sprites courtesy of Fullofskittles
🆑 IcyV
add: Adds a unique axe for Atmos-traitors
/🆑
... and makes the bicons in View Variables use it. This seems to stop a
small number of icon state classes from breaking Dream Seeker when
directly browsed to a client. I don't actually understand why, but it
works.
- Refactors action button backend
- Action buttons are no longer checked on Life(), items are responsible
for adding/removing/updating them.
- Item action buttons are no longer a static action_button_name define,
items define actions_types, which is a list of paths.
- Items can now have multiple action buttons.
- This is handled by new arguments to ui_action_click, the first
parameter is the user, the second is the path of the action datum
that was invoked.
- Refactored how internals function
- You may now directly switch internals without breaking anything.
- The internals icon has been updated to be more consistent.
- Added action buttons for jetpacks
- Added action buttons for oxygen tanks
- Uses-based implants now qdel() themselves when they run out of uses.
This is somewhat a buff to traitor implants, but it's such a minor
change. The actual reasoning is so that the action buttons are properly
removed.
- Fixed a bug with the "Boo" spell which resulted in IsAvailable failing
for certain ghosts.
- You can now shift-click on movable HUD elements to reset them to the
proper position (thank fucking christ)