mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-21 11:07:46 +01:00
Chemistry commit
I messed something in the git
This commit is contained in:
@@ -55,12 +55,8 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
break
|
||||
|
||||
B.volume += 0.1 // regenerate blood VERY slowly
|
||||
if (reagents.has_reagent("nutriment")) //Getting food speeds it up
|
||||
B.volume += 0.4
|
||||
reagents.remove_reagent("nutriment", 0.1)
|
||||
if (reagents.has_reagent("iron")) //Hematogen candy anyone?
|
||||
B.volume += 0.8
|
||||
reagents.remove_reagent("iron", 0.1)
|
||||
if(CE_BLOODRESTORE in chem_effects)
|
||||
B.volume += chem_effects[CE_BLOODRESTORE]
|
||||
|
||||
// Damaged heart virtually reduces the blood volume, as the blood isn't
|
||||
// being pumped properly anymore.
|
||||
@@ -200,9 +196,8 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
vessel.remove_reagent("blood",amount) // Removes blood if human
|
||||
|
||||
//Transfers blood from container ot vessels
|
||||
/mob/living/carbon/proc/inject_blood(obj/item/weapon/reagent_containers/container, var/amount)
|
||||
var/datum/reagent/blood/injected = get_blood(container.reagents)
|
||||
if (!injected)
|
||||
/mob/living/carbon/proc/inject_blood(var/datum/reagent/blood/injected, var/amount)
|
||||
if (!injected || !istype(injected))
|
||||
return
|
||||
var/list/sniffles = virus_copylist(injected.data["virus2"])
|
||||
for(var/ID in sniffles)
|
||||
@@ -216,12 +211,8 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
src.reagents.add_reagent(C, (text2num(chems[C]) / 560) * amount)//adds trace chemicals to owner's blood
|
||||
reagents.update_total()
|
||||
|
||||
container.reagents.remove_reagent("blood", amount)
|
||||
|
||||
//Transfers blood from container ot vessels, respecting blood types compatability.
|
||||
/mob/living/carbon/human/inject_blood(obj/item/weapon/reagent_containers/container, var/amount)
|
||||
|
||||
var/datum/reagent/blood/injected = get_blood(container.reagents)
|
||||
//Transfers blood from reagents to vessel, respecting blood types compatability.
|
||||
/mob/living/carbon/human/inject_blood(var/datum/reagent/blood/injected, var/amount)
|
||||
|
||||
if(species && species.flags & NO_BLOOD)
|
||||
reagents.add_reagent("blood", amount, injected.data)
|
||||
|
||||
@@ -208,20 +208,12 @@
|
||||
if(is_broken())
|
||||
filter_effect -= 2
|
||||
|
||||
// Do some reagent filtering/processing.
|
||||
for(var/datum/reagent/R in owner.reagents.reagent_list)
|
||||
// Damaged liver means some chemicals are very dangerous
|
||||
// The liver is also responsible for clearing out alcohol and toxins.
|
||||
// Ethanol and all drinks are bad.K
|
||||
if(istype(R, /datum/reagent/ethanol))
|
||||
if(filter_effect < 3)
|
||||
owner.adjustToxLoss(0.1 * PROCESS_ACCURACY)
|
||||
owner.reagents.remove_reagent(R.id, R.custom_metabolism*filter_effect)
|
||||
// Can't cope with toxins at all
|
||||
else if(istype(R, /datum/reagent/toxin))
|
||||
if(filter_effect < 3)
|
||||
owner.adjustToxLoss(0.3 * PROCESS_ACCURACY)
|
||||
owner.reagents.remove_reagent(R.id, ALCOHOL_METABOLISM*filter_effect)
|
||||
// Do some reagent processing.
|
||||
if(owner.chem_effects[CE_ALCOHOL_TOXIC])
|
||||
if(filter_effect < 3)
|
||||
owner.adjustToxLoss(owner.chem_effects[CE_ALCOHOL_TOXIC] * 0.1 * PROCESS_ACCURACY)
|
||||
else
|
||||
take_damage(owner.chem_effects[CE_ALCOHOL_TOXIC] * 0.1 * PROCESS_ACCURACY, prob(1)) // Chance to warn them
|
||||
|
||||
/datum/organ/internal/kidney
|
||||
name = "kidneys"
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
organ_data.rejecting = null
|
||||
var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list
|
||||
if(!organ_blood || !organ_blood.data["blood_DNA"])
|
||||
target.vessel.trans_to(src, 5, 1, 1)
|
||||
target.vessel.trans_to_obj(src, 5, 1, 1)
|
||||
|
||||
if(target && user && organ_data.vital)
|
||||
user.attack_log += "\[[time_stamp()]\]<font color='red'> removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
|
||||
@@ -265,7 +265,7 @@
|
||||
O.icon_state = dead_icon ? dead_icon : icon_state
|
||||
|
||||
// Pass over the blood.
|
||||
reagents.trans_to(O, reagents.total_volume)
|
||||
reagents.trans_to_obj(O, reagents.total_volume)
|
||||
|
||||
if(fingerprints) O.fingerprints = fingerprints.Copy()
|
||||
if(fingerprintshidden) O.fingerprintshidden = fingerprintshidden.Copy()
|
||||
|
||||
@@ -9,13 +9,7 @@ mob/var/next_pain_time = 0
|
||||
// amount is a num from 1 to 100
|
||||
mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0)
|
||||
if(stat >= 2) return
|
||||
if(reagents.has_reagent("paracetamol"))
|
||||
return
|
||||
if(reagents.has_reagent("tramadol"))
|
||||
return
|
||||
if(reagents.has_reagent("oxycodone"))
|
||||
return
|
||||
if(analgesic)
|
||||
if(analgesic > 40)
|
||||
return
|
||||
if(world.time < next_pain_time && !force)
|
||||
return
|
||||
@@ -80,11 +74,7 @@ mob/living/carbon/human/proc/handle_pain()
|
||||
if(species && species.flags & NO_PAIN) return
|
||||
|
||||
if(stat >= 2) return
|
||||
if(reagents.has_reagent("tramadol"))
|
||||
return
|
||||
if(reagents.has_reagent("oxycodone"))
|
||||
return
|
||||
if(analgesic)
|
||||
if(analgesic > 70)
|
||||
return
|
||||
var/maxdam = 0
|
||||
var/datum/organ/external/damaged_organ = null
|
||||
|
||||
Reference in New Issue
Block a user