Merge pull request #1493 from VOREStation/aro-tether-wip

Tether Map
This commit is contained in:
Arokha Sieyes
2017-05-20 17:19:32 -04:00
committed by GitHub
281 changed files with 24686 additions and 690 deletions
@@ -123,4 +123,5 @@
/obj/item/device/encryptionkey/ert
name = "\improper ERT radio encryption key"
icon_state = "cent_cypherkey"
channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)
@@ -1,13 +1,17 @@
/obj/item/device/radio/headset/centcom
name = "centcom radio headset"
desc = "The headset of the boss's boss."
icon_state = "com_headset"
icon_state = "cent_headset"
item_state = "headset"
ks2type = /obj/item/device/encryptionkey/ert
/obj/item/device/radio/headset/centcom/alt
name = "centcom bowman headset"
desc = "The headset of the boss's boss."
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
ks2type = /obj/item/device/encryptionkey/ert
/obj/item/device/radio/headset/nanotrasen
name = "\improper NT radio headset"
desc = "The headset of a Nanotrasen corporate employee."
icon_state = "nt_headset"
ks2type = /obj/item/device/encryptionkey/ert
@@ -1,6 +1,7 @@
/obj/item/device/radio/intercom
name = "station intercom (General)"
desc = "Talk through this."
icon = 'icons/obj/radio_vr.dmi' //VOREStation Edit - New Icon
icon_state = "intercom"
anchored = 1
w_class = ITEMSIZE_LARGE
@@ -22,8 +22,8 @@ var/global/list/default_medbay_channels = list(
)
/obj/item/device/radio
icon = 'icons/obj/radio.dmi'
name = "station bounced radio"
icon = 'icons/obj/radio_vr.dmi' //VOREStation Edit
name = "shortwave radio" //VOREStation Edit
suffix = "\[3\]"
icon_state = "walkietalkie"
item_state = "radio"
+3 -2
View File
@@ -21,10 +21,11 @@
/obj/item/device/uplink/New(var/location, var/datum/mind/owner, var/telecrystals = DEFAULT_TELECRYSTAL_AMOUNT)
..()
src.uplink_owner = owner
if(owner) //VOREStation Edit - Owner optional
src.uplink_owner = owner
uses = owner.tcrystals
purchase_log = list()
world_uplinks += src
uses = owner.tcrystals
processing_objects += src
/obj/item/device/uplink/Destroy()
+189 -153
View File
@@ -1,154 +1,190 @@
/* Diffrent misc types of tiles
* Contains:
* Prototype
* Grass
* Wood
* Carpet
* Blue Carpet
* Linoleum
*
* Put your stuff in fifty_stacks_tiles.dm as well.
*/
/obj/item/stack/tile
name = "tile"
singular_name = "tile"
desc = "A non-descript floor tile"
w_class = ITEMSIZE_NORMAL
max_amount = 60
/obj/item/stack/tile/New()
..()
pixel_x = rand(-7, 7)
pixel_y = rand(-7, 7)
/*
* Grass
*/
/obj/item/stack/tile/grass
name = "grass tile"
singular_name = "grass floor tile"
desc = "A patch of grass like they often use on golf courses."
icon_state = "tile_grass"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
origin_tech = list(TECH_BIO = 1)
/obj/item/stack/tile/grass/fifty
amount = 50
/*
* Wood
*/
/obj/item/stack/tile/wood
name = "wood floor tile"
singular_name = "wood floor tile"
desc = "An easy to fit wooden floor tile."
icon_state = "tile-wood"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
/obj/item/stack/tile/wood/fifty
amount = 50
/obj/item/stack/tile/wood/cyborg
name = "wood floor tile synthesizer"
desc = "A device that makes wood floor tiles."
uses_charge = 1
charge_costs = list(250)
stacktype = /obj/item/stack/tile/wood
build_type = /obj/item/stack/tile/wood
/*
* Carpets
*/
/obj/item/stack/tile/carpet
name = "carpet"
singular_name = "carpet"
desc = "A piece of carpet. It is the same size as a normal floor tile!"
icon_state = "tile-carpet"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
/obj/item/stack/tile/carpet/blue
name = "blue carpet"
singular_name = "blue carpet"
desc = "A piece of blue carpet. It is the same size as a normal floor tile!"
icon_state = "tile-bluecarpet"
/obj/item/stack/tile/floor
name = "floor tile"
singular_name = "floor tile"
desc = "Those could work as a pretty decent throwing weapon" //why?
icon_state = "tile"
force = 6.0
matter = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT / 4)
throwforce = 15.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
/obj/item/stack/tile/floor_red
name = "red floor tile"
singular_name = "red floor tile"
color = COLOR_RED_GRAY
icon_state = "tile_white"
/obj/item/stack/tile/floor_steel
name = "steel floor tile"
singular_name = "steel floor tile"
icon_state = "tile_steel"
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor_white
name = "white floor tile"
singular_name = "white floor tile"
icon_state = "tile_white"
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor_yellow
name = "yellow floor tile"
singular_name = "yellow floor tile"
color = COLOR_BROWN
icon_state = "tile_white"
/obj/item/stack/tile/floor_dark
name = "dark floor tile"
singular_name = "dark floor tile"
icon_state = "fr_tile"
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor_freezer
name = "freezer floor tile"
singular_name = "freezer floor tile"
icon_state = "tile_freezer"
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor/cyborg
name = "floor tile synthesizer"
desc = "A device that makes floor tiles."
gender = NEUTER
matter = null
uses_charge = 1
charge_costs = list(250)
stacktype = /obj/item/stack/tile/floor
build_type = /obj/item/stack/tile/floor
/obj/item/stack/tile/linoleum
name = "linoleum"
singular_name = "linoleum"
desc = "A piece of linoleum. It is the same size as a normal floor tile!"
icon_state = "tile-linoleum"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
/* Diffrent misc types of tiles
* Contains:
* Prototype
* Grass
* Wood
* Carpet
* Blue Carpet
* Linoleum
*
* Put your stuff in fifty_stacks_tiles.dm as well.
*/
/obj/item/stack/tile
name = "tile"
singular_name = "tile"
desc = "A non-descript floor tile"
w_class = ITEMSIZE_NORMAL
max_amount = 60
/obj/item/stack/tile/New()
..()
pixel_x = rand(-7, 7)
pixel_y = rand(-7, 7)
/*
* Grass
*/
/obj/item/stack/tile/grass
name = "grass tile"
singular_name = "grass floor tile"
desc = "A patch of grass like they often use on golf courses."
icon_state = "tile_grass"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
origin_tech = list(TECH_BIO = 1)
/obj/item/stack/tile/grass/fifty
amount = 50
/*
* Wood
*/
/obj/item/stack/tile/wood
name = "wood floor tile"
singular_name = "wood floor tile"
desc = "An easy to fit wooden floor tile."
icon_state = "tile-wood"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
/obj/item/stack/tile/wood/fifty
amount = 50
/obj/item/stack/tile/wood/cyborg
name = "wood floor tile synthesizer"
desc = "A device that makes wood floor tiles."
uses_charge = 1
charge_costs = list(250)
stacktype = /obj/item/stack/tile/wood
build_type = /obj/item/stack/tile/wood
/*
* Carpets
*/
/obj/item/stack/tile/carpet
name = "carpet"
singular_name = "carpet"
desc = "A piece of carpet. It is the same size as a normal floor tile!"
icon_state = "tile-carpet"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
/obj/item/stack/tile/carpet/blue
name = "blue carpet"
singular_name = "blue carpet"
desc = "A piece of blue carpet. It is the same size as a normal floor tile!"
icon_state = "tile-bluecarpet"
// VOREStation Edit
// TODO - Add descriptions to these
/obj/item/stack/tile/carpet/bcarpet
icon_state = "tile-bcarpet"
/obj/item/stack/tile/carpet/blucarpet
icon_state = "tile-blucarpet"
/obj/item/stack/tile/carpet/turcarpet
icon_state = "tile-turcarpet"
/obj/item/stack/tile/carpet/sblucarpet
icon_state = "tile-sblucarpet"
/obj/item/stack/tile/carpet/gaycarpet
icon_state = "tile-gaycarpet"
/obj/item/stack/tile/carpet/purcarpet
icon_state = "tile-purcarpet"
/obj/item/stack/tile/carpet/oracarpet
icon_state = "tile-oracarpet"
// VOREStation Edit End
/obj/item/stack/tile/floor
name = "floor tile"
singular_name = "floor tile"
desc = "Those could work as a pretty decent throwing weapon" //why?
icon_state = "tile"
force = 6.0
matter = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT / 4)
throwforce = 15.0
throw_speed = 5
throw_range = 20
flags = CONDUCT
/obj/item/stack/tile/floor/red
name = "red floor tile"
singular_name = "red floor tile"
color = COLOR_RED_GRAY
icon_state = "tile_white"
// VOREStation Edit
/obj/item/stack/tile/floor/techgrey
name = "grey techfloor tile"
singular_name = "grey techfloor tile"
icon_state = "techtile_grey"
/obj/item/stack/tile/floor/techgrid
name = "grid techfloor tile"
singular_name = "grid techfloor tile"
icon_state = "techtile_grid"
/obj/item/stack/tile/floor/steel_dirty
name = "steel floor tile"
singular_name = "steel floor tile"
icon_state = "tile_steel"
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
// VOREStation Edit End
/obj/item/stack/tile/floor/steel
name = "steel floor tile"
singular_name = "steel floor tile"
icon_state = "tile_steel"
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor/white
name = "white floor tile"
singular_name = "white floor tile"
icon_state = "tile_white"
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor/yellow
name = "yellow floor tile"
singular_name = "yellow floor tile"
color = COLOR_BROWN
icon_state = "tile_white"
/obj/item/stack/tile/floor/dark
name = "dark floor tile"
singular_name = "dark floor tile"
icon_state = "fr_tile"
matter = list("plasteel" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor/freezer
name = "freezer floor tile"
singular_name = "freezer floor tile"
icon_state = "tile_freezer"
matter = list("plastic" = SHEET_MATERIAL_AMOUNT / 4)
/obj/item/stack/tile/floor/cyborg
name = "floor tile synthesizer"
desc = "A device that makes floor tiles."
gender = NEUTER
matter = null
uses_charge = 1
charge_costs = list(250)
stacktype = /obj/item/stack/tile/floor
build_type = /obj/item/stack/tile/floor
/obj/item/stack/tile/linoleum
name = "linoleum"
singular_name = "linoleum"
desc = "A piece of linoleum. It is the same size as a normal floor tile!"
icon_state = "tile-linoleum"
force = 1.0
throwforce = 1.0
throw_speed = 5
throw_range = 20
flags = 0
@@ -14,3 +14,15 @@
/obj/item/weapon/stock_parts/matter_bin = 2,
/obj/item/weapon/stock_parts/manipulator = 2,
/obj/item/weapon/stock_parts/console_screen = 1)
// Board for the algae oxygen generator in algae_generator.dm
/obj/item/weapon/circuitboard/algae_farm
name = T_BOARD("algae oxygen generator")
build_path = /obj/machinery/atmospherics/binary/algae_farm
board_type = new /datum/frame/frame_types/machine
origin_tech = list(TECH_ENGINEERING = 3, TECH_BIO = 2)
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 2,
/obj/item/weapon/stock_parts/manipulator = 1,
/obj/item/weapon/stock_parts/capacitor = 1,
/obj/item/weapon/stock_parts/console_screen = 1)
@@ -54,7 +54,7 @@
/obj/item/weapon/storage/box/survival/New()
..()
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/mask/gas(src) // VOREStation Edit - Tether
new /obj/item/weapon/tank/emergency/oxygen(src)
//VS Edit
+83
View File
@@ -0,0 +1,83 @@
// Based on catwalk.dm from https://github.com/Endless-Horizon/CEV-Eris
/obj/structure/catwalk
layer = TURF_LAYER + 0.5
icon = 'icons/turf/catwalks.dmi'
icon_state = "catwalk"
name = "catwalk"
desc = "Cats really don't like these things."
density = 0
anchored = 1.0
/obj/structure/catwalk/New()
..()
spawn(4)
if(src)
for(var/obj/structure/catwalk/C in get_turf(src))
if(C != src)
qdel(C)
update_icon()
redraw_nearby_catwalks()
/obj/structure/catwalk/Destroy()
..()
redraw_nearby_catwalks()
/obj/structure/catwalk/proc/redraw_nearby_catwalks()
for(var/direction in alldirs)
if(locate(/obj/structure/catwalk, get_step(src, direction)))
var/obj/structure/catwalk/L = locate(/obj/structure/catwalk, get_step(src, direction))
L.update_icon() //so siding get updated properly
/obj/structure/catwalk/update_icon()
var/connectdir = 0
for(var/direction in cardinal)
if(locate(/obj/structure/catwalk, get_step(src, direction)))
connectdir |= direction
//Check the diagonal connections for corners, where you have, for example, connections both north and east. In this case it checks for a north-east connection to determine whether to add a corner marker or not.
var/diagonalconnect = 0 //1 = NE; 2 = SE; 4 = NW; 8 = SW
//NORTHEAST
if(connectdir & NORTH && connectdir & EAST)
if(locate(/obj/structure/catwalk, get_step(src, NORTHEAST)))
diagonalconnect |= 1
//SOUTHEAST
if(connectdir & SOUTH && connectdir & EAST)
if(locate(/obj/structure/catwalk, get_step(src, SOUTHEAST)))
diagonalconnect |= 2
//NORTHWEST
if(connectdir & NORTH && connectdir & WEST)
if(locate(/obj/structure/catwalk, get_step(src, NORTHWEST)))
diagonalconnect |= 4
//SOUTHWEST
if(connectdir & SOUTH && connectdir & WEST)
if(locate(/obj/structure/catwalk, get_step(src, SOUTHWEST)))
diagonalconnect |= 8
icon_state = "catwalk[connectdir]-[diagonalconnect]"
/obj/structure/catwalk/ex_act(severity)
switch(severity)
if(1.0)
qdel(src)
if(2.0)
qdel(src)
return
/obj/structure/catwalk/attackby(obj/item/C as obj, mob/user as mob)
if (istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = C
if(WT.isOn())
if(WT.remove_fuel(0, user))
to_chat(user, "<span class='notice'>Slicing lattice joints ...</span>")
new /obj/item/stack/rods(src.loc)
new /obj/item/stack/rods(src.loc)
new /obj/structure/lattice(src.loc)
qdel(src)
return ..()
/obj/structure/catwalk/Crossed()
. = ..()
if(isliving(usr))
playsound(src, pick('sound/effects/footstep/catwalk1.ogg', 'sound/effects/footstep/catwalk2.ogg', 'sound/effects/footstep/catwalk3.ogg', 'sound/effects/footstep/catwalk4.ogg', 'sound/effects/footstep/catwalk5.ogg'), 25, 1)
@@ -46,6 +46,7 @@
new /obj/item/clothing/gloves/sterile/latex(src)
new /obj/item/device/radio/headset/heads/rd(src)
new /obj/item/device/radio/headset/heads/rd/alt(src)
new /obj/item/weapon/bluespace_harpoon //VOREStation Edit
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/device/flash(src)
@@ -43,8 +43,8 @@
new /obj/item/device/radio/headset/heads/hop/alt(src)
new /obj/item/weapon/storage/box/ids(src)
new /obj/item/weapon/storage/box/ids( src )
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/gun/projectile/sec/flash(src)
new /obj/item/weapon/gun/energy/gun/martin(src) //VOREStation Edit
//new /obj/item/weapon/gun/projectile/sec/flash(src) //VOREStation Edit
new /obj/item/device/flash(src)
return
@@ -83,7 +83,7 @@
/obj/structure/closet/secure_closet/hos
name = "head of security's locker"
name = "head of security's attire" //VOREStation Edit
req_access = list(access_hos)
icon_state = "hossecure1"
icon_closed = "hossecure"
@@ -92,7 +92,7 @@
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
storage_capacity = 2.5 * MOB_MEDIUM
//VOREStation Edit - This list split into two lockers
New()
..()
if(prob(50))
@@ -108,33 +108,50 @@
new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src)
new /obj/item/clothing/suit/storage/vest/hoscoat(src)
new /obj/item/clothing/head/helmet/HoS/dermal(src)
new /obj/item/weapon/cartridge/hos(src)
new /obj/item/device/radio/headset/heads/hos(src)
new /obj/item/device/radio/headset/heads/hos/alt(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/clothing/accessory/holster/waist(src)
new /obj/item/clothing/head/beret/sec/corporate/hos(src)
new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
new /obj/item/clothing/mask/gas/half(src)
return
//VOREStation Edit - Locker has too much junk in it, splitting it up
/obj/structure/closet/secure_closet/hos2
name = "head of security's gear"
req_access = list(access_hos)
icon_state = "hossecure1"
icon_closed = "hossecure"
icon_locked = "hossecure1"
icon_opened = "hossecureopen"
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
storage_capacity = 2.5 * MOB_MEDIUM
New()
..()
new /obj/item/weapon/cartridge/hos(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/shield/riot/tele(src)
new /obj/item/weapon/storage/box/holobadge/hos(src)
new /obj/item/clothing/accessory/badge/holo/hos(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/crowbar/red(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/projectile/lamia(src)
new /obj/item/ammo_magazine/a44/rubber(src)
new /obj/item/ammo_magazine/a44(src)
new /obj/item/ammo_magazine/a44(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/cell/device/weapon(src)
new /obj/item/clothing/accessory/holster/waist(src)
new /obj/item/weapon/melee/telebaton(src)
new /obj/item/clothing/head/beret/sec/corporate/hos(src)
new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src)
new /obj/item/device/flashlight/maglight(src)
new /obj/item/clothing/mask/gas/half(src)
return
/obj/structure/closet/secure_closet/warden
name = "warden's locker"
req_access = list(access_armory)
@@ -277,10 +294,10 @@
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/suit/storage/vest/detective(src)
new /obj/item/ammo_magazine/c45m/rubber(src)
new /obj/item/ammo_magazine/c45m/rubber(src)
new /obj/item/ammo_magazine/a44sl/rubber(src) //VOREStation Edit
new /obj/item/ammo_magazine/a44sl/rubber(src) //VOREStation Edit
new /obj/item/taperoll/police(src)
new /obj/item/weapon/gun/projectile/colt/detective(src)
new /obj/item/weapon/gun/projectile/revolver/consul(src) //VOREStation Edit
new /obj/item/clothing/accessory/holster/armpit(src)
new /obj/item/device/flashlight/maglight(src)
new /obj/item/weapon/reagent_containers/food/drinks/flask/detflask(src)
@@ -7,4 +7,151 @@
icon_opened = "hossecureopen"
icon_broken = "hossecurebroken"
icon_off = "hossecureoff"
storage_capacity = 3 * MOB_MEDIUM
storage_capacity = 3 * MOB_MEDIUM
//Custom NT Security Lockers, Only found at central command
/obj/structure/closet/secure_closet/nanotrasen_security
name = "NanoTrasen security officer's locker"
req_access = list(access_brig)
icon = 'icons/obj/closet_vr.dmi'
icon_state = "secC1"
icon_closed = "secC"
icon_locked = "sec1C"
icon_opened = "secCopen"
icon_broken = "secCbroken"
icon_off = "seCcoff"
storage_capacity = 3.5 * MOB_MEDIUM
New()
..()
if(prob(25))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel/sec(src)
if(prob(75))
new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
new /obj/item/clothing/suit/storage/vest/nanotrasen(src)
new /obj/item/clothing/head/helmet(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/taperoll/police(src)
new /obj/item/device/hailer(src)
new /obj/item/device/flashlight/flare(src)
new /obj/item/clothing/accessory/storage/black_vest(src)
new /obj/item/weapon/gun/energy/taser(src)
new /obj/item/weapon/cell/device/weapon(src)
new /obj/item/device/flashlight/maglight(src)
new /obj/item/clothing/head/soft/nanotrasen(src)
new /obj/item/clothing/head/beret/nanotrasen(src)
new /obj/item/clothing/under/nanotrasen/security(src)
new /obj/item/clothing/gloves/black(src)
new /obj/item/clothing/shoes/boots/jackboots(src)
new /obj/item/clothing/shoes/boots/jackboots/toeless(src)
return
/obj/structure/closet/secure_closet/nanotrasen_commander
name = "NanoTrasen commander's locker"
req_access = list(access_brig)
icon = 'icons/obj/closet_vr.dmi'
icon_state = "secC1"
icon_closed = "secC"
icon_locked = "sec1C"
icon_opened = "secCopen"
icon_broken = "secCbroken"
icon_off = "seCcoff"
storage_capacity = 3.5 * MOB_MEDIUM
New()
..()
if(prob(25))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel/sec(src)
if(prob(75))
new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
new /obj/item/clothing/head/helmet/HoS(src)
new /obj/item/clothing/suit/storage/vest/hos(src)
new /obj/item/clothing/under/rank/head_of_security/jensen(src)
new /obj/item/clothing/suit/storage/vest/hoscoat/jensen(src)
new /obj/item/clothing/suit/storage/vest/hoscoat(src)
new /obj/item/clothing/head/helmet/HoS/dermal(src)
new /obj/item/weapon/cartridge/hos(src)
new /obj/item/device/radio/headset/heads/hos(src)
new /obj/item/device/radio/headset/heads/hos/alt(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/taperoll/police(src)
new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/shield/riot/tele(src)
new /obj/item/weapon/storage/box/holobadge/hos(src)
new /obj/item/clothing/accessory/badge/holo/hos(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/crowbar/red(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/cell/device/weapon(src)
new /obj/item/clothing/accessory/holster/waist(src)
new /obj/item/weapon/melee/telebaton(src)
new /obj/item/clothing/head/beret/sec/corporate/hos(src)
new /obj/item/device/flashlight/maglight(src)
new /obj/item/clothing/gloves/black(src)
new /obj/item/clothing/shoes/boots/jackboots(src)
new /obj/item/clothing/shoes/boots/jackboots/toeless(src)
new /obj/item/clothing/under/nanotrasen/security/commander(src)
return
/obj/structure/closet/secure_closet/nanotrasen_warden
name = "NanoTrasen warden's locker"
req_access = list(access_brig)
icon = 'icons/obj/closet_vr.dmi'
icon_state = "secC1"
icon_closed = "secC"
icon_locked = "sec1C"
icon_opened = "secCopen"
icon_broken = "secCbroken"
icon_off = "seCcoff"
storage_capacity = 3.5 * MOB_MEDIUM
New()
..()
if(prob(25))
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel/sec(src)
if(prob(75))
new /obj/item/weapon/storage/backpack/dufflebag/sec(src)
new /obj/item/clothing/suit/storage/vest/warden(src)
new /obj/item/clothing/under/nanotrasen/security/warden(src)
new /obj/item/clothing/suit/storage/vest/wardencoat/alt(src)
new /obj/item/clothing/head/helmet/warden(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/device/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/taperoll/police(src)
new /obj/item/clothing/accessory/badge/holo/warden(src)
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/weapon/cell/device/weapon(src)
new /obj/item/weapon/storage/box/holobadge(src)
new /obj/item/clothing/head/beret/sec/corporate/warden(src)
new /obj/item/device/flashlight/maglight(src)
new /obj/item/device/megaphone(src)
new /obj/item/clothing/gloves/black(src)
new /obj/item/clothing/shoes/boots/jackboots(src)
new /obj/item/clothing/shoes/boots/jackboots/toeless(src)
return
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/structure/grille
name = "grille"
desc = "A flimsy lattice of metal rods, with screws to secure it to the floor."
icon = 'icons/obj/structures.dmi'
icon = 'icons/obj/structures_vr.dmi' // VOREStation Edit - New icons
icon_state = "grille"
density = 1
anchored = 1
+12 -1
View File
@@ -67,7 +67,18 @@
user << "<span class='notice'>Slicing lattice joints ...</span>"
new /obj/item/stack/rods(src.loc)
qdel(src)
return
// VOREStation Edit - Added Catwalks
if (istype(C, /obj/item/stack/rods))
var/obj/item/stack/rods/R = C
if(R.use(2))
user << "<span class='notice'>You start connecting \the [R.name] to \the [src.name] ...</span>"
if(do_after(user, 5 SECONDS))
src.alpha = 0 // Note: I don't know why this is set, Eris did it, just trusting for now. ~Leshana
new /obj/structure/catwalk(src.loc)
qdel(src)
return
// VOREStation Edit End
return
/obj/structure/lattice/proc/updateOverlays()
+318
View File
@@ -0,0 +1,318 @@
// Based on railing.dmi from https://github.com/Endless-Horizon/CEV-Eris
/obj/structure/railing
name = "railing"
desc = "A standard steel railing. Play stupid games win stupid prizes."
icon = 'icons/obj/railing.dmi'
density = 1
throwpass = 1
climbable = 1
layer = 3.2 //Just above doors
anchored = 1
flags = ON_BORDER
icon_state = "railing0"
var/broken = FALSE
var/health = 70
var/maxhealth = 70
var/check = 0
/obj/structure/railing/New(loc, constructed = 0)
..()
// TODO - "constructed" is not passed to us. We need to find a way to do this safely.
if (constructed) // player-constructed railings
anchored = 0
if(climbable)
verbs += /obj/structure/proc/climb_on
/obj/structure/railing/initialize()
..()
if(src.anchored)
update_icon(0)
/obj/structure/railing/Destroy()
for(var/obj/structure/railing/R in oview(src, 1))
R.update_icon()
..()
/obj/structure/railing/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(!mover)
return 1
if(istype(mover) && mover.checkpass(PASSTABLE))
return 1
if(get_dir(loc, target) == dir)
return !density
else
return 1
/obj/structure/railing/examine(mob/user)
. = ..()
if(health < maxhealth)
switch(health / maxhealth)
if(0.0 to 0.5)
to_chat(user, "<span class='warning'>It looks severely damaged!</span>")
if(0.25 to 0.5)
to_chat(user, "<span class='warning'>It looks damaged!</span>")
if(0.5 to 1.0)
to_chat(user, "<span class='notice'>It has a few scrapes and dents.</span>")
/obj/structure/railing/proc/take_damage(amount)
health -= amount
if(health <= 0)
visible_message("<span class='warning'>\The [src] breaks down!</span>")
playsound(loc, 'sound/effects/grillehit.ogg', 50, 1)
new /obj/item/stack/rods(get_turf(usr))
qdel(src)
/obj/structure/railing/proc/NeighborsCheck(var/UpdateNeighbors = 1)
check = 0
//if (!anchored) return
var/Rturn = turn(src.dir, -90)
var/Lturn = turn(src.dir, 90)
for(var/obj/structure/railing/R in src.loc)
if ((R.dir == Lturn) && R.anchored)
check |= 32
if (UpdateNeighbors)
R.update_icon(0)
if ((R.dir == Rturn) && R.anchored)
check |= 2
if (UpdateNeighbors)
R.update_icon(0)
for (var/obj/structure/railing/R in get_step(src, Lturn))
if ((R.dir == src.dir) && R.anchored)
check |= 16
if (UpdateNeighbors)
R.update_icon(0)
for (var/obj/structure/railing/R in get_step(src, Rturn))
if ((R.dir == src.dir) && R.anchored)
check |= 1
if (UpdateNeighbors)
R.update_icon(0)
for (var/obj/structure/railing/R in get_step(src, (Lturn + src.dir)))
if ((R.dir == Rturn) && R.anchored)
check |= 64
if (UpdateNeighbors)
R.update_icon(0)
for (var/obj/structure/railing/R in get_step(src, (Rturn + src.dir)))
if ((R.dir == Lturn) && R.anchored)
check |= 4
if (UpdateNeighbors)
R.update_icon(0)
/obj/structure/railing/update_icon(var/UpdateNeighgors = 1)
NeighborsCheck(UpdateNeighgors)
layer = (dir == SOUTH) ? FLY_LAYER : initial(layer)
overlays.Cut()
if (!check || !anchored)//|| !anchored
icon_state = "railing0"
else
icon_state = "railing1"
if (check & 32)
overlays += image ('icons/obj/railing.dmi', src, "corneroverlay")
if ((check & 16) || !(check & 32) || (check & 64))
overlays += image ('icons/obj/railing.dmi', src, "frontoverlay_l")
if (!(check & 2) || (check & 1) || (check & 4))
overlays += image ('icons/obj/railing.dmi', src, "frontoverlay_r")
if(check & 4)
switch (src.dir)
if (NORTH)
overlays += image ('icons/obj/railing.dmi', src, "mcorneroverlay", pixel_x = 32)
if (SOUTH)
overlays += image ('icons/obj/railing.dmi', src, "mcorneroverlay", pixel_x = -32)
if (EAST)
overlays += image ('icons/obj/railing.dmi', src, "mcorneroverlay", pixel_y = -32)
if (WEST)
overlays += image ('icons/obj/railing.dmi', src, "mcorneroverlay", pixel_y = 32)
/obj/structure/railing/verb/rotate()
set name = "Rotate Railing Counter-Clockwise"
set category = "Object"
set src in oview(1)
if(usr.incapacitated())
return 0
if(anchored)
to_chat(usr, "It is fastened to the floor therefore you can't rotate it!")
return 0
set_dir(turn(dir, 90))
update_icon()
return
/obj/structure/railing/verb/revrotate()
set name = "Rotate Railing Clockwise"
set category = "Object"
set src in oview(1)
if(usr.incapacitated())
return 0
if(anchored)
to_chat(usr, "It is fastened to the floor therefore you can't rotate it!")
return 0
set_dir(turn(dir, -90))
update_icon()
return
/obj/structure/railing/verb/flip() // This will help push railing to remote places, such as open space turfs
set name = "Flip Railing"
set category = "Object"
set src in oview(1)
if(usr.incapacitated())
return 0
if(anchored)
to_chat(usr, "It is fastened to the floor therefore you can't flip it!")
return 0
var/obj/occupied = neighbor_turf_impassable()
if(occupied)
to_chat(usr, "You can't flip \the [src] because there's \a [occupied] in the way.")
return 0
src.loc = get_step(src, src.dir)
set_dir(turn(dir, 180))
update_icon()
return
/obj/structure/railing/CheckExit(atom/movable/O as mob|obj, target as turf)
if(istype(O) && O.checkpass(PASSTABLE))
return 1
if(get_dir(O.loc, target) == dir)
return 0
return 1
/obj/structure/railing/attackby(obj/item/W as obj, mob/user as mob)
// Dismantle
if(istype(W, /obj/item/weapon/wrench) && !anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 20, src))
user.visible_message("<span class='notice'>\The [user] dismantles \the [src].</span>", "<span class='notice'>You dismantle \the [src].</span>")
new /obj/item/stack/material/steel(get_turf(usr), 2)
qdel(src)
return
// Repair
if(health < maxhealth && istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/F = W
if(F.welding)
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
if(do_after(user, 20, src))
user.visible_message("<span class='notice'>\The [user] repairs some damage to \the [src].</span>", "<span class='notice'>You repair some damage to \the [src].</span>")
health = min(health+(maxhealth/5), maxhealth) // 20% repair per application
return
// Install
if(istype(W, /obj/item/weapon/screwdriver))
user.visible_message(anchored ? "<span class='notice'>\The [user] begins unscrewing \the [src].</span>" : "<span class='notice'>\The [user] begins fasten \the [src].</span>" )
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
if(do_after(user, 10, src))
to_chat(user, (anchored ? "<span class='notice'>You have unfastened \the [src] from the floor.</span>" : "<span class='notice'>You have fastened \the [src] to the floor.</span>"))
anchored = !anchored
update_icon()
return
// Handle harm intent grabbing/tabling.
if(istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if (istype(G.affecting, /mob/living))
var/mob/living/M = G.affecting
var/obj/occupied = turf_is_crowded()
if(occupied)
to_chat(user, "<span class='danger'>There's \a [occupied] in the way.</span>")
return
if (G.state < 2)
if(user.a_intent == I_HURT)
if (prob(15)) M.Weaken(5)
M.apply_damage(8,def_zone = "head")
take_damage(8)
visible_message("<span class='danger'>[G.assailant] slams [G.affecting]'s face against \the [src]!</span>")
playsound(loc, 'sound/effects/grillehit.ogg', 50, 1)
else
to_chat(user, "<span class='danger'>You need a better grip to do that!</span>")
return
else
if (get_turf(G.affecting) == get_turf(src))
G.affecting.forceMove(get_step(src, src.dir))
else
G.affecting.forceMove(get_turf(src))
G.affecting.Weaken(5)
visible_message("<span class='danger'>[G.assailant] throws [G.affecting] over \the [src]!</span>")
qdel(W)
return
else
playsound(loc, 'sound/effects/grillehit.ogg', 50, 1)
take_damage(W.force)
return ..()
/obj/structure/railing/ex_act(severity)
switch(severity)
if(1.0)
qdel(src)
return
if(2.0)
qdel(src)
return
if(3.0)
qdel(src)
return
else
return
// Duplicated from structures.dm, but its a bit different.
/obj/structure/railing/do_climb(var/mob/living/user)
if(!can_climb(user))
return
usr.visible_message("<span class='warning'>[user] starts climbing onto \the [src]!</span>")
climbers |= user
if(!do_after(user,(issmall(user) ? 20 : 34)))
climbers -= user
return
if(!can_climb(user, post_climb_check=1))
climbers -= user
return
if(get_turf(user) == get_turf(src))
usr.forceMove(get_step(src, src.dir))
else
usr.forceMove(get_turf(src))
usr.visible_message("<span class='warning'>[user] climbed over \the [src]!</span>")
if(!anchored) take_damage(maxhealth) // Fatboy
climbers -= user
/obj/structure/railing/can_climb(var/mob/living/user, post_climb_check=0)
if(!..())
return 0
// Normal can_climb() handles climbing from adjacent turf onto our turf. But railings also allow climbing
// from our turf onto an adjacent! If that is the case we need to do checks for that too...
if(get_turf(user) == get_turf(src))
var/obj/occupied = neighbor_turf_impassable()
if(occupied)
to_chat(user, "<span class='danger'>You can't climb there, there's \a [occupied] in the way.</span>")
return 0
return 1
// TODO - This here might require some investigation
/obj/structure/proc/neighbor_turf_impassable()
var/turf/T = get_step(src, src.dir)
if(!T || !istype(T))
return 0
if(T.density == 1)
return T
for(var/obj/O in T.contents)
if(istype(O,/obj/structure))
var/obj/structure/S = O
if(S.climbable) continue
if(O && O.density && !(O.flags & ON_BORDER && !(turn(O.dir, 180) & dir)))
return O
+352
View File
@@ -304,6 +304,20 @@
desc = "A direction sign, pointing out which way the Cargo department is."
icon_state = "direction_crg"
// VOREStation Edit - New signs for us
/obj/structure/sign/directions/command
icon = 'icons/obj/decals_vr.dmi'
name = "\improper Command department"
desc = "A direction sign, pointing out which way the Command department is."
icon_state = "direction_cmd"
/obj/structure/sign/directions/elevator
icon = 'icons/obj/decals_vr.dmi'
name = "\improper Space Elevator"
desc = "A direction sign, pointing out which way the Space Elevator is."
icon_state = "direction_elv"
// VOREStation Edit End
/obj/structure/sign/christmas/lights
name = "Christmas lights"
desc = "Flashy and pretty."
@@ -315,3 +329,341 @@
desc = "Prickly and festive."
icon = 'icons/obj/christmas.dmi'
icon_state = "doorwreath"
//Eris signs
/obj/structure/sign/ironhammer
icon = 'icons/obj/decals_vr.dmi'
name = "Ironhammer Security"
desc = "Sign depicts the symbolic of Ironhammer Security, the largest security provider within Trade Union of Hansa."
icon_state = "ironhammer"
/obj/structure/sign/atmos_co2
icon = 'icons/obj/decals_vr.dmi'
name = "CO2 warning sign"
desc = "WARNING! CO2 flow tube. Ensure the flow is disengaged before working."
icon_state = "atmos_co2"
/obj/structure/sign/atmos_n2o
icon = 'icons/obj/decals_vr.dmi'
name = "N2O warning sign"
desc = "WARNING! N2O flow tube. Ensure the flow is disengaged before working."
icon_state = "atmos_n2o"
/obj/structure/sign/atmos_plasma
icon = 'icons/obj/decals_vr.dmi'
name = "Plasma warning sign"
desc = "WARNING! Plasma flow tube. Ensure the flow is disengaged before working."
icon_state = "atmos_plasma"
/obj/structure/sign/atmos_n2
icon = 'icons/obj/decals_vr.dmi'
name = "N2 warning sign"
desc = "WARNING! N2 flow tube. Ensure the flow is disengaged before working."
icon_state = "atmos_n2"
/obj/structure/sign/atmos_o2
icon = 'icons/obj/decals_vr.dmi'
name = "O2 warning sign"
desc = "WARNING! O2 flow tube. Ensure the flow is disengaged before working."
icon_state = "atmos_o2"
/obj/structure/sign/atmos_air
icon = 'icons/obj/decals_vr.dmi'
name = "Air warning sign"
desc = "WARNING! Air flow tube. Ensure the flow is disengaged before working."
icon_state = "atmos_air"
/obj/structure/sign/atmos_waste
icon = 'icons/obj/decals_vr.dmi'
name = "Atmos waste warning sign"
desc = "WARNING! Waste flow tube. Ensure the flow is disengaged before working."
icon_state = "atmos_waste"
/obj/structure/sign/deck1
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'DECK I'."
name = "DECK I"
icon_state = "deck1"
/obj/structure/sign/deck2
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'DECK II'."
name = "DECK II"
icon_state = "deck2"
/obj/structure/sign/deck3
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'DECK III'."
name = "DECK III"
icon_state = "deck3"
/obj/structure/sign/deck4
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'DECK IV'."
name = "DECK IV"
icon_state = "deck4"
/obj/structure/sign/sec1
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'SECTION I'."
name = "SECTION I"
icon_state = "sec1"
/obj/structure/sign/sec2
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'SECTION II'."
name = "SECTION II"
icon_state = "sec2"
/obj/structure/sign/sec3
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'SECTION III'."
name = "SECTION III"
icon_state = "sec3"
/obj/structure/sign/sec4
icon = 'icons/obj/decals_vr.dmi'
desc = "A silver sign which reads 'SECTION IV'."
name = "SECTION IV"
icon_state = "sec4"
/obj/structure/sign/nanotrasen
icon = 'icons/obj/decals_vr.dmi'
name = "\improper NanoTrasen"
desc = "An old metal sign which reads 'NanoTrasen'."
icon_state = "NT"
// Eris standards compliant hazards
/obj/structure/sign/signnew
icon = 'icons/obj/decals_vr.dmi'
/obj/structure/sign/signnew/biohazard
name = "BIOLOGICAL HAZARD"
desc = "Warning: Biological and-or toxic hazards present in this area!"
icon_state = "biohazard"
/obj/structure/sign/signnew/corrosives
name = "CORROSIVE SUBSTANCES"
desc = "Warning: Corrosive substances prezent in this area!"
icon_state = "corrosives"
/obj/structure/sign/signnew/explosives
name = "EXPLOSIVE SUBSTANCES"
desc = "Warning: Explosive substances present in this area!"
icon_state = "explosives"
/obj/structure/sign/signnew/flammables
name = "FLAMMABLE SUBSTANCES"
desc = "Warning: Flammable substances present in this area!"
icon_state = "flammable"
/obj/structure/sign/signnew/laserhazard
name = "LASER HAZARD"
desc = "Warning: High powered laser emitters operating in this area!"
icon_state = "laser"
/obj/structure/sign/signnew/danger
name = "DANGEROUS AREA"
desc = "Warning: Generally hazardous area! Exercise caution."
icon_state = "danger"
/obj/structure/sign/signnew/magnetics
name = "MAGNETIC FIELD HAZARD"
desc = "Warning: Extremely powerful magnetic fields present in this area!"
icon_state = "magnetics"
/obj/structure/sign/signnew/opticals
name = "OPTICAL HAZARD"
desc = "Warning: Optical hazards present in this area!"
icon_state = "optical"
/obj/structure/sign/signnew/radiation
name = "RADIATION HAZARD"
desc = "Warning: Significant levels of radiation present in this area!"
icon_state = "radiation"
/obj/structure/sign/signnew/secure
name = "SECURE AREA"
desc = "Warning: Secure Area! Do not enter without authorization!"
icon_state = "secure"
/obj/structure/sign/signnew/electrical
name = "ELECTRICAL HAZARD"
desc = "Warning: Electrical hazards! Wear protective equipment."
icon_state = "electrical"
/obj/structure/sign/signnew/cryogenics
name = "CRYOGENIC TEMPERATURES"
desc = "Warning: Extremely low temperatures in this area."
icon_state = "cryogenics"
/obj/structure/sign/signnew/canisters
name = "PRESSURIZED CANISTERS"
desc = "Warning: Highly pressurized canister storage."
icon_state = "canisters"
/obj/structure/sign/signnew/oxidants
name = "OXIDIZING AGENTS"
desc = "Warning: Oxidizing agents in this area, do not start fires!"
icon_state = "oxidants"
/obj/structure/sign/signnew/memetic
name = "MEMETIC HAZARD"
desc = "Warning: Memetic hazard, wear meson goggles!"
icon_state = "memetic"
//Eris departments
/obj/structure/sign/department
icon = 'icons/obj/decals_vr.dmi'
name = "department sign"
desc = "Sign of some important ship compartment."
/obj/structure/sign/department/medbay
name = "MEDBAY"
icon_state = "medbay"
/obj/structure/sign/department/virology
name = "VIROLOGY"
icon_state = "virology"
/obj/structure/sign/department/chem
name = "CHEMISTRY"
icon_state = "chem"
/obj/structure/sign/department/gene
name = "GENETICS"
icon_state = "gene"
/obj/structure/sign/department/morgue
name = "MORGUE"
icon_state = "morgue"
/obj/structure/sign/department/operational
name = "SURGERY"
icon_state = "operational"
/obj/structure/sign/department/sci
name = "SCIENCE"
icon_state = "sci"
/obj/structure/sign/department/xenolab
name = "XENOLAB"
icon_state = "xenolab"
/obj/structure/sign/department/anomaly
name = "ANOMALYLAB"
icon_state = "anomaly"
/obj/structure/sign/department/dock
name = "DOKUCHAYEV DOCK"
icon_state = "dock"
/obj/structure/sign/department/rnd
name = "RND"
icon_state = "rnd"
/obj/structure/sign/department/robo
name = "ROBOTICS"
icon_state = "robo"
/obj/structure/sign/department/toxins
name = "TOXINS"
icon_state = "toxins"
/obj/structure/sign/department/toxin_res
name = "TOXINLAB"
icon_state = "toxin_res"
/obj/structure/sign/department/eva
name = "E.V.A."
icon_state = "eva"
/obj/structure/sign/department/ass
name = "TOOL STORAGE"
icon_state = "ass"
/obj/structure/sign/department/bar
name = "BAR"
icon_state = "bar"
/obj/structure/sign/department/biblio
name = "LIBRARY"
icon_state = "biblio"
/obj/structure/sign/department/chapel
name = "CHAPEL"
icon_state = "chapel"
/obj/structure/sign/department/bridge
name = "BRIDGE"
icon_state = "bridge"
/obj/structure/sign/department/telecoms
name = "TELECOMS"
icon_state = "telecoms"
/obj/structure/sign/department/conference_room
name = "CONFERENCE"
icon_state = "conference_room"
/obj/structure/sign/department/ai
name = "AI"
icon_state = "ai"
/obj/structure/sign/department/cargo
name = "CARGO"
icon_state = "cargo"
/obj/structure/sign/department/mail
name = "MAIL"
icon_state = "mail"
/obj/structure/sign/department/miner_dock
name = "MINING DOCK"
icon_state = "miner_dock"
/obj/structure/sign/department/cargo_dock
name = "CARGO DOCK"
icon_state = "cargo_dock"
/obj/structure/sign/department/eng
name = "ENGINEERING"
icon_state = "eng"
/obj/structure/sign/department/engine
name = "ENGINE"
icon_state = "engine"
/obj/structure/sign/department/gravi
name = "GRAVGEN"
icon_state = "gravi"
/obj/structure/sign/department/atmos
name = "ATMOSPHERICS"
icon_state = "atmos"
/obj/structure/sign/department/shield
name = "SHIELDGEN"
icon_state = "shield"
/obj/structure/sign/department/drones
name = "DRONES"
icon_state = "drones"
/obj/structure/sign/department/interrogation
name = "INTERROGATION"
icon_state = "interrogation"
/obj/structure/sign/department/commander
name = "COMMANDER"
icon_state = "commander"
/obj/structure/sign/department/armory
name = "ARMORY"
icon_state = "armory"
/obj/structure/sign/department/prison
name = "PRISON"
icon_state = "prison"
@@ -20,6 +20,7 @@
var/material/material
var/material/padding_material
var/base_icon = "bed"
var/applies_material_colour = 1 //VOREStation Add - For special color beds/chairs
/obj/structure/bed/New(var/newloc, var/new_material, var/new_padding_material)
..(newloc)
@@ -45,8 +46,9 @@
// Base icon.
var/cache_key = "[base_icon]-[material.name]"
if(isnull(stool_cache[cache_key]))
var/image/I = image('icons/obj/furniture.dmi', base_icon)
I.color = material.icon_colour
var/image/I = image(icon, base_icon) //VOREStation Edit
if(applies_material_colour) //VOREStation Add - Goes with added var
I.color = material.icon_colour
stool_cache[cache_key] = I
overlays |= stool_cache[cache_key]
// Padding overlay.
@@ -1,6 +1,7 @@
/obj/structure/bed/chair //YES, chairs are a type of bed, which are a type of stool. This works, believe me. -Pete
name = "chair"
desc = "You sit in this. Either by will or force."
icon = 'icons/obj/furniture_vr.dmi' //VOREStation Edit - Using Eris furniture
icon_state = "chair_preview"
color = "#666666"
base_icon = "chair"
@@ -82,6 +83,15 @@
src.set_dir(turn(src.dir, 90))
return
//VOREStation Add - Shuttle Chair
/obj/structure/bed/chair/shuttle
name = "chair"
desc = "You sit in this. Either by will or force."
icon_state = "shuttle_chair"
color = null
base_icon = "shuttle_chair"
applies_material_colour = 0
//VOREStation Add End
// Leaving this in for the sake of compilation.
/obj/structure/bed/chair/comfy
desc = "It's a chair. It looks comfy."
@@ -4,7 +4,7 @@ var/global/list/stool_cache = list() //haha stool
/obj/item/weapon/stool
name = "stool"
desc = "Apply butt."
icon = 'icons/obj/furniture.dmi'
icon = 'icons/obj/furniture_vr.dmi' //VOREStation Edit - new Icons
icon_state = "stool_preview" //set for the map
force = 10
throwforce = 10
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/structure/window
name = "window"
desc = "A window."
icon = 'icons/obj/structures.dmi'
icon = 'icons/obj/structures_vr.dmi' // VOREStation Edit - New icons
density = 1
w_class = ITEMSIZE_NORMAL