Commit Graph

98 Commits

Author SHA1 Message Date
SkyratBot
dfe6c614ae [MIRROR] RPD UI ,bunch of pipe fixes & stack garbage collection [MDB IGNORE] (#19100)
* RPD UI  ,bunch of pipe fixes & stack garbage collection

* Update _machinery.dm

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-13 10:41:11 -08:00
SkyratBot
0253fdf5ba [MIRROR] Station monitoring console patches [MDB IGNORE] (#19086)
* Station monitoring console patches (#73096)

## About The Pull Request

- Distro & Waste loop sensors were only displaying the values of the air
on its turf not the actual pipes they were on, so the values were always
constant. Thats fixed now.
- Created a macro to map chamber id to air sensor to avoid typos. This
also fixed being unable to connect to the waste loop sensor due to a
typo in the word "_sensor".
- When reconnecting to a different chamber other than distro & waste
`atmos_chambers` is not lost when switching so you can once again
connect back to distro & waste. After reconnecting make sure to again
select the chamber from the drop down box cause the ui doesn't update
automatically

https://user-images.githubusercontent.com/110812394/215701505-105eba4d-d5d1-4a09-9ac7-0ab73fee2196.mp4

Fixes #73055
## Changelog
🆑
fix: distro & waste sensors not reading values from the actual pipes
they are on
fix: losing distro & waste options from the drop-down box after
connecting to a new sensor.
refactor: all occurrences of _sensor with a macro to avoid typos.
/🆑

---------

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

* Station monitoring console patches

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2023-02-02 16:18:21 +00:00
SkyratBot
011fefdd81 [MIRROR] Refactors armor into dedicated subtypes [MDB IGNORE] (#18291)
* Refactors armor into dedicated subtypes

* start

* most tg things

* pain (#18584)

* shit

* non-mod changes

* compile

Co-authored-by: John Doe <gamingskeleton3@gmail.com>

* #18291

* compile fix

* ???

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 20:06:16 -08:00
SkyratBot
1575b2ee5d [MIRROR] Ghosts cant mess with RCD & Plumbing RCD [MDB IGNORE] (#18244)
* Ghosts cant mess with RCD & Plumbing RCD (#72069)

## About The Pull Request
Fixes #72036

## Changelog
🆑
fix: ghosts cant mess with RCD & PLumbing RCD
/🆑

* Ghosts cant mess with RCD & Plumbing RCD

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2022-12-28 23:26:27 -08:00
SkyratBot
e20acc3aaf [MIRROR] Build your own atmos chambers [MDB IGNORE] (#18269)
* Build your own atmos chambers (#72019)

## About The Pull Request

https://user-images.githubusercontent.com/110812394/208232089-a183fb95-9326-4514-986a-a2b1e21be40c.mp4

**Notes**
- You can print atmos control circuit boards at the circuit printer
after research
- You can only build one sensor for each gas type for in the whole map.
This is because each sensor is assigned a unique chamber id from a fixed
set of constants. Once all those values are used up there will be
duplicates so yeah only sensor per gas type for that round
- Un wrenching or destroying the injector/vent will automatically
disconnect them from the sensor. I forgot to show that in the video
- Destroying the sensor via right click with RPD will also automatically
disconnect everything. It should be obvious but i made it even more
obvious now

## Why It's Good For The Game
From #71232
![Screenshot
(66)](https://user-images.githubusercontent.com/110812394/207928807-bc6edfdd-26cc-48cd-8cb9-1b98f53ad1fe.png)

That and also i heard somewhere in the forum that this was highly
requested

## Changelog
🆑
add: Gas sensors recipe to RPD
code: linking all the stuff via multitool
qol: make your own tank instead of moving around canisters
/🆑

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

* Build your own atmos chambers

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-12-24 21:50:03 -08:00
SkyratBot
1712c3436b [MIRROR] TGUI for RCD , Radial menu for RLD & Silo Link for RLD & Plumbing RCD [MDB IGNORE] (#18104)
TGUI for RCD , Radial menu for RLD & Silo Link for RLD & Plumbing RCD (#71710)

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2022-12-19 23:07:46 +13:00
SkyratBot
209ea80c4e [MIRROR] Removing verbs from the simple_rotation component [MDB IGNORE] (#18111)
* Removing verbs from the simple_rotation component (#71740)

## About The Pull Request
Likely the most trival issue from the [Dev Cycles
Initiative](https://github.com/orgs/tgstation/projects/11) project:

Closes https://github.com/tgstation/dev-cycles-initiative/issues/20

## Why It's Good For The Game
On the face of how useful they may seem, these verbs are basically
surclassed by the more accessible click shortcuts, while also being an
additional cost, which I cannot readily quantify on my subpar hardware,
but likely to be but a smidge compared to loading the nukie outpost and
wizard shuttle everytime rather than on demand, for example.

## Changelog

🆑
del: Removed object rotation related verbs, overwhelmingly overshadowed
by the click shortcuts anyway.
/🆑

* Removing verbs from the simple_rotation component

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-12-14 22:46:13 -08:00
SkyratBot
b116ec2789 [MIRROR] TGUI replaces Radial menu for Plumbing RCD [MDB IGNORE] (#17840)
* TGUI replaces Radial menu for Plumbing RCD (#71569)

**About the pull request**
Radial menu's replaced with TGUI window for all plumbing RCD's

https://user-images.githubusercontent.com/110812394/204481973-8f6d62c0-9288-4165-bce7-ee8bfec95bee.mp4

**Why it's good for the game**

**1. Faster Navigation**
- Old System: It had 3 radial menus'
   ->To select type of device to build
   ->To select the colour of fluid ducts
   ->To select the layer of devices
3 menus for one system makes navigation between them annoying for e.g.:
to create a red fluid duct of layer 5 you have to open all these 3 menus
& cycling through the radial menu by clicking the next button is time
consuming when you have a large number of items
- New System: with just one window open it's as simple as 3 clicks and
your done just like the RPD

**2. Always available**
- Old System: When you select an option inside a radial menu the menu
closes so you have to reopen it again to change a setting
- New System: open the window drag it to the side and it will always be
there for you

**3. Just easier for our eyes**
- Old System: Moving my eyes in a circle across the menu only to find
out i have to click Next and circle my eyes again honestly makes my head
spin
- New System: The menu options are small enough to be viewed all at once
& helps me see what I need more easily

**4. Consistency**
Both the RPD & plumbing all have similar concepts i.e., pipes, devices,
layers & colours it only makes sense they should have similar
interfaces. Also categorizing the items into tabs can help with
explaining what each item does

**Conclusion**
Just because the radial menu looks attractive shouldn't mean it must be
used everywhere, it only makes sense to use it when the number of
options of an item is small enough to be displayed on the screen all at
once for e.g., modules in a Mod suit. If the user has to click the next
button to cycle through the item's, it defeats the purpose of the radial
menu and makes the user work more to find his settings

**Side Note :** removed unused code in RapidPipeDispenser.js

**ChangeLog**

🆑
add: plumbing constructor TGUI, just like Rapid Pipe Dispensers
del: plumbing constructor radials
code: categories for each item
/🆑

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@ hotmail.com>

* TGUI replaces Radial menu for Plumbing RCD

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@ hotmail.com>
2022-12-01 10:31:31 -05:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
b5bd312379 [MIRROR] Add investigate_deaths [MDB IGNORE] (#17424)
* Add investigate_deaths

* merge changes other than giant_spider which deps on tg/70848

* gib

* dust

* death

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-11 14:44:33 -05:00
SkyratBot
1ce77983df [MIRROR] canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE [MDB IGNORE] (#16586)
* canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE

* etes

* eyes

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-02 15:54:46 +01:00
SkyratBot
32db6d2411 [MIRROR] Properly checks flags with & instead of == [MDB IGNORE] (#16487)
* Properly checks flags with & instead of ==

* merge fixed for changeling

* skyrat equipment updated

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-09-28 16:38:59 -04:00
SkyratBot
d682fbfbc8 [MIRROR] Rotation component refactor and improvements [MDB IGNORE] (#11304)
* Rotation component refactor and improvements

* Update code/modules/power/singularity/emitter.dm

* e

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-02-08 01:38:20 +00:00
SkyratBot
da527e22cd [MIRROR] Refactor incapacitated optional arguments [MDB IGNORE] (#11167)
* Refactor incapacitated optional arguments

* Refactor incapacitated optional arguments

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-31 11:29:36 +00:00
SkyratBot
9578148f93 [MIRROR] Converts atmos, disposal, and transit tube pipedispensers to tgui [MDB IGNORE] (#10617)
* Converts atmos, disposal, and transit tube pipedispensers to tgui (#63863)

* implement pipedispenser tgui

* disposal tgui

* transit pipe dispenser tgui

* missing trailing comma

* change ui_act

this probably isn't the best way to do this.

* add type declaration to pipe_info from frontend

fixes static analysis warnings

* better var names + undefs for dispenser types

pretty good to go now, I think

* better use of existing components

modifies RPD to be more modular, making the reuse of shared components
easier.

* Converts atmos, disposal, and transit tube pipedispensers to tgui

Co-authored-by: Ron <flavivs.clavdivs.jvlianvs@gmail.com>
2022-01-12 02:24:10 +00:00
SkyratBot
6d630e86bd [MIRROR] RPDs can't place transit tubes directly under dense objects. [MDB IGNORE] (#9359)
* Transit tubes can't be placed on turfs with dense objects. (#62387)

Right now you can directly place and wrench a transit tube under a few objects that are dense, this opens up a few issues, like you being able to bypass dense objects and get into places that you shouldn't with basically no effort as long as you have a RPD in your bag.
The main example of this is the brig cells, the bridge, the AI upload, the luxury area on the luxury shuttle, etc.
So a simple check was added to see if the turf has a dense object before placing a tube.

This PR #45609 (a5de1c1b5e) was IMO one of the best balance changes in the game, before it access was a meme and you could get anywhere in a few seconds by just unwrenching windows.
With a RPD you can do the same, but the worse issue is that while it takes 1 second for you to place a tube under a reinforced window, you need to fully deconstruct the window to remove it.
While you fix 1 area that the clown turned into free access, they have build 5 more.

* RPDs can't place transit tubes directly under dense objects.

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2021-11-10 10:18:59 -05:00
SkyratBot
e90627be0e [MIRROR] Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed [MDB IGNORE] (#9176)
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed

* Fixing conflicts

* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)

* Removing more lingering rad armor (woo)

* Damnit powerarmors

* Bye bye rad collectors!

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-02 10:36:46 -04:00
SkyratBot
230a34588f [MIRROR] modules/atmospherics major cleanup [MDB IGNORE] (#8818)
* modules/atmospherics major cleanup

* E

* E

* 0

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-14 22:44:30 +01:00
SkyratBot
c23bd1cb8c [MIRROR] every case of initialize that should have mapload, does (#8374)
* every case of initialize that should have mapload, does

* E

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 23:07:53 +01:00
SkyratBot
029e10ce01 [MIRROR] RPD: Feedback when configuration can't change (#8177)
* RPD: Feedback when configuration can't change (#61378)

Preventing the creation of stub pipes involved adding a lot of checks to ensure a pipe could never be created with only one or no directions connectable. This PR adds feedback for when this happens, rather than appearing to silently fail - yet still generating the "I did something!" sparks.

Slightly better UX and feedback hopefully makes dealing with a fairly complicated system slightly easier

* RPD: Feedback when configuration can't change

Co-authored-by: esainane <esainane+github@gmail.com>
2021-09-15 03:32:48 +01:00
SkyratBot
ed1a537fa8 [MIRROR] Immediately connect on smart pipe reprogram (#8058)
* Immediately connect on smart pipe reprogram (#61134)

* Immediately connect on smart pipe reprogram

Previously, a smart pipe reprogrammed to permit a new direction would
connect to a device or pipe that was added later, but not to any
existing device or pipe.

* Dishonor for my ancestors and shame to my family

* Die alone and unloved

* Immediately connect on smart pipe reprogram

Co-authored-by: esainane <esainane+github@gmail.com>
2021-09-08 15:45:39 +01:00
SkyratBot
3a59debce1 [MIRROR] RPD default pipe color change (#7942)
* RPD default pipe color change (#61162)

New default color is green, also grey has been renamed to omni to ease new players without code diving (or changelog reading)
Moved the colors so that green is the first and the omni is the last

* RPD default pipe color change

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2021-09-03 03:57:10 +01:00
SkyratBot
c3ec32437a Many smart pipe fixes (#7849)
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-01 17:59:33 +01:00
SkyratBot
95ba2bbaab [MIRROR] Make transit tube dispenser stations buildable (#6606)
* Make transit tube dispenser stations buildable (#59852)

Dispenser stations had some sprite issues due to using wrong icon states and having wrong orientation for flipped versions.

This PR fixes the issues and adds them to the RPD.
I can remove them from RPD construction if you don't want them to be constructible - this was the main motivation for implementing the changes in a downstream.

* Make transit tube dispenser stations buildable

Co-authored-by: KubeRoot <kubinator4321@gmail.com>
2021-06-30 19:59:55 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
54d13f9f91 [MIRROR] RPD can destroy broken disposal pipes (#5401)
* RPD can destroy broken disposal pipes (#58814)

Aims to speed up the replacement of broken disposal pipes by making it less demanding on the player. Hopefully this will lead to it happening more often. Does this by:

Allowing the RPD to destroy broken disposal pipes
Automatically destroying broken disposal pipes before trying to secure new ones of the same direction over the top of them
Automatically crowbarring floor tiles while trying to secure disposal pipes over the top of them if a crowbar is held in the offhand

Speeds up the rate at which broken disposal pipes can be replaced.

At the moment to replace a disposal pipe you have to weld each end of the broken pipe. It requires fuel, activation of eye protection and three seconds per end. This becomes time consuming when you have a lot of pipes to replace. It only serves to further disincentivise repair of everything but small breaches.

This PR lessens the requirement to only an RPD and half a second per end. You can also just place a pipe of the same direction over a broken pipe and the ends will be deleted for you. If you place a disposal pipe over a broken pipe that's above a floor tile while holding a crowbar, the floor tile will be removed so the RPD can secure the pipe. All that's left is welding the pipe and replacing the floor tile.

Hopefully this will lead to more people replacing disposals. There's still undesirable difficulty in finding out where pipes went and which ones were used (if you can't figure it out the only solution is making do or looking at the .dmm -- usually it just doesn't get fixed) but that's out of scope for this pull request. Replacing disposal pipes is just one of several jobs involved in repairing hull breaches that players don't want to do. Hopefully this eases the tedium of replacing obvious pipes.

* RPD can destroy broken disposal pipes

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2021-05-02 01:47:58 +01:00
SkyratBot
32c7ef7574 Smarter pipes (#5228)
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2021-04-26 22:59:05 +01:00
SkyratBot
6c8b4ddcd4 [MIRROR] Scrolling layers for RPD is more snappy. It is also no longer flipped. (#4995)
* Scrolling layers for RPD is more snappy. It is also no longer flipped. (#58493)

* Scrolling layers for RPD is more snappy. It is also no longer flipped.

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
2021-04-18 14:27:48 +01:00
SkyratBot
415c68bfe0 [MIRROR] Adds color picking as RPD right click action (#4874)
* Adds color picking as RPD right click action (#58309)

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

* Adds color picking as RPD right click action

Co-authored-by: thebleh <43266738+rdragan@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-04-13 11:33:30 +01:00
SkyratBot
781a5ac94c [MIRROR] Smart Pipes(reborn) (#4682)
* Smart Pipes(reborn) (#58038)

How these new pipes work.
-Smart pipes autoconnect to nearby smart pipes
-They are now color coded, so they only connect to the same colored pipe, the GREY pipe is the wildcard and can connect to every other color, so be aware of this
-ALL components spawned by the RPD can be colored (from pumps to connectors, from pipes to manifolds), if you leave them GREY they can connect to every other color. Color adapters can be colored, but they'll still connect two pipes with different colors. BUILDABLE machines are GREY (thermomachines, cryo, HFR) so be aware of this
-Trying to go across another smart pipe will now build a bridge pipe automatically already colored of the color you choose, so you don't have to place it yourself anymore (is still available in the RPD tho)
-ALL binary components, layer manifolds, color adapters and bridge pipe can be put ONTOP of a smart pipe, but not on another of these. Smart pipes can't be placed on top of these pipes, so you have to build them first.
-Lcrossings can't be made anymore (sorry y'all i tryed, if someone have a way of doing them ping me on discord)
-REMEMBER you still have 5 layers to go, these rules apply to the same layer pipes, so if you do a crossing on different layers you won't see a bridge pipe appear.

* Smart Pipes(reborn)

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2021-04-06 09:42:49 +01:00
SkyratBot
d14f293f1f [MIRROR] RPDs can install the unwrench upgrade by interacting with the disk (#4494)
* rpds can now interact with the unwrench upgrade (#57959)

Adds the functionality to upgrade the RPD by 'slapping' the unwrench upgrade disk with the RPD itself

It doesn't exactly revolutionize gameplay and at most allows engineering cyborg players to at least upgrade their RPD to unwrench saving them a headache and a module slot when doing their thing I suppose

* RPDs can install the unwrench upgrade by interacting with the disk

Co-authored-by: DuffCreeper <treyparn@yahoo.com.au>
2021-03-28 23:31:36 +01:00
SkyratBot
02b57d42ba [MIRROR] Fix multiz piping issue (#3885)
* Fix multiz piping issue (#57273)

Fixes multiz adapters, now they work on the same tile with different pipe layers and they keep the pipelines separated. Comes with a sprite fix due to layer 1 and 5 miscalculations

* Fix multiz piping issue

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2021-03-05 14:00:42 +00:00
SkyratBot
18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
e77922b87d [MIRROR] Fixes RPD runtime (#2148)
* Fixes RPD runtime (#55453)

Simple signal regregister runtime.

* Fixes RPD runtime

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2020-12-13 00:51:12 +00:00
SkyratBot
3a0491d3b4 [MIRROR] Small do-after refactor (#2074)
* Small do-after refactor (#55172)

This is an alternative to the PR Ryll made, it does some things similar e.g. the default limit of 1 interaction per target for a person, however, it refactors do_afters to support overrides for max interaction counts and unique sources.

For example, stripping uses the item being stripped as the source, allowing you to strip multiple items, but not the same item multiple times.

I've also fixed most other edge-cases this could cause where balance would be affected, but feel free to point out any I might've missed, this'll probably require some longer-term testmerging.

* Small do-after refactor

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-12-07 22:46:59 +01:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
eedf2362cc [MIRROR] Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#1674)
* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'. (#54665)

The PR aims to allow advanced tool users to be defined by traits rather than a hardcoded proc.
Also necessary for the CanUseTopic refactor I'm working on, which will be PRed separately for atomization purposes.
This PR also fixes an inconsistency with can_hold_items (since monkeys can actually hold items).

* Refactored 'IsAdvancedToolUser' into a macro plus relative trait. Tweaked 'can_hold_items'.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-11 02:52:32 +00:00
SkyratBot
cc1d3acc95 [MIRROR] Fix runtime with RPD unwrenching. (#1606)
* Fix runtime with RPD unwrenching. (#54773)

[01:44:12] Runtime in RPD.dm, line 392: Cannot read 1.type

/obj/machinery/atmospherics/wrench_act can return a boolean instead of an object under the following scenarios:
You cannot unwrench the machine.
You can unwrench the machine, but use_tool later returns FALSE instead of TRUE.

use_tool can fail when you stack wrench_acts ontop of eachother. The first wrench_act will work as expected and return the deconstructed version of the pipe, all other stacked wrench_acts will have use_tool fail and will instead just return TRUE.

This PR prevents stacking of wrench_act-based do_afters and guards against unexpected runtimes by CRASHing when wrench_act returns something unexpected.

* Fix runtime with RPD unwrenching.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-11-07 15:42:27 +00:00
SkyratBot
879ddd1da1 [MIRROR] Fix #54806 (#1584)
* Merge pull request #54811 from Dennok/patch-2

Fix #54806

* Fix #54806

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-11-06 19:37:07 +00:00
SkyratBot
cb880bb359 [MIRROR] Adds layer switching with mouse wheel to the RPD. (#1491)
* Adds layer switching with mouse wheel to the RPD. (#54458)

Adds a signal that gets sent to items in currently active hand on mouse scroll
and makes RPD listen to this and change the piping layer accordingly.

* Adds layer switching with mouse wheel to the RPD.

Co-authored-by: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com>
2020-10-27 09:09:25 +00:00
SkyratBot
d77ea78fe0 [MIRROR] RPD unwrench upgrade (#1189)
* RPD unwrench upgrade (#53615)

* Most OP atmos tool. RPD that can unwrench pipes.

Adds reverse wrench mode upgrade to the RPD.
Attention, due to budget cuts, the mode is hard linked to the destroy mode control button.

Now /obj/machinery/atmospherics/deconstruct(disassembled = TRUE) return created obj/item/pipe

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>

* RPD unwrench upgrade

Co-authored-by: Dennok <Deneles@yandex.ru>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
2020-10-07 20:40:29 +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
e67d1c2bb3 Fixed the multi z pipe adapter (#985)
Co-authored-by: nicbn <nicolas.nattis@gmail.com>
2020-09-26 00:43:52 +01:00
SkyratBot
d10ac05a00 [MIRROR] new device, temperature gate (#776)
* new device, temperature gate

* aa

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-13 04:21:17 +02:00
SkyratBot
9ffa525ff3 [MIRROR] new item, temperature pump (#775)
* new item, temperature pump

* aa

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-13 03:53:23 +02:00
SkyratBot
24ebb910f3 [MIRROR] Expand number of pipe layers from 3 to 5 (#617)
* Expand number of pipe layers from 3 to 5

* Hardsyncs MetaStation

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-06 05:00:20 +02:00
SkyratBot
c6dc3d575c [MIRROR] Add pressure valve atmos device (#575)
* Add pressure valve atmos device (#53281)

New item the pressure valve
its a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure

adds: Pressure Valve (a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure)

* Add pressure valve atmos device

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2020-08-30 05:18:51 +02:00
SkyratBot
3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
SkyratBot
035aebc2a2 [MIRROR] Diagonal macro thingu (#407)
* Diagonal macro thingu (#52927)

* Diagonal macro thingu

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-08-19 04:53:44 +02:00