[READY]Cargo Update: Nanotrasen Supply Drop Pods!

This commit is contained in:
oranges
2018-01-10 12:06:39 +13:00
committed by CitadelStationBot
parent dfe39e7a1d
commit 1f88c0c660
16 changed files with 2308 additions and 1890 deletions
+81 -38
View File
@@ -19258,7 +19258,7 @@
dir = 4
},
/turf/closed/wall,
/area/maintenance/port)
/area/quartermaster/warehouse)
"aWD" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plasteel,
@@ -19751,7 +19751,7 @@
},
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/turf/closed/wall,
/area/maintenance/port)
/area/quartermaster/warehouse)
"aXF" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/plasteel/vault{
@@ -19785,7 +19785,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall,
/area/maintenance/port)
/area/quartermaster/warehouse)
"aXK" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -19938,7 +19938,7 @@
dir = 4
},
/turf/closed/wall,
/area/maintenance/port)
/area/quartermaster/warehouse)
"aYd" = (
/obj/structure/chair/office/dark,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
@@ -20526,7 +20526,7 @@
"aZF" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
/area/maintenance/port)
/area/quartermaster/warehouse)
"aZG" = (
/obj/machinery/light_switch{
pixel_y = 28
@@ -20552,7 +20552,7 @@
/obj/item/stack/sheet/cardboard,
/obj/item/stack/rods/fifty,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aZJ" = (
/obj/structure/table/wood,
/obj/item/device/camera/detective,
@@ -20972,7 +20972,7 @@
/area/hallway/primary/starboard)
"baS" = (
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"baT" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -21011,7 +21011,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/closet/crate,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"baZ" = (
/obj/machinery/status_display{
layer = 4;
@@ -21164,7 +21164,7 @@
/obj/structure/closet/crate,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bbu" = (
/obj/machinery/power/apc{
dir = 1;
@@ -21315,7 +21315,7 @@
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bbQ" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/drinks/bottle/whiskey{
@@ -21333,7 +21333,7 @@
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bbT" = (
/obj/structure/table/wood,
/obj/item/device/flashlight/lamp/green,
@@ -21597,13 +21597,13 @@
dir = 8
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bcF" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bcG" = (
/obj/structure/table/wood,
/obj/machinery/computer/security/wooden_tv,
@@ -21625,7 +21625,7 @@
},
/obj/structure/closet/crate/freezer,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bcK" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/maintenance,
@@ -21676,7 +21676,7 @@
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bcS" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -21686,13 +21686,13 @@
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bcT" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/closed/wall,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bcU" = (
/turf/open/floor/wood,
/area/maintenance/bar)
@@ -22063,7 +22063,7 @@
"bdS" = (
/obj/structure/closet/crate/internals,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bdT" = (
/obj/machinery/power/apc{
dir = 8;
@@ -22082,7 +22082,7 @@
"bdU" = (
/obj/structure/closet/crate/medical,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bdV" = (
/obj/item/stack/sheet/metal,
/turf/open/floor/plating/airless,
@@ -22339,7 +22339,7 @@
},
/obj/structure/closet/crate,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bey" = (
/turf/open/floor/plasteel/white/corner{
dir = 8
@@ -22381,7 +22381,7 @@
},
/obj/structure/closet/crate,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"beE" = (
/obj/machinery/light,
/turf/open/floor/plasteel,
@@ -22625,7 +22625,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/stack/sheet/cardboard,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bfh" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -22636,7 +22636,7 @@
"bfi" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bfj" = (
/obj/structure/disposalpipe/trunk,
/obj/structure/disposaloutlet{
@@ -23087,7 +23087,7 @@
dir = 9
},
/turf/closed/wall,
/area/maintenance/port)
/area/quartermaster/warehouse)
"bgz" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk,
@@ -23096,7 +23096,7 @@
"bgA" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bgB" = (
/obj/structure/disposalpipe/segment{
dir = 6
@@ -23694,7 +23694,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"bhX" = (
/obj/structure/disposalpipe/sorting/wrap{
dir = 1
@@ -46740,7 +46740,7 @@
"ckQ" = (
/obj/structure/closet/cardboard,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"ckS" = (
/obj/structure/closet/cardboard,
/turf/open/floor/plating,
@@ -52668,7 +52668,7 @@
/obj/effect/landmark/event_spawn,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"cBj" = (
/obj/structure/table,
/obj/item/folder/blue,
@@ -56963,6 +56963,7 @@
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"QoZ" = (
<<<<<<< HEAD
/turf/open/space/basic,
/area/maintenance/port/fore)
"Qpa" = (
@@ -60469,6 +60470,48 @@
},
/turf/closed/wall/r_wall,
/area/engine/gravity_generator)
=======
/turf/closed/wall,
/area/quartermaster/warehouse)
"Qpa" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"Qpb" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/power/apc{
dir = 4;
name = "Cargo Warehouse APC";
areastring = "/area/quartermaster/warehouse";
pixel_x = 26
},
/obj/structure/cable{
icon_state = "0-2"
},
/turf/open/floor/plating,
/area/maintenance/port)
"Qpc" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"Qpd" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"Qpe" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"Qpf" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"Qpg" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"Qph" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
>>>>>>> fcc3dae... Merge pull request #33436 from MrDoomBringer/DropItLikeItsHottest
(1,1,1) = {"
aaa
@@ -80642,7 +80685,7 @@ aWu
aYa
aZD
aZD
aZD
Qpb
aZD
aZD
bff
@@ -81161,7 +81204,7 @@ baS
bdS
bdU
ckQ
aZE
Qpg
bjq
bjr
bjr
@@ -81675,7 +81718,7 @@ bcR
bcE
baS
bex
bhY
aZF
bgu
bic
bku
@@ -81932,7 +81975,7 @@ bcS
bbt
bfi
beD
aZE
Qph
aZE
biA
bmg
@@ -82182,13 +82225,13 @@ aTH
aPK
aWz
aWC
aZE
aZE
aZE
QoZ
Qpa
Qpc
bcT
aZE
aZE
aZE
Qpd
Qpe
Qpf
aZE
bju
biv
+129 -44
View File
@@ -14591,6 +14591,9 @@
dir = 6
},
/obj/effect/decal/cleanable/oil,
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/plating,
/area/maintenance/department/cargo)
"aKl" = (
@@ -14868,6 +14871,9 @@
req_access_txt = "31"
},
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plating,
/area/maintenance/department/cargo)
"aLi" = (
@@ -15320,27 +15326,27 @@
dir = 4
},
/turf/closed/wall,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMp" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMq" = (
/obj/effect/spawner/lootdrop/maintenance,
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMr" = (
/obj/structure/closet/crate,
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMs" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -15349,7 +15355,7 @@
pixel_y = 32
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMt" = (
/obj/structure/closet/cardboard,
/obj/structure/disposalpipe/segment{
@@ -15363,20 +15369,27 @@
dir = 2
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMu" = (
/obj/item/cigbutt/cigarbutt,
/obj/structure/disposalpipe/segment{
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMv" = (
/obj/structure/disposalpipe/segment{
dir = 9
},
/obj/machinery/power/apc{
dir = 4;
name = "Cargo Warehouse APC";
areastring = "/area/quartermaster/warehouse";
pixel_x = 26
},
/obj/structure/cable,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aMw" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -15953,20 +15966,20 @@
pixel_x = -32
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aNO" = (
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aNP" = (
/obj/structure/closet/crate,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aNQ" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aNR" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -16499,33 +16512,33 @@
/obj/effect/spawner/lootdrop/maintenance,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aOZ" = (
/obj/item/stack/sheet/cardboard,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aPa" = (
/obj/structure/closet/crate,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aPb" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aPc" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 8
},
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aPd" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
@@ -16905,16 +16918,16 @@
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aQd" = (
/obj/item/device/flashlight,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aQe" = (
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aQf" = (
/obj/structure/closet/crate{
icon_state = "crateopen";
@@ -16922,11 +16935,11 @@
},
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aQg" = (
/obj/structure/closet/crate/medical,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aQh" = (
/turf/closed/wall/mineral/titanium,
/area/shuttle/supply)
@@ -17447,7 +17460,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aRo" = (
/obj/machinery/door/poddoor/shutters{
id = "qm_warehouse";
@@ -17456,7 +17469,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aRp" = (
/obj/machinery/door/poddoor/shutters{
id = "qm_warehouse";
@@ -17464,11 +17477,11 @@
},
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aRq" = (
/obj/structure/closet/crate/internals,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"aRr" = (
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/supply)
@@ -48293,7 +48306,7 @@
"coL" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating/airless,
/area/quartermaster/storage)
/area/quartermaster/warehouse)
"coN" = (
/turf/open/floor/plasteel/neutral/corner,
/area/hallway/secondary/exit/departure_lounge)
@@ -51373,6 +51386,7 @@
/turf/open/floor/plasteel/dark,
/area/library)
"cCX" = (
<<<<<<< HEAD
/obj/machinery/vending/kink,
/turf/open/floor/plating,
/area/maintenance/department/crew_quarters/dorms)
@@ -51386,6 +51400,77 @@
/obj/machinery/vending/kink,
/turf/open/floor/plating,
/area/maintenance/department/engine)
=======
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plating,
/area/maintenance/department/cargo)
"cCY" = (
/obj/structure/disposalpipe/segment{
dir = 10
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plating,
/area/maintenance/department/cargo)
"cCZ" = (
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/cable{
icon_state = "2-8"
},
/turf/open/floor/plating,
/area/maintenance/department/cargo)
"cDa" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDb" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDc" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDd" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDe" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDf" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDg" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDh" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDi" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDj" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDk" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDl" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDm" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
"cDn" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
>>>>>>> fcc3dae... Merge pull request #33436 from MrDoomBringer/DropItLikeItsHottest
(1,1,1) = {"
aaa
@@ -90809,12 +90894,12 @@ aEd
aIj
aJm
aKg
aLg
cDa
aMo
aLg
aLg
aLg
aLg
cDd
cDf
cDg
cDh
aLg
aTj
aUu
@@ -91842,8 +91927,8 @@ aMs
aNO
aPb
aQe
aLg
aLg
cDi
cDj
aTn
aUx
aVA
@@ -92100,7 +92185,7 @@ aNP
aPb
aNO
aNP
aLg
cDk
aTo
aSk
aTm
@@ -92357,7 +92442,7 @@ aNO
aPc
aQf
aRq
aLg
cDl
aTp
aSk
aTm
@@ -92614,7 +92699,7 @@ aNQ
aNO
aQg
aNP
aLg
cDm
aTq
aSk
aVB
@@ -92864,14 +92949,14 @@ aEd
aEd
aEd
aEd
aKl
aLg
aLg
aLg
cCX
cDb
cDc
cDe
coL
coL
coL
aLg
cDn
aTr
aUy
aPd
@@ -93121,7 +93206,7 @@ aGI
aHr
aEd
aJp
aKm
cCY
aLi
aMw
aEj
@@ -93378,7 +93463,7 @@ aGJ
aGJ
aDl
aEk
aEk
cCZ
aLj
aMx
aEj
@@ -188,21 +188,33 @@
build_path = /obj/machinery/computer/cargo
var/contraband = FALSE
/obj/item/circuitboard/computer/cargo/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/multitool))
if(!emagged)
contraband = !contraband
to_chat(user, "<span class='notice'>Receiver spectrum set to [contraband ? "Broad" : "Standard"].</span>")
else
to_chat(user, "<span class='notice'>The spectrum chip is unresponsive.</span>")
else if(istype(I, /obj/item/card/emag))
if(!emagged)
contraband = TRUE
emagged = TRUE
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
/obj/item/circuitboard/computer/cargo/multitool_act(mob/living/user)
if(!emagged)
contraband = !contraband
to_chat(user, "<span class='notice'>Receiver spectrum set to [contraband ? "Broad" : "Standard"].</span>")
else
return ..()
to_chat(user, "<span class='notice'>The spectrum chip is unresponsive.</span>")
/obj/item/circuitboard/computer/cargo/emag_act(mob/living/user)
if(!emagged)
contraband = TRUE
emagged = TRUE
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
/obj/item/circuitboard/computer/cargo/express
name = "Express Supply Console (Computer Board)"
build_path = /obj/machinery/computer/cargo/express
/obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user)
if (!emagged)
to_chat(user, "<span class='notice'>Routing protocols are already set to: \"factory defaults\".</span>")
else
to_chat(user, "<span class='notice'>You reset the routing protocols to: \"factory defaults\".</span>")
emagged = FALSE
/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user)
to_chat(user, "<span class='notice'>You change the routing protocols, allowing the Drop Pod to land anywhere on the station.</span>")
emagged = TRUE
/obj/item/circuitboard/computer/cargo/request
name = "Supply Request Console (Computer Board)"
@@ -18,6 +18,7 @@
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
force = 5
w_class = WEIGHT_CLASS_SMALL
tool_behaviour = TOOL_MULTITOOL
throwforce = 0
throw_range = 7
throw_speed = 3
@@ -132,7 +132,7 @@
if(opened || !can_open(user))
return
playsound(loc, open_sound, 15, 1, -3)
opened = 1
opened = TRUE
if(!dense_when_open)
density = FALSE
climb_time *= 0.5 //it's faster to climb onto an open thing
@@ -185,7 +185,7 @@
take_contents()
playsound(loc, close_sound, 15, 1, -3)
climb_time = initial(climb_time)
opened = 0
opened = FALSE
density = TRUE
update_icon()
return 1
@@ -208,6 +208,10 @@
/obj/structure/closet/attackby(obj/item/W, mob/user, params)
if(user in src)
return
if(!src.tool_interact(W,user))
return ..()
/obj/structure/closet/proc/tool_interact(obj/item/W, mob/user)//returns TRUE if attackBy call shouldnt be continued (because tool was used/closet was of wrong type), FALSE if otherwise
if(opened)
if(istype(W, cutting_tool))
if(istype(W, /obj/item/weldingtool))
@@ -217,29 +221,29 @@
playsound(loc, cutting_sound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!opened || !WT.isOn())
return
return TRUE
playsound(loc, cutting_sound, 50, 1)
user.visible_message("<span class='notice'>[user] slices apart \the [src].</span>",
"<span class='notice'>You cut \the [src] apart with \the [WT].</span>",
"<span class='italics'>You hear welding.</span>")
deconstruct(TRUE)
return 0
return TRUE
else // for example cardboard box is cut with wirecutters
user.visible_message("<span class='notice'>[user] cut apart \the [src].</span>", \
"<span class='notice'>You cut \the [src] apart with \the [W].</span>")
deconstruct(TRUE)
return 0
return TRUE
if(user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too
return 1
return TRUE
else if(istype(W, /obj/item/weldingtool) && can_weld_shut)
var/obj/item/weldingtool/WT = W
if(!WT.remove_fuel(0, user))
return
return TRUE
to_chat(user, "<span class='notice'>You begin [welded ? "unwelding":"welding"] \the [src]...</span>")
playsound(loc, 'sound/items/welder2.ogg', 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(opened || !WT.isOn())
return
return TRUE
playsound(loc, WT.usesound, 50, 1)
welded = !welded
user.visible_message("<span class='notice'>[user] [welded ? "welds shut" : "unweldeds"] \the [src].</span>",
@@ -248,7 +252,7 @@
update_icon()
else if(istype(W, /obj/item/wrench) && anchorable)
if(isinspace() && !anchored)
return
return TRUE
anchored = !anchored
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("<span class='notice'>[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.</span>", \
@@ -257,9 +261,9 @@
else if(user.a_intent != INTENT_HARM && !(W.flags_1 & NOBLUDGEON_1))
if(W.GetID() || !toggle(user))
togglelock(user)
return 1
return TRUE
else
return ..()
return FALSE
/obj/structure/closet/MouseDrop_T(atom/movable/O, mob/living/user)
if(!istype(O) || O.anchored || istype(O, /obj/screen))
@@ -0,0 +1,92 @@
//The "BDPtarget" temp visual is created by the expressconsole, which in turn makes two things: a falling droppod animation, and the droppod itself.
//------------------------------------BLUESPACE DROP POD-------------------------------------//
/obj/structure/closet/bsdroppod
name = "Bluespace Drop Pod"
desc = "A Nanotrasen supply drop pod."
icon = 'icons/obj/2x2.dmi'
icon_state = "BDP"
pixel_x = -16//2x2 sprite
pixel_y = -5
layer = TABLE_LAYER//so that the crate inside doesn't appear underneath
allow_objects = TRUE
allow_dense = TRUE
delivery_icon = null
can_weld_shut = FALSE
armor = list("melee" = 30, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 90, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
anchored = TRUE
anchorable = FALSE
var/datum/supply_order/SupplyOrder
/obj/structure/closet/bsdroppod/Initialize(mapload, datum/supply_order/so)
. = ..()
SupplyOrder = so//uses Supply Order passed from expressconsole into BDPtarget
addtimer(CALLBACK(src, .proc/open), 30)//open 3seconds after appearing
/obj/structure/closet/bsdroppod/update_icon()
cut_overlays()
if (opened)
add_overlay("BDP_open")
else
add_overlay("BDP_door")
/obj/structure/closet/bsdroppod/tool_interact(obj/item/W, mob/user)
return TRUE
/obj/structure/closet/bsdroppod/toggle(mob/living/user)
return
/obj/structure/closet/bsdroppod/open()
var/turf/T = get_turf(src)
opened = TRUE
SupplyOrder.generate(T)//not called during populateContents as supplyorder generation requires a turf
update_icon()
playsound(src, open_sound, 15, 1, -3)
addtimer(CALLBACK(src, .proc/sparks), 30)//3 seconds after opening, make some sparks and delete
/obj/structure/closet/bsdroppod/proc/sparks()//sparks cant be called from addtimer
do_sparks(5, TRUE, src)
qdel(src)//no need for QDEL_IN if we already have a timer
/obj/structure/closet/bsdroppod/Destroy()//make some sparks b4 deletion
QDEL_NULL(SupplyOrder)
return ..()
//------------------------------------FALLING BLUESPACE DROP POD-------------------------------------//
/obj/effect/temp_visual/BDPfall
icon = 'icons/obj/2x2.dmi'
icon_state = "BDP_falling"
pixel_x = -16
pixel_y = -5
pixel_z = 200
name = "Bluespace Drop Pod"
desc = "Get out of the way!"
layer = FLY_LAYER//that wasnt flying, that was falling with style!
randomdir = FALSE
//------------------------------------TEMPORARY_VISUAL-------------------------------------//
/obj/effect/BDPtarget
icon = 'icons/mob/actions/actions_items.dmi'
icon_state = "sniper_zoom"
layer = PROJECTILE_HIT_THRESHHOLD_LAYER
light_range = 2
var/obj/effect/temp_visual/fallingPod
/obj/effect/BDPtarget/Initialize(mapload, datum/supply_order/SO)
. = ..()
addtimer(CALLBACK(src, .proc/beginLaunch, SO), 30)//wait 3 seconds
/obj/effect/BDPtarget/proc/beginLaunch(datum/supply_order/SO)
fallingPod = new /obj/effect/temp_visual/BDPfall(drop_location())
animate(fallingPod, pixel_z = 0, time = 3, easing = LINEAR_EASING)//make and animate a falling pod
addtimer(CALLBACK(src, .proc/endLaunch, SO), 3, TIMER_CLIENT_TIME)//fall 0.3seconds
/obj/effect/BDPtarget/proc/endLaunch(datum/supply_order/SO)
new /obj/structure/closet/bsdroppod(drop_location(), SO)//pod is created
explosion(src,0,0,2, flame_range = 2) //explosion and camshake (shoutout to @cyberboss)
qdel(src)
/obj/effect/BDPtarget/Destroy()
QDEL_NULL(fallingPod)//delete falling pod after animation's over
return ..()
+2 -2
View File
@@ -69,7 +69,7 @@
"name" = P.group,
"packs" = list()
)
if((P.hidden && !emagged) || (P.contraband && !contraband) || (P.special && !P.special_enabled))
if((P.hidden && !emagged) || (P.contraband && !contraband) || (P.special && !P.special_enabled) || P.DropPodOnly)
continue
data["supplies"][P.group]["packs"] += list(list(
"name" = P.name,
@@ -140,7 +140,7 @@
var/datum/supply_pack/pack = SSshuttle.supply_packs[id]
if(!istype(pack))
return
if((pack.hidden && !emagged) || (pack.contraband && !contraband))
if((pack.hidden && !emagged) || (pack.contraband && !contraband) || pack.DropPodOnly)
return
var/name = "*None Provided*"
+125
View File
@@ -0,0 +1,125 @@
/obj/machinery/computer/cargo/express
name = "express supply console"
desc = "This console allows the user to purchase a package for double the price,\
with 1/40th of the delivery time: made possible by NanoTrasen's new \"Drop Pod Railgun\".\
All sales are near instantaneous - please choose carefully"
icon_screen = "supply_express"
circuit = /obj/item/circuitboard/computer/cargo/express
blockade_warning = "Bluespace instability detected. Delivery impossible."
req_access = list(ACCESS_QM)
var/message
var/locked = TRUE
/obj/machinery/computer/cargo/express/attackby(obj/item/W, mob/living/user, params)
..()
if((istype(W, /obj/item/card/id) || istype(W, /obj/item/device/pda)) && allowed(user))
locked = !locked
to_chat(user, "<span class='notice'>You [locked ? "lock" : "unlock"] the interface.</span>")
/obj/machinery/computer/cargo/express/emag_act(mob/living/user)
if(emagged)
return
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
"<span class='notice'>You change the routing protocols, allowing the Drop Pod to land anywhere on the station.</span>")
emagged = TRUE
// This also sets this on the circuit board
var/obj/item/circuitboard/computer/cargo/board = circuit
board.emagged = TRUE
/obj/machinery/computer/cargo/express/ui_interact(mob/living/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) // Remember to use the appropriate state.
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "cargo_express", name, 1000, 800, master_ui, state)
ui.open()
/obj/machinery/computer/cargo/express/ui_data(mob/user)
var/list/data = list()
data["locked"] = locked
data["siliconUser"] = user.has_unlimited_silicon_privilege
data["points"] = SSshuttle.points
data["supplies"] = list()
message = "For normally priced items, please use the standard Supply or Request Console. \
Sales are near-instantaneous - please choose carefully."
if(SSshuttle.supplyBlocked)
message = blockade_warning
if(emagged)
message = "(&!#@ERROR: ROUTING_#PROTOCOL MALF(*CT#ON. $UG%ESTE@ ACT#0N: !^/PULS3-%E)ET CIR*)ITB%ARD."
data["message"] = message
if (emagged)
for(var/pack in SSshuttle.supply_packs)
var/datum/supply_pack/P = SSshuttle.supply_packs[pack]
if (P.name == "Toy Crate")//Can only order toys if emagged. You gotta spend 10K points to crash a droppod somewhere on the station
data["supplies"][P.group] = list(
"name" = P.group,
"packs" = list()
)
data["supplies"][P.group]["packs"] += list(list(
"name" = P.name,
"cost" = P.cost * 2, //displays twice the normal cost
"id" = pack
))
else
for(var/pack in SSshuttle.supply_packs)
var/datum/supply_pack/P = SSshuttle.supply_packs[pack]
if(!data["supplies"][P.group])
data["supplies"][P.group] = list(
"name" = P.group,
"packs" = list()
)
if((P.hidden) || (P.contraband) || (P.special))//no fun allowed
continue
data["supplies"][P.group]["packs"] += list(list(
"name" = P.name,
"cost" = P.cost * 2, //displays twice the normal cost
"id" = pack
))
return data
/obj/machinery/computer/cargo/express/ui_act(action, params, datum/tgui/ui)
switch(action)
if("add")//Generate Supply Order first
var/id = text2path(params["id"])
var/datum/supply_pack/pack = SSshuttle.supply_packs[id]
if(!istype(pack))
return
var/name = "*None Provided*"
var/rank = "*None Provided*"
var/ckey = usr.ckey
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
name = H.get_authentification_name()
rank = H.get_assignment()
else if(issilicon(usr))
name = usr.real_name
rank = "Silicon"
var/reason = ""
var/datum/supply_order/SO = new(pack, name, rank, ckey, reason)
if(SO.pack.cost* 2 <= SSshuttle.points) //If you can afford it, then begin the delivery
SO.generateRequisition(get_turf(src))
SSshuttle.points -= SO.pack.cost * 2//twice the normal cost
var/list/empty_turfs = list()
var/area/landingzone
if (!emagged)
landingzone = locate(/area/quartermaster/storage) in GLOB.sortedAreas
else
landingzone = locate(pick(GLOB.the_station_areas)) in GLOB.sortedAreas
for(var/turf/open/floor/T in landingzone.contents) //get all the turfs in cargo bay
if(is_blocked_turf(T))//wont land on a blocked turf
continue
empty_turfs.Add(T)
if (empty_turfs.len != 0 )
var/LZ = empty_turfs[rand(empty_turfs.len-1)]//pick a random turf
new /obj/effect/BDPtarget(LZ, SO)//where the magic happens. this temp visual makes the actual droppod after a pause
. = TRUE
update_icon()
+1781 -1780
View File
File diff suppressed because it is too large Load Diff
@@ -194,7 +194,7 @@
id = "cargorequest"
build_path = /obj/item/circuitboard/computer/cargo/request
category = list("Computer Boards")
/datum/design/board/stockexchange
name = "Computer Design (Stock Exchange Console)"
desc = "Allows for the construction of circuit boards used to build a Stock Exchange Console."
@@ -2,6 +2,16 @@
/////////////////////////////////////////
/////////////////Mining//////////////////
/////////////////////////////////////////
/datum/design/cargo_express
name = "Computer Design (Express Supply Console)"//shes beautiful
desc = "Allows for the construction of circuit boards used to build an Express Supply Console."//who?
id = "cargoexpress"//the coder reading this
build_type = PROTOLATHE
materials = list(MAT_GLASS = 1000)
reagents_list = list("sacid" = 20)
build_path = /obj/item/circuitboard/computer/cargo/express
category = list("Mining Designs")
departmental_flags = DEPARTMENTAL_FLAG_CARGO
/datum/design/drill
name = "Mining Drill"
+1 -1
View File
@@ -424,7 +424,7 @@
display_name = "Mining Technology"
description = "Better than Efficiency V."
prereq_ids = list("engineering")
design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "ore_redemption", "mining_equipment_vendor")
design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "ore_redemption", "mining_equipment_vendor", "cargoexpress")//e a r l y g a m e)
research_cost = 2500
export_price = 10000
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 107 KiB

+2
View File
@@ -1108,6 +1108,7 @@
#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm"
#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm"
#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm"
#include "code\game\objects\structures\crates_lockers\closets\secure\bsdroppod.dm"
#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm"
#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm"
#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm"
@@ -1300,6 +1301,7 @@
#include "code\modules\cargo\console.dm"
#include "code\modules\cargo\export_scanner.dm"
#include "code\modules\cargo\exports.dm"
#include "code\modules\cargo\expressconsole.dm"
#include "code\modules\cargo\order.dm"
#include "code\modules\cargo\packs.dm"
#include "code\modules\cargo\vg_clothing_packs.dm"
+43
View File
@@ -0,0 +1,43 @@
<script>
component.exports = {
computed: {
tabs () {
return Object.keys(this.get('data.supplies'))
}
}
}
</script>
<ui-notice>
{{#if data.siliconUser }}
<ui-section label='Interface Lock'>
<ui-button icon='{{data.locked ? "lock" : "unlock"}}' action='lock'>{{data.locked ? "Engaged" : "Disengaged"}}</ui-button>
</ui-section>
{{else}}
<span>Swipe a QM-Level ID card to {{data.locked ? "unlock" : "lock"}} this interface.</span>
{{/if}}
</ui-notice>
{{#if !data.locked }}
<ui-display title='Express Cargo Console'>
<ui-section label='Credits'>
<span>{{Math.floor(adata.points)}}</span>
</ui-section>
<ui-section label='Notice'>
<span>{{data.message}}</span>
</ui-section>
</ui-display>
<ui-tabs tabs='{{tabs}}'>
{{#each data.supplies}}
<tab name='{{name}}'>
{{#each packs}}
<ui-section label='{{name}}' candystripe right>
<ui-button action='add' params='{"id": "{{id}}"}'>{{cost}} Credits (Premium Pricing)</ui-button>
</ui-section>
{{/each}}
</tab>
{{/each}}
</ui-tabs>
{{/if}}