diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
index 5f8ad3de9d..083e610587 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
@@ -47,8 +47,8 @@
icon_state = "teleport"
duration = 80
-/obj/effect/overlay/temp/teleport_abductor/New()
+/obj/effect/overlay/temp/teleport_abductor/Initialize()
+ . = ..()
var/datum/effect_system/spark_spread/S = new
S.set_up(10,0,loc)
- S.start()
- ..()
\ No newline at end of file
+ S.start()
\ No newline at end of file
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index 6ce04bed14..c6248b03cc 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -527,9 +527,9 @@
icon_state = "disintegrate"
duration = 10
-/obj/effect/overlay/temp/swarmer/disintegration/New()
- playsound(src.loc, "sparks", 100, 1)
- ..()
+/obj/effect/overlay/temp/swarmer/disintegration/Initialize()
+ . = ..()
+ playsound(loc, "sparks", 100, 1)
/obj/effect/overlay/temp/swarmer/dismantle
icon_state = "dismantle"
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index c925a5cbd5..e409b087d8 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -630,6 +630,6 @@
duration = 40
pixel_x = 500
-/obj/effect/overlay/temp/tornado/New(loc)
- ..()
+/obj/effect/overlay/temp/tornado/Initialize()
+ . = ..()
animate(src, pixel_x = -500, time = 40)
diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm
index bc9251d9fc..ab17503447 100644
--- a/code/game/objects/effects/overlays.dm
+++ b/code/game/objects/effects/overlays.dm
@@ -44,10 +44,10 @@
/obj/effect/overlay/temp/dir_setting
randomdir = FALSE
-/obj/effect/overlay/temp/dir_setting/New(loc, set_dir)
+/obj/effect/overlay/temp/dir_setting/Initialize(mapload, set_dir)
if(set_dir)
setDir(set_dir)
- ..()
+ . = ..()
/obj/effect/overlay/temp/dir_setting/bloodsplatter
icon = 'icons/effects/blood.dmi'
@@ -56,12 +56,12 @@
layer = BELOW_MOB_LAYER
var/splatter_type = "splatter"
-/obj/effect/overlay/temp/dir_setting/bloodsplatter/New(loc, set_dir)
+/obj/effect/overlay/temp/dir_setting/bloodsplatter/Initialize(mapload, set_dir)
if(set_dir in GLOB.diagonals)
icon_state = "[splatter_type][pick(1, 2, 6)]"
else
icon_state = "[splatter_type][pick(3, 4, 5)]"
- ..()
+ . = ..()
var/target_pixel_x = 0
var/target_pixel_y = 0
switch(set_dir)
@@ -93,6 +93,13 @@
/obj/effect/overlay/temp/dir_setting/bloodsplatter/xenosplatter
splatter_type = "xsplatter"
+/obj/effect/overlay/temp/dir_setting/speedbike_trail
+ name = "speedbike trails"
+ icon_state = "ion_fade"
+ layer = BELOW_MOB_LAYER
+ duration = 10
+ randomdir = 0
+
/obj/effect/overlay/temp/dir_setting/firing_effect
icon = 'icons/effects/effects.dmi'
icon_state = "firing_effect"
@@ -189,8 +196,8 @@
desc = "It's a decoy!"
duration = 15
-/obj/effect/overlay/temp/decoy/New(loc, atom/mimiced_atom)
- ..()
+/obj/effect/overlay/temp/decoy/Initialize(mapload, atom/mimiced_atom)
+ . = ..()
alpha = initial(alpha)
if(mimiced_atom)
name = mimiced_atom.name
@@ -198,8 +205,8 @@
setDir(mimiced_atom.dir)
mouse_opacity = 0
-/obj/effect/overlay/temp/decoy/fading/New(loc, atom/mimiced_atom)
- ..()
+/obj/effect/overlay/temp/decoy/fading/Initialize(mapload, atom/mimiced_atom)
+ . = ..()
animate(src, alpha = 0, time = duration)
/obj/effect/overlay/temp/decoy/fading/fivesecond
@@ -324,15 +331,15 @@
var/mob/user
var/damage = 20
-/obj/effect/overlay/temp/ratvar/volt_hit/New(loc, caster, multiplier)
+/obj/effect/overlay/temp/ratvar/volt_hit/Initialize(mapload, caster, multiplier)
if(multiplier)
damage *= multiplier
duration = max(round(damage * 0.2), 1)
- ..()
+ . = ..()
set_light(1.5, 2, LIGHT_COLOR_ORANGE)
-/obj/effect/overlay/temp/ratvar/volt_hit/true/New(loc, caster, multiplier)
- ..()
+/obj/effect/overlay/temp/ratvar/volt_hit/true/Initialize(mapload, caster, multiplier)
+ . = ..()
user = caster
if(user)
var/matrix/M = new
@@ -376,8 +383,8 @@
icon_state = "warden_gaze"
duration = 3
-/obj/effect/overlay/temp/ratvar/ocular_warden/New()
- ..()
+/obj/effect/overlay/temp/ratvar/ocular_warden/Initialize()
+ . = ..()
pixel_x = rand(-8, 8)
pixel_y = rand(-10, 10)
animate(src, alpha = 0, time = 3, easing = EASE_OUT)
@@ -401,8 +408,8 @@
layer = ABOVE_MOB_LAYER
duration = 10
-/obj/effect/overlay/temp/ratvar/component/New()
- ..()
+/obj/effect/overlay/temp/ratvar/component/Initialize()
+ . = ..()
transform = matrix()*0.75
pixel_x = rand(-10, 10)
pixel_y = rand(-10, -2)
@@ -432,9 +439,8 @@
light_power = 2
light_color = "#FAE48C"
-/obj/effect/overlay/temp/ratvar/sigil/transgression/New()
- ..()
- update_light()
+/obj/effect/overlay/temp/ratvar/sigil/transgression/Initialize()
+ . = ..()
var/oldtransform = transform
animate(src, transform = matrix()*2, time = 5)
animate(transform = oldtransform, alpha = 0, time = 65)
@@ -447,10 +453,6 @@
light_power = 0.5
light_color = "#1E8CE1"
-/obj/effect/overlay/temp/ratvar/sigil/vitality/New()
- ..()
- update_light()
-
/obj/effect/overlay/temp/ratvar/sigil/accession
color = "#AF0AAF"
layer = ABOVE_MOB_LAYER
@@ -493,9 +495,9 @@
icon = 'icons/mob/mob.dmi'
duration = 15
-/obj/effect/overlay/temp/gib_animation/New(loc, gib_icon)
+/obj/effect/overlay/temp/gib_animation/Initialize(mapload, gib_icon)
icon_state = gib_icon // Needs to be before ..() so icon is correct
- ..()
+ . = ..()
/obj/effect/overlay/temp/gib_animation/ex_act(severity)
return //so the overlay isn't deleted by the explosion that gibbed the mob.
@@ -507,9 +509,9 @@
icon = 'icons/mob/mob.dmi'
duration = 15
-/obj/effect/overlay/temp/dust_animation/New(loc, dust_icon)
+/obj/effect/overlay/temp/dust_animation/Initialize(mapload, dust_icon)
icon_state = dust_icon // Before ..() so the correct icon is flick()'d
- ..()
+ . = ..()
/obj/effect/overlay/temp/mummy_animation
icon = 'icons/mob/mob.dmi'
@@ -521,12 +523,12 @@
icon_state = "heal"
duration = 15
-/obj/effect/overlay/temp/heal/New(loc, colour)
- ..()
- pixel_x = rand(-12, 12)
- pixel_y = rand(-9, 0)
+/obj/effect/overlay/temp/heal/Initialize(mapload, colour)
if(colour)
color = colour
+ . = ..()
+ pixel_x = rand(-12, 12)
+ pixel_y = rand(-9, 0)
/obj/effect/overlay/temp/kinetic_blast
name = "kinetic explosion"
@@ -558,14 +560,14 @@
icon_state = "impact_bullet"
duration = 5
-/obj/effect/overlay/temp/impact_effect/New(loc, atom/target, obj/item/projectile/P)
+/obj/effect/overlay/temp/impact_effect/Initialize(mapload, atom/target, obj/item/projectile/P)
if(target == P.original) //the projectile hit the target originally clicked
pixel_x = P.p_x + target.pixel_x - 16 + rand(-4,4)
pixel_y = P.p_y + target.pixel_y - 16 + rand(-4,4)
else
pixel_x = target.pixel_x + rand(-4,4)
pixel_y = target.pixel_y + rand(-4,4)
- ..()
+ . = ..()
/obj/effect/overlay/temp/impact_effect/red_laser
icon_state = "impact_laser"
diff --git a/code/game/objects/effects/overlays.dm.rej b/code/game/objects/effects/overlays.dm.rej
new file mode 100644
index 0000000000..f25f8f24e9
--- /dev/null
+++ b/code/game/objects/effects/overlays.dm.rej
@@ -0,0 +1,21 @@
+diff a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm (rejected hunks)
+@@ -31,8 +31,8 @@
+ . = ..()
+ deltimer(timerid)
+
+-/obj/effect/overlay/temp/New()
+- ..()
++/obj/effect/overlay/temp/Initialize()
++ . = ..()
+ if(randomdir)
+ setDir(pick(GLOB.cardinal))
+ flick("[icon_state]", src) //Because we might be pulling it from a pool, flick whatever icon it uses so it starts at the start of the icon's animation.
+@@ -214,7 +221,7 @@
+ icon = 'icons/effects/fire.dmi'
+ icon_state = "3"
+ duration = 20
+-
++
+ /obj/effect/overlay/temp/cult
+ randomdir = 0
+ duration = 10
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 496702aa4d..6955872c27 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -100,8 +100,8 @@
icon_state = "medi_holo"
duration = 30
-/obj/effect/overlay/temp/medical_holosign/New(loc, creator)
- ..()
+/obj/effect/overlay/temp/medical_holosign/Initialize(mapload, creator)
+ . = ..()
playsound(loc, 'sound/machines/ping.ogg', 50, 0) //make some noise!
if(creator)
visible_message("[creator] created a medical hologram!")
diff --git a/code/modules/VR/vr_sleeper.dm b/code/modules/VR/vr_sleeper.dm
index 41f3bbc001..9411917c39 100644
--- a/code/modules/VR/vr_sleeper.dm
+++ b/code/modules/VR/vr_sleeper.dm
@@ -17,8 +17,8 @@
var/allow_creating_vr_humans = TRUE //So you can have vr_sleepers that always spawn you as a specific person or 1 life/chance vr games
var/outfit = /datum/outfit/vr_basic
-/obj/machinery/vr_sleeper/New()
- ..()
+/obj/machinery/vr_sleeper/Initialize()
+ . = ..()
sparks = new /datum/effect_system/spark_spread()
sparks.set_up(2,0)
sparks.attach(src)
diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm
index 95d561abeb..159e6df5f4 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/support.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm
@@ -16,7 +16,7 @@
var/toggle = FALSE
/mob/living/simple_animal/hostile/guardian/healer/Initialize()
- ..()
+ . = ..()
var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
medsensor.add_hud_to(src)
diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
index 2829bf574e..951589daaf 100644
--- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
@@ -149,8 +149,8 @@
duration = 18
randomdir = FALSE
-/obj/effect/overlay/temp/paperwiz_dying/New()
- ..()
+/obj/effect/overlay/temp/paperwiz_dying/Initialize()
+ . = ..()
visible_message("The wizard cries out in pain as a gate appears behind him, sucking him in!")
playsound(get_turf(src),'sound/magic/MandSwap.ogg', 50, 1, 1)
playsound(get_turf(src),'sound/hallucinations/wail.ogg', 50, 1, 1)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm.rej b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm.rej
new file mode 100644
index 0000000000..3dab6ff0a6
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm.rej
@@ -0,0 +1,10 @@
+diff a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm (rejected hunks)
+@@ -106,7 +106,7 @@ Difficulty: Very Hard
+ var/target
+
+ /obj/effect/overlay/temp/at_shield/Initialize(mapload, new_target)
+- ..()
++ . = ..()
+ target = new_target
+ INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE)
+
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm.rej b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm.rej
new file mode 100644
index 0000000000..84c2ab0b38
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm.rej
@@ -0,0 +1,23 @@
+diff a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm (rejected hunks)
+@@ -96,8 +96,8 @@ Difficulty: Medium
+ duration = 12
+ pixel_z = 500
+
+-/obj/effect/overlay/temp/fireball/Initialize(loc)
+- ..()
++/obj/effect/overlay/temp/fireball/Initialize()
++ . = ..()
+ animate(src, pixel_z = 0, time = 12)
+
+ /obj/effect/overlay/temp/target
+@@ -121,8 +121,8 @@ Difficulty: Medium
+ /obj/effect/overlay/temp/target/ex_act()
+ return
+
+-/obj/effect/overlay/temp/target/Initialize(loc)
+- ..()
++/obj/effect/overlay/temp/target/Initialize()
++ . = ..()
+ INVOKE_ASYNC(src, .proc/fall)
+
+ /obj/effect/overlay/temp/target/proc/fall()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
index f0c1a7ec04..03f8ce63cf 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
@@ -426,8 +426,8 @@ Difficulty: Hard
layer = BELOW_MOB_LAYER
var/mob/living/caster //who made this, anyway
-/obj/effect/overlay/temp/hierophant/New(loc, new_caster)
- ..()
+/obj/effect/overlay/temp/hierophant/Initialize(mapload, new_caster)
+ . = ..()
if(new_caster)
caster = new_caster
@@ -437,13 +437,13 @@ Difficulty: Hard
light_range = 1
randomdir = FALSE
-/obj/effect/overlay/temp/hierophant/squares/New(loc, new_caster)
- ..()
+/obj/effect/overlay/temp/hierophant/squares/Initialize(mapload, new_caster)
+ . = ..()
if(ismineralturf(loc))
var/turf/closed/mineral/M = loc
M.gets_drilled(caster)
-/obj/effect/overlay/temp/hierophant/wall //smoothing and pooling are not friends. TODO: figure this out
+/obj/effect/overlay/temp/hierophant/wall //smoothing and pooling were not friends, but pooling is dead.
name = "vortex wall"
icon = 'icons/turf/walls/hierophant_wall_temp.dmi'
icon_state = "wall"
@@ -451,15 +451,14 @@ Difficulty: Hard
duration = 100
smooth = SMOOTH_TRUE
-/obj/effect/overlay/temp/hierophant/wall/New(loc, new_caster)
- ..()
+/obj/effect/overlay/temp/hierophant/wall/Initialize(mapload, new_caster)
+ . = ..()
queue_smooth_neighbors(src)
queue_smooth(src)
/obj/effect/overlay/temp/hierophant/wall/Destroy()
queue_smooth_neighbors(src)
- ..()
- return QDEL_HINT_QUEUE
+ return ..()
/obj/effect/overlay/temp/hierophant/wall/CanPass(atom/movable/mover, turf/target, height = 0)
if(mover == caster)
@@ -480,8 +479,8 @@ Difficulty: Hard
var/currently_seeking = FALSE
var/friendly_fire_check = FALSE //if blasts produced apply friendly fire
-/obj/effect/overlay/temp/hierophant/chaser/New(loc, new_caster, new_target, new_speed, is_friendly_fire)
- ..()
+/obj/effect/overlay/temp/hierophant/chaser/Initialize(mapload, new_caster, new_target, new_speed, is_friendly_fire)
+ . = ..()
target = new_target
friendly_fire_check = is_friendly_fire
if(new_speed)
@@ -558,8 +557,8 @@ Difficulty: Hard
var/friendly_fire_check = FALSE
var/bursting = FALSE //if we're bursting and need to hit anyone crossing us
-/obj/effect/overlay/temp/hierophant/blast/New(loc, new_caster, friendly_fire)
- ..()
+/obj/effect/overlay/temp/hierophant/blast/Initialize(mapload, new_caster, friendly_fire)
+ . = ..()
friendly_fire_check = friendly_fire
if(new_caster)
hit_things += new_caster
diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm
index b5c2a93996..f5df46cb7b 100644
--- a/code/modules/projectiles/projectile/special.dm
+++ b/code/modules/projectiles/projectile/special.dm
@@ -204,7 +204,8 @@
dismemberment = 20
impact_effect_type = /obj/effect/overlay/temp/impact_effect/purple_laser
-/obj/item/projectile/plasma/New()
+/obj/item/projectile/plasma/Initialize()
+ . = ..()
var/turf/proj_turf = get_turf(src)
if(!isturf(proj_turf))
return
@@ -215,7 +216,6 @@
name = "full strength [name]"
damage *= 4
range *= 2
- ..()
/obj/item/projectile/plasma/on_hit(atom/target)
. = ..()
@@ -254,9 +254,10 @@
var/power = 4
var/list/thrown_items = list()
-/obj/item/projectile/gravityrepulse/New(var/obj/item/ammo_casing/energy/gravityrepulse/C)
- ..()
- if(C) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
+/obj/item/projectile/gravityrepulse/Initialize()
+ . = ..()
+ var/obj/item/ammo_casing/energy/gravityrepulse/C = loc
+ if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
/obj/item/projectile/gravityrepulse/on_hit()
@@ -284,9 +285,10 @@
var/power = 4
var/list/thrown_items = list()
-/obj/item/projectile/gravityattract/New(var/obj/item/ammo_casing/energy/gravityattract/C)
- ..()
- if(C) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
+/obj/item/projectile/gravityattract/Initialize()
+ . = ..()
+ var/obj/item/ammo_casing/energy/gravityattract/C = loc
+ if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
/obj/item/projectile/gravityattract/on_hit()
@@ -313,9 +315,10 @@
var/power = 4
var/list/thrown_items = list()
-/obj/item/projectile/gravitychaos/New(var/obj/item/ammo_casing/energy/gravitychaos/C)
- ..()
- if(C) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
+/obj/item/projectile/gravitychaos/Initialize()
+ . = ..()
+ var/obj/item/ammo_casing/energy/gravitychaos/C = loc
+ if(istype(C)) //Hard-coded maximum power so servers can't be crashed by trying to throw the entire Z level's items
power = min(C.gun.power, 15)
/obj/item/projectile/gravitychaos/on_hit()
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index f8989a2304..da1eb90685 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -52,8 +52,8 @@
"toxin"
)
-/obj/machinery/chem_dispenser/New()
- ..()
+/obj/machinery/chem_dispenser/Initialize()
+ . = ..()
recharge()
dispensable_reagents = sortList(dispensable_reagents)
@@ -244,8 +244,8 @@
)
)
-/obj/machinery/chem_dispenser/constructable/New()
- ..()
+/obj/machinery/chem_dispenser/constructable/Initialize()
+ . = ..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_dispenser(null)
B.apply_default_parts(src)
diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm
index 2c6f7712e4..da728fea89 100644
--- a/code/modules/reagents/chemistry/machinery/chem_heater.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm
@@ -12,8 +12,8 @@
var/heater_coefficient = 0.10
var/on = FALSE
-/obj/machinery/chem_heater/New()
- ..()
+/obj/machinery/chem_heater/Initialize()
+ . = ..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_heater(null)
B.apply_default_parts(src)
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index a94a1c01ff..93628a9cc1 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -17,12 +17,12 @@
var/useramount = 30 // Last used amount
layer = BELOW_OBJ_LAYER
-/obj/machinery/chem_master/New()
+/obj/machinery/chem_master/Initialize()
create_reagents(100)
add_overlay("waitlight")
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_master(null)
B.apply_default_parts(src)
- ..()
+ . = ..()
/obj/item/weapon/circuitboard/machine/chem_master
name = "ChemMaster 3000 (Machine Board)"
diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm
index cfc8198b38..5a73c5dcf4 100644
--- a/code/modules/reagents/chemistry/machinery/pandemic.dm
+++ b/code/modules/reagents/chemistry/machinery/pandemic.dm
@@ -13,8 +13,8 @@
var/wait = null
var/obj/item/weapon/reagent_containers/beaker = null
-/obj/machinery/computer/pandemic/New()
- ..()
+/obj/machinery/computer/pandemic/Initialize()
+ . = ..()
update_icon()
/obj/machinery/computer/pandemic/proc/GetVirusByIndex(index)
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index 5c8d695007..9f5073075f 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -89,10 +89,9 @@
var/list/holdingitems = list()
-/obj/machinery/reagentgrinder/New()
- ..()
+/obj/machinery/reagentgrinder/Initialize()
+ . = ..()
beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src)
- return
/obj/machinery/reagentgrinder/Destroy()
if(beaker)
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 92662600d8..11b38d1e65 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -12,9 +12,9 @@
var/disease_amount = 20
var/spillable = 0
-/obj/item/weapon/reagent_containers/New(location, vol = 0)
- ..()
- if (isnum(vol) && vol > 0)
+/obj/item/weapon/reagent_containers/Initialize(mapload, vol)
+ . = ..()
+ if(isnum(vol) && vol > 0)
volume = vol
create_reagents(volume)
if(spawned_disease)
diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm
index 1ed89a74db..ab46730873 100644
--- a/code/modules/reagents/reagent_containers/blood_pack.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack.dm
@@ -7,8 +7,8 @@
var/blood_type = null
var/labelled = 0
-/obj/item/weapon/reagent_containers/blood/New()
- ..()
+/obj/item/weapon/reagent_containers/blood/Initialize()
+ . = ..()
if(blood_type != null)
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
update_icon()
@@ -43,9 +43,9 @@
if(51 to INFINITY)
icon_state = "full"
-/obj/item/weapon/reagent_containers/blood/random/New()
+/obj/item/weapon/reagent_containers/blood/random/Initialize()
blood_type = pick("A+", "A-", "B+", "B-", "O+", "O-", "L")
- ..()
+ . = ..()
/obj/item/weapon/reagent_containers/blood/APlus
blood_type = "A+"
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index ee6da85de0..ee0cc3c8b4 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -30,8 +30,8 @@ Borg Hypospray
//Used as list for input() in shakers.
-/obj/item/weapon/reagent_containers/borghypo/New()
- ..()
+/obj/item/weapon/reagent_containers/borghypo/Initialize()
+ . = ..()
for(var/R in reagent_ids)
add_reagent(R)
diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm
index fc08ebdbe8..a92c52abf4 100644
--- a/code/modules/reagents/reagent_containers/bottle.dm
+++ b/code/modules/reagents/reagent_containers/bottle.dm
@@ -9,8 +9,8 @@
volume = 30
-/obj/item/weapon/reagent_containers/glass/bottle/New()
- ..()
+/obj/item/weapon/reagent_containers/glass/bottle/Initialize()
+ . = ..()
if(!icon_state)
icon_state = "bottle"
update_icon()
@@ -139,8 +139,8 @@
icon_state = "bottle16"
var/extra_reagent = null
-/obj/item/weapon/reagent_containers/glass/bottle/traitor/New()
- ..()
+/obj/item/weapon/reagent_containers/glass/bottle/traitor/Initialize()
+ . = ..()
extra_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide")
reagents.add_reagent("[extra_reagent]", 3)
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 10b584cdfb..65574b5d34 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -122,8 +122,8 @@
item_state = "beaker"
materials = list(MAT_GLASS=500)
-/obj/item/weapon/reagent_containers/glass/beaker/New()
- ..()
+/obj/item/weapon/reagent_containers/glass/beaker/Initialize()
+ . = ..()
update_icon()
/obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change()
@@ -176,8 +176,8 @@
origin_tech = "materials=2;engineering=3;plasmatech=3"
flags = OPENCONTAINER
-/obj/item/weapon/reagent_containers/glass/beaker/noreact/New()
- ..()
+/obj/item/weapon/reagent_containers/glass/beaker/noreact/Initialize()
+ . = ..()
reagents.set_reacting(FALSE)
/obj/item/weapon/reagent_containers/glass/beaker/bluespace
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 11d4303ce8..b6bc9b2ccf 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -11,8 +11,8 @@
var/roundstart = 0
var/self_delay = 0 //pills are instant, this is because patches inheret their aplication from pills
-/obj/item/weapon/reagent_containers/pill/New()
- ..()
+/obj/item/weapon/reagent_containers/pill/Initialize()
+ . = ..()
if(!icon_state)
icon_state = "pill[rand(1,20)]"
if(reagents.total_volume && roundstart)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index eea1fe7a2b..f4f6d3a521 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -16,8 +16,8 @@
materials = list(MAT_METAL=10, MAT_GLASS=20)
container_type = TRANSPARENT
-/obj/item/weapon/reagent_containers/syringe/New()
- ..()
+/obj/item/weapon/reagent_containers/syringe/Initialize()
+ . = ..()
if(list_reagents) //syringe starts in inject mode if its already got something inside
mode = SYRINGE_INJECT
update_icon()
@@ -242,7 +242,7 @@
volume = 20
origin_tech = "materials=3;engineering=3"
-/obj/item/weapon/reagent_containers/syringe/noreact/New()
+/obj/item/weapon/reagent_containers/syringe/noreact/Initialize()
. = ..()
reagents.set_reacting(FALSE)
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index f3bc94c4e6..1844dc53ab 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -23,10 +23,10 @@
else
return ..()
-/obj/structure/reagent_dispensers/New()
+/obj/structure/reagent_dispensers/Initialize()
create_reagents(tank_volume)
reagents.add_reagent(reagent_id, tank_volume)
- ..()
+ . = ..()
/obj/structure/reagent_dispensers/examine(mob/user)
..()
@@ -129,8 +129,8 @@
density = 0
reagent_id = "condensedcapsaicin"
-/obj/structure/reagent_dispensers/peppertank/New()
- ..()
+/obj/structure/reagent_dispensers/peppertank/Initialize()
+ . = ..()
if(prob(1))
desc = "IT'S PEPPER TIME, BITCH!"
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 264b6a167d..21f663bd5d 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -24,8 +24,8 @@
// Auto conveyour is always on unless unpowered
-/obj/machinery/conveyor/auto/New(loc, newdir)
- ..(loc, newdir)
+/obj/machinery/conveyor/auto/Initialize(mapload, newdir)
+ . = ..()
operating = 1
update_move_direction()
@@ -43,8 +43,8 @@
icon_state = "conveyor[operating * verted]"
// create a conveyor
-/obj/machinery/conveyor/New(loc, newdir)
- ..(loc)
+/obj/machinery/conveyor/Initialize(mapload, newdir)
+ . = ..()
if(newdir)
setDir(newdir)
update_move_direction()
@@ -326,8 +326,8 @@
w_class = WEIGHT_CLASS_BULKY
var/id = "" //inherited by the switch
-/obj/item/conveyor_switch_construct/New()
- ..()
+/obj/item/conveyor_switch_construct/Initialize()
+ . = ..()
id = rand() //this couldn't possibly go wrong
/obj/item/conveyor_switch_construct/afterattack(atom/A, mob/user, proximity)
diff --git a/code/modules/recycling/disposal-structures.dm b/code/modules/recycling/disposal-structures.dm
index 531af92238..6ea1d958b3 100644
--- a/code/modules/recycling/disposal-structures.dm
+++ b/code/modules/recycling/disposal-structures.dm
@@ -147,8 +147,8 @@
var/obj/structure/disposalconstruct/stored
// new pipe, set the icon_state as on map
-/obj/structure/disposalpipe/New(loc,var/obj/structure/disposalconstruct/make_from)
- ..()
+/obj/structure/disposalpipe/Initialize(mapload, obj/structure/disposalconstruct/make_from)
+ . = ..()
if(make_from && !QDELETED(make_from))
base_icon_state = make_from.base_state
@@ -176,7 +176,6 @@
stored.ptype = DISP_SORTJUNCTION
if("pipe-j2s")
stored.ptype = DISP_SORTJUNCTION_FLIP
- return
// pipe is deleted
@@ -359,15 +358,14 @@
/obj/structure/disposalpipe/segment
icon_state = "pipe-s"
-/obj/structure/disposalpipe/segment/New()
- ..()
+/obj/structure/disposalpipe/segment/Initialize()
+ . = ..()
if(stored.ptype == DISP_PIPE_STRAIGHT)
dpdir = dir | turn(dir, 180)
else
dpdir = dir | turn(dir, -90)
update()
- return
@@ -376,8 +374,8 @@
/obj/structure/disposalpipe/junction
icon_state = "pipe-j1"
-/obj/structure/disposalpipe/junction/New()
- ..()
+/obj/structure/disposalpipe/junction/Initialize()
+ . = ..()
switch(stored.ptype)
if(DISP_JUNCTION)
dpdir = dir | turn(dir, -90) | turn(dir,180)
@@ -386,7 +384,6 @@
if(DISP_YJUNCTION)
dpdir = dir | turn(dir,90) | turn(dir, -90)
update()
- return
// next direction to move
@@ -452,8 +449,8 @@
dpdir = sortdir | posdir | negdir
-/obj/structure/disposalpipe/sortjunction/New()
- ..()
+/obj/structure/disposalpipe/sortjunction/Initialize()
+ . = ..()
// Generate a list of soring tags.
if(sortType)
@@ -468,7 +465,6 @@
updatedir()
update()
- return
/obj/structure/disposalpipe/sortjunction/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/destTagger))
@@ -516,8 +512,8 @@
var/negdir = 0
var/sortdir = 0
-/obj/structure/disposalpipe/wrapsortjunction/New()
- ..()
+/obj/structure/disposalpipe/wrapsortjunction/Initialize()
+ . = ..()
posdir = dir
if(stored.ptype == DISP_SORTJUNCTION)
sortdir = turn(posdir, -90)
@@ -529,7 +525,6 @@
dpdir = sortdir | posdir | negdir
update()
- return
// next direction to move
// if coming in from negdir, then next is primary dir or sortdir
@@ -557,14 +552,13 @@
icon_state = "pipe-t"
var/obj/linked // the linked obj/machinery/disposal or obj/disposaloutlet
-/obj/structure/disposalpipe/trunk/New()
- ..()
+/obj/structure/disposalpipe/trunk/Initialize()
+ . = ..()
dpdir = dir
spawn(1)
getlinked()
update()
- return
/obj/structure/disposalpipe/trunk/Destroy()
if(linked)
@@ -631,8 +625,8 @@
// i.e. will be treated as an empty turf
desc = "A broken piece of disposal pipe."
-/obj/structure/disposalpipe/broken/New()
- ..()
+/obj/structure/disposalpipe/broken/Initialize()
+ . = ..()
update()
// the disposal outlet machine
@@ -655,9 +649,8 @@
var/start_eject = 0
var/eject_range = 2
-/obj/structure/disposaloutlet/New(loc, var/obj/structure/disposalconstruct/make_from)
- ..()
-
+/obj/structure/disposaloutlet/Initialize(mapload, obj/structure/disposalconstruct/make_from)
+ . = ..()
if(make_from)
setDir(make_from.dir)
make_from.loc = src
diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal-unit.dm
index 9b1d5e649f..efb428f5f6 100644
--- a/code/modules/recycling/disposal-unit.dm
+++ b/code/modules/recycling/disposal-unit.dm
@@ -26,9 +26,8 @@
// create a new disposal
// find the attached trunk (if present) and init gas resvr.
-/obj/machinery/disposal/New(loc, var/obj/structure/disposalconstruct/make_from)
- ..()
-
+/obj/machinery/disposal/Initialize(mapload, obj/structure/disposalconstruct/make_from)
+ . = ..()
if(make_from)
setDir(make_from.dir)
make_from.loc = 0
@@ -445,8 +444,8 @@
icon_state = "intake"
pressure_charging = FALSE // the chute doesn't need charging and always works
-/obj/machinery/disposal/deliveryChute/New(loc,var/obj/structure/disposalconstruct/make_from)
- ..()
+/obj/machinery/disposal/deliveryChute/Initialize(mapload, obj/structure/disposalconstruct/make_from)
+ . = ..()
stored.ptype = DISP_END_CHUTE
spawn(5)
trunk = locate() in loc
diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm
index 7b40e91bc8..76c7a22f60 100644
--- a/code/modules/research/circuitprinter.dm
+++ b/code/modules/research/circuitprinter.dm
@@ -27,8 +27,8 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
"Computer Parts"
)
-/obj/machinery/r_n_d/circuit_imprinter/New()
- ..()
+/obj/machinery/r_n_d/circuit_imprinter/Initialize()
+ . = ..()
materials = new(src, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE))
create_reagents(0)
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/circuit_imprinter(null)
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index ab2ee3e9b2..15d8e5e80c 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -54,10 +54,10 @@ other types of metals and chemistry for reagents).
var/list/blueprints = list()
var/max_blueprints = 1
-/obj/item/weapon/disk/design_disk/New()
- ..()
- src.pixel_x = rand(-5, 5)
- src.pixel_y = rand(-5, 5)
+/obj/item/weapon/disk/design_disk/Initialize()
+ . = ..()
+ pixel_x = rand(-5, 5)
+ pixel_y = rand(-5, 5)
for(var/i in 1 to max_blueprints)
blueprints += null
diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm
index 8ec99809bf..5adfb14f88 100644
--- a/code/modules/research/destructive_analyzer.dm
+++ b/code/modules/research/destructive_analyzer.dm
@@ -13,8 +13,8 @@ Note: Must be placed within 3 tiles of the R&D Console
icon_state = "d_analyzer"
var/decon_mod = 0
-/obj/machinery/r_n_d/destructive_analyzer/New()
- ..()
+/obj/machinery/r_n_d/destructive_analyzer/Initialize()
+ . = ..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/destructive_analyzer(null)
B.apply_default_parts(src)
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index c8f580cc34..fba7f241d2 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -79,8 +79,8 @@
critical_items += I
-/obj/machinery/r_n_d/experimentor/New()
- ..()
+/obj/machinery/r_n_d/experimentor/Initialize()
+ . = ..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/experimentor(null)
B.apply_default_parts(src)
@@ -589,8 +589,8 @@
var/cooldownMax = 60
var/cooldown
-/obj/item/weapon/relic/New()
- ..()
+/obj/item/weapon/relic/Initialize()
+ . = ..()
icon_state = pick("shock_kit","armor-igniter-analyzer","infra-igniter0","infra-igniter1","radio-multitool","prox-radio1","radio-radio","timer-multitool0","radio-igniter-tank")
realName = "[pick("broken","twisted","spun","improved","silly","regular","badly made")] [pick("device","object","toy","illegal tech","weapon")]"
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index f0d563b1ff..46bfab3788 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -78,12 +78,11 @@ GLOBAL_LIST_INIT(message_servers, list())
var/active = 1
var/decryptkey = "password"
-/obj/machinery/message_server/New()
+/obj/machinery/message_server/Initialize()
GLOB.message_servers += src
decryptkey = GenerateKey()
send_pda_message("System Administrator", "system", "This is an automated message. The messaging system is functioning correctly.")
- ..()
- return
+ . = ..()
/obj/machinery/message_server/Destroy()
GLOB.message_servers -= src
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index f6cbe90299..c6e742cbba 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -31,8 +31,8 @@ Note: Must be placed west/left of and R&D console to function.
)
-/obj/machinery/r_n_d/protolathe/New()
- ..()
+/obj/machinery/r_n_d/protolathe/Initialize()
+ . = ..()
create_reagents(0)
materials = new(src, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE))
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/protolathe(null)
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index ed5190a701..b65ba70575 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -100,8 +100,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
C.files.RefreshResearch()
-/obj/machinery/computer/rdconsole/New()
- ..()
+/obj/machinery/computer/rdconsole/Initialize()
+ . = ..()
files = new /datum/research(src) //Setup the research data holder.
matching_designs = list()
if(!id)
@@ -1065,8 +1065,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
req_access = null
req_access_txt = "29"
-/obj/machinery/computer/rdconsole/robotics/New()
- ..()
+/obj/machinery/computer/rdconsole/robotics/Initialize()
+ . = ..()
if(circuit)
circuit.name = "RD Console - Robotics (Computer Board)"
circuit.build_path = /obj/machinery/computer/rdconsole/robotics
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index 4dfcf3ff85..ea7f5e727b 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -16,8 +16,8 @@
var/obj/machinery/computer/rdconsole/linked_console
var/obj/item/loaded_item = null //the item loaded inside the machine (currently only used by experimentor and destructive analyzer)
-/obj/machinery/r_n_d/New()
- ..()
+/obj/machinery/r_n_d/Initialize()
+ . = ..()
wires = new /datum/wires/r_n_d(src)
/obj/machinery/r_n_d/Destroy()
diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm
index deb8d34ffc..d6abc1b8fd 100644
--- a/code/modules/research/research.dm
+++ b/code/modules/research/research.dm
@@ -313,10 +313,10 @@ research holder datum.
var/list/tech_stored = list()
var/max_tech_stored = 1
-/obj/item/weapon/disk/tech_disk/New()
- ..()
- src.pixel_x = rand(-5, 5)
- src.pixel_y = rand(-5, 5)
+/obj/item/weapon/disk/tech_disk/Initialize()
+ . = ..()
+ pixel_x = rand(-5, 5)
+ pixel_y = rand(-5, 5)
for(var/i in 1 to max_tech_stored)
tech_stored += null
@@ -339,8 +339,8 @@ research holder datum.
materials = list()
max_tech_stored = 0
-/obj/item/weapon/disk/tech_disk/debug/New()
- ..()
+/obj/item/weapon/disk/tech_disk/debug/Initialize()
+ . = ..()
var/list/techs = subtypesof(/datum/tech)
max_tech_stored = techs.len
for(var/V in techs)
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index 42143f6e3a..468185e615 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -14,8 +14,8 @@
var/delay = 10
req_access = list(GLOB.access_rd) //Only the R&D can change server settings.
-/obj/machinery/r_n_d/server/New()
- ..()
+/obj/machinery/r_n_d/server/Initialize()
+ . = ..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/rdserver(null)
B.apply_default_parts(src)
diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm
index 74b5bc0121..0c32efbb64 100644
--- a/code/modules/research/stock_parts.dm
+++ b/code/modules/research/stock_parts.dm
@@ -72,10 +72,10 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
w_class = WEIGHT_CLASS_SMALL
var/rating = 1
-/obj/item/weapon/stock_parts/New()
- ..()
- src.pixel_x = rand(-5, 5)
- src.pixel_y = rand(-5, 5)
+/obj/item/weapon/stock_parts/Initialize()
+ . = ..()
+ pixel_x = rand(-5, 5)
+ pixel_y = rand(-5, 5)
//Rating 1
diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm
index 38d742c5be..c668595699 100644
--- a/code/modules/research/xenobiology/xenobiology.dm
+++ b/code/modules/research/xenobiology/xenobiology.dm
@@ -25,9 +25,9 @@
qdel(O)
..()
-/obj/item/slime_extract/New()
- ..()
- create_reagents(100)
+/obj/item/slime_extract/Initialize()
+ . = ..()
+ create_reagents(100)
/obj/item/slime_extract/grey
name = "grey slime extract"
@@ -559,8 +559,8 @@
var/duration = 140
alpha = 125
-/obj/effect/timestop/New()
- ..()
+/obj/effect/timestop/Initialize()
+ . = ..()
for(var/mob/living/M in GLOB.player_list)
for(var/obj/effect/proc_holder/spell/aoe_turf/conjure/timestop/T in M.mind.spell_list) //People who can stop time are immune to timestop
immune |= M
diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm
index 376c8aa9f2..32fb4a46e5 100644
--- a/code/modules/ruins/lavaland_ruin_code.dm
+++ b/code/modules/ruins/lavaland_ruin_code.dm
@@ -24,8 +24,8 @@
icon_state = "datadisk1"
max_blueprints = 1
-/obj/item/weapon/disk/design_disk/golem_shell/New()
- ..()
+/obj/item/weapon/disk/design_disk/golem_shell/Initialize()
+ . = ..()
var/datum/design/golem_shell/G = new
blueprints[1] = G
diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
index c5aacadecb..349d716d2d 100644
--- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm
+++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
@@ -45,7 +45,7 @@
anchored = FALSE
density = TRUE
-/obj/structure/cursed_money/New()
+/obj/structure/cursed_money/Initialize()
. = ..()
addtimer(CALLBACK(src, .proc/collapse), 600)
diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm
index 6f6533326b..66f29b28d0 100644
--- a/code/modules/security_levels/keycard_authentication.dm
+++ b/code/modules/security_levels/keycard_authentication.dm
@@ -18,7 +18,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
var/mob/triggerer = null
var/waiting = 0
-/obj/machinery/keycard_auth/New()
+/obj/machinery/keycard_auth/Initialize()
. = ..()
ev = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, .proc/triggerEvent))
diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm
index 18aa94998e..0475a28068 100644
--- a/code/modules/shuttle/computer.dm
+++ b/code/modules/shuttle/computer.dm
@@ -10,8 +10,8 @@
var/admin_controlled
var/no_destination_swap = 0
-/obj/machinery/computer/shuttle/New(location, obj/item/weapon/circuitboard/computer/shuttle/C)
- ..()
+/obj/machinery/computer/shuttle/Initialize(mapload, obj/item/weapon/circuitboard/computer/shuttle/C)
+ . = ..()
if(istype(C))
possible_destinations = C.possible_destinations
shuttleId = C.shuttleId
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 553210a5f7..147f607075 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -412,8 +412,8 @@
to_chat(usr, "Escape pods will only launch during \"Code Red\" security alert.")
return 1
-/obj/docking_port/mobile/pod/New()
- ..()
+/obj/docking_port/mobile/pod/Initialize()
+ . = ..()
if(id == "pod")
WARNING("[type] id has not been changed from the default. Use the id convention \"pod1\" \"pod2\" etc.")
@@ -492,8 +492,7 @@
icon_state = "safe"
var/unlocked = FALSE
-/obj/item/weapon/storage/pod/New()
- ..()
+/obj/item/weapon/storage/pod/PopulateContents()
new /obj/item/clothing/head/helmet/space/orange(src)
new /obj/item/clothing/head/helmet/space/orange(src)
new /obj/item/clothing/suit/space/orange(src)
@@ -533,13 +532,13 @@
dir = EAST
roundstart_move = "backup_away"
-/obj/docking_port/mobile/emergency/backup/New()
+/obj/docking_port/mobile/emergency/backup/Initialize()
// We want to be a valid emergency shuttle
// but not be the main one, keep whatever's set
// valid.
// backup shuttle ignores `timid` because THERE SHOULD BE NO TOUCHING IT
var/current_emergency = SSshuttle.emergency
- ..()
+ . = ..()
SSshuttle.emergency = current_emergency
SSshuttle.backup_shuttle = src
diff --git a/code/modules/shuttle/manipulator.dm b/code/modules/shuttle/manipulator.dm
index 594a6855da..0ec4709301 100644
--- a/code/modules/shuttle/manipulator.dm
+++ b/code/modules/shuttle/manipulator.dm
@@ -20,7 +20,7 @@
var/obj/docking_port/mobile/preview_shuttle
var/datum/map_template/shuttle/preview_template
-/obj/machinery/shuttle_manipulator/New()
+/obj/machinery/shuttle_manipulator/Initialize()
. = ..()
update_icon()
diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index f214d018b4..de9338d55d 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -145,8 +145,8 @@
var/area_type = /area/space
var/last_dock_time
-/obj/docking_port/stationary/New()
- ..()
+/obj/docking_port/stationary/Initialize()
+ . = ..()
SSshuttle.stationary += src
if(!id)
id = "[SSshuttle.stationary.len]"
@@ -168,8 +168,8 @@
var/area/shuttle/transit/assigned_area
var/obj/docking_port/mobile/owner
-/obj/docking_port/stationary/transit/New()
- ..()
+/obj/docking_port/stationary/transit/Initialize()
+ . = ..()
SSshuttle.transit += src
/obj/docking_port/stationary/transit/proc/dezone()
@@ -223,8 +223,8 @@
var/list/ripples = list()
-/obj/docking_port/mobile/New()
- ..()
+/obj/docking_port/mobile/Initialize()
+ . = ..()
if(!timid)
register()
diff --git a/code/modules/shuttle/shuttle.dm.rej b/code/modules/shuttle/shuttle.dm.rej
new file mode 100644
index 0000000000..5dc3c5a13a
--- /dev/null
+++ b/code/modules/shuttle/shuttle.dm.rej
@@ -0,0 +1,10 @@
+diff a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm (rejected hunks)
+@@ -316,7 +316,7 @@
+ if(!check_dock(S))
+ testing("check_dock failed on request for [src]")
+ return
+-
++
+ if(mode == SHUTTLE_IGNITING && destination == S)
+ return
+
diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm
index b78d0efd84..78732d82e4 100644
--- a/code/modules/shuttle/special.dm
+++ b/code/modules/shuttle/special.dm
@@ -14,7 +14,7 @@
var/tables_required = 2
active = FALSE
-/obj/machinery/power/emitter/energycannon/magical/New()
+/obj/machinery/power/emitter/energycannon/magical/Initialize()
. = ..()
if(prob(50))
desc = "Oh no, not again."
diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm
index 22a408ec6c..83ef7f06eb 100644
--- a/code/modules/shuttle/syndicate.dm
+++ b/code/modules/shuttle/syndicate.dm
@@ -31,9 +31,9 @@
var/challenge = FALSE
var/moved = FALSE
-/obj/item/weapon/circuitboard/computer/syndicate_shuttle/New()
+/obj/item/weapon/circuitboard/computer/syndicate_shuttle/Initialize()
+ . = ..()
GLOB.syndicate_shuttle_boards += src
- ..()
/obj/item/weapon/circuitboard/computer/syndicate_shuttle/Destroy()
GLOB.syndicate_shuttle_boards -= src
diff --git a/code/modules/shuttle/transit.dm b/code/modules/shuttle/transit.dm
index c03d4a2645..7bf217d1ff 100644
--- a/code/modules/shuttle/transit.dm
+++ b/code/modules/shuttle/transit.dm
@@ -5,7 +5,7 @@
icon = 'icons/effects/effects.dmi'
icon_state = "at_shield1"
-/obj/effect/landmark/transit/New()
+/obj/effect/landmark/transit/Initialize()
. = ..()
GLOB.transit_markers += src
diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm
index bdab8b6c22..cc3f2c1ab9 100644
--- a/code/modules/spells/spell.dm
+++ b/code/modules/spells/spell.dm
@@ -223,8 +223,8 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
/obj/effect/proc_holder/spell/proc/playMagSound()
playsound(get_turf(usr), sound,50,1)
-/obj/effect/proc_holder/spell/New()
- ..()
+/obj/effect/proc_holder/spell/Initialize()
+ . = ..()
action = new(src)
still_recharging_msg = "[name] is still recharging."
diff --git a/code/modules/spells/spell_types/forcewall.dm b/code/modules/spells/spell_types/forcewall.dm
index 6579171738..8b2a40fe59 100644
--- a/code/modules/spells/spell_types/forcewall.dm
+++ b/code/modules/spells/spell_types/forcewall.dm
@@ -26,8 +26,8 @@
/obj/effect/forcefield/wizard
var/mob/wizard
-/obj/effect/forcefield/wizard/New(atom/loc, mob/summoner)
- ..()
+/obj/effect/forcefield/wizard/Initialize(mapload, mob/summoner)
+ . = ..()
wizard = summoner
QDEL_IN(src, 300)
diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm
index 20d223354b..26c543537e 100644
--- a/code/modules/spells/spell_types/godhand.dm
+++ b/code/modules/spells/spell_types/godhand.dm
@@ -14,9 +14,9 @@
throw_range = 0
throw_speed = 0
-/obj/item/weapon/melee/touch_attack/New(var/spell)
- attached_spell = spell
- ..()
+/obj/item/weapon/melee/touch_attack/Initialize()
+ attached_spell = loc
+ . = ..()
/obj/item/weapon/melee/touch_attack/attack(mob/target, mob/living/carbon/user)
if(!iscarbon(user)) //Look ma, no hands
diff --git a/code/modules/spells/spell_types/trigger.dm b/code/modules/spells/spell_types/trigger.dm
index 4cd8107b6a..d219a22fca 100644
--- a/code/modules/spells/spell_types/trigger.dm
+++ b/code/modules/spells/spell_types/trigger.dm
@@ -5,8 +5,8 @@
var/list/linked_spells = list() //those are just referenced by the trigger spell and are unaffected by it directly
var/list/starting_spells = list() //those are added on New() to contents from default spells and are deleted when the trigger spell is deleted to prevent memory leaks
-/obj/effect/proc_holder/spell/targeted/trigger/New()
- ..()
+/obj/effect/proc_holder/spell/targeted/trigger/Initialize()
+ . = ..()
for(var/spell in starting_spells)
var/spell_to_add = text2path(spell)
diff --git a/code/modules/station_goals/bsa.dm.rej b/code/modules/station_goals/bsa.dm.rej
new file mode 100644
index 0000000000..d252acd18d
--- /dev/null
+++ b/code/modules/station_goals/bsa.dm.rej
@@ -0,0 +1,12 @@
+diff a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm (rejected hunks)
+@@ -161,8 +161,8 @@
+ return locate(world.maxx,y,z)
+ return get_turf(src)
+
+-/obj/machinery/bsa/full/New(loc,cannon_direction = WEST)
+- ..()
++/obj/machinery/bsa/full/Initialize(mapload,cannon_direction = WEST)
++ . = ..()
+ switch(cannon_direction)
+ if(WEST)
+ dir = WEST
diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm
index 863d7d4bde..b89ed4bde0 100644
--- a/code/modules/station_goals/shield.dm
+++ b/code/modules/station_goals/shield.dm
@@ -99,8 +99,8 @@
var/static/gid = 0
var/id = 0
-/obj/machinery/satellite/New()
- ..()
+/obj/machinery/satellite/Initialize()
+ . = ..()
id = gid++
/obj/machinery/satellite/interact(mob/user)
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 1a0932f6e0..4fc22ec2c2 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -14,8 +14,8 @@
var/obj/item/holder = null
// You can use this var for item path, it would be converted into an item on New()
-/obj/item/organ/cyberimp/arm/New()
- ..()
+/obj/item/organ/cyberimp/arm/Initialize()
+ . = ..()
if(ispath(holder))
holder = new holder(src)
@@ -207,8 +207,8 @@
contents = newlist(/obj/item/device/assembly/flash/armimplant)
origin_tech = "materials=4;combat=3;biotech=4;magnets=4;powerstorage=3"
-/obj/item/organ/cyberimp/arm/flash/New()
- ..()
+/obj/item/organ/cyberimp/arm/flash/Initialize()
+ . = ..()
if(locate(/obj/item/device/assembly/flash/armimplant) in items_list)
var/obj/item/device/assembly/flash/armimplant/F = locate(/obj/item/device/assembly/flash/armimplant) in items_list
F.I = src
@@ -225,8 +225,8 @@
contents = newlist(/obj/item/weapon/melee/energy/blade/hardlight, /obj/item/weapon/gun/medbeam, /obj/item/borg/stun, /obj/item/device/assembly/flash/armimplant)
origin_tech = "materials=5;combat=7;biotech=5;powerstorage=5;syndicate=6;programming=5"
-/obj/item/organ/cyberimp/arm/combat/New()
- ..()
+/obj/item/organ/cyberimp/arm/combat/Initialize()
+ . = ..()
if(locate(/obj/item/device/assembly/flash/armimplant) in items_list)
var/obj/item/device/assembly/flash/armimplant/F = locate(/obj/item/device/assembly/flash/armimplant) in items_list
F.I = src
diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm
index 7b4f98693c..ff2a3f0312 100644
--- a/code/modules/surgery/organs/augments_internal.dm
+++ b/code/modules/surgery/organs/augments_internal.dm
@@ -155,8 +155,7 @@
/obj/item/device/autosurgeon/reviver)
var/amount = 5
-/obj/item/weapon/storage/box/cyber_implants/bundle/New()
- ..()
+/obj/item/weapon/storage/box/cyber_implants/PopulateContents()
var/implant
while(contents.len <= amount)
implant = pick(boxed)
diff --git a/code/modules/surgery/organs/organ_internal.dm.rej b/code/modules/surgery/organs/organ_internal.dm.rej
new file mode 100644
index 0000000000..51db3e41ea
--- /dev/null
+++ b/code/modules/surgery/organs/organ_internal.dm.rej
@@ -0,0 +1,10 @@
+diff a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm (rejected hunks)
+@@ -655,7 +655,7 @@
+ var/phomeme_type = "sans"
+ var/list/phomeme_types = list("sans", "papyrus")
+
+-/obj/item/organ/tongue/bone/New()
++/obj/item/organ/tongue/bone/Initialize()
+ . = ..()
+ phomeme_type = pick(phomeme_types)
+
diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm
index d4e49215ad..5d85cde569 100644
--- a/code/modules/telesci/telepad.dm
+++ b/code/modules/telesci/telepad.dm
@@ -10,8 +10,8 @@
active_power_usage = 5000
var/efficiency
-/obj/machinery/telepad/New()
- ..()
+/obj/machinery/telepad/Initialize()
+ . = ..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telesci_pad(null)
B.apply_default_parts(src)
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index a6c909438e..9a0fdf55fc 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -30,9 +30,9 @@
var/list/crystals = list()
var/obj/item/device/gps/inserted_gps
-/obj/machinery/computer/telescience/New()
+/obj/machinery/computer/telescience/Initialize()
recalibrate()
- ..()
+ . = ..()
/obj/machinery/computer/telescience/Destroy()
eject()
diff --git a/code/modules/uplink/uplink.dm b/code/modules/uplink/uplink.dm
index 8a72bd0566..f3379b9110 100644
--- a/code/modules/uplink/uplink.dm
+++ b/code/modules/uplink/uplink.dm
@@ -20,8 +20,8 @@ GLOBAL_LIST_EMPTY(uplinks)
var/purchase_log = ""
var/list/uplink_items
-/obj/item/device/uplink/New()
- ..()
+/obj/item/device/uplink/Initialize()
+ . = ..()
GLOB.uplinks += src
uplink_items = get_uplink_items(gamemode)
@@ -133,24 +133,24 @@ GLOBAL_LIST_EMPTY(uplinks)
return hidden_uplink.attackby(I, user, params)
// A collection of pre-set uplinks, for admin spawns.
-/obj/item/device/radio/uplink/New()
- ..()
+/obj/item/device/radio/uplink/Initialize()
+ . = ..()
icon_state = "radio"
hidden_uplink = new(src)
hidden_uplink.active = TRUE
hidden_uplink.lockable = FALSE
-/obj/item/device/radio/uplink/nuclear/New()
- ..()
+/obj/item/device/radio/uplink/nuclear/Initialize()
+ . = ..()
hidden_uplink.set_gamemode(/datum/game_mode/nuclear)
-/obj/item/device/multitool/uplink/New()
- ..()
+/obj/item/device/multitool/uplink/Initialize()
+ . = ..()
hidden_uplink = new(src)
hidden_uplink.active = TRUE
hidden_uplink.lockable = FALSE
-/obj/item/weapon/pen/uplink/New()
- ..()
+/obj/item/weapon/pen/uplink/Initialize()
+ . = ..()
hidden_uplink = new(src)
traitor_unlock_degrees = 360
diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm
index 5f663b85f8..4450f6bab8 100644
--- a/code/modules/vehicles/atv.dm
+++ b/code/modules/vehicles/atv.dm
@@ -34,7 +34,7 @@
density = 0
-/obj/vehicle/atv/turret/New()
+/obj/vehicle/atv/turret/Initialize()
. = ..()
turret = new(loc)
turret.base = src
diff --git a/code/modules/vehicles/atv.dm.rej b/code/modules/vehicles/atv.dm.rej
new file mode 100644
index 0000000000..4595beddc4
--- /dev/null
+++ b/code/modules/vehicles/atv.dm.rej
@@ -0,0 +1,12 @@
+diff a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm (rejected hunks)
+@@ -9,8 +9,8 @@
+ . = ..()
+ riding_datum = new/datum/riding/atv
+
+-/obj/vehicle/atv/New()
+- ..()
++/obj/vehicle/atv/Initialize()
++ . = ..()
+ if(!atvcover)
+ atvcover = image("icons/obj/vehicles.dmi", "atvcover")
+ atvcover.layer = ABOVE_MOB_LAYER
diff --git a/code/modules/vehicles/bicycle.dm b/code/modules/vehicles/bicycle.dm
index 184b03a6bf..d51de5809c 100644
--- a/code/modules/vehicles/bicycle.dm
+++ b/code/modules/vehicles/bicycle.dm
@@ -7,8 +7,8 @@
var/static/list/bike_music = list('sound/misc/bike1.mid',
'sound/misc/bike2.mid',
'sound/misc/bike3.mid')
-/obj/vehicle/bicycle/New()
- ..()
+/obj/vehicle/bicycle/Initialize()
+ . = ..()
riding_datum = new/datum/riding/bicycle
/obj/vehicle/bicycle/buckle_mob(mob/living/M, force = 0, check_loc = 1)
diff --git a/code/modules/vehicles/speedbike.dm.rej b/code/modules/vehicles/speedbike.dm.rej
new file mode 100644
index 0000000000..26fe1428c9
--- /dev/null
+++ b/code/modules/vehicles/speedbike.dm.rej
@@ -0,0 +1,23 @@
+diff a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm (rejected hunks)
+@@ -16,20 +16,9 @@
+ overlay.layer = ABOVE_MOB_LAYER
+ add_overlay(overlay)
+
+-/obj/effect/overlay/temp/speedbike_trail
+- name = "speedbike trails"
+- icon_state = "ion_fade"
+- layer = BELOW_MOB_LAYER
+- duration = 10
+- randomdir = 0
+-
+-/obj/effect/overlay/temp/speedbike_trail/New(loc,move_dir)
+- ..()
+- setDir(move_dir)
+-
+ /obj/vehicle/space/speedbike/Move(newloc,move_dir)
+ if(has_buckled_mobs())
+- new /obj/effect/overlay/temp/speedbike_trail(loc,move_dir)
++ new /obj/effect/overlay/temp/dir_setting/speedbike_trail(loc,move_dir)
+ . = ..()
+
+ /obj/vehicle/space/speedbike/red
diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm
index 295d774595..f254ef6337 100644
--- a/code/modules/zombie/organs.dm
+++ b/code/modules/zombie/organs.dm
@@ -13,7 +13,7 @@
var/revive_time_max = 700
var/timer_id
-/obj/item/organ/zombie_infection/New(loc)
+/obj/item/organ/zombie_infection/Initialize()
. = ..()
if(iscarbon(loc))
Insert(loc)