[MIRROR] some more grep checks (#11414)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-08-14 11:22:06 -07:00
committed by GitHub
parent 83133252b1
commit f46d700e64
68 changed files with 136 additions and 122 deletions

View File

@@ -60,6 +60,7 @@
#define QDEL_IN_STOPPABLE(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE)
#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
#define QDEL_NULL(item) qdel(item); item = null
#define QDEL_SWAP(item1, item2) if(item1) { qdel(item1) }; item1 = item2;
#define QDEL_NULL_LIST QDEL_LIST_NULL
#define QDEL_LIST_NULL(x) if(x) { for(var/y in x) { qdel(y) } ; x = null }
#define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); }

View File

@@ -31,10 +31,6 @@
#define CanInteract(user, state) (CanUseTopic(user, state) == STATUS_INTERACTIVE)
#define qdel_null(x) if(x) { qdel(x) ; x = null }
#define qdel_swap(x,y) if(x) { qdel(x) }; x = y;
#define sequential_id(key) uniqueness_repository.Generate(/datum/uniqueness_generator/id_sequential, key)
#define random_id(key,min_id,max_id) uniqueness_repository.Generate(/datum/uniqueness_generator/id_random, key, min_id, max_id)

View File

@@ -765,13 +765,13 @@
/obj/screen/movable/mapper_holder/Destroy()
qdel_null(mask_full)
qdel_null(mask_ping)
qdel_null(bg)
QDEL_NULL(mask_full)
QDEL_NULL(mask_ping)
QDEL_NULL(bg)
qdel_null(frame)
qdel_null(powbutton)
qdel_null(mapbutton)
QDEL_NULL(frame)
QDEL_NULL(powbutton)
QDEL_NULL(mapbutton)
extras_holder = null
owner = null

View File

@@ -116,7 +116,7 @@ var/list/datum/power/changeling/powerinstances = list()
if(owner)
remove_verb(owner,/mob/proc/EvolutionMenu)
remove_verb(owner,/mob/proc/changeling_respec)
qdel_null(power_panel)
QDEL_NULL(power_panel)
absorbed_dna.Cut()
absorbed_languages.Cut()
purchased_powers.Cut()
@@ -406,7 +406,7 @@ var/list/datum/power/changeling/powerinstances = list()
if(Thepower.make_hud_button && Thepower.isVerb)
if(owner.ability_master)
qdel_null(owner.ability_master)
QDEL_NULL(owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master(owner)
owner.ability_master.add_ling_ability(
object_given = owner,

View File

@@ -10,7 +10,7 @@
/datum/absorbed_dna/New(var/newName, var/newDNA, var/newSpecies, var/newLanguages, var/newIdentifying_Gender, var/list/newFlavour, var/list/newGenMods)
..()
name = newName
qdel_swap(dna, newDNA)
QDEL_SWAP(dna, newDNA)
speciesName = newSpecies
languages = newLanguages
identifying_gender = newIdentifying_Gender

View File

@@ -65,7 +65,7 @@
changeling.chem_charges--
C.remove_changeling_powers()
C.visible_message(span_warning("[C] transforms!"))
qdel_swap(C.dna, chosen_dna.Clone())
QDEL_SWAP(C.dna, chosen_dna.Clone())
var/list/implants = list()
for (var/obj/item/implant/I in C) //Still preserving implants
@@ -92,7 +92,7 @@
O.gender = FEMALE
else
O.gender = MALE
qdel_swap(O.dna, C.dna.Clone())
QDEL_SWAP(O.dna, C.dna.Clone())
QDEL_NULL(C.dna)
O.real_name = chosen_dna.real_name

View File

@@ -39,7 +39,7 @@
var/newSpecies = chosen_dna.speciesName
H.set_species(newSpecies)
qdel_swap(src.dna, chosen_dna.dna.Clone())
QDEL_SWAP(src.dna, chosen_dna.dna.Clone())
if(ishuman(src))
var/mob/living/carbon/human/H = src
H.identifying_gender = chosen_dna.identifying_gender

View File

@@ -45,7 +45,7 @@
return FALSE
add_attack_logs(src,T,"Transformation sting (changeling)")
T.visible_message(span_warning("[T] transforms!"))
qdel_swap(T.dna, chosen_dna.dna.Clone())
QDEL_SWAP(T.dna, chosen_dna.dna.Clone())
T.real_name = chosen_dna.dna.real_name
T.UpdateAppearance()
domutcheck(T, null)

View File

@@ -38,8 +38,8 @@
carrier.verbs -= /atom/proc/disconnect_hose
carrier = null
if(my_hose)
qdel_null(my_hose)
qdel_null(reagents)
QDEL_NULL(my_hose)
QDEL_NULL(reagents)
. = ..()
/datum/component/hose_connector/proc/get_carrier()
@@ -102,7 +102,7 @@
if(carrier.Adjacent(user))
carrier.visible_message("[user] disconnects \the hose from \the [carrier].")
my_hose.disconnect(user)
qdel_null(my_hose)
QDEL_NULL(my_hose)
/datum/component/hose_connector/proc/connect(var/datum/hose/H = null)
my_hose = H

View File

@@ -85,7 +85,7 @@
/datum/hose/proc/update_beam()
if(!node1 && !node2) // We've already disconnected, clear beam
if(current_beam)
qdel_null(current_beam)
QDEL_NULL(current_beam)
return FALSE
if(get_dist(get_turf(node1.get_carrier()), get_turf(node2.get_carrier())) > initial_distance) // The hose didn't form. Something's fucky.
qdel(src)
@@ -104,7 +104,7 @@
new_col = reagent_node2.get_color()
// We are in the beam!
qdel_swap(current_beam, A.Beam(B, icon_state = "hose", beam_color = new_col, maxdistance = (HOSE_MAX_DISTANCE + 1), beam_type = /obj/effect/ebeam/hose))
QDEL_SWAP(current_beam, A.Beam(B, icon_state = "hose", beam_color = new_col, maxdistance = (HOSE_MAX_DISTANCE + 1), beam_type = /obj/effect/ebeam/hose))
return TRUE

View File

@@ -148,7 +148,7 @@
if(!owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master/shadekin(owner)
else if(!istype(owner.ability_master, /obj/screen/movable/ability_master/shadekin))
qdel_null(owner.ability_master)
QDEL_NULL(owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master/shadekin(owner)
//Clears up our verbs. Used when rebuilding our verbs list..
@@ -167,7 +167,7 @@
if(!owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master(owner)
else if(istype(owner.ability_master, /obj/screen/movable/ability_master/shadekin))
qdel_null(owner.ability_master)
QDEL_NULL(owner.ability_master)
owner.ability_master = new /obj/screen/movable/ability_master(owner)
clear_shadekin_abilities()

View File

@@ -27,7 +27,7 @@
UnregisterSignal(owner, COMSIG_XENOCHIMERA_COMPONENT)
UnregisterSignal(owner, COMSIG_HUMAN_DNA_FINALIZED)
remove_verb(owner, /mob/living/carbon/human/proc/reconstitute_form)
qdel_null(revival_record)
QDEL_NULL(revival_record)
owner = null
. = ..()
@@ -35,7 +35,7 @@
SIGNAL_HANDLER
if(QDELETED(owner))
return
qdel_null(revival_record)
QDEL_NULL(revival_record)
revival_record = new(owner)
/datum/component/xenochimera/proc/handle_comp()

View File

@@ -66,7 +66,7 @@
if(istype(loot,/obj/random))
var/obj/random/randy = loot
var/new_I = randy.spawn_item()
qdel_swap(loot,new_I)
QDEL_SWAP(loot,new_I)
//We either have an item to hand over or we don't, at this point!
if(!loot)

View File

@@ -46,7 +46,7 @@
newrecord.id = copytext(md5(dna.real_name), 2, 6) // update this specially
continue
if("dna")
qdel_swap(newrecord.dna, dna.Clone())
QDEL_SWAP(newrecord.dna, dna.Clone())
continue
if(islist(vars[A]))
var/list/L = vars[A]

View File

@@ -45,7 +45,7 @@
if(M)
if (M.dna)
qdel_swap(O.dna, M.dna.Clone())
QDEL_SWAP(O.dna, M.dna.Clone())
QDEL_NULL(M.dna)
if (M.suiciding)
@@ -116,7 +116,7 @@
if (M)
if (M.dna)
qdel_swap(O.dna, M.dna.Clone())
QDEL_SWAP(O.dna, M.dna.Clone())
QDEL_NULL(M.dna)
if (M.suiciding)

View File

@@ -123,8 +123,8 @@ GLOBAL_LIST_EMPTY(bodycamera_screens) // CHOMPEdit
if(showing)
stop_showing()
vis_contents.Cut()
qdel_null(pinboard)
qdel_null(radio)
QDEL_NULL(pinboard)
QDEL_NULL(radio)
return ..()
/obj/machinery/computer/security/telescreen/entertainment/proc/toggle()
@@ -233,8 +233,8 @@ GLOBAL_LIST_EMPTY(bodycamera_screens) // CHOMPEdit
if(showing)
stop_showing()
vis_contents.Cut()
qdel_null(bpinboard)
qdel_null(bradio)
QDEL_NULL(bpinboard)
QDEL_NULL(bradio)
return ..()
/obj/machinery/computer/security/telescreen/bodycamera/proc/bodycam_toggle()

View File

@@ -312,7 +312,7 @@ GLOBAL_LIST_EMPTY(dispenser_presets)
add_overlay(special_frame)
/obj/machinery/gear_dispenser/suit_fancy/Destroy()
qdel_null(door)
QDEL_NULL(door)
held_gear_disp = null
return ..()

View File

@@ -29,7 +29,7 @@
unregister_dangerous_to_step()
if(trap)
QDEL_NULL(trap)
qdel_null(wires)
QDEL_NULL(wires)
return ..()
/obj/effect/mine/Moved(atom/oldloc)

View File

@@ -148,6 +148,6 @@
return QDEL_HINT_LETMELIVE
vis_contents.Cut()
qdel_null(light_spot)
QDEL_NULL(light_spot)
return ..()

View File

@@ -41,7 +41,7 @@
else
reset_search()
UnregisterSignal(Q, COMSIG_GHOST_QUERY_COMPLETE)
qdel_null(Q) //get rid of the query
QDEL_NULL(Q) //get rid of the query
return
/obj/item/antag_spawner/proc/reset_search()

View File

@@ -361,7 +361,7 @@
/mob/observer/dead/Destroy()
if(exonet)
exonet.remove_address()
qdel_null(exonet)
QDEL_NULL(exonet)
. = ..()
// Proc: register_device()

View File

@@ -47,7 +47,7 @@
/obj/item/flashlight/Destroy()
STOP_PROCESSING(SSobj, src)
qdel_null(cell)
QDEL_NULL(cell)
return ..()
/obj/item/flashlight/get_cell()

View File

@@ -37,7 +37,7 @@
cell = new cell(src)
/obj/item/suit_cooling_unit/Destroy()
qdel_null(cell)
QDEL_NULL(cell)
return ..()
/obj/item/suit_cooling_unit/process()

View File

@@ -57,8 +57,8 @@
ion_trail.stop()
/obj/item/uav/Destroy()
qdel_null(cell)
qdel_null(ion_trail)
QDEL_NULL(cell)
QDEL_NULL(ion_trail)
LAZYCLEARLIST(masters)
STOP_PROCESSING(SSobj, src)
return ..()

View File

@@ -70,7 +70,7 @@ var/list/RMS_random_malfunction = list(/obj/item/fbp_backup_cell,
add_overlay("rms_charge[charge_stage]")
/obj/item/pipe_dispenser/Destroy()
qdel_null(spark_system)
QDEL_NULL(spark_system)
return ..()
/obj/item/rms/update_icon()

View File

@@ -60,8 +60,8 @@
recipe = first_atmos
/obj/item/pipe_dispenser/Destroy()
qdel_null(spark_system)
qdel_null(tool)
QDEL_NULL(spark_system)
QDEL_NULL(tool)
return ..()
/obj/item/pipe_dispenser/attack_self(mob/user)

View File

@@ -73,7 +73,7 @@
update_icon()
/obj/structure/closet/Destroy()
qdel_null(door_obj)
QDEL_NULL(door_obj)
closet_appearance = null
return ..()

View File

@@ -18,7 +18,11 @@
if(A)
A.forceMove(src) // helo
podfall(auto_open)
air = new(1000)
air = new
/obj/structure/drop_pod/Destroy()
. = ..()
QDEL_NULL(air)
/obj/structure/drop_pod/proc/podfall(auto_open)
var/turf/T = get_turf(src)
@@ -101,7 +105,7 @@
for(var/atom/movable/AM in src)
AM.forceMove(loc)
AM.set_dir(SOUTH) // cus
qdel_null(air)
QDEL_NULL(air)
finished = TRUE
/obj/structure/drop_pod/attack_hand(mob/living/user)

View File

@@ -44,7 +44,7 @@
if(delay_to_try_again)
addtimer(CALLBACK(src, PROC_REF(trigger)), delay_to_try_again)
UnregisterSignal(Q, COMSIG_GHOST_QUERY_COMPLETE)
qdel_null(Q) //get rid of the query
QDEL_NULL(Q) //get rid of the query
if(deletion_candidate)
qdel(src)

View File

@@ -227,7 +227,7 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium)
if (!( A.anchored ))
A.forceMove(src)
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
qdel_null(connected)
QDEL_NULL(connected)
else if (src.locked == 0)
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
src.connected = new /obj/structure/m_tray/c_tray( src.loc )
@@ -241,7 +241,7 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium)
A.forceMove(src.connected.loc)
src.connected.icon_state = "cremat"
else
qdel_null(connected)
QDEL_NULL(connected)
src.add_fingerprint(user)
update()

View File

@@ -17,7 +17,7 @@
return GM
/obj/distilling_tester/proc/test_distilling(var/decl/chemical_reaction/distilling/D, var/temp_prog)
qdel_swap(GM,new())
QDEL_SWAP(GM,new())
if(D.require_xgm_gas)
GM.gas[D.require_xgm_gas] = 100
else
@@ -34,5 +34,5 @@
reagents.handle_reactions()
/obj/distilling_tester/Destroy(force, ...)
qdel_null(GM)
QDEL_NULL(GM)
. = ..()

View File

@@ -97,7 +97,7 @@
if(H.isSynthetic())
return
corpse = new /mob/living/carbon/human(H.loc)
qdel_swap(corpse.dna,H.dna.Clone())
QDEL_SWAP(corpse.dna,H.dna.Clone())
var/obj/item/clothing/temp = null
if(H.get_equipped_item(slot_w_uniform))
corpse.equip_to_slot_or_del(new /obj/item/clothing/under/chameleon/changeling(corpse), slot_w_uniform)

View File

@@ -196,7 +196,7 @@ var/list/blob_cores = list()
C = D.client
overmind_creation(C)
UnregisterSignal(Q, COMSIG_GHOST_QUERY_COMPLETE)
qdel_null(Q) //get rid of the query
QDEL_NULL(Q) //get rid of the query

View File

@@ -336,9 +336,9 @@
for(var/mob/living/M in contents)
M.forceMove(get_turf(src))
if(ring)
qdel_null(ring)
QDEL_NULL(ring)
if(gloves)
qdel_null(gloves)
QDEL_NULL(gloves)
wearer = null
return ..()
@@ -656,9 +656,9 @@
/obj/item/clothing/shoes/Destroy()
if(shoes)
qdel_null(shoes)
QDEL_NULL(shoes)
if(holding)
qdel_null(holding)
QDEL_NULL(holding)
return ..()
/obj/item/clothing/shoes/proc/draw_knife(mob/living/user)
@@ -1215,7 +1215,7 @@
if(IC)
IC.clothing = null
action_circuit = null // Will get deleted by qdel-ing the IC assembly.
qdel_null(IC)
QDEL_NULL(IC)
for(var/mob/living/M in contents)
M.forceMove(get_turf(src))
wearer = null

View File

@@ -96,7 +96,7 @@
PRIVATE_PROC(TRUE)
SHOULD_NOT_OVERRIDE(TRUE)
for(var/img in dir_images)
qdel_null(dir_images[img])
QDEL_NULL(dir_images[img])
dir_images.Cut()

View File

@@ -116,7 +116,7 @@
map_image_cache.Cut()
icon_image_cache.Cut()
qdel_null(extras_holder)
QDEL_NULL(extras_holder)
return ..()

View File

@@ -251,7 +251,7 @@
if(istype(potential_holder))
potential_holder.unEquip(deployed_headpods, force = TRUE)
qdel_null(deployed_headpods)
QDEL_NULL(deployed_headpods)
update_icon()
/obj/item/walkpod/proc/check_headpods()

View File

@@ -115,8 +115,8 @@
AddElement(/datum/element/climbable)
/obj/machinery/mining/drill/Destroy()
qdel_null(faultreporter)
qdel_null(cell)
QDEL_NULL(faultreporter)
QDEL_NULL(cell)
return ..()
/obj/machinery/mining/drill/dismantle()

View File

@@ -25,7 +25,7 @@
inserted_id.forceMove(T)
inserted_id = null
else
qdel_null(inserted_id)
QDEL_NULL(inserted_id)
QDEL_NULL_LIST(prize_list)
. = ..()

View File

@@ -126,7 +126,7 @@
brainmob = new(src)
brainmob.name = H.real_name
brainmob.real_name = H.real_name
qdel_swap(brainmob.dna, H.dna.Clone())
QDEL_SWAP(brainmob.dna, H.dna.Clone())
brainmob.container = src
// Copy modifiers.
@@ -232,7 +232,7 @@
..()
/obj/item/mmi/digital/transfer_identity(var/mob/living/carbon/H)
qdel_swap(brainmob.dna, H.dna.Clone())
QDEL_SWAP(brainmob.dna, H.dna.Clone())
brainmob.timeofhostdeath = H.timeofdeath
brainmob.set_stat(CONSCIOUS)
if(H.mind)
@@ -262,7 +262,7 @@
else
reset_search()
UnregisterSignal(Q, COMSIG_GHOST_QUERY_COMPLETE)
qdel_null(Q) //get rid of the query
QDEL_NULL(Q) //get rid of the query
/obj/item/mmi/digital/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer.
if(src.brainmob && src.brainmob.key)

View File

@@ -1464,7 +1464,7 @@
if(screen_icon)
owner?.client?.screen -= screen_icon
UnregisterSignal(screen_icon, COMSIG_CLICK)
qdel_null(screen_icon)
QDEL_NULL(screen_icon)
/datum/component/character_setup/proc/create_mob_button(mob/user)
SIGNAL_HANDLER

View File

@@ -555,8 +555,8 @@
/obj/item/gripper/Destroy()
current_pocket = null
qdel_null(WR)
qdel_null(pockets)
QDEL_NULL(WR)
QDEL_LIST(pockets)
if(our_robot) //In case we returned INITIALIZE_HINT_QDEL earlier in initalize.
UnregisterSignal(our_robot, COMSIG_DO_AFTER_BEGAN)
UnregisterSignal(our_robot, COMSIG_DO_AFTER_ENDED)

View File

@@ -55,7 +55,7 @@
/obj/effect/overmap/visitable/simplemob/Destroy()
UnregisterSignal(parent, COMSIG_MOVABLE_MOVED)
if(!QDELETED(parent))
qdel_null(parent)
QDEL_NULL(parent)
return ..()
/obj/effect/overmap/visitable/simplemob/get_scan_data(mob/user)
@@ -149,7 +149,7 @@
/mob/living/simple_mob/vore/overmap/Destroy()
if(!QDELETED(child_om_marker))
qdel_null(child_om_marker)
QDEL_NULL(child_om_marker)
return ..()
//SHIP
@@ -191,7 +191,7 @@
/obj/effect/overmap/visitable/ship/simplemob/Destroy()
UnregisterSignal(parent, COMSIG_MOVABLE_MOVED)
qdel_null(parent)
QDEL_NULL(parent)
return ..()
/obj/effect/overmap/visitable/ship/simplemob/get_scan_data(mob/user)

View File

@@ -195,7 +195,7 @@
var/mob/observer/dead/D = Q.candidates[1]
transfer_personality(D)
UnregisterSignal(Q, COMSIG_GHOST_QUERY_COMPLETE)
qdel_null(Q) //get rid of the query
QDEL_NULL(Q) //get rid of the query
/mob/living/simple_mob/animal/borer/proc/transfer_personality(mob/candidate)
if(!candidate)

View File

@@ -59,7 +59,7 @@
return ..()
/mob/living/simple_mob/mechanical/mecha/Destroy()
qdel_null(sparks)
QDEL_NULL(sparks)
return ..()
/mob/living/simple_mob/mechanical/mecha/death()

View File

@@ -41,7 +41,7 @@
M.real_name = src.real_name
if(src.dna)
qdel_swap(M.dna, src.dna.Clone())
QDEL_SWAP(M.dna, src.dna.Clone())
if(mind)
mind.transfer_to(M)

View File

@@ -73,7 +73,7 @@
. = ..()
/obj/item/computer_hardware/battery_module/Destroy()
qdel_null(battery)
QDEL_NULL(battery)
return ..()
/obj/item/computer_hardware/battery_module/proc/charge_to_full()

View File

@@ -147,7 +147,7 @@
if(istype(target, /obj/structure/portal_target))
var/obj/structure/portal_target/P = target
P.target = null
qdel_null(target)
QDEL_NULL(target)
. = ..()
/obj/structure/portal_target

View File

@@ -177,7 +177,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
if(H)
remove_verb(H, /mob/living/carbon/human/proc/set_nif_examine)
H.nif = null
qdel_null(menu)
QDEL_NULL(menu)
unregister_human()
human = null
install_done = null

View File

@@ -44,7 +44,7 @@
if(screen_icon)
owner?.client?.screen -= screen_icon
UnregisterSignal(screen_icon, COMSIG_CLICK)
qdel_null(screen_icon)
QDEL_NULL(screen_icon)
if(ishuman(parent))
remove_verb(owner, /mob/living/carbon/human/proc/nif_menu)

View File

@@ -254,7 +254,7 @@
//If they have these values, apply them
if(ishuman(M))
var/mob/living/carbon/human/H = M
qdel_swap(brainmob.dna, H.dna.Clone())
QDEL_SWAP(brainmob.dna, H.dna.Clone())
brainmob.ooc_notes = H.ooc_notes
brainmob.ooc_notes_likes = H.ooc_notes_likes
brainmob.ooc_notes_dislikes = H.ooc_notes_dislikes

View File

@@ -105,7 +105,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
brainmob.real_name = H.real_name
if(istype(H))
qdel_swap(brainmob.dna, H.dna.Clone())
QDEL_SWAP(brainmob.dna, H.dna.Clone())
brainmob.timeofhostdeath = H.timeofdeath
brainmob.ooc_notes = H.ooc_notes
brainmob.ooc_notes_likes = H.ooc_notes_likes
@@ -220,7 +220,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
// This requires a promie/protean component for transformation and regeneration.
// This shouldn't use a brain mob for caching dna. That's what BRs are for.
var/datum/dna2/record/R = new /datum/dna2/record()
qdel_swap(R.dna, brainmob.dna.Clone())
QDEL_SWAP(R.dna, brainmob.dna.Clone())
R.ckey = brainmob.ckey
R.id = copytext(md5(brainmob.real_name), 2, 6)
R.name = R.dna.real_name
@@ -260,7 +260,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
H.dna = new /datum/dna()
H.dna.real_name = H.real_name
else
qdel_swap(H.dna, R.dna.Clone())
QDEL_SWAP(H.dna, R.dna.Clone())
H.UpdateAppearance()
H.sync_dna_traits(FALSE) // Traitgenes Sync traits to genetics if needed

View File

@@ -124,7 +124,7 @@
desc = "An energy bow, capable of producing arrows from an internal power supply."
/obj/item/gun/launcher/crossbow/bow/hardlight/unload(mob/user)
qdel_null(bolt)
QDEL_NULL(bolt)
update_icon()
/obj/item/gun/launcher/crossbow/bow/hardlight/attack_self(mob/living/user)

View File

@@ -1242,7 +1242,7 @@
name = initial(name)
/obj/structure/disposalpipe/sortjunction/Destroy()
qdel_null(wires)
QDEL_NULL(wires)
. = ..()
/obj/structure/disposalpipe/sortjunction/proc/updatedir()

View File

@@ -31,7 +31,7 @@
/obj/machinery/reagent_refinery/furnace/Destroy()
. = ..()
qdel_null(beaker)
QDEL_NULL(beaker)
/obj/machinery/reagent_refinery/furnace/process()
if(!anchored)

View File

@@ -34,7 +34,7 @@
/obj/machinery/reagent_refinery/reactor/Destroy()
. = ..()
qdel_null(internal_tank)
QDEL_NULL(internal_tank)
/obj/machinery/reagent_refinery/reactor/process()
if(!anchored)

View File

@@ -109,8 +109,8 @@
init_from_mob(copyfrom, add_to_db, ckeylock)
/datum/transhuman/body_record/Destroy()
qdel_null(mydna.dna)
qdel_null(mydna)
QDEL_NULL(mydna.dna)
QDEL_NULL(mydna)
client_ref = null
mind_ref = null
limb_data.Cut()
@@ -156,7 +156,7 @@
//The DNA2 stuff
mydna = new ()
qdel_swap(mydna.dna, M.dna.Clone())
QDEL_SWAP(mydna.dna, M.dna.Clone())
mydna.ckey = M.ckey
mydna.id = copytext(md5(M.real_name), 2, 6)
mydna.name = M.dna.real_name
@@ -332,7 +332,7 @@
//Apply DNA from record
if(!mydna.dna) // This case should never happen, but copied from clone pod... Who knows with this codebase.
mydna.dna = new /datum/dna()
qdel_swap(H.dna, mydna.dna.Clone())
QDEL_SWAP(H.dna, mydna.dna.Clone())
H.original_player = ckey
//Apply genetic modifiers, synths don't use these

View File

@@ -636,7 +636,7 @@
if(!owner.changeling_locked && (!owner.resleeve_lock && can_change(owner, APPEARANCE_RACE)))
// Create it from the mob
if(DC.disk.stored)
qdel_null(DC.disk.stored)
QDEL_NULL(DC.disk.stored)
to_chat(ui.user,span_notice("\The [owner]'s bodyrecord was saved to the disk."))
owner.update_dna()
DC.disk.stored = new /datum/transhuman/body_record(owner, FALSE, FALSE) // Saves a COPY!
@@ -1122,7 +1122,7 @@
// checks for monkey to tell if on the menu
if(owner)
UnregisterSignal(owner, COMSIG_OBSERVER_MOVED)
qdel_null(owner)
QDEL_NULL(owner)
owner = new(src)
owner.set_species(SPECIES_LLEILL)
owner.species.produceCopy(owner.species.traits.Copy(),owner,null,FALSE)
@@ -1134,7 +1134,7 @@
/datum/tgui_module/appearance_changer/body_designer/proc/load_record_to_body(var/datum/transhuman/body_record/current_project)
if(owner)
UnregisterSignal(owner, COMSIG_OBSERVER_MOVED)
qdel_null(owner)
QDEL_NULL(owner)
owner = current_project.produce_human_mob(src,FALSE,FALSE,"Designer [rand(999)]")
// Update some specifics from the current record
owner.dna.blood_reagents = current_project.mydna.dna.blood_reagents

View File

@@ -128,16 +128,16 @@
if(!SR.required)
continue
var/obj/item/slime_extract/E = new SR.required()
qdel_swap(fake_beaker, E)
QDEL_SWAP(fake_beaker, E)
fake_beaker.reagents.maximum_volume = 5000
else if(istype(CR, /decl/chemical_reaction/distilling))
// distilling
var/obj/distilling_tester/D = new()
qdel_swap(fake_beaker, D)
QDEL_SWAP(fake_beaker, D)
fake_beaker.reagents.maximum_volume = 5000
else
// regular beaker
qdel_swap(fake_beaker, new /obj/item/reagent_containers/glass/beaker())
QDEL_SWAP(fake_beaker, new /obj/item/reagent_containers/glass/beaker())
fake_beaker.reagents.maximum_volume = 5000
// Perform test! If it fails once, it will perform a deeper check trying to use the inhibitors of anything in the beaker
@@ -147,7 +147,7 @@
// Uncomment the UNIT_TEST section in code\modules\reagents\reactions\_reactions.dm if you require more info
TEST_ASSERT(!perform_reaction(CR), "[CR.type]: Reagents - chemical reaction did not produce \"[CR.result]\". CONTAINS: \"[fake_beaker.reagents.get_reagents()]\"")
UnregisterSignal(fake_beaker.reagents, COMSIG_UNITTEST_DATA)
qdel_null(fake_beaker)
QDEL_NULL(fake_beaker)
#endif
if(failed)

View File

@@ -1375,9 +1375,9 @@
if(screen_icon)
owner?.client?.screen -= screen_icon
UnregisterSignal(screen_icon, COMSIG_CLICK)
qdel_null(screen_icon)
QDEL_NULL(screen_icon)
remove_verb(owner, /mob/proc/insidePanel)
qdel_null(owner.vorePanel)
QDEL_NULL(owner.vorePanel)
/datum/component/vore_panel/proc/create_mob_button(mob/user)
SIGNAL_HANDLER

View File

@@ -24,8 +24,8 @@
var/can_start_activated = TRUE
/datum/artifact_effect/Destroy()
master = null //Master still exists even if our effect gets destroyed. No need to qdel_null.
qdel_null(active_effect)
master = null //Master still exists even if our effect gets destroyed. No need to QDEL_NULL.
QDEL_NULL(active_effect)
. = ..()
/datum/artifact_effect/proc/get_master_holder() // Return the effectmaster's holder, if it is set to an effectmaster. Otherwise, master is the target object.

View File

@@ -8,7 +8,7 @@ export BYOND_MAJOR=516
export BYOND_MINOR=1667
# Macro Count
export MACRO_COUNT=9
export MACRO_COUNT=6
#rust_g git tag
export RUST_G_VERSION=4.0.0
@@ -17,7 +17,7 @@ export RUST_G_VERSION=4.0.0
export NODE_VERSION_LTS=22.14.0
# Bun version
export BUN_VERSION=1.2.19
export BUN_VERSION=1.2.20
# SpacemanDMM git tag
export SPACEMAN_DMM_VERSION=suite-1.10

View File

@@ -44,6 +44,6 @@
H.adjust_nutrition(10)
if(!implant.durability)
implant.unimplant(H)
qdel_null(implant)
QDEL_NULL(implant)
H.adjust_nutrition(100)
to_chat(H, span_critical("Your NIF lets out one last sputter as it finally gives out"))

View File

@@ -7,8 +7,8 @@
"@happy-dom/global-registrator": "^17.6.3",
"@rspack/cli": "^1.4.11",
"@rspack/core": "^1.4.11",
"@types/bun": "^1.2.19",
"@types/react": "^19.1.9",
"@types/bun": "^1.2.20",
"@types/react": "^19.1.10",
"@types/react-dom": "^19.1.7",
"@types/webpack-env": "^1.18.8",
"@types/wicg-file-system-access": "^2023.10.6",
@@ -234,7 +234,7 @@
"@types/bonjour": ["@types/bonjour@3.5.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ=="],
"@types/bun": ["@types/bun@1.2.19", "", { "dependencies": { "bun-types": "1.2.19" } }, "sha512-d9ZCmrH3CJ2uYKXQIUuZ/pUnTqIvLDS0SK7pFmbx8ma+ziH/FRMoAq5bYpRG7y+w1gl+HgyNZbtqgMq4W4e2Lg=="],
"@types/bun": ["@types/bun@1.2.20", "", { "dependencies": { "bun-types": "1.2.20" } }, "sha512-dX3RGzQ8+KgmMw7CsW4xT5ITBSCrSbfHc36SNT31EOUg/LA9JWq0VDdEXDRSe1InVWpd2yLUM1FUF/kEOyTzYA=="],
"@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="],
@@ -266,7 +266,7 @@
"@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="],
"@types/react": ["@types/react@19.1.9", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA=="],
"@types/react": ["@types/react@19.1.10", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg=="],
"@types/react-dom": ["@types/react-dom@19.1.7", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw=="],
@@ -396,7 +396,7 @@
"bufferstreams": ["bufferstreams@4.0.0", "", { "dependencies": { "readable-stream": "^3.4.0", "yerror": "^8.0.0" } }, "sha512-azX778/2VQ9K2uiYprSUKLgK2K6lR1KtJycJDsMg7u0+Cc994A9HyGaUKb01e/T+M8jse057429iKXurCaT35g=="],
"bun-types": ["bun-types@1.2.19", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-uAOTaZSPuYsWIXRpj7o56Let0g/wjihKCkeRqUBhlLVM/Bt+Fj9xTo+LhC1OV1XDaGkz4hNC80et5xgy+9KTHQ=="],
"bun-types": ["bun-types@1.2.20", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-pxTnQYOrKvdOwyiyd/7sMt9yFOenN004Y6O4lCcCUoKVej48FS5cvTw9geRaEcB9TsDZaJKAxPTVvi8tFsVuXA=="],
"bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="],

View File

@@ -2,7 +2,7 @@
"private": true,
"name": "tgui-workspace",
"version": "6.0.0",
"packageManager": "bun@1.2.19",
"packageManager": "bun@1.2.20",
"workspaces": [
"packages/*"
],
@@ -17,8 +17,8 @@
"@happy-dom/global-registrator": "^17.6.3",
"@rspack/cli": "^1.4.11",
"@rspack/core": "^1.4.11",
"@types/bun": "^1.2.19",
"@types/react": "^19.1.9",
"@types/bun": "^1.2.20",
"@types/react": "^19.1.10",
"@types/react-dom": "^19.1.7",
"@types/webpack-env": "^1.18.8",
"@types/wicg-file-system-access": "^2023.10.6",

View File

@@ -3,16 +3,20 @@
"workspaces": {
"": {
"devDependencies": {
"@types/bun": "^1.2.16",
"@types/bun": "^1.2.20",
},
},
},
"packages": {
"@types/bun": ["@types/bun@1.2.16", "", { "dependencies": { "bun-types": "1.2.16" } }, "sha512-1aCZJ/6nSiViw339RsaNhkNoEloLaPzZhxMOYEa7OzRzO41IGg5n/7I43/ZIAW/c+Q6cT12Vf7fOZOoVIzb5BQ=="],
"@types/bun": ["@types/bun@1.2.20", "", { "dependencies": { "bun-types": "1.2.20" } }, "sha512-dX3RGzQ8+KgmMw7CsW4xT5ITBSCrSbfHc36SNT31EOUg/LA9JWq0VDdEXDRSe1InVWpd2yLUM1FUF/kEOyTzYA=="],
"@types/node": ["@types/node@22.15.29", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ=="],
"bun-types": ["bun-types@1.2.16", "", { "dependencies": { "@types/node": "*" } }, "sha512-ciXLrHV4PXax9vHvUrkvun9VPVGOVwbbbBF/Ev1cXz12lyEZMoJpIJABOfPcN9gDJRaiKF9MVbSygLg4NXu3/A=="],
"@types/react": ["@types/react@19.1.10", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg=="],
"bun-types": ["bun-types@1.2.20", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-pxTnQYOrKvdOwyiyd/7sMt9yFOenN004Y6O4lCcCUoKVej48FS5cvTw9geRaEcB9TsDZaJKAxPTVvi8tFsVuXA=="],
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
"undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
}

View File

@@ -2,6 +2,6 @@
"private": true,
"type": "module",
"devDependencies": {
"@types/bun": "^1.2.19"
"@types/bun": "^1.2.20"
}
}

View File

@@ -136,9 +136,18 @@ if $grep -i 'var/list/static/.*' $code_files; then
st=1
fi;
part "changelog"
#Checking for a change to html/changelogs/example.yml
md5sum -c - <<< "0c56937110d88f750a32d9075ddaab8b *html/changelogs/example.yml"
retVal=$?
if [ $retVal -ne 0 ]; then
echo -e "${RED}Do not modify the example.yml changelog file.${NC}"
FAILED=1
fi;
part "color macros"
#Checking for color macros
(num=`$grep -n '\\\\(red|blue|green|black|b|i[^mnct])' $code_files | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ]) # CHOMPEdit, we alos need to ignore item paths
(num=`$grep -n '\\\\(red|blue|green|black|b|i[^mnct])' $code_files | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ])
retVal=$?
if [ $retVal -ne 0 ]; then
echo -e "${RED}Do not use any byond color macros (such as \blue), they are deprecated.${NC}"