Chem and overdose patch.

Raises general overdose amounts. Lowers brute/burn damage from overdose. Removes the secondary anit-tox.
This commit is contained in:
IcyV
2014-08-10 03:16:32 -07:00
parent 808e908dc6
commit 93f3f7b5ed
+79 -108
View File
@@ -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