diff --git a/code/game/objects/effects/bump_teleporter.dm b/code/game/objects/effects/bump_teleporter.dm
index 42f59cc535..307a912fe3 100644
--- a/code/game/objects/effects/bump_teleporter.dm
+++ b/code/game/objects/effects/bump_teleporter.dm
@@ -11,8 +11,8 @@
var/static/list/AllTeleporters
-/obj/effect/bump_teleporter/New()
- ..()
+/obj/effect/bump_teleporter/Initialize()
+ . = ..()
LAZYADD(AllTeleporters, src)
/obj/effect/bump_teleporter/Destroy()
diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm
index d62146be5e..1165ee50a0 100644
--- a/code/game/objects/effects/countdown.dm
+++ b/code/game/objects/effects/countdown.dm
@@ -14,9 +14,9 @@
anchored = TRUE
layer = GHOST_LAYER
-/obj/effect/countdown/New(atom/A)
+/obj/effect/countdown/Initialize()
. = ..()
- attach(A)
+ attach(loc)
/obj/effect/countdown/examine(mob/user)
. = ..()
diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm
index 8c31847f78..eb4c562c36 100644
--- a/code/game/objects/effects/effect_system/effect_system.dm
+++ b/code/game/objects/effects/effect_system/effect_system.dm
@@ -12,13 +12,13 @@ would spawn and follow the beaker, even if it is carried or thrown.
pass_flags = PASSTABLE | PASSGRILLE
anchored = TRUE
-/obj/effect/particle_effect/New()
- ..()
+/obj/effect/particle_effect/Initialize()
+ . = ..()
GLOB.cameranet.updateVisibility(src)
/obj/effect/particle_effect/Destroy()
GLOB.cameranet.updateVisibility(src)
- . = ..()
+ return ..()
/datum/effect_system
var/number = 3
diff --git a/code/game/objects/effects/effect_system/effects_explosion.dm b/code/game/objects/effects/effect_system/effects_explosion.dm
index 33ecd308d1..d208510e86 100644
--- a/code/game/objects/effects/effect_system/effects_explosion.dm
+++ b/code/game/objects/effects/effect_system/effects_explosion.dm
@@ -4,8 +4,8 @@
opacity = 1
anchored = TRUE
-/obj/effect/particle_effect/expl_particles/New()
- ..()
+/obj/effect/particle_effect/expl_particles/Initialize()
+ . = ..()
QDEL_IN(src, 15)
/datum/effect_system/expl_particles
@@ -29,8 +29,8 @@
pixel_x = -32
pixel_y = -32
-/obj/effect/explosion/New()
- ..()
+/obj/effect/explosion/Initialize()
+ . = ..()
QDEL_IN(src, 10)
/datum/effect_system/explosion
diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index d9a7d6fb7b..e7b7472e86 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -270,8 +270,8 @@
max_integrity = 20
CanAtmosPass = ATMOS_PASS_DENSITY
-/obj/structure/foamedmetal/New()
- ..()
+/obj/structure/foamedmetal/Initialize()
+ . = ..()
air_update_turf(1)
diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm
index 5618ca9a91..472261003f 100644
--- a/code/game/objects/effects/effect_system/effects_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_smoke.dm
@@ -30,8 +30,8 @@
set_opacity(0) //if we were blocking view, we aren't now because we're fading out
stoplag()
-/obj/effect/particle_effect/smoke/New()
- ..()
+/obj/effect/particle_effect/smoke/Initialize()
+ . = ..()
create_reagents(500)
START_PROCESSING(SSobj, src)
diff --git a/code/game/objects/effects/effect_system/effects_sparks.dm b/code/game/objects/effects/effect_system/effects_sparks.dm
index 695c835a89..8453b6438d 100644
--- a/code/game/objects/effects/effect_system/effects_sparks.dm
+++ b/code/game/objects/effects/effect_system/effects_sparks.dm
@@ -22,8 +22,8 @@
anchored = TRUE
light_range = 1
-/obj/effect/particle_effect/sparks/New()
- ..()
+/obj/effect/particle_effect/sparks/Initialize()
+ . = ..()
flick("sparks", src) // replay the animation
playsound(src.loc, "sparks", 100, 1)
var/turf/T = loc
diff --git a/code/game/objects/effects/effect_system/effects_water.dm b/code/game/objects/effects/effect_system/effects_water.dm
index 4c84c97650..469b05176a 100644
--- a/code/game/objects/effects/effect_system/effects_water.dm
+++ b/code/game/objects/effects/effect_system/effects_water.dm
@@ -7,8 +7,8 @@
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
-/obj/effect/particle_effect/water/New()
- ..()
+/obj/effect/particle_effect/water/Initialize()
+ . = ..()
QDEL_IN(src, 70)
/obj/effect/particle_effect/water/Move(turf/newloc)
@@ -45,8 +45,8 @@ steam.start() -- spawns the effect
icon_state = "extinguish"
density = FALSE
-/obj/effect/particle_effect/steam/New()
- ..()
+/obj/effect/particle_effect/steam/Initialize()
+ . = ..()
QDEL_IN(src, 20)
/datum/effect_system/steam_spread
diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm
index ef074f4cec..6aab4f386a 100644
--- a/code/game/objects/effects/forcefields.dm
+++ b/code/game/objects/effects/forcefields.dm
@@ -8,8 +8,8 @@
CanAtmosPass = ATMOS_PASS_DENSITY
var/timeleft = 300 //Set to 0 for permanent forcefields (ugh)
-/obj/effect/forcefield/New()
- ..()
+/obj/effect/forcefield/Initialize()
+ . = ..()
if(timeleft)
QDEL_IN(src, timeleft)
diff --git a/code/game/objects/effects/manifest.dm b/code/game/objects/effects/manifest.dm
index 2082f2b495..fbf403a765 100644
--- a/code/game/objects/effects/manifest.dm
+++ b/code/game/objects/effects/manifest.dm
@@ -3,8 +3,9 @@
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x"
-/obj/effect/manifest/New()
- src.invisibility = INVISIBILITY_ABSTRACT
+/obj/effect/manifest/Initialize()
+ . = ..()
+ invisibility = INVISIBILITY_ABSTRACT
/obj/effect/manifest/proc/manifest()
var/dat = "Crew Manifest:
"
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index 8f256f1102..2ae4f5e5c5 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -98,8 +98,8 @@
density = FALSE
var/duration = 0
-/obj/effect/mine/pickup/New()
- ..()
+/obj/effect/mine/pickup/Initialize()
+ . = ..()
animate(src, pixel_y = 4, time = 20, loop = -1)
/obj/effect/mine/pickup/triggermine(mob/victim)
diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm
index c1abc2c02e..a0634928ce 100644
--- a/code/game/objects/effects/overlays.dm
+++ b/code/game/objects/effects/overlays.dm
@@ -13,8 +13,8 @@
icon_state="b_beam"
var/atom/BeamSource
-/obj/effect/overlay/beam/New()
- ..()
+/obj/effect/overlay/beam/Initialize()
+ . = ..()
QDEL_IN(src, 10)
/obj/effect/overlay/palmtree_r
diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm
index be9cb0b89a..82c272e7f9 100644
--- a/code/game/objects/items/airlock_painter.dm
+++ b/code/game/objects/items/airlock_painter.dm
@@ -15,8 +15,8 @@
var/obj/item/toner/ink = null
-/obj/item/airlock_painter/New()
- ..()
+/obj/item/airlock_painter/Initialize()
+ . = ..()
ink = new /obj/item/toner(src)
//This proc doesn't just check if the painter can be used, but also uses it.
diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm
index a0ec648a1a..b660801f90 100644
--- a/code/game/objects/items/candle.dm
+++ b/code/game/objects/items/candle.dm
@@ -14,8 +14,8 @@
var/start_lit = FALSE
heat = 1000
-/obj/item/candle/New()
- ..()
+/obj/item/candle/Initialize()
+ . = ..()
if(start_lit)
// No visible message
light(show_message = FALSE)
diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm
index b5dfbf7817..85feb3026c 100644
--- a/code/modules/admin/fun_balloon.dm
+++ b/code/modules/admin/fun_balloon.dm
@@ -6,7 +6,7 @@
anchored = TRUE
var/popped = FALSE
-/obj/effect/fun_balloon/New()
+/obj/effect/fun_balloon/Initialize()
. = ..()
SSobj.processing |= src