mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Christmas Gift (#7474)
This commit is contained in:
@@ -57,18 +57,18 @@
|
||||
danger = rand(0,2)
|
||||
switch(danger)
|
||||
if(DANGER_CRAB)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/radcrab)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/radcrab)
|
||||
min_number = 1
|
||||
max_number = 4
|
||||
dangerstring = "crystaline crabs"
|
||||
if(DANGER_ICE)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/livingice)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/livingice)
|
||||
min_number = 1
|
||||
max_number = 4
|
||||
dangerstring = "strange entities"
|
||||
|
||||
if(DANGER_RAY)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/solarray)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/solarray)
|
||||
min_number = 1
|
||||
max_number = 4
|
||||
dangerstring = "solar rays"
|
||||
|
||||
@@ -111,6 +111,7 @@
|
||||
//Spacedust doesn't work, commenting this out.
|
||||
//new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space Dust", /datum/event/dust, 0, list(ASSIGNMENT_ENGINEER = 20), 1, 0, 50),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Supply Demand", /datum/event/supply_demand, 0, list(ASSIGNMENT_ANY = 5, ASSIGNMENT_SCIENCE = 15, ASSIGNMENT_GARDENER = 10, ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_MEDICAL = 15), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Exotic Infestation", /datum/event/dangerinfestation, -30, list(ASSIGNMENT_ENGINEER = 20, ASSIGNMENT_SCIENCE = 5, ASSIGNMENT_ANY = 2)),
|
||||
//Check if wormhole code is good and then move to enabled.
|
||||
// new /datum/event_meta(EVENT_LEVEL_MODERATE, "Wormholes", /datum/event/wormholes, 20, list(ASSIGNMENT_ANY = 5)),
|
||||
// new /datum/event_meta(EVENT_LEVEL_MODERATE, "Lost Spiders", /datum/event/spider_migration, 0, list(ASSIGNMENT_SECURITY = 30), 1), //YW EDIT //CHOMPStation Edit: Moved to disabled. This is a YW feature that spawns spiders on carp spawns.
|
||||
@@ -130,7 +131,7 @@
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Space Vines", /datum/event/spacevine, 20, list(ASSIGNMENT_ENGINEER = 15), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Supply Demand", /datum/event/supply_demand, 0, list(ASSIGNMENT_ANY = 5, ASSIGNMENT_SCIENCE = 15, ASSIGNMENT_GARDENER = 10, ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_MEDICAL = 15), 1, min_jobs = list(ASSIGNMENT_CARGO = 1)),
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Viral Infection", /datum/event/viral_infection, -50, list(ASSIGNMENT_MEDICAL = 25), 1, min_jobs = list(ASSIGNMENT_MEDICAL = 2)),
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Excotic Infestation", /datum/event/dangerinfestation, -60, list(ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_SCIENCE = 5, ASSIGNMENT_ANY = 1)),
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Exotic Horde Infestation", /datum/event/highdangerinfestation, -50, list(ASSIGNMENT_ENGINEER = 20, ASSIGNMENT_SCIENCE = 5, ASSIGNMENT_ANY = 2)),
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Meaty Ores Wave", /datum/event/meteor_wave/meatyores, -90, list(ASSIGNMENT_ENGINEER = 50, ASSIGNMENT_MEDICAL = 10, ASSIGNMENT_ANY = 1), 1, min_jobs = list(ASSIGNMENT_ENGINEER = 1)),
|
||||
)
|
||||
add_disabled_events(list(
|
||||
|
||||
124
modular_chomp/code/modules/event/heavydangerinfestation.dm
Normal file
124
modular_chomp/code/modules/event/heavydangerinfestation.dm
Normal file
@@ -0,0 +1,124 @@
|
||||
#define LOC_RIOT 0
|
||||
#define LOC_ATMOS 1
|
||||
#define LOC_DISPOSAL 2
|
||||
#define LOC_TECH 3
|
||||
#define LOC_VAULT 4
|
||||
#define LOC_VIRO 5
|
||||
#define LOC_BRIDGE 6
|
||||
#define LOC_BRIG 7
|
||||
|
||||
#define DANGER_CRAB 0
|
||||
#define DANGER_ICE 1
|
||||
#define DANGER_RAY 2
|
||||
#define DANGER_EEL 3
|
||||
#define DANGER_TURTLE 4
|
||||
|
||||
//infestation event of a diffrent variety
|
||||
//meant for engineering and science to exploit
|
||||
/datum/event/highdangerinfestation
|
||||
announceWhen = 10
|
||||
endWhen = 11
|
||||
var/location
|
||||
var/locstring
|
||||
var/danger
|
||||
var/dangerstring
|
||||
|
||||
/datum/event/highdangerinfestation/start()
|
||||
location = rand(0,7)
|
||||
var/list/turf/simulated/floor/turfs = list()
|
||||
var/spawn_area_type
|
||||
switch(location)
|
||||
if(LOC_RIOT)
|
||||
spawn_area_type = /area/security/riot_control
|
||||
locstring = "riot control"
|
||||
if(LOC_ATMOS)
|
||||
spawn_area_type = /area/engineering/atmos
|
||||
locstring = "atmospherics"
|
||||
if(LOC_DISPOSAL)
|
||||
spawn_area_type = /area/maintenance/disposal
|
||||
locstring = "the disposal"
|
||||
if(LOC_TECH)
|
||||
spawn_area_type = /area/storage/tech
|
||||
locstring = "technical storage"
|
||||
if(LOC_VAULT)
|
||||
spawn_area_type = /area/security/nuke_storage
|
||||
locstring = "the vault"
|
||||
if(LOC_VIRO)
|
||||
spawn_area_type = /area/medical/virology
|
||||
locstring = "the virogoly"
|
||||
if(LOC_BRIDGE)
|
||||
spawn_area_type = /area/bridge
|
||||
locstring = "the bridge"
|
||||
if(LOC_BRIG)
|
||||
spawn_area_type = /area/security/prison
|
||||
locstring = "the brig"
|
||||
|
||||
for(var/areapath in typesof(spawn_area_type))
|
||||
var/area/A = locate(areapath)
|
||||
for(var/turf/simulated/floor/F in A.contents)
|
||||
//VOREStation Edit - Fixes event
|
||||
var/blocked = FALSE
|
||||
for(var/atom/movable/AM in F)
|
||||
if(AM.density)
|
||||
blocked = TRUE
|
||||
if(!blocked)
|
||||
turfs += F
|
||||
|
||||
var/list/spawn_types = list()
|
||||
var/min_number
|
||||
var/max_number
|
||||
danger = rand(0,4)
|
||||
switch(danger)
|
||||
if(DANGER_CRAB)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/radcrab)
|
||||
min_number = 2
|
||||
max_number = 6
|
||||
dangerstring = "crystaline crabs"
|
||||
if(DANGER_ICE)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/livingice)
|
||||
min_number = 2
|
||||
max_number = 6
|
||||
dangerstring = "strange entities"
|
||||
|
||||
if(DANGER_RAY)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/solarray)
|
||||
min_number = 2
|
||||
max_number = 6
|
||||
dangerstring = "solar rays"
|
||||
if(DANGER_EEL)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/dreameel)
|
||||
min_number = 2
|
||||
max_number = 6
|
||||
dangerstring = "strange entities"
|
||||
if(DANGER_TURTLE)
|
||||
spawn_types = list(/mob/living/simple_mob/vore/spacecritter/gravityshell)
|
||||
min_number = 2
|
||||
max_number = 6
|
||||
dangerstring = "strange entities"
|
||||
|
||||
spawn(0)
|
||||
var/num = rand(min_number,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/highdangerinfestation/announce()
|
||||
command_announcement.Announce("Bioscans indicate that [dangerstring] have been entered [locstring]. Contain them before they start causing damage.", "Alien infestation")
|
||||
|
||||
#undef LOC_RIOT
|
||||
#undef LOC_ATMOS
|
||||
#undef LOC_DISPOSAL
|
||||
#undef LOC_TECH
|
||||
#undef LOC_VAULT
|
||||
#undef LOC_VIRO
|
||||
#undef LOC_BRIDGE
|
||||
#undef LOC_BRIG
|
||||
|
||||
#undef DANGER_CRAB
|
||||
#undef DANGER_ICE
|
||||
#undef DANGER_RAY
|
||||
#undef DANGER_EEL
|
||||
#undef DANGER_TURTLE
|
||||
Reference in New Issue
Block a user