Commit Graph

58 Commits

Author SHA1 Message Date
throwawayuseless e6ca30d009 Immunodeficiency Quirk 2: Localhost Boogaloo (#90937)
## About The Pull Request
Adds a new quirk, (-10 cost) called Immunodeficiency, and a new inverse
chem of spaceacillin, sepsisillin. Both cause the same effect. (Well,
the quirk version is permanent obviously) When affected by either of
these, viruses will progress faster and you will catch them more easily,
burns will necrotize faster and be harder to sanitize, and alien embryos
will gestate more quickly. These effects can be mitigated with
spaceacillin, but even while under the effects of spaceacillin, you'll
only be about on par with or slightly worse than a normal person, as
opposed to the blanket protection that spaceacillin normally provides.

Owners of the quirk will be provided with a bottle of 3 low dose (1
minute duration) spaceacillin pills to mitigate their condition, and a
sterile medical mask(the noninternals kind) for style and flavor.
## Why It's Good For The Game
More unique quirk options = good. Reasons to actually ask RP and
chemists for things = good. More inverse chems = good.
Also, the sepsisillin was too good an inverse name and effect to resist.
Sepsisillin also has some interesting use cases.

Example: Need a guy dead and work in medical? you could just stab him,
or... you offer him a coffee. Inside said coffee is 10u of sepsisillin
and the deadliest blood transmitted virus (to minimize collateral
damage) you can cook up. Watch as he drinks said coffee, feels fine, and
then 2 minutes later suddenly starts attempting to un-dock from his
lungs.

## Testing Images:

Spawns with mask and pills: 
 
![Screenshot 2025-04-30
181323](https://github.com/user-attachments/assets/6c8f3cd7-27f5-431c-adab-cfacf43b57c8)
![Screenshot 2025-04-30
180418](https://github.com/user-attachments/assets/ba3306ee-9d34-4d8a-9460-0bdc64b284d8)

Monkeyhuman with Fungal TB after 1 minute.
![Screenshot 2025-04-30
182920](https://github.com/user-attachments/assets/c3227d72-20a2-4ff2-87ae-5685c359170b)

Monkeyhuman with Fungal TB and Immunodeficiency after 1 minute.
![Screenshot 2025-04-30
182933](https://github.com/user-attachments/assets/08138108-143e-41d3-ac78-201bf62ff396)

## Changelog


🆑
add: Adds new immunodeficiency negative quirk, and sepsisillin, the
inverse of spaceacillin. Both have an immune system weakening effect,
mitigate-able with spaceacillin.
/🆑

---------

Co-authored-by: ThrowawayUseless <notarealemail@emailservice.fake>
2025-05-15 16:10:26 -04:00
LT3 0005020c86 Unfucking disease outbreaks/transmission (#1919)
## About The Pull Request

Disease transmission is nonsensical and broken. Goes through disease
outbreak and transmission vectors from start to finish fixing things
that don't work properly, or not as expected. Also adds some constraints
on the disease outbreak event based on medical staff.

This is mostly nonmodular edits as it's a test before I make the PR on
TG. It's been tested for a long while with NPCs on stations, but live
testing it here gives better visibility into how it goes in a real world
environment, and there is some extra game logging added for the duration
of the TM to validate the new disease calculations and spread are
working as expected.

Mainly the test is to see if the new values for disease transmission
"feel" right in a live environment, to perform some tweaks to the
percentages if required.

- Event diseases are no longer hidden from health analyzers during
incubation periods
- Masks and head slot items actually provide protection from airborne
disease spread
- People other than the original airborne hosts spread via respiration
- Reduced infection chance for contact/airborne diseases from current
95%+ on all diseases to values 15%-40% based on the transmissibility
strength
- Airborne spread is rolled per target, not source (smoother infections
compared to suddenly infecting 5 people with a single sneeze)
- Disease outbreak won't spawn during rounds with less than 3 medical
staff
- Disease outbreak begins with 2-3 original hosts but lower spread speed

## Why It's Good For The Game
- Disease outbreaks and transmission work more in line with how people
think they do/are supposed to.
- Gloves, masks, face shields etc. properly get calculated to protect
you from getting infected/infecting others.
- Disease outbreaks can immediately be identified by med staff with
analyzers, but borgs can't see the HUD icon as soon as the event starts
and instantly find patient zero.

## Changelog

🆑 LT3
balance: Event diseases are no longer hidden from health analyzers
during incubation periods
fix: Masks and head slot items actually provide protection from airborne
disease spread
fix: People other than the original airborne hosts spread diseases via
respiration
balance: Reduced infection chance for contact/airborne diseases from
current 95%+ on all diseases to values 15%-40% based on the
transmissibility strength
code: Airborne disease spread is rolled per target, not source
balance: Disease outbreak won't spawn during rounds with less than 3
medical staff
balance: Disease outbreak begins with 2-3 original hosts but lower
spread speed
fix: Disease cure won't request both antihol and alcohol mixed together
/🆑

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
2025-02-16 02:08:33 +02:00
SkyratBot 2269db746f [MIRROR] Makes disease airborne spread more realistic (#27950)
* Makes disease airborne spread more realistic (#83423)

## About The Pull Request

1. Rather than checking every life tick to try to spread via air, it
checks every breath tick. IE, every 8 seconds.
2. Wearing a mask now protects you from catching airborne diseases,
rather than only protecting you from spreading it.
3. Wearing a mask is no longer guaranteed effective (unless on
internals), it now scales based on BIO armor. This is doubly effectively
for people wearing a mask to stop spreading to others vs wearing a mask
to block spreading to them.

## Why It's Good For The Game

Wearing any kind of mask means airborne viruses will never spread, but
also wearing any kind of mask on the opposite end is pointless unless on
internals. Kinda silly.

This PR unifies those behaviors. Wearing a mask to stop spread is still
rewarded, as BIO armor is doubly effective at stopping a spread attempt
as blocking a spread attempt.

Ultimately the goal of this is to give players a realistic way to
protect themselves against airborne transmission vectors besides staying
on internals 100% of the time.

## Changelog

🆑 Melbert
balance: Wearing a mask can now prevent you from being spread airborne
diseases. Prior, it only stopped you from spreading it yourself.
balance: Wearing a mask no longer 100% guarantees you don't spread
viruses to others people - it now scales on the masks BIO armor. Get a
sterile mask from Medical for max safety.
balance: Wearing a mask to stop you from spreading to other people is
doubly effective than wearing a mask to prevent spread to yourself -
Mask up for the greater good!
balance: Passive airborne virus spread attempts are now done every time
you breathe (every eight seconds), rather than every two seconds. The
chance of spread is the same, though - it has been scaled up to
accommodate.
code: Cleaned up a fair bid of airborne-transmission-code. Report any
oddities.
/🆑

* Makes disease airborne spread more realistic

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-06-02 03:06:06 +02:00
SkyratBot fc0dc4ec6f [MIRROR] Changes Virology Rather Than Killing It [MDB IGNORE] (#25483)
* Changes Virology Rather Than Killing It (#79854)

## About The Pull Request
God, alright, here we go. See HackMD here:
https://hackmd.io/@ Higgin/HJljdBuNp

Alternative proposal to #79849 addressing the big problems with
virology. ~~If you need a HackMD for it, I'll put one together, but I
made a comment on that PR and can make it pretty simple here.~~ its done

1. Makes viruses eventually self-cure as long as you're alive. If you
can keep somebody from dying, they can develop immunity.
2. Makes it so you can sleep comfortably and be well-fed to slow and
even potentially defeat viruses without a cure.
3. Makes it so more dangerous viruses can start self-curing faster. This
means Space Ebola is going to burn itself out quicker if a person stays
alive from the other effects.
4. Makes spaceacillin helpful in naturally curing viruses, period, but
with declining effectiveness over 100 cycles.
5. Makes it so curing a virus naturally without being well-fed or having
rode it out from the peak may allow you to be reinfected/not have
natural immunity.
6. Makes it so being well-fed is a much stronger protection against
random virus spread.
7. Makes it so bypasses_immunity stuff like fungal TB and heart failure
isn't subject to any of this.
8. Makes it so using ~~antibiotics~~ spaceacillin jesus christ or being
malnourished can make you lose your healing viruses too. Pay attention
to what you put in your body.
9. ** Makes it so blood can ~~transmit resistances again, not just
vaccines. It's been a hot minute, but it used to work like this.~~ blood
now can cure a virus if the donor has a resistance, but it doesn't
confer lasting immunity. You need to overcome the virus yourself, carry
a constant supply of pure blood, or get a vaccine to get a lasting fix.
10. ** makes severity a function of disease stats and all active
symptoms - not just the highest severity of the active symptoms.
11. ** makes it so you can nosell symptoms firing with spaceacillin or
resting down to a minimum chance of cure_chance to avoid symptoms each
cycle, declining over time, over 100 cycles for a given disease.
12. ** makes it so wearing protective equipment prevents you from
spreading respiratory-spread diseases normally - not just on the
cough/sneezing symptoms.
13. ** gives MDs virology access standard, paramedics and coroners
virology access on skeleton crew. virologists also get pharmacy access.
14. ** makes bypasses_immunity advanced diseases always override
non-bypasses_immunity advanced diseases and resist being overridden by
other advanced diseases. Sentient Disease now has bypasses_immunity.
Sentient Disease fans rejoice!
15. ** also gives SD a buffer of extra stealth points so it has a bit
longer to build up instead of almost uniformly getting spotted and dying
early.
16. ** viruses now scale their severity as a function of their max
symptoms. There's a lot more room to get viruses of varying duration and
severity by adding fewer symptoms now - so creating a tradeoff between
stats (and good thresholds) and the duration of your virus.
17. ** a whole bunch of defines to control all of this stuff - most
recently added a multiplier for symptom appearance frequency.

MAJOR UPDATES: REBALANCING TOWARDS 50% LETHALITY

https://docs.google.com/spreadsheets/d/e/2PACX-1vQ8rqMYFsR1mYj_FGzVjTfcnAF7un-VofOByPxcCCQr6lOOF5fhUgZga0oA4Q5-7K4hr7fCV0jFdmd9/pubhtml#
[Viro Rework Rebalance
Tests.pdf](https://github.com/tgstation/tgstation/files/13447208/Viro.Rework.Rebalance.Tests.pdf)

After a shitload of testing, makes some of the most reliable,
transmissible killers into less-reliable threats. See the above graphs
and pictures for demonstrations of exactly how this was tested and done.

## Why It's Good For The Game

It sucks to be hard-stuck to needing chemistry and medical to deal with
viruses that somebody can randomly blast out without a care in the
world, then be left to sit around waiting to die or otherwise be unable
to do anything as the max-level symptoms fire off on repeat.

This should put curing and surviving viruses much more back in the hands
of normal crew without always ending up at the chemistry front window,
although that is still the fastest and most reliable way to get better.

This also nerfs healing viruses a bit, or makes them a bit less
fire-and-forget if you fail to attend to your body. There's more I'd
like to do in the future and potentially some of the other classic
viruses that could use bypasses_immunity added, values tweaked, but for
now - this seems like the best way to preserve virology as a level of
depth and complexity in the game in a way that rewards people doing
intuitive things to counterplay it when used harmfully.

This also puts more of the mid-range bad symptoms into a better place
balance-wise because the worst ones pretty much only fire at max stages.
With the way this works out, you bounce back and forth between the max
stage and lower stages before, over time, trending towards a cure.
Symptoms that provide more significant effects at lower stages now have
a place that isn't totally overshadowed by the killdeath stage 5 ARDS +
junk symptoms virus Dr. Ambatu Popov shat out in five minutes (as long
as you survive the initial run-in with it.)

## Changelog

🆑
balance: most diseases can now be slowed, mitigated, and eventually
cured through being well-fed, resting, and using spaceacillin. Curing
diseases through this way will give you immunity if you experience them
at their peak/maximum and aren't starving/malnourished when they cure.
balance: disease symptoms can be forestalled for up to 100 cycles with a
declining chance of avoiding them over time using rest or spaceacillin.
balance: This does not apply to things like fungal TB; it does apply to
healing viruses if you don't take care of yourself by staying fed and
avoiding spaceacillin.
balance: disease can be cured through direct injection or ingestion of
cured blood. However, curing disease in this way does not provide
lasting immunity. You need to naturally beat the virus or get a vaccine
for that.
balance: Wearing internals or using protective equipment while infected
can limit the spread of respiratory illnesses from yourself to others.
Contact transmission is still possible however.
balance: Medical Doctors now have roundstart virology access. Paramedics
and coroners now get virology access on skeleton shift access.
Virologists now have roundstart pharmacy access.
balance: Sentient Diseases now resist being overridden by other advanced
diseases and can always override other advanced diseases; they also have
an extra bonus on their stealth stat to help make up for early outing
without a bit more testing.
balance: biohazard lockers now also contain a syringe of spaceacillin
(in line with the orderable kit from cargo.)
balance: Virus severity is now also a function of the number of symptoms
out of max your virus has. Experiment with different combinations using
less than six symptoms to make viruses that are deceptively less-obvious
and less quick to self-cure at the tradeoff of stats.
/🆑

* Changes Virology Rather Than Killing It

---------

Co-authored-by: Higgin <cdonny11@yahoo.com>
2023-12-09 20:33:41 -05:00
SkyratBot d04f2f20a4 [MIRROR] fixes advanced virus airborne chances [MDB IGNORE] (#24371)
* fixes advanced virus airborne chances (#79014)

## About The Pull Request

Caps airborne virus transmission chance per tick to 50%.

## Why It's Good For The Game

So, all the classic diseases that use this transmission proc have
spreading_modifier values up to 1 or lower.

Advanced viruses get their spreading_modifier from their Transmission
stat using the following function:
spreading_modifier = max(CEILING(0.4 * properties["transmittable"], 1),
1)

What this means is that if you have a virus that even has airborne
spread (starting at transmission 11,) it will have (on top of being able
to spread by contact, fluid, and blood,) a probability of (5*50)-1 of
infecting anyone eligible in the area assuming they don't have
spaceacillin in their system.

I don't think this is intended. This just caps it to a 50% chance where
the normal spreading_modifier stops. Transmission through touching,
coughing, sneezing, etc. remain unaffected.

**Edit for one piece of clarification: all airborne viruses have a 41%
chance (infectivity is set to 41 for all diseases except HMS) of
spreading to eligible candidates per second. This doesn't change that
but rather makes the maximum chance of you catching it after a 'spread'
from the carrier 50%.**

```
/mob/living/carbon/handle_diseases(seconds_per_tick, times_fired)
	for(var/thing in diseases)
		var/datum/disease/D = thing
		if(SPT_PROB(D.infectivity, seconds_per_tick))
			D.spread()
```

## Changelog

🆑
fix: Fixes respiration-transmission advanced viruses to no longer have
an always-guaranteed infection chance per tick.
/🆑

* fixes advanced virus airborne chances

---------

Co-authored-by: Higgin <cdonny11@yahoo.com>
2023-10-16 09:54:08 -07:00
Zergspower 88bf87fa4e [MANUAL MIRROR] Robotic organ and disease improvements (#22631)
* Robotic organ and disease improvements (#76766)

## About The Pull Request

In the code description for the `ORGAN_ROBOTIC` flag, it says that
robotic organs are not supposed to decay or regenerate health. I went
and fixed this and added some more "robotic" behavior.

New changes for robotic organs:
- No longer heal damage passively
- No longer gain health from revival
- No longer heal in the smart organ fridge
- No longer heal from pluoxium
- Robotic ears no longer heal from ear healing items (earmuffs, etc.)
- Robotic eyes are immune to changeling blind stings
- Robotic eyes no longer heal from occuline

New changes for diseases:
- Some diseases now require an organ to work. A robotic organ will give
immunity to the disease symptom unless the disease has "Inorganic
Biology".
- The transmission methods for diseases require organs to work but
robotic organs are immune. (except inorganic biology) Airborne disease
transmission require lungs. Ingested (drunk or eaten) disease
transmission requires a stomach. Blood (inject or patch) disease
transmission requires a heart.
- Organs removed from a mob that is afflicted with a disease will be
infectious while handling or transplanting it. (again, robotic organs
are immune unless inorganic biology is present) Certain admin spawned or
special diseases are exempt from this transmission method.
- A stomach is required for nebula nausea, gastritium, carpellosis,
metabolic boost, vomit, weight loss, death sandwich poisoning,
- Lungs are required for choking, asphyxiation, cough, cold9, oxygen
restoration, sneezing, flu, cold, spanish flu, tuberculosis
- A liver is required for tissue hydration, plasma fixation, parasitic
infection
- Ears are required for deafness, sensory restoration
- A heart is required for toxolysis, heart failure
- Eyes are required for sensory restoration, hyphema
- A tongue is required for voice change, parrot possession, pierrot
throat
- Wizarditis no longer requires a head (wtf?) to function

## Why It's Good For The Game

Robotic organs should behave as intended. Not naturally healing (like
organic organs) was supposed to be their downside to counteract their
their ability to not decay upon death.

## Changelog

🆑
fix: Fix robotic organs to not gain health passively, from revival,
smart organ fridge, pluxium, occuline, and earmuffs.
add: Some diseases now require the appropriate internal organ to work. A
robotic organ will give immunity to the disease symptom unless the
disease has "Inorganic Biology".
add: Disease transmission methods now require an internal organ to be
successful. Robotic organs give immunity. (except inorganic biology)
Airborne disease transmission require lungs. Ingested (drunk or eaten)
disease transmission requires a stomach. Blood (inject or patch) disease
transmission requires a heart.
add: Organs removed from a mob that is afflicted with a disease will be
infectious while handling or transplanting it. (again, robotic organs
are immune unless inorganic biology is present) Certain admin spawned or
special diseases are exempt from this transmission method.
add: A stomach is required for nebula nausea, gastritium, carpellosis,
metabolic boost, vomit, weight loss, death sandwich poisoning
add: Lungs are required for choking, asphyxiation, cough, cold9, oxygen
restoration, sneezing, flu, cold, spanish flu, tuberculosis
add: A liver is required for tissue hydration, plasma fixation,
parasitic infection
add: Ears are required for deafness, sensory restoration
add: A heart is required for toxolysis, heart failure
add: Eyes are required for sensory restoration, hyphema
add: A tongue is required for voice change, pierrot throat
bal: Remove head requirement for wizarditis disease
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* Modular parts

* Printing time

* Hah typos

* I cant spell

* Golden Shower feedback

* Posi-Time

* Update modular_skyrat/modules/synths/code/bodyparts/brain.dm

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-08-04 15:07:07 -04:00
SkyratBot fcacebfe38 [MIRROR] Adds Roach Infusion to the DNA infuser [MDB IGNORE] (#22190)
* Adds Roach Infusion to the DNA infuser

* Icons

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-14 23:11:18 -04:00
SkyratBot 0d2ba72250 [MIRROR] Replaces internal_organs with organs [MDB IGNORE] (#19871)
* Replaces internal_organs with organs

* Makes all of the necessary internal_organs -> organs in our files to compile

And it seems to work too!

---------

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-24 13:27:48 -04:00
SkyratBot 011fefdd81 [MIRROR] Refactors armor into dedicated subtypes [MDB IGNORE] (#18291)
* Refactors armor into dedicated subtypes

* start

* most tg things

* pain (#18584)

* shit

* non-mod changes

* compile

Co-authored-by: John Doe <gamingskeleton3@gmail.com>

* #18291

* compile fix

* ???

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 20:06:16 -08:00
SkyratBot c0a307a11b Add disease resistance effects for spaceacillin (#14238)
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-13 06:36:43 -07:00
SkyratBot c1a1683db6 [MIRROR] removes permeability, rolling it into bio armor [MDB IGNORE] (#13435)
* removes permeability, rolling it into bio armor

* e

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:16:27 +01:00
SkyratBot e6f3daa309 [MIRROR] Moves code managing mobs getting shocked from disease code to mob status code (#4739)
* Moves code managing mobs getting shocked from disease code to mob status code (#58202)

* Moves code managing mobs getting shocked from disease code to mob status code

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-04-08 14:17:56 +01:00
SkyratBot 36be3d463a [MIRROR] Fix viruses not working on human subtypes (#3104)
* Fix viruses not working on human subtypes (#56585)

* Fix viruses not working on human subtypes

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-02-05 21:24:59 +00:00
SkyratBot d7f054b035 [MIRROR] Refactors monkeys into a species (#2379)
* Refactors monkeys into a species

* aaa

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-31 21:08:07 +01:00
SkyratBot 3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
LemonInTheDark f4f8a686df Makes grounding rods consistent, changes the supermatters bolts a great deal. (#48472)
* Goof I will find you and I will berate you

holy hell

Calm and peaceful ahhhhh

I swear goofs pc failing was the biggest tragedy in gaming

Fixes some flags

More touchups

Now to squash

Goofs PC failing was the biggest tragady in GAMING

* Fixing some misspellings before the bee gets me

* GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

* Full vehicle support

* Changes some flags around, "fixes" some bugs, makes being shocked less insane

* Makes spliting more reasonable, unfucks some shitty tesla code I copypasta'd into the sm, godspeed shitcode,
none noticed you.

* Removes my tesla_ignore_1 fix, another pr is up that should solve things, so we're just leaving it in for now,
gonna have to deal with merge conflicts when it gets merged, but that won't be too bad

* tfw

* Nothing to see here folks

* I'm a boomer
2020-01-10 23:25:11 +11:00
Emmett Gaines 5481515dff Removes the non bitflag slot defines (#47742)
Removes the non bitflag slot defines
2019-11-17 17:52:11 -08:00
nemvar fd214c52a4 Turns mob biotypes into flags instead of lists. (#45905)
About The Pull Request

title.

Also renames INORGANIC to MINERAL and removes it from simplemobs (never used for simplemobs) where it doesn't fit. Doesn't make sense to have both ORGANIC and INORGANIC as a flag.
Why It's Good For The Game

There's no reason to use a list for this.
Changelog

cl
code: Changed mob biotypes from lists to flags.
/cl
2019-08-21 11:28:30 +12:00
vuonojenmustaturska fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
pubby 01f8f8ea55 Allow dead people to get dead viruses 2019-03-02 06:21:06 -06:00
ShizCalev 54641a029e Covering your mouth when you cough/sneeze now stops the spread of germs. (#41230)
cl ShizCalev
fix: Covering your mouth when you cough/sneeze can now help stop the spread of germs.
/cl
2018-11-04 14:51:26 +13:00
AnturK 52a99c09d6 Uppercase slot defines 2018-04-27 10:38:32 +02:00
XDTM 8548bd88b0 Adds mob biotypes, categories that can be used to only affect certain mob types (#36570)
* Adds mob biotypes, categories that can be used to only affect certain mob types

* good boy travis

* Update syndicate.dm
2018-04-04 11:09:26 +12:00
Cruix 251c54223d Added a new ability to sentient diseases (#36548)
* Replaced body zone magic strings with defines

* Added the Secrete Infection ability to sentient diseases, and updated the infective component
2018-03-30 21:09:19 +02:00
Ian Turk fbe5f4a062 Replaced body zone magic strings with defines 2018-03-19 15:44:51 -05:00
Cruix dedf5f5ed9 Disease antagonist (#35988)
* Virus antagonist initial commit

* Updated disease code

* Sentient virus improvements

* Renamed /mob/living/var/viruses to diseases, and /mob/living/var/resistances to disease_resistances

* Added sentient virus event

* Renamed VIRUS defines to DISEASE defines

* Fixed bugs in rewritten disease code

* Fixed advanced disease Copy()

* Finalized disease antagonist

* Made cooldown buttons stop processing if they are removed from an owner.
Made sentient disease active sneeze and cough not available if the host is unconscious.
Made sentient disease menu refresh when adaptations are ready or hosts are added or removed.
Made sentient disease following use movement signals instead of fastprocess.

* Added better icons to sentient disease abilities
2018-03-05 13:55:10 +01:00
XDTM b49798c483 Converts several species traits into generic traits (#35743)
* Converts several species traits into generic traits

* 2hot
2018-02-26 10:47:58 +13:00
MoreRobustThanYou ea13cff568 Jungle Fever is now incurable; leader viruses are now invisible to scanning (#33612) 2017-12-18 21:15:04 -06:00
XDTM 9d487d235c Divides species in subtypes, makes viruses able to infect certain subtypes (#32858)
Species are now separated into Organic, Inorganic, Undead and Robotic. The virusimmune tag was kept for species who are effectively organic but immune to viruses for special reasons (abductors).

You can now set the types of species viruses can infect; i made some adjustments that i thought made sense (beesease infecting zombies, parrot possession infecting anyone).

Added process_dead as an additional effect for the new symptom, allowing the disease to tick on corpses; it doesn't have many uses i can think of, but it can heal up people in case of a defibrillation or something like that.

Fixes #32832
2017-11-23 10:36:09 +13:00
XDTM db0c10ea58 Refactors virus spreading (#31066)
* Refactors virus spreading

* Cyberfixes

* Bump to infect

* proper shoe protection

* Split ContractDisease

* Makes virus severity matter

* oops

* Virus severity changes

* defines

* infective_floor --> infective

* Fixes vomit and pulling infection
2017-10-09 14:08:21 +02:00
XDTM 0f07a69640 Fixes viruses not calling Start on their symptoms when spreading 2017-10-01 15:22:01 -05:00
Cyberboss 3b37703a03 Merge pull request #30011 2017-08-19 19:40:24 -04:00
XDTM bb903b339c RealFix 2017-08-19 01:56:46 +02:00
Jordan Brown af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Fox McCloud 2cc3e9c41f Disease Refactor (#29130)
* Vomit Now Contains Viruses

* eh

* typeless memery

* Disease Refactor

* tweaks

* styling

* tweaks

* unecessary comment removal

* whoops

* fix
2017-07-15 11:08:40 -04:00
nicbn 77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
Joan Lung a5ae025549 Replaces "specflags" with "species_traits" (#21851)
* Replaces "specflags" with "species_traits"

* this will do
2016-12-01 21:16:33 +13:00
chowdermcarthor c7e474ccae Neck Slots (#21169)
* Added in a neckslot. Moved some tie items over to said neckslot.

* Changng some stuff to fix the new neckslot items.

* no message

* Altered comment to say that the old tie system is being kept as-is due to armbands and such instead of just avoiding conflicts.

* no message

* Changed the number for this.

* Fixed jaws of life not having a category, thus they only would show up when searched.
2016-10-26 19:03:41 +13:00
XDTM 184e486e41 Virology Rework (#20843)
Added four new symptoms: Regeneration and Tissue Regrowth heal respectively brute and burn damage slowly; Flesh Mending and Heat Resistance are the level 8 version of those symptoms, and heal faster.

The Toxic Compensation, Toxic Metabolism and Stimulants symptoms have been removed.

Viruses no longer stack. Viruses can be overridden if the infecting virus has higher transmittability than the previous virus' resistance.

Viruses can now have 8 symptoms, up from 6.


Based off of suggestions in coderbus.
Changes:
-Advanced viruses no longer stack. Limit of one.
-Viruses can now have up to 8 symptoms. Stealth threshhold of the Pandemic has been raised to 4 to compensate.
-Viruses can now take over other advance viruses on spread, if their Transmittability is higher than the defending virus' Resistance.
-Some viruses no longer use chems, but the effects are mostly unchanged.
-Removed Toxic Compensation, Toxic Metabolism, Anti-Bodies Metabolism and Stimulants.
-Added Regeneration and Flesh Mending, brute-healing symptoms. Flesh Mending is level 8 and also turns cloneloss into burn damage.
-Added Tissue Regrowth and Heat Resistance, burn-healing symptoms. Heat Resistance is level 8 and also helps stabilize body temperature.
-SYMTOM_ACTIVATION_PROB has been increased to 5% from 3% to make up for the loss of stacking.
-Healing procs every tick for 1 damage (2 for the upgraded ones).
2016-10-13 12:42:16 +13:00
Joan Lung dff4db726a Replaces a bunch of istypes with their proper macros (#20739)
* Replaces a bunch of istypes with their proper macros

* i'm not sure doing a 100+ file changed pr on a whim is something you do when bored
especially if you do it by hand because you never actually learned the regex that would let you automate it

* i'm just... gonna do this, because that check was true a lot and it shouldn't matter
2016-09-30 20:21:08 +02:00
phil235 68da092009 Dismemberment port from Hippie code, based on RemieRichard's work. Big thanks to RemieRichards and crystalwarrior. 2016-05-05 18:17:51 +02:00
phil235 81ce777ec2 - you now only see turfs when inside gas pipes.
- I renamed some vars of datum/hud to be more selfexplanatory
- Moved all datum/hud mob code into the hud folder.
- fixed alien's zone selection button not using the correct sprites.
- I removed the update_hud() proc (that needed to be removed).
- Fixed a typo in /mob/living/carbon/ContractDisease , using "internals" instead of "internal" (very different things)
- Fixed doTeleport() calling Entered() twice on the destination area.
- To reference a mob's selected zone, you now use a direct mob var ("H.zone_selected" instead of "H.zone_sel.selecting")
- mobs lose certain screen objects var ("healths", "zone_sel", "internals", etc) which are now vars of the mob's datum/hud instead.
- the Blind spell is now done via the blind mutation instead of the blind disabilities.
- Give to mobs a version of forceMove(), so the mob is always properly unbuckled, his pull stopped, his vision updated, etc.
- The "user" var of mob/camera/aiEye/remote is renamed to "eye_user" to avoid confusion.
- reset_view() is replaced by reset_perspective(). Now all changes to client.eye and client.perspective are done with this proc.
- I reworked /obj/machinery/computer/security code, changing camera is instantaneous now, as well as cancelling.
- I reworked /obj/machinery/computer/camera_advanced code as well.
- I changed /obj/item/mecha_parts/mecha_equipment/mining_scanner's meson view to be constant instead of by intermittent.
- Fixes not being able to use /obj/item/device/camera_bug while buckled.
- removed admin_forcemove() proc, admin force moving now uses forceMove() simply.
- Removed the client var "adminobs"
- Added var/vision_correction to glasses.
- Added a thermal_overload() proc for glasses, to remove copypasta in emp_act code.
- Remove the hal_crit mob var
- We no longer delete the mob's hud everytime he logs in.
- Added a stat == dead check in mob's metabolize() so we immediately stop metabolizing if one of the chem kills the mob.
- Being inside disposal bin lowers your vision, like wearing a welding helmet.
- removed the remote_view mob var.
- I changed advanced camera EYE, some fixes, removed unnecessary code when the eye moves, now the mob client eye properly follows the camera mob.
- fixes mob var "machine" not being nullified on logout.
- larva/death() was calling two "living_mob_list -= src"
- I made the Blind screen objects into a global_hud instead of giving one to each mob (like damage overlay).
- I untied tint and eye_blind, TINT_BLIND doesn't give you eye_blind=1.
- gave a visual overlay when inside locker (vimpaired)
- when inside disposal/gas pipes you get sight |= (BLIND|SEE_TURFS)
- glasses toggling updates (atmos meson toggle): DONE
- The new adjust procs serve to properly change eye_blind etc and call vision update procs when needed.
- I added an on_unset_machine() proc to handle perspective reset for camera consoles.
- I moved consequences of eye_check fail inside eye_check() procs themselves.
- I fixed vision updates being fucked by forceMove, especially pipe vision.
- I decided that damage overlay not appearing when dead.
- mob's hud_used is no longer deleted on each login()
- I refactored mob huds a bit, creating subtypes for each mob (/datum/hud/human)
- f12's hud toggling is now available to all mobs
- gave borgs a low_power_mode var so unpowered borg do not use stat= UNCONSCIOUS (which made things weird since you were unconscious but not blind)
- Fixed double Area entering when forced teleporting.
- I fixed larva pulling not being broken when cuffing them, and larva not seeing handcuff alert (and they can resist by clicking it)
- I removed pull updates from life() since it onyl checked for puller's incapacitation.
- I renamed camera/deactivate() to toggle_cam() to be more accurate.
- I fixed mmi brain being immortal (by removing the brain and putting it back)
- I simplified mmi brain emp damage.
2016-02-04 00:33:16 +01:00
bustygoku 9249edde12 Changelog And Line Deletions 2015-08-05 13:06:10 -07:00
bustygoku ed08ce018f Removes Virus Carrier RNG 2015-07-30 19:44:18 -07:00
palpatine213 70f2029666 Adds Transform to the skipped vars list 2015-07-28 18:25:38 -07:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
AnturK b0191fbb6d White to black 2015-06-17 18:41:08 +02:00
AnturK db4b36e00a Makes viruses varedit friendly 2015-06-07 17:09:32 +02:00
AnturK f4a7b2dbe1 Abduction Update Two:
-SPRITES SPRITES SPRITES
-Hopefully fixes create_antag and team problems
-Fixes the Inactive Eye on follow list
-Removes redundant and adds needed checks
-Neater adv camera code
-Minor balance tweaks
-Fixes instant first activation of glands
-Adds 3 mostly negative glands
-Adds anti-tracking helmet to agent equipment
-Makes experimental dissection ignore clothes
-Way out for trapped humans : Mash random buttons
-Abductors now virus immune (also golems and skeletons)
-File cleanup
-Teleporter functionality for camera
2015-04-26 01:30:59 +02:00
ACCount12 ccbb042606 Fixes for DNA spread and transformation 2015-04-05 09:17:51 +12:00