Union Rep Office and ID (#8964)

* adds ID and office access

* final touches

* requested changes
This commit is contained in:
Sypsoti
2023-02-19 18:32:42 -06:00
committed by GitHub
parent 25cab9fcff
commit 14a10960b7
8 changed files with 91 additions and 48 deletions

View File

@@ -1290,6 +1290,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "\improper Internal Affairs" name = "\improper Internal Affairs"
icon_state = "law" icon_state = "law"
/area/unionoffice
name = "\improper Union Office"
icon_state = "union"
/area/holodeck_control /area/holodeck_control
name = "\improper Holodeck Control" name = "\improper Holodeck Control"
icon_state = "holodeck_control" icon_state = "holodeck_control"

View File

@@ -473,3 +473,9 @@ var/global/const/access_alien = 300 // For things like crashed ships.
id = access_alien id = access_alien
desc = "#%_^&*@!" desc = "#%_^&*@!"
access_type = ACCESS_TYPE_PRIVATE access_type = ACCESS_TYPE_PRIVATE
var/global/const/access_union = 120
/datum/access/union
id = access_union
desc = "Union Representative"
region = ACCESS_REGION_COMMAND

View File

@@ -58,7 +58,8 @@
/obj/machinery/computer/card/attackby(obj/item/card/id/id_card, mob/user) /obj/machinery/computer/card/attackby(obj/item/card/id/id_card, mob/user)
if(!istype(id_card)) if(!istype(id_card))
return ..() return ..()
if(istype(id_card, /obj/item/card/id/union))
return
if(!scan && (access_change_ids in id_card.access) && (user.unEquip(id_card) || (id_card.loc == user && istype(user,/mob/living/silicon/robot)))) //Grippers. Again. ~Mechoid if(!scan && (access_change_ids in id_card.access) && (user.unEquip(id_card) || (id_card.loc == user && istype(user,/mob/living/silicon/robot)))) //Grippers. Again. ~Mechoid
user.drop_item() user.drop_item()
id_card.forceMove(src) id_card.forceMove(src)

View File

@@ -119,7 +119,7 @@
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-dark") initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-dark")
/obj/item/card/id/civilian/chef /obj/item/card/id/civilian/chef
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-white") initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-white")
/obj/item/card/id/civilian/janitor /obj/item/card/id/civilian/janitor
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-purple") initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "pips-purple")
@@ -143,4 +143,7 @@
initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s") initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s")
/obj/item/card/id/syndicate/officer /obj/item/card/id/syndicate/officer
initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold") initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s", "pips-gold", "stripe-gold")
/obj/item/card/id/union
initial_sprite_stack = list("base-stamp-gold", "top-dark", "stamp-n", "pips-gold", "stripe-black")

View File

@@ -33,10 +33,13 @@
/obj/item/card/id/examine(mob/user) /obj/item/card/id/examine(mob/user)
. = ..() . = ..()
if(in_range(user, src)) if(in_range(user, src))
tgui_interact(user) //Not chat related show_tgui(user)
else else
. += "<span class='warning'>It is too far away to read.</span>" . += "<span class='warning'>It is too far away to read.</span>"
/obj/item/card/id/proc/show_tgui(var/mob/user)
tgui_interact(user) //Not chat related
/obj/item/card/id/proc/prevent_tracking() /obj/item/card/id/proc/prevent_tracking()
return 0 return 0
@@ -107,9 +110,12 @@
set src in usr set src in usr
to_chat(usr, "[bicon(src)] [src.name]: The current assignment on the card is [src.assignment].") to_chat(usr, "[bicon(src)] [src.name]: The current assignment on the card is [src.assignment].")
to_chat(usr, "The blood type on the card is [blood_type].") show_additional_info_to(usr)
to_chat(usr, "The DNA hash on the card is [dna_hash].")
to_chat(usr, "The fingerprint hash on the card is [fingerprint_hash].") /obj/item/card/id/proc/show_additional_info_to(var/mob/user)
to_chat(user, "The blood type on the card is [blood_type].")
to_chat(user, "The DNA hash on the card is [dna_hash].")
to_chat(user, "The fingerprint hash on the card is [fingerprint_hash].")
return return
/obj/item/card/id/get_worn_icon_state(var/slot_name) /obj/item/card/id/get_worn_icon_state(var/slot_name)
@@ -166,7 +172,7 @@
assignment = "Synthetic" assignment = "Synthetic"
access = list( access = list(
access_synth, access_mining, access_mining_station, access_mining_office, access_research, access_synth, access_mining, access_mining_station, access_mining_office, access_research,
access_xenoarch, access_xenobiology, access_external_airlocks, access_robotics, access_tox, access_xenoarch, access_xenobiology, access_external_airlocks, access_robotics, access_tox,
access_tox_storage, access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot access_tox_storage, access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot
) )
@@ -319,3 +325,15 @@
icon_state = "generic" icon_state = "generic"
primary_color = rgb(142,94,0) primary_color = rgb(142,94,0)
secondary_color = rgb(191,159,95) secondary_color = rgb(191,159,95)
/obj/item/card/id/union
name = "union representative ID"
desc = "An access card issued to the elected NanoTrasen Union Representative of Cynosure."
assignment = "Union Representative"
access = list(access_union)
/obj/item/card/id/union/show_additional_info_to(var/mob/user)
return
/obj/item/card/id/union/show_tgui(var/mob/user)
return

