mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Calomel Rework (#73762)
## About The Pull Request This transforms the Calomel now into a better version called Ammoniated Mercury and brings the old Calomel back. Calomel purges all chemicals again and Ammoniated Mercury purges toxins. Calomel deals toxin damage until you have less than 100 health in which case it starts doing to opposite. Ammoniated Mercury heals toxin damage if you do not have enough brute or fire damage. Paramedics now get a bottle of Ammoniated Mercury since it is the new Calomel. ## Why It's Good For The Game I always used to use Calomel back in the day to get rid of all chemicals. Multiver does the same but has very weird conditions, so now I split the old and new Calomel into two chemicals for both uses to become available. I have never seen anyone use Calomel so now it can be used to fix overdoses again. ## Changelog 🆑 add: Adds Ammoniated Mercury, a chemical to the game. balance: Calomel now purges all chemicals again, and now Ammoniated Mercury only purges toxins. /🆑
This commit is contained in:
@@ -273,7 +273,7 @@
|
||||
SSwardrobe.provide_type(/obj/item/stack/medical/bone_gel, src)
|
||||
SSwardrobe.provide_type(/obj/item/stack/sticky_tape/surgical, src)
|
||||
SSwardrobe.provide_type(/obj/item/reagent_containers/syringe, src)
|
||||
SSwardrobe.provide_type(/obj/item/reagent_containers/cup/bottle/calomel, src)
|
||||
SSwardrobe.provide_type(/obj/item/reagent_containers/cup/bottle/ammoniated_mercury, src)
|
||||
SSwardrobe.provide_type(/obj/item/reagent_containers/cup/bottle/formaldehyde, src)
|
||||
update_appearance()
|
||||
|
||||
@@ -284,7 +284,7 @@
|
||||
to_preload += /obj/item/stack/medical/bone_gel
|
||||
to_preload += /obj/item/stack/sticky_tape/surgical
|
||||
to_preload += /obj/item/reagent_containers/syringe
|
||||
to_preload += /obj/item/reagent_containers/cup/bottle/calomel
|
||||
to_preload += /obj/item/reagent_containers/cup/bottle/ammoniated_mercury
|
||||
to_preload += /obj/item/reagent_containers/cup/bottle/formaldehyde
|
||||
return to_preload
|
||||
|
||||
|
||||
@@ -394,21 +394,63 @@
|
||||
|
||||
/datum/reagent/medicine/calomel
|
||||
name = "Calomel"
|
||||
description = "Quickly purges the body of toxic chemicals. Toxin damage is dealt if the patient is in good condition."
|
||||
description = "Quickly purges the body of all chemicals except itself. The more health a person has, \
|
||||
the more toxin damage it will deal. It can heal toxin damage when people have low enough health."
|
||||
reagent_state = LIQUID
|
||||
color = "#19C832"
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
color = "#c85319"
|
||||
metabolization_rate = 1 * REAGENTS_METABOLISM
|
||||
taste_description = "acid"
|
||||
overdose_threshold = 20
|
||||
ph = 1.5
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/medicine/calomel/on_mob_life(mob/living/carbon/affected_mob, delta_time, times_fired)
|
||||
for(var/datum/reagent/toxin/R in affected_mob.reagents.reagent_list)
|
||||
affected_mob.reagents.remove_reagent(R.type, 3 * REM * delta_time)
|
||||
if(affected_mob.health > 20)
|
||||
affected_mob.adjustToxLoss(1 * REM * delta_time, FALSE, required_biotype = affected_biotype)
|
||||
. = TRUE
|
||||
for(var/datum/reagent/target_reagent in affected_mob.reagents.reagent_list)
|
||||
if(istype(target_reagent, /datum/reagent/medicine/calomel))
|
||||
continue
|
||||
affected_mob.reagents.remove_reagent(target_reagent.type, 3 * REM * delta_time)
|
||||
var/toxin_amount = round(affected_mob.health / 40, 0.1)
|
||||
affected_mob.adjustToxLoss(toxin_amount * REM * delta_time, FALSE, required_biotype = affected_biotype)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/medicine/calomel/overdose_process(mob/living/affected_mob, delta_time, times_fired)
|
||||
for(var/datum/reagent/medicine/calomel/target_reagent in affected_mob.reagents.reagent_list)
|
||||
affected_mob.reagents.remove_reagent(target_reagent.type, 2 * REM * delta_time)
|
||||
affected_mob.adjustToxLoss(2.5 * REM * delta_time, FALSE, required_biotype = affected_biotype)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/medicine/ammoniated_mercury
|
||||
name = "Ammoniated Mercury"
|
||||
description = "Quickly purges the body of toxic chemicals. Heals toxin damage when in a good condition someone has \
|
||||
no brute and fire damage. When hurt with brute or fire damage, it can deal a great amount of toxin damage. \
|
||||
When there are no toxins present, it starts slowly purging itself."
|
||||
reagent_state = LIQUID
|
||||
color = "#f3f1f0"
|
||||
metabolization_rate = 0.1 * REAGENTS_METABOLISM
|
||||
taste_description = "metallic"
|
||||
overdose_threshold = 10
|
||||
ph = 7
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
|
||||
/datum/reagent/medicine/ammoniated_mercury/on_mob_life(mob/living/carbon/affected_mob, delta_time, times_fired)
|
||||
var/toxin_chem_amount = 0
|
||||
for(var/datum/reagent/toxin/target_reagent in affected_mob.reagents.reagent_list)
|
||||
toxin_chem_amount += 1
|
||||
affected_mob.reagents.remove_reagent(target_reagent.type, 5 * REM * delta_time)
|
||||
var/toxin_amount = round(affected_mob.getBruteLoss() / 15, 0.1) + round(affected_mob.getFireLoss() / 30, 0.1) - 3
|
||||
affected_mob.adjustToxLoss(toxin_amount * REM * delta_time, FALSE, required_biotype = affected_biotype)
|
||||
if(toxin_chem_amount == 0)
|
||||
for(var/datum/reagent/medicine/ammoniated_mercury/target_reagent in affected_mob.reagents.reagent_list)
|
||||
affected_mob.reagents.remove_reagent(target_reagent.type, 1 * REM * delta_time)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/medicine/ammoniated_mercury/overdose_process(mob/living/affected_mob, delta_time, times_fired)
|
||||
affected_mob.adjustToxLoss(3 * REM * delta_time, FALSE, required_biotype = affected_biotype)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/medicine/potass_iodide
|
||||
name = "Potassium Iodide"
|
||||
|
||||
@@ -127,6 +127,11 @@
|
||||
required_temp = 374
|
||||
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_HEALING | REACTION_TAG_OTHER
|
||||
|
||||
/datum/chemical_reaction/medicine/ammoniated_mercury
|
||||
results = list(/datum/reagent/medicine/ammoniated_mercury = 3)
|
||||
required_reagents = list(/datum/reagent/medicine/calomel = 1, /datum/reagent/ammonia = 2)
|
||||
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_HEALING | REACTION_TAG_OTHER
|
||||
|
||||
/datum/chemical_reaction/medicine/potass_iodide
|
||||
results = list(/datum/reagent/medicine/potass_iodide = 2)
|
||||
required_reagents = list(/datum/reagent/potassium = 1, /datum/reagent/iodine = 1)
|
||||
|
||||
@@ -65,10 +65,12 @@
|
||||
volume = 50
|
||||
list_reagents = list(/datum/reagent/phlogiston = 30)
|
||||
|
||||
/obj/item/reagent_containers/cup/bottle/calomel
|
||||
name = "calomel bottle"
|
||||
desc = "A small bottle of calomel, which quickly purges all chemicals from the patient. Causes toxin damage if the patient is not heavily injured."
|
||||
list_reagents = list(/datum/reagent/medicine/calomel = 30)
|
||||
/obj/item/reagent_containers/cup/bottle/ammoniated_mercury
|
||||
name = "ammoniated mercury bottle"
|
||||
desc = "Quickly purges the body of toxic chemicals. Heals toxin damage when in a good condition someone has \
|
||||
no brute and fire damage. When hurt with brute or fire damage, it can deal a great amount of toxin damage. \
|
||||
When there are no toxins present, it starts slowly purging itself."
|
||||
list_reagents = list(/datum/reagent/medicine/ammoniated_mercury = 30)
|
||||
|
||||
/obj/item/reagent_containers/cup/bottle/syriniver
|
||||
name = "syriniver bottle"
|
||||
|
||||
Reference in New Issue
Block a user