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:
CRUNCH
2024-03-12 11:15:28 +00:00
committed by GitHub
co-authored by DGamerL Luc Henri215
parent 1c630f084c
commit 91be8af21b
4 changed files with 69 additions and 24 deletions
+63 -18
View File
@@ -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."