mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-15 04:32:14 +00:00
/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:
@@ -34,8 +34,8 @@ Pipelines + Other Objects -> Pipe network
|
||||
var/obj/machinery/atmospherics/node1
|
||||
var/obj/machinery/atmospherics/node2
|
||||
|
||||
/obj/machinery/atmospherics/New(loc, newdir)
|
||||
..()
|
||||
/obj/machinery/atmospherics/Initialize(var/ml, newdir)
|
||||
. = ..()
|
||||
if(!icon_manager)
|
||||
icon_manager = new()
|
||||
if(!isnull(newdir))
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
var/datum/pipe_network/network1
|
||||
var/datum/pipe_network/network2
|
||||
|
||||
/obj/machinery/atmospherics/binary/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/binary/Initialize()
|
||||
. = ..()
|
||||
|
||||
air1 = new
|
||||
air2 = new
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
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)]."
|
||||
air1.volume = 400
|
||||
|
||||
|
||||
@@ -42,8 +42,10 @@
|
||||
//2: Do not pass input_pressure_min
|
||||
//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
|
||||
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP
|
||||
icon = null
|
||||
@@ -55,8 +57,8 @@
|
||||
/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume
|
||||
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
|
||||
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800
|
||||
|
||||
@@ -194,11 +196,6 @@
|
||||
|
||||
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)
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
|
||||
@@ -27,10 +27,12 @@
|
||||
var/id = null
|
||||
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
|
||||
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/atmospherics/binary/passive_gate/Destroy()
|
||||
unregister_radio(src, frequency)
|
||||
@@ -166,14 +168,8 @@
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal, radio_filter = RADIO_ATMOSIA)
|
||||
|
||||
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)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
|
||||
return 0
|
||||
|
||||
@@ -37,10 +37,12 @@ Thus, the two variables affect pump operation are set in New():
|
||||
var/id = null
|
||||
var/datum/radio_frequency/radio_connection
|
||||
|
||||
/obj/machinery/atmospherics/binary/pump/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/binary/pump/Initialize()
|
||||
. = ..()
|
||||
air1.volume = ATMOS_DEFAULT_VOLUME_PUMP
|
||||
air2.volume = ATMOS_DEFAULT_VOLUME_PUMP
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/atmospherics/binary/pump/Destroy()
|
||||
unregister_radio(src, frequency)
|
||||
@@ -166,11 +168,6 @@ Thus, the two variables affect pump operation are set in New():
|
||||
|
||||
return data
|
||||
|
||||
/obj/machinery/atmospherics/binary/pump/Initialize()
|
||||
. = ..()
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/atmospherics/binary/pump/receive_signal(datum/signal/signal)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
|
||||
return 0
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
|
||||
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()
|
||||
for(var/datum/omni_port/P in ports)
|
||||
P.air.volume = ATMOS_DEFAULT_VOLUME_FILTER
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
var/list/mixing_inputs = list()
|
||||
|
||||
/obj/machinery/atmospherics/omni/mixer/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/omni/mixer/Initialize()
|
||||
. = ..()
|
||||
if(mapper_set())
|
||||
var/con = 0
|
||||
for(var/datum/omni_port/P in ports)
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
var/list/ports = new()
|
||||
|
||||
/obj/machinery/atmospherics/omni/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/omni/Initialize()
|
||||
. = ..()
|
||||
icon_state = "base"
|
||||
|
||||
ports = new()
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
if(frequency)
|
||||
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)
|
||||
if(0) //removing hydrocarbons
|
||||
filtered_out = list("phoron")
|
||||
@@ -56,6 +56,8 @@
|
||||
air1.volume = ATMOS_DEFAULT_VOLUME_FILTER
|
||||
air2.volume = ATMOS_DEFAULT_VOLUME_FILTER
|
||||
air3.volume = ATMOS_DEFAULT_VOLUME_FILTER
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/Destroy()
|
||||
unregister_radio(src, frequency)
|
||||
@@ -106,11 +108,6 @@
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/Initialize()
|
||||
. = ..()
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/attack_hand(user) // -- TLE
|
||||
if(..())
|
||||
return
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
icon_state += "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
|
||||
air2.volume = ATMOS_DEFAULT_VOLUME_MIXER
|
||||
air3.volume = ATMOS_DEFAULT_VOLUME_MIXER * 1.5
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
var/datum/pipe_network/network2
|
||||
var/datum/pipe_network/network3
|
||||
|
||||
/obj/machinery/atmospherics/trinary/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/trinary/Initialize()
|
||||
. = ..()
|
||||
|
||||
air1 = new
|
||||
air2 = new
|
||||
|
||||
@@ -24,9 +24,11 @@
|
||||
|
||||
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.
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/atmospherics/unary/outlet_injector/Destroy()
|
||||
unregister_radio(src, frequency)
|
||||
@@ -122,11 +124,6 @@
|
||||
|
||||
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)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
|
||||
return 0
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
|
||||
var/welded = 0 //defining this here for ventcrawl stuff
|
||||
|
||||
/obj/machinery/atmospherics/unary/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/unary/Initialize()
|
||||
. = ..()
|
||||
air_contents = new
|
||||
|
||||
air_contents.volume = 200
|
||||
|
||||
@@ -78,9 +78,6 @@
|
||||
/obj/machinery/atmospherics/unary/vent_pump/Initialize()
|
||||
. = ..()
|
||||
soundloop = new(list(src), FALSE)
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_pump/New()
|
||||
..()
|
||||
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP
|
||||
|
||||
icon = null
|
||||
@@ -108,8 +105,8 @@
|
||||
icon_connect_type = "-aux"
|
||||
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
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_pump/engine
|
||||
@@ -117,8 +114,8 @@
|
||||
power_channel = ENVIRON
|
||||
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
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_pump/update_icon(var/safety = 0)
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
use_power = USE_POWER_IDLE
|
||||
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
|
||||
|
||||
icon = null
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
buckle_lying = 1
|
||||
|
||||
// BubbleWrap
|
||||
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/Initialize()
|
||||
. = ..()
|
||||
// BubbleWrap END
|
||||
color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default.
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
|
||||
level = 1
|
||||
|
||||
/obj/machinery/atmospherics/pipe/manifold/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/pipe/manifold/Initialize()
|
||||
. = ..()
|
||||
alpha = 255
|
||||
icon = null
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
|
||||
level = 1
|
||||
|
||||
/obj/machinery/atmospherics/pipe/manifold4w/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/pipe/manifold4w/Initialize()
|
||||
. = ..()
|
||||
alpha = 255
|
||||
icon = null
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
/obj/machinery/atmospherics/pipe/drain_power()
|
||||
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))
|
||||
level = 1
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/atmospherics/pipe/hides_under_flooring()
|
||||
return level != 2
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
|
||||
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
|
||||
// be null. For mapping purposes color is defined in the object definitions.
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
pipe_flags = PIPING_DEFAULT_LAYER_ONLY
|
||||
density = 1
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/New()
|
||||
/obj/machinery/atmospherics/pipe/tank/Initialize()
|
||||
icon_state = "air"
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/init_dir()
|
||||
initialize_directions = dir
|
||||
@@ -74,58 +74,49 @@
|
||||
name = "Pressure Tank (Air)"
|
||||
icon_state = "air_map"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/air/New()
|
||||
/obj/machinery/atmospherics/pipe/tank/air/Initialize()
|
||||
air_temporary = new
|
||||
air_temporary.volume = volume
|
||||
air_temporary.temperature = T20C
|
||||
|
||||
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))
|
||||
|
||||
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "air"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/oxygen
|
||||
name = "Pressure Tank (Oxygen)"
|
||||
icon_state = "o2_map"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/oxygen/New()
|
||||
/obj/machinery/atmospherics/pipe/tank/oxygen/Initialize()
|
||||
air_temporary = new
|
||||
air_temporary.volume = volume
|
||||
air_temporary.temperature = T20C
|
||||
|
||||
air_temporary.adjust_gas("oxygen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
|
||||
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "o2"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/nitrogen
|
||||
name = "Pressure Tank (Nitrogen)"
|
||||
icon_state = "n2_map"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/nitrogen/New()
|
||||
/obj/machinery/atmospherics/pipe/tank/nitrogen/Initialize()
|
||||
air_temporary = new
|
||||
air_temporary.volume = volume
|
||||
air_temporary.temperature = T20C
|
||||
|
||||
air_temporary.adjust_gas("nitrogen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
|
||||
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "n2"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/carbon_dioxide
|
||||
name = "Pressure Tank (Carbon Dioxide)"
|
||||
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.volume = volume
|
||||
air_temporary.temperature = T20C
|
||||
|
||||
air_temporary.adjust_gas("carbon_dioxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
|
||||
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "co2"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/phoron
|
||||
@@ -133,26 +124,22 @@
|
||||
icon_state = "phoron_map"
|
||||
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.volume = volume
|
||||
air_temporary.temperature = T20C
|
||||
|
||||
air_temporary.adjust_gas("phoron", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
|
||||
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "phoron"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/tank/nitrous_oxide
|
||||
name = "Pressure Tank (Nitrous Oxide)"
|
||||
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.volume = volume
|
||||
air_temporary.temperature = T0C
|
||||
|
||||
air_temporary.adjust_gas("nitrous_oxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
|
||||
|
||||
..()
|
||||
. = ..()
|
||||
icon_state = "n2o"
|
||||
|
||||
@@ -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)
|
||||
set_light(l_color = color)
|
||||
|
||||
/obj/fire/New(newLoc,fl)
|
||||
..()
|
||||
/obj/fire/Initialize(var/ml, fl)
|
||||
. = ..()
|
||||
|
||||
if(!istype(loc, /turf))
|
||||
qdel(src)
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
|
||||
#define TIMER_ID_NULL -1
|
||||
|
||||
#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize
|
||||
#define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE)
|
||||
#define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE)
|
||||
#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize
|
||||
#define INITIALIZATION_INSSATOMS_LATE 1 //New should not call Initialize; after the first pass is complete (handled differently)
|
||||
#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_LATELOAD 1 //Call LateInitialize
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
if(istype(T,/turf/simulated/shuttle))
|
||||
shuttlework = 1
|
||||
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)
|
||||
|
||||
//Generic non-shuttle turf move.
|
||||
|
||||
@@ -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))
|
||||
shuttlework = 1
|
||||
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)
|
||||
|
||||
//Generic non-shuttle turf move.
|
||||
@@ -1310,8 +1310,9 @@ var/mob/dview/dview_mob = 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()
|
||||
. = ..()
|
||||
// We don't want to be in any mob lists; we're a dummy not a mob.
|
||||
mob_list -= src
|
||||
if(stat == DEAD)
|
||||
|
||||
@@ -12,12 +12,13 @@
|
||||
|
||||
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)
|
||||
my_mob = owner
|
||||
update_abilities(0, owner)
|
||||
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()
|
||||
. = ..()
|
||||
@@ -178,9 +179,9 @@
|
||||
ability_master.toggle_open(1)
|
||||
client.screen -= ability_master
|
||||
|
||||
/mob/New()
|
||||
..()
|
||||
ability_master = new /obj/screen/movable/ability_master(src)
|
||||
/mob/Initialize()
|
||||
. = ..()
|
||||
ability_master = new /obj/screen/movable/ability_master(null, src)
|
||||
|
||||
///////////ACTUAL ABILITIES////////////
|
||||
//This is what you click to do things//
|
||||
|
||||
@@ -622,8 +622,9 @@
|
||||
plane = PLANE_PLAYER_HUD_ABOVE
|
||||
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
|
||||
|
||||
@@ -691,6 +692,9 @@
|
||||
var/obj/screen/mapper/extras_holder/extras_holder
|
||||
|
||||
/obj/screen/movable/mapper_holder/Initialize(mapload, newowner)
|
||||
|
||||
. = ..()
|
||||
|
||||
owner = newowner
|
||||
|
||||
mask_full = new(src) // Full white square mask
|
||||
@@ -778,8 +782,8 @@
|
||||
mouse_opacity = 0
|
||||
var/obj/screen/movable/mapper_holder/parent
|
||||
|
||||
/obj/screen/mapper/New()
|
||||
..()
|
||||
/obj/screen/mapper/Initialize()
|
||||
. = ..()
|
||||
parent = loc
|
||||
|
||||
/obj/screen/mapper/Destroy()
|
||||
|
||||
@@ -251,8 +251,8 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle = new
|
||||
layer = TURF_LAYER
|
||||
plane = TURF_PLANE
|
||||
|
||||
/obj/effect/bgstar/New()
|
||||
..()
|
||||
/obj/effect/bgstar/Initialize()
|
||||
. = ..()
|
||||
pixel_x += rand(-2,30)
|
||||
pixel_y += rand(-2,30)
|
||||
var/starnum = pick("1", "1", "1", "2", "3", "4")
|
||||
|
||||
@@ -8,70 +8,66 @@ SUBSYSTEM_DEF(atoms)
|
||||
init_order = INIT_ORDER_ATOMS
|
||||
flags = SS_NO_FIRE
|
||||
|
||||
var/static/initialized = INITIALIZATION_INSSATOMS
|
||||
// var/list/created_atoms // This is never used, so don't bother. ~Leshana
|
||||
var/static/old_initialized
|
||||
// override and GetArguments() exists for mod-override/downstream hook functionality.
|
||||
// Useful for total-overhaul type modifications.
|
||||
var/adjust_init_arguments = FALSE
|
||||
|
||||
var/atom_init_stage = INITIALIZATION_INSSATOMS
|
||||
var/old_init_stage
|
||||
|
||||
var/list/late_loaders
|
||||
var/list/created_atoms
|
||||
|
||||
var/list/BadInitializeCalls = list()
|
||||
|
||||
/datum/controller/subsystem/atoms/Initialize(timeofday)
|
||||
if(!plant_controller) // Initialize seed repo for /obj/item/seed and /obj/item/weapon/grown
|
||||
plant_controller = new
|
||||
setupgenetics() //to set the mutations' place in structural enzymes, so initializers know where to put mutations.
|
||||
initialized = INITIALIZATION_INNEW_MAPLOAD
|
||||
to_world_log("Initializing objects")
|
||||
admin_notice("<span class='danger'>Initializing objects</span>", R_DEBUG)
|
||||
atom_init_stage = INITIALIZATION_INNEW_MAPLOAD
|
||||
InitializeAtoms()
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/atoms/proc/InitializeAtoms(list/atoms)
|
||||
if(initialized == INITIALIZATION_INSSATOMS)
|
||||
/datum/controller/subsystem/atoms/proc/InitializeAtoms(var/list/supplied_atoms)
|
||||
|
||||
if(atom_init_stage <= INITIALIZATION_INSSATOMS_LATE)
|
||||
return
|
||||
|
||||
initialized = INITIALIZATION_INNEW_MAPLOAD
|
||||
atom_init_stage = INITIALIZATION_INNEW_MAPLOAD
|
||||
|
||||
LAZYINITLIST(late_loaders)
|
||||
|
||||
var/count
|
||||
var/list/mapload_arg = list(TRUE)
|
||||
if(atoms)
|
||||
created_atoms = list()
|
||||
count = atoms.len
|
||||
for(var/I in atoms)
|
||||
var/atom/A = I
|
||||
var/count = LAZYLEN(supplied_atoms)
|
||||
if(count)
|
||||
while(supplied_atoms.len)
|
||||
var/atom/A = supplied_atoms[supplied_atoms.len]
|
||||
supplied_atoms.len--
|
||||
if(!A.initialized)
|
||||
if(InitAtom(I, mapload_arg))
|
||||
atoms -= I
|
||||
InitAtom(A, GetArguments(A, mapload_arg))
|
||||
CHECK_TICK
|
||||
else
|
||||
count = 0
|
||||
for(var/atom/A in world) // This must be world, since this operation adds all the atoms to their specific lists.
|
||||
else if(!subsystem_initialized)
|
||||
// If wondering why not just store all atoms in a list and use the block above: that turns out unbearably expensive.
|
||||
// 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)
|
||||
InitAtom(A, mapload_arg)
|
||||
InitAtom(A, GetArguments(A, mapload_arg, FALSE))
|
||||
++count
|
||||
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)
|
||||
for(var/I in late_loaders)
|
||||
var/atom/A = I
|
||||
A.LateInitialize()
|
||||
CHECK_TICK
|
||||
testing("Late initialized [late_loaders.len] atoms")
|
||||
A.LateInitialize(arglist(late_loaders[A]))
|
||||
report_progress("Late initialized [late_loaders.len] atom\s")
|
||||
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)
|
||||
LAZYREMOVE(global.pre_init_created_atoms, A)
|
||||
var/the_type = A.type
|
||||
if(QDELING(A))
|
||||
BadInitializeCalls[the_type] |= BAD_INIT_QDEL_BEFORE
|
||||
@@ -90,9 +86,9 @@ SUBSYSTEM_DEF(atoms)
|
||||
switch(result)
|
||||
if(INITIALIZE_HINT_LATELOAD)
|
||||
if(arguments[1]) //mapload
|
||||
late_loaders += A
|
||||
late_loaders[A] = arguments
|
||||
else
|
||||
A.LateInitialize()
|
||||
A.LateInitialize(arglist(arguments))
|
||||
if(INITIALIZE_HINT_QDEL)
|
||||
qdel(A)
|
||||
qdeleted = TRUE
|
||||
@@ -106,18 +102,37 @@ SUBSYSTEM_DEF(atoms)
|
||||
|
||||
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()
|
||||
old_initialized = initialized
|
||||
initialized = INITIALIZATION_INSSATOMS
|
||||
old_init_stage = atom_init_stage
|
||||
atom_init_stage = INITIALIZATION_INSSATOMS_LATE
|
||||
|
||||
/datum/controller/subsystem/atoms/proc/map_loader_stop()
|
||||
initialized = old_initialized
|
||||
atom_init_stage = old_init_stage
|
||||
|
||||
/datum/controller/subsystem/atoms/Recover()
|
||||
initialized = SSatoms.initialized
|
||||
if(initialized == INITIALIZATION_INNEW_MAPLOAD)
|
||||
atom_init_stage = SSatoms.atom_init_stage
|
||||
if(atom_init_stage == INITIALIZATION_INNEW_MAPLOAD)
|
||||
InitializeAtoms()
|
||||
old_initialized = SSatoms.old_initialized
|
||||
old_init_stage = SSatoms.old_init_stage
|
||||
BadInitializeCalls = SSatoms.BadInitializeCalls
|
||||
|
||||
/datum/controller/subsystem/atoms/proc/InitLog()
|
||||
|
||||
@@ -87,17 +87,6 @@ SUBSYSTEM_DEF(open_space)
|
||||
// log_debug("[T] ([T.x],[T.y],[T.z]) queued for update for [src].update_icon()")
|
||||
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.
|
||||
/obj/Destroy()
|
||||
if(GLOB.open_space_initialised && !invisibility && isturf(loc))
|
||||
|
||||
@@ -425,7 +425,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
if(new_char)
|
||||
qdel(player)
|
||||
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)
|
||||
|
||||
// If they're a carbon, they can get manifested
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
name = "Initializing..."
|
||||
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
|
||||
src.target = target
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@
|
||||
/obj/item/weapon/soap/deluxe
|
||||
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")]."
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/soap/syndie
|
||||
desc = "An untrustworthy bar of soap. Smells of fear."
|
||||
@@ -363,10 +363,10 @@
|
||||
drop_sound = 'sound/items/drop/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_y = rand(-5.0, 5)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/stock_parts/get_rating()
|
||||
return rating
|
||||
@@ -390,7 +390,7 @@
|
||||
var/charge = 0
|
||||
var/max_charge = 1000
|
||||
|
||||
/obj/item/weapon/stock_parts/capacitor/New()
|
||||
/obj/item/weapon/stock_parts/capacitor/Initialize()
|
||||
. = ..()
|
||||
max_charge *= rating
|
||||
|
||||
|
||||
@@ -1831,24 +1831,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
icon_state = "Tactical"
|
||||
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
|
||||
name = "\improper Vault"
|
||||
icon_state = "nuke_storage"
|
||||
|
||||
@@ -2,17 +2,12 @@
|
||||
name = "AI Monitored Area"
|
||||
var/obj/machinery/camera/motioncamera = null
|
||||
|
||||
|
||||
/area/ai_monitored/New()
|
||||
..()
|
||||
// locate and store the motioncamera
|
||||
spawn (20) // spawn on a delay to let turfs/objs load
|
||||
for (var/obj/machinery/camera/M in src)
|
||||
if(M.isMotion())
|
||||
motioncamera = M
|
||||
M.area_motion = src
|
||||
return
|
||||
return
|
||||
/area/ai_monitored/LateInitialize()
|
||||
. = ..()
|
||||
for(var/obj/machinery/camera/M in src)
|
||||
if(M.isMotion())
|
||||
motioncamera = M
|
||||
M.area_motion = src
|
||||
|
||||
/area/ai_monitored/Entered(atom/movable/O)
|
||||
..()
|
||||
@@ -22,5 +17,3 @@
|
||||
/area/ai_monitored/Exited(atom/movable/O)
|
||||
if (ismob(O) && motioncamera)
|
||||
motioncamera.lostTarget(O)
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
var/debug = 0
|
||||
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?
|
||||
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/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()
|
||||
. = ..()
|
||||
luminosity = !(dynamic_lighting)
|
||||
icon_state = ""
|
||||
return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms.
|
||||
|
||||
/area/LateInitialize()
|
||||
@@ -67,6 +70,10 @@
|
||||
if(no_spoilers)
|
||||
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.
|
||||
// Area is expected to be a non-null instance.
|
||||
/proc/ChangeArea(var/turf/T, var/area/A)
|
||||
|
||||
@@ -43,27 +43,22 @@
|
||||
/// The chat color var, without alpha.
|
||||
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, ...)
|
||||
// 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()
|
||||
global._preloader.load(src)
|
||||
|
||||
// During dynamic mapload (reader.dm) this assigns the var overrides from the .dmm file
|
||||
// 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()
|
||||
_preloader.load(src)
|
||||
|
||||
// Pass our arguments to InitAtom so they can be passed to initialize(), but replace 1st with if-we're-during-mapload.
|
||||
var/do_initialize = SSatoms.initialized
|
||||
if(do_initialize > INITIALIZATION_INSSATOMS)
|
||||
args[1] = (do_initialize == INITIALIZATION_INNEW_MAPLOAD)
|
||||
if(SSatoms.InitAtom(src, args))
|
||||
// We were deleted. No sense continuing
|
||||
return
|
||||
|
||||
// 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
|
||||
var/do_initialize = SSatoms?.atom_init_stage
|
||||
if(do_initialize > INITIALIZATION_INSSATOMS_LATE)
|
||||
args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD
|
||||
SSatoms.InitAtom(src, args)
|
||||
else
|
||||
var/list/argument_list
|
||||
if(length(args) > 1)
|
||||
argument_list = args.Copy(2)
|
||||
if(length(argument_list))
|
||||
LAZYSET(global.pre_init_created_atoms, src, argument_list)
|
||||
|
||||
// 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
|
||||
@@ -75,6 +70,8 @@
|
||||
// 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
|
||||
/atom/proc/Initialize(mapload, ...)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
if(QDELETED(src))
|
||||
crash_with("GC: -- [type] had initialize() called after qdel() --")
|
||||
if(initialized)
|
||||
|
||||
@@ -413,6 +413,7 @@
|
||||
src.throw_impact(A,speed)
|
||||
|
||||
/atom/movable/proc/throw_at(atom/target, range, speed, thrower)
|
||||
set waitfor = FALSE
|
||||
if(!target || !src)
|
||||
return 0
|
||||
if(target.z != src.z)
|
||||
@@ -504,10 +505,10 @@
|
||||
var/atom/master = null
|
||||
anchored = 1
|
||||
|
||||
/atom/movable/overlay/New()
|
||||
/atom/movable/overlay/Initialize()
|
||||
for(var/x in src.verbs)
|
||||
src.verbs -= x
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/atom/movable/overlay/attackby(a, b)
|
||||
if (src.master)
|
||||
|
||||
@@ -88,7 +88,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
||||
verbs.Add(P.verbpath)
|
||||
if(P.make_hud_button)
|
||||
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(
|
||||
object_given = src,
|
||||
verb_given = P.verbpath,
|
||||
|
||||
@@ -344,7 +344,7 @@ var/list/datum/power/changeling/powerinstances = list()
|
||||
|
||||
if(Thepower.make_hud_button && Thepower.isVerb)
|
||||
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(
|
||||
object_given = M.current,
|
||||
verb_given = Thepower.verbpath,
|
||||
|
||||
@@ -65,8 +65,8 @@
|
||||
defend_chance = 40 // The base chance for the weapon to parry.
|
||||
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)
|
||||
if(ismob(loc))
|
||||
visible_message("<span class='warning'>A grotesque weapon forms around [loc.name]\'s arm!</span>",
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //No armor at all.
|
||||
canremove = 0
|
||||
|
||||
/obj/item/clothing/suit/space/changeling/New()
|
||||
..()
|
||||
/obj/item/clothing/suit/space/changeling/Initialize()
|
||||
. = ..()
|
||||
if(ismob(loc))
|
||||
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>",
|
||||
@@ -105,8 +105,8 @@
|
||||
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
|
||||
slowdown = 1.5
|
||||
|
||||
/obj/item/clothing/suit/space/changeling/armored/New()
|
||||
..()
|
||||
/obj/item/clothing/suit/space/changeling/armored/Initialize()
|
||||
. = ..()
|
||||
if(ismob(loc))
|
||||
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>",
|
||||
|
||||
@@ -113,7 +113,8 @@
|
||||
agony_amount = 80
|
||||
electrocute_amount = 20
|
||||
|
||||
/obj/item/weapon/electric_hand/New()
|
||||
/obj/item/weapon/electric_hand/Initialize()
|
||||
. = ..()
|
||||
if(ismob(loc))
|
||||
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>",
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
icon_state = "electric_hand"
|
||||
show_examine = FALSE
|
||||
|
||||
/obj/item/weapon/finger_lockpick/New()
|
||||
/obj/item/weapon/finger_lockpick/Initialize()
|
||||
. = ..()
|
||||
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>")
|
||||
|
||||
|
||||
@@ -264,12 +264,10 @@ var/global/list/changeling_fabricated_clothing = list(
|
||||
access = null
|
||||
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()
|
||||
. = ..()
|
||||
if(ismob(loc))
|
||||
registered_user = loc
|
||||
access = null
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/changeling/verb/shred()
|
||||
|
||||
@@ -439,16 +439,9 @@
|
||||
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.
|
||||
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.
|
||||
|
||||
/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.
|
||||
return
|
||||
|
||||
|
||||
@@ -154,6 +154,7 @@
|
||||
return
|
||||
|
||||
/obj/effect/gateway/active/Initialize()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/spawn_and_qdel), rand(30, 60) SECONDS)
|
||||
|
||||
/obj/effect/gateway/active/proc/spawn_and_qdel()
|
||||
|
||||
@@ -16,8 +16,8 @@ var/global/list/narsie_list = list()
|
||||
consume_range = 3 //How many tiles out do we eat
|
||||
|
||||
|
||||
/obj/singularity/narsie/New()
|
||||
..()
|
||||
/obj/singularity/narsie/Initialize()
|
||||
. = ..()
|
||||
narsie_list.Add(src)
|
||||
|
||||
/obj/singularity/narsie/Destroy()
|
||||
@@ -40,8 +40,8 @@ var/global/list/narsie_list = list()
|
||||
var/announce=1
|
||||
var/cause_hell = 1
|
||||
|
||||
/obj/singularity/narsie/large/New()
|
||||
..()
|
||||
/obj/singularity/narsie/large/Initialize()
|
||||
. = ..()
|
||||
if(announce)
|
||||
to_world("<font size='15' color='red'><b>[uppertext(name)] HAS RISEN</b></font>")
|
||||
world << sound('sound/effects/weather/wind/wind_5_1.ogg')
|
||||
@@ -358,6 +358,7 @@ var/global/list/narsie_list = list()
|
||||
consume(T)
|
||||
|
||||
/obj/singularity/narsie/proc/narsie_spawn_animation()
|
||||
set waitfor = FALSE
|
||||
icon = 'icons/obj/narsie_spawn_anim.dmi'
|
||||
dir = SOUTH
|
||||
move_self = 0
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
|
||||
consume_range = 6
|
||||
|
||||
/obj/singularity/narsie/large/exit/New()
|
||||
..()
|
||||
/obj/singularity/narsie/large/exit/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/singularity/narsie/large/exit/update_icon()
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
density = 0
|
||||
anchored = 1
|
||||
|
||||
/obj/effect/bhole/New()
|
||||
spawn(4)
|
||||
controller()
|
||||
/obj/effect/bhole/Initialize()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/controller), 4)
|
||||
|
||||
/obj/effect/bhole/proc/controller()
|
||||
while(src)
|
||||
|
||||
@@ -23,9 +23,6 @@
|
||||
desc = "Directions for use: Requires two people, one to pull each end."
|
||||
var/cracked = 0
|
||||
|
||||
/obj/item/weapon/toy/xmas_cracker/New()
|
||||
..()
|
||||
|
||||
/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)
|
||||
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>")
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
. = ..()
|
||||
z_original = z
|
||||
GLOB.meteor_list += src
|
||||
SpinAnimation()
|
||||
|
||||
/obj/effect/meteor/Move()
|
||||
if(z != z_original || loc == dest)
|
||||
@@ -151,10 +152,6 @@
|
||||
GLOB.meteor_list -= src
|
||||
return ..()
|
||||
|
||||
/obj/effect/meteor/New()
|
||||
..()
|
||||
SpinAnimation()
|
||||
|
||||
/obj/effect/meteor/Bump(atom/A)
|
||||
if(A)
|
||||
if(A.handle_meteor_impact(src)) // Used for special behaviour when getting hit specifically by a meteor, like a shield.
|
||||
|
||||
@@ -62,8 +62,8 @@ var/list/all_technomancer_assistance = typesof(/datum/technomancer/assistance) -
|
||||
// Proc: New()
|
||||
// Parameters: 0
|
||||
// Description: Sets up the catalog, as shown below.
|
||||
/obj/item/weapon/technomancer_catalog/New()
|
||||
..()
|
||||
/obj/item/weapon/technomancer_catalog/Initialize()
|
||||
. = ..()
|
||||
set_up()
|
||||
|
||||
// Proc: set_up()
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
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.
|
||||
|
||||
/obj/item/weapon/technomancer_core/New()
|
||||
..()
|
||||
/obj/item/weapon/technomancer_core/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/weapon/technomancer_core/Destroy()
|
||||
@@ -141,9 +141,10 @@
|
||||
var/obj/item/weapon/technomancer_core/core = 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))
|
||||
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)
|
||||
src.name = new_name
|
||||
src.spellpath = path
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
wearer.custom_pain("Your hands hurt like hell!",1)
|
||||
wearer = null
|
||||
|
||||
/obj/item/clothing/gloves/regen/New()
|
||||
/obj/item/clothing/gloves/regen/Initialize()
|
||||
START_PROCESSING(SSobj, src)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/item/clothing/gloves/regen/Destroy()
|
||||
wearer = null
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = null
|
||||
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.set_up(5, 0, src)
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
name = "hypo belt"
|
||||
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/burn(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/organ(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/combat(src)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/datum/technomancer/equipment/belt_of_holding
|
||||
name = "Belt of Holding"
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
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/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()
|
||||
// Parameters: 1 (user - the technomancer casting the spell)
|
||||
@@ -110,18 +111,18 @@
|
||||
// Proc: New()
|
||||
// Parameters: 0
|
||||
// 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))
|
||||
owner = loc
|
||||
if(owner)
|
||||
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>")
|
||||
qdel(src)
|
||||
return
|
||||
// if(istype(/obj/item/weapon/technomancer_core, owner.back))
|
||||
// core = owner.back
|
||||
return INITIALIZE_HINT_QDEL
|
||||
else
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
update_icon()
|
||||
|
||||
// Proc: Destroy()
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
aspect = ASPECT_CHROMATIC
|
||||
var/glow_color = "#FFFFFF"
|
||||
|
||||
/obj/item/weapon/spell/aura/New()
|
||||
..()
|
||||
/obj/item/weapon/spell/aura/Initialize()
|
||||
. = ..()
|
||||
set_light(7, 4, l_color = glow_color)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
aspect = null
|
||||
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)
|
||||
START_PROCESSING(SSobj, src)
|
||||
log_and_message_admins("has started casting [src].")
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
aspect = ASPECT_LIGHT
|
||||
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)
|
||||
|
||||
/obj/effect/temporary_effect/chroma
|
||||
|
||||
@@ -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/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)
|
||||
|
||||
/obj/item/weapon/spell/energy_siphon/Destroy()
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
aspect = ASPECT_FIRE
|
||||
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")
|
||||
visible_message("<span class='warning'>\The [loc]'s hand begins to emit a flame.</span>")
|
||||
welder = new /obj/item/weapon/weldingtool/spell(src)
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
var/obj/item/weapon/inserted_spell/inserting = null
|
||||
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)
|
||||
|
||||
/obj/item/weapon/inserted_spell
|
||||
@@ -20,9 +20,9 @@
|
||||
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/weapon/inserted_spell/New(var/newloc, var/user, var/obj/item/weapon/spell/insert/inserter)
|
||||
..(newloc)
|
||||
host = newloc
|
||||
/obj/item/weapon/inserted_spell/Initialize(var/ml, var/user, var/obj/item/weapon/spell/insert/inserter)
|
||||
. = ..()
|
||||
host = loc
|
||||
origin = user
|
||||
if(light_color)
|
||||
spawn(1)
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
cast_methods = CAST_USE
|
||||
aspect = ASPECT_UNSTABLE
|
||||
|
||||
/obj/item/weapon/spell/instability_tap/New()
|
||||
..()
|
||||
/obj/item/weapon/spell/instability_tap/Initialize()
|
||||
. = ..()
|
||||
set_light(3, 2, l_color = "#FA58F4")
|
||||
|
||||
/obj/item/weapon/spell/instability_tap/on_use_cast(mob/user)
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
var/spell_light_intensity = 2
|
||||
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)
|
||||
|
||||
/obj/item/weapon/spell/modifier/on_melee_cast(atom/hit_atom, mob/user)
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
cast_methods = CAST_USE
|
||||
aspect = ASPECT_TELE
|
||||
|
||||
/obj/item/weapon/spell/phase_shift/New()
|
||||
..()
|
||||
/obj/item/weapon/spell/phase_shift/Initialize()
|
||||
. = ..()
|
||||
set_light(3, 2, l_color = "#FA58F4")
|
||||
|
||||
/obj/effect/phase_shift
|
||||
@@ -28,8 +28,8 @@
|
||||
/obj/effect/phase_shift/ex_act()
|
||||
return
|
||||
|
||||
/obj/effect/phase_shift/New()
|
||||
..()
|
||||
/obj/effect/phase_shift/Initialize()
|
||||
. = ..()
|
||||
set_light(3, 5, l_color = "#FA58F4")
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
var/power = 250
|
||||
toggled = 1
|
||||
|
||||
/obj/item/weapon/spell/radiance/New()
|
||||
..()
|
||||
/obj/item/weapon/spell/radiance/Initialize()
|
||||
. = ..()
|
||||
set_light(7, 4, l_color = "#D9D900")
|
||||
START_PROCESSING(SSobj, src)
|
||||
log_and_message_admins("has casted [src].")
|
||||
|
||||
@@ -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/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")
|
||||
spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src)
|
||||
|
||||
@@ -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/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")
|
||||
spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src)
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
adjust_instability(4)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/spell/spawner/darkness/New()
|
||||
..()
|
||||
/obj/item/weapon/spell/spawner/darkness/Initialize()
|
||||
. = ..()
|
||||
set_light(6, -20, l_color = "#FFFFFF")
|
||||
|
||||
/obj/effect/temporary_effect/darkness
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
aspect = ASPECT_UNSTABLE
|
||||
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")
|
||||
|
||||
/obj/item/weapon/spell/spawner/destablize/on_ranged_cast(atom/hit_atom, mob/user)
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
aspect = ASPECT_EMP
|
||||
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")
|
||||
|
||||
/obj/item/weapon/spell/spawner/pulsar/on_ranged_cast(atom/hit_atom, mob/user)
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
aspect = ASPECT_TELE
|
||||
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.set_up(5, 0, src)
|
||||
sparks.attach(loc)
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
idle_power_usage = 0
|
||||
var/obj/item/device/radio/beacon/Beacon
|
||||
|
||||
/obj/machinery/bluespace_beacon/New()
|
||||
..()
|
||||
/obj/machinery/bluespace_beacon/Initialize()
|
||||
. = ..()
|
||||
var/turf/T = src.loc
|
||||
Beacon = new /obj/item/device/radio/beacon
|
||||
Beacon.invisibility = INVISIBILITY_MAXIMUM
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
var/max_cable = 100
|
||||
var/on = 0
|
||||
|
||||
/obj/machinery/cablelayer/New()
|
||||
/obj/machinery/cablelayer/Initialize()
|
||||
cable = new(src)
|
||||
cable.amount = 100
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/cablelayer/Moved(atom/old_loc, direction, forced = FALSE)
|
||||
. = ..()
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
var/strapped = 0.0
|
||||
var/obj/machinery/computer/operating/computer = null
|
||||
|
||||
/obj/machinery/optable/New()
|
||||
..()
|
||||
/obj/machinery/optable/Initialize()
|
||||
. = ..()
|
||||
for(var/direction in list(NORTH,EAST,SOUTH,WEST))
|
||||
computer = locate(/obj/machinery/computer/operating, get_step(src, direction))
|
||||
if(computer)
|
||||
|
||||
@@ -539,8 +539,8 @@
|
||||
circuit = /obj/item/weapon/circuitboard/scanner_console
|
||||
var/printing = null
|
||||
|
||||
/obj/machinery/body_scanconsole/New()
|
||||
..()
|
||||
/obj/machinery/body_scanconsole/Initialize()
|
||||
. = ..()
|
||||
findscanner()
|
||||
|
||||
/obj/machinery/body_scanconsole/Destroy()
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
var/cooldown_on = 0
|
||||
req_access = list(access_ai_upload)
|
||||
|
||||
/obj/machinery/ai_slipper/New()
|
||||
..()
|
||||
/obj/machinery/ai_slipper/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/ai_slipper/power_change()
|
||||
|
||||
@@ -103,6 +103,9 @@
|
||||
/obj/machinery/alarm/Initialize(mapload)
|
||||
. = ..()
|
||||
first_run()
|
||||
set_frequency(frequency)
|
||||
if(!master_is_operating())
|
||||
elect_master()
|
||||
|
||||
/obj/machinery/alarm/Destroy()
|
||||
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["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()
|
||||
if((stat & (NOPOWER|BROKEN)) || shorted)
|
||||
return
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
//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 "
|
||||
|
||||
/obj/machinery/computer/area_atmos/Initialize()
|
||||
/obj/machinery/computer/area_atmos/LateInitialize()
|
||||
. = ..()
|
||||
scanscrubbers()
|
||||
|
||||
|
||||
@@ -368,30 +368,30 @@ update_flag
|
||||
add_fingerprint(usr)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/phoron/New()
|
||||
..()
|
||||
/obj/machinery/portable_atmospherics/canister/phoron/Initialize()
|
||||
. = ..()
|
||||
|
||||
src.air_contents.adjust_gas("phoron", MolesForPressure())
|
||||
src.update_icon()
|
||||
return 1
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen/New()
|
||||
..()
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen/Initialize()
|
||||
. = ..()
|
||||
|
||||
src.air_contents.adjust_gas("oxygen", MolesForPressure())
|
||||
src.update_icon()
|
||||
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.temperature = 80
|
||||
src.update_icon()
|
||||
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())
|
||||
src.update_icon()
|
||||
@@ -407,23 +407,20 @@ update_flag
|
||||
air_contents = new
|
||||
return 1
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen/New()
|
||||
|
||||
..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen/Initialize()
|
||||
. = ..()
|
||||
src.air_contents.adjust_gas("nitrogen", MolesForPressure())
|
||||
src.update_icon()
|
||||
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.update_icon()
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/air/New()
|
||||
..()
|
||||
/obj/machinery/portable_atmospherics/canister/air/Initialize()
|
||||
. = ..()
|
||||
var/list/air_mix = StandardAirMix()
|
||||
src.air_contents.adjust_multi("oxygen", air_mix["oxygen"], "nitrogen", air_mix["nitrogen"])
|
||||
|
||||
@@ -432,20 +429,20 @@ update_flag
|
||||
|
||||
//R-UST port
|
||||
// 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.update_icon()
|
||||
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.update_icon()
|
||||
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.update_icon()
|
||||
return 1
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
var/datum/pipe_network/network_node1
|
||||
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))
|
||||
target = to_attach
|
||||
else
|
||||
@@ -23,7 +23,6 @@
|
||||
if(target)
|
||||
update_networks()
|
||||
dir = target.dir
|
||||
return 1
|
||||
|
||||
/obj/machinery/clamp/proc/update_networks()
|
||||
if(!target)
|
||||
|
||||
@@ -13,16 +13,10 @@
|
||||
var/start_pressure = 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()
|
||||
..()
|
||||
air_contents.volume = volume
|
||||
air_contents.temperature = T20C
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/machinery/portable_atmospherics/LateInitialize()
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
/obj/machinery/portable_atmospherics/powered/pump/filled
|
||||
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)
|
||||
|
||||
var/list/air_mix = StandardAirMix()
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
|
||||
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)
|
||||
|
||||
/obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity)
|
||||
@@ -162,8 +162,8 @@
|
||||
var/global/gid = 1
|
||||
var/id = 0
|
||||
|
||||
/obj/machinery/portable_atmospherics/powered/scrubber/huge/New()
|
||||
..()
|
||||
/obj/machinery/portable_atmospherics/powered/scrubber/huge/Initialize()
|
||||
. = ..()
|
||||
cell = null
|
||||
|
||||
id = gid
|
||||
|
||||
@@ -335,7 +335,7 @@
|
||||
var/matter_amount_per_sheet = 10
|
||||
var/matter_type = MAT_STEEL
|
||||
|
||||
/obj/machinery/organ_printer/robot/full/New()
|
||||
/obj/machinery/organ_printer/robot/full/Initialize()
|
||||
. = ..()
|
||||
stored_matter = max_stored_matter
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
var/list/camera_computers_using_this = list()
|
||||
|
||||
/obj/machinery/camera/New()
|
||||
/obj/machinery/camera/Initialize()
|
||||
wires = new(src)
|
||||
assembly = new(src)
|
||||
assembly.state = 4
|
||||
@@ -61,7 +61,7 @@
|
||||
error("[src.name] in [get_area(src)]has errored. [src.network?"Empty network list":"Null network list"]")
|
||||
ASSERT(src.network)
|
||||
ASSERT(src.network.len > 0)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/camera/Destroy()
|
||||
if(isMotion())
|
||||
@@ -180,7 +180,7 @@
|
||||
else
|
||||
assembly.state = 1
|
||||
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.
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -106,8 +106,8 @@ var/global/list/engineering_networks = list(
|
||||
|
||||
// EMP
|
||||
|
||||
/obj/machinery/camera/emp_proof/New()
|
||||
..()
|
||||
/obj/machinery/camera/emp_proof/Initialize()
|
||||
. = ..()
|
||||
upgradeEmpProof()
|
||||
|
||||
// X-RAY
|
||||
@@ -127,14 +127,14 @@ var/global/list/engineering_networks = list(
|
||||
/obj/machinery/camera/xray/research
|
||||
network = list(NETWORK_RESEARCH)
|
||||
|
||||
/obj/machinery/camera/xray/New()
|
||||
..()
|
||||
/obj/machinery/camera/xray/Initialize()
|
||||
. = ..()
|
||||
upgradeXRay()
|
||||
|
||||
// MOTION
|
||||
|
||||
/obj/machinery/camera/motion/New()
|
||||
..()
|
||||
/obj/machinery/camera/motion/Initialize()
|
||||
. = ..()
|
||||
upgradeMotion()
|
||||
|
||||
/obj/machinery/camera/motion/engineering_outpost
|
||||
@@ -149,8 +149,8 @@ var/global/list/engineering_networks = list(
|
||||
/obj/machinery/camera/all/command
|
||||
network = list(NETWORK_COMMAND)
|
||||
|
||||
/obj/machinery/camera/all/New()
|
||||
..()
|
||||
/obj/machinery/camera/all/Initialize()
|
||||
. = ..()
|
||||
upgradeEmpProof()
|
||||
upgradeXRay()
|
||||
upgradeMotion()
|
||||
|
||||
@@ -456,8 +456,8 @@
|
||||
icon_state = "pod_g"
|
||||
|
||||
|
||||
/obj/machinery/clonepod/full/New()
|
||||
..()
|
||||
/obj/machinery/clonepod/full/Initialize()
|
||||
. = ..()
|
||||
for(var/i = 1 to container_limit)
|
||||
containers += new /obj/item/weapon/reagent_containers/glass/bottle/biomass(src)
|
||||
|
||||
@@ -499,7 +499,8 @@
|
||||
name = "data disk - 'God Emperor of Mankind'"
|
||||
read_only = 1
|
||||
|
||||
/obj/item/weapon/disk/data/demo/New()
|
||||
/obj/item/weapon/disk/data/demo/Initialize()
|
||||
. = ..()
|
||||
initializeDisk()
|
||||
buf.types=DNA2_BUF_UE|DNA2_BUF_UI
|
||||
//data = "066000033000000000AF00330660FF4DB002690"
|
||||
@@ -514,8 +515,8 @@
|
||||
name = "data disk - 'Mr. Muggles'"
|
||||
read_only = 1
|
||||
|
||||
/obj/item/weapon/disk/data/monkey/New()
|
||||
..()
|
||||
/obj/item/weapon/disk/data/monkey/Initialize()
|
||||
. = ..()
|
||||
initializeDisk()
|
||||
buf.types=DNA2_BUF_SE
|
||||
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.SetSEValueRange(MONKEYBLOCK,0xDAC, 0xFFF)
|
||||
|
||||
/obj/item/weapon/disk/data/New()
|
||||
..()
|
||||
/obj/item/weapon/disk/data/Initialize()
|
||||
. = ..()
|
||||
var/diskcolor = pick(0,1,2)
|
||||
icon_state = "datadisk[diskcolor]"
|
||||
|
||||
@@ -545,8 +546,8 @@
|
||||
name = "Diskette Box"
|
||||
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)
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
var/healthAlarm = 50
|
||||
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))
|
||||
table = locate(/obj/machinery/optable, get_step(src, direction))
|
||||
if(table)
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
var/current_tag = null
|
||||
var/datum/tgui_module/rcon/rcon
|
||||
|
||||
/obj/machinery/computer/rcon/New()
|
||||
..()
|
||||
/obj/machinery/computer/rcon/Initialize()
|
||||
. = ..()
|
||||
rcon = new(src)
|
||||
|
||||
/obj/machinery/computer/rcon/Destroy()
|
||||
|
||||
@@ -94,8 +94,8 @@
|
||||
var/blocked = 0 //Player cannot attack/heal while set
|
||||
var/turtle = 0
|
||||
|
||||
/obj/machinery/computer/arcade/battle/New()
|
||||
..()
|
||||
/obj/machinery/computer/arcade/battle/Initialize()
|
||||
. = ..()
|
||||
var/name_action
|
||||
var/name_part1
|
||||
var/name_part2
|
||||
@@ -347,8 +347,8 @@
|
||||
var/gameStatus = ORION_STATUS_START
|
||||
var/canContinueEvent = 0
|
||||
|
||||
/obj/machinery/computer/arcade/orion_trail/New()
|
||||
..()
|
||||
/obj/machinery/computer/arcade/orion_trail/Initialize()
|
||||
. = ..()
|
||||
// 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")
|
||||
stopblurbs = list(
|
||||
@@ -1237,8 +1237,8 @@
|
||||
|
||||
/// End Payment
|
||||
|
||||
/obj/machinery/computer/arcade/clawmachine/New()
|
||||
..()
|
||||
/obj/machinery/computer/arcade/clawmachine/Initialize()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/computer/arcade/clawmachine/attack_hand(mob/living/user)
|
||||
if(..())
|
||||
|
||||
@@ -12,8 +12,8 @@ var/global/list/minor_air_alarms = list()
|
||||
icon_screen = "alert:0"
|
||||
light_color = "#e6ffff"
|
||||
|
||||
/obj/machinery/computer/atmos_alert/New()
|
||||
..()
|
||||
/obj/machinery/computer/atmos_alert/Initialize()
|
||||
. = ..()
|
||||
atmosphere_alarm.register_alarm(src, /atom/proc/update_icon)
|
||||
|
||||
/obj/machinery/computer/atmos_alert/Destroy()
|
||||
|
||||
@@ -15,9 +15,6 @@
|
||||
var/list/monitored_alarm_ids = null
|
||||
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
|
||||
name = "\improper Atmospherics PCU"
|
||||
desc = "A personal computer unit. It seems to have only the Atmosphereics Control program installed."
|
||||
|
||||
@@ -16,9 +16,6 @@
|
||||
|
||||
clicksound = "keyboard"
|
||||
|
||||
/obj/machinery/computer/New()
|
||||
..()
|
||||
|
||||
/obj/machinery/computer/Initialize()
|
||||
. = ..()
|
||||
power_change()
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
circuit = /obj/item/weapon/circuitboard/crew
|
||||
var/datum/tgui_module/crew_monitor/crew_monitor
|
||||
|
||||
/obj/machinery/computer/crew/New()
|
||||
/obj/machinery/computer/crew/Initialize()
|
||||
crew_monitor = new(src)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/computer/crew/Destroy()
|
||||
qdel(crew_monitor)
|
||||
|
||||
@@ -96,8 +96,8 @@
|
||||
var/list/internal_log = list()
|
||||
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)]"
|
||||
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
circuit = /obj/item/weapon/circuitboard/shutoff_monitor
|
||||
var/datum/tgui_module/shutoff_monitor/monitor
|
||||
|
||||
/obj/machinery/computer/shutoff_monitor/New()
|
||||
..()
|
||||
/obj/machinery/computer/shutoff_monitor/Initialize()
|
||||
. = ..()
|
||||
monitor = new(src)
|
||||
|
||||
/obj/machinery/computer/shutoff_monitor/Destroy()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user