Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluespace pipes #30863

Merged
merged 2 commits into from Sep 25, 2017
Merged

Bluespace pipes #30863

merged 2 commits into from Sep 25, 2017

Conversation

pubby
Copy link
Contributor

@pubby pubby commented Sep 18, 2017

Adds a new unary pipe component: bluespace pipes, which allow one to teleport gas.

The way it works is, every bluespace pipe is implicitly connected to every other bluespace pipe in existence. Pumping gas into one bluespace pipe shares it among all other bluespace pipes.

image

image

I'm submitting this as an alternative to #30391, as it addresses some of the problems discussed, such as how awful it is to repair distro once it gets bombed. With bluespace pipes, fixing distro is actually fun!

And let's be honest, connecting pipes over long distances is one of the least functional, and more importantly, least fun aspects of atmospherics. It takes so much time that nobody does it, and that's why you never see clever atmos projects around the station.

Does this make regular pipes redundant?

Hardly. Pipes are far superior at short range because you have control of what they share with. You also have better control over what gases goes where. With bluespace pipes, you only have a single pipenet, so you'll need a bunch of filters and mixers and pumps if you want multiple projects.

How will this change the game

Single-room floods become possible, and you can expect a higher chance of atmospherics getting repaired once broken. Expect to see autism projects make better use of atmos. Expect to see other creative uses (such as using this for cryo).

🆑 Pubby
add: Bluespace pipes to atmospherics, which create a single pipenet with all bluespace pipes in existence.
/:cl:

@tgstation-server tgstation-server added the Sprites A bikeshed full of soulless bikes. label Sep 18, 2017
@CPTANT
Copy link
Contributor

CPTANT commented Sep 18, 2017

Love it.

@Onule
Copy link
Contributor

Onule commented Sep 18, 2017

Would it be possible to connect atmospherics in lavaland with the station's atmospherics?

@RandomMarine
Copy link
Contributor

This'll take atmos sabotage potential to a new level.

user.visible_message("<span class='notice'>[user] paints \the [P] [mode].</span>","<span class='notice'>You paint \the [P] [mode].</span>")
P.update_node_icon() //updates the neighbors
if(P.paint(GLOB.pipe_paint_colors[paint_color]))
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

