TCFL Helmet Cameras (#10159)

This commit is contained in:
Geeves
2020-10-07 16:44:52 +02:00
committed by GitHub
parent 6d8bc7a9c4
commit cb1535dc7b
7 changed files with 58 additions and 59 deletions

View File

@@ -48,6 +48,7 @@
#define NETWORK_MECHS "Mechs"
#define NETWORK_MEDICAL "Medical"
#define NETWORK_MERCENARY "MercurialNet"
#define NETWORK_TCFL "TCFL"
#define NETWORK_MINE "MINE"
#define NETWORK_RESEARCH "Research"
#define NETWORK_RESEARCH_OUTPOST "Research Outpost"

View File

@@ -47,6 +47,9 @@ var/global/list/engineering_networks = list(
/obj/machinery/camera/network/mercenary
network = list(NETWORK_MERCENARY)
/obj/machinery/camera/network/tcfl
network = list(NETWORK_TCFL)
/obj/machinery/camera/network/exodus
network = list(NETWORK_STATION)

View File

@@ -15,10 +15,38 @@
max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
siemens_coefficient = 0.5
w_class = ITEMSIZE_NORMAL
var/obj/machinery/camera/camera
var/allow_hair_covering = TRUE //in case if you want to allow someone to switch the BLOCKHEADHAIR var from the helmet or not
drop_sound = 'sound/items/drop/helm.ogg'
pickup_sound = 'sound/items/pickup/helm.ogg'
/obj/item/clothing/head/helmet/Initialize()
. = ..()
if(camera)
verbs += /obj/item/clothing/head/helmet/proc/toggle_camera
/obj/item/clothing/head/helmet/proc/toggle_camera()
set name = "Toggle Helmet Camera"
set category = "Object"
set src in usr
if(ispath(camera))
camera = new camera(src)
camera.set_status(0)
if(camera)
camera.set_status(!camera.status)
if(camera.status)
camera.c_tag = FindNameFromID(usr)
to_chat(usr, SPAN_NOTICE("User scanned as [camera.c_tag]. Camera activated."))
else
to_chat(usr, SPAN_NOTICE("Camera deactivated."))
/obj/item/clothing/head/helmet/space/examine(var/mob/user)
if(..(user, 1) && camera)
to_chat(user, FONT_SMALL(SPAN_NOTICE("To toggle the helmet camera, right click the helmet and press <b>Toggle Helmet Camera</b>.")))
to_chat(user, "This helmet has a built-in camera. It's [!ispath(camera) && camera.status ? "" : "in"]active.")
/obj/item/clothing/head/helmet/verb/toggle_block_hair()
set name = "Toggle Helmet Hair Coverage"
set category = "Object"
@@ -282,6 +310,7 @@
light_overlay = "helmet_light_dual"
brightness_on = 6
light_wedge = LIGHT_WIDE
camera = /obj/machinery/camera/network/tcfl
on = 0
/obj/item/clothing/head/helmet/legion_pilot
@@ -291,6 +320,7 @@
body_parts_covered = null
flags_inv = BLOCKHEADHAIR
armor = list(melee = 40, bullet = 20, laser = 20, energy = 10, bomb = 40, bio = 0, rad = 0)
camera = /obj/machinery/camera/network/tcfl
siemens_coefficient = 0.35
action_button_name = "Flip Pilot Visor"

View File

@@ -93,6 +93,8 @@
offline_slowdown = 4
offline_vision_restriction = TINT_HEAVY
helm_type = /obj/item/clothing/head/helmet/space/rig/tcfl
allowed = list(
/obj/item/device/flashlight,
/obj/item/tank,
@@ -121,6 +123,9 @@
/obj/item/rig_module/fabricator/energy_net
)
/obj/item/clothing/head/helmet/space/rig/tcfl
camera = /obj/machinery/camera/network/tcfl
/obj/item/rig/gunslinger
name = "gunslinger hardsuit control module"
desc = "A favorite of Coalition rangers, the Gunslinger suit is a sturdy hardsuit meant to provide the user absolute situational awareness."

View File

@@ -22,40 +22,12 @@
flash_protection = FLASH_PROTECTION_MAJOR
allow_hair_covering = FALSE
var/obj/machinery/camera/camera
action_button_name = "Toggle Helmet Light"
light_overlay = "helmet_light"
brightness_on = 4
light_wedge = LIGHT_WIDE
on = 0
/obj/item/clothing/head/helmet/space/Initialize()
. = ..()
if(camera)
verbs += /obj/item/clothing/head/helmet/space/proc/toggle_camera
/obj/item/clothing/head/helmet/space/proc/toggle_camera()
set name = "Toggle Helmet Camera"
set category = "Object"
set src in usr
if(ispath(camera))
camera = new camera(src)
camera.set_status(0)
if(camera)
camera.set_status(!camera.status)
if(camera.status)
camera.c_tag = FindNameFromID(usr)
to_chat(usr, "<span class='notice'>User scanned as [camera.c_tag]. Camera activated.</span>")
else
to_chat(usr, "<span class='notice'>Camera deactivated.</span>")
/obj/item/clothing/head/helmet/space/examine(var/mob/user)
if(..(user, 1) && camera)
to_chat(user, "This helmet has a built-in camera. It's [!ispath(camera) && camera.status ? "" : "in"]active.")
/obj/item/clothing/suit/space
name = "space suit"
desc = "A suit that protects against low pressure environments. \"NSS AURORA\" is written in large block letters on the back."

View File

@@ -0,0 +1,6 @@
author: Geeves
delete-after: True
changes:
- rscadd: "TCFL Helmets and RIG Helmets now come with cameras on the TCFL network, which can be viewed on the pilot's telescreen. Right click it and press Toggle Helmet Camera to access it."

View File

@@ -3754,8 +3754,7 @@
/area/centcom/holding)
"awK" = (
/obj/structure/railing/mapped{
dir = 1;
icon_state = "railing0-1"
dir = 1
},
/turf/unsimulated/floor{
dir = 4;
@@ -6556,7 +6555,6 @@
"aSf" = (
/obj/machinery/door/airlock/centcom{
name = "The Big Empty";
opacity = 1;
req_access = list(109)
},
/turf/unsimulated/floor{
@@ -6825,9 +6823,7 @@
/turf/simulated/floor/shuttle/dark_blue,
/area/shuttle/escape)
"aVX" = (
/obj/machinery/iv_drip{
density = 0
},
/obj/machinery/iv_drip,
/turf/simulated/floor/shuttle/white,
/area/shuttle/escape)
"aWc" = (
@@ -17184,8 +17180,7 @@
/area/merchant_station)
"gZQ" = (
/obj/structure/railing/mapped{
dir = 1;
icon_state = "railing0-1"
dir = 1
},
/turf/unsimulated/floor{
dir = 4;
@@ -17948,7 +17943,6 @@
"hDo" = (
/obj/machinery/door/airlock/centcom{
name = "Security Checkpoint";
opacity = 1;
req_access = list(109)
},
/turf/unsimulated/floor{
@@ -18426,8 +18420,7 @@
icon_state = "tube1"
},
/obj/structure/railing/mapped{
dir = 1;
icon_state = "railing0-1"
dir = 1
},
/obj/machinery/porta_turret/crescent,
/obj/effect/floor_decal/industrial/warning/full,
@@ -20534,9 +20527,7 @@
/turf/simulated/wall/shuttle/unique/mercenary/small,
/area/shuttle/syndicate_elite)
"jok" = (
/obj/machinery/status_display/arrivals_display{
layer = 3
},
/obj/machinery/status_display/arrivals_display,
/turf/simulated/wall/shuttle/unique/arrivals{
desc = "A state-of-the-art unmanned automatic crew transport shuttle.";
icon_state = "4,6";
@@ -21678,8 +21669,7 @@
name = "Emergency Room"
},
/obj/effect/floor_decal/corner/lime{
dir = 10;
icon_state = "corner_white"
dir = 10
},
/turf/unsimulated/floor{
icon_state = "dark2"
@@ -21759,9 +21749,7 @@
/turf/space/dynamic,
/area/shuttle/merchant)
"ker" = (
/obj/machinery/status_display/arrivals_display{
layer = 3
},
/obj/machinery/status_display/arrivals_display,
/turf/unsimulated/wall/darkshuttlewall,
/area/centcom/spawning)
"keA" = (
@@ -22522,7 +22510,7 @@
desc = "Connects to a station's emergency camera networks after the station sends out a distress signal.";
layer = 4;
name = "Emergency Dock Uplink";
network = list("Emergency Dock");
network = list("Emergency Dock","TCFL");
pixel_y = 28
},
/obj/structure/bed/chair/office/bridge/pilot,
@@ -23507,8 +23495,7 @@
name = "adjusted railing"
},
/obj/structure/railing/mapped{
dir = 1;
icon_state = "railing0-1"
dir = 1
},
/obj/effect/floor_decal/corner/paleblue/full{
dir = 4
@@ -25716,8 +25703,7 @@
/area/centcom/distress_prep)
"mDt" = (
/obj/effect/floor_decal/corner/lime{
dir = 10;
icon_state = "corner_white"
dir = 10
},
/turf/unsimulated/floor{
icon_state = "dark2"
@@ -31126,9 +31112,7 @@
/area/antag/ninja)
"qce" = (
/obj/effect/wingrille_spawn/reinforced/crescent,
/obj/machinery/status_display/arrivals_display{
layer = 3
},
/obj/machinery/status_display/arrivals_display,
/turf/unsimulated/floor{
icon_state = "plating"
},
@@ -37273,8 +37257,7 @@
/area/shuttle/mercenary)
"uDS" = (
/obj/effect/floor_decal/corner/lime/full{
dir = 4;
icon_state = "corner_white_full"
dir = 4
},
/turf/unsimulated/floor{
icon_state = "dark2"
@@ -40977,8 +40960,7 @@
/area/centcom/bar)
"wNL" = (
/obj/structure/railing/mapped{
dir = 1;
icon_state = "railing0-1"
dir = 1
},
/obj/effect/floor_decal/corner/red{
dir = 5