/atom New() => Initialize() [MDB IGNORE] (#8298)

* Find and replace argless atom New() to Initialize().

* Manual replacement of no-arg New() to Initialize().

* Manually replacing remaining New() overrides.

* Fixing linter issues with now-removed New() args.

* Tidying area init overrides.

* Porting Neb's atom subsystem.

* Trying to isolate init problems.

* Adjusting Init code post-test.

* Merging duplicate Initialize() procs.

* Merge resolution.
This commit is contained in:
MistakeNot4892
2021-11-14 19:09:14 +11:00
committed by GitHub
parent 0051b29ead
commit 2f0a618d45
589 changed files with 2903 additions and 3005 deletions

View File

@@ -34,8 +34,8 @@ Pipelines + Other Objects -> Pipe network
var/obj/machinery/atmospherics/node1 var/obj/machinery/atmospherics/node1
var/obj/machinery/atmospherics/node2 var/obj/machinery/atmospherics/node2
/obj/machinery/atmospherics/New(loc, newdir) /obj/machinery/atmospherics/Initialize(var/ml, newdir)
..() . = ..()
if(!icon_manager) if(!icon_manager)
icon_manager = new() icon_manager = new()
if(!isnull(newdir)) if(!isnull(newdir))

View File

@@ -9,8 +9,8 @@
var/datum/pipe_network/network1 var/datum/pipe_network/network1
var/datum/pipe_network/network2 var/datum/pipe_network/network2
/obj/machinery/atmospherics/binary/New() /obj/machinery/atmospherics/binary/Initialize()
..() . = ..()
air1 = new air1 = new
air2 = new air2 = new

View File

@@ -23,8 +23,8 @@
density = 1 density = 1
/obj/machinery/atmospherics/binary/circulator/New() /obj/machinery/atmospherics/binary/circulator/Initialize()
..() . = ..()
desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]."
air1.volume = 400 air1.volume = 400

View File

@@ -42,8 +42,10 @@
//2: Do not pass input_pressure_min //2: Do not pass input_pressure_min
//4: Do not pass output_pressure_max //4: Do not pass output_pressure_max
/obj/machinery/atmospherics/binary/dp_vent_pump/New() /obj/machinery/atmospherics/binary/dp_vent_pump/Initialize()
..() . = ..()
if(frequency)
set_frequency(frequency)
air1.volume = ATMOS_DEFAULT_VOLUME_PUMP air1.volume = ATMOS_DEFAULT_VOLUME_PUMP
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP air2.volume = ATMOS_DEFAULT_VOLUME_PUMP
icon = null icon = null
@@ -55,8 +57,8 @@
/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume /obj/machinery/atmospherics/binary/dp_vent_pump/high_volume
name = "Large Dual Port Air Vent" name = "Large Dual Port Air Vent"
/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume/New() /obj/machinery/atmospherics/binary/dp_vent_pump/high_volume/Initialize()
..() . = ..()
air1.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800 air1.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800 air2.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800
@@ -194,11 +196,6 @@
return 1 return 1
/obj/machinery/atmospherics/binary/dp_vent_pump/Initialize()
. = ..()
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/binary/dp_vent_pump/examine(mob/user) /obj/machinery/atmospherics/binary/dp_vent_pump/examine(mob/user)
. = ..() . = ..()
if(Adjacent(user)) if(Adjacent(user))

View File

@@ -27,10 +27,12 @@
var/id = null var/id = null
var/datum/radio_frequency/radio_connection var/datum/radio_frequency/radio_connection
/obj/machinery/atmospherics/binary/passive_gate/New() /obj/machinery/atmospherics/binary/passive_gate/Initialize()
..() . = ..()
air1.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5 air1.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5 air2.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/binary/passive_gate/Destroy() /obj/machinery/atmospherics/binary/passive_gate/Destroy()
unregister_radio(src, frequency) unregister_radio(src, frequency)
@@ -166,14 +168,8 @@
) )
radio_connection.post_signal(src, signal, radio_filter = RADIO_ATMOSIA) radio_connection.post_signal(src, signal, radio_filter = RADIO_ATMOSIA)
return 1 return 1
/obj/machinery/atmospherics/binary/passive_gate/Initialize()
. = ..()
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/binary/passive_gate/receive_signal(datum/signal/signal) /obj/machinery/atmospherics/binary/passive_gate/receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
return 0 return 0

View File

@@ -37,10 +37,12 @@ Thus, the two variables affect pump operation are set in New():
var/id = null var/id = null
var/datum/radio_frequency/radio_connection var/datum/radio_frequency/radio_connection
/obj/machinery/atmospherics/binary/pump/New() /obj/machinery/atmospherics/binary/pump/Initialize()
..() . = ..()
air1.volume = ATMOS_DEFAULT_VOLUME_PUMP air1.volume = ATMOS_DEFAULT_VOLUME_PUMP
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP air2.volume = ATMOS_DEFAULT_VOLUME_PUMP
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/binary/pump/Destroy() /obj/machinery/atmospherics/binary/pump/Destroy()
unregister_radio(src, frequency) unregister_radio(src, frequency)
@@ -166,11 +168,6 @@ Thus, the two variables affect pump operation are set in New():
return data return data
/obj/machinery/atmospherics/binary/pump/Initialize()
. = ..()
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/binary/pump/receive_signal(datum/signal/signal) /obj/machinery/atmospherics/binary/pump/receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
return 0 return 0

View File

@@ -20,8 +20,8 @@
var/list/filtering_outputs = list() //maps gasids to gas_mixtures var/list/filtering_outputs = list() //maps gasids to gas_mixtures
/obj/machinery/atmospherics/omni/atmos_filter/New() /obj/machinery/atmospherics/omni/atmos_filter/Initialize()
..() . = ..()
rebuild_filtering_list() rebuild_filtering_list()
for(var/datum/omni_port/P in ports) for(var/datum/omni_port/P in ports)
P.air.volume = ATMOS_DEFAULT_VOLUME_FILTER P.air.volume = ATMOS_DEFAULT_VOLUME_FILTER

View File

@@ -24,8 +24,8 @@
var/list/mixing_inputs = list() var/list/mixing_inputs = list()
/obj/machinery/atmospherics/omni/mixer/New() /obj/machinery/atmospherics/omni/mixer/Initialize()
..() . = ..()
if(mapper_set()) if(mapper_set())
var/con = 0 var/con = 0
for(var/datum/omni_port/P in ports) for(var/datum/omni_port/P in ports)

View File

@@ -25,8 +25,8 @@
var/list/ports = new() var/list/ports = new()
/obj/machinery/atmospherics/omni/New() /obj/machinery/atmospherics/omni/Initialize()
..() . = ..()
icon_state = "base" icon_state = "base"
ports = new() ports = new()

View File

@@ -39,8 +39,8 @@
if(frequency) if(frequency)
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA) radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
/obj/machinery/atmospherics/trinary/atmos_filter/New() /obj/machinery/atmospherics/trinary/atmos_filter/Initialize()
..() . = ..()
switch(filter_type) switch(filter_type)
if(0) //removing hydrocarbons if(0) //removing hydrocarbons
filtered_out = list("phoron") filtered_out = list("phoron")
@@ -56,6 +56,8 @@
air1.volume = ATMOS_DEFAULT_VOLUME_FILTER air1.volume = ATMOS_DEFAULT_VOLUME_FILTER
air2.volume = ATMOS_DEFAULT_VOLUME_FILTER air2.volume = ATMOS_DEFAULT_VOLUME_FILTER
air3.volume = ATMOS_DEFAULT_VOLUME_FILTER air3.volume = ATMOS_DEFAULT_VOLUME_FILTER
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/trinary/atmos_filter/Destroy() /obj/machinery/atmospherics/trinary/atmos_filter/Destroy()
unregister_radio(src, frequency) unregister_radio(src, frequency)
@@ -106,11 +108,6 @@
return 1 return 1
/obj/machinery/atmospherics/trinary/atmos_filter/Initialize()
. = ..()
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/trinary/atmos_filter/attack_hand(user) // -- TLE /obj/machinery/atmospherics/trinary/atmos_filter/attack_hand(user) // -- TLE
if(..()) if(..())
return return

View File

@@ -37,8 +37,8 @@
icon_state += "off" icon_state += "off"
update_use_power(USE_POWER_OFF) update_use_power(USE_POWER_OFF)
/obj/machinery/atmospherics/trinary/mixer/New() /obj/machinery/atmospherics/trinary/mixer/Initialize()
..() . = ..()
air1.volume = ATMOS_DEFAULT_VOLUME_MIXER air1.volume = ATMOS_DEFAULT_VOLUME_MIXER
air2.volume = ATMOS_DEFAULT_VOLUME_MIXER air2.volume = ATMOS_DEFAULT_VOLUME_MIXER
air3.volume = ATMOS_DEFAULT_VOLUME_MIXER * 1.5 air3.volume = ATMOS_DEFAULT_VOLUME_MIXER * 1.5

View File

@@ -17,8 +17,8 @@
var/datum/pipe_network/network2 var/datum/pipe_network/network2
var/datum/pipe_network/network3 var/datum/pipe_network/network3
/obj/machinery/atmospherics/trinary/New() /obj/machinery/atmospherics/trinary/Initialize()
..() . = ..()
air1 = new air1 = new
air2 = new air2 = new

View File

@@ -24,9 +24,11 @@
level = 1 level = 1
/obj/machinery/atmospherics/unary/outlet_injector/New() /obj/machinery/atmospherics/unary/outlet_injector/Initialize()
..() . = ..()
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 500 //Give it a small reservoir for injecting. Also allows it to have a higher flow rate limit than vent pumps, to differentiate injectors a bit more. air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 500 //Give it a small reservoir for injecting. Also allows it to have a higher flow rate limit than vent pumps, to differentiate injectors a bit more.
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/unary/outlet_injector/Destroy() /obj/machinery/atmospherics/unary/outlet_injector/Destroy()
unregister_radio(src, frequency) unregister_radio(src, frequency)
@@ -122,11 +124,6 @@
return 1 return 1
/obj/machinery/atmospherics/unary/outlet_injector/Initialize()
. = ..()
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/unary/outlet_injector/receive_signal(datum/signal/signal) /obj/machinery/atmospherics/unary/outlet_injector/receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
return 0 return 0

View File

@@ -13,8 +13,8 @@
var/welded = 0 //defining this here for ventcrawl stuff var/welded = 0 //defining this here for ventcrawl stuff
/obj/machinery/atmospherics/unary/New() /obj/machinery/atmospherics/unary/Initialize()
..() . = ..()
air_contents = new air_contents = new
air_contents.volume = 200 air_contents.volume = 200

View File

@@ -78,9 +78,6 @@
/obj/machinery/atmospherics/unary/vent_pump/Initialize() /obj/machinery/atmospherics/unary/vent_pump/Initialize()
. = ..() . = ..()
soundloop = new(list(src), FALSE) soundloop = new(list(src), FALSE)
/obj/machinery/atmospherics/unary/vent_pump/New()
..()
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP
icon = null icon = null
@@ -108,8 +105,8 @@
icon_connect_type = "-aux" icon_connect_type = "-aux"
connect_types = CONNECT_TYPE_AUX //connects to aux pipes connect_types = CONNECT_TYPE_AUX //connects to aux pipes
/obj/machinery/atmospherics/unary/vent_pump/high_volume/New() /obj/machinery/atmospherics/unary/vent_pump/high_volume/Initialize()
..() . = ..()
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800 air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800
/obj/machinery/atmospherics/unary/vent_pump/engine /obj/machinery/atmospherics/unary/vent_pump/engine
@@ -117,8 +114,8 @@
power_channel = ENVIRON power_channel = ENVIRON
power_rating = 30000 //15 kW ~ 20 HP power_rating = 30000 //15 kW ~ 20 HP
/obj/machinery/atmospherics/unary/vent_pump/engine/New() /obj/machinery/atmospherics/unary/vent_pump/engine/Initialize()
..() . = ..()
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 500 //meant to match air injector air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 500 //meant to match air injector
/obj/machinery/atmospherics/unary/vent_pump/update_icon(var/safety = 0) /obj/machinery/atmospherics/unary/vent_pump/update_icon(var/safety = 0)

