mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-20 19:44:46 +01:00
Wall-mounted Geiger Counters
This commit is contained in:
@@ -50,6 +50,10 @@
|
||||
name = "keycard authenticator electronics"
|
||||
path =/obj/item/weapon/circuitboard/keycard_auth
|
||||
|
||||
/datum/category_item/autolathe/engineering/geiger_wall
|
||||
name = "wall-mounted geiger counter electronics"
|
||||
path =/obj/item/weapon/circuitboard/geiger
|
||||
|
||||
/datum/category_item/autolathe/engineering/photocopier
|
||||
name = "photocopier electronics"
|
||||
path =/obj/item/weapon/circuitboard/photocopier
|
||||
|
||||
@@ -214,6 +214,14 @@
|
||||
x_offset = 24
|
||||
y_offset = 24
|
||||
|
||||
/datum/frame/frame_types/geiger
|
||||
name = "Geiger Counter"
|
||||
frame_class = FRAME_CLASS_ALARM
|
||||
frame_size = 2
|
||||
frame_style = FRAME_STYLE_WALL
|
||||
x_offset = 28
|
||||
y_offset = 28
|
||||
|
||||
//////////////////////////////
|
||||
// Frame Object (Structure)
|
||||
//////////////////////////////
|
||||
|
||||
@@ -85,3 +85,84 @@
|
||||
icon_state = "geiger_on_4"
|
||||
if(RAD_LEVEL_VERY_HIGH to INFINITY)
|
||||
icon_state = "geiger_on_5"
|
||||
|
||||
///////////////////////
|
||||
|
||||
/obj/item/device/geiger/wall
|
||||
name = "mounted geiger counter"
|
||||
desc = "A wall mounted device used for detecting and measuring radiation in an area."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "geiger_wall"
|
||||
item_state = "geiger_wall"
|
||||
anchored = 1
|
||||
scanning = 1
|
||||
radiation_count = 0
|
||||
plane = TURF_PLANE
|
||||
layer = ABOVE_TURF_LAYER
|
||||
w_class = ITEMSIZE_LARGE
|
||||
flags = NOBLOODY
|
||||
var/circuit = /obj/item/weapon/circuitboard/geiger
|
||||
var/number = 0
|
||||
var/last_tick //used to delay the powercheck
|
||||
var/wiresexposed = 0
|
||||
|
||||
/obj/item/device/geiger/wall/Initialize()
|
||||
START_PROCESSING(SSobj, src)
|
||||
soundloop = new(list(src), FALSE)
|
||||
return ..()
|
||||
|
||||
/obj/item/device/geiger/wall/Destroy()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
QDEL_NULL(soundloop)
|
||||
return ..()
|
||||
|
||||
/obj/item/device/geiger/wall/attack_self(var/mob/user)
|
||||
scanning = !scanning
|
||||
update_icon()
|
||||
update_sound()
|
||||
to_chat(user, "<span class='notice'>\icon[src] You switch [scanning ? "on" : "off"] \the [src].</span>")
|
||||
|
||||
/obj/item/device/geiger/wall/update_icon()
|
||||
if(!scanning)
|
||||
icon_state = "geiger_wall-p"
|
||||
return 1
|
||||
|
||||
switch(radiation_count)
|
||||
if(null)
|
||||
icon_state = "geiger_level_1"
|
||||
if(-INFINITY to RAD_LEVEL_LOW)
|
||||
icon_state = "geiger_level_1"
|
||||
if(RAD_LEVEL_LOW to RAD_LEVEL_MODERATE)
|
||||
icon_state = "geiger_level_2"
|
||||
if(RAD_LEVEL_MODERATE to RAD_LEVEL_HIGH)
|
||||
icon_state = "geiger_level_3"
|
||||
if(RAD_LEVEL_HIGH to RAD_LEVEL_VERY_HIGH)
|
||||
icon_state = "geiger_level_4"
|
||||
if(RAD_LEVEL_VERY_HIGH to INFINITY)
|
||||
icon_state = "geiger_level_5"
|
||||
|
||||
/obj/item/device/geiger/wall/attack_ai(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
spawn (0)
|
||||
attack_self(user)
|
||||
|
||||
/obj/item/device/geiger/wall/attack_hand(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
spawn (0)
|
||||
attack_self(user)
|
||||
|
||||
/obj/item/device/geiger/wall/north
|
||||
pixel_y = 28
|
||||
dir = SOUTH
|
||||
|
||||
/obj/item/device/geiger/wall/south
|
||||
pixel_y = -28
|
||||
dir = NORTH
|
||||
|
||||
/obj/item/device/geiger/wall/east
|
||||
pixel_x = 28
|
||||
dir = EAST
|
||||
|
||||
/obj/item/device/geiger/wall/west
|
||||
pixel_x = -28
|
||||
dir = WEST
|
||||
@@ -68,6 +68,12 @@
|
||||
board_type = new /datum/frame/frame_types/keycard_authenticator
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50, MAT_COPPER = 100)
|
||||
|
||||
/obj/item/weapon/circuitboard/geiger
|
||||
name = T_BOARD("geiger counter")
|
||||
build_path = /obj/item/device/geiger/wall
|
||||
board_type = new /datum/frame/frame_types/geiger
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
//Computer
|
||||
|
||||
/obj/item/weapon/circuitboard/holopad
|
||||
|
||||
@@ -634,6 +634,7 @@
|
||||
/obj/item/weapon/circuitboard/atm,
|
||||
/obj/item/weapon/circuitboard/guestpass,
|
||||
/obj/item/weapon/circuitboard/keycard_auth,
|
||||
/obj/item/weapon/circuitboard/geiger,
|
||||
/obj/item/weapon/circuitboard/photocopier,
|
||||
/obj/item/weapon/circuitboard/fax,
|
||||
/obj/item/weapon/circuitboard/request,
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 78 KiB |
Reference in New Issue
Block a user