diff --git a/code/__DEFINES/research/anomalies.dm b/code/__DEFINES/research/anomalies.dm index 358fa474f98..35ee0ec05ff 100644 --- a/code/__DEFINES/research/anomalies.dm +++ b/code/__DEFINES/research/anomalies.dm @@ -5,7 +5,7 @@ #define MAX_CORES_VORTEX 8 #define MAX_CORES_PYRO 8 #define MAX_CORES_HALLUCINATION 8 -#define MAX_CORES_DELIMBER 8 +#define MAX_CORES_BIOSCRAMBLER 8 ///Defines for the different types of explosion a flux anomaly can have #define FLUX_NO_EXPLOSION 0 diff --git a/code/__DEFINES/supermatter.dm b/code/__DEFINES/supermatter.dm index 6cc7eac535b..a78c34dbab1 100644 --- a/code/__DEFINES/supermatter.dm +++ b/code/__DEFINES/supermatter.dm @@ -98,7 +98,7 @@ #define GRAVITATIONAL_ANOMALY "gravitational_anomaly" #define FLUX_ANOMALY "flux_anomaly" #define PYRO_ANOMALY "pyro_anomaly" -#define DELIMBER_ANOMALY "delimber_anomaly" +#define BIOSCRAMBLER_ANOMALY "bioscrambler_anomaly" #define HALLUCINATION_ANOMALY "hallucination_anomaly" #define VORTEX_ANOMALY "vortex_anomaly" diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index 418a64f2a01..f16ffe6e86c 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -63,7 +63,7 @@ SUBSYSTEM_DEF(research) /obj/item/assembly/signaler/anomaly/vortex = MAX_CORES_VORTEX, /obj/item/assembly/signaler/anomaly/flux = MAX_CORES_FLUX, /obj/item/assembly/signaler/anomaly/hallucination = MAX_CORES_HALLUCINATION, - /obj/item/assembly/signaler/anomaly/delimber = MAX_CORES_DELIMBER, + /obj/item/assembly/signaler/anomaly/bioscrambler = MAX_CORES_BIOSCRAMBLER, ) /// Lookup list for ordnance briefers. diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 5e09c227e65..d856dd4fd16 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -428,10 +428,10 @@ if(EXPLODE_LIGHT) SSexplosions.lowturf += T -/obj/effect/anomaly/delimber - name = "delimber anomaly" - icon_state = "delimber_anomaly" - aSignal = /obj/item/assembly/signaler/anomaly/delimber +/obj/effect/anomaly/bioscrambler + name = "bioscrambler anomaly" + icon_state = "bioscrambler_anomaly" + aSignal = /obj/item/assembly/signaler/anomaly/bioscrambler immortal = TRUE /// Cooldown for every anomaly pulse COOLDOWN_DECLARE(pulse_cooldown) @@ -448,7 +448,7 @@ var/static/list/l_legs var/static/list/r_legs -/obj/effect/anomaly/delimber/Initialize(mapload, new_lifespan, drops_core) +/obj/effect/anomaly/bioscrambler/Initialize(mapload, new_lifespan, drops_core) . = ..() if(!chests) chests = typesof(/obj/item/bodypart/chest) @@ -463,7 +463,7 @@ if(!r_legs) r_legs = typesof(/obj/item/bodypart/r_leg) -/obj/effect/anomaly/delimber/anomalyEffect(delta_time) +/obj/effect/anomaly/bioscrambler/anomalyEffect(delta_time) . = ..() if(!COOLDOWN_FINISHED(src, pulse_cooldown)) @@ -473,7 +473,7 @@ swap_parts(range) -/obj/effect/anomaly/delimber/proc/swap_parts(swap_range) +/obj/effect/anomaly/bioscrambler/proc/swap_parts(swap_range) for(var/mob/living/carbon/nearby in range(swap_range, src)) if(nearby.run_armor_check(attack_flag = BIO, absorb_text = "Your armor protects you from [src]!") >= 100) continue //We are protected diff --git a/code/modules/cargo/bounties/science.dm b/code/modules/cargo/bounties/science.dm index f930ba7d059..e21604d579c 100644 --- a/code/modules/cargo/bounties/science.dm +++ b/code/modules/cargo/bounties/science.dm @@ -132,7 +132,7 @@ description = "We're making a better version of space drugs, send us a core to help us replicate its effects." wanted_types = list(/obj/item/assembly/signaler/anomaly/hallucination = TRUE) -/datum/bounty/item/science/ref_anomaly/delimber - name = "Refined Delimber Core" - description = "Our janitor lizard lost all their limbs, send us a delimber core to replace them." - wanted_types = list(/obj/item/assembly/signaler/anomaly/delimber = TRUE) +/datum/bounty/item/science/ref_anomaly/bioscrambler + name = "Refined Bioscrambler Core" + description = "Our janitor lizard lost all their limbs, send us a bioscrambler core to replace them." + wanted_types = list(/obj/item/assembly/signaler/anomaly/bioscrambler = TRUE) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index dd9ecbd2281..756fa529cd5 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1408,14 +1408,14 @@ crate_name = "raw pyro anomaly" crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_delimber_anomaly - name = "Raw Delimber Anomaly" - desc = "The raw core of a delimber anomaly, ready to be implosion-compressed into a powerful artifact." +/datum/supply_pack/science/raw_bioscrambler_anomaly + name = "Raw Bioscrambler Anomaly" + desc = "The raw core of a bioscrambler anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 access = ACCESS_ORDNANCE access_view = ACCESS_ORDNANCE - contains = list(/obj/item/raw_anomaly_core/delimber) - crate_name = "raw delimber anomaly" + contains = list(/obj/item/raw_anomaly_core/bioscrambler) + crate_name = "raw bioscrambler anomaly" crate_type = /obj/structure/closet/crate/secure/science diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index 72df456cdd7..96fc2484699 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -11,7 +11,7 @@ /obj/effect/anomaly/grav = /obj/item/clothing/suit/armor/reactive/repulse, /obj/effect/anomaly/flux = /obj/item/clothing/suit/armor/reactive/tesla, /obj/effect/anomaly/bluespace = /obj/item/clothing/suit/armor/reactive/teleport, - /obj/effect/anomaly/delimber = /obj/item/clothing/suit/armor/reactive/delimbering, + /obj/effect/anomaly/bioscrambler = /obj/item/clothing/suit/armor/reactive/bioscrambling, /obj/effect/anomaly/hallucination = /obj/item/clothing/suit/armor/reactive/hallucinating, ) @@ -375,10 +375,10 @@ near.hallucination += 25 * dist near.hallucination = clamp(near.hallucination, 0, 150) -//Delimbering +//Bioscrambling -/obj/item/clothing/suit/armor/reactive/delimbering - name = "reactive delimbering armor" +/obj/item/clothing/suit/armor/reactive/bioscrambling + name = "reactive bioscrambling armor" desc = "An experimental suit of armor with sensitive detectors hooked up to a biohazard release valve. It scrambles the bodies of those around." cooldown_message = span_danger("The connection is currently out of sync... Recalibrating.") emp_message = span_warning("You feel the armor squirm.") @@ -393,7 +393,7 @@ var/static/list/l_legs var/static/list/r_legs -/obj/item/clothing/suit/armor/reactive/delimbering/Initialize(mapload) +/obj/item/clothing/suit/armor/reactive/bioscrambling/Initialize(mapload) . = ..() if(!chests) chests = typesof(/obj/item/bodypart/chest) @@ -408,23 +408,23 @@ if(!r_legs) r_legs = typesof(/obj/item/bodypart/r_leg) -/obj/item/clothing/suit/armor/reactive/delimbering/cooldown_activation(mob/living/carbon/human/owner) +/obj/item/clothing/suit/armor/reactive/bioscrambling/cooldown_activation(mob/living/carbon/human/owner) var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread sparks.set_up(1, 1, src) sparks.start() ..() -/obj/item/clothing/suit/armor/reactive/delimbering/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) +/obj/item/clothing/suit/armor/reactive/bioscrambling/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) owner.visible_message(span_danger("[src] blocks [attack_text], biohazard body scramble released!")) - delimber_pulse(owner, FALSE) + bioscrambler_pulse(owner, FALSE) return TRUE -/obj/item/clothing/suit/armor/reactive/delimbering/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) +/obj/item/clothing/suit/armor/reactive/bioscrambling/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) owner.visible_message(span_danger("[src] blocks [attack_text], but pulls a massive charge of biohazard material into [owner] from the surrounding environment!")) - delimber_pulse(owner, TRUE) + bioscrambler_pulse(owner, TRUE) return TRUE -/obj/item/clothing/suit/armor/reactive/delimbering/proc/delimber_pulse(mob/living/carbon/human/owner, can_hit_owner = FALSE) +/obj/item/clothing/suit/armor/reactive/bioscrambling/proc/bioscrambler_pulse(mob/living/carbon/human/owner, can_hit_owner = FALSE) for(var/mob/living/carbon/nearby in range(range, get_turf(src))) if(!can_hit_owner && nearby == owner) continue diff --git a/code/modules/events/anomaly_bioscrambler.dm b/code/modules/events/anomaly_bioscrambler.dm new file mode 100644 index 00000000000..7975b31c48a --- /dev/null +++ b/code/modules/events/anomaly_bioscrambler.dm @@ -0,0 +1,15 @@ +/datum/round_event_control/anomaly/anomaly_bioscrambler + name = "Anomaly: Bioscrambler" + typepath = /datum/round_event/anomaly/anomaly_bioscrambler + + min_players = 10 + max_occurrences = 5 + weight = 20 + +/datum/round_event/anomaly/anomaly_bioscrambler + startWhen = 10 + announceWhen = 3 + anomaly_path = /obj/effect/anomaly/bioscrambler + +/datum/round_event/anomaly/anomaly_bioscrambler/announce(fake) + priority_announce("Localized limb swapping agent. Expected location: [impact_area.name]. Wear biosuits to counter the effects. Calculated half-life of %9£$T$%F3 years", "Anomaly Alert") diff --git a/code/modules/events/anomaly_delimber.dm b/code/modules/events/anomaly_delimber.dm deleted file mode 100644 index 6d286dbb325..00000000000 --- a/code/modules/events/anomaly_delimber.dm +++ /dev/null @@ -1,15 +0,0 @@ -/datum/round_event_control/anomaly/anomaly_delimber - name = "Anomaly: Delimber" - typepath = /datum/round_event/anomaly/anomaly_delimber - - min_players = 10 - max_occurrences = 5 - weight = 20 - -/datum/round_event/anomaly/anomaly_delimber - startWhen = 10 - announceWhen = 3 - anomaly_path = /obj/effect/anomaly/delimber - -/datum/round_event/anomaly/anomaly_delimber/announce(fake) - priority_announce("Localized limb swapping agent. Expected location: [impact_area.name]. Wear biosuits to counter the effects. Calculated half-life of %9£$T$%F3 years", "Anomaly Alert") diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 18605d0e533..2f3623d7f3e 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -555,8 +555,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) new /obj/effect/anomaly/hallucination(local_turf, has_changed_lifespan ? rand(150, 250) : null, FALSE) if(VORTEX_ANOMALY) new /obj/effect/anomaly/bhole(local_turf, 20, FALSE) - if(DELIMBER_ANOMALY) - new /obj/effect/anomaly/delimber(local_turf, null, FALSE) + if(BIOSCRAMBLER_ANOMALY) + new /obj/effect/anomaly/bioscrambler(local_turf, null, FALSE) /obj/machinery/proc/supermatter_zap(atom/zapstart = src, range = 5, zap_str = 4000, zap_flags = ZAP_SUPERMATTER_FLAGS, list/targets_hit = list(), zap_cutoff = 1500, power_level = 0, zap_icon = DEFAULT_ZAP_ICON_STATE, color = null) if(QDELETED(zapstart)) diff --git a/code/modules/research/anomaly/anomaly_core.dm b/code/modules/research/anomaly/anomaly_core.dm index a32ad34a14c..f171c996575 100644 --- a/code/modules/research/anomaly/anomaly_core.dm +++ b/code/modules/research/anomaly/anomaly_core.dm @@ -62,11 +62,11 @@ icon_state = "vortex_core" anomaly_type = /obj/effect/anomaly/bhole -/obj/item/assembly/signaler/anomaly/delimber - name = "\improper delimber anomaly core" - desc = "The neutralized core of a delimber anomaly. It's squirming, as if moving. It'd probably be valuable for research." - icon_state = "delimber_core" - anomaly_type = /obj/effect/anomaly/delimber +/obj/item/assembly/signaler/anomaly/bioscrambler + name = "\improper bioscrambler anomaly core" + desc = "The neutralized core of a bioscrambler anomaly. It's squirming, as if moving. It'd probably be valuable for research." + icon_state = "bioscrambler_core" + anomaly_type = /obj/effect/anomaly/bioscrambler /obj/item/assembly/signaler/anomaly/hallucination name = "\improper hallucination anomaly core" diff --git a/code/modules/research/anomaly/raw_anomaly.dm b/code/modules/research/anomaly/raw_anomaly.dm index 4bb750b8623..66d0085b9fe 100644 --- a/code/modules/research/anomaly/raw_anomaly.dm +++ b/code/modules/research/anomaly/raw_anomaly.dm @@ -56,11 +56,11 @@ desc = "You should not see this!" icon_state = "rawcore_bluespace" -/obj/item/raw_anomaly_core/delimber - name = "raw delimber core" - desc = "The raw core of a delimber anomaly, it squirms." - anomaly_type = /obj/item/assembly/signaler/anomaly/delimber - icon_state = "rawcore_delimber" +/obj/item/raw_anomaly_core/bioscrambler + name = "raw bioscrambler core" + desc = "The raw core of a bioscrambler anomaly, it squirms." + anomaly_type = /obj/item/assembly/signaler/anomaly/bioscrambler + icon_state = "rawcore_bioscrambler" /obj/item/raw_anomaly_core/random/Initialize(mapload) . = ..() diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 8513e3672ac..f8e1c9f6929 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi index fc4ff9813dd..de031383c75 100644 Binary files a/icons/obj/assemblies/new_assemblies.dmi and b/icons/obj/assemblies/new_assemblies.dmi differ diff --git a/tgstation.dme b/tgstation.dme index ef38d06416f..5baa62cd39c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2769,8 +2769,8 @@ #include "code\modules\events\abductor.dm" #include "code\modules\events\alien_infestation.dm" #include "code\modules\events\anomaly.dm" +#include "code\modules\events\anomaly_bioscrambler.dm" #include "code\modules\events\anomaly_bluespace.dm" -#include "code\modules\events\anomaly_delimber.dm" #include "code\modules\events\anomaly_flux.dm" #include "code\modules\events\anomaly_grav.dm" #include "code\modules\events\anomaly_hallucination.dm"