mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 15:17:01 +01:00
Adds PENLITE holobarriers (#39344)
Adds a simple way to quarantine individuals but doesn't make it roundstart, as it has potential to make 2 antags have a very difficult time: Bad virologists and (mainly) sentient diseases. Uses a sliver of silver because of this. It uses the exact same proc as the MEDHUD, so it CAN be countered by buffing stealth. Virologists can also activate the free-access so long as they do it while not infected with anything bad. That said, it has a build delay and is relatively easy to destroy. Think of it as a more obvious visual for people without huds to know "hey, I should probably avoid everyone else until I get better" and not necessarily an actual barrier device. sprites edited by me if you like them, by someone else if you don't!
This commit is contained in:
committed by
oranges
parent
55f4cce798
commit
9e4df6aa78
@@ -84,6 +84,14 @@
|
||||
creation_time = 0
|
||||
max_signs = 3
|
||||
|
||||
/obj/item/holosign_creator/medical
|
||||
name = "\improper PENLITE barrier projector"
|
||||
desc = "A holographic projector that creates PENLITE holobarriers. Useful during quarantines since they halt those with malicious diseases."
|
||||
icon_state = "signmaker_med"
|
||||
holosign_type = /obj/structure/holosign/barrier/medical
|
||||
creation_time = 30
|
||||
max_signs = 3
|
||||
|
||||
/obj/item/holosign_creator/cyborg
|
||||
name = "Energy Barrier Projector"
|
||||
desc = "A holographic projector that creates fragile energy fields."
|
||||
|
||||
@@ -97,6 +97,44 @@
|
||||
if(istype(P, /obj/item/projectile/beam/disabler))
|
||||
take_damage(5, BRUTE, "melee", 1) //Disablers aren't harmful.
|
||||
|
||||
/obj/structure/holosign/barrier/medical
|
||||
name = "\improper PENLITE holobarrier"
|
||||
desc = "A holobarrier that uses biometrics to detect human viruses. Denies passing to personnel with easily-detected, malicious viruses. Good for quarantines."
|
||||
icon_state = "holo_medical"
|
||||
alpha = 125 //lazy :)
|
||||
layer = ABOVE_MOB_LAYER
|
||||
var/force_allaccess = FALSE
|
||||
var/buzzcd = 0
|
||||
|
||||
/obj/structure/holosign/barrier/medical/examine(mob/user)
|
||||
..()
|
||||
to_chat(user,"<span class='notice'>The biometric scanners are <b>[force_allaccess ? "off" : "on"]</b>.</span>")
|
||||
|
||||
/obj/structure/holosign/barrier/medical/CanPass(atom/movable/mover, turf/target)
|
||||
icon_state = "holo_medical"
|
||||
if(force_allaccess)
|
||||
return TRUE
|
||||
if(ishuman(mover))
|
||||
var/mob/living/carbon/human/sickboi = mover
|
||||
var/threat = sickboi.check_virus()
|
||||
switch(threat)
|
||||
if(DISEASE_SEVERITY_MINOR, DISEASE_SEVERITY_MEDIUM, DISEASE_SEVERITY_HARMFUL, DISEASE_SEVERITY_DANGEROUS, DISEASE_SEVERITY_BIOHAZARD)
|
||||
if(buzzcd < world.time)
|
||||
playsound(get_turf(src),'sound/machines/buzz-sigh.ogg',65,1,4)
|
||||
buzzcd = (world.time + 60)
|
||||
icon_state = "holo_medical-deny"
|
||||
return FALSE
|
||||
else
|
||||
return TRUE //nice or benign diseases!
|
||||
return TRUE
|
||||
|
||||
/obj/structure/holosign/barrier/medical/attack_hand(mob/living/user)
|
||||
if(CanPass(user) && user.a_intent == INTENT_HELP)
|
||||
force_allaccess = !force_allaccess
|
||||
to_chat(user, "<span class='warning'>You [force_allaccess ? "deactivate" : "activate"] the biometric scanners.</span>") //warning spans because you can make the station sick!
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/holosign/barrier/cyborg/hacked
|
||||
name = "Charged Energy Field"
|
||||
desc = "A powerful energy field that blocks movement. Energy arcs off it."
|
||||
@@ -130,4 +168,4 @@
|
||||
var/mob/living/M = AM
|
||||
M.electrocute_act(15,"Energy Barrier", safety=1)
|
||||
shockcd = TRUE
|
||||
addtimer(CALLBACK(src, .proc/cooldown), 5)
|
||||
addtimer(CALLBACK(src, .proc/cooldown), 5)
|
||||
@@ -210,7 +210,7 @@
|
||||
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
|
||||
/datum/design/healthanalyzer_advanced
|
||||
name = "advanced health analyzer"
|
||||
desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy."
|
||||
@@ -220,7 +220,7 @@
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500)
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
|
||||
/////////////////////////////////////////
|
||||
//////////Cybernetic Implants////////////
|
||||
/////////////////////////////////////////
|
||||
@@ -595,3 +595,13 @@
|
||||
build_path = /obj/item/disk/surgery/necrotic_revival
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/holobarrier_med
|
||||
name = "PENLITE holobarrier projector"
|
||||
desc = "PENLITE holobarriers, a device that halts individuals with malicious diseases."
|
||||
build_type = PROTOLATHE
|
||||
build_path = /obj/item/holosign_creator/medical
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 100) //a hint of silver since it can troll 2 antags (bad viros and sentient disease)
|
||||
id = "holobarrier_med"
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
Reference in New Issue
Block a user