mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-09 14:15:22 +01:00
@@ -164,7 +164,7 @@
|
||||
"adh" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/suit/armor/bulletproof{pixel_x = 0; pixel_y = 0},/obj/item/clothing/head/helmet/alt,/obj/item/clothing/suit/armor/bulletproof{pixel_x = 0; pixel_y = 0},/obj/item/clothing/head/helmet/alt,/obj/item/clothing/suit/armor/bulletproof{pixel_x = 0; pixel_y = 0},/obj/item/clothing/head/helmet/alt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/security/securearmoury)
|
||||
"adi" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/warning_stripes/northeast,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/securearmoury)
|
||||
"adj" = (/obj/item/device/radio/intercom/department/security{pixel_x = -28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
|
||||
"adk" = (/obj/structure/table/woodentable,/obj/item/weapon/stamp/hos,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/security/hos)
|
||||
"adk" = (/obj/structure/table/woodentable,/obj/item/weapon/stamp/hos,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/spacepod_key{id = 100000},/turf/simulated/floor/carpet,/area/security/hos)
|
||||
"adl" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/security/hos)
|
||||
"adm" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/sop_security,/obj/item/weapon/book/manual/sop_legal,/turf/simulated/floor/carpet,/area/security/hos)
|
||||
"adn" = (/obj/machinery/door_control{id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
|
||||
@@ -314,7 +314,7 @@
|
||||
"agb" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 1},/area/security/securehallway)
|
||||
"agc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/security/securehallway)
|
||||
"agd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall,/area/security/podbay)
|
||||
"age" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table/reinforced,/obj/item/clothing/suit/jacket/pilot,/obj/item/clothing/head/beret/sec,/obj/machinery/light_switch{pixel_x = -25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
|
||||
"age" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table/reinforced,/obj/item/clothing/suit/jacket/pilot,/obj/item/clothing/head/beret/sec,/obj/machinery/light_switch{pixel_x = -25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/spacepod_key{id = 100000},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
|
||||
"agf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
|
||||
"agg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
|
||||
"agh" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Security Podbay APC"; pixel_x = 25},/obj/item/device/spacepod_equipment/weaponry/laser,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay)
|
||||
|
||||
@@ -206,7 +206,8 @@
|
||||
/obj/item/clothing/shoes/magboots,
|
||||
/obj/item/areaeditor/blueprints,
|
||||
/obj/item/clothing/head/helmet/space,
|
||||
/obj/item/weapon/storage/internal
|
||||
/obj/item/weapon/storage/internal,
|
||||
/obj/item/device/spacepod_key
|
||||
)
|
||||
// These items will NOT be preserved
|
||||
var/list/do_not_preserve_items = list (
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
var/obj/item/device/spacepod_equipment/weaponry/weapon_system // weapons system
|
||||
var/obj/item/device/spacepod_equipment/misc/misc_system // misc system
|
||||
var/obj/item/device/spacepod_equipment/cargo/cargo_system // cargo system
|
||||
var/obj/item/device/spacepod_equipment/lock/lock_system // lock system
|
||||
//var/obj/item/device/spacepod_equipment/engine/engine_system // engine system
|
||||
//var/obj/item/device/spacepod_equipment/shield/shield_system // shielding system
|
||||
|
||||
@@ -69,7 +70,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry
|
||||
name = "pod weapon"
|
||||
desc = "You shouldn't be seeing this"
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon = 'icons/vehicles/spacepod.dmi'
|
||||
icon_state = "blank"
|
||||
var/projectile_type
|
||||
var/shot_cost = 0
|
||||
@@ -80,7 +81,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/taser
|
||||
name = "disabler system"
|
||||
desc = "A weak taser system for space pods, fires disabler beams."
|
||||
icon_state = "pod_taser"
|
||||
icon_state = "weapon_taser"
|
||||
projectile_type = "/obj/item/projectile/beam/disabler"
|
||||
shot_cost = 400
|
||||
fire_sound = "sound/weapons/Taser.ogg"
|
||||
@@ -88,7 +89,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/burst_taser
|
||||
name = "burst taser system"
|
||||
desc = "A weak taser system for space pods, this one fires 3 at a time."
|
||||
icon_state = "pod_b_taser"
|
||||
icon_state = "weapon_burst_taser"
|
||||
projectile_type = "/obj/item/projectile/beam/disabler"
|
||||
shot_cost = 1200
|
||||
shots_per = 3
|
||||
@@ -98,7 +99,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/laser
|
||||
name = "laser system"
|
||||
desc = "A weak laser system for space pods, fires concentrated bursts of energy"
|
||||
icon_state = "pod_w_laser"
|
||||
icon_state = "weapon_laser"
|
||||
projectile_type = "/obj/item/projectile/beam"
|
||||
shot_cost = 600
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
@@ -107,6 +108,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/mining_laser_basic
|
||||
name = "weak mining laser system"
|
||||
desc = "A weak mining laser system for space pods, fires bursts of energy that cut through rock"
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon_state = "pod_taser"
|
||||
projectile_type = "/obj/item/projectile/kinetic"
|
||||
shot_cost = 300
|
||||
@@ -116,6 +118,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/mining_laser
|
||||
name = "mining laser system"
|
||||
desc = "A mining laser system for space pods, fires bursts of energy that cut through rock"
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon_state = "pod_m_laser"
|
||||
projectile_type = "/obj/item/projectile/kinetic/super"
|
||||
shot_cost = 250
|
||||
@@ -125,6 +128,7 @@
|
||||
/obj/item/device/spacepod_equipment/weaponry/mining_laser_hyper
|
||||
name = "enhanced mining laser system"
|
||||
desc = "An enhanced mining laser system for space pods, fires bursts of energy that cut through rock"
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon_state = "pod_w_laser"
|
||||
projectile_type = "/obj/item/projectile/kinetic/hyper"
|
||||
shot_cost = 200
|
||||
@@ -159,7 +163,7 @@
|
||||
/obj/item/device/spacepod_equipment/cargo
|
||||
name = "pod cargo"
|
||||
desc = "You shouldn't be seeing this"
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon = 'icons/vehicles/spacepod.dmi'
|
||||
icon_state = "blank"
|
||||
|
||||
/obj/item/device/spacepod_equipment/cargo/proc/passover(var/obj/item/I)
|
||||
@@ -171,7 +175,7 @@
|
||||
/obj/item/device/spacepod_equipment/cargo/ore
|
||||
name = "\improper spacepod ore storage system"
|
||||
desc = "An ore storage system for spacepods. Scoops up any ore you drive over."
|
||||
icon_state = "pod_locator"
|
||||
icon_state = "cargo_ore"
|
||||
var/obj/structure/ore_box/box
|
||||
|
||||
/obj/item/device/spacepod_equipment/cargo/ore/passover(var/obj/item/I)
|
||||
@@ -186,3 +190,43 @@
|
||||
/obj/item/device/spacepod_equipment/cargo/ore/removed(var/mob/user)
|
||||
. = ..()
|
||||
unload()
|
||||
|
||||
/obj/item/device/spacepod_equipment/lock
|
||||
name = "pod lock"
|
||||
desc = "You shouldn't be seeing this"
|
||||
icon = 'icons/vehicles/spacepod.dmi'
|
||||
icon_state = "blank"
|
||||
var/mode = 0
|
||||
var/id = null
|
||||
|
||||
// Key and Tumbler System
|
||||
/obj/item/device/spacepod_equipment/lock/keyed
|
||||
name = "spacepod tumbler lock"
|
||||
desc = "A locking system to stop podjacking. This version uses a standalone key."
|
||||
icon_state = "lock_tumbler"
|
||||
var/static/id_source = 0
|
||||
|
||||
/obj/item/device/spacepod_equipment/lock/keyed/New()
|
||||
..()
|
||||
id = ++id_source
|
||||
|
||||
// The key
|
||||
/obj/item/device/spacepod_key
|
||||
name = "spacepod key"
|
||||
desc = "A key for a spacepod lock."
|
||||
icon = 'icons/vehicles/spacepod.dmi'
|
||||
icon_state = "podkey"
|
||||
w_class = 1.0
|
||||
var/id = 0
|
||||
|
||||
// Key - Lock Interactions
|
||||
/obj/item/device/spacepod_equipment/lock/keyed/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I, /obj/item/device/spacepod_key))
|
||||
var/obj/item/device/spacepod_key/key = I
|
||||
if(!key.id)
|
||||
key.id = id
|
||||
to_chat(user, "<span class='notice'>You grind the blank key to fit the lock.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>This key is already ground!</span>")
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -250,9 +250,12 @@
|
||||
|
||||
/obj/spacepod/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if(iscrowbar(W))
|
||||
hatch_open = !hatch_open
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You [hatch_open ? "open" : "close"] the maintenance hatch.</span>")
|
||||
if(!equipment_system.lock_system || allow2enter || hatch_open)
|
||||
hatch_open = !hatch_open
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You [hatch_open ? "open" : "close"] the maintenance hatch.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The hatch is locked shut!</span>")
|
||||
if(istype(W, /obj/item/weapon/stock_parts/cell))
|
||||
if(!hatch_open)
|
||||
to_chat(user, "\red The maintenance hatch is closed!")
|
||||
@@ -305,6 +308,25 @@
|
||||
equipment_system.cargo_system = W
|
||||
equipment_system.cargo_system.my_atom = src
|
||||
return
|
||||
if(istype(W, /obj/item/device/spacepod_equipment/lock))
|
||||
if(equipment_system.lock_system)
|
||||
to_chat(user, "<span class='notice'>The pod already has a lock system, remove it first.</span>")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You insert \the [W] into the lock system.</span>")
|
||||
user.drop_item(W)
|
||||
W.forceMove(src)
|
||||
equipment_system.lock_system = W
|
||||
equipment_system.lock_system.my_atom = src
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/device/spacepod_key) && istype(equipment_system.lock_system, /obj/item/device/spacepod_equipment/lock/keyed))
|
||||
var/obj/item/device/spacepod_key/key = W
|
||||
if (key.id == equipment_system.lock_system.id)
|
||||
locksecondseat()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>This is the wrong key!</span>")
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
if(!hatch_open)
|
||||
@@ -340,6 +362,8 @@
|
||||
possible.Add("Misc. System")
|
||||
if(equipment_system.cargo_system)
|
||||
possible.Add("Cargo System")
|
||||
if(equipment_system.lock_system)
|
||||
possible.Add("Lock System")
|
||||
/* Not yet implemented
|
||||
if(equipment_system.engine_system)
|
||||
possible.Add("Engine System")
|
||||
@@ -379,6 +403,15 @@
|
||||
equipment_system.cargo_system = null
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need an open hand to do that.</span>")
|
||||
if("Lock System")
|
||||
SPE = equipment_system.lock_system
|
||||
if(user.put_in_any_hand_if_possible(SPE))
|
||||
to_chat(user, "<span class='notice'>You remove \the [SPE] from the equipment system.</span>")
|
||||
SPE.removed(user)
|
||||
SPE.my_atom = null
|
||||
equipment_system.lock_system = null
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need an open hand to do that.</span>")
|
||||
/*
|
||||
if("engine system")
|
||||
SPE = equipment_system.engine_system
|
||||
@@ -423,6 +456,11 @@
|
||||
equipment_system.misc_system = L
|
||||
equipment_system.misc_system.my_atom = src
|
||||
equipment_system.misc_system.enabled = 1
|
||||
var/obj/item/device/spacepod_equipment/lock/keyed/K = new /obj/item/device/spacepod_equipment/lock/keyed
|
||||
K.loc = equipment_system
|
||||
equipment_system.lock_system = K
|
||||
equipment_system.lock_system.my_atom = src
|
||||
equipment_system.lock_system.id = 100000
|
||||
return
|
||||
|
||||
/obj/spacepod/random/New()
|
||||
@@ -534,7 +572,11 @@
|
||||
moved_other_inside(M)
|
||||
|
||||
if(M == user)
|
||||
enter_pod(user)
|
||||
if(!equipment_system.lock_system || allow2enter)
|
||||
enter_pod(user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [src]'s doors are locked!</span>")
|
||||
|
||||
|
||||
if(istype(A, /obj/structure/ore_box)) // For loading ore boxes
|
||||
var/obj/structure/ore_box/O = A
|
||||
@@ -638,10 +680,6 @@
|
||||
log_debug("##SPACEPOD WARNING: OCCUPANT [occupant2] ESCAPED, TURF [get_turf(src)] | AREA [get_area(src)] | COORDS [x], [y], [z]")
|
||||
occupant2 = null
|
||||
|
||||
if(!occupant && !allow2enter)
|
||||
allow2enter = 1
|
||||
log_debug("##SPACEPOD WARNING: DOORS WERE STILL LOCKED WITH NO OCCUPANT, TURF [get_turf(src)] | AREA [get_area(src)] | COORDS [x], [y], [z]")
|
||||
|
||||
/obj/spacepod/verb/exit_pod()
|
||||
set name = "Exit pod"
|
||||
set category = "Spacepod"
|
||||
|
||||
@@ -181,4 +181,29 @@
|
||||
build_type = PODFAB
|
||||
materials = list(MAT_METAL=20000, MAT_GLASS=2000)
|
||||
build_path = /obj/item/device/spacepod_equipment/cargo/ore
|
||||
category = list("Pod_Parts")
|
||||
|
||||
//////////////////////////////////////////
|
||||
//////SPACEPOD LOCK ITEMS////////////////
|
||||
//////////////////////////////////////////
|
||||
/datum/design/pod_lock_keyed
|
||||
construction_time = 100
|
||||
name = "Spacepod Tumbler Lock"
|
||||
desc = "Allows for the construction of a tumbler style podlock."
|
||||
id = "podlock_keyed"
|
||||
req_tech = list("materials" = 1) //The most basic kind of locking system
|
||||
build_type = PODFAB
|
||||
materials = list(MAT_METAL=4500)
|
||||
build_path = /obj/item/device/spacepod_equipment/lock/keyed
|
||||
category = list("Pod_Parts")
|
||||
|
||||
/datum/design/pod_key
|
||||
construction_time = 100
|
||||
name = "Spacepod Tumbler Lock Key"
|
||||
desc = "Allows for the construction of a blank key for a podlock."
|
||||
id = "podkey"
|
||||
req_tech = list("materials" = 1) //The most basic kind of locking system
|
||||
build_type = PODFAB
|
||||
materials = list(MAT_METAL=500)
|
||||
build_path = /obj/item/device/spacepod_key
|
||||
category = list("Pod_Parts")
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Reference in New Issue
Block a user