Mutant event control files

This commit is contained in:
Razgriz
2020-07-14 15:37:30 -07:00
committed by GitHub
parent f93dcd26bb
commit 3fc88dee58
3 changed files with 130 additions and 20 deletions

View File

@@ -85,6 +85,8 @@
// Pure RP fun, no mechanical effects.
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ionstorm, 0, list(ASSIGNMENT_AI = 80, ASSIGNMENT_CYBORG = 50, ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_SCIENTIST = 5)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Meteor Shower", /datum/event/meteor_wave, -50, list(ASSIGNMENT_ENGINEER = 45), 1),
//New CHOMPStation event. Mice and lizards grow into rats and lizardmen.
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Mutants", /datum/event/mutants, 20, list(ASSIGNMENT_ANY = 15, ASSIGNMENT_SECURITY = 25), 1),
// Opens doors in brig. So just RP fun
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Prison Break", /datum/event/prison_break, -10, list(ASSIGNMENT_SECURITY = 30, ASSIGNMENT_ENGINEER = 20), 1),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 50, list(ASSIGNMENT_MEDICAL = 50), 1), //YW EDIT, Readded

View File

@@ -1,12 +1,15 @@
//CHOMP Edit changed for Southern Cross areas
#define LOC_KITCHEN 0
#define LOC_ATMOS 1
#define LOC_CHAPEL 2
#define LOC_LIBRARY 3
#define LOC_HYDRO 4
#define LOC_VAULT 5
#define LOC_CONSTR 6
#define LOC_TECH 7
#define LOC_GARDEN 8
#define LOC_TECH 5
#define LOC_HANGAR1 6
#define LOC_HANGAR2 7
#define LOC_HANGAR3 8
#define LOC_VAULT 9
#define VERM_MICE 0
#define VERM_LIZARDS 1
@@ -21,8 +24,8 @@
var/vermstring
/datum/event/infestation/start()
location = rand(0,8)
//CHOMP Edit changed for Southern Cross areas
location = rand(0,9)
var/list/turf/simulated/floor/turfs = list()
var/spawn_area_type
switch(location)
@@ -41,18 +44,21 @@
if(LOC_HYDRO)
spawn_area_type = /area/hydroponics
locstring = "hydroponics"
if(LOC_VAULT)
spawn_area_type = /area/security/nuke_storage
locstring = "the vault"
if(LOC_CONSTR)
spawn_area_type = /area/construction
locstring = "the construction area"
if(LOC_TECH)
spawn_area_type = /area/storage/tech
locstring = "technical storage"
if(LOC_GARDEN)
spawn_area_type = /area/hydroponics/garden
locstring = "the public garden"
if(LOC_HANGAR1)
spawn_area_type = /area/hangar/one
locstring = "the hangar deck"
if(LOC_HANGAR1)
spawn_area_type = /area/hangar/two
locstring = "the hangar deck"
if(LOC_HANGAR1)
spawn_area_type = /area/hangar/three
locstring = "the hangar deck"
if(LOC_VAULT)
spawn_area_type = /area/security/nuke_storage
locstring = "the vault"
for(var/areapath in typesof(spawn_area_type))
var/area/A = locate(areapath)
@@ -100,9 +106,11 @@
#undef LOC_CHAPEL
#undef LOC_LIBRARY
#undef LOC_HYDRO
#undef LOC_VAULT
#undef LOC_TECH
#undef LOC_GARDEN
#undef LOC_HANGAR1
#undef LOC_HANGAR2
#undef LOC_HANGAR3
#undef LOC_VAULT
#undef VERM_MICE
#undef VERM_LIZARDS

View File

@@ -0,0 +1,100 @@
#define LOC_KITCHEN 0
#define LOC_ATMOS 1
#define LOC_CHAPEL 2
#define LOC_LIBRARY 3
#define LOC_HYDRO 4
#define LOC_TECH 5
#define LOC_HANGAR1 6
#define LOC_HANGAR2 7
#define LOC_HANGAR3 8
#define VERM_RATS 0
#define VERM_LIZARDMEN 1
/datum/event/mutants
announceWhen = 25
endWhen = 26
var/location
var/locstring
var/vermin
var/vermstring
/datum/event/mutants/start()
location = rand(0,8)
var/list/turf/simulated/floor/turfs = list()
var/spawn_area_type
switch(location)
if(LOC_KITCHEN)
spawn_area_type = /area/crew_quarters/kitchen
locstring = "the kitchen"
if(LOC_ATMOS)
spawn_area_type = /area/engineering/atmos
locstring = "atmospherics"
if(LOC_CHAPEL)
spawn_area_type = /area/chapel/main
locstring = "the chapel"
if(LOC_LIBRARY)
spawn_area_type = /area/library
locstring = "the library"
if(LOC_HYDRO)
spawn_area_type = /area/hydroponics
locstring = "hydroponics"
if(LOC_TECH)
spawn_area_type = /area/storage/tech
locstring = "technical storage"
if(LOC_HANGAR1)
spawn_area_type = /area/hangar/one
locstring = "the hangar deck"
if(LOC_HANGAR1)
spawn_area_type = /area/hangar/two
locstring = "the hangar deck"
if(LOC_HANGAR1)
spawn_area_type = /area/hangar/three
locstring = "the hangar deck"
for(var/areapath in typesof(spawn_area_type))
var/area/A = locate(areapath)
for(var/turf/simulated/floor/F in A.contents)
if(turf_clear(F))
turfs += F
var/list/spawn_types = list()
var/max_number
vermin = rand(0,1)
switch(vermin)
if(VERM_RATS)
spawn_types = list(/mob/living/simple_mob/animal/passive/mouse/event)
max_number = 6
vermstring = "mutant mice"
if(VERM_LIZARDMEN)
spawn_types = list(/mob/living/simple_mob/animal/passive/lizard/event)
max_number = 6
vermstring = "mutant lizards"
spawn(0)
var/num = rand(2,max_number)
while(turfs.len > 0 && num > 0)
var/turf/simulated/floor/T = pick(turfs)
turfs.Remove(T)
num--
var/spawn_type = pick(spawn_types)
new spawn_type(T)
/datum/event/mutants/announce()
command_announcement.Announce("Bioscans indicate... What are those? It looks like [vermstring] have been breeding in [locstring]. Clear them out, just in case.", "Vermin infestation")
#undef LOC_KITCHEN
#undef LOC_ATMOS
#undef LOC_CHAPEL
#undef LOC_LIBRARY
#undef LOC_HYDRO
#undef LOC_TECH
#undef LOC_HANGAR1
#undef LOC_HANGAR2
#undef LOC_HANGAR3
#undef VERM_RATS
#undef VERM_LIZARDS