Commit Graph

1839 Commits

Author SHA1 Message Date
skoglol ac8a79f521 Change default atmos to low pressure for some non-lavaland stuff (#45981)
When lavaland got randomized atmos, these weren't changed to reflect 
that. None of these turfs are used on lavaland, but still generate 
whatever random atmos lavaland does.
2019-08-18 11:39:58 -07:00
nemvar a40ee7d303 Changes hulk code. (#45866) 2019-08-17 00:55:27 -07:00
nemvar 11318bfc3c Arm implants now support more than two hands. (#45843)
* Adds multiple hand support to arm implants

* Kills those nasty static lists.

* Update inventory.dm
2019-08-16 20:56:25 +02:00
Akrilla 809be06373 [TMC] Baton rework (#45377)
* stun

* stamina tweak

* 5 units

* 2 hits even with chem

* Update stunbaton.dm

* This is a good slowdown

* new chem + confusion

* overdose

* h

* update

Co-Authored-By: JJRcop <jrubcop@gmail.com>

* less cheap

* better overdosing

* typo

* *=

* confused

* overdose tweaks

* tweak

* no var

* typo

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* *

* tweaks

* stamina batons

* knockdown

* Update code/game/objects/items/melee/misc.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* number tweaks

* maint

* 2

* cooldown and less stuntime

* tweaks

* conflict

* text
2019-08-14 14:59:46 -04:00
81Denton 1c4036b309 [TMC] Explosion rebalancing (#45819)
* megumin is best girl fucking fight me

* what kind of smoothbrain capizalized these

* uses explosion defines

* more explosion defines

* Removes reagent explosion code for <1 amounts

* Scales explosion knockdown off bomb_armor
2019-08-14 10:55:50 -04:00
Dennok 4e6d8c073a Silo link RCD upgrade (#45607)
* Update all_nodes.dm

* Update RCD.dm

* Update RCD.dm

* Update construction.dm

* Update tool_designs.dm

* Update RCD.dm

* Update RCD.dm

* Update RCD.dm

* fix mat container

* up

* add radial silo link button

remove silo link verb
2019-08-13 16:59:03 -04:00
TheChosenEvilOne a7cde8ce39 [Ready] Ports dynamic gamemode from /vg/ (#44639)
About The Pull Request

Port the dynamic gamemode from /vg/.
(Really bad explanation of the mode incoming.)
The dynamic game mode generates a threat number which is used to "buy" rulesets (rulesets are basically your antagonists). This means you can have rounds with for example traitors and cult (you can have up to three roundstart rulesets depending on the pop and threat level), and then there are latejoin and midround rulesets which basically do what they say (latejoin ruleset assigns late joining player as an antagonists and midround assigns ghosts or a currently alive player as an antagonist)
Why It's Good For The Game

This increases the chances of people getting their important antagonist role and makes rounds more interesting (when cultists gets their hand on wizard's magic) when everything can happen at the same time (cult, wiz and traitor could happen on high threat level).
Changelog

cl
add: Ported dynamic mode from /vg/, originally made by DeityLink, Kurfursten and ShiftyRail
/cl
2019-08-09 11:26:03 +12:00
Rob Bailey a5de1c1b5e [READY] Reinforced windows are harder to get through (#45609)
About The Pull Request

full tile Reinforced windows now require a melee item over 11 damage to damage, have 150 health, and 90 melee armor. This is approximately 2 minutes of sustained beating with a toolbox.
full tile reinforced Plasmaglass windows now require a melee item over 21 damage to damage, have 200 health, and 95 melee resistance. This is approximately 3 minutes of sustained beating with a toolbox.
dir windows have been given the appropriate halved health values.

Current deconstruction steps:

    heat one way screws (welder, 18 seconds, harm intent required)
    unscrew one way screws (screwdriver, 8 seconds)
    pop out panel (crowbar, 5 seconds)
    cut connecting bars (wirecutter, 3 seconds)
    unbolt frame (wrench, 5 seconds)
    theoretical fastest time: 39 seconds
    more practical time: 45 seconds

if the bolts are heated and then not unscrewed within 30 seconds they cool off again, and must be heated again

Construction is the same as before except the crowbar levering step takes 10 seconds instead of 3.
Why It's Good For The Game

Getting into places you shouldn't be is currently way too easy.
This change forces you to hack in, disassemble the window, or target a weak point like a windoor.
At the moment, it is possible to smash down what is intended to be a secure window with an item you get in your bag at roundstart for free. This is stupid. It should require some planning or at least thinking to be able to make your way in places you should not be.

Oranges has talked in the past about departments being designed like impenetrable fortresses with shutters everywhere, and this happens because reinforced windows are far too weak and unreliable to be able to have as effective defense of any department against even underequipped and underprepared people. This leads to the introduction of shutters which are too strong and difficult to deal with in most cases.

This is part of some plans to make departments more secure overall while still providing ample avenues for determined or properly prepared individuals able to get in if they want to. Despite having more plans along with this, this is a standalone change as is. This is not a "this will only work with later changes I'm totally going to do" situation
Changelog

cl
balance: Reinforced windows now require a melee item over 11 damage to damage, have 150 health, and 90 melee armor. This is approximately 2 minutes of sustained beating with a toolbox.
balance: Plasmaglass windows now require a melee item over 21 damage to damage, have 200 health, and 90 melee resistance. This is approximately 3 minutes of sustained beating with a toolbox.
/cl
2019-08-09 11:03:59 +12:00
zxaber 532a891b74 Mediborg Beaker Storage Apparatus (#45494)
* Pull request commit apparatus

* words

* better comments

* small bits

* beaker breaker

* better beaker breaker

* Superior Signals

* new signals for update_icon

* compile_overalys
2019-08-07 15:58:30 -04:00
kevinz000 7882ab311a Fixes VV editing name and ckey in header (#45742)
* fix

* Fixes unnecessary whitespace changes/line ending changes.
2019-08-06 20:21:46 -07:00
Trilbyspaceclone cdbd9a7c0b [Ready] Adds Snow Cones (#45632)
* Update construction.dm

* Update snacks_sandwichtoast.dm

* Update snacks_other.dm

* Create frozen

* Create recipes_frozen

* Update tgstation.dme

* Add files via upload

* .dm!

* .dm!

* Recomplie

* i said .dm! but not snacks_...

* spaces are bad >_<

* We dont have kiwi?
2019-08-05 19:02:01 -07:00
nemvar ccbb0a91d7 Cleans up some martial art code. (#45502)
* Removes/Moves some weirdly placed variables in martial arts. Splits NO_GUNS and CHUNCKY_FINGERS traits.

* Maybe this should actually compile

* c begone
2019-08-05 16:58:12 -07:00
SpacePrius 46e8ee4b5a Cat 2 Med downside tweak. (#45474)
* First Commit

Signed-off-by: Space Prius <bubba041102@gmail.com>

* Fixing the trait methods.

Signed-off-by: Space Prius <bubba041102@gmail.com>

* made 1% per tick instead of 33% per tick

Signed-off-by: Space Prius <bubba041102@gmail.com>

* specifying trait sources, changed to deafness.

Signed-off-by: Space Prius <bubba041102@gmail.com>

* fixing description

Signed-off-by: Space Prius <bubba041102@gmail.com>

* removing now unused define

Signed-off-by: Space Prius <bubba041102@gmail.com>

* removing random whitespace

Signed-off-by: Space Prius <bubba041102@gmail.com>

* changed to 2%

Signed-off-by: Space Prius <bubba041102@gmail.com>
2019-08-03 20:20:00 -04:00
nemvar ea70deb828 List of contents (#45476)
About The Pull Request

-You know require medical access to change the medical records with the hud
-Medical/Sec HUD examine now relies on a trait instead of istype checks.
-Removed a shitload of excessive nesting
Why It's Good For The Game

This isn't a full refactor, just a small attempt to make this code slightly more sane and more friendly to work with. I do not intend to fix all the problems this piece of code has (ohh, there are so many of them) with this PR.
Changelog

cl
balance: You now require medical access to change the medical records with a medHUD.
/cl
2019-08-03 14:49:36 +12:00
kevinz000 c6d710d40e VV refactors 2 - Actually not indefinitely WIP (#45217)
About The Pull Request

The thing other than ruining maps that I was working on
Refactors VV to use a more standard way of doing topic dropdown options rather than a huge if/else chain
Marking datums is now a right click option
Moves a few files around too/few procs
Why It's Good For The Game

Makes it easier to add more VV dropdown options in the future, and moving href list keys to defines make misspelling them harder.
Changelog

cl
add: Oh yeah also added a "return value of proccall" option for VV var editing.
refactor: View Variables has been refactored. It should now be easier to make VV dropdown options.
/cl
2019-08-03 14:43:26 +12:00
Rob Bailey 76115373b1 ballistic guns autodoc (#45578)
* ballistic guns autodoc

* fixes
2019-08-03 14:39:51 +12:00
PKPenguin321 978fcf97ac [Ready] Code Bounty: Fake Virus Event (#45348)
What is it
A new event that will target 1-3 people randomly. The fluff text/emotes from multiple viruses (such as coughing, sneezing, dizziness, confusion, vomiting (just the fluff text no actual vomit), etc) will be thrown at the victims as with a regular virus, but they will not actually be suffering from a virus.

The way it works is that it gives a 3 minute invisible status effect that will throw random spooky messages with increasing spookiness over time (like a real virus would). After the 3 minutes is up, the status effect vanishes and it's like you were never even afflicted. Also, after the 1-3 random people are given this status effect, 1-5 more are made to cough/sneeze/etc exactly once with a randomized brief delay.

Purpose
This should hopefully make people stop and think before immediately going to lynch the virologist when they see a "You feel lightheaded!" message. Adds paranoia.

cl
add: A new Fake Virus event that makes you think you have a virus when you don't
/cl
2019-08-01 20:43:47 +12:00
AnturK 714c61c70f Adds way to add/remove traits for admins (#45503) 2019-07-29 02:21:22 -07:00
RandolfTheMeh 48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00
nemvar a52b4ec73d Removes emag and emp species hooks. (#45478) 2019-07-28 04:41:42 -07:00
Dennok 97328e9ab3 RCD update (#45357)
Add simple circuits to rcd
2019-07-27 02:11:23 -07:00
zxaber aaaee29a63 [READY] Re-works the Durand ability (#45144)
* Woo shields

* reshuffle, adding a sound

* Re-organizing

* better defines for the signals I had

* new stuff

* fixes

* Replaced all instances of "defence" with defense"

and other small changes.

* oof

* spelling, and a forgotten check

* you, upgraded, improved, yes
2019-07-27 02:06:33 -07:00
nemvar 449e5d38e6 This turns butchering into something that resembles a component. (#45299)
* This turns butchering into something that resembles a component.

* Changes how the recycler works.
It no longer uses butchering in disgusting ways.

* I guess this works? It's not pretty though.

* How the fuck...
2019-07-26 23:57:37 -07:00
skoglol 718973fb9f Removes the assimilation/hivemind gamemode (#45316)
* Initial pass

* comment.

* stray ,

* stray define begone
2019-07-27 00:08:53 +02:00
MMMiracles cded323274 Adds Hat Throwing (#45355)
* adds hat throwing on people and borgs

* clothing flags, hats can knock off non-items, borg hat blacklist check

* prevents hats with items in them from being able to land on heads

* removes extra equip, hats can go on the hatless again, tinfoil fix

* if

* bit flag
2019-07-26 15:23:56 -04:00
oranges 14fcef698e Add autodoc to the callback datum (#45463) 2019-07-26 02:19:51 -07:00
nemvar 5d804ad82f Signals for tool acts. (#45263)
About The Pull Request

This PR adds signals for all basic tool acts.
Replaced signals places where it's appropriate.
Why It's Good For The Game

It's kinda dirty how we used to do attackby and then check for tool behaviour. Since we now have stuff like plumbing and possibly that one laser PR, we need signals that directly relate to tool behaviour.
Changelog

cl
code: Added signals for all basic tool acts.
/cl
2019-07-26 09:47:22 +12:00
nemvar 87f080bfbb Sanity is now capped. (#45410) 2019-07-25 14:06:36 +02:00
nicbn 44a07d712d BoH bombing rework II (#45174)
Ever since the big BoH nerf, BoH bombing is kind of a joke. The damage it does is not really huge, and it's lame for traitors - it lacks emotion and their target may not even die, as they can use the ladders to get away.

So, what this does is add back some soul into BoH bombing, while not making it too round-ending and adding some degree of damage control for admins in case of griefing.
When BoH bombing, a stationary singulo with custom sprite will spawn. Its gravitational pull is REALLY strong, so people near it are probably going to get eaten, and there will be some real damage to the hull. The singulo will cease existing after 5 seconds.

For antags, I think this becomes much more interesting than the current BoH bombing. In the case of griefers, the damage to the station isn't too big because the singulo is stationary and fades away after some seconds. And then, admins can click a button in their chat to bring back everything the singulo ate into the game (the button expires in 10 minutes, however, but this can be changed if you think it is needed).

Settings like gravitational pull can be tweaked if yall find it to be too strong or something.
Changelog

cl
tweak: BoH bombing changed again. Now it's more violent.
/cl
2019-07-25 21:18:01 +12:00
tralezab 347a52eb52 Chat Subsystem ported from TerraGov-Marine-Corps (#45354)
* chat subsystem v0.1

* removes old tabulator

* updates the check on to_chat

* SSchat now initializes
2019-07-25 16:23:05 +12:00
Qustinnus b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
nemvar 4e82d53c6f Reworked electrocute_act to fit my fantasy while squashing some bugs. (#45291)
* Reworked electrocute_act
This still isn't perfect, ideally this would use flags and stuff but I don't have the energy for a change of that size.

* Removes spec_electrocute_act and makes the species siemens_coeff actually work.

* Readds the secondary shock
2019-07-23 02:43:23 -07:00
Time-Green d18fe2101a [READY] Plumbing improvements and chemical synthesizers (#45185)
Removes dumb visual bugs.
Put the copy pasted wrench stuff for disabling and enabling the component, in the component using a new signal from default_unfasten_wrench.
Add a general plumbing machinery subtype. Right now it's mainly for cataloging.
Adds the chemical synthesizer. You can select a single chemical and an amount between 0 and 5. It will produce it every tick. Should be combined with other synthesizers to create meth factories.
Makes the liquid pump a fully functioning machine.

cl
add: The station comes one step closer to plumbing with the introduction of the chemical synthesizer.
sprite: sprites for the synthesizer, input and output commissioned by @Meyhazah
/cl

I wanted to do all the plumbing basic equipment at once, but stuff like plumbing heaters is gonna be ugly if I don't rework them completely and I don't wanna scare the maintainers away.

There is slight copypasting from the chem_dispenser and with the chem synthesizer, but having it be inhereted would be a worse clusterfuck IMO.
2019-07-23 21:22:16 +12:00
Arkatos1 7c02aaa0c0 Suit storage slot bitfield (#45333) 2019-07-22 15:44:56 -04:00
nemvar 7ba60de3d6 Aheals now fix addictions and sanity. (#45329)
* Aheals now fix addictions and mood.

* Does it properly. Now uses a signal to detect the aheal.

* Removes a getComponent in living and puts that shit into the mood component.

* Fixes a small oversight with where I placed the moodie purge.
2019-07-22 15:42:30 -04:00
skoglol c5d6a521e7 Removes the overthrow gamemode (#45312)
* Removes the overthrow gamemode.

* Woops.
2019-07-22 01:10:02 -07:00
nemvar 2fb1150130 Replace global TAB variable with a define (#45264)
Replaces 4 spaces global var with a define!! BADMINS BTFO'd YET AGAIN!!
2019-07-20 16:22:05 -07:00
Akrilla 4dda76b8f1 [READY] Contractor Hub (#45117)
* Contract Hub + Pinpointer + more contracts

* Show rep

* Better errors

* Dynamic hub

* Bug fixes

* Show items

* No html in desc

* compile

* contractor support

* limit

* allow limits of 1

web edit

* Equip and send partner + turf helper

* working reinforcements

* Cleanup

* removing debug

* blackout

* test

* Working buttons

* no debug

* prelight

* finalized interface

* better fit

* hub icon

* conflict

* text

* error

* kit tweaks

* items

* fixup

* fixup

* bugfix

* ui fix
2019-07-15 20:36:54 +02:00
XDTM a5296e434c Makes undeads and androids have no metabolism (#44846)
About The Pull Request

Added two new traits, TRAIT_NOMETABOLISM and TRAIT_TOXIMMUNE. Does what it says on the tin, making livers not process reagents at all (except liverless reagents) and gives immunity to toxin damage. Species with NOMETABOLISM spawn with no liver (NOLIVER is now redundant and has been removed). This trait also prevents liver failure damage, for obvious reasons.

These traits have been given by default to androids (artificial, they were already immune to chemical healing anyway), zombies (who have their own regeneration) and skeletons (milk still works).

Other changes:

    Species' handle_reagents proc now fires before checking for metabolization, so species can process chems even when liverless.
    Removed the calcium healer trait, making it into a species handle_reagents check for each affected species (skeletons, plasmamen, bone golems). Skeletons now also heal burn damage from milk, since it's one of the few forms of healing they have available.

Note:
These traits should logically be applied to plasmamen and golems, but i intentionally left them out for now since it would be a significant balance shift, and there should be a proper alternative way of healing them first.
Why It's Good For The Game

Balances the significant benefits of being undead with a significant negative: being immune to chemical healing. Since zombies don't really rely on it and androids were already heal-immune, this mostly affects liches, and i believe it should be fine: considering that the main point of the spell is the resurrection mechanism, the space, gas, pierce, and heat/cold immunity they also gain should be counterbalanced by having a harder time recovering from injuries.

There is also a silver lining to having this trait: poison immunity. Effectively this is a buff to androids and zombies, the latter especially because they can no longer process mutation toxins. While this tactic is creative, it also trivializes a very expensive investment of TC. I might still add a liverless way to apply mutation toxins later on, but zombies shouldn't be effectively one-shot by a syringe gun.
Changelog

cl
add: Androids, skeletons and zombies no longer metabolize reagents. As such they no longer benefit from healing reagents, nor are affected by poisons and toxins.
add: These species are now also immune to any other form of toxin damage.
tweak: Milk now also heals burn damage for skeletons.
/cl
2019-07-15 09:07:26 +12:00
cacogen fef6bfe237 Makes luxury shuttle more user friendly (#45084)
* makes luxury shuttle more user friendly

* Makes it so change is placed in-hand, slimes aren't told to pull something when they can't and dragged IDs override worn IDs so a bank account is looked for on them instead

* Makes it so if the change doesn't go into a human's hands, they will be pulling it behind them instead.
2019-07-13 21:42:41 -07:00
Hulkamania dcc9065fd4 Add a new Emergency Shuttle, Transport Zeta (#45100)
Adds a new abductor themed shuttle to the game, available for 8k 
credits! The shuttle is only unlocked after alien technology has been 
researched!

The shuttle offers some unique items and layout compared to others 
currently available. Two singular entrances with the brig in the back 
means security needs to walk prisoners to the brig area to secure them. 
Unique unlock mechanism encourages either bringing alien tech back from 
Lavaland or stealing some from an abductor.

A few unique items aboard, including alien tools, the experimental 
cloner, and a void core can provide interesting opportunity if utilized 
in the window of time that the shuttle is on station.
2019-07-13 19:58:13 -07:00
py01 cb03a28a4b Stacking Status Effects (#44964)
* magic numbers in saw_bleed moved to class definition

* more saw bleed abstraction

refactors p2

various stacking effect refactors

saw bleed refactors again

moves stacking status class to status_effect.dm

misc stacking changes and documentation

reverts saw_bleed functionality to original

better var names, var name fix

removes extra proc

more sane handling of application

removes unused define

changes saw bleed back to original form

* another proc that can be ovverriden for falling stacks

* fixes path

* simpifies some checks

* feedback fixes

* spelling
2019-07-13 03:03:38 -07:00
moo bc06bf5794 Changes how explosive guardian bombs work. (#45111)
* Welpsies.

* 2

* comment fix
2019-07-11 16:53:44 -04:00
nemvar 66af98e75a blocks shove knockdown is now a clothing flag. (#45107)
* blocks shove knockdown is now a clothing flag.

* comment only commit
2019-07-11 12:21:22 -04:00
oranges 800f24393d Convert some code docs into the auto doc format (#45101)
* Document datum, area,atom and some of the mob code

* Update

* Documented mob_helpers poorly

* Brief treatise on mob movement iself

* sdfasdf

* Add title to treaties

* Move readme file for say

* more say stuff for mobs

* Document login and status procs

* Add some goddan links like a boss

* Document some atom vars
2019-07-11 11:39:56 -04:00
Mickyan 1b8ed8b6b8 weak (#44894) 2019-07-10 19:58:59 +02:00
nemvar 51c94717f1 comment fix 2019-07-10 18:11:27 +02:00
nemvar d2a9c685e0 Welpsies. 2019-07-10 18:05:04 +02:00
Time-Green ceeff661a0 [READY] Plumbing (#44833)
cl Time-Green
add: Adds plumbing pipes and some hidden plumbing related machines. They're not available in-game yet.
sprites: Geyser and geyser pump sprites created by Mey-Ha-Zah!
/cl
Adds the following objects:

    Fluid ducts . Like atmos pipe, but for reagents. They're smart and can be seperated by layer and color

    Geysers. They spawn on lavaland and can be harvested with liquid pumps or just beakers.

    Liquid pumps. For pumping geysers. They need to be on a wire node and connected to a duct network.

    Plumbable reagent dispenser subtype.

    New plumbing RPD specific RPD.

    Plungers. The reinforced plunger can be used for plunging geysers to activate them. They currently serve no other function and can't be worn as a hat yet.

They're all disabled and admin only.

Adds the following systems:

    Ductnet datum. They pretty much say "hey, we're connected"

    Plumbing component. You can turn any movable atom into a plumbable thing. Comes with overlays and everything. They're essential for everything that has input and outputs, except pipes. That means you can have machines connected to both atmospheric pipes and fluid ducts. They only connect with layer 3 ducts.

    Fluid subsystem that handles the processing on the plumbing machinery and other plumbing related stuff.

Basically atmospherics but with reagents. Reagents are pressurized and thus transferred instantly, to avoid those stupid leftovers in pipes no one likes. I am PRing it now because if I were to add a dozen or so associated machines, it would be too much of a pain to manage/review in one PR. It would also be a massive waste if people didn't even want it in the first place.

Also yes all of this works (as far as I know)

Things I plan to add in later PR's

    Layers / colors (maybe) done
    Machinery (Stuff like chemical processors, filters, special mixing chambers and factories)
    Make geysers more interesting, so chemists/atmostechs/cargotechs/assistants can go to lavaland and get some exotic stuff.
    Pipe fractures. Damaged pipes could do the cartooney water soaker beam coming out to shoot at people cause why the fuck not.

Code concerns:

    Connecting is handled through pipes only. Not sure if this is the best approach. This means plumbing devices cant directly connect to each other without pipes. I could add some exceptions to handle it. I could also take connecting away from pipes and make it a global proc, with alot of exceptions since it'd be handling both plumbing machinery and the ducts.

    Reagent transferring. Basically the transfer is instantaneous from A to B. I did this because stuff getting stuck in pipes could pose some serious mixing problems with chemistry, since it's alot more delicate than atmos. I could understand if people would want it to be like atmos. It wouldn't be difficult to change.

Also for testing I suggest you set the pipe_dispenser to category 3 to print fluid ducts. My tests were done with
/obj/structure/geyser
/obj/structure/reagent_dispensers/plumbed/storage
/obj/item/plunger/reinforced
/obj/machinery/power/liquid_pump
/obj/item/pipe_dispenser/plumbing
that and standard tools for setting things up
2019-07-09 11:58:02 +12:00
Emmett Gaines 328fc7b1f1 Adds elements: Lightweight shared components/Global components (#44817)
If you came here thinking this was some game feature then you are in the wrong place. Here is where I ramble about code.

This adds /datum/element as a sort of sibling to components. Only one of each type gets instanced and they do not get tied directly to any particular thing like a component does. Basically they're a very lightweight component for doing simple functionality that doesn't have much state.

Originally this concept came about as a kind of component that could be shared between many parents to reduce some resource costs. Doing this would allow us to componentize more behaviors that are a part of too many things to be viable to have a whole component for every single one. For example a component on every space turf would be entirely unviable. With elements it's much more reasonable.

This implements a prety bare framework and a couple components are migrated to it. It's ready to be used but I fully expect I'm going to need to refine how it works for all the usecases we'll want it for.

Also: this fixes the qdeleted signal. This signal isn't even possible because after qdel is done there's nothing to receive a signal anyway. I've changed it to a qdeling signal instead. I need it to work for some elements to know when to clean themselves up.
2019-07-09 11:26:51 +12:00