* Plasma cutters now require charge (100, 10%) to be used as a welder.
* Plasma cutters now flash you, same as experimental welders.
Plasma cutters now use charge proportional to time spent welding (25 to start and 25 every 10th welding tick - 50 per scrubber/vent/girder, 175 per regular wall, etc).
* Cell use sanity. If you somehow popped the cell out of plasma cutter you have bigger problems.
* Annnd PCs are back to not using charge for most tasks (exceptions: plasma tiles, airlock wire shielding...) because everything calls amount=0 and zero amount means use() isn't called.
They still flash you, though.
* Comments + a bit more sanity.
* Actual sanity. Also did a rebase, let's see how much stuff that wrecked.
* Oops apparently you indeed cannot stack inline conditionals or it requires some special syntax.
* Plasma cutters now use a minimum of charge_weld charge again. Also known as "who says I can't override your stupid zero-amount calls?".
* And here's the rebase problems. Reverted accidental sanity revert.
Adds a magical locker staff.
It goes through people, capturing anyone being hit by it and putting them in a welded locker
The locker decays in about 5 minutes, to prevent the hallways flooding too much.
Escape time is only a minute.
Explosions are less effective on people inside
Why: It's a bulky wand, and great if you want people to just fuck off. You can either leave them or do something horrible to them.
The sprites are codersprites, except for the locker, please forgive me
Portals have supported atmospherics linking for a long time, just that it
defaults to off. This would allow admins to let the two things that uses basic
portals (not wormholes) enable it for portals they create.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
* converts to using key instead of ckey for user facing logs and ui
* more key_name for airlock wires
* futureproofing check for if key changes
* --onlyckeymatch script argument and fail/success counter
* fix
cl
experimental: Hitscanning tracers now have lighting effects
experimental: Projectile pathing has been changed - instead of moving to a turf 32 pixels forward using byond's built in step_towards() proc, it now increments 2 pixel 16 times (subject to change). While this will increase the processing overhead, this will more or less eliminate cases of "projectiles clipping past corners in some angles but not others".
This is in preparation for step_x support as the default behavior for these procs is necessary for proper functionality.
turf/Enter and atom/movable/Move default code got rewritten to replicate default byond functionality with minor changes.
* adds signal and modifies each call of afterattack to call it's inherited proc
* uses new macro for sendsignal()
* map fuck
* skip precommithooks
* combine and negate 2 ifs
Why not give the ops a 300 TC instantly obtain the disk button? Or a 300 tc mech that can't be damaged in any way except by pulse lasers?
Just because something is high commitment doesn't mean you can put it at a power level that the station cannot fucking deal with.
someone actually holds this opinion
rscadd: Blast cannons have been fixed and are now available for purchase by traitorous scientists for a low low price of 14TC.
rscadd: Blast cannons take the explosive power of a TTV bomb and ejects a linear projectile that will apply what the bomb would do to a certain tile at that distance to that tile. However, this will not cause breaches, or gib mobs, unless the gods (admins) so will it.
experimental: Blast cannons do not respect maxcap. (Unless the admins so will it.)
* Reduces selfcharge gun processing/icon work
* More efficient gun overlays, adds old_ratio var
* oh my god it was calling the egun's update_icon?
* percent proc
* Attachment overlay overhaul
* Cut overlays in egun update
* ebow 1000% better overlay management
* Update gun.dm
* Pointless check
* Giving KA and children consistent icon behavior
* Update kinetic_accelerator.dm
* Fixed
* ..() readded
* ..() readded
* ..() readded
* Antur didnt catch this one heck
* Because confusing vars are apparently more maintainable
* Gun overlays 2: Electric boogaloo
* another one
* Chameleon guns are removed
* tentacles everywhere
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like
This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
add: Fusion is back
add: Fusion now happens with large quantities of hot plasma and CO2, consuming all the plasma rapidly and producing large amounts of energy. Other gases can also effect the performance of the reaction.
add: Fusion now produces radiation. Be careful around reactors.
fix: fixes fusion dividing by zero and destroying everything
code: Gas reactions now have access to where they are occurring
fix: Prevents some other reactions from producing matter from nothing