diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index bac5b17affe..00e2719337a 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1287,8 +1287,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
color = origin.color
set_light(origin.light_range, origin.light_power, origin.light_color)
-/mob/dview/New()
- ..()
+INITIALIZE_IMMEDIATE(/mob/dview)
+/mob/dview/Initialize(mapload)
+ . = ..()
// We don't want to be in any mob lists; we're a dummy not a mob.
mob_list -= src
if(stat == DEAD)
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 41d026dc827..0a7052e5b4a 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -515,10 +515,10 @@
w_class = ITEMSIZE_SMALL
var/rating = 1
-/obj/item/stock_parts/New()
- src.pixel_x = rand(-5.0, 5)
- src.pixel_y = rand(-5.0, 5)
- ..()
+/obj/item/stock_parts/Initialize(mapload)
+ . = ..()
+ pixel_x = rand(-5.0, 5)
+ pixel_y = rand(-5.0, 5)
/obj/item/stock_parts/get_rating()
return rating
@@ -542,9 +542,9 @@
var/charge = 0
var/max_charge = 1000
-/obj/item/stock_parts/capacitor/New()
+/obj/item/stock_parts/capacitor/Initialize(mapload)
. = ..()
- max_charge *= rating
+ max_charge *= rating // this is garbage someone remove it later and hardcode
/obj/item/stock_parts/capacitor/proc/charge(var/amount)
charge += amount
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index ff3a3c62d3a..8f0ec185d79 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -54,7 +54,9 @@
minimap_color = I.GetPixel(1,1)
else // no icon state? use random.
minimap_color = rgb(rand(50,70),rand(50,70),rand(50,70)) // This interacts with the map loader, so it needs to be set immediately
+ return ..()
+/area/Initialize(mapload)
icon_state = ""
uid = ++global_uid
all_areas += src
@@ -68,10 +70,6 @@
luminosity = 0
else
luminosity = 1
-
- ..()
-
-/area/Initialize(mapload)
. = ..()
return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms.
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 296170976cd..d3d2ba89b54 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -209,11 +209,6 @@
var/atom/master = null
anchored = 1
-/atom/movable/overlay/New()
- for(var/x in src.verbs)
- src.verbs -= x
- ..()
-
/atom/movable/overlay/attackby(a, b)
if (src.master)
return src.master.attackby(a, b)
diff --git a/code/game/gamemodes/changeling/powers/electric_lockpick.dm b/code/game/gamemodes/changeling/powers/electric_lockpick.dm
index bc59cd5d129..dfb404cdd59 100644
--- a/code/game/gamemodes/changeling/powers/electric_lockpick.dm
+++ b/code/game/gamemodes/changeling/powers/electric_lockpick.dm
@@ -32,7 +32,8 @@
icon_state = "electric_hand"
show_examine = FALSE
-/obj/item/finger_lockpick/New()
+/obj/item/finger_lockpick/Initialize(mapload)
+ . = ..()
if(ismob(loc))
to_chat(loc, "We shape our finger to fit inside electronics, and are ready to force them open.")
@@ -93,4 +94,4 @@
ling_datum.chem_charges -= 10
return 1
- return 0
\ No newline at end of file
+ return 0
diff --git a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm
index 01c21ec8380..9306a8c9d12 100644
--- a/code/game/gamemodes/changeling/powers/fabricate_clothing.dm
+++ b/code/game/gamemodes/changeling/powers/fabricate_clothing.dm
@@ -264,12 +264,9 @@ var/global/list/changeling_fabricated_clothing = list(
access = null
canremove = 0
-/obj/item/card/id/syndicate/changeling/New(mob/user as mob)
- ..()
- registered_user = user
-
/obj/item/card/id/syndicate/changeling/Initialize(mapload)
. = ..()
+ registered_user = loc
access = null
/obj/item/card/id/syndicate/changeling/verb/shred()
diff --git a/code/game/gamemodes/events/holidays/Christmas.dm b/code/game/gamemodes/events/holidays/Christmas.dm
index 40c67f7f767..ff65b167623 100644
--- a/code/game/gamemodes/events/holidays/Christmas.dm
+++ b/code/game/gamemodes/events/holidays/Christmas.dm
@@ -23,9 +23,6 @@
desc = "Directions for use: Requires two people, one to pull each end."
var/cracked = 0
-/obj/item/toy/xmas_cracker/New()
- ..()
-
/obj/item/toy/xmas_cracker/attack(mob/target, mob/user)
if( !cracked && (istype(target,/mob/living/silicon) || (istype(target,/mob/living/carbon/human) && !target.get_active_hand())) && target.stat == CONSCIOUS)
target.visible_message("[user] and [target] pop \an [src]! *pop*", "You pull \an [src] with [target]! *pop*", "You hear a *pop*.")
@@ -40,7 +37,7 @@
"What do you get from eating tree decorations?\n\nTinsilitis!",
"What do snowmen wear on their heads?\n\nIce caps!",
"Why is Christmas just like life on ss13?\n\nYou do all the work and the fat guy gets all the credit.",
- "Why doesn’t Santa have any children?\n\nBecause he only comes down the chimney.")
+ "Why doesn�t Santa have any children?\n\nBecause he only comes down the chimney.")
new /obj/item/clothing/head/festive(target.loc)
user.update_icons()
cracked = 1
diff --git a/code/game/gamemodes/technomancer/equipment.dm b/code/game/gamemodes/technomancer/equipment.dm
index 4b39951cba6..5eae9101a0f 100644
--- a/code/game/gamemodes/technomancer/equipment.dm
+++ b/code/game/gamemodes/technomancer/equipment.dm
@@ -111,7 +111,7 @@
name = "hypo belt"
desc = "A medical belt designed to carry autoinjectors and other medical equipment."
-/obj/item/storage/belt/medical/technomancer/New()
+/obj/item/storage/belt/medical/technomancer/PopulateContents()
new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute(src)
new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn(src)
new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin(src)
@@ -120,7 +120,6 @@
new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain(src)
new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ(src)
new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat(src)
- ..()
/datum/technomancer/equipment/belt_of_holding
name = "Belt of Holding"
diff --git a/code/game/gamemodes/technomancer/spells/aura/aura.dm b/code/game/gamemodes/technomancer/spells/aura/aura.dm
index 6a632f9e742..e9687520dba 100644
--- a/code/game/gamemodes/technomancer/spells/aura/aura.dm
+++ b/code/game/gamemodes/technomancer/spells/aura/aura.dm
@@ -6,8 +6,8 @@
aspect = null
var/glow_color = "#FFFFFF"
-/obj/item/spell/aura/New()
- ..()
+/obj/item/spell/aura/Initialize(mapload)
+ . = ..()
set_light(calculate_spell_power(7), calculate_spell_power(4), l_color = glow_color)
START_PROCESSING(SSobj, src)
log_and_message_admins("has started casting [src].")
diff --git a/code/game/gamemodes/technomancer/spells/insert/insert.dm b/code/game/gamemodes/technomancer/spells/insert/insert.dm
index 36eb4aa2c4b..6397274f692 100644
--- a/code/game/gamemodes/technomancer/spells/insert/insert.dm
+++ b/code/game/gamemodes/technomancer/spells/insert/insert.dm
@@ -11,8 +11,8 @@
var/obj/item/inserted_spell/inserting = null
var/allow_stacking = 0
-/obj/item/spell/insert/New()
- ..()
+/obj/item/spell/insert/Initialize(mapload)
+ . = ..()
set_light(spell_light_range, spell_light_intensity, l_color = light_color)
/obj/item/inserted_spell
@@ -20,13 +20,12 @@
var/mob/living/host = null
var/spell_power_at_creation = 1.0 // This is here because the spell object that made this object probably won't exist.
-/obj/item/inserted_spell/New(var/newloc, var/user, var/obj/item/spell/insert/inserter)
- ..(newloc)
- host = newloc
+/obj/item/inserted_spell/Initialize(mapload, mob/user, obj/item/spell/insert/inserter)
+ . = ..()
+ host = loc
origin = user
if(light_color)
- spawn(1)
- set_light(inserter.spell_light_range, inserter.spell_light_intensity, inserter.spell_color)
+ set_light(inserter.spell_light_range, inserter.spell_light_intensity, inserter.spell_color)
on_insert()
/obj/item/inserted_spell/proc/on_insert()
@@ -56,4 +55,4 @@
/obj/item/spell/insert/on_ranged_cast(atom/hit_atom, mob/user)
if(istype(hit_atom, /mob/living))
var/mob/living/L = hit_atom
- insert(L,user)
\ No newline at end of file
+ insert(L,user)
diff --git a/code/game/gamemodes/technomancer/spells/modifier/modifier.dm b/code/game/gamemodes/technomancer/spells/modifier/modifier.dm
index cca02c4ae3d..7f47123183d 100644
--- a/code/game/gamemodes/technomancer/spells/modifier/modifier.dm
+++ b/code/game/gamemodes/technomancer/spells/modifier/modifier.dm
@@ -9,8 +9,8 @@
var/spell_light_intensity = 2
var/spell_light_range = 3
-/obj/item/spell/modifier/New()
- ..()
+/obj/item/spell/modifier/Initialize(mapload)
+ . = ..()
set_light(spell_light_range, spell_light_intensity, l_color = light_color)
/obj/item/spell/modifier/on_melee_cast(atom/hit_atom, mob/user)
@@ -38,4 +38,4 @@
// Technomancer specific subtype which keeps track of spell power and gets targeted specificially by Dispel.
/datum/modifier/technomancer
- var/spell_power = null // Set by on_add_modifier.
\ No newline at end of file
+ var/spell_power = null // Set by on_add_modifier.
diff --git a/code/game/gamemodes/technomancer/spells/radiance.dm b/code/game/gamemodes/technomancer/spells/radiance.dm
index f9d7186f82f..a3c33ae6794 100644
--- a/code/game/gamemodes/technomancer/spells/radiance.dm
+++ b/code/game/gamemodes/technomancer/spells/radiance.dm
@@ -16,8 +16,8 @@
var/power = 250
toggled = 1
-/obj/item/spell/radiance/New()
- ..()
+/obj/item/spell/radiance/Initialize(mapload)
+ . = ..()
set_light(7, 4, l_color = "#D9D900")
START_PROCESSING(SSobj, src)
log_and_message_admins("has casted [src].")
diff --git a/code/game/gamemodes/technomancer/spells/shield.dm b/code/game/gamemodes/technomancer/spells/shield.dm
index 3a0f72b48fc..6ec990875c2 100644
--- a/code/game/gamemodes/technomancer/spells/shield.dm
+++ b/code/game/gamemodes/technomancer/spells/shield.dm
@@ -18,8 +18,8 @@
var/damage_to_energy_multiplier = 30.0 //Determines how much energy to charge for blocking, e.g. 20 damage attack = 600 energy cost
var/datum/effect_system/spark_spread/spark_system = null
-/obj/item/spell/shield/New()
- ..()
+/obj/item/spell/shield/Initialize(mapload)
+ . = ..()
set_light(3, 2, l_color = "#006AFF")
spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
diff --git a/code/game/gamemodes/technomancer/spells/spawner/destablize.dm b/code/game/gamemodes/technomancer/spells/spawner/destablize.dm
index 26f2dad215f..574b13506ec 100644
--- a/code/game/gamemodes/technomancer/spells/spawner/destablize.dm
+++ b/code/game/gamemodes/technomancer/spells/spawner/destablize.dm
@@ -14,8 +14,8 @@
aspect = ASPECT_UNSTABLE
spawner_type = /obj/effect/temporary_effect/destablize
-/obj/item/spell/spawner/destablize/New()
- ..()
+/obj/item/spell/spawner/destablize/Initialize(mapload)
+ . = ..()
set_light(3, 2, l_color = "#C26DDE")
/obj/item/spell/spawner/destablize/on_ranged_cast(atom/hit_atom, mob/user)
@@ -35,10 +35,9 @@
var/instability_power = 5
var/instability_range = 6
-/obj/effect/temporary_effect/destablize/New()
- ..()
- spawn(0)
- radiate_loop()
+/obj/effect/temporary_effect/destablize/Initialize(mapload)
+ . = ..()
+ INVOKE_ASYNC(src, .proc/radiate_loop)
/obj/effect/temporary_effect/destablize/proc/radiate_loop()
while(pulses_remaining)
@@ -49,4 +48,4 @@
var/outgoing_instability = instability_power * ( 1 / (radius**2) )
L.receive_radiated_instability(outgoing_instability)
pulses_remaining--
- qdel(src)
\ No newline at end of file
+ qdel(src)
diff --git a/code/game/machinery/CableLayer.dm b/code/game/machinery/CableLayer.dm
index 48f113835de..61b6352c700 100644
--- a/code/game/machinery/CableLayer.dm
+++ b/code/game/machinery/CableLayer.dm
@@ -8,13 +8,13 @@
var/max_cable = 100
var/on = 0
-/obj/machinery/cablelayer/New()
+/obj/machinery/cablelayer/Initialize(mapload, newdir)
+ . = ..()
cable = new(src)
cable.amount = 100
- ..()
/obj/machinery/cablelayer/Move(new_turf,M_Dir)
- ..()
+ . = ..()
layCable(new_turf,M_Dir)
/obj/machinery/cablelayer/attack_hand(mob/user as mob)
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 54478a6e971..3ba650cfc02 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -95,8 +95,8 @@
/obj/machinery/alarm/alarms_hidden
alarms_hidden = TRUE
-/obj/machinery/alarm/server/New()
- ..()
+/obj/machinery/alarm/server/Initialize(mapload)
+ . = ..()
req_access = list(access_rd, access_atmospherics, access_engine_equip)
TLV["oxygen"] = list(-1.0, -1.0,-1.0,-1.0) // Partial pressure, kpa
TLV["carbon dioxide"] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa
@@ -115,8 +115,8 @@
elect_master(exclude_self = TRUE)
return ..()
-/obj/machinery/alarm/New()
- ..()
+/obj/machinery/alarm/Initialize(mapload)
+ . = ..()
first_run()
/obj/machinery/alarm/proc/first_run()
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 7f26d79e7f7..c6a1c0a8f47 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -545,8 +545,7 @@
name = "Diskette Box"
icon_state = "disk_kit"
-/obj/item/storage/box/disks/New()
- ..()
+/obj/item/storage/box/disks/PopulateContents()
new /obj/item/disk/data(src)
new /obj/item/disk/data(src)
new /obj/item/disk/data(src)
diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm
index 8195522dea8..084c7ba9357 100644
--- a/code/game/mecha/mech_prosthetics.dm
+++ b/code/game/mecha/mech_prosthetics.dm
@@ -29,8 +29,8 @@
var/species = "Human"
var/sync_message = ""
-/obj/machinery/pros_fabricator/New()
- ..()
+/obj/machinery/pros_fabricator/Initialize(mapload)
+ . = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/matter_bin(src)
component_parts += new /obj/item/stock_parts/matter_bin(src)
diff --git a/code/game/objects/effects/alien/aliens.dm b/code/game/objects/effects/alien/aliens.dm
index fa7032b66c6..4870559e8d5 100644
--- a/code/game/objects/effects/alien/aliens.dm
+++ b/code/game/objects/effects/alien/aliens.dm
@@ -392,8 +392,8 @@ Alien plants should do something if theres a lot of poison
var/ticks = 0
var/target_strength = 0
-/obj/effect/alien/acid/New(loc, target)
- ..(loc)
+/obj/effect/alien/acid/Initialize(mapload, target)
+ . = ..()
src.target = target
if(isturf(target)) // Turf take twice as long to take down.
diff --git a/code/game/objects/effects/chem/coating.dm b/code/game/objects/effects/chem/coating.dm
index ad457e09879..ad72b084680 100644
--- a/code/game/objects/effects/chem/coating.dm
+++ b/code/game/objects/effects/chem/coating.dm
@@ -6,8 +6,8 @@
icon = 'icons/effects/effects.dmi'
icon_state = "dirt"
-/obj/effect/decal/cleanable/chemcoating/New()
- ..()
+/obj/effect/decal/cleanable/chemcoating/Initialize(mapload)
+ . = ..()
create_reagents(100)
/obj/effect/decal/cleanable/chemcoating/Initialize(mapload)
diff --git a/code/game/objects/effects/chem/foam.dm b/code/game/objects/effects/chem/foam.dm
index c820bff3907..97e8b2407c4 100644
--- a/code/game/objects/effects/chem/foam.dm
+++ b/code/game/objects/effects/chem/foam.dm
@@ -15,8 +15,8 @@
var/expand = 1
var/metal = 0
-/obj/effect/effect/foam/New(var/loc, var/ismetal = 0)
- ..(loc)
+/obj/effect/effect/foam/Initialize(mapload, ismetal = FALSE)
+ . = ..()
icon_state = "[ismetal? "m" : ""]foam"
metal = ismetal
playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3)
@@ -33,7 +33,6 @@
flick("[icon_state]-disolve", src)
sleep(5)
qdel(src)
- return
/obj/effect/effect/foam/proc/checkReagents() // transfer any reagents to the floor
if(!metal && reagents)
@@ -134,8 +133,8 @@
can_atmos_pass = ATMOS_PASS_NO
var/metal = 1 // 1 = aluminum, 2 = iron
-/obj/structure/foamedmetal/New()
- ..()
+/obj/structure/foamedmetal/Initialize(mapload)
+ . = ..()
update_nearby_tiles(1)
/obj/structure/foamedmetal/Destroy()
diff --git a/code/game/objects/effects/decals/Cleanable/fuel.dm b/code/game/objects/effects/decals/Cleanable/fuel.dm
index 0770f0fc8e8..144cc456ab0 100644
--- a/code/game/objects/effects/decals/Cleanable/fuel.dm
+++ b/code/game/objects/effects/decals/Cleanable/fuel.dm
@@ -6,7 +6,8 @@
anchored = 1
var/amount = 1
-/obj/effect/decal/cleanable/liquid_fuel/New(turf/newLoc,amt=1,nologs=1)
+/obj/effect/decal/cleanable/liquid_fuel/Initialize(mapload, amt = 1, nologs = TRUE)
+ var/turf/newLoc = loc
if(!nologs)
message_admins("Liquid fuel has spilled in [newLoc.loc.name] ([newLoc.x],[newLoc.y],[newLoc.z]) (JMP)")
log_game("Liquid fuel has spilled in [newLoc.loc.name] ([newLoc.x],[newLoc.y],[newLoc.z])")
@@ -25,7 +26,7 @@
if(!has_spread)
Spread()
else
- qdel(src)
+ return INITIALIZE_HINT_QDEL
/obj/effect/decal/cleanable/liquid_fuel/proc/Spread(exclude=list())
//Allows liquid fuels to sometimes flow into other tiles.
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 29163653c1d..677b4f6cc52 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -144,8 +144,8 @@ var/global/list/image/splatter_cache=list()
amount = 0
var/list/drips = list()
-/obj/effect/decal/cleanable/blood/drip/New()
- ..()
+/obj/effect/decal/cleanable/blood/drip/Initialize(mapload)
+ . = ..()
drips |= icon_state
/obj/effect/decal/cleanable/blood/writing
@@ -156,8 +156,8 @@ var/global/list/image/splatter_cache=list()
amount = 0
var/message
-/obj/effect/decal/cleanable/blood/writing/New()
- ..()
+/obj/effect/decal/cleanable/blood/writing/Initialize(mapload)
+ . = ..()
if(random_icon_states.len)
for(var/obj/effect/decal/cleanable/blood/writing/W in loc)
random_icon_states.Remove(W.icon_state)
@@ -238,12 +238,12 @@ var/global/list/image/splatter_cache=list()
var/list/datum/disease2/disease/virus2 = list()
var/dry=0 // Keeps the lag down
-/obj/effect/decal/cleanable/mucus/New()
- spawn(DRYING_TIME * 2)
- dry=1
+/obj/effect/decal/cleanable/mucus/Initialize(mapload)
+ . = ..()
+ addtimer(VARSET_CALLBACK(src, dry, TRUE), DRYING_TIME * 2)
//This version should be used for admin spawns and pre-mapped virus vectors (e.g. in PoIs), this version does not dry
-/obj/effect/decal/cleanable/mucus/mapped/New()
- ..()
+/obj/effect/decal/cleanable/mucus/mapped/Initialize(mapload)
+ . = ..()
virus2 |= new /datum/disease2/disease
virus2[1].makerandom()
diff --git a/code/game/objects/effects/decals/warning_stripes.dm b/code/game/objects/effects/decals/warning_stripes.dm
index fa8c767eaa8..b6e7d8e0372 100644
--- a/code/game/objects/effects/decals/warning_stripes.dm
+++ b/code/game/objects/effects/decals/warning_stripes.dm
@@ -1,7 +1,7 @@
/obj/effect/decal/warning_stripes
icon = 'icons/effects/warning_stripes.dmi'
-/obj/effect/decal/warning_stripes/New()
+/obj/effect/decal/warning_stripes/Initialize(mapload)
. = ..()
var/turf/T=get_turf(src)
var/image/I=image(icon, icon_state = icon_state, dir = dir)
diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm
index e4511e20800..d563d1686ab 100644
--- a/code/game/objects/effects/spawners/bombspawner.dm
+++ b/code/game/objects/effects/spawners/bombspawner.dm
@@ -23,8 +23,8 @@
/obj/effect/spawner/bomb/suicide
btype = 3
-/obj/effect/spawner/bomb/New()
- ..()
+/obj/effect/spawner/bomb/Initialize(mapload)
+ . = ..()
switch (src.btype)
// radio
@@ -213,13 +213,10 @@
var/phoron_amt = 0
var/oxygen_amt = 0
-/obj/effect/spawner/onetankbomb/New(newloc) //just needs an assembly.
- ..(newloc)
-
+/obj/effect/spawner/onetankbomb/Initialize(mapload)
var/type = pick(/obj/item/tank/phoron/onetankbomb, /obj/item/tank/oxygen/onetankbomb)
new type(src.loc)
-
- qdel(src)
+ return INITIALIZE_HINT_QDEL
/obj/effect/spawner/onetankbomb/full
name = "Single-tank bomb"
@@ -229,28 +226,7 @@
// var/assembly_type = /obj/item/assembly/signaler
//Note that the maximum amount of gas you can put in a 70L air tank at 1013.25 kPa and 519K is 16.44 mol.
-/obj/effect/spawner/onetankbomb/full/New(newloc) //just needs an assembly.
- ..(newloc)
-
+/obj/effect/spawner/onetankbomb/full/Initialize(mapload)
var/type = pick(/obj/item/tank/phoron/onetankbomb/full, /obj/item/tank/oxygen/onetankbomb/full)
new type(src.loc)
-
- qdel(src)
-
-/obj/effect/spawner/onetankbomb/frag
- name = "Single-tank bomb"
- icon = 'icons/mob/screen1.dmi'
- icon_state = "x"
-
-// var/assembly_type = /obj/item/assembly/signaler
-
- //Note that the maximum amount of gas you can put in a 70L air tank at 1013.25 kPa and 519K is 16.44 mol.
-/obj/effect/spawner/onetankbomb/full/New(newloc) //just needs an assembly.
- ..(newloc)
-
- var/type = pick(/obj/item/tank/phoron/onetankbomb/full, /obj/item/tank/oxygen/onetankbomb/full)
- new type(src.loc)
-
- qdel(src)
-
-
+ return INITIALIZE_HINT_QDEL
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index ecc23502f91..505e7f13084 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -89,9 +89,9 @@
START_PROCESSING(SSobj, src)
return ..()
-/obj/effect/spider/eggcluster/New(var/location, var/atom/parent)
+/obj/effect/spider/eggcluster/Initialize(mapload, atom/parent)
+ . = ..()
get_light_and_color(parent)
- ..()
/obj/effect/spider/eggcluster/Destroy()
STOP_PROCESSING(SSobj, src)
@@ -140,7 +140,8 @@
/obj/effect/spider/spiderling/frost
grow_as = list(/mob/living/simple_mob/animal/giant_spider/frost)
-/obj/effect/spider/spiderling/New(var/location, var/atom/parent)
+/obj/effect/spider/spiderling/Initialize(mapload, atom/parent)
+ . = ..()
pixel_x = rand(6,-6)
pixel_y = rand(6,-6)
START_PROCESSING(SSobj, src)
@@ -148,7 +149,6 @@
if(prob(50))
amount_grown = 1
get_light_and_color(parent)
- ..()
/obj/effect/spider/spiderling/Destroy()
STOP_PROCESSING(SSobj, src)
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index eca8889e8fd..da2ec1960b6 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -183,8 +183,8 @@ var/global/list/tele_landmarks = list() // Terrible, but the alternative is loop
/obj/effect/landmark/teleport_mark
var/landmark_id = null
-/obj/effect/landmark/teleport_mark/New()
- ..()
+/obj/effect/landmark/teleport_mark/Initialize(mapload)
+ . = ..()
tele_landmarks += src
/obj/effect/landmark/teleport_mark/Destroy()
diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm
index c93464bb589..c6ad88f3d4b 100644
--- a/code/game/objects/items/devices/defib.dm
+++ b/code/game/objects/items/devices/defib.dm
@@ -563,9 +563,9 @@
/obj/item/shockpaddles/linked
var/obj/item/defib_kit/base_unit
-/obj/item/shockpaddles/linked/New(newloc, obj/item/defib_kit/defib)
+/obj/item/shockpaddles/linked/Initialize(mapload, obj/item/defib_kit/defib)
+ . = ..()
base_unit = defib
- ..(newloc)
/obj/item/shockpaddles/linked/Destroy()
if(base_unit)
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index e18f8f7f5db..205841d46ee 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -462,8 +462,8 @@
on = 1 //Bio-luminesence has one setting, on.
power_use = 0
-/obj/item/flashlight/slime/New()
- ..()
+/obj/item/flashlight/slime/Initialize(mapload)
+ . = ..()
set_light(brightness_on, flashlight_power, flashlight_colour)
/obj/item/flashlight/slime/update_icon()
diff --git a/code/game/objects/items/storage/internal.dm b/code/game/objects/items/storage/internal.dm
index 4bb94063182..706d255a6fa 100644
--- a/code/game/objects/items/storage/internal.dm
+++ b/code/game/objects/items/storage/internal.dm
@@ -4,12 +4,11 @@
preserve_item = 1
var/obj/item/master_item
-/obj/item/storage/internal/New(obj/item/MI)
- master_item = MI
- loc = master_item
+/obj/item/storage/internal/Initialize(mapload)
+ . = ..()
+ master_item = loc
//name = master_item.name //VOREStation Removal
verbs -= /obj/item/verb/verb_pickup //make sure this is never picked up.
- ..()
/obj/item/storage/internal/Destroy()
master_item = null
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index 36a6dd5efef..7f0ece833c2 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -121,11 +121,9 @@
desc = "A case containing an adrenalin implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/adrenalin/New()
+/obj/item/implantcase/adrenalin/Initialize(mapload)
src.imp = new /obj/item/implant/adrenalin( src )
- ..()
- return
-
+ return ..()
/obj/item/implantcase/dexplosive
name = "glass case - 'explosive'"
@@ -150,117 +148,105 @@
desc = "A case containing a GalCom language implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/language/New()
+/obj/item/implantcase/language/Initialize(mapload)
src.imp = new /obj/item/implant/language( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/language/eal
name = "glass case - 'EAL'"
desc = "A case containing an Encoded Audio Language implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/language/eal/New()
+/obj/item/implantcase/language/eal/Initialize(mapload)
src.imp = new /obj/item/implant/language/eal( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/shades
name = "glass case - 'Integrated Shades'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/shades/New()
+/obj/item/implantcase/shades/Initialize(mapload)
src.imp = new /obj/item/implant/organ( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/taser
name = "glass case - 'Taser'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/taser/New()
+/obj/item/implantcase/taser/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/laser
name = "glass case - 'Laser'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/laser/New()
+/obj/item/implantcase/laser/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment/laser( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/dart
name = "glass case - 'Dart'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/dart/New()
+/obj/item/implantcase/dart/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment/dart( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/toolkit
name = "glass case - 'Toolkit'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/toolkit/New()
+/obj/item/implantcase/toolkit/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment/upperarm( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/medkit
- name = "glass case - 'Toolkit'"
+ name = "glass case - 'Medikit'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/medkit/New()
+/obj/item/implantcase/medkit/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment/upperarm/medkit( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/surge
name = "glass case - 'Muscle Overclocker'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/surge/New()
+/obj/item/implantcase/surge/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment/upperarm/surge( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/analyzer
name = "glass case - 'Scanner'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/analyzer/New()
+/obj/item/implantcase/analyzer/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment/wrist( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/sword
- name = "glass case - 'Scanner'"
+ name = "glass case - 'Sword'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/sword/New()
+/obj/item/implantcase/sword/Initialize(mapload)
src.imp = new /obj/item/implant/organ/limbaugment/wrist/sword( src )
- ..()
- return
+ return ..()
/obj/item/implantcase/sprinter
name = "glass case - 'Sprinter'"
desc = "A case containing a nanite fabricator implant."
icon_state = "implantcase-b"
-/obj/item/implantcase/sprinter/New()
+/obj/item/implantcase/sprinter/Initialize(mapload)
src.imp = new /obj/item/implant/organ/pelvic( src )
- ..()
- return
+ return ..()
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 84339dea8f3..289ed15fb28 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -573,29 +573,29 @@ var/list/global/tank_gauge_cache = list()
src.overlays += "bomb_assembly"
-/obj/item/tank/phoron/onetankbomb/New()
- ..()
+/obj/item/tank/phoron/onetankbomb/Initialize(mapload)
+ . = ..()
src.onetankbomb()
-/obj/item/tank/oxygen/onetankbomb/New()
- ..()
+/obj/item/tank/oxygen/onetankbomb/Initialize(mapload)
+ . = ..()
src.onetankbomb()
-/obj/item/tank/phoron/onetankbomb/full/New()
- ..()
+/obj/item/tank/phoron/onetankbomb/full/Initialize(mapload)
+ . = ..()
src.onetankbomb(2)
-/obj/item/tank/oxygen/onetankbomb/full/New()
- ..()
+/obj/item/tank/oxygen/onetankbomb/full/Initialize(mapload)
+ . = ..()
src.onetankbomb(2)
-/obj/item/tank/phoron/onetankbomb/small/New()
- ..()
+/obj/item/tank/phoron/onetankbomb/small/Initialize(mapload)
+ . = ..()
src.onetankbomb(0)
-/obj/item/tank/oxygen/onetankbomb/small/New()
- ..()
+/obj/item/tank/oxygen/onetankbomb/small/Initialize(mapload)
+ . = ..()
src.onetankbomb(0)
/////////////////////////////////
diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm
index 9f9379b9bbf..a2f9505ff2c 100644
--- a/code/game/objects/structures/bonfire.dm
+++ b/code/game/objects/structures/bonfire.dm
@@ -13,8 +13,8 @@
var/set_temperature = T0C + 30 //K
var/heating_power = 80000
-/obj/structure/bonfire/New(newloc, material_name)
- ..(newloc)
+/obj/structure/bonfire/Initialize(mapload, material_name)
+ . = ..()
if(!material_name)
material_name = MAT_WOOD
material = get_material_by_name("[material_name]")
@@ -24,15 +24,15 @@
color = material.icon_colour
// Blue wood.
-/obj/structure/bonfire/sifwood/New(newloc, material_name)
- ..(newloc, MAT_SIFWOOD)
+/obj/structure/bonfire/sifwood/Initialize(mapload)
+ . = ..(mapload, MAT_SIFWOOD)
-/obj/structure/bonfire/permanent/New(newloc, material_name)
- ..()
+/obj/structure/bonfire/permanent/Initialize(mapload, material_name)
+ . = ..()
ignite()
-/obj/structure/bonfire/permanent/sifwood/New(newloc, material_name)
- ..(newloc, MAT_SIFWOOD)
+/obj/structure/bonfire/permanent/sifwood/Initialize(mapload)
+ . = ..(mapload, MAT_SIFWOOD)
/obj/structure/bonfire/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/stack/rods) && !can_buckle && !grill)
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index 5cbdafc286e..d0fbf67f658 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -6,10 +6,9 @@
var/obj/item/assembly/shock_kit/part = null
var/last_time = 1.0
-/obj/structure/bed/chair/e_chair/New()
- ..()
- overlays += image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir)
- return
+/obj/structure/bed/chair/e_chair/Initialize(mapload)
+ . = ..()
+ add_overlay(image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir))
/obj/structure/bed/chair/e_chair/attackby(obj/item/W as obj, mob/user as mob)
if(W.is_wrench())
@@ -38,10 +37,9 @@
return
/obj/structure/bed/chair/e_chair/rotate_clockwise()
- ..()
- overlays.Cut()
- overlays += image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir) //there's probably a better way of handling this, but eh. -Pete
- return
+ . = ..()
+ cut_overlays()
+ add_overlay(image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir)) //there's probably a better way of handling this, but eh. -Pete
/obj/structure/bed/chair/e_chair/proc/shock()
if(!on)
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 3941dab36d2..0e53c0a1849 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -78,8 +78,8 @@
icon = 'icons/obj/flora/snowflora.dmi'
icon_state = "snowbush1"
-/obj/structure/flora/bush/New()
- ..()
+/obj/structure/flora/bush/Initialize(mapload)
+ . = ..()
icon_state = "snowbush[rand(1, 6)]"
/obj/structure/flora/pottedplant
@@ -97,113 +97,113 @@
icon = 'icons/obj/flora/ausflora.dmi'
icon_state = "firstbush_1"
-/obj/structure/flora/ausbushes/New()
- ..()
+/obj/structure/flora/ausbushes/Initialize(mapload)
+ . = ..()
icon_state = "firstbush_[rand(1, 4)]"
/obj/structure/flora/ausbushes/reedbush
icon_state = "reedbush_1"
-/obj/structure/flora/ausbushes/reedbush/New()
- ..()
+/obj/structure/flora/ausbushes/reedbush/Initialize(mapload)
+ . = ..()
icon_state = "reedbush_[rand(1, 4)]"
/obj/structure/flora/ausbushes/leafybush
icon_state = "leafybush_1"
-/obj/structure/flora/ausbushes/leafybush/New()
- ..()
+/obj/structure/flora/ausbushes/leafybush/Initialize(mapload)
+ . = ..()
icon_state = "leafybush_[rand(1, 3)]"
/obj/structure/flora/ausbushes/palebush
icon_state = "palebush_1"
-/obj/structure/flora/ausbushes/palebush/New()
- ..()
+/obj/structure/flora/ausbushes/palebush/Initialize(mapload)
+ . = ..()
icon_state = "palebush_[rand(1, 4)]"
/obj/structure/flora/ausbushes/stalkybush
icon_state = "stalkybush_1"
-/obj/structure/flora/ausbushes/stalkybush/New()
- ..()
+/obj/structure/flora/ausbushes/stalkybush/Initialize(mapload)
+ . = ..()
icon_state = "stalkybush_[rand(1, 3)]"
/obj/structure/flora/ausbushes/grassybush
icon_state = "grassybush_1"
-/obj/structure/flora/ausbushes/grassybush/New()
- ..()
+/obj/structure/flora/ausbushes/grassybush/Initialize(mapload)
+ . = ..()
icon_state = "grassybush_[rand(1, 4)]"
/obj/structure/flora/ausbushes/fernybush
icon_state = "fernybush_1"
-/obj/structure/flora/ausbushes/fernybush/New()
- ..()
+/obj/structure/flora/ausbushes/fernybush/Initialize(mapload)
+ . = ..()
icon_state = "fernybush_[rand(1, 3)]"
/obj/structure/flora/ausbushes/sunnybush
icon_state = "sunnybush_1"
-/obj/structure/flora/ausbushes/sunnybush/New()
- ..()
+/obj/structure/flora/ausbushes/sunnybush/Initialize(mapload)
+ . = ..()
icon_state = "sunnybush_[rand(1, 3)]"
/obj/structure/flora/ausbushes/genericbush
icon_state = "genericbush_1"
-/obj/structure/flora/ausbushes/genericbush/New()
- ..()
+/obj/structure/flora/ausbushes/genericbush/Initialize(mapload)
+ . = ..()
icon_state = "genericbush_[rand(1, 4)]"
/obj/structure/flora/ausbushes/pointybush
icon_state = "pointybush_1"
-/obj/structure/flora/ausbushes/pointybush/New()
- ..()
+/obj/structure/flora/ausbushes/pointybush/Initialize(mapload)
+ . = ..()
icon_state = "pointybush_[rand(1, 4)]"
/obj/structure/flora/ausbushes/lavendergrass
icon_state = "lavendergrass_1"
-/obj/structure/flora/ausbushes/lavendergrass/New()
- ..()
+/obj/structure/flora/ausbushes/lavendergrass/Initialize(mapload)
+ . = ..()
icon_state = "lavendergrass_[rand(1, 4)]"
/obj/structure/flora/ausbushes/ywflowers
icon_state = "ywflowers_1"
-/obj/structure/flora/ausbushes/ywflowers/New()
- ..()
+/obj/structure/flora/ausbushes/ywflowers/Initialize(mapload)
+ . = ..()
icon_state = "ywflowers_[rand(1, 3)]"
/obj/structure/flora/ausbushes/brflowers
icon_state = "brflowers_1"
-/obj/structure/flora/ausbushes/brflowers/New()
- ..()
+/obj/structure/flora/ausbushes/brflowers/Initialize(mapload)
+ . = ..()
icon_state = "brflowers_[rand(1, 3)]"
/obj/structure/flora/ausbushes/ppflowers
icon_state = "ppflowers_1"
-/obj/structure/flora/ausbushes/ppflowers/New()
- ..()
+/obj/structure/flora/ausbushes/ppflowers/Initialize(mapload)
+ . = ..()
icon_state = "ppflowers_[rand(1, 3)]"
/obj/structure/flora/ausbushes/sparsegrass
icon_state = "sparsegrass_1"
-/obj/structure/flora/ausbushes/sparsegrass/New()
- ..()
+/obj/structure/flora/ausbushes/sparsegrass/Initialize(mapload)
+ . = ..()
icon_state = "sparsegrass_[rand(1, 3)]"
/obj/structure/flora/ausbushes/fullgrass
icon_state = "fullgrass_1"
-/obj/structure/flora/ausbushes/fullgrass/New()
- ..()
+/obj/structure/flora/ausbushes/fullgrass/Initialize(mapload)
+ . = ..()
icon_state = "fullgrass_[rand(1, 3)]"
/obj/structure/flora/skeleton
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
index aac50454566..b70fada307b 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm
@@ -77,7 +77,7 @@
var/list/shadekin_abilities
-/mob/living/simple_mob/shadekin/Initialize(mapload)
+/mob/living/simple_mob/shadekin/Initialize()
//You spawned the prototype, and want a totally random one.
if(type == /mob/living/simple_mob/shadekin)
@@ -123,7 +123,7 @@
var/list/ability_types = subtypesof(/obj/effect/shadekin_ability)
shadekin_abilities = list()
for(var/type in ability_types)
- shadekin_abilities += new type(src)
+ shadekin_abilities += new type(null, src)
update_icon()
diff --git a/code/modules/nifsoft/software/13_soulcatcher.dm b/code/modules/nifsoft/software/13_soulcatcher.dm
index 33a0f7a3486..610032a8253 100644
--- a/code/modules/nifsoft/software/13_soulcatcher.dm
+++ b/code/modules/nifsoft/software/13_soulcatcher.dm
@@ -438,9 +438,9 @@
icon_state = "beacon"
var/mob/living/carbon/human/parent_human
-/mob/observer/eye/ar_soul/New(var/mob/brainmob, var/mob/living/carbon/human/human)
+/mob/observer/eye/ar_soul/Initialize(mapload, mob/brainmob, mob/living/carbon/human/human)
ASSERT(brainmob && brainmob.client)
- ..()
+ . = ..()
owner = brainmob //Set eyeobj's owner
parent_human = human //E-z reference to human
@@ -579,7 +579,7 @@
if(!client || !client.prefs)
return //Um...
- eyeobj = new/mob/observer/eye/ar_soul(src,nif.human)
+ eyeobj = new/mob/observer/eye/ar_soul(src, src, nif.human)
soulcatcher.notify_into("[src] now AR projecting.")
/mob/living/carbon/brain/caught_soul/verb/jump_to_owner()
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index f806e24c207..e508990c0ac 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -29,18 +29,21 @@
// create a new disposal
// find the attached trunk (if present) and init gas resvr.
-/obj/machinery/disposal/New()
- ..()
- spawn(5)
- trunk = locate() in src.loc
- if(!trunk)
- mode = 0
- flush = 0
- else
- trunk.linked = src // link the pipe trunk to self
+/obj/machinery/disposal/Initialize(mapload, newdir)
+ . = ..()
+ return INITIALIZE_HINT_LATELOAD
- air_contents = new/datum/gas_mixture(PRESSURE_TANK_VOLUME)
- update()
+/obj/machinery/disposal/LateInitialize()
+ . = ..()
+ trunk = locate() in src.loc
+ if(!trunk)
+ mode = 0
+ flush = 0
+ else
+ trunk.linked = src // link the pipe trunk to self
+
+ air_contents = new/datum/gas_mixture(PRESSURE_TANK_VOLUME)
+ update()
/obj/machinery/disposal/Destroy()
eject()
@@ -1308,14 +1311,15 @@
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(mapload)
+ . = ..()
dpdir = dir
- spawn(1)
- getlinked()
+ return INITIALIZE_HINT_LATELOAD
+/obj/structure/disposalpipe/trunk/LateInitialize()
+ . = ..()
+ getlinked()
update()
- return
/obj/structure/disposalpipe/trunk/proc/getlinked()
linked = null
diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm
index 1f0d3778c76..d69d026d46a 100644
--- a/code/modules/research/research.dm
+++ b/code/modules/research/research.dm
@@ -229,7 +229,8 @@ research holder datum.
matter = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 10)
var/datum/tech/stored
-/obj/item/disk/tech_disk/New()
+/obj/item/disk/tech_disk/Initialize(mapload)
+ . = ..()
pixel_x = rand(-5.0, 5)
pixel_y = rand(-5.0, 5)
@@ -243,6 +244,7 @@ research holder datum.
matter = list(DEFAULT_WALL_MATERIAL = 30, "glass" = 10)
var/datum/design/blueprint
-/obj/item/disk/design_disk/New()
+/obj/item/disk/design_disk/Initialize(mapload)
+ . = ..()
pixel_x = rand(-5.0, 5)
pixel_y = rand(-5.0, 5)
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index bde8d50e0e0..e90d5cc997f 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -15,8 +15,8 @@
req_access = list(access_rd) //Only the R&D can change server settings.
circuit = /obj/item/circuitboard/rdserver
-/obj/machinery/r_n_d/server/New()
- ..()
+/obj/machinery/r_n_d/server/Initialize(mapload)
+ . = ..()
component_parts = list()
component_parts += new /obj/item/stock_parts/scanning_module(src)
component_parts += new /obj/item/stack/cable_coil(src)
diff --git a/code/modules/resleeving/implant.dm b/code/modules/resleeving/implant.dm
index f52f5a651de..95acae8e773 100644
--- a/code/modules/resleeving/implant.dm
+++ b/code/modules/resleeving/implant.dm
@@ -52,8 +52,8 @@
var/list/obj/item/implant/backup/imps = list()
var/max_implants = 4 //Iconstates need to exist due to the update proc!
-/obj/item/backup_implanter/New()
- ..()
+/obj/item/backup_implanter/Initialize(mapload)
+ . = ..()
for(var/i = 1 to max_implants)
var/obj/item/implant/backup/imp = new(src)
imps |= imp
diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm
index 21a61e0ea13..bc5d6355ac3 100644
--- a/code/modules/tables/presets.dm
+++ b/code/modules/tables/presets.dm
@@ -3,118 +3,118 @@
icon_state = "plain_preview"
color = "#EEEEEE"
-/obj/structure/table/standard/New()
+/obj/structure/table/standard/Initialize(mapload)
material = get_material_by_name(DEFAULT_TABLE_MATERIAL)
- ..()
+ return ..()
/obj/structure/table/steel
icon_state = "plain_preview"
color = "#666666"
-/obj/structure/table/steel/New()
+/obj/structure/table/steel/Initialize(mapload)
material = get_material_by_name(DEFAULT_WALL_MATERIAL)
- ..()
+ return ..()
/obj/structure/table/marble
icon_state = "stone_preview"
color = "#CCCCCC"
-/obj/structure/table/marble/New()
+/obj/structure/table/marble/Initialize(mapload)
material = get_material_by_name("marble")
- ..()
+ return ..()
/obj/structure/table/reinforced
icon_state = "reinf_preview"
color = "#EEEEEE"
-/obj/structure/table/reinforced/New()
+/obj/structure/table/reinforced/Initialize(mapload)
material = get_material_by_name(DEFAULT_TABLE_MATERIAL)
reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL)
- ..()
+ return ..()
/obj/structure/table/steel_reinforced
icon_state = "reinf_preview"
color = "#666666"
-/obj/structure/table/steel_reinforced/New()
+/obj/structure/table/steel_reinforced/Initialize(mapload)
material = get_material_by_name(DEFAULT_WALL_MATERIAL)
reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL)
- ..()
+ return ..()
/obj/structure/table/wooden_reinforced
icon_state = "reinf_preview"
color = "#824B28"
-/obj/structure/table/wooden_reinforced/New()
+/obj/structure/table/wooden_reinforced/Initialize(mapload)
material = get_material_by_name("wood")
reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL)
- ..()
+ return ..()
/obj/structure/table/woodentable
icon_state = "plain_preview"
color = "#824B28"
-/obj/structure/table/woodentable/New()
+/obj/structure/table/woodentable/Initialize(mapload)
material = get_material_by_name("wood")
- ..()
+ return ..()
/obj/structure/table/sifwoodentable
icon_state = "plain_preview"
color = "#824B28"
-/obj/structure/table/sifwoodentable/New()
+/obj/structure/table/sifwoodentable/Initialize(mapload)
material = get_material_by_name("alien wood")
- ..()
+ return ..()
/obj/structure/table/sifwooden_reinforced
icon_state = "reinf_preview"
color = "#824B28"
-/obj/structure/table/sifwooden_reinforced/New()
+/obj/structure/table/sifwooden_reinforced/Initialize(mapload)
material = get_material_by_name("alien wood")
reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL)
- ..()
+ return ..()
/obj/structure/table/gamblingtable
icon_state = "gamble_preview"
-/obj/structure/table/gamblingtable/New()
+/obj/structure/table/gamblingtable/Initialize(mapload)
material = get_material_by_name("wood")
carpeted = 1
- ..()
+ return ..()
/obj/structure/table/glass
icon_state = "plain_preview"
color = "#00E1FF"
alpha = 77 // 0.3 * 255
-/obj/structure/table/glass/New()
+/obj/structure/table/glass/Initialize(mapload)
material = get_material_by_name("glass")
- ..()
+ return ..()
/obj/structure/table/borosilicate
icon_state = "plain_preview"
color = "#4D3EAC"
alpha = 77
-/obj/structure/table/borosilicate/New()
+/obj/structure/table/borosilicate/Initialize(mapload)
material = get_material_by_name("borosilicate glass")
- ..()
+ return ..()
/obj/structure/table/holotable
icon_state = "holo_preview"
color = "#EEEEEE"
-/obj/structure/table/holotable/New()
+/obj/structure/table/holotable/Initialize(mapload)
material = get_material_by_name("holo[DEFAULT_TABLE_MATERIAL]")
- ..()
+ return ..()
/obj/structure/table/woodentable/holotable
icon_state = "holo_preview"
-/obj/structure/table/woodentable/holotable/New()
+/obj/structure/table/woodentable/holotable/Initialize(mapload)
material = get_material_by_name("holowood")
- ..()
+ return ..()
/obj/structure/table/alien
name = "alien table"
@@ -123,11 +123,11 @@
can_reinforce = FALSE
can_plate = FALSE
-/obj/structure/table/alien/New()
+/obj/structure/table/alien/Initialize(mapload)
material = get_material_by_name("alium")
verbs -= /obj/structure/table/verb/do_flip
verbs -= /obj/structure/table/proc/do_put
- ..()
+ return ..()
/obj/structure/table/alien/dismantle(obj/item/tool/wrench/W, mob/user)
to_chat(user, "You cannot dismantle \the [src].")
@@ -138,26 +138,27 @@
icon_state = "plain_preview"
color = "#EEEEEE"
-/obj/structure/table/bench/standard/New()
+/obj/structure/table/bench/standard/Initialize(mapload)
material = get_material_by_name(DEFAULT_TABLE_MATERIAL)
- ..()
+ return ..()
/obj/structure/table/bench/steel
icon_state = "plain_preview"
color = "#666666"
-/obj/structure/table/bench/steel/New()
+/obj/structure/table/bench/steel/Initialize(mapload)
+ . = ..()
material = get_material_by_name(DEFAULT_WALL_MATERIAL)
- ..()
-
+ return ..()
/obj/structure/table/bench/marble
icon_state = "stone_preview"
color = "#CCCCCC"
-/obj/structure/table/bench/marble/New()
+/obj/structure/table/bench/marble/Initialize(mapload)
material = get_material_by_name("marble")
- ..()
+ return ..()
+
/*
/obj/structure/table/bench/reinforced
icon_state = "reinf_preview"
@@ -190,17 +191,17 @@
icon_state = "plain_preview"
color = "#824B28"
-/obj/structure/table/bench/wooden/New()
+/obj/structure/table/bench/wooden/Initialize(mapload)
material = get_material_by_name("wood")
- ..()
+ return ..()
/obj/structure/table/bench/sifwooden
icon_state = "plain_preview"
color = "#824B28"
-/obj/structure/table/bench/sifwooden/New()
+/obj/structure/table/bench/sifwooden/Initialize(mapload)
material = get_material_by_name("alien wood")
- ..()
+ return ..()
/obj/structure/table/bench/sifwooden/padded
icon_state = "padded_preview"
@@ -209,19 +210,19 @@
/obj/structure/table/bench/padded
icon_state = "padded_preview"
-/obj/structure/table/bench/padded/New()
+/obj/structure/table/bench/padded/Initialize(mapload)
material = get_material_by_name(DEFAULT_WALL_MATERIAL)
carpeted = 1
- ..()
+ return ..()
/obj/structure/table/bench/glass
icon_state = "plain_preview"
color = "#00E1FF"
alpha = 77 // 0.3 * 255
-/obj/structure/table/bench/glass/New()
+/obj/structure/table/bench/glass/Initialize(mapload)
material = get_material_by_name("glass")
- ..()
+ return ..()
/*
/obj/structure/table/bench/holotable
@@ -262,6 +263,6 @@
connections = list("nw0", "ne0", "sw0", "se0")
-/obj/structure/table/sandbags/New()
+/obj/structure/table/sandbags/Initialize(mapload)
material = get_material_by_name("sandbag")
- ..()
+ return ..()
diff --git a/code/modules/xenobio2/machinery/injector.dm b/code/modules/xenobio2/machinery/injector.dm
index 55164aedf7b..319d2707e51 100644
--- a/code/modules/xenobio2/machinery/injector.dm
+++ b/code/modules/xenobio2/machinery/injector.dm
@@ -19,8 +19,8 @@
circuit = /obj/item/circuitboard/xenobioinjectormachine
-/obj/machinery/xenobio2/manualinjector/New()
- ..()
+/obj/machinery/xenobio2/manualinjector/Initialize(mapload)
+ . = ..()
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
R.my_atom = src
@@ -142,4 +142,4 @@
build_path = /obj/machinery/xenobio2/manualinjector
board_type = /datum/frame/frame_types/machine
origin_tech = list() //To be filled,
- req_components = list() //To be filled,
\ No newline at end of file
+ req_components = list() //To be filled,
diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm
index 4c1de92d184..73bfe2a73a4 100644
--- a/maps/tether/submaps/beach/_beach.dm
+++ b/maps/tether/submaps/beach/_beach.dm
@@ -106,15 +106,15 @@
// These are step-teleporters, for map edge transitions
// This top one goes INTO the cave
-/obj/effect/step_trigger/teleporter/away_beach_tocave/New()
- ..()
+/obj/effect/step_trigger/teleporter/away_beach_tocave/Initialize(mapload)
+ . = ..()
teleport_x = src.x // X is horizontal. This is a top of map transition, so you want the same horizontal alignment in the cave as you have on the beach
teleport_y = 2 // 2 is because it's putting you on row 2 of the map to the north
teleport_z = z+1 // The cave is always our Z-level plus 1, because it's loaded after us
// This one goes OUT OF the cave
-/obj/effect/step_trigger/teleporter/away_beach_tobeach/New()
- ..()
+/obj/effect/step_trigger/teleporter/away_beach_tobeach/Initialize(mapload)
+ . = ..()
teleport_x = src.x // Same reason as bove
teleport_y = world.maxy - 1 // This means "1 space from the top of the map"
teleport_z = z-1 // Opposite of 'tocave', beach is always loaded as the map before us
@@ -126,8 +126,8 @@
name = "Water"
icon_state = "water"
-/turf/simulated/floor/beach/coastwater/New()
- ..()
+/turf/simulated/floor/beach/coastwater/Initialize(mapload)
+ . = ..()
add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water","layer"=MOB_LAYER+0.1))
// -- Areas -- //
diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm
index 3c6a3a8f3a0..4d0a529b188 100644
--- a/maps/tether/tether_things.dm
+++ b/maps/tether/tether_things.dm
@@ -261,7 +261,7 @@ var/global/list/latejoin_tram = list()
/obj/effect/landmark/tram/New()
latejoin_tram += loc // Register this turf as tram latejoin.
latejoin += loc // Also register this turf as fallback latejoin, since we won't have any arrivals shuttle landmarks.
- ..()
+ return ..()
/datum/spawnpoint/tram
display_name = "Tram Station"
diff --git a/modular_citadel/code/modules/shadekin/ability_objects.dm b/modular_citadel/code/modules/shadekin/ability_objects.dm
index 37cd6af6621..e0f5a4559f2 100644
--- a/modular_citadel/code/modules/shadekin/ability_objects.dm
+++ b/modular_citadel/code/modules/shadekin/ability_objects.dm
@@ -8,10 +8,9 @@
var/shift_mode = NOT_WHILE_SHIFTED
var/ab_sound
-/obj/effect/shadekin_ability/New(var/new_kin)
- ..()
+/obj/effect/shadekin_ability/Initialize(mapload, mob/living/simple_animal/shadekin/new_kin)
+ . = ..()
my_kin = new_kin
- loc = null
/obj/effect/shadekin_ability/Destroy()
my_kin = null
@@ -162,4 +161,4 @@
/obj/effect/shadekin_ability/energy_feast/do_ability()
if(!..())
return
-*/
\ No newline at end of file
+*/