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

Synthetic Reagent Processing and Synth Drugs #1370

Merged
merged 3 commits into from
Jun 24, 2015
Merged

Synthetic Reagent Processing and Synth Drugs #1370

merged 3 commits into from
Jun 24, 2015

Conversation

FalseIncarnate
Copy link
Contributor

General boring stuff

Gives all reagents a new process_flags var, which dictates the types of mobs the reagent affects.

  • Most existing reagents only affect ORGANIC.
  • Some new reagents were added that only affect SYNTHETIC.
  • A few reagents such as Sulfuric Acid and Fliptonium affect both ORGANIC and SYNTHETIC.

Adjusts / Rewrites chemical metabolizing for living mobs to only handle addictions, overdoses, and effects of reagents which they are capable of processing.

  • Most species (and their respective monkey forms) will PROCESS_ORG
    • Only reagents that include the ORGANIC process_flag will affect these
  • Machine People (IPC) will PROCESS_SYN
    • Only reagents that include the SYNTHETIC process_flag will affect these
  • Golems will PROCESS_DUO PROCESS_ORG
    • Only reagents with both ORGANIC and SYNTHETIC process_flags will affect these

Repurposed the reagent_tag var for reagent processing.

  • Previously was used for some very uncommon checks for IS_SKRELL and IS_VOX in reagents effects and the pool.
    • These checks were rewritten to maintain their functionality without relying on reagent_tag

IPCs can now take Toxin and Brain damage from some rare sources. Cyborg Analyzers have been updated to display this information.

  • IPCs should also (rarely) receive messages when they begin to accumulate large amounts of toxins damage
    Now for the good stuff...

    Synth Drugs!

Adds in 4 brand-new reagents, that can only be processed by SYNTHETIC species.

  • Ultra-Lube
  • Surge
  • Degreaser
  • Liquid Solder

Ultra-Lube

Ultra-Lube is functionally identical to Meth for IPCs, except that it also functions as Space Lube on floors.

  • The messages have been tweaked to give a more appropriate context to the effects.
    • "You feel like you were just overclocked!"
  • The reactionary emotes have also been tweaked, causing IPCs to occasionally *ping when overdosing, and *buzz when suffering from addiction.

Ultra-Lube Recipe:

  • 2 parts Space Lube
  • 1 part Formaldehyde
  • 1 part Cryostylane.

Surge

