* Excercise Equipment is now craftable (#71190)
## About The Pull Request
Imagine if you will a humble chaplain who wants nothing more than for
all of the spiritual folk on the station to get as massive gains as they
can, after finding that they can not just make more exercise equipment
and that the station does not have any in public places, they go annoy
security enough to get into permabrig only to find out that they cant
even unwrench the equipment and move it to the church!!!
NOT ANYMORE!!!

crafting recipies

demonstrating unwrenching and wrenching equipment

crafting a punching bag and punching it
Now you can craft as much exercise equipment as you want! May everyone
on the station get as strong as possible and not just prisoners.
Also I changed the message that plays when you try to use exercise
equipment someone else is using into a balloon alert.

## Why It's Good For The Game
Access to exercise equipment on some maps is limited to static positions
and is currently mostly only for prisoners as every map does not have
public exercise equipment. Expanding the access means that you can have
a Drill Sargent Head of Security or Captain who commands people use
these or allows a psychologist to prescribe healthy exercise habits to
their patients.
I think having the potential for exercise equipment on every map is more
fun and also if prisoners get their hands on tools they should be
allowed to mess with these to annoy security or aid in their escape.
## Changelog
🆑
add: the punching bag, bench press, and chest press are all able to be
crafted and unanchored.
add: crafting recipes for the above
qol: changed a chat message into a balloon alert
qol: adds screentips to equipment (thanks for suggesting i do this
mothblocks!)
/🆑
* Excercise Equipment is now craftable
Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
* giant chains now go above mobs (#71259)
## About The Pull Request
giant chains used to go under mobs
they no longer do that
## Why It's Good For The Game
tall vertical objects look garbage when going under mobs
## Changelog
🆑
qol: giant chains now go above mobs
/🆑
* giant chains now go above mobs
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Easy's Super Omega "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits.
* Removed all the conflicts, and started converting all the arms and legs to the proper typepaths
* Actually makes the game compile :)
* Makes the maps compile too!
* Early mirror of #71143 because it's more relevant to us
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Glass inconsistency fixes (#70961)
## About The Pull Request
Some glass types strangely had no radiation blocking abilities like
normal plasma glass, which doesn't make any sense, though reinforced
glass was able to block almost all. This also fixes fulltile plasma
glass to have twice as much integrity as the normal amount, like with
all the other glass types.
## Why It's Good For The Game
Inconsistency fixes
## Changelog
🆑
fix: Fixes radiation blocking properties of glass types.
/🆑
* Glass inconsistency fixes
Co-authored-by: Comxy <tijntensen@gmail.com>
* Refactors some signal misuse with the stationloving component (#70496)
* Refactors secluded locs
* Tweak
* Use traits instead of signals
* Review
* Type error
* Refactors some signal misuse with the stationloving component
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Small Seconds Define Cleanup for Spawners (#70719)
Hey there,
I was doing some codediving, and I stumbled upon this spawn_time silliness in mob spawner code, so I just swapped everything to use SECONDS defines (since units are very epic).
* Small Seconds Define Cleanup for Spawners
Co-authored-by: san7890 <the@san7890.com>
* Head pikes now drop their mounted heads upon destruction (#70720)
* wow this doesnt look right
* better idea
* Head pikes now drop their mounted heads upon destruction
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Janicart refactor (#70591)
Showing this oldie a bit of love with some minor modernization.
cl ShizCalev
refactor: Modernized the janicart!
fix: Fixed janicart examine message not mentioning how to dump it when it was almost empty, but not completely empty.
fix: Fixed varedited janicarts having no caution signs visible when they went over 4 signs.
/cl
* Janicart refactor
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Chairs now get placed in the direction you are facing (#70641)
chair direction fix
* Chairs now get placed in the direction you are facing
Co-authored-by: Ebb-Real <95765134+Ebb-Real@users.noreply.github.com>
* Sign with slime mutation map for xenobio (#70539)
* Sign with slime mutation map for xenobio
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
* Fix training toolboxes not setting vis_flags correctly (#70618)
Fix training machines not setting vis_flags correctly
* Fix training toolboxes not setting vis_flags correctly
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Makes the railings drop the same amount of rods as used (#70588)
About The Pull Request
Fixes a bug where constructing a railing would take 6 rods, but deconstructing would only give 3.
Why It's Good For The Game
Fixes#70570
* Makes the railings drop the same amount of rods as used
Co-authored-by: JoeNamath <36791242+Darknesshaz@users.noreply.github.com>
* Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase (#70504)
Adds a few new types of stairs, and makes stairs buildable within rounds.
Also removes the terminator sprite variation for stairs, because its basically unused and really not needed with plane cube multiz.
* Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
* Fixes showcase microwave's missing sprite (#70392)
#70203 changed the microwave's dmi path but did not replace the showcase variant's icon with the new dmi.
* Fixes showcase microwave's missing sprite
* Microwave Aesthetics
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Fixes not being able to place chairs on lavaland (#70236)
Fallount from the misc changes, it assumed all non floor turfs were
groundless. This resolves that
* Fixes not being able to place chairs on lavaland
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Wall clocks are no longer described as powered by bluespace (#70198)
* Wall clocks are no longer described as powered by bluespace
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* "It has been 0 days since the last incident" sign (#70099)
Adds a fun sign to various places in engineering which tracks how many days (read: rounds) it has been since last time the engine delaminated.
* "It has been 0 days since the last incident" sign
Co-authored-by: Jacquerel <hnevard@gmail.com>
* SECURITY RESPRITE - DARE.
* [MDB IGNORE][THIS SHOULD BE PR'D TO AN ALREADY OPEN MIRROR] Security Resprite - conflict fixes and modular changes (#16367)
* No Head?
* comemt clena
* boot stuff mostly
* Im done touching this file it makes me sad
* I hate overrides :(
* Kill off the now obsolete vest
* How long has this not even worked for? /mob/ linked in Icon? Why?
* low-key just committed so the PR could re-run checks
* Fixes Blueshift not compiling!
Co-authored-by: axietheaxolotl <86872535+axietheaxolotl@users.noreply.github.com>
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Adds seethrough component (#69642)
Adds a seethrough component!
Standing behind a big object with this component will make the object transparent:
https://youtu.be/nnyWMJakVtE
And no one else can see it:
And yes you can click through it thanks to the power of plane masters!
Standing behind a tree is a pretty big meme and people will have to either shift right click or bump into you to ever find you. This makes it so much better to implement big objects, since they no longer obscure the tiles behind them
It's also useful for existing big objects, like billboards and the likes
🆑
qol: You can now see through big trees when you stand behind them!
refactor: Adds a seethrough component to make it easier to add big stationairy objects without reducing visibility
/🆑
Info
This is done by sending an override overlay to the user that obscures the normal object and plays an animation.
It registers an ENTERED signal on specific turfs. Those tiles in which it hides stuff is defined as a list of list coordinates, for which I made a global list with some defines. It's really crappy and I'd appreciate some feedback on that
* Adds seethrough component
Co-authored-by: Time-Green <timkoster1@hotmail.com>
* fixes a typo during window construction (#70087)
replaces 'from the floor' to 'to the floor' since you're building the window, not deconstructing it.
* fixes a typo during window construction
Co-authored-by: coldud13 <coldud13@users.noreply.github.com>
* Planks create barricades on doors/windows and can be crowbarred (#69676)
* Wooden planks can be used on doors/windows to barricade it, using a can_barricade Element.
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Planks create barricades on doors/windows and can be crowbarred
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Save 2.2s minimum (with zero ruins, likely a good bit more in production) of atom init time (#69564)
Pre-sort smoothing_groups and canSmoothWith
Without any ruins, these sorts were taking more than 0.6s, and the bulk of the runtime cost of sortTim during init time.
This only happens on init and they are never changed apart from that, so pre-sorts everything and adds a unit test (in the form of #ifdef UNIT_TESTS, because you can't initial a list) to ensure that they are proper.
Keep visibilityChanged() to mapload only for turf/Initialize
Saves about 0.4s worst case scenario (e.g. with no ruins). Very expensive code (175k loop iterations) for 0 side effects.
Space areas now have the fullbright overlay, not the space turfs
Saves about 0.8s worst case scenario. Seems to work fine with starlight.
Remove is_station_level check for window spawners assigning RCD memory.
Saves about 0.3s worst case scenario. The logic for this isn't consistent since neither walls nor floors check this (for performance), plus some minor micro-opts to spawners.
Optimize is_station_level
Doubles in speed, used heavily in /turf/open/floor and in other initialization procs. Bit hard to tell exactly how much is saved, though.
* Save 2.2s minimum (with zero ruins, likely a good bit more in production) of atom init time
* Hopefully fixes the broken CI
* Okay now it shouldn't be failing CI anymore (hopefully)
* Fixes even more issues with smoothing_groups, this time hopefully for good
* Okay NOW it's going to pass CI, surely...
* Okay haha what if it passes this time? :)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>