* 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 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>
* 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>
* 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>
* 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>
* 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 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>
* 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>
* 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>
* 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>
* 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>
* Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
* Moves screen objects from mob to hud
* Update radial.dm
Co-authored-by: nicbn <nicolas.nattis@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Merge pull request #54347 from uomo91/trashbagsprite
The trashbag of holding now has its own inhand sprite.
* The trashbag of holding now has its own inhand sprite.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Fixes slices on pizza and resizes some foods (#54353)
fix: you can no longer cut pizza into bugged slices
fix: some small foods are actually small again
* Fixes slices on pizza and resizes some foods
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Converts some unique and typelists into stringlists (#54237)
* Converts some unique and typelists into stringlists
Co-authored-by: Rohesie <rohesie@gmail.com>
* Finishes the job on null rod sprites hopefully once and for all (#54235)
* One more pass on null rod sprites + null rod storage sanity pass
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Null rods no longer vanish when selecting a new holy weapon skin. (#54321)
Put null rod in active hand > Bring up radial menu to select new skin > Swap active hands to hand that is full > Select new skin > Nullrod spawns in nullspace, can't be put in active hand, stays in nullspace, old rod deleted > Chaplain has no null rod.
Now we (redundantly) spawn the new null rod at the holder's drop_location instead of nullspace.
We use put_in_hands which will attempt to put it in the active hand, followed by any free hand, followed by the drop_location if all else failed (told you the above was redundant, probably good practice to do though)
* Null rods no longer vanish when selecting a new holy weapon skin.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* BSbodybags inherit heaviest item weight + Easier to escape the disarm/BSbodybag combo (#54065)
Bodybags now inherit the weight of their heaviest item. If it doesn't have a weight (people), we assume bulky since things like people can be firecarried or whatever.
It now takes less time to get out of a bag (20 > 12 secs), and the progress bar is unbreakable unless you get incapacitated. This means people interested in using it to kidnap can still do so but it requires considerably more effort that isnt based on a latency difference and a quick disarm. The timer still runs down if you open the bag and try to put them back in but good attempt😏.
This also fixes an issue with the BSB where it was picking up or otherwise doublecalling checks from inheritance.
* BSbodybags inherit heaviest item weight + Easier to escape the disarm/BSbodybag combo
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* Adds Alloy Materials (#53623)
Adds and implements alloy materials
Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.
Materials added:
Plasteel
Plastitanium
Plasmaglass
Titaniumglass
Plastitanium Glass
Alien Alloy
Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.
Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.
(Lemons note: Adds a regeneration component, used for alien alloy)
* Adds Alloy Materials
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fix some potential sleeps as detected by SpacemanDMM improvements (#54230)
overrides weren't detected by should not sleep, i think i've mostly
fixed that with SpaceManiac/SpacemanDMM#214
Some of these are wacky but overall this pr is harmless
signals shouldnt sleep even in weird 1 in a million situations or due
to other people adding bad code
overrides of changeling can_sting() use alert() and input() and that's
just too fucked for me to fix in this pr
* Fixes some potential sleeps as detected by SpacemanDMM improvements
Co-authored-by: spookydonut <github@spooksoftware.com>
* Converts Pizza to use the new food component. (#53641)
pizzas now use processing component
* Converts Pizza to use the new food component.
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Fixes the supply console not inheriting contraband and emag status from its circuit (#54177)
Added an abstract proc for circuits intended to be used to allow a circuit to configure a machine.
Overrode this proc for supply console boards (behaviour inherited by express boards)
Call this proc in supply console on_construction (behaviour inherited by express supply consoles)
Allows all supply consoles to inherit their circuit's emag and contraband status.
Doesn't look like any other circuits use this sort of functionality, but if they do I'll fix 'em up too.
* Fixes the supply console not inheriting contraband and emag status from its circuit
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* RPD unwrench upgrade (#53615)
* Most OP atmos tool. RPD that can unwrench pipes.
Adds reverse wrench mode upgrade to the RPD.
Attention, due to budget cuts, the mode is hard linked to the destroy mode control button.
Now /obj/machinery/atmospherics/deconstruct(disassembled = TRUE) return created obj/item/pipe
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* RPD unwrench upgrade
Co-authored-by: Dennok <Deneles@yandex.ru>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>