reagent holder rework (#6903)

- reagents are now singletons
- most of reagent holder datums are refactored.
This commit is contained in:
silicons
2025-03-06 20:44:34 +01:00
committed by GitHub
parent 03a5b8a3bf
commit ef19e75993
180 changed files with 4282 additions and 3903 deletions
+2 -2
View File
@@ -805,7 +805,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(!(W.can_autoheal() || (bicardose && inaprovaline) || myeldose)) //bicaridine and inaprovaline stop internal wounds from growing bigger with time, unless it is so small that it is already healing
W.open_wound(0.1)
owner.vessel.remove_reagent("blood", W.damage/40) //line should possibly be moved to handle_blood, so all the bleeding stuff is in one place.
owner.erase_blood(W.damage / 40)
if(prob(1))
owner.custom_pain("You feel a stabbing pain in your [name]!", 50)
@@ -1170,7 +1170,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(company)
model = company
var/datum/robolimb/R = GLOB.all_robolimbs[company]
var/datum/robolimb/R = GLOB.all_robolimbs[isnum(company) ? GLOB.all_robolimbs[company] : company]
if(!R || (species && (species.name in R.species_cannot_use)))
R = GLOB.basic_robolimb
if(R)
+1 -1
View File
@@ -19,7 +19,7 @@
if((damage > 5 || damage + burn_dam >= 15) && type == WOUND_TYPE_BURN && (robotic < ORGAN_ROBOT) && !(species.species_flags & NO_BLOOD))
var/fluid_loss = 0.4 * (damage/(owner.getMaxHealth() - owner.getMinHealth())) * owner.species.blood_volume*(1 - owner.species.blood_level_fatal)
owner.remove_blood(fluid_loss)
owner.erase_blood(fluid_loss)
// first check whether we can widen an existing wound
if(length(wounds) > 0 && prob(max(50+(wound_tally-1)*10,90)))