diff --git a/code/__defines/is_helpers.dm b/code/__defines/is_helpers.dm
index 0fbcd3c719..07c25a40ab 100644
--- a/code/__defines/is_helpers.dm
+++ b/code/__defines/is_helpers.dm
@@ -13,7 +13,7 @@
#define isitem(D) istype(D, /obj/item)
-#define isradio(A) istype(A, /obj/item/device/radio)
+#define isradio(A) istype(A, /obj/item/device/radio)
#define isairlock(A) istype(A, /obj/machinery/door/airlock)
@@ -23,8 +23,6 @@
#define ismecha(A) istype(A, /obj/mecha)
-#define isstructure(A) istype(A, /obj/structure)
-
//---------------
//#define isarea(D) istype(D, /area) //Built in
diff --git a/code/datums/supplypacks/atmospherics.dm b/code/datums/supplypacks/atmospherics.dm
index a18b630892..3630b9bea0 100644
--- a/code/datums/supplypacks/atmospherics.dm
+++ b/code/datums/supplypacks/atmospherics.dm
@@ -106,16 +106,3 @@
cost = 35
containertype = /obj/structure/closet/crate/aether
containername = "Emergency crate"
-
-/datum/supply_pack/atmos/firefighting
- name = "Firefighting equipment"
- contains = list(
- /obj/item/clothing/suit/fire/heavy = 2,
- /obj/item/weapon/tank/oxygen/red = 2,
- /obj/item/weapon/watertank/atmos = 2,
- /obj/item/device/flashlight = 2,
- /obj/item/clothing/head/hardhat/firefighter/atmos = 2
- )
- cost = 35
- containertype = /obj/structure/closet/crate/aether
- containername = "Firefighting crate"
\ No newline at end of file
diff --git a/code/datums/supplypacks/security.dm b/code/datums/supplypacks/security.dm
index 18cc82af76..c19c4b0097 100644
--- a/code/datums/supplypacks/security.dm
+++ b/code/datums/supplypacks/security.dm
@@ -288,16 +288,6 @@
containername = "Riot armor crate"
access = access_armory
-/datum/supply_pack/security/riot_sprayer
- name = "Gear - Riot sprayer"
- contains = list(
- /obj/item/weapon/watertank/pepperspray
- )
- cost = 40
- containertype = /obj/structure/closet/crate/secure/lawson
- containername = "Riot sprayer crate"
- access = access_armory
-
/datum/supply_pack/security/ablative_armor
name = "Armor - Ablative"
contains = list(
diff --git a/code/game/objects/random/_random.dm b/code/game/objects/random/_random.dm
index 460ef4ef4f..df32a567d7 100644
--- a/code/game/objects/random/_random.dm
+++ b/code/game/objects/random/_random.dm
@@ -59,7 +59,7 @@ var/list/random_useful_
if(prob(70)) // Misc. junk
if(!random_junk_)
random_junk_ = subtypesof(/obj/item/trash)
- random_junk_ += /obj/effect/decal/cleanable/bug_remains
+ random_junk_ += /obj/effect/decal/cleanable/spiderling_remains
random_junk_ += /obj/effect/decal/remains/mouse
random_junk_ += /obj/effect/decal/remains/robot
random_junk_ += /obj/item/weapon/paper/crumpled
diff --git a/code/game/objects/random/mapping.dm b/code/game/objects/random/mapping.dm
index 76a4ccd067..0a96e31f9f 100644
--- a/code/game/objects/random/mapping.dm
+++ b/code/game/objects/random/mapping.dm
@@ -24,7 +24,7 @@
/obj/effect/decal/cleanable/blood/gibs/robot,
/obj/effect/decal/cleanable/blood/oil,
/obj/effect/decal/cleanable/blood/oil/streak,
- /obj/effect/decal/cleanable/bug_remains,
+ /obj/effect/decal/cleanable/spiderling_remains,
/obj/effect/decal/remains/mouse,
/obj/effect/decal/cleanable/vomit,
/obj/effect/decal/cleanable/blood/splatter,
diff --git a/code/game/objects/random/misc.dm b/code/game/objects/random/misc.dm
index c3c0544037..63b5b8547e 100644
--- a/code/game/objects/random/misc.dm
+++ b/code/game/objects/random/misc.dm
@@ -760,7 +760,7 @@
/obj/random/mouseremains/item_to_spawn()
return pick(/obj/item/device/assembly/mousetrap,
/obj/item/device/assembly/mousetrap/armed,
- /obj/effect/decal/cleanable/bug_remains,
+ /obj/effect/decal/cleanable/spiderling_remains,
/obj/effect/decal/cleanable/ash,
/obj/item/trash/cigbutt,
/obj/item/trash/cigbutt/cigarbutt,
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index aaf93580ff..61a8fe6afd 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -97,8 +97,7 @@
starts_with = list(
/obj/item/clothing/suit/fire/heavy,
/obj/item/weapon/tank/oxygen/red,
- /obj/item/weapon/watertank/atmos,
- /obj/item/device/flashlight,
+ /obj/item/weapon/extinguisher/atmo,
/obj/item/clothing/head/hardhat/firefighter/atmos)
/*
diff --git a/code/game/objects/structures/trash_pile_vr.dm b/code/game/objects/structures/trash_pile_vr.dm
index b84682dd29..ab9d13c97e 100644
--- a/code/game/objects/structures/trash_pile_vr.dm
+++ b/code/game/objects/structures/trash_pile_vr.dm
@@ -283,12 +283,10 @@
/obj/structure/mob_spawner/mouse_nest
name = "trash"
- desc = "A small heap of trash, perfect for mice and other pests to nest in."
+ desc = "A small heap of trash, perfect for mice to nest in."
icon = 'icons/obj/trash_piles.dmi'
icon_state = "randompile"
- spawn_types = list(
- /mob/living/simple_mob/animal/passive/mouse= 100,
- /mob/living/simple_mob/animal/passive/cockroach = 25)
+ spawn_types = list(/mob/living/simple_mob/animal/passive/mouse)
simultaneous_spawns = 1
destructible = 1
spawn_delay = 1 HOUR
diff --git a/code/modules/economy/vending_machines.dm b/code/modules/economy/vending_machines.dm
index b05417013b..4973281ccd 100644
--- a/code/modules/economy/vending_machines.dm
+++ b/code/modules/economy/vending_machines.dm
@@ -487,7 +487,6 @@
/obj/item/weapon/plantspray/pests = 20,
/obj/item/weapon/reagent_containers/syringe = 5,
/obj/item/weapon/reagent_containers/glass/beaker = 4,
- /obj/item/weapon/watertank = 1,
/obj/item/weapon/storage/bag/plants = 5)
premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5)
@@ -1522,8 +1521,7 @@
/obj/item/clothing/gloves/black = 5,
/obj/item/weapon/storage/belt/janitor = 5,
/obj/item/clothing/shoes/galoshes = 5,
- /obj/item/weapon/cartridge/janitor = 5,
- /obj/item/weapon/watertank/janitor = 1
+ /obj/item/weapon/cartridge/janitor = 5
)
req_log_access = access_hop
has_logs = 1
diff --git a/code/modules/gamemaster/event2/events/everyone/infestation.dm b/code/modules/gamemaster/event2/events/everyone/infestation.dm
index fa07e60b4c..512679d2fc 100644
--- a/code/modules/gamemaster/event2/events/everyone/infestation.dm
+++ b/code/modules/gamemaster/event2/events/everyone/infestation.dm
@@ -17,10 +17,6 @@
name = "infestation - spiders"
event_type = /datum/event2/event/infestation/spiderlings
-/datum/event2/event/infestation/cockroaches
- vermin_string = "cockroaches"
- max_vermin = 6
- things_to_spawn = list(/mob/living/simple_mob/animal/passive/cockroach)
/datum/event2/event/infestation
var/vermin_string = null
diff --git a/code/modules/hydroponics/backtank.dm b/code/modules/hydroponics/backtank.dm
deleted file mode 100644
index 9ecb6b7bb5..0000000000
--- a/code/modules/hydroponics/backtank.dm
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Hydroponics tank and base code
- */
-/obj/item/weapon/watertank
- name = "backpack water tank"
- desc = "A S.U.N.S.H.I.N.E. brand watertank backpack with nozzle to water plants."
- icon = 'icons/inventory/back/item.dmi'
- icon_state = "waterbackpack"
- item_state = "waterbackpack"
- w_class = ITEMSIZE_LARGE
- slot_flags = SLOT_BACK
- slowdown = 0.5
- armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 30)
-
- var/obj/item/noz
- var/volume = 500
-
-/obj/item/weapon/watertank/Initialize()
- . = ..()
- create_reagents(volume, OPENCONTAINER)
- noz = make_noz()
-
-/obj/item/weapon/watertank/MouseDrop()
- if(ismob(loc))
- if(!CanMouseDrop(src))
- return
- var/mob/M = loc
- if(!M.unEquip(src))
- return
- add_fingerprint(usr)
- M.put_in_any_hand_if_possible(src)
-
-/obj/item/weapon/watertank/Destroy()
- QDEL_NULL(noz)
- return ..()
-
-/obj/item/weapon/watertank/ui_action_click(mob/user)
- toggle_mister(user)
-
-/obj/item/weapon/watertank/attack_hand(var/mob/user)
- if(loc == user)
- toggle_mister()
- else
- ..()
-
-/obj/item/weapon/watertank/item_action_slot_check(slot, mob/user)
- if(slot == user.getBackSlot())
- return 1
-
-//checks that the base unit is in the correct slot to be used
-/obj/item/weapon/watertank/proc/slot_check()
- var/mob/M = loc
- if(!istype(M))
- return 0 //not equipped
-
- if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_back) == src)
- return 1
- if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_s_store) == src)
- return 1
-
- return 0
-
-/obj/item/weapon/watertank/verb/toggle_mister()
- set name = "Toggle Mister"
- set category = "Object"
-
- var/mob/living/carbon/human/user = usr
- if(!noz)
- to_chat(user, "The mister is missing!")
- return
- if(noz.loc != src)
- remove_noz(user) //Remove from their hands and back onto the defib unit
- return
- if(!slot_check())
- to_chat(user, "You need to equip [src] before taking out [noz].")
- else
- if(!usr.put_in_hands(noz)) //Detach the handset into the user's hands
- to_chat(user, "You need a free hand to hold the handset!")
- update_icon() //success
-
-/obj/item/weapon/watertank/proc/make_noz()
- return new /obj/item/weapon/reagent_containers/spray/mister(src)
-
-/obj/item/weapon/watertank/equipped(mob/user, slot)
- ..()
- if(slot != slot_back)
- remove_noz()
-
-/obj/item/weapon/watertank/proc/remove_noz(var/mob/user)
- if(!noz) return
-
- if(ismob(noz.loc))
- var/mob/M = noz.loc
- if(M.drop_from_inventory(noz, src))
- to_chat(user, "\The [noz] snaps back into the main unit.")
- else
- noz.forceMove(src)
-
-/obj/item/weapon/watertank/attackby(obj/item/W, mob/user, params)
- if(W == noz)
- remove_noz()
- return 1
- else
- return ..()
-
-/obj/item/weapon/watertank/dropped(var/mob/user)
- ..()
- remove_noz(user)
-
-/*
- * This mister item is intended as an extension of the watertank and always attached to it.
- * Therefore, it's designed to be "locked" to the player's hands or extended back onto
- * the watertank backpack. Allowing it to be placed elsewhere or created without a parent
- * watertank object will likely lead to weird behaviour or runtimes.
- */
-
-/*
- * Hydroponics mister
- */
-/obj/item/weapon/reagent_containers/spray/mister
- name = "water mister"
- desc = "A mister nozzle attached to a water tank."
- icon_state = "mister"
- item_state = "mister"
- w_class = ITEMSIZE_LARGE
- amount_per_transfer_from_this = 50
- possible_transfer_amounts = list(50)
- volume = 500
- item_flags = NOBLUDGEON
- slot_flags = NONE
-
- var/obj/item/weapon/watertank/tank
-
-/obj/item/weapon/reagent_containers/spray/mister/Initialize()
- . = ..()
- tank = loc
- if(!istype(tank))
- return INITIALIZE_HINT_QDEL
- reagents = tank.reagents //This mister is really just a proxy for the tank's reagents
-
-/obj/item/weapon/reagent_containers/spray/mister/doMove(atom/destination)
- if(destination && (destination != tank.loc || !ismob(destination)))
- if (loc != tank)
- to_chat(tank.loc, "The mister snaps back onto the watertank.")
- destination = tank
- ..()
-
-/obj/item/weapon/reagent_containers/spray/mister/afterattack(obj/target, mob/user, proximity)
- if(target.loc == loc) //Safety check so you don't fill your mister with mutagen or something and then blast yourself in the face with it
- return
- ..()
-
-/*
- * Janitor tank
- */
-/obj/item/weapon/watertank/janitor
- name = "backpack cleaner tank"
- desc = "A janitorial cleaner backpack with nozzle to clean blood and graffiti."
- icon_state = "waterbackpackjani"
- item_state = "waterbackpackjani"
-
-/obj/item/weapon/watertank/janitor/Initialize()
- . = ..()
- reagents.add_reagent("cleaner", 500)
-
-/obj/item/weapon/watertank/janitor/make_noz()
- return new /obj/item/weapon/reagent_containers/spray/mister/janitor(src)
-
-/*
- * Janitor mister
- */
-/obj/item/weapon/reagent_containers/spray/mister/janitor
- name = "janitor spray nozzle"
- desc = "A janitorial spray nozzle attached to a watertank, designed to clean up large messes."
- icon_state = "misterjani"
- item_state = "misterjani"
- amount_per_transfer_from_this = 5
- possible_transfer_amounts = list(5,10)
- spray_size = 4
-
-/*
- * Security tank
- */
-/obj/item/weapon/watertank/pepperspray
- name = "ANTI-TIDER-2500 suppression backpack"
- desc = "The ultimate crowd-control device; this tool allows the user to quickly and efficiently pacify groups of hostile targets."
- icon_state = "pepperbackpacksec"
- item_state = "pepperbackpacksec"
- volume = 1000
-
-/obj/item/weapon/watertank/pepperspray/Initialize()
- . = ..()
- reagents.add_reagent("condensedcapsaicin", 1000)
-
-/obj/item/weapon/watertank/pepperspray/make_noz()
- return new /obj/item/weapon/reagent_containers/spray/mister/pepperspray(src)
-
-/*
- * Security mister
- */
-/obj/item/weapon/reagent_containers/spray/mister/pepperspray
- name = "security spray nozzle"
- desc = "A pacifying spray nozzle attached to a pepperspray tank, designed to silence perps."
- icon_state = "mistersec"
- item_state = "mistersec"
- amount_per_transfer_from_this = 5
- possible_transfer_amounts = list(5,10)
- spray_size = 6
-
-/*
- * Operative tank
- */
-/obj/item/weapon/watertank/op
- name = "uborka tank"
- desc = "A Russian backpack spray for systematic cleansing of carbon lifeforms."
- icon_state = "waterbackpackop"
- item_state = "waterbackpackop"
- w_class = ITEMSIZE_NORMAL
- volume = 2000
- slowdown = 0
-
-/obj/item/weapon/watertank/op/Initialize()
- . = ..()
- reagents.add_reagent("fuel", 500)
- reagents.add_reagent("cryptobiolin", 500)
- reagents.add_reagent("phoron", 500)
- reagents.add_reagent("condensedcapsaicin", 500)
-
-/obj/item/weapon/watertank/op/make_noz()
- return new /obj/item/weapon/reagent_containers/spray/mister/op(src)
-
-/*
- * Operative mister
- */
-/obj/item/weapon/reagent_containers/spray/mister/op
- name = "uborka spray nozzle"
- desc = "A mister nozzle attached to several extended water tanks. It suspiciously has a compressor in the system and is labelled entirely in Cyrillic."
- icon_state = "misterop"
- item_state = "misterop"
- w_class = ITEMSIZE_HUGE
- volume = 2000
- amount_per_transfer_from_this = 100
- possible_transfer_amounts = list(75,100,150)
-
-/*
- * Atmos tank
- */
-/obj/item/weapon/watertank/atmos
- name = "backpack firefighter tank"
- desc = "A pressurized backpack tank with extinguisher nozzle, intended to fight fires."
- icon_state = "waterbackpackatmos"
- item_state = "waterbackpackatmos"
- volume = 200
-
-/obj/item/weapon/watertank/atmos/Initialize()
- . = ..()
- reagents.add_reagent("water", 200)
-
-/obj/item/weapon/watertank/atmos/make_noz()
- return new /obj/item/weapon/reagent_containers/spray/mister/atmos(src)
-
-/*
- * Atmos hose
- */
-/obj/item/weapon/reagent_containers/spray/mister/atmos
- name = "extinguisher nozzle"
- desc = "A heavy duty nozzle attached to a firefighter's backpack tank."
- icon_state = "atmos_nozzle"
- item_state = "nozzleatmos"
- w_class = ITEMSIZE_HUGE
- volume = 200
- amount_per_transfer_from_this = 5
- possible_transfer_amounts = list(5,10)
- spray_size = null
-
-/obj/item/weapon/reagent_containers/spray/mister/atmos/Spray_at(atom/A as mob|obj)
- playsound(src, 'sound/effects/spray3.ogg', rand(50,1), -6)
- var/direction = get_dir(src, A)
- var/turf/T = get_turf(A)
- var/turf/T1 = get_step(T,turn(direction, 90))
- var/turf/T2 = get_step(T,turn(direction, -90))
- var/list/the_targets = list(T, T1, T2)
-
- for(var/a = 1 to 3)
- spawn(0)
- if(reagents.total_volume < 1) break
- var/obj/effect/effect/water/chempuff/D = new/obj/effect/effect/water/chempuff(get_turf(src))
- var/turf/my_target = the_targets[a]
- D.create_reagents(amount_per_transfer_from_this)
- if(!src)
- return
- reagents.trans_to_obj(D, amount_per_transfer_from_this)
- D.set_color()
- D.set_up(my_target, rand(6, 8), 2)
- return
\ No newline at end of file
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 761ea37154..445bd3895e 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -202,23 +202,6 @@ var/list/slot_equipment_priority = list( \
drop_from_inventory(I, target)
return TRUE
-//visibly unequips I but it is NOT MOVED AND REMAINS IN SRC
-//item MUST BE FORCEMOVE'D OR QDEL'D
-/mob/proc/temporarilyRemoveItemFromInventory(obj/item/I, force = FALSE, idrop = TRUE)
- return u_equip(I, force, null, TRUE, idrop)
-
-///sometimes we only want to grant the item's action if it's equipped in a specific slot.
-/obj/item/proc/item_action_slot_check(slot, mob/user)
- if(slot == SLOT_BACK || slot == LEGS) //these aren't true slots, so avoid granting actions there
- return FALSE
- return TRUE
-
-///Get the item on the mob in the storage slot identified by the id passed in
-/mob/proc/get_item_by_slot(slot_id)
- return null
-
-/mob/proc/getBackSlot()
- return SLOT_BACK
//Attemps to remove an object on a mob.
/mob/proc/remove_from_mob(var/obj/O, var/atom/target)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/cockroach.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/cockroach.dm
deleted file mode 100644
index b170d192d0..0000000000
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/cockroach.dm
+++ /dev/null
@@ -1,76 +0,0 @@
-//Base cockroach
-/mob/living/simple_mob/animal/passive/cockroach
- name = "cockroach"
- real_name = "cockroach"
- desc = "This station is just crawling with bugs."
- tt_desc = "E Blattella germanica"
- icon_state = "cockroach"
- item_state = "cockroach"
- icon_living = "cockroach"
- icon_dead = "cockroach_rest" //No real 'dead' sprite
- icon_rest = "cockroach_rest"
-
- maxHealth = 1
- health = 1
-
- movement_cooldown = 2.5
-
- mob_size = MOB_MINISCULE
- pass_flags = PASSTABLE
- can_pull_mobs = MOB_PULL_NONE
- layer = MOB_LAYER
- density = FALSE
-
- response_help = "pokes"
- response_disarm = "shoos"
- response_harm = "splats"
-
- speak_emote = list("chitters")
-
- //Cockroaches are enviromentally superior
- min_oxy = 0
- max_oxy = 0
- min_tox = 0
- max_tox = 0
- min_co2 = 0
- max_co2 = 0
- min_n2 = 0
- max_n2 = 0
- minbodytemp = 0
- maxbodytemp = 999999
-
- var/squish_chance = 25
-
-//Deletes the body upon death
-/mob/living/simple_mob/animal/passive/cockroach/death()
- new /obj/effect/decal/cleanable/bug_remains(src.loc)
- qdel(src)
-
-//Squish code
-/mob/living/simple_mob/animal/passive/cockroach/Crossed(var/atom/movable/AM)
- if(ismob(AM))
- if(isliving(AM))
- var/mob/living/A = AM
- if(A.mob_size > MOB_SMALL)
- if(prob(squish_chance))
- A.visible_message("[A] squashed [src].", "You squashed [src].")
- adjustBruteLoss(1) //kills a normal cockroach
- else
- visible_message("[src] avoids getting crushed.")
- else
- if(isstructure(AM))
- if(prob(squish_chance))
- AM.visible_message("[src] was crushed under [AM].")
- adjustBruteLoss(1)
- else
- visible_message("[src] avoids getting crushed.")
-
-/mob/living/simple_mob/animal/passive/cockroach/ex_act() //Explosions are a terrible way to handle a cockroach.
- return
-
-//Custom stain so it's not "spiderling remains"
-/obj/effect/decal/cleanable/bug_remains
- name = "bug remains"
- desc = "Green squishy mess."
- icon = 'icons/effects/effects.dmi'
- icon_state = "greenshatter"
\ No newline at end of file
diff --git a/icons/inventory/back/item.dmi b/icons/inventory/back/item.dmi
index 73e6fae53f..230b3950c8 100644
Binary files a/icons/inventory/back/item.dmi and b/icons/inventory/back/item.dmi differ
diff --git a/icons/inventory/back/mob.dmi b/icons/inventory/back/mob.dmi
index e27f9d3048..3f11cc9dc1 100644
Binary files a/icons/inventory/back/mob.dmi and b/icons/inventory/back/mob.dmi differ
diff --git a/icons/mob/items/lefthand_storage.dmi b/icons/mob/items/lefthand_storage.dmi
index aeaf11a4a3..c8f275f173 100644
Binary files a/icons/mob/items/lefthand_storage.dmi and b/icons/mob/items/lefthand_storage.dmi differ
diff --git a/icons/mob/items/righthand_storage.dmi b/icons/mob/items/righthand_storage.dmi
index 0dbd0d7f55..d8ce049aa5 100644
Binary files a/icons/mob/items/righthand_storage.dmi and b/icons/mob/items/righthand_storage.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index 15f9486259..024c2d13ba 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2369,7 +2369,6 @@
#include "code\modules\holomap\holomap_datum.dm"
#include "code\modules\holomap\mapper.dm"
#include "code\modules\holomap\station_holomap.dm"
-#include "code\modules\hydroponics\backtank.dm"
#include "code\modules\hydroponics\grown.dm"
#include "code\modules\hydroponics\grown_inedible.dm"
#include "code\modules\hydroponics\grown_predefined.dm"
@@ -2997,7 +2996,6 @@
#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\thermic.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\tunneler.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\giant_spider\webslinger.dm"
-#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\cockroach.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\crab.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\fish.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\fish_vr.dm"