mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Stackable items redo. Many improvements, massive code clean up.
Metal and related materials now noticeable more user-friendly. Added new canister color: yellow "CAUTION". Used for newly created from metal canisters. Can be relabeled once. Some typos were fixed. dsay verb now uses fakekey in stealth mode. AI cannot remove the cell from the charger. Added alientalk chat prefix: ":a" by Barhandar. Also added keyboard layout independent russian prefixes. Binary translator done by more convenient may by Barhandar. Is possible now to wash bloody hands in sink. Probably fixed bug causes gibbed revheads be not counted as dead. Some other fixes. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@752 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -20,7 +20,7 @@
|
|||||||
var/list/peripherals = list()
|
var/list/peripherals = list()
|
||||||
var/created_icon_state = "aiupload"
|
var/created_icon_state = "aiupload"
|
||||||
|
|
||||||
/obj/computer2frame/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
/obj/computer2frame/attackby(obj/item/P as obj, mob/user as mob)
|
||||||
switch(state)
|
switch(state)
|
||||||
if(0)
|
if(0)
|
||||||
if(istype(P, /obj/item/weapon/wrench))
|
if(istype(P, /obj/item/weapon/wrench))
|
||||||
@@ -33,8 +33,7 @@
|
|||||||
playsound(src.loc, 'Welder.ogg', 50, 1)
|
playsound(src.loc, 'Welder.ogg', 50, 1)
|
||||||
if(do_after(user, 20))
|
if(do_after(user, 20))
|
||||||
user << "\blue You deconstruct the frame."
|
user << "\blue You deconstruct the frame."
|
||||||
var/obj/item/weapon/sheet/metal/A = new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc, 5 )
|
||||||
A.amount = 5
|
|
||||||
del(src)
|
del(src)
|
||||||
if(1)
|
if(1)
|
||||||
if(istype(P, /obj/item/weapon/wrench))
|
if(istype(P, /obj/item/weapon/wrench))
|
||||||
@@ -118,12 +117,11 @@
|
|||||||
src.hd.loc = src.loc
|
src.hd.loc = src.loc
|
||||||
src.hd = null
|
src.hd = null
|
||||||
|
|
||||||
if(istype(P, /obj/item/weapon/sheet/glass))
|
if(istype(P, /obj/item/stack/sheet/glass))
|
||||||
if(P:amount >= 2)
|
if(P:amount >= 2)
|
||||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||||
if(do_after(user, 20))
|
if(do_after(user, 20))
|
||||||
P:amount -= 2
|
P:use(2)
|
||||||
if(!P:amount) del(P)
|
|
||||||
user << "\blue You put in the glass panel."
|
user << "\blue You put in the glass panel."
|
||||||
src.state = 4
|
src.state = 4
|
||||||
src.icon_state = "4"
|
src.icon_state = "4"
|
||||||
@@ -133,8 +131,7 @@
|
|||||||
user << "\blue You remove the glass panel."
|
user << "\blue You remove the glass panel."
|
||||||
src.state = 3
|
src.state = 3
|
||||||
src.icon_state = "3"
|
src.icon_state = "3"
|
||||||
var/obj/item/weapon/sheet/glass/A = new /obj/item/weapon/sheet/glass( src.loc )
|
new /obj/item/stack/sheet/glass( src.loc, 2 )
|
||||||
A.amount = 2
|
|
||||||
if(istype(P, /obj/item/weapon/screwdriver))
|
if(istype(P, /obj/item/weapon/screwdriver))
|
||||||
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
||||||
user << "\blue You connect the monitor."
|
user << "\blue You connect the monitor."
|
||||||
|
|||||||
@@ -577,7 +577,7 @@
|
|||||||
F.burnt = 1
|
F.burnt = 1
|
||||||
F.intact = 0
|
F.intact = 0
|
||||||
F.levelupdate()
|
F.levelupdate()
|
||||||
new /obj/item/weapon/tile(H) // add to holder so it will be thrown with other stuff
|
new /obj/item/stack/tile(H) // add to holder so it will be thrown with other stuff
|
||||||
F.icon_state = "Floor[F.burnt ? "1" : ""]"
|
F.icon_state = "Floor[F.burnt ? "1" : ""]"
|
||||||
|
|
||||||
if(direction) // direction is specified
|
if(direction) // direction is specified
|
||||||
|
|||||||
@@ -816,3 +816,90 @@ obj/item/brain
|
|||||||
density = 1
|
density = 1
|
||||||
opacity = 1
|
opacity = 1
|
||||||
anchored = 1
|
anchored = 1
|
||||||
|
|
||||||
|
/obj/item/stack
|
||||||
|
var/singular_name
|
||||||
|
var/amount = 1.0
|
||||||
|
var/max_amount //also see stack recipes initialisation, param "max_res_amount" must be equal to this max_amount
|
||||||
|
|
||||||
|
/obj/item/stack/rods
|
||||||
|
name = "metal rods"
|
||||||
|
singular_name = "metal rod"
|
||||||
|
icon_state = "rods"
|
||||||
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
|
w_class = 3.0
|
||||||
|
force = 9.0
|
||||||
|
throwforce = 15.0
|
||||||
|
throw_speed = 5
|
||||||
|
throw_range = 20
|
||||||
|
m_amt = 1875
|
||||||
|
max_amount = 60
|
||||||
|
|
||||||
|
/obj/item/stack/sheet
|
||||||
|
name = "sheet"
|
||||||
|
// var/const/length = 2.5 //2.5*1.5*0.01*100000 == 3750 == m_amt
|
||||||
|
// var/const/width = 1.5
|
||||||
|
// var/const/height = 0.01
|
||||||
|
flags = FPRINT | TABLEPASS
|
||||||
|
w_class = 3.0
|
||||||
|
max_amount = 50
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/glass
|
||||||
|
name = "glass"
|
||||||
|
singular_name = "glass sheet"
|
||||||
|
icon_state = "sheet-glass"
|
||||||
|
force = 5.0
|
||||||
|
g_amt = 3750
|
||||||
|
throwforce = 5
|
||||||
|
throw_speed = 3
|
||||||
|
throw_range = 3
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/rglass
|
||||||
|
name = "reinforced glass"
|
||||||
|
singular_name = "reinforced glass sheet"
|
||||||
|
icon_state = "sheet-rglass"
|
||||||
|
force = 6.0
|
||||||
|
g_amt = 3750
|
||||||
|
m_amt = 1875
|
||||||
|
throwforce = 5
|
||||||
|
throw_speed = 3
|
||||||
|
throw_range = 3
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/metal
|
||||||
|
name = "metal"
|
||||||
|
singular_name = "metal sheet"
|
||||||
|
desc = "A heavy sheet of metal."
|
||||||
|
icon_state = "sheet-metal"
|
||||||
|
force = 5.0
|
||||||
|
m_amt = 3750
|
||||||
|
throwforce = 14.0
|
||||||
|
throw_speed = 1
|
||||||
|
throw_range = 4
|
||||||
|
flags = FPRINT | TABLEPASS | CONDUCT
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/r_metal
|
||||||
|
name = "reinforced metal"
|
||||||
|
singular_name = "reinforced metal sheet"
|
||||||
|
desc = "A very heavy sheet of metal."
|
||||||
|
icon_state = "sheet-r_metal"
|
||||||
|
item_state = "sheet-metal"
|
||||||
|
force = 5.0
|
||||||
|
m_amt = 7500
|
||||||
|
throwforce = 15.0
|
||||||
|
throw_speed = 1
|
||||||
|
throw_range = 4
|
||||||
|
flags = FPRINT | TABLEPASS | CONDUCT
|
||||||
|
|
||||||
|
/obj/item/stack/tile
|
||||||
|
name = "steel floor tile"
|
||||||
|
singular_name = "steel floor tile"
|
||||||
|
desc = "Those could work as a pretty decent throwing weapon"
|
||||||
|
icon_state = "tile"
|
||||||
|
w_class = 3.0
|
||||||
|
force = 6.0
|
||||||
|
m_amt = 937.5
|
||||||
|
throwforce = 15.0
|
||||||
|
throw_speed = 5
|
||||||
|
throw_range = 20
|
||||||
|
flags = FPRINT | TABLEPASS | CONDUCT
|
||||||
|
max_amount = 10
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
icon_state = "welder-rods"
|
icon_state = "welder-rods"
|
||||||
item_state = "welder"
|
item_state = "welder"
|
||||||
var/obj/item/weapon/weldingtool/part1 = null
|
var/obj/item/weapon/weldingtool/part1 = null
|
||||||
var/obj/item/weapon/rods/part2 = null
|
var/obj/item/stack/rods/part2 = null
|
||||||
status = null
|
status = null
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
force = 3.0
|
force = 3.0
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
icon_state = "welder-rods-igniter"
|
icon_state = "welder-rods-igniter"
|
||||||
item_state = "welder"
|
item_state = "welder"
|
||||||
var/obj/item/weapon/weldingtool/part1 = null
|
var/obj/item/weapon/weldingtool/part1 = null
|
||||||
var/obj/item/weapon/rods/part2 = null
|
var/obj/item/stack/rods/part2 = null
|
||||||
var/obj/item/device/igniter/part3 = null
|
var/obj/item/device/igniter/part3 = null
|
||||||
status = null
|
status = null
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
|
|||||||
@@ -52,9 +52,10 @@
|
|||||||
icon_state = "headset"
|
icon_state = "headset"
|
||||||
item_state = "headset"
|
item_state = "headset"
|
||||||
var/protective_temperature = 0
|
var/protective_temperature = 0
|
||||||
|
var/bintran = 0
|
||||||
|
|
||||||
/obj/item/device/radio/headset/traitor
|
/obj/item/device/radio/headset/traitor
|
||||||
// No variables, as everything else it does is handled in human's life.dm
|
bintran = 1
|
||||||
|
|
||||||
/obj/item/device/radio/headset/headset_sec // -- TLE
|
/obj/item/device/radio/headset/headset_sec // -- TLE
|
||||||
name = "Security Radio Headset"
|
name = "Security Radio Headset"
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
/datum/supply_packs/metal50
|
/datum/supply_packs/metal50
|
||||||
name = "50 Metal Sheets"
|
name = "50 Metal Sheets"
|
||||||
contains = list("/obj/item/weapon/sheet/metal")
|
contains = list("/obj/item/stack/sheet/metal")
|
||||||
amount = 50
|
amount = 50
|
||||||
cost = 15
|
cost = 15
|
||||||
containertype = "/obj/crate"
|
containertype = "/obj/crate"
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
/datum/supply_packs/glass50
|
/datum/supply_packs/glass50
|
||||||
name = "50 Glass Sheets"
|
name = "50 Glass Sheets"
|
||||||
contains = list("/obj/item/weapon/sheet/glass")
|
contains = list("/obj/item/stack/sheet/glass")
|
||||||
amount = 50
|
amount = 50
|
||||||
cost = 15
|
cost = 15
|
||||||
containertype = "/obj/crate"
|
containertype = "/obj/crate"
|
||||||
|
|||||||
@@ -135,9 +135,10 @@
|
|||||||
w_class = 2.0
|
w_class = 2.0
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
throwforce = 5
|
throwforce = 5
|
||||||
w_class = 2.0
|
|
||||||
throw_speed = 4
|
throw_speed = 4
|
||||||
throw_range = 20
|
throw_range = 20
|
||||||
|
m_amt = 30
|
||||||
|
g_amt = 20
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/axe
|
/obj/item/weapon/axe
|
||||||
@@ -922,7 +923,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
w_class = 1.0
|
w_class = 1.0
|
||||||
throw_speed = 7
|
throw_speed = 7
|
||||||
throw_range = 15
|
throw_range = 15
|
||||||
m_amt = 60
|
m_amt = 10
|
||||||
|
|
||||||
/obj/item/weapon/pen/sleepypen
|
/obj/item/weapon/pen/sleepypen
|
||||||
desc = "It's a normal black ink pen with a sharp point."
|
desc = "It's a normal black ink pen with a sharp point."
|
||||||
@@ -933,19 +934,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
icon = 'items.dmi'
|
icon = 'items.dmi'
|
||||||
icon_state = "rack_parts"
|
icon_state = "rack_parts"
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
|
m_amt = 3750
|
||||||
/obj/item/weapon/rods
|
|
||||||
name = "rods"
|
|
||||||
icon = 'items.dmi'
|
|
||||||
icon_state = "rods"
|
|
||||||
var/amount = 1.0
|
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
|
||||||
w_class = 3.0
|
|
||||||
force = 9.0
|
|
||||||
throwforce = 15.0
|
|
||||||
throw_speed = 5
|
|
||||||
throw_range = 20
|
|
||||||
m_amt = 1875
|
|
||||||
|
|
||||||
/obj/item/weapon/rubber_chicken
|
/obj/item/weapon/rubber_chicken
|
||||||
name = "Rubber Chicken"
|
name = "Rubber Chicken"
|
||||||
@@ -975,68 +964,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
force = 5.0
|
force = 5.0
|
||||||
throwforce = 15.0
|
throwforce = 15.0
|
||||||
item_state = "shard-glass"
|
item_state = "shard-glass"
|
||||||
|
|
||||||
/obj/item/weapon/sheet
|
|
||||||
name = "sheet"
|
|
||||||
icon = 'items.dmi'
|
|
||||||
var/amount = 1.0
|
|
||||||
var/length = 2.5
|
|
||||||
var/width = 1.5
|
|
||||||
var/height = 0.01
|
|
||||||
flags = FPRINT | TABLEPASS
|
|
||||||
throwforce = 5.0
|
|
||||||
throw_speed = 1
|
|
||||||
throw_range = 4
|
|
||||||
w_class = 4.0
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/glass
|
|
||||||
name = "glass"
|
|
||||||
icon_state = "sheet-glass"
|
|
||||||
force = 5.0
|
|
||||||
g_amt = 3750
|
g_amt = 3750
|
||||||
throwforce = 5
|
|
||||||
w_class = 3.0
|
|
||||||
throw_speed = 3
|
|
||||||
throw_range = 3
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/rglass
|
|
||||||
name = "reinforced glass"
|
|
||||||
icon_state = "sheet-rglass"
|
|
||||||
item_state = "sheet-rglass"
|
|
||||||
force = 6.0
|
|
||||||
g_amt = 3750
|
|
||||||
m_amt = 1875
|
|
||||||
throwforce = 5
|
|
||||||
w_class = 3.0
|
|
||||||
throw_speed = 3
|
|
||||||
throw_range = 3
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/metal
|
|
||||||
name = "metal"
|
|
||||||
icon_state = "sheet-metal"
|
|
||||||
desc = "A heavy sheet of metal."
|
|
||||||
throwforce = 14.0
|
|
||||||
m_amt = 3750
|
|
||||||
throwforce = 10.0
|
|
||||||
throw_speed = 1
|
|
||||||
throw_range = 4
|
|
||||||
w_class = 3.0
|
|
||||||
flags = FPRINT | TABLEPASS | CONDUCT
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/r_metal
|
|
||||||
name = "reinforced metal"
|
|
||||||
desc = "A very heavy sheet of metal."
|
|
||||||
icon_state = "sheet-r_metal"
|
|
||||||
force = 5.0
|
|
||||||
throwforce = 14.0
|
|
||||||
item_state = "sheet-metal"
|
|
||||||
m_amt = 7500
|
|
||||||
throwforce = 15.0
|
|
||||||
throw_speed = 1
|
|
||||||
throw_range = 4
|
|
||||||
w_class = 3.0
|
|
||||||
flags = FPRINT | TABLEPASS | CONDUCT
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/syndicate_uplink
|
/obj/item/weapon/syndicate_uplink
|
||||||
name = "station bounced radio"
|
name = "station bounced radio"
|
||||||
@@ -1101,12 +1029,14 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
name = "table parts"
|
name = "table parts"
|
||||||
icon = 'items.dmi'
|
icon = 'items.dmi'
|
||||||
icon_state = "table_parts"
|
icon_state = "table_parts"
|
||||||
|
m_amt = 3750
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
|
|
||||||
/obj/item/weapon/table_parts/reinforced
|
/obj/item/weapon/table_parts/reinforced
|
||||||
name = "table parts"
|
name = "table parts"
|
||||||
icon = 'items.dmi'
|
icon = 'items.dmi'
|
||||||
icon_state = "reinf_tableparts"
|
icon_state = "reinf_tableparts"
|
||||||
|
m_amt = 7500
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
|
|
||||||
/obj/item/weapon/tank
|
/obj/item/weapon/tank
|
||||||
@@ -1155,19 +1085,6 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
w_class = 2.5
|
w_class = 2.5
|
||||||
force = 4.0
|
force = 4.0
|
||||||
|
|
||||||
/obj/item/weapon/tile
|
|
||||||
name = "steel floor tile"
|
|
||||||
desc = "... Those could work as a pretty decent throwing weapon"
|
|
||||||
icon = 'items.dmi'
|
|
||||||
icon_state = "tile"
|
|
||||||
var/amount = 1.0
|
|
||||||
w_class = 3.0
|
|
||||||
throw_speed = 5
|
|
||||||
throw_range = 20
|
|
||||||
force = 6.0
|
|
||||||
throwforce = 15.0
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/teleportation_scroll
|
/obj/item/weapon/teleportation_scroll
|
||||||
name = "Teleportation Scroll"
|
name = "Teleportation Scroll"
|
||||||
icon = 'items.dmi'
|
icon = 'items.dmi'
|
||||||
@@ -1183,7 +1100,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
name = "weldingtool"
|
name = "weldingtool"
|
||||||
icon = 'items.dmi'
|
icon = 'items.dmi'
|
||||||
icon_state = "welder"
|
icon_state = "welder"
|
||||||
var/welding = 0.0
|
var/welding = 0
|
||||||
var/status = 0 //flamethrower construction :shobon:
|
var/status = 0 //flamethrower construction :shobon:
|
||||||
flags = FPRINT | TABLEPASS| CONDUCT
|
flags = FPRINT | TABLEPASS| CONDUCT
|
||||||
force = 3.0
|
force = 3.0
|
||||||
@@ -1191,7 +1108,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
throw_speed = 1
|
throw_speed = 1
|
||||||
throw_range = 5
|
throw_range = 5
|
||||||
w_class = 2.0
|
w_class = 2.0
|
||||||
m_amt = 30
|
m_amt = 70
|
||||||
g_amt = 30
|
g_amt = 30
|
||||||
|
|
||||||
/obj/item/weapon/wire
|
/obj/item/weapon/wire
|
||||||
@@ -1247,6 +1164,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
|||||||
var/charge = 0 // note %age conveted to actual charge in New
|
var/charge = 0 // note %age conveted to actual charge in New
|
||||||
var/maxcharge = 1000
|
var/maxcharge = 1000
|
||||||
m_amt = 700
|
m_amt = 700
|
||||||
|
g_amt = 50
|
||||||
var/rigged = 0 // true if rigged to explode
|
var/rigged = 0 // true if rigged to explode
|
||||||
|
|
||||||
/obj/item/weapon/cell/robotcrate
|
/obj/item/weapon/cell/robotcrate
|
||||||
|
|||||||
@@ -13,13 +13,13 @@
|
|||||||
|
|
||||||
/turf/simulated/wall/asteroid/iron
|
/turf/simulated/wall/asteroid/iron
|
||||||
icon_state = "asteroid_i"
|
icon_state = "asteroid_i"
|
||||||
contains = /obj/item/weapon/sheet/metal
|
contains = /obj/item/stack/sheet/metal
|
||||||
max_amount = 3
|
max_amount = 3
|
||||||
min_amount = 1
|
min_amount = 1
|
||||||
|
|
||||||
/turf/simulated/wall/asteroid/silicon
|
/turf/simulated/wall/asteroid/silicon
|
||||||
icon_state = "asteroid_i"
|
icon_state = "asteroid_i"
|
||||||
contains = /obj/item/weapon/sheet/glass
|
contains = /obj/item/stack/sheet/glass
|
||||||
max_amount = 3
|
max_amount = 3
|
||||||
min_amount = 1
|
min_amount = 1
|
||||||
|
|
||||||
|
|||||||
@@ -156,8 +156,8 @@
|
|||||||
if (istype (src, /mob/living/carbon))
|
if (istype (src, /mob/living/carbon))
|
||||||
var/obj/item/source2 = src
|
var/obj/item/source2 = src
|
||||||
source2.blood_DNA = null
|
source2.blood_DNA = null
|
||||||
var/icon/I = new /icon(source2.icon_old, source2.icon_state)
|
//var/icon/I = new /icon(source2.icon_old, source2.icon_state) //doesnt have icon_old
|
||||||
source2.icon = I
|
//source2.icon = I
|
||||||
if (istype (src, /obj/item))
|
if (istype (src, /obj/item))
|
||||||
var/obj/item/source2 = src
|
var/obj/item/source2 = src
|
||||||
source2.blood_DNA = null
|
source2.blood_DNA = null
|
||||||
|
|||||||
@@ -398,7 +398,7 @@
|
|||||||
/////////////////////////////
|
/////////////////////////////
|
||||||
/datum/game_mode/revolution/proc/check_heads_victory()
|
/datum/game_mode/revolution/proc/check_heads_victory()
|
||||||
for(var/datum/mind/rev_mind in head_revolutionaries)
|
for(var/datum/mind/rev_mind in head_revolutionaries)
|
||||||
if(rev_mind.current.stat != 2)
|
if(rev_mind && rev_mind.current && rev_mind.current.stat != 2)
|
||||||
return 0
|
return 0
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|||||||
@@ -88,11 +88,11 @@ datum/hSB
|
|||||||
P.back.layer = 20
|
P.back.layer = 20
|
||||||
P.internal = P.back
|
P.internal = P.back
|
||||||
if("hsbmetal")
|
if("hsbmetal")
|
||||||
var/obj/item/weapon/sheet/hsb = new/obj/item/weapon/sheet/metal
|
var/obj/item/stack/sheet/hsb = new/obj/item/stack/sheet/metal
|
||||||
hsb.amount = 50
|
hsb.amount = 50
|
||||||
hsb.loc = usr.loc
|
hsb.loc = usr.loc
|
||||||
if("hsbglass")
|
if("hsbglass")
|
||||||
var/obj/item/weapon/sheet/hsb = new/obj/item/weapon/sheet/glass
|
var/obj/item/stack/sheet/hsb = new/obj/item/stack/sheet/glass
|
||||||
hsb.amount = 50
|
hsb.amount = 50
|
||||||
hsb.loc = usr.loc
|
hsb.loc = usr.loc
|
||||||
if("hsbairlock")
|
if("hsbairlock")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/obj/machinery/portable_atmospherics/canister
|
/obj/machinery/portable_atmospherics/canister
|
||||||
name = "canister"
|
name = "canister"
|
||||||
icon = 'atmos.dmi'
|
icon = 'atmos.dmi'
|
||||||
|
icon_state = "yellow"
|
||||||
density = 1
|
density = 1
|
||||||
var/health = 100.0
|
var/health = 100.0
|
||||||
flags = FPRINT | CONDUCT
|
flags = FPRINT | CONDUCT
|
||||||
@@ -8,7 +9,8 @@
|
|||||||
var/valve_open = 0
|
var/valve_open = 0
|
||||||
var/release_pressure = ONE_ATMOSPHERE
|
var/release_pressure = ONE_ATMOSPHERE
|
||||||
|
|
||||||
var/color = "blue"
|
var/color = "yellow"
|
||||||
|
var/labeled = 0
|
||||||
var/filled = 0.5
|
var/filled = 0.5
|
||||||
pressure_resistance = 7*ONE_ATMOSPHERE
|
pressure_resistance = 7*ONE_ATMOSPHERE
|
||||||
var/temperature_resistance = 1000 + T0C
|
var/temperature_resistance = 1000 + T0C
|
||||||
@@ -18,10 +20,12 @@
|
|||||||
name = "Canister: \[N2O\]"
|
name = "Canister: \[N2O\]"
|
||||||
icon_state = "redws"
|
icon_state = "redws"
|
||||||
color = "redws"
|
color = "redws"
|
||||||
|
labeled = 1
|
||||||
/obj/machinery/portable_atmospherics/canister/nitrogen
|
/obj/machinery/portable_atmospherics/canister/nitrogen
|
||||||
name = "Canister: \[N2\]"
|
name = "Canister: \[N2\]"
|
||||||
icon_state = "red"
|
icon_state = "red"
|
||||||
color = "red"
|
color = "red"
|
||||||
|
labeled = 1
|
||||||
/obj/machinery/portable_atmospherics/canister/oxygen
|
/obj/machinery/portable_atmospherics/canister/oxygen
|
||||||
name = "Canister: \[O2\]"
|
name = "Canister: \[O2\]"
|
||||||
icon_state = "blue"
|
icon_state = "blue"
|
||||||
@@ -29,14 +33,17 @@
|
|||||||
name = "Canister \[Toxin (Bio)\]"
|
name = "Canister \[Toxin (Bio)\]"
|
||||||
icon_state = "orange"
|
icon_state = "orange"
|
||||||
color = "orange"
|
color = "orange"
|
||||||
|
labeled = 1
|
||||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
|
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
|
||||||
name = "Canister \[CO2\]"
|
name = "Canister \[CO2\]"
|
||||||
icon_state = "black"
|
icon_state = "black"
|
||||||
color = "black"
|
color = "black"
|
||||||
|
labeled = 1
|
||||||
/obj/machinery/portable_atmospherics/canister/air
|
/obj/machinery/portable_atmospherics/canister/air
|
||||||
name = "Canister \[Air\]"
|
name = "Canister \[Air\]"
|
||||||
icon_state = "grey"
|
icon_state = "grey"
|
||||||
color = "grey"
|
color = "grey"
|
||||||
|
labeled = 1
|
||||||
|
|
||||||
/obj/machinery/portable_atmospherics/canister/update_icon()
|
/obj/machinery/portable_atmospherics/canister/update_icon()
|
||||||
src.overlays = 0
|
src.overlays = 0
|
||||||
@@ -158,7 +165,7 @@
|
|||||||
holding_text = {"<BR><B>Tank Pressure</B>: [holding.air_contents.return_pressure()] KPa<BR>
|
holding_text = {"<BR><B>Tank Pressure</B>: [holding.air_contents.return_pressure()] KPa<BR>
|
||||||
<A href='?src=\ref[src];remove_tank=1'>Remove Tank</A><BR>
|
<A href='?src=\ref[src];remove_tank=1'>Remove Tank</A><BR>
|
||||||
"}
|
"}
|
||||||
var/output_text = {"<TT><B>[name]</B><BR>
|
var/output_text = {"<TT><B>[name]</B>[!labeled?" <A href='?src=\ref[src];relabel=1'><small>relabel</small></a>":""]<BR>
|
||||||
Pressure: [air_contents.return_pressure()] KPa<BR>
|
Pressure: [air_contents.return_pressure()] KPa<BR>
|
||||||
Port Status: [(connected_port)?("Connected"):("Disconnected")]
|
Port Status: [(connected_port)?("Connected"):("Disconnected")]
|
||||||
[holding_text]
|
[holding_text]
|
||||||
@@ -195,6 +202,23 @@ Release Pressure: <A href='?src=\ref[src];pressure_adj=-1000'>-</A> <A href='?sr
|
|||||||
else
|
else
|
||||||
release_pressure = max(ONE_ATMOSPHERE/10, release_pressure+diff)
|
release_pressure = max(ONE_ATMOSPHERE/10, release_pressure+diff)
|
||||||
|
|
||||||
|
if (href_list["relabel"])
|
||||||
|
if (!labeled)
|
||||||
|
var/list/colors = list(\
|
||||||
|
"\[N2O\]" = "redws", \
|
||||||
|
"\[N2\]" = "red", \
|
||||||
|
"\[O2\]" = "blue", \
|
||||||
|
"\[Toxin (Bio)\]" = "orange", \
|
||||||
|
"\[CO2\]" = "black", \
|
||||||
|
"\[Air\]" = "grey", \
|
||||||
|
"\[CAUTION\]" = "yellow", \
|
||||||
|
)
|
||||||
|
var/label = input("Choose canister label", "Gas canister") as null|anything in colors
|
||||||
|
if (label)
|
||||||
|
src.color = colors[label]
|
||||||
|
src.icon_state = colors[label]
|
||||||
|
src.name = "Canister: [label]"
|
||||||
|
labeled = 1
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog()
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -265,4 +289,4 @@ Release Pressure: <A href='?src=\ref[src];pressure_adj=-1000'>-</A> <A href='?sr
|
|||||||
src.air_contents.nitrogen = (N2STANDARD*src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
|
src.air_contents.nitrogen = (N2STANDARD*src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
|
||||||
|
|
||||||
src.update_icon()
|
src.update_icon()
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -1,15 +1,36 @@
|
|||||||
/obj/machinery/autolathe/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
|
/obj/machinery/autolathe
|
||||||
|
var/busy = 0
|
||||||
|
var/const/max_m_amount = 150000.0
|
||||||
|
var/const/max_g_amount = 75000.0
|
||||||
|
|
||||||
|
/obj/machinery/autolathe/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||||
|
if (stat)
|
||||||
|
return 1
|
||||||
|
if (busy)
|
||||||
|
user << "\red The autolathe is busy. Please wait for completion of previous operation."
|
||||||
|
return 1
|
||||||
if (istype(O, /obj/item/weapon/screwdriver))
|
if (istype(O, /obj/item/weapon/screwdriver))
|
||||||
if (!opened)
|
if (!opened)
|
||||||
src.opened = 1
|
src.opened = 1
|
||||||
src.icon_state = "autolathef"
|
src.icon_state = "autolathef"
|
||||||
|
user << "You open the maintenance hatch of [src]."
|
||||||
else
|
else
|
||||||
src.opened = 0
|
src.opened = 0
|
||||||
src.icon_state = "autolathe"
|
src.icon_state = "autolathe"
|
||||||
|
user << "You close the maintenance hatch of [src]."
|
||||||
return
|
return
|
||||||
if (opened)
|
if (opened)
|
||||||
user << "You can't load the autolathe while it's opened."
|
user << "\red You can't load the autolathe while it's opened."
|
||||||
return
|
return 1
|
||||||
|
if (src.m_amount + O.m_amt > max_m_amount)
|
||||||
|
user << "\red The autolathe is full. Please remove metal from the autolathe in order to insert more."
|
||||||
|
return 1
|
||||||
|
if (src.g_amount + O.g_amt > max_g_amount)
|
||||||
|
user << "\red The autolathe is full. Please remove glass from the autolathe in order to insert more."
|
||||||
|
return 1
|
||||||
|
if (O.m_amt == 0 && O.g_amt == 0)
|
||||||
|
user << "\red This object does not contain significant amounts of metal or glass, or cannot be accepted by the autolathe due to size or hazardous materials."
|
||||||
|
return 1
|
||||||
/*
|
/*
|
||||||
if (istype(O, /obj/item/weapon/grab) && src.hacked)
|
if (istype(O, /obj/item/weapon/grab) && src.hacked)
|
||||||
var/obj/item/weapon/grab/G = O
|
var/obj/item/weapon/grab/G = O
|
||||||
@@ -18,79 +39,95 @@
|
|||||||
m_amount += 50000
|
m_amount += 50000
|
||||||
return
|
return
|
||||||
*/
|
*/
|
||||||
if (istype(O, /obj/item/weapon/sheet/metal))
|
|
||||||
if (src.m_amount < 150000.0)
|
|
||||||
spawn(16) {
|
|
||||||
if (O)
|
|
||||||
flick("autolathe_c",src)
|
|
||||||
src.m_amount += O:height * O:width * O:length * 100000.0
|
|
||||||
O:amount--
|
|
||||||
if (O:amount < 1)
|
|
||||||
del(O)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
user << "The autolathe is full. Please remove metal from the autolathe in order to insert more."
|
|
||||||
else if (istype(O, /obj/item/weapon/sheet/glass) || istype(O, /obj/item/weapon/sheet/rglass))
|
|
||||||
if (src.g_amount < 75000.0)
|
|
||||||
spawn(16) {
|
|
||||||
flick("autolathe_c",src)
|
|
||||||
src.g_amount += O:height * O:width * O:length * 100000.0
|
|
||||||
O:amount--
|
|
||||||
if (O:amount < 1)
|
|
||||||
del(O)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
user << "The autolathe is full. Please remove glass from the autolathe in order to insert more."
|
|
||||||
|
|
||||||
else if (O.g_amt || O.m_amt)
|
var/amount = 1
|
||||||
spawn(16) {
|
var/obj/item/stack/stack
|
||||||
flick("autolathe_c",src)
|
var/m_amt = O.m_amt
|
||||||
if(O)
|
var/g_amt = O.g_amt
|
||||||
if(O.g_amt) // Added null checks to avoid runtime errors when an item doesn't have an expected variable -- TLE
|
if (istype(O, /obj/item/stack))
|
||||||
src.g_amount += O.g_amt
|
stack = O
|
||||||
if(O.m_amt)
|
amount = stack.amount
|
||||||
src.m_amount += O.m_amt
|
if (m_amt)
|
||||||
del O
|
amount = min(amount, round((max_m_amount-src.m_amount)/m_amt))
|
||||||
}
|
if (g_amt)
|
||||||
|
amount = min(amount, round((max_g_amount-src.g_amount)/g_amt))
|
||||||
|
stack.use(amount)
|
||||||
else
|
else
|
||||||
user << "This object does not contain significant amounts of metal or glass, or cannot be accepted by the autolathe due to size or hazardous materials."
|
usr.before_take_item(O)
|
||||||
|
O.loc = src
|
||||||
|
icon_state = "autolathe1"
|
||||||
|
flick("autolathe_c",src)
|
||||||
|
busy = 1
|
||||||
|
use_power(max(1000, (m_amt+g_amt)*amount/10))
|
||||||
|
spawn(16)
|
||||||
|
icon_state = "autolathe"
|
||||||
|
flick("autolathe_o",src)
|
||||||
|
src.m_amount += m_amt * amount
|
||||||
|
src.g_amount += g_amt * amount
|
||||||
|
if (O && O.loc == src)
|
||||||
|
del(O)
|
||||||
|
busy = 0
|
||||||
|
src.updateUsrDialog()
|
||||||
|
|
||||||
/obj/machinery/autolathe/attack_paw(user as mob)
|
/obj/machinery/autolathe/attack_paw(mob/user as mob)
|
||||||
return src.attack_hand(user)
|
return src.attack_hand(user)
|
||||||
|
|
||||||
/obj/machinery/autolathe/attack_hand(user as mob)
|
/obj/machinery/autolathe/attack_hand(mob/user as mob)
|
||||||
var/dat
|
user.machine = src
|
||||||
|
interact(user)
|
||||||
|
|
||||||
|
/obj/machinery/autolathe/proc/wires_win(mob/user as mob)
|
||||||
|
var/dat as text
|
||||||
|
dat += "Autolathe Wires:<BR>"
|
||||||
|
for(var/wire in src.wires)
|
||||||
|
dat += text("[wire] Wire: <A href='?src=\ref[src];wire=[wire];act=wire'>[src.wires[wire] ? "Mend" : "Cut"]</A> <A href='?src=\ref[src];wire=[wire];act=pulse'>Pulse</A><BR>")
|
||||||
|
|
||||||
|
dat += text("The red light is [src.disabled ? "off" : "on"].<BR>")
|
||||||
|
dat += text("The green light is [src.shocked ? "off" : "on"].<BR>")
|
||||||
|
dat += text("The blue light is [src.hacked ? "off" : "on"].<BR>")
|
||||||
|
user << browse("<HTML><HEAD><TITLE>Autolathe Hacking</TITLE></HEAD><BODY>[dat]</BODY></HTML>","window=autolathe_hack")
|
||||||
|
onclose(user, "autolathe_hack")
|
||||||
|
|
||||||
|
/obj/machinery/autolathe/proc/regular_win(mob/user as mob)
|
||||||
|
var/dat as text
|
||||||
|
dat = text("<B>Metal Amount:</B> [src.m_amount] cm<sup>3</sup> (MAX: [max_m_amount])<BR>\n<FONT color=blue><B>Glass Amount:</B></FONT> [src.g_amount] cm<sup>3</sup> (MAX: [max_g_amount])<HR>")
|
||||||
|
var/list/objs = list()
|
||||||
|
objs += src.L
|
||||||
|
if (src.hacked)
|
||||||
|
objs += src.LL
|
||||||
|
for(var/obj/t in objs)
|
||||||
|
var/title = "[t.name] ([t.m_amt] m /[t.g_amt] g)"
|
||||||
|
if (m_amount<t.m_amt || g_amount<t.g_amt)
|
||||||
|
dat += title + "<br>"
|
||||||
|
continue
|
||||||
|
dat += "<A href='?src=\ref[src];make=\ref[t]'>[title]</A>"
|
||||||
|
if (istype(t, /obj/item/stack))
|
||||||
|
var/obj/item/stack/S = t
|
||||||
|
var/max_multiplier = min(S.max_amount, S.m_amt?round(m_amount/S.m_amt):INFINITY, S.g_amt?round(g_amount/S.g_amt):INFINITY)
|
||||||
|
if (max_multiplier>1)
|
||||||
|
dat += " |"
|
||||||
|
if (max_multiplier>10)
|
||||||
|
dat += " <A href='?src=\ref[src];make=\ref[t];multiplier=[10]'>x[10]</A>"
|
||||||
|
if (max_multiplier>25)
|
||||||
|
dat += " <A href='?src=\ref[src];make=\ref[t];multiplier=[25]'>x[25]</A>"
|
||||||
|
if (max_multiplier>1)
|
||||||
|
dat += " <A href='?src=\ref[src];make=\ref[t];multiplier=[max_multiplier]'>x[max_multiplier]</A>"
|
||||||
|
dat += "<br>"
|
||||||
|
user << browse("<HTML><HEAD><TITLE>Autolathe Control Panel</TITLE></HEAD><BODY><TT>[dat]</TT></BODY></HTML>", "window=autolathe_regular")
|
||||||
|
onclose(user, "autolathe_regular")
|
||||||
|
|
||||||
|
/obj/machinery/autolathe/proc/interact(mob/user as mob)
|
||||||
if(..())
|
if(..())
|
||||||
return
|
return
|
||||||
if (src.shocked)
|
if (src.shocked)
|
||||||
src.shock(user)
|
src.shock(user)
|
||||||
if (src.opened)
|
if (src.opened)
|
||||||
dat += "Autolathe Wires:<BR>"
|
wires_win(user)
|
||||||
var/wire
|
|
||||||
for(wire in src.wires)
|
|
||||||
dat += text("[wire] Wire: <A href='?src=\ref[src];wire=[wire];act=wire'>[src.wires[wire] ? "Mend" : "Cut"]</A> <A href='?src=\ref[src];wire=[wire];act=pulse'>Pulse</A><BR>")
|
|
||||||
|
|
||||||
dat += text("The red light is [src.disabled ? "off" : "on"].<BR>")
|
|
||||||
dat += text("The green light is [src.shocked ? "off" : "on"].<BR>")
|
|
||||||
dat += text("The blue light is [src.hacked ? "off" : "on"].<BR>")
|
|
||||||
user << browse("<HEAD><TITLE>Autolathe Hacking</TITLE></HEAD>[dat]","window=autolathe_hack")
|
|
||||||
onclose(user, "autolathe_hack")
|
|
||||||
return
|
return
|
||||||
if (src.disabled)
|
if (src.disabled)
|
||||||
user << "You press the button, but nothing happens."
|
user << "\red You press the button, but nothing happens."
|
||||||
return
|
return
|
||||||
if (src.temp)
|
regular_win(user)
|
||||||
dat = text("<TT>[]</TT><BR><BR><A href='?src=\ref[];temp=1'>Clear Screen</A>", src.temp, src)
|
|
||||||
else
|
|
||||||
dat = text("<B>Metal Amount:</B> [src.m_amount] cm<sup>3</sup> (MAX: 150,000)<BR>\n<FONT color = blue><B>Glass Amount:</B></FONT> [src.g_amount] cm<sup>3</sup> (MAX: 75,000)<HR>")
|
|
||||||
var/list/objs = list()
|
|
||||||
objs += src.L
|
|
||||||
if (src.hacked)
|
|
||||||
objs += src.LL
|
|
||||||
for(var/obj/t in objs)
|
|
||||||
dat += text("<A href='?src=\ref[src];make=\ref[t]'>[t.name] ([t.m_amt] cc metal/[t.g_amt] cc glass)<BR>")
|
|
||||||
user << browse("<HEAD><TITLE>Autolathe Control Panel</TITLE></HEAD><TT>[dat]</TT>", "window=autolathe_regular")
|
|
||||||
onclose(user, "autolathe_regular")
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/autolathe/Topic(href, href_list)
|
/obj/machinery/autolathe/Topic(href, href_list)
|
||||||
@@ -98,99 +135,117 @@
|
|||||||
return
|
return
|
||||||
usr.machine = src
|
usr.machine = src
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
if(href_list["make"])
|
if (!busy)
|
||||||
var/obj/template = locate(href_list["make"])
|
if(href_list["make"])
|
||||||
if(src.m_amount >= template.m_amt && src.g_amount >= template.g_amt)
|
var/turf/T = get_step(src.loc, get_dir(src,usr))
|
||||||
spawn(16)
|
var/obj/template = locate(href_list["make"])
|
||||||
|
var/multiplier = text2num(href_list["multiplier"])
|
||||||
|
if (!multiplier) multiplier = 1
|
||||||
|
var/power = max(2000, (template.m_amt+template.g_amt)*multiplier/5)
|
||||||
|
if(src.m_amount >= template.m_amt*multiplier && src.g_amount >= template.g_amt*multiplier)
|
||||||
|
busy = 1
|
||||||
|
use_power(power)
|
||||||
|
icon_state = "autolathe1"
|
||||||
flick("autolathe_c",src)
|
flick("autolathe_c",src)
|
||||||
spawn(16)
|
spawn(16)
|
||||||
flick("autolathe_o",src)
|
use_power(power)
|
||||||
spawn(16)
|
spawn(16)
|
||||||
src.m_amount -= template.m_amt
|
icon_state = "autolathe"
|
||||||
src.g_amount -= template.g_amt
|
flick("autolathe_o",src)
|
||||||
if(src.m_amount < 0)
|
use_power(power)
|
||||||
src.m_amount = 0
|
spawn(16)
|
||||||
if(src.g_amount < 0)
|
src.m_amount -= template.m_amt*multiplier
|
||||||
src.g_amount = 0
|
src.g_amount -= template.g_amt*multiplier
|
||||||
new template.type(usr.loc)
|
if(src.m_amount < 0)
|
||||||
if(href_list["act"])
|
src.m_amount = 0
|
||||||
if(href_list["act"] == "pulse")
|
if(src.g_amount < 0)
|
||||||
if (!istype(usr.equipped(), /obj/item/device/multitool))
|
src.g_amount = 0
|
||||||
usr << "You need a multitool!"
|
var/obj/new_item = new template.type(T)
|
||||||
else
|
if (multiplier>1)
|
||||||
if(src.wires[href_list["wire"]])
|
var/obj/item/stack/S = new_item
|
||||||
usr << "You can't pulse a cut wire."
|
S.amount = multiplier
|
||||||
|
busy = 0
|
||||||
|
src.updateUsrDialog()
|
||||||
|
if(href_list["act"])
|
||||||
|
if(href_list["act"] == "pulse")
|
||||||
|
if (!istype(usr.equipped(), /obj/item/device/multitool))
|
||||||
|
usr << "You need a multitool!"
|
||||||
|
else
|
||||||
|
if(src.wires[href_list["wire"]])
|
||||||
|
usr << "You can't pulse a cut wire."
|
||||||
|
else
|
||||||
|
if(src.hack_wire == href_list["wire"])
|
||||||
|
src.hacked = !src.hacked
|
||||||
|
spawn(100) src.hacked = !src.hacked
|
||||||
|
if(src.disable_wire == href_list["wire"])
|
||||||
|
src.disabled = !src.disabled
|
||||||
|
src.shock(usr)
|
||||||
|
spawn(100) src.disabled = !src.disabled
|
||||||
|
if(src.shock_wire == href_list["wire"])
|
||||||
|
src.shocked = !src.shocked
|
||||||
|
src.shock(usr)
|
||||||
|
spawn(100) src.shocked = !src.shocked
|
||||||
|
if(href_list["act"] == "wire")
|
||||||
|
if (!istype(usr.equipped(), /obj/item/weapon/wirecutters))
|
||||||
|
usr << "You need wirecutters!"
|
||||||
else
|
else
|
||||||
if(src.hack_wire == href_list["wire"])
|
if(src.hack_wire == href_list["wire"])
|
||||||
src.hacked = !src.hacked
|
src.hacked = !src.hacked
|
||||||
spawn(100) src.hacked = !src.hacked
|
|
||||||
if(src.disable_wire == href_list["wire"])
|
if(src.disable_wire == href_list["wire"])
|
||||||
src.disabled = !src.disabled
|
src.disabled = !src.disabled
|
||||||
src.shock(usr)
|
src.shock(usr)
|
||||||
spawn(100) src.disabled = !src.disabled
|
|
||||||
if(src.shock_wire == href_list["wire"])
|
if(src.shock_wire == href_list["wire"])
|
||||||
src.shocked = !src.shocked
|
src.shocked = !src.shocked
|
||||||
src.shock(usr)
|
src.shock(usr)
|
||||||
spawn(100) src.shocked = !src.shocked
|
else
|
||||||
if(href_list["act"] == "wire")
|
usr << "\red The autolathe is busy. Please wait for completion of previous operation."
|
||||||
if (!istype(usr.equipped(), /obj/item/weapon/wirecutters))
|
|
||||||
usr << "You need wirecutters!"
|
|
||||||
else
|
|
||||||
if(src.hack_wire == href_list["wire"])
|
|
||||||
src.hacked = !src.hacked
|
|
||||||
if(src.disable_wire == href_list["wire"])
|
|
||||||
src.disabled = !src.disabled
|
|
||||||
src.shock(usr)
|
|
||||||
if(src.shock_wire == href_list["wire"])
|
|
||||||
src.shocked = !src.shocked
|
|
||||||
src.shock(usr)
|
|
||||||
|
|
||||||
if (href_list["temp"])
|
|
||||||
src.temp = null
|
|
||||||
|
|
||||||
for(var/mob/M in viewers(1, src))
|
|
||||||
if ((M.client && M.machine == src))
|
|
||||||
src.attack_hand(M)
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
var/global/list/autolathe_recipes = list( \
|
||||||
|
/* screwdriver removed*/ \
|
||||||
|
new /obj/item/weapon/wirecutters(), \
|
||||||
|
new /obj/item/weapon/wrench(), \
|
||||||
|
new /obj/item/weapon/crowbar(), \
|
||||||
|
new /obj/item/weapon/weldingtool(), \
|
||||||
|
new /obj/item/clothing/head/helmet/welding(), \
|
||||||
|
new /obj/item/device/multitool(), \
|
||||||
|
new /obj/item/weapon/airlock_electronics(), \
|
||||||
|
new /obj/item/device/flashlight(), \
|
||||||
|
new /obj/item/weapon/extinguisher(), \
|
||||||
|
new /obj/item/stack/sheet/metal(), \
|
||||||
|
new /obj/item/stack/sheet/glass(), \
|
||||||
|
new /obj/item/stack/sheet/r_metal(), \
|
||||||
|
new /obj/item/stack/sheet/rglass(), \
|
||||||
|
new /obj/item/stack/rods(), \
|
||||||
|
new /obj/item/weapon/rcd_ammo(), \
|
||||||
|
new /obj/item/weapon/scalpel(), \
|
||||||
|
new /obj/item/weapon/circular_saw(), \
|
||||||
|
new /obj/item/device/t_scanner(), \
|
||||||
|
new /obj/item/weapon/reagent_containers/glass/bucket(), \
|
||||||
|
new /obj/item/weapon/ammo/shell/blank(), \
|
||||||
|
new /obj/item/device/taperecorder(), \
|
||||||
|
)
|
||||||
|
|
||||||
|
var/global/list/autolathe_recipes_hidden = list( \
|
||||||
|
new /obj/item/weapon/flamethrower(), \
|
||||||
|
new /obj/item/device/igniter(), \
|
||||||
|
new /obj/item/device/timer(), \
|
||||||
|
new /obj/item/weapon/rcd(), \
|
||||||
|
new /obj/item/device/infra(), \
|
||||||
|
new /obj/item/device/infra_sensor(), \
|
||||||
|
new /obj/item/weapon/handcuffs(), \
|
||||||
|
new /obj/item/weapon/ammo/a357(), \
|
||||||
|
new /obj/item/weapon/ammo/shell/gauge(), \
|
||||||
|
new /obj/item/weapon/ammo/a38(), \
|
||||||
|
new /obj/item/weapon/ammo/shell/beanbag(), \
|
||||||
|
new /obj/item/weapon/ammo/shell/dart(), \
|
||||||
|
/* new /obj/item/weapon/shield/riot(), */ \
|
||||||
|
)
|
||||||
/obj/machinery/autolathe/New()
|
/obj/machinery/autolathe/New()
|
||||||
..()
|
..()
|
||||||
// screwdriver removed
|
src.L = autolathe_recipes
|
||||||
src.L += new /obj/item/weapon/wirecutters(src)
|
src.LL = autolathe_recipes_hidden
|
||||||
src.L += new /obj/item/weapon/wrench(src)
|
|
||||||
src.L += new /obj/item/weapon/crowbar(src)
|
|
||||||
src.L += new /obj/item/weapon/weldingtool(src)
|
|
||||||
src.L += new /obj/item/clothing/head/helmet/welding(src)
|
|
||||||
src.L += new /obj/item/device/multitool(src)
|
|
||||||
src.L += new /obj/item/weapon/airlock_electronics(src)
|
|
||||||
src.L += new /obj/item/device/flashlight(src)
|
|
||||||
src.L += new /obj/item/weapon/extinguisher(src)
|
|
||||||
src.L += new /obj/item/weapon/sheet/metal(src)
|
|
||||||
src.L += new /obj/item/weapon/sheet/glass(src)
|
|
||||||
src.L += new /obj/item/weapon/sheet/r_metal(src)
|
|
||||||
src.L += new /obj/item/weapon/sheet/rglass(src)
|
|
||||||
src.L += new /obj/item/weapon/rods(src)
|
|
||||||
src.L += new /obj/item/weapon/rcd_ammo(src)
|
|
||||||
src.L += new /obj/item/weapon/scalpel(src)
|
|
||||||
src.L += new /obj/item/weapon/circular_saw(src)
|
|
||||||
src.L += new /obj/item/device/t_scanner(src)
|
|
||||||
src.L += new /obj/item/weapon/reagent_containers/glass/bucket(src)
|
|
||||||
src.L += new /obj/item/weapon/ammo/shell/blank(src)
|
|
||||||
src.L += new /obj/item/device/taperecorder(src)
|
|
||||||
src.LL += new /obj/item/weapon/flamethrower(src)
|
|
||||||
src.LL += new /obj/item/device/igniter(src)
|
|
||||||
src.LL += new /obj/item/device/timer(src)
|
|
||||||
src.LL += new /obj/item/weapon/rcd(src)
|
|
||||||
src.LL += new /obj/item/device/infra(src)
|
|
||||||
src.LL += new /obj/item/device/infra_sensor(src)
|
|
||||||
src.LL += new /obj/item/weapon/handcuffs(src)
|
|
||||||
src.LL += new /obj/item/weapon/ammo/a357(src)
|
|
||||||
src.LL += new /obj/item/weapon/ammo/shell/gauge(src)
|
|
||||||
src.LL += new /obj/item/weapon/ammo/a38(src)
|
|
||||||
src.LL += new /obj/item/weapon/ammo/shell/beanbag(src)
|
|
||||||
src.LL += new /obj/item/weapon/ammo/shell/dart(src)
|
|
||||||
// src.LL += new /obj/item/weapon/shield/riot(src)
|
|
||||||
src.wires["Light Red"] = 0
|
src.wires["Light Red"] = 0
|
||||||
src.wires["Dark Red"] = 0
|
src.wires["Dark Red"] = 0
|
||||||
src.wires["Blue"] = 0
|
src.wires["Blue"] = 0
|
||||||
|
|||||||
@@ -74,21 +74,14 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/bot/floorbot/attackby(var/obj/item/weapon/W , mob/user as mob)
|
/obj/machinery/bot/floorbot/attackby(var/obj/item/W , mob/user as mob)
|
||||||
if(istype(W, /obj/item/weapon/tile))
|
if(istype(W, /obj/item/stack/tile))
|
||||||
var/obj/item/weapon/tile/T = W
|
var/obj/item/stack/tile/T = W
|
||||||
if(src.amount >= 50)
|
if(src.amount >= 50)
|
||||||
return
|
return
|
||||||
var/loaded = 0
|
var/loaded = min(50-src.amount, T.amount)
|
||||||
if(src.amount + T.amount > 50)
|
T.use(loaded)
|
||||||
var/i = 50 - src.amount
|
src.amount += loaded
|
||||||
src.amount += i
|
|
||||||
T.amount -= i
|
|
||||||
loaded = i
|
|
||||||
else
|
|
||||||
src.amount += T.amount
|
|
||||||
loaded = T.amount
|
|
||||||
del(T)
|
|
||||||
user << "\red You load [loaded] tiles into the floorbot. He now contains [src.amount] tiles!"
|
user << "\red You load [loaded] tiles into the floorbot. He now contains [src.amount] tiles!"
|
||||||
src.updateicon()
|
src.updateicon()
|
||||||
if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
|
if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
|
||||||
@@ -162,7 +155,7 @@
|
|||||||
floorbottargets += bot.target
|
floorbottargets += bot.target
|
||||||
if(src.amount <= 0 && ((src.target == null) || !src.target))
|
if(src.amount <= 0 && ((src.target == null) || !src.target))
|
||||||
if(src.eattiles)
|
if(src.eattiles)
|
||||||
for(var/obj/item/weapon/tile/T in view(7, src))
|
for(var/obj/item/stack/tile/T in view(7, src))
|
||||||
if(T != src.oldtarget && !(target in floorbottargets))
|
if(T != src.oldtarget && !(target in floorbottargets))
|
||||||
src.oldtarget = T
|
src.oldtarget = T
|
||||||
src.target = T
|
src.target = T
|
||||||
@@ -170,7 +163,7 @@
|
|||||||
if(src.target == null || !src.target)
|
if(src.target == null || !src.target)
|
||||||
if(src.maketiles)
|
if(src.maketiles)
|
||||||
if(src.target == null || !src.target)
|
if(src.target == null || !src.target)
|
||||||
for(var/obj/item/weapon/sheet/metal/M in view(7, src))
|
for(var/obj/item/stack/sheet/metal/M in view(7, src))
|
||||||
if(!(M in floorbottargets) && M != src.oldtarget && M.amount == 1 && !(istype(M.loc, /turf/simulated/wall)))
|
if(!(M in floorbottargets) && M != src.oldtarget && M.amount == 1 && !(istype(M.loc, /turf/simulated/wall)))
|
||||||
src.oldtarget = M
|
src.oldtarget = M
|
||||||
src.target = M
|
src.target = M
|
||||||
@@ -208,7 +201,7 @@
|
|||||||
src.target = F
|
src.target = F
|
||||||
break
|
break
|
||||||
if((!src.target || src.target == null) && src.eattiles)
|
if((!src.target || src.target == null) && src.eattiles)
|
||||||
for(var/obj/item/weapon/tile/T in view(7, src))
|
for(var/obj/item/stack/tile/T in view(7, src))
|
||||||
if(!(T in floorbottargets) && T != src.oldtarget)
|
if(!(T in floorbottargets) && T != src.oldtarget)
|
||||||
src.oldtarget = T
|
src.oldtarget = T
|
||||||
src.target = T
|
src.target = T
|
||||||
@@ -238,9 +231,9 @@
|
|||||||
src.path = new()
|
src.path = new()
|
||||||
|
|
||||||
if(src.loc == src.target || src.loc == src.target.loc)
|
if(src.loc == src.target || src.loc == src.target.loc)
|
||||||
if(istype(src.target, /obj/item/weapon/tile))
|
if(istype(src.target, /obj/item/stack/tile))
|
||||||
src.eattile(src.target)
|
src.eattile(src.target)
|
||||||
else if(istype(src.target, /obj/item/weapon/sheet/metal))
|
else if(istype(src.target, /obj/item/stack/sheet/metal))
|
||||||
src.maketile(src.target)
|
src.maketile(src.target)
|
||||||
else if(istype(src.target, /turf/))
|
else if(istype(src.target, /turf/))
|
||||||
repair(src.target)
|
repair(src.target)
|
||||||
@@ -263,7 +256,7 @@
|
|||||||
if(istype(target, /turf/space/))
|
if(istype(target, /turf/space/))
|
||||||
for(var/mob/O in viewers(src, null))
|
for(var/mob/O in viewers(src, null))
|
||||||
O.show_message(text("\red [src] begins to repair the hole"), 1)
|
O.show_message(text("\red [src] begins to repair the hole"), 1)
|
||||||
var/obj/item/weapon/tile/T = new /obj/item/weapon/tile
|
var/obj/item/stack/tile/T = new /obj/item/stack/tile
|
||||||
src.repairing = 1
|
src.repairing = 1
|
||||||
spawn(50)
|
spawn(50)
|
||||||
T.build(src.loc)
|
T.build(src.loc)
|
||||||
@@ -284,8 +277,8 @@
|
|||||||
src.anchored = 0
|
src.anchored = 0
|
||||||
src.target = null
|
src.target = null
|
||||||
|
|
||||||
/obj/machinery/bot/floorbot/proc/eattile(var/obj/item/weapon/tile/T)
|
/obj/machinery/bot/floorbot/proc/eattile(var/obj/item/stack/tile/T)
|
||||||
if(!istype(T, /obj/item/weapon/tile))
|
if(!istype(T, /obj/item/stack/tile))
|
||||||
return
|
return
|
||||||
for(var/mob/O in viewers(src, null))
|
for(var/mob/O in viewers(src, null))
|
||||||
O.show_message(text("\red [src] begins to collect tiles."), 1)
|
O.show_message(text("\red [src] begins to collect tiles."), 1)
|
||||||
@@ -306,8 +299,8 @@
|
|||||||
src.target = null
|
src.target = null
|
||||||
src.repairing = 0
|
src.repairing = 0
|
||||||
|
|
||||||
/obj/machinery/bot/floorbot/proc/maketile(var/obj/item/weapon/sheet/metal/M)
|
/obj/machinery/bot/floorbot/proc/maketile(var/obj/item/stack/sheet/metal/M)
|
||||||
if(!istype(M, /obj/item/weapon/sheet/metal))
|
if(!istype(M, /obj/item/stack/sheet/metal))
|
||||||
return
|
return
|
||||||
if(M.amount > 1)
|
if(M.amount > 1)
|
||||||
return
|
return
|
||||||
@@ -319,7 +312,7 @@
|
|||||||
src.target = null
|
src.target = null
|
||||||
src.repairing = 0
|
src.repairing = 0
|
||||||
return
|
return
|
||||||
var/obj/item/weapon/tile/T = new /obj/item/weapon/tile
|
var/obj/item/stack/tile/T = new /obj/item/stack/tile
|
||||||
T.amount = 4
|
T.amount = 4
|
||||||
T.loc = M.loc
|
T.loc = M.loc
|
||||||
del(M)
|
del(M)
|
||||||
@@ -334,8 +327,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/storage/toolbox/mechanical/attackby(var/obj/item/weapon/tile/T, mob/user as mob)
|
/obj/item/weapon/storage/toolbox/mechanical/attackby(var/obj/item/stack/tile/T, mob/user as mob)
|
||||||
if(!istype(T, /obj/item/weapon/tile))
|
if(!istype(T, /obj/item/stack/tile))
|
||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
if(src.contents.len >= 1)
|
if(src.contents.len >= 1)
|
||||||
|
|||||||
@@ -38,13 +38,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if(charging)
|
if(charging)
|
||||||
charging.loc = usr
|
usr.put_in_hand(charging)
|
||||||
charging.layer = 20
|
|
||||||
if (user.hand )
|
|
||||||
user.l_hand = charging
|
|
||||||
else
|
|
||||||
user.r_hand = charging
|
|
||||||
|
|
||||||
charging.add_fingerprint(user)
|
charging.add_fingerprint(user)
|
||||||
charging.updateicon()
|
charging.updateicon()
|
||||||
|
|
||||||
@@ -53,6 +47,9 @@
|
|||||||
chargelevel = -1
|
chargelevel = -1
|
||||||
updateicon()
|
updateicon()
|
||||||
|
|
||||||
|
/obj/machinery/cell_charger/attack_ai(mob/user)
|
||||||
|
return
|
||||||
|
|
||||||
/obj/machinery/cell_charger/process()
|
/obj/machinery/cell_charger/process()
|
||||||
//world << "ccpt [charging] [stat]"
|
//world << "ccpt [charging] [stat]"
|
||||||
if(!charging || (stat & (BROKEN|NOPOWER)) )
|
if(!charging || (stat & (BROKEN|NOPOWER)) )
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
var/obj/item/brain/brain = null
|
var/obj/item/brain/brain = null
|
||||||
|
|
||||||
|
|
||||||
/obj/AIcore/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
/obj/AIcore/attackby(obj/item/P as obj, mob/user as mob)
|
||||||
switch(state)
|
switch(state)
|
||||||
if(0)
|
if(0)
|
||||||
if(istype(P, /obj/item/weapon/wrench))
|
if(istype(P, /obj/item/weapon/wrench))
|
||||||
@@ -23,8 +23,7 @@
|
|||||||
playsound(src.loc, 'Welder.ogg', 50, 1)
|
playsound(src.loc, 'Welder.ogg', 50, 1)
|
||||||
if(do_after(user, 20))
|
if(do_after(user, 20))
|
||||||
user << "\blue You deconstruct the frame."
|
user << "\blue You deconstruct the frame."
|
||||||
var/obj/item/weapon/sheet/r_metal/A = new /obj/item/weapon/sheet/r_metal( src.loc )
|
new /obj/item/stack/sheet/r_metal( src.loc, 4)
|
||||||
A.amount = 4
|
|
||||||
del(src)
|
del(src)
|
||||||
if(1)
|
if(1)
|
||||||
if(istype(P, /obj/item/weapon/wrench))
|
if(istype(P, /obj/item/weapon/wrench))
|
||||||
@@ -79,7 +78,7 @@
|
|||||||
var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
|
var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
|
||||||
A.amount = 5
|
A.amount = 5
|
||||||
|
|
||||||
if(istype(P, /obj/item/weapon/sheet/rglass))
|
if(istype(P, /obj/item/stack/sheet/rglass))
|
||||||
if(P:amount >= 2)
|
if(P:amount >= 2)
|
||||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||||
if(do_after(user, 20))
|
if(do_after(user, 20))
|
||||||
@@ -129,8 +128,7 @@
|
|||||||
src.icon_state = "3b"
|
src.icon_state = "3b"
|
||||||
else
|
else
|
||||||
src.icon_state = "3"
|
src.icon_state = "3"
|
||||||
var/obj/item/weapon/sheet/rglass/A = new /obj/item/weapon/sheet/rglass( src.loc )
|
new /obj/item/stack/sheet/rglass( src.loc, 2 )
|
||||||
A.amount = 2
|
|
||||||
if(istype(P, /obj/item/weapon/screwdriver))
|
if(istype(P, /obj/item/weapon/screwdriver))
|
||||||
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
||||||
user << "\blue You connect the monitor."
|
user << "\blue You connect the monitor."
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/computerframe/attackby(obj/item/weapon/P as obj, mob/user as mob)
|
/obj/computerframe/attackby(obj/item/P as obj, mob/user as mob)
|
||||||
switch(state)
|
switch(state)
|
||||||
if(0)
|
if(0)
|
||||||
if(istype(P, /obj/item/weapon/wrench))
|
if(istype(P, /obj/item/weapon/wrench))
|
||||||
@@ -118,8 +118,7 @@
|
|||||||
playsound(src.loc, 'Welder.ogg', 50, 1)
|
playsound(src.loc, 'Welder.ogg', 50, 1)
|
||||||
if(do_after(user, 20))
|
if(do_after(user, 20))
|
||||||
user << "\blue You deconstruct the frame."
|
user << "\blue You deconstruct the frame."
|
||||||
var/obj/item/weapon/sheet/metal/A = new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc, 5 )
|
||||||
A.amount = 5
|
|
||||||
del(src)
|
del(src)
|
||||||
if(1)
|
if(1)
|
||||||
if(istype(P, /obj/item/weapon/wrench))
|
if(istype(P, /obj/item/weapon/wrench))
|
||||||
@@ -171,24 +170,21 @@
|
|||||||
var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
|
var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc )
|
||||||
A.amount = 5
|
A.amount = 5
|
||||||
|
|
||||||
if(istype(P, /obj/item/weapon/sheet/glass))
|
if(istype(P, /obj/item/stack/sheet/glass))
|
||||||
if(P:amount >= 2)
|
if(P:amount >= 2)
|
||||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||||
if(do_after(user, 20))
|
if(do_after(user, 20))
|
||||||
if(P)
|
P:use(2)
|
||||||
P:amount -= 2
|
user << "\blue You put in the glass panel."
|
||||||
if(!P:amount) del(P)
|
src.state = 4
|
||||||
user << "\blue You put in the glass panel."
|
src.icon_state = "4"
|
||||||
src.state = 4
|
|
||||||
src.icon_state = "4"
|
|
||||||
if(4)
|
if(4)
|
||||||
if(istype(P, /obj/item/weapon/crowbar))
|
if(istype(P, /obj/item/weapon/crowbar))
|
||||||
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
||||||
user << "\blue You remove the glass panel."
|
user << "\blue You remove the glass panel."
|
||||||
src.state = 3
|
src.state = 3
|
||||||
src.icon_state = "3"
|
src.icon_state = "3"
|
||||||
var/obj/item/weapon/sheet/glass/A = new /obj/item/weapon/sheet/glass( src.loc )
|
new /obj/item/stack/sheet/glass( src.loc, 2 )
|
||||||
A.amount = 2
|
|
||||||
if(istype(P, /obj/item/weapon/screwdriver))
|
if(istype(P, /obj/item/weapon/screwdriver))
|
||||||
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
||||||
user << "\blue You connect the monitor."
|
user << "\blue You connect the monitor."
|
||||||
|
|||||||
@@ -172,12 +172,12 @@
|
|||||||
|
|
||||||
/datum/recipe/humankabob
|
/datum/recipe/humankabob
|
||||||
humanmeat_amount = 2
|
humanmeat_amount = 2
|
||||||
extra_item = /obj/item/weapon/rods
|
extra_item = /obj/item/stack/rods
|
||||||
creates = "/obj/item/weapon/reagent_containers/food/snacks/humankabob"
|
creates = "/obj/item/weapon/reagent_containers/food/snacks/humankabob"
|
||||||
|
|
||||||
/datum/recipe/monkeykabob
|
/datum/recipe/monkeykabob
|
||||||
monkeymeat_amount = 2
|
monkeymeat_amount = 2
|
||||||
extra_item = /obj/item/weapon/rods
|
extra_item = /obj/item/stack/rods
|
||||||
creates = "/obj/item/weapon/reagent_containers/food/snacks/monkeykabob"
|
creates = "/obj/item/weapon/reagent_containers/food/snacks/monkeykabob"
|
||||||
|
|
||||||
/datum/recipe/tofubread
|
/datum/recipe/tofubread
|
||||||
|
|||||||
@@ -92,7 +92,7 @@
|
|||||||
if(istype(O,/obj/item/weapon/rcd))
|
if(istype(O,/obj/item/weapon/rcd))
|
||||||
if(O:matter < 30)
|
if(O:matter < 30)
|
||||||
O:matter += 1
|
O:matter += 1
|
||||||
if(istype(O,/obj/item/weapon/sheet/metal) || istype(O,/obj/item/weapon/sheet/rglass) || istype(O,/obj/item/weapon/cable_coil))
|
if(istype(O,/obj/item/stack/sheet/metal) || istype(O,/obj/item/stack/sheet/rglass) || istype(O,/obj/item/weapon/cable_coil))
|
||||||
if(O:amount < 50)
|
if(O:amount < 50)
|
||||||
O:amount += 1
|
O:amount += 1
|
||||||
// Security
|
// Security
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
var/operating = 0
|
var/operating = 0
|
||||||
var/obj/item/robot_parts/being_built = null
|
var/obj/item/robot_parts/being_built = null
|
||||||
|
|
||||||
/obj/machinery/robotic_fabricator/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
|
/obj/machinery/robotic_fabricator/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||||
if (istype(O, /obj/item/weapon/sheet/metal))
|
if (istype(O, /obj/item/stack/sheet/metal))
|
||||||
if (src.metal_amount < 150000.0)
|
if (src.metal_amount < 150000.0)
|
||||||
var/count = 0
|
var/count = 0
|
||||||
spawn(15)
|
spawn(15)
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
if(!O:amount)
|
if(!O:amount)
|
||||||
return
|
return
|
||||||
while(metal_amount < 150000 && O:amount)
|
while(metal_amount < 150000 && O:amount)
|
||||||
src.metal_amount += O:height * O:width * O:length * 100000.0
|
src.metal_amount += O:m_amt /*O:height * O:width * O:length * 100000.0*/
|
||||||
O:amount--
|
O:amount--
|
||||||
count++
|
count++
|
||||||
|
|
||||||
|
|||||||
@@ -216,7 +216,6 @@
|
|||||||
if(src.active >= 1)
|
if(src.active >= 1)
|
||||||
src.active = 0
|
src.active = 0
|
||||||
icon_state = "Shield_Gen"
|
icon_state = "Shield_Gen"
|
||||||
user << "You "
|
|
||||||
|
|
||||||
user.visible_message("[user] turned the shield generator off.", \
|
user.visible_message("[user] turned the shield generator off.", \
|
||||||
"You turn off the shield generator.", \
|
"You turn off the shield generator.", \
|
||||||
|
|||||||
@@ -32,13 +32,14 @@ However people seem to like it for some reason.
|
|||||||
anchored = !anchored
|
anchored = !anchored
|
||||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||||
if(anchored)
|
if(anchored)
|
||||||
user.visible_message("[user.name] secure [src.name] to the floor.", \
|
user.visible_message("[user.name] secures [src.name] to the floor.", \
|
||||||
"You secure the [src.name] to the floor.", \
|
"You secure the [src.name] to the floor.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
else
|
else
|
||||||
user.visible_message("[user.name] unsecure [src.name] from the floor.", \
|
user.visible_message("[user.name] unsecures [src.name] from the floor.", \
|
||||||
"You unsecure the [src.name] to the floor.", \
|
"You unsecure the [src.name] from the floor.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
|
return
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/proc/singularity_is_surrounded(turf/T)
|
/proc/singularity_is_surrounded(turf/T)
|
||||||
@@ -139,7 +140,7 @@ However people seem to like it for some reason.
|
|||||||
|
|
||||||
/obj/machinery/the_singularity/proc/notify_collector_controller()
|
/obj/machinery/the_singularity/proc/notify_collector_controller()
|
||||||
var/oldsrc = src
|
var/oldsrc = src
|
||||||
src = 0 //for spawn() working even after Del(), see byond documentation about sleep() -rastaf0
|
src = null //for spawn() working even after Del(), see byond documentation about sleep() -rastaf0
|
||||||
for(var/obj/machinery/power/collector_control/myCC in orange(collector_control_range,oldsrc))
|
for(var/obj/machinery/power/collector_control/myCC in orange(collector_control_range,oldsrc))
|
||||||
spawn() myCC.updatecons()
|
spawn() myCC.updatecons()
|
||||||
|
|
||||||
@@ -212,9 +213,6 @@ However people seem to like it for some reason.
|
|||||||
gain = 2
|
gain = 2
|
||||||
|
|
||||||
else if(isturf(A))
|
else if(isturf(A))
|
||||||
if(istype(A, /turf/space))
|
|
||||||
world << "DEBUG: the_singularity tryes to eat space!!!11"
|
|
||||||
return
|
|
||||||
/*if(!active)
|
/*if(!active)
|
||||||
if(isturf(A,/turf/simulated/floor/engine)) //here was a bug. But now it's a feature. -rasta0
|
if(isturf(A,/turf/simulated/floor/engine)) //here was a bug. But now it's a feature. -rasta0
|
||||||
return*/
|
return*/
|
||||||
@@ -299,19 +297,13 @@ However people seem to like it for some reason.
|
|||||||
if (istype(X,/turf/simulated/floor) && !istype(X,/turf/simulated/floor/plating))
|
if (istype(X,/turf/simulated/floor) && !istype(X,/turf/simulated/floor/plating))
|
||||||
if(!X:broken)
|
if(!X:broken)
|
||||||
if(prob(80))
|
if(prob(80))
|
||||||
new/obj/item/weapon/tile (X)
|
new/obj/item/stack/tile (X)
|
||||||
X:break_tile_to_plating()
|
X:break_tile_to_plating()
|
||||||
else
|
else
|
||||||
|
|
||||||
X:break_tile()
|
X:break_tile()
|
||||||
else if(istype(X,/turf/simulated/wall))
|
else if(istype(X,/turf/simulated/wall))
|
||||||
if (istype(X,/turf/simulated/wall/r_wall))
|
X:dismantle_wall()
|
||||||
new /obj/structure/girder/reinforced( X )
|
|
||||||
new /obj/item/weapon/sheet/r_metal( X )
|
|
||||||
else
|
|
||||||
new /obj/structure/girder( X )
|
|
||||||
new /obj/item/weapon/sheet/metal( X )
|
|
||||||
X:ReplaceWithFloor()
|
|
||||||
else
|
else
|
||||||
X:ReplaceWithFloor()
|
X:ReplaceWithFloor()
|
||||||
|
|
||||||
@@ -662,16 +654,16 @@ However people seem to like it for some reason.
|
|||||||
else if(state == 0)
|
else if(state == 0)
|
||||||
state = 1
|
state = 1
|
||||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||||
user.visible_message("[user.name] secure [src.name] to the floor.", \
|
user.visible_message("[user.name] secures [src.name] to the floor.", \
|
||||||
"You secure the external reinforcing bolts to the floor.", \
|
"You secure the external reinforcing bolts.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
src.anchored = 1
|
src.anchored = 1
|
||||||
|
|
||||||
else if(state == 1)
|
else if(state == 1)
|
||||||
state = 0
|
state = 0
|
||||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||||
user.visible_message("[user.name] unsecure [src.name] to the floor.", \
|
user.visible_message("[user.name] unsecures [src.name] to the floor.", \
|
||||||
"You undo the external reinforcing bolts to the floor.", \
|
"You undo the external reinforcing bolts.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
src.anchored = 0
|
src.anchored = 0
|
||||||
else
|
else
|
||||||
@@ -691,7 +683,7 @@ However people seem to like it for some reason.
|
|||||||
playsound(src.loc, 'Welder2.ogg', 50, 1)
|
playsound(src.loc, 'Welder2.ogg', 50, 1)
|
||||||
|
|
||||||
if(state == 1)
|
if(state == 1)
|
||||||
user.visible_message("[user.name] start to weld [src.name] to the floor.", \
|
user.visible_message("[user.name] starts to weld [src.name] to the floor.", \
|
||||||
"You start to weld the [src] to the floor.", \
|
"You start to weld the [src] to the floor.", \
|
||||||
"You hear welding")
|
"You hear welding")
|
||||||
if (do_after(user,20))
|
if (do_after(user,20))
|
||||||
@@ -701,7 +693,7 @@ However people seem to like it for some reason.
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
else if(state == 3)
|
else if(state == 3)
|
||||||
user.visible_message("[user.name] start to cut [src.name] to the floor.", \
|
user.visible_message("[user.name] starts to cut [src.name] from the floor.", \
|
||||||
"You start to cut the [src] free from the floor.", \
|
"You start to cut the [src] free from the floor.", \
|
||||||
"You hear welding")
|
"You hear welding")
|
||||||
if (do_after(user,20))
|
if (do_after(user,20))
|
||||||
@@ -818,11 +810,11 @@ However people seem to like it for some reason.
|
|||||||
src.active = !src.active
|
src.active = !src.active
|
||||||
if(src.active)
|
if(src.active)
|
||||||
updateicon_on()
|
updateicon_on()
|
||||||
user.visible_message("[user.name] turn on the collector array.", \
|
user.visible_message("[user.name] turns on the collector array.", \
|
||||||
"You turn on the collector array.")
|
"You turn on the collector array.")
|
||||||
else
|
else
|
||||||
updateicon_off()
|
updateicon_off()
|
||||||
user.visible_message("[user.name] turn off the collector array.", \
|
user.visible_message("[user.name] turns off the collector array.", \
|
||||||
"You turn off the collector array.")
|
"You turn off the collector array.")
|
||||||
CU.updatecons()
|
CU.updatecons()
|
||||||
|
|
||||||
@@ -858,11 +850,11 @@ However people seem to like it for some reason.
|
|||||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||||
src.anchored = !src.anchored
|
src.anchored = !src.anchored
|
||||||
if(src.anchored == 1)
|
if(src.anchored == 1)
|
||||||
user.visible_message("[user.name] secure [src.name] reinforcing bolts to the floor.", \
|
user.visible_message("[user.name] secures [src.name] reinforcing bolts to the floor.", \
|
||||||
"You secure the collector reinforcing bolts to the floor.", \
|
"You secure the collector reinforcing bolts.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
else
|
else
|
||||||
user.visible_message("[user.name] unsecure [src.name] reinforcing bolts to the floor.", \
|
user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
|
||||||
"You undo the external reinforcing bolts.", \
|
"You undo the external reinforcing bolts.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
for(var/obj/machinery/power/collector_control/myCC in orange(1,src))
|
for(var/obj/machinery/power/collector_control/myCC in orange(1,src))
|
||||||
@@ -1042,12 +1034,12 @@ However people seem to like it for some reason.
|
|||||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||||
src.anchored = !src.anchored
|
src.anchored = !src.anchored
|
||||||
if(src.anchored == 1)
|
if(src.anchored == 1)
|
||||||
user.visible_message("[user.name] secure [src.name] to the floor.", \
|
user.visible_message("[user.name] secures [src.name] to the floor.", \
|
||||||
"You secure the [src.name] to the floor.", \
|
"You secure the [src.name] to the floor.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
connect_to_network()
|
connect_to_network()
|
||||||
else
|
else
|
||||||
user.visible_message("[user.name] unsecure [src.name] to the floor.", \
|
user.visible_message("[user.name] unsecures [src.name] to the floor.", \
|
||||||
"You undo the [src] securing bolts.", \
|
"You undo the [src] securing bolts.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
disconnect_from_network()
|
disconnect_from_network()
|
||||||
@@ -1122,11 +1114,11 @@ However people seem to like it for some reason.
|
|||||||
if(src.active >= 1)
|
if(src.active >= 1)
|
||||||
// src.active = 0
|
// src.active = 0
|
||||||
// icon_state = "Field_Gen"
|
// icon_state = "Field_Gen"
|
||||||
user << "You are unable to turn off the [src]r, wait till it powers down."
|
user << "You are unable to turn off the [src], wait till it powers down."
|
||||||
// src.cleanup()
|
// src.cleanup()
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
user.visible_message("[user.name] turn on [src.name]", \
|
user.visible_message("[user.name] turns on [src.name]", \
|
||||||
"You turn on the [src].", \
|
"You turn on the [src].", \
|
||||||
"You hear heavy droning")
|
"You hear heavy droning")
|
||||||
turn_on()
|
turn_on()
|
||||||
@@ -1221,7 +1213,7 @@ However people seem to like it for some reason.
|
|||||||
if(state == 0)
|
if(state == 0)
|
||||||
state = 1
|
state = 1
|
||||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||||
user.visible_message("[user.name] secure [src.name] to the floor.", \
|
user.visible_message("[user.name] secures [src.name] to the floor.", \
|
||||||
"You secure the external reinforcing bolts to the floor.", \
|
"You secure the external reinforcing bolts to the floor.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
src.anchored = 1
|
src.anchored = 1
|
||||||
@@ -1229,7 +1221,7 @@ However people seem to like it for some reason.
|
|||||||
else if(state == 1)
|
else if(state == 1)
|
||||||
state = 0
|
state = 0
|
||||||
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
playsound(src.loc, 'Ratchet.ogg', 75, 1)
|
||||||
user.visible_message("[user.name] unsecure [src.name] reinforcing bolts to the floor.", \
|
user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
|
||||||
"You undo the external reinforcing bolts.", \
|
"You undo the external reinforcing bolts.", \
|
||||||
"You hear ratchet")
|
"You hear ratchet")
|
||||||
src.anchored = 0
|
src.anchored = 0
|
||||||
@@ -1246,7 +1238,7 @@ However people seem to like it for some reason.
|
|||||||
playsound(src.loc, 'Welder2.ogg', 50, 1)
|
playsound(src.loc, 'Welder2.ogg', 50, 1)
|
||||||
|
|
||||||
if(state == 1)
|
if(state == 1)
|
||||||
user.visible_message("[user.name] start to weld [src.name] to the floor.", \
|
user.visible_message("[user.name] starts to weld [src.name] to the floor.", \
|
||||||
"You start to weld the [src] to the floor.", \
|
"You start to weld the [src] to the floor.", \
|
||||||
"You hear welding")
|
"You hear welding")
|
||||||
if (do_after(user,20))
|
if (do_after(user,20))
|
||||||
@@ -1256,7 +1248,7 @@ However people seem to like it for some reason.
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
else if(state == 3)
|
else if(state == 3)
|
||||||
user.visible_message("[user.name] start to cut [src.name] free from the floor.", \
|
user.visible_message("[user.name] starts to cut [src.name] free from the floor.", \
|
||||||
"You start to cut the [src] free from the floor.", \
|
"You start to cut the [src] free from the floor.", \
|
||||||
"You hear welding")
|
"You hear welding")
|
||||||
if (do_after(user,20))
|
if (do_after(user,20))
|
||||||
|
|||||||
@@ -144,7 +144,7 @@
|
|||||||
user << "\blue You need more welding fuel to complete this task."
|
user << "\blue You need more welding fuel to complete this task."
|
||||||
return
|
return
|
||||||
W:use_fuel(1)
|
W:use_fuel(1)
|
||||||
new /obj/item/weapon/sheet/metal(src.loc)
|
new /obj/item/stack/sheet/metal(src.loc)
|
||||||
for (var/mob/M in viewers(src))
|
for (var/mob/M in viewers(src))
|
||||||
M.show_message("\red [src] has been cut apart by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2)
|
M.show_message("\red [src] has been cut apart by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2)
|
||||||
del(src)
|
del(src)
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ obj/door_assembly
|
|||||||
state = 1
|
state = 1
|
||||||
glass = 1
|
glass = 1
|
||||||
|
|
||||||
/obj/door_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/door_assembly/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
if(istype(W, /obj/item/weapon/weldingtool) && W:welding && !anchored )
|
if(istype(W, /obj/item/weapon/weldingtool) && W:welding && !anchored )
|
||||||
if (W:get_fuel() < 1)
|
if (W:get_fuel() < 1)
|
||||||
user << "\blue You need more welding fuel to dissassemble the airlock assembly."
|
user << "\blue You need more welding fuel to dissassemble the airlock assembly."
|
||||||
@@ -94,12 +94,9 @@ obj/door_assembly
|
|||||||
sleep(40)
|
sleep(40)
|
||||||
if(get_turf(user) == T)
|
if(get_turf(user) == T)
|
||||||
user << "\blue You dissasembled the airlock assembly!"
|
user << "\blue You dissasembled the airlock assembly!"
|
||||||
new /obj/item/weapon/sheet/metal(get_turf(src))
|
new /obj/item/stack/sheet/metal(get_turf(src), 4)
|
||||||
new /obj/item/weapon/sheet/metal(get_turf(src))
|
|
||||||
new /obj/item/weapon/sheet/metal(get_turf(src))
|
|
||||||
new /obj/item/weapon/sheet/metal(get_turf(src))
|
|
||||||
if(src.glass==1)
|
if(src.glass==1)
|
||||||
new /obj/item/weapon/sheet/rglass(get_turf(src))
|
new /obj/item/stack/sheet/rglass(get_turf(src))
|
||||||
del(src)
|
del(src)
|
||||||
else if(istype(W, /obj/item/weapon/wrench) && !anchored )
|
else if(istype(W, /obj/item/weapon/wrench) && !anchored )
|
||||||
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
||||||
@@ -207,7 +204,7 @@ obj/door_assembly
|
|||||||
ae = electronics
|
ae = electronics
|
||||||
electronics = null
|
electronics = null
|
||||||
ae.loc = src.loc
|
ae.loc = src.loc
|
||||||
else if(istype(W, /obj/item/weapon/sheet/rglass) && glass == 0)
|
else if(istype(W, /obj/item/stack/sheet/rglass) && glass == 0)
|
||||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||||
var/turf/T = get_turf(user)
|
var/turf/T = get_turf(user)
|
||||||
user.visible_message("[user] adds reinforced glass windows to the airlock assembly.", "You start to install reinforced glass windows into the airlock assembly.")
|
user.visible_message("[user] adds reinforced glass windows to the airlock assembly.", "You start to install reinforced glass windows into the airlock assembly.")
|
||||||
|
|||||||
@@ -131,11 +131,11 @@
|
|||||||
src.icon_state = "brokengrille"
|
src.icon_state = "brokengrille"
|
||||||
src.density = 0
|
src.density = 0
|
||||||
src.destroyed = 1
|
src.destroyed = 1
|
||||||
new /obj/item/weapon/rods( src.loc )
|
new /obj/item/stack/rods( src.loc )
|
||||||
|
|
||||||
else
|
else
|
||||||
if (src.health <= -10.0)
|
if (src.health <= -10.0)
|
||||||
new /obj/item/weapon/rods( src.loc )
|
new /obj/item/stack/rods( src.loc )
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
/obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/apc_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if (istype(W, /obj/item/weapon/wrench))
|
if (istype(W, /obj/item/weapon/wrench))
|
||||||
var/obj/item/weapon/sheet/metal/M = new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc, 2 )
|
||||||
M.amount = 2
|
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
/obj/item/apc_frame/proc/try_build(turf/on_wall)
|
/obj/item/apc_frame/proc/try_build(turf/on_wall)
|
||||||
|
|||||||
@@ -71,18 +71,13 @@
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
/obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob)
|
/obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
if(istype(W, /obj/item/weapon/sheet/metal))
|
if(istype(W, /obj/item/stack/sheet/metal))
|
||||||
var/obj/item/weapon/ed209_assembly/B = new /obj/item/weapon/ed209_assembly
|
var/obj/item/weapon/ed209_assembly/B = new /obj/item/weapon/ed209_assembly
|
||||||
B.loc = user
|
|
||||||
if (user.r_hand == W)
|
|
||||||
user.u_equip(W)
|
|
||||||
user.r_hand = B
|
|
||||||
else
|
|
||||||
user.u_equip(W)
|
|
||||||
user.l_hand = B
|
|
||||||
B.layer = 20
|
|
||||||
user << "You armed the robot frame"
|
user << "You armed the robot frame"
|
||||||
del(W)
|
W:use(1)
|
||||||
|
if (user.get_inactive_hand()==src)
|
||||||
|
user.before_take_item(src)
|
||||||
|
user.put_in_inactive_hand(B)
|
||||||
del(src)
|
del(src)
|
||||||
if(istype(W, /obj/item/robot_parts/l_leg))
|
if(istype(W, /obj/item/robot_parts/l_leg))
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ GETLINEEEEEEEEEEEEEEEEEEEEE
|
|||||||
var/lit = 0 //on or off
|
var/lit = 0 //on or off
|
||||||
var/turf/previousturf = null
|
var/turf/previousturf = null
|
||||||
var/obj/item/weapon/weldingtool/part1 = null
|
var/obj/item/weapon/weldingtool/part1 = null
|
||||||
var/obj/item/weapon/rods/part2 = null
|
var/obj/item/stack/rods/part2 = null
|
||||||
var/obj/item/device/igniter/part3 = null
|
var/obj/item/device/igniter/part3 = null
|
||||||
var/obj/item/weapon/tank/plasma/part4 = null
|
var/obj/item/weapon/tank/plasma/part4 = null
|
||||||
m_amt = 500
|
m_amt = 500
|
||||||
@@ -155,7 +155,7 @@ GETLINEEEEEEEEEEEEEEEEEEEEE
|
|||||||
if(isturf(location)) //start a fire if possible
|
if(isturf(location)) //start a fire if possible
|
||||||
location.hotspot_expose(700, 2)
|
location.hotspot_expose(700, 2)
|
||||||
|
|
||||||
/obj/item/weapon/flamethrower/attackby(obj/item/weapon/tank/plasma/W as obj, mob/user as mob)
|
/obj/item/weapon/flamethrower/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
if(user.stat || user.restrained() || user.lying)
|
if(user.stat || user.restrained() || user.lying)
|
||||||
return
|
return
|
||||||
if (istype(W,/obj/item/weapon/tank/plasma))
|
if (istype(W,/obj/item/weapon/tank/plasma))
|
||||||
|
|||||||
@@ -1,278 +0,0 @@
|
|||||||
/*
|
|
||||||
CONTAINS:
|
|
||||||
GLASS SHEET
|
|
||||||
REINFORCED GLASS SHEET
|
|
||||||
SHARDS
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/glass/attack_hand(mob/user as mob)
|
|
||||||
if ((user.r_hand == src || user.l_hand == src))
|
|
||||||
src.add_fingerprint(user)
|
|
||||||
var/obj/item/weapon/sheet/glass/F = new /obj/item/weapon/sheet/glass( user )
|
|
||||||
F.amount = 1
|
|
||||||
src.amount--
|
|
||||||
if (user.hand)
|
|
||||||
user.l_hand = F
|
|
||||||
else
|
|
||||||
user.r_hand = F
|
|
||||||
F.layer = 20
|
|
||||||
F.add_fingerprint(user)
|
|
||||||
if (src.amount < 1)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
..()
|
|
||||||
src.force = 5
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/glass/attackby(obj/item/weapon/W, mob/user)
|
|
||||||
if ( istype(W, /obj/item/weapon/sheet/glass) )
|
|
||||||
var/obj/item/weapon/sheet/glass/G = W
|
|
||||||
if (G.amount >= MAX_STACK_AMOUNT_GLASS)
|
|
||||||
return
|
|
||||||
if (G.amount + src.amount > MAX_STACK_AMOUNT_GLASS)
|
|
||||||
src.amount = G.amount + src.amount - MAX_STACK_AMOUNT_GLASS
|
|
||||||
G.amount = MAX_STACK_AMOUNT_GLASS
|
|
||||||
else
|
|
||||||
G.amount += src.amount
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
else if( istype(W, /obj/item/weapon/rods) )
|
|
||||||
|
|
||||||
var/obj/item/weapon/rods/V = W
|
|
||||||
var/obj/item/weapon/sheet/rglass/R = new /obj/item/weapon/sheet/rglass(user.loc)
|
|
||||||
R.loc = user.loc
|
|
||||||
R.add_fingerprint(user)
|
|
||||||
|
|
||||||
|
|
||||||
if(V.amount == 1)
|
|
||||||
|
|
||||||
if(user.client)
|
|
||||||
user.client.screen -= V
|
|
||||||
|
|
||||||
user.u_equip(W)
|
|
||||||
del(W)
|
|
||||||
else
|
|
||||||
V.amount--
|
|
||||||
|
|
||||||
|
|
||||||
if(src.amount == 1)
|
|
||||||
|
|
||||||
if(user.client)
|
|
||||||
user.client.screen -= src
|
|
||||||
|
|
||||||
user.u_equip(src)
|
|
||||||
del(src)
|
|
||||||
else
|
|
||||||
src.amount--
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/glass/examine()
|
|
||||||
set src in view(1)
|
|
||||||
|
|
||||||
..()
|
|
||||||
usr << text("There are [] glass sheet\s on the stack.", src.amount)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/glass/attack_self(mob/user as mob)
|
|
||||||
|
|
||||||
if (!( istype(usr.loc, /turf/simulated) ))
|
|
||||||
return
|
|
||||||
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
|
|
||||||
usr << "\red You don't have the dexterity to do this!"
|
|
||||||
return
|
|
||||||
switch(alert("Sheet-Glass", "Would you like full tile glass or one direction?", "one direct", "full (2 sheets)", "cancel", null))
|
|
||||||
if("one direct")
|
|
||||||
var/go = 1
|
|
||||||
for (var/obj/window/win in usr.loc)
|
|
||||||
if(win.ini_dir == NORTHWEST || win.ini_dir == NORTHEAST || win.ini_dir == SOUTHWEST || win.ini_dir == SOUTHEAST)
|
|
||||||
go = 0
|
|
||||||
if(go)
|
|
||||||
var/obj/window/W = new /obj/window( usr.loc )
|
|
||||||
W.anchored = 0
|
|
||||||
if (src.amount < 1)
|
|
||||||
return
|
|
||||||
src.amount--
|
|
||||||
else usr << "Can't let you do that."
|
|
||||||
if("full (2 sheets)")
|
|
||||||
var/go = 1
|
|
||||||
for (var/obj/window/win in usr.loc)
|
|
||||||
if(win)
|
|
||||||
go = 0
|
|
||||||
if (go)
|
|
||||||
if (src.amount < 2)
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
var/obj/window/W = new /obj/window( usr.loc )
|
|
||||||
W.dir = SOUTHWEST
|
|
||||||
W.ini_dir = SOUTHWEST
|
|
||||||
W.anchored = 0
|
|
||||||
else usr << "Can't let you do that."
|
|
||||||
else
|
|
||||||
if (src.amount <= 0)
|
|
||||||
user.u_equip(src)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// REINFORCED GLASS
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/rglass/attack_hand(mob/user as mob)
|
|
||||||
if ((user.r_hand == src || user.l_hand == src))
|
|
||||||
src.add_fingerprint(user)
|
|
||||||
var/obj/item/weapon/sheet/rglass/F = new /obj/item/weapon/sheet/rglass( user )
|
|
||||||
F.amount = 1
|
|
||||||
src.amount--
|
|
||||||
if (user.hand)
|
|
||||||
user.l_hand = F
|
|
||||||
else
|
|
||||||
user.r_hand = F
|
|
||||||
F.layer = 20
|
|
||||||
F.add_fingerprint(user)
|
|
||||||
if (src.amount < 1)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
..()
|
|
||||||
src.force = 5
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/rglass/attackby(obj/item/weapon/sheet/rglass/W as obj, mob/user as mob)
|
|
||||||
if (!( istype(W, /obj/item/weapon/sheet/rglass) ))
|
|
||||||
return
|
|
||||||
if (W.amount >= MAX_STACK_AMOUNT_GLASS)
|
|
||||||
return
|
|
||||||
if (W.amount + src.amount > MAX_STACK_AMOUNT_GLASS)
|
|
||||||
src.amount = W.amount + src.amount - MAX_STACK_AMOUNT_GLASS
|
|
||||||
W.amount = MAX_STACK_AMOUNT_GLASS
|
|
||||||
else
|
|
||||||
W.amount += src.amount
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/rglass/examine()
|
|
||||||
set src in view(1)
|
|
||||||
|
|
||||||
..()
|
|
||||||
usr << text("There are [] reinforced glass sheet\s on the stack.", src.amount)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/rglass/attack_self(mob/user as mob)
|
|
||||||
if (!istype(usr.loc, /turf/simulated))
|
|
||||||
return
|
|
||||||
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
|
|
||||||
usr << "\red You don't have the dexterity to do this!"
|
|
||||||
return
|
|
||||||
switch(alert("Sheet Reinf. Glass", "Would you like full tile glass or one direction?", "one direct", "full (2 sheets)", "cancel", null))
|
|
||||||
if("one direct")
|
|
||||||
var/go = 1
|
|
||||||
for (var/obj/window/win in usr.loc)
|
|
||||||
if(win.ini_dir == NORTHWEST || win.ini_dir == NORTHEAST || win.ini_dir == SOUTHWEST || win.ini_dir == SOUTHEAST)
|
|
||||||
go = 0
|
|
||||||
if(go)
|
|
||||||
var/obj/window/W = new /obj/window( usr.loc, 1 )
|
|
||||||
W.anchored = 0
|
|
||||||
W.state = 0
|
|
||||||
if (src.amount < 1)
|
|
||||||
return
|
|
||||||
src.amount--
|
|
||||||
else usr << "Can't let you do that."
|
|
||||||
if("full (2 sheets)")
|
|
||||||
var/go = 1
|
|
||||||
for (var/obj/window/win in usr.loc)
|
|
||||||
if(win)
|
|
||||||
go = 0
|
|
||||||
if(go)
|
|
||||||
if (src.amount < 2)
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
var/obj/window/W = new /obj/window( usr.loc, 1 )
|
|
||||||
W.dir = SOUTHWEST
|
|
||||||
W.ini_dir = SOUTHWEST
|
|
||||||
W.anchored = 0
|
|
||||||
W.state = 0
|
|
||||||
else usr << "Can't let you do that."
|
|
||||||
else
|
|
||||||
if (src.amount <= 0)
|
|
||||||
user.u_equip(src)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// SHARDS
|
|
||||||
|
|
||||||
/obj/item/weapon/shard/Bump()
|
|
||||||
|
|
||||||
spawn( 0 )
|
|
||||||
if (prob(20))
|
|
||||||
src.force = 15
|
|
||||||
else
|
|
||||||
src.force = 4
|
|
||||||
..()
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/shard/New()
|
|
||||||
|
|
||||||
//****RM
|
|
||||||
//world<<"New shard at [x],[y],[z]"
|
|
||||||
|
|
||||||
src.icon_state = pick("large", "medium", "small")
|
|
||||||
switch(src.icon_state)
|
|
||||||
if("small")
|
|
||||||
src.pixel_x = rand(1, 18)
|
|
||||||
src.pixel_y = rand(1, 18)
|
|
||||||
if("medium")
|
|
||||||
src.pixel_x = rand(1, 16)
|
|
||||||
src.pixel_y = rand(1, 16)
|
|
||||||
if("large")
|
|
||||||
src.pixel_x = rand(1, 10)
|
|
||||||
src.pixel_y = rand(1, 5)
|
|
||||||
else
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
||||||
..()
|
|
||||||
if (!( istype(W, /obj/item/weapon/weldingtool) && W:welding ))
|
|
||||||
return
|
|
||||||
W:eyecheck(user)
|
|
||||||
new /obj/item/weapon/sheet/glass( user.loc )
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/shard/HasEntered(AM as mob|obj)
|
|
||||||
if(ismob(AM))
|
|
||||||
var/mob/M = AM
|
|
||||||
M << "\red <B>You step in the broken glass!</B>"
|
|
||||||
playsound(src.loc, 'glass_step.ogg', 50, 1)
|
|
||||||
if(ishuman(M))
|
|
||||||
var/mob/living/carbon/human/H = M
|
|
||||||
if(!H.shoes)
|
|
||||||
var/datum/organ/external/affecting = H.organs[pick("l_foot", "r_foot")]
|
|
||||||
H.weakened = max(3, H.weakened)
|
|
||||||
affecting.take_damage(5, 0)
|
|
||||||
H.UpdateDamageIcon()
|
|
||||||
H.updatehealth()
|
|
||||||
..()
|
|
||||||
@@ -1,466 +0,0 @@
|
|||||||
/*
|
|
||||||
CONTAINS:
|
|
||||||
RODS
|
|
||||||
METAL
|
|
||||||
REINFORCED METAL
|
|
||||||
LATTICE
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// RODS
|
|
||||||
|
|
||||||
/obj/item/weapon/rods/examine()
|
|
||||||
set src in view(1)
|
|
||||||
|
|
||||||
..()
|
|
||||||
usr << text("There are [] rod\s left on the stack.", src.amount)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/rods/attack_hand(mob/user as mob)
|
|
||||||
if ((user.r_hand == src || user.l_hand == src))
|
|
||||||
src.add_fingerprint(user)
|
|
||||||
var/obj/item/weapon/rods/F = new /obj/item/weapon/rods( user )
|
|
||||||
F.amount = 1
|
|
||||||
src.amount--
|
|
||||||
if (user.hand)
|
|
||||||
user.l_hand = F
|
|
||||||
else
|
|
||||||
user.r_hand = F
|
|
||||||
F.layer = 20
|
|
||||||
F.add_fingerprint(user)
|
|
||||||
if (src.amount < 1)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
..()
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/rods/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
||||||
if (istype(W, /obj/item/weapon/weldingtool) && W:welding)
|
|
||||||
if(amount < 2)
|
|
||||||
user << "\blue You need at least two rods to do this."
|
|
||||||
return
|
|
||||||
if (W:get_fuel() < 2)
|
|
||||||
user << "\blue You need more welding fuel to complete this task."
|
|
||||||
return
|
|
||||||
W:eyecheck(user)
|
|
||||||
W:use_fuel(2)
|
|
||||||
new /obj/item/weapon/sheet/metal(usr.loc)
|
|
||||||
for (var/mob/M in viewers(src))
|
|
||||||
M.show_message("\red [src] is shaped into metal by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2)
|
|
||||||
|
|
||||||
amount -= 2
|
|
||||||
if(amount == 0)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
if (istype(W, /obj/item/weapon/rods))
|
|
||||||
if (W:amount == MAX_STACK_AMOUNT_RODS)
|
|
||||||
return
|
|
||||||
if (W:amount + src:amount > MAX_STACK_AMOUNT_RODS)
|
|
||||||
src.amount = W:amount + src:amount - MAX_STACK_AMOUNT_RODS
|
|
||||||
W:amount = MAX_STACK_AMOUNT_RODS
|
|
||||||
else
|
|
||||||
W:amount += src:amount
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/rods/attack_self(mob/user as mob)
|
|
||||||
if (locate(/obj/grille, usr.loc))
|
|
||||||
for(var/obj/grille/G in usr.loc)
|
|
||||||
if (G.destroyed)
|
|
||||||
G.health = 10
|
|
||||||
G.density = 1
|
|
||||||
G.destroyed = 0
|
|
||||||
G.icon_state = "grille"
|
|
||||||
src.amount--
|
|
||||||
else
|
|
||||||
else
|
|
||||||
if (src.amount < 2)
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
new /obj/grille( usr.loc )
|
|
||||||
if (src.amount < 1)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
src.add_fingerprint(user)
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// METAL SHEET
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/metal/examine()
|
|
||||||
set src in view(1)
|
|
||||||
|
|
||||||
..()
|
|
||||||
usr << text("There are [] metal sheet\s on the stack.", src.amount)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/metal/attack_hand(mob/user as mob)
|
|
||||||
if ((user.r_hand == src || user.l_hand == src))
|
|
||||||
src.add_fingerprint(user)
|
|
||||||
var/obj/item/weapon/sheet/metal/F = new /obj/item/weapon/sheet/metal( user )
|
|
||||||
F.amount = 1
|
|
||||||
src.amount--
|
|
||||||
if (user.hand)
|
|
||||||
user.l_hand = F
|
|
||||||
else
|
|
||||||
user.r_hand = F
|
|
||||||
F.layer = 20
|
|
||||||
F.add_fingerprint(user)
|
|
||||||
if (src.amount < 1)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
..()
|
|
||||||
src.force = 5
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/metal/attackby(obj/item/weapon/sheet/metal/W as obj, mob/user as mob)
|
|
||||||
if (!( istype(W, /obj/item/weapon/sheet/metal) ))
|
|
||||||
return
|
|
||||||
if (W.amount >= MAX_STACK_AMOUNT_METAL)
|
|
||||||
return
|
|
||||||
if (W.amount + src.amount > MAX_STACK_AMOUNT_METAL)
|
|
||||||
src.amount = W.amount + src.amount - MAX_STACK_AMOUNT_METAL
|
|
||||||
W.amount = MAX_STACK_AMOUNT_METAL
|
|
||||||
else
|
|
||||||
W.amount += src.amount
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/metal/attack_self(mob/user as mob)
|
|
||||||
var/t1 = text("<HTML><HEAD></HEAD><TT>Amount Left: [] <BR>", src.amount)
|
|
||||||
var/list/L = list( )
|
|
||||||
L["stool"] = "stool"
|
|
||||||
L["chair"] = "chair"
|
|
||||||
L["bed"] = "bed (2 metal)<BR>"
|
|
||||||
L["table"] = "table parts (2 metal)"
|
|
||||||
L["rack"] = "rack parts<BR>"
|
|
||||||
L["aircan"] = "air canister (2 metal)"
|
|
||||||
L["o2can"] = "oxygen canister (2 metal)"
|
|
||||||
L["carboncan"] = "co2 canister (2 metal)"
|
|
||||||
L["plcan"] = "plasma canister (2 metal)"
|
|
||||||
L["n2can"] = "n2 canister (2 metal)"
|
|
||||||
L["n2ocan"] = "n2o canister (2 metal)"
|
|
||||||
L["closet"] = "closet (2 metal)<BR>"
|
|
||||||
L["fl_tiles"] = "4x floor tiles"
|
|
||||||
L["rods"] = "2x metal rods"
|
|
||||||
L["casing"] = "grenade casing (1 metal)"
|
|
||||||
L["reinforced"] = "reinforced sheet (2 metal)<BR>"
|
|
||||||
L["computer"] = "computer frame (5 metal)<BR>"
|
|
||||||
L["construct"] = "construct wall girders (2 metal)"
|
|
||||||
L["airlock"] = "construct airlock assembly (4 metal)"
|
|
||||||
L["apc_frame"] = "construct apc frame (2 metal)"
|
|
||||||
|
|
||||||
for(var/t in L)
|
|
||||||
t1 += text("<A href='?src=\ref[];make=[]'>[]</A> ", src, t, L[t])
|
|
||||||
t1 += "<BR>"
|
|
||||||
t1 += "</TT></HTML>"
|
|
||||||
user << browse(t1, "window=met_sheet")
|
|
||||||
onclose(user, "met_sheet")
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/metal/Topic(href, href_list)
|
|
||||||
..()
|
|
||||||
if ((usr.restrained() || usr.stat || usr.equipped() != src))
|
|
||||||
return
|
|
||||||
if (href_list["make"])
|
|
||||||
if (src.amount < 1)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
switch(href_list["make"])
|
|
||||||
if("rods")
|
|
||||||
src.amount--
|
|
||||||
var/obj/item/weapon/rods/R = new /obj/item/weapon/rods( usr.loc )
|
|
||||||
R.amount = 2
|
|
||||||
if("table")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the table parts!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
new /obj/item/weapon/table_parts( usr.loc )
|
|
||||||
if("stool")
|
|
||||||
src.amount--
|
|
||||||
new /obj/stool( usr.loc )
|
|
||||||
if("chair")
|
|
||||||
src.amount--
|
|
||||||
var/obj/stool/chair/C = new /obj/stool/chair( usr.loc )
|
|
||||||
C.dir = usr.dir
|
|
||||||
if (C.dir == NORTH)
|
|
||||||
C.layer = 5
|
|
||||||
if("rack")
|
|
||||||
src.amount--
|
|
||||||
new /obj/item/weapon/rack_parts( usr.loc )
|
|
||||||
|
|
||||||
if("aircan")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the canister!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
var/obj/machinery/portable_atmospherics/canister/C = new /obj/machinery/portable_atmospherics/canister(usr.loc)
|
|
||||||
C.color = "grey"
|
|
||||||
C.icon_state = "grey"
|
|
||||||
|
|
||||||
if("o2can")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the canister!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
|
|
||||||
var/obj/machinery/portable_atmospherics/canister/C = new /obj/machinery/portable_atmospherics/canister(usr.loc)
|
|
||||||
C.color = "blue"
|
|
||||||
C.icon_state = "blue"
|
|
||||||
|
|
||||||
if("carboncan")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the canister!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
|
|
||||||
var/obj/machinery/portable_atmospherics/canister/C = new /obj/machinery/portable_atmospherics/canister(usr.loc)
|
|
||||||
C.color = "black"
|
|
||||||
C.icon_state = "black"
|
|
||||||
|
|
||||||
if("plcan")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the canister!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
|
|
||||||
var/obj/machinery/portable_atmospherics/canister/C = new /obj/machinery/portable_atmospherics/canister(usr.loc)
|
|
||||||
C.color = "orange"
|
|
||||||
C.icon_state = "orange"
|
|
||||||
|
|
||||||
if("n2can")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the canister!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
var/obj/machinery/portable_atmospherics/canister/C = new /obj/machinery/portable_atmospherics/canister(usr.loc)
|
|
||||||
C.color = "red"
|
|
||||||
C.icon_state = "red"
|
|
||||||
if("n2ocan")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the canister!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
var/obj/machinery/portable_atmospherics/canister/C = new /obj/machinery/portable_atmospherics/canister(usr.loc)
|
|
||||||
C.color = "redws"
|
|
||||||
C.icon_state = "redws"
|
|
||||||
|
|
||||||
if("reinforced")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the reinforced sheet!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
var/obj/item/weapon/sheet/r_metal/C = new /obj/item/weapon/sheet/r_metal( usr.loc )
|
|
||||||
C.amount = 1
|
|
||||||
|
|
||||||
if("casing")
|
|
||||||
if (src.amount < 1) //Not possible!
|
|
||||||
usr << text("\red You haven't got enough metal to create the grenade casing!")
|
|
||||||
return
|
|
||||||
src.amount--
|
|
||||||
new /obj/item/weapon/chem_grenade( usr.loc )
|
|
||||||
|
|
||||||
if("closet")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the reinforced closet!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
new /obj/closet( usr.loc )
|
|
||||||
if("fl_tiles")
|
|
||||||
src.amount--
|
|
||||||
var/obj/item/weapon/tile/R = new /obj/item/weapon/tile( usr.loc )
|
|
||||||
R.amount = 4
|
|
||||||
if("bed")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the bed!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
new /obj/stool/bed( usr.loc )
|
|
||||||
if("computer")
|
|
||||||
if(src.amount < 5)
|
|
||||||
usr << text("\red You haven't got enough metal to build the computer frame!")
|
|
||||||
return
|
|
||||||
src.amount -= 5
|
|
||||||
new /obj/computerframe( usr.loc )
|
|
||||||
if("construct")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to construct the wall girders!")
|
|
||||||
return
|
|
||||||
usr << "\blue Building wall girders ..."
|
|
||||||
var/turf/location = usr.loc
|
|
||||||
sleep(50)
|
|
||||||
if ((usr.loc == location))
|
|
||||||
if (!istype(location, /turf/simulated/floor))
|
|
||||||
return
|
|
||||||
|
|
||||||
src.amount -= 2
|
|
||||||
new /obj/structure/girder(location)
|
|
||||||
if("airlock")
|
|
||||||
if (src.amount < 4)
|
|
||||||
usr << text("\red You haven't got enough metal to construct the airlock assembly!")
|
|
||||||
return
|
|
||||||
usr << "\blue Building airlock assembly ..."
|
|
||||||
var/turf/location = usr.loc
|
|
||||||
sleep(50)
|
|
||||||
if ((usr.loc == location))
|
|
||||||
if (!istype(location, /turf/simulated/floor))
|
|
||||||
return
|
|
||||||
src.amount -= 4
|
|
||||||
new /obj/door_assembly(location)
|
|
||||||
if("apc_frame")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the APC frame!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
new /obj/item/apc_frame(usr.loc)
|
|
||||||
|
|
||||||
if (src.amount <= 0)
|
|
||||||
usr << browse(null, "window=met_sheet")
|
|
||||||
onclose(usr, "met_sheet")
|
|
||||||
usr.u_equip(src)
|
|
||||||
del(src)
|
|
||||||
|
|
||||||
|
|
||||||
return
|
|
||||||
spawn( 0 )
|
|
||||||
src.attack_self(usr)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// REINFORCED METAL SHEET
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/r_metal/attackby(obj/item/weapon/sheet/r_metal/W as obj, mob/user as mob)
|
|
||||||
if (!( istype(W, /obj/item/weapon/sheet/r_metal) ))
|
|
||||||
return
|
|
||||||
if (W.amount >= MAX_STACK_AMOUNT_METAL)
|
|
||||||
return
|
|
||||||
if (W.amount + src.amount > MAX_STACK_AMOUNT_METAL)
|
|
||||||
src.amount = W.amount + src.amount - MAX_STACK_AMOUNT_METAL
|
|
||||||
W.amount = MAX_STACK_AMOUNT_METAL
|
|
||||||
else
|
|
||||||
W.amount += src.amount
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/r_metal/attack_self(mob/user as mob)
|
|
||||||
var/t1 = text("<HTML><HEAD></HEAD><TT>Amount Left: [] <BR>", src.amount)
|
|
||||||
var/list/L = list( )
|
|
||||||
L["table"] = "table parts (2 metal)"
|
|
||||||
L["metal"] = "2x metal sheet (1 metal)<BR>"
|
|
||||||
L["core"] = "AI core (4 metal)"
|
|
||||||
for(var/t in L)
|
|
||||||
t1 += text("<A href='?src=\ref[];make=[]'>[]</A> ", src, t, L[t])
|
|
||||||
t1 += "<BR>"
|
|
||||||
t1 += "</TT></HTML>"
|
|
||||||
user << browse(t1, "window=met_sheet")
|
|
||||||
onclose(user, "met_sheet")
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/sheet/r_metal/Topic(href, href_list)
|
|
||||||
..()
|
|
||||||
if ((usr.restrained() || usr.stat || usr.equipped() != src))
|
|
||||||
return
|
|
||||||
if (href_list["make"])
|
|
||||||
if (src.amount < 1)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
switch(href_list["make"])
|
|
||||||
if("table")
|
|
||||||
if (src.amount < 2)
|
|
||||||
usr << text("\red You haven't got enough metal to build the reinforced table parts!")
|
|
||||||
return
|
|
||||||
src.amount -= 2
|
|
||||||
new /obj/item/weapon/table_parts/reinforced( usr.loc )
|
|
||||||
if("metal")
|
|
||||||
if (src.amount < 1)
|
|
||||||
usr << text("\red You haven't got enough metal to build the metal sheets!")
|
|
||||||
return
|
|
||||||
src.amount -= 1
|
|
||||||
var/obj/item/weapon/sheet/metal/C = new /obj/item/weapon/sheet/metal( usr.loc )
|
|
||||||
C.amount = 2
|
|
||||||
if("core")
|
|
||||||
if (src.amount < 4)
|
|
||||||
usr << text("\red You haven't got enough metal to build the metal sheets!")
|
|
||||||
return
|
|
||||||
src.amount -= 4
|
|
||||||
new /obj/AIcore( usr.loc )
|
|
||||||
|
|
||||||
|
|
||||||
if (src.amount <= 0)
|
|
||||||
usr << browse(null, "window=met_sheet")
|
|
||||||
onclose(usr, "met_sheet")
|
|
||||||
usr.u_equip(src)
|
|
||||||
del(src)
|
|
||||||
|
|
||||||
|
|
||||||
return
|
|
||||||
spawn( 0 )
|
|
||||||
src.attack_self(usr)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// LATTICE????
|
|
||||||
|
|
||||||
|
|
||||||
/obj/lattice/blob_act()
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/lattice/ex_act(severity)
|
|
||||||
switch(severity)
|
|
||||||
if(1.0)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
if(2.0)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
if(3.0)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/lattice/attackby(obj/item/weapon/C as obj, mob/user as mob)
|
|
||||||
|
|
||||||
if (istype(C, /obj/item/weapon/tile))
|
|
||||||
|
|
||||||
C:build(get_turf(src))
|
|
||||||
C:amount--
|
|
||||||
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
|
||||||
C.add_fingerprint(user)
|
|
||||||
|
|
||||||
if (C:amount < 1)
|
|
||||||
user.u_equip(C)
|
|
||||||
del(C)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
if (istype(C, /obj/item/weapon/weldingtool) && C:welding)
|
|
||||||
user << "\blue Slicing lattice joints ..."
|
|
||||||
C:eyecheck(user)
|
|
||||||
new /obj/item/weapon/rods(src.loc)
|
|
||||||
del(src)
|
|
||||||
|
|
||||||
return
|
|
||||||
@@ -11,7 +11,7 @@ RACK PARTS
|
|||||||
|
|
||||||
/obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/weapon/table_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if (istype(W, /obj/item/weapon/wrench))
|
if (istype(W, /obj/item/weapon/wrench))
|
||||||
new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc )
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ RACK PARTS
|
|||||||
// REINFORCED TABLE PARTS
|
// REINFORCED TABLE PARTS
|
||||||
/obj/item/weapon/table_parts/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/weapon/table_parts/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if (istype(W, /obj/item/weapon/wrench))
|
if (istype(W, /obj/item/weapon/wrench))
|
||||||
new /obj/item/weapon/sheet/r_metal( src.loc )
|
new /obj/item/stack/sheet/r_metal( src.loc )
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ RACK PARTS
|
|||||||
// RACK PARTS
|
// RACK PARTS
|
||||||
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if (istype(W, /obj/item/weapon/wrench))
|
if (istype(W, /obj/item/weapon/wrench))
|
||||||
new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc )
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -26,86 +26,3 @@ TILES
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// TILES
|
|
||||||
|
|
||||||
/obj/item/weapon/tile/New()
|
|
||||||
|
|
||||||
src.pixel_x = rand(1, 14)
|
|
||||||
src.pixel_y = rand(1, 14)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/tile/examine()
|
|
||||||
set src in view(1)
|
|
||||||
|
|
||||||
..()
|
|
||||||
usr << text("There are [] tile\s left on the stack.", src.amount)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/tile/attack_hand(mob/user as mob)
|
|
||||||
|
|
||||||
if ((user.r_hand == src || user.l_hand == src))
|
|
||||||
src.add_fingerprint(user)
|
|
||||||
var/obj/item/weapon/tile/F = new /obj/item/weapon/tile( user )
|
|
||||||
F.amount = 1
|
|
||||||
src.amount--
|
|
||||||
if (user.hand)
|
|
||||||
user.l_hand = F
|
|
||||||
else
|
|
||||||
user.r_hand = F
|
|
||||||
F.layer = 20
|
|
||||||
F.add_fingerprint(user)
|
|
||||||
if (src.amount < 1)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
else
|
|
||||||
..()
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/tile/attack_self(mob/user as mob)
|
|
||||||
|
|
||||||
if (usr.stat)
|
|
||||||
return
|
|
||||||
var/T = user.loc
|
|
||||||
if (!( istype(T, /turf) ))
|
|
||||||
user << "\blue You must be on the ground!"
|
|
||||||
return
|
|
||||||
else
|
|
||||||
var/S = T
|
|
||||||
if (!( istype(S, /turf/space) ))
|
|
||||||
user << "You cannot build on or repair this turf!"
|
|
||||||
return
|
|
||||||
else
|
|
||||||
src.build(S)
|
|
||||||
src.amount--
|
|
||||||
if (src.amount < 1)
|
|
||||||
user.u_equip(src)
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
src.add_fingerprint(user)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/tile/attackby(obj/item/weapon/tile/W as obj, mob/user as mob)
|
|
||||||
|
|
||||||
if (!( istype(W, /obj/item/weapon/tile) ))
|
|
||||||
return
|
|
||||||
if (W.amount == 10)
|
|
||||||
return
|
|
||||||
W.add_fingerprint(user)
|
|
||||||
if (W.amount + src.amount > 10)
|
|
||||||
src.amount = W.amount + src.amount - 10
|
|
||||||
W.amount = 10
|
|
||||||
else
|
|
||||||
W.amount += src.amount
|
|
||||||
//SN src = null
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/item/weapon/tile/proc/build(turf/S as turf)
|
|
||||||
|
|
||||||
var/turf/simulated/floor/W = S.ReplaceWithFloor()
|
|
||||||
W.to_plating()
|
|
||||||
return
|
|
||||||
@@ -88,15 +88,17 @@ WELDINGTOOOL
|
|||||||
usr << text("\icon[] [] contains [] units of fuel left!", src, src.name, get_fuel() )
|
usr << text("\icon[] [] contains [] units of fuel left!", src, src.name, get_fuel() )
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/weldingtool/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
if (status == 0 && istype(W,/obj/item/weapon/screwdriver))
|
if (istype(W,/obj/item/weapon/screwdriver))
|
||||||
status = 1
|
status = !status
|
||||||
user << "\blue The welder can now be attached and modified."
|
if (status)
|
||||||
else if (status == 1 && istype(W,/obj/item/weapon/rods))
|
user << "\blue You resecure the welder."
|
||||||
var/obj/item/weapon/rods/R = W
|
else
|
||||||
R.amount = R.amount - 1
|
user << "\blue The welder can now be attached and modified."
|
||||||
if (R.amount == 0)
|
src.add_fingerprint(user)
|
||||||
del(R)
|
else if (status == 1 && istype(W,/obj/item/stack/rods))
|
||||||
|
var/obj/item/stack/rods/R = W
|
||||||
|
R.use(1)
|
||||||
var/obj/item/assembly/weld_rod/F = new /obj/item/assembly/weld_rod( user )
|
var/obj/item/assembly/weld_rod/F = new /obj/item/assembly/weld_rod( user )
|
||||||
src.loc = F
|
src.loc = F
|
||||||
F.part1 = src
|
F.part1 = src
|
||||||
@@ -120,10 +122,8 @@ WELDINGTOOOL
|
|||||||
R.layer = 20
|
R.layer = 20
|
||||||
F.loc = user
|
F.loc = user
|
||||||
src.add_fingerprint(user)
|
src.add_fingerprint(user)
|
||||||
else if (status == 1 && istype(W,/obj/item/weapon/screwdriver))
|
else
|
||||||
status = 0
|
..()
|
||||||
user << "\blue You resecure the welder."
|
|
||||||
return
|
|
||||||
|
|
||||||
// helper functions for weldingtool fuel use
|
// helper functions for weldingtool fuel use
|
||||||
|
|
||||||
|
|||||||
137
code/game/objects/stacks/glass.dm
Normal file
137
code/game/objects/stacks/glass.dm
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
/*
|
||||||
|
CONTAINS:
|
||||||
|
GLASS SHEET
|
||||||
|
REINFORCED GLASS SHEET
|
||||||
|
SHARDS
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/proc/construct_window(mob/usr as mob, obj/item/stack/sheet/src as obj)
|
||||||
|
if (!( istype(usr.loc, /turf/simulated) ))
|
||||||
|
return
|
||||||
|
if ( ! (istype(usr, /mob/living/carbon/human) || \
|
||||||
|
istype(usr, /mob/living/silicon) || \
|
||||||
|
istype(usr, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
|
||||||
|
usr << "\red You don't have the dexterity to do this!"
|
||||||
|
return 1
|
||||||
|
var/reinf = istype(src, /obj/item/stack/sheet/rglass)
|
||||||
|
var/title = reinf?"Sheet Reinf. Glass":"Sheet-Glass"
|
||||||
|
title += " ([src.amount] sheet\s left)"
|
||||||
|
switch(alert(title, "Would you like full tile glass or one direction?", "one direct", "full (2 sheets)", "cancel", null))
|
||||||
|
if("one direct")
|
||||||
|
if (src.amount < 1)
|
||||||
|
return 1
|
||||||
|
var/list/directions = new/list(cardinal)
|
||||||
|
for (var/obj/window/win in usr.loc)
|
||||||
|
directions-=win.dir
|
||||||
|
if(!(win.ini_dir in cardinal))
|
||||||
|
usr << "\red Can't let you do that."
|
||||||
|
return 1
|
||||||
|
var/obj/window/W = new /obj/window( usr.loc, reinf )
|
||||||
|
if (directions.len)
|
||||||
|
W.dir = directions[1]
|
||||||
|
W.ini_dir = W.dir
|
||||||
|
W.anchored = 0
|
||||||
|
src.use(1)
|
||||||
|
if("full (2 sheets)")
|
||||||
|
if (src.amount < 2)
|
||||||
|
return 1
|
||||||
|
if (locate(/obj/window) in usr.loc)
|
||||||
|
usr << "\red Can't let you do that."
|
||||||
|
return 1
|
||||||
|
var/obj/window/W = new /obj/window( usr.loc, reinf )
|
||||||
|
W.dir = SOUTHWEST
|
||||||
|
W.ini_dir = SOUTHWEST
|
||||||
|
W.anchored = 0
|
||||||
|
src.use(2)
|
||||||
|
else
|
||||||
|
//do nothing
|
||||||
|
return
|
||||||
|
|
||||||
|
// GLASS
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/glass/attack_self(mob/user as mob)
|
||||||
|
construct_window(usr, src)
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user)
|
||||||
|
if( istype(W, /obj/item/stack/rods) )
|
||||||
|
var/obj/item/stack/rods/V = W
|
||||||
|
var/obj/item/stack/sheet/rglass/RG = new (user.loc)
|
||||||
|
RG.add_fingerprint(user)
|
||||||
|
RG.add_to_stacks(user)
|
||||||
|
V.use(1)
|
||||||
|
var/obj/item/stack/sheet/glass/G = src
|
||||||
|
src = null
|
||||||
|
var/replace = (user.get_inactive_hand()==G)
|
||||||
|
G.use(1)
|
||||||
|
if (!G && !RG && replace)
|
||||||
|
user.put_in_hand(RG)
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
|
||||||
|
// REINFORCED GLASS
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/rglass/attack_self(mob/user as mob)
|
||||||
|
construct_window(usr, src)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// SHARDS
|
||||||
|
|
||||||
|
/obj/item/weapon/shard/Bump()
|
||||||
|
|
||||||
|
spawn( 0 )
|
||||||
|
if (prob(20))
|
||||||
|
src.force = 15
|
||||||
|
else
|
||||||
|
src.force = 4
|
||||||
|
..()
|
||||||
|
return
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/shard/New()
|
||||||
|
|
||||||
|
//****RM
|
||||||
|
//world<<"New shard at [x],[y],[z]"
|
||||||
|
|
||||||
|
src.icon_state = pick("large", "medium", "small")
|
||||||
|
switch(src.icon_state)
|
||||||
|
if("small")
|
||||||
|
src.pixel_x = rand(1, 18)
|
||||||
|
src.pixel_y = rand(1, 18)
|
||||||
|
if("medium")
|
||||||
|
src.pixel_x = rand(1, 16)
|
||||||
|
src.pixel_y = rand(1, 16)
|
||||||
|
if("large")
|
||||||
|
src.pixel_x = rand(1, 10)
|
||||||
|
src.pixel_y = rand(1, 5)
|
||||||
|
else
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
|
if ( istype(W, /obj/item/weapon/weldingtool) && W:welding )
|
||||||
|
W:eyecheck(user)
|
||||||
|
new /obj/item/stack/sheet/glass( user.loc )
|
||||||
|
//SN src = null
|
||||||
|
del(src)
|
||||||
|
return
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/shard/HasEntered(AM as mob|obj)
|
||||||
|
if(ismob(AM))
|
||||||
|
var/mob/M = AM
|
||||||
|
M << "\red <B>You step in the broken glass!</B>"
|
||||||
|
playsound(src.loc, 'glass_step.ogg', 50, 1)
|
||||||
|
if(ishuman(M))
|
||||||
|
var/mob/living/carbon/human/H = M
|
||||||
|
if(!H.shoes)
|
||||||
|
var/datum/organ/external/affecting = H.organs[pick("l_foot", "r_foot")]
|
||||||
|
H.weakened = max(3, H.weakened)
|
||||||
|
affecting.take_damage(5, 0)
|
||||||
|
H.UpdateDamageIcon()
|
||||||
|
H.updatehealth()
|
||||||
|
..()
|
||||||
130
code/game/objects/stacks/metal.dm
Normal file
130
code/game/objects/stacks/metal.dm
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
/*
|
||||||
|
CONTAINS:
|
||||||
|
RODS
|
||||||
|
METAL
|
||||||
|
REINFORCED METAL
|
||||||
|
FLOOR TILES
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// RODS
|
||||||
|
|
||||||
|
/obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
|
if (istype(W, /obj/item/weapon/weldingtool) && W:welding)
|
||||||
|
if(amount < 2)
|
||||||
|
user << "\red You need at least two rods to do this."
|
||||||
|
return
|
||||||
|
if (W:get_fuel() < 3)
|
||||||
|
user << "\red You need more welding fuel to complete this task."
|
||||||
|
return
|
||||||
|
W:eyecheck(user)
|
||||||
|
W:use_fuel(2)
|
||||||
|
var/obj/item/stack/sheet/metal/new_item = new(usr.loc)
|
||||||
|
new_item.add_to_stacks(usr)
|
||||||
|
for (var/mob/M in viewers(src))
|
||||||
|
M.show_message("\red [src] is shaped into metal by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2)
|
||||||
|
var/obj/item/stack/rods/R = src
|
||||||
|
src = null
|
||||||
|
var/replace = (user.get_inactive_hand()==R)
|
||||||
|
R.use(2)
|
||||||
|
if (!R && replace)
|
||||||
|
user.put_in_hand(new_item)
|
||||||
|
return
|
||||||
|
..()
|
||||||
|
|
||||||
|
|
||||||
|
/obj/item/stack/rods/attack_self(mob/user as mob)
|
||||||
|
src.add_fingerprint(user)
|
||||||
|
if (locate(/obj/grille, usr.loc))
|
||||||
|
for(var/obj/grille/G in usr.loc)
|
||||||
|
if (G.destroyed)
|
||||||
|
G.health = 10
|
||||||
|
G.density = 1
|
||||||
|
G.destroyed = 0
|
||||||
|
G.icon_state = "grille"
|
||||||
|
use(1)
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
if(amount < 2)
|
||||||
|
user << "\blue You need at least two rods to do this."
|
||||||
|
return
|
||||||
|
new /obj/grille( usr.loc )
|
||||||
|
use(2)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// METAL SHEET
|
||||||
|
|
||||||
|
// /datum/stack_recipe/New(title, result_type, req_amount, res_amount, max_res_amount, time, one_per_turf, on_floor = 0)
|
||||||
|
var/global/list/datum/stack_recipe/metal_recipes = list ( \
|
||||||
|
new/datum/stack_recipe("stool", /obj/stool), \
|
||||||
|
new/datum/stack_recipe("chair", /obj/stool/chair, one_per_turf = 1), \
|
||||||
|
new/datum/stack_recipe("bed", /obj/stool/bed, 2, one_per_turf = 1), \
|
||||||
|
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \
|
||||||
|
new/datum/stack_recipe("rack parts", /obj/item/weapon/rack_parts), \
|
||||||
|
new/datum/stack_recipe("closet", /obj/closet, 2, one_per_turf = 1), \
|
||||||
|
null, \
|
||||||
|
new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 2, one_per_turf = 1), \
|
||||||
|
null, \
|
||||||
|
new/datum/stack_recipe("floor tile", /obj/item/stack/tile, 1, 4, 10), \
|
||||||
|
new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60), \
|
||||||
|
new/datum/stack_recipe("reinforced sheet", /obj/item/stack/sheet/r_metal, 2, 1, 50), \
|
||||||
|
null, \
|
||||||
|
new/datum/stack_recipe("computer frame", /obj/computerframe, 5, one_per_turf = 1), \
|
||||||
|
new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1), \
|
||||||
|
new/datum/stack_recipe("airlock assembly", /obj/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
|
||||||
|
null, \
|
||||||
|
new/datum/stack_recipe("apc frame", /obj/item/apc_frame, 2), \
|
||||||
|
new/datum/stack_recipe("grenade casing", /obj/item/weapon/chem_grenade), \
|
||||||
|
)
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/metal
|
||||||
|
New(var/loc, var/amount=null)
|
||||||
|
recipes = metal_recipes
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
// REINFORCED METAL SHEET
|
||||||
|
|
||||||
|
// /datum/stack_recipe/New(title, result_type, req_amount, res_amount, max_res_amount, time, one_per_turf, on_floor = 0)
|
||||||
|
var/global/list/datum/stack_recipe/r_metal_recipes = list ( \
|
||||||
|
new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/reinforced, 2), \
|
||||||
|
new/datum/stack_recipe("metal sheet", /obj/item/stack/sheet/metal, 1, 2, 50), \
|
||||||
|
new/datum/stack_recipe("AI core", /obj/AIcore, 4, one_per_turf = 1), \
|
||||||
|
)
|
||||||
|
|
||||||
|
/obj/item/stack/sheet/r_metal
|
||||||
|
New(var/loc, var/amount=null)
|
||||||
|
recipes = r_metal_recipes
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// TILES
|
||||||
|
|
||||||
|
/obj/item/stack/tile/New()
|
||||||
|
src.pixel_x = rand(1, 14)
|
||||||
|
src.pixel_y = rand(1, 14)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/tile/attack_self(mob/user as mob)
|
||||||
|
if (usr.stat)
|
||||||
|
return
|
||||||
|
var/T = user.loc
|
||||||
|
if (!( istype(T, /turf) ))
|
||||||
|
user << "\red You must be on the ground!"
|
||||||
|
return
|
||||||
|
if (!( istype(T, /turf/space) ))
|
||||||
|
user << "\red You cannot build on or repair this turf!"
|
||||||
|
return
|
||||||
|
src.build(T)
|
||||||
|
src.add_fingerprint(user)
|
||||||
|
use(1)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/tile/proc/build(turf/S as turf)
|
||||||
|
var/turf/simulated/floor/W = S.ReplaceWithFloor()
|
||||||
|
W.to_plating()
|
||||||
|
return
|
||||||
203
code/game/objects/stacks/stack.dm
Normal file
203
code/game/objects/stacks/stack.dm
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
/*
|
||||||
|
Base object for stackable items.
|
||||||
|
Stackable items are:
|
||||||
|
metal
|
||||||
|
rmetal
|
||||||
|
glass
|
||||||
|
rglass
|
||||||
|
floor tiles
|
||||||
|
metal rods
|
||||||
|
*/
|
||||||
|
|
||||||
|
/obj/item/stack/New(var/loc, var/amount=null)
|
||||||
|
..()
|
||||||
|
if (amount)
|
||||||
|
src.amount=amount
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/examine()
|
||||||
|
set src in view(1)
|
||||||
|
..()
|
||||||
|
usr << text("There are [] []\s left on the stack.", src.amount, src.singular_name)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/proc/use(var/amount)
|
||||||
|
src.amount-=amount
|
||||||
|
if (src.amount<=0)
|
||||||
|
var/oldsrc = src
|
||||||
|
src = null //dont kill proc after del()
|
||||||
|
usr.before_take_item(oldsrc)
|
||||||
|
del(oldsrc)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
|
||||||
|
var/obj/item/stack/oldsrc = src
|
||||||
|
src = null
|
||||||
|
for (var/obj/item/stack/item in usr.loc)
|
||||||
|
if (item==oldsrc)
|
||||||
|
continue
|
||||||
|
if (!istype(item, oldsrc.type))
|
||||||
|
continue
|
||||||
|
if (item.amount>=item.max_amount)
|
||||||
|
continue
|
||||||
|
oldsrc.attackby(item, usr)
|
||||||
|
usr << "You add new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s."
|
||||||
|
if(!oldsrc)
|
||||||
|
break
|
||||||
|
|
||||||
|
/obj/item/stack/attack_hand(mob/user as mob)
|
||||||
|
if (user.get_inactive_hand() == src)
|
||||||
|
var/obj/item/stack/F = new src.type( user, amount=1)
|
||||||
|
F.copy_evidences(src)
|
||||||
|
user.put_in_hand(F)
|
||||||
|
src.add_fingerprint(user)
|
||||||
|
F.add_fingerprint(user)
|
||||||
|
use(1)
|
||||||
|
if (src && usr.machine==src)
|
||||||
|
spawn(0) src.interact(usr)
|
||||||
|
else
|
||||||
|
..()
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
|
if (istype(W, src.type))
|
||||||
|
var/obj/item/stack/S = W
|
||||||
|
if (S.amount >= max_amount)
|
||||||
|
return 1
|
||||||
|
var/to_transfer as num
|
||||||
|
if (user.get_inactive_hand()==src)
|
||||||
|
to_transfer = 1
|
||||||
|
else
|
||||||
|
to_transfer = min(src.amount, S.max_amount-S.amount)
|
||||||
|
S.amount+=to_transfer
|
||||||
|
src.use(to_transfer)
|
||||||
|
if (src && usr.machine==src)
|
||||||
|
spawn(0) src.interact(usr)
|
||||||
|
if (S && usr.machine==S)
|
||||||
|
spawn(0) S.interact(usr)
|
||||||
|
else return ..()
|
||||||
|
|
||||||
|
/obj/item/stack/proc/copy_evidences(obj/item/stack/from as obj)
|
||||||
|
src.blood_DNA = from.blood_DNA
|
||||||
|
src.blood_type = from.blood_type
|
||||||
|
src.fingerprints = from.fingerprints
|
||||||
|
src.fingerprintshidden = from.fingerprintshidden
|
||||||
|
src.fingerprintslast = from.fingerprintslast
|
||||||
|
|
||||||
|
/datum/stack_recipe
|
||||||
|
var/title = "ERROR"
|
||||||
|
var/result_type
|
||||||
|
var/req_amount = 1
|
||||||
|
var/res_amount = 1
|
||||||
|
var/max_res_amount = 1
|
||||||
|
var/time = 0
|
||||||
|
var/one_per_turf = 0
|
||||||
|
var/on_floor = 0
|
||||||
|
New(title, result_type, req_amount = 1, res_amount = 1, max_res_amount = 1, time = 0, one_per_turf = 0, on_floor = 0)
|
||||||
|
src.title = title
|
||||||
|
src.result_type = result_type
|
||||||
|
src.req_amount = req_amount
|
||||||
|
src.res_amount = res_amount
|
||||||
|
src.max_res_amount = max_res_amount
|
||||||
|
src.time = time
|
||||||
|
src.one_per_turf = one_per_turf
|
||||||
|
src.on_floor = on_floor
|
||||||
|
|
||||||
|
/obj/item/stack
|
||||||
|
var/list/datum/stack_recipe/recipes
|
||||||
|
|
||||||
|
/obj/item/stack/attack_self(mob/user as mob)
|
||||||
|
interact(user)
|
||||||
|
|
||||||
|
/obj/item/stack/proc/interact(mob/user as mob)
|
||||||
|
if (!recipes)
|
||||||
|
return
|
||||||
|
if (!src || amount<=0)
|
||||||
|
user << browse(null, "window=stack")
|
||||||
|
user.machine = src //for correct work of onclose
|
||||||
|
var/t1 = text("<HTML><HEAD><title>Constructions from []</title></HEAD><body><TT>Amount Left: []", src, src.amount)
|
||||||
|
for(var/i=1;i<=recipes.len,i++)
|
||||||
|
var/datum/stack_recipe/R = recipes[i]
|
||||||
|
if (isnull(R))
|
||||||
|
t1 += "<hr>"
|
||||||
|
continue
|
||||||
|
if (i>1 && !isnull(recipes[i-1]))
|
||||||
|
t1+="<br>"
|
||||||
|
var/max_multiplier = round(src.amount / R.req_amount)
|
||||||
|
var/title as text
|
||||||
|
var/can_build = 1
|
||||||
|
can_build = can_build && (max_multiplier>0)
|
||||||
|
if (R.one_per_turf)
|
||||||
|
can_build = can_build && !(locate(R.result_type) in usr.loc)
|
||||||
|
if (R.on_floor)
|
||||||
|
can_build = can_build && istype(usr.loc, /turf/simulated/floor)
|
||||||
|
if (R.res_amount>1)
|
||||||
|
title+= "[R.res_amount]x [R.title]\s"
|
||||||
|
else
|
||||||
|
title+= "[R.title]"
|
||||||
|
title+= " ([R.req_amount] [src.singular_name]\s)"
|
||||||
|
if (can_build)
|
||||||
|
t1 += text("<A href='?src=\ref[];make=[]'>[]</A> ", src, i, title)
|
||||||
|
else
|
||||||
|
t1 += text("[]", title)
|
||||||
|
continue
|
||||||
|
if (R.max_res_amount>1 && max_multiplier>1)
|
||||||
|
var/multiplier = min(max_multiplier, round(R.max_res_amount/R.res_amount))
|
||||||
|
t1 += text(" | <A href='?src=\ref[];make=[];multiplier=[]'>[]x</A> ", src, i, multiplier, multiplier*R.res_amount)
|
||||||
|
t1 += "</TT></body></HTML>"
|
||||||
|
user << browse(t1, "window=stack")
|
||||||
|
onclose(user, "stack")
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/Topic(href, href_list)
|
||||||
|
..()
|
||||||
|
if ((usr.restrained() || usr.stat || usr.equipped() != src))
|
||||||
|
return
|
||||||
|
if (href_list["make"])
|
||||||
|
if (src.amount < 1) del(src) //Never should happen
|
||||||
|
|
||||||
|
var/datum/stack_recipe/R = recipes[text2num(href_list["make"])]
|
||||||
|
var/multiplier = text2num(href_list["multiplier"])
|
||||||
|
if (!multiplier) multiplier = 1
|
||||||
|
if (src.amount < R.req_amount*multiplier)
|
||||||
|
if (R.req_amount*multiplier>1)
|
||||||
|
usr << "\red You haven't got enough [src] to build \the [R.req_amount*multiplier] [R.title]\s!"
|
||||||
|
else
|
||||||
|
usr << "\red You haven't got enough [src] to build \the [R.title]!"
|
||||||
|
return
|
||||||
|
if (R.one_per_turf && (locate(R.result_type) in usr.loc))
|
||||||
|
usr << "\red There is another [R.title] here!"
|
||||||
|
return
|
||||||
|
if (R.on_floor && !istype(usr.loc, /turf/simulated/floor))
|
||||||
|
usr << "\red \The [R.title] must be constructed on the floor!"
|
||||||
|
return
|
||||||
|
if (R.time)
|
||||||
|
usr << "\blue Building [R.title] ..."
|
||||||
|
if (!do_after(usr, R.time))
|
||||||
|
return
|
||||||
|
if (src.amount < R.req_amount*multiplier)
|
||||||
|
return
|
||||||
|
var/O = new R.result_type( usr.loc )
|
||||||
|
if (R.max_res_amount>1)
|
||||||
|
var/obj/item/stack/new_item = O
|
||||||
|
new_item.amount = R.res_amount*multiplier
|
||||||
|
//new_item.add_to_stacks(usr)
|
||||||
|
src.amount-=R.req_amount*multiplier
|
||||||
|
if (src.amount<=0)
|
||||||
|
var/oldsrc = src
|
||||||
|
src = null //dont kill proc after del()
|
||||||
|
usr.before_take_item(oldsrc)
|
||||||
|
del(oldsrc)
|
||||||
|
if (istype(O,/obj/item))
|
||||||
|
usr.put_in_hand(O)
|
||||||
|
if (src && usr.machine==src) //do not reopen closed window
|
||||||
|
spawn( 0 )
|
||||||
|
src.interact(usr)
|
||||||
|
return
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/stack/Del()
|
||||||
|
if (src && usr && usr.machine==src)
|
||||||
|
usr << browse(null, "window=stack")
|
||||||
|
..()
|
||||||
@@ -20,13 +20,13 @@
|
|||||||
|
|
||||||
/obj/stool/blob_act()
|
/obj/stool/blob_act()
|
||||||
if(prob(75))
|
if(prob(75))
|
||||||
new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc )
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
/obj/stool/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/stool/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
if (istype(W, /obj/item/weapon/wrench))
|
if (istype(W, /obj/item/weapon/wrench))
|
||||||
playsound(src.loc, 'Ratchet.ogg', 50, 1)
|
playsound(src.loc, 'Ratchet.ogg', 50, 1)
|
||||||
new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc )
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
..()
|
..()
|
||||||
if (istype(W, /obj/item/weapon/wrench))
|
if (istype(W, /obj/item/weapon/wrench))
|
||||||
playsound(src.loc, 'Ratchet.ogg', 50, 1)
|
playsound(src.loc, 'Ratchet.ogg', 50, 1)
|
||||||
new /obj/item/weapon/sheet/metal( src.loc )
|
new /obj/item/stack/sheet/metal( src.loc )
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -15,114 +15,128 @@ obj/structure
|
|||||||
icon_state = "reinforced"
|
icon_state = "reinforced"
|
||||||
state = 2
|
state = 2
|
||||||
|
|
||||||
/obj/structure/girder/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
if(istype(W, /obj/item/weapon/wrench) && state == 0 && anchored && !istype(src,/obj/structure/girder/displaced))
|
if(istype(W, /obj/item/weapon/wrench) && state == 0 && anchored && !istype(src,/obj/structure/girder/displaced))
|
||||||
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
||||||
var/turf/T = get_turf(user)
|
|
||||||
user << "\blue Now disassembling the girder"
|
user << "\blue Now disassembling the girder"
|
||||||
sleep(40)
|
if(do_after(user,40))
|
||||||
if(get_turf(user) == T)
|
|
||||||
user << "\blue You dissasembled the girder!"
|
user << "\blue You dissasembled the girder!"
|
||||||
new /obj/item/weapon/sheet/metal(get_turf(src))
|
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
else if((istype(W, /obj/item/weapon/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/structure/girder/displaced))
|
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/structure/girder/displaced))
|
||||||
W:amount -= 2
|
W:use(2)
|
||||||
if(W:amount <= 0)
|
|
||||||
del(W)
|
|
||||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||||
new /obj/falsewall (src.loc)
|
new /obj/falsewall (src.loc)
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
else if(istype(W, /obj/item/weapon/sheet/r_metal) && istype(src,/obj/structure/girder/displaced))
|
else if(istype(W, /obj/item/stack/sheet/r_metal) && istype(src,/obj/structure/girder/displaced))
|
||||||
W:amount -= 1
|
W:use(2)
|
||||||
if(W:amount <= 0)
|
|
||||||
del(W)
|
|
||||||
user << "\blue You create a false r wall! Push on it to open or close the passage."
|
user << "\blue You create a false r wall! Push on it to open or close the passage."
|
||||||
new /obj/falserwall (src.loc)
|
new /obj/falserwall (src.loc)
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced))
|
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced))
|
||||||
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
||||||
var/turf/T = get_turf(user)
|
|
||||||
user << "\blue Now unsecuring support struts"
|
user << "\blue Now unsecuring support struts"
|
||||||
sleep(40)
|
if(do_after(user,40))
|
||||||
if(get_turf(user) == T)
|
|
||||||
user << "\blue You unsecured the support struts!"
|
user << "\blue You unsecured the support struts!"
|
||||||
state = 1
|
state = 1
|
||||||
|
|
||||||
else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1)
|
else if(istype(W, /obj/item/weapon/wirecutters) && istype(src,/obj/structure/girder/reinforced) && state == 1)
|
||||||
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
|
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
|
||||||
var/turf/T = get_turf(user)
|
|
||||||
user << "\blue Now removing support struts"
|
user << "\blue Now removing support struts"
|
||||||
sleep(40)
|
if(do_after(user,40))
|
||||||
if(get_turf(user) == T)
|
|
||||||
user << "\blue You removed the support struts!"
|
user << "\blue You removed the support struts!"
|
||||||
new/obj/structure/girder( src.loc )
|
new/obj/structure/girder( src.loc )
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored )
|
else if(istype(W, /obj/item/weapon/crowbar) && state == 0 && anchored )
|
||||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||||
var/turf/T = get_turf(user)
|
|
||||||
user << "\blue Now dislodging the girder"
|
user << "\blue Now dislodging the girder"
|
||||||
sleep(40)
|
if(do_after(user, 40))
|
||||||
if(get_turf(user) == T)
|
|
||||||
user << "\blue You dislodged the girder!"
|
user << "\blue You dislodged the girder!"
|
||||||
new/obj/structure/girder/displaced( src.loc )
|
new/obj/structure/girder/displaced( src.loc )
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
else if(istype(W, /obj/item/weapon/wrench) && state == 0 && !anchored )
|
else if(istype(W, /obj/item/weapon/wrench) && state == 0 && !anchored )
|
||||||
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
||||||
var/turf/T = get_turf(user)
|
|
||||||
user << "\blue Now securing the girder"
|
user << "\blue Now securing the girder"
|
||||||
sleep(40)
|
if(get_turf(user, 40))
|
||||||
if(get_turf(user) == T)
|
|
||||||
user << "\blue You secured the girder!"
|
user << "\blue You secured the girder!"
|
||||||
new/obj/structure/girder( src.loc )
|
new/obj/structure/girder( src.loc )
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
else if((istype(W, /obj/item/weapon/sheet/metal)) && (W:amount >= 2))
|
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2))
|
||||||
var/turf/T = get_turf(user)
|
|
||||||
user << "\blue Now adding plating..."
|
user << "\blue Now adding plating..."
|
||||||
sleep(40)
|
if (do_after(user,40))
|
||||||
if (get_turf(user) == T)
|
|
||||||
user << "\blue You added the plating!"
|
user << "\blue You added the plating!"
|
||||||
var/turf/Tsrc = get_turf(src)
|
var/turf/Tsrc = get_turf(src)
|
||||||
Tsrc.ReplaceWithWall()
|
Tsrc.ReplaceWithWall()
|
||||||
W:amount -= 2
|
W:use(2)
|
||||||
if(W:amount <= 0)
|
|
||||||
del(W)
|
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
else if (istype(W, /obj/item/weapon/sheet/r_metal))
|
else if (istype(W, /obj/item/stack/sheet/r_metal))
|
||||||
var/turf/T = get_turf(user)
|
|
||||||
if (src.icon_state == "reinforced") //Time to finalize!
|
if (src.icon_state == "reinforced") //Time to finalize!
|
||||||
user << "\blue Now finalising reinforced wall."
|
user << "\blue Now finalising reinforced wall."
|
||||||
sleep(50)
|
if(do_after(user, 50))
|
||||||
if(W)
|
user << "\blue Wall fully reinforced!"
|
||||||
if(get_turf(user) == T)
|
var/turf/Tsrc = get_turf(src)
|
||||||
user << "\blue Wall fully reinforced!"
|
Tsrc.ReplaceWithRWall()
|
||||||
var/turf/Tsrc = get_turf(src)
|
W:use(1)
|
||||||
Tsrc.ReplaceWithRWall()
|
del(src)
|
||||||
W:amount--
|
return
|
||||||
if (W:amount <= 0)
|
|
||||||
del(W)
|
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
else
|
else
|
||||||
user << "\blue Now reinforcing girders"
|
user << "\blue Now reinforcing girders"
|
||||||
sleep(60)
|
if (do_after(user,60))
|
||||||
user << "\blue Girders reinforced!"
|
user << "\blue Girders reinforced!"
|
||||||
W:amount--
|
W:use(1)
|
||||||
if (W:amount <= 0)
|
new/obj/structure/girder/reinforced( src.loc )
|
||||||
del(W)
|
del(src)
|
||||||
new/obj/structure/girder/reinforced( src.loc )
|
return
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
else
|
else
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/structure/girder/blob_act()
|
/obj/structure/girder/blob_act()
|
||||||
if(prob(40))
|
if(prob(40))
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
|
|
||||||
|
// LATTICE
|
||||||
|
|
||||||
|
|
||||||
|
/obj/lattice/blob_act()
|
||||||
|
del(src)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/lattice/ex_act(severity)
|
||||||
|
switch(severity)
|
||||||
|
if(1.0)
|
||||||
|
del(src)
|
||||||
|
return
|
||||||
|
if(2.0)
|
||||||
|
del(src)
|
||||||
|
return
|
||||||
|
if(3.0)
|
||||||
|
return
|
||||||
|
else
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/lattice/attackby(obj/item/C as obj, mob/user as mob)
|
||||||
|
|
||||||
|
if (istype(C, /obj/item/stack/tile))
|
||||||
|
|
||||||
|
C:build(get_turf(src))
|
||||||
|
C:use(1)
|
||||||
|
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
||||||
|
C.add_fingerprint(user)
|
||||||
|
del(src)
|
||||||
|
return
|
||||||
|
if (istype(C, /obj/item/weapon/weldingtool) && C:welding)
|
||||||
|
user << "\blue Slicing lattice joints ..."
|
||||||
|
C:eyecheck(user)
|
||||||
|
new /obj/item/stack/rods(src.loc)
|
||||||
|
del(src)
|
||||||
|
|
||||||
|
return
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
health -= 35
|
health -= 35
|
||||||
if(health <=0)
|
if(health <=0)
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
new /obj/item/weapon/rods( src.loc )
|
new /obj/item/stack/rods( src.loc )
|
||||||
src.density = 0
|
src.density = 0
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
@@ -24,21 +24,21 @@
|
|||||||
return
|
return
|
||||||
if(2.0)
|
if(2.0)
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
//SN src = null
|
//SN src = null
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
if(3.0)
|
if(3.0)
|
||||||
if (prob(50))
|
if (prob(50))
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
|
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/window/blob_act()
|
/obj/window/blob_act()
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
density = 0
|
density = 0
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
//world << "glass at [x],[y],[z] Mhit"
|
//world << "glass at [x],[y],[z] Mhit"
|
||||||
src.health = 0
|
src.health = 0
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
src.density = 0
|
src.density = 0
|
||||||
|
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
step(src, get_dir(AM, src))
|
step(src, get_dir(AM, src))
|
||||||
if (src.health <= 0)
|
if (src.health <= 0)
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
src.density = 0
|
src.density = 0
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
O << text("\red [] smashes through the window!", usr)
|
O << text("\red [] smashes through the window!", usr)
|
||||||
src.health = 0
|
src.health = 0
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
src.density = 0
|
src.density = 0
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
O << text("\red [] smashes through the window!", usr)
|
O << text("\red [] smashes through the window!", usr)
|
||||||
src.health = 0
|
src.health = 0
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
src.density = 0
|
src.density = 0
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
src.health = 0
|
src.health = 0
|
||||||
new /obj/item/weapon/shard(src.loc)
|
new /obj/item/weapon/shard(src.loc)
|
||||||
if(reinf)
|
if(reinf)
|
||||||
new /obj/item/weapon/rods(src.loc)
|
new /obj/item/stack/rods(src.loc)
|
||||||
src.density = 0
|
src.density = 0
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
@@ -183,11 +183,11 @@
|
|||||||
index = 0
|
index = 0
|
||||||
while(index < 2)
|
while(index < 2)
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
index++
|
index++
|
||||||
else
|
else
|
||||||
new /obj/item/weapon/shard( src.loc )
|
new /obj/item/weapon/shard( src.loc )
|
||||||
if(reinf) new /obj/item/weapon/rods( src.loc)
|
if(reinf) new /obj/item/stack/rods( src.loc)
|
||||||
src.density = 0
|
src.density = 0
|
||||||
del(src)
|
del(src)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -227,21 +227,21 @@
|
|||||||
if(!devastated)
|
if(!devastated)
|
||||||
playsound(src.loc, 'Welder.ogg', 100, 1)
|
playsound(src.loc, 'Welder.ogg', 100, 1)
|
||||||
new /obj/structure/girder/reinforced(src)
|
new /obj/structure/girder/reinforced(src)
|
||||||
new /obj/item/weapon/sheet/r_metal( src )
|
new /obj/item/stack/sheet/r_metal( src )
|
||||||
else
|
else
|
||||||
new /obj/item/weapon/sheet/metal( src )
|
new /obj/item/stack/sheet/metal( src )
|
||||||
new /obj/item/weapon/sheet/metal( src )
|
new /obj/item/stack/sheet/metal( src )
|
||||||
new /obj/item/weapon/sheet/r_metal( src )
|
new /obj/item/stack/sheet/r_metal( src )
|
||||||
else
|
else
|
||||||
if(!devastated)
|
if(!devastated)
|
||||||
playsound(src.loc, 'Welder.ogg', 100, 1)
|
playsound(src.loc, 'Welder.ogg', 100, 1)
|
||||||
new /obj/structure/girder(src)
|
new /obj/structure/girder(src)
|
||||||
new /obj/item/weapon/sheet/metal( src )
|
new /obj/item/stack/sheet/metal( src )
|
||||||
new /obj/item/weapon/sheet/metal( src )
|
new /obj/item/stack/sheet/metal( src )
|
||||||
else
|
else
|
||||||
new /obj/item/weapon/sheet/metal( src )
|
new /obj/item/stack/sheet/metal( src )
|
||||||
new /obj/item/weapon/sheet/metal( src )
|
new /obj/item/stack/sheet/metal( src )
|
||||||
new /obj/item/weapon/sheet/metal( src )
|
new /obj/item/stack/sheet/metal( src )
|
||||||
|
|
||||||
ReplaceWithFloor()
|
ReplaceWithFloor()
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/turf/simulated/wall/r_wall/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/turf/simulated/wall/r_wall/attackby(obj/item/W as obj, mob/user as mob)
|
||||||
|
|
||||||
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
|
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
|
||||||
usr << "\red You don't have the dexterity to do this!"
|
usr << "\red You don't have the dexterity to do this!"
|
||||||
@@ -397,7 +397,7 @@
|
|||||||
sleep(100)
|
sleep(100)
|
||||||
if ((user.loc == T && user.equipped() == W))
|
if ((user.loc == T && user.equipped() == W))
|
||||||
src.d_state = 6
|
src.d_state = 6
|
||||||
new /obj/item/weapon/rods( src )
|
new /obj/item/stack/rods( src )
|
||||||
user << "\blue You removed the support rods."
|
user << "\blue You removed the support rods."
|
||||||
|
|
||||||
else if (istype(W, /obj/item/weapon/wrench))
|
else if (istype(W, /obj/item/weapon/wrench))
|
||||||
@@ -414,7 +414,7 @@
|
|||||||
if (src.d_state == 0)
|
if (src.d_state == 0)
|
||||||
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
|
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
|
||||||
src.d_state = 1
|
src.d_state = 1
|
||||||
new /obj/item/weapon/rods( src )
|
new /obj/item/stack/rods( src )
|
||||||
|
|
||||||
else if (istype(W, /obj/item/weapon/screwdriver))
|
else if (istype(W, /obj/item/weapon/screwdriver))
|
||||||
if (src.d_state == 1)
|
if (src.d_state == 1)
|
||||||
@@ -447,7 +447,7 @@
|
|||||||
dismantle_wall()
|
dismantle_wall()
|
||||||
return
|
return
|
||||||
|
|
||||||
else if ((istype(W, /obj/item/weapon/sheet/metal)) && (src.d_state))
|
else if ((istype(W, /obj/item/stack/sheet/metal)) && (src.d_state))
|
||||||
var/turf/T = user.loc
|
var/turf/T = user.loc
|
||||||
user << "\blue Repairing wall."
|
user << "\blue Repairing wall."
|
||||||
sleep(100)
|
sleep(100)
|
||||||
@@ -491,7 +491,7 @@
|
|||||||
switch(pick(1,2;75,3))
|
switch(pick(1,2;75,3))
|
||||||
if (1)
|
if (1)
|
||||||
src.ReplaceWithLattice()
|
src.ReplaceWithLattice()
|
||||||
if(prob(33)) new /obj/item/weapon/sheet/metal(src)
|
if(prob(33)) new /obj/item/stack/sheet/metal(src)
|
||||||
if(2)
|
if(2)
|
||||||
src.ReplaceWithSpace()
|
src.ReplaceWithSpace()
|
||||||
if(3)
|
if(3)
|
||||||
@@ -500,7 +500,7 @@
|
|||||||
else
|
else
|
||||||
src.break_tile()
|
src.break_tile()
|
||||||
src.hotspot_expose(1000,CELL_VOLUME)
|
src.hotspot_expose(1000,CELL_VOLUME)
|
||||||
if(prob(33)) new /obj/item/weapon/sheet/metal(src)
|
if(prob(33)) new /obj/item/stack/sheet/metal(src)
|
||||||
if(3.0)
|
if(3.0)
|
||||||
if (prob(50))
|
if (prob(50))
|
||||||
src.break_tile()
|
src.break_tile()
|
||||||
@@ -543,8 +543,7 @@ turf/simulated/floor/proc/update_icon()
|
|||||||
user << "\blue Removing rods..."
|
user << "\blue Removing rods..."
|
||||||
playsound(src.loc, 'Ratchet.ogg', 80, 1)
|
playsound(src.loc, 'Ratchet.ogg', 80, 1)
|
||||||
if(do_after(user, 30))
|
if(do_after(user, 30))
|
||||||
new /obj/item/weapon/rods(src)
|
new /obj/item/stack/rods(src, 2)
|
||||||
new /obj/item/weapon/rods(src)
|
|
||||||
ReplaceWithFloor()
|
ReplaceWithFloor()
|
||||||
var/turf/simulated/floor/F = src
|
var/turf/simulated/floor/F = src
|
||||||
F.to_plating()
|
F.to_plating()
|
||||||
@@ -596,7 +595,7 @@ turf/simulated/floor/proc/update_icon()
|
|||||||
icon_state = "floor"
|
icon_state = "floor"
|
||||||
levelupdate()
|
levelupdate()
|
||||||
|
|
||||||
/turf/simulated/floor/attackby(obj/item/weapon/C as obj, mob/user as mob)
|
/turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob)
|
||||||
|
|
||||||
if(!C || !user)
|
if(!C || !user)
|
||||||
return 0
|
return 0
|
||||||
@@ -605,36 +604,33 @@ turf/simulated/floor/proc/update_icon()
|
|||||||
if(broken || burnt)
|
if(broken || burnt)
|
||||||
user << "\red You remove the broken plating."
|
user << "\red You remove the broken plating."
|
||||||
else
|
else
|
||||||
new /obj/item/weapon/tile(src)
|
new /obj/item/stack/tile(src)
|
||||||
|
|
||||||
to_plating()
|
to_plating()
|
||||||
playsound(src.loc, 'Crowbar.ogg', 80, 1)
|
playsound(src.loc, 'Crowbar.ogg', 80, 1)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if(istype(C, /obj/item/weapon/rods))
|
if(istype(C, /obj/item/stack/rods))
|
||||||
if (!src.intact)
|
if (!src.intact)
|
||||||
if (C:amount >= 2)
|
if (C:amount >= 2)
|
||||||
user << "\blue Reinforcing the floor..."
|
user << "\blue Reinforcing the floor..."
|
||||||
if(do_after(user, 30))
|
if(do_after(user, 30))
|
||||||
if (C)
|
ReplaceWithEngineFloor()
|
||||||
ReplaceWithEngineFloor()
|
playsound(src.loc, 'Deconstruct.ogg', 80, 1)
|
||||||
C:amount -= 2
|
C:use(2)
|
||||||
if (C:amount <= 0) del(C) //wtf
|
return
|
||||||
playsound(src.loc, 'Deconstruct.ogg', 80, 1)
|
|
||||||
else
|
else
|
||||||
user << "\red You need more rods."
|
user << "\red You need more rods."
|
||||||
else
|
else
|
||||||
user << "\red You must remove the plating first."
|
user << "\red You must remove the plating first."
|
||||||
return
|
return
|
||||||
|
|
||||||
if(istype(C, /obj/item/weapon/tile) && !intact)
|
if(istype(C, /obj/item/stack/tile) && !intact)
|
||||||
restore_tile()
|
restore_tile()
|
||||||
var/obj/item/weapon/tile/T = C
|
var/obj/item/stack/tile/T = C
|
||||||
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
||||||
if(--T.amount < 1)
|
T.use(1)
|
||||||
del(T)
|
|
||||||
return
|
|
||||||
|
|
||||||
if(istype(C, /obj/item/weapon/cable_coil))
|
if(istype(C, /obj/item/weapon/cable_coil))
|
||||||
if(!intact)
|
if(!intact)
|
||||||
@@ -685,32 +681,22 @@ turf/simulated/floor/proc/update_icon()
|
|||||||
step(user.pulling, get_dir(user.pulling.loc, src))
|
step(user.pulling, get_dir(user.pulling.loc, src))
|
||||||
return
|
return
|
||||||
|
|
||||||
/turf/space/attackby(obj/item/weapon/C as obj, mob/user as mob)
|
/turf/space/attackby(obj/item/C as obj, mob/user as mob)
|
||||||
|
|
||||||
if (istype(C, /obj/item/weapon/rods))
|
if (istype(C, /obj/item/stack/rods))
|
||||||
user << "\blue Constructing support lattice ..."
|
user << "\blue Constructing support lattice ..."
|
||||||
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
||||||
ReplaceWithLattice()
|
ReplaceWithLattice()
|
||||||
C:amount--
|
C:use(1)
|
||||||
|
|
||||||
if (C:amount < 1)
|
|
||||||
user.u_equip(C)
|
|
||||||
del(C)
|
|
||||||
return
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if (istype(C, /obj/item/weapon/tile))
|
if (istype(C, /obj/item/stack/tile))
|
||||||
if(locate(/obj/lattice, src))
|
var/obj/lattice/L = locate(/obj/lattice, src)
|
||||||
var/obj/lattice/L = locate(/obj/lattice, src)
|
if(L)
|
||||||
del(L)
|
del(L)
|
||||||
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
playsound(src.loc, 'Genhit.ogg', 50, 1)
|
||||||
C:build(src)
|
C:build(src)
|
||||||
C:amount--
|
C:use(1)
|
||||||
|
|
||||||
if (C:amount < 1)
|
|
||||||
user.u_equip(C)
|
|
||||||
del(C)
|
|
||||||
return
|
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
user << "\red The plating is going to need some support."
|
user << "\red The plating is going to need some support."
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
if (!msg)
|
if (!msg)
|
||||||
return
|
return
|
||||||
|
|
||||||
var/rendered = "<span class='game deadsay'><span class='prefix'>DEAD:</span> <span class='name'>ADMIN([src.stealth ? pick("BADMIN", "ViktoriaSA", "Drunkwaffel", "Android Datuhh") : src.key])</span> says, <span class='message'>\"[msg]\"</span></span>"
|
var/rendered = "<span class='game deadsay'><span class='prefix'>DEAD:</span> <span class='name'>ADMIN([src.stealth ? src.fakekey : src.key])</span> says, <span class='message'>\"[msg]\"</span></span>"
|
||||||
|
//pick("BADMIN", "ViktoriaSA", "Drunkwaffel", "Android Datuhh")
|
||||||
for (var/mob/M in world)
|
for (var/mob/M in world)
|
||||||
if(M.stat == 2 || (M.client && M.client.holder))
|
if(M.stat == 2 || (M.client && M.client.holder))
|
||||||
M.show_message(rendered, 2)
|
M.show_message(rendered, 2)
|
||||||
@@ -678,10 +678,9 @@
|
|||||||
|
|
||||||
handle_regular_hud_updates()
|
handle_regular_hud_updates()
|
||||||
|
|
||||||
if (istype(src.ears, /obj/item/device/radio/headset/traitor))
|
if (istype(src.ears, /obj/item/device/radio/headset))
|
||||||
src.robot_talk_understand = 1
|
var/obj/item/device/radio/headset/H = src.ears
|
||||||
else
|
src.robot_talk_understand = H.bintran
|
||||||
src.robot_talk_understand = 0
|
|
||||||
|
|
||||||
if (src.stat == 2 || src.mutations & 4)
|
if (src.stat == 2 || src.mutations & 4)
|
||||||
src.sight |= SEE_TURFS
|
src.sight |= SEE_TURFS
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
message_mode = "left hand"
|
message_mode = "left hand"
|
||||||
message = copytext(message, 3)
|
message = copytext(message, 3)
|
||||||
|
|
||||||
else if (copytext(message, 1, 3) == ":h")
|
else if (copytext(message, 1, 3) == ":h" || (copytext(message, 1, 3) == ":<3A>" ))
|
||||||
if (ishuman(src))
|
if (ishuman(src))
|
||||||
message_mode = "secure headset"
|
message_mode = "secure headset"
|
||||||
message = copytext(message, 3)
|
message = copytext(message, 3)
|
||||||
@@ -81,14 +81,17 @@
|
|||||||
message_mode = "intercom"
|
message_mode = "intercom"
|
||||||
message = copytext(message, 3)
|
message = copytext(message, 3)
|
||||||
|
|
||||||
else if (copytext(message, 1, 3) == ":s" && src.robot_talk_understand)
|
else if ((copytext(message, 1, 3) == ":s" || (copytext(message, 1, 3) == ":<3A>" )) && src.robot_talk_understand)
|
||||||
message = copytext(message, 3)
|
message = copytext(message, 3)
|
||||||
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
||||||
src.robot_talk(message)
|
src.robot_talk(message)
|
||||||
return
|
return
|
||||||
//
|
|
||||||
|
|
||||||
message = trim(message)
|
else if ((copytext(message, 1, 3) == ":a" || (copytext(message, 1, 3) == ":<3A>")) && src.alien_talk_understand)
|
||||||
|
message = copytext(message, 3)
|
||||||
|
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
||||||
|
src.alien_talk(message)
|
||||||
|
return
|
||||||
|
|
||||||
if (!message)
|
if (!message)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -44,11 +44,11 @@
|
|||||||
src.modules += new /obj/item/weapon/wirecutters(src)
|
src.modules += new /obj/item/weapon/wirecutters(src)
|
||||||
src.modules += new /obj/item/device/multitool(src)
|
src.modules += new /obj/item/device/multitool(src)
|
||||||
|
|
||||||
var/obj/item/weapon/sheet/metal/M = new /obj/item/weapon/sheet/metal(src)
|
var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(src)
|
||||||
M.amount = 50
|
M.amount = 50
|
||||||
src.modules += M
|
src.modules += M
|
||||||
|
|
||||||
var/obj/item/weapon/sheet/rglass/G = new /obj/item/weapon/sheet/rglass(src)
|
var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass(src)
|
||||||
G.amount = 50
|
G.amount = 50
|
||||||
src.modules += G
|
src.modules += G
|
||||||
|
|
||||||
|
|||||||
@@ -59,11 +59,11 @@
|
|||||||
src.modules += new /obj/item/weapon/wirecutters(src)
|
src.modules += new /obj/item/weapon/wirecutters(src)
|
||||||
src.modules += new /obj/item/device/multitool(src)
|
src.modules += new /obj/item/device/multitool(src)
|
||||||
|
|
||||||
var/obj/item/weapon/sheet/metal/M = new /obj/item/weapon/sheet/metal(src)
|
var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(src)
|
||||||
M.amount = 50
|
M.amount = 50
|
||||||
src.modules += M
|
src.modules += M
|
||||||
|
|
||||||
var/obj/item/weapon/sheet/rglass/G = new /obj/item/weapon/sheet/rglass(src)
|
var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass(src)
|
||||||
G.amount = 50
|
G.amount = 50
|
||||||
src.modules += G
|
src.modules += G
|
||||||
|
|
||||||
|
|||||||
@@ -1095,6 +1095,43 @@
|
|||||||
T.Entered(W)
|
T.Entered(W)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/mob/proc/before_take_item(var/obj/item/item)
|
||||||
|
u_equip(item)
|
||||||
|
if (src.client)
|
||||||
|
src.client.screen -= item
|
||||||
|
src.update_clothing()
|
||||||
|
return
|
||||||
|
|
||||||
|
/mob/proc/get_active_hand()
|
||||||
|
if (src.hand)
|
||||||
|
return src.l_hand
|
||||||
|
else
|
||||||
|
return src.r_hand
|
||||||
|
|
||||||
|
/mob/proc/get_inactive_hand()
|
||||||
|
if ( ! src.hand)
|
||||||
|
return src.l_hand
|
||||||
|
else
|
||||||
|
return src.r_hand
|
||||||
|
|
||||||
|
/mob/proc/put_in_hand(var/obj/item/I)
|
||||||
|
I.loc = src
|
||||||
|
if (src.hand)
|
||||||
|
src.l_hand = I
|
||||||
|
else
|
||||||
|
src.r_hand = I
|
||||||
|
I.layer = 20
|
||||||
|
src.update_clothing()
|
||||||
|
|
||||||
|
/mob/proc/put_in_inactive_hand(var/obj/item/I)
|
||||||
|
I.loc = src
|
||||||
|
if (!src.hand)
|
||||||
|
src.l_hand = I
|
||||||
|
else
|
||||||
|
src.r_hand = I
|
||||||
|
I.layer = 20
|
||||||
|
src.update_clothing()
|
||||||
|
|
||||||
/mob/proc/reset_view(atom/A)
|
/mob/proc/reset_view(atom/A)
|
||||||
if (src.client)
|
if (src.client)
|
||||||
if (istype(A, /atom/movable))
|
if (istype(A, /atom/movable))
|
||||||
|
|||||||
@@ -217,7 +217,7 @@
|
|||||||
|
|
||||||
/obj/machinery/power/apc/attackby(obj/item/W, mob/user)
|
/obj/machinery/power/apc/attackby(obj/item/W, mob/user)
|
||||||
|
|
||||||
if (istype(user, /mob/living/silicon))
|
if (istype(user, /mob/living/silicon) && get_dist(src,user)>1)
|
||||||
return src.attack_hand(user)
|
return src.attack_hand(user)
|
||||||
if (istype(W, /obj/item/weapon/crowbar) && opened)
|
if (istype(W, /obj/item/weapon/crowbar) && opened)
|
||||||
if (has_electronics==1)
|
if (has_electronics==1)
|
||||||
@@ -270,20 +270,20 @@
|
|||||||
if (cell)
|
if (cell)
|
||||||
user << "\red Close the APC first." //Less hints more mystery!
|
user << "\red Close the APC first." //Less hints more mystery!
|
||||||
return
|
return
|
||||||
else if (!has_electronics || !terminal)
|
|
||||||
user << "\red There is nothing to secure."
|
|
||||||
return
|
|
||||||
else
|
else
|
||||||
if (has_electronics==1)
|
if (has_electronics==1)
|
||||||
has_electronics = 2
|
has_electronics = 2
|
||||||
stat &= ~MAINT
|
stat &= ~MAINT
|
||||||
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
||||||
user << "You screw the circuit electronics into place."
|
user << "You screw the circuit electronics into place."
|
||||||
else /*(has_electronics==2)*/
|
else if (has_electronics==2)
|
||||||
has_electronics = 1
|
has_electronics = 1
|
||||||
stat |= MAINT
|
stat |= MAINT
|
||||||
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
|
||||||
user << "You unfasten the electronics."
|
user << "You unfasten the electronics."
|
||||||
|
else /* has_electronics==0 */
|
||||||
|
user << "\red There is nothing to secure."
|
||||||
|
return
|
||||||
updateicon()
|
updateicon()
|
||||||
else if(emagged || malfhack)
|
else if(emagged || malfhack)
|
||||||
user << "The interface is broken"
|
user << "The interface is broken"
|
||||||
@@ -377,7 +377,7 @@
|
|||||||
playsound(src.loc, 'Welder.ogg', 50, 1)
|
playsound(src.loc, 'Welder.ogg', 50, 1)
|
||||||
if(do_after(user, 50))
|
if(do_after(user, 50))
|
||||||
if (emagged || malfhack || (stat & BROKEN) || opened==2)
|
if (emagged || malfhack || (stat & BROKEN) || opened==2)
|
||||||
new /obj/item/weapon/sheet/metal(loc)
|
new /obj/item/stack/sheet/metal(loc)
|
||||||
user.visible_message(\
|
user.visible_message(\
|
||||||
"\red [src] has been cut apart by [user.name] with the weldingtool.",\
|
"\red [src] has been cut apart by [user.name] with the weldingtool.",\
|
||||||
"You disassembled brocken APC frame.",\
|
"You disassembled brocken APC frame.",\
|
||||||
@@ -419,14 +419,15 @@
|
|||||||
&& !opened \
|
&& !opened \
|
||||||
&& W.force >= 5 \
|
&& W.force >= 5 \
|
||||||
&& W.w_class >= 3.0 \
|
&& W.w_class >= 3.0 \
|
||||||
&& !istype(W, /obj/item/weapon/gun) \
|
&& prob(20) )
|
||||||
&& prob(10) )
|
|
||||||
opened = 2
|
opened = 2
|
||||||
user.visible_message("\red The APC cover was knocked down with the [W.name] by [user.name]!", \
|
user.visible_message("\red The APC cover was knocked down with the [W.name] by [user.name]!", \
|
||||||
"\red You knock down the APC cover with your [W.name]!", \
|
"\red You knock down the APC cover with your [W.name]!", \
|
||||||
"You hear bang")
|
"You hear bang")
|
||||||
updateicon()
|
updateicon()
|
||||||
else
|
else
|
||||||
|
if (istype(user, /mob/living/silicon))
|
||||||
|
return src.attack_hand(user)
|
||||||
user.visible_message("\red The [src.name] has been hit with the [W.name] by [user.name]!", \
|
user.visible_message("\red The [src.name] has been hit with the [W.name] by [user.name]!", \
|
||||||
"\red You hit the [src.name] with your [W.name]!", \
|
"\red You hit the [src.name] with your [W.name]!", \
|
||||||
"You hear bang")
|
"You hear bang")
|
||||||
@@ -478,7 +479,7 @@
|
|||||||
return
|
return
|
||||||
if(wiresexposed && (!istype(user, /mob/living/silicon)))
|
if(wiresexposed && (!istype(user, /mob/living/silicon)))
|
||||||
user.machine = src
|
user.machine = src
|
||||||
var/t1 = text("<B>Access Panel</B><br>\n")
|
var/t1 = text("<html><head><title>[area.name] APC wires</title></head><body><B>Access Panel</B><br>\n")
|
||||||
var/list/apcwires = list(
|
var/list/apcwires = list(
|
||||||
"Orange" = 1,
|
"Orange" = 1,
|
||||||
"Dark red" = 2,
|
"Dark red" = 2,
|
||||||
@@ -495,7 +496,7 @@
|
|||||||
t1 += "<a href='?src=\ref[src];pulse=[apcwires[wiredesc]]'>Pulse</a> "
|
t1 += "<a href='?src=\ref[src];pulse=[apcwires[wiredesc]]'>Pulse</a> "
|
||||||
t1 += "<br>"
|
t1 += "<br>"
|
||||||
t1 += text("<br>\n[(src.locked ? "The APC is locked." : "The APC is unlocked.")]<br>\n[(src.shorted ? "The APCs power has been shorted." : "The APC is working properly!")]<br>\n[(src.aidisabled ? "The 'AI control allowed' light is off." : "The 'AI control allowed' light is on.")]")
|
t1 += text("<br>\n[(src.locked ? "The APC is locked." : "The APC is unlocked.")]<br>\n[(src.shorted ? "The APCs power has been shorted." : "The APC is working properly!")]<br>\n[(src.aidisabled ? "The 'AI control allowed' light is off." : "The 'AI control allowed' light is on.")]")
|
||||||
t1 += text("<p><a href='?src=\ref[src];close2=1'>Close</a></p>\n")
|
t1 += text("<p><a href='?src=\ref[src];close2=1'>Close</a></p></body></html>")
|
||||||
user << browse(t1, "window=apcwires")
|
user << browse(t1, "window=apcwires")
|
||||||
onclose(user, "apcwires")
|
onclose(user, "apcwires")
|
||||||
|
|
||||||
@@ -868,6 +869,7 @@
|
|||||||
if (src.z == 1)
|
if (src.z == 1)
|
||||||
ticker.mode:apcs++
|
ticker.mode:apcs++
|
||||||
src.malfai = usr
|
src.malfai = usr
|
||||||
|
src.locked = 1
|
||||||
if (src.cell)
|
if (src.cell)
|
||||||
if (src.cell.charge > 0)
|
if (src.cell.charge > 0)
|
||||||
src.cell.charge = 0
|
src.cell.charge = 0
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
@@ -792,7 +792,7 @@
|
|||||||
"apl" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard)
|
"apl" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard)
|
||||||
"apm" = (/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
"apm" = (/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
||||||
"apn" = (/obj/securearea{tag = "icon-space"; name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"},/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
"apn" = (/obj/securearea{tag = "icon-space"; name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"},/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
||||||
"apo" = (/obj/item/weapon/tile,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"apo" = (/obj/item/stack/tile,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
"app" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"app" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
"apq" = (/obj/machinery/light/small{dir = 1},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"apq" = (/obj/machinery/light/small{dir = 1},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
"apr" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced/west,/obj/window/reinforced/east,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"apr" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced/west,/obj/window/reinforced/east,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
@@ -1134,7 +1134,7 @@
|
|||||||
"avP" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/radio/signaler,/obj/item/device/radio/signaler,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/storage/primary)
|
"avP" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/radio/signaler,/obj/item/device/radio/signaler,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/storage/primary)
|
||||||
"avQ" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/storage/primary)
|
"avQ" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/storage/primary)
|
||||||
"avR" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/storage/primary)
|
"avR" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/storage/primary)
|
||||||
"avS" = (/obj/machinery/power/apc{dir = 1; name = "Storage APC"; pixel_x = -1; pixel_y = 26},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
"avS" = (/obj/machinery/power/apc{dir = 1; name = "Storage APC"; pixel_x = -1; pixel_y = 26},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
||||||
"avT" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/storage/primary)
|
"avT" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/storage/primary)
|
||||||
"avU" = (/obj/item/weapon/cell,/turf/simulated/floor/plating,/area/storage/tech)
|
"avU" = (/obj/item/weapon/cell,/turf/simulated/floor/plating,/area/storage/tech)
|
||||||
"avV" = (/obj/rack{dir = 4},/obj/item/weapon/circuitboard/card,/turf/simulated/floor/plating,/area/storage/tech)
|
"avV" = (/obj/rack{dir = 4},/obj/item/weapon/circuitboard/card,/turf/simulated/floor/plating,/area/storage/tech)
|
||||||
@@ -1149,8 +1149,8 @@
|
|||||||
"awe" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_male/toilet_male)
|
"awe" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_male/toilet_male)
|
||||||
"awf" = (/obj/machinery/door/airlock{name = "Unit 3"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_male/toilet_male)
|
"awf" = (/obj/machinery/door/airlock{name = "Unit 3"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_male/toilet_male)
|
||||||
"awg" = (/obj/machinery/atmospherics/pipe/simple,/obj/disposalpipe/junction,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"awg" = (/obj/machinery/atmospherics/pipe/simple,/obj/disposalpipe/junction,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"awh" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/crowbar,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"awh" = (/obj/machinery/alarm{pixel_y = 23},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/crowbar,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"awi" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"awi" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"awj" = (/obj/machinery/light/small{dir = 8},/obj/landmark{name = "blobstart"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
"awj" = (/obj/machinery/light/small{dir = 8},/obj/landmark{name = "blobstart"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||||
"awk" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_female/toilet_female)
|
"awk" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_female/toilet_female)
|
||||||
"awl" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_female/toilet_female)
|
"awl" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_female/toilet_female)
|
||||||
@@ -1196,8 +1196,8 @@
|
|||||||
"awZ" = (/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/storage/primary)
|
"awZ" = (/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/storage/primary)
|
||||||
"axa" = (/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
"axa" = (/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
||||||
"axb" = (/obj/stool{pixel_y = 8},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
"axb" = (/obj/stool{pixel_y = 8},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
||||||
"axc" = (/obj/item/weapon/rods{amount = 50},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
"axc" = (/obj/item/stack/rods{amount = 50},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
||||||
"axd" = (/obj/item/weapon/sheet/glass{amount = 50},/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
"axd" = (/obj/item/stack/sheet/glass{amount = 50},/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
||||||
"axe" = (/turf/simulated/floor,/area/storage/primary)
|
"axe" = (/turf/simulated/floor,/area/storage/primary)
|
||||||
"axf" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/storage/lightbox/tubes,/turf/simulated/floor/plating,/area/storage/tech)
|
"axf" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/storage/lightbox/tubes,/turf/simulated/floor/plating,/area/storage/tech)
|
||||||
"axg" = (/obj/rack{dir = 4},/obj/item/weapon/circuitboard/communications,/turf/simulated/floor/plating,/area/storage/tech)
|
"axg" = (/obj/rack{dir = 4},/obj/item/weapon/circuitboard/communications,/turf/simulated/floor/plating,/area/storage/tech)
|
||||||
@@ -1215,7 +1215,7 @@
|
|||||||
"axs" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"axs" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"axt" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
|
"axt" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||||
"axu" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"axu" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"axv" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/weapon/sheet/glass{amount = 50},/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"axv" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/stack/sheet/glass{amount = 50},/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"axw" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
"axw" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||||
"axx" = (/obj/machinery/door/airlock{name = "Unit 2"},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_female/toilet_female)
|
"axx" = (/obj/machinery/door/airlock{name = "Unit 2"},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/sleep_female/toilet_female)
|
||||||
"axy" = (/obj/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"},/turf/simulated/wall,/area/crew_quarters/sleep_female/toilet_female)
|
"axy" = (/obj/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"},/turf/simulated/wall,/area/crew_quarters/sleep_female/toilet_female)
|
||||||
@@ -1264,7 +1264,7 @@
|
|||||||
"ayp" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/rack{dir = 1},/obj/item/clothing/mask/gas/emergency,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayp" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/rack{dir = 1},/obj/item/clothing/mask/gas/emergency,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"ayq" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayq" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"ayr" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/maintenance/fpmaint)
|
"ayr" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/maintenance/fpmaint)
|
||||||
"ays" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/weapon/tile,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ays" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/stack/tile,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"ayt" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayt" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"ayu" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayu" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"ayv" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayv" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
@@ -1278,8 +1278,8 @@
|
|||||||
"ayD" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
|
"ayD" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||||
"ayE" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/ai_monitored/storage/eva)
|
"ayE" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/ai_monitored/storage/eva)
|
||||||
"ayF" = (/obj/crate/rcd,/obj/machinery/camera{c_tag = "EVA South-East"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/ai_monitored/storage/eva)
|
"ayF" = (/obj/crate/rcd,/obj/machinery/camera{c_tag = "EVA South-East"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/ai_monitored/storage/eva)
|
||||||
"ayG" = (/obj/item/weapon/rods{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"ayG" = (/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"ayH" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/sheet/rglass{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"ayH" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/stack/sheet/rglass{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"ayI" = (/obj/machinery/door/airlock/maintenance{name = "Bathroom Maintenance"; req_access_txt = "12"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
"ayI" = (/obj/machinery/door/airlock/maintenance{name = "Bathroom Maintenance"; req_access_txt = "12"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||||
"ayJ" = (/obj/disposalpipe/segment,/turf/simulated/wall,/area/maintenance/fsmaint)
|
"ayJ" = (/obj/disposalpipe/segment,/turf/simulated/wall,/area/maintenance/fsmaint)
|
||||||
"ayK" = (/obj/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
"ayK" = (/obj/grille,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||||
@@ -2016,7 +2016,7 @@
|
|||||||
"aMN" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable,/turf/simulated/floor,/area/medical/robotics)
|
"aMN" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable,/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aMO" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
"aMO" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aMP" = (/obj/machinery/robotic_fabricator,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
"aMP" = (/obj/machinery/robotic_fabricator,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aMQ" = (/obj/crate,/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil,/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/turf/simulated/floor,/area/medical/robotics)
|
"aMQ" = (/obj/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aMR" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/medical/robotics)
|
"aMR" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/medical/robotics)
|
||||||
"aMS" = (/obj/stool/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/secondary/exit)
|
"aMS" = (/obj/stool/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/secondary/exit)
|
||||||
"aMT" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
|
"aMT" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
|
||||||
@@ -2417,7 +2417,7 @@
|
|||||||
"aUy" = (/obj/item/weapon/storage/mousetraps,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
|
"aUy" = (/obj/item/weapon/storage/mousetraps,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
|
||||||
"aUz" = (/obj/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/oliveoil,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
|
"aUz" = (/obj/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/food/condiment/oliveoil,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
|
||||||
"aUA" = (/obj/crate,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
|
"aUA" = (/obj/crate,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
|
||||||
"aUB" = (/obj/machinery/atmospherics/pipe/simple,/obj/item/weapon/tile,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
|
"aUB" = (/obj/machinery/atmospherics/pipe/simple,/obj/item/stack/tile,/turf/simulated/floor/plating,/area/maintenance/maintcentral)
|
||||||
"aUC" = (/obj/disposalpipe/segment,/obj/landmark{name = "blobstart"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
|
"aUC" = (/obj/disposalpipe/segment,/obj/landmark{name = "blobstart"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
|
||||||
"aUD" = (/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/medical/research)
|
"aUD" = (/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/medical/research)
|
||||||
"aUE" = (/obj/stool/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
|
"aUE" = (/obj/stool/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
|
||||||
@@ -2433,7 +2433,7 @@
|
|||||||
"aUO" = (/obj/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
"aUO" = (/obj/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
||||||
"aUP" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
"aUP" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
||||||
"aUQ" = (/obj/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/port)
|
"aUQ" = (/obj/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/port)
|
||||||
"aUR" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/obj/item/weapon/sheet/rglass,/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUR" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/obj/item/stack/sheet/rglass,/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
"aUS" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUS" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
"aUT" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUT" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
"aUU" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUU" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
@@ -2772,7 +2772,7 @@
|
|||||||
"bbp" = (/obj/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/storage)
|
"bbp" = (/obj/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/storage)
|
||||||
"bbq" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; location = "QM #2"},/obj/machinery/bot/mulebot{home_destination = "QM #2"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
|
"bbq" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; location = "QM #2"},/obj/machinery/bot/mulebot{home_destination = "QM #2"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
|
||||||
"bbr" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/west,/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/storage)
|
"bbr" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/west,/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/storage)
|
||||||
"bbs" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/rods{amount = 50},/turf/simulated/floor,/area/quartermaster/office)
|
"bbs" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/quartermaster/office)
|
||||||
"bbt" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/quartermaster)
|
"bbt" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/quartermaster)
|
||||||
"bbu" = (/obj/stool/chair{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/turf/simulated/floor,/area/quartermaster)
|
"bbu" = (/obj/stool/chair{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/turf/simulated/floor,/area/quartermaster)
|
||||||
"bbv" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/east,/obj/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster)
|
"bbv" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/east,/obj/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster)
|
||||||
@@ -4504,7 +4504,7 @@
|
|||||||
"bIF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIG" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIG" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIH" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIH" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bII" = (/obj/item/weapon/sheet/glass{amount = 50},/obj/item/weapon/sheet/glass{amount = 50},/obj/item/weapon/sheet/glass{amount = 50},/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bII" = (/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIJ" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/machinery/light/small{dir = 4},/obj/item/device/analyzer,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIJ" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/machinery/light/small{dir = 4},/obj/item/device/analyzer,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIK" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/turf/simulated/wall/r_wall,/area/atmos)
|
"bIK" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/turf/simulated/wall/r_wall,/area/atmos)
|
||||||
"bIL" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor/plating/airless,/area)
|
"bIL" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor/plating/airless,/area)
|
||||||
@@ -4536,7 +4536,7 @@
|
|||||||
"bJl" = (/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJl" = (/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJm" = (/obj/item/weapon/pen,/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJm" = (/obj/item/weapon/pen,/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJo" = (/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJo" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJp" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJp" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
"bJq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
||||||
"bJr" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
"bJr" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
||||||
@@ -4702,7 +4702,7 @@
|
|||||||
"bMv" = (/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMv" = (/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMw" = (/obj/item/clothing/head/helmet/hardhat,/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMw" = (/obj/item/clothing/head/helmet/hardhat,/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMx" = (/obj/item/weapon/weldingtool,/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMx" = (/obj/item/weapon/weldingtool,/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMy" = (/obj/item/weapon/rods,/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMy" = (/obj/item/stack/rods,/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMz" = (/obj/item/weapon/caution{desc = "Caution! Construction Zone!"; name = "caution sign"},/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMz" = (/obj/item/weapon/caution{desc = "Caution! Construction Zone!"; name = "caution sign"},/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMA" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; initialize_directions = 5; layer = 3},/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bMA" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; initialize_directions = 5; layer = 3},/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bMB" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bMB" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
@@ -5067,8 +5067,8 @@
|
|||||||
"bTw" = (/obj/table/reinforced{tag = "icon-reinf_tabledir"; icon_state = "reinf_tabledir"},/obj/item/weapon/cigpacket,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bTw" = (/obj/table/reinforced{tag = "icon-reinf_tabledir"; icon_state = "reinf_tabledir"},/obj/item/weapon/cigpacket,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bTx" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bTx" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bTy" = (/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bTy" = (/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bTz" = (/obj/item/weapon/sheet/glass{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bTz" = (/obj/item/stack/sheet/glass{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bTA" = (/obj/item/weapon/sheet/metal{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bTA" = (/obj/item/stack/sheet/metal{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bTB" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/simulated/floor/plating,/area/tdome)
|
"bTB" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/simulated/floor/plating,/area/tdome)
|
||||||
"bTC" = (/obj/machinery/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion_l"; dir = 4; pixel_y = -1},/turf/space,/area/centcom/shuttle)
|
"bTC" = (/obj/machinery/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion_l"; dir = 4; pixel_y = -1},/turf/space,/area/centcom/shuttle)
|
||||||
"bTD" = (/obj/machinery/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/window/reinforced/west{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/plating,/area/centcom/shuttle)
|
"bTD" = (/obj/machinery/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/window/reinforced/west{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/plating,/area/centcom/shuttle)
|
||||||
@@ -5853,7 +5853,7 @@
|
|||||||
"ciC" = (/obj/window{icon_state = "rwindow"; reinf = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
"ciC" = (/obj/window{icon_state = "rwindow"; reinf = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"ciD" = (/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
"ciD" = (/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"ciE" = (/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/turf/simulated/floor,/area/derelict/bridge)
|
"ciE" = (/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"ciF" = (/obj/item/weapon/rods,/turf/simulated/floor/plating/airless,/area)
|
"ciF" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area)
|
||||||
"ciG" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/wall,/area/derelict/bridge/access)
|
"ciG" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/wall,/area/derelict/bridge/access)
|
||||||
"ciH" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
"ciH" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"ciI" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/bridge/access)
|
"ciI" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
@@ -5873,7 +5873,7 @@
|
|||||||
"ciW" = (/obj/stool/chair,/turf/simulated/floor,/area/derelict/bridge)
|
"ciW" = (/obj/stool/chair,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"ciX" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/derelict/bridge)
|
"ciX" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"ciY" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/derelict/bridge)
|
"ciY" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"ciZ" = (/obj/item/weapon/rods,/turf/space,/area)
|
"ciZ" = (/obj/item/stack/rods,/turf/space,/area)
|
||||||
"cja" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
"cja" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"cjb" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/derelict/bridge)
|
"cjb" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"cjc" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/window/basic,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/derelict/bridge)
|
"cjc" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/window/basic,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/derelict/bridge)
|
||||||
@@ -6339,14 +6339,14 @@
|
|||||||
"crU" = (/obj/window/basic{tag = "icon-window (NORTH)"; icon_state = "window"; dir = 1},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary)
|
"crU" = (/obj/window/basic{tag = "icon-window (NORTH)"; icon_state = "window"; dir = 1},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary)
|
||||||
"crV" = (/obj/grille,/obj/item/weapon/shard,/obj/item/weapon/shard{tag = "icon-medium"; icon_state = "medium"},/turf/simulated/floor/plating/airless,/area)
|
"crV" = (/obj/grille,/obj/item/weapon/shard,/obj/item/weapon/shard{tag = "icon-medium"; icon_state = "medium"},/turf/simulated/floor/plating/airless,/area)
|
||||||
"crW" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor/plating/airless,/area/derelict/arrival)
|
"crW" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor/plating/airless,/area/derelict/arrival)
|
||||||
"crX" = (/obj/structure/girder,/obj/item/weapon/rods,/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
"crX" = (/obj/structure/girder,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
||||||
"crY" = (/obj/item/weapon/rods,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
"crY" = (/obj/item/stack/rods,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
||||||
"crZ" = (/obj/item/weapon/shard{tag = "icon-small"; icon_state = "small"},/turf/space,/area)
|
"crZ" = (/obj/item/weapon/shard{tag = "icon-small"; icon_state = "small"},/turf/space,/area)
|
||||||
"csa" = (/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
"csa" = (/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
||||||
"csb" = (/turf/simulated/floor/airless{tag = "icon-damaged4"; icon_state = "damaged4"},/area/derelict/crew_quarters)
|
"csb" = (/turf/simulated/floor/airless{tag = "icon-damaged4"; icon_state = "damaged4"},/area/derelict/crew_quarters)
|
||||||
"csc" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/crew_quarters)
|
"csc" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/crew_quarters)
|
||||||
"csd" = (/turf/simulated/floor/airless{tag = "icon-damaged5"; icon_state = "damaged5"},/area/derelict/crew_quarters)
|
"csd" = (/turf/simulated/floor/airless{tag = "icon-damaged5"; icon_state = "damaged5"},/area/derelict/crew_quarters)
|
||||||
"cse" = (/obj/lattice,/obj/item/weapon/rods,/turf/space,/area)
|
"cse" = (/obj/lattice,/obj/item/stack/rods,/turf/space,/area)
|
||||||
"csf" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
"csf" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
||||||
"csg" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/window{icon_state = "rwindow"; dir = 8; reinf = 1},/turf/simulated/floor,/area/derelict/hallway/secondary)
|
"csg" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/window{icon_state = "rwindow"; dir = 8; reinf = 1},/turf/simulated/floor,/area/derelict/hallway/secondary)
|
||||||
"csh" = (/turf/simulated/floor/airless{tag = "icon-damaged3"; icon_state = "damaged3"},/area/derelict/crew_quarters)
|
"csh" = (/turf/simulated/floor/airless{tag = "icon-damaged3"; icon_state = "damaged3"},/area/derelict/crew_quarters)
|
||||||
@@ -6435,7 +6435,7 @@
|
|||||||
"ctM" = (/obj/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload)
|
"ctM" = (/obj/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload)
|
||||||
"ctN" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/bridge/ai_upload)
|
"ctN" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/bridge/ai_upload)
|
||||||
"ctO" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
"ctO" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
||||||
"ctP" = (/obj/item/weapon/rods,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
|
"ctP" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
|
||||||
"ctQ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area)
|
"ctQ" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area)
|
||||||
"ctR" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
"ctR" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
||||||
"ctS" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
"ctS" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
||||||
|
|||||||
@@ -838,7 +838,7 @@
|
|||||||
"aqf" = (/obj/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
|
"aqf" = (/obj/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness)
|
||||||
"aqg" = (/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
"aqg" = (/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
||||||
"aqh" = (/obj/securearea{tag = "icon-space"; name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"},/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
"aqh" = (/obj/securearea{tag = "icon-space"; name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"},/turf/simulated/wall/r_wall,/area/maintenance/fpmaint2)
|
||||||
"aqi" = (/obj/item/weapon/tile,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"aqi" = (/obj/item/stack/tile,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
"aqj" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"aqj" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
"aqk" = (/obj/machinery/light/small{dir = 1},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"aqk" = (/obj/machinery/light/small{dir = 1},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
"aql" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced/west,/obj/window/reinforced/east,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
"aql" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced/west,/obj/window/reinforced/east,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
|
||||||
@@ -990,7 +990,7 @@
|
|||||||
"atb" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"atb" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"atc" = (/obj/reagent_dispensers/fueltank,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"atc" = (/obj/reagent_dispensers/fueltank,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"atd" = (/obj/reagent_dispensers/watertank,/obj/machinery/camera{c_tag = "EVA North-East"; dir = 2},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"atd" = (/obj/reagent_dispensers/watertank,/obj/machinery/camera{c_tag = "EVA North-East"; dir = 2},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"ate" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/crowbar,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"ate" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/crowbar,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"atf" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
|
"atf" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||||
"atg" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
|
"atg" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||||
"ath" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/camera{c_tag = "Dormitory"; c_tag_order = 999; dir = 4},/turf/simulated/floor{tag = "icon-neutral (WEST)"; icon_state = "neutral"; dir = 8},/area/crew_quarters)
|
"ath" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/camera{c_tag = "Dormitory"; c_tag_order = 999; dir = 4},/turf/simulated/floor{tag = "icon-neutral (WEST)"; icon_state = "neutral"; dir = 8},/area/crew_quarters)
|
||||||
@@ -1022,7 +1022,7 @@
|
|||||||
"atH" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
|
"atH" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
|
||||||
"atI" = (/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "EVA_airlock_pump"; exterior_door_tag = "EVA_airlock_exterior"; id_tag = "EVA_airlock_control"; interior_door_tag = "EVA_airlock_interior"; pixel_x = -24; pixel_y = 0; sensor_tag = "EVA_airlock_sensor"},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"atI" = (/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "EVA_airlock_pump"; exterior_door_tag = "EVA_airlock_exterior"; id_tag = "EVA_airlock_control"; interior_door_tag = "EVA_airlock_interior"; pixel_x = -24; pixel_y = 0; sensor_tag = "EVA_airlock_sensor"},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"atJ" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"atJ" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"atK" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"atK" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"atL" = (/obj/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; tag = "icon-shock"},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
|
"atL" = (/obj/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; tag = "icon-shock"},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
|
||||||
"atM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
|
"atM" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||||
"atN" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
|
"atN" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
|
||||||
@@ -1071,7 +1071,7 @@
|
|||||||
"auE" = (/obj/rack{dir = 8},/obj/item/weapon/tank/jetpack,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
"auE" = (/obj/rack{dir = 8},/obj/item/weapon/tank/jetpack,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||||
"auF" = (/obj/rack{dir = 4},/obj/item/clothing/suit/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/mask/medical,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
"auF" = (/obj/rack{dir = 4},/obj/item/clothing/suit/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/mask/medical,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||||
"auG" = (/obj/rack{dir = 4},/obj/item/clothing/shoes/magboots,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
"auG" = (/obj/rack{dir = 4},/obj/item/clothing/shoes/magboots,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||||
"auH" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/weapon/sheet/glass{amount = 50},/obj/item/weapon/rods{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"auH" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"auI" = (/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
|
"auI" = (/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
|
||||||
"auJ" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
|
"auJ" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
|
||||||
"auK" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/hallway/primary/fore)
|
"auK" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/hallway/primary/fore)
|
||||||
@@ -1110,7 +1110,7 @@
|
|||||||
"avr" = (/obj/rack{dir = 8},/obj/landmark{name = "ExplorationPack"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
"avr" = (/obj/rack{dir = 8},/obj/landmark{name = "ExplorationPack"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||||
"avs" = (/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
"avs" = (/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||||
"avt" = (/obj/rack{dir = 4},/obj/landmark{name = "ExplorationPack"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
"avt" = (/obj/rack{dir = 4},/obj/landmark{name = "ExplorationPack"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
|
||||||
"avu" = (/obj/table{dir = 10; icon_state = "tabledir"},/obj/item/weapon/sheet/rglass{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"avu" = (/obj/table{dir = 10; icon_state = "tabledir"},/obj/item/stack/sheet/rglass{amount = 50},/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"avv" = (/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced,/obj/cable,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
|
"avv" = (/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced,/obj/cable,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
|
||||||
"avw" = (/obj/machinery/sink{icon_state = "sink"; dir = 8; pixel_x = -11; pixel_y = 10},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
|
"avw" = (/obj/machinery/sink{icon_state = "sink"; dir = 8; pixel_x = -11; pixel_y = 10},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
|
||||||
"avx" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
|
"avx" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
|
||||||
@@ -1149,7 +1149,7 @@
|
|||||||
"awe" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/radio/signaler,/obj/item/device/radio/signaler,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/storage/primary)
|
"awe" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/radio/signaler,/obj/item/device/radio/signaler,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awf" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/storage/primary)
|
"awf" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/multitool,/obj/machinery/cell_charger,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awg" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/storage/primary)
|
"awg" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awh" = (/obj/machinery/power/apc{dir = 1; name = "Storage APC"; pixel_x = -1; pixel_y = 26},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
"awh" = (/obj/machinery/power/apc{dir = 1; name = "Storage APC"; pixel_x = -1; pixel_y = 26},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awi" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/requests_console{department = "Assistant Storage"; departmentType = 1; pixel_y = 30},/turf/simulated/floor,/area/storage/primary)
|
"awi" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/requests_console{department = "Assistant Storage"; departmentType = 1; pixel_y = 30},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awj" = (/obj/item/weapon/cell,/turf/simulated/floor/plating,/area/storage/tech)
|
"awj" = (/obj/item/weapon/cell,/turf/simulated/floor/plating,/area/storage/tech)
|
||||||
"awk" = (/obj/rack{dir = 4},/obj/item/weapon/circuitboard/card,/turf/simulated/floor/plating,/area/storage/tech)
|
"awk" = (/obj/rack{dir = 4},/obj/item/weapon/circuitboard/card,/turf/simulated/floor/plating,/area/storage/tech)
|
||||||
@@ -1191,8 +1191,8 @@
|
|||||||
"awU" = (/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/storage/primary)
|
"awU" = (/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awV" = (/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
"awV" = (/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awW" = (/obj/stool{pixel_y = 8},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
"awW" = (/obj/stool{pixel_y = 8},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awX" = (/obj/item/weapon/rods{amount = 50},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
"awX" = (/obj/item/stack/rods{amount = 50},/obj/landmark/start{name = "Assistant"},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awY" = (/obj/item/weapon/sheet/glass{amount = 50},/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
"awY" = (/obj/item/stack/sheet/glass{amount = 50},/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/storage/primary)
|
||||||
"awZ" = (/turf/simulated/floor,/area/storage/primary)
|
"awZ" = (/turf/simulated/floor,/area/storage/primary)
|
||||||
"axa" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"axa" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"axb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/storage/lightbox/tubes,/turf/simulated/floor/plating,/area/storage/tech)
|
"axb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/storage/lightbox/tubes,/turf/simulated/floor/plating,/area/storage/tech)
|
||||||
@@ -1257,7 +1257,7 @@
|
|||||||
"ayi" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall/r_wall,/area/maintenance/fpmaint)
|
"ayi" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall/r_wall,/area/maintenance/fpmaint)
|
||||||
"ayj" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/rack{dir = 1},/obj/item/clothing/mask/gas/emergency,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayj" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/rack{dir = 1},/obj/item/clothing/mask/gas/emergency,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"ayk" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayk" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"ayl" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/weapon/tile,/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
"ayl" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/stack/tile,/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||||
"aym" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
|
"aym" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
|
||||||
"ayn" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/cable_coil,/obj/item/weapon/cell,/obj/machinery/cell_charger,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"ayn" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/cable_coil,/obj/item/weapon/cell,/obj/machinery/cell_charger,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
"ayo" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
"ayo" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/ai_monitored/storage/eva)
|
||||||
@@ -2005,7 +2005,7 @@
|
|||||||
"aMC" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable,/turf/simulated/floor,/area/medical/robotics)
|
"aMC" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable,/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aMD" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
"aMD" = (/obj/machinery/robotic_fabricator,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aME" = (/obj/machinery/robotic_fabricator,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
"aME" = (/obj/machinery/robotic_fabricator,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aMF" = (/obj/crate,/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil,/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/turf/simulated/floor,/area/medical/robotics)
|
"aMF" = (/obj/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor,/area/medical/robotics)
|
||||||
"aMG" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/medical/robotics)
|
"aMG" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/medical/robotics)
|
||||||
"aMH" = (/obj/stool/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/secondary/exit)
|
"aMH" = (/obj/stool/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/secondary/exit)
|
||||||
"aMI" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
|
"aMI" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
|
||||||
@@ -2421,7 +2421,7 @@
|
|||||||
"aUC" = (/obj/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
"aUC" = (/obj/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
||||||
"aUD" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
"aUD" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet)
|
||||||
"aUE" = (/obj/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/port)
|
"aUE" = (/obj/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/port)
|
||||||
"aUF" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/obj/item/weapon/sheet/rglass,/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUF" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/obj/item/stack/sheet/rglass,/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
"aUG" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUG" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/item/weapon/screwdriver,/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
"aUH" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUH" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
"aUI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/port)
|
"aUI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/port)
|
||||||
@@ -2777,7 +2777,7 @@
|
|||||||
"bbu" = (/obj/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/storage)
|
"bbu" = (/obj/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/storage)
|
||||||
"bbv" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; location = "QM #2"},/obj/machinery/bot/mulebot{home_destination = "QM #2"; suffix = "#2"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
|
"bbv" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; location = "QM #2"},/obj/machinery/bot/mulebot{home_destination = "QM #2"; suffix = "#2"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage)
|
||||||
"bbw" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/west,/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/storage)
|
"bbw" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/west,/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/quartermaster/storage)
|
||||||
"bbx" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/rods{amount = 50},/turf/simulated/floor,/area/quartermaster/office)
|
"bbx" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/quartermaster/office)
|
||||||
"bby" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/quartermaster)
|
"bby" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/quartermaster)
|
||||||
"bbz" = (/obj/stool/chair{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/turf/simulated/floor,/area/quartermaster)
|
"bbz" = (/obj/stool/chair{dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/turf/simulated/floor,/area/quartermaster)
|
||||||
"bbA" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/east,/obj/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster)
|
"bbA" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/east,/obj/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster)
|
||||||
@@ -4512,7 +4512,7 @@
|
|||||||
"bIN" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIN" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIO" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIO" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIP" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/item/weapon/paper,/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIP" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/item/weapon/paper,/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIQ" = (/obj/item/weapon/sheet/glass{amount = 50},/obj/item/weapon/sheet/glass{amount = 50},/obj/item/weapon/sheet/glass{amount = 50},/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIQ" = (/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIR" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/machinery/light/small{dir = 4},/obj/item/device/analyzer,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/turf/simulated/floor,/area/engine/engine_hallway)
|
"bIR" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/machinery/light/small{dir = 4},/obj/item/device/analyzer,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/utilitybelt,/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bIS" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/turf/simulated/wall/r_wall,/area/atmos)
|
"bIS" = (/obj/machinery/atmospherics/pipe/simple,/obj/grille,/turf/simulated/wall/r_wall,/area/atmos)
|
||||||
"bIT" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor/plating/airless,/area)
|
"bIT" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor/plating/airless,/area)
|
||||||
@@ -4544,7 +4544,7 @@
|
|||||||
"bJt" = (/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJt" = (/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJu" = (/obj/item/weapon/storage/pill_bottle/kelotane,/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJu" = (/obj/item/weapon/storage/pill_bottle/kelotane,/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJw" = (/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJw" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJx" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/turf/simulated/floor,/area/engine/engine_hallway)
|
"bJx" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bJy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
"bJy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
||||||
"bJz" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
"bJz" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos)
|
||||||
@@ -4714,7 +4714,7 @@
|
|||||||
"bMH" = (/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMH" = (/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMI" = (/obj/item/clothing/head/helmet/hardhat,/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMI" = (/obj/item/clothing/head/helmet/hardhat,/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMJ" = (/obj/item/weapon/weldingtool,/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMJ" = (/obj/item/weapon/weldingtool,/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMK" = (/obj/item/weapon/rods,/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bMK" = (/obj/item/stack/rods,/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bML" = (/obj/item/weapon/caution{desc = "Caution! Construction Zone!"; name = "caution sign"},/turf/simulated/floor/engine,/area/engine/engine_control)
|
"bML" = (/obj/item/weapon/caution{desc = "Caution! Construction Zone!"; name = "caution sign"},/turf/simulated/floor/engine,/area/engine/engine_control)
|
||||||
"bMM" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; initialize_directions = 5; layer = 3},/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bMM" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; initialize_directions = 5; layer = 3},/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
"bMN" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/engine/engine_hallway)
|
"bMN" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/engine/engine_hallway)
|
||||||
@@ -4926,8 +4926,8 @@
|
|||||||
"bQL" = (/obj/table/reinforced{tag = "icon-reinf_tabledir"; icon_state = "reinf_tabledir"},/obj/item/weapon/cigpacket,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bQL" = (/obj/table/reinforced{tag = "icon-reinf_tabledir"; icon_state = "reinf_tabledir"},/obj/item/weapon/cigpacket,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bQM" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bQM" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bQN" = (/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bQN" = (/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bQO" = (/obj/item/weapon/sheet/glass{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bQO" = (/obj/item/stack/sheet/glass{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bQP" = (/obj/item/weapon/sheet/metal{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
"bQP" = (/obj/item/stack/sheet/metal{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/shuttle)
|
||||||
"bQQ" = (/obj/machinery/door/airlock/centcom{opacity = 1; req_access_txt = "20"},/turf/unsimulated/floor{tag = "icon-bar"; icon_state = "bar"; dir = 2},/area/centcom/living)
|
"bQQ" = (/obj/machinery/door/airlock/centcom{opacity = 1; req_access_txt = "20"},/turf/unsimulated/floor{tag = "icon-bar"; icon_state = "bar"; dir = 2},/area/centcom/living)
|
||||||
"bQR" = (/turf/unsimulated/wall,/area/centcom/suppy)
|
"bQR" = (/turf/unsimulated/wall,/area/centcom/suppy)
|
||||||
"bQS" = (/obj/machinery/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion_l"; dir = 4; pixel_y = -1},/turf/space,/area/centcom/shuttle)
|
"bQS" = (/obj/machinery/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion_l"; dir = 4; pixel_y = -1},/turf/space,/area/centcom/shuttle)
|
||||||
@@ -5285,8 +5285,8 @@
|
|||||||
"bXG" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "NTrasen"; name = "Outer Airlock"; p_open = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
|
"bXG" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "NTrasen"; name = "Outer Airlock"; p_open = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
|
||||||
"bXH" = (/obj/rack,/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{tag = "icon-grimy"; icon_state = "grimy"},/area/centcom/creed)
|
"bXH" = (/obj/rack,/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{tag = "icon-grimy"; icon_state = "grimy"},/area/centcom/creed)
|
||||||
"bXI" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/centcom)
|
"bXI" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/centcom)
|
||||||
"bXJ" = (/obj/item/weapon/sheet/glass{amount = 50},/obj/item/weapon/sheet/glass{amount = 50},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/centcom)
|
"bXJ" = (/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/centcom)
|
||||||
"bXK" = (/obj/item/weapon/sheet/metal{amount = 50},/obj/item/weapon/sheet/metal{amount = 50},/turf/unsimulated/floor{tag = "icon-green (EAST)"; icon_state = "green"; dir = 4},/area/centcom)
|
"bXK" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/unsimulated/floor{tag = "icon-green (EAST)"; icon_state = "green"; dir = 4},/area/centcom)
|
||||||
"bXL" = (/obj/stool/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
|
"bXL" = (/obj/stool/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom)
|
||||||
"bXM" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom)
|
"bXM" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom)
|
||||||
"bXN" = (/obj/window/reinforced/east{dir = 5},/turf/unsimulated/floor{tag = "icon-grimy"; icon_state = "grimy"},/area/centcom/creed)
|
"bXN" = (/obj/window/reinforced/east{dir = 5},/turf/unsimulated/floor{tag = "icon-grimy"; icon_state = "grimy"},/area/centcom/creed)
|
||||||
@@ -6013,7 +6013,7 @@
|
|||||||
"clG" = (/obj/window{icon_state = "rwindow"; reinf = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
"clG" = (/obj/window{icon_state = "rwindow"; reinf = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"clH" = (/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
"clH" = (/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"clI" = (/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/turf/simulated/floor,/area/derelict/bridge)
|
"clI" = (/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"clJ" = (/obj/item/weapon/rods,/turf/simulated/floor/plating/airless,/area)
|
"clJ" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area)
|
||||||
"clK" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/wall,/area/derelict/bridge/access)
|
"clK" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/wall,/area/derelict/bridge/access)
|
||||||
"clL" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
"clL" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"clM" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/bridge/access)
|
"clM" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
@@ -6033,7 +6033,7 @@
|
|||||||
"cma" = (/obj/stool/chair,/turf/simulated/floor,/area/derelict/bridge)
|
"cma" = (/obj/stool/chair,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"cmb" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/derelict/bridge)
|
"cmb" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"cmc" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/derelict/bridge)
|
"cmc" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"cmd" = (/obj/item/weapon/rods,/turf/space,/area)
|
"cmd" = (/obj/item/stack/rods,/turf/space,/area)
|
||||||
"cme" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
"cme" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor,/area/derelict/bridge/access)
|
||||||
"cmf" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/derelict/bridge)
|
"cmf" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/derelict/bridge)
|
||||||
"cmg" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/window/basic,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/derelict/bridge)
|
"cmg" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/window/basic,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/derelict/bridge)
|
||||||
@@ -6368,14 +6368,14 @@
|
|||||||
"csx" = (/obj/window/basic{tag = "icon-window (NORTH)"; icon_state = "window"; dir = 1},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary)
|
"csx" = (/obj/window/basic{tag = "icon-window (NORTH)"; icon_state = "window"; dir = 1},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary)
|
||||||
"csy" = (/obj/grille,/obj/item/weapon/shard,/obj/item/weapon/shard{tag = "icon-medium"; icon_state = "medium"},/turf/simulated/floor/plating/airless,/area)
|
"csy" = (/obj/grille,/obj/item/weapon/shard,/obj/item/weapon/shard{tag = "icon-medium"; icon_state = "medium"},/turf/simulated/floor/plating/airless,/area)
|
||||||
"csz" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor/plating/airless,/area/derelict/arrival)
|
"csz" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 10; reinf = 1},/turf/simulated/floor/plating/airless,/area/derelict/arrival)
|
||||||
"csA" = (/obj/structure/girder,/obj/item/weapon/rods,/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
"csA" = (/obj/structure/girder,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
||||||
"csB" = (/obj/item/weapon/rods,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
"csB" = (/obj/item/stack/rods,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
||||||
"csC" = (/obj/item/weapon/shard{tag = "icon-small"; icon_state = "small"},/turf/space,/area)
|
"csC" = (/obj/item/weapon/shard{tag = "icon-small"; icon_state = "small"},/turf/space,/area)
|
||||||
"csD" = (/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
"csD" = (/turf/simulated/floor/plating/airless,/area/derelict/crew_quarters)
|
||||||
"csE" = (/turf/simulated/floor/airless{tag = "icon-damaged4"; icon_state = "damaged4"},/area/derelict/crew_quarters)
|
"csE" = (/turf/simulated/floor/airless{tag = "icon-damaged4"; icon_state = "damaged4"},/area/derelict/crew_quarters)
|
||||||
"csF" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/crew_quarters)
|
"csF" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/crew_quarters)
|
||||||
"csG" = (/turf/simulated/floor/airless{tag = "icon-damaged5"; icon_state = "damaged5"},/area/derelict/crew_quarters)
|
"csG" = (/turf/simulated/floor/airless{tag = "icon-damaged5"; icon_state = "damaged5"},/area/derelict/crew_quarters)
|
||||||
"csH" = (/obj/lattice,/obj/item/weapon/rods,/turf/space,/area)
|
"csH" = (/obj/lattice,/obj/item/stack/rods,/turf/space,/area)
|
||||||
"csI" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
"csI" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary)
|
||||||
"csJ" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/window{icon_state = "rwindow"; dir = 8; reinf = 1},/turf/simulated/floor,/area/derelict/hallway/secondary)
|
"csJ" = (/obj/grille,/obj/window{icon_state = "rwindow"; dir = 4; invisibility = 0; reinf = 1},/obj/window{icon_state = "rwindow"; dir = 8; reinf = 1},/turf/simulated/floor,/area/derelict/hallway/secondary)
|
||||||
"csK" = (/turf/simulated/floor/airless{tag = "icon-damaged3"; icon_state = "damaged3"},/area/derelict/crew_quarters)
|
"csK" = (/turf/simulated/floor/airless{tag = "icon-damaged3"; icon_state = "damaged3"},/area/derelict/crew_quarters)
|
||||||
@@ -6465,7 +6465,7 @@
|
|||||||
"cuq" = (/obj/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload)
|
"cuq" = (/obj/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload)
|
||||||
"cur" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/bridge/ai_upload)
|
"cur" = (/turf/simulated/floor/airless{tag = "icon-damaged2"; icon_state = "damaged2"},/area/derelict/bridge/ai_upload)
|
||||||
"cus" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
"cus" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
||||||
"cut" = (/obj/item/weapon/rods,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
|
"cut" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary)
|
||||||
"cuu" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area)
|
"cuu" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area)
|
||||||
"cuv" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
"cuv" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
||||||
"cuw" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
"cuw" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)
|
||||||
|
|||||||
@@ -70,6 +70,7 @@
|
|||||||
#define FILE_DIR "code/game/objects/radio"
|
#define FILE_DIR "code/game/objects/radio"
|
||||||
#define FILE_DIR "code/game/objects/secstorage"
|
#define FILE_DIR "code/game/objects/secstorage"
|
||||||
#define FILE_DIR "code/game/objects/spawners"
|
#define FILE_DIR "code/game/objects/spawners"
|
||||||
|
#define FILE_DIR "code/game/objects/stacks"
|
||||||
#define FILE_DIR "code/game/objects/storage"
|
#define FILE_DIR "code/game/objects/storage"
|
||||||
#define FILE_DIR "code/game/spacecraft"
|
#define FILE_DIR "code/game/spacecraft"
|
||||||
#define FILE_DIR "code/game/verbs"
|
#define FILE_DIR "code/game/verbs"
|
||||||
@@ -516,14 +517,12 @@
|
|||||||
#include "code\game\objects\items\weapons\clown_items.dm"
|
#include "code\game\objects\items\weapons\clown_items.dm"
|
||||||
#include "code\game\objects\items\weapons\explosives.dm"
|
#include "code\game\objects\items\weapons\explosives.dm"
|
||||||
#include "code\game\objects\items\weapons\flamethrower.dm"
|
#include "code\game\objects\items\weapons\flamethrower.dm"
|
||||||
#include "code\game\objects\items\weapons\glass.dm"
|
|
||||||
#include "code\game\objects\items\weapons\grenades.dm"
|
#include "code\game\objects\items\weapons\grenades.dm"
|
||||||
#include "code\game\objects\items\weapons\guns_ammo.dm"
|
#include "code\game\objects\items\weapons\guns_ammo.dm"
|
||||||
#include "code\game\objects\items\weapons\hydroponics.dm"
|
#include "code\game\objects\items\weapons\hydroponics.dm"
|
||||||
#include "code\game\objects\items\weapons\implants.dm"
|
#include "code\game\objects\items\weapons\implants.dm"
|
||||||
#include "code\game\objects\items\weapons\kitchen.dm"
|
#include "code\game\objects\items\weapons\kitchen.dm"
|
||||||
#include "code\game\objects\items\weapons\medical.dm"
|
#include "code\game\objects\items\weapons\medical.dm"
|
||||||
#include "code\game\objects\items\weapons\metals_rods.dm"
|
|
||||||
#include "code\game\objects\items\weapons\misc.dm"
|
#include "code\game\objects\items\weapons\misc.dm"
|
||||||
#include "code\game\objects\items\weapons\mops_cleaners.dm"
|
#include "code\game\objects\items\weapons\mops_cleaners.dm"
|
||||||
#include "code\game\objects\items\weapons\papers_bins.dm"
|
#include "code\game\objects\items\weapons\papers_bins.dm"
|
||||||
@@ -545,6 +544,9 @@
|
|||||||
#include "code\game\objects\secstorage\secstorage.dm"
|
#include "code\game\objects\secstorage\secstorage.dm"
|
||||||
#include "code\game\objects\secstorage\ssafe.dm"
|
#include "code\game\objects\secstorage\ssafe.dm"
|
||||||
#include "code\game\objects\spawners\bomb.dm"
|
#include "code\game\objects\spawners\bomb.dm"
|
||||||
|
#include "code\game\objects\stacks\glass.dm"
|
||||||
|
#include "code\game\objects\stacks\metal.dm"
|
||||||
|
#include "code\game\objects\stacks\stack.dm"
|
||||||
#include "code\game\objects\storage\backpack.dm"
|
#include "code\game\objects\storage\backpack.dm"
|
||||||
#include "code\game\objects\storage\bible.dm"
|
#include "code\game\objects\storage\bible.dm"
|
||||||
#include "code\game\objects\storage\briefcase.dm"
|
#include "code\game\objects\storage\briefcase.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user