From 4f24cfaa7d680a72afa3a06df356d82b487deda8 Mon Sep 17 00:00:00 2001 From: skoglol <33292112+kriskog@users.noreply.github.com> Date: Thu, 28 Nov 2019 19:38:57 +0100 Subject: [PATCH] Fixes more input sort runtimes (#47957) * Fixes another sorting runtiming. * sortNames copy list, another wrong sort. --- code/__HELPERS/_lists.dm | 2 +- code/modules/mining/lavaland/necropolis_chests.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- .../living/simple_animal/guardian/types/ranged.dm | 12 ++++++------ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 25fe9040355..0216797fbe3 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -353,7 +353,7 @@ //uses sortList() but uses the var's name specifically. This should probably be using mergeAtom() instead /proc/sortNames(list/L, order=1) - return sortTim(L, order >= 0 ? /proc/cmp_name_asc : /proc/cmp_name_dsc) + return sortTim(L.Copy(), order >= 0 ? /proc/cmp_name_asc : /proc/cmp_name_dsc) //Converts a bitfield to a list of numbers (or words if a wordlist is provided) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index c7d1ac07261..6349059e6d1 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -1036,7 +1036,7 @@ var/mob/living/L = I da_list[L.real_name] = L - var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in sortNames(da_list) + var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in sortList(da_list) choice = da_list[choice] diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 3ac9f4dc1bc..f02ed62ca99 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -964,7 +964,7 @@ for(var/i in artpaths) var/datum/martial_art/M = i artnames[initial(M.name)] = M - var/result = input(usr, "Choose the martial art to teach","JUDO CHOP") as null|anything in sortNames(artnames) + var/result = input(usr, "Choose the martial art to teach","JUDO CHOP") as null|anything in sortList(artnames, /proc/cmp_typepaths_asc) if(!usr) return if(QDELETED(src)) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index 9458742270e..a24da3d3d9b 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -29,7 +29,7 @@ var/toggle = FALSE /mob/living/simple_animal/hostile/guardian/ranged/ToggleMode() - if(src.loc == summoner) + if(loc == summoner) if(toggle) ranged = initial(ranged) melee_damage_lower = initial(melee_damage_lower) @@ -83,12 +83,12 @@ set name = "Set Surveillance Snare" set category = "Guardian" set desc = "Set an invisible snare that will alert you when living creatures walk over it. Max of 5" - if(src.snares.len <6) - var/turf/snare_loc = get_turf(src.loc) + if(snares.len <6) + var/turf/snare_loc = get_turf(loc) var/obj/effect/snare/S = new /obj/effect/snare(snare_loc) S.spawner = src S.name = "[get_area(snare_loc)] snare ([rand(1, 1000)])" - src.snares |= S + snares |= S to_chat(src, "Surveillance snare deployed!") else to_chat(src, "You have too many snares deployed. Remove some first.") @@ -97,9 +97,9 @@ set name = "Remove Surveillance Snare" set category = "Guardian" set desc = "Disarm unwanted surveillance snares." - var/picked_snare = input(src, "Pick which snare to remove", "Remove Snare") as null|anything in sortNames(src.snares) + var/picked_snare = input(src, "Pick which snare to remove", "Remove Snare") as null|anything in sortNames(snares) if(picked_snare) - src.snares -= picked_snare + snares -= picked_snare qdel(picked_snare) to_chat(src, "Snare disarmed.")