* Refactors connect_loc_behalf into a component (#60678)
See title. Also refactors caltrops into a component because they use connect_loc_behalf which requires them to hold the state.
This also fixes COMPONENT_DUPE_SELECTIVE from just outright not working.
connect_loc_behalf doesn't make sense as an element because it tries to hold states. There is also no way to maintain current behaviour and not have the states that it needs.
Due to the fact that it tries to hold states, it means the code itself is a lot more buggy because it's a lot harder to successfully manage these states without runtimes or bugs.
On metastation, there is only 2519 connect_loc_behalf components at roundstart. MrStonedOne has told me that datums take up this much space:
image
If we do the (oversimplified) math, there are only ever 5 variables that'll likely be changed on most connect_loc_behalf components at runtime:
connections,
tracked,
signal_atom,
parent,
signal_procs
This means that on metastation at roundstart, we take up this amount: (24 + 16 * 5) * 2519 = 261.97600 kilobytes
This is not really significant and the benefits of moving this to a component greatly outweighs the memory cost.
(Basically the memory cost is outweighed by the maint cost of tracking down issues with the thing. It's too buggy to be viable longterm basically)
* Update glass.dm
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Del The World: Unit testing for hard deletes
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Drugs of the 26th century. Three new hella rad drugs, one less lame drug and more!
* Update traits.dm
* Update maint_loot_trash.dm
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Mindshielding now sends a signal, and is dealt by the antagonist (#60850)
Mindshielding people isn't hardcoded to the mindshield's implanting anymore, instead sending a signal, which I find better in the long run (especially for downstreams).
* Mindshielding now sends a signal, and is dealt by the antagonist
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* AAAAAAAAAAA
* pollution scrubbbies
* fires cause smoke, right? Also NSS journey has scrubbies
* washing things removes the smell!
* what the fuck were you doing last night
* Update temporary_pollution_emission_component.dm
* space turfs shouldn't have pollution
* Fix air now fixes smoke
* Update pollution.dm
* Update pollution.dm
* Update bonfire.dm
* Cyborg emergency reboot module now is no longer dropped if revive is succesful (#60848)
Co-authored-by: Colovorat <lolqwert569@ gmail.com>
* Cyborg emergency reboot module now is no longer dropped if revive is succesful
Co-authored-by: Colovorat <35225170+Colovorat@users.noreply.github.com>
Co-authored-by: Colovorat <lolqwert569@ gmail.com>
* Healium crystal changes (#60477)
Healium crystals now straight up fix the air in a room instead of giving an undetermined amount of gas
Area fixed is now a 7x7
Changed the recipe to no longer require freon but O2 instead
* Healium crystal changes
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Crystal foam - crystallizer new recipe (#60535)
Adds crystal foam, a crystal grenade made in the crystallizer from CO2, N2O and H2O. When used it will release a big foamed area that will close any breaches, similar to the smart foam grenade.
* Crystal foam - crystallizer new recipe
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Fixes 2 DNA activator descriptions (#60553)
There was an empty space between name and suffix when there wasn't one, and expended DNA activators wouldnt get the name 'expended' if it didn't work, despite being so.
* Fixes 2 DNA activator descriptions
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* initial
* whoops
* more fixes
* forgot
* frick
* oop
* minor visual fixes
* cleared out-of-date stuff that was asimilated by erp update. ye, sry for that but useroth said i can if i need to
* interface fixes + cleaned trash.
* fixesss
* more fixes
* other interface fix and im dumb
* text and fonts fixes
* mapfixes
* small item fix
* floppa my beloved
* fixme
* yepp
* little addition to vibrator
* more user friendly toys
* hotfix because im dumb
* informing user about stuff happening in their genitals
* Fixed strip menu for new slots
* Vibrating toys now makes constant vibration sounds.
* fucking ton of fixes, i debugged so much stuff i want to die when did i slept last time
* signal vibrator fixes
* i guess its all bugs for now, need testing
* hotfix
* chemicals fixed. other dumb bug fixed too
* feex
* undo
* aight, some text stuff
* repsrited signal vibrator, fixed some dumb bugs. Almost ready for tommorrow pr.
* tried to fix things, need to test
* fixed?
* maybe now its fixed
* we finished here.
* yeah, credits. I forgot them.
* Oh well, resolved the conflict wrong.
* map fixed
* formatting test
* more linter stuff
* did changed that skyrat asked me to
* kinda fixed more stuff
* remove mapchanges
* no magic like kat magic
* please
* further mapchanges removal
* fix
* little fix, because one map supposed to be changed.
* quick structure fixes + balance stuff
* some fixes. remind - fix worn tomorrow.
* ah fuck it, i fixed it now. Who need sleep anyway?
* furnitures are no longer invuln
* fixes poles
* milking machine uses cuffs instead
* makes stuff uses cuffs
* frick
* fix lints
* stuffe
* line
* Forgot to add this little feature
* OKAY FINE I GUESS 10 MINUTES IS TOO MUCH.
* squashed bugs
* minor fix to prevent visual bugs with pillow piles.
* frick
* removed logging
* pref for toys
* tabs
* suggested idea added
* hot fix
* Revert "suggested idea added"
This reverts commit 33796f0abb896b83d02dbefee4e3b62df5f6a5db.
* Revert "hot fix"
This reverts commit bf0bc6330f5897ce2d67bb9571eb818d3a64325b.
* fuck the suggestions, i just want it to work fine
* fuck the suggestions, i just want it to work fine
* truly fixes lints
* balance tweaks + fleshlight fixed
* more balance tweaks
* gasmask fixes. Now it doesn't kill people but still makes them suffer
* fix ball mittens
* dead people tell no tales
* some minor fixes
* grammars
* add messages
* use a new pref
* simple check
* knock-knock. Who? A fix.
* fuck
* fixes vibrators
* hexacrocin now can be cured properly
* fix x_stand
* frick
* FUCK
* fixes everyonr being horny
* fixes pain
* fixes strapon
* stop process
* nymphomania fixed
* fix spam
* fixed heels and quirks
* Dead people shouldn't cum
* Knock-knock. A penis enlarger fix
* use the traits goddamn it
* Nymphomania fix
* Fucking moths can't now chomp vibrators
* Added yes/no check to climax button, also some improvements and multiple messages bugfix
* milking machine balance tweaks, bimbo trauma fix
* milking machine construction messages added
* some fixes
* Revert "Fucking moths can't now chomp vibrators"
This reverts commit 2bf37ca3b0b98c3bbd7bf35626faa7a0be54fcfb.
* little clean up of code, but it still doesn't works properly
* fuck the moths. You can't eat vibrators once more.
* catsuit bug fix
* balance tweaks
* Pillows now made of cloth, not metal.
* pillow fixes
* masochism quick fix
* dumb quickfix, it will break anything, don't panic
* yay now it works again
* nymphomania fix
* clean up
* half of ball mittens fix. For another half buy our DLC just for 2,99$!
* IM COOL I FIXED THE BALL MITTENS! FINALLY!
* prefs now works properly
* pain stuff fixed, i guess. no more arousal by decompression damage.
* lol how did i missed those
* can't buckle fucking cows to milker anymore
* oops
* me cool
* fixed small bug with pillows
* gasmask quick fix
* fix spam
* fixes strapon
* balance stuff.
* fix because im dumb
* fix
* the last fix for this codebomination. I hope this is it.
Co-authored-by: Katherine Kiefer <sterlite2902@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
* start of reagent forging
* reagent forging
* add the three items to ashwalker den
* try again
* ore smelting, and more
* sorry trace, buffs primitive
* more changes
* gosh, camelCase will always be the best
* makes the occupational corruption device less cryptic (#60685)
Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>
* Makes the occupational corruption device less cryptic
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Thunder12345 <stewart@ critar.demon.co.uk>
* wrestling rings
* can now tackle off of the turnbuckles
* muh linters check
* jesus fucking christ
* Update wrestlingring.dm
* changed location of comments
* moreeeeeeeeeeee fixesssssssss
* Standard bananium floor is now viable for clown decoration. It doesn't slip. (#60585)
* Standard bananium floor is now viable for clown decoration. It doesn't slip.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes the map sprite for lizard plushes (#60416)
This PR fixes the placeholder map sprite for lizard plushes. I included a map sprite in my original GAGS PR but I forgot a single character from the icon_state which made it not work and I didn't realize until after it was merged.
* Fixes the map sprite for lizard plushes
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Lets construction bags be put in pockets like they were intended to (#60460)
* Lets construction bags be put in pockets like they were intended to
Co-authored-by: jughu <melvin2626@live.nl>
* Fix wallet ID access (#60449)
* Fix wallets ID access
* Refactor id_card code to be simple
* Refactor id_card even further
* Fix wallet ID access
Co-authored-by: Tim <timothymtorres@gmail.com>
* Makes only mapload foods require players to pick them up to decompose (#60392)
Co-authored-by: Changelogs <action@ github.com>
* Makes only mapload foods require players to pick them up to decompose
Co-authored-by: Wallemations <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: Changelogs <action@ github.com>
* Spraycans actually empty if used below 2 units while colouring lights. (#60395)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Spraycans actually empty if used below 2 units while colouring lights.
Co-authored-by: DomitiusKnack <56321744+DomitiusKnack@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes difficulties with placing lattices on multiz maps. (#60124)
Title. Because of mob and object visuals under open space being able to be hovered over with the cursor and examined and in general acting as entities distint from the turf holding them it tends to be hard or even impossible to build floor and catwalks over these turfs. This PR aims to fix it with a basically simple, more-convenient-than-a-painstaking-refactor and easy to apply element (edit: and proc).
* Fixes difficulties with placing lattices on multiz maps.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>