Skip to content

Commit

Permalink
Restoring my main branch
Browse files Browse the repository at this point in the history
Restoring my main branch because I was stupid for making my original changes in main
  • Loading branch information
Hopekz committed Oct 14, 2019
1 parent ab38288 commit 39cb232
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 171 deletions.
147 changes: 0 additions & 147 deletions code/modules/reagents/chemistry/reagents/medicine_reagents.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1335,152 +1335,5 @@
..()
. = 1

/datum/reagent/medicine/burnmix
name = "BurnMix"
description = "Take in moderation. Heals damage at a snail's pace. Effects increase when used with Epinephrine or Perfluorodecalin. You don't want this in your body for longer than needed."
reagent_state = LIQUID
color = "#BD328A" // R 189 G 50 B 138 , Medium Red Violet , Hue of Violet
overdose_threshold = 12
taste_description = "dixel"
glass_name = "glass of ...red?"
glass_desc = "Looks like some chunky dark red mix."
reagent_weight = 4
addiction_threshold = 40
// Max healing non OD with best rolls + buffs: 0.2 + 0.15 + 0.2 = 0.55
// Max healing with OD + best rolls and all buffs: 0.4 + 0.35 + 0.4 = 1.15

/datum/reagent/medicine/burnmix/on_mob_life(mob/living/carbon/M)
var/heal_roll = pick(-0.1,-0.2) // Base heal, Non OD
var/slur = 10 // Slur 10 sets up for future slur gains as real effects seem to start at 30
var/jitter = 0
if(M.health <= M.crit_threshold)
heal_roll = 0 // Burnmix will not heal anyone inside of crit without epipen or morhpine
if(prob(10))
heal_roll = 0 // Burnmix has a chance not to basic heal at all
if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) // start IF has Epinephrine in body
jitter = jitter + 5
slur = slur + 25
heal_roll = heal_roll - 0.15
if(prob(15))
M.losebreath++
if(prob(80))
M.adjustStaminaLoss(1.25*REM, 0) // end IF has Epinephrine in body

if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin)) // start IF has Perfluorodecalin in body
jitter = jitter + 5
slur = slur + 25
M.drowsyness += 0.5
heal_roll = heal_roll - 0.2 // start IF has Perfluorodecalin in body

if(prob(10)) // Start of base probability effects
var/tox_roll = pick(1,-1) // Rolls for damage or healing
if(tox_roll == 1)
M.emote("moan")
if(tox_roll == -1)
M.emote("twitch")
if(prob(90))
M.adjustToxLoss(tox_roll*REM, 0)
M.Jitter(jitter)
if(prob(1)) // Last set of non OD probability effects
M.Dizzy(jitter)
M.slurring = slur // End of base probability effects
if(heal_roll < 0) // Healing payload after calculations
if (M.stat == DEAD) // Non OD , if dead , 30% chance to discard healing payload
if(prob(70))
M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC)
M.adjustBruteLoss(heal_roll*REM, 0)
else
M.adjustFireLoss(heal_roll*REM, 0)
M.adjustBruteLoss(heal_roll*REM, 0)
..()
. = 1

/datum/reagent/drug/burnmix/overdose_start(mob/living/M)
to_chat(M, "<span class='userdanger'>You feel the BurnMix increase in potency.</span>")


/datum/reagent/medicine/burnmix/overdose_process(mob/living/M)
var/heal_roll = pick(-0.2,-0.4)
var/slur = 20
var/jitter = 2
if(M.health <= M.crit_threshold)
heal_roll = heal_roll + 0.2 // Burnmix in overdose will heal inside of crit without epipen or perfluorodecalin. Being in crit means a roll for either no base healing or half reduction to base heal.
if(heal_roll > 0 && prob(10))
heal_roll = 0 // Burnmix has a chance not to basic heal at all
if(holder.has_reagent(/datum/reagent/medicine/epinephrine))
heal_roll = heal_roll - 0.35
jitter = jitter + 15
slur = slur + 25
if(prob(25))
M.losebreath++
M.adjustStaminaLoss(2.5*REM, 0)
if(prob(80))
M.adjustToxLoss(0.5*REM, 0)
M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half epinephrine tox damage

if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin))
heal_roll = heal_roll - 0.4
jitter = jitter + 15
slur = slur + 25
if(prob(25))
M.adjustToxLoss(0.5*REM, 0)
M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half perfluorodecalin tox damage

