mirror of
https://github.com/Yawn-Wider/YWPolarisVore.git
synced 2026-08-25 05:57:21 +01:00
phase 2
This commit is contained in:
@@ -106,7 +106,7 @@
|
||||
glass_desc = "A well-known alcohol with a variety of applications."
|
||||
allergen_factor = 1 //simulates mixed drinks containing less of the allergen, as they have only a single actual reagent unlike food
|
||||
|
||||
affects_robots = 1 //VOREStation Addition/Edit
|
||||
affects_robots = 1 //kiss my shiny metal ass
|
||||
|
||||
/datum/reagent/ethanol/touch_mob(var/mob/living/L, var/amount)
|
||||
..()
|
||||
@@ -117,26 +117,13 @@
|
||||
if(issmall(M))
|
||||
removed *= 2
|
||||
|
||||
if(alien == IS_SLIME)
|
||||
strength_mod *= 2
|
||||
// VOREStation Edit - M.adjustToxLoss(removed)
|
||||
|
||||
var/strength_mod = 3 * M.species.chem_strength_alcohol //Alcohol is 3x stronger when injected into the veins.
|
||||
if(!strength_mod)
|
||||
return
|
||||
|
||||
M.add_chemical_effect(CE_ALCOHOL, 1)
|
||||
|
||||
var/effective_dose = dose * strength_mod * (1 + volume/60) //drinking a LOT will make you go down faster
|
||||
if(M.species.robo_ethanol_proc) //failsafe to make sure boozy-bots don't get rekt, since they only process out of bloodstream rather than ingested
|
||||
effective_dose = dose * M.species.chem_strength_alcohol
|
||||
|
||||
if(M.isSynthetic() && M.nutrition < 500 && M.species.robo_ethanol_proc)
|
||||
M.adjust_nutrition(round(max(0,80 - strength) * removed)/30) //the stronger it is, the more juice you gain; really weak stuff gets you nothing
|
||||
to_world("[M] gained [round(max(0,80-strength))] multiplied by [removed], divided by 30 = [round(max(0,80 - strength) * removed)/30] nutrition this processing tick.")
|
||||
|
||||
if(M.species.robo_ethanol_drunk || !(M.isSynthetic()))
|
||||
if(!(M.isSynthetic()))
|
||||
M.add_chemical_effect(CE_ALCOHOL, 1)
|
||||
var/effective_dose = dose * strength_mod * (1 + volume/60) //drinking a LOT will make you go down faster
|
||||
|
||||
if(effective_dose >= strength) // Early warning
|
||||
M.make_dizzy(18) // It is decreased at the speed of 3 per tick
|
||||
@@ -146,6 +133,13 @@
|
||||
M.Confuse(60)
|
||||
if(effective_dose >= strength * 4) // Blurry vision
|
||||
M.eye_blurry = max(M.eye_blurry, 30)
|
||||
if(effective_dose >= strength * 5) // Drowsyness - periodically falling asleep
|
||||
M.drowsyness = max(M.drowsyness, 60)
|
||||
if(effective_dose >= strength * 6) // Toxic dose
|
||||
M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity*3)
|
||||
if(effective_dose >= strength * 7) // Pass out
|
||||
M.Paralyse(60)
|
||||
M.Sleeping(90)
|
||||
|
||||
if(druggy != 0)
|
||||
M.druggy = max(M.druggy, druggy*3)
|
||||
@@ -158,57 +152,51 @@
|
||||
if(halluci)
|
||||
M.hallucination = max(M.hallucination, halluci*3)
|
||||
|
||||
if((M.species.robo_ethanol_drunk && M.species.robo_ethanol_proc) || !(M.isSynthetic()))
|
||||
if(effective_dose >= strength * 5) // Drowsyness - periodically falling asleep
|
||||
M.drowsyness = max(M.drowsyness, 60)
|
||||
if(effective_dose >= strength * 6) // Toxic dose
|
||||
M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity*3)
|
||||
if(effective_dose >= strength * 7) // Pass out
|
||||
M.Paralyse(60)
|
||||
M.Sleeping(90)
|
||||
//VOREStation Edits End
|
||||
|
||||
/datum/reagent/ethanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(issmall(M)) removed *= 2
|
||||
if(!(M.species.allergens & allergen_type) && !(M.isSynthetic())) //assuming it doesn't cause a horrible reaction, we get the nutrition effects - VOREStation Edit (added synth check)
|
||||
if(issmall(M))
|
||||
removed *= 2
|
||||
|
||||
if(!(M.species.allergens & allergen_type)) //assuming it doesn't cause a horrible reaction, we get the nutrition effects
|
||||
if(!(M.species.allergens & allergen_type) && !(M.isSynthetic())) //assuming it doesn't cause a horrible reaction, we get the nutrition effects - VOREStation Edit (added synth check)
|
||||
M.adjust_nutrition(nutriment_factor * removed)
|
||||
|
||||
if(M.isSynthetic() && M.nutrition < 500 && M.species.robo_ethanol_proc)
|
||||
M.adjust_nutrition(round(max(0,80 - strength) * removed)/30) //the stronger it is, the more juice you gain; really weak stuff gets you nothing
|
||||
to_world("[M] gained [round(max(0,80-strength))] multiplied by [removed], divided by 30 = [round(max(0,80 - strength) * removed)/30] nutrition this processing tick.")
|
||||
|
||||
var/effective_dose = dose * M.species.chem_strength_alcohol
|
||||
if(!effective_dose)
|
||||
return
|
||||
|
||||
if(!(M.isSynthetic()))
|
||||
if(M.species.robo_ethanol_drunk || !(M.isSynthetic()))
|
||||
M.add_chemical_effect(CE_ALCOHOL, 1)
|
||||
|
||||
if(dose * strength_mod >= strength) // Early warning
|
||||
if(effective_dose >= strength) // Early warning
|
||||
M.make_dizzy(6) // It is decreased at the speed of 3 per tick
|
||||
if(dose * strength_mod >= strength * 2) // Slurring
|
||||
if(effective_dose >= strength * 2) // Slurring
|
||||
M.slurring = max(M.slurring, 30)
|
||||
if(dose * strength_mod >= strength * 3) // Confusion - walking in random directions
|
||||
if(effective_dose >= strength * 3) // Confusion - walking in random directions
|
||||
M.Confuse(20)
|
||||
if(dose * strength_mod >= strength * 4) // Blurry vision
|
||||
if(effective_dose >= strength * 4) // Blurry vision
|
||||
M.eye_blurry = max(M.eye_blurry, 10)
|
||||
if(dose * strength_mod >= strength * 5) // Drowsyness - periodically falling asleep
|
||||
M.drowsyness = max(M.drowsyness, 20)
|
||||
if(dose * strength_mod >= strength * 6) // Toxic dose
|
||||
M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity)
|
||||
if(dose * strength_mod >= strength * 7) // Pass out
|
||||
M.Paralyse(20)
|
||||
M.Sleeping(30)
|
||||
if((M.species.robo_ethanol_drunk && M.species.robo_ethanol_proc) || !(M.isSynthetic()))
|
||||
if(effective_dose >= strength * 5) // Drowsyness - periodically falling asleep
|
||||
M.drowsyness = max(M.drowsyness, 20)
|
||||
if(effective_dose >= strength * 6) // Toxic dose
|
||||
M.add_chemical_effect(CE_ALCOHOL_TOXIC, toxicity)
|
||||
if(effective_dose >= strength * 7) // Pass out
|
||||
M.Paralyse(20)
|
||||
M.Sleeping(30)
|
||||
|
||||
if(druggy != 0)
|
||||
M.druggy = max(M.druggy, druggy)
|
||||
//VOREStation Edits End
|
||||
|
||||
if(adj_temp > 0 && M.bodytemperature < targ_temp) // 310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(targ_temp, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
if(adj_temp < 0 && M.bodytemperature > targ_temp)
|
||||
M.bodytemperature = min(targ_temp, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
if(halluci)
|
||||
M.hallucination = max(M.hallucination, halluci)
|
||||
|
||||
if(halluci)
|
||||
M.hallucination = max(M.hallucination, halluci)
|
||||
if(adj_temp > 0 && M.bodytemperature < targ_temp) // 310 is the normal bodytemp. 310.055
|
||||
M.bodytemperature = min(targ_temp, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
if(adj_temp < 0 && M.bodytemperature > targ_temp)
|
||||
M.bodytemperature = min(targ_temp, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
|
||||
/datum/reagent/ethanol/touch_obj(var/obj/O)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user