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.
* 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
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
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
* 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?
* Removes/Moves some weirdly placed variables in martial arts. Splits NO_GUNS and CHUNCKY_FINGERS traits.
* Maybe this should actually compile
* c begone
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
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
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
* 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
* 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
* 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...
* 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
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
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
* 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
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.
* 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.
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
* 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.
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.
* 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
* 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
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
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.