* Fixes decals and makes the janitor relevant again (#55805)
* guys come on why
* there you go
* and again because autodoc is apparently a thing
* Fixes decals and makes the janitor relevant again
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
* Removes roundstart miasma. Yes, even the gibs that are marked as miasma producers. Fuck you. Carbons now start listening for death at init, then get the component when they die. Gibs behave just as they used to. (#55343)
* Removes roundstart miasma, from everything.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixing a 18.18% chance of gibs streaking 50 tiles away. (#55035)
* Fixing a 18.18% chance of gibs streaking too far away.
* ascended bug, not a new feature. :rolleyes:
* Fixing a 18.18% chance of gibs streaking 50 tiles away.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixing GBJ cases where the disposal holder is forcemoved outside a pipe. (#54643)
Title. Also turned movable/pipe_eject() into a comsig, since it was used only for gibs.
* Fixing GBJ cases where the disposal holder is forcemoved outside a pipe.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Disable some effect systems during init (#53929)
Instantly spread gib streaks rather than doing so over a delay
Completely skip broken light fixture sparking during init
* Disable some effect systems during init
Co-authored-by: Tad Hardesty <tad@platymuus.com>
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
* Bloody feet update (#53109)
Componentized the bloody feet feature.
* Hardsuits and other feet-covering clothing can now get bloody feet as well and spread gunk around.
* Bare feet can now get bloody as well and spread gunk around.
* Shoes/feet won't get bloody if something is covering them.
* Improved blood spreading behaviour. Previously, magic numbers were used in the blood pick up and drop off process. Now, when you step in blood, you and the floor share the blood volume. When you step on a non-bloody tile, you give away half of your shoe blood to the tile, and so on. This means the total blood volume always stays constant when moving around. * Blood doesn't appear out of thin air, nor get flushed to bluespace.
* Lowered footprint minimum opacity. Because it looks better, imo.
* Improved footprint exit/enter dirs.
* Improved footprint examine.
* Removed code for cult magic where a spell can suck up blood on your shoes. I'm pretty sure this code didn't work anyway. Implementing that for this new system would require a new signal and I just don't think it's worth it.
How can this game make you spend 20 hours on fucking spaceman footprints
Hardsuits will become "fully bloody" by just stepping in blood. This is a limitation of the current forensics system, as that is what is used to determine if an item is bloody or not. I'm aware of this but I don't think it fits to fix that in this PR.
cl
add: Footprints and bloody shoes major update. Hardsuits and bare feet can now get bloody as well. Improved blood spreading behaviour.
fix: Shoes will no longer get bloody while wearing something that covers them.
/cl
* Bloody feet update
Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
* Merge pull request #53020 from Qustinnus/fatgrowing
[READY] Vatgrowing: Third time's the charm
* [READY] Vatgrowing: Third time's the charm
Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
* Icon smooth refactor (#52864)
bitflag list construct added: an associative list of bitflags for cheap and quick element comparison between two lists using the same system.
canSmoothWith list turned into a bitflag list.
smoothing_groups list added to substitute the type path list.
smoothing procs turned into atom procs, refactored and optimized a bit.
smooth directions redefined in order to fit in 8 bits for a future smoothing system
some variable names changed, foreseeing a second smoothing system
SMOOTH_OBJ flag added, for things that need to scan turfs for smoothing. The old locate() optimization has the risk of returning false negatives by finding a child and returning null while there might be one of the wanted type as well, as it doesn't match the type exactly.
SMOOTH_TRUE and SMOOTH_MORE condensed into SMOOTH_CORNERS. The old behavior can be replicated using smoothing groups without loss.
Does very minor code cleanup.
Processing-wise didn't find a noticeable difference. The system loses on init a bit by setting the bitflag_lists, and by scanning whole turf contents for object smoothing (increasing accuracy), and gains by making less checks per target to smooth, through the same bitflag_lists.
Memory-wise there should be a small improvement, given that on the old system we had 63512 canSmoothWith lists (a few typelists, most unique), and on this new system canSmoothWith + smoothing_groups are both bitflag_lists from the same pool, totaling 46 in number.
Could be tested a bit to see if I missed any icons not properly smoothing.
* Icon smooth refactor
Co-authored-by: Rohesie <rohesie@gmail.com>
* Startwork
* "Arcane: Everything works up until the export datum bullshit"
* I got up to "Split Profit" in "sell object"
* This is when I switched over to components and it STILL doesn't work
* alright stopwork for the 'night'
* So this is the version that crashes
* One step further in my descent to madness.
* Alright, this should be working (Minus maybe profit_split)
* Alright splitting up custom sales splits is broken right now.
* Profit split works now.
* Alright what the hell is going on here.
* Revert "Alright what the hell is going on here."
This reverts commit 6cb3b6eb56ea45ede3496bbe219ca18302c806e2.
* Oh wait, I can do commit messages through VSC?
* Adds a quick little box with all the shipping supplies you'll ever want, unwrapping signal
* Added shipping box to all maps and the service/cargo lathes.
* Fuck you mapmerge hook you ain't shit
* Alright, yet another take of making it get rid of the pricetag
* [3:43 PM] oranges: anturk is smart (This is true)
* Tested, cleaned up component procs, and limits signals sent a bit.
* Whoops
* Other comments from Ninja over discord
* Left in a comment line.
* Fixes the issue with ind. barcodes, adds examine.
* Well thank GOD the children wern't there to see it
* Adds a do_after to prevent accidents.
* Fixes merge conflicts
* Fixes merge conflict. Twice in one day.
* Fixes merge conflict.
* one tiny bit of documentation
* Travis play nice.
Running over salt (that is, moving over salt while not walking) will
slowly dissipate it. The first two times, nothing will happen, but the
third time the salt will be fully scattered away.
I think salt is a hard enough counter to revenants that it's impossible
to justify how easy it is to apply and how relatively permanent it is
once it's applied. Salt smoke can coat entire departments in salt in
seconds, locking revenants out of them forever with essentially 0
effort.
* Makes all CanPass procs call parent
* Makes CanPass more extendable and gives the mover a say in the matter
* Replace CanPass with CanAllowThrough to use the new system
Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`
* Simple optimization pass
* Initial Commit, Plastic Boxes and Soda Rings. Basic carp interaction.
* Beads, trash created from breaking plastic, carp eat plastic properly.
* Cleans up sprites, adds designs to autolathe, and adds plastic plants
* Icon Conflict more like Ion Comblict because I can't spell
* Oh neat, there's already a party crate. Added Beer/Soda 6packs to the crate, adjusted price accordingly.
* Aaaaaaaaaa runtime loop.
* You win this round travis.
* Makes the in-hand sprite the soda can sprite because honestly it's close enough don't @ me
* Typo.
* Merge conflict, style changes, FINE CARP DON'T BREATHE.
* BEGONE CONFLICT BEGONE FROM ME
* bra
* ME GRAMMAR GOOD?
* asbestos in your lung
* Merge branch 'master' into CARPET
* Merge branch 'master' into CARPET
* bruh
* Revert "bruh"
This reverts commit 186de868197ee5904ae2e72060736dc3a505f66d.
* Revert "Revert "bruh""
This reverts commit a855f2b838f02b852fb16f4a15123ca5a26b858f.
* orange man, reasonable
* Update code/modules/reagents/chemistry/reagents/other_reagents.dm
Co-Authored-By: Fel <fludd121@gmail.com>
* Update code/modules/reagents/chemistry/reagents/other_reagents.dm
Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* cobby is a good amnitni
* e
About The Pull Request
Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls
This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE
I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game
Code usability
* ian's birthday
* missing )
* hop shirt + bday cake is on front desk
* confetti 1/2
* confetti 2/2
* corgi balloon, hop gets a knife to cut the cake
* forgot knife + inhands + mapping
* oranges review, old var removed
* oranges request ;)
* 1/4 done? maybe?
* more
* stuff
* incremental stuff
* stuff
* stuff & things
* mostly done but not yet
* stuffing
* stuffing 2: electric boogaloo
* Git Commit and the Kingdom of the Crystal Skull
* make it actually compile
* found more stuff
* fixes
* fix AI laws appearing out of order
* fix windows
* should be the remaining stuff
* this time for real
* i guess it should compile too
* fix sechuds
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
Meant to be part of #42864 , but got a little big so I'll add it to wichever gets merged last.
[Snailcrawl demonstration](https://youtu.be/IL7WFpfRo4c)
PROS
- Gets snailcrawl, wich makes them greatly faster and gives them a lube trail
- Their blood is spacelube
- They get a cool armored nodrop snail shell
- They don't slip
CONS
- Very slow
- Punch is pathetic
- Tttaaalllkkk llliiikkkeee ttthhhiiisss
- Extremely vulnerable to salt
- Can't wear glasses
Adds gastrolisis, wich is pretty much [this](https://www.youtube.com/watch?v=lFbPi8o0OEU) spongebob episode where they slowly turn into snails
You can also get gastrolisis by random_reagent_id, so maintpills and botany
🆑
add: Adds snailpeople as a rare genetics accident.
sprite: Snailshell sprites by nickvr628
/🆑
Snailshell sprites by @nickvr628
Why: It's a silly gimmicky race and it's a rare occurence. Also extremely highly requested for some reason
* Glowing goo glows more, and always contains radium
🆑 coiax
tweak: Glowing goo now glows a lot more noticably in the dark, and
always contains radium.
/🆑
You can barely see it in the dark, should glow more. Also, the normal
in-game method of creating it is spilling radium on the floor, so all
glowing goo should have radium in it, even the roundstart stuff.
* Roundstart goo now contains either radium or uranium
* Radium is now a subtype of uranium, because nearly-identical behaviour
* Gibs now rot and generate miasma
🆑 coiax
add: Gibs will now rot if not cleaned, and produce small amounts of miasma, approximately
equal to a quarter of a corpse.
/🆑
Miasma is fun. Gives the janitor more of a reason to do work. It will only become
dangerous if you have a lot of gibs in a small space. So better keep those Hopline shutters
open.
* Rot component, for things that rot
* Whoops
* No longer processes, so doesn't need to stop
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl
Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.
They have the following specifications:
They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
They do burn punch damage instead of blunt.
They are weaker to blunt; especially when low on charge
They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.