diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 6c0467d677b..e453e9c682d 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2,10 +2,7 @@ #define LIQUID 2 #define GAS 3 #define FOOD_METABOLISM 0.4 -#define TOX_OVERDOSE 30 -#define BRUTE_OVERDOSE 30 -#define BURN_OVERDOSE 30 -#define OXY_OVERDOSE 30 +#define OVERDOSE 90 #define REM REAGENTS_EFFECT_MULTIPLIER //The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent) @@ -110,10 +107,10 @@ datum M.adjustToxLoss(overdose_dam * volume / toxod) if( (bruteod > 0) && (volume >= bruteod))//Brute Overdosing - M.take_overall_damage(overdose_dam * volume / bruteod, 0) + M.take_overall_damage(overdose_dam, 0) if( (burnod > 0) && (volume >= burnod))//Burn Overdosing - M.take_overall_damage(0, overdose_dam * volume / burnod) + M.take_overall_damage(0, overdose_dam) if( (oxyod > 0) && (volume >= oxyod))//Oxygen Overdosing M.adjustOxyLoss(overdose_dam * volume / oxyod) @@ -360,31 +357,18 @@ datum id = "anti_toxin" description = "Dylovene is a broad-spectrum antitoxin." reagent_state = LIQUID - color = "#006400" // rgb: 0, 100, 0 - bruteod = BRUTE_OVERDOSE - burnod = BURN_OVERDOSE - mildly_toxic = 0 - on_mob_life(var/mob/living/M as mob) + color = "#C8A5DC" // rgb: 200, 165, 220 + toxod = OVERDOSE/1.5 + oxyod = OVERDOSE/1.5 + scannable = 1 + + on_mob_life(var/mob/living/M as mob, var/alien) if(!M) M = holder.my_atom - if(holder.has_reagent("toxin")) - holder.remove_reagent("toxin", 1*REM) - if(holder.has_reagent("stoxin")) - holder.remove_reagent("stoxin", 1*REM) - if(holder.has_reagent("plasma")) - holder.remove_reagent("plasma", 1*REM) - if(holder.has_reagent("sacid")) - holder.remove_reagent("sacid", 1*REM) - if(holder.has_reagent("cyanide")) - holder.remove_reagent("cyanide", 1*REM) - if(holder.has_reagent("amatoxin")) - holder.remove_reagent("amatoxin", 1*REM) - if(holder.has_reagent("chloralhydrate")) - holder.remove_reagent("chloralhydrate", 1*REM) - if(holder.has_reagent("carpotoxin")) - holder.remove_reagent("carpotoxin", 1*REM) - if(holder.has_reagent("zombiepowder")) - holder.remove_reagent("zombiepowder", 1*REM) - M.adjustToxLoss(-1.5*REM) + if(!alien || alien != IS_DIONA) + M.reagents.remove_all_type(/datum/reagent/toxin, 1*REM, 0, 1) + M.drowsyness = max(M.drowsyness-2*REM, 0) + M.hallucination = max(0, M.hallucination - 5*REM) + M.adjustToxLoss(-2*REM) ..() return @@ -583,8 +567,8 @@ datum description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - bruteod = 40 - oxyod = 40 + bruteod = OVERDOSE + oxyod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -607,7 +591,7 @@ datum reagent_state = LIQUID color = "#60A584" // rgb: 96, 165, 132 addictiveness = 25 - toxod = TOX_OVERDOSE/2 + toxod = OVERDOSE/2 on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom @@ -1083,7 +1067,7 @@ datum description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol." reagent_state = LIQUID color = "#808080" // rgb: 128, 128, 128 - toxod = TOX_OVERDOSE*2 + toxod = OVERDOSE*2 mildly_toxic = 1 custom_metabolism = 0.01 @@ -1126,7 +1110,7 @@ datum description = "Ryetalyn can cure all genetic abnomalities." reagent_state = SOLID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE/2 + toxod = OVERDOSE/3 on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom @@ -1174,7 +1158,7 @@ datum description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." reagent_state = LIQUID color = "#C855DC" - toxod = TOX_OVERDOSE*2 + toxod = OVERDOSE addictiveness = 5 scannable = 1 custom_metabolism = 0.025 // Lasts 10 minutes for 15 units @@ -1184,6 +1168,8 @@ datum ..() if (volume > overdose) M.hallucination = max(M.hallucination, 2) + ..() + return mutagen name = "Unstable mutagen" @@ -1220,7 +1206,7 @@ datum reagent_state = LIQUID addictiveness = 50 color = "#C8A5DC" - toxod = TOX_OVERDOSE*2 + toxod = OVERDOSE scannable = 1 custom_metabolism = 0.025 // Lasts 10 minutes for 15 units @@ -1237,8 +1223,8 @@ datum reagent_state = LIQUID addictiveness = 80 color = "#C805DC" - toxod = TOX_OVERDOSE - oxyod = OXY_OVERDOSE + toxod = OVERDOSE/4.5 + oxyod = OVERDOSE/4.5 custom_metabolism = 0.25 // Lasts 10 minutes for 15 units on_mob_life(var/mob/living/M as mob) @@ -1399,7 +1385,7 @@ datum description = "A compound used to clean things. Now with 50% more sodium hypochlorite!" reagent_state = LIQUID color = "#A5F0EE" // rgb: 165, 240, 238 - toxod = TOX_OVERDOSE*2 + toxod = OVERDOSE/2.5 reaction_obj(var/obj/O, var/volume) if(istype(O,/obj/effect/decal/cleanable)) @@ -1444,6 +1430,8 @@ datum if(H.shoes.clean_blood()) H.update_inv_shoes(0,0) M.clean_blood() + ..() + return plantbgone scannable = 1 @@ -1452,8 +1440,8 @@ datum description = "A harmful toxic mixture to kill plantlife. Do not ingest!" reagent_state = LIQUID color = "#49002E" // rgb: 73, 0, 46 - toxod = TOX_OVERDOSE/2 - burnod = BURN_OVERDOSE/2 + toxod = OVERDOSE/3 + burnod = OVERDOSE/3 // Clear off wallrot fungi reaction_turf(var/turf/T, var/volume) @@ -1488,6 +1476,8 @@ datum if(H.dna) if(H.species.flags & IS_PLANT) //plantmen take a LOT of damage H.adjustToxLoss(50) + ..() + return plasma name = "Plasma" @@ -1495,7 +1485,7 @@ datum description = "Plasma in its liquid form." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE + toxod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1505,7 +1495,7 @@ datum M.adjustToxLoss(2*REM) ..() return -/* reaction_obj(var/obj/O, var/volume) + reaction_obj(var/obj/O, var/volume) src = null /*if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg/slime)) var/obj/item/weapon/reagent_containers/food/snacks/egg/slime/egg = O @@ -1525,13 +1515,14 @@ datum fuel.moles = volume napalm.trace_gases += fuel T.assume_air(napalm) - return*/ + return reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with plasma is stronger than fuel! if(!istype(M, /mob/living)) return if(method == TOUCH) M.adjust_fire_stacks(volume / 5) - return + ..() + return leporazine name = "Leporazine" @@ -1539,8 +1530,8 @@ datum description = "Leporazine can be use to stabilize an individuals body temperature." reagent_state = LIQUID color = "#E9D66B" // rgb: 233, 214, 107 - toxod = TOX_OVERDOSE - burnod = BURN_OVERDOSE + toxod = OVERDOSE/1.5 + burnod = OVERDOSE/1.5 on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom @@ -1557,7 +1548,7 @@ datum description = "Cryptobiolin causes confusion and dizzyness." reagent_state = LIQUID color = "#FFD1DC" // rgb: 255, 209, 220 - toxod = TOX_OVERDOSE + toxod = OVERDOSE/1.5 on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom @@ -1592,8 +1583,8 @@ datum description = "Kelotane is a drug used to treat burns." reagent_state = LIQUID color = "#ECD540" // rgb: 236, 213, 64 - toxod = TOX_OVERDOSE - bruteod = BRUTE_OVERDOSE + toxod = OVERDOSE + bruteod = OVERDOSE on_mob_life(var/mob/living/M as mob) if(M.stat == 2.0) @@ -1610,8 +1601,8 @@ datum description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE/2 - bruteod = BRUTE_OVERDOSE/2 + toxod = OVERDOSE/2 + bruteod = OVERDOSE/2 scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -1629,10 +1620,10 @@ datum description = "Dexalin is used in the treatment of oxygen deprivation." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = 40 - burnod = 40 - bruteod = 40 - oxyod = 40 + toxod = OVERDOSE + burnod = OVERDOSE + bruteod = OVERDOSE + oxyod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -1656,9 +1647,9 @@ datum description = "Dexalin Plus is used in the treatment of oxygen deprivation. Its highly effective." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE/2 - burnod = BURN_OVERDOSE - oxyod = OXY_OVERDOSE/2 + toxod = OVERDOSE/3 + burnod = OVERDOSE/1.5 + oxyod = OVERDOSE/3 scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -1682,9 +1673,9 @@ datum description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE - bruteod = BRUTE_OVERDOSE - burnod = BURN_OVERDOSE + toxod = OVERDOSE + bruteod = OVERDOSE + burnod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -1705,8 +1696,8 @@ datum description = "Alchdranine is an extremely strange chemical substance that can be used to treat almost any injury with a high level of effectiveness " reagent_state = LIQUID color = "#07a4d1" // rgb: 7, 164, 209 - toxod = TOX_OVERDOSE/2 - burnod = BURN_OVERDOSE/2 + toxod = OVERDOSE/3 + burnod = OVERDOSE/3 on_mob_life(var/mob/living/M as mob, var/alien) if(M.stat == 2.0) @@ -1720,26 +1711,6 @@ datum ..() return - anti_toxin - name = "Anti-Toxin (Dylovene)" - id = "anti_toxin" - description = "Dylovene is a broad-spectrum antitoxin." - reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE - oxyod = OXY_OVERDOSE - scannable = 1 - - on_mob_life(var/mob/living/M as mob, var/alien) - if(!M) M = holder.my_atom - if(!alien || alien != IS_DIONA) - M.reagents.remove_all_type(/datum/reagent/toxin, 1*REM, 0, 1) - M.drowsyness = max(M.drowsyness-2*REM, 0) - M.hallucination = max(0, M.hallucination - 5*REM) - M.adjustToxLoss(-2*REM) - ..() - return - adminordrazine //An OP chemical for admins name = "Adminordrazine" id = "adminordrazine" @@ -1811,7 +1782,7 @@ datum reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = 0.01 - toxod = TOX_OVERDOSE + toxod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1851,8 +1822,8 @@ datum reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 custom_metabolism = 0.05 - toxod = TOX_OVERDOSE - oxyod = OXY_OVERDOSE + toxod = OVERDOSE + oxyod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1867,8 +1838,8 @@ datum description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." reagent_state = LIQUID color = "#BFFF00" // rgb: 191, 255, 0 - toxod = TOX_OVERDOSE/2 - burnod = BURN_OVERDOSE/2 + toxod = OVERDOSE/1.5 + burnod = OVERDOSE/1.5 on_mob_life(var/mob/living/M as mob) if(M.stat == 2.0) @@ -1888,9 +1859,9 @@ datum reagent_state = LIQUID color = "#F77FBE" // rgb: 247, 127, 190 custom_metabolism = 0.05 - toxod = TOX_OVERDOSE/3 - burnod = BURN_OVERDOSE/3 - bruteod = BRUTE_OVERDOSE/3 + toxod = OVERDOSE/4.5 + burnod = OVERDOSE/4.5 + bruteod = OVERDOSE/4.5 scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1905,7 +1876,7 @@ datum description = "Heals eye damage" reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE + toxod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1928,9 +1899,9 @@ datum description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE/3 - burnod = BURN_OVERDOSE/3 - bruteod = BRUTE_OVERDOSE/3 + toxod = OVERDOSE/3 + burnod = OVERDOSE/3 + bruteod = OVERDOSE/3 scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1952,7 +1923,7 @@ datum description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." reagent_state = LIQUID color = "#C8A5DC" // rgb: 200, 165, 220 - toxod = TOX_OVERDOSE + toxod = OVERDOSE/1.5 scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -1970,8 +1941,8 @@ datum description = "Hyperzine is a highly effective, long lasting, muscle stimulant." reagent_state = LIQUID color = "#CCFF00" // rgb: 204, 255, 0 - toxod = TOX_OVERDOSE - burnod = BURN_OVERDOSE + toxod = OVERDOSE/1.5 + burnod = OVERDOSE/1.5 custom_metabolism = 0.05 addictiveness = 80 @@ -2020,7 +1991,7 @@ datum description = "A powder derived from fish toxin, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." reagent_state = SOLID color = "#669900" // rgb: 102, 153, 0 - toxod = TOX_OVERDOSE + toxod = OVERDOSE scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -2050,7 +2021,7 @@ datum reagent_state = LIQUID color = "#228B22" // rgb: 34, 139, 34 custom_metabolism = 0.01 - toxod = TOX_OVERDOSE + toxod = OVERDOSE/1.5 scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -2397,7 +2368,7 @@ datum reagent_state = LIQUID nutriment_factor = 10 * REAGENTS_METABOLISM color = "#BBEDA4" // rgb: 187, 237, 164 - toxod = TOX_OVERDOSE/2 + toxod = OVERDOSE/2 on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom @@ -2833,8 +2804,7 @@ datum description = "Finely shredded tea leaves, used for making tea." reagent_state = SOLID color = "#7F8400" // rgb: 127, 132, 0 - - + //Reagents used for plant fertilizers. toxin/fertilizer name = "fertilizer" @@ -2844,6 +2814,7 @@ datum // toxpwr = 0.2 //It's not THAT poisonous. color = "#664330" // rgb: 102, 67, 48 + toxin/fertilizer/eznutrient name = "EZ Nutrient" id = "eznutrient" @@ -3422,7 +3393,7 @@ datum if(!data) data = 1 data++ M:hallucination += 5 - if(volume > TOX_OVERDOSE) + if(volume > OVERDOSE) M:adjustToxLoss(1) ..() return @@ -3442,7 +3413,7 @@ datum on_mob_life(var/mob/living/M as mob) ..() M.dizziness +=5 - if(volume > TOX_OVERDOSE) + if(volume > OVERDOSE) M:adjustToxLoss(1) return @@ -4019,4 +3990,4 @@ datum */ // Undefine the alias for REAGENTS_EFFECT_MULTIPLER -#undef REM +#undef REM \ No newline at end of file