* 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>
* pea soup bowl (#54687)
About The Pull Request
Fixes#54678.
Why It's Good For The Game
Dear god, imagine what people could do with infinite bowls... in fact, I'd rather not.
* Pea Soup Now Requires a Bowl (THE ECONOMY IS SAVED!)
Co-authored-by: EOBGames <58124831+EOBGames@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>
* Ridden vehicles pass bullets, checks for new incapacitation traits for whether or not you fall off (#54376)
Ridden vehicles now pass any objects that normally pass tables. This includes bullets, thrown objects, and probably dwarves?
Ridden vehicles check for the various incapacitation traits instead of just usable hands for whether you fall off. Doesn't fix corpses buckled to these objects but that'll require more work to fix because it's all tied into relay_move.
This doesn't affect any ridden object that doesn't checks for hand availability. Like skateboards and wheelchairs (although how exactly your wheelchair is moving without hands or mechanical parts is beyond me).
* Ridden vehicles pass bullets, checks for new incapacitation traits for whether or not you fall off
Co-authored-by: necromanceranne <40847847+necromanceranne@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>
* Capitalises Settings, Ghost and Sound menu titles at top (#54640)
This makes it so the Settings menu and the Ghost and Sound submenus have their names capitalised like the rest of the options on the menu bar at the top of the screen.
* Capitalises Settings, Ghost and Sound menu titles at top
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>
* The reactive teleport armor now actually teleports the owner. (#54645)
It was a lie all along. Also stops it from working in no-teleport areas.
* The reactive teleport armor now actually teleports the owner.
Co-authored-by: Ghom <42542238+Ghommie@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>
* Fix some cargo bounties accepting/rejecting the wrong items. (#54580)
Bounties that were supposed to refuse subtypes of the requested items used to accept them anyways. Now they refuse them correctly.
Bounties that were supposed to accept subtypes of items that were excluded from acceptance used to still refuse those subtypes. Now they correctly accept them.
* Fix some cargo bounties accepting/rejecting the wrong items.
Co-authored-by: Yenwodyah <yenwodyah@gmail.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>
* Adds a visual filter to the stasis status effect. (#54609)
Adds ripple filter effect when the user gains the stasis status effect.
* Adds a visual filter to the stasis status effect.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Various fixes to mechs (#54595)
Vehicle objects now call bumpopen() rather than Bumped() when moving into an airlock, and thus will once again open any door the pilot has access to. Closes#54480
Fixes Ripley MK-I to MK-II conversions destroying equipment.
MK-I to MK-II conversions now sets the MK-II's integrity to be same percentage as the MK-I's integrity. Thus, upgrading a full-health MK-I will no longer result in a damaged MK-II.
Both Ripley types no longer start with an orebox, that function has been moved to the Clarke.
* Various mech fixes
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Megafauna once again gibs immortal miners (#54495)
Memento Mori + Megafauna no longer equals softlocking the game.
* Megafauna once again gibs immortal miners
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Canister max. pressure capacity display fix (#54600)
Atmos canisters now display their correct max. pressure capacity. Game code always expects kPa, code for SI-prefix-generation only expects the base unit (here: Pa), so the displayed value was always off by the factor 1000.
* Canister max. pressure capacity display fix
Co-authored-by: MadMedicineMan <65600900+MadMedicineMan@users.noreply.github.com>
* Fixes gunlight runtime related to overlay lighting (#54614)
Also fixes lights not updating once the holder changes.
* Fixes gunlight runtime related to overlay lighting
Co-authored-by: Azarak <azarak10@gmail.com>
* Initialize and LateInitialize runs correctly at round start (#54594)
I've been pulling my hair out on this one. Ever since I started my ntnet project, I could never get LateInitalize to work right. Apparently it has never worked right. How it was set up before on server start
Station map loads, Does NOT run Initialize(mapload = TRUE)
Generates space, lavaland/icebox ruins
Loads a ruin, DOES run Initialize(mapload = TRUE) EXCEPT on areas
End of mapping system
Atom system Initialized and it checks and runs Initialize(mapload = TRUE) on world
You see the issue? Initialize and by extension LateInitialize is run in blocks. Worst, LateInitialize is run on turfs FIRST in ruins BEFORE Initialize is ever run on the other atoms. While there isn't much in Area, there is map_generator so I am sure it caused some grief for map creators.
The NEW order now is
Station map loads, Does NOT run Initialize(mapload = TRUE)
Generates space, lavaland/icebox ruins
Loads a ruin, Does NOT run Initialize(mapload = TRUE)
End of mapping system
Atom system Initialized and it checks and runs Initialize(mapload = TRUE) on world
Also if you dynamicly load a map, like snowdin or such, it will Initialize all atoms at once and then run LateInitialize properly
* Initialize and LateInitialize runs correctly at round start
Co-authored-by: WarlockD <warlockd@gmail.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>
* Removes shoe stealing shortcut (#54583)
Intent combos suck ass as it is and we don't need to make them worse by having obscure shortcuts for gimmicks that can be done with the strip menu, I've seen this used accidentally dozens of times and maybe once on purpose
* Removes shoe stealing shortcut
Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.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>
* Properly sanitizes the pixel scaling pref (#54592)
It was being rounded to 1, which breaks one of the options.
I've added a float sanitize proc that accepts a degree to round to, I've set it to 0.5 in this case.
* Properly sanitizes the pixel scaling pref
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.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>
* Adds fingerless insulated gloves as a Assistant heirloom item. (#54446)
Well, it adds fingerless insulated gloves to the game, and it also makes them a Assistant heirloom item alongside the heirloom toolbox. The sprites and code were taken from Skyrat, with some modifications by me.
* Adds fingerless insulated gloves as a Assistant heirloom item.
Co-authored-by: sergeirocks100 <31294280+sergeirocks100@users.noreply.github.com>
* Pacifists now taunt secbots when attempting attacks with harm or disarm intent. (#54570)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Pacifists now taunt secbots when attempting attacks with harm or disarm intent.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>