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

Разнообразные полезности #3212

Merged
merged 13 commits into from
Feb 19, 2025
4 changes: 2 additions & 2 deletions code/controllers/subsystems/supply.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ SUBSYSTEM_DEF(supply)
"virology_dishes" = "From exported virus dishes",
//SIERRA-ADD
"animal" = "From captured exotic alien fauna",
//[SIERRA-ADD] - ANOMALY - Добавляем категорию "Артефакты"
//[SIERRA-ADD] - ANOMALY - Добавляем категорию "Артефакты"
"artefacts" = "From artefacts",
//[SIERRA-ADD]
//[SIERRA-ADD]
"total" = "Total" // If you're adding additional point sources, add it here in a new line. Don't forget to put a comma after the old last line.
)

Expand Down
54 changes: 0 additions & 54 deletions code/modules/mob/living/carbon/viruses.dm
Original file line number Diff line number Diff line change
@@ -1,65 +1,11 @@
/mob/living/carbon
var/immunity = 100 //current immune system strength
//[SIERRA-ADD] VIRUSOLOGY
var/immunity_norm = 100 //it will regenerate to this value

/mob/living/carbon/proc/handle_viruses()
if(status_flags & GODMODE) return 0 //godmode
if(bodytemperature > 406)
for (var/ID in virus2)
var/datum/disease2/disease/V = virus2[ID]
V.cure(src)

if(life_tick % 3) //don't spam checks over all objects in view every tick.
for(var/obj/decal/cleanable/O in view(1,src))
if(istype(O,/obj/decal/cleanable/blood))
var/obj/decal/cleanable/blood/B = O
if(isnull(B.virus2))
B.virus2 = list()
if(LAZYLEN(B.virus2))
for (var/ID in B.virus2)
var/datum/disease2/disease/V = B.virus2[ID]
infect_virus2(src,V)

else if(istype(O,/obj/decal/cleanable/mucus))
var/obj/decal/cleanable/mucus/M = O
if(isnull(M.virus2))
M.virus2 = list()
if(LAZYLEN(M.virus2))
for (var/ID in M.virus2)
var/datum/disease2/disease/V = M.virus2[ID]
infect_virus2(src,V)

if(LAZYLEN(virus2))
for (var/ID in virus2)
var/datum/disease2/disease/V = virus2[ID]
if(isnull(V)) // Trying to figure out a runtime error that keeps repeating
CRASH("virus2 nulled before calling activate()")
else
V.process(src)
// activate may have deleted the virus
if(!V) continue

// check if we're immune
var/list/common_antibodies = V.antigen & src.antibodies
if(LAZYLEN(common_antibodies))
V.dead = 1
//[/SIERRA-ADD] VIRUSOLOGY
if(immunity > 0.2 * immunity_norm && immunity < immunity_norm)
immunity = min(immunity + 0.25, immunity_norm)
//[SIERRA-ADD] VIRUSOLOGY
if(life_tick % 5 && immunity < 15 && chem_effects[CE_ANTIVIRAL] < VIRUS_COMMON && !LAZYLEN(virus2))
var/infection_prob = 5 - immunity
var/turf/simulated/T = loc
if(istype(T))
infection_prob += T.dirt
if(T.dirt >= 50)
if(prob(infection_prob))
infect_mob_random_greater(src)
else
if(prob(infection_prob))
infect_mob_random_lesser(src)
//[/SIERRA-ADD] VIRUSOLOGY

/mob/living/carbon/proc/virus_immunity()
var/antibiotic_boost = reagents.get_reagent_amount(/datum/reagent/spaceacillin) / (REAGENTS_OVERDOSE/2)
Expand Down
Binary file added maps/sierra/icons/obj/clothing/new_loadout.dmi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading