diff --git a/baystation12.dme b/baystation12.dme index e0489fa5008..e9266408f8a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1143,7 +1143,6 @@ #include "code\modules\research\xenoarchaeology\geosample.dm" #include "code\modules\research\xenoarchaeology\readme.dm" #include "code\modules\research\xenoarchaeology\talking_item.dm" -#include "code\modules\research\xenoarchaeology\tools.dm" #include "code\modules\scripting\Errors.dm" #include "code\modules\scripting\IDE.dm" #include "code\modules\scripting\Options.dm" diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index 7076565f541..690025ab735 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -146,11 +146,11 @@ proc/listclearnulls(list/list) * Sorting */ -//Reverses the order of items in the list (Turning a stack into a queue) -/proc/reverselist(var/list/input) - var/list/output = new/list() - for(var/A in input) - output += A +//Reverses the order of items in the list +/proc/reverselist(list/L) + var/list/output = list() + for(var/i = L.len; i >= 1; i--) + output += L[i] return output //Randomize: Return the list in a random order @@ -320,4 +320,28 @@ proc/listclearnulls(list/list) for(var/T in L) if(istype(T, type)) i++ - return i \ No newline at end of file + return i + +//Don't use this on lists larger than half a dozen or so +/proc/insertion_sort_numeric_list_ascending(var/list/L) + //world.log << "ascending len input: [L.len]" + var/list/out = list(pop(L)) + for(var/entry in L) + if(isnum(entry)) + var/success = 0 + for(var/i=1, i<=out.len, i++) + if(entry <= out[i]) + success = 1 + out.Insert(i, entry) + break + if(!success) + out.Add(entry) + + //world.log << " output: [out.len]" + return out + +/proc/insertion_sort_numeric_list_descending(var/list/L) + //world.log << "descending len input: [L.len]" + var/list/out = insertion_sort_numeric_list_ascending(L) + //world.log << " output: [out.len]" + return reverselist(out) diff --git a/code/modules/research/xenoarchaeology/tools.dm b/code/modules/research/xenoarchaeology/tools.dm deleted file mode 100644 index 9dd475dc9fa..00000000000 --- a/code/modules/research/xenoarchaeology/tools.dm +++ /dev/null @@ -1,36 +0,0 @@ -/obj/item/device/depth_scanner - name = "depth analysis scanner" - desc = "Used to check mass spatial depth and density." - icon = 'pda.dmi' - icon_state = "crap" - item_state = "analyzer" - w_class = 1.0 - flags = FPRINT | TABLEPASS - //slot_flags = SLOT_BELT - -/obj/item/weapon/pickaxe/hand_pick - name = "hand pick" - icon_state = "excavation" - item_state = "minipick" - digspeed = 50 - desc = "A smaller, more precise version of the pickaxe." - flags = FPRINT | TABLEPASS - w_class = 2.0 - -/obj/item/weapon/pickaxe/mini_pick - name = "mini pick" - icon_state = "excavation" - item_state = "minipick" - digspeed = 60 - desc = "A miniature excavation tool for precise digging around delicate finds." - flags = FPRINT | TABLEPASS - w_class = 1.0 - -//todo: this -/obj/item/device/beacon_locator - name = "locater device" - desc = "Used to triangulate position signal emitters." - icon = 'device.dmi' - icon_state = "pinoff" //pinonfar, pinonmedium, pinonclose, pinondirect, pinonnull - item_state = "electronic" - w_class = 1.0 diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index c6293f64926..0bcfd992562 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/xenoarchaeology.dmi b/icons/obj/xenoarchaeology.dmi index 32282287f1a..16914dbff2b 100644 Binary files a/icons/obj/xenoarchaeology.dmi and b/icons/obj/xenoarchaeology.dmi differ diff --git a/icons/turf/walls.dmi b/icons/turf/walls.dmi index aa4e63ee8b2..10032cd8cab 100644 Binary files a/icons/turf/walls.dmi and b/icons/turf/walls.dmi differ