View File

@@ -121,6 +121,8 @@
turn_on(user) turn_on(user)
/obj/item/modular_computer/attackby(var/obj/item/W as obj, var/mob/user as mob) /obj/item/modular_computer/attackby(var/obj/item/W as obj, var/mob/user as mob)
if(istype(W, /obj/item/card/id/union))
return
if(istype(W, /obj/item/card/id)) // ID Card, try to insert it. if(istype(W, /obj/item/card/id)) // ID Card, try to insert it.
var/obj/item/card/id/I = W var/obj/item/card/id/I = W
if(!card_slot) if(!card_slot)
@@ -197,4 +199,4 @@
return return
..() ..()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -318,7 +318,7 @@
pixel_x = 21 pixel_x = 21
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"akZ" = ( "akZ" = (
/obj/structure/table/wooden_reinforced, /obj/structure/table/wooden_reinforced,
/obj/machinery/computer/med_data/laptop, /obj/machinery/computer/med_data/laptop,
@@ -2559,7 +2559,7 @@
/area/surface/station/quartermaster/restroom) /area/surface/station/quartermaster/restroom)
"bKf" = ( "bKf" = (
/turf/simulated/wall, /turf/simulated/wall,
/area/surface/station/command/internalaffairs) /area/unionoffice)
"bKi" = ( "bKi" = (
/obj/machinery/computer/teleporter, /obj/machinery/computer/teleporter,
/obj/effect/floor_decal/industrial/outline/yellow, /obj/effect/floor_decal/industrial/outline/yellow,
@@ -3779,7 +3779,7 @@
pixel_y = -1 pixel_y = -1
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"cwu" = ( "cwu" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -4679,7 +4679,7 @@
id = "comoffice_tint" id = "comoffice_tint"
}, },
/turf/simulated/floor/plating, /turf/simulated/floor/plating,
/area/surface/station/command/liaison) /area/unionoffice)
"dcv" = ( "dcv" = (
/obj/machinery/papershredder, /obj/machinery/papershredder,
/obj/effect/floor_decal/borderfloorwhite{ /obj/effect/floor_decal/borderfloorwhite{
@@ -7282,7 +7282,7 @@
pixel_x = -32 pixel_x = -32
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"eQB" = ( "eQB" = (
/obj/machinery/atmospherics/pipe/simple/hidden{ /obj/machinery/atmospherics/pipe/simple/hidden{
dir = 5 dir = 5
@@ -9636,7 +9636,7 @@
}, },
/obj/item/storage/secure/briefcase, /obj/item/storage/secure/briefcase,
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"gpz" = ( "gpz" = (
/obj/structure/disposalpipe/segment{ /obj/structure/disposalpipe/segment{
dir = 4 dir = 4
@@ -11600,7 +11600,7 @@
"htw" = ( "htw" = (
/obj/machinery/status_display, /obj/machinery/status_display,
/turf/simulated/wall, /turf/simulated/wall,
/area/surface/station/command/internalaffairs) /area/unionoffice)
"hua" = ( "hua" = (
/obj/machinery/alarm{ /obj/machinery/alarm{
dir = 8; dir = 8;
@@ -11650,15 +11650,15 @@
/turf/simulated/floor/tiled/white, /turf/simulated/floor/tiled/white,
/area/surface/station/rnd/research) /area/surface/station/rnd/research)
"hwX" = ( "hwX" = (
/obj/structure/bed/chair/office/light{
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply{ /obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9 dir = 9
}, },
/obj/effect/zone_divider, /obj/effect/zone_divider,
/obj/structure/bed/chair/comfy/rounded/brown{
dir = 8
},
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"hxj" = ( "hxj" = (
/obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only,
/obj/structure/cable/green, /obj/structure/cable/green,
@@ -11910,7 +11910,7 @@
id = "comoffice_tint" id = "comoffice_tint"
}, },
/turf/simulated/floor/plating, /turf/simulated/floor/plating,
/area/surface/station/command/liaison) /area/unionoffice)
"hEQ" = ( "hEQ" = (
/obj/structure/table/standard, /obj/structure/table/standard,
/obj/structure/cable/green{ /obj/structure/cable/green{
@@ -13867,7 +13867,7 @@
"iOg" = ( "iOg" = (
/obj/effect/zone_divider, /obj/effect/zone_divider,
/turf/simulated/wall/r_wall, /turf/simulated/wall/r_wall,
/area/surface/station/command/liaison) /area/unionoffice)
"iOC" = ( "iOC" = (
/obj/machinery/r_n_d/circuit_imprinter, /obj/machinery/r_n_d/circuit_imprinter,
/obj/effect/floor_decal/industrial/warning{ /obj/effect/floor_decal/industrial/warning{
@@ -14516,6 +14516,11 @@
/obj/effect/floor_decal/corner/blue/border{ /obj/effect/floor_decal/corner/blue/border{
dir = 4 dir = 4
}, },
/obj/structure/sign/goldenplaque{
desc = "Cynosure's Elected Site Union Representative. Chosen by you, for you.";
name = "NanoTrasen Union Office";
pixel_x = 32
},
/turf/simulated/floor/tiled, /turf/simulated/floor/tiled,
/area/surface/station/hallway/secondary/secondfloor/command) /area/surface/station/hallway/secondary/secondfloor/command)
"jcb" = ( "jcb" = (
@@ -15868,7 +15873,7 @@
/area/surface/station/command/internalaffairs) /area/surface/station/command/internalaffairs)
"jKV" = ( "jKV" = (
/turf/simulated/wall/r_wall, /turf/simulated/wall/r_wall,
/area/surface/station/command/liaison) /area/unionoffice)
"jLj" = ( "jLj" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6 dir = 6
@@ -16189,7 +16194,7 @@
dir = 8 dir = 8
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"jVB" = ( "jVB" = (
/obj/machinery/door/firedoor/glass, /obj/machinery/door/firedoor/glass,
/obj/structure/cable/green{ /obj/structure/cable/green{
@@ -17127,7 +17132,7 @@
"kGh" = ( "kGh" = (
/obj/machinery/ai_status_display, /obj/machinery/ai_status_display,
/turf/simulated/wall, /turf/simulated/wall,
/area/surface/station/command/internalaffairs) /area/unionoffice)
"kGU" = ( "kGU" = (
/obj/machinery/atmospherics/unary/vent_pump/on{ /obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1 dir = 1
@@ -17713,7 +17718,7 @@
}, },
/obj/machinery/disposal, /obj/machinery/disposal,
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"ljE" = ( "ljE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{ /obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4 dir = 4
@@ -18077,7 +18082,7 @@
id = "comoffice_tint" id = "comoffice_tint"
}, },
/turf/simulated/floor/plating, /turf/simulated/floor/plating,
/area/surface/station/command/liaison) /area/unionoffice)
"lwJ" = ( "lwJ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/floor_decal/steeldecal/steel_decals7{ /obj/effect/floor_decal/steeldecal/steel_decals7{
@@ -18500,11 +18505,11 @@
/area/surface/station/command/operations) /area/surface/station/command/operations)
"lPK" = ( "lPK" = (
/obj/machinery/camera/network/command{ /obj/machinery/camera/network/command{
c_tag = "COM - Liaison Office"; c_tag = "COM - Union Office";
dir = 6 dir = 6
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"lPP" = ( "lPP" = (
/obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/borderfloor,
/obj/effect/floor_decal/corner/red/border, /obj/effect/floor_decal/corner/red/border,
@@ -18882,11 +18887,11 @@
icon_state = "1-2" icon_state = "1-2"
}, },
/obj/machinery/door/airlock/command{ /obj/machinery/door/airlock/command{
name = "Liaison Office"; name = "Union Office";
req_one_access = list(38) req_one_access = list(38,120)
}, },
/turf/simulated/floor/tiled/steel_grid, /turf/simulated/floor/tiled/steel_grid,
/area/surface/station/command/liaison) /area/unionoffice)
"mfs" = ( "mfs" = (
/turf/simulated/wall/r_wall, /turf/simulated/wall/r_wall,
/area/surface/station/engineering/hallway/eva_hallway) /area/surface/station/engineering/hallway/eva_hallway)
@@ -21922,7 +21927,7 @@
dir = 6 dir = 6
}, },
/turf/simulated/floor/tiled/techmaint, /turf/simulated/floor/tiled/techmaint,
/area/surface/station/command/liaison) /area/unionoffice)
"olA" = ( "olA" = (
/obj/effect/floor_decal/borderfloorblack{ /obj/effect/floor_decal/borderfloorblack{
dir = 4 dir = 4
@@ -23704,7 +23709,7 @@
icon_state = "1-2" icon_state = "1-2"
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"prL" = ( "prL" = (
/obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -27412,7 +27417,7 @@
/area/surface/station/maintenance/weststairwell/snd) /area/surface/station/maintenance/weststairwell/snd)
"rXY" = ( "rXY" = (
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"rYR" = ( "rYR" = (
/obj/machinery/door/firedoor/glass, /obj/machinery/door/firedoor/glass,
/obj/structure/cable/green{ /obj/structure/cable/green{
@@ -28450,7 +28455,7 @@
}, },
/obj/effect/zone_divider, /obj/effect/zone_divider,
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"sDD" = ( "sDD" = (
/obj/structure/disposalpipe/segment{ /obj/structure/disposalpipe/segment{
dir = 4 dir = 4
@@ -29317,14 +29322,15 @@
"tcI" = ( "tcI" = (
/obj/structure/table/wooden_reinforced, /obj/structure/table/wooden_reinforced,
/obj/machinery/photocopier/faxmachine{ /obj/machinery/photocopier/faxmachine{
department = "Liaison Office" department = "Union Office";
req_one_access = list(38,19,3,41,120)
}, },
/obj/machinery/alarm{ /obj/machinery/alarm{
dir = 1; dir = 1;
pixel_y = -22 pixel_y = -22
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"tdB" = ( "tdB" = (
/obj/machinery/door/firedoor/glass, /obj/machinery/door/firedoor/glass,
/obj/machinery/door/airlock/glass{ /obj/machinery/door/airlock/glass{
@@ -29611,7 +29617,7 @@
"tlr" = ( "tlr" = (
/obj/structure/filingcabinet, /obj/structure/filingcabinet,
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"tlG" = ( "tlG" = (
/obj/effect/floor_decal/industrial/warning/dust{ /obj/effect/floor_decal/industrial/warning/dust{
dir = 4 dir = 4
@@ -31449,9 +31455,12 @@
d2 = 4; d2 = 4;
icon_state = "1-4" icon_state = "1-4"
}, },
/obj/item/clipboard, /obj/item/toy/desk/dippingbird{
pixel_x = -11;
pixel_y = 9
},
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"usA" = ( "usA" = (
/obj/structure/railing{ /obj/structure/railing{
dir = 1 dir = 1
@@ -31723,7 +31732,7 @@
"uAI" = ( "uAI" = (
/obj/effect/zone_divider, /obj/effect/zone_divider,
/turf/simulated/wall, /turf/simulated/wall,
/area/surface/station/command/internalaffairs) /area/unionoffice)
"uBB" = ( "uBB" = (
/obj/structure/cable/green{ /obj/structure/cable/green{
d1 = 32; d1 = 32;
@@ -32822,7 +32831,6 @@
/turf/simulated/floor/tiled/techfloor/grid, /turf/simulated/floor/tiled/techfloor/grid,
/area/surface/station/hallway/primary/secondfloor/east) /area/surface/station/hallway/primary/secondfloor/east)
"vmu" = ( "vmu" = (
/obj/structure/bed/chair,
/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable/green{ /obj/structure/cable/green{
d1 = 1; d1 = 1;
@@ -32832,8 +32840,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5 dir = 5
}, },
/obj/structure/bed/chair,
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"vne" = ( "vne" = (
/obj/structure/undies_wardrobe, /obj/structure/undies_wardrobe,
/obj/machinery/atmospherics/unary/vent_pump/on{ /obj/machinery/atmospherics/unary/vent_pump/on{
@@ -33698,7 +33707,7 @@
}, },
/obj/item/pen/blue, /obj/item/pen/blue,
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"vPY" = ( "vPY" = (
/obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/portable_atmospherics/canister/oxygen,
/obj/structure/window/reinforced{ /obj/structure/window/reinforced{
@@ -34057,7 +34066,7 @@
}, },
/obj/effect/zone_divider, /obj/effect/zone_divider,
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"wiC" = ( "wiC" = (
/obj/structure/disposalpipe/segment{ /obj/structure/disposalpipe/segment{
dir = 1; dir = 1;
@@ -34479,7 +34488,7 @@
pixel_x = 32 pixel_x = 32
}, },
/turf/simulated/floor/wood, /turf/simulated/floor/wood,
/area/surface/station/command/liaison) /area/unionoffice)
"wvW" = ( "wvW" = (
/obj/structure/cable/cyan{ /obj/structure/cable/cyan{
d1 = 4; d1 = 4;
@@ -68631,7 +68640,7 @@ bKf
bKf bKf
uAI uAI
kGh kGh
kny jKV
tnX tnX
sBb sBb
sBb sBb