Commit Graph

3986 Commits

Author SHA1 Message Date
SkyratBot
8720bf61c3 [MIRROR] Adds a unit test for species changes keeping clothings [MDB IGNORE] (#16213)
* Adds a unit test for species changes keeping clothings

* digilegs digital legs

* Fixes the unit tests and an additional runtime too, woo!

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-25 02:12:55 +01:00
SkyratBot
d27cd97f74 [MIRROR] [IDB IGNORE] [MDB IGNORE] Makes the icons/mob folder sane [MDB IGNORE] (#16030)
* [IDB IGNORE] [MDB IGNORE] Makes the icons/mob folder sane

* fix map merges

* icon paths and merge conflicts

Co-authored-by: skylord-a52 <skylord-a52@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-24 20:10:28 -04:00
SkyratBot
248a73b488 [MIRROR] Stomach get_availability() now checks for NO_HUNGER instead of broken trait that no mobs have. [MDB IGNORE] (#16086)
* Stomach get_availability() now checks for NO_HUNGER instead of broken trait that no mobs have.

* Update DNA.dm

* manual mirror

* You gotta do what you gotta do

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-24 19:16:44 -04:00
SkyratBot
c9603f21e7 [MIRROR] Fixed maps constantly being metastation (fixes recent maps being included in mapvote) [MDB IGNORE] (#16324)
* Fixed maps constantly being metastation (fixes recent maps being included in mapvote) (#70006)

About The Pull Request

See title. The vote subsystem needs to load after the persistence subsystem so that the blocked_maps list can be properly populated with data from the RecentMaps.json in the data folder.
This fixes the maps constantly being metastation
Why It's Good For The Game

Same map over and over again = bad
Different maps each time = good
Changelog

cl
fix: Fixed map vote including maps that have already been played twice in the last 3 rounds.
/cl

* Fixed maps constantly being metastation (fixes recent maps being included in mapvote)

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-09-24 22:33:03 +01:00
SkyratBot
a00cad0164 [MIRROR] Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) [MDB IGNORE] (#16248)
* Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua)

* [PR for MIRROR PR] Changes for 16248 (#16277)

* Merge skyrat changes, update SR SS's, and remove lobby_eye

* Apply suggestions from code review

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

* Update modular_skyrat/modules/autotransfer/code/autotransfer.dm

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

* restore lobby_cam for now

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

Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-24 17:32:40 -04:00
MidoriWroth
15e4828e22 Teshari cultural food (#16138)
* Teshari cultural food

* reorganized some file paths

* made the jerky a little more appetizing

* removed unnecessary text from the teshari food define
2022-09-24 15:38:57 -04:00
SkyratBot
caa72add87 [MIRROR] Lets cats attack mobs in the rat faction [MDB IGNORE] (#16399)
* Lets cats attack mobs in the rat faction (#70051)

* Lets cats attack mobs in the rat faction

Co-authored-by: pizzie11 <arandom11111@gmail.com>
2022-09-24 15:34:32 -04:00
SkyratBot
d9a4aaf2cc [MIRROR] Demoralization fixes [MDB IGNORE] (#16402)
* Demoralization fixes (#69924)

* Demoralization fixes

Blind mobs will no longer be demoralized by posters and graffiti.
Illiterate mobs will no longer be demoralized by the words on posters.
Mobs will no longer be demoralized by posters & graffiti if it's too dark to see them.

Also makes can_read use reading check flags, one for literacy and one for light.

* Demoralization fixes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-24 12:12:04 -07:00
SkyratBot
24d4bf1e6b [MIRROR] Add file and line to stack_trace [MDB IGNORE] (#16321)
* Add file and line to stack_trace (#70003)

Add file and line to stack_trace

* Add file and line to stack_trace

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-09-19 22:15:44 -07:00
Tom
91c5846ec2 Return of APC arcing, modular edition (#16153)
* fixes APC arcing

* Proc doc

* wooo modualrtiry

* review
2022-09-18 11:52:04 -04:00
SkyratBot
761f11e71b [MIRROR] Significantly increases the volume of tritium combustion radiation pulses. All gas reactions that release radiation pulses will now have a constant radiation threshold. [MDB IGNORE] (#16283)
* Significantly increases the volume of tritium combustion radiation pulses. All gas reactions that release radiation pulses will now have a constant radiation threshold. (#69749)

Gas reaction radiation.

Sets TRITIUM_RADIATION_RANGE_DIVISOR to 0.5, from 1.5. This effectively makes the range behave as if there are 10 times the tritium getting burned than before.

Renamed TRITIUM_RADIATION_THRESHOLD_BASE, PN_TRITIUM_RAD_THRESHOLD_BASE, and PN_BZASE_RAD_THRESHOLD_BASE to TRITIUM_RADIATION_THRESHOLD, PN_TRITIUM_RAD_THRESHOLD, and PN_BZASE_RAD_THRESHOLD. Updates description for these defines, and sets them to 0.3.

The radiation threshold for tritium combustion, proto-nitrate tritium response, and proto-nitrate bz response has been changed to be their radiation threshold defines, instead of a scaling factor from 1 to 0.

* Significantly increases the volume of tritium combustion radiation pulses. All gas reactions that release radiation pulses will now have a constant radiation threshold.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-09-17 11:45:19 -07:00
SkyratBot
8c3500c2b7 [MIRROR] Makes flash hyper vulnerability based on negative flash resistance modifier, removes snowflake trait. [MDB IGNORE] (#16284)
* Makes flash hyper vulnerability based on negative flash resistance modifier, removes snowflake trait. (#69530)

* Makes flash hyper vulnerability based on negative flash resistance modifier, removes snowflake trait.

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
2022-09-17 11:43:30 -07:00
SkyratBot
d56ee7630e [MIRROR] Kills /obj/shapeshift_holder, replaces it with /datum/status_effect/shapechange_mob, also does a lot of Wabbajack refactoring [MDB IGNORE] (#15988)
* Kills `/obj/shapeshift_holder`, replaces it with `/datum/status_effect/shapechange_mob`, also does a lot of Wabbajack refactoring

* Apply suggestions from code review

* fix

* unironically the best solution

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-09-15 22:29:56 -07:00
SkyratBot
cb4f6915d9 [MIRROR] Fixes Bread Smite Causing Some Fucked Up Shit [MDB IGNORE] (#16254)
* Fixes Bread Smite Causing Some Fucked Up Shit (#69853)

* Fixes Bread Smite Causing Some Fucked Up Shit

Hey there,

So basically, when you had the bread smite done on you, you were _just_ added to the contents of the bread. Nothing more. That means that you could pick it up. You couldn't add it to your bag (it would always return back into your hand(?)), but it would create some weird oddities that was just cursed in general. Let's make it so you can't hold the container that you are contained within by giving you HANDS_BLOCKED.

* actually we don't need the named arg

lets get rid of the cursed thing entirely

* removes sanity check

* we do a bit of component trolling

THIS TOOK ME TWO HOURS FUCK YOU

* removes cruft comment

* cleans up code a teeny bit, upgrades to incapacitated

* wait that named arg is still there wtf

* Review Time

Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>

* wrong operator and wrong order of operations

* null out the container

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* checks to see if container is qdeld

* weakref time

Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Fixes Bread Smite Causing Some Fucked Up Shit

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Seth Scherer <supernovaa41@ gmx.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2022-09-15 11:32:16 -07:00
SkyratBot
ce6eab8ee2 [MIRROR] Add Alt RMB and Ctrl RMB screentips (used for Simple Rotation) [MDB IGNORE] (#16251)
* Add Alt RMB and Ctrl RMB screentips (used for Simple Rotation) (#69726)

* Add Alt RMB and Ctrl RMB to screentips

* Add Ctrl and Alt RMB screentips to defines

* Add Alt RMB and Ctrl RMB screentips (used for Simple Rotation)

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-09-15 11:04:19 +01:00
Paxilmaniac
23941e19e4 Reverts us back to using TG's maint spawn list (#16200)
why did we have this again?
2022-09-14 20:39:42 -07:00
SkyratBot
99a7001e36 [MIRROR] Categorizes the scrubber event (and gives it a description) [MDB IGNORE] (#16205)
* Categorizes the scrubber event (and gives it a description) (#69675)

* categorizes both scrubber events under the Janitorial category, and fixes the scrubber surge's names so they are all bundled together in admin menus.

* Categorizes the scrubber event (and gives it a description)

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2022-09-13 15:51:10 -07:00
Tom
b457983353 Removes CQC+ (#16035)
* removes cqc+

* final remnants
2022-09-13 15:54:04 -04:00
Yaroslav Nurkov
62af5af19b LOOC muting again (#16159)
i hate toxins
2022-09-13 15:23:51 -04:00
SkyratBot
049b19bb18 [MIRROR] Moves "catch this var/flag" code from obj/init and datum/new into the types that use it [MDB IGNORE] (#16091)
* Moves "catch this var/flag" code from obj/init and datum/new into the types that use it

* Update atoms_movable.dm

* Update airlock.dm

* SRCC

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-09-11 22:21:16 -07:00
SkyratBot
105bf2d87d [MIRROR] Adds a new revenant spell, Haunt Object, which imbues nearby objects with ghostly energy [MDB IGNORE] (#16012)
* Adds a new revenant spell, Haunt Object, which imbues nearby objects with ghostly energy

* Fixes the merge conflict

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-08 17:46:25 +00:00
SkyratBot
33f9b1befd [MIRROR] Automatic R&D sync [MDB IGNORE] (#16113)
* Automatic R&D sync (#69735)

* Automatic R&D sync

* One second instead of a half-second

* Moth changes + more

- Actually use SIGNAL_HANDLER
- Use update_static_data_for_all_viewers instead of only updating static data for the current user

* Batch techweb updates

* Automatic R&D sync

Co-authored-by: scriptis <scriptif@gmail.com>
2022-09-08 17:56:00 +01:00
Yaroslav Nurkov
5c141f9cf4 Admin action to send play in cryo (#16022)
* barebuh

* oh.. my parents..

* oki doki.

* src remove and some text mistakes

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

* remake with paper. add JMP to log.

* thats done

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-08 08:46:45 -04:00
SkyratBot
6fc0f80ea2 [MIRROR] Fixes poster qdel loop [MDB IGNORE] (#16094)
* Fixes poster qdel loop (#69611)

atom/Destroy() deletes the contents of an atom, and we were listening for when the structure in our contents is being deleted to qdel ourselves.

* Fixes poster qdel loop

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-06 16:25:29 +01:00
SkyratBot
313cbe36da [MIRROR] Wings and tails give anyone better tackling values. Moths and lizards that lose theirs will have worse values instead. [MDB IGNORE] (#16002)
Wings and tails give anyone better tackling values. Moths and lizards that lose theirs will have worse values instead.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-05 18:00:35 -04:00
SkyratBot
a4bfe65cb1 [MIRROR] Dimensional Anomaly [MDB IGNORE] (#15974)
* Dimensional Anomaly (#69512)

About The Pull Request

Everyone has been asking: "When will there be an anomaly like the bioscrambler, but for the space station? Please, we need more things which replace objects with different objects from the same typepath."
Well I made it and it looked like ass because non-tiling floor and walls look terrible, so then I made this instead.
Dimensional.mp4

The "dimensional anomaly" shifts matter into a parallel dimension where objects are made out of something else.
Like the Bioscrambler anomaly, it does not expire on its own and only leaves when someone signals it or uses an anomaly remover.
When it spawns it picks a "theme" and converts terrain around it until it covers a 7x7 square, then it teleports somewhere else and picks a new theme.

A lot of these themes are relatively benign like "meat", "fancy carpet", or "gold". Some of them are kind of annoying like "icebox" because it creates floor which slows you down, or "clown" because bananium is intentionally annoying. Some of them are actively dangerous, mostly "uranium" and "plasma".
The main problem this will usually cause for crewmembers is decreasing area security. When it replaces doors it replaces them with ones which don't have any access control, and it will also replace RWalls with normal and much more vulnerable walls which will make breaking and entering significantly easier until someone has taken the time to fix the damage. But also sometimes it will irradiate them, you never know.

The fact that sometimes the changes are benign (or provide uncommon materials) and might be happening in places you don't care about access to might encourage people to push their luck and leave it alone until it starts turning the captain's office into a bamboo room or repainting medbay a fetching shade of flammable purple, which I would consider a success.
Armour.mp4

If you successfully harvest the anomaly core you can place it into the reactive armour to get Reactive Barricade Armour, which shifts your dimension when you take damage and attempts to place some randomised (not terribly durable) objects between you and hopefully your attacker (it really just picks up to four random unoccupied tiles next to you). If you're EMPed then the changes it make to the environment will often be as unpleasant for you as they are for a pursuer, and significantly more likely to harm both of you rather than just provide obstacles.

Other changes:
I split anomalies out into their own dmi file, seems to be all the rage lately.
I moved the anomaly placing code into a datum instead of the event because I wanted to reuse it but if you have a better idea about where I could have put it let me know.
This also fixes a bug where the material spreader component wasn't working when I applied plasma materials to something, the extra whitespace was parsing as another argument for some reason and meant it would runtime.
Supermatter delamination was still pointing to Delimber anomalies instead of Bioscrambler.

* Dimensional Anomaly

* Fixes the upstream merge skew

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-05 17:59:34 -04:00
Tom
c429240d99 Buffs agent ID, removes deluxe agent ID (#16033)
Removes deluxe agent ID, buffs basic agent ID
2022-09-05 15:57:02 -04:00
SkyratBot
a04540ee80 [MIRROR] Makes my stat tracking macros actually work [MDB IGNORE] (#16069)
* Makes my stat tracking macros actually work (#69719)

Turns out you need ; after while loops. who knew

* Makes my stat tracking macros actually work

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-09-05 12:51:26 +01:00
SkyratBot
aa5811ee6f [MIRROR] Lemon's Profiling Macros [MDB IGNORE] (#16020)
* Automatic changelog compile [ci skip]

* Lemon's Profiling Macros

* good job you stupid fucking robot

Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 19:27:51 +01:00
SkyratBot
68c05634d9 [MIRROR] Closets now initialize their contents on demand (more than 1.6 seconds of init time saved) [MDB IGNORE] (#16037)
* Closets now initialize their contents on demand (more than 1.6 seconds of init time saved)

* conflicts

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 19:27:43 +01:00
SkyratBot
d03092ba16 [MIRROR] TGUI for techfabs [MDB IGNORE] (#15941)
* TGUI for techfabs

* Update circuit_imprinter.dm

* update circuit_printer.dm

Co-authored-by: scriptis <scriptif@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 15:08:55 +01:00
SkyratBot
52b9be0775 [MIRROR] visualizes *cry emote + getting peppersprayed makes you cry [MDB IGNORE] (#15973)
* visualizes *cry emote + getting peppersprayed makes you cry

* Update code/modules/surgery/organs/eyes.dm

Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 14:29:50 +01:00
SkyratBot
b0c2a0d4c8 [MIRROR] Log subsystem initialize times in feedback, give more precise displays [MDB IGNORE] (#15932)
* Log subsystem initialize times in feedback, give more precise displays

* conflict

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 14:28:44 +01:00
SkyratBot
a11179813b [MIRROR] Cows can eat wheat off the ground. If cows see wheat on the ground, they'll try to go eat it (+ moonicorns with galaxy thistle) [MDB IGNORE] (#15935)
* Cows can eat wheat off the ground. If cows see wheat on the ground, they'll try to go eat it (+ moonicorns with galaxy thistle) (#69253)

About The Pull Request

Cows are now grazers, they love eatin' wheat and it even heals them if hurt. If they see it just on the ground, they might eat it all! Careful, botanists! While tamed, cows won't eat off the ground if they're busy ferrying you around.

FYI: this is going to conflict with #69247 and so thiss should not be merged until that is

Why It's Good For The Game

Wanted to add this with the original port of cows to basic mobs, didn't have the TECH to do so. Now I do, now it's done. I also wanted it ready for the future where mice and rats are ported, so they'd seek out cheese to eat. I also also think it's a neat way for a cow to heal.

* Cows can eat wheat off the ground. If cows see wheat on the ground, they'll try to go eat it (+ moonicorns with galaxy thistle)

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2022-09-04 13:47:13 +01:00
SkyratBot
77c20e53bd [MIRROR] medical/security modsuit updates and modules [MDB IGNORE] (#15953)
* medical/security modsuit updates and modules (#69194)

tweaks the colors on the security modsuit to be lighter, i think i did that on the original pr but it got reverted due to merge conflicts
makes the standard quick carry module have nitrile level carrying instead of latex level
environmental bodybags are now always pressurized
adds medical and security hardlight bags, which are environmental bags you can use to move people through space, security ones can be sinched to prevent escape
adds a medical version of the prisoner capture module, for patient transport, prisoner capture and patient transport now use the medical/security holobags, medical one deploying them faster. when you move too far out of range the holobag dissipates
adds a defibrillator module, extends shock paddles
adds a thread ripper module, this module temporarily rips away the matter of clothing, to allow stuff like injections, surgery, defibrillation etc through it
adds a surgery processor module, essentially a portable surgery computer like borgs have
fixes a bug where you can unwield defibrillator paddles just after starting the do_after to defib onehanded
fixes a bug where the modsuit gps would have a broken name when renamed

* medical/security modsuit updates and modules

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-09-04 12:57:06 +01:00
SkyratBot
3b088ec9e9 [MIRROR] Chasm Fishing [MDB IGNORE] (#15855)
* Chasm Fishing

* Update code/datums/components/chasm.dm

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 03:31:49 +01:00
SkyratBot
471760e96a [MIRROR] Fixes storage mass transfer being generally broken, adds mass transferring onto griddles [MDB IGNORE] (#15729)
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles  (#69084)

* - Fixes storage mass transfer
- Brings some sanity to storage procs
- Implements a griddle feature that never was

* Uncomment this

* Right-click attack fix

* Scoop fix

* Smartfridges use silent

* Restores some lost checks

* Fixes storage implants

* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles

* update modular

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-03 18:01:54 +01:00
SkyratBot
7579176eed [MIRROR] Adds lazyloading to the asset subsystems [MDB IGNORE] (#15960)
* Adds lazyloading to the asset subsystems (#69454)

* Adds lazyloading to the asset subsystems

This currently applies only to spritesheets because of how monumentally
expensive they are.
If an asset is requested it will immediately be fully loaded, but
otherwise we slowly load them in with a separate subsystem.

This allows us to not hold up initialize with hair stuff. Saves roughly
33% (16 seconds with LOW_MEMORY_MODE) of initialize on my machine

My target is something closer to the 9 second init that had back in
2019, this is a good first step. Lets see how much more we can do yeah
lads?

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

* Adds lazyloading to the asset subsystems

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2022-09-02 19:49:04 -04:00
SkyratBot
76da4818a3 [MIRROR] Nerfs scipaper money gain [MDB IGNORE] (#15999)
* Nerfs scipaper money gain (#69410)

About The Pull Request

Title
Nerfs it by eight times

Currently papers can make several hundred thousand of credits if done right. This rectified it to be somewhat nearer the old 50k. Just take the gain amount in experiments.dm and multiply it by 125 for the money obtained for a middle of the road experiment. Multiply it again by two if the experiment is really good. Multiply it by two again if people chose the ghost writing partner.

So this means doing the absolute best experiment, hypernob, at the absolute best state (120 gain * 2 = 240), with money partner (240 * 2 = 480), will give 60k to the department. Much more sane number and happens the be similar to the old 50k.

A middle of the road experiment like BZ will give somewhere around 3-10k, doing the absolute absolute best for BZ is ~30k.
Why It's Good For The Game

Numbers are a bit wack on the original conception. This is probably a bit more in line with other methods of money generation.
Changelog

cl
balance: nerfs scipaper paper publication money across the board
balance: nerfs scipaper ghost writing partner.
/cl

* Nerfs scipaper money gain

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-09-02 11:36:18 +01:00
SkyratBot
f0ceecff46 [MIRROR] Refactors SM gas behavior to be datum based instead of list based + powerloss co2 buff [MDB IGNORE] (#16000)
* Refactors SM gas behavior to be datum based instead of list based + powerloss co2 buff (#69158)

About The Pull Request

Title!
The CO2 thing is there because it makes my job much easier. Can probably find a way to make it move slowly if a maint insist on it. Prefer not to though.

Drafting because I want to make a second PR that have more sweeping changes (clean vars up, make a simpler formula for damage and heat production, delete underused behaviors, etc). Would honestly prefer if both this and that gets merged at the same time but I'm separating it out since it might be rejected. Or maybe ill combine it here we'll see.
Ignore that, looks like i can keep this one absolutely atomic.
Why It's Good For The Game

Had a lot of trouble when trying to document the SM gas interactions into the wiki, the interactions are all scattered and tracking down everything a gas does is extremely annoying. Hopefully this fixes that.
Changelog

cl
balance: CO2 powerloss inhibition now works immediately based on gas composition instead of slowly ramping up.
refactor: refactored how the SM fetches it's gas info and data. No changes expected except for the co2 thing.
/cl

* Refactors SM gas behavior to be datum based instead of list based + powerloss co2 buff

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2022-09-02 11:35:23 +01:00
SkyratBot
e7230e8b4a [MIRROR] Resolves is_banned_from headaches and lag (Speeds up roundstart significantly) [MDB IGNORE] (#16001)
* Resolves is_banned_from headaches and lag (Speeds up roundstart significantly) (#69376)

About The Pull Request

Just to be clear, when I refer to time here, I am not talking about cpu time. I'm talking about real time.
This doesn't significantly reduce the amount of work we do, it just removes a lot of the waiting around we need to do for db calls to finish.

Adds queuing support to sql bans, so if an ongoing ban retrieval query is active any successive ban retrieval attempts will wait for the active query to finish

This uses the number/blocking_query_timeout config option, I hope it's still valid

This system will allow us to precache ban info, in parallel (or in batches)
With this, we can avoid needing to setup all uses of is_banned_from to support parallelization or eat the cost of in-series database requests

Clients who join after initialize will now build a ban cache automatically

Those who join before init is done will be gathered by a batch query sent by a new subsystem, SSban_cache.

This means that any post initalize uses of is_banned_from are worst case by NATURE parallel (since the request is already sent, and we're just waiting for the response)

This saves a lot of headache for implementers (users) of the proc, and saves ~0.9 second from roundstart setup for each client (on /tg/station)

There's a lot of in series is_banned_from calls in there, and this nukes them. This should bring down roundstart join times significantly.

It's hard to say exactly how much, since some cases generate the ban cache at other times.
At base tho, we save about 0.9 seconds of real time per client off doing this stuff in parallel.
Why It's Good For The Game

    When I use percentages I'm speaking about cost per player

I don't like how slow roundstart feels, this kills about 66% of that. the rest is a lot of misc things. About 11% (it's actually 16%) is general mob placing which is hard to optimize. 22% is manifest generation, most of which is GetFlatIcons which REALLY do not need to be holding up the main thread of execution.

An additional 1 second is constant cost from a db query we make to tell the server we exist, which can be made async to avoid holding the proc chain.

That's it. I'm bullying someone into working on the manifest issue, so that should just leave 16% of mob placing, which is really not that bad compared to what we have now.
Changelog

cl
code: The time between the round starting and the game like, actually starting has been reduced by 66%
refactor: I've slightly changed how ban caches are generated, admins please let me know if anything goes fuckey
server: I'm using the blocking_query_timeout config. Make sure it's up to date and all.
/cl

* Resolves is_banned_from headaches and lag (Speeds up roundstart significantly)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-09-01 22:11:40 -04:00
Zonespace
c69265d028 Removes body fluid face component (#15909)
technical debt be gone
2022-08-29 20:22:49 -04:00
Ghom
fc9ab8bb49 [MODULAR] Resprited human body parts (#15185)
* [NON-MODULAR] Resprited human bodyparts

* improvements

* fixed an inconsistency

* pixel

* test screenshots

* it's modularisin' time.

* updated screenshots

* trailing newline

* monky screenshot issues.

* ah

* I'm going bananas

* maintainer 's suggestion.

Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-28 13:55:04 -04:00
SkyratBot
d4284ccec1 [MIRROR] Quickie mob_harvest component code improvement to follow guidelines [MDB IGNORE] (#15883)
* Quickie mob_harvest component code improvement to follow guidelines (#69466)

* Quickie mob_harvest code check

* Review

* Quickie mob_harvest component code improvement to follow guidelines

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-08-28 12:21:38 -04:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
Zonespace
63142ac7ab Disables progtots (#13970)
* it's here boys

* more things

* Revert "Automatic changelog compile [ci skip]"

This reverts commit 9f5aef02d5.

* Revert "more things"

This reverts commit c64158ac9c2ca0be803efb5fc246fd7e8da27ecc.

* Revert "Automatic changelog generation for PR #14483 [ci skip]"

This reverts commit 857149d15b.

* unfuck

* HHHH

* unrequired opfor

* tg standard

* cleanup

* alright

* sure

* whoops

* cleaner

* cleans out our edits

* Update uplink_handler.dm

* Update code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm

* Update modular_skyrat/master_files/code/modules/antagonists/traitor/datums/datum_traitor.dm

* modularizes

* H

* Update role_preferences.dm

* Update dynamic_rulesets_midround.dm

* Update dynamic_rulesets_midround.dm

* Update dynamic_rulesets_midround.dm

* code cleanup and pop change

* Update dynamic_rulesets_midround.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-08-26 20:25:52 -04:00
SkyratBot
f94d34fea2 [MIRROR] Massively optimize space turf initializations (~20 seconds on Meta to ~3 seconds) [MDB IGNORE] (#15858) 2022-08-26 14:40:13 -07:00
SkyratBot
815644afb7 [MIRROR] adds sheep [MDB IGNORE] (#15826)
* adds sheep (#69318)

* adds funny sheep (need non-placeholder sprites still)

* indent this

* code suggestions

* components all the way down

* async

* sprites + reference

* think i did this right

* Update code/datums/components/mob_harvest.dm

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

* steal shiz's suggestion pt1

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

* steal's shiz's suggestion pt2

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

* steal's shiz's suggestion pt3

Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>

* adds sheep

Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2022-08-25 14:45:43 +01:00
SkyratBot
88c85fe1f7 [MIRROR] [MDB IGNORE] Refactors drinks and fixes a lot of food problems [MDB IGNORE] (#15577)
* [MDB IGNORE] Refactors drinks and fixes a lot of food problems

* [MDB IGNORE] Refactors drinks and fixes a lot of food problems

* forgto 2 commit

* im slowly going insane

* why does find and replace not FIND everything

* hnghnnngh

* h

* l

* a

* a

* so close...

* delta fix

* I thought I committed this already, guess not

* this PR has been the bane of my fucking life

* orange juice

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2022-08-25 03:17:10 +01:00
SkyratBot
2d01beb404 [MIRROR] [MDB IGNORE] Adds elevator floor indicator [MDB IGNORE] (#15795)
* [MDB IGNORE] Adds elevator floor indicator (#69413)

* Adds lift floor indicator

* bump stuck ci

* [MDB IGNORE] Adds elevator floor indicator

Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-08-24 21:44:54 -04:00