From 5e5bc2a690f298e6bcacbdd7b33548ec73fef248 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 29 Mar 2020 17:01:05 +0200 Subject: [PATCH] force push. --- code/datums/helper_datums/teleport.dm | 2 +- code/modules/antagonists/swarmer/swarmer.dm | 61 ++++++++++++++++++- .../antagonists/swarmer/swarmer_event.dm | 6 +- 3 files changed, 63 insertions(+), 6 deletions(-) diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 6b0981665d..c46a03a986 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -128,7 +128,7 @@ // Can most things breathe? if(trace_gases) continue - if(A_gases[/datum/gas/oxygen] >= 16) + if(A_gases[/datum/gas/oxygen] <= 16) continue if(A_gases[/datum/gas/plasma]) continue diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 724c4e6f76..d4ed9a21e5 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -179,8 +179,8 @@ /obj/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) if(resistance_flags & INDESTRUCTIBLE) return FALSE - for(var/mob/living/L in contents) - if(!issilicon(L) && !isbrain(L)) + for(var/mob/living/L in GetAllContents()) + if(!ispAI(L) && !isbrain(L)) to_chat(S, "An organism has been detected inside this object. Aborting.") return FALSE return ..() @@ -416,6 +416,57 @@ to_chat(S, "Destroying this object would cause a catastrophic chain reaction. Aborting.") return FALSE +/obj/machinery/ore_silo/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object, however tempting it's, will disrupt the research development that may serve for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/rnd/server/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object, will disrupt the research development that may serve for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/pool/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) //pool's closed, but not. + to_chat(S, "The pool must not be closed, it will provide healthy fun for our masters in the future. Aborting.") + return FALSE + +/obj/structure/pool/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "The pool must not be closed, it will provide healthy fun for our masters in the future. Aborting.") + return FALSE + +/obj/structure/holosign/barrier/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + var/static/list/lazy_typecache = typecacheof(list(/obj/structure/holosign/barrier/engineering, /obj/structure/holosign/barrier/firelock, /obj/structure/holosign/barrier/atmos, /obj/structure/holosign/barrier/combifan)) + if(lazy_typecache[type]) + to_chat(S, "Destroying this holographic barrier may not benefit us. Aborting.") + return FALSE + return ..() + +/obj/machinery/dominator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/computer/bsa_control/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/bsa/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/dna_vault/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/structure/filler/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/computer/sat_control/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object will lower the station shielding against space debris. Aborting.") + return FALSE + +/obj/machinery/satellite/meteor_shield/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object will lower the station shielding against space debris. Aborting.") + return FALSE + ////END CTRL CLICK FOR SWARMERS//// /mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0) @@ -429,6 +480,12 @@ return new fabrication_object(loc) /mob/living/simple_animal/hostile/swarmer/proc/Integrate(atom/movable/target) + if(target.resistance_flags & INDESTRUCTIBLE) + return FALSE + for(var/mob/living/L in GetAllContents()) + if(!ispAI(L) && !isbrain(L)) + to_chat(src, "An organism has been detected inside this object. Aborting.") + return FALSE var/resource_gain = target.IntegrateAmount() if(resources + resource_gain > max_resources) to_chat(src, "We cannot hold more materials!") diff --git a/code/modules/antagonists/swarmer/swarmer_event.dm b/code/modules/antagonists/swarmer/swarmer_event.dm index 6ef35fdbaa..c626799a53 100644 --- a/code/modules/antagonists/swarmer/swarmer_event.dm +++ b/code/modules/antagonists/swarmer/swarmer_event.dm @@ -1,10 +1,10 @@ /datum/round_event_control/spawn_swarmer name = "Spawn Swarmer Shell" typepath = /datum/round_event/spawn_swarmer - weight = 0 - max_occurrences = 0 + weight = 7 + max_occurrences = 1 //Only once okay fam earliest_start = 30 MINUTES - min_players = 15 + min_players = 35 gamemode_blacklist = list("dynamic")