View File

@@ -32,8 +32,8 @@
use_power = USE_POWER_IDLE use_power = USE_POWER_IDLE
icon_state = "map_scrubber_on" icon_state = "map_scrubber_on"
/obj/machinery/atmospherics/unary/vent_scrubber/New() /obj/machinery/atmospherics/unary/vent_scrubber/Initialize()
..() . = ..()
air_contents.volume = ATMOS_DEFAULT_VOLUME_FILTER air_contents.volume = ATMOS_DEFAULT_VOLUME_FILTER
icon = null icon = null

View File

@@ -23,8 +23,8 @@
buckle_lying = 1 buckle_lying = 1
// BubbleWrap // BubbleWrap
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/New() /obj/machinery/atmospherics/pipe/simple/heat_exchanging/Initialize()
..() . = ..()
// BubbleWrap END // BubbleWrap END
color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default. color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default.

View File

@@ -19,8 +19,8 @@
level = 1 level = 1
/obj/machinery/atmospherics/pipe/manifold/New() /obj/machinery/atmospherics/pipe/manifold/Initialize()
..() . = ..()
alpha = 255 alpha = 255
icon = null icon = null

View File

@@ -20,8 +20,8 @@
level = 1 level = 1
/obj/machinery/atmospherics/pipe/manifold4w/New() /obj/machinery/atmospherics/pipe/manifold4w/Initialize()
..() . = ..()
alpha = 255 alpha = 255
icon = null icon = null

View File

@@ -24,10 +24,10 @@
/obj/machinery/atmospherics/pipe/drain_power() /obj/machinery/atmospherics/pipe/drain_power()
return -1 return -1
/obj/machinery/atmospherics/pipe/New() /obj/machinery/atmospherics/pipe/Initialize()
if(istype(get_turf(src), /turf/simulated/wall) || istype(get_turf(src), /turf/simulated/shuttle/wall) || istype(get_turf(src), /turf/unsimulated/wall)) if(istype(get_turf(src), /turf/simulated/wall) || istype(get_turf(src), /turf/simulated/shuttle/wall) || istype(get_turf(src), /turf/unsimulated/wall))
level = 1 level = 1
..() . = ..()
/obj/machinery/atmospherics/pipe/hides_under_flooring() /obj/machinery/atmospherics/pipe/hides_under_flooring()
return level != 2 return level != 2

View File

@@ -26,8 +26,8 @@
level = 1 level = 1
/obj/machinery/atmospherics/pipe/simple/New() /obj/machinery/atmospherics/pipe/simple/Initialize()
..() . = ..()
// Pipe colors and icon states are handled by an image cache - so color and icon should // Pipe colors and icon states are handled by an image cache - so color and icon should
// be null. For mapping purposes color is defined in the object definitions. // be null. For mapping purposes color is defined in the object definitions.

View File

