- 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)
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.
Puts slipping into one proc rather than being dealt with individually by
each item.
The only changes to functionality here are where it would have been
possible to slip on some items whilst flying. It will make any changes
decided on in #3490 or any future changes far more easy to implement
Conflicts:
code/modules/mob/living/carbon/human/human.dm
^ This shit is haunted. It's conflicted on two branches for 0
reason, the automatic merge wouldn't work on the fucking end of
file.
This commit adds baystation's rigsuit system on top of our own hardsuits;
Our own hardsuits still function fine and are around, but these are
available to admins. Next commit will contain balancing and player
implementation stuff.
This commit updates the spacemove system to -tg-'s; All objects now drift
in space, not just mobs. A few hardcoded space checks have been replaced
with has_gravity(); So it applies to zero-G as well as space.
Spacepods no longer drift, because their snowflakey shitcode just doesn't
work. So they just move.
This commit changes every 'world.log <<' message with a loggable proc-
log_to_dd().
This is adjustable in the config; If LOG_WORLD_OUTPUT is present, all
things sent to world.log will show up in the standard /data/logs/ logs.
These logs will contain the following (in order):
Timestamp
"DD_OUTPUT:"
The message.
The config option for this, by default, is turned off.
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.
All carbon mobs have a new variable called wetness, which is increased
upon water_act's that have a volume over 10, and is decreased every 22~
cycles of mob_master.
This variable currently does absolutely nothing but change their examine
text.