mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Infected Room Update (#8477)
This commit is contained in:
@@ -2643,6 +2643,10 @@ var/list/the_station_areas = list (
|
|||||||
name = "\improper Exploration Locker Room Three"
|
name = "\improper Exploration Locker Room Three"
|
||||||
icon_state = "hangarcontrol"
|
icon_state = "hangarcontrol"
|
||||||
|
|
||||||
|
/area/engineering/gravgen
|
||||||
|
name = "Gravity Generator"
|
||||||
|
icon_state = "engineering"
|
||||||
|
|
||||||
//CHOMPedit KSC = overmap exploration shuttles
|
//CHOMPedit KSC = overmap exploration shuttles
|
||||||
|
|
||||||
/area/shuttle/stargazer
|
/area/shuttle/stargazer
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
resistance += 10
|
resistance += 10
|
||||||
|
|
||||||
if(GLOB.all_species.len)
|
if(GLOB.all_species.len)
|
||||||
affected_species = get_infectable_species()
|
affected_species = get_all_infectable_species() // CHOMPEdit
|
||||||
|
|
||||||
/proc/get_infectable_species()
|
/proc/get_infectable_species()
|
||||||
var/list/meat = list()
|
var/list/meat = list()
|
||||||
|
|||||||
@@ -2328,10 +2328,6 @@ End Chompstation Edit*/
|
|||||||
name = "Gravity Generator Substation"
|
name = "Gravity Generator Substation"
|
||||||
icon_state = "engineering"
|
icon_state = "engineering"
|
||||||
|
|
||||||
/area/engineering/gravgen
|
|
||||||
name = "Gravity Generator"
|
|
||||||
icon_state = "engineering"
|
|
||||||
|
|
||||||
/area/maintenance/engineering/gravgen
|
/area/maintenance/engineering/gravgen
|
||||||
name = "Gravity Generator Maintenance"
|
name = "Gravity Generator Maintenance"
|
||||||
|
|
||||||
@@ -2396,4 +2392,4 @@ End Chompstation Edit*/
|
|||||||
|
|
||||||
/area/maintenance/zerobar
|
/area/maintenance/zerobar
|
||||||
name = "Abandoned Bar"
|
name = "Abandoned Bar"
|
||||||
icon_state = "maint_bar"
|
icon_state = "maint_bar"
|
||||||
|
|||||||
@@ -8,8 +8,13 @@
|
|||||||
/area/shuttle,
|
/area/shuttle,
|
||||||
/area/crew_quarters,
|
/area/crew_quarters,
|
||||||
/area/holodeck,
|
/area/holodeck,
|
||||||
|
/area/construction,
|
||||||
/area/engineering/engine_room,
|
/area/engineering/engine_room,
|
||||||
/area/maintenance)
|
/area/engineering/engine_monitoring,
|
||||||
|
/area/engineering/gravgen,
|
||||||
|
/area/maintenance,
|
||||||
|
/area/medical,
|
||||||
|
/area/rnd/test_area)
|
||||||
|
|
||||||
var/commondisease = list(
|
var/commondisease = list(
|
||||||
"Friday Fever" = list(
|
"Friday Fever" = list(
|
||||||
@@ -72,7 +77,7 @@
|
|||||||
|
|
||||||
var/list/turfs = list()
|
var/list/turfs = list()
|
||||||
for(var/turf/simulated/floor/F in A)
|
for(var/turf/simulated/floor/F in A)
|
||||||
if(turf_clear(F))
|
if(!F.check_density())
|
||||||
turfs += F
|
turfs += F
|
||||||
if(turfs.len == 0)
|
if(turfs.len == 0)
|
||||||
log_debug("infectedroom event: Rejected [A] because it has no clear turfs.")
|
log_debug("infectedroom event: Rejected [A] because it has no clear turfs.")
|
||||||
@@ -93,7 +98,24 @@
|
|||||||
command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard \the [location_name()]. All personnel must contain the outbreak.", "Infectious Contaminant in [target_area.name]", new_sound = 'sound/AI/outbreak7.ogg')
|
command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard \the [location_name()]. All personnel must contain the outbreak.", "Infectious Contaminant in [target_area.name]", new_sound = 'sound/AI/outbreak7.ogg')
|
||||||
|
|
||||||
/datum/event/infectedroom/start()
|
/datum/event/infectedroom/start()
|
||||||
var/obj/effect/decal/cleanable/mucus/mapped/M
|
var/decal
|
||||||
|
|
||||||
for(var/i in 1 to infected_tiles)
|
for(var/i in 1 to infected_tiles)
|
||||||
M = new(pick_n_take(target_turfs))
|
decal = rand(1, 5)
|
||||||
M.virus2[1] = virus.getcopy()
|
if(decal == 1)
|
||||||
|
var/obj/effect/decal/cleanable/blood/C
|
||||||
|
C = new(pick_n_take(target_turfs))
|
||||||
|
C.basecolor = get_random_colour(rand(0, 1))
|
||||||
|
C.update_icon()
|
||||||
|
C.virus2 |= new /datum/disease2/disease
|
||||||
|
C.virus2[1] = virus.getcopy()
|
||||||
|
else if(decal == 2)
|
||||||
|
var/obj/effect/decal/cleanable/vomit/V
|
||||||
|
V = new(pick_n_take(target_turfs))
|
||||||
|
V.virus2 |= new /datum/disease2/disease
|
||||||
|
V.virus2[1] = virus.getcopy()
|
||||||
|
else
|
||||||
|
var/obj/effect/decal/cleanable/mucus/M
|
||||||
|
M = new(pick_n_take(target_turfs))
|
||||||
|
M.virus2 |= new /datum/disease2/disease
|
||||||
|
M.virus2[1] = virus.getcopy()
|
||||||
|
|||||||
@@ -52,4 +52,12 @@
|
|||||||
resistance += 10
|
resistance += 10
|
||||||
|
|
||||||
if(GLOB.all_species.len)
|
if(GLOB.all_species.len)
|
||||||
affected_species = get_infectable_species()
|
affected_species = get_all_infectable_species()
|
||||||
|
|
||||||
|
/proc/get_all_infectable_species()
|
||||||
|
var/list/meat = list()
|
||||||
|
for (var/specie in GLOB.all_species)
|
||||||
|
var/datum/species/S = GLOB.all_species[specie]
|
||||||
|
if(!S.get_virus_immune())
|
||||||
|
meat += S
|
||||||
|
return meat
|
||||||
|
|||||||
Reference in New Issue
Block a user