From ff7b6c0bd38474524b6ba77397e8615d0764275d Mon Sep 17 00:00:00 2001 From: Phantastic-Swan Date: Fri, 1 Aug 2025 00:13:04 +0200 Subject: [PATCH] adds light spider infestation that spawns less spiders and only of the basic type. Also buffs space dust a bit --- .../code/game/objects/effects/spiders.dm | 2 + .../modules/events/disease_outbreak_light.dm | 1 - .../events/light_spider_infestation.dm | 37 +++++++++++++++++++ code/modules/events/dust.dm | 14 ++++--- tgstation.dme | 2 + 5 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 GainStation13/code/game/objects/effects/spiders.dm create mode 100644 GainStation13/code/modules/events/light_spider_infestation.dm diff --git a/GainStation13/code/game/objects/effects/spiders.dm b/GainStation13/code/game/objects/effects/spiders.dm new file mode 100644 index 0000000000..3ab0d613c9 --- /dev/null +++ b/GainStation13/code/game/objects/effects/spiders.dm @@ -0,0 +1,2 @@ +/obj/structure/spider/spiderling/regular + grow_as = /mob/living/simple_animal/hostile/poison/giant_spider \ No newline at end of file diff --git a/GainStation13/code/modules/events/disease_outbreak_light.dm b/GainStation13/code/modules/events/disease_outbreak_light.dm index 08f4898c7b..4e655efb57 100644 --- a/GainStation13/code/modules/events/disease_outbreak_light.dm +++ b/GainStation13/code/modules/events/disease_outbreak_light.dm @@ -4,7 +4,6 @@ max_occurrences = 5 min_players = 5 weight = 10 - category = EVENT_CATEGORY_HEALTH description = "A simple disease will infect some crewmembers." /datum/round_event/disease_outbreak/light diff --git a/GainStation13/code/modules/events/light_spider_infestation.dm b/GainStation13/code/modules/events/light_spider_infestation.dm new file mode 100644 index 0000000000..53b1619cad --- /dev/null +++ b/GainStation13/code/modules/events/light_spider_infestation.dm @@ -0,0 +1,37 @@ +/datum/round_event_control/spider_infestation/light + name = "Light Spider Infestation" + typepath = /datum/round_event/spider_infestation/light + weight = 7 + max_occurrences = 4 + min_players = 8 + +// /datum/round_event/spider_infestation +// announce_when = 400 + +// var/spawncount = 1 + + +/datum/round_event/spider_infestation/light/setup() + announce_when = rand(announce_when, announce_when + 50) + spawncount = rand(3, 5) + +// /datum/round_event/spider_infestation/announce(fake) +// priority_announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", "aliens") + + +/datum/round_event/spider_infestation/light/start() + var/list/vents = list() + for(var/obj/machinery/atmospherics/components/unary/vent_pump/temp_vent in GLOB.machines) + if(QDELETED(temp_vent)) + continue + if(is_station_level(temp_vent.loc.z) && !temp_vent.welded) + var/datum/pipeline/temp_vent_parent = temp_vent.parents[1] + if(temp_vent_parent.other_atmosmch.len > 20) + vents += temp_vent + + while((spawncount >= 1) && vents.len) + var/obj/vent = pick(vents) + var/spawn_type = /obj/structure/spider/spiderling/regular + announce_to_ghosts(spawn_atom_to_turf(spawn_type, vent, 1, FALSE)) + vents -= vent + spawncount-- diff --git a/code/modules/events/dust.dm b/code/modules/events/dust.dm index 85b695db02..6aa9e2c558 100644 --- a/code/modules/events/dust.dm +++ b/code/modules/events/dust.dm @@ -1,8 +1,10 @@ /datum/round_event_control/space_dust name = "Minor Space Dust" typepath = /datum/round_event/space_dust - weight = 200 - max_occurrences = 15 //GS13 - it was originaly 1000 occurences, which won't work out well in our super long rounds + // GS13 EDIT + weight = 100 // lowered from 200 to 100, to give it a chance to appear later in the round, rather than have all 50 shots fizzle out at the start + max_occurrences = 50 //GS13 - it was originaly 1000 occurences, which won't work out well in our super long rounds + // GS13 END EDIT earliest_start = 0 MINUTES alert_observers = FALSE category = EVENT_CATEGORY_SPACE @@ -19,9 +21,11 @@ /datum/round_event_control/sandstorm name = "Sandstorm" typepath = /datum/round_event/sandstorm - weight = 5 - max_occurrences = 1 - min_players = 20 + // GS13 EDIT + weight = 3 // lowered weight from 5 to 3, cuz we're gonna make it appear more often in other ways + max_occurrences = 3 // increased max occurences from 1 to 3, hopefully with lower weight this will result in more sandstorms over longer shifts vs 3 SANDSTORMS IN A ROW + min_players = 10 // lowered min players to 10, since when was the last time we had 20 pop? + // GS13 END EDIT earliest_start = 20 MINUTES category = EVENT_CATEGORY_SPACE description = "The station is pelted by an extreme amount of sand for several minutes." diff --git a/tgstation.dme b/tgstation.dme index 5870f43918..2223d26994 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3964,6 +3964,7 @@ #include "GainStation13\code\game\objects\turfs.dm" #include "GainStation13\code\game\objects\effects\landmarks.dm" #include "GainStation13\code\game\objects\effects\posters.dm" +#include "GainStation13\code\game\objects\effects\spiders.dm" #include "GainStation13\code\game\objects\effects\decals\cleanable\misc.dm" #include "GainStation13\code\game\objects\effects\spawners\choco_slime_delivery.dm" #include "GainStation13\code\game\objects\effects\spawners\decals.dm" @@ -4041,6 +4042,7 @@ #include "GainStation13\code\modules\clothing\under\jobs\modular_items.dm" #include "GainStation13\code\modules\events\bluespace_belt_failure.dm" #include "GainStation13\code\modules\events\disease_outbreak_light.dm" +#include "GainStation13\code\modules\events\light_spider_infestation.dm" #include "GainStation13\code\modules\events\vent_clog.dm\vent_clog.dm" #include "GainStation13\code\modules\food_and_drinks\bigbottle.dm" #include "GainStation13\code\modules\food_and_drinks\drinks.dm"