Commit Graph

2732 Commits

Author SHA1 Message Date
Pinta
fa5136cad8 [Like 99% Modular] Soulcatchers (#20576)
* wew

* Update soulcatcher.dm

* Update soulcatcher.dm

* Update soulcatcher.dm

* Update soulcatcher.dm

* Update soulcatcher.dm

* file moving

* tgui

* tgui_work

* wew

* more tweaks

* more stuff

* fancy

* nifsoft

* mob

* whoopsie

* man

* mind transfer

* ooc and flavor text

* Update soulcatcher_component.dm

* Update soulcatcher_mob.dm

* persistence

* hud

* a little bit of admin logging, as a treat

* Update soulcatcher_component.dm

* Update devices.dmi

* research

* some things I missed.

* whooops

* Update soulcatcher_component.dm

* Update soulcatcher_items.dm

* Update soulcatcher_component.dm

* lore

* Update soulcatcher_component.dm

* Update soulcatcher.dm

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update soulcatcher_items.dm

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>

* Update soulcatcher_component.dm

* Update tgui/packages/tgui/interfaces/Soulcatcher.js

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>

* >w>

* moves the body component

* Update tgstation.dme

* renaming

* file move

* oh wow, I didn't need to make this non modular

* signals

* Update handheld_soulcatcher.dm

* more touches

* Update soulcatcher_mob.dm

* code suggestions

* Update handheld_soulcatcher.dm

* Update handheld_soulcatcher.dm

* Apply suggestions from code review

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>

* Update soulcatcher_component.dm

* a

* more signals :3

* This is a surprise tool that will be added back later.

* better UX

* Update soulcatcher.dm

* QoL

* Spamming reduction.

* Update nifs.dm

* Update handheld_soulcatcher.dm

* Update soulcatcher_component.dm

* Update soulcatcher_component.dm

* Update modular_skyrat/modules/modular_implants/code/soulcatcher/soulcatcher_component.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update soulcatcher_component.dm

* Update soulcatcher.dm

* no more empty bodies

* 1984

* whoopsie

* transfer fix

* Update mobs.dm

* more logging

* Update soulcatcher_component.dm

* QoL

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
2023-06-01 17:28:29 -04:00
SkyratBot
02e3251f84 [MIRROR] Makes gasses use defines [MDB IGNORE] (#21492)
* Makes gasses use defines

* Mirror!

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-06-01 15:24:31 +12:00
SkyratBot
b926833246 [MIRROR] Allows turbine parts to be made at off-station protolathes [MDB IGNORE] (#21450)
* Allows turbine parts to be made at off-station protolathes (#75651)

## About The Pull Request
smacks a ` | AWAY_LATHE` on the end of the turbine parts `build_type`
edit: Fixes https://github.com/tgstation/tgstation/issues/74078 - thanks
to SyncIt21 for pointing that out. made this pr after finding out I
couldn't print the parts myself, wasn't aware there was an open issue
for it
## Why It's Good For The Game
The circuit boards for the turbine could be printed at ancient circuit
imprinters, but the actual parts needed for the turbine itself couldn't
be printed at the ancient protolathes. I assume this was an oversight
since there's not really any reason why off-station roles shouldn't be
able to make a functional turbine.
## Changelog
🆑 Treach
fix: Turbine parts can now be printed at ancient protolathes.
/🆑

* Allows turbine parts to be made at off-station protolathes

---------

Co-authored-by: Treach <treachce@gmail.com>
2023-05-31 22:26:53 +12:00
SkyratBot
9452bd6f75 [MIRROR] Stabilized metal slime extract now properly add's a sheet to a random stack [MDB IGNORE] (#21504)
* Stabilized metal slime extract now properly add's a sheet to a random stack (#75685)

## About The Pull Request

`/obj/item/stack/sheet/add()` proc not only increments the `amount` var
but also
1. updates the stack's appearance
2. updates it's weight
3. inform's global material sniffer's about it's presense
4. also updates it's custom material's

So let the slime extract use this proc instead of doing a partial
incomplete job ourselves

## Changelog
🆑
fix: stabilized metal slime extract properly increments stacks so that
it's appearance & weight are updated correctly & is picked up by
material sniffers.
/🆑

* Stabilized metal slime extract now properly add's a sheet to a random stack

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-05-29 18:28:07 +01:00
SkyratBot
d52445f5df [MIRROR] Turns Chickens into Basic Mobs [MDB IGNORE] (#21414)
* Turns Chickens into Basic Mobs (#75592)

* Turns Chickens into Basic Mobs

* modular

* Update VoidRaptor.dmm

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2023-05-28 23:42:43 +00:00
SkyratBot
18498007a1 [MIRROR] removes all non-defined materials I found [MDB IGNORE] (#21456)
* removes all non-defined materials I found (#75659)

* removes all non-defined materials I found

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-27 10:34:32 -07:00
SkyratBot
f3d405da28 [MIRROR] Modular Shield Generators, Also Adds a new perimeter algorithm to _helpers/math_dm [MDB IGNORE] (#21426)
* Modular Shield Generators, Also Adds a new perimeter algorithm to _helpers/math_dm (#75328)

Disclaimer im mostly making this pr for the experience if anything.
Also anyone can replace the sprites if they want to I`m just making them
so itl be done, idk what a plasteel machine is supposed to look like.

The circuit boards to make these machines are unlocked by the advanced
power manipulation tech

The entire shield

- Has one big healthpool (base of 50)
- Has a configurable radius
- Takes damage from hot gas and emp
- Has regeneration (it gets nerfed by alot of things that I have to talk
about separately)
- When the shield is broken the generator must regenerate at 0.25x speed
before coming online again
- can be configured to either only generate a shield externally (in
space) or both internally and externally at the cost of half the regen
rate
- Regen rate is also reduced based on the ratio of the shield radius and
the max radius that the generator is capable of generating
- Alot more that im too tired to explain at the moment

The base stats of the shield (max health, regen rate, max radius) all
scale with the tier of parts used in the main generator.

4 other machines (3 are finished code-wise as of now) the charger (regen
rate), the relay (max radius) the well (max health) the node (allows for
more connections) can all be connected to the main generator to boost
its core stats based on their part tiers

In the future there is a possibility of specialization / modifications
to the forcefield at the cost to the core stats

* Modular Shield Generators, Also Adds a new perimeter algorithm to _helpers/math_dm

---------

Co-authored-by: moocowswag <62126254+moocowswag@users.noreply.github.com>
2023-05-25 23:13:30 +01:00
SkyratBot
98cbe7bc1c [MIRROR] Converts butterflies to basic mobs and adds them to cytology [MDB IGNORE] (#21355)
* Converts butterflies to basic mobs and adds them to cytology (#75582)

## About The Pull Request

Converts butterflies into basic mobs.
Also a little list organisation.

<details>
<summary>Yep, those are some butterflies alright</summary>

![image](https://github.com/Skyrat-SS13/Skyrat-tg/assets/8881105/d9e3a14e-e0a5-4275-b440-af0a56e7b8fe)

</details>

## Changelog
🆑
refactor: Converted butterflies to the basic mob system
add: Butterflies can now be grown in cytology
/🆑

* Converts butterflies to basic mobs and adds them to cytology

* updatepaths

---------

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2023-05-23 16:36:53 +00:00
SkyratBot
29cf77f8b8 [MIRROR] Converts Lizards to Basic Mobs [MDB IGNORE] (#21291)
* Converts Lizards to Basic Mobs (#75515)

This was pretty simple since they didn't have too much custom behavior,
and whatever they did have already had AI behavior. I got really burned
out the last two times I wrote intricate AI action/decision behaviors so
I'm just taking it light and doing the bare minimum.

one day our shackles will be free of the simple animal scourge. they're
also a bit more intelligent, and i daresay a bit cuter too now.

also that lizard gib animation has been sitting there for god knows how
long completely unseen, so let's actually hook it into the mob.

* Converts Lizards to Basic Mobs

* update modular

* TEGU

* me when I update  Maps

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-05-21 20:32:43 +01:00
Tom
7ed5e66a69 Fix slime potions used on simple mobs to inherit all language abilities from the user (for real this time) (#68316) (#21220)
[NO GBP] Fix slime potions used on simple mobs to inherit all language abilities from the user (for real this time) (#68316)

Fix language for sentience potions for real

Co-authored-by: Tim <timothymtorres@gmail.com>
2023-05-18 15:34:47 +02:00
coldud13
53293cfb53 [MANUAL MIRROR] R&D Monitoring console TGUI + Can see RD consoles (#72987) (#21131)
R&D Monitoring console TGUI + Can see RD consoles (#72987)

## About The Pull Request

I wrote this while constantly rushing lol

This PR does many things, the largest is that the R&D Monitoring console
(the RD's one) is now TGUI
It also changes how researching loggings work, bringing the RD console
and NtosRD app on par with eachother

The type of person is also logged differently, instead of ``Cyborg:
[name]`` and ``User: [name]``, humans do not have a prefix and cyborgs
will say ``CYBORG [name]``. ``research_logs`` also works differently now
to make it easier to reference each needed data from the list.

Lastly, I added the ability to see R&D consoles from the console, and
the ability to remotely un/lock them down. This currently is pretty
useless as it can't control the tablet app variant, and anyone with
Science access can just unlock it, however with some minor future
changes I think this can be turned into a good way for the RD to get
control of their department.

Video demonstration, mostly (I made a few edits after this):

https://user-images.githubusercontent.com/53777086/215005387-817106f4-5237-4f2e-b0ac-da28e6a17f9c.mp4

## Why It's Good For The Game

This console is overhyped by the game, being hidden behind an RD-locked
Command-colored door, in the same room as one of the most damaging theft
objectives, yet it is one of the most useless and forgotten consoles in
R&D if you don't count everything outside of researching, experiments
and robotics.

This adds a nice TGUI menu while making it a little more worthwhile to
use.

## Changelog

🆑
balance: The R&D monitoring console now shows R&D consoles and their
locations.
refactor: The R&D monitoring console now has a nice TGUI menu.
/🆑

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-15 16:45:30 +01:00
SkyratBot
2b3fdd5e04 [MIRROR] Fixes burning black slime spell skipping some of the cast chain [MDB IGNORE] (#21124)
* Fixes burning black slime spell skipping some of the cast chain (#75335)

## About The Pull Request

Shapeshift needs to go through `before_cast` to select the shapeshift
type.

So, instead of just doing `cast`, we do `Activate`, to go through the
entire cast chain.

At first I was going to run `Trigger`, but by using `Activate` we can
skip some checks. Likely makes it a bit more consistent and less likely
to fail.

## Why It's Good For The Game

Runtime

## Changelog

🆑  Melbert
fix: Runtime with burning black slime transformation
/🆑

* Fixes burning black slime spell skipping some of the cast chain

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-05-15 00:31:21 +01:00
SkyratBot
5e9d2379bf [MIRROR] Stock Part Resprite [MDB IGNORE] (#21014)
* Stock Part Resprite

* wew

* alright

---------

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-09 04:10:18 +01:00
SkyratBot
aac6045ba8 [MIRROR] Golem Rework [MDB IGNORE] (#21001)
* Golem Rework

* SECT 9

* ok

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-09 03:56:30 +01:00
SkyratBot
bac3001826 [MIRROR] Makes industrial gold and regenerative gold spawn random coins. Also adds chococoin to coin spawner. [MDB IGNORE] (#21031)
* Makes industrial gold and regenerative gold spawn random coins. Also adds chococoin to coin spawner. (#75199)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
So they just had list from 6 coins and not random picking of coins, so
now its random.
It will also spawn chococoin because it's a coin too.
But won't spawn `coin/gold/debug` because it's debug and eldritch coin
because comxy asked about it.

Added chococoin to `/obj/effect/spawner/random/entertainment/coin` and
holdables list of wallet.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
Random is funny.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: Indusrial Gold and Regenerative Gold extracts now spawn random
coins and not just list of 6 coins. But no mythril as it has miserable
chance to have summoning effect which have even more miserable chance to
spawn something dangerous and not just mice.
add: Chococoin now has a chance to spawn wherever the coins are used to
spawn (wallets, greed ruins, deltastation bar)
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* Makes industrial gold and regenerative gold spawn random coins. Also adds chococoin to coin spawner.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-05-09 03:54:49 +01:00
SkyratBot
88e4c08a98 [MIRROR] New Medical job: The Coroner [MDB IGNORE] (#20963)
* New Medical job: The Coroner

* Fixes coroner (code-side) (#21005)

* Fixes coroner

* Update jobs.dm

* trailing newline

* wew

* VR Replacements

* w

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-08 03:44:11 +01:00
SkyratBot
911ca7c7f8 [MIRROR] Ectoplasm Anomaly Name and Icon Bugfix [MDB IGNORE] (#20955)
* Ectoplasm Anomaly Name and Icon Bugfix (#75162)

Does as the name states. I found it weird that the ectoplasm anomaly
core is not referred to as raw when you have to refine it and instead
used both the normally refined core icon as well as the name not saying
it was a raw anomaly core at all.

* Ectoplasm Anomaly Name and Icon Bugfix

---------

Co-authored-by: RealityOverseer <76832653+RealityOverseer@users.noreply.github.com>
2023-05-06 17:34:47 +01:00
SkyratBot
c4d4e1da63 [MIRROR] Minerals have been refactored so costs and minerals in items are now in terms of mineral defines. [MDB IGNORE] (#20916)
* Minerals have been refactored so costs and minerals in items are now in terms of mineral defines.

* AI GEN RUN ONE

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-03 22:48:10 +01:00
SkyratBot
22f68874f4 [MIRROR] Service Borger Upri- Kitchen Upgrades [MDB IGNORE] (#20909)
* Service Borger Upri- Kitchen Upgrades

* Update robot_model.dm

---------

Co-authored-by: Dawnseer <126404225+Dawnseer@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-05-03 00:10:27 -07:00
SkyratBot
9a8d92c0a8 [MIRROR] Anomaly refinery no longer lets you insert cores of insufficient quality [MDB IGNORE] (#20829)
* Anomaly refinery no longer lets you insert cores of insufficient quality (#75008)

## About The Pull Request

Pretty self explanatory. Someone just forgot a return statement after
the error message here.

Closes https://github.com/Skyrat-SS13/Skyrat-tg/issues/20803

## Why It's Good For The Game

Bugfix/oversight

## Changelog
🆑
fix: the anomaly refinery will no longer let you insert cores of
insufficient quality to refine
/🆑

* Anomaly refinery no longer lets you insert cores of insufficient quality

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-04-29 09:50:35 +01:00
SkyratBot
209f086eb2 [MIRROR] Fixes Infinite Slime Extract Explosions [MDB IGNORE] (#20812)
* Fixes Infinite Slime Extract Explosions (#74988)

## About The Pull Request
Fixes #74984 by making oil extracts get deleted after they explode
Technically you can still explode multiple times by carrying multiple
extracts but that shouldn't be an issue, it takes all your inventory
space and you still only explode a limited number of times which can
devastate a department but it's nothing you couldn't do with other
explosives.

## Why It's Good For The Game
Rocket Propelled Research Director bad

## Changelog

🆑
fix: Stabilized Oil extracts no longer explode infinitely if your corpse
is immune to gibbing
/🆑

* Fixes Infinite Slime Extract Explosions

---------

Co-authored-by: SkeletalElite <skeletalelite0@gmail.com>
2023-04-28 23:18:42 +01:00
SkyratBot
e8df6da548 [MIRROR] Fixes silo logging + add log file based logging to silo [MDB IGNORE] (#20748)
* Fixes silo logging + add log file based logging to silo

* Update logging.dm

* Update logging.dm

---------

Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-26 21:23:25 +01:00
Pinta
5a055577c2 [MOSTLY MODULAR] Time Clock (#18448)
* the start

* moves the file

* icons

* framework

* Update console.dm

* Update console.dm

* TGUI

* Update console.dm

* Update console.dm

* god I am tired.

* Update console_tgui.dm

* Head of staff change

* sounds

* admin logging

* Map edits

* research design

* Update console.dm

* requested map changes

* trim refactor

* Update console.dm

* admin logging

* Update VoidRaptor.dmm

* a

* Update VoidRaptor.dmm

* Boy, I really hope somebody got fired for that blunder.

* Alert level locking

* manifest updates

* Update console.dm

* Update console_tgui.dm

* Update console_tgui.dm

* Update modular_skyrat/modules/time_clock/code/console.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/time_clock/code/console.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/time_clock/code/console_tgui.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* file move

* Create machine.dm

* Update console.dm

* hehe whoooooops

* new sprites

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-04-23 20:48:49 -04:00
SkyratBot
8164175aa2 [MIRROR] Turns Deer into Basic Mob - They Freeze At The Sight of Vehicles [MDB IGNORE] (#20711)
* Turns Deer into Basic Mob - They Freeze At The Sight of Vehicles (#74784)

## About The Pull Request

deers only show up in the BEPIS but i decided that they would be easy
enough to turn into a basic mob (they were). it was so easy in fact that
i decided to dip my toes into coding AI behavior, and made them freeze
up whenever they see a vehicle. this required a lot of code in a bunch
of places that i was quite unfamiliar with before starting this project,
so do let me know if i glonked up anywhere and i can work on smoothing
it out.
## Why It's Good For The Game

one less simple animal on the list. deers staring at headlights is
pretty cool i think, neato interaction for when you do get them beyond
the joke the bepis makes

i'm also amenable to dropping the whole "deer in headlights" code if you
don't like that for w/e reason- just wanted to make them basic at the
very least
## Changelog
🆑
add: If you ever happen upon a wild deer, try not to ride your fancy
vehicles too close to it as it'll freeze up like a... you know where I'm
going with this.
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Turns Deer into Basic Mob - They Freeze At The Sight of Vehicles

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2023-04-23 14:01:36 -04:00
SkyratBot
92f3327227 [MIRROR] refactors poles and trees into basic mobs [MDB IGNORE] (#20649)
* refactors poles and trees into basic mobs (#74812)

## About The Pull Request
refactors poles and trees into basic mobs. If trees now see you holding
a chainsaw, hatchet, or some wood they will get angry and knock you out
for longer. Poles will run around giving some of their charge to APCs
they find along the way. i did them both in this PR coz poles were a
subtype of trees.

## Why It's Good For The Game
refactor

## Changelog
🆑
refactor: refactors trees into basic mobs
refactor: refactors poles into basic mobs
add: If trees now see you holding a chainsaw, hatchet, or some wood they
will get angry and knock you out for longer
add: Poles will run around giving some of their charge to APCs they find
along the way
fix: cells charged by the pole will now have their icon correctly
updated to reflect their charge
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* refactors poles and trees into basic mobs

---------

Co-authored-by: SMOSMOSMOSMOSMO <95004236+SmoSmoSmoSmok@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2023-04-20 02:24:29 +01:00
SkyratBot
9a594755f3 [MIRROR] Renames delta time to be a more obvious name [MDB IGNORE] (#20507)
* Renames delta time to be a more obvious name

* updates to our code

---------

Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:45:43 +01:00
SkyratBot
5d66a77c49 [MIRROR] Refactors Navigational Beacons [MDB IGNORE] (#20471)
* Refactors Navigational Beacons

* Update all_nodes.dm

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:11:00 +01:00
SkyratBot
3a5a1d4058 [MIRROR] Imports and Contraband: Different! Cargo crates without locks! MEAT! [MDB IGNORE] (#20423)
* Imports and Contraband: Different! Cargo crates without locks! MEAT!

* helping make 20423 a little more mergeable (commits to a nonmaster branch) (#20434)

* regal condor my beloved

* damn ok

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>

* [merges to pr 20423, get this first] more nitpicks in regards to the imports pr (#20497)

missed mirror and a nitpick i forgot

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Hatterhat <31829017+Hatterhat@users.noreply.github.com>
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:03:30 +01:00
SkyratBot
ba88487b5c [MIRROR] Labels security equipment as being lethal, nonlethal, less-than-lethal or highly destructive. [MDB IGNORE] (#20487)
* Labels security equipment as being lethal, nonlethal, less-than-lethal or highly destructive.

* skyrat edits

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-04-11 20:07:06 -07:00
SkyratBot
6f3befe233 [MIRROR] Reagent soup / Soup rework / Stoves - A kitchen expansion [MDB IGNORE] (#20410)
* Reagent soup / Soup rework / Stoves - A kitchen expansion

* fixes that stuff

* puts the range stove on maps that sohuld have it

* fixes some paths that don't exist anymore

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-04-08 13:30:41 -04:00
SkyratBot
ccb8a92cc9 [MIRROR] Updates paper biscuits and the paper cutter [MDB IGNORE] (#20312)
* Updates paper biscuits and the paper cutter (#74473)

## About The Pull Request

Well this started as a PR updating some of the spelling and grammar on
the biscuits... though spilled out a little into other aspects of the
relevant code.
There are a few things I've done here.

**Paper biscuits:**

- Updated spelling and grammar for paper biscuits. Confidental ->
confidential, that sort of thing.
- A little reorganisation and cleanup of the code itself.
- Preset slips are now generated on init on the parent from a var,
rather than each having its own init proc.
- Early returns, clearer vars, etc

**Paper Cutters**
Ended up doing more here, even though it wasn't the original reason I
started looking at this code.

- Added one (1) paper cutter blade to the paper cutters cargo crate.
Raised the price a little. This is just a reskinned hatchet, so I don't
think it's much of a balance concern.
- Clarifies and docs vars
- Cleans up refs on destroy
- Many `to_chat`s to `balloon_alert`s
- Removed single-letter vars
- Cancelled attack chains when trying to actually use the cutter. You
now pick it up either by having the blade secured and no paper inside,
or by dragging it into your hand.

## Changelog
🆑
spellcheck: Paper biscuits now have more proper spelling and grammar
qol: You now get one spare paper cutter blade in the paper cutter cargo
crate.
tweak: You now use right click to cut paper with a paper cutter
fix: You can now remove paper from a paper cutter if you change your
mind.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Updates paper biscuits and the paper cutter

---------

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-04-04 04:45:59 +01:00
SkyratBot
90e8f5f70f [MIRROR] "Biscuit" cards, and also now slip papers are actually paper! [MDB IGNORE] (#20240)
* "Biscuit" cards, and also now slip papers are actually paper! (#74329)

## About The Pull Request
**This is not a literal biscuit which you eat. "Biscuit" is just a
nickname of this kind of snap-cards.**
Slip paper is now actually paper, before that, it was just literally
nothing, an object which does nothing. Because of that, the paper cutter
was useless as well, as it turned normal paper into useless paper slips.
Because of this now paper cutters are placed at:

- Bridge
- HoP office
- Warden office
- Cargo

Also adds biscuit cards. If you have no idea what it is, it's a kind of
card placed around a piece of paper usually to conceal some document and
it can be opened by cracking it with a crunchy sound (that's why it's
named a biscuit). Those are usually only opened in certain situations or
emergencies (The most famous example is the US president's nuclear
biscuit, which contains nuclear codes)

There are 2 biscuits: Normal and Confidential.
Normal is a plain biscuit with nothing really special, can be coloured
if you want as it's white.

![image](https://user-images.githubusercontent.com/42353186/229195802-4ac5ad96-6083-47dc-9ccd-13d132f690bf.png)

The confidential biscuit is blue and has "NT" on it.

![image](https://user-images.githubusercontent.com/42353186/229195753-207d64f1-1f17-418e-a01a-8bfa2c4abc51.png)

There is a not-sealed biscuit you can print in autolathe, it starts open
so you can put paper in and seal later making it a normal crackable one.

Now spare ID safe code automatically spawns in a confidential biscuit in
a new paper slip subtype - corporate slip paper. It's a plastic card
which is sturdier than the normal paper clip.

![image](https://user-images.githubusercontent.com/42353186/229195696-07075f78-c736-43a9-bd14-5cf9ca36ddc9.png)

You can also create the corporate paper slip paper using - normal paper
slip, plastic, and captain rubber stamp (making this paper having a rare
status)

![image](https://user-images.githubusercontent.com/42353186/229195599-75807483-02f9-44cb-ae24-d3388b509ccd.png)

![image](https://user-images.githubusercontent.com/42353186/229195610-5a264ed4-8b04-4452-9032-5755e2419423.png)

## Why It's Good For The Game
Paper slips being not paper is stupid and has no point in being that
way. This also made the paper cutter useless; hence, it was never placed
on any map (and never used).
This PR makes it paper, so it's usable when crew members need a paper
slip instead of a full-size sheet.

Placing paper cutters around the station makes it so the crew can
produce paper slips when they need them, this also gives it finally a
use and place on the station.

The 'biscuits' are cool and give more flavour to the spare ID safe
codes, as well as to other documents people might put in future PRs.
This also makes those paranoid captains which are scared of their spare
ID safe code being stolen and read can sleep tight, as now if someone
opens it up it's really obvious. Now also you can really make sure if
that head is lying about "not touching the spare ID", _but not as anyone
cares really._

**Okay, it's draft for now just so I can add some new things, and fix
the dupe bug:**

- [x] Being able to fax the paper biscuits
- [x] Make it impossible to cut paper slips into paper slips
- [x] Make corporate paper slips craftable or printable
- [x] Make confidential biscuits craftable or printable
- [x] Make paper cutters orderable at the cargo

_CRUNCH_
## Changelog
🆑 DrDiasyl aka DrTuxedo#0931
add: Added 'biscuit' cards! They can contain documents and can only be
accessed by cracking them open, you can't close them back. Nanotrasen
now stores spare ID safe codes in them.
add: Placed paper cutters around the station. They're in Bridge, HoP
office, Warden office, and Cargo.
add: Now you can order paper cutters at cargo.
fix: Now the paper slip is actually paper.
imageadd: The paper slips sprite was slightly tweaked to have text lay
more logically, added the corporate paper slip.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* "Biscuit" cards, and also now slip papers are actually paper!

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-01 21:19:17 +01:00
Gandalf
e4b4d4d3c0 MISSED MIRROR [Lints Against Unmanaged Local Defines] (#20204)
* https://github.com/tgstation/tgstation/pull/74333

https: //github.com/tgstation/tgstation/pull/74333
Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* var stuff

Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* vars

* Update sol_fed.dm

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-04-01 01:15:22 +01:00
SkyratBot
9faf2a16ec [MIRROR] Removes bepis Techweb and reworks tech disks in general [MDB IGNORE] (#20102)
* Removes bepis Techweb and reworks tech disks in general

* e

Co-Authored-By: san7890 <the@san7890.com>

* e

* it will be done

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-03-29 22:19:32 +01:00
GoldenAlpharex
057d4ab998 Polarized Windows: Component Edition (#19907)
* First bits of code for the polarized controller component

* Hopefully finished the component

* Finishes the code for some fully-functioning polarized windows

* Adds the polarization_controller to the global list on Initialize, instead of removing it (whoops)

* Makes the window polarization remote controller printable and gives it an examine hint to explain how to change its ID

* Adds a polarizer_id variable to the window spawner, for mappers, to avoid making a billion subtypes
2023-03-27 04:38:11 +01:00
SkyratBot
7fe3ebcaf7 [MIRROR] Fixes Ice Slipping, Refactors noslip mechanics, Allows magboots to prevent slip slides (but not the slip itself) [MDB IGNORE] (#19874)
* Fixes Ice Slipping, Refactors noslip mechanics, Allows magboots to prevent slip slides (but not the slip itself)

* Update snail.dm

* NOSLIP

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-25 23:22:58 -07:00
SkyratBot
9cee37f70d [MIRROR] [NO GBP]Bolter wrench's design is correctly at advanced engineering now. [MDB IGNORE] (#19843)
* [NO GBP]Bolter wrench's design is correctly at advanced engineering now.

* bolter wrench

* Update tool_designs.dm

* Update tool_designs.dm

---------

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-19 01:21:03 -07:00
SkyratBot
087c4de227 [MIRROR] Stabilized gold extracts can now summon basicmobs [MDB IGNORE] (#19917)
* Stabilized gold extracts can now summon basicmobs (#74020)

## About The Pull Request

Stabilized gold extracts can now summon basicmobs,
Also, summoned familiars become friendly to the owner, which stops stuff
like mice running away.

## Why It's Good For The Game

They can now make cool basicmob carp and stuff
Fixes #74008

## Changelog

🆑
fix: Stabilized gold extracts can now spawn basicmobs
/🆑

* Stabilized gold extracts can now summon basicmobs

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-03-18 03:20:32 -07:00
SkyratBot
5cf9b048a5 [MIRROR] Stabilized Orange can no longer cool you infinitely fast [MDB IGNORE] (#19920)
* Stabilized Orange can no longer cool you infinitely fast (#74027)

## About The Pull Request

Closes https://github.com/tgstation/tgstation/issues/73923
### Mapping March
Ckey to receive rewards: N/A

## Why It's Good For The Game
## Changelog
🆑
fix: Stabilized Orange extracts are no longer able to cool you from any
temperature instantly
/🆑

* Stabilized Orange can no longer cool you infinitely fast

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-03-18 03:20:10 -07:00
SkyratBot
408f0e9c5a [MIRROR] Audits usage of isanimal() vs isanimal_or_basic_mob() [MDB IGNORE] (#19938)
* Audits usage of isanimal() vs isanimal_or_basic_mob() (#74029)

## About The Pull Request

There's a couple of open issues which fix places where only simple
animals were considered, but they are doing it piecemeal.
I decided to just go through every instance of `isanimal` or
`subtypesof(mob/living/simple_animal)` I could find, identify which
should also affect basic mobs, and fix them.

I left out the two others which are already in PR, I'm not stealing your
GBP.

Fixes https://github.com/tgstation/tgstation/issues/68881

## Why It's Good For The Game

Consistency, mostly.
As far as I can tell all of these things _should_ have effected basic
mobs, but didn't.
This fixes a fair number of bugs but also they're bugs that nobody
noticed or reported.

There are a couple of places I did not update which will need updating
in future. These are:
- Dextrousness checks, because basic mobs don't have that yet.
- The Charge cooldown action, because frankly I couldn't tell what it
was trying to do.

alright here goes

## Changelog

🆑
fix: Carp will once again be healed from being near carp rifts
fix: Sepia slime cores and the rewind camera now work on Ian
fix: Sapient ridden carp (or cows) can throw off their riders by shoving
them, or by performing the spin emote.
fix: Giant Spider AI will be disabled by the timestop spell
fix: Ian can eat envirochow
fix: Mice, Frogs, and Cockroaches will no longer set off bear traps
fix: You can put a macrobomb implant into Cayenne (or Ian)
fix: Ian will now recognise that being squeezed by a cyborg is a nice
hug
fix: The player panel will tell admins if you're currently a corgi
fix: The staff of storms deals massive damage to Bileworms and Giant
Spiders
fix: Ian will whimper if forced to scream
fix: Slimes can consume space carp
fix: Mice can be captured in xenoballs
fix: You can use pacifying potions on Giant Spiders
fix: Sgt Araneus can be fitted with a xenobiological radio implant
fix: Sapient corgis no longer count as living players for the purpose of
highlander escape objectives
fix: The random sentience event can now target corgis and sergeant
araneus
add: The random sentience event can target a wider array of farm animals
fix: Petsplosion wizard event can target corgis
add: Petsplosion wizard event will now target farm animals and
mothroaches
fix: The colossus possession crystal can now actually possess the
cockroach it spawns, does not kill you instantly upon ending possession
/🆑

* Audits usage of isanimal() vs isanimal_or_basic_mob()

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-18 03:15:31 -07:00
SkyratBot
7ad441e407 [MIRROR] More stuff to construct & destroy [MDB IGNORE] (#19903)
* More stuff to construct & destroy (#73942)

## About The Pull Request
**1. Suit Storage Units**
- What about them?

1. You can print "suit storage unit" circuit boards from engineering &
science circuit printer's after research to make more suit storage
units, now since they behave like regular constructable machines you can
deconstruct them via screwdriver & crowbar.
   2.  You can upgrade its capacitor to get faster charging speeds

- Why its good for the game?
   1. You can rebuild these in the event they get destroyed
   2. Better tier capacitors = faster charging speeds
3. More storage units = More places to decontaminate your equipment +
Recharge more mod suits made in robotics
4. If you decide to leave the game or your done using a mod suit e.g. a
mining mod suit rather than keeping it to yourself or throwing it away,
just build a suit storage unit and hang it there so other players can
use it i.e., sharing is caring.

**2. Freezer Cabinet**
- What about them?
 1. They are now craftable

![Screenshot
(133)](https://user-images.githubusercontent.com/110812394/224561037-5461be22-e651-4d72-8afc-f797bb7d8a47.png)

  3. You can deconstruct them with a welding tool.

- Why its good for the game?
  1. You can now make more of them if they get stolen/destroyed
  2. More places to store food, dead bodies, whatever

**3. Flood Lights**
- What about them?
They can now be fully deconstructed in the exact opposite sequence you
constructed them.
  - First use screwdriver to open its panel
  - Then use empty hand to remove light
  - Then use screwdriver to unscrew the wiring from frame
  - Use wire cutter to remove wiring completely
  - Finally use wrench to completely deconstruct frame

- Why it's good for the game?
Reclaim used material to build flood light else where . Also much more
clean than what the wiki is suggesting.

![Screenshot
(134)](https://user-images.githubusercontent.com/110812394/224561553-f44a97f3-ac70-49e7-892f-1a05e2323ecb.png)

  ## Changelog
🆑
add: suit storage unit circuit boards to engineering & science
department circuit printers.
add: freezer cabinet as a craftable & destructible item.
qol: flood light can now be deconstructed rather than destroyed/thrown
away.
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>

* More stuff to construct & destroy

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-16 18:41:12 -04:00
SkyratBot
763c0c5eb7 [MIRROR] Reworks trashbags slightly [MDB IGNORE] (#19864)
* Reworks trashbags slightly

* fex

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-15 18:38:27 -07:00
Gandalf
999e96cb2f [MIRROR] Improved engineering tools patch 2: Bolter Wrench (#72445) (#19875)
Improved engineering tools patch 2: Bolter Wrench (#72445)

This adds a new wrench that can be printed after Advanced Engineering is
researched or as a rare mail gift for engineers.

The Bolter Wrench is medium sized (fits on toolbelts and bags but not on
boxes) and can grab into the bolting system of airlocks, raising it's
bolts after a 5 second `do_after`, even if the airlock has no power or
the wires are cut, as long as you can access the inner wires. (Won't
work if the panel is closed or has it's wires reinforced.)

Codersprite blatantly inspired by Iconoclast's wrench and looks like
this:

![bolting](https://user-images.githubusercontent.com/55374212/210415159-dbac7990-46bb-4d42-9061-dd0278905937.png)

![Iconoclasts](https://user-images.githubusercontent.com/55374212/210415375-80070c25-91f9-40bb-aa62-889fc8f0b206.gif)

Right now, the only way to fix a powerless bolted down airlock is by
fixing the power first, this becomes an issue if the APC is behind the
airlock.
If that is the case, the only way in is to break through walls/windows
or destroy the airlock if you can, both add more things you need to
repair, making reconstruction times longer and longer...

Or you use an RCD to delete the airlock in 5 seconds, while faster than
the above method still is another thing to the repair list...

Repairing damaged and bolted down airlocks is such a hassle that
doormag'd airlocks bypass the default deconstruction system and just let
you deconstruct them directly without the steps of unbolting and
welding, something that could be removed with this tool but I won't
defend the pros and cons of it now.

Reconstruction is slow and cumbersome without an RCD. (And even with
one...)
I've been trying to make it smoother without using RCDs or a future RAT
on previous PRs and future ones to come, this tool is part of those
plans.
🆑 Guillaume Prata
add: Bolter Wrench as a new tool, it can raise the bolts of airlocks
regardless of it's power status to smoother station repairs. It can be
printed and is unlocked on the same tier as RCD. It can also rarely be a
mail gift for engineers.
/🆑

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2023-03-15 01:02:26 +00:00
SkyratBot
4912b160a8 [MIRROR] Removes bad nodamage var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage [MDB IGNORE] (#19768)
* Removes bad `nodamage` var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage

* wew

* Update drinks.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-11 04:19:58 +00:00
Gandalf
3d461fc097 [MANUAL MIRROR] [MIRROR] Rapid Wiring Device(RWD) (#72802) (#19758)
Rapid Wiring Device(RWD) (#72802)

Just a big roll of cable(7 stacks worth of cable) you carry around it
has the following features
1. Dual wield it and just walk across plating to lay new cable. Make
sure you wear insulated gloves
2. If you just have it in one of your hands it can pick up any stray
cable pieces lying around
3. Right click on it to dispense a custom amount of cable
4. Refill with cable
5. Alt click to change cable layer
6. Available in autolathe & engineering protolathe round start

https://user-images.githubusercontent.com/110812394/213224959-f393e849-2e0a-4314-ab0e-c10924cf8fce.mp4

1. Clean up cable pieces bitten by rats and lay fresh cable in
maintenance very quickly.
2. For big construction projects. Carrying one big roll of 7 stacks of
cable is much more storage efficient than carrying 7 separate stacks
individually.
3. For wiring Solars very quickly

Also, I'm pretty sure something like this exists in real life so why
not. It's just the rapid pipe cleaner but for cables.

🆑
add: Rapid wiring device
imageadd: Sprite for RWD
/🆑

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-03-10 07:27:13 +00:00
SkyratBot
cc8934c9f5 [MIRROR] Stabilised Slime Extracts will work from inside MODsuits [MDB IGNORE] (#19612)
Stabilised Slime Extracts will work from inside MODsuits

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:09:21 +00:00
SkyratBot
4cd00f275a [MIRROR] Faction defines [MDB IGNORE] (#19590)
* Faction defines

* fixes

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:55:18 +00:00
SkyratBot
f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

* https://github.com/tgstation/tgstation/pull/72876

https://github.com/tgstation/tgstation/pull/72876

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
SkyratBot
88f8ef7adc [MIRROR] Netherworld Mobs Refractor [MDB IGNORE] (#19181)
* Netherworld Mobs Refractor

* Update statues.dm

* Update tgstation.dme

* w

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:44:53 +00:00
SkyratBot
6c978308c7 [MIRROR] Completing experiments after their associated nodes have been researched gives back a partial refund of the discount lost [MDB IGNORE] (#19743)
* Completing experiments after their associated nodes have been researched gives back a partial refund of the discount lost (#73814)

## About The Pull Request

So we're like simultaneously moving two vague directions with research.
One being "experisci grants discounts for prohibitively expensive nodes
so you want to do the experiments to discount them" and the other being
"Let's give Heads of Staff a way to research anything they want without
any communication to the research department, including the very
expensive nodes that scientists may be working on"

You already see the issue, right? You can't have your cake and eat it
too.

It sucks for scientists to be working on a complex experiment like
weapons tech for that huge 90% discount only for the HoS to stumble onto
the bridge and research it anyways. Your time is wasted and RND is
slowed down massively.

We can do something to assuage that.

This PR makes it so completing an experiment which discounts already
completed nodes will refund a partial amount of the discount that
would've applied.

For example, researching industrial engineering without scanning the
iron toilets will refund ~5000 points.

This can only apply once per experiment, so if an experiment discounts
multiple technologies, they will only get a refund based on the first
technology researched.

## Why It's Good For The Game

This accomplishes the following:

- Expensive research nodes with difficult experiments remain expensive
without completing the experiments. If no one does the experiment, they
act the same as before.
- Expensive research nodes with very easy experiments (but time
consuming) no longer put RND on a time crunch to beat the itchy trigger
finger of the Heads of Staff. Stuff like scanning lathes allow the
scientists to work more at their own pace: they can talk to people or
maybe stop at the bar or kitchen between departments without feeling
pressure to get it done urgently.
- Scientists are able to complete experiments which previously were no
longer deemed relevant if they need a point injection. Experiments left
behind are no longer completely useless bricks. Maybe even gives
latejoin scientists something to do.
- Scientists mid experiment can still complete it to not feel like their
time is wasted.

Overall I think this has many benefits to the current science system
where many have complaints.

## Changelog

🆑 Melbert
qol: Completing an experiment which discounts a researched tech node
will give a partial refund of the discount lost. For example,
researching the industrial engineering research without scanning iron
toilets will refund ~5000 points if you complete it afterwards. This
only applies once per experiment, so experiments which discount multiple
nodes only refund the first researched.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Completing experiments after their associated nodes have been researched gives back a partial refund of the discount lost

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-09 20:08:46 +00:00