Commit Graph

2660 Commits

Author SHA1 Message Date
SkyratBot
bcb5fbc83c [MIRROR] TGUI Communications console (#1286)
* TGUI Communications console

* fix

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-10-14 17:45:53 +01:00
SkyratBot
b8d9874c27 [MIRROR] Converts all A && A.B into A?.B (#1292)
* Converts A && A.B into A?.B (#54342)

Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
2020-10-13 23:19:25 +02:00
SkyratBot
6e08e3cd8d [MIRROR] Adds a living time config to the panic bunker (#1289)
* Adds a living time config to the panic bunker (#54341)

* Adds a living time value to the panic bunker, so you can keep people out based on time spent playing the game

* updates the admin verb, and enables %minutes% as an option

* Makes a proc call more clear

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

* than

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

* Adds a living time config to the panic bunker

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2020-10-13 23:04:07 +02:00
SkyratBot
b576900a8b [MIRROR] Temporal Scarring is now per-character-slot, changelings now fake scars when disguising (#1274)
* Temporal Scarring is now per-character-slot, changelings now fake scars when disguising (#54311)

* Temporal Scarring is now per-character-slot, changelings now fake scars when disguising

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-10-12 23:26:04 +02:00
Azarak
ddd6247f63 weh (#1253) 2020-10-12 02:10:10 +01:00
Azarak
61854773af [SEMI-MODULAR] Adds missing alerts and various alert features (#1238)
* alertz

* Create readme.md
2020-10-11 05:47:36 +01:00
Azarak
ff6b1eb96e weh (#1234) 2020-10-10 19:21:16 +01:00
SkyratBot
cae0e4cb5c [MIRROR] Adds Alloy Materials (#1228)
* Adds Alloy Materials (#53623)

Adds and implements alloy materials

Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.

Materials added:
    Plasteel
    Plastitanium
    Plasmaglass
    Titaniumglass
    Plastitanium Glass
    Alien Alloy

Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.

Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.

(Lemons note: Adds a regeneration component, used for alien alloy)

* Adds Alloy Materials

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-10-10 00:29:56 +01:00
SkyratBot
4745a3260e [MIRROR] Mice properly spawn in maintenance during the migration event. (#1223)
* Mice properly spawn in maintenance during the migration event. (#54243)

fix: Mice properly spawn during the mouse migration event.
Fixes #54242 .

* Mice properly spawn in maintenance during the migration event.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-10-09 18:32:06 +02:00
Azarak
218f7d455c job quirk restriction system (#1187) 2020-10-08 22:17:17 +01:00
SkyratBot
2e09bb7eef [MIRROR] Fix shuttle loader big shuttle load issues. (#1204)
* Fix shuttle loader (#54200)

Set mode = SHUTTLE_PREARRIVAL to shuttle that initially placed to transit docking port.
No more SSshuttles delete transit for half loaded shuttle

Fix #54232

* Fix shuttle loader big shuttle load issues.

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-10-08 17:29:17 +02:00
SkyratBot
fbed5fa6a6 [MIRROR] Cleans up rat related features and makes Regal Ratking a rare spawn from mouse migration event. (#1195)
* Cleans up rat related features and makes Regal Ratking a rare spawn from mouse migration event. (#54191)

* Cleans up rat related features and makes Regal Ratking a rare spawn from mouse migration event.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-10-07 23:25:50 +02:00
SkyratBot
666c1a108a [MIRROR] Some shuttes rework. Allow many shuttles of one template to work at the same time. (#1162)
* Some shuttes rework. Allow many shuttles of one template to work at the same time. (#53993)

* add replace button to shuttle panel

load button now only load new shuttle

* shuttle teplate loads as shuttle

* new shuttle console connects to shuttle

* new navigation computer connect to shurrle

* docking_port id now unique

add count to id if id already in work

* many docks from one base tenplate

* up

* fix unregister

* up

* up

* up

* block multiple shuttle loading

* return preview button

* up  id generation

* Some shuttes rework. Allow many shuttles of one template to work at the same time.

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-10-05 22:31:15 +01:00
Azarak
eb8b6e204c lowers events frequency (#1118) 2020-10-04 23:45:58 +01:00
SkyratBot
c1dccf5870 [MIRROR] Adds Cross-Server Communication Network Option (PAID* CODE) (#1096)
* Adds Cross-Server Communication Network Option (PAID* CODE) (#54070)

* Adds Cross-Server Communication Network Option (PAID* CODE)

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-10-01 12:25:58 +02:00
SkyratBot
ada67ac929 [MIRROR] Ports soup, snacks, icecream, salads and meat to newfood (#1074)
* Ports soup, snacks, icecream, salads and meat to newfood (#54028)

Ports soup, snacks, icecream, salads and meat to newfood

* Ports soup, snacks, icecream, salads and meat to newfood

* Update true_changeling.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-30 14:37:15 +02:00
SkyratBot
cf76ee5b1a [MIRROR] Communication hotfix (#1062)
* Communication hotfix

* bah

* Update preferences.dm

Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-30 01:12:57 +02:00
SkyratBot
1713561d4b [MIRROR] Rebindable communication(OOC, Say, Me) (#1055)
* Rebindable communication(OOC, Say, Me) (#54035)

 OOC, Say and Me is now rebindable

* Rebindable communication(OOC, Say, Me)

* Update preferences.dm

* wowee

* aaa

Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-30 00:50:37 +02:00
SkyratBot
df3c9f87cb [MIRROR] Restyles Stat Panel, Adds Subpanel Sub-Categories (#1044)
* Restyles Stat Panel, Adds Subpanel Sub-Categories (#53947)

I re-styled the CSS for the stat panel in hopes to make it look nice, and I also added the ability to use sub-categories (currently a single level) of verbs using a . (period), an example being Admin.Fun instead of the previous Admin - Fun. This now results in a sub-category being automagically generated in the stat panel.

* Restyles Stat Panel, Adds Subpanel Sub-Categories

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-09-29 12:31:56 +02:00
SkyratBot
958f948a76 [MIRROR] Cross server evacuation messages now include the evacuation reason (#1035)
* Cross server evacuation messages now include the evacuation reason (#53980)

Co-authored-by: Bobbahbrown <bobbahbrown@ gmail.com>

* Cross server evacuation messages now include the evacuation reason

Co-authored-by: Hulkamania <39933245+JetBrody@users.noreply.github.com>
Co-authored-by: Bobbahbrown <bobbahbrown@ gmail.com>
2020-09-29 12:23:36 +02:00
SkyratBot
98568e191a [MIRROR] Enforce preserving parent proc return values across ui_act call stacks (#999)
* Enforce preserving parent proc return values across ui_act call stacks (#53964)

All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.

* Enforce preserving parent proc return values across ui_act call stacks

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-26 17:17:59 +02:00
SkyratBot
f0070e854b [MIRROR] Emergency Shuttle Toggle (#975)
* Emergency Shuttle Toggle (#53912)

Admins now have the option to enable or disable the shuttle(located in the admin tab).
Disabling the shuttle will basically pause it where it is, regardless(unless game is over). Until the admins enable it again. It will resume exactly back to where it was and continue from there. This is great for events. You can't recall or call the shuttle while it's disabled.

Admins also now get the option when calling the shuttle to disable the recall of said shuttle unless they cancel it or select enable shuttle.

* Emergency Shuttle Toggle

Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-09-25 13:59:23 +02:00
SkyratBot
b381765dfd [MIRROR] Advanced Explosions (#970)
* Merge pull request #53911 from Gandalf2k15/explosions

Advanced Explosions

* Advanced Explosions

Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
2020-09-25 13:36:50 +02:00
SkyratBot
9d75b2b6ee [MIRROR] improve performance of vis_overlays by handling dir by using vis_flags (#955)
* improve performance of vis_overlays by handling dir by using vis_flags (#53816)

vis dir changes are now handled by vis_flags

* improve performance of vis_overlays by handling dir by using vis_flags

Co-authored-by: Couls <coul422@gmail.com>
2020-09-24 20:25:55 +02:00
SkyratBot
ec28f27bf8 [MIRROR] Fix broken dmdoc crosslinks (#933)
* Fix broken dmdoc crosslinks

* Update species.dm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 15:14:45 +02:00
SkyratBot
c0401a81b1 [MIRROR] Fixes scars sticking around after a limb is dismembered (#928)
* Fixes scars sticking around after a limb is dismembered (#53763)

During dismemberment from wounds, some scars would stick around even though the limb was no longer attached to the person. This was because I removed the scars from the person before removing the wounds, which itself would create more scars that would still be tied to the victim's scars. This fixes that, and tidies up some related code as well. Notably, you can now see which types of wounds a detached limb is suffering from by sight. Also, I have no clue what happened before when you attached a limb with existing wounds to someone, but I've made sure it applies the wounds to the person where they left off.

I also realized I made an order of operations error in the self-treatment for broken bones (with the bone gel and surgical tape) on the bone gel step, which made failing these treatments and briefly passing out/wasting a use of the gel 38 percentage points more likely than intended. This corrects that, so the base is 25%/45% failure for severe/critical blunt wounds. It also raises the bonuses to succeeding you get from painkillers a bit since you're going through a lot of trouble for all this already.

* Fixes scars sticking around after a limb is dismembered

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-09-23 14:43:15 +02:00
SkyratBot
243e224167 [MIRROR] Custom statues and sculpting changes. (#927)
* Custom statues and sculpting changes. (#53154)

### Gameplay changes:
- Spacemen lose their ability to sculpt all minerals into statues barehanded, you need a chisel now.
- You can now create carving blocks out of 5 sheets of most materials.
- Using a chisel on the blocks you can designate what to carve in it (including the preset statues from before).
- Chisels can be printed at autolathe, there's also one in art storage.
### Code changes:
- Squeak component now squeaks on attack_hand for structures.
- Radials now accept atom paths automatically extracting the name with initial.
- Base and rigid stack recipes renamed appropriately.
- Statues now use custom materials.

* Custom statues and sculpting changes.

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2020-09-23 14:42:47 +02:00
SkyratBot
c8b9da516d [MIRROR] Raise the priority of the statpanel subsystem (#910)
* let's get our priorities straight (#53842)

* Raise the priority of the statpanel subsystem

Co-authored-by: Couls <coul422@gmail.com>
2020-09-21 16:42:44 +02:00
SkyratBot
c15be851f9 [MIRROR] Refactors the keys_held rolling buffer (#903)
* Refactors the keys_held rolling buffer (#53773)

* rolling key rip

* category

* comment

* oops

* Refactors the keys_held rolling buffer

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-09-21 02:23:38 +01:00
SkyratBot
f7301a08a2 [MIRROR] Makes the atmos subprocess costs actually sane (#875)
* Merge pull request #53815 from LemonInTheDark/atmos-mc-entry

Makes the atmos subprocess costs actually sane

* Makes the atmos subprocess costs actually sane

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-09-20 00:34:52 +01:00
SkyratBot
f1c9041430 [MIRROR] make overlay lists not persist when empty (#855)
* make overlay lists not persist when empty (#53787)

* make overlay lists not persist when empty

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-09-18 05:14:17 +02:00
SkyratBot
170db1b2d3 [MIRROR] Fixes processing of deleted objects in SSair (#828)
* Fixes processing of deleted objects in SSair (#53735)

qdel'd objects could still process in SSair because SSair utilises a cache whenever it has to resume processing runs from a partially completed state from running out of processing time.

Of all the things that processed on SSair, only one thing actually took care to remove itself from the cache as well on deletion.

This is an important subsystem and the processing lists should not be public. Objects don't need to know how SSair works, they just call the proc to add when they start processing and call the proc to remove when they finish.

Thanks to @ LemonInTheDark and @ willox for spending a lot of time helping me track down a proper fix to this issue.

* Fixes processing of deleted objects in SSair

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-17 02:10:08 +01:00
Azarak
fb6720c7f9 [SEMI-MODULAR] Customization (#675)
* 1

* a

* aaa

* aa

* aint got no pancake mix

* hhh

* aa

* hhh

* taurssss

* aaa

* organ partss

* genitals wip

* aaaaa

* h

* a

* mutation dna

* fixed limbs rendering

* mammols

* and thats wings and snouts

* a

* markings except they dont render yet oooooh

* woo lots of markingas

* Body marking sets!

* loadout part 1

* marking re-write. part 1 of loadout

* Loadouts, fully functional, but no customization

* Loadouts readyy

* Default features + savefiles

* Examines

* Fixes genital visibility

* Fixes husking colors

* Fixes very custom loadouts

* Fixed organ colors and bepis icon states

* Fixes genitals save/load

* Species part 1

* Just markings

* Voxes!

* Vox fixes, more validation, better randomisation

* markings refactor, languages

* Some fixes

* Missing accessories, some fixes

* Fixes, underwear toggles, examine for kinky bits

* updates code to master

* travis travis travis

* does this help???

* traaaavis

* Update species.dm

* Inches

* missing whitelines

* small fix

* more small fixes

* Preview preference bug fix

* commentomodularization

* Update tails.dm

* hoo boy

* Update preferences_savefile.dm

* Update species.dm

* Lizard fix!

* Update sprite_accessories.dm

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/human_update_icons.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/species.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-09-16 03:40:00 +02:00
SkyratBot
b3072cdc31 [MIRROR] Fix persistent scarring runtime (#815)
* Fix persistent scarring runtime (#53719)

If statement requiring a non-null var would explicitly run when that var was null.

Added early continue to skip over it in that scenario.

* Fix persistent scarring runtime

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-16 01:29:17 +01:00
SkyratBot
496811ef6c [MIRROR] Optimize stat panel and fix guardian verbs (#804)
* Optimize stat panel and fix guardian verbs (#53463)

Optimizes stat panel code for better performance, including icon caching and removing some unnecessary processing
Also fixes #53432
fix #53381
fix #53724
Changelog

add: icons are back on alt clicks
fix: horrible performance from alt clicking turfs with multiple objects
tweak:browser should notify the SS when it's ready to receive data

* Update statbrowser.html

* Apply suggestions from code review

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

* hidden = TRUE

* almost ready

* Browser should notify when ready to receive data

* Apply MSO's suggestions

* reset cache if something in it gets deleted

* Fix runtime

* fix my stupid code

* send href_token when adding admin tabs

* fix an issue with cyborg suit topic

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

* Optimize stat panel and fix guardian verbs

Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2020-09-15 09:17:31 +02:00
SkyratBot
6679f7b008 [MIRROR] Remove outdated shuttle import landmark (#780)
* Remove outdated shuttle import landmark (#53642)

Cleaning up after #44676

* Remove outdated shuttle import landmark

Co-authored-by: Tad Hardesty <tad@platymuus.com>
2020-09-13 04:06:13 +02:00
SkyratBot
0dc1c2db91 [MIRROR] Runechat no longer breaks if the tick lag changes (#739)
* Runechat no longer breaks if the tick lag changes (#53570)

Resets the runechat bucket when the tick lag changes

* Runechat no longer breaks if the tick lag changes

Co-authored-by: Couls <coul422@gmail.com>
2020-09-11 23:03:45 +02:00
SkyratBot
1e705faa19 [MIRROR] Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#709)
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)

* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component

* Process procs now properly utilize deltatime when implementing rates, timers and probabilities

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-09-09 08:19:23 +02:00
SkyratBot
3a0bbe9498 Acid Component (#53273) (#661)
Makes acid levels a component.
    Merges the acid effect object into the component.
    Reworks acids decay rates slightly.
    Rebalances xenos acid spit so that they can still melt through walls.

Misc. associated changes:

    Adds defines for a lot of the acid associated constants.
    Documents clean types and adds CLEAN_TYPE_ACID
    Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
    Adds a looping sound for acid.
    Makes /atom/proc/acid_act return a boolean.
    Fixes waterclosets creating a new reagent holder datum every time they are used.
    Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
    Adds and implements a couple reagent signals.
    Renames a few vars so Rohesie can stop telling me to rename more vars.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-09-07 03:52:59 +02:00
SkyratBot
147ec157fa [MIRROR] Removes icons on alt click -- Intended to be temporary (#648)
* Removes icons on alt-click (#53447)

* Removes icons on alt click -- Intended to be temporary

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-06 05:14:36 +02:00
SkyratBot
df7b65aca2 [MIRROR] Fix Alt Clicking opening up a window and Add back some object verbs to the browser stat panel (#630)
* Fix Alt Clicking opening up a window and add back some object verbs to the browser stat panel (#53369)

Fixes some more issues with browser stat panel

- Alt clicking items in the listed turf tab doesn't open up a popup
- Toggle suit sensors button missing

* Fix Alt Clicking opening up a window and Add back some object verbs to the browser stat panel

Co-authored-by: Couls <coul422@gmail.com>
2020-09-04 00:11:50 +01:00
SkyratBot
2bfdfbb910 [MIRROR] Change signature of BINARY_INSERT to require the full type path, add test (#611)
* Change signature of BINARY_INSERT to require the full type path, add test (#53217)

BINARY_INSERT used to only take typepaths like/this. Now, it expects them to be /like/this, to be more consistent with ther est of the code.

Adds documentation to COMPTYPE.

Adds a test for BINARY_INSERT.

* Change signature of BINARY_INSERT to require the full type path, add test

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-02 03:07:17 +02:00
SkyratBot
41788d096e [MIRROR] Overhauls discord verification system (#588)
* Overhauls discord verification system (#53289)

This completely replaces the previous verification system, for one that
will interoperate with a discord redbot instance that uses the cogs
located at you github.com/optimumtact/orangescogs

This cuts out several steps in the system, but it also leaves alone the
existing notify system (which just uses a file list of discord ids) as a
record of who to notify

SQL changes required for the new database system

Version 5.10, 7 August 2020, by oranges

Changes how the discord verification process works.
Adds the discord_links table, and migrates discord id entries from
player table to the discord links table in a once off operation and then
removes the discord id on the player table

The user connects to any tg server, and uses the "Verify Discord
Account" verb, this generates a six word one time use token, with a 4
hour time validity period (defined as 4 hours from the timestamp value)
in the discord links table.

This one time token, and the ckey of the user are stored in
discord_links

At this point the entire DM side is done, this is all it does

* Overhauls discord verification system

Co-authored-by: oranges <email@oranges.net.nz>
2020-09-02 02:47:22 +02:00
SkyratBot
c4c9dfabf6 [MIRROR] Fix various issues with browser statpanel (#580)
* Fix various issues with browser statpanel

* a

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-02 02:42:40 +02:00
SkyratBot
0c6796d235 [MIRROR] Implements jungle generation and area map generator datums (#571)
* Implements jungle generation and area map generator datums (#51082)

* Implements jungle generation and area map generator datums

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-08-30 05:25:48 +02:00
SkyratBot
ec09510459 Bools and returns super-pr (#53221) (#565)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-30 05:12:59 +02:00
SkyratBot
a35183463d [MIRROR] Waterworks: Plumbing enabled sinks, tanks, plant trays, and showers. (#562)
* Waterworks: Plumbing enabled sinks, tanks, plant trays, and showers. (#52865)

https://cdn.discordapp.com/attachments/326831214667235328/740812723956482118/2020-08-06_02-04-14.mp4
For everything in this PR working at the same time, watch this video!

Alright, from the top:
Sinks now need plumbing to pump out liquids.

All sinks now has a demand-only plumbing pipe face the opposite direction of the sink itself. A standard iron sink will hold 100 units of water, and must be constructed from a sink frame. To complete the frame, a new stock part, the water recycler must be applied to the frame. Once the sink is constructed, it will only hold those 100 units of water until new water is piped in.
This however doesn't extend just to water, as a result. Any reagent can be piped into the sink, and will be used 5 units at a time per use. This means water isn't just an infinite resource, and will need to be resupplied to the station if, somehow, you're using a metric ton of water somehow.
image
A basic sink setup with water being plumbed in.
Showers now need plumbing to wash you off.

Want to dispense reagents faster on your Patients Victims Friends Coworkers? Well, you may also construct a shower frame, in a similar fashion to a sink frame, and pipe in your own reagents into the loop. The shower drains reagents much faster than the shower, and also preforms vapor and touch reagent reactions, resulting in a constant stream of chemicals being processed. This can lead to horrible situations, like a chemical heater hooked up to a vat of cooking oil being pumped into a shower.
Additionally, showers will display the reagents they're pumping out visually based on the color of their chemical contents. As a result, dangerous or unique showers are going to look noticeably different if their contents are dangerous looking.
image
A safe shower.
image
A very unsafe shower.
Wait what was that bit about cooking oil?

So, reagent dispensers, like water/fuel tanks, Virus Food, Cooking Oil Vats, Pepperspray, and the like, can now be converted into a stationary tank of reagents by using a sheet of metal on it, allowing it to behave as a simple supply of their respective contents, and can be pumped into a plumbing network. This means rolling water tanks can be used to resupply sinks and showers, as well as allow for inventive uses of otherwise unused chemicals located all around the station. Pump welding fuel into a resupply line to fight a blob! Pump pepper spray into the dorms showers! Create a deep fryer shower! The possibilities are LIMITED (Because we have very few reagent dispensers)! Still, this will prevent sinks and showers from being completely unfix-able should all the water run out, as cargo can purchase many of these chemical tanks at will.
Hydroponics is now also plumbing enabled.

So there I was, thinking, have I gone mad? Is the barking I hear in my noggin my own dogs rattling and raging against the eternal ocean tide, or are these the hounds of tindalos come to finally rip me to shreds within the sea of causality?
The answer to this is quite simple: I added plumbing simple-demand components to hydroponics.
Now, the trays will accept a pumping input, which can provide the plants themselves a reagent input for their nutrients, and SHOULD (current not fixed yet) also contribute to refilling the trays water. As a check to this horrible decision, there are very few plumbing chems that don't suffer from some kind of downside if exclusively pumped into the trays, so this should be done delicately and with forethought applied, or you'll have a row of plants with dead stats because they OD'd on ammonia.
image
Holy damn why are you doing this

I'm thinking this pr is probably in need of some serious trimming and will probably be closed as a result of the need to atomize this down, but this way I can start to get some feedback and ideas on which aspects would be better suited towards the current design direction of plumbing/bio-chem/reagent heavy jobs. As far as I'm aware, this is all in accordance with the relevant design docs, but this way I'll know for sure 🤷‍♂️
To-do before being 100% sparkly and clean

Fix hydroponics trays adding water to the nutrient reagents slot (NOT A TRUE FIX, SEE COMMENTS BELOW PLEASE)
Make disconnected sinks/showers slowly regenerate water so that a stationwide plumbing net isn't required so Anturk doesn't snap my kneecaps off
Make water/fuel tanks use their snowflaked stationary tank sprites instead of the custom overlay version

    Yeet out the existing psudo-plumbing from hydroponics

Why It's Good For The Game

We've discussed adding plumbing into the game for forever now, and with all the new and tangentally related plumbing content we have, almost everything we have now perfectly enables servers to properly create a station-wide plumbing network.

Sinks and showers provide an infinite supply of water all shift long, and since they can be produced with any material, anywhere, practically for free, that was the first and foremost reason why I made this PR, to make water slightly more precious on station, to justify the 20+ water tanks mapped across every station. Plus, no more meatsink spam in the middle of the hallways.

Hydroponics has a built in feature that was intended to work similar to plumbing, before we had plumbing, for sharing resources/water, but it was pretty rough and is still exceptionally difficult to make look very pretty on live servers. By integrating them with actual plumbing pipes, this enables one step closer to integrating chemistry and botany to merge going forward, and give them an incentive to include each other in their supply chains each shift.

On the reagent tank conversion, That's just an interesting feature I felt the need for while testing everything else, and found pretty great success in. Being able to pipe in large supplies of a single reagent that ordinarily would just sit on a wall or in mait somewhere proved extra useful, and would be beneficial for refilling plumbing heavy areas like bathrooms/medbay, etc.

* Waterworks: Plumbing enabled sinks, tanks, plant trays, and showers.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-08-29 20:34:23 +01:00
SkyratBot
0a2d016002 [MIRROR] Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#550)
* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)

Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.

Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.

* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-08-29 20:27:18 +01:00
SkyratBot
1c1ce7b055 [MIRROR] Browser Status Panel (#548)
* Browser Status Panel (#53112)

* Browser Status Panel

Co-authored-by: Couls <coul422@gmail.com>
2020-08-29 20:26:27 +01:00
SkyratBot
2c68537762 [MIRROR] tgui: Improve logging, Fix external links (#537)
* tgui: Improve logging, Fix external links (#53226)

* tgui: Improve logging, Fix external links

* Print suspending on the same line

* Streamline fix chat verb

* Muh https

* tgui: Improve logging, Fix external links

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-27 03:10:03 +02:00