* Replaces a bunch of manual OPENCONTAINER checks with helper procs
* Removes unnecessary vars
* Updates reagent bitflags, adds some new ones
* Replaces most of the is_open_container calls with more specific ones
* Puts new AMOUNT_VISIBLE flag to use
* Uses new helper procs in more objects
* Standardizes chemicals logging
* De-snowflakes two more checks
* Fixes
* Minor fixes and improvements
I had some time free, and noticed how awful the reagent grinder code was - it used huge static lists containing types and their associated reagents from grinding.
This is now split into two new vars on /obj/item - var/list/grind_results and var/list/juice_results, as well as two new helper procs, on_grind() and on_juice() to allow those to change based on conditions like plant potency. Such checks and the like have been moved to that. If any of these procs return -1, the operation is canceled.
I also fixed some of the recipes that didn't work. The reagent IDs for them didn't exist, leading me to believe that they weren't tested. I corrected that! (I've tested every single recipe in this PR, with the exception of a few juicing-related ones.)
* Silver slime extract foods now fry correctly
The invocation to create fried food wasn't correct, and was ending up
creating fried food that had the default name and description.
- Also adds a "syringe/plasma" type, because it's annoying having to
spawn in plasma sheets and grind them and then put them into a syringe,
if you want to test slime spawning stuff.
* Contains
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
* Vampires
* Action name
* Cooldown so you can't queue drains
* Blood drain rate
* Vampire cleanup/additional checks
* Vampires can drink blood (reagent) (#30)
* New DRINKSBLOOD species_trait
All species can drink blood, but species with this trait
will restore lost blood_volume when drinking it
* Vampires have vampire blood and DRINKSBLOOD
People with vampire blood can take all other blood
Vampire blood can't be used for anyone that doesn't have it
* Vampire tweaks (#31)
* Universal Blood
* Removes spell on species loss
* Vampire heart for checking blood level
* spawn/sleep removal part 1
* sleep/spawn/src. removal
* fixes type paths in timers
* Fixes some variable passing
* Why do I have to do this 20 times to get it right..?
* Why do I have to do this 21 times to get it right..?
* Update suicide.dm
* Update software.dm
* Update paper.dm
* Update cable.dm
* Update ninjaDrainAct.dm
* Update hypospray.dm
* Update vocal_cords.dm
* Update touch_attacks.dm
* Update revenant_abilities.dm
* woops
* Update revenant_abilities.dm
* Grammar fixes to atom descriptions
- Capitalization and punctuation on most descriptions
- CentCom instead of centcom where appropriate
- Earth instead of earth where appropriate
* Remove spaces before newlines and oneline some strings
* Adds missing </span>'s.
* ".name]" --> "]" and
"to_chat(GLOB.admins," --> "message_admins("
and one [name] --> [src]
* Earlier commit was a mistake, lesson learned
* Hopefully all is ok now.
* Revert "Hopefully all is ok now."
This reverts commit 3c95e41b4c13ce96469861e9a97453adf4b56826.
* Revert "Earlier commit was a mistake, lesson learned"
This reverts commit d611af1e4a76690453a7f9808b6e2c429b679f6c.
* Revert "".name]" --> "]" and"
This reverts commit d538b9efef2d7d8be9122bf5ceaf105055059bc6.
* message_admins fix
🆑 XDTM
experiment: Viruses and symptoms have been havily reworked.
add: Symptoms now have statistic thresholds, that give them new properties or improve their existing ones if the overall virus statistic is above the threshold. Check the pull request in github or the wiki (soon) for the full list.
del: Some symptoms no longer scale linearly with stats, and instead have thresholds.
tweak: The symptom limit is now 6.
del: Viruses can no longer be made invisible to the Pandemic
tweak: Symptoms no longer trigger with a 5% chance every second, but instead have a minimum and maximum number of seconds between each activation, making them more consistent.
del: The symptoms Blood Vomit and Projectile Vomit have been removed, and are now bonuses for the base Vomit symptom.
del: The Weakness symptom has been removed as it was completely useless.
tweak: The Sensory Destruction symptom has been reworked into Narcolepsy, which causes drowsiness and sleep.
tweak: Viral Aggressive Metabolism now has a timer before it starts decaying the virus. It scales with the highest between Resistance or Stage Speed.
add: You can now neuter symptoms, making them inactive. They will still affect stats. Adding formaldehyde to a virus will neuter a random symptom. A bottle of formaldehyde starts in the virus fridge.
/🆑
Full list of threshold bonuses:
Facial Hypertrichosis - None
Choking
Stage Speed 8 : Acts more often
Stealth 4: Suppresses early warnings
Acute respiratory distress syndrome
Stage Speed 8: Adds paralyzing chems (removed from base version)
Infect 8: Stronger damage
Confusion
Stealth 4: Suppresses early warnings
Resistance 6: Also deals some brain damage, not above 80
Infect 6: Stronger confusion
Cough
If AIRBORNE: Coughing causes a spread at range 1
Resistance 3: Coughing drops small items (removed from base)
Resistance 10: Can cause coughing fits that stun briefly
Speed 6: Increases cough frequency
Deafness
Stealth 4: Suppresses early warnings
Resist 9: Deafness is permanent instead of temporary
Dizziness
Stealth 4: Suppresses early warnings
Infect 6: Also adds the druggy effect
Fever
Resist 5: Heats more, can go above the damage threshold
Resist 10: Heats even more per activation
Shiver
Speed 5: Cools more, can go below the damage threshold
Speed 10: Cools even more
Spontaneous Combustion
Stealth 4: Suppresses early warnings
Speed 5: Increases fire stacks and damage
Speed 10: Increases fire_stacks and damage even more
Infect 8: Spreads the virus when igniting
Alkali Perspiration
Resist 9: Increases time between ignitions but increases power as well
Speed 8: Doubles the explosion range when wet
Infect 8: Also adds napalm and clf3 (removed from base version)
Necrotizing Fasciitis
Resist 7: Causes extra bleeding
Infect 8: Deals additional stamina damage
Autophagocytosis Necrosis
Stealth 5: Suppresses early warnings
Speed 7: Adds Heparin and Lipolicide (removed from base version)
[PROPOSED REQUESTING APPROVAL] Infect 13: Adds romerol, turning the victim into a zombie on death.
DNA Saboteur
Stealth 5: DNA won't reset after curing
Speed 10: Increases mutation frequency
Resist 8: Mutate twice instead of once
Hallucigen
Stealth 4: Suppresses early warnings, and gives off the messages of positive symptoms instead
Speed 7: Stronger hallucinations
Headache
Stealth 4: Reduces early message frequency
Speed 6: Deals some stamina damage when headaching
Speed 9: Reduces frequency, headaches are strong enough to stun
Healing Symptoms
Stealth 4: Hides the overlay when healing
Speed 7: Increases healing rate
Speed 15: Further increases healing rate
Itching
Infect 6: Increases frequency
Speed 7: Itching causes scratching, dealing minor brute damage (0.5)
Narcolepsy
Infect 7: Deals stamina damage when it triggers
Resistance 10: Triggers more often
Self-Respiration
Resist 8: Regenerates blood
Sensory Restoration
Resist 6: Also heals brain damage (removed from base)
Infect 8: Also purges alcohol (removed from base)
Sneezing
Infect 9: Increases spread range
Stealth 4: Suppresses early warnings
Hyphema
Stealth 4: Suppresses early warnings
[REQUESTING APPROVAL] Resist 13: Eyes fall off instead of just being blinded
Voice Change
Stealth 3: Suppresses early warnings
Speed 7: Changes voice fater
[REQUESTING APPROVAL] Infect 14: Changes the infectee's language along with the voice
Vomit
Stealth 4: Suppresses early warnings
Resist 7: Blood Vomit
Infect 7: Projectile Vomit
Unlisted symptoms do not have threshold bonuses!
All balance is not final, i'll tweak the numbers as necessary.
Why
Threshold bonuses: The reasoning behind these is that they feel more rewarding and impactful than simple number scaling, and gives the option to dedicate symptom space to more symptoms or to upgrade a few central ones instead.
Symptom activation change: the intention behind this is RNG consistency and ease of balance. Currently all symptoms have a 5% chance of activate with few exceptions, making it complicated to tweak.
Neutering: Upgrading positive symptoms by putting a ton of negative ones doesn't work well, in my opinion, especially when they'll trigger their own thresholds making the virus somewhat dangerous instead. Neutering allows players to sidestep that, but i recognize that it swings a bit too far on the other side of the risk/reward balance. I plan on finding a better system to manage virus statistics in the future.
* Adds container types INJECTABLE and DRAWABLE
* Make the chemistry readme a text file and updates it!
* Unfucks the readme!
* Another attempt at fixing the readme
* Remove the readme from the .dme
why was it a dm file!!