Various fixes, changes, additions, and removal of old features.

More changes
This commit is contained in:
DZD
2015-07-09 23:12:01 -04:00
parent 1202538dc5
commit d4cf433e7c
30 changed files with 1913 additions and 1790 deletions
View File
+13 -11
View File
@@ -3964,7 +3964,7 @@
"byl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor,/area/quartermaster/office)
"bym" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/quartermaster/office)
"byn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/quartermaster/office)
"byo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/quartermaster/office)
"byo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{dir = 2; icon_state = "loadingarea"},/area/quartermaster/office)
"byp" = (/obj/machinery/conveyor{dir = 4; id = "packageExternal"},/obj/structure/plasticflaps{opacity = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/office)
"byq" = (/obj/machinery/conveyor{dir = 4; id = "packageExternal"},/obj/machinery/door/firedoor{dir = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/office)
"byr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west)
@@ -4154,7 +4154,7 @@
"bBT" = (/obj/item/weapon/stamp/granted{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor,/area/quartermaster/office)
"bBU" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/quartermaster/office)
"bBV" = (/obj/machinery/computer/ordercomp,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/quartermaster/office)
"bBW" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/quartermaster/office)
"bBW" = (/obj/machinery/mineral/ore_redemption,/turf/simulated/floor,/area/quartermaster/office)
"bBX" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/firealarm{pixel_y = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor,/area/quartermaster/office)
"bBY" = (/obj/structure/sign/securearea,/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/equipmentstorage)
"bBZ" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw)
@@ -4578,7 +4578,7 @@
"bKb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor,/area/quartermaster/storage)
"bKc" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #3"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
"bKd" = (/obj/structure/table,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/quartermaster/office)
"bKe" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/quartermaster/office)
"bKe" = (/turf/simulated/floor{dir = 2; icon_state = "loadingarea"},/area/quartermaster/office)
"bKf" = (/obj/machinery/light,/obj/machinery/computer/merch,/turf/simulated/floor,/area/quartermaster/office)
"bKg" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/sw)
"bKh" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering)
@@ -5228,9 +5228,11 @@
"bWB" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
"bWC" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/obj/machinery/air_sensor{frequency = 1222; id_tag = "burn_sensor"},/turf/simulated/floor/engine,/area/toxins/mixing)
"bWD" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/engine,/area/toxins/mixing)
"bWE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/quartermaster/office)
"bWF" = (/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"bWG" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"bWH" = (/turf/simulated/floor/airless,/area/toxins/test_area)
"bWI" = (/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock)
"bWJ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
"bWK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station)
"bWL" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "mining_dock_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
@@ -5305,13 +5307,13 @@
"bYc" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"bYd" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"bYe" = (/obj/machinery/camera{c_tag = "Research Toxins Test Chamber North"; network = list("Toxins","Research","SS13")},/obj/machinery/light{dir = 1},/turf/simulated/floor/airless,/area/toxins/test_area)
"bYf" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "QM Office"; sortType = 3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/quartermaster/miningdock)
"bYg" = (/obj/item/weapon/ore/silver,/obj/item/weapon/ore/silver,/obj/structure/closet/crate,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "mining_dock_pump"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/miningdock)
"bYh" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 8},/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/miningdock)
"bYi" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/wall,/area/quartermaster/miningdock)
"bYj" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/miningdock)
"bYj" = (/obj/machinery/mineral/equipment_vendor,/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/miningdock)
"bYk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/quartermaster/miningdock)
"bYl" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/miningdock)
"bYm" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "QM Office"; sortType = 3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/miningdock)
"bYn" = (/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access_txt = "48"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"bYo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"bYp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint)
@@ -8095,13 +8097,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboPboPboPboPboPboPboPboPboPboPaaabunaAvbuoblUbupbpSbuqbpSburbusbutbuubpSbuvbwHbuxbuybsCbjlbjlbjlbjlbjlbjlbuzbuAbuBbuCbuDbkRbkRbkRbkRbkRbkRbkRbuEbkRbkRbkRbuFbkRbuGbuHbuIbnCbnCbnCbuJaIgbuKbnHbuLblbbuMbtablcblcblcblbbuNblbbuObuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbllbuZbnVbvbbvabrYbvcbnVbllbvdbvebvfbsdbvgbvhbvibvjbvkbvlbvmbtFbtFbtFbtFbtFbtFbtFbvnbvobvpbvqbvrbvsbvtbsibvubvvbvwbvxbxqbvzbvvbEbbslbvAbtVbvBbvCbvDbvEbvEbvFbvGbvHbvIbvJbvKbvLbvMbsqbvNbvObvPbstbvQbvRbvSbvTbvTbvUbstbvVbvWbvXbumaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNtaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtaNtaNtaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIfazEaBmaBmaAvaAvaAvaAvaAvaAvaAvaGTbwabwbbpSbwcbwdbwebwfbwgbwhbwibgebbKbbKbbKbwjbrvbrvbrvbrvbrvbrvbwkbwlbwlbwmbwnbkRbwobwpbwqbwrbwsbwtbwubwvbkRbwwbwxbwybsTaIgbuIbnCbnCbwzbkXbkXbwAbwBbwCbwDbwEbwFbwGbzDbwIbwJbwKbwLbwMbwNbuWbwObwPbwObwPbwQbuWbuXbwRbwSbwTbwUbwVbwWbwXbwYbwZbwSbxabttbttbsdbxbbxcbxdbxebxfbsdbvmbtFbtFbtFbtFbtFbtFbtFbxgbxhbxibxjbxkbvqbxlbsibxmbxnbxobvxbEbbvzbxpbTrbslbxrbxsbxtbxubxubxvbxwbxxbxybxzbxzbxzbxAbxzbxBbxCbxDbxEbxFbxGbxHbxIbxJbxJbxJbxKbstbxLbvWbxMbumaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtaNtaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAvbxObxPbxQbxRbxSbxSbxTbxUaFzbpSbxVaIhbwfbxXbpSbpSbpSaZOaJkaJkbyabybbyabyabyabybbyaaZOaZObkRbkRbkRbycbkRbydbydbydbydbydbydbwubyeaJlbygbyhbyibyjbykbylbymbynbyobypbyqbyrbysbytbyubyvbyvbywbyxbyybyzbyAbyBbyCbyDbthbyEbuUbyFbuSbyGbthaaabyHbyIbyJbyKbyIbyIbyIbyIbyLbllbyMbttbyNbyObyPbyQbyRbySbyTbsdbyUbyVbyWbyXbyYbyZbzabzbbvnbzcbsibzdbxkbzebzfbsibzgbzhbvwbvxbEbbvzbvvbEbbslbvAbtVbzibzjbzkbzlbzmaJmbzobzpbzqbzrbzsbztbzubsqbzvbzwbzxbstbzybzzbzAbvTbzBbzCbstbxLbvWbAhbumaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAvbzEbzFbzGaFyaFybzHbzIaFybzJbpSbzKaJMaKbbzNbpSaaaaaaaaaaabaabbzObzObzObzObzObzObzOaaaaaaaKcbzQbzRbzSbzTbydbydbydbydbydbydbzUbzVbzWbzXbzYbzZbAaaKdbkXbkXbAcbkXbkXbkXbAdbAebAfbAgbBubAibAibAjbAibAkbAlbAmbAnbyDbthbAobtjbtjbtjbApbthaaabyHbyIbAqbArbAsbAtbAubAvbAwbAxbAybttbAzbsdbtvbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbALbAMbANbAObAPbAQbxkbARbASbsibATbAUbAVbAWbAXbAYbAZbtTbslbBabBbbBcbBdbBdbBebBfaKjbBhbBibBjbBkbBlbBmbBnbsqbBobzwbBpbstbBqbBrbBsbvTbvTbBtbstbvVbvWbEGbumaaaaaaaaaaaaaabbBvbBwbBxbBwbBxbBwbByaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBzaAvbBAbBAaMWaAvaAvaIfazEbBDbBCbpSbBEbBFaKbaKbbpSaaaaaaaaaaaaaaabzObzObzObzObzObzObzOaaaaaaaKcbBJbydbBKbBLbBLbBLbBLbBLbBMbBNbBLbBObBPbBQbBRbBSbBTbBUbkXbBVbnCbBWbBXaIgbBZbCabCbbAgbAgbAmbCcbCdbCebCfbCgbAmbtgbyDbthaNIaPwbCjaRvaPAbthaaabCmbyIbCnbCobCpbCqbCrbCqbCsbCtbCubttbCvbsdaSVaSOaSObCzbCAbCBbCCbCDbCEbCFbCGbCGbCHbCIbCJbCKbsibAQbCLaSXbsibsibsjbCNbCObCPbsjbslbslbslbCQbCRbtVbCSbzjbzkbCTbBdaKjbCVbCWbCWbCXbvIbCYbCZbDabDbbvObDcbstbDdbDebvTbDfbDgbDhbstbxLbDibumbumaaaaaaaaaaaaaabbDjbDkbDlbDmbDnbDobDjaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAvbzEbzFbzGaFyaFybzHbzIaFybzJbpSbzKaJMaKbbzNbpSaaaaaaaaaaabaabbzObzObzObzObzObzObzOaaaaaaaKcbzQbzRbzSbzTbydbydbydbydbydbydbzUbzVbzWbzXbzYbzZbAaaKdbkXbkXbAcbBWbkXbkXbAdbAebAfbAgbBubAibAibAjbAibAkbAlbAmbAnbyDbthbAobtjbtjbtjbApbthaaabyHbyIbAqbArbAsbAtbAubAvbAwbAxbAybttbAzbsdbtvbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbALbAMbANbAObAPbAQbxkbARbASbsibATbAUbAVbAWbAXbAYbAZbtTbslbBabBbbBcbBdbBdbBebBfaKjbBhbBibBjbBkbBlbBmbBnbsqbBobzwbBpbstbBqbBrbBsbvTbvTbBtbstbvVbvWbEGbumaaaaaaaaaaaaaabbBvbBwbBxbBwbBxbBwbByaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBzaAvbBAbBAaMWaAvaAvaIfazEbBDbBCbpSbBEbBFaKbaKbbpSaaaaaaaaaaaaaaabzObzObzObzObzObzObzOaaaaaaaKcbBJbydbBKbBLbBLbBLbBLbBLbBMbBNbBLbBObBPbBQbBRbBSbBTbBUbkXbBVbnCbKebBXaIgbBZbCabCbbAgbAgbAmbCcbCdbCebCfbCgbAmbtgbyDbthaNIaPwbCjaRvaPAbthaaabCmbyIbCnbCobCpbCqbCrbCqbCsbCtbCubttbCvbsdaSVaSOaSObCzbCAbCBbCCbCDbCEbCFbCGbCGbCHbCIbCJbCKbsibAQbCLaSXbsibsibsjbCNbCObCPbsjbslbslbslbCQbCRbtVbCSbzjbzkbCTbBdaKjbCVbCWbCWbCXbvIbCYbCZbDabDbbvObDcbstbDdbDebvTbDfbDgbDhbstbxLbDibumbumaaaaaaaaaaaaaabbDjbDkbDlbDmbDnbDobDjaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzOaSZaKcaKcbDubDvbDwbDxbDxbDxbDvbydbwubyebydbydaJlbDybDzbDAbDBbDCbDDbDEbnCbnCbDFaIgbBZbCabDHbDIbDJbDKbDLbDMbDNbDObDPbAmbDQbDRbuQbDSbDTbDUbDVbDWbuWbuXbDXbyIbDYbDZbEabCqbTFbCqbEcbCtbEdbttbEebsdbEfbEgbEhbEibEjbEkbElbEmbEnbEnaTabEpbEnbEnbEqbErbEsbEtbEubEvbEwbExbEybEzbEAbEBbECbEDbEEbEFbEYbEHbtVbEIbEJbEKbELbEMbvFbENbCWbCWbEObEPbCYbEQbsqbERbERbESbstbETbEUcHibEWbvTbEXbstbxLbHVbumaaaaaaaaaaaaaaaaabbEZbFabDlbDnbDlbFbbBxaabaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzObFcbFdbFcbFebFfbFgbFfbFfbFfbFfbFhbwubyebFibkRbkRbFjbnCbyhbDBbFkaIgbFmbFnbFnbFobFpbFqbFrbFsaTbbFuaTcbFwbFxbFybFzbFAbAmbAnbyDbthbFBbFCbFDbFEbFFbthaaabCmbFGbFHbFGbFGbFGbFGbFGbFIbFGbFJbttbEebsdbFKbFLbFLbFMbFNbCBbFObFPaTebFRbFSbFTbFUaTebFVbFWbFXbFYbFZbGabGbbGbbGcbGdbGebGfbGgbGhbGibGjbGkbGlbGmbGnbGnbGobGpbGqbvFbGrbvIbvIbGsbGtbCYbGubGvbGwbGxbGybGzbGAaTnaTfbGDaTfbstbstbGFbDbbDbaToaToaToaToaTobDbbDjbDnbDlbDnbDnbGJbDjaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzObGKbGLbGKbGMbydbDwbDxbDxbDxbydbydbwubyebGNbGObkRbGPbnCbyhbDBbGQaIgbGSbnCbplbnCbGTbBZbttbGUaTbbFuaTqbGXbGYbGZbHabHbbHcbHdbHebHfbHfbHgbHhbHibthbthaaabCmbFGbHjbHkbHlbHmbHnbHobHpbHqbHrbttbEebAEbHsbHtbHubHvbHwbCBbHxbHybHzbHAbHBbHCbHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHNbHObHPbHQbHRbEDbHSbHTbHUbZMbtWbHWbHXbHYbHZbHZbvFbIabIbbIcbvFbIdbCYbIebvFbIfbIgbIhbIibIjbIkbIlbImbInbIobIpbIqbIrbIsbItbItbIubIvbIwaTrbIybBwbBxbIzbBxbBwbIAaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzOaSZaKcaKcbIDbydbDwbydbydbydbydbydbwubyebGNbIEbkRbIFbnCbIGbIHbnCbIIbnBbnCbnCbIJaIgbBZbttbGUaTbbFubAmbIKbILbIMbINbIObIPbIQbIRbISbITbuWbIUbIVbuWbuXbuXbIWbFGbIXbIYbIZbJabJbbJbbJcbJdbJebttbJfbsdbCBbJgaSVbJibJjbCBbHxbJkbJlbJmbJnbJobJpbJlbHxbJqbJrbJsbJsbJsbJtbJsbJubJubJvbJwbJxbJybJybJzbJxbJxbJybJybJAbJBbJAbJAbvFbvFbvFbvFbvFaTsbJDaJmbvFbJFbJGbJHbJIbJIbJJbJKbJLbJMbJNbJObJPbJQbJRbJSbJSbJTbIjbJUbDbaTTaTTaTTbJYbDbbJZaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzObGKbGLbGKbDubKabKbbydbydbydbKabydbwubyebGNbKcbkRbKdbnCbyhbDBbnCaIgbKebnCbnCbKfaIgbBZbttbKgaTbbKibAmbKjbKkbKlbKmbKnbIPbKobKpbKqbKrbKsbKtbKubKvaaaaaaaaabFGbKwbKxbKybKybKzbKAbKBbFGbKCbKDbEebKEbKFbKGbKHbKIbKJbKKbKLbHyaWsbKNbKObKPbKQaWsbHxbJqbKRbKSbKTbKUbKVbKWbJubKXbKYbKZbJxbLabLbbLcbLdbLebLfbLgbIobLhbJIbJIbLibLjbJIbLkbLlbLmbLnbLobJIbLpbLqbLraWwaWtaXFbLvbLwbLvbLvbLvbGFbDbbDbaToaTobDbbLxbLybLzbLAbLBbLCbLDaTTaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzObGKbGLbGKbDubKabKbbydbydbydbKabydbwubyebGNbKcbkRbKdbnCbyhbDBbnCbkXbWEbnCbnCbKfaIgbBZbttbKgaTbbKibAmbKjbKkbKlbKmbKnbIPbKobKpbKqbKrbKsbKtbKubKvaaaaaaaaabFGbKwbKxbKybKybKzbKAbKBbFGbKCbKDbEebKEbKFbKGbKHbKIbKJbKKbKLbHyaWsbKNbKObKPbKQaWsbHxbJqbKRbKSbKTbKUbKVbKWbJubKXbKYbKZbJxbLabLbbLcbLdbLebLfbLgbIobLhbJIbJIbLibLjbJIbLkbLlbLmbLnbLobJIbLpbLqbLraWwaWtaXFbLvbLwbLvbLvbLvbGFbDbbDbaToaTobDbbLxbLybLzbLAbLBbLCbLDaTTaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzObLFbLGbLFbLHbLIbLJbLJbLJbLJbLJbLKbLLbLMbGNbLNbkRbLObLPbLQbLRbLSbLTaXVaXVaXVbLXbLXbLYbttbLZbMabFubAmbMbbMcbMdbILbMebIPbMfbMgbMhbMibMjbDUbMkbKvaaaaaaaaabFGbMlbMmbMnbMobKzbKAbKBbFGbMpbMqbMrbMsbMtbMubMvbMwbMxbMybMzbMAbJlbJlbMBbMCbJlbJlbHxbJqbMDbMEbMFbMGbMHbMIbJubMJbMKbMLbMMbMNbMObMPbMPbMQbMRbMSbMTbMUbIjbIjbMVbIjbMWbIjbMXbIjbMYbMZbMZbNabNbbNcaYabNebNfaYbbNhbNibNjbLvbNkaZCaaaaaaaaabDbbNmbNnbNobNpaZZbNrbNsbDbaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzOaSZaKcaKcbkRbkRaKcaKcaKcaKcaKcbkRbkRaKcaKcaKcbkRbNBbNBbNBbNCbNBbLXbNDbNEbNFbNGbLXbBZbttbNHbNIbNIbAmbAmbAmbAmbAmbNJbIPbHfbHebNKbNLbNMbNNbKvbKvbthbthbthbFGbFHbFGbFGbFGbFGbFGbFGbFGbNObttbNPbNQbNRbNSbNTbNRbNRbNUbNVbNWbNXbNYbNZbOabObbOcbKLbOdbOebOfbOgbOhbOibOjbOkbOlbOmbOnbOobOpbOqbOrbLcbOsbJybJybPXbOubPXbOtbPYbOtbOtbOtbOvbOwbOxbOxbOybOzbOAbOBaYabOCbODbaabOFbOGbOHbLvbNkaZCaaaaaaaaabDbbOJbOKbDbaTrbDbbDbaTrbDbaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzObzObzObzObzObzObzOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOLaabaaaaaaaaaaaabNBbOMbONbOObOPbLXbOQbORbOSbOTbLXbBZbttbOUbOVbOWbOXbOYbOZbPabPbbPcbPdbPebPfbPgbPhbPibPjbPkbPlbPmbPnbPobPpbPqbPrbPsbscbPtbttbPubPvbPwbttbPxbNRbPybPzbPAbPBbPCbHxbPDbPEbPFbPGbPHbPIbPJbPKbPLbPMbPNbJsbPObMGbPPbPQbPRbPSbPTbPUbJxbPVbLcbLcbLcbPWbJybPXbQabPZbQcbabbRrbQdbRsbOtbQebQfbQgbOxbOxbQhbOAbQibadbQkbQlbaebQnbQobQpbLvbQqbumaaaaaaaaabDbbDbbDbbDbaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8110,9 +8112,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbD
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTlbTmbTnbTobTlbaDbaDbaDbNBbTsbTtbTubTvbTwbTxbTybTzbTzbTAbLXbTBbTCbTDbTEbTEbaEbTGbaFbTEbTIbTIbaGbTKbbRbTIbTIbTMbPrbPrbTNbTObTObTObTPbTQbTObTObTRbTSbTTbTTbTUbTTbTVbTWbTTbbUbTYbTZbNRbUabUbbQWbUcbUdbUebUfbUgbUhbUdbHxbRebUibUjbUkbUlbUmbUnbUobUpbUqbUrbUsbUtbUubUvbUwbUxbJybPXbPXcZpcZrcZqcZscZqcZtbOtbUybUzbUAbUAbOxbUBbUCbUDbLvbLvbLvbLvbLvbLvbLvbLvbNkbThbUEbUFbUGbUHbUHbUIbTjaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbcgbcgbcgbcgbUMbUMbUNbUNbUNbUNbUOaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRNbUPbUQbUPbRNbaDbUSbUTbUUbUVbUWbUXbUYbUZbLXbVabVbbVcbVdbLXbTCbTCbVebTEbWXbVgbVhbVibVjbTIbWUbVlbVmbVnbVobTIbVpbVqbVrbTObVsbVtbVubVvbVwbVxbVybVzbVAbVBbVCbVDbVEbVFbVGbVHbVIbVJbVKbVLbVMbVNbVObQXbVPbVQbVRbVSbVTbVUbHFbVVbVWbVXbVYbUmbVZbVZbWabWbbJxbWcbWdbWebWfbWgbWhbWibJybWjbWkbWlbWmbWlbWlbWncZubWpbWqbWrbWsbWtbOxbWubWvbOBbDbbvWbWwbWxbWybWybWxbWybWzbThbWAbWBbUGbUHbWCbWDbTjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcgbWFbWGbWFbUMbUNbUNbWHbdqbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTlbWJbUPbUPbWKbWLbRQbWMbWNbWObRQbUXbWPbWQbLXbLXbLXbLXbLXbLXbWRbTCbWSbWTceLbWVbWVbWVbWWbTIbYtbWYbWYbWYbWZbXabXbbXcbXdbXebXfbXgbXhbXibXjbXkbTObTRbXlbTTbXmbXnbXobXpbXqbTTbQSbPAbQTbQUbXrbXsbXtbXubXvbXwbXxbXybXzbUdbXAbXBbXCbXDbXEbXFbXGbXHbXIbXJbJxbJxbJxbJxbJxbXKbXLbXMbJybXNbWlbWlbXObWlbXPbXQbXRbXSbXTbQfbXUbXUbOxbOzbXVbOBbDbbThbXWbThbThbThbThbThbThbThbXXbXYbTjbXZbYabYbbTjaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbYcbWFbWFbYdbUNbUNbWHbWHbYebWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRNbUQbUQbUQbRNbaDbYgbYhbYibYjbRQbYkbYlbYmbYnbYobYobYobYpbTCbTCbTCbVebTEbYqbWVbYrbWVbYsbTIbYtbWYbYubWYbYvbTIbYwbYxbYybTObYzbYAbYBbYCbYDbYEbYFbYGbYHbYIbYJbYKbYLbYMbYNbTTbSxbPAbPAbYObXrbXsbYPbYQbdCbVQbYSbYTbYUbekbYWbYXbYYbelbZabZbbZcbZcbVZbZdbUjbVkbZfbZgbZhbZibZjbZebXRbXNbZlbWlbWlbWlbZmbZnbXRbXSbZobQfbXUbXUbOxbZpbZqbOBbDbbZrbZsbZtbThbZubZvbZwbZxbZybZzbZAbTjbZBbZCbZDbTjbThbThbThbThbThbThbThbThaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabZEbUNbYcbUNbUNbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabTlbZFbZGbZHbTlbaDbaDbaDbNBbNBbZJbZJbZJbNBbNBbTCbZKbZKbZLbZNbTCcdabZObTEbYqbWVbWVbWVbZPbTIbYtbWYbWYbZQbZRbZSbZTbZUbZVbTObTObTObTObTObZWbTObTObZXbZYbTTbTTbZZbTTbTWbTTbTTbNRcaacaabNRbNRcabcaccadbemcafcagcahcaibencakcalbYYbelcancaocapcaqcarcasbUjcatcaucavcawcaxcaycazcaAcaBcaAbeobeobeocaAcaFcaAcaAcaGcaHbXUbXUbOxcaIbXVbOBcaJcaKcaLcaMcaNcaOcaPcaPcaQcaRcaScaTcaUcaVcaWcaXcaYcaZcbacbbcbccbdcbecbfcbgaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabUMbUNcbhcbicbibWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbRMcbkbRMcblcbmaabaaaaaabNBbaDbaDbaDbNBaaabTCcbqcbrcbscbtbYocbucbvbTEcbwcbxcbybWVcbzcbAcbBcbCcbDcbEcbFbTIcbGcbHcbIcbJcbKcbKcbKcbKcbLcbMcbNcbOcbOcbPcbPcbQcbRcbSbTRbNRcbTcbUcbVcbWbepbXscbYcadbeObeLccbcccbajbePcceccfccgcchcchccicchcchcchccjbUjcckcclccmccnccoccpccqcaAccrccscctccuccvccsccwccxccsccycczbQgbOxbOxccAccBccCccDccEccFccGccHccIccJccKccLccMccNccOccPccQccRccQccSccRccRccRccTccUccVccWccXaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNbUNccYbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRNbUQbUQbUQbRNbaDbYgbYhbYibWIbRQbYkbYlbYfbYnbYobYobYobYpbTCbTCbTCbVebTEbYqbWVbYrbWVbYsbTIbYtbWYbYubWYbYvbTIbYwbYxbYybTObYzbYAbYBbYCbYDbYEbYFbYGbYHbYIbYJbYKbYLbYMbYNbTTbSxbPAbPAbYObXrbXsbYPbYQbdCbVQbYSbYTbYUbekbYWbYXbYYbelbZabZbbZcbZcbVZbZdbUjbVkbZfbZgbZhbZibZjbZebXRbXNbZlbWlbWlbWlbZmbZnbXRbXSbZobQfbXUbXUbOxbZpbZqbOBbDbbZrbZsbZtbThbZubZvbZwbZxbZybZzbZAbTjbZBbZCbZDbTjbThbThbThbThbThbThbThbThaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabZEbUNbYcbUNbUNbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaabDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqbDqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabTlbZFbZGbZHbTlbaDbaDbaDbNBbYjbZJbZJbZJbNBbNBbTCbZKbZKbZLbZNbTCcdabZObTEbYqbWVbWVbWVbZPbTIbYtbWYbWYbZQbZRbZSbZTbZUbZVbTObTObTObTObTObZWbTObTObZXbZYbTTbTTbZZbTTbTWbTTbTTbNRcaacaabNRbNRcabcaccadbemcafcagcahcaibencakcalbYYbelcancaocapcaqcarcasbUjcatcaucavcawcaxcaycazcaAcaBcaAbeobeobeocaAcaFcaAcaAcaGcaHbXUbXUbOxcaIbXVbOBcaJcaKcaLcaMcaNcaOcaPcaPcaQcaRcaScaTcaUcaVcaWcaXcaYcaZcbacbbcbccbdcbecbfcbgaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabUMbUNcbhcbicbibWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDpbDpbDpbDpbDpbDpbDpbDpbDpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbRMcbkbRMcblcbmaabaaabNBbNBbaDbaDbaDbNBaaabTCcbqcbrcbscbtbYocbucbvbTEcbwcbxcbybWVcbzcbAcbBcbCcbDcbEcbFbTIcbGcbHcbIcbJcbKcbKcbKcbKcbLcbMcbNcbOcbOcbPcbPcbQcbRcbSbTRbNRcbTcbUcbVcbWbepbXscbYcadbeObeLccbcccbajbePcceccfccgcchcchccicchcchcchccjbUjcckcclccmccnccoccpccqcaAccrccscctccuccvccsccwccxccsccycczbQgbOxbOxccAccBccCccDccEccFccGccHccIccJccKccLccMccNccOccPccQccRccQccSccRccRccRccTccUccVccWccXaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNbUNccYbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabccZbTCbTCbTCcqvbTCbTCcdbbTEcdccddcdecdfcdgcdhcdicdjbZkcdlcdmcbAcdncdocdpcdqcdrcdrcdrcdrcdscdtcducdvcdwcdvcdxcdycdzcdAcdBcdCcdDcdEcdFcdGcdHcdIcdJcdKcdLcdMcdNcdOcdPcdQcdRcdScdTcdTcdTcdUcdVcdWcdXcdYcdZcdZceacdZcebbffbgqbfRcaAcefcegcehceicehcejcekcelccsbOxcembOxbOxcenceobXVbzwbDbbThcepbThbThceqcercescetceuccRcevcewcexccKcexccKceyccKccKbThcezceAceBceCaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabUNbWHbWHbWHbWHbWHbWHceDbWHceEbWHbWHbWHbWHbWHbUNbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZceFceGceHbTCceIbTEceJceKcdkbYqceMceNceObYtbVfceQceRceNceSceTceUceVceVceWceXceYceZcfacfbcfcbHTcfdbTRcfebHTbHTcffcfgcfhcficfjcdGcfkcflcfmcfncfocfpcfqcfrcfscfpcfpcftcfucfucfucfvcfucfwcfucfxcfycfzcfAcfBcfCcfDcfEcfFcaAcfGcfHcfIcfJcfIcfKcfLcehbhqcfNcfObzwcfPbzwceobXVbzwbDbcfQcfRcfSbThbThbThbThbThcfTccKcfUcfVceyccKcfWccKbXXccKcfXbThcfYcfZcgabThaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabUNcgbcgbcgbcgbcgbcgbcgcbWHcgdcgbceEbWHbWHbWHbWHbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccZcgfcgecggbTCceIcghcghcghcghcghcghbTIbTIbTIbTIbTIbTIbTIcgicgjcgkcglcgmcgncgocgocgpcgqcfbbHTbHTcgrcgscgtbHTbHTbHTcgucgvcgwcdEcgxcgycgzcfucgAcgBcgCbQWcgBcgDcdTcdTcdTcdTcdTcdTcgBcdTcdTcdTbQWcgEcgFcgGcgHcgIcgJcgKcgLcaAcgMcgNcehcgOcehcgPcgQcgRcgScgTcgUcgVbzwcgWceobXVcgXbDbbDicgYcgZchabumbvWbvWbThchbchcchdchechfchgchhchichjchkchlbThchmchnchochpaacaacaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaachqbWFbWFbWFbWFbWFbWFbWFchrchsbWHbWHbWHbWHchtbdqbUNaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
File diff suppressed because it is too large Load Diff
+139 -121
View File
@@ -1,108 +1,150 @@
var/global/list/possiblethemes = list("organharvest","cult","wizden","cavein","xenoden","hitech","speakeasy","plantlab")
var/global/max_secret_rooms = 6
var/global/list/space_surprises = list( /obj/item/clothing/mask/facehugger =4,
/obj/item/weapon/pickaxe/silver =4,
/obj/item/weapon/pickaxe/drill =4,
/obj/item/weapon/pickaxe/drill/jackhammer =4,
//mob/living/simple_animal/hostile/carp =3,
/obj/item/weapon/pickaxe/diamond =3,
/obj/item/weapon/pickaxe/diamonddrill =3,
/obj/item/weapon/pickaxe/gold =3,
/obj/item/weapon/gun/energy/plasmacutter =2,
/obj/structure/closet/syndicate/resources =2,
/obj/item/weapon/melee/energy/sword/pirate =1,
/obj/mecha/working/ripley/mining =1
)
var/global/list/spawned_surprises = list()
var/global/max_secret_rooms = 3
proc/spawn_room(var/atom/start_loc,var/x_size,var/y_size,var/wall,var/floor , var/clean = 0 , var/name)
/proc/spawn_room(var/atom/start_loc, var/x_size, var/y_size, var/list/walltypes, var/floor, var/name)
var/list/room_turfs = list("walls"=list(),"floors"=list())
//world << "Room spawned at [start_loc.x],[start_loc.y],[start_loc.z]"
if(!wall)
wall = pick(/turf/simulated/wall/r_wall,/turf/simulated/wall,/obj/structure/alien/resin/wall)
if(!floor)
floor = pick(/turf/simulated/floor,/turf/simulated/floor/engine)
for(var/x = 0,x<x_size,x++)
for(var/y = 0,y<y_size,y++)
for(var/x = 0, x < x_size, x++) //sets the size of the room on the x axis
for(var/y = 0, y < y_size, y++) //sets it on y axis.
var/turf/T
var/cur_loc = locate(start_loc.x+x,start_loc.y+y,start_loc.z)
if(clean)
for(var/O in cur_loc)
del(O)
var/cur_loc = locate(start_loc.x + x, start_loc.y + y, start_loc.z)
var/area/asteroid/artifactroom/A = new
if(name)
A.name = name
else
A.name = "Artifact Room #[start_loc.x][start_loc.y][start_loc.z]"
A.name = "Artifact Room #[start_loc.x]-[start_loc.y]-[start_loc.z]"
if(x == 0 || x == x_size-1 || y == 0 || y == y_size-1)
var/wall = pickweight(walltypes)//totally-solid walls are pretty boring.
T = cur_loc
T.ChangeTurf(wall)
room_turfs["walls"] += T
if(x == 0 || x==x_size-1 || y==0 || y==y_size-1)
if(wall == /obj/structure/alien/resin/wall)
T = new floor(cur_loc)
new /obj/structure/alien/resin/wall(T)
else
T = new wall(cur_loc)
room_turfs["walls"] += T
else
T = new floor(cur_loc)
T = cur_loc
T.ChangeTurf(floor)
room_turfs["floors"] += T
A.contents += T
return room_turfs
proc/admin_spawn_room_at_pos()
var/wall
var/floor
var/x = input("X position","X pos",usr.x)
var/y = input("Y position","Y pos",usr.y)
var/z = input("Z position","Z pos",usr.z)
var/x_len = input("Desired length.","Length",5)
var/y_len = input("Desired width.","Width",5)
var/clean = input("Delete existing items in area?" , "Clean area?", 0)
switch(alert("Wall type",null,"Reinforced wall","Regular wall","Resin wall"))
if("Reinforced wall")
wall=/turf/simulated/wall/r_wall
if("Regular wall")
wall=/turf/simulated/wall
if("Resin wall")
wall=/obj/structure/alien/resin/wall
switch(alert("Floor type",null,"Regular floor","Reinforced floor"))
if("Regular floor")
floor=/turf/simulated/floor
if("Reinforced floor")
floor=/turf/simulated/floor/engine
if(x && y && z && wall && floor && x_len && y_len)
spawn_room(locate(x,y,z),x_len,y_len,wall,floor,clean)
return
//////////////
proc/make_mining_asteroid_secret(var/size = 5)
/proc/make_mining_asteroid_secret()
var/valid = 0
var/turf/T = null
var/sanity = 0
var/list/room = null
var/list/turfs = null
var/x_size = 5
var/y_size = 5
var/areapoints = 0
var/theme = "organharvest"
var/list/walltypes = list(/turf/simulated/wall=3, /turf/simulated/mineral/random=1)
var/list/floortypes = list(/turf/simulated/floor)
var/list/treasureitems = list()//good stuff. only 1 is created per room.
var/list/fluffitems = list()//lesser items, to help fill out the room and enhance the theme.
x_size = rand(3,7)
y_size = rand(3,7)
areapoints = x_size * y_size
switch(pick(possiblethemes))//what kind of room is this gonna be?
if("organharvest")
walltypes = list(/turf/simulated/wall/r_wall=2,/turf/simulated/wall=2,/turf/simulated/mineral/random/high_chance=1)
floortypes = list(/turf/simulated/floor,/turf/simulated/floor/engine)
treasureitems = list(/obj/machinery/bot/medbot/mysterious=1, /obj/item/weapon/circular_saw=1, /obj/structure/closet/critter/cat=2)
fluffitems = list(/obj/effect/decal/cleanable/blood=5,/obj/item/organ/appendix=2,/obj/structure/closet/crate/freezer=2,
/obj/machinery/optable=1,/obj/item/weapon/scalpel=1,/obj/item/weapon/storage/firstaid/regular=3,
/obj/item/weapon/tank/anesthetic=1, /obj/item/weapon/surgical_drapes=2, /obj/item/device/mass_spectrometer/adv=1,/obj/item/clothing/glasses/hud/health=1)
if("cult")
theme = "cult"
walltypes = list(/turf/simulated/wall/cult=3,/turf/simulated/mineral/random/high_chance=1)
floortypes = list(/turf/simulated/floor/engine/cult)
treasureitems = list(/obj/item/device/soulstone=1, /obj/item/clothing/suit/space/cult=1, /obj/item/weapon/bedsheet/cult=2,
/obj/item/clothing/suit/cultrobes=2, /mob/living/simple_animal/hostile/creature=3)
fluffitems = list(/obj/effect/gateway=1,/obj/effect/gibspawner=1,/obj/structure/cult/talisman=1,/obj/item/toy/crayon/red=2,
/obj/item/organ/heart=2, /obj/effect/decal/cleanable/blood=4,/obj/structure/table/woodentable=2,/obj/item/weapon/ectoplasm=3,
/obj/item/clothing/head/helmet/space/cult=1, /obj/item/clothing/shoes/cult=1)
if("wizden")
theme = "wizden"
walltypes = list(/turf/simulated/wall/mineral/plasma=3,/turf/simulated/mineral/random/high_chance=1)
floortypes = list(/turf/simulated/floor/wood)
treasureitems = list(/obj/item/weapon/veilrender/vealrender=2, /obj/item/weapon/spellbook/oneuse/blind=1,/obj/item/clothing/head/wizard/red=2,
/obj/item/weapon/spellbook/oneuse/forcewall=1, /obj/item/weapon/spellbook/oneuse/smoke=1, /obj/structure/constructshell = 1, /obj/item/toy/katana=3)
fluffitems = list(/obj/structure/safe/floor=1,/obj/structure/dresser=1,/obj/item/weapon/storage/belt/soulstone=1,/obj/item/trash/candle=3,
/obj/item/weapon/dice=3,/obj/item/weapon/twohanded/staff=2,/obj/effect/decal/cleanable/dirt=3,/obj/item/weapon/coin/mythril=3)
if("cavein")
theme = "cavein"
walltypes = list(/turf/simulated/mineral/random/high_chance=1)
floortypes = list(/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/floor/beach/sand)
treasureitems = list(/obj/mecha/working/ripley/mining=1, /obj/item/weapon/pickaxe/drill/diamonddrill=2,/obj/item/weapon/gun/energy/kinetic_accelerator=1,
/obj/item/weapon/resonator=1, /obj/item/weapon/pickaxe/drill/jackhammer=5)
fluffitems = list(/obj/effect/decal/cleanable/blood=3,/obj/effect/decal/remains/human=1,/obj/item/clothing/under/overalls=1,
/obj/item/weapon/reagent_containers/food/snacks/grown/chili=1,/obj/item/weapon/tank/oxygen/red=2)
if("xenoden")
theme = "xenoden"
walltypes = list(/turf/simulated/mineral/random/high_chance=1)
floortypes = list(/turf/simulated/floor/plating/asteroid/airless, /turf/simulated/floor/beach/sand)
treasureitems = list(/obj/item/clothing/mask/facehugger=1)
fluffitems = list(/obj/effect/decal/remains/human=1,/obj/effect/decal/cleanable/blood/xeno=5)
if("hitech")
theme = "hitech"
walltypes = list(/turf/simulated/wall/r_wall=5,/turf/simulated/mineral/random=1)
floortypes = list(/turf/simulated/floor/greengrid,/turf/simulated/floor/bluegrid)
treasureitems = list(/obj/item/weapon/stock_parts/cell/hyper=1, /obj/machinery/chem_dispenser/constructable=1,/obj/machinery/computer/telescience=1, /obj/machinery/r_n_d/protolathe=1,
/obj/machinery/biogenerator=1)
fluffitems = list(/obj/structure/table/reinforced=2,/obj/item/weapon/stock_parts/scanning_module/phasic=3,
/obj/item/weapon/stock_parts/matter_bin/super=3,/obj/item/weapon/stock_parts/manipulator/pico=3,
/obj/item/weapon/stock_parts/capacitor/super=3,/obj/item/device/pda/clear=1, /obj/effect/decal/mecha_wreckage/phazon=1)
if("speakeasy")
theme = "speakeasy"
floortypes = list(/turf/simulated/floor,/turf/simulated/floor/wood)
treasureitems = list(/obj/item/weapon/melee/energy/sword/pirate=1,/obj/item/weapon/gun/projectile/revolver/doublebarrel=1,/obj/item/weapon/storage/backpack/satchel_flat=1,
/obj/machinery/reagentgrinder=2, /obj/machinery/computer/security/wooden_tv=4, /obj/machinery/vending/coffee=3)
fluffitems = list(/obj/structure/table/woodentable=2,/obj/structure/reagent_dispensers/beerkeg=1,/obj/item/weapon/spacecash/c500=4,
/obj/item/weapon/reagent_containers/food/drinks/shaker=1,/obj/item/weapon/reagent_containers/food/drinks/bottle/wine=3,
/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey=3,/obj/item/clothing/shoes/laceup=2)
if("plantlab")
theme = "plantlab"
treasureitems = list(/obj/item/weapon/gun/energy/floragun=1,/obj/item/seeds/ambrosiadeusseed=2,/obj/item/seeds/bluespacetomatoseed=2,/obj/item/seeds/bluetomatoseed=2,
/obj/item/seeds/coffeerseed=2, /obj/item/seeds/stobaccoseed=2)
fluffitems = list(/obj/structure/flora/kirbyplants=1,/obj/structure/table/reinforced=2,/obj/machinery/portable_atmospherics/hydroponics=1,
/obj/effect/glowshroom/single=2,/obj/item/weapon/reagent_containers/syringe/charcoal=2,
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine=3,/obj/item/weapon/reagent_containers/glass/bottle/ammonia=3)
/*if("poly")
theme = "poly"
x_size = 5
y_size = 5
walltypes = list(/turf/simulated/wall/mineral/clown)
floortypes= list(/turf/simulated/floor/engine)
treasureitems = list(/obj/item/weapon/spellbook=1,/obj/mecha/combat/marauder=1,/obj/machinery/wish_granter=1)
fluffitems = list(/obj/item/weapon/melee/energy/axe)*/
possiblethemes -= theme //once a theme is selected, it's out of the running!
var/floor = pick(floortypes)
turfs = get_area_turfs(/area/mine/unexplored)
if(!turfs.len)
return 0
while(!valid)
while(!valid)//Finds some spots to place these rooms at, where they won't be spotted immediately.
valid = 1
sanity++
if(sanity > 100)
@@ -115,11 +157,11 @@ proc/make_mining_asteroid_secret(var/size = 5)
var/list/surroundings = list()
surroundings += range(7, locate(T.x,T.y,T.z))
surroundings += range(7, locate(T.x+size,T.y,T.z))
surroundings += range(7, locate(T.x,T.y+size,T.z))
surroundings += range(7, locate(T.x+size,T.y+size,T.z))
surroundings += range(7, locate(T.x+x_size,T.y,T.z))
surroundings += range(7, locate(T.x,T.y+y_size,T.z))
surroundings += range(7, locate(T.x+x_size,T.y+y_size,T.z))
if(locate(/area/mine/explored) in surroundings) // +5s are for view range
if(locate(/area/mine/explored) in surroundings)
valid = 0
continue
@@ -131,60 +173,36 @@ proc/make_mining_asteroid_secret(var/size = 5)
valid = 0
continue
if(locate(/turf/simulated/floor/plating/airless/asteroid) in surroundings)
if(locate(/turf/simulated/floor/plating/asteroid/airless) in range(5,T))//A little less strict than the other checks due to tunnels
valid = 0
continue
if(!T)
return 0
room = spawn_room(T,size,size,,,1)
room = spawn_room(T,x_size,y_size,walltypes,floor,) //WE'RE FINALLY CREATING THE ROOM
if(room)
T = pick(room["floors"])
if(room)//time to fill it with stuff
var/list/emptyturfs = room["floors"]
for(var/turf/simulated/floor/A in emptyturfs) //remove pls doesn't fix problem
if(istype(A))
spawn(2)
A.fullUpdateMineralOverlays()
T = pick(emptyturfs)
if(T)
new /obj/effect/glowshroom/single(T) //Just to make it a little more visible
var/surprise = null
valid = 0
while(!valid)
surprise = pickweight(space_surprises)
if(surprise in spawned_surprises)
if(prob(20))
valid++
else
continue
else
valid++
surprise = pickweight(treasureitems)
new surprise(T)//here's the prize
emptyturfs -= T
spawned_surprises.Add(surprise)
new surprise(T)
while(areapoints >= 10)//lets throw in the fluff items
T = pick(emptyturfs)
var/garbage = null
garbage = pickweight(fluffitems)
new garbage(T)
areapoints -= 5
emptyturfs -= T
//world.log << "The [theme] themed [T.loc] has been created!"
return 1
proc/check_complex_placement(var/turf/T,var/size_x,var/size_y,var/ignore_walls=0)
var/list/surroundings = list()
surroundings |= range(7, locate(T.x,T.y,T.z))
surroundings |= range(7, locate(T.x+size_x,T.y,T.z))
surroundings |= range(7, locate(T.x,T.y+size_y,T.z))
surroundings |= range(7, locate(T.x+size_x,T.y+size_y,T.z))
if(locate(/area/mine/explored) in surroundings) // +5s are for view range
return 0
if(locate(/turf/space) in surroundings)
return 0
/* /vg/: Allow combining rooms.
if(locate(/area/asteroid/artifactroom) in surroundings)
return 0
if(locate(/turf/unsimulated/floor/asteroid) in surroundings)
return 0
*/
// /vg/: Stop spawning shit inside of the vox hideout
if(locate(/turf/simulated/wall) in surroundings && !ignore_walls)
return 0
return 1
+3 -1
View File
@@ -188,15 +188,17 @@
H.equip_or_collect(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform)
H.equip_or_collect(new /obj/item/device/pda/shaftminer(H), slot_wear_pda)
H.equip_or_collect(new /obj/item/clothing/shoes/black(H), slot_shoes)
H.equip_or_collect(new /obj/item/weapon/pickaxe/drill(H), slot_belt)
H.equip_or_collect(new /obj/item/weapon/pickaxe(H), slot_belt)
if(H.backbag == 1)
H.equip_or_collect(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand)
H.equip_or_collect(new /obj/item/weapon/crowbar(H), slot_l_hand)
H.equip_or_collect(new /obj/item/weapon/storage/bag/ore(H), slot_l_store)
H.equip_or_collect(new /obj/item/weapon/mining_voucher(H), slot_r_store)
else
H.equip_or_collect(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/crowbar(H), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/mining_voucher(H), slot_in_backpack)
return 1
+29 -1
View File
@@ -1080,4 +1080,32 @@
set_ready_state(0)
chassis.use_power(energy_drain)
do_after_cooldown()
return 1
return 1
/obj/item/mecha_parts/mecha_equipment/tool/mining_scanner
name = "exosuit mining scanner"
desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals."
icon_state = "mecha_analyzer"
origin_tech = "materials=3;engineering=2"
equip_cooldown = 30
var/scanning = 0
/obj/item/mecha_parts/mecha_equipment/tool/mining_scanner/New()
processing_objects.Add(src)
/obj/item/mecha_parts/mecha_equipment/tool/mining_scanner/process()
if(!loc)
processing_objects.Remove(src)
qdel(src)
if(scanning)
return
if(istype(loc,/obj/mecha/working))
var/obj/mecha/working/mecha = loc
if(!mecha.occupant)
return
var/list/occupant = list()
occupant |= mecha.occupant
scanning = 1
mineral_scan_pulse(occupant,get_turf(loc))
spawn(equip_cooldown)
scanning = 0
@@ -158,6 +158,47 @@
//R.icon_state="Miner+j"
return 1
/obj/item/borg/upgrade/ddrill
name = "mining cyborg diamond drill"
desc = "A diamond drill replacement for the mining module's standard drill."
icon_state = "cyborg_upgrade3"
require_module = 1
/obj/item/borg/upgrade/ddrill/action(var/mob/living/silicon/robot/R)
if(..()) return 0
if(!istype(R.module, /obj/item/weapon/robot_module/miner))
R << "Upgrade mounting error! No suitable hardpoint detected!"
usr << "There's no mounting point for the module!"
return 0
else
for(var/obj/item/weapon/pickaxe/drill/cyborg/D in R.module.modules)
qdel(D)
for(var/obj/item/weapon/shovel/S in R.module.modules)
qdel(S)
R.module.modules += new /obj/item/weapon/pickaxe/drill/cyborg/diamond(R.module)
R.module.rebuild()
return 1
/obj/item/borg/upgrade/soh
name = "mining cyborg satchel of holding"
desc = "A satchel of holding replacement for mining cyborg's ore satchel module."
icon_state = "cyborg_upgrade3"
require_module = 1
/obj/item/borg/upgrade/soh/action(var/mob/living/silicon/robot/R)
if(..()) return 0
if(!istype(R.module, /obj/item/weapon/robot_module/miner))
R << "Upgrade mounting error! No suitable hardpoint detected!"
usr << "There's no mounting point for the module!"
return 0
else
for(var/obj/item/weapon/storage/bag/ore/cyborg/S in R.module.modules)
qdel(S)
R.module.modules += new /obj/item/weapon/storage/bag/ore/holding/cyborg(R.module)
R.module.rebuild()
return 1
/obj/item/borg/upgrade/syndicate/
name = "Illegal Equipment Module"
@@ -62,11 +62,6 @@ var/global/list/datum/stack_recipe/bananium_recipes = list ( \
new/datum/stack_recipe("bananium grenade casing", /obj/item/weapon/grenade/bananade/casing, 4, on_floor = 1), \
)
var/global/list/datum/stack_recipe/iron_recipes = list ( \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \
null, \
)
/obj/item/stack/sheet/mineral
force = 5.0
throwforce = 5
@@ -79,18 +74,6 @@ var/global/list/datum/stack_recipe/iron_recipes = list ( \
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
obj/item/stack/sheet/mineral/iron
name = "iron"
icon_state = "sheet-silver"
origin_tech = "materials=1"
sheettype = "iron"
color = "#333333"
perunit = 2000
obj/item/stack/sheet/mineral/iron/New()
..()
recipes = iron_recipes
/obj/item/stack/sheet/mineral/sandstone
name = "sandstone brick"
desc = "This appears to be a combination of both sand and stone."
@@ -192,11 +175,3 @@ obj/item/stack/sheet/mineral/iron/New()
icon_state = "sheet-enruranium"
origin_tech = "materials=5"
perunit = 1000
//Valuable resource, cargo can sell it.
/obj/item/stack/sheet/mineral/platinum
name = "platinum"
icon_state = "sheet-adamantine"
origin_tech = "materials=2"
sheettype = "platinum"
perunit = 2000
@@ -117,7 +117,7 @@
// -----------------------------
/obj/item/weapon/storage/bag/ore
name = "Mining Satchel"
name = "mining satchel"
desc = "This little bugger can be used to store and transport ores."
icon = 'icons/obj/mining.dmi'
icon_state = "satchel"
@@ -128,6 +128,10 @@
max_w_class = 3
can_hold = list("/obj/item/weapon/ore")
/obj/item/weapon/storage/bag/ore/cyborg
name = "cyborg mining satchel"
flags = NODROP
/obj/item/weapon/storage/bag/ore/holding //miners, your messiah has arrived
name = "mining satchel of holding"
desc = "A revolution in convenience, this satchel allows for infinite ore storage. It's been outfitted with anti-malfunction safety measures."
@@ -136,6 +140,10 @@
origin_tech = "bluespace=3"
icon_state = "satchel_bspace"
/obj/item/weapon/storage/bag/ore/holding/cyborg
name = "cyborg mining satchel of holding"
flags = NODROP
// -----------------------------
// Plant bag
// -----------------------------
-10
View File
@@ -145,7 +145,6 @@ var/list/mechtoys = list(
var/points_per_process = 1
var/points_per_slip = 2
var/points_per_crate = 5
var/points_per_platinum = 5 // 5 points per sheet
var/points_per_plasma = 5
//control
var/ordernum
@@ -199,7 +198,6 @@ var/list/mechtoys = list(
if(!area_shuttle) return
var/plasma_count = 0
var/plat_count = 0
for(var/atom/movable/MA in area_shuttle)
if(MA.anchored) continue
@@ -225,11 +223,6 @@ var/list/mechtoys = list(
var/obj/item/stack/sheet/mineral/plasma/P = A
plasma_count += P.amount
// Sell platinum
else if(istype(A, /obj/item/stack/sheet/mineral/platinum))
var/obj/item/stack/sheet/mineral/platinum/P = A
plat_count += P.amount
// If you send something in a crate, centcom's keeping it! - fixes secure crates being sent to centom to open them
qdel(A)
qdel(MA)
@@ -237,9 +230,6 @@ var/list/mechtoys = list(
if(plasma_count)
points += plasma_count * points_per_plasma
if(plat_count)
points += plat_count * points_per_platinum
//Buyin
proc/buy()
if(!shoppinglist.len) return
+14 -5
View File
@@ -3,7 +3,7 @@
/obj/machinery/mineral/ore_redemption
name = "ore redemption machine"
desc = "A machine that accepts ore and instantly transforms it into workable material sheets, but cannot produce alloys such as Plasteel. Points for ore are generated based on type and can be redeemed at a mining equipment locker."
desc = "A machine that accepts ore and instantly transforms it into workable material sheets, but cannot produce alloys such as Plasteel. Points for ore are generated based on type and can be redeemed at a mining equipment vendor."
icon = 'icons/obj/machines/mining_machines.dmi'
icon_state = "ore_redemption"
density = 1
@@ -130,6 +130,8 @@
interact(user)
/obj/machinery/mineral/ore_redemption/interact(mob/user)
user.set_machine(src)
var/obj/item/stack/sheet/s
var/dat
@@ -288,6 +290,11 @@
var/equipment_path = null
var/cost = 0
/datum/data/mining_equipment/New(name, path, cost)
src.equipment_name = name
src.equipment_path = path
src.cost = cost
/obj/machinery/mineral/equipment_vendor/New()
..()
component_parts = list()
@@ -298,12 +305,14 @@
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
RefreshParts()
/obj/machinery/mineral/equipment_locker/attack_hand(user as mob)
/obj/machinery/mineral/equipment_vendor/attack_hand(user as mob)
if(..())
return
interact(user)
/obj/machinery/mineral/equipment_vendor/interact(mob/user)
user.set_machine(src)
var/dat
dat +="<div class='statusDisplay'>"
if(istype(inserted_id))
@@ -400,7 +409,7 @@
/obj/item/weapon/mining_voucher
name = "mining voucher"
desc = "A token to redeem a piece of equipment. Use it on a mining equipment locker."
desc = "A token to redeem a piece of equipment. Use it on a mining equipment vendor."
icon = 'icons/obj/items.dmi'
icon_state = "mining_voucher"
w_class = 1
@@ -458,7 +467,7 @@
user << "<span class='notice'>The [src.name] failed to create a wormhole.</span>"
return
var/chosen_beacon = pick(L)
var/obj/effect/portal/wormhole/jaunt_tunnel/J = new /obj/effect/portal/wormhole/jaunt_tunnel(get_turf(src), chosen_beacon, lifespan=100)
var/obj/effect/portal/wormhole/jaunt_tunnel/J = new /obj/effect/portal/wormhole/jaunt_tunnel(get_turf(src), chosen_beacon)
J.target = chosen_beacon
try_move_adjacent(J)
playsound(src,'sound/effects/sparks4.ogg',50,1)
@@ -821,7 +830,7 @@
spawn(35)
cooldown = 0
var/turf/t = get_turf(src)
var/list/mobs = recursive_mob_check(t, 1,0,0)
var/list/mobs = recursive_mob_check(t, client_check = 1, sight_check = 0, include_radio = 0)
if(!mobs.len)
return
mineral_scan_pulse(mobs, t)
-1
View File
@@ -33,7 +33,6 @@
new /obj/item/device/mining_scanner(src)
new /obj/item/weapon/storage/bag/ore(src)
new /obj/item/device/flashlight/lantern(src)
new /obj/item/weapon/shovel(src)
new /obj/item/weapon/pickaxe(src)
new /obj/item/clothing/glasses/meson(src)
+8 -3
View File
@@ -8,8 +8,8 @@ var/global/list/rockTurfEdgeCache
/turf/simulated/mineral //wall piece
name = "Rock"
icon = 'icons/turf/walls.dmi'
icon_state = "rock"
icon = 'icons/turf/mining.dmi'
icon_state = "rock_nochance"
oxygen = 0
nitrogen = 0
opacity = 1
@@ -362,7 +362,7 @@ var/global/list/rockTurfEdgeCache
user << "<span class='notice'>You start picking...</span>"
P.playDigSound()
if(do_after(user,P.digspeed, target = src))
if(do_after(user, P.digspeed))
if(istype(src, /turf/simulated/mineral)) //sanity check against turf being deleted during digspeed delay
user << "<span class='notice'>You finish cutting into the rock.</span>"
P.update_icon()
@@ -381,6 +381,11 @@ var/global/list/rockTurfEdgeCache
var/turf/simulated/floor/plating/asteroid/airless/N = ChangeTurf(/turf/simulated/floor/plating/asteroid/airless)
playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction
N.fullUpdateMineralOverlays()
if(rand(1,750) == 1)
visible_message("<span class='notice'>An old dusty crate was buried within!</span>")
new /obj/structure/closet/crate/secure/loot(src)
return
/turf/simulated/mineral/attack_animal(mob/living/simple_animal/user as mob)
+3 -2
View File
@@ -108,8 +108,9 @@
name = "gibtonite ore"
desc = "Extremely explosive if struck with mining equipment, Gibtonite is often used by miners to speed up their work by using it as a mining charge. This material is illegal to possess by unauthorized personnel under space law."
icon = 'icons/obj/mining.dmi'
icon_state = "Gibtonite ore"
item_state = "Gibtonite ore"
icon_state = "Gibtonite_ore"
item_state = "Gibtonite_ore"
icon_override = 'icons/mob/in-hand/tools.dmi'
w_class = 4
throw_range = 0
anchored = 1 //Forces people to carry it by hand, no pulling!
@@ -314,7 +314,7 @@
src.modules += new /obj/item/borg/sight/meson(src)
src.modules += new /obj/item/weapon/wrench(src)
src.modules += new /obj/item/weapon/screwdriver(src)
src.modules += new /obj/item/weapon/storage/bag/ore(src)
src.modules += new /obj/item/weapon/storage/bag/ore/cyborg(src)
src.modules += new /obj/item/weapon/pickaxe/drill/cyborg(src)
src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src)
src.emag = new /obj/item/borg/stun(src)
@@ -237,11 +237,12 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
charge_cost = 5000
cell_type = "/obj/item/weapon/stock_parts/cell/emproof"
var/overheat = 0
var/overheat_time = 16
var/recent_reload = 1
/obj/item/weapon/gun/energy/kinetic_accelerator/Fire()
overheat = 1
spawn(20)
spawn(overheat_time)
overheat = 0
recent_reload = 0
..()
@@ -272,6 +273,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
silenced = 1
projectile_type = "/obj/item/projectile/energy/bolt"
fire_sound = 'sound/weapons/Genhit.ogg'
overheat_time = 20
/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
name = "energy crossbow"
@@ -294,12 +296,14 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
icon_state = "plasmacutter"
item_state = "plasmacutter"
modifystate = "plasmacutter"
origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1"
projectile_type = /obj/item/projectile/plasma
flags = CONDUCT | OPENCONTAINER
attack_verb = list("attacked", "slashed", "cut", "sliced")
charge_cost = 250
fire_delay = 10
icon_override = 'icons/mob/in-hand/guns.dmi'
/obj/item/weapon/gun/energy/plasmacutter/examine(mob/user)
..()
@@ -322,6 +326,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
/obj/item/weapon/gun/energy/plasmacutter/adv
name = "advanced plasma cutter"
icon_state = "adv_plasmacutter"
modifystate = "adv_plasmacutter"
origin_tech = "combat=3;materials=4;magnets=3;plasmatech=3;engineering=2"
projectile_type = /obj/item/projectile/plasma/adv
fire_delay = 8
@@ -172,7 +172,7 @@
/obj/item/projectile/kinetic
name = "kinetic force"
icon_state = null
damage = 15
damage = 10
damage_type = BRUTE
flag = "bomb"
range = 3
@@ -185,22 +185,22 @@ obj/item/projectile/kinetic/New()
var/pressure = environment.return_pressure()
if(pressure < 50)
name = "full strength kinetic force"
damage = 30
damage *= 4
..()
/obj/item/projectile/kinetic/Range()
range--
if(range <= 0)
new /obj/item/effect/kinetic_blast(src.loc)
del(src)
qdel(src)
/obj/item/projectile/kinetic/on_hit(atom/target)
. = ..()
var/turf/target_turf= get_turf(target)
if(istype(target_turf, /turf/simulated/mineral))
var/turf/simulated/mineral/M = target_turf
M.gets_drilled()
M.gets_drilled(firer)
new /obj/item/effect/kinetic_blast(target_turf)
..()
/obj/item/effect/kinetic_blast
name = "kinetic explosion"
@@ -338,7 +338,7 @@
id = "ore_redemption"
req_tech = list("programming" = 1, "engineering" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
materials = list("$glass"=1000, "sacid"=20)
build_path = /obj/item/weapon/circuitboard/ore_redemption
category = list ("Misc. Machinery")
@@ -348,6 +348,6 @@
id = "mining_equipment_vendor"
req_tech = list("programming" = 1, "engineering" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
materials = list("$glass"=1000, "sacid"=20)
build_path = /obj/item/weapon/circuitboard/mining_equipment_vendor
category = list ("Misc. Machinery")
@@ -653,6 +653,15 @@
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_mining_scanner
name = "Exosuit Engineering Equipement (Mining Scanner)"
id = "mech_mscanner"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/mecha_equipment/tool/mining_scanner
materials = list("$metal"=5000,"$glass"=2500)
construction_time = 50
category = list("Exosuit Equipment")
/datum/design/mech_generator_nuclear
name = "Exosuit Module (ExoNuclear Reactor)"
desc = "Compact nuclear reactor module."
@@ -852,6 +861,17 @@
construction_time = 100
category = list("Exosuit Equipment")
/datum/design/mech_plasma_cutter
name = "Exosuit Module Design (217-D Heavy Plasma Cutter)"
desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demolishing solid obstacles."
id = "mech_plasma_cutter"
build_type = MECHFAB
req_tech = list("powerstorage"= 3, "engineering" = 3, "materials" = 3, "combat" = 1, "plasma" = 2)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma
materials = list("$metal"=1500, "$glass"=500, "$plasma"=200)
construction_time = 100
category = list("Exosuit Equipment")
//Cyborg Upgrade Modules
/datum/design/borg_syndicate_module
name = "Borg Illegal Weapons Upgrade"
@@ -875,7 +895,7 @@
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_disablercooler
name = "Cyborg Upgrade Module (Rapid Disabler Cooling Module)"
name = "Cyborg Upgrade Module (Rapid Disabler Cooling)"
id = "borg_upgrade_disablercooler"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/disablercooler
@@ -885,7 +905,7 @@
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_rename
name = "Cyborg Upgrade Module (Rename Module)"
name = "Cyborg Upgrade Module (Rename)"
id = "borg_upgrade_rename"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/rename
@@ -894,7 +914,7 @@
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_reset
name = "Cyborg Upgrade Module (Reset Module)"
name = "Cyborg Upgrade Module (Reset)"
id = "borg_upgrade_reset"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/reset
@@ -903,7 +923,7 @@
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_restart
name = "Cyborg Upgrade Module (Restart Module)"
name = "Cyborg Upgrade Module (Restart)"
id = "borg_upgrade_restart"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/restart
@@ -912,7 +932,7 @@
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_vtec
name = "Cyborg Upgrade Module (VTEC Module)"
name = "Cyborg Upgrade Module (VTEC)"
id = "borg_upgrade_vtec"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/vtec
@@ -921,6 +941,26 @@
construction_time = 120
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_diamonddrill
name = "Cyborg Upgrade (Diamond Drill)"
id = "borg_upgrade_diamonddrill"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/ddrill
req_tech = list("engineering" = 5, "materials" = 5)
materials = list("$metal"=10000, "$diamond"=3750)
construction_time = 120
category = list("Cyborg Upgrade Modules")
/datum/design/borg_upgrade_holding
name = "Cyborg Upgrade (Ore Satchel of Holding)"
id = "borg_upgrade_holding"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/soh
req_tech = list("engineering" = 5, "materials" = 5, "bluespace" = 3)
materials = list("$metal" = 10000, "$gold" = 250, "$uranium" = 500)
construction_time = 120
category = list("Cyborg Upgrade Modules")
//Misc
/datum/design/mecha_tracking
name = "Exosuit Tracking Beacon"
@@ -43,12 +43,23 @@
build_path = /obj/item/weapon/gun/energy/plasmacutter
category = list("Mining")
/datum/design/plasmacutter_adv
name = "Advanced Plasma Cutter"
desc = "It's an advanced plasma cutter, oh my god."
id = "plasmacutter_adv"
req_tech = list("materials" = 4, "plasmatech" = 3, "engineering" = 3, "combat" = 3, "magnets" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 3000, "$glass" = 1000, "$plasma" = 2000, "$gold" = 500)
reliability = 79
build_path = /obj/item/weapon/gun/energy/plasmacutter/adv
category = list("Mining Designs")
/datum/design/jackhammer
name = "Sonic Jackhammer"
desc = "Cracks rocks with sonic blasts, perfect for killing cave lizards."
desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well."
id = "jackhammer"
req_tech = list("materials" = 3, "powerstorage" = 2, "engineering" = 2)
req_tech = list("materials" = 6, "powerstorage" = 6, "engineering" = 5, "magnets" = 6)
build_type = PROTOLATHE
materials = list("$metal" = 2000, "$glass" = 500, "$silver" = 500)
materials = list("$metal" = 8000, "$glass" = 1500, "$silver" = 2000, "$diamond" = 6000)
build_path = /obj/item/weapon/pickaxe/drill/jackhammer
category = list("Mining")
category = list("Mining Designs")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB