Removes Advanced Reagent Scanner from Service & Medical Cyborgs, Transfers Functionality to Innate Reagent Vision. (#24457)

* Update robot_modules.dm

* Adds advanced reagent vision

* rounding

* Update code/datums/outfits/outfit_debug.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/modules/clothing/clothing.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update atoms.dm

* This one hyphen will kill me if I don't fix it.

* Update code/game/atoms.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/atoms.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update atoms.dm

* Update code/game/atoms.dm

Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>

* Update code/modules/clothing/clothing.dm

Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

---------

Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
This commit is contained in:
CRUNCH
2024-04-30 11:51:15 +00:00
committed by GitHub
co-authored by Henri215 GDN
parent 773ee4afed
commit 107950f50e
10 changed files with 101 additions and 55 deletions
@@ -705,7 +705,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
updateghostimages()
/mob/dead/observer/can_see_reagents()
/mob/dead/observer/advanced_reagent_vision() // Ghosts can see all the reagents inside things.
return TRUE
/proc/updateallghostimages()
@@ -789,12 +789,12 @@
/mob/living/carbon/human/abiotic(full_body = 0)
if(full_body && ((src.l_hand && !(src.l_hand.flags & ABSTRACT)) || (src.r_hand && !(src.r_hand.flags & ABSTRACT)) || (src.back || src.wear_mask || src.head || src.shoes || src.w_uniform || src.wear_suit || src.glasses || src.l_ear || src.r_ear || src.gloves)))
return 1
return TRUE
if((src.l_hand && !(src.l_hand.flags & ABSTRACT)) || (src.r_hand && !(src.r_hand.flags & ABSTRACT)))
return 1
return TRUE
return 0
return FALSE
/mob/living/carbon/human/proc/check_dna()
@@ -873,8 +873,8 @@
// Todo, check stomach organ when implemented.
var/obj/item/organ/external/head/H = get_organ("head")
if(!H || !H.can_intake_reagents)
return 0
return 1
return FALSE
return TRUE
/mob/living/carbon/human/proc/get_visible_gender()
var/list/obscured = check_obscured_slots()
@@ -1275,7 +1275,7 @@
set desc = "Use blood on your hands to write a short message on the floor or a wall, murder mystery style."
if(usr != src)
return 0 //something is terribly wrong
return FALSE //something is terribly wrong
if(incapacitated())
to_chat(src, "<span class='warning'>You can't write on the floor in your current state!</span>")
return
@@ -1652,15 +1652,25 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
return
return md5(dna.uni_identity)
/mob/living/carbon/human/can_see_reagents() //If they have some glasses or helmet equipped that lets them see reagents, they can see reagents
/mob/living/carbon/human/reagent_vision() // If they have some glasses or helmet equipped that lets them see reagents inside transparent containers, they can see them.
if(istype(head, /obj/item/clothing/head))
var/obj/item/clothing/head/hat = head
if(hat.scan_reagents)
return 1
return TRUE
if(istype(glasses, /obj/item/clothing/glasses))
var/obj/item/clothing/rscan = glasses
if(rscan.scan_reagents)
return 1
return TRUE
/mob/living/carbon/human/advanced_reagent_vision() // If they have some glasses or helmet equipped that lets them see reagents inside everything, they can see reagents inside everything.
if(istype(head, /obj/item/clothing/head))
var/obj/item/clothing/head/hat = head
if(hat.scan_reagents_advanced)
return TRUE
if(istype(glasses, /obj/item/clothing/glasses))
var/obj/item/clothing/rscan = glasses
if(rscan.scan_reagents_advanced)
return TRUE
/mob/living/carbon/human/can_eat(flags = 255)
return dna.species && (dna.species.dietflags & flags)
@@ -1668,26 +1678,26 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
/mob/living/carbon/human/selfFeed(obj/item/food/toEat, fullness)
if(!check_has_mouth())
to_chat(src, "Where do you intend to put \the [toEat]? You don't have a mouth!")
return 0
return FALSE
return ..()
/mob/living/carbon/human/forceFed(obj/item/food/toEat, mob/user, fullness)
if(!check_has_mouth())
if(!((istype(toEat, /obj/item/reagent_containers/drinks) && (ismachineperson(src)))))
to_chat(user, "Where do you intend to put \the [toEat]? \The [src] doesn't have a mouth!")
return 0
return FALSE
return ..()
/mob/living/carbon/human/selfDrink(obj/item/reagent_containers/drinks/toDrink)
if(!check_has_mouth())
if(!ismachineperson(src))
to_chat(src, "Where do you intend to put \the [src]? You don't have a mouth!")
return 0
return FALSE
else
to_chat(src, "<span class='notice'>You pour a bit of liquid from [toDrink] into your connection port.</span>")
else
to_chat(src, "<span class='notice'>You swallow a gulp of [toDrink].</span>")
return 1
return TRUE
/mob/living/carbon/human/can_track(mob/living/user)
if(wear_id)
@@ -114,9 +114,9 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
var/datum/action/item_action/toggle_research_scanner/scanner = null
var/list/module_actions = list()
var/see_reagents = FALSE // Determines if the cyborg can see reagents
var/has_advanced_reagent_vision = FALSE // Determines if the cyborg has advanced reagent vision.
/// Integer used to determine self-mailing location, used only by drones and saboteur borgs
/// Integer used to determine self-mailing location, used only by drones and saboteur borgs.
var/mail_destination = 1
var/datum/ui_module/robot_self_diagnosis/self_diagnosis
var/datum/ui_module/destination_tagger/mail_setter
@@ -574,7 +574,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
if(camera && ("Robots" in camera.network))
camera.network += "Medical"
status_flags &= ~CANPUSH
see_reagents = TRUE
has_advanced_reagent_vision = TRUE
if("Mining")
module = new /obj/item/robot_module/miner(src)
module.channels = list("Supply" = 1)
@@ -583,7 +583,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
if("Service")
module = new /obj/item/robot_module/butler(src)
module.channels = list("Service" = 1)
see_reagents = TRUE
has_advanced_reagent_vision = TRUE
if(selected_sprite == "Bro")
module.module_type = "Brobot"
if("Combat")
@@ -1484,7 +1484,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
is_emaggable = FALSE
can_lock_cover = TRUE
default_cell_type = /obj/item/stock_parts/cell/bluespace
see_reagents = TRUE
has_advanced_reagent_vision = TRUE
/mob/living/silicon/robot/deathsquad/init(alien = FALSE, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
laws = new /datum/ai_laws/deathsquad
@@ -1517,7 +1517,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
can_lock_cover = TRUE
default_cell_type = /obj/item/stock_parts/cell/super
var/eprefix = "Amber"
see_reagents = TRUE
has_advanced_reagent_vision = TRUE
/mob/living/silicon/robot/ert/init(alien = FALSE, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
@@ -1573,7 +1573,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
damage_protection = 20 // Reduce all incoming damage by this number. Very high in the case of /destroyer borgs, since it is an admin-only borg.
can_lock_cover = TRUE
default_cell_type = /obj/item/stock_parts/cell/bluespace
see_reagents = TRUE
has_advanced_reagent_vision = TRUE
/mob/living/silicon/robot/destroyer/init(alien = FALSE, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
aiCamera = new/obj/item/camera/siliconcam/robot_camera(src)
@@ -1692,8 +1692,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
playsound(loc, 'sound/machines/warning-buzzer.ogg', 75, TRUE)
to_chat(src, "<span class='userdanger'>CRITICAL ERROR: All modules OFFLINE.</span>")
/mob/living/silicon/robot/can_see_reagents()
return see_reagents
/mob/living/silicon/robot/advanced_reagent_vision()
return has_advanced_reagent_vision
/mob/living/silicon/robot/verb/powerwarn()
set category = "Robot Commands"
@@ -333,7 +333,6 @@
/obj/item/crowbar/cyborg/red,
/obj/item/healthanalyzer/advanced,
/obj/item/robotanalyzer,
/obj/item/reagent_scanner/adv,
/obj/item/borg_defib,
/obj/item/handheld_defibrillator,
/obj/item/roller_holder,
@@ -600,7 +599,6 @@
/obj/item/razor,
/obj/item/instrument/piano_synth,
/obj/item/healthanalyzer/advanced,
/obj/item/reagent_scanner/adv,
/obj/item/rsf,
/obj/item/reagent_containers/dropper/cyborg,
/obj/item/lighter/zippo,
+6 -2
View File
@@ -1077,8 +1077,12 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
return TRUE
//Can the mob see reagents inside of containers?
/mob/proc/can_see_reagents()
// Can the mob see reagents inside of transparent containers?
/mob/proc/reagent_vision()
return FALSE
// Can the mob see reagents inside any container and also identify blood types?
/mob/proc/advanced_reagent_vision()
return FALSE
//Can this mob leave its location without breaking things terrifically?