* Stock Part Datumization Complete (#72559)
So i accidently reverted all my commits in #72511 when resolving a merge
conflict So ummm yeah fuck my bad anyway
Finishes what was started in #71693 and completes the
[initiative](https://github.com/tgstation/dev-cycles-initiative/issues/1)
Except for `obj/item/stock_parts/cell` and its subtypes. All machines
now use `datum/stock_part` for its requested components & component
parts
Not sure if i caught every machine & stuff in the game so merge with
caution
🆑
code: datum stock part for every obj stock part
refactor: all machines & dependent experiments to use datum stock parts
/🆑
* Fixes a teeny tiny Funce mistake :)
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Makes datum stock parts work for Stock parts Experiment purposes (#71907)
## About The Pull Request
Fixes#71845
Sets the machinery scanning experiments up to check for datumised stock
parts.
## Why It's Good For The Game
Scanning module experiment is broken on live due to datumised scanning
modules, as the experiment was not modified to check for datum stock
parts.
## Changelog
🆑
fix: fixed Advanced Scanning Modules Calibration Experiment not
registering upgraded machines to its progress
/🆑
* Makes datum stock parts work for Stock parts Experiment purposes
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* Better RND logs & Experiment handheld connects to techwebs directly (#71502)
## About The Pull Request
- Adds better feedback to the experiment handler's UI when it can't
connect to a techweb
- Experiment handlers now refs techwebs directly, instead of servers, so
if the server in question breaks there won't have some wonky stuff
happening.
- Adds logs when rnd machines (so techfabs & servers) are disconnected
from a techweb, either on the machine's destruction or when it gets
linked to another techweb.
- Disconnects experiment handlers if the techweb they're connected to
has no more research servers suddenly.
## Why It's Good For The Game
Better RnD logging, better user feedback, and connecting to techwebs
directly instead of servers makes it more resilient to bugs.
## Changelog
🆑
qol: Experiment handlers now give a more reasonable explanation for why
they can't find a server.
admin: Machines being disconnected from techwebs is now logged in
research.
/🆑
* Better RND logs & Experiment handheld connects to techwebs directly
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adds support for non-science techwebs (+Config) (#71070)
## About The Pull Request
This is an expanding of
https://github.com/tgstation/tgstation/pull/69708
Adds a config to not connect machines to a techweb at the start of a
round
Adds the ability to multitool a server to get its techweb in its buffer,
which can then be used on machines to sync them.
Adds support for some machines to not cry when they don't have a techweb
linked to it, in case they actually don't.
If the config to not have machines connected to the science server is
enabled, research servers will make their own techwebs instead. This is
barebones though and would need more work if this option is used.
For misc stuff:
- I replaced checking ``GLOB.machines`` for research servers, to instead
check ``SSresearch.servers``, where we can use ``as anything``.
- Removed unused vars on the RD server control
- I renamed the operating computer's .dm file to remove the capitalized
letter from it. It's now operating_computer instead of Operations.
## Why It's Good For The Game
This is adding support for 2 different cases that can be used in the
future:
1. Off-station roles, we can make roles like Oldstation have their own
techweb so they don't ruin science's efforts, or use their advanced
research to get things we don't want, or even possibly have some
blacklist webs for ghost roles (like teleporters) so that way we don't
need to have this dance where we have to give them a very specific
amount of materials for them to do things while not being able to get a
teleporter and leaving. I heard discussions that people wanted this a
while back, and one of the main things preventing this from happening is
the lack of support. Hopefully this is encouragement to make it a
reality, because I think it would be a really cool expansion of ghost
roles and a good way to prevent them from messing with the round in
progress.
2. Downstreams who want to do different things with Science. Personally
I made this PR with voidcrew(shiptest) in mind and think this would make
their lives easier. I didn't expand too much on this because I'm leaving
up mostly to the downstreams to figure out what they want to do with
these systems.
## Changelog
This generally isn't really player facing, since most of the changes
would only come into effect if the config is enabled??
🆑
fix: Research servers now only show servers connected to their techweb.
/🆑
* Adds support for non-science techwebs (+Config)
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adds a special suicide to the Experi-Scanner (#71103)
## About The Pull Request
Adds a `suicide_act` to the Experi-Scanner.
<details>
<summary>LiveLeak footage</summary>
https://user-images.githubusercontent.com/75863639/200129319-d112c8ea-e9f6-49a2-872b-8c2625f97e67.mp4
</details>
The victim's brain also gets placed into the resulting toilet's cistern.
<details>
<summary>Bodycam footage from the clean-up crew</summary>
https://user-images.githubusercontent.com/75863639/200129302-4b9b37fe-9c02-4712-8502-e4732b9258f5.mp4
</details>
The resulting toilet will not drop meat sheets when deconstructed,
leaving only a pile of bones behind.
_might add some bone crunching sounds later_
## Why It's Good For The Game
More variety is nice. A use for the experiscanner-closed icon. An
ultimate sacrifice for a single toilet that you can scan towards an
experiment.
## Changelog
🆑
add: Added a special suicide to the Experi-Scanner
/🆑
* Adds a special suicide to the Experi-Scanner
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
* Adds more multiz support (#69420)
* Adds more multiz support by making use of ``is_valid_z_level`` instead of simply checking if z is the same.
* Adds more multiz support
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Fixes the stress experiment sometimes not working and rebalances it (#68691)
* Fixes the stress experiment sometimes not working, allowing it to have a scan leeway of 2% each way.
* Fixes the stress experiment sometimes not working
Co-authored-by: Ekaterina-von-Russland <109872269+Ekaterina-von-Russland@users.noreply.github.com>
* Combat mech research nodes now require mech-themed experiments rather than bomb experiments. (#67756)
* Mechs require a new Mech scanning experiment centered around damaging/destroying mechs, instead of being behind weaponry, which requires ordnance research.
* Combat mech research nodes now require mech-themed experiments rather than bomb experiments.
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Makes the noblium gas shells experiment explicitly clear that it means hypernoblium (#67898)
* Makes the noblium gas shells experiment explicitly clear that it means hypernoblium
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
* fix unregister_events() running on null (#62356)
the unregister_events() proc is used to stop listening for a signal from a previously scanned atom for experiment purposes. if the experi-scanner wasn't used for scanning atoms for physical experiments previously, it would cause a runtime, trying to unregister a signal from a non-existant atom.
* Fix runtime on physical experiments' unregister_events() running on null
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
* Basic Cytology Scan fix (#61266)
Basic Cytology Scan Experiments no longer ask for Unknown fluids instead of mice.
You can actually complete the scan now, since you can't grow a basic datum in a vat.
* Basic Cytology Scan fix
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Repaths everything referring to "toxins" while actually meaning either the room in science or plasma gas. While this PR might be disrespectful to our forefathers, given this is (I believe) a holdover from as far back as the Exadv1 days, this has constantly irked me since I started working with the code. None of the player-facing stuff has referred to plasma as toxin since before 4407 hit, besides the Toxins Lab, and yet all of the type-paths are still pointing at toxins, making it a nightmare to search for in a map editor, and making the code needlessly easy to confuse with that of toxin damage. So this just fires it into the sun.
Anything relating to Toxins, the science subdepartment, now makes reference to Ordnance instead. This felt fitting enough given the focus of the subdepartment is around the creation of and testing of explosives.
Anything relating to plasma gas has, fittingly, been made to refer to plasma gas.
Edit: Ah yes, I feel I should probably apologise off the bat for the size of this PR- the code touched is mostly atmos machinery and simplemobs, a few sprites here and there, and of course the station maps + a few offstation maps.
Makes the code more legible and makes mapping less painful.
(The payment has been made)
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fix "Is This Thing On?" sci experiment to accept any explosion(#59966)
...Even those with negative devastation and/or heavy values (like IEDs, welders, fuel tanks).
* The "Is This Thing On?" sci experiment will now actually accept any explosion...
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fix tachyon across z-levels (#59696)
Tachyon-doppler arrays now work when on a different z-level than the RD server provided both of them are on a station z.
Same applies for all things using the experiment handler component in fact.
* Fix tachyon across z-levels
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
* use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
* USE SIGNAL_HANDLER REEEEEE
Co-authored-by: Kylerace <kylerlumpkin1@gmail.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>