Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit 856950c

Browse files
committed
Revert "Restoring my main branch"
This reverts commit 39cb232.
1 parent 39cb232 commit 856950c

2 files changed

Lines changed: 171 additions & 0 deletions

File tree

code/modules/reagents/chemistry/reagents/medicine_reagents.dm

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1335,5 +1335,152 @@
13351335
..()
13361336
. = 1
13371337

1338+
/datum/reagent/medicine/burnmix
1339+
name = "BurnMix"
1340+
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."
1341+
reagent_state = LIQUID
1342+
color = "#BD328A" // R 189 G 50 B 138 , Medium Red Violet , Hue of Violet
1343+
overdose_threshold = 12
1344+
taste_description = "dixel"
1345+
glass_name = "glass of ...red?"
1346+
glass_desc = "Looks like some chunky dark red mix."
1347+
reagent_weight = 4
1348+
addiction_threshold = 40
1349+
// Max healing non OD with best rolls + buffs: 0.2 + 0.15 + 0.2 = 0.55
1350+
// Max healing with OD + best rolls and all buffs: 0.4 + 0.35 + 0.4 = 1.15
1351+
1352+
/datum/reagent/medicine/burnmix/on_mob_life(mob/living/carbon/M)
1353+
var/heal_roll = pick(-0.1,-0.2) // Base heal, Non OD
1354+
var/slur = 10 // Slur 10 sets up for future slur gains as real effects seem to start at 30
1355+
var/jitter = 0
1356+
if(M.health <= M.crit_threshold)
1357+
heal_roll = 0 // Burnmix will not heal anyone inside of crit without epipen or morhpine
1358+
if(prob(10))
1359+
heal_roll = 0 // Burnmix has a chance not to basic heal at all
1360+
if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) // start IF has Epinephrine in body
1361+
jitter = jitter + 5
1362+
slur = slur + 25
1363+
heal_roll = heal_roll - 0.15
1364+
if(prob(15))
1365+
M.losebreath++
1366+
if(prob(80))
1367+
M.adjustStaminaLoss(1.25*REM, 0) // end IF has Epinephrine in body
1368+
1369+
if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin)) // start IF has Perfluorodecalin in body
1370+
jitter = jitter + 5
1371+
slur = slur + 25
1372+
M.drowsyness += 0.5
1373+
heal_roll = heal_roll - 0.2 // start IF has Perfluorodecalin in body
1374+
1375+
if(prob(10)) // Start of base probability effects
1376+
var/tox_roll = pick(1,-1) // Rolls for damage or healing
1377+
if(tox_roll == 1)
1378+
M.emote("moan")
1379+
if(tox_roll == -1)
1380+
M.emote("twitch")
1381+
if(prob(90))
1382+
M.adjustToxLoss(tox_roll*REM, 0)
1383+
M.Jitter(jitter)
1384+
if(prob(1)) // Last set of non OD probability effects
1385+
M.Dizzy(jitter)
1386+
M.slurring = slur // End of base probability effects
1387+
if(heal_roll < 0) // Healing payload after calculations
1388+
if (M.stat == DEAD) // Non OD , if dead , 30% chance to discard healing payload
1389+
if(prob(70))
1390+
M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC)
1391+
M.adjustBruteLoss(heal_roll*REM, 0)
1392+
else
1393+
M.adjustFireLoss(heal_roll*REM, 0)
1394+
M.adjustBruteLoss(heal_roll*REM, 0)
1395+
..()
1396+
. = 1
1397+
1398+
/datum/reagent/drug/burnmix/overdose_start(mob/living/M)
1399+
to_chat(M, "<span class='userdanger'>You feel the BurnMix increase in potency.</span>")
1400+
1401+
1402+
/datum/reagent/medicine/burnmix/overdose_process(mob/living/M)
1403+
var/heal_roll = pick(-0.2,-0.4)
1404+
var/slur = 20
1405+
var/jitter = 2
1406+
if(M.health <= M.crit_threshold)
1407+
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.
1408+
if(heal_roll > 0 && prob(10))
1409+
heal_roll = 0 // Burnmix has a chance not to basic heal at all
1410+
if(holder.has_reagent(/datum/reagent/medicine/epinephrine))
1411+
heal_roll = heal_roll - 0.35
1412+
jitter = jitter + 15
1413+
slur = slur + 25
1414+
if(prob(25))
1415+
M.losebreath++
1416+
M.adjustStaminaLoss(2.5*REM, 0)
1417+
if(prob(80))
1418+
M.adjustToxLoss(0.5*REM, 0)
1419+
M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half epinephrine tox damage
1420+
1421+
if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin))
1422+
heal_roll = heal_roll - 0.4
1423+
jitter = jitter + 15
1424+
slur = slur + 25
1425+
if(prob(25))
1426+
M.adjustToxLoss(0.5*REM, 0)
1427+
M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half perfluorodecalin tox damage
1428+
1429+
if(holder.has_reagent(holder.has_reagent(/datum/reagent/medicine/epinephrine) && /datum/reagent/medicine/perfluorodecalin)) // start IF both drugs present
1430+
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
1431+
M.emote((pick("scream","faint","gasp")))
1432+
if(prob(60)) // Original edit did too much brain damage. Moved to both drug effects. Was default OD effect
1433+
M.adjustOrganLoss(ORGAN_SLOT_BRAIN,pick(1,-1))
1434+
if(prob(30))
1435+
slur = slur + 25
1436+
if(prob(30))
1437+
jitter = 50
1438+
if(prob(30))
1439+
M.drowsyness += 0.5
1440+
if(prob(2))
1441+
to_chat(M, "<span class ='notice'>Your fingers spasm!</span>")
1442+
M.drop_all_held_items() // end IF both drugs present
1443+
1444+
if(prob(40)) // start last set of OD probability effects
1445+
M.emote(pick("twitch","drool","moan","giggle","spin"))
1446+
if(prob(60))
1447+
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, pick(0,1,2,2.5,-1,-2))
1448+
if(prob(15))
1449+
M.set_drugginess(pick(2,4,6))
1450+
M.Jitter(jitter)
1451+
if(prob(40))
1452+
M.adjustToxLoss(pick(1,-1)*REM, 0)
1453+
if(prob(1))
1454+
M.Dizzy(jitter) // end last set of OD probability effects
1455+
M.Jitter(jitter) // OD slur and jitter after calculations
1456+
M.slurring = slur
1457+
if(heal_roll < 0) // OD Healing payload after calculations
1458+
M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC)
1459+
M.adjustBruteLoss(heal_roll*REM, 0)
1460+
..()
1461+
. = 1
1462+
1463+
/datum/reagent/medicine/burnmix/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1)
1464+
if(iscarbon(M))
1465+
if (M.stat == DEAD) // If the mob is dead and you apply it via touch. You get to play an RNG healing game.
1466+
if(method in list(PATCH, TOUCH))
1467+
var/RNG_ROLL = pick(-0.5,-0.25,-0.1,0,0.2)
1468+
var/RNG_TEXT = "no effect"
1469+
if(RNG_ROLL == -0.5)
1470+
RNG_TEXT = "had a great effect"
1471+
if(RNG_ROLL == -0.25)
1472+
RNG_TEXT = "had a good effect"
1473+
if(RNG_ROLL == -0.1)
1474+
RNG_TEXT = "had a somewhat good effect"
1475+
if(RNG_ROLL == 0.2)
1476+
RNG_TEXT = "made things worse!"
1477+
if(RNG_ROLL != 0)
1478+
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
1479+
M.adjustBruteLoss(RNG_ROLL*reac_volume)
1480+
M.adjustFireLoss(RNG_ROLL*reac_volume)
1481+
M.visible_message("<span class='warning'>[M]'s body reacts with the Burnmix. It seemed to have [RNG_TEXT]!</span>")
1482+
..()
1483+
1484+
13381485

