diff --git a/_maps/map_files/MetaStation/z5.dmm b/_maps/map_files/MetaStation/z5.dmm
index c75dd6297e9..cdfad4b1cb4 100644
--- a/_maps/map_files/MetaStation/z5.dmm
+++ b/_maps/map_files/MetaStation/z5.dmm
@@ -742,7 +742,7 @@
"on" = (/turf/simulated/floor/plasteel{icon_state = "warning"},/area/research_outpost/gearstore)
"oo" = (/obj/structure/ore_box,/obj/machinery/camera{c_tag = "Research Outpost External Airlock"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/research_outpost/gearstore)
"op" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
-"oq" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"oq" = (/obj/structure/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"or" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"os" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"ot" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
@@ -779,7 +779,7 @@
"oY" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"oZ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"pa" = (/turf/space,/area/mine/dangerous/explored)
-"pb" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"pb" = (/obj/structure/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"pc" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area/space)
"pd" = (/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/mine/abandoned)
"pe" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm
index 1bab41147dc..2ef82125aae 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm
@@ -62,7 +62,7 @@
"bj" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"})
"bk" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"})
"bl" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"})
-"bm" = (/obj/effect/glowshroom/single,/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"})
+"bm" = (/obj/structure/glowshroom/single,/turf/simulated/floor/plasteel,/area/ruin/powered{name = "Space Bar"})
"bn" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/ruin/powered)
"bo" = (/turf/simulated/floor/plating,/area/ruin/powered)
"bp" = (/turf/simulated/floor/plating{icon_plating = "warnplate"; icon_state = "warnplate"},/area/ruin/powered)
diff --git a/_maps/map_files/RandomZLevels/terrorspiders.dmm b/_maps/map_files/RandomZLevels/terrorspiders.dmm
index 11841b433a9..fbf21c23670 100644
--- a/_maps/map_files/RandomZLevels/terrorspiders.dmm
+++ b/_maps/map_files/RandomZLevels/terrorspiders.dmm
@@ -6,7 +6,7 @@
"af" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"ag" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"ah" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "weld"; id_tag = "UO71_waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0; welded = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
-"ai" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
+"ai" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"aj" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaymission/UO71/plaza)
"ak" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/plaza)
"al" = (/turf/simulated/floor/plasteel,/area/awaymission/UO71/plaza)
@@ -32,14 +32,14 @@
"aF" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "271"},/obj/item/clothing/under/suit_jacket/female,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
"aG" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/UO71/plaza)
"aH" = (/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
-"aI" = (/obj/effect/spider/terrorweb,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
+"aI" = (/obj/structure/spider/terrorweb,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
"aJ" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel,/area/awaymission/UO71/plaza)
"aK" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/UO71/plaza)
"aL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaymission/UO71/plaza)
"aM" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaymission/UO71/plaza)
"aN" = (/obj/machinery/door/airlock{id_tag = "awaydormE1"; locked = 0; name = "Executive Dorm 1"; req_access_txt = "271"},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
-"aO" = (/obj/effect/spider/terrorweb,/obj/item/weapon/bedsheet,/obj/structure/stool/bed,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
-"aP" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
+"aO" = (/obj/structure/spider/terrorweb,/obj/item/weapon/bedsheet,/obj/structure/stool/bed,/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
+"aP" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/carpet,/area/awaymission/UO71/plaza)
"aQ" = (/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/UO71/plaza)
"aR" = (/obj/structure/sink{pixel_y = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/UO71/plaza)
"aS" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/UO71/plaza)
@@ -314,7 +314,7 @@
"gb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaymission/UO71/centralhall)
"gc" = (/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway)
"gd" = (/turf/simulated/floor/vault,/area/awaymission/UO71/prince)
-"ge" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/vault,/area/awaymission/UO71/prince)
+"ge" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/vault,/area/awaymission/UO71/prince)
"gf" = (/obj/machinery/camera{c_tag = "Research Lab"; dir = 2; network = list("UO71")},/turf/simulated/floor/vault,/area/awaymission/UO71/prince)
"gg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway)
"gh" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/UO71/gateway)
@@ -501,7 +501,7 @@
"jG" = (/turf/simulated/wall/r_wall,/area/awaymission/UO71/science)
"jH" = (/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway)
"jI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
-"jJ" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
+"jJ" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
"jK" = (/obj/machinery/door/poddoor{id_tag = "UO71_Containment"; name = "Containment 1"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/mother)
"jL" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaymission/UO71/science)
"jM" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaymission/UO71/science)
@@ -529,12 +529,12 @@
"ki" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plating,/area/awaymission/UO71/gateway)
"kj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaymission/UO71/science)
"kk" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/awaymission/UO71/gateway)
-"kl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
+"kl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
"km" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/awaymission/UO71/science)
"kn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'DANGER - LETHAL BIOHAZARDS WITHIN'"; name = "CONTAINMENT AREA"},/turf/simulated/wall/r_wall,/area/awaymission/UO71/science)
"ko" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/paper/terrorspiders5,/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/awaymission/UO71/science)
"kp" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/plasteel{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/awaymission/UO71/science)
-"kq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
+"kq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
"kr" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/science)
"ks" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurplecorner"},/area/awaymission/UO71/science)
"kt" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaymission/UO71/science)
@@ -634,7 +634,7 @@
"mj" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plating,/area/awaymission/UO71/eng)
"mk" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaymission/UO71/gateway)
"ml" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaymission/UO71/gateway)
-"mm" = (/obj/effect/spider/cocoon{contents = newlist(/obj/effect/decal/remains/human); icon_state = "cocoon_large1"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaymission/UO71/gateway)
+"mm" = (/obj/structure/spider/cocoon{contents = newlist(/obj/effect/decal/remains/human); icon_state = "cocoon_large1"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaymission/UO71/gateway)
"mn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; icon_state = "weld"; on = 1; pressure_checks = 1; welded = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaymission/UO71/gateway)
"mo" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
"mp" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/UO71/gateway)
@@ -1007,7 +1007,7 @@
"ts" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix to Filter"; on = 1},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng)
"tt" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng)
"tu" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng)
-"tv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6},/obj/item/weapon/paper/terrorspiders7,/obj/effect/gibspawner,/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng)
+"tv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6},/obj/item/weapon/paper/terrorspiders7,/obj/effect/gibspawner,/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/turf/simulated/floor/plasteel,/area/awaymission/UO71/eng)
"tw" = (/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/wall,/area/awaymission/UO71/eng)
"tx" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "UO71_waste_in"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaymission/UO71/eng)
"ty" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "UO71_waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaymission/UO71/eng)
@@ -1315,7 +1315,7 @@
"zo" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaymission/UO71/loot)
"zp" = (/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaymission/UO71/loot)
"zq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
-"zr" = (/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaymission/UO71/outside)
+"zr" = (/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaymission/UO71/outside)
"zs" = (/turf/simulated/floor/carpet,/area/awaymission/UO71/loot)
"zt" = (/obj/structure/stool/bed/chair/wood/normal,/obj/item/clothing/shoes/syndigaloshes,/turf/simulated/floor/carpet,/area/awaymission/UO71/loot)
"zu" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaymission/UO71/loot)
@@ -1324,17 +1324,17 @@
"zx" = (/obj/machinery/door/airlock/external{name = "Strange Airlock"; req_access_txt = "271"},/obj/machinery/door/poddoor{id_tag = "UO71_Caves"; name = "Caves Lockdown Door"},/turf/simulated/floor/carpet,/area/awaymission/UO71/loot)
"zy" = (/turf/simulated/wall,/area/awaymission/UO71/queen)
"zz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/awaymission/UO71/queen)
-"zA" = (/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
+"zA" = (/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"zB" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "271"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
-"zC" = (/obj/effect/spider/cocoon{icon_state = "cocoon_large1"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
+"zC" = (/obj/structure/spider/cocoon{icon_state = "cocoon_large1"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"zD" = (/turf/simulated/floor/plating/airless/asteroid,/area/awaymission/UO71/queen)
"zE" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "271"},/turf/simulated/wall/rust,/area/awaymission/UO71/queen)
"zF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"zG" = (/obj/machinery/door/poddoor{id_tag = "UO71_Caves"; name = "Caves Lockdown Door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"zH" = (/mob/living/simple_animal/hostile/poison/terror_spider/green{wander = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
-"zI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
-"zJ" = (/obj/effect/spider/terrorweb,/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
-"zK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
+"zI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
+"zJ" = (/obj/structure/spider/terrorweb,/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
+"zK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/spider/terrorweb,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"zL" = (/obj/structure/table,/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
"zM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/mineral/random/labormineral,/area/awaymission/UO71/queen)
"zN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/awaymission/UO71/queen)
diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
index 56f63d7619b..9182b9e11df 100644
--- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
@@ -366,7 +366,7 @@
"hb" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"hc" = (/obj/machinery/light/small{dir = 4},/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_x = -3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"hd" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"he" = (/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"he" = (/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"hf" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"hg" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hh" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
@@ -1259,12 +1259,12 @@
"ym" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yn" = (/obj/structure/closet/crate,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yo" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/structure/stool/bed/nest,/obj/effect/landmark/corpse/miner/hardsuit,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yp" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yp" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yq" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/structure/stool/bed/nest,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yr" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ys" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yt" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/landmark/corpse/miner/hardsuit,/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"yu" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"yu" = (/obj/structure/alien/weeds{tag = "icon-weeds1"; icon_state = "weeds1"},/obj/structure/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yv" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yw" = (/obj/structure/alien/weeds{tag = "icon-weeds2"; icon_state = "weeds2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yx" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
diff --git a/_maps/map_files/cyberiad/z5.dmm b/_maps/map_files/cyberiad/z5.dmm
index add7d07e23b..86b225e0d1b 100644
--- a/_maps/map_files/cyberiad/z5.dmm
+++ b/_maps/map_files/cyberiad/z5.dmm
@@ -827,7 +827,7 @@
"pU" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/engine,/area/mine/podbay)
"pV" = (/obj/structure/spacepoddoor,/obj/machinery/door/poddoor/multi_tile/three_tile_ver{id_tag = "minepodbay"; req_one_access_txt = "48;70"},/turf/simulated/floor/engine,/area/mine/podbay)
"pW" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
-"pX" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"pX" = (/obj/structure/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"pY" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"},/area/mine/abandoned)
"pZ" = (/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"},/area/mine/abandoned)
"qa" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "65"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
@@ -850,7 +850,7 @@
"qr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"qs" = (/obj/effect/decal/warning_stripes/north,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/podbay)
"qt" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
-"qu" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"qu" = (/obj/structure/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"qv" = (/obj/machinery/light_construct/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"qw" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/unexplored)
"qx" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/unexplored)
diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index b4819294256..80086cd75f9 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -217,7 +217,7 @@ Pipelines + Other Objects -> Pipe network
qdel(src)
-/obj/machinery/atmospherics/construction(D, P, C)
+/obj/machinery/atmospherics/on_construction(D, P, C)
if(C)
color = C
dir = D
diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm
index dd68e1a2f6e..25e9f43b588 100644
--- a/code/game/asteroid.dm
+++ b/code/game/asteroid.dm
@@ -124,7 +124,7 @@ var/global/max_secret_rooms = 6
treasureitems = list(/obj/item/weapon/gun/energy/floragun=1,/obj/item/seeds/ambrosia/deus=2,/obj/item/seeds/tomato/blue/bluespace=2,/obj/item/seeds/tomato/blue=2,
/obj/item/seeds/coffee/robusta=2, /obj/item/seeds/tobacco/space=2)
fluffitems = list(/obj/item/weapon/twohanded/required/kirbyplants=1,/obj/structure/table/reinforced=2,/obj/machinery/hydroponics=1,
- /obj/effect/glowshroom/single=2,/obj/item/weapon/reagent_containers/syringe/charcoal=2,
+ /obj/structure/glowshroom/single=2,/obj/item/weapon/reagent_containers/syringe/charcoal=2,
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine=3,/obj/item/weapon/reagent_containers/glass/bottle/ammonia=3)
/*if("poly")
@@ -194,7 +194,7 @@ var/global/max_secret_rooms = 6
A.fullUpdateMineralOverlays()
T = pick(emptyturfs)
if(T)
- new /obj/effect/glowshroom/single(T) //Just to make it a little more visible
+ new /obj/structure/glowshroom/single(T) //Just to make it a little more visible
var/surprise = null
surprise = pickweight(treasureitems)
new surprise(T)//here's the prize
diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm
index 16f98927e17..336d66b8df8 100644
--- a/code/game/gamemodes/blob/blob.dm
+++ b/code/game/gamemodes/blob/blob.dm
@@ -135,7 +135,7 @@ var/list/blob_nodes = list()
else if(blob_client && location)
burst++
C.gib()
- var/obj/effect/blob/core/core = new(location, 200, blob_client, blob_point_rate)
+ var/obj/structure/blob/core/core = new(location, 200, blob_client, blob_point_rate)
if(core.overmind && core.overmind.mind)
core.overmind.mind.name = blob.name
infected_crew -= blob
diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index 67229b51a1a..71a6b5be37f 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -37,7 +37,7 @@
attacktext = "hits"
attack_sound = 'sound/weapons/genhit1.ogg'
speak_emote = list("pulses")
- var/obj/effect/blob/factory/factory = null
+ var/obj/structure/blob/factory/factory = null
var/list/human_overlays = list()
var/is_zombie = 0
gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE
@@ -48,11 +48,11 @@
/mob/living/simple_animal/hostile/blob/blobspore/CanPass(atom/movable/mover, turf/target, height=0)
- if(istype(mover, /obj/effect/blob))
+ if(istype(mover, /obj/structure/blob))
return 1
return ..()
-/mob/living/simple_animal/hostile/blob/blobspore/New(loc, var/obj/effect/blob/factory/linked_node)
+/mob/living/simple_animal/hostile/blob/blobspore/New(loc, var/obj/structure/blob/factory/linked_node)
if(istype(linked_node))
factory = linked_node
factory.spores += src
diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm
index 0142d198cc3..9dcb5b7e3eb 100644
--- a/code/game/gamemodes/blob/blobs/core.dm
+++ b/code/game/gamemodes/blob/blobs/core.dm
@@ -1,4 +1,4 @@
-/obj/effect/blob/core
+/obj/structure/blob/core
name = "blob core"
icon = 'icons/mob/blob.dmi'
icon_state = "blank_blob"
@@ -11,7 +11,7 @@
var/is_offspring = null
var/selecting = 0
-/obj/effect/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring)
+/obj/structure/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring)
blob_cores += src
processing_objects.Add(src)
poi_list |= src
@@ -26,7 +26,7 @@
..(loc, h)
-/obj/effect/blob/core/adjustcolors(var/a_color)
+/obj/structure/blob/core/adjustcolors(var/a_color)
overlays.Cut()
color = null
var/image/I = new('icons/mob/blob.dmi', "blob")
@@ -36,7 +36,7 @@
overlays += C
-/obj/effect/blob/core/Destroy()
+/obj/structure/blob/core/Destroy()
blob_cores -= src
if(overmind)
overmind.blob_core = null
@@ -45,10 +45,10 @@
poi_list.Remove(src)
return ..()
-/obj/effect/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/structure/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
return
-/obj/effect/blob/core/update_icon()
+/obj/structure/blob/core/update_icon()
if(health <= 0)
qdel(src)
return
@@ -57,10 +57,10 @@
overmind.update_health()
return
-/obj/effect/blob/core/RegenHealth()
+/obj/structure/blob/core/RegenHealth()
return // Don't regen, we handle it in Life()
-/obj/effect/blob/core/Life()
+/obj/structure/blob/core/Life()
if(!overmind)
create_overmind()
else
@@ -79,9 +79,9 @@
for(var/b_dir in alldirs)
if(!prob(5))
continue
- var/obj/effect/blob/normal/B = locate() in get_step(src, b_dir)
+ var/obj/structure/blob/normal/B = locate() in get_step(src, b_dir)
if(B)
- B.change_to(/obj/effect/blob/shield)
+ B.change_to(/obj/structure/blob/shield)
if(B && overmind)
B.color = overmind.blob_reagent_datum.color
else
@@ -90,7 +90,7 @@
..()
-/obj/effect/blob/core/proc/create_overmind(var/client/new_overmind, var/override_delay)
+/obj/structure/blob/core/proc/create_overmind(var/client/new_overmind, var/override_delay)
if(overmind_get_delay > world.time && !override_delay)
return
diff --git a/code/game/gamemodes/blob/blobs/factory.dm b/code/game/gamemodes/blob/blobs/factory.dm
index 5ea20b49e58..81d3ab47493 100644
--- a/code/game/gamemodes/blob/blobs/factory.dm
+++ b/code/game/gamemodes/blob/blobs/factory.dm
@@ -1,4 +1,4 @@
-/obj/effect/blob/factory
+/obj/structure/blob/factory
name = "factory blob"
icon = 'icons/mob/blob.dmi'
icon_state = "blob_factory"
@@ -9,18 +9,18 @@
var/spore_delay = 0
var/mob/camera/blob/overmind
-/obj/effect/blob/factory/update_icon()
+/obj/structure/blob/factory/update_icon()
if(health <= 0)
qdel(src)
-/obj/effect/blob/factory/Destroy()
+/obj/structure/blob/factory/Destroy()
for(var/mob/living/simple_animal/hostile/blob/blobspore/spore in spores)
if(spore.factory == src)
spore.factory = null
spores = null
return ..()
-/obj/effect/blob/factory/run_action()
+/obj/structure/blob/factory/run_action()
if(spores.len >= max_spores)
return 0
if(spore_delay > world.time)
diff --git a/code/game/gamemodes/blob/blobs/node.dm b/code/game/gamemodes/blob/blobs/node.dm
index f9a89391ee7..232511744ea 100644
--- a/code/game/gamemodes/blob/blobs/node.dm
+++ b/code/game/gamemodes/blob/blobs/node.dm
@@ -1,4 +1,4 @@
-/obj/effect/blob/node
+/obj/structure/blob/node
name = "blob node"
icon = 'icons/mob/blob.dmi'
icon_state = "blank_blob"
@@ -6,12 +6,12 @@
fire_resist = 2
var/mob/camera/blob/overmind
-/obj/effect/blob/node/New(loc, var/h = 100)
+/obj/structure/blob/node/New(loc, var/h = 100)
blob_nodes += src
processing_objects.Add(src)
..(loc, h)
-/obj/effect/blob/node/adjustcolors(var/a_color)
+/obj/structure/blob/node/adjustcolors(var/a_color)
overlays.Cut()
color = null
var/image/I = new('icons/mob/blob.dmi', "blob")
@@ -20,15 +20,15 @@
var/image/C = new('icons/mob/blob.dmi', "blob_node_overlay")
src.overlays += C
-/obj/effect/blob/node/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/structure/blob/node/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
return
-/obj/effect/blob/node/Destroy()
+/obj/structure/blob/node/Destroy()
blob_nodes -= src
processing_objects.Remove(src)
return ..()
-/obj/effect/blob/node/Life()
+/obj/structure/blob/node/Life()
if(overmind)
for(var/i = 1; i < 8; i += i)
Pulse(5, i, overmind.blob_reagent_datum.color)
@@ -38,7 +38,7 @@
health = min(initial(health), health + 1)
color = null
-/obj/effect/blob/node/update_icon()
+/obj/structure/blob/node/update_icon()
if(health <= 0)
qdel(src)
return
diff --git a/code/game/gamemodes/blob/blobs/resource.dm b/code/game/gamemodes/blob/blobs/resource.dm
index d5b867e96c0..f5d838fd0a2 100644
--- a/code/game/gamemodes/blob/blobs/resource.dm
+++ b/code/game/gamemodes/blob/blobs/resource.dm
@@ -1,4 +1,4 @@
-/obj/effect/blob/resource
+/obj/structure/blob/resource
name = "resource blob"
icon = 'icons/mob/blob.dmi'
icon_state = "blob_resource"
@@ -7,11 +7,11 @@
var/mob/camera/blob/overmind = null
var/resource_delay = 0
-/obj/effect/blob/resource/update_icon()
+/obj/structure/blob/resource/update_icon()
if(health <= 0)
qdel(src)
-/obj/effect/blob/resource/run_action()
+/obj/structure/blob/resource/run_action()
if(resource_delay > world.time)
return 0
diff --git a/code/game/gamemodes/blob/blobs/shield.dm b/code/game/gamemodes/blob/blobs/shield.dm
index 1c145f4404f..5ae1a040ab6 100644
--- a/code/game/gamemodes/blob/blobs/shield.dm
+++ b/code/game/gamemodes/blob/blobs/shield.dm
@@ -1,4 +1,4 @@
-/obj/effect/blob/shield
+/obj/structure/blob/shield
name = "strong blob"
icon = 'icons/mob/blob.dmi'
icon_state = "blob_idle"
@@ -7,15 +7,15 @@
fire_resist = 2
-/obj/effect/blob/shield/update_icon()
+/obj/structure/blob/shield/update_icon()
if(health <= 0)
qdel(src)
return
return
-/obj/effect/blob/shield/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/structure/blob/shield/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
return
-/obj/effect/blob/shield/CanPass(atom/movable/mover, turf/target, height=0)
+/obj/structure/blob/shield/CanPass(atom/movable/mover, turf/target, height=0)
if(istype(mover) && mover.checkpass(PASSBLOB)) return 1
return 0
diff --git a/code/game/gamemodes/blob/blobs/storage.dm b/code/game/gamemodes/blob/blobs/storage.dm
index b6c993f82fe..f29fb9af405 100644
--- a/code/game/gamemodes/blob/blobs/storage.dm
+++ b/code/game/gamemodes/blob/blobs/storage.dm
@@ -1,4 +1,4 @@
-/obj/effect/blob/storage
+/obj/structure/blob/storage
name = "storage blob"
icon = 'icons/mob/blob.dmi'
icon_state = "blob_resource"
@@ -6,11 +6,11 @@
fire_resist = 2
var/mob/camera/blob/overmind = null
-/obj/effect/blob/storage/update_icon()
+/obj/structure/blob/storage/update_icon()
if(health <= 0)
overmind.max_blob_points -= 50
qdel(src)
-/obj/effect/blob/storage/proc/update_max_blob_points(var/new_point_increase)
+/obj/structure/blob/storage/proc/update_max_blob_points(var/new_point_increase)
if(overmind)
overmind.max_blob_points += new_point_increase
\ No newline at end of file
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index e6bb0e76be9..87d2fd2b99c 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -11,7 +11,7 @@
pass_flags = PASSBLOB
faction = list("blob")
- var/obj/effect/blob/core/blob_core = null // The blob overmind's core
+ var/obj/structure/blob/core/blob_core = null // The blob overmind's core
var/blob_points = 0
var/max_blob_points = 100
var/last_attack = 0
@@ -117,7 +117,7 @@
stat(null, "Power Stored: [blob_points]/[max_blob_points]")
/mob/camera/blob/Move(var/NewLoc, var/Dir = 0)
- var/obj/effect/blob/B = locate() in range("3x3", NewLoc)
+ var/obj/structure/blob/B = locate() in range("3x3", NewLoc)
if(B)
loc = NewLoc
else
diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm
index cfd72f71a7e..dfae19f5135 100644
--- a/code/game/gamemodes/blob/powers.dm
+++ b/code/game/gamemodes/blob/powers.dm
@@ -27,7 +27,7 @@
for(var/i = 1; i <= blob_nodes.len; i++)
nodes["Blob Node #[i]"] = blob_nodes[i]
var/node_name = input(src, "Choose a node to jump to.", "Node Jump") in nodes
- var/obj/effect/blob/node/chosen_node = nodes[node_name]
+ var/obj/structure/blob/node/chosen_node = nodes[node_name]
if(chosen_node)
src.loc = chosen_node.loc
@@ -41,13 +41,13 @@
/mob/camera/blob/proc/create_shield(var/turf/T)
- var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
+ var/obj/structure/blob/B = (locate(/obj/structure/blob) in T)
if(!B)//We are on a blob
to_chat(src, "There is no blob here!")
return
- if(!istype(B, /obj/effect/blob/normal))
+ if(!istype(B, /obj/structure/blob/normal))
to_chat(src, "Unable to use this blob, find a normal one.")
return
@@ -55,7 +55,7 @@
return
B.color = blob_reagent_datum.color
- B.change_to(/obj/effect/blob/shield)
+ B.change_to(/obj/structure/blob/shield)
return
@@ -72,17 +72,17 @@
if(!T)
return
- var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
+ var/obj/structure/blob/B = (locate(/obj/structure/blob) in T)
if(!B)//We are on a blob
to_chat(src, "There is no blob here!")
return
- if(!istype(B, /obj/effect/blob/normal))
+ if(!istype(B, /obj/structure/blob/normal))
to_chat(src, "Unable to use this blob, find a normal one.")
return
- for(var/obj/effect/blob/resource/blob in orange(4, T))
+ for(var/obj/structure/blob/resource/blob in orange(4, T))
to_chat(src, "There is a resource blob nearby, move more than 4 tiles away from it!")
return
@@ -90,8 +90,8 @@
return
B.color = blob_reagent_datum.color
- B.change_to(/obj/effect/blob/resource)
- var/obj/effect/blob/resource/R = locate() in T
+ B.change_to(/obj/structure/blob/resource)
+ var/obj/structure/blob/resource/R = locate() in T
if(R)
R.overmind = src
@@ -108,25 +108,25 @@
if(!T)
return
- var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
+ var/obj/structure/blob/B = (locate(/obj/structure/blob) in T)
if(!B)//We are on a blob
to_chat(src, "There is no blob here!")
return
- if(!istype(B, /obj/effect/blob/normal))
+ if(!istype(B, /obj/structure/blob/normal))
to_chat(src, "Unable to use this blob, find a normal one.")
return
- for(var/obj/effect/blob/node/blob in orange(5, T))
+ for(var/obj/structure/blob/node/blob in orange(5, T))
to_chat(src, "There is another node nearby, move more than 5 tiles away from it!")
return
if(!can_buy(60))
return
- B.change_to(/obj/effect/blob/node)
- var/obj/effect/blob/node/R = locate() in T
+ B.change_to(/obj/structure/blob/node)
+ var/obj/structure/blob/node/R = locate() in T
if(R)
R.adjustcolors(blob_reagent_datum.color)
R.overmind = src
@@ -144,25 +144,25 @@
if(!T)
return
- var/obj/effect/blob/B = locate(/obj/effect/blob) in T
+ var/obj/structure/blob/B = locate(/obj/structure/blob) in T
if(!B)
to_chat(src, "You must be on a blob!")
return
- if(!istype(B, /obj/effect/blob/normal))
+ if(!istype(B, /obj/structure/blob/normal))
to_chat(src, "Unable to use this blob, find a normal one.")
return
- for(var/obj/effect/blob/factory/blob in orange(7, T))
+ for(var/obj/structure/blob/factory/blob in orange(7, T))
to_chat(src, "There is a factory blob nearby, move more than 7 tiles away from it!")
return
if(!can_buy(60))
return
- B.change_to(/obj/effect/blob/factory)
+ B.change_to(/obj/structure/blob/factory)
B.color = blob_reagent_datum.color
- var/obj/effect/blob/factory/R = locate() in T
+ var/obj/structure/blob/factory/R = locate() in T
if(R)
R.overmind = src
return
@@ -178,12 +178,12 @@
if(!T)
return
- var/obj/effect/blob/B = locate(/obj/effect/blob) in T
+ var/obj/structure/blob/B = locate(/obj/structure/blob) in T
if(!B)
to_chat(src, "You must be on a blob!")
return
- if(!istype(B, /obj/effect/blob/factory))
+ if(!istype(B, /obj/structure/blob/factory))
to_chat(src, "Unable to use this blob, find a factory blob.")
return
@@ -210,7 +210,7 @@
if(!T)
return
- var/obj/effect/blob/node/B = locate(/obj/effect/blob/node) in T
+ var/obj/structure/blob/node/B = locate(/obj/structure/blob/node) in T
if(!B)
to_chat(src, "You must be on a blob node!")
return
@@ -234,12 +234,12 @@
if(!T)
return
- var/obj/effect/blob/B = locate(/obj/effect/blob) in T
+ var/obj/structure/blob/B = locate(/obj/structure/blob) in T
if(!B)
to_chat(src, "You must be on a blob!")
return
- if(istype(B, /obj/effect/blob/core))
+ if(istype(B, /obj/structure/blob/core))
to_chat(src, "Unable to remove this blob.")
return
@@ -261,12 +261,12 @@
if(!can_attack())
return
- var/obj/effect/blob/B = locate() in T
+ var/obj/structure/blob/B = locate() in T
if(B)
to_chat(src, "There is a blob here!")
return
- var/obj/effect/blob/OB = locate() in circlerange(T, 1)
+ var/obj/structure/blob/OB = locate() in circlerange(T, 1)
if(!OB)
to_chat(src, "There is no blob adjacent to you.")
return
@@ -319,7 +319,7 @@
if(!blob_nodes || !blob_nodes.len)
to_chat(src, "A node is required to birth your offspring...")
return
- var/obj/effect/blob/node/N = locate(/obj/effect/blob) in blob_nodes
+ var/obj/structure/blob/node/N = locate(/obj/structure/blob) in blob_nodes
if(!N)
to_chat(src, "A node is required to birth your offspring...")
return
@@ -328,7 +328,7 @@
return
verbs -= /mob/camera/blob/verb/split_consciousness //we've used our split_consciousness
- new /obj/effect/blob/core/ (get_turf(N), 200, null, blob_core.point_rate, "offspring")
+ new /obj/structure/blob/core/ (get_turf(N), 200, null, blob_core.point_rate, "offspring")
qdel(N)
if(ticker && ticker.mode.name == "blob")
@@ -362,17 +362,17 @@
if(!T)
return
- var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
+ var/obj/structure/blob/B = (locate(/obj/structure/blob) in T)
if(!B)//We are on a blob
to_chat(src, "There is no blob here!")
return
- if(!istype(B, /obj/effect/blob/normal))
+ if(!istype(B, /obj/structure/blob/normal))
to_chat(src, "Unable to use this blob, find a normal one.")
return
- for(var/obj/effect/blob/storage/blob in orange(3, T))
+ for(var/obj/structure/blob/storage/blob in orange(3, T))
to_chat(src, "There is a storage blob nearby, move more than 4 tiles away from it!")
return
@@ -380,8 +380,8 @@
return
B.color = blob_reagent_datum.color
- B.change_to(/obj/effect/blob/storage)
- var/obj/effect/blob/storage/R = locate() in T
+ B.change_to(/obj/structure/blob/storage)
+ var/obj/structure/blob/storage/R = locate() in T
if(R)
R.overmind = src
R.update_max_blob_points(50)
@@ -400,7 +400,7 @@
var/datum/reagent/blob/B = pick((subtypesof(/datum/reagent/blob) - blob_reagent_datum.type))
blob_reagent_datum = new B
- for(var/obj/effect/blob/BL in blobs)
+ for(var/obj/structure/blob/BL in blobs)
BL.adjustcolors(blob_reagent_datum.color)
for(var/mob/living/simple_animal/hostile/blob/BLO)
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index 1de939c40e7..50d70d582ce 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -1,5 +1,5 @@
//I will need to recode parts of this but I am way too tired atm
-/obj/effect/blob
+/obj/structure/blob
name = "blob"
icon = 'icons/mob/blob.dmi'
light_range = 3
@@ -13,7 +13,7 @@
var/fire_resist = 1
-/obj/effect/blob/New(loc)
+/obj/structure/blob/New(loc)
blobs += src
src.dir = pick(1, 2, 4, 8)
src.update_icon()
@@ -23,37 +23,37 @@
return
-/obj/effect/blob/Destroy()
+/obj/structure/blob/Destroy()
blobs -= src
if(isturf(loc)) //Necessary because Expand() is retarded and spawns a blob and then deletes it
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
return ..()
-/obj/effect/blob/CanPass(atom/movable/mover, turf/target, height=0)
+/obj/structure/blob/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0) return 1
if(istype(mover) && mover.checkpass(PASSBLOB)) return 1
return 0
-/obj/effect/blob/CanAStarPass(ID, dir, caller)
+/obj/structure/blob/CanAStarPass(ID, dir, caller)
. = 0
if(ismovableatom(caller))
var/atom/movable/mover = caller
. = . || mover.checkpass(PASSBLOB)
-/obj/effect/blob/process()
+/obj/structure/blob/process()
Life()
return
-/obj/effect/blob/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/structure/blob/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
..()
var/damage = Clamp(0.01 * exposed_temperature, 0, 4)
take_damage(damage, BURN)
-/obj/effect/blob/proc/Life()
+/obj/structure/blob/proc/Life()
return
-/obj/effect/blob/proc/RegenHealth()
+/obj/structure/blob/proc/RegenHealth()
// All blobs heal over time when pulsed, but it has a cool down
if(health_timestamp > world.time)
return 0
@@ -63,7 +63,7 @@
health_timestamp = world.time + 10 // 1 seconds
-/obj/effect/blob/proc/Pulse(var/pulse = 0, var/origin_dir = 0, var/a_color)//Todo: Fix spaceblob expand
+/obj/structure/blob/proc/Pulse(var/pulse = 0, var/origin_dir = 0, var/a_color)//Todo: Fix spaceblob expand
set background = BACKGROUND_ENABLED
@@ -83,7 +83,7 @@
var/dirn = pick(dirs)
dirs.Remove(dirn)
var/turf/T = get_step(src, dirn)
- var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
+ var/obj/structure/blob/B = (locate(/obj/structure/blob) in T)
if(!B)
expand(T,1,a_color)//No blob here so try and expand
return
@@ -94,11 +94,11 @@
return
-/obj/effect/blob/proc/run_action()
+/obj/structure/blob/proc/run_action()
return 0
-/obj/effect/blob/proc/expand(var/turf/T = null, var/prob = 1, var/a_color)
+/obj/structure/blob/proc/expand(var/turf/T = null, var/prob = 1, var/a_color)
if(prob && !prob(health)) return
if(istype(T, /turf/space) && prob(75)) return
if(!T)
@@ -107,11 +107,11 @@
var/dirn = pick(dirs)
dirs.Remove(dirn)
T = get_step(src, dirn)
- if(!(locate(/obj/effect/blob) in T)) break
+ if(!(locate(/obj/structure/blob) in T)) break
else T = null
if(!T) return 0
- var/obj/effect/blob/normal/B = new /obj/effect/blob/normal(src.loc, min(src.health, 30))
+ var/obj/structure/blob/normal/B = new /obj/structure/blob/normal(src.loc, min(src.health, 30))
B.color = a_color
B.density = 1
if(T.Enter(B,src))//Attempt to move into the tile
@@ -126,22 +126,22 @@
A.blob_act()
return 1
-/obj/effect/blob/ex_act(severity)
+/obj/structure/blob/ex_act(severity)
..()
var/damage = 150 - 20 * severity
take_damage(damage, BRUTE)
-/obj/effect/blob/bullet_act(var/obj/item/projectile/Proj)
+/obj/structure/blob/bullet_act(var/obj/item/projectile/Proj)
..()
take_damage(Proj.damage, Proj.damage_type)
return 0
-/obj/effect/blob/Crossed(var/mob/living/L)
+/obj/structure/blob/Crossed(var/mob/living/L)
..()
L.blob_act()
-/obj/effect/blob/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
+/obj/structure/blob/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
@@ -150,7 +150,7 @@
playsound(src.loc, 'sound/items/Welder.ogg', 100, 1)
take_damage(W.force, W.damtype)
-/obj/effect/blob/attack_animal(mob/living/simple_animal/M as mob)
+/obj/structure/blob/attack_animal(mob/living/simple_animal/M as mob)
M.changeNext_move(CLICK_CD_MELEE)
M.do_attack_animation(src)
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
@@ -159,7 +159,7 @@
take_damage(damage, BRUTE)
return
-/obj/effect/blob/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
+/obj/structure/blob/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
M.changeNext_move(CLICK_CD_MELEE)
M.do_attack_animation(src)
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
@@ -168,7 +168,7 @@
take_damage(damage, BRUTE)
return
-/obj/effect/blob/proc/take_damage(damage, damage_type)
+/obj/structure/blob/proc/take_damage(damage, damage_type)
if(!damage || damage_type == STAMINA) // Avoid divide by zero errors
return
switch(damage_type)
@@ -179,38 +179,38 @@
health -= damage
update_icon()
-/obj/effect/blob/proc/change_to(var/type)
+/obj/structure/blob/proc/change_to(var/type)
if(!ispath(type))
error("[type] is an invalid type for the blob.")
- var/obj/effect/blob/B = new type(src.loc)
- if(!istype(type, /obj/effect/blob/core) || !istype(type, /obj/effect/blob/node))
+ var/obj/structure/blob/B = new type(src.loc)
+ if(!istype(type, /obj/structure/blob/core) || !istype(type, /obj/structure/blob/node))
B.color = color
else
B.adjustcolors(color)
qdel(src)
-/obj/effect/blob/proc/adjustcolors(var/a_color)
+/obj/structure/blob/proc/adjustcolors(var/a_color)
if(a_color)
color = a_color
return
-/obj/effect/blob/examine(mob/user)
+/obj/structure/blob/examine(mob/user)
..(user)
to_chat(user, "It looks like it's of a [get_chem_name()] kind.")
-/obj/effect/blob/proc/get_chem_name()
+/obj/structure/blob/proc/get_chem_name()
for(var/mob/camera/blob/B in mob_list)
if(lowertext(B.blob_reagent_datum.color) == lowertext(src.color)) // Goddamit why we use strings for these
return B.blob_reagent_datum.name
return "unknown"
-/obj/effect/blob/normal
+/obj/structure/blob/normal
icon_state = "blob"
light_range = 0
health = 21
-/obj/effect/blob/normal/update_icon()
+/obj/structure/blob/normal/update_icon()
if(health <= 0)
qdel(src)
else if(health <= 15)
diff --git a/code/game/gamemodes/changeling/powers/spiders.dm b/code/game/gamemodes/changeling/powers/spiders.dm
index 135fd92479c..348924c7d7b 100644
--- a/code/game/gamemodes/changeling/powers/spiders.dm
+++ b/code/game/gamemodes/changeling/powers/spiders.dm
@@ -9,7 +9,7 @@
//Makes some spiderlings. Good for setting traps and causing general trouble.
/obj/effect/proc_holder/changeling/spiders/sting_action(var/mob/user)
for(var/i=0, i<2, i++)
- var/obj/effect/spider/spiderling/S = new(user.loc)
+ var/obj/structure/spider/spiderling/S = new(user.loc)
S.grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/hunter
feedback_add_details("changeling_powers","SI")
diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm
index b59f1fd8454..d3e60b2fb98 100644
--- a/code/game/gamemodes/miniantags/abduction/gland.dm
+++ b/code/game/gamemodes/miniantags/abduction/gland.dm
@@ -165,7 +165,7 @@
/obj/item/organ/internal/gland/spiderman/activate()
to_chat(owner, "You feel something crawling in your skin.")
owner.faction |= "spiders"
- new /obj/effect/spider/spiderling(owner.loc)
+ new /obj/structure/spider/spiderling(owner.loc)
/obj/item/organ/internal/gland/egg
origin_tech = "materials=4;biotech=6;abductor=3"
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index 70b5f82172f..a3ac5a9da6f 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -269,7 +269,7 @@
resources++
do_attack_animation(target)
changeNext_move(CLICK_CD_MELEE)
- var/obj/effect/swarmer/integrate/I = new /obj/effect/swarmer/integrate(get_turf(target))
+ var/obj/structure/swarmer/integrate/I = new /obj/structure/swarmer/integrate(get_turf(target))
I.pixel_x = target.pixel_x
I.pixel_y = target.pixel_y
if(istype(target, /obj/item/stack))
@@ -283,7 +283,7 @@
return
/mob/living/simple_animal/hostile/swarmer/proc/DisIntegrate(var/atom/movable/target)
- new /obj/effect/swarmer/disintegration(get_turf(target))
+ new /obj/structure/swarmer/disintegration(get_turf(target))
do_attack_animation(target)
changeNext_move(CLICK_CD_MELEE)
target.ex_act(3)
@@ -317,7 +317,7 @@
/mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(var/obj/machinery/target)
do_attack_animation(target)
to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.")
- var/obj/effect/swarmer/dismantle/D = new /obj/effect/swarmer/dismantle(get_turf(target))
+ var/obj/structure/swarmer/dismantle/D = new /obj/structure/swarmer/dismantle(get_turf(target))
D.pixel_x = target.pixel_x
D.pixel_y = target.pixel_y
if(do_mob(src, target, 100))
@@ -330,7 +330,7 @@
if(target.component_parts && target.component_parts.len)
for(var/obj/item/I in target.component_parts)
I.forceMove(M.loc)
- var/obj/effect/swarmer/disintegration/N = new /obj/effect/swarmer/disintegration(get_turf(target))
+ var/obj/structure/swarmer/disintegration/N = new /obj/structure/swarmer/disintegration(get_turf(target))
N.pixel_x = target.pixel_x
N.pixel_y = target.pixel_y
target.dropContents()
@@ -342,74 +342,72 @@
-/obj/effect/swarmer //Default swarmer effect object visual feedback
+/obj/structure/swarmer //Default swarmer effect object visual feedback
name = "swarmer ui"
desc = null
gender = NEUTER
icon = 'icons/mob/swarmer.dmi'
icon_state = "ui_light"
- mouse_opacity = 0
- layer = 4
+ layer = MOB_LAYER
+ anchored = 1
unacidable = 1
-
-/obj/effect/swarmer/disintegration
- icon_state = "disintegrate"
-
-/obj/effect/swarmer/disintegration/New()
- playsound(src.loc, "sparks", 100, 1)
- spawn(10)
- qdel(src)
-
-/obj/effect/swarmer/dismantle
- icon_state = "dismantle"
-
-/obj/effect/swarmer/dismantle/New()
- spawn(25)
- qdel(src)
-
-/obj/effect/swarmer/integrate
- icon_state = "integrate"
-
-/obj/effect/swarmer/integrate/New()
- spawn(5)
- qdel(src)
-
-/obj/effect/swarmer/destructible //Default destroyable object for swarmer constructions
light_range = 1
mouse_opacity = 1
var/health = 30
-/obj/effect/swarmer/destructible/proc/TakeDamage(damage)
+/obj/structure/swarmer/disintegration
+ icon_state = "disintegrate"
+
+/obj/structure/swarmer/disintegration/New()
+ playsound(src.loc, "sparks", 100, 1)
+ spawn(10)
+ qdel(src)
+
+/obj/structure/swarmer/dismantle
+ icon_state = "dismantle"
+
+/obj/structure/swarmer/dismantle/New()
+ spawn(25)
+ qdel(src)
+
+/obj/structure/swarmer/integrate
+ icon_state = "integrate"
+
+/obj/structure/swarmer/integrate/New()
+ spawn(5)
+ qdel(src)
+
+/obj/structure/swarmer/proc/TakeDamage(damage)
health -= damage
if(health <= 0)
qdel(src)
-/obj/effect/swarmer/destructible/bullet_act(obj/item/projectile/Proj)
+/obj/structure/swarmer/bullet_act(obj/item/projectile/Proj)
if(Proj.damage)
if((Proj.damage_type == BRUTE || Proj.damage_type == BURN))
TakeDamage(Proj.damage)
..()
-/obj/effect/swarmer/destructible/attackby(obj/item/weapon/I, mob/living/user, params)
+/obj/structure/swarmer/attackby(obj/item/weapon/I, mob/living/user, params)
if(istype(I, /obj/item/weapon))
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
TakeDamage(I.force)
return
-/obj/effect/swarmer/destructible/ex_act()
+/obj/structure/swarmer/ex_act()
qdel(src)
return
-/obj/effect/swarmer/destructible/blob_act()
+/obj/structure/swarmer/blob_act()
qdel(src)
return
-/obj/effect/swarmer/destructible/emp_act()
+/obj/structure/swarmer/emp_act()
qdel(src)
return
-/obj/effect/swarmer/destructible/attack_animal(mob/living/user)
+/obj/structure/swarmer/attack_animal(mob/living/user)
if(isanimal(user))
var/mob/living/simple_animal/S = user
S.do_attack_animation(src)
@@ -418,24 +416,14 @@
TakeDamage(rand(S.melee_damage_lower, S.melee_damage_upper))
return
-/mob/living/simple_animal/hostile/swarmer/proc/CreateTrap()
- set name = "Create trap"
- set category = "Swarmer"
- set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources"
- if(/obj/effect/swarmer/destructible/trap in loc)
- to_chat(src, "There is already a trap here. Aborting.")
- return
- Fabricate(/obj/effect/swarmer/destructible/trap, 5)
- return
-
-/obj/effect/swarmer/destructible/trap
+/obj/structure/swarmer/trap
name = "swarmer trap"
desc = "A quickly assembled trap that electrifies living beings and overwhelms machine sensors. Will not retain its form if damaged enough."
icon_state = "trap"
light_range = 1
health = 10
-/obj/effect/swarmer/destructible/trap/Crossed(var/atom/movable/AM)
+/obj/structure/swarmer/trap/Crossed(var/atom/movable/AM)
if(isliving(AM))
var/mob/living/L = AM
if(!istype(L, /mob/living/simple_animal/hostile/swarmer))
@@ -446,21 +434,29 @@
qdel(src)
..()
+/mob/living/simple_animal/hostile/swarmer/proc/CreateTrap()
+ set name = "Create trap"
+ set category = "Swarmer"
+ set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources"
+ if(locate(/obj/structure/swarmer/trap) in loc)
+ to_chat(src, "There is already a trap here. Aborting.")
+ return
+ Fabricate(/obj/structure/swarmer/trap, 5)
+
/mob/living/simple_animal/hostile/swarmer/proc/CreateBarricade()
set name = "Create barricade"
set category = "Swarmer"
set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through."
- if(/obj/effect/swarmer/destructible/blockade in loc)
+ if(locate(/obj/structure/swarmer/blockade) in loc)
to_chat(src, "There is already a blockade here. Aborting.")
return
if(resources < 5)
to_chat(src, "We do not have the resources for this!")
return
if(do_mob(src, src, 10))
- Fabricate(/obj/effect/swarmer/destructible/blockade, 5)
- return
+ Fabricate(/obj/structure/swarmer/blockade, 5)
-/obj/effect/swarmer/destructible/blockade
+/obj/structure/swarmer/blockade
name = "swarmer blockade"
desc = "A quickly assembled energy blockade. Will not retain its form if damaged enough, but disabler beams and swarmers pass right through."
icon_state = "barricade"
@@ -469,7 +465,7 @@
density = 1
anchored = 1
-/obj/effect/swarmer/destructible/blockade/CanPass(atom/movable/O)
+/obj/structure/swarmer/blockade/CanPass(atom/movable/O)
if(isswarmer(O))
return 1
if(istype(O, /obj/item/projectile/beam/disabler))
diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm
index 6bcc43f97af..fd63864442d 100644
--- a/code/game/gamemodes/shadowling/shadowling_abilities.dm
+++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm
@@ -109,7 +109,7 @@
charge_counter = charge_max
return
to_chat(user, "You silently disable all nearby lights.")
- for(var/obj/effect/glowshroom/G in orange(2, user)) //Why the fuck was this in the loop below?
+ for(var/obj/structure/glowshroom/G in orange(2, user)) //Why the fuck was this in the loop below?
G.visible_message("\The [G] withers away!")
qdel(G)
for(var/turf/T in targets)
diff --git a/code/game/machinery/Freezer.dm b/code/game/machinery/Freezer.dm
index 0c207c8217e..244b3b04977 100644
--- a/code/game/machinery/Freezer.dm
+++ b/code/game/machinery/Freezer.dm
@@ -44,7 +44,7 @@
min_temperature = max(0,T0C - (170 + (T*15)))
current_heat_capacity = 1000 * ((H - 1) ** 2)
-/obj/machinery/atmospherics/unary/cold_sink/freezer/construction()
+/obj/machinery/atmospherics/unary/cold_sink/freezer/on_construction()
..(dir,dir)
/obj/machinery/atmospherics/unary/cold_sink/freezer/attackby(obj/item/I, mob/user, params)
@@ -193,7 +193,7 @@
component_parts += new /obj/item/stack/cable_coil(src, 1)
RefreshParts()
-/obj/machinery/atmospherics/unary/heat_reservoir/heater/construction()
+/obj/machinery/atmospherics/unary/heat_reservoir/heater/on_construction()
..(dir,dir)
/obj/machinery/atmospherics/unary/heat_reservoir/heater/RefreshParts()
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index 6ad0d3f3ecf..742a253015c 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -51,7 +51,7 @@
/obj/machinery/ai_slipper/attack_ai(mob/user)
return attack_hand(user)
-
+
/obj/machinery/ai_slipper/attack_ghost(mob/user)
return attack_hand(user)
@@ -93,7 +93,7 @@
if(cooldown_on || disabled)
return
else
- new /obj/effect/effect/foam(loc)
+ new /obj/structure/foam(loc)
uses--
cooldown_on = 1
cooldown_time = world.timeofday + 100
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 11778503e9d..955ed3b7e56 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -19,6 +19,12 @@
overlay_layer = layer
..()
+/obj/machinery/computer/Destroy()
+ if(circuit)
+ qdel(circuit)
+ circuit = null
+ return ..()
+
/obj/machinery/computer/initialize()
..()
power_change()
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 99b53415e5b..a714e24febc 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -147,7 +147,7 @@
if(component_check)
playsound(src.loc, P.usesound, 50, 1)
var/obj/machinery/new_machine = new src.circuit.build_path(src.loc)
- new_machine.construction()
+ new_machine.on_construction()
for(var/obj/O in new_machine.component_parts)
qdel(O)
new_machine.component_parts = list()
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index de5d69c2bbc..55e1e2ba5eb 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -52,7 +52,7 @@
component_parts += new /obj/item/stack/cable_coil(null, 1)
RefreshParts()
-/obj/machinery/atmospherics/unary/cryo_cell/construction()
+/obj/machinery/atmospherics/unary/cryo_cell/on_construction()
..(dir,dir)
/obj/machinery/atmospherics/unary/cryo_cell/RefreshParts()
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 77d0f971d6e..dbbe53055a4 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -204,7 +204,7 @@
else
close()
-/obj/machinery/door/firedoor/proc/deconstruct(disassembled = TRUE)
+/obj/machinery/door/firedoor/deconstruct(disassembled = TRUE)
if(can_deconstruct)
var/obj/structure/firelock_frame/F = new assembly_type(get_turf(src))
if(disassembled)
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 90c4d82befe..e5f4b3fc71f 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -396,15 +396,18 @@ Class Procs:
/obj/machinery/proc/default_deconstruction_crowbar(var/obj/item/weapon/crowbar/C, var/ignore_panel = 0)
if(istype(C) && (panel_open || ignore_panel))
playsound(loc, C.usesound, 50, 1)
- spawn_frame()
- for(var/obj/item/I in component_parts)
- if(I.reliability != 100 && crit_fail)
- I.crit_fail = 1
- I.forceMove(loc)
- qdel(src)
+ deconstruct()
return 1
return 0
+/obj/machinery/proc/deconstruct(disassembled = TRUE)
+ on_deconstruction()
+ spawn_frame()
+ for(var/obj/item/I in component_parts)
+ if(I.reliability != 100 && crit_fail)
+ I.crit_fail = 1
+ I.forceMove(loc)
+ qdel(src)
/obj/machinery/proc/spawn_frame()
var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(loc)
@@ -490,18 +493,6 @@ Class Procs:
if(user.research_scanner && component_parts)
display_parts(user)
-/obj/machinery/proc/dismantle()
- playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
- var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(loc)
- M.state = 2
- M.icon_state = "box_1"
- for(var/obj/I in component_parts)
- if(I.reliability != 100 && crit_fail)
- I.crit_fail = 1
- I.loc = loc
- qdel(src)
- return 1
-
/obj/machinery/proc/on_assess_perp(mob/living/carbon/human/perp)
return 0
@@ -573,7 +564,10 @@ Class Procs:
return 0
//called on machinery construction (i.e from frame to machinery) but not on initialization
-/obj/machinery/proc/construction()
+/obj/machinery/proc/on_construction()
+ return
+
+/obj/machinery/proc/on_deconstruction()
return
/obj/machinery/proc/can_be_overridden()
diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm
index 734bb09f60b..e98c4e90c30 100644
--- a/code/game/machinery/overview.dm
+++ b/code/game/machinery/overview.dm
@@ -258,7 +258,7 @@
else
colour = rgb(255,128,128)
- //if(istype(AM, /obj/effect/blob))
+ //if(istype(AM, /obj/structure/blob))
// colour = rgb(255,0,255)
var/area/A = T.loc
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index ef42de6ca60..9af2e836ef9 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -153,11 +153,11 @@
src.pipe_type = PIPE_OMNI_FILTER
else if(istype(make_from, /obj/machinery/atmospherics/binary/circulator))
src.pipe_type = PIPE_CIRCULATOR
-
+
var/obj/machinery/atmospherics/trinary/triP = make_from
if(istype(triP) && triP.flipped)
src.flipped = 1
-
+
var/obj/machinery/atmospherics/binary/circulator/circP = make_from
if(istype(circP) && circP.side == circP.CIRC_RIGHT)
src.flipped = 1
@@ -282,7 +282,7 @@
PIPE_INSULATED_BENT, \
PIPE_SUPPLY_BENT, \
PIPE_SCRUBBERS_BENT)
-
+
// rotate the pipe item clockwise
/obj/item/pipe/verb/rotate()
@@ -292,7 +292,7 @@
if( usr.stat || usr.restrained() )
return
-
+
if(pipe_type == PIPE_CIRCULATOR)
flip()
return
@@ -302,7 +302,7 @@
fixdir()
return
-
+
/obj/item/pipe/verb/flip()
set category = "Object"
set name = "Flip Pipe"
@@ -342,11 +342,11 @@
/obj/item/pipe/proc/get_pipe_dir()
if(!dir)
return 0
-
+
var/direct = dir
if(flipped)
- direct = turn(dir, 45)
-
+ direct = turn(dir, 45)
+
var/flip = turn(direct, 180)
var/cw = turn(direct, -90)
var/acw = turn(direct, 90)
@@ -415,7 +415,7 @@
return dir
else
return 0
-
+
/obj/item/pipe/proc/unflip(var/direction)
if(!(direction in cardinal))
return turn(direction, 45)
@@ -440,12 +440,12 @@
if(!istype(W, /obj/item/weapon/wrench))
return ..()
-
+
if(!isturf(src.loc))
return 1
fixdir()
-
+
var/pipe_dir = get_pipe_dir()
for(var/obj/machinery/atmospherics/M in src.loc)
@@ -456,79 +456,79 @@
switch(pipe_type) //What kind of heartless person thought of doing this?
if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT)
var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc )
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT)
var/obj/machinery/atmospherics/pipe/simple/hidden/supply/P = new( src.loc )
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT)
var/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers/P = new( src.loc )
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_UNIVERSAL)
var/obj/machinery/atmospherics/pipe/simple/hidden/universal/P = new( src.loc )
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_HE_STRAIGHT, PIPE_HE_BENT)
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new ( src.loc )
P.initialize_directions_he = pipe_dir
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_CONNECTOR) // connector
var/obj/machinery/atmospherics/unary/portables_connector/C = new( src.loc )
if(pipename)
C.name = pipename
- C.construction(dir, pipe_dir, color)
+ C.on_construction(dir, pipe_dir, color)
if(PIPE_MANIFOLD) //manifold
var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc )
- M.construction(dir, pipe_dir, color)
+ M.on_construction(dir, pipe_dir, color)
if(PIPE_SUPPLY_MANIFOLD) //manifold
var/obj/machinery/atmospherics/pipe/manifold/hidden/supply/M = new( src.loc )
- M.construction(dir, pipe_dir, color)
+ M.on_construction(dir, pipe_dir, color)
if(PIPE_SCRUBBERS_MANIFOLD) //manifold
var/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers/M = new( src.loc )
- M.construction(dir, pipe_dir, color)
+ M.on_construction(dir, pipe_dir, color)
if(PIPE_MANIFOLD4W) //4-way manifold
var/obj/machinery/atmospherics/pipe/manifold4w/M = new( src.loc )
- M.construction(dir, pipe_dir, color)
-
+ M.on_construction(dir, pipe_dir, color)
+
if(PIPE_SUPPLY_MANIFOLD4W) //4-way manifold
var/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply/M = new( src.loc )
- M.construction(dir, pipe_dir, color)
+ M.on_construction(dir, pipe_dir, color)
if(PIPE_SCRUBBERS_MANIFOLD4W) //4-way manifold
var/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers/M = new( src.loc )
- M.construction(dir, pipe_dir, color)
+ M.on_construction(dir, pipe_dir, color)
if(PIPE_JUNCTION)
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc )
P.initialize_directions_he = src.get_hdir()
- P.construction(dir, get_pdir(), color)
+ P.on_construction(dir, get_pdir(), color)
if(PIPE_UVENT) //unary vent
var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc )
- V.construction(dir, pipe_dir, color)
+ V.on_construction(dir, pipe_dir, color)
if(PIPE_MVALVE) //manual valve
var/obj/machinery/atmospherics/binary/valve/V = new( src.loc)
if(pipename)
V.name = pipename
- V.construction(dir, get_pdir(), color)
-
+ V.on_construction(dir, get_pdir(), color)
+
if(PIPE_DVALVE)
var/obj/machinery/atmospherics/binary/valve/digital/V = new( src.loc )
if(pipename)
V.name = pipename
- V.construction(dir, get_pdir(), color)
-
+ V.on_construction(dir, get_pdir(), color)
+
if(PIPE_PUMP) //gas pump
var/obj/machinery/atmospherics/binary/pump/P = new(src.loc)
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_TVALVE, PIPE_DTVALVE)
var/obj/machinery/atmospherics/trinary/P
@@ -544,81 +544,81 @@
P.flipped = flipped
if(pipename)
P.name = pipename
- P.construction(unflip(dir), pipe_dir, color)
-
+ P.on_construction(unflip(dir), pipe_dir, color)
+
if(PIPE_CIRCULATOR) //circulator
var/obj/machinery/atmospherics/binary/circulator/C = new(src.loc)
if(flipped)
C.side = C.CIRC_RIGHT
if(pipename)
C.name = pipename
- C.construction(C.dir, C.initialize_directions, color)
+ C.on_construction(C.dir, C.initialize_directions, color)
if(PIPE_SCRUBBER) //scrubber
var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc)
if(pipename)
S.name = pipename
- S.construction(dir, pipe_dir, color)
+ S.on_construction(dir, pipe_dir, color)
if(PIPE_INSULATED_STRAIGHT, PIPE_INSULATED_BENT)
var/obj/machinery/atmospherics/pipe/simple/insulated/P = new( src.loc )
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_CAP)
var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc)
- C.construction(dir, pipe_dir, color)
+ C.on_construction(dir, pipe_dir, color)
if(PIPE_SUPPLY_CAP)
var/obj/machinery/atmospherics/pipe/cap/hidden/supply/C = new(src.loc)
- C.construction(dir, pipe_dir, color)
+ C.on_construction(dir, pipe_dir, color)
if(PIPE_SCRUBBERS_CAP)
var/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers/C = new(src.loc)
- C.construction(dir, pipe_dir, color)
+ C.on_construction(dir, pipe_dir, color)
if(PIPE_PASSIVE_GATE) //passive gate
var/obj/machinery/atmospherics/binary/passive_gate/P = new(src.loc)
if(pipename)
P.name = pipename
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_VOLUME_PUMP) //volume pump
var/obj/machinery/atmospherics/binary/volume_pump/P = new(src.loc)
if(pipename)
P.name = pipename
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_HEAT_EXCHANGE) // heat exchanger
var/obj/machinery/atmospherics/unary/heat_exchanger/C = new( src.loc )
if(pipename)
C.name = pipename
- C.construction(dir, pipe_dir, color)
+ C.on_construction(dir, pipe_dir, color)
if(PIPE_INJECTOR) // air injector
var/obj/machinery/atmospherics/unary/outlet_injector/P = new( src.loc )
if(pipename)
P.name = pipename
- P.construction(dir, pipe_dir, color)
-
+ P.on_construction(dir, pipe_dir, color)
+
if(PIPE_DP_VENT)
var/obj/machinery/atmospherics/binary/dp_vent_pump/P = new(src.loc)
if(pipename)
P.name = pipename
- P.construction(dir, pipe_dir, color)
-
+ P.on_construction(dir, pipe_dir, color)
+
if(PIPE_PASV_VENT)
var/obj/machinery/atmospherics/unary/passive_vent/P = new(src.loc)
if(pipename)
P.name = pipename
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
if(PIPE_OMNI_MIXER)
var/obj/machinery/atmospherics/omni/mixer/P = new(loc)
- P.construction(dir, pipe_dir, color)
-
+ P.on_construction(dir, pipe_dir, color)
+
if(PIPE_OMNI_FILTER)
var/obj/machinery/atmospherics/omni/filter/P = new(loc)
- P.construction(dir, pipe_dir, color)
+ P.on_construction(dir, pipe_dir, color)
playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index fa6ea110c23..2f3995c1a8d 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -877,21 +877,22 @@ steam.start() -- spawns the effect
// Similar to smoke, but spreads out more
// metal foams leave behind a foamed metal wall
-/obj/effect/effect/foam
+/obj/structure/foam
name = "foam"
+ icon = 'icons/effects/effects.dmi'
icon_state = "foam"
opacity = 0
anchored = 1
density = 0
layer = OBJ_LAYER + 0.9
mouse_opacity = 0
+ animate_movement = 0
var/amount = 3
var/expand = 1
- animate_movement = 0
var/metal = 0
-/obj/effect/effect/foam/New(loc, var/ismetal=0)
+/obj/structure/foam/New(loc, var/ismetal=0)
..(loc)
icon_state = "[ismetal ? "m":""]foam"
if(!ismetal && reagents)
@@ -918,11 +919,11 @@ steam.start() -- spawns the effect
flick("[icon_state]-disolve", src)
sleep(5)
- delete()
+ qdel(src)
return
// on delete, transfer any reagents to the floor
-/obj/effect/effect/foam/Destroy()
+/obj/structure/foam/Destroy()
if(!metal && reagents)
reagents.handle_reactions()
for(var/atom/A in oview(1, src))
@@ -933,7 +934,7 @@ steam.start() -- spawns the effect
reagents.reaction(A, TOUCH, fraction)
return ..()
-/obj/effect/effect/foam/process()
+/obj/structure/foam/process()
if(--amount < 0)
return
@@ -948,11 +949,11 @@ steam.start() -- spawns the effect
if(!T.Enter(src))
continue
- var/obj/effect/effect/foam/F = locate() in T
+ var/obj/structure/foam/F = locate() in T
if(F)
continue
- F = new /obj/effect/effect/foam(T, metal)
+ F = new /obj/structure/foam(T, metal)
F.amount = amount
if(!metal)
F.create_reagents(15)
@@ -963,15 +964,15 @@ steam.start() -- spawns the effect
// foam disolves when heated
// except metal foams
-/obj/effect/effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/structure/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(!metal && prob(max(0, exposed_temperature - 475)))
flick("[icon_state]-disolve", src)
spawn(5)
- delete()
+ qdel(src)
-/obj/effect/effect/foam/Crossed(var/atom/movable/AM)
+/obj/structure/foam/Crossed(var/atom/movable/AM)
if(metal)
return
@@ -1016,13 +1017,13 @@ steam.start() -- spawns the effect
/datum/effect/system/foam_spread/start()
spawn(0)
- var/obj/effect/effect/foam/F = locate() in location
+ var/obj/structure/foam/F = locate() in location
if(F)
F.amount += amount
F.amount = min(F.amount, 27)
return
- F = new /obj/effect/effect/foam(location, metal)
+ F = new /obj/structure/foam(location, metal)
F.amount = amount
if(!metal) // don't carry other chemicals if a metal foam
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index 1f28e089832..4df0c51ed4d 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -1,6 +1,6 @@
//separate dm since hydro is getting bloated already
-/obj/effect/glowshroom
+/obj/structure/glowshroom
name = "glowshroom"
desc = "Mycena Bregprox, a species of mushroom that glows in the dark."
anchored = 1
@@ -16,32 +16,32 @@
var/spreadIntoAdjacentChance = 60
var/obj/item/seeds/myseed = /obj/item/seeds/glowshroom
-/obj/effect/glowshroom/glowcap
+/obj/structure/glowshroom/glowcap
name = "glowcap"
desc = "Mycena Ruthenia, a species of mushroom that, while it does glow in the dark, is not actually bioluminescent."
icon_state = "glowcap"
myseed = /obj/item/seeds/glowshroom/glowcap
-/obj/effect/glowshroom/shadowshroom
+/obj/structure/glowshroom/shadowshroom
name = "shadowshroom"
desc = "Mycena Umbra, a species of mushroom that emits shadow instead of light."
icon_state = "shadowshroom"
myseed = /obj/item/seeds/glowshroom/shadowshroom
-/obj/effect/glowshroom/single/Spread()
+/obj/structure/glowshroom/single/Spread()
return
-/obj/effect/glowshroom/examine(mob/user)
+/obj/structure/glowshroom/examine(mob/user)
. = ..()
to_chat(user, "This is a [generation]\th generation [name]!")
-/obj/effect/glowshroom/Destroy()
+/obj/structure/glowshroom/Destroy()
if(myseed)
qdel(myseed)
myseed = null
return ..()
-/obj/effect/glowshroom/New(loc, obj/item/seeds/newseed, mutate_stats)
+/obj/structure/glowshroom/New(loc, obj/item/seeds/newseed, mutate_stats)
..()
if(newseed)
myseed = newseed.Copy()
@@ -76,7 +76,7 @@
addtimer(src, "Spread", delay, FALSE)
-/obj/effect/glowshroom/proc/Spread()
+/obj/structure/glowshroom/proc/Spread()
var/turf/ownturf = get_turf(src)
var/shrooms_planted = 0
for(var/i in 1 to myseed.yield)
@@ -90,7 +90,7 @@
for(var/turf/simulated/floor/earth in view(3,src))
if(!ownturf.CanAtmosPass(earth))
continue
- if(spreadsIntoAdjacent || !locate(/obj/effect/glowshroom) in view(1,earth))
+ if(spreadsIntoAdjacent || !locate(/obj/structure/glowshroom) in view(1,earth))
possibleLocs += earth
CHECK_TICK
@@ -101,7 +101,7 @@
var/shroomCount = 0 //hacky
var/placeCount = 1
- for(var/obj/effect/glowshroom/shroom in newLoc)
+ for(var/obj/structure/glowshroom/shroom in newLoc)
shroomCount++
for(var/wallDir in cardinal)
var/turf/isWall = get_step(newLoc,wallDir)
@@ -110,7 +110,7 @@
if(shroomCount >= placeCount)
continue
- var/obj/effect/glowshroom/child = new type(newLoc, myseed, TRUE)
+ var/obj/structure/glowshroom/child = new type(newLoc, myseed, TRUE)
child.generation = generation + 1
shrooms_planted++
@@ -121,7 +121,7 @@
myseed.yield -= shrooms_planted
addtimer(src, "Spread", delay, FALSE)
-/obj/effect/glowshroom/proc/CalcDir(turf/location = loc)
+/obj/structure/glowshroom/proc/CalcDir(turf/location = loc)
var/direction = 16
for(var/wallDir in cardinal)
@@ -129,7 +129,7 @@
if(newTurf.density)
direction |= wallDir
- for(var/obj/effect/glowshroom/shroom in location)
+ for(var/obj/structure/glowshroom/shroom in location)
if(shroom == src)
continue
if(shroom.floor) //special
@@ -153,13 +153,13 @@
floor = 1
return 1
-/obj/effect/glowshroom/attackby(obj/item/I, mob/user)
+/obj/structure/glowshroom/attackby(obj/item/I, mob/user)
..()
if(I.damtype != STAMINA)
endurance -= I.force
CheckEndurance()
-/obj/effect/glowshroom/ex_act(severity)
+/obj/structure/glowshroom/ex_act(severity)
switch(severity)
if(1)
qdel(src)
@@ -170,11 +170,11 @@
if(prob(5))
qdel(src)
-/obj/effect/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/structure/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
endurance -= 5
CheckEndurance()
-/obj/effect/glowshroom/proc/CheckEndurance()
+/obj/structure/glowshroom/proc/CheckEndurance()
if(endurance <= 0)
qdel(src)
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 848c681576c..8ed8d045de4 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -1,5 +1,5 @@
//generic procs copied from obj/effect/alien
-/obj/effect/spider
+/obj/structure/spider
name = "web"
desc = "it's stringy and sticky"
icon = 'icons/effects/effects.dmi'
@@ -8,7 +8,7 @@
var/health = 15
//similar to weeds, but only barfed out by nurses manually
-/obj/effect/spider/ex_act(severity)
+/obj/structure/spider/ex_act(severity)
switch(severity)
if(1.0)
qdel(src)
@@ -20,7 +20,7 @@
qdel(src)
return
-/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user, params)
+/obj/structure/spider/attackby(var/obj/item/weapon/W, var/mob/user, params)
if(W.attack_verb.len)
visible_message("[user] has [pick(W.attack_verb)] \the [src] with \the [W]!")
else
@@ -38,28 +38,28 @@
health -= damage
healthcheck()
-/obj/effect/spider/bullet_act(var/obj/item/projectile/Proj)
+/obj/structure/spider/bullet_act(var/obj/item/projectile/Proj)
..()
health -= Proj.damage
healthcheck()
-/obj/effect/spider/proc/healthcheck()
+/obj/structure/spider/proc/healthcheck()
if(health <= 0)
qdel(src)
-/obj/effect/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
+/obj/structure/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
health -= 5
healthcheck()
-/obj/effect/spider/stickyweb
+/obj/structure/spider/stickyweb
icon_state = "stickyweb1"
-/obj/effect/spider/stickyweb/New()
+/obj/structure/spider/stickyweb/New()
if(prob(50))
icon_state = "stickyweb2"
-/obj/effect/spider/stickyweb/CanPass(atom/movable/mover, turf/target, height=0)
+/obj/structure/spider/stickyweb/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0) return 1
if(istype(mover, /mob/living/simple_animal/hostile/poison/giant_spider))
return 1
@@ -71,7 +71,7 @@
return prob(30)
return 1
-/obj/effect/spider/eggcluster
+/obj/structure/spider/eggcluster
name = "egg cluster"
desc = "They seem to pulse slightly with an inner life"
icon_state = "eggs"
@@ -80,24 +80,24 @@
var/faction = list()
var/master_commander = null
-/obj/effect/spider/eggcluster/New()
+/obj/structure/spider/eggcluster/New()
pixel_x = rand(3,-3)
pixel_y = rand(3,-3)
processing_objects.Add(src)
-/obj/effect/spider/eggcluster/process()
+/obj/structure/spider/eggcluster/process()
amount_grown += rand(0,2)
if(amount_grown >= 100)
var/num = rand(3,12)
for(var/i=0, i[src] dies!")
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
qdel(src)
-/obj/effect/spider/spiderling/healthcheck()
+/obj/structure/spider/spiderling/healthcheck()
if(health <= 0)
die()
-/obj/effect/spider/spiderling/process()
+/obj/structure/spider/spiderling/process()
if(travelling_in_vent)
if(istype(src.loc, /turf))
travelling_in_vent = 0
@@ -217,16 +217,16 @@
icon_state = "greenshatter"
anchored = 1
-/obj/effect/spider/cocoon
+/obj/structure/spider/cocoon
name = "cocoon"
desc = "Something wrapped in silky spider web"
icon_state = "cocoon1"
health = 60
-/obj/effect/spider/cocoon/New()
+/obj/structure/spider/cocoon/New()
icon_state = pick("cocoon1","cocoon2","cocoon3")
-/obj/effect/spider/cocoon/Destroy()
+/obj/structure/spider/cocoon/Destroy()
src.visible_message("\The [src] splits open.")
for(var/atom/movable/A in contents)
A.loc = src.loc
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index 4241c9c5c0c..3b82b972663 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -12,7 +12,7 @@
for(var/mob/living/M in hearers(7, flashbang_turf))
bang(get_turf(M), M)
- for(var/obj/effect/blob/B in hear(8,flashbang_turf)) //Blob damage here
+ for(var/obj/structure/blob/B in hear(8,flashbang_turf)) //Blob damage here
var/damage = round(30/(get_dist(B,get_turf(src))+1))
B.health -= damage
B.update_icon()
diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm
index b5838839cba..798565e63fd 100644
--- a/code/game/objects/items/weapons/grenades/smokebomb.dm
+++ b/code/game/objects/items/weapons/grenades/smokebomb.dm
@@ -30,7 +30,7 @@
sleep(10)
src.smoke.start()
- for(var/obj/effect/blob/B in view(8,src))
+ for(var/obj/structure/blob/B in view(8,src))
var/damage = round(30/(get_dist(B,src)+1))
B.health -= damage
B.update_icon()
diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm
index 9068460ae80..00dc66e1b94 100644
--- a/code/game/objects/items/weapons/tanks/watertank.dm
+++ b/code/game/objects/items/weapons/tanks/watertank.dm
@@ -301,7 +301,7 @@
if(!Adj|| !istype(target, /turf))
return
if(metal_synthesis_cooldown < 5)
- var/obj/effect/effect/foam/F = new /obj/effect/effect/foam(get_turf(target), 1)
+ var/obj/structure/foam/F = new /obj/structure/foam(get_turf(target), 1)
F.amount = 0
metal_synthesis_cooldown++
spawn(100)
diff --git a/code/game/smoothwall.dm b/code/game/smoothwall.dm
index 48d150dfb85..20dea8de7b0 100644
--- a/code/game/smoothwall.dm
+++ b/code/game/smoothwall.dm
@@ -83,7 +83,7 @@
// JESUS WHY
for(var/direction in cardinal)
- for(var/obj/effect/glowshroom/shroom in get_step(src,direction))
+ for(var/obj/structure/glowshroom/shroom in get_step(src,direction))
if(!shroom.floor) //shrooms drop to the floor
shroom.floor = 1
shroom.icon_state = "glowshroomf"
diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm
index 3432b7215d4..ef5a816d2ff 100644
--- a/code/modules/events/blob.dm
+++ b/code/modules/events/blob.dm
@@ -1,7 +1,7 @@
/datum/event/blob
announceWhen = 60
endWhen = 120
- var/obj/effect/blob/core/Blob
+ var/obj/structure/blob/core/Blob
/datum/event/blob/announce()
event_announcement.Announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/AI/outbreak5.ogg')
@@ -14,7 +14,7 @@
var/mob/C
if(candidates.len)
C = pick(candidates)
- Blob = new /obj/effect/blob/core(T, new_overmind=C.client)
+ Blob = new /obj/structure/blob/core(T, new_overmind=C.client)
for(var/i in 1 to 5)
Blob.process()
else
diff --git a/code/modules/events/infestation.dm b/code/modules/events/infestation.dm
index 8e4a5834ba2..c5a5873afa0 100644
--- a/code/modules/events/infestation.dm
+++ b/code/modules/events/infestation.dm
@@ -77,7 +77,7 @@
max_number = 6
vermstring = "lizards"
if(VERM_SPIDERS)
- spawn_types = list(/obj/effect/spider/spiderling)
+ spawn_types = list(/obj/structure/spider/spiderling)
max_number = 3
vermstring = "spiders"
@@ -89,7 +89,7 @@
num--
if(vermin == VERM_SPIDERS)
- var/obj/effect/spider/spiderling/S = new(T)
+ var/obj/structure/spider/spiderling/S = new(T)
S.amount_grown = -1
else
var/spawn_type = pick(spawn_types)
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index 0aac60319b8..9008edcec70 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -6,7 +6,7 @@
/datum/event/spacevine/start()
var/list/turfs = list() //list of all the empty floor turfs in the hallway areas
- var/obj/effect/spacevine/SV = new()
+ var/obj/structure/spacevine/SV = new()
for(var/area/hallway/A in world)
for(var/turf/F in A)
@@ -17,7 +17,7 @@
if(turfs.len) //Pick a turf to spawn at if we can
var/turf/T = pick(turfs)
- var/obj/effect/spacevine_controller/SC = new /obj/effect/spacevine_controller(T, , rand(30,70),rand(5,2)) //spawn a controller at turf
+ var/obj/structure/spacevine_controller/SC = new /obj/structure/spacevine_controller(T, , rand(30,70),rand(5,2)) //spawn a controller at turf
// Make the event start fun - give the vine a random hostile mutation
if(SC.vines.len)
@@ -40,11 +40,11 @@
// For stuff that isn't fun as a random-event vine
var/nofun = FALSE
-/datum/spacevine_mutation/proc/add_mutation_to_vinepiece(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/add_mutation_to_vinepiece(obj/structure/spacevine/holder)
holder.mutations |= src
holder.color = hue
-/datum/spacevine_mutation/proc/remove_mutation_from_vinepiece(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/remove_mutation_from_vinepiece(obj/structure/spacevine/holder)
holder.mutations -= src
var/datum/spacevine_mutation/oldmutation
if(holder.mutations.len)
@@ -53,46 +53,46 @@
else
holder.color = ""
-/datum/spacevine_mutation/proc/process_mutation(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/process_mutation(obj/structure/spacevine/holder)
return
-/datum/spacevine_mutation/proc/process_temperature(obj/effect/spacevine/holder, temp, volume)
+/datum/spacevine_mutation/proc/process_temperature(obj/structure/spacevine/holder, temp, volume)
return
-/datum/spacevine_mutation/proc/on_birth(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/on_birth(obj/structure/spacevine/holder)
return
-/datum/spacevine_mutation/proc/on_grow(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/on_grow(obj/structure/spacevine/holder)
return
-/datum/spacevine_mutation/proc/on_death(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/on_death(obj/structure/spacevine/holder)
return
-/datum/spacevine_mutation/proc/on_deletion(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/on_deletion(obj/structure/spacevine/holder)
return
-/datum/spacevine_mutation/proc/on_hit(obj/effect/spacevine/holder, mob/hitter, obj/item/I, expected_damage)
+/datum/spacevine_mutation/proc/on_hit(obj/structure/spacevine/holder, mob/hitter, obj/item/I, expected_damage)
. = expected_damage
-/datum/spacevine_mutation/proc/on_cross(obj/effect/spacevine/holder, mob/crosser)
+/datum/spacevine_mutation/proc/on_cross(obj/structure/spacevine/holder, mob/crosser)
return
-/datum/spacevine_mutation/proc/on_chem(obj/effect/spacevine/holder, datum/reagent/R)
+/datum/spacevine_mutation/proc/on_chem(obj/structure/spacevine/holder, datum/reagent/R)
return
-/datum/spacevine_mutation/proc/on_eat(obj/effect/spacevine/holder, mob/living/eater)
+/datum/spacevine_mutation/proc/on_eat(obj/structure/spacevine/holder, mob/living/eater)
return
-/datum/spacevine_mutation/proc/on_spread(obj/effect/spacevine/holder, turf/target)
+/datum/spacevine_mutation/proc/on_spread(obj/structure/spacevine/holder, turf/target)
return
-/datum/spacevine_mutation/proc/on_buckle(obj/effect/spacevine/holder, mob/living/buckled)
+/datum/spacevine_mutation/proc/on_buckle(obj/structure/spacevine/holder, mob/living/buckled)
return
-/datum/spacevine_mutation/proc/on_explosion(severity, obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/on_explosion(severity, obj/structure/spacevine/holder)
return
-/datum/spacevine_mutation/proc/on_search(severity, obj/effect/spacevine/holder)
+/datum/spacevine_mutation/proc/on_search(severity, obj/structure/spacevine/holder)
return
@@ -140,7 +140,7 @@
/turf/simulated/floor/vines/ChangeTurf(turf/open/floor/T)
. = ..()
//Do this *after* the turf has changed as qdel in spacevines will call changeturf again if it hasn't
- for(var/obj/effect/spacevine/SV in src)
+ for(var/obj/structure/spacevine/SV in src)
SV.wither()
/datum/spacevine_mutation/space_covering
@@ -156,22 +156,22 @@
/turf/space/transit
))
-/datum/spacevine_mutation/space_covering/on_grow(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/space_covering/on_grow(obj/structure/spacevine/holder)
process_mutation(holder)
-/datum/spacevine_mutation/space_covering/on_spread(obj/effect/spacevine/holder, turf/target)
- if(target.type == /turf/space && !locate(/obj/effect/spacevine) in target)
+/datum/spacevine_mutation/space_covering/on_spread(obj/structure/spacevine/holder, turf/target)
+ if(target.type == /turf/space && !locate(/obj/structure/spacevine) in target)
holder.master.spawn_spacevine_piece(target, holder)
. = TRUE
-/datum/spacevine_mutation/space_covering/process_mutation(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/space_covering/process_mutation(obj/structure/spacevine/holder)
var/turf/T = get_turf(holder)
if(is_type_in_typecache(T, coverable_turfs))
var/currtype = T.type
T.ChangeTurf(/turf/simulated/floor/vines)
T.baseturf = currtype
-/datum/spacevine_mutation/space_covering/on_deletion(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/space_covering/on_deletion(obj/structure/spacevine/holder)
var/turf/T = get_turf(holder)
if(istype(T, /turf/simulated/floor/vines))
T.ChangeTurf(T.baseturf)
@@ -181,8 +181,8 @@
hue = "#3333ff"
quality = MINOR_NEGATIVE
-/datum/spacevine_mutation/bluespace/on_spread(obj/effect/spacevine/holder, turf/target)
- if(holder.energy > 1 && !locate(/obj/effect/spacevine) in target)
+/datum/spacevine_mutation/bluespace/on_spread(obj/structure/spacevine/holder, turf/target)
+ if(holder.energy > 1 && !locate(/obj/structure/spacevine) in target)
// Lose bluespace upon piercing a single tile, and drop it from our own mutations too
// Representing a loss in "high potential"
// also conveniently prevents this from spreading too crazily
@@ -197,7 +197,7 @@
quality = POSITIVE
severity = 4
-/datum/spacevine_mutation/light/on_grow(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/light/on_grow(obj/structure/spacevine/holder)
if(holder.energy)
holder.set_light(severity)
@@ -207,14 +207,14 @@
severity = 10
quality = NEGATIVE
-/datum/spacevine_mutation/toxicity/on_cross(obj/effect/spacevine/holder, mob/living/crosser)
+/datum/spacevine_mutation/toxicity/on_cross(obj/structure/spacevine/holder, mob/living/crosser)
if(issilicon(crosser))
return
if(prob(severity) && istype(crosser) && !isvineimmune(crosser))
to_chat(crosser, "You accidently touch the vine and feel a strange sensation.")
crosser.adjustToxLoss(5)
-/datum/spacevine_mutation/toxicity/on_eat(obj/effect/spacevine/holder, mob/living/eater)
+/datum/spacevine_mutation/toxicity/on_eat(obj/structure/spacevine/holder, mob/living/eater)
if(!isvineimmune(eater))
eater.adjustToxLoss(5)
@@ -226,7 +226,7 @@
// kaboom events aren't fun
nofun = TRUE
-/datum/spacevine_mutation/explosive/on_explosion(explosion_severity, obj/effect/spacevine/holder)
+/datum/spacevine_mutation/explosive/on_explosion(explosion_severity, obj/structure/spacevine/holder)
if(explosion_severity < 3)
qdel(holder)
else
@@ -234,7 +234,7 @@
spawn(5)
holder.wither()
-/datum/spacevine_mutation/explosive/on_death(obj/effect/spacevine/holder, mob/hitter, obj/item/I)
+/datum/spacevine_mutation/explosive/on_death(obj/structure/spacevine/holder, mob/hitter, obj/item/I)
explosion(holder.loc, 0, 0, severity, 0, 0)
/datum/spacevine_mutation/fire_proof
@@ -242,10 +242,10 @@
hue = "#ff8888"
quality = MINOR_NEGATIVE
-/datum/spacevine_mutation/fire_proof/process_temperature(obj/effect/spacevine/holder, temp, volume)
+/datum/spacevine_mutation/fire_proof/process_temperature(obj/structure/spacevine/holder, temp, volume)
return 1
-/datum/spacevine_mutation/fire_proof/on_hit(obj/effect/spacevine/holder, mob/hitter, obj/item/I, expected_damage)
+/datum/spacevine_mutation/fire_proof/on_hit(obj/structure/spacevine/holder, mob/hitter, obj/item/I, expected_damage)
if(I && I.damtype == "fire")
. = 0
else
@@ -256,8 +256,8 @@
hue = "#ff7700"
quality = MINOR_NEGATIVE
-/datum/spacevine_mutation/vine_eating/on_spread(obj/effect/spacevine/holder, turf/target)
- var/obj/effect/spacevine/prey = locate() in target
+/datum/spacevine_mutation/vine_eating/on_spread(obj/structure/spacevine/holder, turf/target)
+ var/obj/structure/spacevine/prey = locate() in target
if(prey && !prey.mutations.Find(src)) //Eat all vines that are not of the same origin
prey.wither()
. = TRUE
@@ -268,20 +268,20 @@
severity = 3
quality = NEGATIVE
-/datum/spacevine_mutation/aggressive_spread/on_spread(obj/effect/spacevine/holder, turf/target)
+/datum/spacevine_mutation/aggressive_spread/on_spread(obj/structure/spacevine/holder, turf/target)
if(istype(target, /turf/simulated/wall/r_wall))
// Too tough to pierce - should lead to interesting spread patterns
return
// Bust through windows or other stuff blocking the way
if(!target.Enter(holder))
for(var/atom/movable/AM in target)
- if(istype(AM, /obj/effect/spacevine) || !AM.density)
+ if(istype(AM, /obj/structure/spacevine) || !AM.density)
continue
AM.ex_act(severity)
target.ex_act(severity) // vine immunity handled at /mob/ex_act
. = TRUE
-/datum/spacevine_mutation/aggressive_spread/on_buckle(obj/effect/spacevine/holder, mob/living/buckled)
+/datum/spacevine_mutation/aggressive_spread/on_buckle(obj/structure/spacevine/holder, mob/living/buckled)
buckled.ex_act(severity)
/datum/spacevine_mutation/transparency
@@ -289,7 +289,7 @@
hue = ""
quality = POSITIVE
-/datum/spacevine_mutation/transparency/on_grow(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/transparency/on_grow(obj/structure/spacevine/holder)
holder.set_opacity(0)
holder.alpha = 125
@@ -299,13 +299,13 @@
severity = 10
quality = NEGATIVE
-/datum/spacevine_mutation/thorns/on_cross(obj/effect/spacevine/holder, mob/living/crosser)
+/datum/spacevine_mutation/thorns/on_cross(obj/structure/spacevine/holder, mob/living/crosser)
if(prob(severity) && istype(crosser) && !isvineimmune(holder))
var/mob/living/M = crosser
M.adjustBruteLoss(5)
to_chat(M, "You cut yourself on the thorny vines.")
-/datum/spacevine_mutation/thorns/on_hit(obj/effect/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage)
+/datum/spacevine_mutation/thorns/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage)
if(prob(severity) && istype(hitter) && !isvineimmune(holder))
var/mob/living/M = hitter
M.adjustBruteLoss(5)
@@ -317,13 +317,13 @@
hue = "#997700"
quality = NEGATIVE
-/datum/spacevine_mutation/woodening/on_grow(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/woodening/on_grow(obj/structure/spacevine/holder)
if(holder.energy)
holder.density = 1
holder.maxhealth = 100
holder.health = holder.maxhealth
-/datum/spacevine_mutation/woodening/on_hit(obj/effect/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage)
+/datum/spacevine_mutation/woodening/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage)
if(!is_sharp(I))
. = expected_damage * 0.5
else
@@ -335,11 +335,11 @@
quality = NEGATIVE
severity = 10
-/datum/spacevine_mutation/flowering/on_grow(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/flowering/on_grow(obj/structure/spacevine/holder)
if(holder.energy == 2 && prob(severity) && !locate(/obj/structure/alien/resin/flower_bud_enemy) in range(5,holder))
new /obj/structure/alien/resin/flower_bud_enemy(get_turf(holder))
-/datum/spacevine_mutation/flowering/on_cross(obj/effect/spacevine/holder, mob/living/crosser)
+/datum/spacevine_mutation/flowering/on_cross(obj/structure/spacevine/holder, mob/living/crosser)
if(prob(25))
holder.entangle(crosser)
@@ -349,7 +349,7 @@
hue = "#FF8080"
quality = MINOR_NEGATIVE
-/datum/spacevine_mutation/virulent_spread/on_search(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/virulent_spread/on_search(obj/structure/spacevine/holder)
return 1
// Sure, let's encourage crew members to deliberately breed a highly dangerous
@@ -364,7 +364,7 @@
/obj/item/stack/sheet/metal = 1
)
-/datum/spacevine_mutation/mineral/on_death(obj/effect/spacevine/holder)
+/datum/spacevine_mutation/mineral/on_death(obj/structure/spacevine/holder)
if(!prob(drop_rate))
return
var/itemtype = pickweight(mineral_results)
@@ -403,7 +403,7 @@
)
// SPACE VINES (Note that this code is very similar to Biomass code)
-/obj/effect/spacevine
+/obj/structure/spacevine
name = "space vines"
desc = "An extremely expansionistic species of vine."
icon = 'icons/effects/spacevines.dmi'
@@ -416,14 +416,14 @@
var/health = 50
var/maxhealth = 50
var/energy = 0
- var/obj/effect/spacevine_controller/master = null
+ var/obj/structure/spacevine_controller/master = null
var/list/mutations = list()
-/obj/effect/spacevine/New()
+/obj/structure/spacevine/New()
..()
color = "#ffffff"
-/obj/effect/spacevine/examine(mob/user)
+/obj/structure/spacevine/examine(mob/user)
..()
var/text = "This one is a"
if(mutations.len)
@@ -435,13 +435,13 @@
text += " vine."
to_chat(user, text)
-/obj/effect/spacevine/proc/wither()
+/obj/structure/spacevine/proc/wither()
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_death(src)
qdel(src)
-/obj/effect/spacevine/Destroy()
+/obj/structure/spacevine/Destroy()
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_deletion(src)
if(master)
@@ -460,11 +460,11 @@
unbuckle_mob()
return ..()
-/obj/effect/spacevine/proc/add_mutation(datum/spacevine_mutation/mutation)
+/obj/structure/spacevine/proc/add_mutation(datum/spacevine_mutation/mutation)
mutations |= mutation
color = mutation.hue
-/obj/effect/spacevine/proc/on_chem_effect(datum/reagent/R)
+/obj/structure/spacevine/proc/on_chem_effect(datum/reagent/R)
var/override = 0
for(var/datum/spacevine_mutation/SM in mutations)
override += SM.on_chem(src, R)
@@ -472,7 +472,7 @@
if(prob(50))
wither()
-/obj/effect/spacevine/proc/eat(mob/eater)
+/obj/structure/spacevine/proc/eat(mob/eater)
var/override = 0
for(var/datum/spacevine_mutation/SM in mutations)
override += SM.on_eat(src, eater)
@@ -481,7 +481,7 @@
eater.say("Nom")
wither()
-/obj/effect/spacevine/attackby(obj/item/weapon/W, mob/user, params)
+/obj/structure/spacevine/attackby(obj/item/weapon/W, mob/user, params)
if (!W || !user || !W.type)
return
user.changeNext_move(CLICK_CD_MELEE)
@@ -491,7 +491,7 @@
var/obj/item/weapon/scythe/S = W
if(S.extend) //so folded telescythes won't get damage boosts / insta-clears (they instead will instead be treated like non-scythes)
force = force * 4
- for(var/obj/effect/spacevine/B in range(1,src))
+ for(var/obj/structure/spacevine/B in range(1,src))
if(B.health > force) //this only is going to occur for woodening mutation vines (increased health) or if we nerf scythe damage/multiplier
B.health -= force
else
@@ -513,29 +513,29 @@
..()
-/obj/effect/spacevine/Crossed(mob/crosser)
+/obj/structure/spacevine/Crossed(mob/crosser)
if(isliving(crosser))
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_cross(src, crosser)
-/obj/effect/spacevine/attack_hand(mob/user)
+/obj/structure/spacevine/attack_hand(mob/user)
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_hit(src, user)
user_unbuckle_mob(user, user)
-/obj/effect/spacevine/attack_alien(mob/living/user)
+/obj/structure/spacevine/attack_alien(mob/living/user)
eat(user)
-/obj/effect/spacevine_controller
+/obj/structure/spacevine_controller
invisibility = 101
- var/list/obj/effect/spacevine/vines = list()
+ var/list/obj/structure/spacevine/vines = list()
var/list/growth_queue = list()
var/spread_multiplier = 5
var/spread_cap = 30
var/list/mutations_list = list()
var/mutativeness = 1
-/obj/effect/spacevine_controller/New(loc, list/muts, potency, production)
+/obj/structure/spacevine_controller/New(loc, list/muts, potency, production)
color = "#ffffff"
spawn_spacevine_piece(loc, , muts)
processing_objects.Add(src)
@@ -556,21 +556,21 @@
..()
-/obj/effect/spacevine_controller/ex_act() //only killing all vines will end this suffering
+/obj/structure/spacevine_controller/ex_act() //only killing all vines will end this suffering
return
-/obj/effect/spacevine_controller/singularity_act()
+/obj/structure/spacevine_controller/singularity_act()
return
-/obj/effect/spacevine_controller/singularity_pull()
+/obj/structure/spacevine_controller/singularity_pull()
return
-/obj/effect/spacevine_controller/Destroy()
+/obj/structure/spacevine_controller/Destroy()
processing_objects.Remove(src)
return ..()
-/obj/effect/spacevine_controller/proc/spawn_spacevine_piece(turf/location, obj/effect/spacevine/parent, list/muts)
- var/obj/effect/spacevine/SV = new(location)
+/obj/structure/spacevine_controller/proc/spawn_spacevine_piece(turf/location, obj/structure/spacevine/parent, list/muts)
+ var/obj/structure/spacevine/SV = new(location)
growth_queue += SV
vines += SV
SV.master = src
@@ -590,7 +590,7 @@
for(var/datum/spacevine_mutation/SM in SV.mutations)
SM.on_birth(SV)
-/obj/effect/spacevine_controller/process()
+/obj/structure/spacevine_controller/process()
if(!vines || !vines.len)
qdel(src) //space vines exterminated. Remove the controller
return
@@ -602,9 +602,9 @@
length = min( spread_cap , max( 1 , vines.len / spread_multiplier ) )
var/i = 0
- var/list/obj/effect/spacevine/queue_end = list()
+ var/list/obj/structure/spacevine/queue_end = list()
- for(var/obj/effect/spacevine/SV in growth_queue)
+ for(var/obj/structure/spacevine/SV in growth_queue)
if(qdeleted(SV))
continue
i++
@@ -625,7 +625,7 @@
growth_queue = growth_queue + queue_end
-/obj/effect/spacevine/proc/grow()
+/obj/structure/spacevine/proc/grow()
if(!energy)
icon_state = pick("Med1", "Med2", "Med3")
energy = 1
@@ -637,7 +637,7 @@
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_grow(src)
-/obj/effect/spacevine/proc/entangle_mob()
+/obj/structure/spacevine/proc/entangle_mob()
if(!buckled_mob && prob(25))
for(var/mob/living/V in loc)
entangle(V)
@@ -645,7 +645,7 @@
break //only capture one mob at a time
-/obj/effect/spacevine/proc/entangle(mob/living/V)
+/obj/structure/spacevine/proc/entangle(mob/living/V)
if(!V || isvineimmune(V))
return
for(var/datum/spacevine_mutation/SM in mutations)
@@ -654,7 +654,7 @@
to_chat(V, "The vines [pick("wind", "tangle", "tighten")] around you!")
buckle_mob(V, 1)
-/obj/effect/spacevine/proc/spread()
+/obj/structure/spacevine/proc/spread()
var/list/dir_list = cardinal.Copy()
var/spread_search = FALSE // Whether to exhaustive search all 4 cardinal dirs for an open direction
for(var/datum/spacevine_mutation/SM in mutations)
@@ -666,7 +666,7 @@
var/spread_success = FALSE
for(var/datum/spacevine_mutation/SM in mutations)
spread_success |= SM.on_spread(src, stepturf) // If this returns 1, spreading succeeded
- if(!locate(/obj/effect/spacevine, stepturf))
+ if(!locate(/obj/structure/spacevine, stepturf))
// snowflake for space turf, but space turf is super common and a big deal
if(!istype(stepturf, /turf/space) && stepturf.Enter(src))
if(master)
@@ -675,21 +675,21 @@
if(spread_success || !spread_search)
break
-/obj/effect/spacevine/ex_act(severity)
+/obj/structure/spacevine/ex_act(severity)
var/i
for(var/datum/spacevine_mutation/SM in mutations)
i += SM.on_explosion(severity, src)
if(!i && prob(100/severity))
wither()
-/obj/effect/spacevine/temperature_expose(null, temp, volume)
+/obj/structure/spacevine/temperature_expose(null, temp, volume)
var/override = 0
for(var/datum/spacevine_mutation/SM in mutations)
override += SM.process_temperature(src, temp, volume)
if(!override)
wither()
-/obj/effect/spacevine/CanPass(atom/movable/mover, turf/target, height=0)
+/obj/structure/spacevine/CanPass(atom/movable/mover, turf/target, height=0)
if(isvineimmune(mover))
. = TRUE
else
diff --git a/code/modules/events/spider_infestation.dm b/code/modules/events/spider_infestation.dm
index ab703f0edc9..90cc1ee28ad 100644
--- a/code/modules/events/spider_infestation.dm
+++ b/code/modules/events/spider_infestation.dm
@@ -22,7 +22,7 @@
while((spawncount >= 1) && vents.len)
var/obj/vent = pick(vents)
- var/obj/effect/spider/spiderling/S = new(vent.loc)
+ var/obj/structure/spider/spiderling/S = new(vent.loc)
if(prob(66))
S.grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/nurse
vents -= vent
diff --git a/code/modules/events/spider_terror.dm b/code/modules/events/spider_terror.dm
index aed998713c2..ebcf1346db9 100644
--- a/code/modules/events/spider_terror.dm
+++ b/code/modules/events/spider_terror.dm
@@ -37,7 +37,7 @@
spawncount = 1
while(spawncount >= 1 && vents.len)
var/obj/vent = pick(vents)
- var/obj/effect/spider/spiderling/terror_spiderling/S = new(vent.loc)
+ var/obj/structure/spider/spiderling/terror_spiderling/S = new(vent.loc)
S.name = "evil-looking spiderling"
S.grow_as = spider_type
S.amount_grown = 75
diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm
index e62d2df093e..1e975b4b79f 100644
--- a/code/modules/hydroponics/grown/kudzu.dm
+++ b/code/modules/hydroponics/grown/kudzu.dm
@@ -32,7 +32,7 @@
var/turf/T = get_turf(src)
message_admins("Kudzu planted by [key_name_admin(user)](?) (FLW) at ([T.x],[T.y],[T.z] - (JMP))",0,1)
investigate_log("was planted by [key_name(user)] at ([T.x],[T.y],[T.z])","kudzu")
- new /obj/effect/spacevine_controller(user.loc, mutations, potency, production)
+ new /obj/structure/spacevine_controller(user.loc, mutations, potency, production)
user.drop_item()
qdel(src)
diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm
index 935730efd9b..f923d08c694 100644
--- a/code/modules/hydroponics/grown/mushrooms.dm
+++ b/code/modules/hydroponics/grown/mushrooms.dm
@@ -229,7 +229,7 @@
desc = "Mycena Bregprox: This species of mushroom glows in the dark."
icon_state = "glowshroom"
filling_color = "#00FA9A"
- var/effect_path = /obj/effect/glowshroom
+ var/effect_path = /obj/structure/glowshroom
origin_tech = "biotech=4;plasmatech=6"
light_color = "#006622"
@@ -245,7 +245,7 @@
var/turf/simulated/wall = get_step(user.loc, tempdir)
if(istype(wall))
maxcount++
- for(var/obj/effect/glowshroom/G in user.loc)
+ for(var/obj/structure/glowshroom/G in user.loc)
count++
if(count >= maxcount)
to_chat(user, "There are too many shrooms here to plant [src].")
@@ -277,7 +277,7 @@
desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but isn't actually bioluminescent. They're warm to the touch..."
icon_state = "glowcap"
filling_color = "#00FA9A"
- effect_path = /obj/effect/glowshroom/glowcap
+ effect_path = /obj/structure/glowshroom/glowcap
origin_tech = "biotech=4;powerstorage=6;plasmatech=4"
light_color = "#8E0300"
@@ -324,5 +324,5 @@
name = "shadowshroom cluster"
desc = "Mycena Umbra: This species of mushroom emits shadow instead of light."
icon_state = "shadowshroom"
- effect_path = /obj/effect/glowshroom/shadowshroom
+ effect_path = /obj/structure/glowshroom/shadowshroom
origin_tech = "biotech=4;plasmatech=4;magnets=4"
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 21a810d7b2f..46f6f317434 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -485,7 +485,7 @@
log_game("[key_name(user)] caused spiderling pests to spawn in a hydro tray")
visible_message("The pests seem to behave oddly...")
for(var/i in 1 to 3)
- var/obj/effect/spider/spiderling/S = new(get_turf(src))
+ var/obj/structure/spider/spiderling/S = new(get_turf(src))
S.grow_as = /mob/living/simple_animal/hostile/poison/giant_spider/hunter
else
to_chat(user, "The pests seem to behave oddly, but quickly settle down...")
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index b691099d0f3..7148f780ff3 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -229,7 +229,7 @@
//Different classes of items give different commodities.
if(istype(W,/obj/item/weapon/cigbutt))
stored_comms["plastic"]++
- else if(istype(W,/obj/effect/spider/spiderling))
+ else if(istype(W,/obj/structure/spider/spiderling))
stored_comms["wood"]++
stored_comms["wood"]++
stored_comms["plastic"]++
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index 2aebeb5d04a..f9f1bbf1c08 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -98,7 +98,7 @@
if(prob(5)) //Spawns foam!
visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!")
- new /obj/effect/effect/foam(loc)
+ new /obj/structure/foam(loc)
else if(prob(5))
audible_message("[src] makes an excited beeping booping sound!")
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index b1b31461b77..adbc309412e 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -34,7 +34,7 @@
for(var/direction in shuffle(list(1,2,4,8,5,6,9,10)))
var/step = get_step(src, direction)
if(step)
- if(locate(/obj/effect/spacevine) in step)
+ if(locate(/obj/structure/spacevine) in step)
Move(step, get_dir(src, step))
/mob/living/simple_animal/hostile/retaliate/goat/handle_automated_action()
@@ -47,7 +47,7 @@
LoseTarget()
src.visible_message("\blue [src] calms down.")
- var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc
+ var/obj/structure/spacevine/SV = locate(/obj/structure/spacevine) in loc
if(SV)
SV.eat(src)
@@ -64,7 +64,7 @@
/mob/living/simple_animal/hostile/retaliate/goat/Move()
..()
if(!stat)
- var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc
+ var/obj/structure/spacevine/SV = locate(/obj/structure/spacevine) in loc
if(SV)
SV.eat(src)
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index 368626f49fe..e45d5a1a391 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -116,7 +116,7 @@
GiveUp(C)
return
//second, spin a sticky spiderweb on this tile
- var/obj/effect/spider/stickyweb/W = locate() in get_turf(src)
+ var/obj/structure/spider/stickyweb/W = locate() in get_turf(src)
if(!W)
Web()
else
@@ -157,7 +157,7 @@
stop_automated_movement = 1
spawn(40)
if(busy == SPINNING_WEB && src.loc == T)
- new /obj/effect/spider/stickyweb(T)
+ new /obj/structure/spider/stickyweb(T)
busy = 0
stop_automated_movement = 0
@@ -187,7 +187,7 @@
spawn(50)
if(busy == SPINNING_COCOON)
if(cocoon_target && istype(cocoon_target.loc, /turf) && get_dist(src,cocoon_target) <= 1)
- var/obj/effect/spider/cocoon/C = new(cocoon_target.loc)
+ var/obj/structure/spider/cocoon/C = new(cocoon_target.loc)
var/large_cocoon = 0
C.pixel_x = cocoon_target.pixel_x
C.pixel_y = cocoon_target.pixel_y
@@ -223,7 +223,7 @@
set category = "Spider"
set desc = "Lay a clutch of eggs, but you must wrap a creature for feeding first."
- var/obj/effect/spider/eggcluster/E = locate() in get_turf(src)
+ var/obj/structure/spider/eggcluster/E = locate() in get_turf(src)
if(E)
to_chat(src, "There is already a cluster of eggs here!")
else if(!fed)
@@ -236,7 +236,7 @@
if(busy == LAYING_EGGS)
E = locate() in get_turf(src)
if(!E)
- var/obj/effect/spider/eggcluster/C = new /obj/effect/spider/eggcluster(src.loc)
+ var/obj/structure/spider/eggcluster/C = new /obj/structure/spider/eggcluster(src.loc)
C.faction = faction
C.master_commander = master_commander
if(ckey)
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm
index 98e0967c669..90cef39a98f 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm
@@ -112,11 +112,11 @@
else if(istype(loc, /turf/space))
to_chat(src, "Webs cannot be spun in space.")
else
- var/obj/effect/spider/terrorweb/T = locate() in get_turf(src)
+ var/obj/structure/spider/terrorweb/T = locate() in get_turf(src)
if(T)
to_chat(src, "There is already a web here.")
else
- var/obj/effect/spider/terrorweb/W = new /obj/effect/spider/terrorweb(loc)
+ var/obj/structure/spider/terrorweb/W = new /obj/structure/spider/terrorweb(loc)
W.creator_ckey = ckey
if(thick)
W.opacity = 1
@@ -125,7 +125,7 @@
W.infectious = 1
W.name = "sharp terror web"
-/obj/effect/spider/terrorweb
+/obj/structure/spider/terrorweb
name = "terror web"
desc = "it's stringy and sticky"
icon = 'icons/effects/effects.dmi'
@@ -136,18 +136,18 @@
var/creator_ckey = null
var/infectious = 0
-/obj/effect/spider/terrorweb/New()
+/obj/structure/spider/terrorweb/New()
..()
if(prob(50))
icon_state = "stickyweb2"
-/obj/effect/spider/terrorweb/proc/DeCloakNearby()
+/obj/structure/spider/terrorweb/proc/DeCloakNearby()
for(var/mob/living/simple_animal/hostile/poison/terror_spider/gray/G in view(6,src))
if(!G.ckey && G.stat != DEAD)
G.GrayDeCloak()
G.Aggro()
-/obj/effect/spider/terrorweb/CanPass(atom/movable/mover, turf/target)
+/obj/structure/spider/terrorweb/CanPass(atom/movable/mover, turf/target)
if(istype(mover, /mob/living/simple_animal/hostile/poison/terror_spider))
return 1
if(istype(mover, /obj/item/projectile/terrorqueenspit))
@@ -178,7 +178,7 @@
return prob(20)
return ..()
-/obj/effect/spider/terrorweb/bullet_act(obj/item/projectile/Proj)
+/obj/structure/spider/terrorweb/bullet_act(obj/item/projectile/Proj)
if(Proj.damage_type != BRUTE && Proj.damage_type != BURN)
visible_message("[src] is undamaged by [Proj]!")
// Webs don't care about disablers, tasers, etc. Or toxin damage. They're organic, but not alive.
@@ -196,7 +196,7 @@
choices += L
for(var/obj/O in oview(1,src))
if(Adjacent(O) && !O.anchored)
- if(!istype(O, /obj/effect/spider/terrorweb) && !istype(O, /obj/effect/spider/cocoon) && !istype(O, /obj/effect/spider/spiderling/terror_spiderling))
+ if(!istype(O, /obj/structure/spider/terrorweb) && !istype(O, /obj/structure/spider/cocoon) && !istype(O, /obj/structure/spider/spiderling/terror_spiderling))
choices += O
if(choices.len)
cocoon_target = input(src,"What do you wish to cocoon?") in null|choices
@@ -215,7 +215,7 @@
if(do_after(src, 40, target = cocoon_target.loc))
if(busy == SPINNING_COCOON)
if(cocoon_target && isturf(cocoon_target.loc) && get_dist(src,cocoon_target) <= 1)
- var/obj/effect/spider/cocoon/C = new(cocoon_target.loc)
+ var/obj/structure/spider/cocoon/C = new(cocoon_target.loc)
var/large_cocoon = 0
C.pixel_x = cocoon_target.pixel_x
C.pixel_y = cocoon_target.pixel_y
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm
index 750ba694a1b..2d2c9af9bda 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress.dm
@@ -74,7 +74,7 @@
var/numlings = input("How many?") as null|anything in list(10, 20, 30, 40, 50)
var/sbpc = input("%chance to be stillborn?") as null|anything in list(0, 25, 50, 75, 100)
for(var/i=0, iThrough the hivemind, the raw power of [src] floods into your body, burning it from the inside out!")
- for(var/obj/effect/spider/eggcluster/terror_eggcluster/T in ts_egg_list)
+ for(var/obj/structure/spider/eggcluster/terror_eggcluster/T in ts_egg_list)
qdel(T)
- for(var/obj/effect/spider/spiderling/terror_spiderling/T in ts_spiderling_list)
+ for(var/obj/structure/spider/spiderling/terror_spiderling/T in ts_spiderling_list)
T.stillborn = 1
to_chat(src, "All Terror Spiders, except yourself, will die off shortly.")
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm
index 61c0ed42a25..fdaa36257d2 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm
@@ -119,7 +119,7 @@
GrayCloak()
else
// otherwise, pick one of the valid turfs with no web to create a web there.
- new /obj/effect/spider/terrorweb(pick(g_turfs_valid))
+ new /obj/structure/spider/terrorweb(pick(g_turfs_valid))
visible_message("[src] spins a web.")
else
if(invisibility == SEE_INVISIBLE_LEVEL_ONE)
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm
index ace7509ccdf..89378e6a2ae 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm
@@ -30,7 +30,7 @@
greeneggs_action.Grant(src)
/mob/living/simple_animal/hostile/poison/terror_spider/green/proc/DoLayGreenEggs()
- var/obj/effect/spider/eggcluster/E = locate() in get_turf(src)
+ var/obj/structure/spider/eggcluster/E = locate() in get_turf(src)
if(E)
to_chat(src, "There is already a cluster of eggs here!")
else if(fed < feedings_to_lay)
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm
index e3eb1b1d49e..c3ee3dd6a35 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/hive.dm
@@ -46,10 +46,10 @@
if(T.stat != DEAD && !T.spider_placed && spider_awaymission == T.spider_awaymission)
if(T.type == specific_type)
numspiders += 1
- for(var/obj/effect/spider/eggcluster/terror_eggcluster/E in ts_egg_list)
+ for(var/obj/structure/spider/eggcluster/terror_eggcluster/E in ts_egg_list)
if(E.spiderling_type == specific_type && E.z == z)
numspiders += E.spiderling_number
- for(var/obj/effect/spider/spiderling/terror_spiderling/L in ts_spiderling_list)
+ for(var/obj/structure/spider/spiderling/terror_spiderling/L in ts_spiderling_list)
if(!L.stillborn && L.grow_as == specific_type && L.z == z)
numspiders += 1
return numspiders
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm
index fa162ab8848..b6e8a0680ae 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm
@@ -36,7 +36,7 @@
if(canspawn)
canspawn = 0
for(var/i in 0 to 30)
- var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src))
+ var/obj/structure/spider/spiderling/terror_spiderling/S = new /obj/structure/spider/spiderling/terror_spiderling(get_turf(src))
S.grow_as = pick(/mob/living/simple_animal/hostile/poison/terror_spider/red, /mob/living/simple_animal/hostile/poison/terror_spider/gray)
if(prob(66))
S.stillborn = 1
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm
index 1a9b925d689..3b6266e777b 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen.dm
@@ -153,7 +153,7 @@
if(3)
if(world.time > (spider_lastspawn + spider_spawnfrequency))
if(prob(20))
- var/obj/effect/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src)
+ var/obj/structure/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src)
if(!N)
spider_lastspawn = world.time
DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/green, 2, 0)
@@ -161,7 +161,7 @@
if(4)
if(world.time > (spider_lastspawn + spider_spawnfrequency))
if(prob(20))
- var/obj/effect/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src)
+ var/obj/structure/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src)
if(!N)
spider_lastspawn = world.time
DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/red, 2, 1)
@@ -169,7 +169,7 @@
if(5)
if(world.time > (spider_lastspawn + spider_spawnfrequency))
if(prob(20))
- var/obj/effect/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src)
+ var/obj/structure/spider/eggcluster/terror_eggcluster/N = locate() in get_turf(src)
if(!N)
if(!spider_awaymission)
QueenFakeLings()
@@ -331,7 +331,7 @@
spider_can_fakelings--
var/numlings = 15
for(var/i in 1 to numlings)
- var/obj/effect/spider/spiderling/terror_spiderling/S = new /obj/effect/spider/spiderling/terror_spiderling(get_turf(src))
+ var/obj/structure/spider/spiderling/terror_spiderling/S = new /obj/structure/spider/spiderling/terror_spiderling(get_turf(src))
S.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/red
S.stillborn = 1
S.name = "Evil-Looking Spiderling"
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm
index f6188ced362..d1ffa073582 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/reproduction.dm
@@ -3,7 +3,7 @@
// ----------------- TERROR SPIDERS: SPIDERLINGS (USED BY GREEN, WHITE, QUEEN AND MOTHER TYPES)
// --------------------------------------------------------------------------------
-/obj/effect/spider/spiderling/terror_spiderling
+/obj/structure/spider/spiderling/terror_spiderling
name = "spiderling"
desc = "A fast-moving tiny spider, prone to making aggressive hissing sounds. Hope it doesn't grow up."
icon_state = "spiderling"
@@ -17,15 +17,15 @@
var/list/enemies = list()
var/immediate_ventcrawl = 0
-/obj/effect/spider/spiderling/terror_spiderling/New()
+/obj/structure/spider/spiderling/terror_spiderling/New()
..()
ts_spiderling_list += src
-/obj/effect/spider/spiderling/terror_spiderling/Destroy()
+/obj/structure/spider/spiderling/terror_spiderling/Destroy()
ts_spiderling_list -= src
return ..()
-/obj/effect/spider/spiderling/terror_spiderling/Bump(atom/A)
+/obj/structure/spider/spiderling/terror_spiderling/Bump(atom/A)
if(istype(A, /obj/structure/table))
forceMove(A.loc)
else if(istype(A, /obj/machinery/recharge_station))
@@ -33,7 +33,7 @@
else
..()
-/obj/effect/spider/spiderling/terror_spiderling/process()
+/obj/structure/spider/spiderling/terror_spiderling/process()
if(travelling_in_vent)
if(isturf(loc))
travelling_in_vent = 0
@@ -104,7 +104,7 @@
/mob/living/simple_animal/hostile/poison/terror_spider/proc/DoLayTerrorEggs(lay_type, lay_number, lay_crawl)
stop_automated_movement = 1
- var/obj/effect/spider/eggcluster/terror_eggcluster/C = new /obj/effect/spider/eggcluster/terror_eggcluster(get_turf(src))
+ var/obj/structure/spider/eggcluster/terror_eggcluster/C = new /obj/structure/spider/eggcluster/terror_eggcluster(get_turf(src))
C.spiderling_type = lay_type
C.spiderling_number = lay_number
C.spiderling_ventcrawl = lay_crawl
@@ -118,7 +118,7 @@
spawn(10)
stop_automated_movement = 0
-/obj/effect/spider/eggcluster/terror_eggcluster
+/obj/structure/spider/eggcluster/terror_eggcluster
name = "terror egg cluster"
desc = "A cluster of tiny spider eggs. They pulse with a strong inner life, and appear to have sharp thorns on the sides."
icon_state = "eggs"
@@ -130,7 +130,7 @@
var/spiderling_ventcrawl = 1
var/list/enemies = list()
-/obj/effect/spider/eggcluster/terror_eggcluster/New()
+/obj/structure/spider/eggcluster/terror_eggcluster/New()
..()
ts_egg_list += src
spawn(50)
@@ -153,16 +153,16 @@
else if(spiderling_type == /mob/living/simple_animal/hostile/poison/terror_spider/queen)
name = "queen of terror eggs"
-/obj/effect/spider/eggcluster/terror_eggcluster/Destroy()
+/obj/structure/spider/eggcluster/terror_eggcluster/Destroy()
ts_egg_list -= src
return ..()
-/obj/effect/spider/eggcluster/terror_eggcluster/process()
+/obj/structure/spider/eggcluster/terror_eggcluster/process()
amount_grown += rand(0,2)
if(amount_grown >= 100)
var/num = spiderling_number
for(var/i=0, i (last_spins_webs + freq_spins_webs))
last_spins_webs = world.time
- var/obj/effect/spider/terrorweb/T = locate() in get_turf(src)
+ var/obj/structure/spider/terrorweb/T = locate() in get_turf(src)
if(!T)
- var/obj/effect/spider/terrorweb/W = new /obj/effect/spider/terrorweb(loc)
+ var/obj/structure/spider/terrorweb/W = new /obj/structure/spider/terrorweb(loc)
if(web_infects)
W.infectious = 1
W.name = "sharp terror web"
@@ -275,7 +275,7 @@
var/list/potentials = list()
for(var/turf/simulated/T in oview(3,get_turf(src)))
if(T.density == 0 && get_dist(get_turf(src),T) == 3)
- var/obj/effect/spider/terrorweb/W = locate() in T
+ var/obj/structure/spider/terrorweb/W = locate() in T
if(!W)
var/obj/structure/grille/G = locate() in T
if(!G)
@@ -288,7 +288,7 @@
var/list/webbed = list()
for(var/turf/simulated/T in oview(3,get_turf(src)))
if(T.density == 0 && get_dist(get_turf(src),T) == 3)
- var/obj/effect/spider/terrorweb/W = locate() in T
+ var/obj/structure/spider/terrorweb/W = locate() in T
if(W)
webbed += T
return webbed
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
index 9134715aac3..caff5e2017f 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
@@ -168,7 +168,7 @@ var/global/list/ts_spiderling_list = list()
visible_message("[src] harmlessly nuzzles [target].")
T.CheckFaction()
CheckFaction()
- else if(istype(target, /obj/effect/spider/cocoon))
+ else if(istype(target, /obj/structure/spider/cocoon))
to_chat(src, "Destroying our own cocoons would not help us.")
else if(istype(target, /obj/machinery/door/firedoor))
var/obj/machinery/door/firedoor/F = target
diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm
index 73109f0f7e5..8c0d4fb32e3 100644
--- a/code/modules/reagents/chemistry/reagents/toxins.dm
+++ b/code/modules/reagents/chemistry/reagents/toxins.dm
@@ -269,7 +269,7 @@
M.take_organ_damage(0,20)
/datum/reagent/sacid/reaction_obj(obj/O, volume)
- if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)) && prob(40))
+ if((istype(O,/obj/item) || istype(O,/obj/structure/glowshroom)) && prob(40))
if(!O.unacidable)
var/obj/effect/decal/cleanable/molten_object/I = new/obj/effect/decal/cleanable/molten_object(O.loc)
I.desc = "Looks like this was \an [O] some time ago."
@@ -615,7 +615,7 @@
H.status_flags |= DISFIGURED
/datum/reagent/facid/reaction_obj(obj/O, volume)
- if((istype(O, /obj/item) || istype(O, /obj/effect/glowshroom)))
+ if((istype(O, /obj/item) || istype(O, /obj/structure/glowshroom)))
if(!O.unacidable)
var/obj/effect/decal/cleanable/molten_object/I = new/obj/effect/decal/cleanable/molten_object(O.loc)
I.desc = "Looks like this was \an [O] some time ago."
@@ -924,10 +924,10 @@
var/obj/structure/alien/weeds/alien_weeds = O
alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast
alien_weeds.healthcheck()
- else if(istype(O, /obj/effect/glowshroom)) //even a small amount is enough to kill it
+ else if(istype(O, /obj/structure/glowshroom)) //even a small amount is enough to kill it
qdel(O)
- else if(istype(O,/obj/effect/spacevine))
- var/obj/effect/spacevine/SV = O
+ else if(istype(O,/obj/structure/spacevine))
+ var/obj/structure/spacevine/SV = O
SV.on_chem_effect(src)
/datum/reagent/glyphosate/reaction_mob(mob/living/M, method=TOUCH, volume)
diff --git a/code/modules/research/xenoarchaeology/finds/finds_special.dm b/code/modules/research/xenoarchaeology/finds/finds_special.dm
index 8ddcf27593b..f062724f20c 100644
--- a/code/modules/research/xenoarchaeology/finds/finds_special.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds_special.dm
@@ -82,7 +82,7 @@
//use up stored charges
if(charges >= 10)
charges -= 10
- new /obj/effect/spider/eggcluster(pick(view(1,src)))
+ new /obj/structure/spider/eggcluster(pick(view(1,src)))
if(charges >= 3)
if(prob(5))
diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm
index 6fc4cae582e..24d76267b13 100644
--- a/code/modules/shuttle/supply.dm
+++ b/code/modules/shuttle/supply.dm
@@ -236,8 +236,8 @@
/proc/forbidden_atoms_check(atom/A)
var/list/blacklist = list(
/mob/living,
- /obj/effect/blob,
- /obj/effect/spider/spiderling,
+ /obj/structure/blob,
+ /obj/structure/spider/spiderling,
/obj/item/weapon/disk/nuclear,
/obj/machinery/nuclearbomb,
/obj/item/device/radio/beacon,
diff --git a/code/modules/surgery/organs/parasites.dm b/code/modules/surgery/organs/parasites.dm
index 414a48cf5ab..0adca48bfd0 100644
--- a/code/modules/surgery/organs/parasites.dm
+++ b/code/modules/surgery/organs/parasites.dm
@@ -28,7 +28,7 @@
owner.emote("scream")
var/spiders = rand(3,5)
for(var/i in 1 to spiders)
- new/obj/effect/spider/spiderling(get_turf(owner))
+ new/obj/structure/spider/spiderling(get_turf(owner))
owner.visible_message("[owner] bursts open! Holy fuck!")
owner.gib()
@@ -86,17 +86,17 @@
owner.Stun(20)
owner.Weaken(20)
// yes, this is a long stun - that's intentional. Gotta give the spiderlings time to escape.
- var/obj/effect/spider/spiderling/terror_spiderling/S1 = new(get_turf(owner))
+ var/obj/structure/spider/spiderling/terror_spiderling/S1 = new(get_turf(owner))
S1.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/red
S1.name = "red spiderling"
if(prob(50))
S1.stillborn = 1
- var/obj/effect/spider/spiderling/terror_spiderling/S2 = new(get_turf(owner))
+ var/obj/structure/spider/spiderling/terror_spiderling/S2 = new(get_turf(owner))
S2.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/gray
S2.name = "gray spiderling"
if(prob(50))
S2.stillborn = 1
- var/obj/effect/spider/spiderling/terror_spiderling/S3 = new(get_turf(owner))
+ var/obj/structure/spider/spiderling/terror_spiderling/S3 = new(get_turf(owner))
S3.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/green
S3.name = "green spiderling"
if(prob(50))