* Fixes table stacking exploit (#54650)
Tables could be placed on top of each other, leading to stacking of glass tables, and infinite sin. This doesn't cover anything close to all of it, but it's a good patch for now.
* Fixes table stacking exploit
Co-authored-by: Rohesie <rohesie@gmail.com>
* Use drop_location() for StartProcessingAtom() (#54701)
* Uses drop_location() for StartProcessingAtom() instead of get_turf(src)
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Removes capitalisation from stasis bed name (#54680)
About The Pull Request
Makes the name of the lifeform stasis unit lowercase like all other improper nouns.
Why It's Good For The Game
Consistency, I guess
* Removes capitalisation from stasis bed name
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Removes changeling teams and hivemind channel (#54054)
* Removes changeling teams and hivemind channel.
* More cleanup
* some more stuff
* Removes changeling teams and hivemind channel
* Update horror_form.dm
* Update horror_form.dm
* Update horror_form.dm
Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Removes capitalism and communism golems [the sun sets on freedom] [fall of the iron curtain] (#54637)
About The Pull Request
Removes commie and cappy golems, and all connected parts and features.
Why It's Good For The Game
You're downloading 5 mb of capitalist and communist songs and talk sounds every time you log into a server, which makes it take much longer to actually join the game. While this was a good meme and became even better when cappy golems would fight the communist ones, they are:
Really really underused for what they are
Really really boring and simple without all the special sounds
Really really not worth keeping gutted
Changelog
🆑
del: Capitalism (golem) and Communism (golem) are dead.
/🆑
* Removes capitalism and communism golems [the sun sets on freedom] [fall of the iron curtain]
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* StartProcessingAtom() no longer creates things inside mobs (#54655)
Slicing a held pizza no longer results in the slices being created inside you.
* StartProcessingAtom() no longer creates things inside mobs
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Fixes two incorrectly named COMSIG defines (#54660)
* Fixes two incorrectly named COMSIG defines.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Labcoats: Roboticist unique labcoat, updated remaining labcoats (#54644)
Gives the roboticists unique labcoats. Because why are geneticists allowed a unique labcoat but roboticists get a generic one?
So now, roboticists have the most extra of the labcoats to go with their jumpsuits. It even has shoulder pads!
The rest of the labcoats have had a very mild tweak, and their icons now no longer use the ancient, janky labcoat sprites. You know, the ones with the fucked up outlining.
Oh also the virologist labcoat suggested it was somehow more protective against biological things. This is not true, so the labcoat has had it's description fixed.
(While I was here I fixed up some suit storage sprites related to the stuff that goes in labcoats, hehehe)
* Labcoats: Roboticist unique labcoat, updated remaining labcoats
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Refactors tile reskinning (#54233)
* Refactors tile reskinning
* revert maxhealth changes
* what's with the extra spaces
* Include floors in the name changes
* tile fix and delete and create instead of change
* damn you github auto-resolve
* more atomization
* Refactors tile reskinning
Co-authored-by: Rohesie <rohesie@gmail.com>
* Converting the EMP protection component into an element. (#54617)
* Converting the EMP protection component into an element.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Holodeck bedsheets no longer drop cloth when cut (#54548)
they now check if they have HOLOFLAG_1 and if they do they dont drop cloth
* Holodeck bedsheets no longer drop cloth when cut
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Adds layer switching with mouse wheel to the RPD. (#54458)
Adds a signal that gets sent to items in currently active hand on mouse scroll
and makes RPD listen to this and change the piping layer accordingly.
* Adds layer switching with mouse wheel to the RPD.
Co-authored-by: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com>
* Replaces var edited mass driver machinery with subtypes (#54557)
This PR replaces var edited mass driver machinery with proper subtypes.
It also fixes the Pubby toxins pod door toggle. Turns out the mass driver control range was a few tiles too short.
* Replaces var edited mass driver machinery with subtypes
Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
* Directional lighting component + light system (#54520)
Adds in a new type for the lighting system, the directional one. It piggybacks on the overlay lighting to create a directional effect + adds a nice visual cone mask to make the effect feel really directional.
Also: made the static light system respect the light_on variable.
It feels really nice to shine AT things you're looking at with flashlights and the such, it makes maintenance scouring much more immersive too.
Adds more paranoia as you dont see light behind yourself when you've got a flashlight. Plus makes ambushes more fun
* [READY]Directional lighting component + light system
Co-authored-by: Azarak <azarak10@gmail.com>
* Adds game logging to welding airlocks, firedoors and lockers (#54593)
* Adds game logging to welding airlocks, firedoors and lockers.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fixes AI upgrades not being applied correctly (#54589)
Fixes AI upgrades not applying:
due to the item's afterattack() proc never being called
due to the attack chain ending early
due to the AI's attackby() proc returning true
Anyway, easiest way to fix it was to change the item to use pre_attack() instead.
* Fixes AI upgrades not being applied correctly
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Finally, peas for the whole station. (#54573)
This PR brings three new plants, and 6 new food recipes into being. This is a combined port of Citadel-Station-13/Citadel-Station-13#12211 and Citadel-Station-13/Citadel-Station-13#12510, along with the fixes made along the way.
Laugh Peas contains 7% Laughter.
World Peas contains 10% Pax and Happiness, but takes at least 21 cycles to bear a harvest, by having a maturation time of 20.
Salad of Eden contains 3 units of Earthsblood, 5 units of Omnizine, and 2 units of Happiness, but requires one of every ambrosia leaf, as well as a world pea.
Credits to TripleZeta for the base peas sprite, and Stewydeadmike for the Laugh, World, and food sprites. Without them, the peas would have remained an ideasguy sort of deal.
* Finally, peas for the whole station.
Co-authored-by: TheObserver-sys <58029438+TheObserver-sys@users.noreply.github.com>
* Makes dressers not drop wood when they have the NODECONSTRUCT flag (#54534)
* Makes dressers not drop wood when they have the NODECONSTRUCT flag
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Makes flashlights do a clicky noise when they're turned on or off (#54521)
* Makes flashlights do a clicky noise when they're turned on or off
Co-authored-by: Azarak <azarak10@gmail.com>
* Adds a cooldown to the jukebox's error sound (#54470)
Also changes the access and lack of database errors to local sounds instead because that just makes more sense.
* Adds a cooldown to the jukebox's error sound
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
* Fixes various do_after related issues from #54409 (#54513)
* Break differently
* Feex
* Fixes various do_after related issues from #54409
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Add Lasagna to the game (#54438)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Add Lasagna to the game
Co-authored-by: alphanerdd <60521518+alphanerdd@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Adds sounds for the PDA (#54499)
This makes the PDA play all sorts of nice sounds, aswell as sounds for ejecting or inserting the ID/pen/cartridge.
The noises for pressing buttons will need for your ringer to be ON, the other noises get played either way.
* Adds sounds for the PDA
Co-authored-by: Azarak <azarak10@gmail.com>
* Malf AIs no longer fail their survive objective if piloting a shell (#54346)
* Malf AIs no longer fail their survive objective if piloting a shell when the round ends
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Standardizes attack chain signal returns and fixes a tk bug (#54475)
The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.
In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.
Additionally, fixed a tk bug reported by @ Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack
Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.
Also cleaned some code here and there.
* Standardizes attack chain signal returns and fixes a tk bug
Co-authored-by: Rohesie <rohesie@gmail.com>
* Anonymizes chapel intercom, so chaplain doesn't know who's talking. (#54476)
Adds support for radio's that anonimize the user, and adds one to every chapel.
It adds a new layer of immersion, and the option to anonizmie the speaker adds new options for mappers.
* Anonymizes chapel intercom, so chaplain doesn't know who's talking.
Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
* Implements timed_action_flags for do_after-like procs (#54409)
Originally I wanted to fix an issue where the `get_up()` `do_after()` would ignore the callback checks, because it was `uninterruptible`, so that made me refactor these procs to allow for higher granularity on checks and standardize behavior a bit more.
There's more work to be done for them, but one thing at a time.
* Removes the `uninterruptible` check in favor of the more granular `timed_action_flags`
* Cleans code on the `do_atom`, `do_after_mob`, `do_mob` and `do_after` procs to standardize them a little better.
* Implements timed_action_flags for do_after-like procs
* Update horror_form.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Replaces instances of NanoTrasen with Nanotrasen (#54473)
spellcheck: replaces instances of NanoTrasen with Nanotrasen
* replaces instances of NanoTrasen with Nanotrasen
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Fixes gold walls not having an icon (#54478)
In the current version of the game gold walls have no icon and appear as black blocks. This PR updates the gold wall icon states to be in line with the other mineral walls.
* Fixes gold walls not having an icon
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Moves lava into the new smoothing system (#54441)
2kbs more for the rsc, less runtime icon-processing operations and server-client communication to add the new images.
* Moves lava into the new smoothing system
Co-authored-by: Rohesie <rohesie@gmail.com>
* removes hexane (#54437)
removes hexane gas from video game
(the ability to hear dchat got removed like half a day ago) (Lemons note, it's been more then half a day)
it will speed up atmos a bit with less reactions, the reagent from the gas does the same things as halon + bz and the reaction from it is pretty similar to halon, they are both gases that exist to stop fires, i dont think we need both
* removes hexane
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Fixes another dynamic issue with protected roles rolling traitor (#54452)
In short:
picking_specific_rule didn't apply configs.
* Fixes another dynamic issue with protected roles rolling traitor
Co-authored-by: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com>
* iron sand now has a default sprite for map editor (#54457)
it looked like normal plating
now it doesnt
* iron sand now has a default sprite for map editor
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Improves VV-related code (#54416)
VV-related code cleanup
Added code to trigger the proper setters for several variables that have them.
Added some admin logging for var-edit teleports.
Cleaned-up some code all around.
* Improves VV-related code
Co-authored-by: Rohesie <rohesie@gmail.com>
* SSeconomy/var/bank_accounts is now an association list of account identifiers and datums for O(1) performance (#54430)
Title. Also added some precautions to bank_account/new() and the crab17 gear.
The fact the majority of functions pertinent to the bank_accounts list was O(n) disquieted me.
* SSeconomy/var/bank_accounts is now an association list of account identifiers and datums for O(1) performance
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Refactors occupant to use setter (#54373)
This is to make it easier to attach a signal to the setting of the occupant.
* Refactors occupant to use setter
Co-authored-by: nicbn <nicolas.nattis@gmail.com>
* Medical kiosks operated by telekinisis can now properly show brain traumas. (#54420)
If someone with a brain trauma is scanned by a medical kiosk, and then the kiosk is examined by someone else (who does not have a brain trauma), the kiosk would incorrectly show them that the patient has no traumas.
* Medical kiosks now properly show brain trauma to others.
Co-authored-by: Mike Long <lordpidey@users.noreply.github.com>