Not to be confused with a certain soft drink, Surge is a combination of Krokodil and Space Drugs for IPCs.

  • Causes the druggy effect (rainbow screen) and messages of calmness.
  • Overdosing has shocking results... image
    • Small chance to cause a "harmless" lightning bolt to appear, while taking brute and burn damage.
    • The lightning bolt itself is purely aesthetic (won't ignite fires or hurt others) and is randomly offset.
  • Addiction is a tweaked version of the Krokodil addiction, with more appropriate messages and some burn damage on stage 4 addiction.

Surge Recipe:

  • 3 parts Thermite
  • 1 part Uranium
  • 1 part Fluorosurfactant(Foaming Agent)
  • 1 part Sulfuric Acid

Degreaser

Degreaser is the Synthetic equivalent of Charcoal, cleaning their systems of Residue (aka Toxins), while purging all chems at a faster rate. Lube and Ultra-Lube are purged EVEN FASTER.

  • Degreaser also has a secondary use in cleaning spilled Lube and Ultra-Lube from floors instantly!
    • Finally you won't be utterly helpless against the clown/chemist lubing the halls endlessly!
    • Just splash some Degreaser onto any turf and it will instantly cleanse it of any lube that may be present there.

Degreaser Recipe:

  • 1 part Oil
  • 1 part Sterilizine

Liquid Solder

Liquid Solder is the equivalent of Mannitol for IPCs, repairing brain damage at the same rate.

  • Finally you won't be stuck screaming about George Melons griffing you after the Chaplain decides to administer some "healing".

Liquid Solder Recipe:

  • 1 part Ethanol
  • 1 part Copper
  • 1 part Silver
  • Heat to 370K to trigger reaction

    This PR should largely return IPCs to their pre-goonchem state of chemistry immunity, with some exceptions.

    This PR is based off of Seperate reagents into the mobtypes they affect with on_life #865 and some of it's comments, with some additional stuff thrown in, so a thank-you to Ponies and Fox for their work and comments on that. Also, a shout-out to everyone who helped nail down some names and recipes for the new drugs.

@FalseIncarnate FalseIncarnate changed the title [Feature][Refactor?] Synthetic Reagent Processing and Synth Drugs [Feature][Refactor?][Balance?] Synthetic Reagent Processing and Synth Drugs Jun 23, 2015
@mrsdobbins
Copy link

I have been waiting for months for this.

@Dumbdumn5
Copy link

Finally, now we just need to find chems that can heal random oxy damage, and internal organs we don't have, like lungs.


//Ultra-Lube: Meth
/datum/reagent/lube/ultra
Copy link
Contributor

Choose a reason for hiding this comment

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

Dude, just make these subtypes of the chems they are copypastas of and change the flags and override a few procs on the child you made

Copy link
Contributor

Choose a reason for hiding this comment

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

It would be better off having this a subtype of meth rather than lube, less copypasta, even if you want the same lube effect to apply on floors.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hilariously enough, making it a subtype of meth would actually result in slightly MORE copypasta.

The message changes/emote tweaks would require the same procs to be redone, and then I would need to also bring in the reaction_turf proc from lube.

As for Surge and Degreaser, they'd be effectively the same. Only Liquid Solder would save a few lines, being the only one with an absolutely identical on_mob_life() proc to it's organic counterpart. Everything else either has different damages, messages, emotes, or affected chems.

Copy link
Contributor

Choose a reason for hiding this comment

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

Make the high message changes a list on the meth reagent. You can just override the addiction procs.

@Iamgoofball
Copy link
Contributor

@Dumbdumn5 no, keep organ code out of chemistry

@Dumbdumn5
Copy link

@Iamgoofball I don't intend to mix them with chem, no worries.

@Earthdivine
Copy link
Contributor

As someone who works with Degreaser on a daily basis, that stuff will melt through flesh if applied to it, so the idea of it being Synthetic only irks me.

@FalseIncarnate
Copy link
Contributor Author

Just realized I forgot the Reaction_mob checks for touch-based Chems like synthflesh

I'll correct that after I get a bit more sleep

@TheDZD TheDZD added Feature This PR is a new addition to the game Refactor This PR will clean up the code but have the same ingame outcome Balance This PR will modify how effective something is or isnt labels Jun 23, 2015
@TheDZD TheDZD changed the title [Feature][Refactor?][Balance?] Synthetic Reagent Processing and Synth Drugs Synthetic Reagent Processing and Synth Drugs Jun 23, 2015
@Spacemanspark
Copy link
Contributor

👍

..()
if(prob(50))
M.adjustToxLoss(10)
Copy link
Contributor

Choose a reason for hiding this comment

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

IPCs can die of toxloss, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep. They fall apart at 200 total damage, regardless of type(s).

At 150, they enter crit.

Copy link
Contributor

Choose a reason for hiding this comment

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

150? That's way too high. That gives me a distinct tactical advantage to playing IPC if I buff out the bonus damage with armor.

Make it just 100 to crit like every other race.

Copy link
Contributor

Choose a reason for hiding this comment

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

The health to enter crit is consistent throughout all races. On Paradise, players enter a semi-crit state at 100 damage, where they may periodically fall unconscious for a period of time. At 150 damage, they enter hard crit, begin to accrue oxy damage (IPCs do not take oxy damage) are unconscious until they are healed above -50% health, or die. If memory serves, the damage required to enter crit is a config option.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Since IPCs don't feel pain, they don't get the "soft-crit" or "pain-crit" other races get at 100, instead only being subject to hard-crit at 150 like everyone else.

They also take bonus brute and burn damage and are killed by emp instantly.

Copy link
Contributor

Choose a reason for hiding this comment

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

Like I said, I can buff out the bonus brute and burn with armor.

Copy link
Contributor

Choose a reason for hiding this comment

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

Aim for the hands, then, they pop off like nobody's business.
Or the legs.

@FalseIncarnate
Copy link
Contributor Author

@Earthdivine While most industrial degreasers definitely are not skin-friendly, I loosely based this one off of a degreasing hand-soap that was used in a factory I used to work, which is why I didn't make it tear up organic skin on contact, and why I made it orange. If people want though, I can easily make it have an irritant effect like acid or itching powder on contact with organics.

@@ -7,6 +7,7 @@
default_language = "Galactic Common"
flags = NO_BREATHE | NO_PAIN | NO_BLOOD | NO_SCAN
dietflags = DIET_OMNI //golems can eat anything because they are magic or something
reagent_tag = PROCESS_DUO //golems only process a select few chems like acid and hellwater because magic?
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a noticeable nerf to golems. Unless I am missing something, it means that if they take any brute/burn damage, it cannot be healed, and if they ever fall into crit they are doomed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Trauma and Burn packs should still work on them, but I could have sworn they had a natural regeneration. I'll look into this more, and can give them PROCESS_ORG, PROCESS_SYN, or even both since they are magic.

EDIT: They don't regen, must be thinking of something else

Copy link
Contributor

Choose a reason for hiding this comment

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

Trauma and burn kits only heal a small amount, and can't be used repeatedly on the same wound, so their healing is fairly limited from those.

Reaction_mob(), which handles things like TOUCH based reactions, now
will properly obey process_flags.
- This means things like Synthflesh won't work on Synthetics.

Changed Golems from PROCESS_DUO to PROCESS_ORG
- This will give them back the ability to be healed via chemistry, since
they don't naturally regenerate.
- PROCESS_DUO remains defined in case someone finds a use for it
(adminbuse maybe?)
@FalseIncarnate
Copy link
Contributor Author

New commit fixed reaction_mob not checking for process compatibility between the reagent and the mob it was being applied to. IPCs won't benefit from getting splashed with Synthflesh now.

Also, changed golems to use PROCESS_ORG, so they can be healed with normal medicines.

@Fox-McCloud Fox-McCloud added the Do Not Merge This PR must not be merged or closed label Jun 24, 2015
@Fox-McCloud
Copy link
Member

Adding DNM to this until you let us know it's ready; don't want an accidental merging.

@FalseIncarnate
Copy link
Contributor Author

It's been ready since that last comment, unless someone brings up an issue with it

@Fox-McCloud
Copy link
Member

@TheDZD and @ZomgPonies

Please review this; I don't see anything wrong with it--would love to get this merged in sooner rather than later.

@TheDZD
Copy link
Contributor

TheDZD commented Jun 24, 2015

Looked over this as well, looks fine.

@Fox-McCloud Fox-McCloud removed the Do Not Merge This PR must not be merged or closed label Jun 24, 2015
Fox-McCloud added a commit that referenced this pull request Jun 24, 2015
Synthetic Reagent Processing and Synth Drugs
@Fox-McCloud Fox-McCloud merged commit c28f9bb into ParadiseSS13:master Jun 24, 2015
tigercat2000 added a commit to tigercat2000/Paradise-Changelog that referenced this pull request Jun 24, 2015
Zigamus pushed a commit to Zigamus/Paradise that referenced this pull request Nov 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance This PR will modify how effective something is or isnt Feature This PR is a new addition to the game Refactor This PR will clean up the code but have the same ingame outcome
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants