From 624ac532492de7f5424f7f862a0b7db186bdc14a Mon Sep 17 00:00:00 2001
From: SeepingVisage <160535199+SeepingVisage@users.noreply.github.com>
Date: Wed, 14 Aug 2024 13:37:54 -0400
Subject: [PATCH] removing commented code and fixing beakers
---
.../code/modules/mob/living/nutribot.dm | 133 +-----------------
1 file changed, 6 insertions(+), 127 deletions(-)
diff --git a/GainStation13/code/modules/mob/living/nutribot.dm b/GainStation13/code/modules/mob/living/nutribot.dm
index 8bfc4cae..e352dfde 100644
--- a/GainStation13/code/modules/mob/living/nutribot.dm
+++ b/GainStation13/code/modules/mob/living/nutribot.dm
@@ -34,8 +34,6 @@
path_image_color = "#DDDDFF"
var/obj/item/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents.
- //var/healthanalyzer = /obj/item/healthanalyzer
- //var/firstaid = /obj/item/storage/firstaid
var/skin = null //Set to "tox", "ointment" or "o2" for the other two firstaid kits.
var/mob/living/carbon/patient = null
var/mob/living/carbon/oldpatient = null
@@ -43,29 +41,14 @@
var/last_found = 0
var/last_newpatient_speak = 0 //Don't spam the "HEY I'M COMING" messages
var/injection_amount = 15 //How much reagent do we inject at a time?
- var/heal_threshold = 10 //Start healing when they have this much damage in a category
var/feed_threshold = 200 // The weight that people should be fed to!
var/use_beaker = 0 //Use reagents in beaker instead of default treatment agents.
- var/declare_crit = 1 //If active, the bot will transmit a critical patient alert to MedHUD users.
var/declare_cooldown = 0 //Prevents spam of critical patient alerts.
var/stationary_mode = 0 //If enabled, the Nutribot will not move automatically.
//Setting which reagents to use to treat what by default. By id.
var/treatment_thin = /datum/reagent/consumable/nutriment
var/treatment_thirsty = /datum/reagent/water
var/hunger_check = NUTRITION_LEVEL_HUNGRY
- /*var/treatment_brute_avoid = /datum/reagent/medicine/tricordrazine
- var/treatment_brute = /datum/reagent/medicine/bicaridine
- var/treatment_oxy_avoid = null
- var/treatment_oxy = /datum/reagent/medicine/dexalin
- var/treatment_fire_avoid = /datum/reagent/medicine/tricordrazine
- var/treatment_fire = /datum/reagent/medicine/kelotane
- var/treatment_tox_avoid = /datum/reagent/medicine/tricordrazine
- var/treatment_tox = /datum/reagent/medicine/charcoal
- var/treatment_tox_toxlover = /datum/reagent/toxin
- var/treatment_virus_avoid = null
- var/treatment_virus = /datum/reagent/medicine/spaceacillin
- var/treat_virus = 1 //If on, the bot will attempt to treat viral infections, curing them if possible.
- */
var/shut_up = 0 //self explanatory :)
//How panicked we are about being tipped over (why would you do this?)
@@ -75,31 +58,6 @@
//The last time we were tipped/righted and said a voice line, to avoid spam
var/last_tipping_action_voice = 0
-/*
-/mob/living/simple_animal/bot/nutribot/mysterious
- name = "\improper Mysterious Nutribot"
- desc = "International Nutribot of mystery."
- skin = "bezerk"
- treatment_brute = /datum/reagent/medicine/tricordrazine
- treatment_fire = /datum/reagent/medicine/tricordrazine
- treatment_tox = /datum/reagent/medicine/tricordrazine
-*/
-
-/*
-/mob/living/simple_animal/bot/nutribot/derelict
- name = "\improper Old Nutribot"
- desc = "Looks like it hasn't been modified since the late 2080s."
- skin = "bezerk"
- heal_threshold = 0
- declare_crit = 0
- treatment_oxy = /datum/reagent/toxin/pancuronium
- treatment_brute_avoid = null
- treatment_brute = /datum/reagent/toxin/pancuronium
- treatment_fire_avoid = null
- treatment_fire = /datum/reagent/toxin/sodium_thiopental
- treatment_tox_avoid = null
- treatment_tox = /datum/reagent/toxin/sodium_thiopental
-*/
/mob/living/simple_animal/bot/nutribot/update_icon()
cut_overlays()
@@ -169,13 +127,6 @@
dat += "None Loaded"
dat += "
Behaviour controls are [locked ? "locked" : "unlocked"]
"
if(!locked || issilicon(user) || IsAdminGhost(user))
- /*dat += "Healing Threshold: "
- dat += "-- "
- dat += "- "
- dat += "[heal_threshold] "
- dat += "+ "
- dat += "++"
- dat += "
"*/
dat += "Feed Amount: "
dat += "- "
@@ -197,9 +148,7 @@
dat += "+ "
dat += "
"
- //dat += "Treat Viral Infections: [treat_virus ? "Yes" : "No"]
"
dat += "The speaker switch is [shut_up ? "off" : "on"]. Toggle
"
- //dat += "Critical Patient Alerts: [declare_crit ? "Yes" : "No"]
"
dat += "Patrol Station: [auto_patrol ? "Yes" : "No"]
"
dat += "Stationary Mode: [stationary_mode ? "Yes" : "No"]
"
@@ -209,15 +158,6 @@
if(..())
return 1
- /*if(href_list["adj_threshold"])
- var/adjust_num = text2num(href_list["adj_threshold"])
- heal_threshold += adjust_num
- if(heal_threshold < 5)
- heal_threshold = 5
- if(heal_threshold > 75)
- heal_threshold = 75
- */
-
else if(href_list["adj_inject"])
var/adjust_num = text2num(href_list["adj_inject"])
injection_amount += adjust_num
@@ -236,17 +176,11 @@
else if(href_list["togglevoice"])
shut_up = !shut_up
- /*else if(href_list["critalerts"])
- declare_crit = !declare_crit*/
-
else if(href_list["stationary"])
stationary_mode = !stationary_mode
path = list()
update_icon()
- //else if(href_list["virus"])
- //treat_virus = !treat_virus
-
else if(href_list["hunger_check"])
hunger_check = ((hunger_check==NUTRITION_LEVEL_HUNGRY) ? NUTRITION_LEVEL_FULL : NUTRITION_LEVEL_HUNGRY)
@@ -286,7 +220,6 @@
/mob/living/simple_animal/bot/nutribot/emag_act(mob/user)
..()
if(emagged == 2)
- //declare_crit = 0
if(user)
to_chat(user, "You short out [src]'s reagent synthesis circuits.")
audible_message("[src] buzzes oddly!")
@@ -504,32 +437,22 @@
//declare(C)
//If they're injured, we're using a beaker, and don't have one of our WONDERCHEMS.
- if((reagent_glass) && (use_beaker) && ((C.fatness <= feed_threshold) || (feed_threshold == 0)))
+ if((reagent_glass) && (use_beaker) && (C.nutrition <= hunger_check) && ((C.fatness <= feed_threshold) || (feed_threshold == 0)))
for(var/A in reagent_glass.reagents.reagent_list)
var/datum/reagent/R = A
if(!C.reagents.has_reagent(R.type))
return TRUE
//They're injured enough for it!
+
+ //nutrition check
if((C.nutrition <= hunger_check) && ((C.fatness <= feed_threshold) || (feed_threshold == 0)) && (!C.reagents.has_reagent(treatment_thin)))
return TRUE //If they're already medicated don't bother!
+ //hydration check, only gives water till yer not thirsty no more!!
if((C.thirst <= THIRST_LEVEL_THIRSTY) && (!C.reagents.has_reagent(treatment_thirsty)))
return TRUE //If they're already medicated don't bother!
- /*var/treatment_toxavoid = get_avoidchem_toxin(C)
- if(((isnull(treatment_toxavoid) || !C.reagents.has_reagent(treatment_toxavoid))) && (C.getToxLoss() >= heal_threshold) && (!C.reagents.has_reagent(get_healchem_toxin(C))))
- return TRUE
-
- if(treat_virus && !C.reagents.has_reagent(treatment_virus_avoid) && !C.reagents.has_reagent(treatment_virus))
- for(var/thing in C.diseases)
- var/datum/disease/D = thing
- //the Nutribot can't detect viruses that are undetectable to Health Analyzers or Pandemic machines.
- if(!(D.visibility_flags & HIDDEN_SCANNER || D.visibility_flags & HIDDEN_PANDEMIC) \
- && D.severity != DISEASE_SEVERITY_POSITIVE \
- && (D.stage > 1 || (D.spread_flags & DISEASE_SPREAD_AIRBORNE))) // Nutribot can't detect a virus in its initial stage unless it spreads airborne.
- return TRUE //STOP DISEASE FOREVER
- */
return FALSE
@@ -554,16 +477,6 @@
else
..()
-/*
-/mob/living/simple_animal/bot/nutribot/proc/get_avoidchem_toxin(mob/M)
- return HAS_TRAIT(M, TRAIT_TOXINLOVER)? null : treatment_tox_avoid
-*/
-
-/*
-/mob/living/simple_animal/bot/nutribot/proc/get_healchem_toxin(mob/M)
- return HAS_TRAIT(M, TRAIT_TOXINLOVER)? treatment_tox_toxlover : treatment_tox
-*/
-
/mob/living/simple_animal/bot/nutribot/UnarmedAttack(atom/A)
if(iscarbon(A))
var/mob/living/carbon/C = A
@@ -604,19 +517,6 @@
reagent_id = /datum/reagent/consumable/cornoil //evil fucking check for a string as a reagent this shit is evil. its supposed to inject corn oil AND filzulphite but ill handle that later
else
- /*if(treat_virus)
- var/virus = 0
- for(var/thing in C.diseases)
- var/datum/disease/D = thing
- //detectable virus
- if((!(D.visibility_flags & HIDDEN_SCANNER)) || (!(D.visibility_flags & HIDDEN_PANDEMIC)))
- if(D.severity != DISEASE_SEVERITY_POSITIVE) //virus is harmful
- if((D.stage > 1) || (D.spread_flags & DISEASE_SPREAD_AIRBORNE))
- virus = 1
-
- if(!reagent_id && (virus))
- if(!C.reagents.has_reagent(treatment_virus) && !C.reagents.has_reagent(treatment_virus_avoid))
- reagent_id = treatment_virus*/
if(!reagent_id && ((feed_threshold == 0) || (C.fatness <= feed_threshold)) && (C.nutrition <= hunger_check))
if(!C.reagents.has_reagent(treatment_thin))
@@ -626,20 +526,6 @@
if(!C.reagents.has_reagent(treatment_thirsty))
reagent_id = treatment_thirsty
- /*if(!reagent_id && (C.getOxyLoss() >= (15 + heal_threshold)))
- if(!C.reagents.has_reagent(treatment_oxy) && !C.reagents.has_reagent(treatment_oxy_avoid))
- reagent_id = treatment_oxy
-
- if(!reagent_id && (C.getFireLoss() >= heal_threshold))
- if(!C.reagents.has_reagent(treatment_fire) && !C.reagents.has_reagent(treatment_fire_avoid))
- reagent_id = treatment_fire
-
- if(!reagent_id && (C.getToxLoss() >= heal_threshold))
- var/toxin_heal_avoid = get_avoidchem_toxin(C)
- var/toxin_healchem = get_healchem_toxin(C)
- if(!C.reagents.has_reagent(toxin_healchem) && (isnull(toxin_heal_avoid) || !C.reagents.has_reagent(toxin_heal_avoid)))
- reagent_id = toxin_healchem*/
-
//If the patient is injured but doesn't have our special reagent in them then we should give it to them first
if(reagent_id && use_beaker && reagent_glass && reagent_glass.reagents.total_volume)
for(var/A in reagent_glass.reagents.reagent_list)
@@ -649,8 +535,8 @@
break
if(!reagent_id) //If they don't need any of that they're probably cured!
- if(C.maxHealth - C.health < heal_threshold)
- to_chat(src, "[C] is healthy! Your programming prevents you from injecting anyone without at least [heal_threshold] damage of any one type ([heal_threshold + 15] for oxygen damage.)")
+ if((C.nutrition >= hunger_check) || (C.fatness >= feed_threshold))
+ to_chat(src, "[C] is full, or fat! Your programming prevents you from feeding anyone who is over the maximum weight, or doesn't need food!")
var/list/messagevoice = list("All patched up!" = 'sound/voice/medbot/patchedup.ogg',"An apple a day keeps me away." = 'sound/voice/medbot/apple.ogg',"Feel better soon!" = 'sound/voice/medbot/feelbetter.ogg')
var/message = pick(messagevoice)
speak(message)
@@ -720,13 +606,6 @@
do_sparks(3, TRUE, src)
..()
-/mob/living/simple_animal/bot/nutribot/proc/declare(crit_patient)
- if(declare_cooldown > world.time)
- return
- var/area/location = get_area(src)
- speak("Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!",radio_channel)
- declare_cooldown = world.time + 200
-
/obj/machinery/bot_core/nutribot
req_one_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_ROBOTICS)