This commit is contained in:
Guti
2024-12-10 18:31:53 +01:00
parent f3aafe0265
commit 7dbfea8169
7 changed files with 45 additions and 19 deletions
+10 -3
View File
@@ -119,7 +119,7 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease))
var/turf/target = affected_mob.loc
if(istype(target))
for(var/mob/living/carbon/C in oview(spread_range, affected_mob))
for(var/mob/living/carbon/human/C in oview(spread_range, affected_mob))
var/turf/current = get_turf(C)
if(current)
while(TRUE)
@@ -128,6 +128,8 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease))
break
var/direction = get_dir(current, target)
var/turf/next = get_step(current, direction)
if(!current.CanZASPass() || !next.CanZASPass(get_turf(turn(direction, 100))))
break
current = next
/datum/disease/proc/cure()
@@ -153,8 +155,13 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease))
/datum/disease/proc/IsSpreadByTouch()
if(spread_flags & CONTACT_FEET || spread_flags & CONTACT_HANDS || spread_flags & CONTACT_GENERAL)
return 1
return 0
return TRUE
return FALSE
/datum/disease/proc/IsSpreadByAir()
if(spread_flags & AIRBORNE)
return TRUE
return FALSE
/datum/disease/proc/remove_virus()
affected_mob.viruses -= src
+1 -1
View File
@@ -9,7 +9,7 @@
viable_mobtypes = list(/mob/living/carbon/human)
desc = "If left untreated the subject will become very weak, and may vomit often."
severity = MINOR
disease_flags = CAN_CARRY|CAN_CARRY
disease_flags = CAN_CARRY|CAN_RESIST
visibility_flags = HIDDEN_PANDEMIC
required_organs = list(/obj/item/organ/internal/appendix)
bypasses_immunity = TRUE
@@ -116,7 +116,8 @@ var/global/list/image/splatter_cache=list()
if(viruses)
for(var/datum/disease/D in viruses)
perp.ContractDisease(D)
if(D.IsSpreadByTouch())
perp.ContractDisease(D)
amount--
@@ -131,10 +132,6 @@ var/global/list/image/splatter_cache=list()
if (amount && istype(user))
add_fingerprint(user)
if(viruses)
for(var/datum/disease/D in viruses)
user.ContractDisease(D)
if (user.gloves)
return
var/taken = rand(1,amount)
@@ -148,6 +145,11 @@ var/global/list/image/splatter_cache=list()
user.update_inv_gloves(1)
add_verb(user, /mob/living/carbon/human/proc/bloody_doodle)
if(viruses)
for(var/datum/disease/D in viruses)
if(D.IsSpreadByTouch())
user.ContractDisease(D)
/obj/effect/decal/cleanable/blood/splatter
random_icon_states = list("mgibbl1", "mgibbl2", "mgibbl3", "mgibbl4", "mgibbl5")
amount = 2
@@ -273,11 +275,25 @@ var/global/list/image/splatter_cache=list()
/obj/effect/decal/cleanable/mucus/Crossed(mob/living/carbon/human/perp)
if(viruses)
for(var/datum/disease/D in viruses)
perp.ContractDisease(D)
if(D.IsSpreadByTouch())
perp.ContractDisease(D)
/obj/effect/decal/cleanable/mucus/attack_hand(mob/living/carbon/human/perp)
if(viruses)
for(var/datum/disease/D in viruses)
if(D.IsSpreadByTouch())
perp.ContractDisease(D)
/obj/effect/decal/cleanable/vomit/Crossed(mob/living/carbon/human/perp)
if(viruses)
for(var/datum/disease/D in viruses)
perp.ContractDisease(D)
if(D.IsSpreadByTouch())
perp.ContractDisease(D)
/obj/effect/decal/cleanable/vomit/Crossed(mob/living/carbon/human/perp)
if(viruses)
for(var/datum/disease/D in viruses)
if(D.IsSpreadByTouch())
perp.ContractDisease(D)
#undef DRYING_TIME
@@ -5,7 +5,7 @@
continue
if(!(A.z in using_map.station_levels))
continue
if(A.flag_check(RAD_SHIELDED))
if(A.flag_check(AREA_FORBID_EVENTS))
continue
if(isbelly(H.loc))
continue
+3 -2
View File
@@ -1785,7 +1785,7 @@
/obj/item/reagent_containers/food/snacks/badrecipe/Initialize()
. = ..()
reagents.add_reagent("toxin", 1)
reagents.add_reagent("salmonella", 1)
reagents.add_reagent("carbon", 3)
/obj/item/reagent_containers/food/snacks/meatsteak
@@ -2551,7 +2551,7 @@
reagents.add_reagent("water", 10)
if(8)
reagents.add_reagent("carbon", 10)
reagents.add_reagent("toxin", 10)
reagents.add_reagent("salmonella", 10)
if(9)
reagents.add_reagent("nutriment", 5, nutriment_desc)
reagents.add_reagent("tomatojuice", 10)
@@ -3825,6 +3825,7 @@
reagents.add_reagent("protein", 5)
reagents.add_reagent("tomatojuice", 6)
reagents.add_reagent("mold", 8)
reagents.add_reagent("salmonella", 1)
/obj/item/reagent_containers/food/snacks/slice/oldpizza
name = "moldy pizza slice"
+5 -1
View File
@@ -505,8 +505,12 @@
..()
//spread some viruses while we are at it
if(breath && !isnull(viruses) && prob(10))
if((wear_mask && (wear_mask.item_flags & AIRTIGHT)) || (head && (head && (head.item_flags & AIRTIGHT))))
return
if(wear_mask.permeability_coefficient < 1)
return
for(var/datum/disease/D in GetViruses())
if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS))
if(!D.IsSpreadByAir())
continue
for(var/mob/living/carbon/M in view(1,src))
ContractDisease(D)
+2 -4
View File
@@ -7,10 +7,8 @@
var/inflame_progress = 0
/mob/living/carbon/human/proc/appendicitis()
if(stat == DEAD)
return 0
ForceContractDisease(new /datum/disease/appendicitis)
return 0
return ForceContractDisease(new /datum/disease/appendicitis)
/*
/obj/item/organ/internal/appendix/process()
..()