|
24 | 24 | var/spit_target |
25 | 25 | var/spit_range = 2 // For var-edits |
26 | 26 | var/has_brain = FALSE |
27 | | - |
| 27 | + /// does this disgorger have sufficient heart efficiency? |
| 28 | + var/has_heart = FALSE |
| 29 | + /// does this disgorger have sufficient blood vessel efficiency? |
| 30 | + var/has_blood = FALSE |
28 | 31 | // Production |
29 | 32 | var/grind_rate = 8 // How many ticks between each processed item |
30 | 33 | var/current_tick = 0 |
|
63 | 66 | RefreshParts() |
64 | 67 |
|
65 | 68 | /obj/machinery/reagentgrinder/industrial/disgorger/examine(mob/user, extra_description = "") |
66 | | - ..() |
67 | 69 | var/accepted |
68 | 70 |
|
69 | 71 | if(accepted_objects?.len) |
|
82 | 84 | if(accepted) |
83 | 85 | accepted = copytext(accepted, 1, length(accepted) - 1) |
84 | 86 | extra_description += span_notice("\n<i>Accepts [accepted].</i>") |
| 87 | + ..(user, extra_description) |
85 | 88 |
|
86 | 89 | /obj/machinery/reagentgrinder/industrial/disgorger/proc/check_reagents(obj/item/I, mob/user) |
87 | 90 | if(!I.reagents || !I.reagents.total_volume) |
|
261 | 264 | var/throughput_mult = 0 |
262 | 265 |
|
263 | 266 | has_brain = FALSE |
264 | | - |
| 267 | + has_heart = FALSE |
| 268 | + has_blood = FALSE |
265 | 269 | for(var/component in component_parts) |
266 | 270 | if(istype(component, /obj/item/electronics/circuitboard/disgorger)) |
267 | 271 | var/obj/item/electronics/circuitboard/disgorger/C = component |
|
286 | 290 | muscle_eff += O.organ_efficiency[eff] |
287 | 291 | if(OP_BLOOD_VESSEL) |
288 | 292 | blood_vessel_eff += O.organ_efficiency[eff] |
| 293 | + if(blood_vessel_eff > 75) |
| 294 | + has_blood = TRUE |
289 | 295 | if(OP_HEART) |
290 | 296 | heart_eff += O.organ_efficiency[eff] |
| 297 | + if(heart_eff > 75) |
| 298 | + has_heart = TRUE |
291 | 299 | if(BP_BRAIN) |
292 | 300 | has_brain = TRUE |
293 | 301 | brain_eff += O.organ_efficiency[eff] |
|
320 | 328 | /datum/reagent/stim = 0.5, |
321 | 329 | /datum/reagent/drug/psilocybin = 2 |
322 | 330 | )) |
323 | | - if(kidney_eff > 199) |
| 331 | + if(kidney_eff > 150) |
324 | 332 | LAZYADD(accepted_reagents, list( |
325 | 333 | /datum/reagent/medicine/suppressital = 1, |
326 | 334 | /datum/reagent/medicine/methylphenidate = 1, |
|
335 | 343 | )) |
336 | 344 |
|
337 | 345 | throughput_mult = (heart_eff > 79) ? round((heart_eff + blood_vessel_eff) / 650, 0.05) : 0.05 |
338 | | - |
339 | 346 | capacity_mod = round((stomach_eff / 15) + carrion_chem_eff) |
340 | 347 | tick_reduction = round((muscle_eff / 20) + carrion_maw_eff) |
341 | 348 | production_mod = round(throughput_mult * ((stomach_eff / 2) + (liver_eff / 4) + (kidney_eff / 4) + (carrion_maw_eff)) / 100, 0.01) |
|
355 | 362 | /obj/machinery/reagentgrinder/industrial/disgorger/nano_ui_data() |
356 | 363 | . = ..() |
357 | 364 |
|
| 365 | + .["has_heart"] = has_heart |
| 366 | + .["has_blood"] = has_blood |
358 | 367 | .["biomatter_counter"] = biomatter_counter |
359 | 368 | .["research_counter"] = research_counter |
360 | 369 | .["research_rate"] = round(100 / research_denominator, 1) |
|
0 commit comments