13391486
#undef PERF_BASE_DAMAGE

code/modules/reagents/chemistry/recipes/medicine.dm

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,3 +264,27 @@
264264
id = /datum/reagent/medicine/psicodine
265265
results = list(/datum/reagent/medicine/psicodine = 5)
266266
required_reagents = list( /datum/reagent/medicine/mannitol = 2, /datum/reagent/water = 2, /datum/reagent/impedrezene = 1)
267+
268+
/datum/chemical_reaction/burnmix // Chemistry recipe
269+
name = "BurnMix"
270+
required_temp = 700
271+
id = /datum/reagent/medicine/burnmix
272+
mix_message = "The solution boils, binding the remaining ingredients."
273+
results = list(/datum/reagent/medicine/burnmix = 2)
274+
required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/carbon = 1, /datum/reagent/iron = 1)
275+
276+
/datum/chemical_reaction/burnmix2 // Ghetto recipe
277+
name = "BurnMix"
278+
id = /datum/reagent/medicine/burnmix
279+
required_temp = 500
280+
mix_message = "The solution bubbles, binding the ingredients."
281+
results = list(/datum/reagent/medicine/burnmix = 3) // Fuel burns away to form BurnMix from Nutriment and ash
282+
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)
283+
284+
/datum/chemical_reaction/burnmix3 // Ghetto recipe 2; wasteful . Replaces nutriment with ethenol but most of the ethenol dissolves in the process
285+
name = "BurnMix"
286+
id = /datum/reagent/medicine/burnmix
287+
required_temp = 500
288+
mix_message = "The solution partially dissolves, binding the remaining ingredients."
289+
results = list(/datum/reagent/medicine/burnmix = 3) // fuel and most ethenol burns away to form BurnMix from remaining ethenol and ash
290+
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 commit comments

Comments
 (0)