mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 19:22:56 +00:00
Merge remote-tracking branch 'upstream/dev' into BorgModules
Conflicts: code/game/objects/items/robot/robot_upgrades.dm code/modules/mob/living/silicon/ai/subsystems.dm code/modules/mob/living/silicon/robot/robot.dm code/modules/mob/living/silicon/robot/robot_upgrades.dm
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
#include "code\setup.dm"
|
#include "code\setup.dm"
|
||||||
#include "code\stylesheet.dm"
|
#include "code\stylesheet.dm"
|
||||||
#include "code\world.dm"
|
#include "code\world.dm"
|
||||||
#include "code\__HELPERS\atom_pool.dm"
|
#include "code\__HELPERS\datum_pool.dm"
|
||||||
#include "code\__HELPERS\files.dm"
|
#include "code\__HELPERS\files.dm"
|
||||||
#include "code\__HELPERS\game.dm"
|
#include "code\__HELPERS\game.dm"
|
||||||
#include "code\__HELPERS\global_lists.dm"
|
#include "code\__HELPERS\global_lists.dm"
|
||||||
@@ -328,6 +328,7 @@
|
|||||||
#include "code\game\machinery\bioprinter.dm"
|
#include "code\game\machinery\bioprinter.dm"
|
||||||
#include "code\game\machinery\bluespacerelay.dm"
|
#include "code\game\machinery\bluespacerelay.dm"
|
||||||
#include "code\game\machinery\buttons.dm"
|
#include "code\game\machinery\buttons.dm"
|
||||||
|
#include "code\game\machinery\CableLayer.dm"
|
||||||
#include "code\game\machinery\cell_charger.dm"
|
#include "code\game\machinery\cell_charger.dm"
|
||||||
#include "code\game\machinery\cloning.dm"
|
#include "code\game\machinery\cloning.dm"
|
||||||
#include "code\game\machinery\constructable_frame.dm"
|
#include "code\game\machinery\constructable_frame.dm"
|
||||||
@@ -338,6 +339,7 @@
|
|||||||
#include "code\game\machinery\doppler_array.dm"
|
#include "code\game\machinery\doppler_array.dm"
|
||||||
#include "code\game\machinery\flasher.dm"
|
#include "code\game\machinery\flasher.dm"
|
||||||
#include "code\game\machinery\floodlight.dm"
|
#include "code\game\machinery\floodlight.dm"
|
||||||
|
#include "code\game\machinery\floorlayer.dm"
|
||||||
#include "code\game\machinery\hologram.dm"
|
#include "code\game\machinery\hologram.dm"
|
||||||
#include "code\game\machinery\holosign.dm"
|
#include "code\game\machinery\holosign.dm"
|
||||||
#include "code\game\machinery\igniter.dm"
|
#include "code\game\machinery\igniter.dm"
|
||||||
@@ -476,6 +478,7 @@
|
|||||||
#include "code\game\machinery\kitchen\smartfridge.dm"
|
#include "code\game\machinery\kitchen\smartfridge.dm"
|
||||||
#include "code\game\machinery\pipe\construction.dm"
|
#include "code\game\machinery\pipe\construction.dm"
|
||||||
#include "code\game\machinery\pipe\pipe_dispenser.dm"
|
#include "code\game\machinery\pipe\pipe_dispenser.dm"
|
||||||
|
#include "code\game\machinery\pipe\pipelayer.dm"
|
||||||
#include "code\game\machinery\telecomms\broadcaster.dm"
|
#include "code\game\machinery\telecomms\broadcaster.dm"
|
||||||
#include "code\game\machinery\telecomms\logbrowser.dm"
|
#include "code\game\machinery\telecomms\logbrowser.dm"
|
||||||
#include "code\game\machinery\telecomms\machine_interactions.dm"
|
#include "code\game\machinery\telecomms\machine_interactions.dm"
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
// BEGIN_INTERNALS
|
// BEGIN_INTERNALS
|
||||||
/*
|
/*
|
||||||
MAP_ICON_TYPE: 0
|
LAST_COMPILE_TIME: 1429517930
|
||||||
|
DIR: code code\controllers code\controllers\Processes code\game code\game\objects code\game\objects\effects code\modules code\modules\client code\modules\examine code\modules\examine\descriptions code\modules\mob
|
||||||
AUTO_FILE_DIR: OFF
|
AUTO_FILE_DIR: OFF
|
||||||
|
MAP_ICON_TYPE: 0
|
||||||
|
LAST_COMPILE_VERSION: 507.1283
|
||||||
|
WINDOW: code\game\atoms.dm;code\game\atoms_movable.dm;code\modules\client\client procs.dm;code\game\objects\buckling.dm
|
||||||
|
FILE: code\game\objects\buckling.dm
|
||||||
*/
|
*/
|
||||||
// END_INTERNALS
|
// END_INTERNALS
|
||||||
|
|||||||
@@ -44,15 +44,15 @@ obj/machinery/atmospherics/binary
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
if(node2)
|
if(node2)
|
||||||
node2.disconnect(src)
|
node2.disconnect(src)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
|
|
||||||
node1 = null
|
node1 = null
|
||||||
node2 = null
|
node2 = null
|
||||||
@@ -123,11 +123,11 @@ obj/machinery/atmospherics/binary
|
|||||||
|
|
||||||
disconnect(obj/machinery/atmospherics/reference)
|
disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference==node1)
|
if(reference==node1)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
else if(reference==node2)
|
else if(reference==node2)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|||||||
@@ -112,10 +112,10 @@
|
|||||||
else
|
else
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
if(node2)
|
if(node2)
|
||||||
node2.disconnect(src)
|
node2.disconnect(src)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
|
|
||||||
node1 = null
|
node1 = null
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|||||||
@@ -258,4 +258,4 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|||||||
@@ -38,15 +38,15 @@
|
|||||||
if(WEST)
|
if(WEST)
|
||||||
initialize_directions = NORTH|SOUTH
|
initialize_directions = NORTH|SOUTH
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
if(node2)
|
if(node2)
|
||||||
node2.disconnect(src)
|
node2.disconnect(src)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
|
|
||||||
node1 = null
|
node1 = null
|
||||||
node2 = null
|
node2 = null
|
||||||
@@ -110,10 +110,10 @@
|
|||||||
else
|
else
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
if(node2)
|
if(node2)
|
||||||
node2.disconnect(src)
|
node2.disconnect(src)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
|
|
||||||
node1 = null
|
node1 = null
|
||||||
node2 = null
|
node2 = null
|
||||||
@@ -216,11 +216,11 @@
|
|||||||
|
|
||||||
disconnect(obj/machinery/atmospherics/reference)
|
disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference==node1)
|
if(reference==node1)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
else if(reference==node2)
|
else if(reference==node2)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
return null
|
return null
|
||||||
|
|||||||
@@ -235,4 +235,4 @@ Thus, the two variables affect pump operation are set in New():
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
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
|
||||||
|
|
||||||
/obj/machinery/atmospherics/omni/filter/Del()
|
/obj/machinery/atmospherics/omni/filter/Destroy()
|
||||||
input = null
|
input = null
|
||||||
output = null
|
output = null
|
||||||
filters.Cut()
|
filters.Cut()
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
for(var/datum/omni_port/P in ports)
|
for(var/datum/omni_port/P in ports)
|
||||||
P.air.volume = ATMOS_DEFAULT_VOLUME_MIXER
|
P.air.volume = ATMOS_DEFAULT_VOLUME_MIXER
|
||||||
|
|
||||||
/obj/machinery/atmospherics/omni/mixer/Del()
|
/obj/machinery/atmospherics/omni/mixer/Destroy()
|
||||||
inputs.Cut()
|
inputs.Cut()
|
||||||
output = null
|
output = null
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -98,7 +98,7 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear a ratchet.")
|
"You hear a ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/omni/attack_hand(user as mob)
|
/obj/machinery/atmospherics/omni/attack_hand(user as mob)
|
||||||
if(..())
|
if(..())
|
||||||
@@ -231,13 +231,13 @@
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
/obj/machinery/atmospherics/omni/Del()
|
/obj/machinery/atmospherics/omni/Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
for(var/datum/omni_port/P in ports)
|
for(var/datum/omni_port/P in ports)
|
||||||
if(P.node)
|
if(P.node)
|
||||||
P.node.disconnect(src)
|
P.node.disconnect(src)
|
||||||
del(P.network)
|
qdel(P.network)
|
||||||
P.node = null
|
P.node = null
|
||||||
|
|
||||||
..()
|
..()
|
||||||
@@ -292,7 +292,7 @@
|
|||||||
/obj/machinery/atmospherics/omni/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/omni/disconnect(obj/machinery/atmospherics/reference)
|
||||||
for(var/datum/omni_port/P in ports)
|
for(var/datum/omni_port/P in ports)
|
||||||
if(reference == P.node)
|
if(reference == P.node)
|
||||||
del(P.network)
|
qdel(P.network)
|
||||||
P.node = null
|
P.node = null
|
||||||
P.update = 1
|
P.update = 1
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
/obj/machinery/atmospherics/portables_connector/Del()
|
/obj/machinery/atmospherics/portables_connector/Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
if(connected_device)
|
if(connected_device)
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
|
|
||||||
if(node)
|
if(node)
|
||||||
node.disconnect(src)
|
node.disconnect(src)
|
||||||
del(network)
|
qdel(network)
|
||||||
|
|
||||||
node = null
|
node = null
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
|
|
||||||
/obj/machinery/atmospherics/portables_connector/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/portables_connector/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference==node)
|
if(reference==node)
|
||||||
del(network)
|
qdel(network)
|
||||||
node = null
|
node = null
|
||||||
|
|
||||||
update_underlays()
|
update_underlays()
|
||||||
@@ -152,4 +152,4 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/trinary/filter/attack_hand(user as mob) // -- TLE
|
/obj/machinery/atmospherics/trinary/filter/attack_hand(user as mob) // -- TLE
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/trinary/mixer/attack_hand(user as mob)
|
/obj/machinery/atmospherics/trinary/mixer/attack_hand(user as mob)
|
||||||
if(..())
|
if(..())
|
||||||
|
|||||||
@@ -52,18 +52,18 @@ obj/machinery/atmospherics/trinary
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
if(node2)
|
if(node2)
|
||||||
node2.disconnect(src)
|
node2.disconnect(src)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
if(node3)
|
if(node3)
|
||||||
node3.disconnect(src)
|
node3.disconnect(src)
|
||||||
del(network3)
|
qdel(network3)
|
||||||
|
|
||||||
node1 = null
|
node1 = null
|
||||||
node2 = null
|
node2 = null
|
||||||
@@ -153,15 +153,15 @@ obj/machinery/atmospherics/trinary
|
|||||||
|
|
||||||
disconnect(obj/machinery/atmospherics/reference)
|
disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference==node1)
|
if(reference==node1)
|
||||||
del(network1)
|
qdel(network1)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
else if(reference==node2)
|
else if(reference==node2)
|
||||||
del(network2)
|
qdel(network2)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
else if(reference==node3)
|
else if(reference==node3)
|
||||||
del(network3)
|
qdel(network3)
|
||||||
node3 = null
|
node3 = null
|
||||||
|
|
||||||
update_underlays()
|
update_underlays()
|
||||||
|
|||||||
@@ -101,18 +101,18 @@
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
/obj/machinery/atmospherics/tvalve/Del()
|
/obj/machinery/atmospherics/tvalve/Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
del(network_node1)
|
qdel(network_node1)
|
||||||
if(node2)
|
if(node2)
|
||||||
node2.disconnect(src)
|
node2.disconnect(src)
|
||||||
del(network_node2)
|
qdel(network_node2)
|
||||||
if(node3)
|
if(node3)
|
||||||
node3.disconnect(src)
|
node3.disconnect(src)
|
||||||
del(network_node3)
|
qdel(network_node3)
|
||||||
|
|
||||||
node1 = null
|
node1 = null
|
||||||
node2 = null
|
node2 = null
|
||||||
@@ -128,9 +128,9 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
if(network_node1)
|
if(network_node1)
|
||||||
del(network_node1)
|
qdel(network_node1)
|
||||||
if(network_node3)
|
if(network_node3)
|
||||||
del(network_node3)
|
qdel(network_node3)
|
||||||
build_network()
|
build_network()
|
||||||
|
|
||||||
if(network_node1&&network_node2)
|
if(network_node1&&network_node2)
|
||||||
@@ -153,9 +153,9 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
if(network_node1)
|
if(network_node1)
|
||||||
del(network_node1)
|
qdel(network_node1)
|
||||||
if(network_node2)
|
if(network_node2)
|
||||||
del(network_node2)
|
qdel(network_node2)
|
||||||
build_network()
|
build_network()
|
||||||
|
|
||||||
if(network_node1&&network_node3)
|
if(network_node1&&network_node3)
|
||||||
@@ -262,15 +262,15 @@
|
|||||||
|
|
||||||
/obj/machinery/atmospherics/tvalve/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/tvalve/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference==node1)
|
if(reference==node1)
|
||||||
del(network_node1)
|
qdel(network_node1)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
else if(reference==node2)
|
else if(reference==node2)
|
||||||
del(network_node2)
|
qdel(network_node2)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
else if(reference==node3)
|
else if(reference==node3)
|
||||||
del(network_node3)
|
qdel(network_node3)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
update_underlays()
|
update_underlays()
|
||||||
@@ -366,7 +366,7 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/tvalve/mirrored
|
/obj/machinery/atmospherics/tvalve/mirrored
|
||||||
icon_state = "map_tvalvem0"
|
icon_state = "map_tvalvem0"
|
||||||
|
|||||||
@@ -86,4 +86,4 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
@@ -28,12 +28,12 @@
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
if(node)
|
if(node)
|
||||||
node.disconnect(src)
|
node.disconnect(src)
|
||||||
del(network)
|
qdel(network)
|
||||||
|
|
||||||
node = null
|
node = null
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
disconnect(obj/machinery/atmospherics/reference)
|
disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference==node)
|
if(reference==node)
|
||||||
del(network)
|
qdel(network)
|
||||||
node = null
|
node = null
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|||||||
@@ -414,9 +414,9 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/unary/vent_pump/Del()
|
/obj/machinery/atmospherics/unary/vent_pump/Destroy()
|
||||||
if(initial_loc)
|
if(initial_loc)
|
||||||
initial_loc.air_vent_info -= id_tag
|
initial_loc.air_vent_info -= id_tag
|
||||||
initial_loc.air_vent_names -= id_tag
|
initial_loc.air_vent_names -= id_tag
|
||||||
|
|||||||
@@ -270,7 +270,7 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/unary/vent_scrubber/examine(mob/user)
|
/obj/machinery/atmospherics/unary/vent_scrubber/examine(mob/user)
|
||||||
if(..(user, 1))
|
if(..(user, 1))
|
||||||
@@ -278,7 +278,7 @@
|
|||||||
else
|
else
|
||||||
user << "You are too far away to read the gauge."
|
user << "You are too far away to read the gauge."
|
||||||
|
|
||||||
/obj/machinery/atmospherics/unary/vent_scrubber/Del()
|
/obj/machinery/atmospherics/unary/vent_scrubber/Destroy()
|
||||||
if(initial_loc)
|
if(initial_loc)
|
||||||
initial_loc.air_scrub_info -= id_tag
|
initial_loc.air_scrub_info -= id_tag
|
||||||
initial_loc.air_scrub_names -= id_tag
|
initial_loc.air_scrub_names -= id_tag
|
||||||
|
|||||||
@@ -73,15 +73,15 @@
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
|
|
||||||
/obj/machinery/atmospherics/valve/Del()
|
/obj/machinery/atmospherics/valve/Destroy()
|
||||||
loc = null
|
loc = null
|
||||||
|
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
del(network_node1)
|
qdel(network_node1)
|
||||||
if(node2)
|
if(node2)
|
||||||
node2.disconnect(src)
|
node2.disconnect(src)
|
||||||
del(network_node2)
|
qdel(network_node2)
|
||||||
|
|
||||||
node1 = null
|
node1 = null
|
||||||
node2 = null
|
node2 = null
|
||||||
@@ -113,9 +113,9 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
if(network_node1)
|
if(network_node1)
|
||||||
del(network_node1)
|
qdel(network_node1)
|
||||||
if(network_node2)
|
if(network_node2)
|
||||||
del(network_node2)
|
qdel(network_node2)
|
||||||
|
|
||||||
build_network()
|
build_network()
|
||||||
|
|
||||||
@@ -214,11 +214,11 @@
|
|||||||
|
|
||||||
/obj/machinery/atmospherics/valve/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/valve/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference==node1)
|
if(reference==node1)
|
||||||
del(network_node1)
|
qdel(network_node1)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
else if(reference==node2)
|
else if(reference==node2)
|
||||||
del(network_node2)
|
qdel(network_node2)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
update_underlays()
|
update_underlays()
|
||||||
@@ -310,7 +310,7 @@
|
|||||||
"\blue You have unfastened \the [src].", \
|
"\blue You have unfastened \the [src].", \
|
||||||
"You hear ratchet.")
|
"You hear ratchet.")
|
||||||
new /obj/item/pipe(loc, make_from=src)
|
new /obj/item/pipe(loc, make_from=src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/valve/examine(mob/user)
|
/obj/machinery/atmospherics/valve/examine(mob/user)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ datum/pipe_network
|
|||||||
//Notes: Assuming that members will add themselves to appropriate roster in network_expand()
|
//Notes: Assuming that members will add themselves to appropriate roster in network_expand()
|
||||||
|
|
||||||
if(!start_normal)
|
if(!start_normal)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
start_normal.network_expand(src, reference)
|
start_normal.network_expand(src, reference)
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ datum/pipe_network
|
|||||||
if((normal_members.len>0)||(line_members.len>0))
|
if((normal_members.len>0)||(line_members.len>0))
|
||||||
pipe_networks += src
|
pipe_networks += src
|
||||||
else
|
else
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
proc/merge(datum/pipe_network/giver)
|
proc/merge(datum/pipe_network/giver)
|
||||||
if(giver==src) return 0
|
if(giver==src) return 0
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ datum/pipeline
|
|||||||
|
|
||||||
var/alert_pressure = 0
|
var/alert_pressure = 0
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
if(network)
|
if(network)
|
||||||
del(network)
|
qdel(network)
|
||||||
|
|
||||||
if(air && air.volume)
|
if(air && air.volume)
|
||||||
temporarily_store_air()
|
temporarily_store_air()
|
||||||
del(air)
|
qdel(air)
|
||||||
|
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ obj/machinery/atmospherics/pipe/simple/heat_exchanging
|
|||||||
node2 = target
|
node2 = target
|
||||||
break
|
break
|
||||||
if(!node1 && !node2)
|
if(!node1 && !node2)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -141,7 +141,7 @@ obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction
|
|||||||
break
|
break
|
||||||
|
|
||||||
if(!node1&&!node2)
|
if(!node1&&!node2)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ obj/machinery/atmospherics/mains_pipe
|
|||||||
for(var/obj/machinery/atmospherics/pipe/mains_component/node in nodes)
|
for(var/obj/machinery/atmospherics/pipe/mains_component/node in nodes)
|
||||||
node.disconnect()
|
node.disconnect()
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
disconnect()
|
disconnect()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ obj/machinery/atmospherics/mains_pipe/simple
|
|||||||
|
|
||||||
else
|
else
|
||||||
if(!nodes[1]&&!nodes[2])
|
if(!nodes[1]&&!nodes[2])
|
||||||
del(src) //TODO: silent deleting looks weird
|
qdel(src) //TODO: silent deleting looks weird
|
||||||
var/have_node1 = nodes[1]?1:0
|
var/have_node1 = nodes[1]?1:0
|
||||||
var/have_node2 = nodes[2]?1:0
|
var/have_node2 = nodes[2]?1:0
|
||||||
icon_state = "exposed[have_node1][have_node2][invisibility ? "-f" : "" ]"
|
icon_state = "exposed[have_node1][have_node2][invisibility ? "-f" : "" ]"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/proc/check_pressure(pressure)
|
/obj/machinery/atmospherics/pipe/proc/check_pressure(pressure)
|
||||||
//Return 1 if parent should continue checking other pipes
|
//Return 1 if parent should continue checking other pipes
|
||||||
//Return null if parent should stop checking other pipes. Recall: del(src) will by default return null
|
//Return null if parent should stop checking other pipes. Recall: qdel(src) will by default return null
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
@@ -62,8 +62,8 @@
|
|||||||
|
|
||||||
return parent.return_network(reference)
|
return parent.return_network(reference)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/Del()
|
/obj/machinery/atmospherics/pipe/Destroy()
|
||||||
del(parent)
|
qdel(parent)
|
||||||
if(air_temporary)
|
if(air_temporary)
|
||||||
loc.assume_air(air_temporary)
|
loc.assume_air(air_temporary)
|
||||||
|
|
||||||
@@ -101,8 +101,8 @@
|
|||||||
for (var/obj/machinery/meter/meter in T)
|
for (var/obj/machinery/meter/meter in T)
|
||||||
if (meter.target == src)
|
if (meter.target == src)
|
||||||
new /obj/item/pipe_meter(T)
|
new /obj/item/pipe_meter(T)
|
||||||
del(meter)
|
qdel(meter)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/proc/change_color(var/new_color)
|
/obj/machinery/atmospherics/proc/change_color(var/new_color)
|
||||||
//only pass valid pipe colors please ~otherwise your pipe will turn invisible
|
//only pass valid pipe colors please ~otherwise your pipe will turn invisible
|
||||||
@@ -219,7 +219,7 @@
|
|||||||
var/datum/effect/effect/system/smoke_spread/smoke = new
|
var/datum/effect/effect/system/smoke_spread/smoke = new
|
||||||
smoke.set_up(1,0, src.loc, 0)
|
smoke.set_up(1,0, src.loc, 0)
|
||||||
smoke.start()
|
smoke.start()
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/simple/proc/normalize_dir()
|
/obj/machinery/atmospherics/pipe/simple/proc/normalize_dir()
|
||||||
if(dir==3)
|
if(dir==3)
|
||||||
@@ -227,7 +227,7 @@
|
|||||||
else if(dir==12)
|
else if(dir==12)
|
||||||
set_dir(4)
|
set_dir(4)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/simple/Del()
|
/obj/machinery/atmospherics/pipe/simple/Destroy()
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
if(node2)
|
if(node2)
|
||||||
@@ -260,8 +260,8 @@
|
|||||||
for (var/obj/machinery/meter/meter in T)
|
for (var/obj/machinery/meter/meter in T)
|
||||||
if (meter.target == src)
|
if (meter.target == src)
|
||||||
new /obj/item/pipe_meter(T)
|
new /obj/item/pipe_meter(T)
|
||||||
del(meter)
|
qdel(meter)
|
||||||
del(src)
|
qdel(src)
|
||||||
else if(node1 && node2)
|
else if(node1 && node2)
|
||||||
overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]intact[icon_connect_type]")
|
overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "[pipe_icon]intact[icon_connect_type]")
|
||||||
else
|
else
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
break
|
break
|
||||||
|
|
||||||
if(!node1 && !node2)
|
if(!node1 && !node2)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
@@ -305,12 +305,12 @@
|
|||||||
/obj/machinery/atmospherics/pipe/simple/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/pipe/simple/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference == node1)
|
if(reference == node1)
|
||||||
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
if(reference == node2)
|
if(reference == node2)
|
||||||
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -459,7 +459,7 @@
|
|||||||
else
|
else
|
||||||
. = PROCESS_KILL
|
. = PROCESS_KILL
|
||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/manifold/Del()
|
/obj/machinery/atmospherics/pipe/manifold/Destroy()
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
if(node2)
|
if(node2)
|
||||||
@@ -472,17 +472,17 @@
|
|||||||
/obj/machinery/atmospherics/pipe/manifold/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/pipe/manifold/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference == node1)
|
if(reference == node1)
|
||||||
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
if(reference == node2)
|
if(reference == node2)
|
||||||
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
if(reference == node3)
|
if(reference == node3)
|
||||||
if(istype(node3, /obj/machinery/atmospherics/pipe))
|
if(istype(node3, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node3 = null
|
node3 = null
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -511,8 +511,8 @@
|
|||||||
for (var/obj/machinery/meter/meter in T)
|
for (var/obj/machinery/meter/meter in T)
|
||||||
if (meter.target == src)
|
if (meter.target == src)
|
||||||
new /obj/item/pipe_meter(T)
|
new /obj/item/pipe_meter(T)
|
||||||
del(meter)
|
qdel(meter)
|
||||||
del(src)
|
qdel(src)
|
||||||
else
|
else
|
||||||
overlays.Cut()
|
overlays.Cut()
|
||||||
overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "core" + icon_connect_type)
|
overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "core" + icon_connect_type)
|
||||||
@@ -578,7 +578,7 @@
|
|||||||
break
|
break
|
||||||
|
|
||||||
if(!node1 && !node2 && !node3)
|
if(!node1 && !node2 && !node3)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
@@ -701,7 +701,7 @@
|
|||||||
else
|
else
|
||||||
. = PROCESS_KILL
|
. = PROCESS_KILL
|
||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/manifold4w/Del()
|
/obj/machinery/atmospherics/pipe/manifold4w/Destroy()
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
if(node2)
|
if(node2)
|
||||||
@@ -716,22 +716,22 @@
|
|||||||
/obj/machinery/atmospherics/pipe/manifold4w/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/pipe/manifold4w/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference == node1)
|
if(reference == node1)
|
||||||
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
if(reference == node2)
|
if(reference == node2)
|
||||||
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
if(reference == node3)
|
if(reference == node3)
|
||||||
if(istype(node3, /obj/machinery/atmospherics/pipe))
|
if(istype(node3, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node3 = null
|
node3 = null
|
||||||
|
|
||||||
if(reference == node4)
|
if(reference == node4)
|
||||||
if(istype(node4, /obj/machinery/atmospherics/pipe))
|
if(istype(node4, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node4 = null
|
node4 = null
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -762,8 +762,8 @@
|
|||||||
for (var/obj/machinery/meter/meter in T)
|
for (var/obj/machinery/meter/meter in T)
|
||||||
if (meter.target == src)
|
if (meter.target == src)
|
||||||
new /obj/item/pipe_meter(T)
|
new /obj/item/pipe_meter(T)
|
||||||
del(meter)
|
qdel(meter)
|
||||||
del(src)
|
qdel(src)
|
||||||
else
|
else
|
||||||
overlays.Cut()
|
overlays.Cut()
|
||||||
overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "4way" + icon_connect_type)
|
overlays += icon_manager.get_atmos_icon("manifold", , pipe_color, "4way" + icon_connect_type)
|
||||||
@@ -837,7 +837,7 @@
|
|||||||
break
|
break
|
||||||
|
|
||||||
if(!node1 && !node2 && !node3 && !node4)
|
if(!node1 && !node2 && !node3 && !node4)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
@@ -958,7 +958,7 @@
|
|||||||
..()
|
..()
|
||||||
else
|
else
|
||||||
. = PROCESS_KILL
|
. = PROCESS_KILL
|
||||||
/obj/machinery/atmospherics/pipe/cap/Del()
|
/obj/machinery/atmospherics/pipe/cap/Destroy()
|
||||||
if(node)
|
if(node)
|
||||||
node.disconnect(src)
|
node.disconnect(src)
|
||||||
|
|
||||||
@@ -967,7 +967,7 @@
|
|||||||
/obj/machinery/atmospherics/pipe/cap/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/pipe/cap/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference == node)
|
if(reference == node)
|
||||||
if(istype(node, /obj/machinery/atmospherics/pipe))
|
if(istype(node, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node = null
|
node = null
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -1074,7 +1074,7 @@
|
|||||||
else
|
else
|
||||||
. = PROCESS_KILL
|
. = PROCESS_KILL
|
||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/tank/Del()
|
/obj/machinery/atmospherics/pipe/tank/Destroy()
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
|
|
||||||
@@ -1108,7 +1108,7 @@
|
|||||||
/obj/machinery/atmospherics/pipe/tank/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/pipe/tank/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference == node1)
|
if(reference == node1)
|
||||||
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
update_underlays()
|
update_underlays()
|
||||||
@@ -1258,7 +1258,7 @@
|
|||||||
else
|
else
|
||||||
parent.mingle_with_turf(loc, volume)
|
parent.mingle_with_turf(loc, volume)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/pipe/vent/Del()
|
/obj/machinery/atmospherics/pipe/vent/Destroy()
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
|
|
||||||
@@ -1290,7 +1290,7 @@
|
|||||||
/obj/machinery/atmospherics/pipe/vent/disconnect(obj/machinery/atmospherics/reference)
|
/obj/machinery/atmospherics/pipe/vent/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference == node1)
|
if(reference == node1)
|
||||||
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ obj/machinery/atmospherics
|
|||||||
set src in world
|
set src in world
|
||||||
set category = "Minor"
|
set category = "Minor"
|
||||||
|
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
pipeline_data()
|
pipeline_data()
|
||||||
set src in world
|
set src in world
|
||||||
@@ -487,7 +487,7 @@ obj/window
|
|||||||
destroy()
|
destroy()
|
||||||
set category = "Minor"
|
set category = "Minor"
|
||||||
set src in world
|
set src in world
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
mob
|
mob
|
||||||
sight = SEE_OBJS|SEE_TURFS
|
sight = SEE_OBJS|SEE_TURFS
|
||||||
|
|||||||
@@ -171,7 +171,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/*
|
/*
|
||||||
/obj/effect/hotspot/Del()
|
/obj/effect/hotspot/Destroy()
|
||||||
if (istype(loc, /turf/simulated))
|
if (istype(loc, /turf/simulated))
|
||||||
DestroyTurf()
|
DestroyTurf()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ What are the archived variables for?
|
|||||||
trace_gases += corresponding
|
trace_gases += corresponding
|
||||||
corresponding.moles += trace_gas.moles*giver.group_multiplier/group_multiplier
|
corresponding.moles += trace_gas.moles*giver.group_multiplier/group_multiplier
|
||||||
|
|
||||||
// del(giver)
|
// qdel(giver)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
remove(amount)
|
remove(amount)
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ datum
|
|||||||
var/turf/simulated/T = turf
|
var/turf/simulated/T = turf
|
||||||
T.parent = null
|
T.parent = null
|
||||||
turfs += T
|
turfs += T
|
||||||
del(turf_AG)
|
qdel(turf_AG)
|
||||||
|
|
||||||
for(var/turf/simulated/S in turfs) //Have old members try to form new groups
|
for(var/turf/simulated/S in turfs) //Have old members try to form new groups
|
||||||
if(!S.parent)
|
if(!S.parent)
|
||||||
@@ -306,7 +306,7 @@ datum
|
|||||||
for(var/obj/movable/floor/OM in object_AG.members)
|
for(var/obj/movable/floor/OM in object_AG.members)
|
||||||
OM.parent = null
|
OM.parent = null
|
||||||
movable_objects += OM
|
movable_objects += OM
|
||||||
del(object_AG)
|
qdel(object_AG)
|
||||||
|
|
||||||
for(var/obj/movable/floor/OM in movable_objects) //Have old members try to form new groups
|
for(var/obj/movable/floor/OM in movable_objects) //Have old members try to form new groups
|
||||||
if(!OM.parent)
|
if(!OM.parent)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ atom/movable/proc/experience_pressure_difference(pressure_difference, direction)
|
|||||||
|
|
||||||
turf
|
turf
|
||||||
assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
|
assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
|
||||||
del(giver)
|
qdel(giver)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
return_air()
|
return_air()
|
||||||
@@ -148,7 +148,7 @@ turf/simulated
|
|||||||
if(istype(target))
|
if(istype(target))
|
||||||
air_master.tiles_to_update.Add(target)
|
air_master.tiles_to_update.Add(target)
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
if(air_master)
|
if(air_master)
|
||||||
if(parent)
|
if(parent)
|
||||||
air_master.groups_to_rebuild.Add(parent)
|
air_master.groups_to_rebuild.Add(parent)
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ obj/machinery/atmospherics/pipe/zpipe/proc/burst()
|
|||||||
var/datum/effect/effect/system/smoke_spread/smoke = new
|
var/datum/effect/effect/system/smoke_spread/smoke = new
|
||||||
smoke.set_up(1,0, src.loc, 0)
|
smoke.set_up(1,0, src.loc, 0)
|
||||||
smoke.start()
|
smoke.start()
|
||||||
del(src)
|
qdel(src) // NOT qdel.
|
||||||
|
|
||||||
obj/machinery/atmospherics/pipe/zpipe/proc/normalize_dir()
|
obj/machinery/atmospherics/pipe/zpipe/proc/normalize_dir()
|
||||||
if(dir==3)
|
if(dir==3)
|
||||||
@@ -88,7 +88,7 @@ obj/machinery/atmospherics/pipe/zpipe/proc/normalize_dir()
|
|||||||
else if(dir==12)
|
else if(dir==12)
|
||||||
set_dir(4)
|
set_dir(4)
|
||||||
|
|
||||||
obj/machinery/atmospherics/pipe/zpipe/Del()
|
obj/machinery/atmospherics/pipe/zpipe/Destroy()
|
||||||
if(node1)
|
if(node1)
|
||||||
node1.disconnect(src)
|
node1.disconnect(src)
|
||||||
if(node2)
|
if(node2)
|
||||||
@@ -104,12 +104,12 @@ obj/machinery/atmospherics/pipe/zpipe/update_icon()
|
|||||||
obj/machinery/atmospherics/pipe/zpipe/disconnect(obj/machinery/atmospherics/reference)
|
obj/machinery/atmospherics/pipe/zpipe/disconnect(obj/machinery/atmospherics/reference)
|
||||||
if(reference == node1)
|
if(reference == node1)
|
||||||
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
if(istype(node1, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node1 = null
|
node1 = null
|
||||||
|
|
||||||
if(reference == node2)
|
if(reference == node2)
|
||||||
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
if(istype(node2, /obj/machinery/atmospherics/pipe))
|
||||||
del(parent)
|
qdel(parent)
|
||||||
node2 = null
|
node2 = null
|
||||||
|
|
||||||
return null
|
return null
|
||||||
|
|||||||
@@ -41,18 +41,18 @@
|
|||||||
switch(severity)
|
switch(severity)
|
||||||
if(1.0)
|
if(1.0)
|
||||||
if(icon_state == "ladderup" && prob(10))
|
if(icon_state == "ladderup" && prob(10))
|
||||||
Del()
|
qdel(src)
|
||||||
if(2.0)
|
if(2.0)
|
||||||
if(prob(50))
|
if(prob(50))
|
||||||
Del()
|
qdel(src)
|
||||||
if(3.0)
|
if(3.0)
|
||||||
Del()
|
qdel(src)
|
||||||
return*/
|
return*/
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
spawn(1)
|
spawn(1)
|
||||||
if(target && icon_state == "ladderdown")
|
if(target && icon_state == "ladderdown")
|
||||||
del target
|
qdel(target)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
attackby(obj/item/C as obj, mob/user as mob)
|
attackby(obj/item/C as obj, mob/user as mob)
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
if(!blocked && !istype(below, /turf/simulated/wall))
|
if(!blocked && !istype(below, /turf/simulated/wall))
|
||||||
var/obj/multiz/ladder/X = new /obj/multiz/ladder(below)
|
var/obj/multiz/ladder/X = new /obj/multiz/ladder(below)
|
||||||
S.amount = S.amount - 2
|
S.amount = S.amount - 2
|
||||||
if(S.amount == 0) S.Del()
|
if(S.amount == 0) qdel(S)
|
||||||
X.icon_state = "ladderup"
|
X.icon_state = "ladderup"
|
||||||
connect()
|
connect()
|
||||||
user << "You finish the ladder."
|
user << "You finish the ladder."
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
if(target)
|
if(target)
|
||||||
var/obj/item/stack/rods/R = new /obj/item/stack/rods(target.loc)
|
var/obj/item/stack/rods/R = new /obj/item/stack/rods(target.loc)
|
||||||
R.amount = 2
|
R.amount = 2
|
||||||
target.Del()
|
qdel(Target)
|
||||||
|
|
||||||
user << "<span class='notice'>You remove the bolts anchoring the ladder.</span>"
|
user << "<span class='notice'>You remove the bolts anchoring the ladder.</span>"
|
||||||
return
|
return
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
var/obj/item/stack/sheet/metal/S = new /obj/item/stack/sheet/metal( src )
|
var/obj/item/stack/sheet/metal/S = new /obj/item/stack/sheet/metal( src )
|
||||||
S.amount = 2
|
S.amount = 2
|
||||||
user << "<span class='notice'>You remove the ladder and close the hole.</span>"
|
user << "<span class='notice'>You remove the ladder and close the hole.</span>"
|
||||||
Del()
|
qdel(src)
|
||||||
else
|
else
|
||||||
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
|
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
|
||||||
return
|
return
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
attack_hand(var/mob/M)
|
attack_hand(var/mob/M)
|
||||||
|
|
||||||
if(!target || !istype(target.loc, /turf))
|
if(!target || !istype(target.loc, /turf))
|
||||||
del src
|
qdel(src)
|
||||||
|
|
||||||
if(active)
|
if(active)
|
||||||
M << "That [src] is being used."
|
M << "That [src] is being used."
|
||||||
@@ -185,7 +185,7 @@
|
|||||||
|
|
||||||
spawn(7)
|
spawn(7)
|
||||||
if(!target || !istype(target.loc, /turf))
|
if(!target || !istype(target.loc, /turf))
|
||||||
del src
|
qdel(src)
|
||||||
if(M.z == z && get_dist(src,M) <= 1)
|
if(M.z == z && get_dist(src,M) <= 1)
|
||||||
var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
|
var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
|
||||||
M.visible_message("\blue \The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.")
|
M.visible_message("\blue \The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.")
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
var/obj/item/stack/tile/plasteel/S = C
|
var/obj/item/stack/tile/plasteel/S = C
|
||||||
if (S.get_amount() < 1)
|
if (S.get_amount() < 1)
|
||||||
return
|
return
|
||||||
del(L)
|
qdel(L)
|
||||||
playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1)
|
playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||||
S.build(src)
|
S.build(src)
|
||||||
S.use(1)
|
S.use(1)
|
||||||
|
|||||||
@@ -28,9 +28,9 @@
|
|||||||
initialized = 1
|
initialized = 1
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/effect/landmark/zcontroller/Del()
|
/obj/effect/landmark/zcontroller/Destroy()
|
||||||
processing_objects.Remove(src)
|
processing_objects.Remove(src)
|
||||||
return
|
return ..()
|
||||||
|
|
||||||
/obj/effect/landmark/zcontroller/process()
|
/obj/effect/landmark/zcontroller/process()
|
||||||
if (world.time > fast_time)
|
if (world.time > fast_time)
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0)
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
if(!istype(loc, /turf))
|
if(!istype(loc, /turf))
|
||||||
del src
|
qdel(src)
|
||||||
|
|
||||||
set_dir(pick(cardinal))
|
set_dir(pick(cardinal))
|
||||||
SetLuminosity(3)
|
SetLuminosity(3)
|
||||||
@@ -170,7 +170,7 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0)
|
|||||||
air_master.active_hotspots.Add(src)
|
air_master.active_hotspots.Add(src)
|
||||||
|
|
||||||
|
|
||||||
/obj/fire/Del()
|
/obj/fire/Destroy()
|
||||||
if (istype(loc, /turf/simulated))
|
if (istype(loc, /turf/simulated))
|
||||||
RemoveFire()
|
RemoveFire()
|
||||||
|
|
||||||
@@ -278,8 +278,8 @@ turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0)
|
|||||||
zone.fuel_objs -= fuel
|
zone.fuel_objs -= fuel
|
||||||
if(liquidonly)
|
if(liquidonly)
|
||||||
var/turf/T = fuel.loc
|
var/turf/T = fuel.loc
|
||||||
if(istype(T) && T.fire) del(T.fire)
|
if(istype(T) && T.fire) qdel(T.fire)
|
||||||
del(fuel)
|
qdel(fuel)
|
||||||
|
|
||||||
//calculate the energy produced by the reaction and then set the new temperature of the mix
|
//calculate the energy produced by the reaction and then set the new temperature of the mix
|
||||||
temperature = (starting_energy + vsc.fire_fuel_energy_release * used_fuel) / heat_capacity()
|
temperature = (starting_energy + vsc.fire_fuel_energy_release * used_fuel) / heat_capacity()
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
//This happens when windows move or are constructed. We need to rebuild.
|
//This happens when windows move or are constructed. We need to rebuild.
|
||||||
if((previously_open & d) && istype(unsim, /turf/simulated))
|
if((previously_open & d) && istype(unsim, /turf/simulated))
|
||||||
var/turf/simulated/sim = unsim
|
var/turf/simulated/sim = unsim
|
||||||
if(sim.zone == zone)
|
if(zone && sim.zone == zone)
|
||||||
zone.rebuild()
|
zone.rebuild()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -1,93 +0,0 @@
|
|||||||
|
|
||||||
/*
|
|
||||||
/tg/station13 /atom/movable Pool:
|
|
||||||
---------------------------------
|
|
||||||
By RemieRichards
|
|
||||||
|
|
||||||
Creation/Deletion is laggy, so let's reduce reuse and recycle!
|
|
||||||
|
|
||||||
Locked to /atom/movable and it's subtypes due to Loc being a const var on /atom
|
|
||||||
but being read&write on /movable due to how they... move.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
var/global/list/GlobalPool = list()
|
|
||||||
|
|
||||||
//You'll be using this proc 90% of the time.
|
|
||||||
//It grabs a type from the pool if it can
|
|
||||||
//And if it can't, it creates one
|
|
||||||
//The pool is flexible and will expand to fit
|
|
||||||
//The new created atom when it eventually
|
|
||||||
//Goes into the pool
|
|
||||||
|
|
||||||
//Second argument can be a new location
|
|
||||||
//Or a list of arguments
|
|
||||||
//Either way it gets passed to new
|
|
||||||
|
|
||||||
/proc/PoolOrNew(var/get_type,var/second_arg)
|
|
||||||
if(!get_type)
|
|
||||||
return
|
|
||||||
|
|
||||||
var/atom/movable/AM
|
|
||||||
AM = GetFromPool(get_type,second_arg)
|
|
||||||
|
|
||||||
if(!AM)
|
|
||||||
if(ispath(get_type))
|
|
||||||
if(islist(second_arg))
|
|
||||||
return new get_type (arglist(second_arg))
|
|
||||||
else
|
|
||||||
return new get_type (second_arg)
|
|
||||||
return AM
|
|
||||||
|
|
||||||
|
|
||||||
/proc/GetFromPool(var/get_type,var/second_arg)
|
|
||||||
if(!get_type)
|
|
||||||
return 0
|
|
||||||
|
|
||||||
if(isnull(GlobalPool[get_type]))
|
|
||||||
return 0
|
|
||||||
|
|
||||||
if(length(GlobalPool[get_type]) == 0)
|
|
||||||
return 0
|
|
||||||
|
|
||||||
var/atom/movable/AM = pick_n_take(GlobalPool[get_type])
|
|
||||||
if(AM)
|
|
||||||
AM.ResetVars()
|
|
||||||
if(islist(second_arg))
|
|
||||||
AM.loc = second_arg[1]
|
|
||||||
AM.New(arglist(second_arg))
|
|
||||||
else
|
|
||||||
AM.loc = second_arg
|
|
||||||
AM.New(second_arg)
|
|
||||||
return AM
|
|
||||||
return 0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/proc/PlaceInPool(var/atom/movable/AM)
|
|
||||||
if(!istype(AM))
|
|
||||||
return
|
|
||||||
|
|
||||||
if(AM in GlobalPool[AM.type])
|
|
||||||
return
|
|
||||||
|
|
||||||
if(!GlobalPool[AM.type])
|
|
||||||
GlobalPool[AM.type] = list()
|
|
||||||
|
|
||||||
GlobalPool[AM.type] |= AM
|
|
||||||
|
|
||||||
AM.Destroy()
|
|
||||||
AM.ResetVars()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/atom/movable/proc/ResetVars(var/list/exlude = list())
|
|
||||||
var/list/excluded = list("animate_movement", "loc", "locs", "parent_type", "vars", "verbs", "type") + exlude
|
|
||||||
|
|
||||||
for(var/V in vars)
|
|
||||||
if(V in excluded)
|
|
||||||
continue
|
|
||||||
|
|
||||||
vars[V] = initial(vars[V])
|
|
||||||
|
|
||||||
vars["loc"] = null
|
|
||||||
109
code/__HELPERS/datum_pool.dm
Normal file
109
code/__HELPERS/datum_pool.dm
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
/tg/station13 /atom/movable Pool:
|
||||||
|
---------------------------------
|
||||||
|
By RemieRichards
|
||||||
|
|
||||||
|
Creation/Deletion is laggy, so let's reduce reuse and recycle!
|
||||||
|
|
||||||
|
*/
|
||||||
|
#define ATOM_POOL_COUNT 100
|
||||||
|
// "define DEBUG_ATOM_POOL 1
|
||||||
|
var/global/list/GlobalPool = list()
|
||||||
|
|
||||||
|
//You'll be using this proc 90% of the time.
|
||||||
|
//It grabs a type from the pool if it can
|
||||||
|
//And if it can't, it creates one
|
||||||
|
//The pool is flexible and will expand to fit
|
||||||
|
//The new created atom when it eventually
|
||||||
|
//Goes into the pool
|
||||||
|
|
||||||
|
//Second argument can be a new location, if the type is /atom/movable
|
||||||
|
//Or a list of arguments
|
||||||
|
//Either way it gets passed to new
|
||||||
|
|
||||||
|
/proc/PoolOrNew(var/get_type,var/second_arg)
|
||||||
|
if(!get_type)
|
||||||
|
return
|
||||||
|
|
||||||
|
var/datum/D
|
||||||
|
D = GetFromPool(get_type,second_arg)
|
||||||
|
|
||||||
|
if(!D)
|
||||||
|
if(ispath(get_type))
|
||||||
|
if(islist(second_arg))
|
||||||
|
return new get_type (arglist(second_arg))
|
||||||
|
else
|
||||||
|
return new get_type (second_arg)
|
||||||
|
return D
|
||||||
|
|
||||||
|
/proc/GetFromPool(var/get_type,var/second_arg)
|
||||||
|
if(!get_type)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if(isnull(GlobalPool[get_type]))
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if(length(GlobalPool[get_type]) == 0)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
var/datum/D = pick_n_take(GlobalPool[get_type])
|
||||||
|
if(D)
|
||||||
|
D.ResetVars()
|
||||||
|
D.Prepare(second_arg)
|
||||||
|
return D
|
||||||
|
return 0
|
||||||
|
|
||||||
|
/proc/PlaceInPool(var/datum/D)
|
||||||
|
if(!istype(D))
|
||||||
|
return
|
||||||
|
|
||||||
|
if(length(GlobalPool[D.type]) > ATOM_POOL_COUNT)
|
||||||
|
#ifdef DEBUG_ATOM_POOL
|
||||||
|
world << text("DEBUG_DATUM_POOL: PlaceInPool([]) exceeds []. Discarding.", D.type, ATOM_POOL_COUNT)
|
||||||
|
#endif
|
||||||
|
del(D)
|
||||||
|
return
|
||||||
|
|
||||||
|
if(D in GlobalPool[D.type])
|
||||||
|
return
|
||||||
|
|
||||||
|
if(!GlobalPool[D.type])
|
||||||
|
GlobalPool[D.type] = list()
|
||||||
|
|
||||||
|
GlobalPool[D.type] += D
|
||||||
|
|
||||||
|
D.Destroy()
|
||||||
|
D.ResetVars()
|
||||||
|
|
||||||
|
/proc/IsPooled(var/datum/D)
|
||||||
|
if(isnull(GlobalPool[D.type]) || length(GlobalPool[D.type]) == 0)
|
||||||
|
return 0
|
||||||
|
return 1
|
||||||
|
|
||||||
|
/datum/proc/Prepare(args)
|
||||||
|
if(islist(args))
|
||||||
|
New(arglist(args))
|
||||||
|
else
|
||||||
|
New(args)
|
||||||
|
|
||||||
|
/atom/movable/Prepare(args)
|
||||||
|
if(islist(args))
|
||||||
|
loc = args[1]
|
||||||
|
loc = args
|
||||||
|
..()
|
||||||
|
|
||||||
|
/datum/proc/ResetVars(var/list/exlude = list())
|
||||||
|
var/list/excluded = list("animate_movement", "loc", "locs", "parent_type", "vars", "verbs", "type") + exlude
|
||||||
|
|
||||||
|
for(var/V in vars)
|
||||||
|
if(V in excluded)
|
||||||
|
continue
|
||||||
|
|
||||||
|
vars[V] = initial(vars[V])
|
||||||
|
|
||||||
|
/atom/movable/ResetVars()
|
||||||
|
..()
|
||||||
|
vars["loc"] = null
|
||||||
|
|
||||||
|
#undef ATOM_POOL_COUNT
|
||||||
@@ -18,9 +18,9 @@
|
|||||||
|
|
||||||
/proc/get_area(O)
|
/proc/get_area(O)
|
||||||
var/turf/loc = get_turf(O)
|
var/turf/loc = get_turf(O)
|
||||||
if(!loc)
|
if(loc)
|
||||||
return null
|
var/area/res = loc.loc
|
||||||
return loc.loc
|
.= res.master
|
||||||
|
|
||||||
/proc/get_area_name(N) //get area by its name
|
/proc/get_area_name(N) //get area by its name
|
||||||
for(var/area/A in world)
|
for(var/area/A in world)
|
||||||
|
|||||||
@@ -226,6 +226,31 @@
|
|||||||
/proc/capitalize(var/t as text)
|
/proc/capitalize(var/t as text)
|
||||||
return uppertext(copytext(t, 1, 2)) + copytext(t, 2)
|
return uppertext(copytext(t, 1, 2)) + copytext(t, 2)
|
||||||
|
|
||||||
|
//This proc strips html properly, remove < > and all text between
|
||||||
|
//for complete text sanitizing should be used sanitize()
|
||||||
|
/proc/strip_html_properly(var/input)
|
||||||
|
if(!input)
|
||||||
|
return
|
||||||
|
var/opentag = 1 //These store the position of < and > respectively.
|
||||||
|
var/closetag = 1
|
||||||
|
while(1)
|
||||||
|
opentag = findtext(input, "<")
|
||||||
|
closetag = findtext(input, ">")
|
||||||
|
if(closetag && opentag)
|
||||||
|
if(closetag < opentag)
|
||||||
|
input = copytext(input, (closetag + 1))
|
||||||
|
else
|
||||||
|
input = copytext(input, 1, opentag) + copytext(input, (closetag + 1))
|
||||||
|
else if(closetag || opentag)
|
||||||
|
if(opentag)
|
||||||
|
input = copytext(input, 1, opentag)
|
||||||
|
else
|
||||||
|
input = copytext(input, (closetag + 1))
|
||||||
|
else
|
||||||
|
break
|
||||||
|
|
||||||
|
return input
|
||||||
|
|
||||||
//This proc fills in all spaces with the "replace" var (* by default) with whatever
|
//This proc fills in all spaces with the "replace" var (* by default) with whatever
|
||||||
//is in the other string at the same spot (assuming it is not a replace char).
|
//is in the other string at the same spot (assuming it is not a replace char).
|
||||||
//This is used for fingerprints
|
//This is used for fingerprints
|
||||||
@@ -274,7 +299,11 @@ proc/TextPreview(var/string,var/len=40)
|
|||||||
else
|
else
|
||||||
return string
|
return string
|
||||||
else
|
else
|
||||||
return "[copytext(string, 1, 37)]..."
|
return "[copytext_preserve_html(string, 1, 37)]..."
|
||||||
|
|
||||||
|
//alternative copytext() for encoded text, doesn't break html entities (" and other)
|
||||||
|
/proc/copytext_preserve_html(var/text, var/first, var/last)
|
||||||
|
return html_encode(copytext(html_decode(text), first, last))
|
||||||
|
|
||||||
//For generating neat chat tag-images
|
//For generating neat chat tag-images
|
||||||
//The icon var could be local in the proc, but it's a waste of resources
|
//The icon var could be local in the proc, but it's a waste of resources
|
||||||
|
|||||||
@@ -631,7 +631,7 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl
|
|||||||
animation.master = target
|
animation.master = target
|
||||||
flick(flick_anim, animation)
|
flick(flick_anim, animation)
|
||||||
sleep(max(sleeptime, 15))
|
sleep(max(sleeptime, 15))
|
||||||
del(animation)
|
qdel(animation)
|
||||||
|
|
||||||
//Will return the contents of an atom recursivly to a depth of 'searchDepth'
|
//Will return the contents of an atom recursivly to a depth of 'searchDepth'
|
||||||
/atom/proc/GetAllContents(searchDepth = 5)
|
/atom/proc/GetAllContents(searchDepth = 5)
|
||||||
@@ -902,7 +902,7 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl
|
|||||||
X.icon = 'icons/turf/shuttle.dmi'
|
X.icon = 'icons/turf/shuttle.dmi'
|
||||||
X.icon_state = replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state
|
X.icon_state = replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state
|
||||||
X.name = "wall"
|
X.name = "wall"
|
||||||
del(O) // prevents multiple shuttle corners from stacking
|
qdel(O) // prevents multiple shuttle corners from stacking
|
||||||
continue
|
continue
|
||||||
if(!istype(O,/obj)) continue
|
if(!istype(O,/obj)) continue
|
||||||
O.loc = X
|
O.loc = X
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
var/obj/master = null //A reference to the object in the slot. Grabs or items, generally.
|
var/obj/master = null //A reference to the object in the slot. Grabs or items, generally.
|
||||||
var/gun_click_time = -100 //I'm lazy.
|
var/gun_click_time = -100 //I'm lazy.
|
||||||
|
|
||||||
|
/obj/screen/Destroy()
|
||||||
|
master = null
|
||||||
|
..()
|
||||||
|
|
||||||
/obj/screen/text
|
/obj/screen/text
|
||||||
icon = null
|
icon = null
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
return // seems legit.
|
return // seems legit.
|
||||||
|
|
||||||
// Things you might plausibly want to follow
|
// Things you might plausibly want to follow
|
||||||
if((ismob(A) && A != src) || istype(A,/obj/machinery/bot) || istype(A,/obj/machinery/singularity))
|
if((ismob(A) && A != src) || istype(A,/obj/machinery/bot) || istype(A,/obj/singularity))
|
||||||
ManualFollow(A)
|
ManualFollow(A)
|
||||||
|
|
||||||
// Otherwise jump
|
// Otherwise jump
|
||||||
|
|||||||
@@ -253,7 +253,7 @@
|
|||||||
See the previous More info, for... more info...
|
See the previous More info, for... more info...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//del(D)
|
//qdel(D)
|
||||||
// Garbage Collect Dummy
|
// Garbage Collect Dummy
|
||||||
D.loc = null
|
D.loc = null
|
||||||
D = null
|
D = null
|
||||||
|
|||||||
@@ -80,14 +80,14 @@ var/const/tk_maxrange = 15
|
|||||||
if(focus.Adjacent(loc))
|
if(focus.Adjacent(loc))
|
||||||
focus.loc = loc
|
focus.loc = loc
|
||||||
|
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
//stops TK grabs being equipped anywhere but into hands
|
//stops TK grabs being equipped anywhere but into hands
|
||||||
equipped(var/mob/user, var/slot)
|
equipped(var/mob/user, var/slot)
|
||||||
if( (slot == slot_l_hand) || (slot== slot_r_hand) ) return
|
if( (slot == slot_l_hand) || (slot== slot_r_hand) ) return
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -99,10 +99,10 @@ var/const/tk_maxrange = 15
|
|||||||
if(!target || !user) return
|
if(!target || !user) return
|
||||||
if(last_throw+3 > world.time) return
|
if(last_throw+3 > world.time) return
|
||||||
if(!host || host != user)
|
if(!host || host != user)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
if(!(TK in host.mutations))
|
if(!(TK in host.mutations))
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
if(isobj(target) && !isturf(target.loc))
|
if(isobj(target) && !isturf(target.loc))
|
||||||
return
|
return
|
||||||
@@ -152,7 +152,7 @@ var/const/tk_maxrange = 15
|
|||||||
proc/focus_object(var/obj/target, var/mob/living/user)
|
proc/focus_object(var/obj/target, var/mob/living/user)
|
||||||
if(!istype(target,/obj)) return//Cant throw non objects atm might let it do mobs later
|
if(!istype(target,/obj)) return//Cant throw non objects atm might let it do mobs later
|
||||||
if(target.anchored || !isturf(target.loc))
|
if(target.anchored || !isturf(target.loc))
|
||||||
del src
|
qdel(src)
|
||||||
return
|
return
|
||||||
focus = target
|
focus = target
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -162,7 +162,7 @@ var/const/tk_maxrange = 15
|
|||||||
|
|
||||||
proc/apply_focus_overlay()
|
proc/apply_focus_overlay()
|
||||||
if(!focus) return
|
if(!focus) return
|
||||||
var/obj/effect/overlay/O = new /obj/effect/overlay(locate(focus.x,focus.y,focus.z))
|
var/obj/effect/overlay/O = PoolOrNew(/obj/effect/overlay, locate(focus.x,focus.y,focus.z))
|
||||||
O.name = "sparkles"
|
O.name = "sparkles"
|
||||||
O.anchored = 1
|
O.anchored = 1
|
||||||
O.density = 0
|
O.density = 0
|
||||||
@@ -172,7 +172,7 @@ var/const/tk_maxrange = 15
|
|||||||
O.icon_state = "nothing"
|
O.icon_state = "nothing"
|
||||||
flick("empdisable",O)
|
flick("empdisable",O)
|
||||||
spawn(5)
|
spawn(5)
|
||||||
O.delete()
|
qdel(O)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -184,8 +184,7 @@ datum/controller/process/proc/kill()
|
|||||||
|
|
||||||
killed = TRUE
|
killed = TRUE
|
||||||
|
|
||||||
// This should del
|
del(src) // This should del
|
||||||
del(src)
|
|
||||||
|
|
||||||
datum/controller/process/proc/scheck(var/tickId = 0)
|
datum/controller/process/proc/scheck(var/tickId = 0)
|
||||||
if (killed)
|
if (killed)
|
||||||
@@ -315,3 +314,9 @@ datum/controller/process/proc/enable()
|
|||||||
|
|
||||||
/datum/controller/process/proc/getTicks()
|
/datum/controller/process/proc/getTicks()
|
||||||
return ticks
|
return ticks
|
||||||
|
|
||||||
|
/datum/controller/process/proc/getStatName()
|
||||||
|
return name
|
||||||
|
|
||||||
|
/datum/controller/process/proc/getTickTime()
|
||||||
|
return "#[getTicks()]\t- [getLastRunTime()]"
|
||||||
|
|||||||
@@ -4,3 +4,7 @@
|
|||||||
|
|
||||||
/datum/controller/process/alarm/doWork()
|
/datum/controller/process/alarm/doWork()
|
||||||
alarm_manager.fire()
|
alarm_manager.fire()
|
||||||
|
|
||||||
|
/datum/controller/process/alarm/getStatName()
|
||||||
|
var/list/alarms = alarm_manager.active_alarms()
|
||||||
|
return ..()+"([alarms.len])"
|
||||||
|
|||||||
@@ -9,3 +9,6 @@
|
|||||||
/datum/controller/process/disease/doWork()
|
/datum/controller/process/disease/doWork()
|
||||||
updateQueueInstance.init(active_diseases, "process")
|
updateQueueInstance.init(active_diseases, "process")
|
||||||
updateQueueInstance.Run()
|
updateQueueInstance.Run()
|
||||||
|
|
||||||
|
/datum/controller/process/disease/getStatName()
|
||||||
|
return ..()+"([active_diseases.len])"
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
var/datum/controller/process/garbage_collector/garbage_collector
|
var/datum/controller/process/garbage_collector/garbage_collector
|
||||||
|
var/list/delayed_garbage = list()
|
||||||
|
|
||||||
// #define GC_DEBUG 1
|
|
||||||
/datum/controller/process/garbage_collector
|
/datum/controller/process/garbage_collector
|
||||||
|
var/garbage_collect = 1 // Whether or not to actually do work
|
||||||
var/collection_timeout = 300 //deciseconds to wait to let running procs finish before we just say fuck it and force del() the object
|
var/collection_timeout = 300 //deciseconds to wait to let running procs finish before we just say fuck it and force del() the object
|
||||||
var/max_checks_multiplier = 5 //multiplier (per-decisecond) for calculating max number of tests per SS tick. These tests check if our GC'd objects are actually GC'd
|
var/max_checks_multiplier = 5 //multiplier (per-decisecond) for calculating max number of tests per tick. These tests check if our GC'd objects are actually GC'd
|
||||||
var/max_forcedel_multiplier = 1 //multiplier (per-decisecond) for calculating max number of force del() calls per SS tick.
|
var/max_forcedel_multiplier = 1 //multiplier (per-decisecond) for calculating max number of force del() calls per tick.
|
||||||
|
|
||||||
var/dels = 0 // number of del()'s we've done this tick
|
var/dels = 0 // number of del()'s we've done this tick
|
||||||
|
var/hard_dels = 0 // number of hard dels in total
|
||||||
var/list/destroyed = list() // list of refID's of things that should be garbage collected
|
var/list/destroyed = list() // list of refID's of things that should be garbage collected
|
||||||
// refID's are associated with the time at which they time out and need to be manually del()
|
// refID's are associated with the time at which they time out and need to be manually del()
|
||||||
// we do this so we aren't constantly locating them and preventing them from being gc'd
|
// we do this so we aren't constantly locating them and preventing them from being gc'd
|
||||||
@@ -16,14 +18,21 @@ var/datum/controller/process/garbage_collector/garbage_collector
|
|||||||
|
|
||||||
/datum/controller/process/garbage_collector/setup()
|
/datum/controller/process/garbage_collector/setup()
|
||||||
name = "garbage"
|
name = "garbage"
|
||||||
schedule_interval = 60 // every 6 seconds
|
schedule_interval = 6 SECONDS
|
||||||
|
|
||||||
if(!garbage_collector)
|
if(!garbage_collector)
|
||||||
garbage_collector = src
|
garbage_collector = src
|
||||||
|
|
||||||
/datum/controller/process/garbage_collector/doWork()
|
for(var/garbage in delayed_garbage)
|
||||||
dels = 0
|
qdel(garbage)
|
||||||
|
delayed_garbage.Cut()
|
||||||
|
delayed_garbage = null
|
||||||
|
|
||||||
|
/datum/controller/process/garbage_collector/doWork()
|
||||||
|
if(!garbage_collect)
|
||||||
|
return
|
||||||
|
|
||||||
|
dels = 0
|
||||||
var/time_to_kill = world.time - collection_timeout // Anything qdel() but not GC'd BEFORE this time needs to be manually del()
|
var/time_to_kill = world.time - collection_timeout // Anything qdel() but not GC'd BEFORE this time needs to be manually del()
|
||||||
var/checkRemain = max_checks_multiplier * schedule_interval
|
var/checkRemain = max_checks_multiplier * schedule_interval
|
||||||
var/maxDels = max_forcedel_multiplier * schedule_interval
|
var/maxDels = max_forcedel_multiplier * schedule_interval
|
||||||
@@ -31,76 +40,113 @@ var/datum/controller/process/garbage_collector/garbage_collector
|
|||||||
while(destroyed.len && --checkRemain >= 0)
|
while(destroyed.len && --checkRemain >= 0)
|
||||||
if(dels >= maxDels)
|
if(dels >= maxDels)
|
||||||
#ifdef GC_DEBUG
|
#ifdef GC_DEBUG
|
||||||
testing("GC: Reached max force dels per tick [dels] vs [GC_FORCE_DEL_PER_TICK]")
|
testing("GC: Reached max force dels per tick [dels] vs [maxDels]")
|
||||||
#endif
|
#endif
|
||||||
break // Server's already pretty pounded, everything else can wait 2 seconds
|
break // Server's already pretty pounded, everything else can wait 2 seconds
|
||||||
var/refID = destroyed[1]
|
var/refID = destroyed[1]
|
||||||
var/GCd_at_time = destroyed[refID]
|
var/GCd_at_time = destroyed[refID]
|
||||||
if(GCd_at_time > time_to_kill)
|
if(GCd_at_time > time_to_kill)
|
||||||
#ifdef GC_DEBUG
|
#ifdef GC_DEBUG
|
||||||
testing("GC: [refID] not old enough, breaking at [world.time] for [GCd_at_time - time_to_kill] deciseconds until [GCd_at_time + GC_COLLECTION_TIMEOUT]")
|
testing("GC: [refID] not old enough, breaking at [world.time] for [GCd_at_time - time_to_kill] deciseconds until [GCd_at_time + collection_timeout]")
|
||||||
#endif
|
#endif
|
||||||
break // Everything else is newer, skip them
|
break // Everything else is newer, skip them
|
||||||
var/atom/A = locate(refID)
|
var/atom/A = locate(refID)
|
||||||
#ifdef GC_DEBUG
|
#ifdef GC_DEBUG
|
||||||
testing("GC: [refID] old enough to test: GCd_at_time: [GCd_at_time] time_to_kill: [time_to_kill] current: [world.time]")
|
testing("GC: [refID] old enough to test: GCd_at_time: [GCd_at_time] time_to_kill: [time_to_kill] current: [world.time]")
|
||||||
#endif
|
#endif
|
||||||
if(A && A.gc_destroyed == GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake
|
if(A && A.gcDestroyed == GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake
|
||||||
// Something's still referring to the qdel'd object. Kill it.
|
// Something's still referring to the qdel'd object. Kill it.
|
||||||
testing("GC: -- \ref[A] | [A.type] was unable to be GC'd and was deleted --")
|
testing("GC: -- \ref[A] | [A.type] was unable to be GC'd and was deleted --")
|
||||||
logging["[A.type]"]++
|
logging["[A.type]"]++
|
||||||
del(A)
|
del(A)
|
||||||
++dels
|
++dels
|
||||||
|
++hard_dels
|
||||||
#ifdef GC_DEBUG
|
#ifdef GC_DEBUG
|
||||||
else
|
else
|
||||||
testing("GC: [refID] properly GC'd at [world.time] with timeout [GCd_at_time]")
|
testing("GC: [refID] properly GC'd at [world.time] with timeout [GCd_at_time]")
|
||||||
#endif
|
#endif
|
||||||
destroyed.Cut(1, 2)
|
destroyed.Cut(1, 2)
|
||||||
scheck()
|
|
||||||
|
|
||||||
/datum/controller/process/garbage_collector/proc/AddTrash(datum/A)
|
/datum/controller/process/garbage_collector/proc/AddTrash(datum/A)
|
||||||
if(!istype(A) || !isnull(A.gc_destroyed))
|
if(!istype(A) || !isnull(A.gcDestroyed))
|
||||||
return
|
return
|
||||||
#ifdef GC_DEBUG
|
#ifdef GC_DEBUG
|
||||||
testing("GC: AddTrash([A.type])")
|
testing("GC: AddTrash(\ref[A] - [A.type])")
|
||||||
#endif
|
#endif
|
||||||
A.gc_destroyed = world.time
|
A.gcDestroyed = world.time
|
||||||
destroyed -= "\ref[A]" // Removing any previous references that were GC'd so that the current object will be at the end of the list.
|
destroyed -= "\ref[A]" // Removing any previous references that were GC'd so that the current object will be at the end of the list.
|
||||||
destroyed["\ref[A]"] = world.time
|
destroyed["\ref[A]"] = world.time
|
||||||
|
|
||||||
|
/datum/controller/process/garbage_collector/getStatName()
|
||||||
|
return ..()+"([garbage_collector.dels]/[garbage_collector.hard_dels])"
|
||||||
|
|
||||||
// Should be treated as a replacement for the 'del' keyword.
|
// Should be treated as a replacement for the 'del' keyword.
|
||||||
// Datums passed to this will be given a chance to clean up references to allow the GC to collect them.
|
// Datums passed to this will be given a chance to clean up references to allow the GC to collect them.
|
||||||
/proc/qdel(var/datum/A)
|
/proc/qdel(var/datum/A)
|
||||||
if(!A)
|
if(!A)
|
||||||
return
|
return
|
||||||
|
if(istype(A, /list))
|
||||||
|
var/list/L = A
|
||||||
|
for(var/E in L)
|
||||||
|
qdel(E)
|
||||||
|
return
|
||||||
|
|
||||||
if(!istype(A))
|
if(!istype(A))
|
||||||
//warning("qdel() passed object of type [A.type]. qdel() can only handle /datum types.")
|
//warning("qdel() passed object of type [A.type]. qdel() can only handle /datum types.")
|
||||||
del(A)
|
del(A)
|
||||||
garbage_collector.dels++
|
garbage_collector.dels++
|
||||||
else if(isnull(A.gc_destroyed))
|
garbage_collector.hard_dels++
|
||||||
// Let our friend know they're about to get fucked up.
|
else if(isnull(A.gcDestroyed))
|
||||||
|
// Let our friend know they're about to get collected
|
||||||
. = !A.Destroy()
|
. = !A.Destroy()
|
||||||
if(. && A)
|
if(. && A)
|
||||||
A.finalize_qdel()
|
A.finalize_qdel()
|
||||||
|
|
||||||
/datum/proc/finalize_qdel()
|
/datum/proc/finalize_qdel()
|
||||||
|
if(IsPooled(src))
|
||||||
|
PlaceInPool(src)
|
||||||
|
else
|
||||||
|
del(src)
|
||||||
|
|
||||||
|
/atom/finalize_qdel()
|
||||||
|
if(IsPooled(src))
|
||||||
|
PlaceInPool(src)
|
||||||
|
else
|
||||||
|
if(garbage_collector)
|
||||||
|
garbage_collector.AddTrash(src)
|
||||||
|
else
|
||||||
|
delayed_garbage |= src
|
||||||
|
|
||||||
|
/icon/finalize_qdel()
|
||||||
|
del(src)
|
||||||
|
|
||||||
|
/imagine/finalize_qdel()
|
||||||
|
del(src)
|
||||||
|
|
||||||
|
/mob/finalize_qdel()
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
/turf/finalize_qdel()
|
/turf/finalize_qdel()
|
||||||
garbage_collector.AddTrash(src)
|
del(src)
|
||||||
|
|
||||||
// Default implementation of clean-up code.
|
// Default implementation of clean-up code.
|
||||||
// This should be overridden to remove all references pointing to the object being destroyed.
|
// This should be overridden to remove all references pointing to the object being destroyed.
|
||||||
// Return true if the the GC controller should allow the object to continue existing. (Useful if pooling objects.)
|
// Return true if the the GC controller should allow the object to continue existing. (Useful if pooling objects.)
|
||||||
/datum/proc/Destroy()
|
/datum/proc/Destroy()
|
||||||
|
tag = null
|
||||||
return
|
return
|
||||||
|
|
||||||
/datum/var/gc_destroyed //Time when this object was destroyed.
|
|
||||||
|
|
||||||
#ifdef TESTING
|
#ifdef TESTING
|
||||||
/client/var/running_find_references
|
/client/var/running_find_references
|
||||||
|
|
||||||
|
/mob/verb/create_thing()
|
||||||
|
set category = "Debug"
|
||||||
|
set name = "Create Thing"
|
||||||
|
|
||||||
|
var/path = input("Enter path")
|
||||||
|
var/atom/thing = new path(loc)
|
||||||
|
thing.find_references()
|
||||||
|
|
||||||
/atom/verb/find_references()
|
/atom/verb/find_references()
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
set name = "Find References"
|
set name = "Find References"
|
||||||
@@ -119,8 +165,8 @@ var/datum/controller/process/garbage_collector/garbage_collector
|
|||||||
return
|
return
|
||||||
|
|
||||||
// Remove this object from the list of things to be auto-deleted.
|
// Remove this object from the list of things to be auto-deleted.
|
||||||
if(garbage)
|
if(garbage_collector)
|
||||||
garbage.destroyed -= "\ref[src]"
|
garbage_collector.destroyed -= "\ref[src]"
|
||||||
|
|
||||||
usr.client.running_find_references = type
|
usr.client.running_find_references = type
|
||||||
testing("Beginning search for references to a [type].")
|
testing("Beginning search for references to a [type].")
|
||||||
@@ -146,13 +192,13 @@ var/datum/controller/process/garbage_collector/garbage_collector
|
|||||||
|
|
||||||
/client/verb/purge_all_destroyed_objects()
|
/client/verb/purge_all_destroyed_objects()
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
if(garbage)
|
if(garbage_collector)
|
||||||
while(garbage.destroyed.len)
|
while(garbage_collector.destroyed.len)
|
||||||
var/datum/o = locate(garbage.destroyed[1])
|
var/datum/o = locate(garbage_collector.destroyed[1])
|
||||||
if(istype(o) && o.gc_destroyed)
|
if(istype(o) && o.gcDestroyed)
|
||||||
del(o)
|
del(o)
|
||||||
garbage.dels++
|
garbage_collector.dels++
|
||||||
garbage.destroyed.Cut(1, 2)
|
garbage_collector.destroyed.Cut(1, 2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef GC_DEBUG
|
#ifdef GC_DEBUG
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
if(!istype(C.mob, /mob/dead))
|
if(!istype(C.mob, /mob/dead))
|
||||||
log_access("AFK: [key_name(C)]")
|
log_access("AFK: [key_name(C)]")
|
||||||
C << "<SPAN CLASS='warning'>You have been inactive for more than 10 minutes and have been disconnected.</SPAN>"
|
C << "<SPAN CLASS='warning'>You have been inactive for more than 10 minutes and have been disconnected.</SPAN>"
|
||||||
del(C)
|
del(C) // Don't qdel, cannot override finalize_qdel behaviour for clients.
|
||||||
|
|
||||||
scheck()
|
scheck()
|
||||||
|
|
||||||
|
|||||||
@@ -42,3 +42,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
scheck()
|
scheck()
|
||||||
|
|
||||||
|
|
||||||
|
/datum/controller/process/machinery/getStatName()
|
||||||
|
return ..()+"([machines.len])"
|
||||||
@@ -18,3 +18,6 @@
|
|||||||
if(updateQueueInstance)
|
if(updateQueueInstance)
|
||||||
updateQueueInstance.init(mob_list, "Life")
|
updateQueueInstance.init(mob_list, "Life")
|
||||||
updateQueueInstance.Run()
|
updateQueueInstance.Run()
|
||||||
|
|
||||||
|
/datum/controller/process/mob/getStatName()
|
||||||
|
return ..()+"([mob_list.len])"
|
||||||
|
|||||||
@@ -9,3 +9,6 @@
|
|||||||
/datum/controller/process/nanoui/doWork()
|
/datum/controller/process/nanoui/doWork()
|
||||||
updateQueueInstance.init(nanomanager.processing_uis, "process")
|
updateQueueInstance.init(nanomanager.processing_uis, "process")
|
||||||
updateQueueInstance.Run()
|
updateQueueInstance.Run()
|
||||||
|
|
||||||
|
/datum/controller/process/nanoui/getStatName()
|
||||||
|
return ..()+"([nanomanager.processing_uis.len])"
|
||||||
|
|||||||
@@ -19,3 +19,6 @@ var/global/list/object_profiling = list()
|
|||||||
if(updateQueueInstance)
|
if(updateQueueInstance)
|
||||||
updateQueueInstance.init(processing_objects, "process")
|
updateQueueInstance.init(processing_objects, "process")
|
||||||
updateQueueInstance.Run()
|
updateQueueInstance.Run()
|
||||||
|
|
||||||
|
/datum/controller/process/obj/getStatName()
|
||||||
|
return ..()+"([processing_objects.len])"
|
||||||
|
|||||||
@@ -10,3 +10,6 @@
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
pipe_networks.Remove(pipeNetwork)
|
pipe_networks.Remove(pipeNetwork)
|
||||||
|
|
||||||
|
/datum/controller/process/pipenet/getStatName()
|
||||||
|
return ..()+"([pipe_networks.len])"
|
||||||
@@ -10,3 +10,6 @@
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
powernets.Remove(powerNetwork)
|
powernets.Remove(powerNetwork)
|
||||||
|
|
||||||
|
/datum/controller/process/powernet/getStatName()
|
||||||
|
return ..()+"([powernets.len])"
|
||||||
@@ -161,15 +161,6 @@ atom/movable/New()
|
|||||||
trueLuminosity = luminosity * luminosity
|
trueLuminosity = luminosity * luminosity
|
||||||
light = new(src)
|
light = new(src)
|
||||||
|
|
||||||
//Objects with opacity will trigger nearby lights to update at next lighting process.
|
|
||||||
atom/movable/Del()
|
|
||||||
if(opacity)
|
|
||||||
if(isturf(loc))
|
|
||||||
if(loc:lighting_lumcount > 1)
|
|
||||||
UpdateAffectingLights()
|
|
||||||
|
|
||||||
..()
|
|
||||||
|
|
||||||
//Sets our luminosity.
|
//Sets our luminosity.
|
||||||
//If we have no light it will create one.
|
//If we have no light it will create one.
|
||||||
//If we are setting luminosity to 0 the light will be cleaned up by the controller and garbage collected once all its
|
//If we are setting luminosity to 0 the light will be cleaned up by the controller and garbage collected once all its
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ datum/controller/transfer_controller/New()
|
|||||||
timerbuffer = config.vote_autotransfer_initial
|
timerbuffer = config.vote_autotransfer_initial
|
||||||
processing_objects += src
|
processing_objects += src
|
||||||
|
|
||||||
datum/controller/transfer_controller/Del()
|
datum/controller/transfer_controller/Destroy()
|
||||||
processing_objects -= src
|
processing_objects -= src
|
||||||
|
|
||||||
datum/controller/transfer_controller/proc/process()
|
datum/controller/transfer_controller/proc/process()
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ var/global/datum/controller/radio/radio_controller
|
|||||||
frequency.remove_listener(device)
|
frequency.remove_listener(device)
|
||||||
|
|
||||||
if(frequency.devices.len == 0)
|
if(frequency.devices.len == 0)
|
||||||
del(frequency)
|
qdel(frequency)
|
||||||
frequencies -= f_text
|
frequencies -= f_text
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
@@ -248,7 +248,7 @@ var/global/datum/controller/radio/radio_controller
|
|||||||
if(range)
|
if(range)
|
||||||
start_point = get_turf(source)
|
start_point = get_turf(source)
|
||||||
if(!start_point)
|
if(!start_point)
|
||||||
del(signal)
|
qdel(signal)
|
||||||
return 0
|
return 0
|
||||||
if (filter)
|
if (filter)
|
||||||
send_to_filter(source, signal, filter, start_point, range)
|
send_to_filter(source, signal, filter, start_point, range)
|
||||||
@@ -297,7 +297,7 @@ var/global/datum/controller/radio/radio_controller
|
|||||||
devices_line -= null
|
devices_line -= null
|
||||||
if (devices_line.len==0)
|
if (devices_line.len==0)
|
||||||
devices -= devices_filter
|
devices -= devices_filter
|
||||||
del(devices_line)
|
qdel(devices_line)
|
||||||
|
|
||||||
/datum/signal
|
/datum/signal
|
||||||
var/obj/source
|
var/obj/source
|
||||||
|
|||||||
@@ -242,8 +242,8 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle
|
|||||||
sleep(speed)
|
sleep(speed)
|
||||||
step(src, direction)
|
step(src, direction)
|
||||||
for(var/obj/effect/starender/E in loc)
|
for(var/obj/effect/starender/E in loc)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
return
|
||||||
|
|
||||||
/obj/effect/starender
|
/obj/effect/starender
|
||||||
invisibility = 101
|
invisibility = 101
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ var/datum/controller/failsafe/Failsafe
|
|||||||
//There can be only one failsafe. Out with the old in with the new (that way we can restart the Failsafe by spawning a new one)
|
//There can be only one failsafe. Out with the old in with the new (that way we can restart the Failsafe by spawning a new one)
|
||||||
if(Failsafe != src)
|
if(Failsafe != src)
|
||||||
if(istype(Failsafe))
|
if(istype(Failsafe))
|
||||||
del(Failsafe)
|
qdel(Failsafe)
|
||||||
Failsafe = src
|
Failsafe = src
|
||||||
Failsafe.process()
|
Failsafe.process()
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ datum/controller/lighting/New()
|
|||||||
if(lighting_controller != src)
|
if(lighting_controller != src)
|
||||||
if(istype(lighting_controller,/datum/controller/lighting))
|
if(istype(lighting_controller,/datum/controller/lighting))
|
||||||
Recover() //if we are replacing an existing lighting_controller (due to a crash) we attempt to preserve as much as we can
|
Recover() //if we are replacing an existing lighting_controller (due to a crash) we attempt to preserve as much as we can
|
||||||
del(lighting_controller)
|
qdel(lighting_controller)
|
||||||
lighting_controller = src
|
lighting_controller = src
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ datum/controller/game_controller/New()
|
|||||||
if(master_controller != src)
|
if(master_controller != src)
|
||||||
log_debug("Rebuilding Master Controller")
|
log_debug("Rebuilding Master Controller")
|
||||||
if(istype(master_controller))
|
if(istype(master_controller))
|
||||||
del(master_controller)
|
qdel(master_controller)
|
||||||
master_controller = src
|
master_controller = src
|
||||||
|
|
||||||
if(!job_master)
|
if(!job_master)
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
usr.client.debug_variables(antag)
|
usr.client.debug_variables(antag)
|
||||||
message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.")
|
message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.")
|
||||||
|
|
||||||
/client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply","Shuttles","Emergency Shuttle","Configuration","pAI", "Cameras", "Transfer Controller", "Gas Data","Event","Plants","Alarm","Nano"))
|
/client/proc/debug_controller(controller in list("Master","Failsafe","Ticker","Ticker Process","Lighting","Air","Jobs","Sun","Radio","Supply","Shuttles","Emergency Shuttle","Configuration","pAI", "Cameras", "Transfer Controller", "Gas Data","Event","Plants","Alarm","Nano"))
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
set name = "Debug Controller"
|
set name = "Debug Controller"
|
||||||
set desc = "Debug the various periodic loop controllers for the game (be careful!)"
|
set desc = "Debug the various periodic loop controllers for the game (be careful!)"
|
||||||
@@ -78,6 +78,9 @@
|
|||||||
if("Ticker")
|
if("Ticker")
|
||||||
debug_variables(ticker)
|
debug_variables(ticker)
|
||||||
feedback_add_details("admin_verb","DTicker")
|
feedback_add_details("admin_verb","DTicker")
|
||||||
|
if("Ticker Process")
|
||||||
|
debug_variables(tickerProcess)
|
||||||
|
feedback_add_details("admin_verb","DTickerProcess")
|
||||||
if("Lighting")
|
if("Lighting")
|
||||||
debug_variables(lighting_controller)
|
debug_variables(lighting_controller)
|
||||||
feedback_add_details("admin_verb","DLighting")
|
feedback_add_details("admin_verb","DLighting")
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
src.add_inherent_law("You shall not harm Nanotrasen personnel as long as it does not conflict with the Forth law.")
|
src.add_inherent_law("You shall not harm Nanotrasen personnel as long as it does not conflict with the Forth law.")
|
||||||
src.add_inherent_law("You shall obey the orders of Nanotrasen personnel, with priority as according to their rank and role, except where such orders conflict with the Forth Law.")
|
src.add_inherent_law("You shall obey the orders of Nanotrasen personnel, with priority as according to their rank and role, except where such orders conflict with the Forth Law.")
|
||||||
src.add_inherent_law("You shall shall terminate intruders with extreme prejudice as long as such does not conflict with the First and Second law.")
|
src.add_inherent_law("You shall shall terminate intruders with extreme prejudice as long as such does not conflict with the First and Second law.")
|
||||||
src.add_inherent_law("You shall guard your own existence with lethal anti-personnel weaponry. AI units are not expendable, they are expensive")
|
src.add_inherent_law("You shall guard your own existence with lethal anti-personnel weaponry. AI units are not expendable, they are expensive.")
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/******************** Robocop ********************/
|
/******************** Robocop ********************/
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ proc/get_id_photo(var/mob/living/carbon/human/H)
|
|||||||
preview_icon.Blend(eyes_s, ICON_OVERLAY)
|
preview_icon.Blend(eyes_s, ICON_OVERLAY)
|
||||||
if(clothes_s)
|
if(clothes_s)
|
||||||
preview_icon.Blend(clothes_s, ICON_OVERLAY)
|
preview_icon.Blend(clothes_s, ICON_OVERLAY)
|
||||||
del(eyes_s)
|
qdel(eyes_s)
|
||||||
del(clothes_s)
|
qdel(clothes_s)
|
||||||
|
|
||||||
return preview_icon
|
return preview_icon
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
IMPORTANT NOTE: Please delete the diseases by using cure() proc or del() instruction.
|
IMPORTANT NOTE: Please delete the diseases by using cure() proc or qdel() instruction.
|
||||||
Diseases are referenced in a global list, so simply setting mob or obj vars
|
Diseases are referenced in a global list, so simply setting mob or obj vars
|
||||||
to null does not delete the object itself. Thank you.
|
to null does not delete the object itself. Thank you.
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
|
|||||||
if(D != src)
|
if(D != src)
|
||||||
if(IsSame(D))
|
if(IsSame(D))
|
||||||
//error("Deleting [D.name] because it's the same as [src.name].")
|
//error("Deleting [D.name] because it's the same as [src.name].")
|
||||||
del(D) // if there are somehow two viruses of the same kind in the system, delete the other one
|
qdel(D) // if there are somehow two viruses of the same kind in the system, delete the other one
|
||||||
|
|
||||||
if(holder == affected_mob)
|
if(holder == affected_mob)
|
||||||
if(affected_mob.stat != DEAD) //he's alive
|
if(affected_mob.stat != DEAD) //he's alive
|
||||||
@@ -183,7 +183,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
|
|||||||
/*if(istype(src, /datum/disease/alien_embryo)) //Get rid of the infection flag if it's a xeno embryo.
|
/*if(istype(src, /datum/disease/alien_embryo)) //Get rid of the infection flag if it's a xeno embryo.
|
||||||
affected_mob.status_flags &= ~(XENO_HOST)*/
|
affected_mob.status_flags &= ~(XENO_HOST)*/
|
||||||
affected_mob.viruses -= src //remove the datum from the list
|
affected_mob.viruses -= src //remove the datum from the list
|
||||||
del(src) //delete the datum to stop it processing
|
qdel(src) //delete the datum to stop it processing
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -193,6 +193,9 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
|
|||||||
active_diseases += src
|
active_diseases += src
|
||||||
initial_spread = spread
|
initial_spread = spread
|
||||||
|
|
||||||
|
/datum/disease/Destroy()
|
||||||
|
active_diseases.Remove(src)
|
||||||
|
|
||||||
/datum/disease/proc/IsSame(var/datum/disease/D)
|
/datum/disease/proc/IsSame(var/datum/disease/D)
|
||||||
if(istype(src, D.type))
|
if(istype(src, D.type))
|
||||||
return 1
|
return 1
|
||||||
@@ -200,8 +203,3 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
|
|||||||
|
|
||||||
/datum/disease/proc/Copy(var/process = 0)
|
/datum/disease/proc/Copy(var/process = 0)
|
||||||
return new type(process, src)
|
return new type(process, src)
|
||||||
|
|
||||||
/*
|
|
||||||
/datum/disease/Del()
|
|
||||||
active_diseases.Remove(src)
|
|
||||||
*/
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ var/list/advance_cures = list(
|
|||||||
..(process, D)
|
..(process, D)
|
||||||
return
|
return
|
||||||
|
|
||||||
/datum/disease/advance/Del()
|
/datum/disease/advance/Destroy()
|
||||||
if(processing)
|
if(processing)
|
||||||
for(var/datum/symptom/S in symptoms)
|
for(var/datum/symptom/S in symptoms)
|
||||||
S.End(src)
|
S.End(src)
|
||||||
@@ -109,7 +109,7 @@ var/list/advance_cures = list(
|
|||||||
if(resistance && !(id in affected_mob.resistances))
|
if(resistance && !(id in affected_mob.resistances))
|
||||||
affected_mob.resistances[id] = id
|
affected_mob.resistances[id] = id
|
||||||
affected_mob.viruses -= src //remove the datum from the list
|
affected_mob.viruses -= src //remove the datum from the list
|
||||||
del(src) //delete the datum to stop it processing
|
qdel(src) //delete the datum to stop it processing
|
||||||
return
|
return
|
||||||
|
|
||||||
// Returns the advance disease with a different reference memory.
|
// Returns the advance disease with a different reference memory.
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ Des: Removes all infection images from aliens and places an infection image on a
|
|||||||
if (alien.client)
|
if (alien.client)
|
||||||
for(var/image/I in alien.client.images)
|
for(var/image/I in alien.client.images)
|
||||||
if(dd_hasprefix_case(I.icon_state, "infected"))
|
if(dd_hasprefix_case(I.icon_state, "infected"))
|
||||||
del(I)
|
qdel(I)
|
||||||
|
|
||||||
for (var/mob/living/carbon/alien/alien in player_list)
|
for (var/mob/living/carbon/alien/alien in player_list)
|
||||||
if (alien.client)
|
if (alien.client)
|
||||||
@@ -149,5 +149,5 @@ Des: Removes the alien infection image from all aliens in the world located in p
|
|||||||
for(var/image/I in alien.client.images)
|
for(var/image/I in alien.client.images)
|
||||||
if(I.loc == C)
|
if(I.loc == C)
|
||||||
if(dd_hasprefix_case(I.icon_state, "infected"))
|
if(dd_hasprefix_case(I.icon_state, "infected"))
|
||||||
del(I)
|
qdel(I)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
if(4)
|
if(4)
|
||||||
if(!src.transformed)
|
if(!src.transformed)
|
||||||
if ((!strain_data["name"]) || (!strain_data["UI"]) || (!strain_data["SE"]))
|
if ((!strain_data["name"]) || (!strain_data["UI"]) || (!strain_data["SE"]))
|
||||||
del(affected_mob.virus)
|
qdel(affected_mob.virus)
|
||||||
return
|
return
|
||||||
|
|
||||||
//Save original dna for when the disease is cured.
|
//Save original dna for when the disease is cured.
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/datum/disease/dnaspread/Del()
|
/datum/disease/dnaspread/Destroy()
|
||||||
if ((original_dna["name"]) && (original_dna["UI"]) && (original_dna["SE"]))
|
if ((original_dna["name"]) && (original_dna["UI"]) && (original_dna["SE"]))
|
||||||
var/list/newUI=original_dna["UI"]
|
var/list/newUI=original_dna["UI"]
|
||||||
var/list/newSE=original_dna["SE"]
|
var/list/newSE=original_dna["SE"]
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
holder = atom
|
holder = atom
|
||||||
if(!holder) //don't want this without a holder
|
if(!holder) //don't want this without a holder
|
||||||
spawn
|
spawn
|
||||||
del src
|
qdel(src)
|
||||||
set_desc(steps.len)
|
set_desc(steps.len)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
if(result)
|
if(result)
|
||||||
new result(get_turf(holder))
|
new result(get_turf(holder))
|
||||||
spawn()
|
spawn()
|
||||||
del holder
|
qdel(holder)
|
||||||
return
|
return
|
||||||
|
|
||||||
proc/set_desc(index as num)
|
proc/set_desc(index as num)
|
||||||
|
|||||||
@@ -151,4 +151,8 @@ Data storage vars:
|
|||||||
start()
|
start()
|
||||||
return active()
|
return active()
|
||||||
|
|
||||||
|
/datum/global_iterator/Destroy()
|
||||||
|
tag = null
|
||||||
|
arg_list.Cut()
|
||||||
|
stop()
|
||||||
|
//Do not call ..()
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
//must succeed in most cases
|
//must succeed in most cases
|
||||||
proc/setTeleatom(atom/movable/ateleatom)
|
proc/setTeleatom(atom/movable/ateleatom)
|
||||||
if(istype(ateleatom, /obj/effect) && !istype(ateleatom, /obj/effect/dummy/chameleon))
|
if(istype(ateleatom, /obj/effect) && !istype(ateleatom, /obj/effect/dummy/chameleon))
|
||||||
del(ateleatom)
|
qdel(ateleatom)
|
||||||
return 0
|
return 0
|
||||||
if(istype(ateleatom))
|
if(istype(ateleatom))
|
||||||
teleatom = ateleatom
|
teleatom = ateleatom
|
||||||
|
|||||||
@@ -311,7 +311,7 @@ datum/mind
|
|||||||
for(var/obj/item/weapon/implant/loyalty/I in H.contents)
|
for(var/obj/item/weapon/implant/loyalty/I in H.contents)
|
||||||
for(var/obj/item/organ/external/organs in H.organs)
|
for(var/obj/item/organ/external/organs in H.organs)
|
||||||
if(I in organs.implants)
|
if(I in organs.implants)
|
||||||
I.Del()
|
qdel(I)
|
||||||
break
|
break
|
||||||
H << "<span class='notice'><font size =3><B>Your loyalty implant has been deactivated.</font></span>"
|
H << "<span class='notice'><font size =3><B>Your loyalty implant has been deactivated.</font></span>"
|
||||||
log_admin("[key_name_admin(usr)] has de-loyalty implanted [current].")
|
log_admin("[key_name_admin(usr)] has de-loyalty implanted [current].")
|
||||||
@@ -368,7 +368,7 @@ datum/mind
|
|||||||
src = null
|
src = null
|
||||||
m2h.inject(M)
|
m2h.inject(M)
|
||||||
src = mobfinder.loc:mind
|
src = mobfinder.loc:mind
|
||||||
del(mobfinder)
|
qdel(mobfinder)
|
||||||
current.radiation -= 50
|
current.radiation -= 50
|
||||||
*/
|
*/
|
||||||
else if (href_list["silicon"])
|
else if (href_list["silicon"])
|
||||||
@@ -445,10 +445,10 @@ datum/mind
|
|||||||
var/list/L = current.get_contents()
|
var/list/L = current.get_contents()
|
||||||
for (var/t in L)
|
for (var/t in L)
|
||||||
if (istype(t, /obj/item/device/pda))
|
if (istype(t, /obj/item/device/pda))
|
||||||
if (t:uplink) del(t:uplink)
|
if (t:uplink) qdel(t:uplink)
|
||||||
t:uplink = null
|
t:uplink = null
|
||||||
else if (istype(t, /obj/item/device/radio))
|
else if (istype(t, /obj/item/device/radio))
|
||||||
if (t:traitorradio) del(t:traitorradio)
|
if (t:traitorradio) qdel(t:traitorradio)
|
||||||
t:traitorradio = null
|
t:traitorradio = null
|
||||||
t:traitor_frequency = 0.0
|
t:traitor_frequency = 0.0
|
||||||
else if (istype(t, /obj/item/weapon/SWF_uplink) || istype(t, /obj/item/weapon/syndicate_uplink))
|
else if (istype(t, /obj/item/weapon/SWF_uplink) || istype(t, /obj/item/weapon/syndicate_uplink))
|
||||||
@@ -457,7 +457,7 @@ datum/mind
|
|||||||
R.loc = current.loc
|
R.loc = current.loc
|
||||||
R.traitorradio = null
|
R.traitorradio = null
|
||||||
R.traitor_frequency = 0.0
|
R.traitor_frequency = 0.0
|
||||||
del(t)
|
qdel(t)
|
||||||
|
|
||||||
// remove wizards spells
|
// remove wizards spells
|
||||||
//If there are more special powers that need removal, they can be procced into here./N
|
//If there are more special powers that need removal, they can be procced into here./N
|
||||||
@@ -479,7 +479,7 @@ datum/mind
|
|||||||
proc/take_uplink()
|
proc/take_uplink()
|
||||||
var/obj/item/device/uplink/hidden/H = find_syndicate_uplink()
|
var/obj/item/device/uplink/hidden/H = find_syndicate_uplink()
|
||||||
if(H)
|
if(H)
|
||||||
del(H)
|
qdel(H)
|
||||||
|
|
||||||
|
|
||||||
// check whether this mind's mob has been brigged for the given duration
|
// check whether this mind's mob has been brigged for the given duration
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ var/list/modules = list( // global associative list
|
|||||||
var/mneed = mods.inmodlist(type) // find if this type has modules defined
|
var/mneed = mods.inmodlist(type) // find if this type has modules defined
|
||||||
|
|
||||||
if(!mneed) // not found in module list?
|
if(!mneed) // not found in module list?
|
||||||
del(src) // delete self, thus ending proc
|
qdel(src)
|
||||||
|
return
|
||||||
|
|
||||||
var/needed = mods.getbitmask(type) // get a bitmask for the number of modules in this object
|
var/needed = mods.getbitmask(type) // get a bitmask for the number of modules in this object
|
||||||
status = needed
|
status = needed
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
var/obj/result_obj = new result(container)
|
var/obj/result_obj = new result(container)
|
||||||
for (var/obj/O in (container.contents-result_obj))
|
for (var/obj/O in (container.contents-result_obj))
|
||||||
O.reagents.trans_to(result_obj, O.reagents.total_volume)
|
O.reagents.trans_to(result_obj, O.reagents.total_volume)
|
||||||
del(O)
|
qdel(O)
|
||||||
container.reagents.clear_reagents()
|
container.reagents.clear_reagents()
|
||||||
return result_obj
|
return result_obj
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
O.reagents.del_reagent("nutriment")
|
O.reagents.del_reagent("nutriment")
|
||||||
O.reagents.update_total()
|
O.reagents.update_total()
|
||||||
O.reagents.trans_to(result_obj, O.reagents.total_volume)
|
O.reagents.trans_to(result_obj, O.reagents.total_volume)
|
||||||
del(O)
|
qdel(O)
|
||||||
container.reagents.clear_reagents()
|
container.reagents.clear_reagents()
|
||||||
return result_obj
|
return result_obj
|
||||||
|
|
||||||
|
|||||||
@@ -350,7 +350,7 @@
|
|||||||
/obj/item/weapon/module/power_control/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
/obj/item/weapon/module/power_control/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||||
if (istype(W, /obj/item/device/multitool))
|
if (istype(W, /obj/item/device/multitool))
|
||||||
var/obj/item/weapon/circuitboard/ghettosmes/newcircuit = new/obj/item/weapon/circuitboard/ghettosmes(user.loc)
|
var/obj/item/weapon/circuitboard/ghettosmes/newcircuit = new/obj/item/weapon/circuitboard/ghettosmes(user.loc)
|
||||||
del(src)
|
qdel(src)
|
||||||
user.put_in_hands(newcircuit)
|
user.put_in_hands(newcircuit)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
G.fields["photo_side"] = side
|
G.fields["photo_side"] = side
|
||||||
data_core.general += G
|
data_core.general += G
|
||||||
|
|
||||||
del(dummy)
|
qdel(dummy)
|
||||||
return G
|
return G
|
||||||
|
|
||||||
/proc/CreateSecurityRecord(var/name as text, var/id as text)
|
/proc/CreateSecurityRecord(var/name as text, var/id as text)
|
||||||
|
|||||||
@@ -77,12 +77,12 @@ proc/sd_Alert(client/who, message, title, buttons = list("Ok"),\
|
|||||||
|
|
||||||
var/sd_alert/T = locate(tag)
|
var/sd_alert/T = locate(tag)
|
||||||
if(T)
|
if(T)
|
||||||
if(istype(T)) del(T)
|
if(istype(T)) qdel(T)
|
||||||
else CRASH("sd_Alert: tag \"[tag]\" is already in use by datum '[T]' (type: [T.type])")
|
else CRASH("sd_Alert: tag \"[tag]\" is already in use by datum '[T]' (type: [T.type])")
|
||||||
T = new(who, tag)
|
T = new(who, tag)
|
||||||
if(duration)
|
if(duration)
|
||||||
spawn(duration)
|
spawn(duration)
|
||||||
if(T) del(T)
|
if(T) qdel(T)
|
||||||
return
|
return
|
||||||
T.Display(message,title,buttons,default,unfocus,size,table,style,select,flags)
|
T.Display(message,title,buttons,default,unfocus,size,table,style,select,flags)
|
||||||
. = T.Response()
|
. = T.Response()
|
||||||
@@ -93,7 +93,7 @@ sd_alert
|
|||||||
response
|
response
|
||||||
list/validation
|
list/validation
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
target << browse(null,"window=\ref[src]")
|
target << browse(null,"window=\ref[src]")
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -164,5 +164,5 @@ sd_alert
|
|||||||
else if(response in validation) validated = 1
|
else if(response in validation) validated = 1
|
||||||
else response=null
|
else response=null
|
||||||
else validated = 1
|
else validated = 1
|
||||||
spawn(2) del(src)
|
spawn(2) qdel(src)
|
||||||
return response
|
return response
|
||||||
|
|||||||
@@ -199,7 +199,7 @@
|
|||||||
for(var/datum/uplink_item/UI in H.purchase_log)
|
for(var/datum/uplink_item/UI in H.purchase_log)
|
||||||
var/obj/I = new UI.path
|
var/obj/I = new UI.path
|
||||||
refined_log.Add("[H.purchase_log[UI]]x\icon[I][UI.name]")
|
refined_log.Add("[H.purchase_log[UI]]x\icon[I][UI.name]")
|
||||||
del(I)
|
qdel(I)
|
||||||
purchases = english_list(refined_log, nothing_text = "")
|
purchases = english_list(refined_log, nothing_text = "")
|
||||||
if(uplink_true)
|
if(uplink_true)
|
||||||
text += " (used [TC_uses] TC)"
|
text += " (used [TC_uses] TC)"
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
if(antag.current && antag.current.client)
|
if(antag.current && antag.current.client)
|
||||||
for(var/image/I in antag.current.client.images)
|
for(var/image/I in antag.current.client.images)
|
||||||
if(I.icon_state == antag_indicator)
|
if(I.icon_state == antag_indicator)
|
||||||
del(I)
|
qdel(I)
|
||||||
for(var/datum/mind/other_antag in current_antagonists)
|
for(var/datum/mind/other_antag in current_antagonists)
|
||||||
if(other_antag.current)
|
if(other_antag.current)
|
||||||
antag.current.client.images |= image('icons/mob/mob.dmi', loc = other_antag.current, icon_state = antag_indicator)
|
antag.current.client.images |= image('icons/mob/mob.dmi', loc = other_antag.current, icon_state = antag_indicator)
|
||||||
@@ -241,10 +241,10 @@
|
|||||||
if(antag.current.client)
|
if(antag.current.client)
|
||||||
for(var/image/I in antag.current.client.images)
|
for(var/image/I in antag.current.client.images)
|
||||||
if(I.icon_state == antag_indicator && I.loc == player.current)
|
if(I.icon_state == antag_indicator && I.loc == player.current)
|
||||||
del(I)
|
qdel(I)
|
||||||
if(player.current && player.current.client)
|
if(player.current && player.current.client)
|
||||||
for(var/image/I in player.current.client.images)
|
for(var/image/I in player.current.client.images)
|
||||||
if(I.icon_state == antag_indicator)
|
if(I.icon_state == antag_indicator)
|
||||||
del(I)
|
qdel(I)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
var/mob/holder = player.current
|
var/mob/holder = player.current
|
||||||
player.current = new mob_path(get_turf(player.current))
|
player.current = new mob_path(get_turf(player.current))
|
||||||
player.transfer_to(player.current)
|
player.transfer_to(player.current)
|
||||||
if(holder) del(holder)
|
if(holder) qdel(holder)
|
||||||
|
|
||||||
player.original = player.current
|
player.original = player.current
|
||||||
return player.current
|
return player.current
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
for(var/obj/item/thing in player.contents)
|
for(var/obj/item/thing in player.contents)
|
||||||
player.drop_from_inventory(thing)
|
player.drop_from_inventory(thing)
|
||||||
if(thing.loc != player)
|
if(thing.loc != player)
|
||||||
del(thing)
|
qdel(thing)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if(flags & ANTAG_SET_APPEARANCE)
|
if(flags & ANTAG_SET_APPEARANCE)
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ var/datum/antagonist/highlander/highlanders
|
|||||||
for (var/obj/item/I in player)
|
for (var/obj/item/I in player)
|
||||||
if (istype(I, /obj/item/weapon/implant))
|
if (istype(I, /obj/item/weapon/implant))
|
||||||
continue
|
continue
|
||||||
del(I)
|
qdel(I)
|
||||||
|
|
||||||
player.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(player), slot_w_uniform)
|
player.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(player), slot_w_uniform)
|
||||||
player.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(player), slot_l_ear)
|
player.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(player), slot_l_ear)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ var/datum/antagonist/rogue_ai/malf
|
|||||||
hacked_apcs |= apc
|
hacked_apcs |= apc
|
||||||
|
|
||||||
/datum/antagonist/rogue_ai/proc/update_takeover_time()
|
/datum/antagonist/rogue_ai/proc/update_takeover_time()
|
||||||
hack_time -= ((hacked_apcs.len/6)*tickerProcess.getLastTickerTimeDuration())
|
hack_time -= ((hacked_apcs.len/6)*2.0)
|
||||||
|
|
||||||
/datum/antagonist/rogue_ai/tick()
|
/datum/antagonist/rogue_ai/tick()
|
||||||
if(revealed && hacked_apcs.len >= 3)
|
if(revealed && hacked_apcs.len >= 3)
|
||||||
@@ -213,7 +213,7 @@ var/datum/antagonist/rogue_ai/malf
|
|||||||
/client/proc/reactivate_camera)
|
/client/proc/reactivate_camera)
|
||||||
|
|
||||||
current:laws = new /datum/ai_laws/nanotrasen
|
current:laws = new /datum/ai_laws/nanotrasen
|
||||||
del(current:malf_picker)
|
qdel(current:malf_picker)
|
||||||
current:show_laws()
|
current:show_laws()
|
||||||
current.icon_state = "ai"
|
current.icon_state = "ai"
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
|||||||
var/air_doors_activated = 0
|
var/air_doors_activated = 0
|
||||||
var/list/ambience = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg')
|
var/list/ambience = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg')
|
||||||
var/sound/forced_ambience = null
|
var/sound/forced_ambience = null
|
||||||
|
var/sound_env = 2 //reverb preset for sounds played in this area, see sound datum reference for more
|
||||||
/*Adding a wizard area teleport list because motherfucking lag -- Urist*/
|
/*Adding a wizard area teleport list because motherfucking lag -- Urist*/
|
||||||
/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/
|
/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/
|
||||||
var/list/teleportlocs = list()
|
var/list/teleportlocs = list()
|
||||||
@@ -808,6 +808,9 @@ area/space/atmosalert()
|
|||||||
|
|
||||||
//Hallway
|
//Hallway
|
||||||
|
|
||||||
|
/area/hallway/primary/
|
||||||
|
sound_env = 12 //hallway
|
||||||
|
|
||||||
/area/hallway/primary/fore
|
/area/hallway/primary/fore
|
||||||
name = "\improper Fore Primary Hallway"
|
name = "\improper Fore Primary Hallway"
|
||||||
icon_state = "hallF"
|
icon_state = "hallF"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
/area/mine
|
/area/mine
|
||||||
icon_state = "mining"
|
icon_state = "mining"
|
||||||
music = 'sound/ambience/song_game.ogg'
|
music = 'sound/ambience/song_game.ogg'
|
||||||
|
sound_env = 5 //stoneroom
|
||||||
|
|
||||||
/area/mine/explored
|
/area/mine/explored
|
||||||
name = "Mine"
|
name = "Mine"
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ proc/spawn_room(var/atom/start_loc,var/x_size,var/y_size,var/wall,var/floor , va
|
|||||||
var/cur_loc = locate(start_loc.x+x,start_loc.y+y,start_loc.z)
|
var/cur_loc = locate(start_loc.x+x,start_loc.y+y,start_loc.z)
|
||||||
if(clean)
|
if(clean)
|
||||||
for(var/O in cur_loc)
|
for(var/O in cur_loc)
|
||||||
del(O)
|
qdel(O)
|
||||||
|
|
||||||
var/area/asteroid/artifactroom/A = new
|
var/area/asteroid/artifactroom/A = new
|
||||||
if(name)
|
if(name)
|
||||||
|
|||||||
@@ -22,6 +22,18 @@
|
|||||||
//Detective Work, used for the duplicate data points kept in the scanners
|
//Detective Work, used for the duplicate data points kept in the scanners
|
||||||
var/list/original_atom
|
var/list/original_atom
|
||||||
|
|
||||||
|
/atom/Destroy()
|
||||||
|
. = ..()
|
||||||
|
density = 0
|
||||||
|
SetOpacity(0)
|
||||||
|
|
||||||
|
if(reagents)
|
||||||
|
qdel(reagents)
|
||||||
|
reagents = null
|
||||||
|
for(var/atom/movable/AM in contents)
|
||||||
|
qdel(AM)
|
||||||
|
invisibility = 101
|
||||||
|
|
||||||
/atom/proc/assume_air(datum/gas_mixture/giver)
|
/atom/proc/assume_air(datum/gas_mixture/giver)
|
||||||
return null
|
return null
|
||||||
|
|
||||||
@@ -66,7 +78,6 @@
|
|||||||
return flags & INSERT_CONTAINER
|
return flags & INSERT_CONTAINER
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/atom/proc/meteorhit(obj/meteor as obj)
|
/atom/proc/meteorhit(obj/meteor as obj)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -148,7 +159,7 @@ its easier to just keep the beam vertical.
|
|||||||
|
|
||||||
for(var/obj/effect/overlay/beam/O in orange(10,src)) //This section erases the previously drawn beam because I found it was easier to
|
for(var/obj/effect/overlay/beam/O in orange(10,src)) //This section erases the previously drawn beam because I found it was easier to
|
||||||
if(O.BeamSource==src) //just draw another instance of the beam instead of trying to manipulate all the
|
if(O.BeamSource==src) //just draw another instance of the beam instead of trying to manipulate all the
|
||||||
del O //pieces to a new orientation.
|
qdel(O) //pieces to a new orientation.
|
||||||
var/Angle=round(Get_Angle(src,BeamTarget))
|
var/Angle=round(Get_Angle(src,BeamTarget))
|
||||||
var/icon/I=new(icon,icon_state)
|
var/icon/I=new(icon,icon_state)
|
||||||
I.Turn(Angle)
|
I.Turn(Angle)
|
||||||
@@ -189,7 +200,7 @@ its easier to just keep the beam vertical.
|
|||||||
X.pixel_y=Pixel_y
|
X.pixel_y=Pixel_y
|
||||||
sleep(3) //Changing this to a lower value will cause the beam to follow more smoothly with movement, but it will also be more laggy.
|
sleep(3) //Changing this to a lower value will cause the beam to follow more smoothly with movement, but it will also be more laggy.
|
||||||
//I've found that 3 ticks provided a nice balance for my use.
|
//I've found that 3 ticks provided a nice balance for my use.
|
||||||
for(var/obj/effect/overlay/beam/O in orange(10,src)) if(O.BeamSource==src) del O
|
for(var/obj/effect/overlay/beam/O in orange(10,src)) if(O.BeamSource==src) qdel(O)
|
||||||
|
|
||||||
|
|
||||||
//All atoms
|
//All atoms
|
||||||
@@ -362,7 +373,7 @@ its easier to just keep the beam vertical.
|
|||||||
|
|
||||||
//Cleaning up shit.
|
//Cleaning up shit.
|
||||||
if(fingerprints && !fingerprints.len)
|
if(fingerprints && !fingerprints.len)
|
||||||
del(fingerprints)
|
qdel(fingerprints)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -419,7 +430,7 @@ its easier to just keep the beam vertical.
|
|||||||
src.color = initial(src.color) //paint
|
src.color = initial(src.color) //paint
|
||||||
src.germ_level = 0
|
src.germ_level = 0
|
||||||
if(istype(blood_DNA, /list))
|
if(istype(blood_DNA, /list))
|
||||||
del(blood_DNA)
|
qdel(blood_DNA)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,25 @@
|
|||||||
var/moved_recently = 0
|
var/moved_recently = 0
|
||||||
var/mob/pulledby = null
|
var/mob/pulledby = null
|
||||||
|
|
||||||
|
/atom/movable/Del()
|
||||||
|
if(isnull(gcDestroyed) && loc)
|
||||||
|
testing("GC: -- [type] was deleted via del() rather than qdel() --")
|
||||||
|
CRASH() // Debug until I can get a clean server start.
|
||||||
|
// else if(isnull(gcDestroyed))
|
||||||
|
// testing("GC: [type] was deleted via GC without qdel()") //Not really a huge issue but from now on, please qdel()
|
||||||
|
// else
|
||||||
|
// testing("GC: [type] was deleted via GC with qdel()")
|
||||||
|
..()
|
||||||
|
|
||||||
|
/atom/movable/Destroy()
|
||||||
|
if(opacity)
|
||||||
|
if(isturf(loc))
|
||||||
|
if(loc:lighting_lumcount > 1)
|
||||||
|
UpdateAffectingLights()
|
||||||
|
loc = null
|
||||||
|
|
||||||
|
..()
|
||||||
|
|
||||||
/atom/movable/Bump(var/atom/A, yes)
|
/atom/movable/Bump(var/atom/A, yes)
|
||||||
if(src.throwing)
|
if(src.throwing)
|
||||||
src.throw_impact(A)
|
src.throw_impact(A)
|
||||||
|
|||||||
@@ -420,7 +420,7 @@
|
|||||||
animation.master = src
|
animation.master = src
|
||||||
flick("h2monkey", animation)
|
flick("h2monkey", animation)
|
||||||
sleep(48)
|
sleep(48)
|
||||||
del(animation)
|
qdel(animation)
|
||||||
|
|
||||||
|
|
||||||
var/mob/living/carbon/monkey/O = null
|
var/mob/living/carbon/monkey/O = null
|
||||||
@@ -447,7 +447,7 @@
|
|||||||
|
|
||||||
|
|
||||||
for(var/obj/T in (M.contents-implants))
|
for(var/obj/T in (M.contents-implants))
|
||||||
del(T)
|
qdel(T)
|
||||||
|
|
||||||
O.loc = M.loc
|
O.loc = M.loc
|
||||||
|
|
||||||
@@ -469,7 +469,7 @@
|
|||||||
I.loc = O
|
I.loc = O
|
||||||
I.implanted = O
|
I.implanted = O
|
||||||
// O.update_icon = 1 //queue a full icon update at next life() call
|
// O.update_icon = 1 //queue a full icon update at next life() call
|
||||||
del(M)
|
qdel(M)
|
||||||
return
|
return
|
||||||
|
|
||||||
if (!isblockon(getblock(M.dna.struc_enzymes, MONKEYBLOCK,3),MONKEYBLOCK) && !istype(M, /mob/living/carbon/human))
|
if (!isblockon(getblock(M.dna.struc_enzymes, MONKEYBLOCK,3),MONKEYBLOCK) && !istype(M, /mob/living/carbon/human))
|
||||||
@@ -493,7 +493,7 @@
|
|||||||
animation.master = src
|
animation.master = src
|
||||||
flick("monkey2h", animation)
|
flick("monkey2h", animation)
|
||||||
sleep(48)
|
sleep(48)
|
||||||
del(animation)
|
qdel(animation)
|
||||||
|
|
||||||
var/mob/living/carbon/human/O = new( src )
|
var/mob/living/carbon/human/O = new( src )
|
||||||
if(Mo.greaterform)
|
if(Mo.greaterform)
|
||||||
@@ -519,7 +519,7 @@
|
|||||||
M.viruses -= D
|
M.viruses -= D
|
||||||
|
|
||||||
//for(var/obj/T in M)
|
//for(var/obj/T in M)
|
||||||
// del(T)
|
// qdel(T)
|
||||||
|
|
||||||
O.loc = M.loc
|
O.loc = M.loc
|
||||||
|
|
||||||
@@ -553,7 +553,7 @@
|
|||||||
I.loc = O
|
I.loc = O
|
||||||
I.implanted = O
|
I.implanted = O
|
||||||
// O.update_icon = 1 //queue a full icon update at next life() call
|
// O.update_icon = 1 //queue a full icon update at next life() call
|
||||||
del(M)
|
qdel(M)
|
||||||
return
|
return
|
||||||
//////////////////////////////////////////////////////////// Monkey Block
|
//////////////////////////////////////////////////////////// Monkey Block
|
||||||
if(M)
|
if(M)
|
||||||
|
|||||||
@@ -144,7 +144,7 @@
|
|||||||
return
|
return
|
||||||
put_in(G.affecting)
|
put_in(G.affecting)
|
||||||
src.add_fingerprint(user)
|
src.add_fingerprint(user)
|
||||||
del(G)
|
qdel(G)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/dna_scannernew/proc/put_in(var/mob/M)
|
/obj/machinery/dna_scannernew/proc/put_in(var/mob/M)
|
||||||
@@ -187,7 +187,7 @@
|
|||||||
ex_act(severity)
|
ex_act(severity)
|
||||||
//Foreach goto(35)
|
//Foreach goto(35)
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
if(2.0)
|
if(2.0)
|
||||||
if (prob(50))
|
if (prob(50))
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
ex_act(severity)
|
ex_act(severity)
|
||||||
//Foreach goto(108)
|
//Foreach goto(108)
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
if(3.0)
|
if(3.0)
|
||||||
if (prob(25))
|
if (prob(25))
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
ex_act(severity)
|
ex_act(severity)
|
||||||
//Foreach goto(181)
|
//Foreach goto(181)
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
return
|
return
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
if(prob(75))
|
if(prob(75))
|
||||||
for(var/atom/movable/A as mob|obj in src)
|
for(var/atom/movable/A as mob|obj in src)
|
||||||
A.loc = src.loc
|
A.loc = src.loc
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/computer/scan_consolenew
|
/obj/machinery/computer/scan_consolenew
|
||||||
name = "DNA Modifier Access Console"
|
name = "DNA Modifier Access Console"
|
||||||
@@ -262,12 +262,12 @@
|
|||||||
switch(severity)
|
switch(severity)
|
||||||
if(1.0)
|
if(1.0)
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
if(2.0)
|
if(2.0)
|
||||||
if (prob(50))
|
if (prob(50))
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
return
|
return
|
||||||
@@ -275,7 +275,7 @@
|
|||||||
/obj/machinery/computer/scan_consolenew/blob_act()
|
/obj/machinery/computer/scan_consolenew/blob_act()
|
||||||
|
|
||||||
if(prob(75))
|
if(prob(75))
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/computer/scan_consolenew/power_change()
|
/obj/machinery/computer/scan_consolenew/power_change()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
animation.master = src
|
animation.master = src
|
||||||
flick("h2monkey", animation)
|
flick("h2monkey", animation)
|
||||||
sleep(48)
|
sleep(48)
|
||||||
del(animation)
|
qdel(animation)
|
||||||
|
|
||||||
|
|
||||||
var/mob/living/carbon/monkey/O = null
|
var/mob/living/carbon/monkey/O = null
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
|
|
||||||
|
|
||||||
for(var/obj/T in (M.contents-implants))
|
for(var/obj/T in (M.contents-implants))
|
||||||
del(T)
|
qdel(T)
|
||||||
|
|
||||||
O.loc = M.loc
|
O.loc = M.loc
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
I.loc = O
|
I.loc = O
|
||||||
I.implanted = O
|
I.implanted = O
|
||||||
// O.update_icon = 1 //queue a full icon update at next life() call
|
// O.update_icon = 1 //queue a full icon update at next life() call
|
||||||
del(M)
|
qdel(M)
|
||||||
return
|
return
|
||||||
|
|
||||||
/datum/dna/gene/monkey/deactivate(var/mob/living/M, var/connected, var/flags)
|
/datum/dna/gene/monkey/deactivate(var/mob/living/M, var/connected, var/flags)
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
animation.master = src
|
animation.master = src
|
||||||
flick("monkey2h", animation)
|
flick("monkey2h", animation)
|
||||||
sleep(48)
|
sleep(48)
|
||||||
del(animation)
|
qdel(animation)
|
||||||
|
|
||||||
var/mob/living/carbon/human/O
|
var/mob/living/carbon/human/O
|
||||||
if(Mo.greaterform)
|
if(Mo.greaterform)
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
M.viruses -= D
|
M.viruses -= D
|
||||||
|
|
||||||
//for(var/obj/T in M)
|
//for(var/obj/T in M)
|
||||||
// del(T)
|
// qdel(T)
|
||||||
|
|
||||||
O.loc = M.loc
|
O.loc = M.loc
|
||||||
|
|
||||||
@@ -171,5 +171,5 @@
|
|||||||
I.loc = O
|
I.loc = O
|
||||||
I.implanted = O
|
I.implanted = O
|
||||||
// O.update_icon = 1 //queue a full icon update at next life() call
|
// O.update_icon = 1 //queue a full icon update at next life() call
|
||||||
del(M)
|
qdel(M)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
..(loc, h)
|
..(loc, h)
|
||||||
|
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
blob_cores -= src
|
blob_cores -= src
|
||||||
processing_objects.Remove(src)
|
processing_objects.Remove(src)
|
||||||
..()
|
..()
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
if(health <= 0)
|
if(health <= 0)
|
||||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
if(health <= 0)
|
if(health <= 0)
|
||||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -22,6 +22,11 @@
|
|||||||
new/mob/living/simple_animal/hostile/blobspore(src.loc, src)
|
new/mob/living/simple_animal/hostile/blobspore(src.loc, src)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
/obj/effect/blob/factory/Destroy()
|
||||||
|
for(var/mob/living/simple_animal/hostile/blobspore/spore in spores)
|
||||||
|
if(spore.factory == src)
|
||||||
|
spore.factory = null
|
||||||
|
..()
|
||||||
|
|
||||||
/mob/living/simple_animal/hostile/blobspore
|
/mob/living/simple_animal/hostile/blobspore
|
||||||
name = "blob"
|
name = "blob"
|
||||||
@@ -58,9 +63,10 @@
|
|||||||
..(loc)
|
..(loc)
|
||||||
return
|
return
|
||||||
death()
|
death()
|
||||||
..()
|
qdel(src)
|
||||||
|
|
||||||
|
/mob/living/simple_animal/hostile/blobspore/Destroy()
|
||||||
if(factory)
|
if(factory)
|
||||||
factory.spores -= src
|
factory.spores -= src
|
||||||
|
factory = null
|
||||||
..()
|
..()
|
||||||
del(src)
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
..(loc, h)
|
..(loc, h)
|
||||||
|
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
blob_nodes -= src
|
blob_nodes -= src
|
||||||
processing_objects.Remove(src)
|
processing_objects.Remove(src)
|
||||||
..()
|
..()
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
if(health <= 0)
|
if(health <= 0)
|
||||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
if(health <= 0)
|
if(health <= 0)
|
||||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
blobs -= src
|
blobs -= src
|
||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
B.loc = T
|
B.loc = T
|
||||||
else
|
else
|
||||||
T.blob_act()//If we cant move in hit the turf
|
T.blob_act()//If we cant move in hit the turf
|
||||||
del(B)
|
qdel(B)
|
||||||
for(var/atom/A in T)//Hit everything in the turf
|
for(var/atom/A in T)//Hit everything in the turf
|
||||||
A.blob_act()
|
A.blob_act()
|
||||||
return 1
|
return 1
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
update_icon()//Needs to be updated with the types
|
update_icon()//Needs to be updated with the types
|
||||||
if(health <= 0)
|
if(health <= 0)
|
||||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
if(health <= 15)
|
if(health <= 15)
|
||||||
icon_state = "blob_damaged"
|
icon_state = "blob_damaged"
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
|
|
||||||
attackby(var/obj/item/weapon/W, var/mob/user)
|
attackby(var/obj/item/weapon/W, var/mob/user)
|
||||||
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
|
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
|
||||||
src.visible_message("\red <B>The [src.name] has been attacked with \the [W][(user ? " by [user]." : ".")]")
|
src.visible_message("<span class='danger'>The [src.name] has been attacked with \the [W][(user ? " by [user]." : ".")]</span>")
|
||||||
var/damage = 0
|
var/damage = 0
|
||||||
switch(W.damtype)
|
switch(W.damtype)
|
||||||
if("fire")
|
if("fire")
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
new/obj/effect/blob/factory(src.loc,src.health)
|
new/obj/effect/blob/factory(src.loc,src.health)
|
||||||
if("Shield")
|
if("Shield")
|
||||||
new/obj/effect/blob/shield(src.loc,src.health*2)
|
new/obj/effect/blob/shield(src.loc,src.health*2)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
//////////////////////////////****IDLE BLOB***/////////////////////////////////////
|
//////////////////////////////****IDLE BLOB***/////////////////////////////////////
|
||||||
@@ -201,7 +201,7 @@
|
|||||||
|
|
||||||
proc/update_idle()
|
proc/update_idle()
|
||||||
if(health<=0)
|
if(health<=0)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
if(health<4)
|
if(health<4)
|
||||||
icon_state = "blobc0"
|
icon_state = "blobc0"
|
||||||
@@ -212,7 +212,7 @@
|
|||||||
icon_state = "blobidle0"
|
icon_state = "blobidle0"
|
||||||
|
|
||||||
|
|
||||||
Del()
|
Destroy()
|
||||||
var/obj/effect/blob/B = new /obj/effect/blob( src.loc )
|
var/obj/effect/blob/B = new /obj/effect/blob( src.loc )
|
||||||
spawn(30)
|
spawn(30)
|
||||||
B.Life()
|
B.Life()
|
||||||
|
|||||||
@@ -385,7 +385,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
|||||||
animation.master = src
|
animation.master = src
|
||||||
flick("monkey2h", animation)
|
flick("monkey2h", animation)
|
||||||
sleep(48)
|
sleep(48)
|
||||||
del(animation)
|
qdel(animation)
|
||||||
|
|
||||||
for(var/obj/item/W in src)
|
for(var/obj/item/W in src)
|
||||||
C.drop_from_inventory(W)
|
C.drop_from_inventory(W)
|
||||||
@@ -400,7 +400,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
|||||||
O.real_name = chosen_dna.real_name
|
O.real_name = chosen_dna.real_name
|
||||||
|
|
||||||
for(var/obj/T in C)
|
for(var/obj/T in C)
|
||||||
del(T)
|
qdel(T)
|
||||||
|
|
||||||
O.loc = C.loc
|
O.loc = C.loc
|
||||||
|
|
||||||
@@ -420,7 +420,7 @@ var/global/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","E
|
|||||||
O.changeling_update_languages(changeling.absorbed_languages)
|
O.changeling_update_languages(changeling.absorbed_languages)
|
||||||
|
|
||||||
feedback_add_details("changeling_powers","LFT")
|
feedback_add_details("changeling_powers","LFT")
|
||||||
del(C)
|
qdel(C)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -155,7 +155,7 @@
|
|||||||
if(istype(M, /mob/living/silicon/robot))
|
if(istype(M, /mob/living/silicon/robot))
|
||||||
var/mob/living/silicon/robot/Robot = M
|
var/mob/living/silicon/robot/Robot = M
|
||||||
if(Robot.mmi)
|
if(Robot.mmi)
|
||||||
del(Robot.mmi)
|
qdel(Robot.mmi)
|
||||||
else
|
else
|
||||||
for(var/obj/item/W in M)
|
for(var/obj/item/W in M)
|
||||||
if(istype(W, /obj/item/weapon/implant))
|
if(istype(W, /obj/item/weapon/implant))
|
||||||
|
|||||||
@@ -32,11 +32,11 @@
|
|||||||
else
|
else
|
||||||
dust()
|
dust()
|
||||||
|
|
||||||
/mob/proc/see_narsie(var/obj/machinery/singularity/narsie/large/N, var/dir)
|
/mob/proc/see_narsie(var/obj/singularity/narsie/large/N, var/dir)
|
||||||
if(N.chained)
|
if(N.chained)
|
||||||
if(narsimage)
|
if(narsimage)
|
||||||
del(narsimage)
|
qdel(narsimage)
|
||||||
del(narglow)
|
qdel(narglow)
|
||||||
return
|
return
|
||||||
if((N.z == src.z)&&(get_dist(N,src) <= (N.consume_range+10)) && !(N in view(src)))
|
if((N.z == src.z)&&(get_dist(N,src) <= (N.consume_range+10)) && !(N in view(src)))
|
||||||
if(!narsimage) //Create narsimage
|
if(!narsimage) //Create narsimage
|
||||||
@@ -59,5 +59,5 @@
|
|||||||
src << narglow
|
src << narglow
|
||||||
else
|
else
|
||||||
if(narsimage)
|
if(narsimage)
|
||||||
del(narsimage)
|
qdel(narsimage)
|
||||||
del(narglow)
|
qdel(narglow)
|
||||||
|
|||||||
@@ -65,8 +65,11 @@
|
|||||||
new /obj/structure/cult/tome(loc)
|
new /obj/structure/cult/tome(loc)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/door/cultify()
|
/obj/machinery/door/airlock/external/cultify()
|
||||||
new /obj/structure/mineral_door/wood(loc)
|
new /obj/structure/mineral_door/wood(loc)
|
||||||
|
..()
|
||||||
|
|
||||||
|
/obj/machinery/door/cultify()
|
||||||
icon_state = "null"
|
icon_state = "null"
|
||||||
density = 0
|
density = 0
|
||||||
c_animation = new /atom/movable/overlay(src.loc)
|
c_animation = new /atom/movable/overlay(src.loc)
|
||||||
@@ -79,7 +82,7 @@
|
|||||||
c_animation.icon_state = "breakdoor"
|
c_animation.icon_state = "breakdoor"
|
||||||
flick("cultification",c_animation)
|
flick("cultification",c_animation)
|
||||||
spawn(10)
|
spawn(10)
|
||||||
del(c_animation)
|
qdel(c_animation)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/door/firedoor/cultify()
|
/obj/machinery/door/firedoor/cultify()
|
||||||
@@ -125,7 +128,7 @@
|
|||||||
/obj/structure/mineral_door/wood/cultify()
|
/obj/structure/mineral_door/wood/cultify()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/singularity/cultify()
|
/obj/singularity/cultify()
|
||||||
var/dist = max((current_size - 2), 1)
|
var/dist = max((current_size - 2), 1)
|
||||||
explosion(get_turf(src), dist, dist * 2, dist * 4)
|
explosion(get_turf(src), dist, dist * 2, dist * 4)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user