Christmas Gift (#7474)

This commit is contained in:
FluffMedic
2024-01-04 17:14:00 -05:00
committed by GitHub
parent 1f1479f6af
commit 6f0fa34a57
13 changed files with 1046 additions and 285 deletions

View File

@@ -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"

View File

@@ -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(

View 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