diff --git a/code/game/turfs/open/floor/iron_floor.dm b/code/game/turfs/open/floor/iron_floor.dm
index 48a346c8cebf..1c240ca8d3f9 100644
--- a/code/game/turfs/open/floor/iron_floor.dm
+++ b/code/game/turfs/open/floor/iron_floor.dm
@@ -480,3 +480,19 @@
base_icon_state = "sepia"
desc = "Well, the flow of time is normal on these tiles, weird."
floor_tile = /obj/item/stack/tile/iron/sepia
+
+/turf/open/floor/iron/snowed
+ icon_state = "snow"
+ base_icon_state = "snow"
+ icon = 'icons/turf/snow.dmi'
+ desc = "The stations floor tiles are covered in heaping of snow."
+ slowdown = 2
+ bullet_sizzle = TRUE
+ footstep = FOOTSTEP_SAND
+ barefootstep = FOOTSTEP_SAND
+ clawfootstep = FOOTSTEP_SAND
+ heavyfootstep = FOOTSTEP_GENERIC_HEAVY
+
+/turf/open/floor/iron/snowed/Initialize(mapload)
+ . = ..()
+ AddElement(/datum/element/diggable, /obj/item/stack/sheet/mineral/snow, 2)
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 6b51db93bdf6..d3b2bb374ff6 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -106,9 +106,9 @@
bot_mode_flags = BOT_MODE_ON | BOT_MODE_AUTOPATROL | BOT_MODE_REMOTE_ENABLED
commissioned = FALSE
-/mob/living/simple_animal/bot/secbot/beepsky/jr/Initialize(mapload)
+/mob/living/simple_animal/bot/secbot/beepsky/big/Initialize(mapload)
. = ..()
- update_transform(1.2)
+ update_transform(1.3)
//monkestation edit end
/mob/living/simple_animal/bot/secbot/beepsky/explode()
diff --git a/icons/effects/anomalies.dmi b/icons/effects/anomalies.dmi
index d3d0233f28bf..a7f5fc1f08a3 100644
Binary files a/icons/effects/anomalies.dmi and b/icons/effects/anomalies.dmi differ
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_clown.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_clown.dm
new file mode 100644
index 000000000000..bbac912ad928
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_clown.dm
@@ -0,0 +1,66 @@
+#define HONK_RANGE 3
+//clwun nomaly honk
+/obj/effect/anomaly/clown
+ name = "Honking Anomaly"
+ icon_state = "static"
+ desc = "An anomaly that smells faintly of bananas and lubricant."
+ color = "#86c4dd"
+ lifespan = 40 SECONDS //fast and slippery
+ var/active = TRUE
+ var/list/comedysounds = list('sound/items/SitcomLaugh1.ogg', 'sound/items/SitcomLaugh2.ogg', 'sound/items/SitcomLaugh3.ogg')
+ var/static/list/clown_spawns = list(
+ /mob/living/basic/clown/clownhulk/chlown = 6,
+ /mob/living/basic/clown = 66,
+ /obj/item/grown/bananapeel = 33,
+ /obj/item/stack/ore/bananium = 12,
+ /obj/item/bikehorn = 15)
+
+/obj/effect/anomaly/clown/Initialize(mapload, new_lifespan)
+ . = ..()
+ var/static/list/loc_connections = list(
+ COMSIG_ATOM_ENTERED = .proc/on_entered,
+ )
+ AddElement(/datum/element/connect_loc, loc_connections)
+
+/obj/effect/anomaly/clown/Destroy()
+ . = ..()
+ RemoveElement(/datum/element/connect_loc)
+
+/obj/effect/anomaly/clown/proc/on_entered(datum/source, atom/movable/atom_movable)
+ SIGNAL_HANDLER
+
+ if(active && iscarbon(atom_movable))
+ var/mob/living/carbon/target = atom_movable
+ active = FALSE
+ target.slip(4 SECONDS, src)
+ playsound(src, pick(comedysounds), vol = 50, vary = 1)
+
+/obj/effect/anomaly/clown/anomalyEffect(seconds_per_tick)
+ ..()
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+
+ var/turf/open/current_location = get_turf(src)
+ current_location.MakeSlippery(TURF_WET_LUBE, min_wet_time = 20 SECONDS, wet_time_to_add = 5 SECONDS)
+ if(active)
+ active = FALSE
+ playsound(src, 'sound/items/bikehorn.ogg', vol = 50)
+ var/selected_spawn = pick_weight(clown_spawns)
+ new selected_spawn(src.loc)
+ return
+ active = TRUE
+
+/obj/effect/anomaly/clown/detonate()
+ playsound(src, 'sound/items/airhorn.ogg', vol = 100, vary = 1)
+
+ for(var/mob/living/carbon/target in (hearers(HONK_RANGE, src)))
+ to_chat(target, "HONK")
+ target.SetSleeping(0)
+ target.adjust_stutter(10 SECONDS)
+ var/obj/item/organ/internal/ears/ears = target.get_organ_slot(ORGAN_SLOT_EARS)
+ ears?.adjustEarDamage(0, 2 SECONDS)
+ target.Knockdown(2 SECONDS)
+ target.set_jitter_if_lower(50 SECONDS)
+
+#undef HONK_RANGE
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_fluid.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_fluid.dm
new file mode 100644
index 000000000000..10926ad8a5a7
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_fluid.dm
@@ -0,0 +1,36 @@
+#define NORMAL_FLUID_AMOUNT 25
+#define DANGEROUS_FLUID_AMOUNT 100
+
+//fully automated piss floods
+/obj/effect/anomaly/fluid
+ name = "Fluidic Anomaly"
+ desc = "An anomaly pulling in liquids from places unknown. Better get the mop."
+ icon_state = "bluestream_fade"
+ var/dangerous = FALSE
+ var/list/fluid_choices = list()
+
+/obj/effect/anomaly/fluid/Initialize(mapload, new_lifespan)
+ . = ..()
+ if(prob(10))
+ dangerous = TRUE //Unrestricts the reagent choice and increases fluid amounts
+
+ for(var/i = 1, i <= rand(1,5), i++) //Between 1 and 5 random chemicals
+ fluid_choices += dangerous ? get_random_reagent_id_unrestricted() : get_random_reagent_id()
+
+/obj/effect/anomaly/fluid/anomalyEffect(seconds_per_tick)
+ ..()
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+
+ var/turf/spawn_point = get_turf(src)
+ spawn_point.add_liquid(pick(fluid_choices), dangerous ? DANGEROUS_FLUID_AMOUNT : NORMAL_FLUID_AMOUNT, chem_temp = rand(BODYTEMP_COLD_DAMAGE_LIMIT, BODYTEMP_HEAT_DAMAGE_LIMIT))
+
+/obj/effect/anomaly/fluid/detonate()
+ if(isinspace(src) || !isopenturf(get_turf(src)))
+ return
+ var/turf/spawn_point = get_turf(src)
+ spawn_point.add_liquid(pick(fluid_choices), (dangerous ? DANGEROUS_FLUID_AMOUNT : NORMAL_FLUID_AMOUNT) * 5, chem_temp = rand(BODYTEMP_COLD_DAMAGE_LIMIT, BODYTEMP_HEAT_DAMAGE_LIMIT))
+
+#undef NORMAL_FLUID_AMOUNT
+#undef DANGEROUS_FLUID_AMOUNT
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_frost.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_frost.dm
new file mode 100644
index 000000000000..fe9b0cc207cf
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_frost.dm
@@ -0,0 +1,51 @@
+#define MIN_REPLACEMENT 2
+#define MAX_REPLACEMENT 7
+#define MAX_RANGE 7
+
+//THE STATION MUST SURVIVE
+/obj/effect/anomaly/frost
+ name = "glacial anomaly"
+ icon_state = "impact_laser_blue"
+ /// How many seconds between each gas release
+ var/releasedelay = 10
+
+/obj/effect/anomaly/frost/anomalyEffect(seconds_per_tick)
+ ..()
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+
+ var/turf/current_location = get_turf(src)
+ var/list/valid_turfs = list()
+ var/static/list/blacklisted_turfs = typecacheof(list(
+ /turf/closed,
+ /turf/open/space,
+ /turf/open/lava,
+ /turf/open/chasm,
+ /turf/open/floor/iron/snowed))
+
+ current_location.atmos_spawn_air ("o2=2;freon=1;water_vapor=8;TEMP=180")
+
+ for(var/searched_turfs in circle_view_turfs(src, MAX_RANGE))
+ if(is_type_in_typecache(searched_turfs, blacklisted_turfs))
+ continue
+ else
+ valid_turfs |= searched_turfs
+ for(var/i = 1 to min(rand(MIN_REPLACEMENT, MAX_REPLACEMENT), length(valid_turfs)))//Replace 2-7 tiles with snow
+ var/turf/searched_turfs = pick(valid_turfs)
+ if(searched_turfs)
+ if(istype(searched_turfs, /turf/open/floor/plating))
+ searched_turfs.PlaceOnTop(/turf/open/floor/iron/snowed)
+ else
+ searched_turfs.ChangeTurf(/turf/open/floor/iron/snowed)
+
+/obj/effect/anomaly/frost/detonate()
+ //The station holds its breath, waiting for whatever the end will bring.
+ if(isinspace(src) || !isopenturf(get_turf(src)))
+ return
+ var/turf/current_location = get_turf(src)
+ current_location.atmos_spawn_air("water_vapor=200;freon=100;o2=100;TEMP=140") //The cold will be brutal. The water in hydroponics will freeze. We'll have to make do with the food we've stockpiled.
+
+#undef MIN_REPLACEMENT
+#undef MAX_REPLACEMENT
+#undef MAX_RANGE
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_lifebringer.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_lifebringer.dm
new file mode 100644
index 000000000000..35582d25aa6e
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_lifebringer.dm
@@ -0,0 +1,54 @@
+/obj/effect/anomaly/lifebringer //2catz lmao (also see thermonuclear catsplosion)
+ name = "Lifebringer Anomaly"
+ desc = "An anomalous gateway that seemingly creates new life out of nowhere. Known by Lavaland Dwarves as the \"Petsplosion\"."
+ icon_state = "bluestream_fade"
+ lifespan = 30 SECONDS
+ var/active = TRUE
+ var/list/pet_type_cache
+ var/catsplosion = FALSE
+
+/obj/effect/anomaly/lifebringer/Initialize(mapload, new_lifespan)
+ . = ..()
+ if(prob(1))
+ catsplosion = TRUE
+
+ pet_type_cache = subtypesof(/mob/living/basic/pet)
+ pet_type_cache += list(
+ /mob/living/basic/axolotl,
+ /mob/living/basic/butterfly,
+ /mob/living/basic/cockroach,
+ /mob/living/basic/crab,
+ /mob/living/basic/frog,
+ /mob/living/basic/lizard,
+ /mob/living/basic/mothroach,
+ /mob/living/basic/bat,
+ /mob/living/basic/parrot,
+ /mob/living/basic/chicken,
+ /mob/living/basic/sloth)
+ pet_type_cache -= list(/mob/living/basic/pet/penguin, //Removing the risky and broken ones.
+ /mob/living/basic/pet/dog/corgi/narsie,
+ /mob/living/basic/pet/dog,
+ /mob/living/basic/pet/fox
+ )
+
+/obj/effect/anomaly/lifebringer/anomalyEffect(seconds_per_tick)
+ ..()
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+ if(active)
+
+ if(catsplosion)
+ new /mob/living/simple_animal/pet/cat(src.loc)
+ active = FALSE
+ var/turf/open/tile = get_turf(src)
+ if(istype(tile))
+ tile.atmos_spawn_air("o2=10;plasma=1;TEMP=3000")
+ return
+
+ var/mob/living/basic/pet/chosen_pet = pick(pet_type_cache)
+ new chosen_pet(src.loc)
+ active = FALSE
+ return
+
+ active = TRUE
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_monkey.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_monkey.dm
new file mode 100644
index 000000000000..06d21de83adf
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_monkey.dm
@@ -0,0 +1,33 @@
+#define MONKEY_SOUNDS list('sound/creatures/monkey/monkey_screech_1.ogg', 'sound/creatures/monkey/monkey_screech_2.ogg', 'sound/creatures/monkey/monkey_screech_3.ogg','sound/creatures/monkey/monkey_screech_4.ogg','sound/creatures/monkey/monkey_screech_5.ogg','sound/creatures/monkey/monkey_screech_6.ogg','sound/creatures/monkey/monkey_screech_7.ogg')
+
+/obj/effect/anomaly/monkey //Monkey Anomaly (Random Chimp Event)
+ name = "Screeching Anomaly"
+ desc = "An anomalous one-way gateway that leads straight to some sort of a ape dimension."
+ icon_state = "dimensional_overlay"
+ color = "#a76d17"
+ lifespan = 35 SECONDS
+ var/active = TRUE
+
+/obj/effect/anomaly/monkey/anomalyEffect(seconds_per_tick)
+ ..()
+
+ playsound(src, pick(MONKEY_SOUNDS), vol = 33, vary = 1, mixer_channel = CHANNEL_MOB_SOUNDS)
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+
+ if(!active)
+ active = TRUE
+ return
+
+ if(prob(15))
+ new /mob/living/carbon/human/species/monkey/angry(src.loc)
+ else
+ new /mob/living/carbon/human/species/monkey(src.loc)
+ active = FALSE
+
+/obj/effect/anomaly/monkey/detonate()
+ if(prob(25))
+ new /mob/living/basic/gorilla(src.loc)
+
+#undef MONKEY_SOUNDS
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_radiation.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_radiation.dm
new file mode 100644
index 000000000000..8329d5b44fdb
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_radiation.dm
@@ -0,0 +1,47 @@
+//radioactive anomaly, creates radioactive goo
+/obj/effect/anomaly/radioactive
+ name = "Radioactive Anomaly"
+ icon_state = "shield-grey"
+ desc = "A highly unstable mass of charged particles leaving waste material in it's wake."
+ color = "#86c4dd"
+ var/active = TRUE
+
+/obj/effect/anomaly/radioactive/Initialize(mapload, new_lifespan)
+ . = ..()
+ var/static/list/loc_connections = list(
+ COMSIG_ATOM_ENTERED = .proc/on_entered,
+ )
+ AddElement(/datum/element/connect_loc, loc_connections)
+
+/obj/effect/anomaly/radioactive/Destroy()
+ . = ..()
+ RemoveElement(/datum/element/connect_loc)
+
+/obj/effect/anomaly/radioactive/proc/on_entered(datum/source, atom/movable/atom_movable)
+ SIGNAL_HANDLER
+ if(active && isliving(atom_movable))
+ var/mob/living/victim = atom_movable
+ active = FALSE
+ victim.Paralyze(1 SECONDS)
+ var/atom/target = get_edge_target_turf(victim, get_dir(src, get_step_away(victim, src)))
+ victim.throw_at(target, 3, 1)
+ radiation_pulse(victim, 100)
+ to_chat(victim, "You feel a disgusting wave of heat wash over you!!!")
+
+/obj/effect/anomaly/radioactive/anomalyEffect(seconds_per_tick)
+ ..()
+ active = TRUE
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+
+ radiation_pulse(src, 50)
+ if(!locate(/obj/effect/decal/nuclear_waste) in src.loc)
+ playsound(src, pick('sound/misc/desecration-01.ogg','sound/misc/desecration-02.ogg', 'sound/misc/desecration-03.ogg'), vol = 50, vary = 1)
+ new /obj/effect/decal/nuclear_waste(src.loc)
+ if(prob(15))
+ new /obj/effect/decal/nuclear_waste/epicenter(src.loc)
+
+/obj/effect/anomaly/radioactive/detonate()
+ playsound(src, 'sound/effects/empulse.ogg', vol = 100, vary = 1)
+ radiation_pulse(src, 1000)
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_storm.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_storm.dm
new file mode 100644
index 000000000000..3834d34d4149
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_storm.dm
@@ -0,0 +1,59 @@
+//Storm Anomaly (Lightning)
+//LORD OF LIGHTNING SHIFTS HIS GAZE
+#define STORM_MIN_RANGE 2
+#define STORM_MAX_RANGE 5
+#define STORM_POWER_LEVEL 1500
+
+/obj/effect/anomaly/storm
+ name = "Storm Anomaly"
+ desc = "The lord of lightning peeks through the veil."
+ icon_state = "flux"
+ color = "#fbff00"
+ lifespan = 30 SECONDS //Way too strong to give a full 99 seconds.
+ var/active = TRUE
+
+//POINTS HIS STRUM FINGER OUR WAY
+/obj/effect/anomaly/storm/Initialize(mapload, new_lifespan)
+ . = ..()
+ var/static/list/loc_connections = list(
+ COMSIG_ATOM_ENTERED = .proc/on_entered,
+ )
+ AddElement(/datum/element/connect_loc, loc_connections)
+
+/obj/effect/anomaly/storm/Destroy()
+ . = ..()
+ RemoveElement(/datum/element/connect_loc)
+
+//ELECTRICITY ESCAPES
+/obj/effect/anomaly/storm/proc/on_entered(datum/source, atom/movable/atom_movable)
+ SIGNAL_HANDLER
+
+ if(active && iscarbon(atom_movable))
+ var/mob/living/carbon/target = atom_movable
+ active = FALSE
+ target.electrocute_act(23, "[name]", flags = SHOCK_NOGLOVES)
+ target.adjustFireLoss(10)
+
+//LEAVES DESTRUCTION IN HIS WAKE
+/obj/effect/anomaly/storm/anomalyEffect(seconds_per_tick)
+ ..()
+ if(!active) //Only works every other tick
+ active = TRUE
+ return
+ active = FALSE
+
+ tesla_zap(src, rand(STORM_MIN_RANGE, STORM_MAX_RANGE), STORM_POWER_LEVEL)
+ playsound(src, 'sound/magic/lightningshock.ogg', 100, TRUE)
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+
+ var/turf/location = get_turf(src)
+ location.atmos_spawn_air("water_vapor=10;TEMP=350")
+
+//No detonation because it's strong enough as it is
+
+
+#undef STORM_MIN_RANGE
+#undef STORM_MAX_RANGE
+#undef STORM_POWER_LEVEL
diff --git a/monkestation/code/game/objects/effects/anomalies/anomalies_walteverse.dm b/monkestation/code/game/objects/effects/anomalies/anomalies_walteverse.dm
new file mode 100644
index 000000000000..70fa8c474a0f
--- /dev/null
+++ b/monkestation/code/game/objects/effects/anomalies/anomalies_walteverse.dm
@@ -0,0 +1,35 @@
+/obj/effect/anomaly/walterverse//Monkey Anomaly (Random Chimp Event)
+ name = "Walter Anomaly"
+ desc = "An anomaly that summons Walters from all throughout the walterverse"
+ icon_state = "dimensional_overlay"
+ lifespan = 20 SECONDS
+ var/active = TRUE
+ var/list/walter_spawns = list(
+ /mob/living/basic/pet/dog/bullterrier/walter/saulter = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/negative = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/syndicate = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/doom = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/space = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/clown = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/french = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/british = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/wizard = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/smallter = 5,
+ /mob/living/basic/pet/dog/bullterrier/walter/sus = 1)
+
+/obj/effect/anomaly/walterverse/anomalyEffect(seconds_per_tick)
+ ..()
+
+ if(isspaceturf(src) || !isopenturf(get_turf(src)))
+ return
+
+ if(active)
+ active = FALSE
+ var/selected_spawn = pick_weight(walter_spawns)
+ new selected_spawn(src.loc)
+ return
+ active = TRUE
+
+/obj/effect/anomaly/walterverse/detonate()
+ if(prob(10))
+ new /mob/living/basic/pet/dog/bullterrier/walter(src.loc)
diff --git a/monkestation/code/game/objects/effects/decal/nuclear_waste.dm b/monkestation/code/game/objects/effects/decal/nuclear_waste.dm
new file mode 100644
index 000000000000..cb5041411c0e
--- /dev/null
+++ b/monkestation/code/game/objects/effects/decal/nuclear_waste.dm
@@ -0,0 +1,132 @@
+/obj/effect/decal/nuclear_waste
+ name = "Plutonium sludge"
+ desc = "A writhing pool of heavily irradiated, spent reactor fuel. A shovel should clear it up! Just sprinkle a little graphite on it, it will be fine. though you probably shouldn't step through this..."
+ icon = 'monkestation/icons/obj/machines/reactor_parts.dmi'
+ icon_state = "waste1"
+ alpha = 150
+ light_color = LIGHT_COLOR_CYAN
+ color = "#ff9eff"
+ var/random_icon_states = list("waste1", "waste2")
+
+/obj/effect/decal/nuclear_waste/Initialize(mapload)
+ . = ..()
+ if(random_icon_states && (icon_state == initial(icon_state)) && length(random_icon_states) > 0)
+ icon_state = pick(random_icon_states)
+ set_light(3)
+ AddComponent(/datum/component/radioactive_emitter, 60 SECONDS, 3, RAD_LIGHT_INSULATION)
+
+/// The one that actually does the irradiating. This is to avoid every bit of sludge PROCESSING
+/obj/effect/decal/nuclear_waste/epicenter
+ name = "Dense nuclear sludge"
+
+/// Clean way of spawning nuclear gunk after a reactor wastecore meltdown.
+/obj/effect/landmark/nuclear_waste_spawner
+ name = "Nuclear Waste Spawner"
+ var/range = 3
+
+/obj/effect/landmark/nuclear_waste_spawner/strong
+ name = "Nuclear Waste Spawner Strong"
+ range = 8
+
+/** for rbmk
+//Spawns nuclear_waste_spawners on map
+/obj/machinery/atmospherics/components/trinary/nuclear_reactor/proc/sludge_spawner_preload()
+ /// Smaller scale spawn for spawning range to power output
+ var/short_range = CLAMP01(power/10, 5, 25)
+ for(var/turf/open/floor in orange(short_range, get_turf(src)))
+ if(prob(1)) //Prob of Spawn for sludge spawner
+ new /obj/effect/landmark/nuclear_waste_spawner(floor)
+ continue
+
+ /// Larger scale spawn for spawning range to power output
+ var/longe_range = CLAMP01(power, 5, 200)
+ for(var/turf/open/floor in orange(longe_range, get_turf(src)))
+ if(prob(5)) //Prob of Spawn for sludge spawner
+ new /obj/effect/landmark/nuclear_waste_spawner(floor)
+ continue
+*/
+/obj/effect/landmark/nuclear_waste_spawner/proc/fire()
+ playsound(loc, 'sound/effects/footstep/gib_step.ogg', 100)
+ new /obj/effect/decal/nuclear_waste/epicenter(get_turf(src))
+ for(var/turf/open/floor in orange(range, get_turf(src)))
+ if(prob(20)) //Scatter the sludge, don't smear it everywhere
+ new /obj/effect/decal/nuclear_waste(floor)
+ continue
+ qdel(src)
+
+/obj/effect/decal/nuclear_waste/epicenter/Initialize(mapload)
+ . = ..()
+ var/static/list/loc_connections = list(
+ COMSIG_ATOM_ENTERED = .proc/on_entered,
+ )
+ AddElement(/datum/element/connect_loc, loc_connections)
+
+/obj/effect/decal/nuclear_waste/proc/on_entered(datum/source, atom/movable/AM)
+ SIGNAL_HANDLER
+
+ if(isliving(AM))
+ var/mob/living/L = AM
+ playsound(loc, 'sound/effects/footstep/gib_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 20 : 50, 1)
+ radiation_pulse(src, 500, 5) //MORE RADS
+
+/obj/effect/decal/nuclear_waste/attackby(obj/item/tool, mob/user)
+ if(tool.tool_behaviour == TOOL_SHOVEL)
+ radiation_pulse(src, 400, 5) //MORE RADS
+ to_chat(user, "You start to clear [src]...")
+ if(tool.use_tool(src, user, 50, volume=100))
+ to_chat(user, "You clear [src].")
+ qdel(src)
+ return
+ . = ..()
+
+
+/**
+/datum/weather/nuclear_fallout
+ name = "nuclear fallout"
+ desc = "Irradiated dust falls down everywhere."
+ telegraph_duration = 50
+ telegraph_message = "The air suddenly becomes dusty.."
+ weather_message = "You feel a wave of hot ash fall down on you."
+ weather_overlay = "light_ash"
+ telegraph_overlay = "light_snow"
+ weather_duration_lower = 600
+ weather_duration_upper = 1500
+ weather_color = "green"
+ telegraph_sound = null
+ weather_sound = 'monkestation/sound/effects/rbmk/falloutwind.ogg'
+ end_duration = 100
+ area_type = /area
+ protected_areas = list(/area/maintenance, /area/ai_monitored/turret_protected/ai_upload, /area/ai_monitored/turret_protected/ai_upload_foyer,
+ /area/ai_monitored/turret_protected/ai, /area/storage/emergency/starboard, /area/storage/emergency/port, /area/shuttle)
+ target_trait = ZTRAIT_STATION
+ end_message = "The ash stops falling."
+ immunity_type = "rad"
+
+/datum/weather/nuclear_fallout/weather_act(mob/living/L)
+ L.rad_act(100)
+
+/datum/weather/nuclear_fallout/telegraph()
+ ..()
+ status_alarm(TRUE)
+
+/datum/weather/nuclear_fallout/proc/status_alarm(active) //Makes the status displays show the radiation warning for those who missed the announcement.
+ var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS)
+ if(!frequency)
+ return
+
+ var/datum/signal/signal = new
+ if (active)
+ signal.data["command"] = "alert"
+ signal.data["picture_state"] = "radiation"
+ else
+ signal.data["command"] = "shuttle"
+
+ var/atom/movable/virtualspeaker/virt = new(null)
+ frequency.post_signal(virt, signal)
+
+/datum/weather/nuclear_fallout/end()
+ if(..())
+ return
+ status_alarm(FALSE)
++
+*/
diff --git a/monkestation/code/modules/events/anomaly/anomaly_clown.dm b/monkestation/code/modules/events/anomaly/anomaly_clown.dm
new file mode 100644
index 000000000000..5174e1a40230
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_clown.dm
@@ -0,0 +1,20 @@
+/datum/round_event_control/anomaly/anomaly_clown
+ name = "Anomaly: Clowns"
+ description = "A distant Honking."
+ typepath = /datum/round_event/anomaly/anomaly_clown
+
+ max_occurrences = 5
+ weight = 9
+ min_players = 20
+ min_wizard_trigger_potency = 1
+ max_wizard_trigger_potency = 4
+ track = EVENT_TRACK_MAJOR
+ tags = list(TAG_SPOOKY, TAG_MAGICAL)
+
+/datum/round_event/anomaly/anomaly_clown
+ start_when = ANOMALY_START_HARMFUL_TIME
+ announce_when = ANOMALY_ANNOUNCE_HARMFUL_TIME
+ anomaly_path = /obj/effect/anomaly/clown
+
+/datum/round_event/anomaly/anomaly_clown/announce(fake)
+ priority_announce("There should be clowns. Where are the clowns? [impact_area.name]. Send in the clowns.", "Anomaly Alert", SSstation.announcer.get_rand_alert_sound())
diff --git a/monkestation/code/modules/events/anomaly/anomaly_fluid.dm b/monkestation/code/modules/events/anomaly/anomaly_fluid.dm
new file mode 100644
index 000000000000..fdbdc0090f74
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_fluid.dm
@@ -0,0 +1,18 @@
+/datum/round_event_control/anomaly/anomaly_fluid
+ name = "Anomaly: Fluidic"
+ description = "Noah, get the boat."
+ typepath = /datum/round_event/anomaly/anomaly_fluid
+
+ max_occurrences = 3
+ weight = 20
+ min_players = 30
+ min_wizard_trigger_potency = 1
+ max_wizard_trigger_potency = 4
+ track = EVENT_TRACK_MUNDANE
+
+/datum/round_event/anomaly/anomaly_fluid
+ start_when = 1
+ anomaly_path = /obj/effect/anomaly/fluid
+
+/datum/round_event/anomaly/anomaly_fluid/announce(fake)
+ priority_announce("Fluidic anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", SSstation.announcer.get_rand_alert_sound())
diff --git a/monkestation/code/modules/events/anomaly/anomaly_frost.dm b/monkestation/code/modules/events/anomaly/anomaly_frost.dm
new file mode 100644
index 000000000000..5887f25c85eb
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_frost.dm
@@ -0,0 +1,21 @@
+/datum/round_event_control/anomaly/anomaly_frost
+ name = "Anomaly: Frost"
+ description = "The white frost comes."
+ typepath = /datum/round_event/anomaly/anomaly_frost
+
+ max_occurrences = 5
+ weight = 10
+ min_players = 20
+
+ min_wizard_trigger_potency = 1
+ max_wizard_trigger_potency = 4
+ track = EVENT_TRACK_MODERATE
+ tags = list(TAG_SPOOKY)
+
+/datum/round_event/anomaly/anomaly_frost
+ start_when = ANOMALY_START_HARMFUL_TIME
+ announce_when = ANOMALY_ANNOUNCE_HARMFUL_TIME
+ anomaly_path = /obj/effect/anomaly/frost
+
+/datum/round_event/anomaly/anomaly_frost/announce(fake)
+ priority_announce("Frost Anomaly detected in: [impact_area.name]. Brace for the cold.", "Anomaly Alert", 'monkestation/sound/misc/frost_horn.ogg')
diff --git a/monkestation/code/modules/events/anomaly/anomaly_lifebringer.dm b/monkestation/code/modules/events/anomaly/anomaly_lifebringer.dm
new file mode 100644
index 000000000000..7ce4db0c4209
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_lifebringer.dm
@@ -0,0 +1,15 @@
+/datum/round_event_control/anomaly/anomaly_lifebringer
+ name = "Anomaly: lifebringer"
+ description = "Meow"
+ typepath = /datum/round_event/anomaly/anomaly_lifebringer
+
+ max_occurrences = 2
+ weight = 15
+ track = EVENT_TRACK_MUNDANE
+
+/datum/round_event/anomaly/anomaly_lifebringer
+ start_when = 1
+ anomaly_path = /obj/effect/anomaly/lifebringer
+
+/datum/round_event/anomaly/anomaly_lifebringer/announce(fake)
+ priority_announce("Lifebringer anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", SSstation.announcer.get_rand_alert_sound())
diff --git a/monkestation/code/modules/events/anomaly/anomaly_monkey.dm b/monkestation/code/modules/events/anomaly/anomaly_monkey.dm
new file mode 100644
index 000000000000..c5ee399f045d
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_monkey.dm
@@ -0,0 +1,15 @@
+/datum/round_event_control/anomaly/anomaly_monkey
+ name = "Anomaly: Monkey"
+ description = "OOGA"
+ typepath = /datum/round_event/anomaly/anomaly_monkey
+
+ max_occurrences = 1
+ weight = 10
+ track = EVENT_TRACK_MAJOR
+
+/datum/round_event/anomaly/anomaly_monkey
+ start_when = 1
+ anomaly_path = /obj/effect/anomaly/monkey
+
+/datum/round_event/anomaly/anomaly_monkey/announce(fake)
+ priority_announce("Random Chimp Event detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", SSstation.announcer.get_rand_alert_sound())
diff --git a/monkestation/code/modules/events/anomaly/anomaly_radiation.dm b/monkestation/code/modules/events/anomaly/anomaly_radiation.dm
new file mode 100644
index 000000000000..a41a981b36c6
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_radiation.dm
@@ -0,0 +1,20 @@
+/datum/round_event_control/anomaly/anomaly_radiation
+ name = "Anomaly: Radiation"
+ description = "A sickly green glow from byond the horizon."
+ typepath = /datum/round_event/anomaly/anomaly_radiation
+
+ max_occurrences = 1
+ weight = 1
+ min_players = 20
+ min_wizard_trigger_potency = 1
+ max_wizard_trigger_potency = 4
+ track = EVENT_TRACK_MAJOR
+ tags = list(TAG_SPOOKY, TAG_DESTRUCTIVE)
+
+/datum/round_event/anomaly/anomaly_radiation
+ start_when = ANOMALY_START_HARMFUL_TIME
+ announce_when = ANOMALY_ANNOUNCE_HARMFUL_TIME
+ anomaly_path = /obj/effect/anomaly/radioactive
+
+/datum/round_event/anomaly/anomaly_radiation/announce(fake)
+ priority_announce("Radioactive anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", SSstation.announcer.get_rand_alert_sound())
diff --git a/monkestation/code/modules/events/anomaly/anomaly_storm.dm b/monkestation/code/modules/events/anomaly/anomaly_storm.dm
new file mode 100644
index 000000000000..745184dcd517
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_storm.dm
@@ -0,0 +1,20 @@
+/datum/round_event_control/anomaly/anomaly_storm
+ name = "Anomaly: Storm"
+ description = "A tesla, condensed."
+ typepath = /datum/round_event/anomaly/anomaly_storm
+
+ max_occurrences = 3
+ weight = 5
+ min_players = 40
+
+ min_wizard_trigger_potency = 1
+ max_wizard_trigger_potency = 4
+ track = EVENT_TRACK_MAJOR
+ tags = list(TAG_MAGICAL, TAG_DESTRUCTIVE)
+
+/datum/round_event/anomaly/anomaly_storm
+ start_when = 1
+ anomaly_path = /obj/effect/anomaly/storm
+
+/datum/round_event/anomaly/anomaly_storm/announce(fake)
+ priority_announce("Powerful Storm anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", SSstation.announcer.get_rand_alert_sound())
diff --git a/monkestation/code/modules/events/anomaly/anomaly_walterverse.dm b/monkestation/code/modules/events/anomaly/anomaly_walterverse.dm
new file mode 100644
index 000000000000..3c9be67a2bc9
--- /dev/null
+++ b/monkestation/code/modules/events/anomaly/anomaly_walterverse.dm
@@ -0,0 +1,14 @@
+/datum/round_event_control/anomaly/anomaly_walterverse
+ name = "Anomaly: Walterverse"
+ typepath = /datum/round_event/anomaly/anomaly_walterverse
+
+ max_occurrences = 1
+ weight = 5
+ track = EVENT_TRACK_MAJOR
+
+/datum/round_event/anomaly/anomaly_walterverse
+ start_when = 1
+ anomaly_path = /obj/effect/anomaly/walterverse
+
+/datum/round_event/anomaly/anomaly_walterverse/announce(fake)
+ priority_announce("The Walterverse has been opened. Expected location: [impact_area.name].", "Anomaly Alert", SSstation.announcer.get_rand_alert_sound())
diff --git a/monkestation/code/modules/mob/living/basic/pets/walterverse.dm b/monkestation/code/modules/mob/living/basic/pets/walterverse.dm
new file mode 100644
index 000000000000..2dd06a640936
--- /dev/null
+++ b/monkestation/code/modules/mob/living/basic/pets/walterverse.dm
@@ -0,0 +1,134 @@
+/mob/living/basic/pet/dog/bullterrier/walter/saulter
+ name = "Saulter Goodman"
+ real_name = "Saulter Goodman"
+ desc = "Seccies and wardens are nothing compared to the might of this consititutional right loving lawyer."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "saulter"
+ icon_living = "saulter"
+ icon_dead = "saulter_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("barks!", "Hi, i'm Saul Goodman.", "Did you know you have rights?", "Based!")
+
+/mob/living/basic/pet/dog/bullterrier/walter/negative
+ name = "Negative Walter"
+ real_name = "Negative Walter"
+ desc = "Nar'sie and rat'var are a lot compared to the might of this skcurtretsnom despising god."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "negative"
+ icon_living = "negative"
+ icon_dead = "negative_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("skrab!", "sfoow!", "retlaW", "skcurterif", "skcurtretsnom")
+
+/mob/living/basic/pet/dog/bullterrier/walter/syndicate
+ name = "Syndicate Walter"
+ real_name = "Syndicate Walter"
+ desc = "Nanotrasen and Centcom are nothing compared to the might of this nuke loving dog."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "syndie"
+ icon_living = "syndie"
+ icon_dead = "syndie_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("barks!", "woofs!", "Walter", "Down with Nanotrasen!", "For the Syndicate!")
+
+/mob/living/basic/pet/dog/bullterrier/walter/doom
+ name = "Doom Walter"
+ real_name = "Doom Walter"
+ desc = "Devils and Gods are nothing compared to the might of this gun loving soldier."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "doom"
+ icon_living = "doom"
+ icon_dead = "doom_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("...")
+
+/mob/living/basic/pet/dog/bullterrier/walter/space
+ name = "Space Walter"
+ real_name = "Space Walter"
+ desc = "Exploring the galaxies is nothing for this star loving dog."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "space"
+ icon_living = "space"
+ icon_dead = "space_dead"
+ unsuitable_atmos_damage = 0
+ bodytemp_cold_damage_limit = -1
+ bodytemp_heat_damage_limit = 1500
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("barks!", "woofs!", "spess!", "Walter", "firetrucks", "monstertrucks", "spaceships")
+
+/mob/living/basic/pet/dog/bullterrier/walter/sus
+ name = "Suspicious Walter"
+ real_name = "Suspicious Walter"
+ desc = "This vent loving dog is a little suspicious..."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "sus"
+ icon_living = "sus"
+ icon_dead = "sus_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("barks!", "woofs!", "sus!", "Walter", "firetrucks", "monstertrucks", "tasks")
+/mob/living/basic/pet/dog/bullterrier/walter/sus/Initialize(mapload)
+ . = ..()
+ ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
+
+/mob/living/basic/pet/dog/bullterrier/walter/clown
+ name = "Clown Walter"
+ real_name = "Clown Walter"
+ desc = "Seccies and staff members are nothing compared to the might of this banana loving loving dog."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "clown"
+ icon_living = "clown"
+ icon_dead = "clown_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("barks!", "woofs!", "honks!", "Walter", "firetrucks", "monstertrucks")
+
+
+/mob/living/basic/pet/dog/bullterrier/walter/french
+ name = "French Walter"
+ real_name = "French Walter"
+ desc = "Nar'sie et rat'var ne sont rien comparés à la puissance de ce chien qui aime les monstertrucks."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "french"
+ icon_living = "french"
+ icon_dead = "french_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("aboiement!", "aboyer!", "Walter", "camions de pompiers", "camions monstres")
+
+/mob/living/basic/pet/dog/bullterrier/walter/british
+ name = "Bri'ish Wal'ah"
+ real_name = "Bri'ish Wal'ah"
+ desc = "Nar'sie and like ra''var are naw'hin' compared 'o 'he migh' of 'hiz mons'er'ruck lovin' dog."
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("barks!", "woofs!", "Wal'ah", "fire'rucks", "mons'er'rucks")
+
+/mob/living/basic/pet/dog/bullterrier/walter/wizard
+ name = "Magic Walter"
+ real_name = "Magic Walter"
+ desc = "Assistants and secoffs are nothing compared to the might of this magic loving dog."
+ icon = 'monkestation/icons/mob/walterverse.dmi'
+ icon_state = "wizard"
+ icon_living = "wizard"
+ icon_dead = "wizard_dead"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("ONI SOMA", "CLANG!", "UN'LTD P'WAH", "AULIE OXIN FIERA", "GIN'YU`CAPAN")
+
+/mob/living/basic/pet/dog/bullterrier/walter/smallter
+ name = "Smallter"
+ real_name = "Smallter"
+ desc = "Nar'sie and rat'var are nothing compared to the might of this tiny dog."
+ gold_core_spawnable = FRIENDLY_SPAWN
+ unique_pet = TRUE
+ //speak = list("barks", "woofs", "walter", "firetrucks", "monstertrucks")
+
+/mob/living/basic/pet/dog/bullterrier/walter/smallter/Initialize(mapload)
+ . = ..()
+ update_transform(0.5)
diff --git a/monkestation/icons/mob/walterverse.dmi b/monkestation/icons/mob/walterverse.dmi
new file mode 100644
index 000000000000..fe602cea58cb
Binary files /dev/null and b/monkestation/icons/mob/walterverse.dmi differ
diff --git a/monkestation/icons/obj/machines/rbmk.dmi b/monkestation/icons/obj/machines/rbmk.dmi
new file mode 100644
index 000000000000..c4f1ad9f6738
Binary files /dev/null and b/monkestation/icons/obj/machines/rbmk.dmi differ
diff --git a/monkestation/icons/obj/machines/reactor_parts.dmi b/monkestation/icons/obj/machines/reactor_parts.dmi
new file mode 100644
index 000000000000..885839f222ad
Binary files /dev/null and b/monkestation/icons/obj/machines/reactor_parts.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index ecb1e4c86e75..76548d2e39f8 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -6025,8 +6025,17 @@
#include "monkestation\code\game\objects\effects\sprint_dust.dm"
#include "monkestation\code\game\objects\effects\anomalies\_anomalies.dm"
#include "monkestation\code\game\objects\effects\anomalies\anomalies_bioscrambler.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_clown.dm"
#include "monkestation\code\game\objects\effects\anomalies\anomalies_dimensional.dm"
#include "monkestation\code\game\objects\effects\anomalies\anomalies_dimensional_themes.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_fluid.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_frost.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_lifebringer.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_monkey.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_radiation.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_storm.dm"
+#include "monkestation\code\game\objects\effects\anomalies\anomalies_walteverse.dm"
+#include "monkestation\code\game\objects\effects\decal\nuclear_waste.dm"
#include "monkestation\code\game\objects\effects\effect_system\fluid_spread\effects_smoke.dm"
#include "monkestation\code\game\objects\effects\random\ai_module.dm"
#include "monkestation\code\game\objects\effects\spawners\roomspawner.dm"
@@ -7186,6 +7195,14 @@
#include "monkestation\code\modules\events\scrubber_clog.dm"
#include "monkestation\code\modules\events\scrubber_overflow.dm"
#include "monkestation\code\modules\events\summon_wizard_event.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_clown.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_fluid.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_frost.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_lifebringer.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_monkey.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_radiation.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_storm.dm"
+#include "monkestation\code\modules\events\anomaly\anomaly_walterverse.dm"
#include "monkestation\code\modules\events\ghost_role\drifting_contractor.dm"
#include "monkestation\code\modules\events\wizard\summon_gifts.dm"
#include "monkestation\code\modules\factory_type_beat\boulder.dm"
@@ -7510,6 +7527,7 @@
#include "monkestation\code\modules\mob\living\basic\pets\lizard.dm"
#include "monkestation\code\modules\mob\living\basic\pets\mouse.dm"
#include "monkestation\code\modules\mob\living\basic\pets\snake.dm"
+#include "monkestation\code\modules\mob\living\basic\pets\walterverse.dm"
#include "monkestation\code\modules\mob\living\basic\pets\parrot\_parrot.dm"
#include "monkestation\code\modules\mob\living\basic\pets\parrot\parrot_ai\parroting_action.dm"
#include "monkestation\code\modules\mob\living\basic\space_fauna\carp\carp.dm"