@@ -18,9 +18,9 @@
pipe_flags = PIPING_DEFAULT_LAYER_ONLY pipe_flags = PIPING_DEFAULT_LAYER_ONLY
density = 1 density = 1
/obj/machinery/atmospherics/pipe/tank/New() /obj/machinery/atmospherics/pipe/tank/Initialize()
icon_state = "air" icon_state = "air"
..() . = ..()
/obj/machinery/atmospherics/pipe/tank/init_dir() /obj/machinery/atmospherics/pipe/tank/init_dir()
initialize_directions = dir initialize_directions = dir
@@ -74,58 +74,49 @@
name = "Pressure Tank (Air)" name = "Pressure Tank (Air)"
icon_state = "air_map" icon_state = "air_map"
/obj/machinery/atmospherics/pipe/tank/air/New() /obj/machinery/atmospherics/pipe/tank/air/Initialize()
air_temporary = new air_temporary = new
air_temporary.volume = volume air_temporary.volume = volume
air_temporary.temperature = T20C air_temporary.temperature = T20C
air_temporary.adjust_multi("oxygen", (start_pressure*O2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature), \ air_temporary.adjust_multi("oxygen", (start_pressure*O2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature), \
"nitrogen",(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) "nitrogen",(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
. = ..()
..()
icon_state = "air" icon_state = "air"
/obj/machinery/atmospherics/pipe/tank/oxygen /obj/machinery/atmospherics/pipe/tank/oxygen
name = "Pressure Tank (Oxygen)" name = "Pressure Tank (Oxygen)"
icon_state = "o2_map" icon_state = "o2_map"
/obj/machinery/atmospherics/pipe/tank/oxygen/New() /obj/machinery/atmospherics/pipe/tank/oxygen/Initialize()
air_temporary = new air_temporary = new
air_temporary.volume = volume air_temporary.volume = volume
air_temporary.temperature = T20C air_temporary.temperature = T20C
air_temporary.adjust_gas("oxygen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) air_temporary.adjust_gas("oxygen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
. = ..()
..()
icon_state = "o2" icon_state = "o2"
/obj/machinery/atmospherics/pipe/tank/nitrogen /obj/machinery/atmospherics/pipe/tank/nitrogen
name = "Pressure Tank (Nitrogen)" name = "Pressure Tank (Nitrogen)"
icon_state = "n2_map" icon_state = "n2_map"
/obj/machinery/atmospherics/pipe/tank/nitrogen/New() /obj/machinery/atmospherics/pipe/tank/nitrogen/Initialize()
air_temporary = new air_temporary = new
air_temporary.volume = volume air_temporary.volume = volume
air_temporary.temperature = T20C air_temporary.temperature = T20C
air_temporary.adjust_gas("nitrogen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) air_temporary.adjust_gas("nitrogen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
. = ..()
..()
icon_state = "n2" icon_state = "n2"
/obj/machinery/atmospherics/pipe/tank/carbon_dioxide /obj/machinery/atmospherics/pipe/tank/carbon_dioxide
name = "Pressure Tank (Carbon Dioxide)" name = "Pressure Tank (Carbon Dioxide)"
icon_state = "co2_map" icon_state = "co2_map"
/obj/machinery/atmospherics/pipe/tank/carbon_dioxide/New() /obj/machinery/atmospherics/pipe/tank/carbon_dioxide/Initialize()
air_temporary = new air_temporary = new
air_temporary.volume = volume air_temporary.volume = volume
air_temporary.temperature = T20C air_temporary.temperature = T20C
air_temporary.adjust_gas("carbon_dioxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) air_temporary.adjust_gas("carbon_dioxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
. = ..()
..()
icon_state = "co2" icon_state = "co2"
/obj/machinery/atmospherics/pipe/tank/phoron /obj/machinery/atmospherics/pipe/tank/phoron
@@ -133,26 +124,22 @@
icon_state = "phoron_map" icon_state = "phoron_map"
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL
/obj/machinery/atmospherics/pipe/tank/phoron/New() /obj/machinery/atmospherics/pipe/tank/phoron/Initialize()
air_temporary = new air_temporary = new
air_temporary.volume = volume air_temporary.volume = volume
air_temporary.temperature = T20C air_temporary.temperature = T20C
air_temporary.adjust_gas("phoron", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) air_temporary.adjust_gas("phoron", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
. = ..()
..()
icon_state = "phoron" icon_state = "phoron"
/obj/machinery/atmospherics/pipe/tank/nitrous_oxide /obj/machinery/atmospherics/pipe/tank/nitrous_oxide
name = "Pressure Tank (Nitrous Oxide)" name = "Pressure Tank (Nitrous Oxide)"
icon_state = "n2o_map" icon_state = "n2o_map"
/obj/machinery/atmospherics/pipe/tank/nitrous_oxide/New() /obj/machinery/atmospherics/pipe/tank/nitrous_oxide/Initialize()
air_temporary = new air_temporary = new
air_temporary.volume = volume air_temporary.volume = volume
air_temporary.temperature = T0C air_temporary.temperature = T0C
air_temporary.adjust_gas("nitrous_oxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) air_temporary.adjust_gas("nitrous_oxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
. = ..()
..()
icon_state = "n2o" icon_state = "n2o"

View File

@@ -180,8 +180,8 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin
animate(src, color = fire_color(air_contents.temperature), 5) animate(src, color = fire_color(air_contents.temperature), 5)
set_light(l_color = color) set_light(l_color = color)
/obj/fire/New(newLoc,fl) /obj/fire/Initialize(var/ml, fl)
..() . = ..()
if(!istype(loc, /turf)) if(!istype(loc, /turf))
qdel(src) qdel(src)

View File

@@ -19,9 +19,10 @@
#define TIMER_ID_NULL -1 #define TIMER_ID_NULL -1
#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize #define INITIALIZATION_INSSATOMS 0 //New should not call Initialize
#define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE) #define INITIALIZATION_INSSATOMS_LATE 1 //New should not call Initialize; after the first pass is complete (handled differently)
#define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE) #define INITIALIZATION_INNEW_MAPLOAD 2 //New should call Initialize(TRUE)
#define INITIALIZATION_INNEW_REGULAR 3 //New should call Initialize(FALSE)
#define INITIALIZE_HINT_NORMAL 0 //Nothing happens #define INITIALIZE_HINT_NORMAL 0 //Nothing happens
#define INITIALIZE_HINT_LATELOAD 1 //Call LateInitialize #define INITIALIZE_HINT_LATELOAD 1 //Call LateInitialize

View File

@@ -108,7 +108,7 @@
if(istype(T,/turf/simulated/shuttle)) if(istype(T,/turf/simulated/shuttle))
shuttlework = 1 shuttlework = 1
var/turf/simulated/shuttle/SS = T var/turf/simulated/shuttle/SS = T
if(!SS.landed_holder) SS.landed_holder = new(turf = SS) if(!SS.landed_holder) SS.landed_holder = new(SS)
X = SS.landed_holder.land_on(B) X = SS.landed_holder.land_on(B)
//Generic non-shuttle turf move. //Generic non-shuttle turf move.

View File

@@ -803,7 +803,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
if(istype(T,/turf/simulated/shuttle)) if(istype(T,/turf/simulated/shuttle))
shuttlework = 1 shuttlework = 1
var/turf/simulated/shuttle/SS = T var/turf/simulated/shuttle/SS = T
if(!SS.landed_holder) SS.landed_holder = new(turf = SS) if(!SS.landed_holder) SS.landed_holder = new(SS)
X = SS.landed_holder.land_on(B) X = SS.landed_holder.land_on(B)
//Generic non-shuttle turf move. //Generic non-shuttle turf move.
@@ -1310,8 +1310,9 @@ var/mob/dview/dview_mob = new
color = origin.color color = origin.color
set_light(origin.light_range, origin.light_power, origin.light_color) set_light(origin.light_range, origin.light_power, origin.light_color)
/mob/dview/New() INITIALIZE_IMMEDIATE(/mob/dview)
..() /mob/dview/Initialize()
. = ..()
// We don't want to be in any mob lists; we're a dummy not a mob. // We don't want to be in any mob lists; we're a dummy not a mob.
mob_list -= src mob_list -= src
if(stat == DEAD) if(stat == DEAD)

View File

@@ -12,12 +12,13 @@
var/mob/my_mob = null // The mob that possesses this hud object. var/mob/my_mob = null // The mob that possesses this hud object.
/obj/screen/movable/ability_master/New(owner) /obj/screen/movable/ability_master/Initialize(ml, owner)
. = ..()
if(owner) if(owner)
my_mob = owner my_mob = owner
update_abilities(0, owner) update_abilities(0, owner)
else else
message_admins("ERROR: ability_master's New() was not given an owner argument. This is a bug.") message_admins("ERROR: ability_master's Initialize() was not given an owner argument. This is a bug.")
/obj/screen/movable/ability_master/Destroy() /obj/screen/movable/ability_master/Destroy()
. = ..() . = ..()
@@ -178,9 +179,9 @@
ability_master.toggle_open(1) ability_master.toggle_open(1)
client.screen -= ability_master client.screen -= ability_master
/mob/New() /mob/Initialize()
..() . = ..()
ability_master = new /obj/screen/movable/ability_master(src) ability_master = new /obj/screen/movable/ability_master(null, src)
///////////ACTUAL ABILITIES//////////// ///////////ACTUAL ABILITIES////////////
//This is what you click to do things// //This is what you click to do things//

View File

@@ -622,8 +622,9 @@
plane = PLANE_PLAYER_HUD_ABOVE plane = PLANE_PLAYER_HUD_ABOVE
var/client/holder var/client/holder
/obj/screen/splash/New(client/C, visible) INITIALIZE_IMMEDIATE(/obj/screen/splash)
. = ..() /obj/screen/splash/Initialize(var/ml, client/C, visible)
. = ..(ml)
holder = C holder = C
@@ -691,6 +692,9 @@
var/obj/screen/mapper/extras_holder/extras_holder var/obj/screen/mapper/extras_holder/extras_holder
/obj/screen/movable/mapper_holder/Initialize(mapload, newowner) /obj/screen/movable/mapper_holder/Initialize(mapload, newowner)
. = ..()
owner = newowner owner = newowner
mask_full = new(src) // Full white square mask mask_full = new(src) // Full white square mask
@@ -778,8 +782,8 @@
mouse_opacity = 0 mouse_opacity = 0
var/obj/screen/movable/mapper_holder/parent var/obj/screen/movable/mapper_holder/parent
/obj/screen/mapper/New() /obj/screen/mapper/Initialize()
..() . = ..()
parent = loc parent = loc
/obj/screen/mapper/Destroy() /obj/screen/mapper/Destroy()

View File

@@ -251,8 +251,8 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle = new
layer = TURF_LAYER layer = TURF_LAYER
plane = TURF_PLANE plane = TURF_PLANE
/obj/effect/bgstar/New() /obj/effect/bgstar/Initialize()
..() . = ..()
pixel_x += rand(-2,30) pixel_x += rand(-2,30)
pixel_y += rand(-2,30) pixel_y += rand(-2,30)
var/starnum = pick("1", "1", "1", "2", "3", "4") var/starnum = pick("1", "1", "1", "2", "3", "4")

View File

@@ -8,70 +8,66 @@ SUBSYSTEM_DEF(atoms)
init_order = INIT_ORDER_ATOMS init_order = INIT_ORDER_ATOMS
flags = SS_NO_FIRE flags = SS_NO_FIRE
var/static/initialized = INITIALIZATION_INSSATOMS // override and GetArguments() exists for mod-override/downstream hook functionality.
// var/list/created_atoms // This is never used, so don't bother. ~Leshana // Useful for total-overhaul type modifications.
var/static/old_initialized var/adjust_init_arguments = FALSE
var/atom_init_stage = INITIALIZATION_INSSATOMS
var/old_init_stage
var/list/late_loaders var/list/late_loaders
var/list/created_atoms
var/list/BadInitializeCalls = list() var/list/BadInitializeCalls = list()
/datum/controller/subsystem/atoms/Initialize(timeofday) /datum/controller/subsystem/atoms/Initialize(timeofday)
if(!plant_controller) // Initialize seed repo for /obj/item/seed and /obj/item/weapon/grown if(!plant_controller) // Initialize seed repo for /obj/item/seed and /obj/item/weapon/grown
plant_controller = new plant_controller = new
setupgenetics() //to set the mutations' place in structural enzymes, so initializers know where to put mutations. setupgenetics() //to set the mutations' place in structural enzymes, so initializers know where to put mutations.
initialized = INITIALIZATION_INNEW_MAPLOAD atom_init_stage = INITIALIZATION_INNEW_MAPLOAD
to_world_log("Initializing objects")
admin_notice("<span class='danger'>Initializing objects</span>", R_DEBUG)
InitializeAtoms() InitializeAtoms()
return ..() return ..()
/datum/controller/subsystem/atoms/proc/InitializeAtoms(list/atoms) /datum/controller/subsystem/atoms/proc/InitializeAtoms(var/list/supplied_atoms)
if(initialized == INITIALIZATION_INSSATOMS)
if(atom_init_stage <= INITIALIZATION_INSSATOMS_LATE)
return return
initialized = INITIALIZATION_INNEW_MAPLOAD atom_init_stage = INITIALIZATION_INNEW_MAPLOAD
LAZYINITLIST(late_loaders) LAZYINITLIST(late_loaders)
var/count
var/list/mapload_arg = list(TRUE) var/list/mapload_arg = list(TRUE)
if(atoms) var/count = LAZYLEN(supplied_atoms)
created_atoms = list() if(count)
count = atoms.len while(supplied_atoms.len)
for(var/I in atoms) var/atom/A = supplied_atoms[supplied_atoms.len]
var/atom/A = I supplied_atoms.len--
if(!A.initialized) if(!A.initialized)
if(InitAtom(I, mapload_arg)) InitAtom(A, GetArguments(A, mapload_arg))
atoms -= I
CHECK_TICK CHECK_TICK
else else if(!subsystem_initialized)
count = 0 // If wondering why not just store all atoms in a list and use the block above: that turns out unbearably expensive.
for(var/atom/A in world) // This must be world, since this operation adds all the atoms to their specific lists. // Instead, atoms without extra arguments in New created on server start are fished out of world directly.
// We do this exactly once.
for(var/atom/A in world)
if(!A.initialized) if(!A.initialized)
InitAtom(A, mapload_arg) InitAtom(A, GetArguments(A, mapload_arg, FALSE))
++count ++count
CHECK_TICK CHECK_TICK
log_world("Initialized [count] atoms") report_progress("Initialized [count] atom\s")
initialized = INITIALIZATION_INNEW_REGULAR atom_init_stage = INITIALIZATION_INNEW_REGULAR
if(late_loaders.len) if(late_loaders.len)
for(var/I in late_loaders) for(var/I in late_loaders)
var/atom/A = I var/atom/A = I
A.LateInitialize() A.LateInitialize(arglist(late_loaders[A]))
CHECK_TICK report_progress("Late initialized [late_loaders.len] atom\s")
testing("Late initialized [late_loaders.len] atoms")
late_loaders.Cut() late_loaders.Cut()
// Nothing ever checks return value of this proc, so don't bother. If this ever changes fix code in /atom/New() ~Leshana
// if(atoms)
// . = created_atoms + atoms
// created_atoms = null
/datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments) /datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments)
LAZYREMOVE(global.pre_init_created_atoms, A)
var/the_type = A.type var/the_type = A.type
if(QDELING(A)) if(QDELING(A))
BadInitializeCalls[the_type] |= BAD_INIT_QDEL_BEFORE BadInitializeCalls[the_type] |= BAD_INIT_QDEL_BEFORE
@@ -90,9 +86,9 @@ SUBSYSTEM_DEF(atoms)
switch(result) switch(result)
if(INITIALIZE_HINT_LATELOAD) if(INITIALIZE_HINT_LATELOAD)
if(arguments[1]) //mapload if(arguments[1]) //mapload
late_loaders += A late_loaders[A] = arguments
else else
A.LateInitialize() A.LateInitialize(arglist(arguments))
if(INITIALIZE_HINT_QDEL) if(INITIALIZE_HINT_QDEL)
qdel(A) qdel(A)
qdeleted = TRUE qdeleted = TRUE
@@ -106,18 +102,37 @@ SUBSYSTEM_DEF(atoms)
return qdeleted || QDELING(A) return qdeleted || QDELING(A)
// override and GetArguments() exists for mod-override/downstream hook functionality.
// Useful for total-overhaul type modifications.
/atom/proc/AdjustInitializeArguments(list/arguments)
// Lists are passed by reference so can simply modify the arguments list without returning it
/datum/controller/subsystem/atoms/proc/GetArguments(atom/A, list/mapload_arg, created=TRUE)
if(!created && !adjust_init_arguments)
return mapload_arg // Performance optimization. Nothing to do.
var/list/arguments = mapload_arg.Copy()
var/extra_args = LAZYACCESS(global.pre_init_created_atoms, A)
if(created && extra_args)
arguments += extra_args
if(adjust_init_arguments)
A.AdjustInitializeArguments(arguments)
return arguments
/datum/controller/subsystem/atoms/stat_entry(msg)
..("Bad Initialize Calls:[BadInitializeCalls.len]")
/datum/controller/subsystem/atoms/proc/map_loader_begin() /datum/controller/subsystem/atoms/proc/map_loader_begin()
old_initialized = initialized old_init_stage = atom_init_stage
initialized = INITIALIZATION_INSSATOMS atom_init_stage = INITIALIZATION_INSSATOMS_LATE
/datum/controller/subsystem/atoms/proc/map_loader_stop() /datum/controller/subsystem/atoms/proc/map_loader_stop()
initialized = old_initialized atom_init_stage = old_init_stage
/datum/controller/subsystem/atoms/Recover() /datum/controller/subsystem/atoms/Recover()
initialized = SSatoms.initialized atom_init_stage = SSatoms.atom_init_stage
if(initialized == INITIALIZATION_INNEW_MAPLOAD) if(atom_init_stage == INITIALIZATION_INNEW_MAPLOAD)
InitializeAtoms() InitializeAtoms()
old_initialized = SSatoms.old_initialized old_init_stage = SSatoms.old_init_stage
BadInitializeCalls = SSatoms.BadInitializeCalls BadInitializeCalls = SSatoms.BadInitializeCalls
/datum/controller/subsystem/atoms/proc/InitLog() /datum/controller/subsystem/atoms/proc/InitLog()

View File

@@ -87,17 +87,6 @@ SUBSYSTEM_DEF(open_space)
// log_debug("[T] ([T.x],[T.y],[T.z]) queued for update for [src].update_icon()") // log_debug("[T] ([T.x],[T.y],[T.z]) queued for update for [src].update_icon()")
SSopen_space.add_turf(T, 1) SSopen_space.add_turf(T, 1)
// Ouch... this is painful. But is there any other way?
/* - No for now
/obj/New()
. = ..()
if(open_space_initialised && !invisibility)
var/turf/T = GetAbove(src)
if(isopenspace(T))
// log_debug("[T] ([T.x],[T.y],[T.z]) queued for update for [src]New()")
OS_controller.add_turf(T, 1)
*/
// We probably should hook Destroy() If we can think of something more efficient, lets hear it. // We probably should hook Destroy() If we can think of something more efficient, lets hear it.
/obj/Destroy() /obj/Destroy()
if(GLOB.open_space_initialised && !invisibility && isturf(loc)) if(GLOB.open_space_initialised && !invisibility && isturf(loc))

View File

@@ -425,7 +425,7 @@ var/global/datum/controller/subsystem/ticker/ticker
if(new_char) if(new_char)
qdel(player) qdel(player)
if(new_char.client) if(new_char.client)
var/obj/screen/splash/S = new(new_char.client, TRUE) var/obj/screen/splash/S = new(null, new_char.client, TRUE)
S.Fade(TRUE) S.Fade(TRUE)
// If they're a carbon, they can get manifested // If they're a carbon, they can get manifested

View File

@@ -6,8 +6,9 @@
name = "Initializing..." name = "Initializing..."
var/target var/target
/obj/effect/statclick/New(loc, text, target) //Don't port this to Initialize it's too critical INITIALIZE_IMMEDIATE(/obj/effect/statclick)
..() /obj/effect/statclick/Initialize(ml, text, target)
. = ..(ml)
name = text name = text
src.target = target src.target = target

View File

@@ -47,9 +47,9 @@
/obj/item/weapon/soap/deluxe /obj/item/weapon/soap/deluxe
icon_state = "soapdeluxe" icon_state = "soapdeluxe"
/obj/item/weapon/soap/deluxe/New() /obj/item/weapon/soap/deluxe/Initialize()
desc = "A deluxe Waffle Co. brand bar of soap. Smells of [pick("lavender", "vanilla", "strawberry", "chocolate" ,"space")]." desc = "A deluxe Waffle Co. brand bar of soap. Smells of [pick("lavender", "vanilla", "strawberry", "chocolate" ,"space")]."
..() . = ..()
/obj/item/weapon/soap/syndie /obj/item/weapon/soap/syndie
desc = "An untrustworthy bar of soap. Smells of fear." desc = "An untrustworthy bar of soap. Smells of fear."
@@ -363,10 +363,10 @@
drop_sound = 'sound/items/drop/component.ogg' drop_sound = 'sound/items/drop/component.ogg'
pickup_sound = 'sound/items/pickup/component.ogg' pickup_sound = 'sound/items/pickup/component.ogg'
/obj/item/weapon/stock_parts/New() /obj/item/weapon/stock_parts/Initialize()
src.pixel_x = rand(-5.0, 5) src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5) src.pixel_y = rand(-5.0, 5)
..() . = ..()
/obj/item/weapon/stock_parts/get_rating() /obj/item/weapon/stock_parts/get_rating()
return rating return rating
@@ -390,7 +390,7 @@
var/charge = 0 var/charge = 0
var/max_charge = 1000 var/max_charge = 1000
/obj/item/weapon/stock_parts/capacitor/New() /obj/item/weapon/stock_parts/capacitor/Initialize()
. = ..() . = ..()
max_charge *= rating max_charge *= rating

View File

@@ -1831,24 +1831,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "Tactical" icon_state = "Tactical"
ambience = AMBIENCE_HIGHSEC ambience = AMBIENCE_HIGHSEC
/*
New()
..()
spawn(10) //let objects set up first
for(var/turf/turfToGrayscale in src)
if(turfToGrayscale.icon)
var/icon/newIcon = icon(turfToGrayscale.icon)
newIcon.GrayScale()
turfToGrayscale.icon = newIcon
for(var/obj/objectToGrayscale in turfToGrayscale) //1 level deep, means tables, apcs, locker, etc, but not locker contents
if(objectToGrayscale.icon)
var/icon/newIcon = icon(objectToGrayscale.icon)
newIcon.GrayScale()
objectToGrayscale.icon = newIcon
*/
/area/security/nuke_storage /area/security/nuke_storage
name = "\improper Vault" name = "\improper Vault"
icon_state = "nuke_storage" icon_state = "nuke_storage"

View File

@@ -2,17 +2,12 @@
name = "AI Monitored Area" name = "AI Monitored Area"
var/obj/machinery/camera/motioncamera = null var/obj/machinery/camera/motioncamera = null
/area/ai_monitored/LateInitialize()
/area/ai_monitored/New() . = ..()
..() for(var/obj/machinery/camera/M in src)
// locate and store the motioncamera if(M.isMotion())
spawn (20) // spawn on a delay to let turfs/objs load motioncamera = M
for (var/obj/machinery/camera/M in src) M.area_motion = src
if(M.isMotion())
motioncamera = M
M.area_motion = src
return
return
/area/ai_monitored/Entered(atom/movable/O) /area/ai_monitored/Entered(atom/movable/O)
..() ..()
@@ -22,5 +17,3 @@
/area/ai_monitored/Exited(atom/movable/O) /area/ai_monitored/Exited(atom/movable/O)
if (ismob(O) && motioncamera) if (ismob(O) && motioncamera)
motioncamera.lostTarget(O) motioncamera.lostTarget(O)

View File

@@ -19,7 +19,7 @@
var/debug = 0 var/debug = 0
var/requires_power = 1 var/requires_power = 1
var/always_unpowered = 0 //this gets overriden to 1 for space in area/New() var/always_unpowered = 0 //this gets overriden to 1 for space in area/Initialize()
// Power channel status - Is it currently energized? // Power channel status - Is it currently energized?
var/power_equip = TRUE var/power_equip = TRUE
@@ -52,10 +52,13 @@
var/no_spoilers = FALSE // If true, makes it much more difficult to see what is inside an area with things like mesons. var/no_spoilers = FALSE // If true, makes it much more difficult to see what is inside an area with things like mesons.
var/soundproofed = FALSE // If true, blocks sounds from other areas and prevents hearers on other areas from hearing the sounds within. var/soundproofed = FALSE // If true, blocks sounds from other areas and prevents hearers on other areas from hearing the sounds within.
/area/New()
icon_state = ""
luminosity = !dynamic_lighting
..()
/area/Initialize() /area/Initialize()
. = ..() . = ..()
luminosity = !(dynamic_lighting)
icon_state = ""
return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms. return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms.
/area/LateInitialize() /area/LateInitialize()
@@ -67,6 +70,10 @@
if(no_spoilers) if(no_spoilers)
set_spoiler_obfuscation(TRUE) set_spoiler_obfuscation(TRUE)
icon = 'icons/turf/areas.dmi'
icon_state = "white"
blend_mode = BLEND_MULTIPLY
// Changes the area of T to A. Do not do this manually. // Changes the area of T to A. Do not do this manually.
// Area is expected to be a non-null instance. // Area is expected to be a non-null instance.
/proc/ChangeArea(var/turf/T, var/area/A) /proc/ChangeArea(var/turf/T, var/area/A)

View File

@@ -43,27 +43,22 @@
/// The chat color var, without alpha. /// The chat color var, without alpha.
var/chat_color_hover var/chat_color_hover
var/global/list/pre_init_created_atoms // atom creation ordering means some stuff is trying to init before SSatoms exists, temp workaround
/atom/New(loc, ...) /atom/New(loc, ...)
// Don't call ..() unless /datum/New() ever exists //atom creation method that preloads variables at creation
if(global.use_preloader && (src.type == global._preloader.target_path))//in case the instanciated atom is creating other atoms in New()
// During dynamic mapload (reader.dm) this assigns the var overrides from the .dmm file global._preloader.load(src)
// Native BYOND maploading sets those vars before invoking New(), by doing this FIRST we come as close to that behavior as we can.
if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New() var/do_initialize = SSatoms?.atom_init_stage
_preloader.load(src) if(do_initialize > INITIALIZATION_INSSATOMS_LATE)
args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD
// Pass our arguments to InitAtom so they can be passed to initialize(), but replace 1st with if-we're-during-mapload. SSatoms.InitAtom(src, args)
var/do_initialize = SSatoms.initialized else
if(do_initialize > INITIALIZATION_INSSATOMS) var/list/argument_list
args[1] = (do_initialize == INITIALIZATION_INNEW_MAPLOAD) if(length(args) > 1)
if(SSatoms.InitAtom(src, args)) argument_list = args.Copy(2)
// We were deleted. No sense continuing if(length(argument_list))
return LAZYSET(global.pre_init_created_atoms, src, argument_list)
// Uncomment if anything ever uses the return value of SSatoms.InitializeAtoms ~Leshana
// If a map is being loaded, it might want to know about newly created objects so they can be handled.
// var/list/created = SSatoms.created_atoms
// if(created)
// created += src
// Note: I removed "auto_init" feature (letting types disable auto-init) since it shouldn't be needed anymore. // Note: I removed "auto_init" feature (letting types disable auto-init) since it shouldn't be needed anymore.
// You can replicate the same by checking the value of the first parameter to initialize() ~Leshana // You can replicate the same by checking the value of the first parameter to initialize() ~Leshana
@@ -75,6 +70,8 @@
// Other parameters are passed from New (excluding loc), this does not happen if mapload is TRUE // Other parameters are passed from New (excluding loc), this does not happen if mapload is TRUE
// Must return an Initialize hint. Defined in code/__defines/subsystems.dm // Must return an Initialize hint. Defined in code/__defines/subsystems.dm
/atom/proc/Initialize(mapload, ...) /atom/proc/Initialize(mapload, ...)
SHOULD_CALL_PARENT(TRUE)
SHOULD_NOT_SLEEP(TRUE)
if(QDELETED(src)) if(QDELETED(src))
crash_with("GC: -- [type] had initialize() called after qdel() --") crash_with("GC: -- [type] had initialize() called after qdel() --")
if(initialized) if(initialized)

View File

@@ -413,6 +413,7 @@
src.throw_impact(A,speed) src.throw_impact(A,speed)
/atom/movable/proc/throw_at(atom/target, range, speed, thrower) /atom/movable/proc/throw_at(atom/target, range, speed, thrower)
set waitfor = FALSE
if(!target || !src) if(!target || !src)
return 0 return 0
if(target.z != src.z) if(target.z != src.z)
@@ -504,10 +505,10 @@
var/atom/master = null var/atom/master = null
anchored = 1 anchored = 1
/atom/movable/overlay/New() /atom/movable/overlay/Initialize()
for(var/x in src.verbs) for(var/x in src.verbs)
src.verbs -= x src.verbs -= x
..() . = ..()
/atom/movable/overlay/attackby(a, b) /atom/movable/overlay/attackby(a, b)
if (src.master) if (src.master)

View File

@@ -88,7 +88,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
verbs.Add(P.verbpath) verbs.Add(P.verbpath)
if(P.make_hud_button) if(P.make_hud_button)
if(!src.ability_master) if(!src.ability_master)
src.ability_master = new /obj/screen/movable/ability_master(src) src.ability_master = new /obj/screen/movable/ability_master(null, src)
src.ability_master.add_ling_ability( src.ability_master.add_ling_ability(
object_given = src, object_given = src,
verb_given = P.verbpath, verb_given = P.verbpath,

View File

@@ -344,7 +344,7 @@ var/list/datum/power/changeling/powerinstances = list()
if(Thepower.make_hud_button && Thepower.isVerb) if(Thepower.make_hud_button && Thepower.isVerb)
if(!M.current.ability_master) if(!M.current.ability_master)
M.current.ability_master = new /obj/screen/movable/ability_master(M.current) M.current.ability_master = new /obj/screen/movable/ability_master(null, M.current)
M.current.ability_master.add_ling_ability( M.current.ability_master.add_ling_ability(
object_given = M.current, object_given = M.current,
verb_given = Thepower.verbpath, verb_given = Thepower.verbpath,

View File

@@ -65,8 +65,8 @@
defend_chance = 40 // The base chance for the weapon to parry. defend_chance = 40 // The base chance for the weapon to parry.
projectile_parry_chance = 15 // The base chance for a projectile to be deflected. projectile_parry_chance = 15 // The base chance for a projectile to be deflected.
/obj/item/weapon/melee/changeling/New(location) /obj/item/weapon/melee/changeling/Initialize()
..() . = ..()
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
if(ismob(loc)) if(ismob(loc))
visible_message("<span class='warning'>A grotesque weapon forms around [loc.name]\'s arm!</span>", visible_message("<span class='warning'>A grotesque weapon forms around [loc.name]\'s arm!</span>",

View File

@@ -41,8 +41,8 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //No armor at all. armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //No armor at all.
canremove = 0 canremove = 0
/obj/item/clothing/suit/space/changeling/New() /obj/item/clothing/suit/space/changeling/Initialize()
..() . = ..()
if(ismob(loc)) if(ismob(loc))
loc.visible_message("<span class='warning'>[loc.name]\'s flesh rapidly inflates, forming a bloated mass around their body!</span>", loc.visible_message("<span class='warning'>[loc.name]\'s flesh rapidly inflates, forming a bloated mass around their body!</span>",
"<span class='warning'>We inflate our flesh, creating a spaceproof suit!</span>", "<span class='warning'>We inflate our flesh, creating a spaceproof suit!</span>",
@@ -105,8 +105,8 @@
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
slowdown = 1.5 slowdown = 1.5
/obj/item/clothing/suit/space/changeling/armored/New() /obj/item/clothing/suit/space/changeling/armored/Initialize()
..() . = ..()
if(ismob(loc)) if(ismob(loc))
loc.visible_message("<span class='warning'>[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!</span>", loc.visible_message("<span class='warning'>[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!</span>",
"<span class='warning'>We harden our flesh, creating a suit of armor!</span>", "<span class='warning'>We harden our flesh, creating a suit of armor!</span>",

View File

@@ -113,7 +113,8 @@
agony_amount = 80 agony_amount = 80
electrocute_amount = 20 electrocute_amount = 20
/obj/item/weapon/electric_hand/New() /obj/item/weapon/electric_hand/Initialize()
. = ..()
if(ismob(loc)) if(ismob(loc))
visible_message("<span class='warning'>Electrical arcs form around [loc.name]\'s hand!</span>", visible_message("<span class='warning'>Electrical arcs form around [loc.name]\'s hand!</span>",
"<span class='warning'>We store a charge of electricity in our hand.</span>", "<span class='warning'>We store a charge of electricity in our hand.</span>",

View File

@@ -32,7 +32,8 @@
icon_state = "electric_hand" icon_state = "electric_hand"
show_examine = FALSE show_examine = FALSE
/obj/item/weapon/finger_lockpick/New() /obj/item/weapon/finger_lockpick/Initialize()
. = ..()
if(ismob(loc)) if(ismob(loc))
to_chat(loc, "<span class='notice'>We shape our finger to fit inside electronics, and are ready to force them open.</span>") to_chat(loc, "<span class='notice'>We shape our finger to fit inside electronics, and are ready to force them open.</span>")

View File

@@ -264,12 +264,10 @@ var/global/list/changeling_fabricated_clothing = list(
access = null access = null
canremove = 0 canremove = 0
/obj/item/weapon/card/id/syndicate/changeling/New(mob/user as mob)
..()
registered_user = user
/obj/item/weapon/card/id/syndicate/changeling/Initialize() /obj/item/weapon/card/id/syndicate/changeling/Initialize()
. = ..() . = ..()
if(ismob(loc))
registered_user = loc
access = null access = null
/obj/item/weapon/card/id/syndicate/changeling/verb/shred() /obj/item/weapon/card/id/syndicate/changeling/verb/shred()

View File

@@ -439,16 +439,9 @@
toggled = 0 // Mainly used for overlays. toggled = 0 // Mainly used for overlays.
cooldown = 0 // If set, will add a cooldown overlay and adjust click delay. Must be a multiple of 5 for overlays. cooldown = 0 // If set, will add a cooldown overlay and adjust click delay. Must be a multiple of 5 for overlays.
cast_sound = null // Sound file played when this is used. cast_sound = null // Sound file played when this is used.
needs_core = FALSE // Does not need a core.
var/last_castcheck = null // The last time this spell was cast. var/last_castcheck = null // The last time this spell was cast.
/obj/item/weapon/spell/construct/New()
//..() //This kills the spell, because super on this calls the default spell's New, which checks for a core. Can't have that.
if(isliving(loc))
owner = loc
if(!owner)
qdel(src)
update_icon()
/obj/item/weapon/spell/construct/adjust_instability(var/amount) //The only drawback to the boons of the geometer is the use of a mortal's blood as fuel. Constructs have already paid that price long ago. /obj/item/weapon/spell/construct/adjust_instability(var/amount) //The only drawback to the boons of the geometer is the use of a mortal's blood as fuel. Constructs have already paid that price long ago.
return return

View File

@@ -154,6 +154,7 @@
return return
/obj/effect/gateway/active/Initialize() /obj/effect/gateway/active/Initialize()
. = ..()
addtimer(CALLBACK(src, .proc/spawn_and_qdel), rand(30, 60) SECONDS) addtimer(CALLBACK(src, .proc/spawn_and_qdel), rand(30, 60) SECONDS)
/obj/effect/gateway/active/proc/spawn_and_qdel() /obj/effect/gateway/active/proc/spawn_and_qdel()

View File

@@ -16,8 +16,8 @@ var/global/list/narsie_list = list()
consume_range = 3 //How many tiles out do we eat consume_range = 3 //How many tiles out do we eat
/obj/singularity/narsie/New() /obj/singularity/narsie/Initialize()
..() . = ..()
narsie_list.Add(src) narsie_list.Add(src)
/obj/singularity/narsie/Destroy() /obj/singularity/narsie/Destroy()
@@ -40,8 +40,8 @@ var/global/list/narsie_list = list()
var/announce=1 var/announce=1
var/cause_hell = 1 var/cause_hell = 1
/obj/singularity/narsie/large/New() /obj/singularity/narsie/large/Initialize()
..() . = ..()
if(announce) if(announce)
to_world("<font size='15' color='red'><b>[uppertext(name)] HAS RISEN</b></font>") to_world("<font size='15' color='red'><b>[uppertext(name)] HAS RISEN</b></font>")
world << sound('sound/effects/weather/wind/wind_5_1.ogg') world << sound('sound/effects/weather/wind/wind_5_1.ogg')
@@ -358,6 +358,7 @@ var/global/list/narsie_list = list()
consume(T) consume(T)
/obj/singularity/narsie/proc/narsie_spawn_animation() /obj/singularity/narsie/proc/narsie_spawn_animation()
set waitfor = FALSE
icon = 'icons/obj/narsie_spawn_anim.dmi' icon = 'icons/obj/narsie_spawn_anim.dmi'
dir = SOUTH dir = SOUTH
move_self = 0 move_self = 0

View File

@@ -14,9 +14,9 @@
consume_range = 6 consume_range = 6
/obj/singularity/narsie/large/exit/New() /obj/singularity/narsie/large/exit/Initialize()
..() . = ..()
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
/obj/singularity/narsie/large/exit/update_icon() /obj/singularity/narsie/large/exit/update_icon()
overlays = 0 overlays = 0

View File

@@ -8,9 +8,9 @@
density = 0 density = 0
anchored = 1 anchored = 1
/obj/effect/bhole/New() /obj/effect/bhole/Initialize()
spawn(4) . = ..()
controller() addtimer(CALLBACK(src, .proc/controller), 4)
/obj/effect/bhole/proc/controller() /obj/effect/bhole/proc/controller()
while(src) while(src)

View File

@@ -23,9 +23,6 @@
desc = "Directions for use: Requires two people, one to pull each end." desc = "Directions for use: Requires two people, one to pull each end."
var/cracked = 0 var/cracked = 0
/obj/item/weapon/toy/xmas_cracker/New()
..()
/obj/item/weapon/toy/xmas_cracker/attack(mob/target, mob/user) /obj/item/weapon/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) if( !cracked && (istype(target,/mob/living/silicon) || (istype(target,/mob/living/carbon/human) && !target.get_active_hand())) && target.stat == CONSCIOUS)
target.visible_message("<span class='notice'>[user] and [target] pop \an [src]! *pop*</span>", "<span class='notice'>You pull \an [src] with [target]! *pop*</span>", "<span class='notice'>You hear a *pop*.</span>") target.visible_message("<span class='notice'>[user] and [target] pop \an [src]! *pop*</span>", "<span class='notice'>You pull \an [src] with [target]! *pop*</span>", "<span class='notice'>You hear a *pop*.</span>")

View File

@@ -130,6 +130,7 @@
. = ..() . = ..()
z_original = z z_original = z
GLOB.meteor_list += src GLOB.meteor_list += src
SpinAnimation()
/obj/effect/meteor/Move() /obj/effect/meteor/Move()
if(z != z_original || loc == dest) if(z != z_original || loc == dest)
@@ -151,10 +152,6 @@
GLOB.meteor_list -= src GLOB.meteor_list -= src
return ..() return ..()
/obj/effect/meteor/New()
..()
SpinAnimation()
/obj/effect/meteor/Bump(atom/A) /obj/effect/meteor/Bump(atom/A)
if(A) if(A)
if(A.handle_meteor_impact(src)) // Used for special behaviour when getting hit specifically by a meteor, like a shield. if(A.handle_meteor_impact(src)) // Used for special behaviour when getting hit specifically by a meteor, like a shield.

View File

@@ -62,8 +62,8 @@ var/list/all_technomancer_assistance = typesof(/datum/technomancer/assistance) -
// Proc: New() // Proc: New()
// Parameters: 0 // Parameters: 0
// Description: Sets up the catalog, as shown below. // Description: Sets up the catalog, as shown below.
/obj/item/weapon/technomancer_catalog/New() /obj/item/weapon/technomancer_catalog/Initialize()
..() . = ..()
set_up() set_up()
// Proc: set_up() // Proc: set_up()

View File

@@ -36,8 +36,8 @@
var/list/wards_in_use = list() // Wards don't count against the cap for other summons. var/list/wards_in_use = list() // Wards don't count against the cap for other summons.
var/max_summons = 10 // Maximum allowed summoned entities. Some cores will have different caps. var/max_summons = 10 // Maximum allowed summoned entities. Some cores will have different caps.
/obj/item/weapon/technomancer_core/New() /obj/item/weapon/technomancer_core/Initialize()
..() . = ..()
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
/obj/item/weapon/technomancer_core/Destroy() /obj/item/weapon/technomancer_core/Destroy()
@@ -141,9 +141,10 @@
var/obj/item/weapon/technomancer_core/core = null var/obj/item/weapon/technomancer_core/core = null
var/ability_icon_state = null var/ability_icon_state = null
/obj/spellbutton/New(loc, var/path, var/new_name, var/new_icon_state) /obj/spellbutton/Initialize(var/ml, var/path, var/new_name, var/new_icon_state)
. = ..()
if(!path || !ispath(path)) if(!path || !ispath(path))
message_admins("ERROR: /obj/spellbutton/New() was not given a proper path!") message_admins("ERROR: /obj/spellbutton/Initialize() was not given a proper path!")
qdel(src) qdel(src)
src.name = new_name src.name = new_name
src.spellpath = path src.spellpath = path

View File

@@ -36,9 +36,9 @@
wearer.custom_pain("Your hands hurt like hell!",1) wearer.custom_pain("Your hands hurt like hell!",1)
wearer = null wearer = null
/obj/item/clothing/gloves/regen/New() /obj/item/clothing/gloves/regen/Initialize()
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
..() . = ..()
/obj/item/clothing/gloves/regen/Destroy() /obj/item/clothing/gloves/regen/Destroy()
wearer = null wearer = null

View File

@@ -24,8 +24,8 @@
var/datum/effect/effect/system/spark_spread/spark_system = null var/datum/effect/effect/system/spark_spread/spark_system = null
var/block_percentage = 75 var/block_percentage = 75
/obj/item/clothing/suit/armor/shield/New() /obj/item/clothing/suit/armor/shield/Initialize()
..() . = ..()
spark_system = new /datum/effect/effect/system/spark_spread() spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src) spark_system.set_up(5, 0, src)

View File

@@ -108,7 +108,7 @@
name = "hypo belt" name = "hypo belt"
desc = "A medical belt designed to carry autoinjectors and other medical equipment." desc = "A medical belt designed to carry autoinjectors and other medical equipment."
/obj/item/weapon/storage/belt/medical/technomancer/New() /obj/item/weapon/storage/belt/medical/technomancer/Initialize()
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute(src) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/brute(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn(src) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin(src) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/toxin(src)
@@ -117,7 +117,7 @@
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain(src) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/pain(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ(src) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/organ(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat(src) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat(src)
..() . = ..()
/datum/technomancer/equipment/belt_of_holding /datum/technomancer/equipment/belt_of_holding
name = "Belt of Holding" name = "Belt of Holding"

View File

@@ -18,6 +18,7 @@
var/toggled = 0 // Mainly used for overlays. var/toggled = 0 // Mainly used for overlays.
var/cooldown = 0 // If set, will add a cooldown overlay and adjust click delay. Must be a multiple of 5 for overlays. var/cooldown = 0 // If set, will add a cooldown overlay and adjust click delay. Must be a multiple of 5 for overlays.
var/cast_sound = null // Sound file played when this is used. var/cast_sound = null // Sound file played when this is used.
var/needs_core = TRUE // Does this spell need a core to be usable?
// Proc: on_use_cast() // Proc: on_use_cast()
// Parameters: 1 (user - the technomancer casting the spell) // Parameters: 1 (user - the technomancer casting the spell)
@@ -110,18 +111,18 @@
// Proc: New() // Proc: New()
// Parameters: 0 // Parameters: 0
// Description: Sets owner to equal its loc, links to the owner's core, then applies overlays if needed. // Description: Sets owner to equal its loc, links to the owner's core, then applies overlays if needed.
/obj/item/weapon/spell/New() /obj/item/weapon/spell/Initialize()
..() . = ..()
if(isliving(loc)) if(isliving(loc))
owner = loc owner = loc
if(owner) if(owner)
core = owner.get_technomancer_core() core = owner.get_technomancer_core()
if(!core) if(!core && needs_core)
to_chat(owner, "<span class='warning'>You need a Core to do that.</span>") to_chat(owner, "<span class='warning'>You need a Core to do that.</span>")
qdel(src) return INITIALIZE_HINT_QDEL
return else
// if(istype(/obj/item/weapon/technomancer_core, owner.back)) return INITIALIZE_HINT_QDEL
// core = owner.back
update_icon() update_icon()
// Proc: Destroy() // Proc: Destroy()

View File

@@ -41,8 +41,8 @@
aspect = ASPECT_CHROMATIC aspect = ASPECT_CHROMATIC
var/glow_color = "#FFFFFF" var/glow_color = "#FFFFFF"
/obj/item/weapon/spell/aura/New() /obj/item/weapon/spell/aura/Initialize()
..() . = ..()
set_light(7, 4, l_color = glow_color) set_light(7, 4, l_color = glow_color)
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)

View File

@@ -6,8 +6,8 @@
aspect = null aspect = null
var/glow_color = "#FFFFFF" var/glow_color = "#FFFFFF"
/obj/item/weapon/spell/aura/New() /obj/item/weapon/spell/aura/Initialize()
..() . = ..()
set_light(calculate_spell_power(7), calculate_spell_power(4), l_color = glow_color) set_light(calculate_spell_power(7), calculate_spell_power(4), l_color = glow_color)
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
log_and_message_admins("has started casting [src].") log_and_message_admins("has started casting [src].")

View File

@@ -14,8 +14,8 @@
aspect = ASPECT_LIGHT aspect = ASPECT_LIGHT
var/color_to_use = "#FFFFFF" var/color_to_use = "#FFFFFF"
/obj/item/weapon/spell/chroma/New() /obj/item/weapon/spell/chroma/Initialize()
..() . = ..()
set_light(6, 5, l_color = color_to_use) set_light(6, 5, l_color = color_to_use)
/obj/effect/temporary_effect/chroma /obj/effect/temporary_effect/chroma

View File

@@ -20,8 +20,8 @@
var/list/things_to_siphon = list() //Things which are actually drained as a result of the above not being null. var/list/things_to_siphon = list() //Things which are actually drained as a result of the above not being null.
var/flow_rate = 1000 // Limits how much electricity can be drained per second. Measured by default in god knows what. var/flow_rate = 1000 // Limits how much electricity can be drained per second. Measured by default in god knows what.
/obj/item/weapon/spell/energy_siphon/New() /obj/item/weapon/spell/energy_siphon/Initialize()
..() . = ..()
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
/obj/item/weapon/spell/energy_siphon/Destroy() /obj/item/weapon/spell/energy_siphon/Destroy()

View File

@@ -14,8 +14,8 @@
aspect = ASPECT_FIRE aspect = ASPECT_FIRE
var/obj/item/weapon/weldingtool/spell/welder = null var/obj/item/weapon/weldingtool/spell/welder = null
/obj/item/weapon/spell/flame_tongue/New() /obj/item/weapon/spell/flame_tongue/Initialize()
..() . = ..()
set_light(3, 2, l_color = "#FF6A00") set_light(3, 2, l_color = "#FF6A00")
visible_message("<span class='warning'>\The [loc]'s hand begins to emit a flame.</span>") visible_message("<span class='warning'>\The [loc]'s hand begins to emit a flame.</span>")
welder = new /obj/item/weapon/weldingtool/spell(src) welder = new /obj/item/weapon/weldingtool/spell(src)

View File

@@ -11,8 +11,8 @@
var/obj/item/weapon/inserted_spell/inserting = null var/obj/item/weapon/inserted_spell/inserting = null
var/allow_stacking = 0 var/allow_stacking = 0
/obj/item/weapon/spell/insert/New() /obj/item/weapon/spell/insert/Initialize()
..() . = ..()
set_light(spell_light_range, spell_light_intensity, l_color = light_color) set_light(spell_light_range, spell_light_intensity, l_color = light_color)
/obj/item/weapon/inserted_spell /obj/item/weapon/inserted_spell
@@ -20,9 +20,9 @@
var/mob/living/host = null 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. var/spell_power_at_creation = 1.0 // This is here because the spell object that made this object probably won't exist.
/obj/item/weapon/inserted_spell/New(var/newloc, var/user, var/obj/item/weapon/spell/insert/inserter) /obj/item/weapon/inserted_spell/Initialize(var/ml, var/user, var/obj/item/weapon/spell/insert/inserter)
..(newloc) . = ..()
host = newloc host = loc
origin = user origin = user
if(light_color) if(light_color)
spawn(1) spawn(1)

View File

@@ -14,8 +14,8 @@
cast_methods = CAST_USE cast_methods = CAST_USE
aspect = ASPECT_UNSTABLE aspect = ASPECT_UNSTABLE
/obj/item/weapon/spell/instability_tap/New() /obj/item/weapon/spell/instability_tap/Initialize()
..() . = ..()
set_light(3, 2, l_color = "#FA58F4") set_light(3, 2, l_color = "#FA58F4")
/obj/item/weapon/spell/instability_tap/on_use_cast(mob/user) /obj/item/weapon/spell/instability_tap/on_use_cast(mob/user)

View File

@@ -9,8 +9,8 @@
var/spell_light_intensity = 2 var/spell_light_intensity = 2
var/spell_light_range = 3 var/spell_light_range = 3
/obj/item/weapon/spell/modifier/New() /obj/item/weapon/spell/modifier/Initialize()
..() . = ..()
set_light(spell_light_range, spell_light_intensity, l_color = light_color) set_light(spell_light_range, spell_light_intensity, l_color = light_color)
/obj/item/weapon/spell/modifier/on_melee_cast(atom/hit_atom, mob/user) /obj/item/weapon/spell/modifier/on_melee_cast(atom/hit_atom, mob/user)

View File

@@ -15,8 +15,8 @@
cast_methods = CAST_USE cast_methods = CAST_USE
aspect = ASPECT_TELE aspect = ASPECT_TELE
/obj/item/weapon/spell/phase_shift/New() /obj/item/weapon/spell/phase_shift/Initialize()
..() . = ..()
set_light(3, 2, l_color = "#FA58F4") set_light(3, 2, l_color = "#FA58F4")
/obj/effect/phase_shift /obj/effect/phase_shift
@@ -28,8 +28,8 @@
/obj/effect/phase_shift/ex_act() /obj/effect/phase_shift/ex_act()
return return
/obj/effect/phase_shift/New() /obj/effect/phase_shift/Initialize()
..() . = ..()
set_light(3, 5, l_color = "#FA58F4") set_light(3, 5, l_color = "#FA58F4")
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)

View File

@@ -16,8 +16,8 @@
var/power = 250 var/power = 250
toggled = 1 toggled = 1
/obj/item/weapon/spell/radiance/New() /obj/item/weapon/spell/radiance/Initialize()
..() . = ..()
set_light(7, 4, l_color = "#D9D900") set_light(7, 4, l_color = "#D9D900")
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
log_and_message_admins("has casted [src].") log_and_message_admins("has casted [src].")

View File

@@ -16,8 +16,8 @@
var/damage_to_energy_multiplier = 60.0 //Determines how much energy to charge for blocking, e.g. 20 damage attack = 1200 energy cost var/damage_to_energy_multiplier = 60.0 //Determines how much energy to charge for blocking, e.g. 20 damage attack = 1200 energy cost
var/datum/effect/effect/system/spark_spread/spark_system = null var/datum/effect/effect/system/spark_spread/spark_system = null
/obj/item/weapon/spell/reflect/New() /obj/item/weapon/spell/reflect/Initialize()
..() . = ..()
set_light(3, 2, l_color = "#006AFF") set_light(3, 2, l_color = "#006AFF")
spark_system = new /datum/effect/effect/system/spark_spread() spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src) spark_system.set_up(5, 0, src)

View File

@@ -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/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/effect/system/spark_spread/spark_system = null var/datum/effect/effect/system/spark_spread/spark_system = null
/obj/item/weapon/spell/shield/New() /obj/item/weapon/spell/shield/Initialize()
..() . = ..()
set_light(3, 2, l_color = "#006AFF") set_light(3, 2, l_color = "#006AFF")
spark_system = new /datum/effect/effect/system/spark_spread() spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src) spark_system.set_up(5, 0, src)

View File

@@ -18,8 +18,8 @@
adjust_instability(4) adjust_instability(4)
..() ..()
/obj/item/weapon/spell/spawner/darkness/New() /obj/item/weapon/spell/spawner/darkness/Initialize()
..() . = ..()
set_light(6, -20, l_color = "#FFFFFF") set_light(6, -20, l_color = "#FFFFFF")
/obj/effect/temporary_effect/darkness /obj/effect/temporary_effect/darkness

View File

@@ -14,8 +14,8 @@
aspect = ASPECT_UNSTABLE aspect = ASPECT_UNSTABLE
spawner_type = /obj/effect/temporary_effect/destablize spawner_type = /obj/effect/temporary_effect/destablize
/obj/item/weapon/spell/spawner/destablize/New() /obj/item/weapon/spell/spawner/destablize/Initialize()
..() . = ..()
set_light(3, 2, l_color = "#C26DDE") set_light(3, 2, l_color = "#C26DDE")
/obj/item/weapon/spell/spawner/destablize/on_ranged_cast(atom/hit_atom, mob/user) /obj/item/weapon/spell/spawner/destablize/on_ranged_cast(atom/hit_atom, mob/user)

View File

@@ -13,8 +13,8 @@
aspect = ASPECT_EMP aspect = ASPECT_EMP
spawner_type = /obj/effect/temporary_effect/pulse/pulsar spawner_type = /obj/effect/temporary_effect/pulse/pulsar
/obj/item/weapon/spell/spawner/pulsar/New() /obj/item/weapon/spell/spawner/pulsar/Initialize()
..() . = ..()
set_light(3, 2, l_color = "#2ECCFA") set_light(3, 2, l_color = "#2ECCFA")
/obj/item/weapon/spell/spawner/pulsar/on_ranged_cast(atom/hit_atom, mob/user) /obj/item/weapon/spell/spawner/pulsar/on_ranged_cast(atom/hit_atom, mob/user)

View File

@@ -14,8 +14,8 @@
aspect = ASPECT_TELE aspect = ASPECT_TELE
var/datum/effect/effect/system/spark_spread/sparks var/datum/effect/effect/system/spark_spread/sparks
/obj/item/weapon/spell/warp_strike/New() /obj/item/weapon/spell/warp_strike/Initialize()
..() . = ..()
sparks = new /datum/effect/effect/system/spark_spread() sparks = new /datum/effect/effect/system/spark_spread()
sparks.set_up(5, 0, src) sparks.set_up(5, 0, src)
sparks.attach(loc) sparks.attach(loc)

View File

@@ -10,8 +10,8 @@
idle_power_usage = 0 idle_power_usage = 0
var/obj/item/device/radio/beacon/Beacon var/obj/item/device/radio/beacon/Beacon
/obj/machinery/bluespace_beacon/New() /obj/machinery/bluespace_beacon/Initialize()
..() . = ..()
var/turf/T = src.loc var/turf/T = src.loc
Beacon = new /obj/item/device/radio/beacon Beacon = new /obj/item/device/radio/beacon
Beacon.invisibility = INVISIBILITY_MAXIMUM Beacon.invisibility = INVISIBILITY_MAXIMUM

View File

@@ -8,10 +8,10 @@
var/max_cable = 100 var/max_cable = 100
var/on = 0 var/on = 0
/obj/machinery/cablelayer/New() /obj/machinery/cablelayer/Initialize()
cable = new(src) cable = new(src)
cable.amount = 100 cable.amount = 100
..() . = ..()
/obj/machinery/cablelayer/Moved(atom/old_loc, direction, forced = FALSE) /obj/machinery/cablelayer/Moved(atom/old_loc, direction, forced = FALSE)
. = ..() . = ..()

View File

@@ -14,8 +14,8 @@
var/strapped = 0.0 var/strapped = 0.0
var/obj/machinery/computer/operating/computer = null var/obj/machinery/computer/operating/computer = null
/obj/machinery/optable/New() /obj/machinery/optable/Initialize()
..() . = ..()
for(var/direction in list(NORTH,EAST,SOUTH,WEST)) for(var/direction in list(NORTH,EAST,SOUTH,WEST))
computer = locate(/obj/machinery/computer/operating, get_step(src, direction)) computer = locate(/obj/machinery/computer/operating, get_step(src, direction))
if(computer) if(computer)

View File

@@ -539,8 +539,8 @@
circuit = /obj/item/weapon/circuitboard/scanner_console circuit = /obj/item/weapon/circuitboard/scanner_console
var/printing = null var/printing = null
/obj/machinery/body_scanconsole/New() /obj/machinery/body_scanconsole/Initialize()
..() . = ..()
findscanner() findscanner()
/obj/machinery/body_scanconsole/Destroy() /obj/machinery/body_scanconsole/Destroy()

View File

@@ -14,8 +14,8 @@
var/cooldown_on = 0 var/cooldown_on = 0
req_access = list(access_ai_upload) req_access = list(access_ai_upload)
/obj/machinery/ai_slipper/New() /obj/machinery/ai_slipper/Initialize()
..() . = ..()
update_icon() update_icon()
/obj/machinery/ai_slipper/power_change() /obj/machinery/ai_slipper/power_change()

View File

@@ -103,6 +103,9 @@
/obj/machinery/alarm/Initialize(mapload) /obj/machinery/alarm/Initialize(mapload)
. = ..() . = ..()
first_run() first_run()
set_frequency(frequency)
if(!master_is_operating())
elect_master()
/obj/machinery/alarm/Destroy() /obj/machinery/alarm/Destroy()
unregister_radio(src, frequency) unregister_radio(src, frequency)
@@ -131,12 +134,6 @@
TLV["pressure"] = list(ONE_ATMOSPHERE * 0.80, ONE_ATMOSPHERE * 0.90, ONE_ATMOSPHERE * 1.10, ONE_ATMOSPHERE * 1.20) /* kpa */ TLV["pressure"] = list(ONE_ATMOSPHERE * 0.80, ONE_ATMOSPHERE * 0.90, ONE_ATMOSPHERE * 1.10, ONE_ATMOSPHERE * 1.20) /* kpa */
TLV["temperature"] = list(T0C - 26, T0C, T0C + 40, T0C + 66) // K TLV["temperature"] = list(T0C - 26, T0C, T0C + 40, T0C + 66) // K
/obj/machinery/alarm/Initialize()
. = ..()
set_frequency(frequency)
if(!master_is_operating())
elect_master()
/obj/machinery/alarm/process() /obj/machinery/alarm/process()
if((stat & (NOPOWER|BROKEN)) || shorted) if((stat & (NOPOWER|BROKEN)) || shorted)
return return

View File

@@ -14,7 +14,7 @@
//Simple variable to prevent me from doing attack_hand in both this and the child computer //Simple variable to prevent me from doing attack_hand in both this and the child computer
var/zone = "This computer is working on a wireless range, the range is currently limited to " var/zone = "This computer is working on a wireless range, the range is currently limited to "
/obj/machinery/computer/area_atmos/Initialize() /obj/machinery/computer/area_atmos/LateInitialize()
. = ..() . = ..()
scanscrubbers() scanscrubbers()

View File

@@ -368,30 +368,30 @@ update_flag
add_fingerprint(usr) add_fingerprint(usr)
update_icon() update_icon()
/obj/machinery/portable_atmospherics/canister/phoron/New() /obj/machinery/portable_atmospherics/canister/phoron/Initialize()
..() . = ..()
src.air_contents.adjust_gas("phoron", MolesForPressure()) src.air_contents.adjust_gas("phoron", MolesForPressure())
src.update_icon() src.update_icon()
return 1 return 1
/obj/machinery/portable_atmospherics/canister/oxygen/New() /obj/machinery/portable_atmospherics/canister/oxygen/Initialize()
..() . = ..()
src.air_contents.adjust_gas("oxygen", MolesForPressure()) src.air_contents.adjust_gas("oxygen", MolesForPressure())
src.update_icon() src.update_icon()
return 1 return 1
/obj/machinery/portable_atmospherics/canister/oxygen/prechilled/New() /obj/machinery/portable_atmospherics/canister/oxygen/prechilled/Initialize()
..() . = ..()
src.air_contents.adjust_gas("oxygen", MolesForPressure()) src.air_contents.adjust_gas("oxygen", MolesForPressure())
src.air_contents.temperature = 80 src.air_contents.temperature = 80
src.update_icon() src.update_icon()
return 1 return 1
/obj/machinery/portable_atmospherics/canister/nitrous_oxide/New() /obj/machinery/portable_atmospherics/canister/nitrous_oxide/Initialize()
..() . = ..()
air_contents.adjust_gas("nitrous_oxide", MolesForPressure()) air_contents.adjust_gas("nitrous_oxide", MolesForPressure())
src.update_icon() src.update_icon()
@@ -407,23 +407,20 @@ update_flag
air_contents = new air_contents = new
return 1 return 1
/obj/machinery/portable_atmospherics/canister/nitrogen/New() /obj/machinery/portable_atmospherics/canister/nitrogen/Initialize()
. = ..()
..()
src.air_contents.adjust_gas("nitrogen", MolesForPressure()) src.air_contents.adjust_gas("nitrogen", MolesForPressure())
src.update_icon() src.update_icon()
return 1 return 1
/obj/machinery/portable_atmospherics/canister/carbon_dioxide/New() /obj/machinery/portable_atmospherics/canister/carbon_dioxide/Initialize()
..() . = ..()
src.air_contents.adjust_gas("carbon_dioxide", MolesForPressure()) src.air_contents.adjust_gas("carbon_dioxide", MolesForPressure())
src.update_icon() src.update_icon()
return 1 return 1
/obj/machinery/portable_atmospherics/canister/air/Initialize()
/obj/machinery/portable_atmospherics/canister/air/New() . = ..()
..()
var/list/air_mix = StandardAirMix() var/list/air_mix = StandardAirMix()
src.air_contents.adjust_multi("oxygen", air_mix["oxygen"], "nitrogen", air_mix["nitrogen"]) src.air_contents.adjust_multi("oxygen", air_mix["oxygen"], "nitrogen", air_mix["nitrogen"])
@@ -432,20 +429,20 @@ update_flag
//R-UST port //R-UST port
// Special types used for engine setup admin verb, they contain double amount of that of normal canister. // Special types used for engine setup admin verb, they contain double amount of that of normal canister.
/obj/machinery/portable_atmospherics/canister/nitrogen/engine_setup/New() /obj/machinery/portable_atmospherics/canister/nitrogen/engine_setup/Initialize()
..() . = ..()
src.air_contents.adjust_gas("nitrogen", MolesForPressure()) src.air_contents.adjust_gas("nitrogen", MolesForPressure())
src.update_icon() src.update_icon()
return 1 return 1
/obj/machinery/portable_atmospherics/canister/carbon_dioxide/engine_setup/New() /obj/machinery/portable_atmospherics/canister/carbon_dioxide/engine_setup/Initialize()
..() . = ..()
src.air_contents.adjust_gas("carbon_dioxide", MolesForPressure()) src.air_contents.adjust_gas("carbon_dioxide", MolesForPressure())
src.update_icon() src.update_icon()
return 1 return 1
/obj/machinery/portable_atmospherics/canister/phoron/engine_setup/New() /obj/machinery/portable_atmospherics/canister/phoron/engine_setup/Initialize()
..() . = ..()
src.air_contents.adjust_gas("phoron", MolesForPressure()) src.air_contents.adjust_gas("phoron", MolesForPressure())
src.update_icon() src.update_icon()
return 1 return 1

View File

@@ -14,8 +14,8 @@
var/datum/pipe_network/network_node1 var/datum/pipe_network/network_node1
var/datum/pipe_network/network_node2 var/datum/pipe_network/network_node2
/obj/machinery/clamp/New(loc, var/obj/machinery/atmospherics/pipe/simple/to_attach = null) /obj/machinery/clamp/Initialize(var/ml, var/obj/machinery/atmospherics/pipe/simple/to_attach = null)
..() . = ..()
if(istype(to_attach)) if(istype(to_attach))
target = to_attach target = to_attach
else else
@@ -23,7 +23,6 @@
if(target) if(target)
update_networks() update_networks()
dir = target.dir dir = target.dir
return 1
/obj/machinery/clamp/proc/update_networks() /obj/machinery/clamp/proc/update_networks()
if(!target) if(!target)

View File

@@ -13,16 +13,10 @@
var/start_pressure = ONE_ATMOSPHERE var/start_pressure = ONE_ATMOSPHERE
var/maximum_pressure = 90 * ONE_ATMOSPHERE var/maximum_pressure = 90 * ONE_ATMOSPHERE
/obj/machinery/portable_atmospherics/New()
..()
air_contents.volume = volume
air_contents.temperature = T20C
return 1
/obj/machinery/portable_atmospherics/Initialize() /obj/machinery/portable_atmospherics/Initialize()
..() ..()
air_contents.volume = volume
air_contents.temperature = T20C
return INITIALIZE_HINT_LATELOAD return INITIALIZE_HINT_LATELOAD
/obj/machinery/portable_atmospherics/LateInitialize() /obj/machinery/portable_atmospherics/LateInitialize()

View File

@@ -21,8 +21,8 @@
/obj/machinery/portable_atmospherics/powered/pump/filled /obj/machinery/portable_atmospherics/powered/pump/filled
start_pressure = 90 * ONE_ATMOSPHERE start_pressure = 90 * ONE_ATMOSPHERE
/obj/machinery/portable_atmospherics/powered/pump/New() /obj/machinery/portable_atmospherics/powered/pump/Initialize()
..() . = ..()
cell = new/obj/item/weapon/cell/apc(src) cell = new/obj/item/weapon/cell/apc(src)
var/list/air_mix = StandardAirMix() var/list/air_mix = StandardAirMix()

View File

@@ -20,8 +20,8 @@
var/list/scrubbing_gas = list("phoron", "carbon_dioxide", "nitrous_oxide", "volatile_fuel") var/list/scrubbing_gas = list("phoron", "carbon_dioxide", "nitrous_oxide", "volatile_fuel")
/obj/machinery/portable_atmospherics/powered/scrubber/New() /obj/machinery/portable_atmospherics/powered/scrubber/Initialize()
..() . = ..()
cell = new/obj/item/weapon/cell/apc(src) cell = new/obj/item/weapon/cell/apc(src)
/obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity) /obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity)
@@ -162,8 +162,8 @@
var/global/gid = 1 var/global/gid = 1
var/id = 0 var/id = 0
/obj/machinery/portable_atmospherics/powered/scrubber/huge/New() /obj/machinery/portable_atmospherics/powered/scrubber/huge/Initialize()
..() . = ..()
cell = null cell = null
id = gid id = gid

View File

@@ -335,7 +335,7 @@
var/matter_amount_per_sheet = 10 var/matter_amount_per_sheet = 10
var/matter_type = MAT_STEEL var/matter_type = MAT_STEEL
/obj/machinery/organ_printer/robot/full/New() /obj/machinery/organ_printer/robot/full/Initialize()
. = ..() . = ..()
stored_matter = max_stored_matter stored_matter = max_stored_matter

View File

@@ -42,7 +42,7 @@
var/list/camera_computers_using_this = list() var/list/camera_computers_using_this = list()
/obj/machinery/camera/New() /obj/machinery/camera/Initialize()
wires = new(src) wires = new(src)
assembly = new(src) assembly = new(src)
assembly.state = 4 assembly.state = 4
@@ -61,7 +61,7 @@
error("[src.name] in [get_area(src)]has errored. [src.network?"Empty network list":"Null network list"]") error("[src.name] in [get_area(src)]has errored. [src.network?"Empty network list":"Null network list"]")
ASSERT(src.network) ASSERT(src.network)
ASSERT(src.network.len > 0) ASSERT(src.network.len > 0)
..() . = ..()
/obj/machinery/camera/Destroy() /obj/machinery/camera/Destroy()
if(isMotion()) if(isMotion())
@@ -180,7 +180,7 @@
else else
assembly.state = 1 assembly.state = 1
to_chat(user, "<span class='notice'>You cut \the [src] free from the wall.</span>") to_chat(user, "<span class='notice'>You cut \the [src] free from the wall.</span>")
new /obj/item/stack/cable_coil(src.loc, length=2) new /obj/item/stack/cable_coil(src.loc, 2)
assembly = null //so qdel doesn't eat it. assembly = null //so qdel doesn't eat it.
qdel(src) qdel(src)

View File

@@ -106,8 +106,8 @@ var/global/list/engineering_networks = list(
// EMP // EMP
/obj/machinery/camera/emp_proof/New() /obj/machinery/camera/emp_proof/Initialize()
..() . = ..()
upgradeEmpProof() upgradeEmpProof()
// X-RAY // X-RAY
@@ -127,14 +127,14 @@ var/global/list/engineering_networks = list(
/obj/machinery/camera/xray/research /obj/machinery/camera/xray/research
network = list(NETWORK_RESEARCH) network = list(NETWORK_RESEARCH)
/obj/machinery/camera/xray/New() /obj/machinery/camera/xray/Initialize()
..() . = ..()
upgradeXRay() upgradeXRay()
// MOTION // MOTION
/obj/machinery/camera/motion/New() /obj/machinery/camera/motion/Initialize()
..() . = ..()
upgradeMotion() upgradeMotion()
/obj/machinery/camera/motion/engineering_outpost /obj/machinery/camera/motion/engineering_outpost
@@ -149,8 +149,8 @@ var/global/list/engineering_networks = list(
/obj/machinery/camera/all/command /obj/machinery/camera/all/command
network = list(NETWORK_COMMAND) network = list(NETWORK_COMMAND)
/obj/machinery/camera/all/New() /obj/machinery/camera/all/Initialize()
..() . = ..()
upgradeEmpProof() upgradeEmpProof()
upgradeXRay() upgradeXRay()
upgradeMotion() upgradeMotion()

View File

@@ -456,8 +456,8 @@
icon_state = "pod_g" icon_state = "pod_g"
/obj/machinery/clonepod/full/New() /obj/machinery/clonepod/full/Initialize()
..() . = ..()
for(var/i = 1 to container_limit) for(var/i = 1 to container_limit)
containers += new /obj/item/weapon/reagent_containers/glass/bottle/biomass(src) containers += new /obj/item/weapon/reagent_containers/glass/bottle/biomass(src)
@@ -499,7 +499,8 @@
name = "data disk - 'God Emperor of Mankind'" name = "data disk - 'God Emperor of Mankind'"
read_only = 1 read_only = 1
/obj/item/weapon/disk/data/demo/New() /obj/item/weapon/disk/data/demo/Initialize()
. = ..()
initializeDisk() initializeDisk()
buf.types=DNA2_BUF_UE|DNA2_BUF_UI buf.types=DNA2_BUF_UE|DNA2_BUF_UI
//data = "066000033000000000AF00330660FF4DB002690" //data = "066000033000000000AF00330660FF4DB002690"
@@ -514,8 +515,8 @@
name = "data disk - 'Mr. Muggles'" name = "data disk - 'Mr. Muggles'"
read_only = 1 read_only = 1
/obj/item/weapon/disk/data/monkey/New() /obj/item/weapon/disk/data/monkey/Initialize()
..() . = ..()
initializeDisk() initializeDisk()
buf.types=DNA2_BUF_SE buf.types=DNA2_BUF_SE
var/list/new_SE=list(0x098,0x3E8,0x403,0x44C,0x39F,0x4B0,0x59D,0x514,0x5FC,0x578,0x5DC,0x640,0x6A4) var/list/new_SE=list(0x098,0x3E8,0x403,0x44C,0x39F,0x4B0,0x59D,0x514,0x5FC,0x578,0x5DC,0x640,0x6A4)
@@ -524,8 +525,8 @@
buf.dna.SE=new_SE buf.dna.SE=new_SE
buf.dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF) buf.dna.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF)
/obj/item/weapon/disk/data/New() /obj/item/weapon/disk/data/Initialize()
..() . = ..()
var/diskcolor = pick(0,1,2) var/diskcolor = pick(0,1,2)
icon_state = "datadisk[diskcolor]" icon_state = "datadisk[diskcolor]"
@@ -545,8 +546,8 @@
name = "Diskette Box" name = "Diskette Box"
icon_state = "disk_kit" icon_state = "disk_kit"
/obj/item/weapon/storage/box/disks/New() /obj/item/weapon/storage/box/disks/Initialize()
..() . = ..()
new /obj/item/weapon/disk/data(src) new /obj/item/weapon/disk/data(src)
new /obj/item/weapon/disk/data(src) new /obj/item/weapon/disk/data(src)
new /obj/item/weapon/disk/data(src) new /obj/item/weapon/disk/data(src)

View File

@@ -20,8 +20,8 @@
var/healthAlarm = 50 var/healthAlarm = 50
var/oxy = 1 //oxygen beeping toggle var/oxy = 1 //oxygen beeping toggle
/obj/machinery/computer/operating/New() /obj/machinery/computer/operating/Initialize()
..() . = ..()
for(var/direction in list(NORTH,EAST,SOUTH,WEST)) for(var/direction in list(NORTH,EAST,SOUTH,WEST))
table = locate(/obj/machinery/optable, get_step(src, direction)) table = locate(/obj/machinery/optable, get_step(src, direction))
if(table) if(table)

View File

@@ -15,8 +15,8 @@
var/current_tag = null var/current_tag = null
var/datum/tgui_module/rcon/rcon var/datum/tgui_module/rcon/rcon
/obj/machinery/computer/rcon/New() /obj/machinery/computer/rcon/Initialize()
..() . = ..()
rcon = new(src) rcon = new(src)
/obj/machinery/computer/rcon/Destroy() /obj/machinery/computer/rcon/Destroy()

View File

@@ -94,8 +94,8 @@
var/blocked = 0 //Player cannot attack/heal while set var/blocked = 0 //Player cannot attack/heal while set
var/turtle = 0 var/turtle = 0
/obj/machinery/computer/arcade/battle/New() /obj/machinery/computer/arcade/battle/Initialize()
..() . = ..()
var/name_action var/name_action
var/name_part1 var/name_part1
var/name_part2 var/name_part2
@@ -347,8 +347,8 @@
var/gameStatus = ORION_STATUS_START var/gameStatus = ORION_STATUS_START
var/canContinueEvent = 0 var/canContinueEvent = 0
/obj/machinery/computer/arcade/orion_trail/New() /obj/machinery/computer/arcade/orion_trail/Initialize()
..() . = ..()
// Sets up the main trail // Sets up the main trail
stops = list("Pluto","Asteroid Belt","Proxima Centauri","Dead Space","Rigel Prime","Tau Ceti Beta","Black Hole","Space Outpost Beta-9","Orion Prime") stops = list("Pluto","Asteroid Belt","Proxima Centauri","Dead Space","Rigel Prime","Tau Ceti Beta","Black Hole","Space Outpost Beta-9","Orion Prime")
stopblurbs = list( stopblurbs = list(
@@ -1237,8 +1237,8 @@
/// End Payment /// End Payment
/obj/machinery/computer/arcade/clawmachine/New() /obj/machinery/computer/arcade/clawmachine/Initialize()
..() . = ..()
/obj/machinery/computer/arcade/clawmachine/attack_hand(mob/living/user) /obj/machinery/computer/arcade/clawmachine/attack_hand(mob/living/user)
if(..()) if(..())

View File

@@ -12,8 +12,8 @@ var/global/list/minor_air_alarms = list()
icon_screen = "alert:0" icon_screen = "alert:0"
light_color = "#e6ffff" light_color = "#e6ffff"
/obj/machinery/computer/atmos_alert/New() /obj/machinery/computer/atmos_alert/Initialize()
..() . = ..()
atmosphere_alarm.register_alarm(src, /atom/proc/update_icon) atmosphere_alarm.register_alarm(src, /atom/proc/update_icon)
/obj/machinery/computer/atmos_alert/Destroy() /obj/machinery/computer/atmos_alert/Destroy()

View File

@@ -15,9 +15,6 @@
var/list/monitored_alarm_ids = null var/list/monitored_alarm_ids = null
var/datum/tgui_module/atmos_control/atmos_control var/datum/tgui_module/atmos_control/atmos_control
/obj/machinery/computer/atmoscontrol/New()
..()
/obj/machinery/computer/atmoscontrol/laptop //[TO DO] Change name to PCU and update mapdata to include replacement computers /obj/machinery/computer/atmoscontrol/laptop //[TO DO] Change name to PCU and update mapdata to include replacement computers
name = "\improper Atmospherics PCU" name = "\improper Atmospherics PCU"
desc = "A personal computer unit. It seems to have only the Atmosphereics Control program installed." desc = "A personal computer unit. It seems to have only the Atmosphereics Control program installed."

View File

@@ -16,9 +16,6 @@
clicksound = "keyboard" clicksound = "keyboard"
/obj/machinery/computer/New()
..()
/obj/machinery/computer/Initialize() /obj/machinery/computer/Initialize()
. = ..() . = ..()
power_change() power_change()

View File

@@ -10,9 +10,9 @@
circuit = /obj/item/weapon/circuitboard/crew circuit = /obj/item/weapon/circuitboard/crew
var/datum/tgui_module/crew_monitor/crew_monitor var/datum/tgui_module/crew_monitor/crew_monitor
/obj/machinery/computer/crew/New() /obj/machinery/computer/crew/Initialize()
crew_monitor = new(src) crew_monitor = new(src)
..() . = ..()
/obj/machinery/computer/crew/Destroy() /obj/machinery/computer/crew/Destroy()
qdel(crew_monitor) qdel(crew_monitor)

View File

@@ -96,8 +96,8 @@
var/list/internal_log = list() var/list/internal_log = list()
var/mode = 0 // 0 - making pass, 1 - viewing logs var/mode = 0 // 0 - making pass, 1 - viewing logs
/obj/machinery/computer/guestpass/New() /obj/machinery/computer/guestpass/Initialize()
..() . = ..()
uid = "[rand(100,999)]-G[rand(10,99)]" uid = "[rand(100,999)]-G[rand(10,99)]"

View File

@@ -7,8 +7,8 @@
circuit = /obj/item/weapon/circuitboard/shutoff_monitor circuit = /obj/item/weapon/circuitboard/shutoff_monitor
var/datum/tgui_module/shutoff_monitor/monitor var/datum/tgui_module/shutoff_monitor/monitor
/obj/machinery/computer/shutoff_monitor/New() /obj/machinery/computer/shutoff_monitor/Initialize()
..() . = ..()
monitor = new(src) monitor = new(src)
/obj/machinery/computer/shutoff_monitor/Destroy() /obj/machinery/computer/shutoff_monitor/Destroy()

Some files were not shown because too many files have changed in this diff Show More