diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 9825c12501c0..5509014c78ce 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -78,7 +78,12 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) P.reset_reagent() for(var/datum/chem_property/P in properties) - P.update_reagent() + if(P.name == PROPERTY_BOOSTING) + var/boost = P.pre_process() + var/potency = boost[REAGENT_EFFECT] * ((P.level+boost[REAGENT_BOOST]) * 0.5) + P.update_reagent(potency) + else + P.update_reagent() for(var/datum/chem_property/P in properties) P.post_update_reagent() diff --git a/code/modules/reagents/chemistry_properties/prop_positive.dm b/code/modules/reagents/chemistry_properties/prop_positive.dm index a8a11fc299ad..05d2330242a9 100644 --- a/code/modules/reagents/chemistry_properties/prop_positive.dm +++ b/code/modules/reagents/chemistry_properties/prop_positive.dm @@ -705,16 +705,16 @@ ..() -/datum/chem_property/positive/fire/update_reagent() +/datum/chem_property/positive/fire/update_reagent(potency = 1) holder.chemfiresupp = TRUE - holder.radiusmod += radiusmod_per_level * level - holder.durationmod += durationmod_per_level * level - holder.intensitymod += intensitymod_per_level * level + holder.radiusmod += radiusmod_per_level * potency * 2 + holder.durationmod += durationmod_per_level * potency * 2 + holder.intensitymod += intensitymod_per_level * potency * 2 - holder.rangefire += range_per_level * level - holder.durationfire += duration_per_level * level - holder.intensityfire += intensity_per_level * level + holder.rangefire += range_per_level * potency * 2 + holder.durationfire += duration_per_level * potency * 2 + holder.intensityfire += intensity_per_level * potency * 2 ..()