mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
Medbots no longer waste chemicals
Medbots will no longer expend the entire contents of their internal beaker on one patient.
This commit is contained in:
@@ -335,9 +335,8 @@
|
||||
//If they're injured, we're using a beaker, and don't have one of our WONDERCHEMS.
|
||||
if((src.reagent_glass) && (src.use_beaker) && ((C.getBruteLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getOxyLoss() >= (heal_threshold + 15))))
|
||||
for(var/datum/reagent/R in src.reagent_glass.reagents.reagent_list)
|
||||
if(!C.reagents.has_reagent(R))
|
||||
if(!C.reagents.has_reagent(R.id))
|
||||
return 1
|
||||
continue
|
||||
|
||||
//They're injured enough for it!
|
||||
if((C.getBruteLoss() >= heal_threshold) && (!C.reagents.has_reagent(src.treatment_brute)))
|
||||
@@ -383,36 +382,40 @@
|
||||
|
||||
var/reagent_id = null
|
||||
|
||||
//Use whatever is inside the loaded beaker. If there is one.
|
||||
if((src.use_beaker) && (src.reagent_glass) && (src.reagent_glass.reagents.total_volume))
|
||||
reagent_id = "internal_beaker"
|
||||
|
||||
if(src.emagged == 2) //Emagged! Time to poison everybody.
|
||||
reagent_id = "toxin"
|
||||
|
||||
var/virus = 0
|
||||
for(var/datum/disease/D in C.viruses)
|
||||
virus = 1
|
||||
else
|
||||
var/virus = 0
|
||||
for(var/datum/disease/D in C.viruses)
|
||||
virus = 1
|
||||
|
||||
if (!reagent_id && (virus))
|
||||
if(!C.reagents.has_reagent(src.treatment_virus))
|
||||
reagent_id = src.treatment_virus
|
||||
if (!reagent_id && (virus))
|
||||
if(!C.reagents.has_reagent(src.treatment_virus))
|
||||
reagent_id = src.treatment_virus
|
||||
|
||||
if (!reagent_id && (C.getBruteLoss() >= heal_threshold))
|
||||
if(!C.reagents.has_reagent(src.treatment_brute))
|
||||
reagent_id = src.treatment_brute
|
||||
if (!reagent_id && (C.getBruteLoss() >= heal_threshold))
|
||||
if(!C.reagents.has_reagent(src.treatment_brute))
|
||||
reagent_id = src.treatment_brute
|
||||
|
||||
if (!reagent_id && (C.getOxyLoss() >= (15 + heal_threshold)))
|
||||
if(!C.reagents.has_reagent(src.treatment_oxy))
|
||||
reagent_id = src.treatment_oxy
|
||||
if (!reagent_id && (C.getOxyLoss() >= (15 + heal_threshold)))
|
||||
if(!C.reagents.has_reagent(src.treatment_oxy))
|
||||
reagent_id = src.treatment_oxy
|
||||
|
||||
if (!reagent_id && (C.getFireLoss() >= heal_threshold))
|
||||
if(!C.reagents.has_reagent(src.treatment_fire))
|
||||
reagent_id = src.treatment_fire
|
||||
if (!reagent_id && (C.getFireLoss() >= heal_threshold))
|
||||
if(!C.reagents.has_reagent(src.treatment_fire))
|
||||
reagent_id = src.treatment_fire
|
||||
|
||||
if (!reagent_id && (C.getToxLoss() >= heal_threshold))
|
||||
if(!C.reagents.has_reagent(src.treatment_tox))
|
||||
reagent_id = src.treatment_tox
|
||||
if (!reagent_id && (C.getToxLoss() >= heal_threshold))
|
||||
if(!C.reagents.has_reagent(src.treatment_tox))
|
||||
reagent_id = src.treatment_tox
|
||||
|
||||
//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 && src.use_beaker && src.reagent_glass && src.reagent_glass.reagents.total_volume)
|
||||
for(var/datum/reagent/R in src.reagent_glass.reagents.reagent_list)
|
||||
if(!C.reagents.has_reagent(R.id))
|
||||
reagent_id = "internal_beaker"
|
||||
break
|
||||
|
||||
if(!reagent_id) //If they don't need any of that they're probably cured!
|
||||
src.oldpatient = src.patient
|
||||
@@ -438,7 +441,6 @@
|
||||
src.currently_healing = 0
|
||||
return
|
||||
|
||||
// src.speak(reagent_id)
|
||||
reagent_id = null
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user