playsound(src


/obj/item/device/pipe_painter/examine()
..()
to_chat(usr, "It is set to [mode].")
to_chat(usr, "It is set to [paint_color].")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

examine(mob/user) and to_chat(user,...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also add a notice span

return 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TRUE

/obj/machinery/atmospherics/pipe/bluespace/New()
icon_state = "pipe"
GLOB.bluespace_pipes += src
..()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initialize and . = ..() first

Copy link
Contributor Author

@pubby pubby Sep 18, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll open another PR in a few minutes/hours to change all atmos machines to use initialize.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Too many pipenet related things broke during mapload when I tried changing to Initialize so I'm just gonna leave it for now if that's ok with you.

qdel(P.parent)
P.parent = null
. = ..()
for(var/p in GLOB.bluespace_pipes)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return ..() last

@XDTM
Copy link
Contributor

XDTM commented Sep 18, 2017

Should be twinned pipes or use a channel, if it's global you can only have one single autism project with these

@SgtxRootbeer
Copy link
Contributor

yeah, giving it a frequency or channel system would be a massive improvement.

@AuroranAI
Copy link

If you don't go with channels, make sure to take these out of the rpd's build list. Any shmuck who has time can print an rpd out of a hacked lathe and then fuck up your autism project by volume pumping the gas into space

@Ratvar
Copy link

Ratvar commented Sep 18, 2017

Allow RPD to hold bluespace crystals, make those buildable with bluespace crystal charges?

@silicons
Copy link
Contributor

imo they shouldn't be free (and in my very honest opinion they shouldn't be common either but whatever)

@lzimann lzimann added the Feature Exposes new bugs in interesting ways label Sep 18, 2017
GLOB.bluespace_pipes -= src
for(var/p in GLOB.bluespace_pipes)
var/obj/machinery/atmospherics/pipe/bluespace/P = p
qdel(P.parent)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QDEL_NULL(P.parent) and remove next line

@AnonymousNow
Copy link
Contributor

If they could be paired with a multitool on a specific frequency each, for example, then they'd offer great tools for future mappers who aren't concerned about making their creations' atmos networks too physical and complex.

@ghost
Copy link

ghost commented Sep 18, 2017

I can think of so many great uses for this. This might make me an Atmos player again. 😍

@praisenarsie
Copy link
Contributor

imo these should be VERY expensive since i expect people to highly cheat atmos with these.

@as334
Copy link
Contributor

as334 commented Sep 18, 2017

I think these would be best off being gated behind R&D or cargo or something as opposed to unlimited supply from the RPD for the reasons mentioned above. Besides, atmos doesn't really have any dependence on external departments so it would be reasonable to have them have to work with someone else for these.

@pubby
Copy link
Contributor Author

pubby commented Sep 18, 2017

@Onule They do connect across z-levels so you can use this to send gas to lavaland.

@nicbn
Copy link
Contributor

nicbn commented Sep 18, 2017

Balance this shit, make it require a lot of materials and science.

@pubby
Copy link
Contributor Author

pubby commented Sep 18, 2017

When has gating things behind science ever been a good way of balancing things? Why is balance even being discussed when nobody has put forth actual problems or test results? You lads are mad. Mad I say!

@RandomMarine
Copy link
Contributor

Siphoning air from lavaland to refill the station would become practical!

@JJRcop
Copy link
Contributor

JJRcop commented Sep 18, 2017

Only one shared network in the entire game is kinda weird and really limits this, makes using it probably get broken quickly as someone else can take your gas somewhere else, or add bad gas, without needing to know your frequency or whatever.

@ghost
Copy link

ghost commented Sep 18, 2017

I feel like the limited networks are necessary for balance. Also, keep in mind that you can use gas filters to extract only the gas you want to have from the networks, so others can still use the pipes for their own needs.

@as334
Copy link
Contributor

as334 commented Sep 18, 2017

@pubby

Actual problems.

Random people dumping plasma into your bluespace pipe setup.

@pubby
Copy link
Contributor Author

pubby commented Sep 18, 2017

That sounds like fun, as334. I doubt it would ever happen, but it sounds like fun when it does. Force those techies to use their filters.

@lzimann
Copy link
Contributor

lzimann commented Sep 18, 2017

does this have any downside? feels like it could be really strong

@JJRcop
Copy link
Contributor

JJRcop commented Sep 18, 2017

The problem isn't necessarily filters, it's also that someone could just use a really strong pump and suck all the gas away.

One solution is to be able to easily find other bluespace pipes with a tool if you have access to one of them, maybe a t-ray scanner.

@Tokiko1
Copy link
Contributor

Tokiko1 commented Sep 19, 2017

Maybe add a range limit to the pipes and only have them share with bluespace pipes nearby within that range? You'd still be able to daisy chain networks together, but sabotage wouldn't be as easy as wrenching down another bluespace pipe anywhere.

Also, how about making these very power hungry to balance them? You'd have an incentive to either setup the engine well, or not get too lazy with the piping.

You could even have the range depend entirely on how much energy you want to feed the pipe.

@AdamElTablawy
Copy link
Contributor

Range limit is probably a good idea as to avoid a 2x1 room with a plasma canister connector and bluespace pump scenario where one asshole floods the station from a room in deep space

@FantasticFwoosh
Copy link
Contributor

FantasticFwoosh commented Sep 19, 2017

If this is made out of RnD, they are just going to get exploited by ghostroles to steal air, or vice versa grief each other

A way to configure seperate channels please but great idea

  • Maybe bluespace pipes not put into a specific frequency can only direct gas in a direction (set by the player) to other bluespace ports? That'd mean you'd be able to jump ACROSS pipe networks without disturbing the existing pipe layout and deliver gases instantaneously rather than have omnipresent gas that needs to be filtered at all times.

As to say to the above point, you could have two rooms in space seperated, the airtank is in the leftmost side of the room and you're in the righthand side of the room with a vent, the airtank bluespace pipe is set to port to the nearest bluespace pipe in the eastern direction, and between both bluespace pipes is a window with a LOS and they connect and pipe over automatically with no fuss breathable air into the vent for you in the other room.

@Bawhoppen
Copy link
Contributor

Bawhoppen commented Sep 19, 2017

Don't just add them to atmos outright. Though R&D wouldn't be a good answer where to add either.

@JJRcop
Copy link
Contributor

JJRcop commented Sep 19, 2017

Let me throw a questionable idea into the hat: crafting

@Bawhoppen
Copy link
Contributor

@juanototo2 Uses titanium or plastitanium perhaps?

@Tokiko1
Copy link
Contributor

Tokiko1 commented Sep 20, 2017

Please don't gate engineering related things behind mining/science. If you want to gate it, use power instead. Variable power output direly needs some use and RnD and mining have enough things already.

@Bawhoppen
Copy link
Contributor

Mining is supposed to provide for the entire station, not JUST science. Science also in theory is then supposed to provide for the rest of the station too.

@SgtxRootbeer
Copy link
Contributor

Give engineering a machine, that takes a lot of power to keep the bluespace pipes online, (wire it directly to the engine)
The more pipes, the more power it consumes

@Supermichael777
Copy link
Contributor

Supermichael777 commented Sep 21, 2017

the problem baw is that science is run by the extremely greedy.
You see them sit in the autism fort with a locker full of minerals, go through them slowly and then GO BACK TO GRAB THE NEXT LOAD far before they run out. most minerals end up in a pile at the feet of the rnd researcher. No one else has redemption machine access to nab the stuff they need and in all likely-hood they would be assaulted by the nerds for daring to "steal" "their" minerals. Ever tried making a uranium drink?

Do you remember when they took up mapping to MAP THE MACHINE DIRECTLY INTO R&D?

@Cyberboss Cyberboss added the Atmospherics Nobody knows how this code works label Sep 21, 2017
@Bawhoppen
Copy link
Contributor

Sounds like we should have some administrative action on that then. And also other people do technically have access to the ORM (chemist, and stuff I think)

@CPTANT
Copy link
Contributor

CPTANT commented Sep 21, 2017

ORM should be placed inside cargo and cargo techs should have access.

Distributing resources fairly should be cargo's job.

@Cyberboss
Copy link
Member

Cyberboss commented Sep 21, 2017 via email

@Cyberboss Cyberboss merged commit eb0a747 into tgstation:master Sep 25, 2017
ghost referenced this pull request in HippieStation/HippieStationdeprecated2020 Sep 25, 2017
@GunHog
Copy link
Contributor

GunHog commented Sep 25, 2017

Prepare for a nice helping of burning plasma in your secret bases!! 😈

@pubby pubby deleted the bluepipe branch October 7, 2017 02:49
@Qbopper
Copy link
Contributor

Qbopper commented Oct 14, 2017

lol

someone made the plasma pipe go into this little tile and be basically tried to bait people into opening it by talking about traitor gear in his bag (he wasn't an antag)

really makes you think

literally right after I finished typing this

lol2

@GunHog
Copy link
Contributor

GunHog commented Oct 14, 2017

WAAAAHAHAHAHAHA! That is CLASSIC! You do not need Bluespace pipes to do this, but he prooobably ate a ban for doing that as non-antag. Still, 10/10! Stuff like this is why I love this game. (Except the non-antag part)

@Anonmare
Copy link
Contributor

The taste for valids was too much to resist

@duncathan
Copy link
Contributor

these are poorly implemented

@SgtxRootbeer
Copy link
Contributor

you're just now noticing? especially after people cried about wanting channels over and over again...

@duncathan
Copy link
Contributor

these were merged about 2 weeks before i returned i couldn't stop them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Atmospherics Nobody knows how this code works Feature Exposes new bugs in interesting ways Sprites A bikeshed full of soulless bikes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet