From 59f45d3e352cf713de40cab27d93ec7d1a29faef Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 15 Jul 2019 15:18:04 +0800 Subject: [PATCH] adds abductor replication lab with advanced tools --- _maps/RandomRuins/SpaceRuins/advancedlab.dmm | 582 +++++++++++++++++++ code/datums/ruins/space.dm | 6 + code/datums/wires/_wires.dm | 3 + code/game/area/areas/ruins/space.dm | 5 + code/game/objects/items/devices/multitool.dm | 7 + code/game/objects/items/tools/crowbar.dm | 10 +- code/game/objects/items/tools/screwdriver.dm | 12 +- code/game/objects/items/tools/weldingtool.dm | 14 + code/game/objects/items/tools/wirecutters.dm | 9 +- code/game/objects/items/tools/wrench.dm | 10 +- config/spaceRuinBlacklist.txt | 1 + icons/obj/advancedtools.dmi | Bin 0 -> 2446 bytes 12 files changed, 655 insertions(+), 4 deletions(-) create mode 100644 _maps/RandomRuins/SpaceRuins/advancedlab.dmm create mode 100644 icons/obj/advancedtools.dmi diff --git a/_maps/RandomRuins/SpaceRuins/advancedlab.dmm b/_maps/RandomRuins/SpaceRuins/advancedlab.dmm new file mode 100644 index 0000000000..39e29018ea --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/advancedlab.dmm @@ -0,0 +1,582 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/wall, +/area/ruin/space/has_grav/powered/advancedlab) +"c" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"d" = ( +/obj/machinery/vending/assist, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"e" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"f" = ( +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"g" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"h" = ( +/obj/structure/table/glass, +/obj/item/crowbar/advanced, +/obj/item/multitool/advanced{ + pixel_x = 4; + pixel_y = -1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"i" = ( +/obj/machinery/computer/rdconsole, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"j" = ( +/obj/structure/chair/comfy/beige, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"k" = ( +/obj/structure/table/glass, +/obj/item/screwdriver/advanced{ + pixel_y = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"l" = ( +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"m" = ( +/obj/structure/table/glass, +/obj/item/gps{ + gpstag = "Abductor Replication Lab"; + pixel_x = -2; + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"n" = ( +/obj/structure/chair/comfy/beige{ + icon_state = "comfychair"; + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"o" = ( +/obj/structure/table/glass, +/obj/item/weldingtool/advanced{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"p" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/paper{ + name = "Note to finder"; + pixel_x = -1; + pixel_y = 3; + info = "As of yet, our experiments have seen a fair bit of success. Unfortunately, our business partners have stopped funding us as they realised they utterly hate each other. To whoever finds this place, they are yours. Use them how you will. I leave you with the next generation of greytiding." + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"q" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"r" = ( +/obj/structure/table/glass, +/obj/item/wirecutters/advanced{ + pixel_y = 7 + }, +/obj/item/wrench/advanced{ + pixel_x = -1; + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"s" = ( +/obj/structure/chair/comfy/beige{ + icon_state = "comfychair"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"t" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"u" = ( +/obj/machinery/light/small{ + icon_state = "bulb"; + dir = 4 + }, +/obj/structure/closet, +/obj/item/clothing/suit/hooded/wintercoat/miner, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/under/pants/classicjeans, +/obj/item/clothing/neck/scarf, +/obj/item/clothing/neck/stripedgreenscarf, +/obj/item/toy/tennis/rainbow, +/obj/item/toy/tennis, +/obj/item/clothing/suit/hooded/wintercoat/miner, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/under/pants/classicjeans, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"v" = ( +/obj/machinery/vending/boozeomat{ + req_access = null; + shut_up = 1 + }, +/turf/closed/wall, +/area/ruin/space/has_grav/powered/advancedlab) +"w" = ( +/obj/machinery/door/airlock/command{ + name = "Dorms" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"x" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/table/glass, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"y" = ( +/obj/machinery/light/small{ + icon_state = "bulb"; + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"z" = ( +/obj/machinery/door/airlock/security{ + name = "Visiting Business Partners" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"A" = ( +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"B" = ( +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"C" = ( +/obj/structure/closet{ + name = "Clothes" + }, +/obj/item/clothing/head/chameleon, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/suit/chameleon, +/obj/item/clothing/under/chameleon, +/obj/item/clothing/shoes/chameleon, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"D" = ( +/obj/machinery/light/small, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"E" = ( +/obj/structure/table/wood, +/obj/item/radio/headset/chameleon, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"F" = ( +/obj/structure/falsewall, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"G" = ( +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"H" = ( +/obj/structure/table/wood, +/obj/item/radio/headset/headset_cent/alt{ + keyslot2 = null + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"I" = ( +/obj/structure/closet{ + name = "Official Clothing" + }, +/obj/item/clothing/under/rank/centcom_commander, +/obj/item/clothing/head/centhat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/shoes/sneakers/brown, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"J" = ( +/obj/machinery/door/airlock/command{ + name = "Dorms" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"K" = ( +/obj/machinery/door/airlock/command{ + name = "Visiting Officials" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"L" = ( +/obj/structure/bed, +/obj/item/bedsheet/centcom, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) +"M" = ( +/obj/structure/lattice, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/space/basic, +/area/ruin/space/has_grav/powered/advancedlab) +"N" = ( +/obj/structure/extinguisher_cabinet, +/turf/closed/wall, +/area/ruin/space/has_grav/powered/advancedlab) +"O" = ( +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"P" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"Q" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"R" = ( +/obj/machinery/light/small{ + icon_state = "bulb"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/powered/advancedlab) +"T" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered/advancedlab) + +(1,1,1) = {" +a +b +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +b +d +j +l +q +s +O +b +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +b +e +j +m +l +s +f +b +a +a +a +a +a +a +a +a +a +"} +(4,1,1) = {" +a +c +f +j +l +l +s +f +M +M +M +M +M +M +a +a +a +a +"} +(5,1,1) = {" +a +b +f +f +n +n +f +f +w +f +Q +f +f +M +a +a +a +a +"} +(6,1,1) = {" +a +b +f +f +f +f +f +f +M +M +M +M +f +M +a +a +a +a +"} +(7,1,1) = {" +a +b +g +f +f +f +f +f +b +P +P +M +R +M +a +a +a +a +"} +(8,1,1) = {" +a +N +f +f +f +f +f +u +b +P +P +M +f +M +a +a +a +a +"} +(9,1,1) = {" +a +b +f +f +f +f +f +b +b +b +b +M +J +M +b +a +a +a +"} +(10,1,1) = {" +a +b +h +k +o +r +f +b +y +A +A +F +T +A +b +a +a +a +"} +(11,1,1) = {" +a +b +i +f +f +f +t +b +z +v +b +b +b +K +b +a +a +a +"} +(12,1,1) = {" +a +b +p +f +f +f +f +b +A +C +b +G +A +A +b +a +a +a +"} +(13,1,1) = {" +a +b +l +l +x +l +f +b +A +D +b +H +A +D +b +a +a +a +"} +(14,1,1) = {" +a +b +b +b +b +b +b +b +B +E +b +I +A +L +b +a +a +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +b +b +b +b +b +b +b +b +a +a +a +"} diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 22fca23902..9762426608 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -305,3 +305,9 @@ suffix = "spacehermit.dmm" name = "Space Hermit" description = "A late awakening cryo pod in a crashed escape pod wakes up to find what befell of his fellow survivors. Contains all the necessary resources to actually make it out alive. Good luck." + +/datum/map_template/ruin/space/advancedlab + id = "advancedlab" + suffix = "advancedlab.dmm" + name = "Abductor Replication Lab" + description = "Some scientists tried and almost succeeded to recreate abductor tools. Somewhat slower and a bit less modern than their originals, these tools are the best you can get if you aren't an alien." diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm index f1b08ee18b..fab5a1313c 100644 --- a/code/datums/wires/_wires.dm +++ b/code/datums/wires/_wires.dm @@ -231,6 +231,9 @@ // Same for anyone with an abductor multitool. else if(user.is_holding_item_of_type(/obj/item/multitool/abductor)) reveal_wires = TRUE + // and advanced multitool + else if(user.is_holding_item_of_type(/obj/item/multitool/advanced)) + reveal_wires = TRUE // Station blueprints do that too, but only if the wires are not randomized. else if(user.is_holding_item_of_type(/obj/item/areaeditor/blueprints) && !randomize) diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index 00a7fed012..d5ceb833b7 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -467,3 +467,8 @@ /area/ruin/space/has_grav/powered/ancient_shuttle name = "Ancient Shuttle" icon_state = "yellow" + +// Abductor Replication Lab +/area/ruin/space/has_grav/powered/advancedlab + name = "Abductor Replication Lab" + icon_state = "yellow" diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index f8b1d6e15b..a3ab9153ce 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -237,3 +237,10 @@ icon = 'icons/obj/abductor.dmi' icon_state = "multitool" toolspeed = 0.1 + +/obj/item/multitool/advanced + name = "advanced multitool" + desc = "The reproduction of an abductor's multitool, this multitool is a classy silver." + icon = 'icons/obj/advancedtools.dmi' + icon_state = "multitool" + toolspeed = 0.2 diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 97375221d4..70bfebb799 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -90,4 +90,12 @@ var/obj/item/wirecutters/power/cutjaws = new /obj/item/wirecutters/power(drop_location()) to_chat(user, "You attach the cutting jaws to [src].") qdel(src) - user.put_in_active_hand(cutjaws) \ No newline at end of file + user.put_in_active_hand(cutjaws) + +/obj/item/crowbar/advanced + name = "advanced crowbar" + desc = "A scientist's almost successful reproduction of an abductor's crowbar, it uses the same technology combined with a handle that can't quite hold it." + icon = 'icons/obj/advancedtools.dmi' + usesound = 'sound/weapons/sonic_jackhammer.ogg' + icon_state = "crowbar" + toolspeed = 0.2 \ No newline at end of file diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index e5808de088..68946f73cd 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -141,4 +141,14 @@ name = "powered screwdriver" desc = "An electrical screwdriver, designed to be both precise and quick." usesound = 'sound/items/drill_use.ogg' - toolspeed = 0.5 \ No newline at end of file + toolspeed = 0.5 + +/obj/item/screwdriver/advanced + name = "advanced screwdriver" + desc = "A classy silver screwdriver with an alien alloy tip, it works almost as well as the real thing." + icon = 'icons/obj/advancedtools.dmi' + icon_state = "screwdriver_a" + item_state = "screwdriver_nuke" + usesound = 'sound/items/pshoom.ogg' + toolspeed = 0.2 + random_color = FALSE \ No newline at end of file diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 718035a9a5..9b622a14c4 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -377,4 +377,18 @@ nextrefueltick = world.time + 10 reagents.add_reagent("welding_fuel", 1) +/obj/item/weldingtool/advanced + name = "advanced welding tool" + desc = "A modern welding tool combined with an alien welding tool, it never runs out of fuel and works almost as fast." + icon = 'icons/obj/advancedtools.dmi' + icon_state = "welder" + toolspeed = 0.2 + light_intensity = 0 + change_icons = 0 + +/obj/item/weldingtool/advanced/process() + if(get_fuel() <= max_fuel) + reagents.add_reagent("welding_fuel", 1) + ..() + #undef WELDER_FUEL_BURN_INTERVAL diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 1a35196bd8..527891afdb 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -82,7 +82,6 @@ icon = 'icons/obj/abductor.dmi' icon_state = "cutters" toolspeed = 0.1 - random_color = FALSE /obj/item/wirecutters/cyborg @@ -126,3 +125,11 @@ return else ..() + +/obj/item/wirecutters/advanced + name = "advanced wirecutters" + desc = "A set of reproduction alien wirecutters, they have a silver handle with an exceedingly sharp blade." + icon = 'icons/obj/advancedtools.dmi' + icon_state = "cutters" + toolspeed = 0.2 + random_color = FALSE \ No newline at end of file diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 4fd99e9adf..8ff960825a 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -112,4 +112,12 @@ user.dust() - return OXYLOSS \ No newline at end of file + return OXYLOSS + +/obj/item/wrench/advanced + name = "advanced wrench" + desc = "A wrench that uses the same magnetic technology that abductor tools use, but slightly more ineffeciently." + icon = 'icons/obj/advancedtools.dmi' + icon_state = "wrench" + usesound = 'sound/effects/empulse.ogg' + toolspeed = 0.2 \ No newline at end of file diff --git a/config/spaceRuinBlacklist.txt b/config/spaceRuinBlacklist.txt index cba9a01e73..deafa47969 100644 --- a/config/spaceRuinBlacklist.txt +++ b/config/spaceRuinBlacklist.txt @@ -49,3 +49,4 @@ #_maps/RandomRuins/SpaceRuins/bigape.dmm #_maps/RandomRuins/SpaceRuins/arcade.dmm #_maps/RandomRuins/SpaceRuins/spacehermit.dmm +#_maps/RandomRuins/SpaceRuins/advancedlab.dmm diff --git a/icons/obj/advancedtools.dmi b/icons/obj/advancedtools.dmi new file mode 100644 index 0000000000000000000000000000000000000000..974202dd58fd66882c1e24c2fbd2c0fc85419d44 GIT binary patch literal 2446 zcmV;9332v`P)V=-0C=2@&%F+VAQXn-8Lr|)_ojagV6 zta$9N+nAAZ)n!Xq9EBZ8o2p*7g#)Lw{4X`3tLlP_!}_U%=@jddFk1hMwb0KUbkit5 zl~{57^j7p1000Q3NklQ`Ev-^DBT|*7)$B-)#7$ShgWQkE}?j^VB*@dEzegF8`O1&7i3rDf(j7q{GAsvOy}FGu$aWeoQQ(20G z=WeECPv+lwPcm;E`4t=v2UIE*=I7@zH#Zj|5KEozrYV)8AZ#1(dE;jMe9&up@6cvs zDoX(XPunc@fVeZ6)#7$Shg#3cYt(~NG{ z6^5p1X6@3#Bei`Y;Vl47(~MfJ#&c7Z#{krmBaJ$`5DwS}%-RSA*VVq7UN=i!LbUM-5*%>t= zcnM&)+XLa=HNfpV*wh5O-5$qZ<_~MXKWLv2_Jf@d0A6qGZ*jBEXWz&uFE0lGR8&-O zbr%%{z8DQBM$7_eG#ZMgX~yI6gydY0#{-wkC3*uWwte>TVo^~MuXLhRDq*o$P+eUO zi^YPmu`#Ybm&*mC(I{L5q$@_Fkz(&um&=9h>}*bixA2!hq0!O*mk!;wJg@|o77JGw zAKSbIC@d@l0ND4AKz*@++fEj&y}p&pXwBFynElm`)9dw&f43hrO-DROqtO5~|DI1U zaSg=mdq<%A;da>fj>Ky>A^KJ><9pxThQ5`{qS^3zy%-xCgV*bg_+yVJLR=|GeX#*& z8ehYKizgE@9xtsKyJ38H1g$j$&x0!rJ_)>Ib6R*J`x@0JGT)gTX*GH#ak-rKN(}AdPSoCMG7h_5J(zGsDBf zg7@@z3BYy*gZCw)3o503g+hVZ*;$C;d?1bpSUv5l(P#v_7&+J%8uCao3hcY6VnPH6 zgI=#^v|254b8|(vMH=AD#rL;vN4kh08v$771AuSNi`s2PimBaJhq<7)Am+TD zv=AZX1>l_T^SMvj0@1Mp1xbE6SZI=(f|?g5 zTX+0%q^}D&a`kl}+gus-Nz>Q!^H_K6Q11~{UWoH|eKgr4>V+l|**y{4rJL+|cH7`l zwqc%e*fIa$0nT+r{}d<^WHyus^qvnNaeiLj6H;GRLZoyrD44fj`a{oH)%;Na82#)T z*5~EP-uZwGQxHq=_+ZZC!F|`gxY7_wK>|=vScq>HJtfNlnQR3(*VRdles&E7iaP8ON7YcRWj4M}Qn40!YmN06zQL{q8kjSpWb4 M07*qoM6N<$f~tapEC2ui literal 0 HcmV?d00001