mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Renames "Cyborg Analyzer" to "Machine Analyzer", it now scans how damaged machines are too! (#24063)
* Fixing some minor typos for cyborg upgrade flavour text Throws in some missing apostrophes, capitalisation, and the letter "s." * Briefcase Full of Cash buff Increases the amount of cash in the Syndicate Briefcase Full of Cash from 600 Cr to 1000 Cr * Reverts double-feature PR * Reverts a broken revert * Reverting again because Ebba told me to * And reverting yet again * Machine Analyzer Renamed "cyborg analyzer" to "machine analyzer". It now scans machines too. * Refactor Everything is now in scanners.dm yaaaay! * Update code/game/objects/items/devices/scanners.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/devices/scanners.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/devices/scanners.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Helper proc woooo * Update code/game/objects/items/devices/scanners.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/game/objects/items/devices/scanners.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * renaming stuff * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update scanners.dm * Update scanners.dm --------- Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
co-authored by
DGamerL
Luc
Henri215
parent
1c630f084c
commit
91be8af21b
@@ -1,13 +1,18 @@
|
||||
/*
|
||||
CONTAINS:
|
||||
T-RAY
|
||||
DETECTIVE SCANNER
|
||||
T-RAY SCANNER
|
||||
HEALTH ANALYZER
|
||||
ROBOT ANALYZER
|
||||
MACHINE ANALYZER
|
||||
GAS ANALYZER
|
||||
PLANT ANALYZER
|
||||
REAGENT SCANNER
|
||||
REAGENT SCANNERS
|
||||
BODY SCANNERS
|
||||
SLIME SCANNER
|
||||
*/
|
||||
|
||||
/******************************/
|
||||
/*** T-RAY SCANNER ***/
|
||||
/******************************/
|
||||
|
||||
/obj/item/t_scanner
|
||||
name = "T-ray scanner"
|
||||
desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
|
||||
@@ -66,6 +71,10 @@ REAGENT SCANNER
|
||||
if(length(t_ray_images))
|
||||
flick_overlay(t_ray_images, list(viewer.client), flick_time)
|
||||
|
||||
/******************************/
|
||||
/*** HEALTH ANALYZER ***/
|
||||
/******************************/
|
||||
|
||||
/proc/get_chemscan_results(mob/living/user, mob/living/M)
|
||||
var/msgs = list()
|
||||
if(ishuman(M))
|
||||
@@ -329,9 +338,13 @@ REAGENT SCANNER
|
||||
origin_tech = "magnets=2;biotech=2"
|
||||
usesound = 'sound/items/deconstruct.ogg'
|
||||
|
||||
/******************************/
|
||||
/*** MACHINE ANALYZER ***/
|
||||
/******************************/
|
||||
|
||||
/obj/item/robotanalyzer
|
||||
name = "cyborg analyzer"
|
||||
desc = "A hand-held scanner able to diagnose robotic injuries."
|
||||
name = "machine analyzer"
|
||||
desc = "A hand-held scanner able to diagnose robotic injuries and the condition of machinery."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "robotanalyzer"
|
||||
item_state = "analyzer"
|
||||
@@ -343,18 +356,36 @@ REAGENT SCANNER
|
||||
throw_range = 10
|
||||
origin_tech = "magnets=1;biotech=1"
|
||||
|
||||
/obj/item/robotanalyzer/attack(mob/living/M, mob/living/user)
|
||||
if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50))
|
||||
var/list/msgs = list()
|
||||
user.visible_message("<span class='warning'>[user] has analyzed the floor's components!</span>", "<span class='warning'>You try to analyze the floor's vitals!</span>")
|
||||
msgs += "<span class='info'>Analyzing Results for The floor:\n\t Overall Status: Unknown</span>"
|
||||
msgs += "<span class='info'>\t Damage Specifics: <font color='#FFA500'>[0]</font>/<font color='red>[0]</font></span>"
|
||||
msgs += "<span class='info'>Key: <font color='#FFA500'>Burns</font><font color ='red'>/Brute</font></span>"
|
||||
msgs += "<span class='info'>Chassis Temperature: ???</span>"
|
||||
to_chat(user, chat_box_healthscan(msgs.Join("<br>")))
|
||||
return
|
||||
/obj/item/robotanalyzer/proc/handle_clumsy(mob/living/user)
|
||||
var/list/msgs = list()
|
||||
user.visible_message("<span class='warning'>[user] has analyzed the floor's components!</span>", "<span class='warning'>You try to analyze the floor's vitals!</span>")
|
||||
msgs += "<span class='info'>Analyzing Results for The floor:\n\t Overall Status: Unknown</span>"
|
||||
msgs += "<span class='info'>\t Damage Specifics: <font color='#FFA500'>[0]</font>/<font color='red>[0]</font></span>"
|
||||
msgs += "<span class='info'>Key: <font color='#FFA500'>Burns</font><font color ='red'>/Brute</font></span>"
|
||||
msgs += "<span class='info'>Chassis Temperature: ???</span>"
|
||||
to_chat(user, chat_box_healthscan(msgs.Join("<br>")))
|
||||
|
||||
user.visible_message("<span class='notice'>[user] has analyzed [M]'s components.</span>", "<span class='notice'>You have analyzed [M]'s components.</span>")
|
||||
/obj/item/robotanalyzer/attack_obj(obj/machinery/M, mob/living/user) // Scanning a machine object
|
||||
if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50))
|
||||
handle_clumsy(user)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] has analyzed [M]'s components with [src].</span>", "<span class='notice'>You analyze [M]'s components with [src].</span>")
|
||||
machine_scan(user, M)
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/robotanalyzer/proc/machine_scan(mob/user, obj/machinery/M)
|
||||
if(M.obj_integrity == M.max_integrity)
|
||||
to_chat(user, "<span class='info'>[M] is at full integrity.</span>")
|
||||
return
|
||||
to_chat(user, "<span class='info'>Structural damage detected! [M]'s overall estimated integrity is [round((M.obj_integrity / M.max_integrity) * 100)]%.</span>")
|
||||
if(M.stat & BROKEN) // Displays alongside above message. Machines with a "broken" state do not become broken at 0% HP - anything that reaches that point is destroyed
|
||||
to_chat(user, "<span class='warning'>Further analysis: Catastrophic component failure detected! [M] requires reconstruction to fully repair.</span>")
|
||||
|
||||
/obj/item/robotanalyzer/attack(mob/living/M, mob/living/user) // Scanning borgs, IPCs/augmented crew, and AIs
|
||||
if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50))
|
||||
handle_clumsy(user)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] has analyzed [M]'s components with [src].</span>", "<span class='notice'>You analyze [M]'s components with [src].</span>")
|
||||
robot_healthscan(user, M)
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -454,6 +485,10 @@ REAGENT SCANNER
|
||||
|
||||
to_chat(user, chat_box_healthscan(msgs.Join("<br>")))
|
||||
|
||||
/******************************/
|
||||
/*** GAS ANALYZER ***/
|
||||
/******************************/
|
||||
|
||||
/obj/item/analyzer
|
||||
name = "analyzer"
|
||||
desc = "A hand-held environmental scanner which reports current gas levels."
|
||||
@@ -594,6 +629,10 @@ REAGENT SCANNER
|
||||
amount += inaccurate
|
||||
return DisplayTimeText(max(1, amount))
|
||||
|
||||
/******************************/
|
||||
/*** REAGENT SCANNERS ***/
|
||||
/******************************/
|
||||
|
||||
/obj/item/reagent_scanner
|
||||
name = "reagent scanner"
|
||||
desc = "A hand-held reagent scanner which identifies chemical agents and blood types."
|
||||
@@ -671,6 +710,9 @@ REAGENT SCANNER
|
||||
/obj/item/reagent_scanner/ui_action_click()
|
||||
print_report()
|
||||
|
||||
/******************************/
|
||||
/*** SLIME SCANNER ***/
|
||||
/******************************/
|
||||
/obj/item/slime_scanner
|
||||
name = "slime scanner"
|
||||
icon = 'icons/obj/device.dmi'
|
||||
@@ -725,6 +767,9 @@ REAGENT SCANNER
|
||||
to_chat(user, "<span class='notice'>Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]</span>")
|
||||
to_chat(user, "========================")
|
||||
|
||||
/******************************/
|
||||
/*** BODY ANALYZERS ***/
|
||||
/******************************/
|
||||
/obj/item/bodyanalyzer
|
||||
name = "handheld body analyzer"
|
||||
desc = "A handheld scanner capable of deep-scanning an entire body."
|
||||
|
||||
Reference in New Issue
Block a user