if(holder.has_reagent(holder.has_reagent(/datum/reagent/medicine/epinephrine) && /datum/reagent/medicine/perfluorodecalin)) // start IF both drugs present
if(prob(0.5)) // Should be 1 in 200 chance of a 1 in 3 chance to roll for faint if both epinephrine and perfluorodecalin are present
M.emote((pick("scream","faint","gasp")))
if(prob(60)) // Original edit did too much brain damage. Moved to both drug effects. Was default OD effect
M.adjustOrganLoss(ORGAN_SLOT_BRAIN,pick(1,-1))
if(prob(30))
slur = slur + 25
if(prob(30))
jitter = 50
if(prob(30))
M.drowsyness += 0.5
if(prob(2))
to_chat(M, "<span class ='notice'>Your fingers spasm!</span>")
M.drop_all_held_items() // end IF both drugs present

if(prob(40)) // start last set of OD probability effects
M.emote(pick("twitch","drool","moan","giggle","spin"))
if(prob(60))
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, pick(0,1,2,2.5,-1,-2))
if(prob(15))
M.set_drugginess(pick(2,4,6))
M.Jitter(jitter)
if(prob(40))
M.adjustToxLoss(pick(1,-1)*REM, 0)
if(prob(1))
M.Dizzy(jitter) // end last set of OD probability effects
M.Jitter(jitter) // OD slur and jitter after calculations
M.slurring = slur
if(heal_roll < 0) // OD Healing payload after calculations
M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC)
M.adjustBruteLoss(heal_roll*REM, 0)
..()
. = 1

/datum/reagent/medicine/burnmix/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1)
if(iscarbon(M))
if (M.stat == DEAD) // If the mob is dead and you apply it via touch. You get to play an RNG healing game.
if(method in list(PATCH, TOUCH))
var/RNG_ROLL = pick(-0.5,-0.25,-0.1,0,0.2)
var/RNG_TEXT = "no effect"
if(RNG_ROLL == -0.5)
RNG_TEXT = "had a great effect"
if(RNG_ROLL == -0.25)
RNG_TEXT = "had a good effect"
if(RNG_ROLL == -0.1)
RNG_TEXT = "had a somewhat good effect"
if(RNG_ROLL == 0.2)
RNG_TEXT = "made things worse!"
if(RNG_ROLL != 0)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
M.adjustBruteLoss(RNG_ROLL*reac_volume)
M.adjustFireLoss(RNG_ROLL*reac_volume)
M.visible_message("<span class='warning'>[M]'s body reacts with the Burnmix. It seemed to have [RNG_TEXT]!</span>")
..()



#undef PERF_BASE_DAMAGE
24 changes: 0 additions & 24 deletions code/modules/reagents/chemistry/recipes/medicine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -264,27 +264,3 @@
id = /datum/reagent/medicine/psicodine
results = list(/datum/reagent/medicine/psicodine = 5)
required_reagents = list( /datum/reagent/medicine/mannitol = 2, /datum/reagent/water = 2, /datum/reagent/impedrezene = 1)

/datum/chemical_reaction/burnmix // Chemistry recipe
name = "BurnMix"
required_temp = 700
id = /datum/reagent/medicine/burnmix
mix_message = "The solution boils, binding the remaining ingredients."
results = list(/datum/reagent/medicine/burnmix = 2)
required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/carbon = 1, /datum/reagent/iron = 1)

/datum/chemical_reaction/burnmix2 // Ghetto recipe
name = "BurnMix"
id = /datum/reagent/medicine/burnmix
required_temp = 500
mix_message = "The solution bubbles, binding the ingredients."
results = list(/datum/reagent/medicine/burnmix = 3) // Fuel burns away to form BurnMix from Nutriment and ash
required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/nutriment = 1, /datum/reagent/ash = 2) // Some welding fluid, any food and ash (burn some paper)

/datum/chemical_reaction/burnmix3 // Ghetto recipe 2; wasteful . Replaces nutriment with ethenol but most of the ethenol dissolves in the process
name = "BurnMix"
id = /datum/reagent/medicine/burnmix
required_temp = 500
mix_message = "The solution partially dissolves, binding the remaining ingredients."
results = list(/datum/reagent/medicine/burnmix = 3) // fuel and most ethenol burns away to form BurnMix from remaining ethenol and ash
required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/ethanol/beer = 3, /datum/reagent/ash = 2) // Take a booze bottle, drink some , add welding fuel and ash. Heat up with lighter

0 comments on commit 39cb232

Please sign in to comment.