- 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)
* Defib oversights fixes
Well, ripping someone's heart out causes them to have a heart attack
right? Well, if you applied a defib to said person before they died from
said heart attack, the heart attack would be stopped, and you would now
have a heartless living person, spooky right? This prevents that.
Also fixes defibs saying they didn't work when you applied them to
someone with a heart attack, when they in fact did work. And removed a
magic number too.
🆑 pinatacolada
fix: Fixes defibing people without a heart
fix: Fixes defib saying it didn't work stopping a heart attack when they
do
/🆑
* Update defib.dm
* slimespls
* FIXEDIT
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
Using species_fit and sprite_sheets now works properly for items worn on
the back. Previously it was using the item_state name if it existed in
order to generate the on-mob icon, which was wrong. I restructured it to
work the same way as the rest of the icon generation procs.
Internal organ fixing surgery will now work correctly on robotic organs,
using nanopaste in place of trauma kits
Defibs also don't need the body to be past the point of deadness to work
Kitchen utensils should now properly work as surgery tools where given in
code
IPC thralls can now be dethralled by performing the surgery on where their
brain is, in this case their chest. This will also work for any species
that has a brain anywhere else in their body.
This commit does the following:
- Replaces all instances of magic intent words, like "harm" and
"help" with defines, I_HELP, I_DISARM, I_GRAB, I_HARM
- Fixes a few manual grab instances left over in attack_alien, they
will now used grabbedby()
This commit does the following:
- Ports progress bars from -tg- (tgstation/-tg-station#9921)
- Refactors wall attackby code to make it 100% less insane; Instead of
manually checking every little thing, it uses do_after,
consequentially, making the new progress bars affect dealing with walls
as well.
Wall code makes a tiger sad.
This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.