diff --git a/code/LINDA/LINDA_turf_tile.dm b/code/LINDA/LINDA_turf_tile.dm
index f3929467d2a..25a35b48cfd 100644
--- a/code/LINDA/LINDA_turf_tile.dm
+++ b/code/LINDA/LINDA_turf_tile.dm
@@ -8,7 +8,7 @@
var/atmos_supeconductivity = 0
/turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
- del(giver)
+ qdel(giver)
return 0
/turf/return_air()
diff --git a/code/_onclick/hud/action.dm b/code/_onclick/hud/action.dm
index 3f005c58c0f..a017a7a9022 100644
--- a/code/_onclick/hud/action.dm
+++ b/code/_onclick/hud/action.dm
@@ -45,7 +45,7 @@
if(button)
if(T.client)
T.client.screen -= button
- del(button)
+ qdel(button)
T.actions.Remove(src)
T.update_action_buttons()
owner = null
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index c8670e39a3d..d97c62f43b1 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -178,7 +178,7 @@
probabilities[M.config_tag] = M.probability
if(M.votable)
votable_modes += M.config_tag
- del(M)
+ qdel(M)
votable_modes += "secret"
/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist
@@ -567,7 +567,7 @@
var/datum/game_mode/M = new T()
if(M.config_tag && M.config_tag == mode_name)
return M
- del(M)
+ qdel(M)
return new /datum/game_mode/extended()
/datum/configuration/proc/get_runnable_modes()
@@ -576,10 +576,10 @@
var/datum/game_mode/M = new T()
//world << "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]"
if(!(M.config_tag in modes))
- del(M)
+ qdel(M)
continue
if(probabilities[M.config_tag]<=0)
- del(M)
+ qdel(M)
continue
if(M.can_start())
runnable_modes[M] = probabilities[M.config_tag]
diff --git a/code/controllers/subsystem/radio.dm b/code/controllers/subsystem/radio.dm
index 25f172bf9da..110f48d8f42 100644
--- a/code/controllers/subsystem/radio.dm
+++ b/code/controllers/subsystem/radio.dm
@@ -29,7 +29,7 @@ var/datum/subsystem/radio/radio_controller
frequency.remove_listener(device)
if(frequency.devices.len == 0)
- del(frequency)
+ qdel(frequency)
frequencies -= f_text
return 1
diff --git a/code/controllers/subsystem/server_maintenance.dm b/code/controllers/subsystem/server_maintenance.dm
index 1aa7ef7d1cc..6a92044ac6d 100644
--- a/code/controllers/subsystem/server_maintenance.dm
+++ b/code/controllers/subsystem/server_maintenance.dm
@@ -11,7 +11,7 @@
if(!istype(C.mob, /mob/dead))
log_access("AFK: [key_name(C)]")
C << "You have been inactive for more than 10 minutes and have been disconnected."
- del(C)
+ qdel(C)
if(config.sql_enabled)
sql_poll_players()
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 98fecb0227c..45aab6c2339 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -137,7 +137,7 @@ var/datum/subsystem/ticker/ticker
mode = config.pick_mode(master_mode)
if(!mode.can_start())
world << "Unable to start [mode.name]. Not enough players, [mode.required_players] players and [mode.required_enemies] eligible antagonists needed. Reverting to pre-game lobby."
- del(mode)
+ qdel(mode)
SSjob.ResetOccupations()
return 0
@@ -148,7 +148,7 @@ var/datum/subsystem/ticker/ticker
if(!Debug2)
if(!can_continue)
- del(mode)
+ qdel(mode)
world << "Error setting up [master_mode]. Reverting to pre-game lobby."
SSjob.ResetOccupations()
return 0
@@ -289,8 +289,8 @@ var/datum/subsystem/ticker/ticker
flick("station_intact",cinematic)
world << sound('sound/ambience/signal.ogg')
sleep(100)
- if(cinematic) del(cinematic)
- if(temp_buckle) del(temp_buckle)
+ if(cinematic) qdel(cinematic)
+ if(temp_buckle) qdel(temp_buckle)
return //Faster exit, since nothing happened
else //Station nuked (nuke,explosion,summary)
flick("intro_nuke",cinematic)
diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm
index 0ce16230efc..74cd402bca3 100644
--- a/code/datums/ai_laws.dm
+++ b/code/datums/ai_laws.dm
@@ -134,7 +134,7 @@
src.ion += law
/datum/ai_laws/proc/clear_inherent_laws()
- del(src.inherent)
+ qdel(src.inherent)
src.inherent = list()
/datum/ai_laws/proc/add_supplied_law(number, law)
diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm
index 954446639f3..6b098310e6d 100644
--- a/code/datums/diseases/_disease.dm
+++ b/code/datums/diseases/_disease.dm
@@ -138,7 +138,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
for(var/datum/disease/D in affected_mob.viruses)
if(D != src)
if(IsSame(D))
- del(D)
+ qdel(D)
if(holder == affected_mob)
if(affected_mob.stat != DEAD)
@@ -156,7 +156,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
if(!(type in affected_mob.resistances))
affected_mob.resistances += type
remove_virus()
- del(src)
+ qdel(src)
/datum/disease/New()
diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm
index 8d5b977c3d7..94e808667ae 100644
--- a/code/datums/diseases/advance/advance.dm
+++ b/code/datums/diseases/advance/advance.dm
@@ -107,7 +107,7 @@ var/list/advance_cures = list(
if(resistance && !(id in affected_mob.resistances))
affected_mob.resistances[id] = id
remove_virus()
- del(src) //delete the datum to stop it processing
+ qdel(src) //delete the datum to stop it processing
// Returns the advance disease with a different reference memory.
/datum/disease/advance/Copy(process = 0)
diff --git a/code/datums/gas_mixture.dm b/code/datums/gas_mixture.dm
index 277773ea3d5..ff91a69b1d6 100644
--- a/code/datums/gas_mixture.dm
+++ b/code/datums/gas_mixture.dm
@@ -321,7 +321,7 @@ What are the archived variables for?
trace_gases += corresponding
corresponding.moles += trace_gas.moles
-// del(giver)
+// qdel(giver)
return 1
/datum/gas_mixture/remove(amount)
diff --git a/code/datums/modules.dm b/code/datums/modules.dm
index e52a644d157..af693456543 100644
--- a/code/datums/modules.dm
+++ b/code/datums/modules.dm
@@ -24,7 +24,7 @@ var/list/modules = list( // global associative list
var/mneed = mods.inmodlist(type) // find if this type has modules defined
if(!mneed) // not found in module list?
- del(src) // delete self, thus ending proc
+ qdel(src) // delete self, thus ending proc
var/needed = mods.getbitmask(type) // get a bitmask for the number of modules in this object
status = needed
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 316c437c912..9a0c7e18cd8 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -391,7 +391,7 @@
else
qdel(AM)
if(istype(T, /turf/simulated))
- del(T)
+ qdel(T)
/*for(var/atom/movable/bug in src) // If someone (or something) is somehow still in the shuttle's docking area...
if(ismob(bug))
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index df257364a90..a8e58f82aef 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -59,7 +59,7 @@
return
/atom/proc/assume_air(datum/gas_mixture/giver)
- del(giver)
+ qdel(giver)
return null
/atom/proc/remove_air(amount)
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index ab505d83329..67066db6d70 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -1002,8 +1002,8 @@ var/list/sacrificed = list()
usr.say("Uln Shogg Hafh[pick("'","`")]drn!")
user << "\red You quietly prick your finger and make a pact with the geometer of blood to acquire more power."
user.take_overall_damage(rand(5,20))
- del(user.head)
- del(user.wear_suit)
+ qdel(user.head)
+ qdel(user.wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/head/magus(user), slot_head)
user.equip_to_slot_or_del(new /obj/item/clothing/suit/magusred(user), slot_wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
@@ -1020,8 +1020,8 @@ var/list/sacrificed = list()
user.put_in_hands(new /obj/item/weapon/gun/magic/wand/resurrection(user))
if (armorworn == "traveler" || armorworn == "marauder")
usr.say("Tharanak n[pick("'","`")]ghft!")
- del(user.head)
- del(user.wear_suit)
+ qdel(user.head)
+ qdel(user.wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/cult(user), slot_head)
user.equip_to_slot_or_del(new /obj/item/clothing/suit/space/cult(user), slot_wear_suit)
user.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
@@ -1033,7 +1033,7 @@ var/list/sacrificed = list()
if (armorworn == "marauder")
user.spellremove(user)
user.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/creature/cult(user)
- del(src)
+ qdel(src)
return
///Summon Shell: Summons a construct shell if there's four plasteel sheets on top of the rune
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 8986580d810..f27e6522c59 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -114,7 +114,7 @@
if(G.reroll_friendly)
usable_modes += G
else
- del(G)
+ qdel(G)
if(!usable_modes)
message_admins("Convert_roundtype failed due to no valid modes to convert to. Please report this error to the Coders.")
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index eec319a8fba..631bb32388b 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -78,7 +78,7 @@
if(initial(S.name) == initial(aspell.name))
spell_levels = aspell.spell_level
user.mind.spell_list.Remove(aspell)
- del(S)
+ qdel(S)
return cost * (spell_levels+1)
return -1
/datum/spellbook_entry/proc/GetInfo()
@@ -419,7 +419,7 @@
entries |= E
categories |= E.category
else
- del(E)
+ qdel(E)
tab = categories[1]
/obj/item/weapon/spellbook/New()
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index 1eaaa0b7fd5..7bfbe2776ac 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -581,7 +581,7 @@
continue
else if(prob(1))
- del(R)
+ qdel(R)
continue
..(severity)
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index c87a35f2486..384199d95e7 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -418,7 +418,7 @@ What a mess.*/
if("Purge All Records")
investigate_log("[usr.name] ([usr.key]) has purged all the security records.", "records")
for(var/datum/data/record/R in data_core.security)
- del(R)
+ qdel(R)
data_core.security.Cut()
temp = "All Security records deleted."
@@ -667,7 +667,7 @@ What a mess.*/
investigate_log("[usr.name] ([usr.key]) has deleted the security records for [active1.fields["name"]].", "records")
if(active2)
data_core.security -= active2
- del(active2)
+ qdel(active2)
if("Delete Record (ALL) Execute")
if(active1)
@@ -675,14 +675,14 @@ What a mess.*/
for(var/datum/data/record/R in data_core.medical)
if((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"]))
data_core.medical -= R
- del(R)
+ qdel(R)
break
data_core.general -= active1
- del(active1)
+ qdel(active1)
if(active2)
data_core.security -= active2
- del(active2)
+ qdel(active2)
else
temp = "This function does not appear to be working at the moment. Our apologies."
@@ -734,7 +734,7 @@ What a mess.*/
continue
else if(prob(1))
- del(R)
+ qdel(R)
continue
..(severity)
diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm
index e528bf28b69..bde8908cf70 100644
--- a/code/game/machinery/embedded_controller/embedded_controller_base.dm
+++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm
@@ -7,7 +7,7 @@
if(master)
master.post_signal(signal, comm_line)
else
- del(signal)
+ qdel(signal)
/datum/computer/file/embedded_program/proc/receive_user_command(command)
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 43b767934ee..667f9735857 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -375,7 +375,7 @@
// N, S, E, W are directional
// C is center
// R is random (in magnetic field's bounds)
- del(signal)
+ qdel(signal)
break // break the loop if the character located is invalid
signal.data["command"] = nextmove
diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm
index 873a51797d2..dcdfd5a74e3 100644
--- a/code/game/machinery/overview.dm
+++ b/code/game/machinery/overview.dm
@@ -174,8 +174,8 @@
HI.Insert(I, frame=1, delay = 5)
HI.Insert(J, frame=2, delay = 5)
- del(I)
- del(J)
+ qdel(I)
+ qdel(J)
H.icon = HI
H.layer = 25
usr.mapobjs += H
@@ -294,7 +294,7 @@
var/icon/I = imap[i+1]
H.icon = I
- del(I)
+ qdel(I)
H.layer = 25
usr.mapobjs += H
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 67b8c167772..e14cbaaea61 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -393,12 +393,12 @@
for(var/obj/item/ITEM in src)
ITEM.clean_blood()
if(istype(STORAGE, /obj/item/weapon/reagent_containers/food))
- del(STORAGE)
+ qdel(STORAGE)
else //It was supercycling, destroy everything
src.HELMET = null
src.SUIT = null
src.MASK = null
- del(STORAGE)
+ qdel(STORAGE)
visible_message("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber.", 3)
src.isbroken = 1
src.isopen = 1
diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm
index eca9a206429..c30b28534d5 100644
--- a/code/game/machinery/telecomms/computers/logbrowser.dm
+++ b/code/game/machinery/telecomms/computers/logbrowser.dm
@@ -197,7 +197,7 @@
temp = "- DELETED ENTRY: [D.name] -"
SelectedServer.log_entries.Remove(D)
- del(D)
+ qdel(D)
else
temp = "- FAILED: NO SELECTED MACHINE -"
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 0e178a4218e..b405648f4dd 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -137,7 +137,7 @@
loc.assume_air(cabin_air)
air_update_turf()
else
- del(cabin_air)
+ qdel(cabin_air)
cabin_air = null
qdel(spark_system)
spark_system = null
@@ -240,7 +240,7 @@
loc.assume_air(leaked_gas)
air_update_turf()
else
- del(leaked_gas)
+ qdel(leaked_gas)
if(internal_damage & MECHA_INT_SHORT_CIRCUIT)
if(get_charge())
@@ -276,7 +276,7 @@
if(t_air)
t_air.merge(removed)
else //just delete the cabin gas, we're in space or some shit
- del(removed)
+ qdel(removed)
if(occupant)
if(cell)
diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm
index 8df632882a3..60c31405645 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -300,7 +300,7 @@
const_holder.icon = 'icons/mecha/mech_construction.dmi'
const_holder.icon_state = "gygax0"
const_holder.density = 1
- del(src)
+ qdel(src)
return
@@ -579,7 +579,7 @@
const_holder.icon = 'icons/mecha/mech_construction.dmi'
const_holder.icon_state = "fireripley0"
const_holder.density = 1
- del(src)
+ qdel(src)
return
@@ -801,7 +801,7 @@
var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/mecha/honker(const_holder)
const_holder.density = 1
- del(src)
+ qdel(src)
return
diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm
index 9f8e79da8ea..59780eb60f0 100644
--- a/code/game/objects/items/devices/camera_bug.dm
+++ b/code/game/objects/items/devices/camera_bug.dm
@@ -48,7 +48,7 @@
if(expansion)
qdel(expansion)
expansion = null
- del(src)
+ qdel(src)
//Easier to just call del() than this nonsense
// ya no, del() takes 0.8ds to run on avg. this takes less than 0.01
get_cameras()
diff --git a/code/game/objects/items/holotape.dm b/code/game/objects/items/holotape.dm
index 10cd8e08d6c..b663b3a655b 100644
--- a/code/game/objects/items/holotape.dm
+++ b/code/game/objects/items/holotape.dm
@@ -244,10 +244,10 @@
for (var/obj/item/holotape/P in cur)
if(P.icon_state == icon_dir)
N = 0
- del(P)
+ qdel(P)
cur = get_step(cur,dir[i])
- del(src)
+ qdel(src)
return
#undef MAX_TAPE_RANGE
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index 06d78149919..2cba8ba7037 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -196,7 +196,7 @@
New(obj/item/sample)
if(!istype(sample))
- del(src)
+ qdel(src)
sample_object = sample
number = 1
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index eb41ea7032d..3bad0781ef3 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -33,7 +33,7 @@
/obj/item/weapon/tank/Destroy()
if(air_contents)
- del(air_contents)
+ qdel(air_contents)
SSobj.processing.Remove(src)
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index edbdb87b62d..735b00c6aac 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -11,7 +11,7 @@ var/list/admin_ranks = list() //list of all admin_rank datums
switch(name)
if("Removed",null,"")
spawn(-1)
- del(src)
+ qdel(src)
throw EXCEPTION("invalid admin-rank name")
return
if(init_rights) rights = init_rights
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
index 8ec3e3f2075..991ebb36886 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
@@ -180,7 +180,7 @@
query_tree += val
pos++
- del(parser)
+ qdel(parser)
return querys
diff --git a/code/modules/awaymissions/maploader/swapmaps.dm b/code/modules/awaymissions/maploader/swapmaps.dm
index 6c2cba1d0be..127af2e7a1e 100644
--- a/code/modules/awaymissions/maploader/swapmaps.dm
+++ b/code/modules/awaymissions/maploader/swapmaps.dm
@@ -156,7 +156,7 @@ swapmap
if(z2>swapmaps_compiled_maxz ||\
y2>swapmaps_compiled_maxy ||\
x2>swapmaps_compiled_maxx)
- del(src)
+ qdel(src)
return
x2=x?(x):world.maxx
y2=y?(y):world.maxy
@@ -179,12 +179,12 @@ swapmap
if(!M.key) qdel(M)
else M.loc=null
areas[A.loc]=null
- del(A)
+ qdel(A)
// delete areas that belong only to this map
for(var/area/a in areas)
- if(a && !a.contents.len) del(a)
+ if(a && !a.contents.len) qdel(a)
if(x2>=world.maxx || y2>=world.maxy || z2>=world.maxz) CutXYZ()
- del(areas)
+ qdel(areas)
..()
/*
@@ -241,7 +241,7 @@ swapmap
sleep()
S.cd=oldcd
locked=0
- del(areas)
+ qdel(areas)
Read(savefile/S,_id,turf/locorner)
var/x
@@ -297,7 +297,7 @@ swapmap
sleep()
S.cd=oldcd
locked=0
- del(areas)
+ qdel(areas)
/*
Find an empty block on the world map in which to load this map.
@@ -321,7 +321,7 @@ swapmap
x1=l[1]
y1=l[2]
z1=l[3]
- del(l)
+ qdel(l)
x2+=x1-1
y2+=y1-1
z2+=z1-1
@@ -377,7 +377,7 @@ swapmap
// save and delete
proc/Unload()
Save()
- del(src)
+ qdel(src)
proc/Save()
if(id==src) return 0
@@ -472,7 +472,7 @@ atom
l=l.Copy()
for(M in src) if(M.key) l-=M
if(l.len) S["contents"]<Your form morphs into that of a [randomize]."
- del(M)
+ qdel(M)
return new_mob
/obj/item/projectile/magic/animate
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index a3e8c47888d..de15fe46165 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -60,7 +60,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
check_tech = new T()
if(check_tech.id == ID)
return_name = check_tech.name
- del(check_tech)
+ qdel(check_tech)
check_tech = null
break
@@ -94,7 +94,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
temp_reagent = new R()
if(temp_reagent.id == ID)
return_name = temp_reagent.name
- del(temp_reagent)
+ qdel(temp_reagent)
temp_reagent = null
break
return return_name
@@ -575,7 +575,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
var/choice = alert("R&D Console Database Reset", "Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
screen = 0.0
- del(files)
+ qdel(files)
files = new /datum/research(src)
spawn(20)
screen = 1.6