-
Notifications
You must be signed in to change notification settings - Fork 269
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
The end of an era, reworks virology [DRAFT] #661
Merged
Merged
Changes from 55 commits
Commits
Show all changes
197 commits
Select commit
Hold shift + click to select a range
ef9c4f3
changes 1
dwasint 86b71c0
basic virle spreading
dwasint e2b77f6
centrifuge
dwasint 3ee7394
stuff
dwasint 3d38251
stuff
dwasint 0cf81f2
for now
dwasint a64c62c
Update virusdish.dm
dwasint 78d6fd8
more stuff
dwasint b687b15
converts to advanced disease over base disease
dwasint 23aacdf
compiles
dwasint 43ee7b9
more shit
dwasint 81aef44
infection changes
dwasint 428ec89
more pathogen changes
dwasint 074e066
changes
dwasint c600394
turns spacecillian into an antipathoneginic chemical adds a section f…
dwasint d8899a1
adds antigen to copy fixes runtime in generic item and bad reference …
dwasint 959331a
chicken noodle soup
dwasint 75bd251
start of splicer and admin curer, also adds virus DB and information
dwasint e4e8fb1
adds real_name proc fixes curer
dwasint a4fc8c6
runtime fixes
dwasint 6fb348e
more changes
dwasint 87f24cb
stage 1 and 2
dwasint 9bc7ce0
Merge branch 'master' into virology
dwasint cb4a2e0
stage 3 symptoms
dwasint c414a12
whoops
dwasint 9a637ee
Update stage3.dm
dwasint ff60b3f
creates stage4
dwasint c644028
stage 4s
dwasint 3035db3
mutate changes
dwasint f036665
start of splicer ui, adds analyzer
dwasint 6ae407c
restr
dwasint 8053aa8
more stuff
dwasint 85f4ddf
shitty incubator menu
dwasint 834cbb4
whoops
dwasint b6b862a
rat stuff
dwasint d45f4aa
fixes
dwasint 53fe5be
large step for mouse kind
dwasint 71a8a00
forgor to save
dwasint 60d2cdf
whoops
dwasint 8396dcb
whoops 2.0
dwasint 8b2c561
moves procs back to living from carbon
dwasint 53a06be
Update stage3.dm
dwasint bc0b3c0
Update stage2.dm
dwasint 115b775
makes check bp bleeding respect body coverage
dwasint e16f81f
needs human
dwasint 5bed96b
cleanables now check for contact and blood diseases, they show up on …
dwasint 9f6747f
blam
dwasint 360802a
maybe?
dwasint 69ac2cf
whoops no var/ inside procs
dwasint ef437b6
fixes immune system lingering refs
dwasint f3e67ff
whoopsie
dwasint 3851d25
guh
dwasint 36660b5
guh
dwasint 2f926c6
changes and late join virus
dwasint d0ee3fc
Update _immune_system.dm
dwasint abff77e
replaces += overlay with add_overlay
dwasint 469f419
Update splicer.dm
dwasint 9896df8
Update incubator.dm
dwasint 3cf9b84
converts some to ma and ea's adds immunity scanner terch node
dwasint fa5acaa
replaces give disease with the new proc
dwasint 1b0f722
fixes
dwasint 3add69d
more fixes
dwasint 7012705
Merge branch 'master' into virology
dwasint dfde53b
map changes
dwasint 7f43ff7
fixes flusher rapturing individuals
dwasint 798edc0
Update flush.dm
dwasint 2928ceb
whoops
dwasint fe76fa8
Update virusdish.dm
dwasint bb39cbb
fixes
dwasint bcbfae6
tons of fixes
dwasint 0aa92a3
Update living.dm
dwasint 3b3703e
Update centrifuge.dm
dwasint a588148
guh
dwasint fc5adb3
Update client_procs.dm
dwasint 4771ddc
Update client_procs.dm
dwasint 18347f8
Update client_procs.dm
dwasint 815ca6b
fixes
dwasint 2156176
adds inverse for clients to remove shit
dwasint 3e57c14
god save the queen
dwasint 4eb5156
whoops
dwasint 6cb5545
more fixes
dwasint 1e4b634
moves disease view to a proc on mobs adds admin verb to see disease view
dwasint ff682ab
Update admin_verbs.dm
dwasint 6383c98
Update _disease.dm
dwasint aa2f8fd
Update living.dm
dwasint 8f737b3
Update _disease.dm
dwasint fbde9e1
map changes
dwasint 52f28f0
replaces panel with better panel
dwasint ef8504a
better incubator panel
dwasint ef93be8
fixes
dwasint dc0882b
reverts drone change
dwasint c02dd75
Update _drone.dm
dwasint 93807fc
Update dice.dm
dwasint b32ada0
whoops
dwasint 610fe67
fixes
dwasint 63fc414
more changes
dwasint d469ffe
fixes for linters and stuff
dwasint 7ac4211
whoops
dwasint 48f38f7
replaces icon stuff with appearance and overlay updates as god intended
dwasint 0d5b716
Update machines.dm
dwasint 932955f
forgot Emissives need a mutable
dwasint adb1de1
mouse cubes
dwasint 51e6a9c
removes all old contact procs, replaces with new infections
dwasint 4c25b16
fixes mouse cubes
dwasint 82b23ae
Update living.dm
dwasint 082f561
replace old disease with new disease, fixes gondola disease
dwasint 4845aab
more stuff
dwasint 1f3a209
elvis mouse elvis mouse elvis mouse elvis mouse
dwasint add5d1a
Update flu.dm
dwasint 150a5e4
Update virology.dm
dwasint 15824fa
whoop
dwasint ff34960
should cut alot of pathogenic cloud processing
dwasint f3f86ab
guh
dwasint d7a2c8f
Update sterile_procs.dm
dwasint 1997249
fixes contact adds clean removal
dwasint 5f319c4
fixes
dwasint 3d3080a
redoes this
dwasint 8b991d2
this performed better
dwasint e7685e9
makes latejoin diseases come in 30 minutes in
dwasint 882f11f
fixes ipcs and plasmemes getting sick
dwasint 266341c
Update _unit_tests.dm
dwasint 8a4b2b6
fixes bio armor having inverse effects on diseases
dwasint f0b4016
adds parts and research for new viro machines
dwasint 2a5fadf
adds vials to deisgn tree
dwasint f6425dc
converts into proper spans
dwasint 461cf4d
adds kill timers to the symptoms
dwasint ce28251
whoops
dwasint 8393953
Update stage1.dm
dwasint cd329c2
adds in pathology record console
dwasint 1fb5484
Update RecordTabs.tsx
dwasint 9d16c03
adds pathology records
dwasint 7e4558a
some basic changes to change from virologist to pathologist
dwasint 5661129
Update RecordView.tsx
dwasint 270404d
Update types.ts
dwasint 3d788ad
may the lord frown on those who didn't use access helpers
dwasint 1461eaa
Update stage2.dm
dwasint 00b7235
removes shit
dwasint 9269a96
Update tgstation.dme
dwasint 7929767
womp
dwasint 992bcae
vomit wont stun
dwasint cd009c1
converts more symptoms and diseases into the new viruses
dwasint 96c8017
Update stage4.dm
dwasint 6ec2614
Update stage4.dm
dwasint b91330e
fixes
dwasint b0dd8fc
loop fix
dwasint 98d614d
whoops
dwasint d7a7903
whoops
dwasint 838bd35
fixes loop
dwasint ec7889c
changes
dwasint c707b61
moves files around
dwasint ccdbafb
vial sprites
dwasint 343cbbe
more vial fill states
dwasint 20379b7
AND IT DIDNT SAVE EVERYONE
dwasint 907f454
i hate comments i hate comments
dwasint b0bfdb4
more replaces
dwasint 11e95c4
stops infections on non approved bio_types
dwasint 772c42f
removes isolator because it was confusing
dwasint 7276475
Update virusdish.dm
dwasint 11e34f4
update_desc
dwasint 34cad10
adds the ability to wage 0 monkecoins on duels
dwasint 03f56a8
more symptoms added
dwasint c80b556
Update symptoms.dm
dwasint 089cfdd
box of vials
dwasint 960b8db
whoops
dwasint 77ec18b
bananeer and fade matrix in and out
dwasint 8481263
Update _open.dm
dwasint 01c16f6
SSmetrics
dwasint 4aa5137
gotta be unique
dwasint 21859ef
i cry
dwasint 3612133
Revert "i cry"
dwasint e2e54cf
Revert "gotta be unique"
dwasint 94c3bfa
Update metric_subsystem.dm
dwasint 306f149
grabs time before everything else as its doing it off the last 30 sec…
dwasint ecb9376
replaces with knockdown shitcode
dwasint 88eb212
Update animation_procs.dm
dwasint 5b9123f
Update _open.dm
dwasint eb350d2
Update _open.dm
dwasint 34e51aa
fixes two bugs
dwasint 37e7b54
Update basic_additions.dm
dwasint d2c1ff6
adds more metric extra data
dwasint 3f3f256
Update basic_additions.dm
dwasint 776a0e9
more diseases and symptoms fixes cure all virueses
dwasint 2ad0df1
Update tgstation.dme
dwasint cdbe7fd
Update medical.dm
dwasint 62c4d5c
tons of sql shit
dwasint 2058da8
Update sql_logging_subsystem.dm
dwasint 896e4a3
fixes duplicates
dwasint 40d96c1
Update talk.dm
dwasint e5daafb
Update sql_logging_subsystem.dm
dwasint bd5362b
Update sql_logging_subsystem.dm
dwasint cf7ff13
Update talk.dm
dwasint 355ced3
Update talk.dm
dwasint 21b04bf
tons more sql logs
dwasint 78b0f19
this needs to be an infusion mutation
dwasint c1abaaf
Update sql_logging_subsystem.dm
dwasint 8a37091
Update sql_logging_subsystem.dm
dwasint 4f01c33
Update sql_logging_subsystem.dm
dwasint File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#define EFFECT_DANGER_HELPFUL "0" | ||
#define EFFECT_DANGER_FLAVOR "1" | ||
#define EFFECT_DANGER_ANNOYING "2" | ||
#define EFFECT_DANGER_HINDRANCE "3" | ||
#define EFFECT_DANGER_HARMFUL "4" | ||
#define EFFECT_DANGER_DEADLY "5" | ||
|
||
#define ANTIGEN_BLOOD "blood" | ||
#define ANTIGEN_COMMON "common" | ||
#define ANTIGEN_RARE "rare" | ||
#define ANTIGEN_ALIEN "alien" | ||
|
||
//blood antigens | ||
#define ANTIGEN_O "O" | ||
#define ANTIGEN_A "A" | ||
#define ANTIGEN_B "B" | ||
#define ANTIGEN_RH "Rh" | ||
//common antigens | ||
#define ANTIGEN_Q "Q" | ||
#define ANTIGEN_U "U" | ||
#define ANTIGEN_V "V" | ||
//rare antigens | ||
#define ANTIGEN_M "M" | ||
#define ANTIGEN_N "N" | ||
#define ANTIGEN_P "P" | ||
//alien antigens | ||
#define ANTIGEN_X "X" | ||
#define ANTIGEN_Y "Y" | ||
#define ANTIGEN_Z "Z" | ||
|
||
|
||
#define DISEASE_BUMP "bump" | ||
#define DISEASE_TOUCH "touch" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
GLOBAL_LIST_INIT(all_antigens, list( | ||
ANTIGEN_O, | ||
ANTIGEN_A, | ||
ANTIGEN_B, | ||
ANTIGEN_RH, | ||
ANTIGEN_Q, | ||
ANTIGEN_U, | ||
ANTIGEN_V, | ||
ANTIGEN_M, | ||
ANTIGEN_N, | ||
ANTIGEN_P, | ||
ANTIGEN_X, | ||
ANTIGEN_Y, | ||
ANTIGEN_Z, | ||
)) | ||
|
||
GLOBAL_LIST_INIT(blood_antigens, list( | ||
ANTIGEN_O, | ||
ANTIGEN_A, | ||
ANTIGEN_B, | ||
ANTIGEN_RH, | ||
)) | ||
|
||
GLOBAL_LIST_INIT(common_antigens, list( | ||
ANTIGEN_Q, | ||
ANTIGEN_U, | ||
ANTIGEN_V, | ||
)) | ||
|
||
GLOBAL_LIST_INIT(rare_antigens, list( | ||
ANTIGEN_M, | ||
ANTIGEN_N, | ||
ANTIGEN_P, | ||
)) | ||
|
||
GLOBAL_LIST_INIT(alien_antigens, list( | ||
ANTIGEN_X, | ||
ANTIGEN_Y, | ||
ANTIGEN_Z, | ||
)) | ||
|
||
/proc/antigen_family(id) | ||
switch(id) | ||
if (ANTIGEN_BLOOD) | ||
return GLOB.blood_antigens | ||
if (ANTIGEN_COMMON) | ||
return GLOB.common_antigens | ||
if (ANTIGEN_RARE) | ||
return GLOB.rare_antigens | ||
if (ANTIGEN_ALIEN) | ||
return GLOB.alien_antigens |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,10 @@ | ||
GLOBAL_LIST_INIT(inspectable_diseases, list()) | ||
|
||
/datum/disease | ||
//Flags | ||
var/visibility_flags = 0 | ||
var/disease_flags = CURABLE|CAN_CARRY|CAN_RESIST | ||
var/spread_flags = DISEASE_SPREAD_AIRBORNE | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN | ||
var/spread_flags = 0 | ||
|
||
//Fluff | ||
var/form = "Virus" | ||
|
@@ -14,7 +16,7 @@ | |
|
||
//Stages | ||
var/stage = 1 | ||
var/max_stages = 0 | ||
var/max_stages = 4 | ||
/// The probability of this infection advancing a stage every second the cure is not present. | ||
var/stage_prob = 2 | ||
|
||
|
@@ -36,12 +38,14 @@ | |
var/infectable_biotypes = MOB_ORGANIC //if the disease can spread on organics, synthetics, or undead | ||
var/process_dead = FALSE //if this ticks while the host is dead | ||
var/copy_type = null //if this is null, copies will use the type of the instance being copied | ||
var/list/symptoms = list() // The symptoms of the disease. | ||
|
||
/datum/disease/Destroy() | ||
. = ..() | ||
GLOB.inspectable_diseases -= src | ||
if(affected_mob) | ||
remove_disease() | ||
SSdisease.active_diseases.Remove(src) | ||
//SSdisease.active_diseases.Remove(src) | ||
|
||
//add this disease if the host does not already have too many | ||
/datum/disease/proc/try_infect(mob/living/infectee, make_copy = TRUE) | ||
|
@@ -53,7 +57,7 @@ | |
var/datum/disease/D = make_copy ? Copy() : src | ||
LAZYADD(infectee.diseases, D) | ||
D.affected_mob = infectee | ||
SSdisease.active_diseases += D //Add it to the active diseases list, now that it's actually in a mob and being processed. | ||
//SSdisease.active_diseases += D //Add it to the active diseases list, now that it's actually in a mob and being processed. | ||
|
||
D.after_add() | ||
infectee.med_hud_set_status() | ||
|
@@ -64,7 +68,7 @@ | |
|
||
///Proc to process the disease and decide on whether to advance, cure or make the sympthoms appear. Returns a boolean on whether to continue acting on the symptoms or not. | ||
/datum/disease/proc/stage_act(seconds_per_tick, times_fired) | ||
var/slowdown = affected_mob.reagents.has_reagent(/datum/reagent/medicine/spaceacillin) ? 0.5 : 1 // spaceacillin slows stage speed by 50% | ||
var/slowdown = affected_mob.reagents.has_reagent(/datum/reagent/medicine/antipathogenic/spaceacillin) ? 0.5 : 1 // spaceacillin slows stage speed by 50% | ||
|
||
if(has_cure()) | ||
if(SPT_PROB(cure_chance, seconds_per_tick)) | ||
|
@@ -101,21 +105,18 @@ | |
if(!(spread_flags & DISEASE_SPREAD_AIRBORNE) && !force_spread) | ||
return | ||
|
||
if(affected_mob.reagents.has_reagent(/datum/reagent/medicine/spaceacillin) || (affected_mob.satiety > 0 && prob(affected_mob.satiety/10))) | ||
if(affected_mob.reagents.has_reagent(/datum/reagent/medicine/antipathogenic/spaceacillin) || (affected_mob.satiety > 0 && prob(affected_mob.satiety/10))) | ||
return | ||
|
||
var/spread_range = 2 | ||
|
||
if(force_spread) | ||
spread_range = force_spread | ||
|
||
affected_mob.spread_airborne_diseases() | ||
/* | ||
var/turf/T = affected_mob.loc | ||
if(istype(T)) | ||
for(var/mob/living/carbon/C in oview(spread_range, affected_mob)) | ||
var/turf/V = get_turf(C) | ||
if(disease_air_spread_walk(T, V)) | ||
C.AirborneContractDisease(src, force_spread) | ||
|
||
*/ | ||
/proc/disease_air_spread_walk(turf/start, turf/end) | ||
if(!start || !end) | ||
return FALSE | ||
|
@@ -127,25 +128,67 @@ | |
return FALSE | ||
end = Temp | ||
|
||
/datum/disease/proc/IsSame(datum/disease/D) | ||
if(istype(D, type)) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This could be shortened to simply |
||
return TRUE | ||
return FALSE | ||
|
||
/datum/disease/proc/cure(add_resistance = TRUE) | ||
if(affected_mob) | ||
if(add_resistance && (disease_flags & CAN_RESIST)) | ||
LAZYOR(affected_mob.disease_resistances, GetDiseaseID()) | ||
qdel(src) | ||
|
||
/datum/disease/proc/IsSame(datum/disease/D) | ||
if(istype(D, type)) | ||
return TRUE | ||
return FALSE | ||
|
||
|
||
/datum/disease/proc/Copy() | ||
//note that stage is not copied over - the copy starts over at stage 1 | ||
var/static/list/copy_vars = list("name", "visibility_flags", "disease_flags", "spread_flags", "form", "desc", "agent", "spread_text", | ||
"cure_text", "max_stages", "stage_prob", "viable_mobtypes", "cures", "infectivity", "cure_chance", | ||
"bypasses_immunity", "spreading_modifier", "severity", "required_organs", "needs_all_cures", "strain_data", | ||
"infectable_biotypes", "process_dead") | ||
var/static/list/copy_vars = list( | ||
"name", | ||
"visibility_flags", | ||
"disease_flags", | ||
"spread_flags", | ||
"form", | ||
"desc", | ||
"agent", | ||
"spread_text", | ||
"cure_text", | ||
"max_stages", | ||
"stage_prob", | ||
"viable_mobtypes", | ||
"cures", | ||
"infectivity", | ||
"cure_chance", | ||
"bypasses_immunity", | ||
"spreading_modifier", | ||
"severity", | ||
"required_organs", | ||
"needs_all_cures", | ||
"strain_data", | ||
"infectable_biotypes", | ||
"process_dead", | ||
"mutation_modifier", | ||
"strength", | ||
"robustness", | ||
"max_bodytemperature", | ||
"min_bodytemperature", | ||
"log", | ||
"origin", | ||
"logged_virusfood", | ||
"fever_warning", | ||
"color", | ||
"pattern", | ||
"pattern_color", | ||
"can_kill", | ||
"infectionchance", | ||
"infectionchance_base", | ||
"ticks", | ||
"speed", | ||
"subID", | ||
"uniqueID", | ||
"childID", | ||
"symptoms", | ||
"stageprob", | ||
"antigen", | ||
) | ||
|
||
var/datum/disease/D = copy_type ? new copy_type() : new type() | ||
for(var/V in copy_vars) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unsure but its possible this should be
NONE
.