mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 12:07:27 +01:00
@@ -493,6 +493,8 @@
|
||||
darksight = 5 // BOOSTED from 2
|
||||
eyes = "grey_eyes_s"
|
||||
|
||||
brute_mod = 1.25 //greys are fragile
|
||||
|
||||
primitive = /mob/living/carbon/monkey // TODO
|
||||
|
||||
flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | CAN_BE_FAT
|
||||
|
||||
@@ -183,10 +183,14 @@ proc/hasorgans(A)
|
||||
switch(t)
|
||||
if(1) return "head"
|
||||
if(2) return "chest"
|
||||
if(3 to 6) return "l_arm"
|
||||
if(7 to 10) return "r_arm"
|
||||
if(11 to 14) return "l_leg"
|
||||
if(15 to 18) return "r_leg"
|
||||
if(3 to 4) return "l_arm"
|
||||
if(5 to 6) return "l_hand"
|
||||
if(7 to 8) return "r_arm"
|
||||
if(9 to 10) return "r_hand"
|
||||
if(11 to 12) return "l_leg"
|
||||
if(13 to 14) return "l_foot"
|
||||
if(15 to 16) return "r_leg"
|
||||
if(17 to 18) return "r_foot"
|
||||
|
||||
return zone
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define LIQUID 2
|
||||
#define GAS 3
|
||||
#define FOOD_METABOLISM 0.4
|
||||
#define OVERDOSE 30
|
||||
#define REM REAGENTS_EFFECT_MULTIPLIER
|
||||
|
||||
//The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent)
|
||||
@@ -23,14 +22,7 @@ datum
|
||||
var/volume = 0
|
||||
var/nutriment_factor = 0
|
||||
var/custom_metabolism = REAGENTS_METABOLISM
|
||||
var/mildly_toxic = 1
|
||||
var/toxod = 0
|
||||
var/bruteod = 0
|
||||
var/burnod = 0
|
||||
var/oxyod = 0
|
||||
var/overdose = 0
|
||||
var/overdose_dam = 1
|
||||
var/addictiveness = 0 //switched to zero until time to properly overhaul addiction
|
||||
var/scannable = 0 //shows up on health analyzers
|
||||
//var/list/viruses = list()
|
||||
var/color = "#000000" // rgb: 0, 0, 0 (does not support alpha channels - yet!)
|
||||
@@ -97,24 +89,6 @@ datum
|
||||
if(!istype(M, /mob/living))
|
||||
return //Noticed runtime errors from pacid trying to damage ghosts, this should fix. --NEO
|
||||
// Certain elements in too large amounts cause side-effects
|
||||
|
||||
if(mildly_toxic && istype(M, /mob/living/carbon/human/))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.side_effects.len == 0)
|
||||
M.add_side_effect(pick("Headache", "Bad Stomach", "Itch"))
|
||||
|
||||
if( (toxod > 0) && (volume >= toxod))//Toxin Overdosing
|
||||
M.adjustToxLoss(overdose_dam)
|
||||
|
||||
if( (bruteod > 0) && (volume >= bruteod))//Brute Overdosing
|
||||
M.take_overall_damage(overdose_dam, 0)
|
||||
|
||||
if( (burnod > 0) && (volume >= burnod))//Burn Overdosing
|
||||
M.take_overall_damage(0, overdose_dam)
|
||||
|
||||
if( (oxyod > 0) && (volume >= oxyod))//Oxygen Overdosing
|
||||
M.adjustOxyLoss(overdose_dam)
|
||||
|
||||
holder.remove_reagent(src.id, custom_metabolism) //By default it slowly disappears.
|
||||
return
|
||||
|
||||
@@ -237,14 +211,6 @@ datum
|
||||
reagent_state = LIQUID
|
||||
color = "#0064C8" // rgb: 0, 100, 200
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.name=="Grey")
|
||||
if(!M) M = holder.my_atom
|
||||
M.adjustToxLoss(1*REM)
|
||||
M.take_organ_damage(0, 1*REM)
|
||||
..()
|
||||
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
if(!istype(M, /mob/living))
|
||||
return
|
||||
@@ -256,33 +222,6 @@ datum
|
||||
M.ExtinguishMob()
|
||||
return
|
||||
|
||||
|
||||
// Grays treat water like acid.
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.name=="Grey")
|
||||
if(method == TOUCH)
|
||||
if(H.wear_mask)
|
||||
H << "\red Your mask protects you from the water!"
|
||||
return
|
||||
if(H.head)
|
||||
H << "\red Your helmet protects you from the water!"
|
||||
return
|
||||
if(!M.unacidable)
|
||||
if(prob(15) && volume >= 30)
|
||||
var/datum/organ/external/affecting = H.get_organ("head")
|
||||
if(affecting)
|
||||
if(affecting.take_damage(25, 0))
|
||||
H.UpdateDamageIcon()
|
||||
H.status_flags |= DISFIGURED
|
||||
H.emote("scream")
|
||||
else
|
||||
M.take_organ_damage(min(15, volume * 2)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl
|
||||
else
|
||||
if(!M.unacidable)
|
||||
M.take_organ_damage(min(15, volume * 2))
|
||||
|
||||
|
||||
reaction_turf(var/turf/simulated/T, var/volume)
|
||||
if (!istype(T)) return
|
||||
src = null
|
||||
@@ -314,6 +253,7 @@ datum
|
||||
T.assume_air(lowertemp)
|
||||
del(hotspot)
|
||||
return
|
||||
|
||||
reaction_obj(var/obj/O, var/volume)
|
||||
src = null
|
||||
var/turf/T = get_turf(O)
|
||||
@@ -621,7 +561,6 @@ datum
|
||||
description = "An illegal chemical compound used as drug."
|
||||
reagent_state = LIQUID
|
||||
color = "#60A584" // rgb: 96, 165, 132
|
||||
addictiveness = 25
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -943,12 +882,8 @@ datum
|
||||
return
|
||||
|
||||
if(!M.unacidable)
|
||||
if(prob(15) && istype(M, /mob/living/carbon/human/grey) && volume >= 30)
|
||||
if(prob(15) && istype(M, /mob/living/carbon/human) && volume >= 30)
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.name=="Grey")
|
||||
..()
|
||||
return // Greys lurve dem some sacid
|
||||
|
||||
var/datum/organ/external/affecting = H.get_organ("head")
|
||||
if(affecting)
|
||||
if(affecting.take_damage(25, 0))
|
||||
@@ -959,11 +894,6 @@ datum
|
||||
M.take_organ_damage(min(15, volume * 2)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl
|
||||
else
|
||||
if(!M.unacidable)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/grey/H = M
|
||||
if(H.species.name=="Grey")
|
||||
..()
|
||||
return // Greys lurve dem some sacid
|
||||
M.take_organ_damage(min(15, volume * 2))
|
||||
|
||||
reaction_obj(var/obj/O, var/volume)
|
||||
@@ -1180,18 +1110,13 @@ datum
|
||||
description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller."
|
||||
reagent_state = LIQUID
|
||||
color = "#C855DC"
|
||||
toxod = OVERDOSE
|
||||
addictiveness = 5
|
||||
scannable = 1
|
||||
custom_metabolism = 0.2 // Lasts 2.5 minutes for 15 units
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
..()
|
||||
if (volume > OVERDOSE)
|
||||
M.hallucination = max(M.hallucination, 2)
|
||||
..()
|
||||
return
|
||||
return
|
||||
|
||||
mutagen
|
||||
name = "Unstable mutagen"
|
||||
@@ -1225,37 +1150,32 @@ datum
|
||||
id = "tramadol"
|
||||
description = "A simple, yet effective painkiller."
|
||||
reagent_state = LIQUID
|
||||
addictiveness = 50
|
||||
color = "#C8A5DC"
|
||||
toxod = OVERDOSE
|
||||
scannable = 1
|
||||
custom_metabolism = 0.2 // Lasts 2.5 minutes for 15 units
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if (volume > OVERDOSE)
|
||||
M.hallucination = max(M.hallucination, 2)
|
||||
if(!M) M = holder.my_atom
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
oxycodone
|
||||
name = "Oxycodone"
|
||||
id = "oxycodone"
|
||||
description = "An effective and very addictive painkiller."
|
||||
reagent_state = LIQUID
|
||||
addictiveness = 80
|
||||
color = "#C805DC"
|
||||
toxod = OVERDOSE
|
||||
custom_metabolism = 0.3 // Lasts 1.5 minutes for 15 units
|
||||
scannable = 1
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if (volume > OVERDOSE)
|
||||
M.druggy = max(M.druggy, 10)
|
||||
M.hallucination = max(M.hallucination, 3)
|
||||
if(!M) M = holder.my_atom
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
|
||||
virus_food
|
||||
name = "Virus Food"
|
||||
id = "virusfood"
|
||||
@@ -1976,7 +1896,6 @@ datum
|
||||
description = "Hyperzine is a highly effective, long lasting, muscle stimulant."
|
||||
reagent_state = LIQUID
|
||||
color = "#CCFF00" // rgb: 204, 255, 0
|
||||
addictiveness = 80
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -2133,7 +2052,6 @@ datum
|
||||
description = "A powerful hallucinogen. Not a thing to be messed with."
|
||||
reagent_state = LIQUID
|
||||
color = "#B31008" // rgb: 139, 166, 233
|
||||
addictiveness = 15
|
||||
|
||||
on_mob_life(var/mob/living/M)
|
||||
if(!M) M = holder.my_atom
|
||||
@@ -2222,7 +2140,6 @@ datum
|
||||
description = "A highly addictive stimulant extracted from the tobacco plant."
|
||||
reagent_state = LIQUID
|
||||
color = "#181818" // rgb: 24, 24, 24
|
||||
addictiveness = 90
|
||||
/*
|
||||
ethanol
|
||||
name = "Ethanol"
|
||||
@@ -3491,6 +3408,7 @@ datum
|
||||
id = "absinthe"
|
||||
description = "Watch out that the Green Fairy doesn't come for you!"
|
||||
color = "#33EE00" // rgb: lots, ??, ??
|
||||
overdose = 30
|
||||
dizzy_adj = 5
|
||||
slur_start = 25
|
||||
confused_start = 100
|
||||
@@ -3501,7 +3419,7 @@ datum
|
||||
if(!data) data = 1
|
||||
data++
|
||||
M:hallucination += 5
|
||||
if(volume > OVERDOSE)
|
||||
if(volume > overdose)
|
||||
M:adjustToxLoss(1)
|
||||
..()
|
||||
return
|
||||
@@ -3511,11 +3429,12 @@ datum
|
||||
id = "rum"
|
||||
description = "Popular with the sailors. Not very popular with everyone else."
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
overdose = 30
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
..()
|
||||
M.dizziness +=5
|
||||
if(volume > OVERDOSE)
|
||||
if(volume > overdose)
|
||||
M:adjustToxLoss(1)
|
||||
return
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 1011 B |
Reference in New Issue
Block a user