* changes duct layer of alkaline input in reaction chamber to 4th (#59095)
* Changes Duct Layer of Alkaline Input in Reaction Chamber to 4th
Co-authored-by: Greniza <61635418+Greniza@users.noreply.github.com>
* Stop singularities from consuming themselves (#58987)
This bug was fixed by one of the connect_loc PRs, but this is still useful as it contains a CRASH for when it happens if this bug comes back again.
* Stop singularities from consuming themselves
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes a ci error caused by adding an element to something that'd being deleted (#59108)
So that's why mythril coins kept harddeleting.
Man I'm glad I added an error on adding elements to qdeleted objects.
* Fixes a ci error caused by adding an element to something that'd being deleted
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Adds deflection messages for no damage attacks against objects (#58873)
* Adds deflection messages for no damage attacks
* Changes the addition to ", which doesn't leave a mark" instead
* Adds deflection messages for no damage attacks against objects
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Fixes some fucked Destroy()s (#58973)
Some stuff was failing to return qdel hints, might as well sweep that upppppp
(Hey mothblocks I know you're reading this, we should really lint for this, but don't push yourself over it I
know you're busy as it is)
* Fixes some fucked Destroy()s
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* validate THIS integration tests (#59024)
Hi, the #58882 PR missed that validate takes an item, no parent var lookup required.
Why It's Good For The Game
UNFUCKS MASTER
* [SPEEDMERGE CANDIDATE] Validate THIS integration tests
Co-authored-by: Funce <funce.973@gmail.com>
* fixes master (adds a name to the venomous prefix, fixes bad signal in udders.dm)
* Update signals.dm
* AAAAA
* Update udder.dm
* Update CentCom_skyrat_z2.dmm
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882)
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more)
* AAAAAAAA
* Update spellbook.dm
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* GOOFUDDERS: YOU CAN MILK ANYTHING (You can only milk cows, goats gutlunches but with componentized goodcode) (#58910)
Co-authored-by: 81Denton <32391752+81Denton@ users.noreply.github.com>
Co-authored-by: Qustinnus <Floydje123@ hotmail.com>
* GOOFUDDERS: YOU CAN MILK ANYTHING (You can only milk cows, goats gutlunches but with componentized goodcode)
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: 81Denton <32391752+81Denton@ users.noreply.github.com>
Co-authored-by: Qustinnus <Floydje123@ hotmail.com>
* (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc
* WHEW THAT WAS EASY
* Update ammo.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Add admin tool for adding specific fantasy affixes (#58884)
A new option when using VV on atom movables is to add a custom
fantasy "affixes".
* admins can add specific fantasy affixes to items
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Fixes a fuck ton more harddels (#58779)
Redoes how geese handle eating shit, it was fucking stupid and caused harddels, and while this method is technically slower in the best case, it's a fucking goose
Fixes action related harddels, I hate how they work but at least this way they won't hold refs.
Fixes the hierophont causing its beacon to harddel
Removes the M variable from megafauna actions, it was used like a typed owner and caused harddels, so I burned it
Fixes target and targets_from harddels, replaces all setters of target with LoseTarget and GiveTarget, which should help maintain behavior. I'm not sure if this breaks anything, but if it does we should fix the assumptions that code makes instead of reverting this change
Fixes more area_senstive_contents related harddels, we need to allow the mob to move before clearing out its list.
Fixes marked object harddels (I'm coming for you admin team)
Fixes a language based human harddel
Fixes managed overlay related harddels (This was just emissive blockers, but I think this is a good safety net to have. If we clear the overlay list we should clear this one as well)
Fixes bot core harddels, I hate the fact that this exists but it has no reason to know who its owner is
Adds a walk(src, 0) to simple_animal destroy, it's the best bang for the buck in terms of stopping spurious harddels. Walk related harddels aren't that expensive in the first place, since byond does the same thing I'm doing here, but this makes finding mob harddels easier, so let's go with it
I fixed another source of part harddels, I hate fullupgrade so much
Fixes all the sound loop harddels
* Fixes a fuck ton more harddels
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Component readme file now links to the Signals, Components, and Elements HackMD page instead of the forum (which links to the hackmd page now anyways) (#58876)
* Component readme file now links to the Signals, Components, and Elements HackMD page instead of the forum (which links to the hackmd page now anyways)
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Fixes gunboots shooting the wearer (#58651)
For whatever reason, gunboots could immediately shoot the person wearing them when they fired. This obviously isn't ideal, so this fixes that. Once the bullet has ricocheted off something, of course, they're once again fair game to be hit. This also kills the projectile_shooter component because it was pointless
Fixes: #58242 (Bullets fired from gunboots hit the wearer)
As if the trail of people trying to kill you for wearing this isn't bad enough, you don't need the shoes themselves doing you in
* Fixes gunboots shooting the wearer
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* woops (#58757)
I was an idiot in #57797 and forgot to make the rune wizards can buy to add shield charges to their shielded hardsuits actually delete after being used, allowing you to use one rune infinitely. Oops! This PR fixes that.
No more invincible wizards
* Fixes infinite wiz shielded hardsuit charges
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor
- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.
* Miscellaneous changes
- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments
- Removes a whole bunch of argname = 0 in explosion calls.
* Removes named callback arguments.
* Changes the explosion signals to just use the arguments list
Adds a simple framework to let objects respond to explosions occurring inside of them.
Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.
Makes the explosive compressor and blastcannon actually use the TTVs they are given.
Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments
*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Add Show Hiddenprints action to VV on atoms (#58657)
This displays the hiddenprint log from /datum/component/forensics in a simple to view form, sorted by last touch. I didn't make it fancy, it's very bare bones.
I could have refactored hiddenprints to use lists in lists, which would make getting data out a lot easier, but I worry about the additional memory overhead on every atom that gets touched, so I left it as strings in lists. I did reformat it a little bit, however, to make it simpler to sort, and it looks a little nicer. Namely moving the timestamp in front of the name.
It can help a lot in admin investigations on whodunnit. Right now they have to look at the forensics component, and that's if they even know about it. This way it is discoverable by using the VV tool.
* Add Show Hiddenprints action to VV on atoms
Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
* Full Auto Update: no crit firing, no spamclicking, more autofire, more balance
* aaa
* Update fullauto.dm
* aaaaa
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fixes pop restricted uplink items not properly unlocking (#58542)
Makes it so if you become a traitor when specific items are pop locked, they will update accordingly as the population increases.
* Fixes pop restricted uplink items not properly unlocking
Co-authored-by: Seth Scherer <supernovaa41@protonmail.com>
* Hollowpoints and similar attacks/weapons double existing armor, not add total armor, to the their targets (#58114)
* Hollowpoints and similar attacks/weapons double existing armor, not add total armor, to the their targets
* a
* Update tools.dmi
* Update tools.dmi
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Renews Maintenance Drones
* And these have conflicts too, but you can't see them
* Skyrat Map Updates (Adding Supermatter Room Area)
Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Gives the slippery component a default whitelist of allowed slots (#58267)
* Gives the slippery component a default whitelist of allowed slots
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Gives rotting things a timer before they become fully effective to give more leeway for cleanup. Lowers the max values for disease effect and proc chance significantly. Cleans up some silly zone selection code. (#58290)
* Makes rot more forgiving of slow cleanup
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Cleanup (#58234)
as x doesn't work properly when used in for loops over special lists.
One instance of as anything in get_turf() in crafting code was removed as entirely redundant. It was an untyped for loop anyway.
Two instances of as anything in contents changed for wheelchairs with warnings added to change them to as anything loops when we upgrade to 514.
* Cleanup some for loops that use "as contents" over special lists until we upgrade to 514.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Deletes recipient_reagents_holder on del (#57767)
* Deletes recipient_reagents_holder on del
* Cleans up recipient refs when recipient dels
* no one saw that
* Makes plumbing listen to component signal for finishing
* Unregisters enable call
* Deletes recipient_reagents_holder on del
Co-authored-by: Time-Green <timkoster1@hotmail.com>
* Refactors shielded hardsuits into a component, fixes kisses consuming shield charges (#57797)
Shielded hardsuits (like the syndie ones) and shielded cult robes, despite functioning very similarly, were actually implemented twice in their own pockets of clothing code. This merges them into one component that lets you block a certain number of attacks while your suit has charges, and have the suit recharge itself after going so long without being hit (optional, cult robes still don't regain lost charges).
This PR also fixes harmless kiss projectiles consuming charges on shielded suits, I'm sure to much disappointment. They'll now pass directly through though, so you can still try your luck to see if love truly conquers all (it probably won't).
One casualty of this is that you can no longer toggle the shield color of syndie hardsuits with a multitool since that it was annoying to componentize, not something that affected gameplay, and probably something noone knew you could do anyway.
Fixes: #57723
* Refactors shielded hardsuits into a component, fixes kisses consuming shield charges
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Processable and grillables and microwavables now give helpful examines, some condiment containers also do (#57694)
* IM DONE LOOKING AT THE WIKI FOR BASIC SNIZZLE
* microwaved, too
* HOOH
* LINT, review
* review but this time im not lying :trollface:
* maybe i should just like test or something
* reviews i missed
* 🐑
* Processable and grillables and microwavables now give helpful examines, some condiment containers also do
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* TGUI Limbgrower + Limbgrower refactoring and design expansion (#57955)
Refactors the limbgrower to modernize the code. Now, the limbgrower can accept any type of reagent in limbgrower designs.
Adds simple plumbing demand to the limbgrower, so you can pipe synthflesh into it.
Adds monkey tails, felinid ears and tails, lizard digitigrade legs, lizard tongues, fake lizard tails (unusable in lizard-wine and similar recipes), plasmaman organs, and ethereal organs (minus the heart) to the limbgrower via limbgrower design disks. These disks can be printed from the medical lathe once the required technology has been researched.
Adds a technology node to unlock the limbgrower design disks after advanced biotech, xenoorgan biology. In the future, this could have an experiment requirement - maybe to scan multiple types of species.
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* TGUI Limbgrower + Limbgrower refactoring and design expansion
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* autofire no longer does SIGNAL_HANDLER_DOES_SLEEP (#58066)
* autofire no longer does SIGNAL_HANDLER_DOES_SLEEP
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Lowers rot disease chance (#58034)
Lowered the chance of disease creation by ~60%
Every round was having horrible breakouts, this ought to fix that
* Lowers rot disease chance
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Fixes lights on people (#58000)
- Fixes light eaters not putting out lights on people.
* Fixes the light eater not eating lights people are holding.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>