mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-25 08:43:42 +00:00
Moved into their own folder and got split into three files. Damage zones have been regrouped slightly to make it easier to deal with them. Currently the organ groups are head, l/r leg, l/r arm, and head. Attacking: Armor is properly checked. Currently aiming for the chest gives a higher chance to stun whereas the head will stun for longer. Stungloves/Disarm now show up in the attack log. Stungloves ignore intent. Silicon: AI units can now move between cams that are not on the ss13 network. Cyborg's alert screen should not longer pop up every time they get an alert if they have opened it once during the round. Robot vision now uses the standard amount of energy. Gamemodes: Added Deuryn's unrev message. Runes can only be examined if you are close to them. Moved the Loyalty implants to the HoS' locker at the request of HerpA. Nuke agents now come with explosive implants that will activate upon death. Projectiles: Once again went though the gun code and cleaned things up, it is much better now. Bullet_act fixed up and most mobs now use the one in living, just overload it if they need to do something diff. Freeze /caplaser/xbow no longer have an infinite loop. Shotguns have to be pumped manually. Went though the latest runtime log. Power cells now use return on their give/use procs Assemblies have been reworked and are nearly finished, just need to finish up the special assembly code, redo the signalers, and add one or two new assembly items. Laying down will now only take 3 ticks to get up, from 5. You can no longer punch people on the spawn screen. This is a big one and was cleared by two heads, TK will only allow you to pick up items. If you have an item in your hand it will act normal. This revision got much larger than originally intended my tests show everything is working fine, but you never know. Ill likely do more mob teaks in the next few days. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2333 316c924e-a436-60f5-8080-3fe189b3f50e
3854 lines
107 KiB
Plaintext
3854 lines
107 KiB
Plaintext
#define SOLID 1
|
|
#define LIQUID 2
|
|
#define GAS 3
|
|
|
|
//The reaction procs must ALWAYS set src = null, this detaches the proc from the object (the reagent)
|
|
//so that it can continue working when the reagent is deleted while the proc is still active.
|
|
|
|
datum
|
|
reagent
|
|
var/name = "Reagent"
|
|
var/id = "reagent"
|
|
var/description = ""
|
|
var/datum/reagents/holder = null
|
|
var/reagent_state = SOLID
|
|
var/data = null
|
|
var/volume = 0
|
|
var/nutriment_factor = 0
|
|
//var/list/viruses = list()
|
|
var/color = "#000000" // rgb: 0, 0, 0 (does not support alpha channels - yet!)
|
|
|
|
proc
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //By default we have a chance to transfer some
|
|
if(!istype(M, /mob/living)) return 0
|
|
var/datum/reagent/self = src
|
|
src = null //of the reagent to the mob on TOUCHING it.
|
|
|
|
if(!istype(self.holder.my_atom, /obj/effect/chem_smoke))
|
|
// If the chemicals are in a smoke cloud, do not try to let the chemicals "penetrate" into the mob's system (balance station 13) -- Doohl
|
|
|
|
if(method == TOUCH)
|
|
|
|
var/chance = 1
|
|
var/block = 0
|
|
|
|
for(var/obj/item/clothing/C in M.get_equipped_items())
|
|
if(C.permeability_coefficient < chance) chance = C.permeability_coefficient
|
|
if(istype(C, /obj/item/clothing/suit/bio_suit))
|
|
// bio suits are just about completely fool-proof - Doohl
|
|
// kind of a hacky way of making bio suits more resistant to chemicals but w/e
|
|
if(prob(50))
|
|
block = 1
|
|
else
|
|
if(prob(50))
|
|
block = 1
|
|
|
|
if(istype(C, /obj/item/clothing/head/bio_hood))
|
|
if(prob(50))
|
|
block = 1
|
|
else
|
|
if(prob(50))
|
|
block = 1
|
|
|
|
chance = chance * 100
|
|
|
|
if(prob(chance) && !block)
|
|
if(M.reagents)
|
|
M.reagents.add_reagent(self.id,self.volume/2)
|
|
return 1
|
|
|
|
reaction_obj(var/obj/O, var/volume) //By default we transfer a small part of the reagent to the object
|
|
src = null //if it can hold reagents. nope!
|
|
//if(O.reagents)
|
|
// O.reagents.add_reagent(id,volume/3)
|
|
return
|
|
|
|
reaction_turf(var/turf/T, var/volume)
|
|
src = null
|
|
return
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!istype(M, /mob/living))
|
|
return //Noticed runtime errors from pacid trying to damage ghosts, this should fix. --NEO
|
|
holder.remove_reagent(src.id, REAGENTS_METABOLISM) //By default it slowly disappears.
|
|
return
|
|
|
|
on_move(var/mob/M)
|
|
return
|
|
|
|
on_update(var/atom/A)
|
|
return
|
|
|
|
metroid
|
|
name = "Metroid Jam"
|
|
id = "metroid"
|
|
description = "A green semi-liquid produced from one of the deadliest lifeforms in existence."
|
|
reagent_state = LIQUID
|
|
color = "#005020" // rgb: 0, 50, 20
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(prob(10))
|
|
M << "\red Your insides are burning!"
|
|
M.toxloss+=rand(20,60)
|
|
else if(prob(40))
|
|
M:heal_organ_damage(5,0)
|
|
..()
|
|
return
|
|
|
|
|
|
blood
|
|
data = new/list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"virus2"=null)
|
|
name = "Blood"
|
|
id = "blood"
|
|
reagent_state = LIQUID
|
|
color = "#C80000" // rgb: 200, 0, 0
|
|
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
var/datum/reagent/blood/self = src
|
|
src = null
|
|
for(var/datum/disease/D in self.data["viruses"])
|
|
var/datum/disease/virus = new D.type
|
|
if(method == TOUCH)
|
|
M.contract_disease(virus)
|
|
|
|
else //injected
|
|
M.contract_disease(virus, 1, 0)
|
|
|
|
if(self.data["virus2"])
|
|
if(method == TOUCH)
|
|
infect_virus2(M,self.data["virus2"])
|
|
else
|
|
infect_virus2(M,self.data["virus2"],1)
|
|
|
|
/*
|
|
if(self.data["virus"])
|
|
var/datum/disease/V = self.data["virus"]
|
|
if(M.resistances.Find(V.type)) return
|
|
if(method == TOUCH)//respect all protective clothing...
|
|
M.contract_disease(V)
|
|
else //injected
|
|
M.contract_disease(V, 1, 0)
|
|
return
|
|
*/
|
|
|
|
|
|
reaction_turf(var/turf/simulated/T, var/volume)//splash the blood all over the place
|
|
if(!istype(T)) return
|
|
var/datum/reagent/blood/self = src
|
|
src = null
|
|
//var/datum/disease/D = self.data["virus"]
|
|
if(!self.data["donor"] || istype(self.data["donor"], /mob/living/carbon/human))
|
|
var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T //find some blood here
|
|
if(!blood_prop) //first blood!
|
|
blood_prop = new(T)
|
|
blood_prop.blood_DNA = self.data["blood_DNA"]
|
|
blood_prop.blood_type = self.data["blood_type"]
|
|
|
|
for(var/datum/disease/D in self.data["viruses"])
|
|
var/datum/disease/newVirus = new D.type
|
|
blood_prop.viruses += newVirus
|
|
newVirus.holder = blood_prop
|
|
|
|
var/datum/disease2/disease/v = self.data["virus2"]
|
|
if(v)
|
|
blood_prop.virus2 = v.getcopy()
|
|
|
|
// this makes it almost impossible for airborne diseases to spread
|
|
// THIS SHIT HAS TO GO, SORRY!
|
|
/*
|
|
if(T.density==0)
|
|
newVirus.spread_type = CONTACT_FEET
|
|
else
|
|
newVirus.spread_type = CONTACT_HANDS
|
|
*/
|
|
|
|
else if(istype(self.data["donor"], /mob/living/carbon/monkey))
|
|
var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T
|
|
if(!blood_prop)
|
|
blood_prop = new(T)
|
|
blood_prop.blood_DNA = self.data["blood_DNA"]
|
|
for(var/datum/disease/D in self.data["viruses"])
|
|
var/datum/disease/newVirus = new D.type
|
|
blood_prop.viruses += newVirus
|
|
newVirus.holder = blood_prop
|
|
|
|
/*
|
|
if(T.density==0)
|
|
newVirus.spread_type = CONTACT_FEET
|
|
else
|
|
newVirus.spread_type = CONTACT_HANDS
|
|
*/
|
|
|
|
else if(istype(self.data["donor"], /mob/living/carbon/alien))
|
|
var/obj/effect/decal/cleanable/xenoblood/blood_prop = locate() in T
|
|
if(!blood_prop)
|
|
blood_prop = new(T)
|
|
blood_prop.blood_DNA = self.data["blood_DNA"]
|
|
for(var/datum/disease/D in self.data["viruses"])
|
|
var/datum/disease/newVirus = new D.type
|
|
blood_prop.viruses += newVirus
|
|
newVirus.holder = blood_prop
|
|
/*
|
|
if(T.density==0)
|
|
newVirus.spread_type = CONTACT_FEET
|
|
else
|
|
newVirus.spread_type = CONTACT_HANDS
|
|
*/
|
|
return
|
|
|
|
/* Must check the transfering of reagents and their data first. They all can point to one disease datum.
|
|
|
|
Del()
|
|
if(src.data["virus"])
|
|
var/datum/disease/D = src.data["virus"]
|
|
D.cure(0)
|
|
..()
|
|
*/
|
|
vaccine
|
|
//data must contain virus type
|
|
name = "Vaccine"
|
|
id = "vaccine"
|
|
reagent_state = LIQUID
|
|
color = "#C81040" // rgb: 200, 16, 64
|
|
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
var/datum/reagent/vaccine/self = src
|
|
src = null
|
|
if(self.data&&method == INGEST)
|
|
for(var/datum/disease/D in M.viruses)
|
|
if(D.type == self.data)
|
|
D.cure()
|
|
|
|
M.resistances += self.data
|
|
return
|
|
|
|
|
|
water
|
|
name = "Water"
|
|
id = "water"
|
|
description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen."
|
|
reagent_state = LIQUID
|
|
color = "#0064C8" // rgb: 0, 100, 200
|
|
|
|
reaction_turf(var/turf/simulated/T, var/volume)
|
|
if (!istype(T)) return
|
|
src = null
|
|
if(volume >= 3)
|
|
if(T.wet >= 1) return
|
|
T.wet = 1
|
|
if(T.wet_overlay)
|
|
T.overlays -= T.wet_overlay
|
|
T.wet_overlay = null
|
|
T.wet_overlay = image('water.dmi',T,"wet_floor")
|
|
T.overlays += T.wet_overlay
|
|
|
|
spawn(800)
|
|
if (!istype(T)) return
|
|
if(T.wet >= 2) return
|
|
T.wet = 0
|
|
if(T.wet_overlay)
|
|
T.overlays -= T.wet_overlay
|
|
T.wet_overlay = null
|
|
|
|
for(var/mob/living/carbon/metroid/M in T)
|
|
M.toxloss+=rand(15,20)
|
|
|
|
var/hotspot = (locate(/obj/effect/hotspot) in T)
|
|
if(hotspot && !istype(T, /turf/space))
|
|
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
|
|
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
|
|
lowertemp.react()
|
|
T.assume_air(lowertemp)
|
|
del(hotspot)
|
|
return
|
|
reaction_obj(var/obj/O, var/volume)
|
|
src = null
|
|
var/turf/T = get_turf(O)
|
|
var/hotspot = (locate(/obj/effect/hotspot) in T)
|
|
if(hotspot && !istype(T, /turf/space))
|
|
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
|
|
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
|
|
lowertemp.react()
|
|
T.assume_air(lowertemp)
|
|
del(hotspot)
|
|
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/monkeycube))
|
|
var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O
|
|
if(!cube.wrapped)
|
|
cube.Expand()
|
|
return
|
|
|
|
lube
|
|
name = "Space Lube"
|
|
id = "lube"
|
|
description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity."
|
|
reagent_state = LIQUID
|
|
color = "#009CA8" // rgb: 0, 156, 168
|
|
|
|
reaction_turf(var/turf/simulated/T, var/volume)
|
|
if (!istype(T)) return
|
|
src = null
|
|
if(T.wet >= 2) return
|
|
T.wet = 2
|
|
spawn(800)
|
|
if (!istype(T)) return
|
|
T.wet = 0
|
|
if(T.wet_overlay)
|
|
T.overlays -= T.wet_overlay
|
|
T.wet_overlay = null
|
|
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
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:drowsyness = max(M:drowsyness-2, 0)
|
|
if(holder.has_reagent("toxin"))
|
|
holder.remove_reagent("toxin", 2)
|
|
if(holder.has_reagent("stoxin"))
|
|
holder.remove_reagent("stoxin", 2)
|
|
if(holder.has_reagent("plasma"))
|
|
holder.remove_reagent("plasma", 1)
|
|
if(holder.has_reagent("acid"))
|
|
holder.remove_reagent("acid", 1)
|
|
if(holder.has_reagent("cyanide"))
|
|
holder.remove_reagent("cyanide", 1)
|
|
if(holder.has_reagent("amatoxin"))
|
|
holder.remove_reagent("amatoxin", 2)
|
|
if(holder.has_reagent("chloralhydrate"))
|
|
holder.remove_reagent("chloralhydrate", 5)
|
|
if(holder.has_reagent("carpotoxin"))
|
|
holder.remove_reagent("carpotoxin", 1)
|
|
if(holder.has_reagent("zombiepowder"))
|
|
holder.remove_reagent("zombiepowder", 0.5)
|
|
M:toxloss = max(M:toxloss-2,0)
|
|
..()
|
|
return
|
|
|
|
toxin
|
|
name = "Toxin"
|
|
id = "toxin"
|
|
description = "A Toxic chemical."
|
|
reagent_state = LIQUID
|
|
color = "#CF3600" // rgb: 207, 54, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss += 1.5
|
|
..()
|
|
return
|
|
|
|
cyanide
|
|
name = "Cyanide"
|
|
id = "cyanide"
|
|
description = "A highly toxic chemical."
|
|
reagent_state = LIQUID
|
|
color = "#CF3600" // rgb: 207, 54, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss += 3
|
|
M:oxyloss += 3
|
|
M:sleeping += 1
|
|
..()
|
|
return
|
|
|
|
stoxin
|
|
name = "Sleep Toxin"
|
|
id = "stoxin"
|
|
description = "An effective hypnotic used to treat insomnia."
|
|
reagent_state = LIQUID
|
|
color = "#E895CC" // rgb: 232, 149, 204
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(!data) data = 1
|
|
switch(data)
|
|
if(1 to 15)
|
|
M.eye_blurry = max(M.eye_blurry, 10)
|
|
if(15 to 25)
|
|
M:drowsyness = max(M:drowsyness, 20)
|
|
if(25 to INFINITY)
|
|
M:paralysis = max(M:paralysis, 20)
|
|
M:drowsyness = max(M:drowsyness, 30)
|
|
data++
|
|
..()
|
|
return
|
|
|
|
srejuvinate
|
|
name = "Sleep Rejuvinate"
|
|
id = "stoxin"
|
|
description = "Put people to sleep, and heals them."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(!data) data = 1
|
|
data++
|
|
if(M.losebreath >= 10)
|
|
M.losebreath = max(10, M.losebreath-10)
|
|
holder.remove_reagent(src.id, 0.2)
|
|
switch(data)
|
|
if(1 to 15)
|
|
M.eye_blurry = max(M.eye_blurry, 10)
|
|
if(15 to 25)
|
|
M:drowsyness = max(M:drowsyness, 20)
|
|
if(25 to INFINITY)
|
|
M:sleeping = 1
|
|
M:oxyloss = 0
|
|
M:weakened = 0
|
|
M:stunned = 0
|
|
M:paralysis = 0
|
|
M.dizziness = 0
|
|
M:drowsyness = 0
|
|
M:stuttering = 0
|
|
M:confused = 0
|
|
M:jitteriness = 0
|
|
..()
|
|
return
|
|
|
|
inaprovaline
|
|
name = "Inaprovaline"
|
|
id = "inaprovaline"
|
|
description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M.losebreath >= 10)
|
|
M.losebreath = max(10, M.losebreath-5)
|
|
holder.remove_reagent(src.id, 0.2)
|
|
return
|
|
|
|
space_drugs
|
|
name = "Space drugs"
|
|
id = "space_drugs"
|
|
description = "An illegal chemical compound used as drug."
|
|
reagent_state = LIQUID
|
|
color = "#60A584" // rgb: 96, 165, 132
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.druggy = max(M.druggy, 15)
|
|
if(isturf(M.loc))
|
|
if(M.canmove)
|
|
step(M, pick(cardinal))
|
|
if(prob(7)) M:emote(pick("twitch","drool","moan","giggle"))
|
|
holder.remove_reagent(src.id, 0.2)
|
|
return
|
|
|
|
silicate
|
|
name = "Silicate"
|
|
id = "silicate"
|
|
description = "A compound that can be used to reinforce glass."
|
|
reagent_state = LIQUID
|
|
color = "#C7FFFF" // rgb: 199, 255, 255
|
|
|
|
reaction_obj(var/obj/O, var/volume)
|
|
src = null
|
|
if(istype(O,/obj/structure/window))
|
|
if(O:silicate <= 200)
|
|
|
|
O:silicate += volume
|
|
O:health += volume * 3
|
|
|
|
if(!O:silicateIcon)
|
|
var/icon/I = icon(O.icon,O.icon_state,O.dir)
|
|
|
|
var/r = (volume / 100) + 1
|
|
var/g = (volume / 70) + 1
|
|
var/b = (volume / 50) + 1
|
|
I.SetIntensity(r,g,b)
|
|
O.icon = I
|
|
O:silicateIcon = I
|
|
else
|
|
var/icon/I = O:silicateIcon
|
|
|
|
var/r = (volume / 100) + 1
|
|
var/g = (volume / 70) + 1
|
|
var/b = (volume / 50) + 1
|
|
I.SetIntensity(r,g,b)
|
|
O.icon = I
|
|
O:silicateIcon = I
|
|
|
|
return
|
|
|
|
oxygen
|
|
name = "Oxygen"
|
|
id = "oxygen"
|
|
description = "A colorless, odorless gas."
|
|
reagent_state = GAS
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
copper
|
|
name = "Copper"
|
|
id = "copper"
|
|
description = "A highly ductile metal."
|
|
color = "#6E3B08" // rgb: 110, 59, 8
|
|
|
|
nitrogen
|
|
name = "Nitrogen"
|
|
id = "nitrogen"
|
|
description = "A colorless, odorless, tasteless gas."
|
|
reagent_state = GAS
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
hydrogen
|
|
name = "Hydrogen"
|
|
id = "hydrogen"
|
|
description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas."
|
|
reagent_state = GAS
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
potassium
|
|
name = "Potassium"
|
|
id = "potassium"
|
|
description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water."
|
|
reagent_state = SOLID
|
|
color = "#A0A0A0" // rgb: 160, 160, 160
|
|
|
|
mercury
|
|
name = "Mercury"
|
|
id = "mercury"
|
|
description = "A chemical element."
|
|
reagent_state = LIQUID
|
|
color = "#484848" // rgb: 72, 72, 72
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M.canmove) step(M, pick(cardinal))
|
|
if(prob(5)) M:emote(pick("twitch","drool","moan"))
|
|
..()
|
|
return
|
|
|
|
sulfur
|
|
name = "Sulfur"
|
|
id = "sulfur"
|
|
description = "A chemical element."
|
|
reagent_state = SOLID
|
|
color = "#BF8C00" // rgb: 191, 140, 0
|
|
|
|
carbon
|
|
name = "Carbon"
|
|
id = "carbon"
|
|
description = "A chemical element."
|
|
reagent_state = SOLID
|
|
color = "#C77400" // rgb: 199, 116, 0
|
|
|
|
reaction_turf(var/turf/T, var/volume)
|
|
src = null
|
|
if(!istype(T, /turf/space))
|
|
new /obj/effect/decal/cleanable/dirt(T)
|
|
|
|
chlorine
|
|
name = "Chlorine"
|
|
id = "chlorine"
|
|
description = "A chemical element."
|
|
reagent_state = GAS
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.take_organ_damage(1, 0)
|
|
..()
|
|
return
|
|
|
|
fluorine
|
|
name = "Fluorine"
|
|
id = "fluorine"
|
|
description = "A highly-reactive chemical element."
|
|
reagent_state = GAS
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss++
|
|
..()
|
|
return
|
|
|
|
sodium
|
|
name = "Sodium"
|
|
id = "sodium"
|
|
description = "A chemical element."
|
|
reagent_state = SOLID
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
phosphorus
|
|
name = "Phosphorus"
|
|
id = "phosphorus"
|
|
description = "A chemical element."
|
|
reagent_state = SOLID
|
|
color = "#832828" // rgb: 131, 40, 40
|
|
|
|
lithium
|
|
name = "Lithium"
|
|
id = "lithium"
|
|
description = "A chemical element."
|
|
reagent_state = SOLID
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M.canmove) step(M, pick(cardinal))
|
|
if(prob(5)) M:emote(pick("twitch","drool","moan"))
|
|
..()
|
|
return
|
|
|
|
sugar
|
|
name = "Sugar"
|
|
id = "sugar"
|
|
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
|
|
reagent_state = SOLID
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += 1
|
|
..()
|
|
return
|
|
|
|
acid
|
|
name = "Sulphuric acid"
|
|
id = "acid"
|
|
description = "A strong mineral acid with the molecular formula H2SO4."
|
|
reagent_state = LIQUID
|
|
color = "#DB5008" // rgb: 219, 80, 8
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss++
|
|
M.take_organ_damage(0, 1)
|
|
..()
|
|
return
|
|
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
|
if(!istype(M, /mob/living))
|
|
return
|
|
if(method == TOUCH)
|
|
if(istype(M, /mob/living/carbon/human))
|
|
if(M:wear_mask)
|
|
del (M:wear_mask)
|
|
M << "\red Your mask melts away but protects you from the acid!"
|
|
return
|
|
if(M:head)
|
|
del (M:head)
|
|
M << "\red Your helmet melts into uselessness but protects you from the acid!"
|
|
return
|
|
if(istype(M, /mob/living/carbon/monkey))
|
|
if(M:wear_mask)
|
|
del (M:wear_mask)
|
|
M << "\red Your mask melts away but protects you from the acid!"
|
|
return
|
|
|
|
if(prob(15) && istype(M, /mob/living/carbon/human) && volume >= 30)
|
|
var/datum/organ/external/affecting = M:organs["head"]
|
|
if(affecting)
|
|
affecting.take_damage(25, 0)
|
|
M:UpdateDamage()
|
|
M:UpdateDamageIcon()
|
|
M:emote("scream")
|
|
M << "\red Your face has become disfigured!"
|
|
M.real_name = "Unknown"
|
|
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
|
|
M.take_organ_damage(min(15, volume * 2))
|
|
|
|
reaction_obj(var/obj/O, var/volume)
|
|
if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)) && prob(10))
|
|
var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc)
|
|
I.desc = "Looks like this was \an [O] some time ago."
|
|
for(var/mob/M in viewers(5, O))
|
|
M << "\red \the [O] melts."
|
|
del(O)
|
|
|
|
pacid
|
|
name = "Polytrinic acid"
|
|
id = "pacid"
|
|
description = "Polytrinic acid is a an extremely corrosive chemical substance."
|
|
reagent_state = LIQUID
|
|
color = "#8E18A9" // rgb: 142, 24, 169
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss++
|
|
M.take_organ_damage(0, 1)
|
|
..()
|
|
return
|
|
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
|
if(!istype(M, /mob/living))
|
|
return //wooo more runtime fixin
|
|
if(method == TOUCH)
|
|
if(istype(M, /mob/living/carbon/human))
|
|
if(M:wear_mask)
|
|
del (M:wear_mask)
|
|
M << "\red Your mask melts away!"
|
|
return
|
|
if(M:head)
|
|
del (M:head)
|
|
M << "\red Your helmet melts into uselessness!"
|
|
return
|
|
var/datum/organ/external/affecting = M:organs["head"]
|
|
affecting.take_damage(35, 0)
|
|
M:UpdateDamage()
|
|
M:UpdateDamageIcon()
|
|
M:emote("scream")
|
|
M << "\red Your face has become disfigured!"
|
|
M.real_name = "Unknown"
|
|
else
|
|
if(istype(M, /mob/living/carbon/monkey) && M:wear_mask)
|
|
del (M:wear_mask)
|
|
M << "\red Your mask melts away but protects you from the acid!"
|
|
return
|
|
M.take_organ_damage(min(15, volume * 4)) // same deal as sulphuric acid
|
|
else
|
|
if(istype(M, /mob/living/carbon/human))
|
|
var/datum/organ/external/affecting = M:organs["head"]
|
|
affecting.take_damage(30, 0)
|
|
M:UpdateDamage()
|
|
M:UpdateDamageIcon()
|
|
M:emote("scream")
|
|
M << "\red Your face has become disfigured!"
|
|
M.real_name = "Unknown"
|
|
else
|
|
M.take_organ_damage(min(15, volume * 4))
|
|
|
|
reaction_obj(var/obj/O, var/volume)
|
|
if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)))
|
|
var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc)
|
|
I.desc = "Looks like this was \an [O] some time ago."
|
|
for(var/mob/M in viewers(5, O))
|
|
M << "\red \the [O] melts."
|
|
del(O)
|
|
|
|
glycerol
|
|
name = "Glycerol"
|
|
id = "glycerol"
|
|
description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity."
|
|
reagent_state = LIQUID
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
nitroglycerin
|
|
name = "Nitroglycerin"
|
|
id = "nitroglycerin"
|
|
description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol."
|
|
reagent_state = LIQUID
|
|
color = "#808080" // rgb: 128, 128, 128
|
|
|
|
radium
|
|
name = "Radium"
|
|
id = "radium"
|
|
description = "Radium is an alkaline earth metal. It is extremely radioactive."
|
|
reagent_state = SOLID
|
|
color = "#604838" // rgb: 96, 72, 56
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.radiation += 3
|
|
..()
|
|
return
|
|
|
|
|
|
reaction_turf(var/turf/T, var/volume)
|
|
src = null
|
|
if(!istype(T, /turf/space))
|
|
new /obj/effect/decal/cleanable/greenglow(T)
|
|
|
|
|
|
ryetalyn
|
|
name = "Ryetalyn"
|
|
id = "ryetalyn"
|
|
description = "Ryetalyn can cure all genetic abnomalities."
|
|
reagent_state = SOLID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.mutations = 0
|
|
M.disabilities = 0
|
|
M.sdisabilities = 0
|
|
..()
|
|
return
|
|
|
|
thermite
|
|
name = "Thermite"
|
|
id = "thermite"
|
|
description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls."
|
|
reagent_state = SOLID
|
|
color = "#673910" // rgb: 103, 57, 16
|
|
|
|
reaction_turf(var/turf/T, var/volume)
|
|
src = null
|
|
if(istype(T, /turf/simulated/wall))
|
|
T:thermite = 1
|
|
T.overlays = null
|
|
T.overlays = image('effects.dmi',icon_state = "thermite")
|
|
return
|
|
|
|
|
|
|
|
mutagen
|
|
name = "Unstable mutagen"
|
|
id = "mutagen"
|
|
description = "Might cause unpredictable mutations. Keep away from children."
|
|
reagent_state = LIQUID
|
|
color = "#13BC5E" // rgb: 19, 188, 94
|
|
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
if(!..()) return
|
|
src = null
|
|
if((method==TOUCH && prob(33)) || method==INGEST)
|
|
randmuti(M)
|
|
if(prob(98))
|
|
randmutb(M)
|
|
else
|
|
randmutg(M)
|
|
domutcheck(M, null)
|
|
updateappearance(M,M.dna.uni_identity)
|
|
return
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.radiation += 3
|
|
..()
|
|
return
|
|
|
|
virus_food
|
|
name = "Virus Food"
|
|
id = "virusfood"
|
|
description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 2 * REAGENTS_METABOLISM
|
|
color = "#899613" // rgb: 137, 150, 19
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
sterilizine
|
|
name = "Sterilizine"
|
|
id = "sterilizine"
|
|
description = "Sterilizes wounds in preparation for surgery."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
/* reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
src = null
|
|
if (method==TOUCH)
|
|
if(istype(M, /mob/living/carbon/human))
|
|
if(M.health >= -100 && M.health <= 0)
|
|
M.crit_op_stage = 0.0
|
|
if (method==INGEST)
|
|
usr << "Well, that was stupid."
|
|
M:toxloss += 3
|
|
return
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.radiation += 3
|
|
..()
|
|
return
|
|
*/
|
|
iron
|
|
name = "Iron"
|
|
id = "iron"
|
|
description = "Pure iron is a metal."
|
|
reagent_state = SOLID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
/*
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if((M.virus) && (prob(8) && (M.virus.name=="Magnitis")))
|
|
if(M.virus.spread == "Airborne")
|
|
M.virus.spread = "Remissive"
|
|
M.virus.stage--
|
|
if(M.virus.stage <= 0)
|
|
M.resistances += M.virus.type
|
|
M.virus = null
|
|
holder.remove_reagent(src.id, 0.2)
|
|
return
|
|
*/
|
|
|
|
gold
|
|
name = "Gold"
|
|
id = "gold"
|
|
description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known."
|
|
reagent_state = SOLID
|
|
color = "#F7C430" // rgb: 247, 196, 48
|
|
|
|
silver
|
|
name = "Silver"
|
|
id = "silver"
|
|
description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal."
|
|
reagent_state = SOLID
|
|
color = "#D0D0D0" // rgb: 208, 208, 208
|
|
|
|
uranium
|
|
name ="Uranium"
|
|
id = "uranium"
|
|
description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive."
|
|
reagent_state = SOLID
|
|
color = "#B8B8C0" // rgb: 184, 184, 192
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.radiation += 1
|
|
..()
|
|
return
|
|
|
|
|
|
reaction_turf(var/turf/T, var/volume)
|
|
src = null
|
|
if(!istype(T, /turf/space))
|
|
new /obj/effect/decal/cleanable/greenglow(T)
|
|
|
|
aluminum
|
|
name = "Aluminum"
|
|
id = "aluminum"
|
|
description = "A silvery white and ductile member of the boron group of chemical elements."
|
|
reagent_state = SOLID
|
|
color = "#A8A8A8" // rgb: 168, 168, 168
|
|
|
|
silicon
|
|
name = "Silicon"
|
|
id = "silicon"
|
|
description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon."
|
|
reagent_state = SOLID
|
|
color = "#A8A8A8" // rgb: 168, 168, 168
|
|
|
|
fuel
|
|
name = "Welding fuel"
|
|
id = "fuel"
|
|
description = "Required for welders. Flamable."
|
|
reagent_state = LIQUID
|
|
color = "#660000" // rgb: 102, 0, 0
|
|
|
|
reaction_obj(var/obj/O, var/volume)
|
|
src = null
|
|
var/turf/the_turf = get_turf(O)
|
|
if(!the_turf)
|
|
return //No sense trying to start a fire if you don't have a turf to set on fire. --NEO
|
|
var/datum/gas_mixture/napalm = new
|
|
var/datum/gas/volatile_fuel/fuel = new
|
|
fuel.moles = 15
|
|
napalm.trace_gases += fuel
|
|
the_turf.assume_air(napalm)
|
|
reaction_turf(var/turf/T, var/volume)
|
|
src = null
|
|
var/datum/gas_mixture/napalm = new
|
|
var/datum/gas/volatile_fuel/fuel = new
|
|
fuel.moles = 15
|
|
napalm.trace_gases += fuel
|
|
T.assume_air(napalm)
|
|
return
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss += 1
|
|
..()
|
|
return
|
|
|
|
space_cleaner
|
|
name = "Space cleaner"
|
|
id = "cleaner"
|
|
description = "A compound used to clean things. Now with 50% more sodium hypochlorite!"
|
|
reagent_state = LIQUID
|
|
color = "#A5F0EE" // rgb: 165, 240, 238
|
|
|
|
reaction_obj(var/obj/O, var/volume)
|
|
if(istype(O,/obj/effect/decal/cleanable))
|
|
del(O)
|
|
else
|
|
if (O)
|
|
O.clean_blood()
|
|
reaction_turf(var/turf/T, var/volume)
|
|
T.overlays = null
|
|
T.clean_blood()
|
|
for(var/obj/effect/decal/cleanable/C in src)
|
|
del(C)
|
|
|
|
for(var/mob/living/carbon/metroid/M in T)
|
|
M.toxloss+=rand(5,10)
|
|
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
M.clean_blood()
|
|
if(istype(M, /mob/living/carbon))
|
|
var/mob/living/carbon/C = M
|
|
if(C.r_hand)
|
|
C.r_hand.clean_blood()
|
|
if(C.l_hand)
|
|
C.l_hand.clean_blood()
|
|
if(C.wear_mask)
|
|
C.wear_mask.clean_blood()
|
|
if(istype(M, /mob/living/carbon/human))
|
|
if(C:w_uniform)
|
|
C:w_uniform.clean_blood()
|
|
if(C:wear_suit)
|
|
C:wear_suit.clean_blood()
|
|
if(C:shoes)
|
|
C:shoes.clean_blood()
|
|
if(C:gloves)
|
|
C:gloves.clean_blood()
|
|
if(C:head)
|
|
C:head.clean_blood()
|
|
|
|
|
|
plantbgone
|
|
name = "Plant-B-Gone"
|
|
id = "plantbgone"
|
|
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
|
|
reagent_state = LIQUID
|
|
color = "#49002E" // rgb: 73, 0, 46
|
|
/* Don't know if this is necessary.
|
|
on_mob_life(var/mob/living/carbon/M)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss += 3.0
|
|
..()
|
|
return
|
|
*/
|
|
reaction_obj(var/obj/O, var/volume)
|
|
// if(istype(O,/obj/plant/vine/))
|
|
// O:life -= rand(15,35) // Kills vines nicely // Not tested as vines don't work in R41
|
|
if(istype(O,/obj/effect/alien/weeds/))
|
|
O:health -= rand(15,35) // Kills alien weeds pretty fast
|
|
O:healthcheck()
|
|
else if(istype(O,/obj/effect/glowshroom)) //even a small amount is enough to kill it
|
|
del(O)
|
|
// Damage that is done to growing plants is separately
|
|
// at code/game/machinery/hydroponics at obj/item/hydroponics
|
|
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
src = null
|
|
if(istype(M, /mob/living/carbon))
|
|
if(!M.wear_mask) // If not wearing a mask
|
|
M:toxloss += 2 // 4 toxic damage per application, doubled for some reason
|
|
if(istype(M,/mob/living/carbon/human) && M:mutantrace == "plant") //plantmen take a LOT of damage
|
|
M:toxloss += 10
|
|
//if(prob(10))
|
|
//M.make_dizzy(1) doesn't seem to do anything
|
|
|
|
|
|
plasma
|
|
name = "Plasma"
|
|
id = "plasma"
|
|
description = "Plasma in its liquid form."
|
|
reagent_state = LIQUID
|
|
color = "#E71B00" // rgb: 231, 27, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(holder.has_reagent("inaprovaline"))
|
|
holder.remove_reagent("inaprovaline", 2)
|
|
M:toxloss++
|
|
..()
|
|
return
|
|
reaction_obj(var/obj/O, var/volume)
|
|
if((!O) || (!volume)) return 0
|
|
src = null
|
|
var/turf/the_turf = get_turf(O)
|
|
var/datum/gas_mixture/napalm = new
|
|
var/datum/gas/volatile_fuel/fuel = new
|
|
fuel.moles = 5
|
|
napalm.trace_gases += fuel
|
|
the_turf.assume_air(napalm)
|
|
reaction_turf(var/turf/T, var/volume)
|
|
src = null
|
|
var/datum/gas_mixture/napalm = new
|
|
var/datum/gas/volatile_fuel/fuel = new
|
|
fuel.moles = 5
|
|
napalm.trace_gases += fuel
|
|
T.assume_air(napalm)
|
|
return
|
|
|
|
leporazine
|
|
name = "Leporazine"
|
|
id = "leporazine"
|
|
description = "Leporazine can be use to stabilize an individuals body temperature."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-20)
|
|
else if(M.bodytemperature < 311)
|
|
M.bodytemperature = min(310, M.bodytemperature+20)
|
|
..()
|
|
return
|
|
|
|
cryptobiolin
|
|
name = "Cryptobiolin"
|
|
id = "cryptobiolin"
|
|
description = "Cryptobiolin causes confusion and dizzyness."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.make_dizzy(1)
|
|
if(!M.confused) M.confused = 1
|
|
M.confused = max(M.confused, 20)
|
|
holder.remove_reagent(src.id, 0.2)
|
|
..()
|
|
return
|
|
|
|
lexorin
|
|
name = "Lexorin"
|
|
id = "lexorin"
|
|
description = "Lexorin temporarily stops respiration. Causes tissue damage."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0)
|
|
return
|
|
if(!M) M = holder.my_atom
|
|
if(prob(33))
|
|
M.take_organ_damage(1, 0)
|
|
M:oxyloss += 3
|
|
if(prob(20)) M:emote("gasp")
|
|
..()
|
|
return
|
|
|
|
kelotane
|
|
name = "Kelotane"
|
|
id = "kelotane"
|
|
description = "Kelotane is a drug used to treat burns."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0)
|
|
return
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(0,2)
|
|
..()
|
|
return
|
|
|
|
dermaline
|
|
name = "Dermaline"
|
|
id = "dermaline"
|
|
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
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0) //THE GUY IS **DEAD**! BEREFT OF ALL LIFE HE RESTS IN PEACE etc etc. He does NOT metabolise shit anymore, god DAMN
|
|
return
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(0,3)
|
|
..()
|
|
return
|
|
|
|
dexalin
|
|
name = "Dexalin"
|
|
id = "dexalin"
|
|
description = "Dexalin is used in the treatment of oxygen deprivation."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0)
|
|
return //See above, down and around. --Agouri
|
|
if(!M) M = holder.my_atom
|
|
M:oxyloss = max(M:oxyloss-2, 0)
|
|
if(holder.has_reagent("lexorin"))
|
|
holder.remove_reagent("lexorin", 2)
|
|
..()
|
|
return
|
|
|
|
dexalinp
|
|
name = "Dexalin Plus"
|
|
id = "dexalinp"
|
|
description = "Dexalin Plus is used in the treatment of oxygen deprivation. Its highly effective."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0)
|
|
return
|
|
if(!M) M = holder.my_atom
|
|
M:oxyloss = 0
|
|
if(holder.has_reagent("lexorin"))
|
|
holder.remove_reagent("lexorin", 2)
|
|
..()
|
|
return
|
|
|
|
tricordrazine
|
|
name = "Tricordrazine"
|
|
id = "tricordrazine"
|
|
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
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0)
|
|
return
|
|
if(!M) M = holder.my_atom
|
|
if(M:oxyloss && prob(40)) M:oxyloss--
|
|
if(M:bruteloss && prob(40)) M:heal_organ_damage(1,0)
|
|
if(M:fireloss && prob(40)) M:heal_organ_damage(0,1)
|
|
if(M:toxloss && prob(40)) M:toxloss--
|
|
..()
|
|
return
|
|
|
|
adminordrazine //An OP chemical for adminis
|
|
name = "Adminordrazine"
|
|
id = "adminordrazine"
|
|
description = "It's magic. We don't have to explain it."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom ///This can even heal dead people.
|
|
M:cloneloss = 0
|
|
M:oxyloss = 0
|
|
M:radiation = 0
|
|
M:heal_organ_damage(5,5)
|
|
if(M:toxloss) M:toxloss = max(0, M:toxloss-5)
|
|
if(holder.has_reagent("toxin"))
|
|
holder.remove_reagent("toxin", 5)
|
|
if(holder.has_reagent("stoxin"))
|
|
holder.remove_reagent("stoxin", 5)
|
|
if(holder.has_reagent("plasma"))
|
|
holder.remove_reagent("plasma", 5)
|
|
if(holder.has_reagent("acid"))
|
|
holder.remove_reagent("acid", 5)
|
|
if(holder.has_reagent("pacid"))
|
|
holder.remove_reagent("pacid", 5)
|
|
if(holder.has_reagent("cyanide"))
|
|
holder.remove_reagent("cyanide", 5)
|
|
if(holder.has_reagent("lexorin"))
|
|
holder.remove_reagent("lexorin", 5)
|
|
if(holder.has_reagent("amatoxin"))
|
|
holder.remove_reagent("amatoxin", 5)
|
|
if(holder.has_reagent("chloralhydrate"))
|
|
holder.remove_reagent("chloralhydrate", 5)
|
|
if(holder.has_reagent("carpotoxin"))
|
|
holder.remove_reagent("carpotoxin", 5)
|
|
if(holder.has_reagent("zombiepowder"))
|
|
holder.remove_reagent("zombiepowder", 5)
|
|
M:brainloss = 0
|
|
M.disabilities = 0
|
|
M.sdisabilities = 0
|
|
M:eye_blurry = 0
|
|
M:eye_blind = 0
|
|
M:disabilities &= ~1
|
|
M:sdisabilities &= ~1
|
|
M:weakened = 0
|
|
M:stunned = 0
|
|
M:paralysis = 0
|
|
M:silent = 0
|
|
M.dizziness = 0
|
|
M:drowsyness = 0
|
|
M:stuttering = 0
|
|
M:confused = 0
|
|
M:sleeping = 0
|
|
M:jitteriness = 0
|
|
for(var/datum/disease/D in M.viruses)
|
|
D.spread = "Remissive"
|
|
D.stage--
|
|
if(D.stage < 1)
|
|
D.cure()
|
|
..()
|
|
return
|
|
|
|
synaptizine
|
|
name = "Synaptizine"
|
|
id = "synaptizine"
|
|
description = "Synaptizine is used to treat various diseases."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:drowsyness = max(M:drowsyness-5, 0)
|
|
if(M:paralysis) M:paralysis--
|
|
if(M:stunned) M:stunned--
|
|
if(M:weakened) M:weakened--
|
|
if(prob(60)) M:toxloss++
|
|
..()
|
|
return
|
|
|
|
|
|
impedrezene
|
|
name = "Impedrezene"
|
|
id = "impedrezene"
|
|
description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:jitteriness = max(M:jitteriness-5,0)
|
|
if(prob(80)) M:brainloss++
|
|
if(prob(50)) M:drowsyness = max(M:drowsyness, 3)
|
|
if(prob(10)) M:emote("drool")
|
|
..()
|
|
return
|
|
|
|
hyronalin
|
|
name = "Hyronalin"
|
|
id = "hyronalin"
|
|
description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:radiation = max(M:radiation-3,0)
|
|
..()
|
|
return
|
|
|
|
arithrazine
|
|
name = "Arithrazine"
|
|
id = "arithrazine"
|
|
description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0)
|
|
return //See above, down and around. --Agouri
|
|
if(!M) M = holder.my_atom
|
|
M:radiation = max(M:radiation-7,0)
|
|
if(M:toxloss) M:toxloss--
|
|
if(prob(15))
|
|
M.take_organ_damage(1, 0)
|
|
..()
|
|
return
|
|
|
|
alkysine
|
|
name = "Alkysine"
|
|
id = "alkysine"
|
|
description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:brainloss = max(M:brainloss-3 , 0)
|
|
..()
|
|
return
|
|
|
|
imidazoline
|
|
name = "Imidazoline"
|
|
id = "imidazoline"
|
|
description = "Heals eye damage"
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:eye_blurry = max(M:eye_blurry-5 , 0)
|
|
M:eye_blind = max(M:eye_blind-5 , 0)
|
|
M:disabilities &= ~1
|
|
// M:sdisabilities &= ~1 Replaced by eye surgery
|
|
..()
|
|
return
|
|
|
|
bicaridine
|
|
name = "Bicaridine"
|
|
id = "bicaridine"
|
|
description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M.stat == 2.0)
|
|
return
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(2,0)
|
|
..()
|
|
return
|
|
|
|
hyperzine
|
|
name = "Hyperzine"
|
|
id = "hyperzine"
|
|
description = "Hyperzine is a highly effective, long lasting, muscle stimulant."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(prob(5)) M:emote(pick("twitch","blink_r","shiver"))
|
|
holder.remove_reagent(src.id, 0.2)
|
|
..()
|
|
return
|
|
|
|
cryoxadone
|
|
name = "Cryoxadone"
|
|
id = "cryoxadone"
|
|
description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M.bodytemperature < 170)
|
|
if(M:cloneloss) M:cloneloss = max(0, M:cloneloss-1)
|
|
if(M:oxyloss) M:oxyloss = max(0, M:oxyloss-3)
|
|
M:heal_organ_damage(3,3)
|
|
if(M:toxloss) M:toxloss = max(0, M:toxloss-3)
|
|
..()
|
|
return
|
|
|
|
clonexadone
|
|
name = "Clonexadone"
|
|
id = "clonexadone"
|
|
description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' clones that get ejected early when used in conjunction with a cryo tube."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M.bodytemperature < 170)
|
|
if(M:cloneloss) M:cloneloss = max(0, M:cloneloss-3)
|
|
if(M:oxyloss) M:oxyloss = max(0, M:oxyloss-3)
|
|
M:heal_organ_damage(3,3)
|
|
if(M:toxloss) M:toxloss = max(0, M:toxloss-3)
|
|
..()
|
|
return
|
|
|
|
spaceacillin
|
|
name = "Spaceacillin"
|
|
id = "spaceacillin"
|
|
description = "An all-purpose antiviral agent."
|
|
reagent_state = LIQUID
|
|
color = "#C8A5DC" // rgb: 200, 165, 220
|
|
|
|
on_mob_life(var/mob/living/M as mob)//no more mr. panacea
|
|
holder.remove_reagent(src.id, 0.2)
|
|
..()
|
|
return
|
|
|
|
carpotoxin
|
|
name = "Carpotoxin"
|
|
id = "carpotoxin"
|
|
description = "A deadly neurotoxin produced by the dreaded spess carp."
|
|
reagent_state = LIQUID
|
|
color = "#003333" // rgb: 0, 51, 51
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss += 2
|
|
..()
|
|
return
|
|
|
|
zombiepowder
|
|
name = "Zombie Powder"
|
|
id = "zombiepowder"
|
|
description = "A strong neurotoxin that puts the subject into a death-like state."
|
|
color = "#669900" // rgb: 102, 153, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:oxyloss += 0.5
|
|
M:toxloss += 0.5
|
|
M:weakened = max(M:weakened, 10)
|
|
M:silent = max(M:silent, 10)
|
|
..()
|
|
return
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
nanites
|
|
name = "Nanomachines"
|
|
id = "nanites"
|
|
description = "Microscopic construction robots."
|
|
reagent_state = LIQUID
|
|
color = "#535E66" // rgb: 83, 94, 102
|
|
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
src = null
|
|
if( (prob(10) && method==TOUCH) || method==INGEST)
|
|
M.contract_disease(new /datum/disease/robotic_transformation(0),1)
|
|
|
|
xenomicrobes
|
|
name = "Xenomicrobes"
|
|
id = "xenomicrobes"
|
|
description = "Microbes with an entirely alien cellular structure."
|
|
reagent_state = LIQUID
|
|
color = "#535E66" // rgb: 83, 94, 102
|
|
|
|
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
|
|
src = null
|
|
if( (prob(10) && method==TOUCH) || method==INGEST)
|
|
M.contract_disease(new /datum/disease/xeno_transformation(0),1)
|
|
|
|
//foam precursor
|
|
|
|
fluorosurfactant
|
|
name = "Fluorosurfactant"
|
|
id = "fluorosurfactant"
|
|
description = "A perfluoronated sulfonic acid that forms a foam when mixed with water."
|
|
reagent_state = LIQUID
|
|
color = "#9E6B38" // rgb: 158, 107, 56
|
|
|
|
// metal foaming agent
|
|
// this is lithium hydride. Add other recipies (e.g. LiH + H2O -> LiOH + H2) eventually
|
|
|
|
foaming_agent
|
|
name = "Foaming agent"
|
|
id = "foaming_agent"
|
|
description = "A agent that yields metallic foam when mixed with light metal and a strong acid."
|
|
reagent_state = SOLID
|
|
color = "#664B63" // rgb: 102, 75, 99
|
|
|
|
nicotine
|
|
name = "Nicotine"
|
|
id = "nicotine"
|
|
description = "A highly addictive stimulant extracted from the tobacco plant."
|
|
reagent_state = LIQUID
|
|
color = "#181818" // rgb: 24, 24, 24
|
|
|
|
ethanol
|
|
name = "Ethanol"
|
|
id = "ethanol"
|
|
description = "A well-known alcohol with a variety of applications."
|
|
reagent_state = LIQUID
|
|
color = "#404030" // rgb: 64, 64, 48
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.make_dizzy(5)
|
|
M:jitteriness = max(M:jitteriness-5,0)
|
|
if(data >= 25)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M:stuttering += 4
|
|
if(data >= 40 && prob(33))
|
|
if (!M:confused) M:confused = 1
|
|
M:confused += 3
|
|
..()
|
|
return
|
|
|
|
ammonia
|
|
name = "Ammonia"
|
|
id = "ammonia"
|
|
description = "A caustic substance commonly used in fertilizer or household cleaners."
|
|
reagent_state = GAS
|
|
color = "#404030" // rgb: 64, 64, 48
|
|
|
|
diethylamine
|
|
name = "Diethylamine"
|
|
id = "diethylamine"
|
|
description = "A secondary amine, mildly corrosive."
|
|
reagent_state = LIQUID
|
|
color = "#604030" // rgb: 96, 64, 48
|
|
|
|
ethylredoxrazine // FUCK YOU, ALCOHOL
|
|
name = "Ethylredoxrazine"
|
|
id = "ethylredoxrazine"
|
|
description = "A powerfuld oxidizer that reacts with ethanol."
|
|
reagent_state = SOLID
|
|
color = "#605048" // rgb: 96, 80, 72
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.dizziness = 0
|
|
M:drowsyness = 0
|
|
M:stuttering = 0
|
|
M:confused = 0
|
|
..()
|
|
return
|
|
|
|
chloralhydrate //Otherwise known as a "Mickey Finn"
|
|
name = "Chloral Hydrate"
|
|
id = "chloralhydrate"
|
|
description = "A powerful sedative."
|
|
reagent_state = SOLID
|
|
color = "#000067" // rgb: 0, 0, 103
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(!data) data = 1
|
|
data++
|
|
switch(data)
|
|
if(1)
|
|
M:confused += 2
|
|
M:drowsyness += 2
|
|
if(2 to 50)
|
|
M:sleeping += 1
|
|
if(51 to INFINITY)
|
|
M:sleeping += 1
|
|
M:toxloss += (data - 50)
|
|
..()
|
|
return
|
|
|
|
beer2 //copypasta of chloral hydrate, disguised as normal beer for use by emagged brobots
|
|
name = "Beer"
|
|
id = "beer2"
|
|
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(!data) data = 1
|
|
switch(data)
|
|
if(1)
|
|
M:confused += 2
|
|
M:drowsyness += 2
|
|
if(2 to 50)
|
|
M:sleeping += 1
|
|
if(51 to INFINITY)
|
|
M:sleeping += 1
|
|
M:toxloss += (data - 50)
|
|
data++
|
|
..()
|
|
return
|
|
|
|
|
|
/////////////////////////Food Reagents////////////////////////////
|
|
// Part of the food code. Nutriment is used instead of the old "heal_amt" code. Also is where all the food
|
|
// condiments, additives, and such go.
|
|
nutriment
|
|
name = "Nutriment"
|
|
id = "nutriment"
|
|
description = "All the vitamins, minerals, and carbohydrates the body needs in pure form."
|
|
reagent_state = SOLID
|
|
nutriment_factor = 15 * REAGENTS_METABOLISM
|
|
color = "#664330" // rgb: 102, 67, 48
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(prob(50)) M:heal_organ_damage(1,0)
|
|
M:nutrition += nutriment_factor // For hunger and fatness
|
|
/*
|
|
// If overeaten - vomit and fall down
|
|
// Makes you feel bad but removes reagents and some effect
|
|
// from your body
|
|
if (M.nutrition > 650)
|
|
M.nutrition = rand (250, 400)
|
|
M.weakened += rand(2, 10)
|
|
M.jitteriness += rand(0, 5)
|
|
M.dizziness = max (0, (M.dizziness - rand(0, 15)))
|
|
M.druggy = max (0, (M.druggy - rand(0, 15)))
|
|
M.toxloss = max (0, (M.toxloss - rand(5, 15)))
|
|
M.updatehealth()
|
|
*/
|
|
..()
|
|
return
|
|
|
|
soysauce
|
|
name = "Soysauce"
|
|
id = "soysauce"
|
|
description = "A salty sauce made from the soy plant."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 2 * REAGENTS_METABOLISM
|
|
color = "#792300" // rgb: 121, 35, 0
|
|
|
|
ketchup
|
|
name = "Ketchup"
|
|
id = "ketchup"
|
|
description = "Ketchup, catsup, whatever. It's tomato paste."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 5 * REAGENTS_METABOLISM
|
|
color = "#731008" // rgb: 115, 16, 8
|
|
|
|
|
|
capsaicin
|
|
name = "Capsaicin Oil"
|
|
id = "capsaicin"
|
|
description = "This is what makes chilis hot."
|
|
reagent_state = LIQUID
|
|
color = "#B31008" // rgb: 179, 16, 8
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:bodytemperature += 5
|
|
if(prob(40) && !istype(M, /mob/living/carbon/metroid))
|
|
M.take_organ_damage(0, 1)
|
|
|
|
if(istype(M, /mob/living/carbon/metroid))
|
|
M:bodytemperature += rand(5,20)
|
|
..()
|
|
return
|
|
|
|
frostoil
|
|
name = "Frost Oil"
|
|
id = "frostoil"
|
|
description = "A special oil that noticably chills the body. Extraced from Icepeppers."
|
|
reagent_state = LIQUID
|
|
color = "#B31008" // rgb: 139, 166, 233
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:bodytemperature -= 5
|
|
if(prob(40))
|
|
M.take_organ_damage(0, 1)
|
|
if(prob(80) && istype(M, /mob/living/carbon/metroid))
|
|
M.fireloss += rand(5,20)
|
|
M << "\red You feel a terrible chill inside your body!"
|
|
..()
|
|
return
|
|
|
|
reaction_turf(var/turf/simulated/T, var/volume)
|
|
for(var/mob/living/carbon/metroid/M in T)
|
|
M.toxloss+=rand(15,30)
|
|
|
|
sodiumchloride
|
|
name = "Table Salt"
|
|
id = "sodiumchloride"
|
|
description = "A salt made of sodium chloride. Commonly used to season food."
|
|
reagent_state = SOLID
|
|
color = "#282828" // rgb: 40, 40, 40
|
|
|
|
blackpepper
|
|
name = "Black Pepper"
|
|
id = "blackpepper"
|
|
description = "A power ground from peppercorns. *AAAACHOOO*"
|
|
reagent_state = SOLID
|
|
// no color (ie, black)
|
|
|
|
coco
|
|
name = "Coco Powder"
|
|
id = "Coco Powder"
|
|
description = "A fatty, bitter paste made from coco beans."
|
|
reagent_state = SOLID
|
|
nutriment_factor = 5 * REAGENTS_METABOLISM
|
|
color = "#302000" // rgb: 48, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
hot_coco
|
|
name = "Hot Chocolate"
|
|
id = "hot_coco"
|
|
description = "Made with love! And coco beans."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 2 * REAGENTS_METABOLISM
|
|
color = "#403010" // rgb: 64, 48, 16
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature+5)
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
amatoxin
|
|
name = "Amatoxin"
|
|
id = "amatoxin"
|
|
description = "A powerful poison derived from certain species of mushroom."
|
|
color = "#792300" // rgb: 121, 35, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:toxloss++
|
|
..()
|
|
return
|
|
|
|
psilocybin
|
|
name = "Psilocybin"
|
|
id = "psilocybin"
|
|
description = "A strong psycotropic derived from certain species of mushroom."
|
|
color = "#E700E7" // rgb: 231, 0, 231
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.druggy = max(M.druggy, 30)
|
|
if(!data) data = 1
|
|
switch(data)
|
|
if(1 to 5)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M.make_dizzy(5)
|
|
if(prob(10)) M:emote(pick("twitch","giggle"))
|
|
if(5 to 10)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M.make_jittery(10)
|
|
M.make_dizzy(10)
|
|
M.druggy = max(M.druggy, 35)
|
|
if(prob(20)) M:emote(pick("twitch","giggle"))
|
|
if (10 to INFINITY)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M.make_jittery(20)
|
|
M.make_dizzy(20)
|
|
M.druggy = max(M.druggy, 40)
|
|
if(prob(30)) M:emote(pick("twitch","giggle"))
|
|
holder.remove_reagent(src.id, 0.2)
|
|
data++
|
|
..()
|
|
return
|
|
|
|
sprinkles
|
|
name = "Sprinkles"
|
|
id = "sprinkles"
|
|
description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops."
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#302000" // rgb: 48, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(istype(M, /mob/living/carbon/human) && M.job in list("Security Officer", "Head of Security", "Detective", "Warden"))
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
..()
|
|
|
|
syndicream
|
|
name = "Cream filling"
|
|
id = "syndicream"
|
|
description = "Delicious cream filling of a mysterious origin. Tastes criminally good."
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#AB7878" // rgb: 171, 120, 120
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(istype(M, /mob/living/carbon/human) && M.mind)
|
|
if(M.mind.special_role)
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
..()
|
|
|
|
cornoil
|
|
name = "Corn Oil"
|
|
id = "cornoil"
|
|
description = "An oil derived from various types of corn."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 20 * REAGENTS_METABOLISM
|
|
color = "#302000" // rgb: 48, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
reaction_turf(var/turf/simulated/T, var/volume)
|
|
if (!istype(T)) return
|
|
src = null
|
|
if(volume >= 3)
|
|
if(T.wet >= 1) return
|
|
T.wet = 1
|
|
if(T.wet_overlay)
|
|
T.overlays -= T.wet_overlay
|
|
T.wet_overlay = null
|
|
T.wet_overlay = image('water.dmi',T,"wet_floor")
|
|
T.overlays += T.wet_overlay
|
|
|
|
spawn(800)
|
|
if (!istype(T)) return
|
|
if(T.wet >= 2) return
|
|
T.wet = 0
|
|
if(T.wet_overlay)
|
|
T.overlays -= T.wet_overlay
|
|
T.wet_overlay = null
|
|
var/hotspot = (locate(/obj/effect/hotspot) in T)
|
|
if(hotspot)
|
|
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
|
|
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
|
|
lowertemp.react()
|
|
T.assume_air(lowertemp)
|
|
del(hotspot)
|
|
|
|
enzyme
|
|
name = "Universal Enzyme"
|
|
id = "enzyme"
|
|
description = "A universal enzyme used in the preperation of certain chemicals and foods."
|
|
reagent_state = LIQUID
|
|
color = "#365E30" // rgb: 54, 94, 48
|
|
|
|
dry_ramen
|
|
name = "Dry Ramen"
|
|
id = "dry_ramen"
|
|
description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water."
|
|
reagent_state = SOLID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#302000" // rgb: 48, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
hot_ramen
|
|
name = "Hot Ramen"
|
|
id = "hot_ramen"
|
|
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 5 * REAGENTS_METABOLISM
|
|
color = "#302000" // rgb: 48, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature+10)
|
|
..()
|
|
return
|
|
|
|
hell_ramen
|
|
name = "Hell Ramen"
|
|
id = "hell_ramen"
|
|
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 5 * REAGENTS_METABOLISM
|
|
color = "#302000" // rgb: 48, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
M:bodytemperature += 10
|
|
..()
|
|
return
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/////////////////////// DRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum////////////////////////////////
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
orangejuice
|
|
name = "Orange juice"
|
|
id = "orangejuice"
|
|
description = "Both delicious AND rich in Vitamin C, what more do you need?"
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#E78108" // rgb: 231, 129, 8
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(!M) M = holder.my_atom
|
|
if(M:oxyloss && prob(30)) M:oxyloss--
|
|
M:nutrition++
|
|
..()
|
|
return
|
|
|
|
tomatojuice
|
|
name = "Tomato Juice"
|
|
id = "tomatojuice"
|
|
description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?"
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#731008" // rgb: 115, 16, 8
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(!M) M = holder.my_atom
|
|
if(M:fireloss && prob(20)) M:heal_organ_damage(0,1)
|
|
M:nutrition++
|
|
..()
|
|
return
|
|
|
|
limejuice
|
|
name = "Lime Juice"
|
|
id = "limejuice"
|
|
description = "The sweet-sour juice of limes."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#365E30" // rgb: 54, 94, 48
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(!M) M = holder.my_atom
|
|
if(M:toxloss && prob(20)) M:toxloss--
|
|
M:nutrition++
|
|
..()
|
|
return
|
|
|
|
carrotjuice
|
|
name = "Carrot juice"
|
|
id = "carrotjuice"
|
|
description = "It is just like a carrot but without crunching."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#973800" // rgb: 151, 56, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:nutrition += nutriment_factor
|
|
M:eye_blurry = max(M:eye_blurry-1 , 0)
|
|
M:eye_blind = max(M:eye_blind-1 , 0)
|
|
if(!data) data = 1
|
|
switch(data)
|
|
if(1 to 20)
|
|
//nothing
|
|
if(21 to INFINITY)
|
|
if (prob(data-10))
|
|
M:disabilities &= ~1
|
|
data++
|
|
..()
|
|
return
|
|
|
|
berryjuice
|
|
name = "Berry Juice"
|
|
id = "berryjuice"
|
|
description = "A delicious blend of several different kinds of berries."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#863333" // rgb: 134, 51, 51
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
poisonberryjuice
|
|
name = "Poison Berry Juice"
|
|
id = "poisonberryjuice"
|
|
description = "A tasty juice blended from various kinds of very deadly and toxic berries."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#863353" // rgb: 134, 51, 83
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:nutrition += nutriment_factor
|
|
M:toxloss += 1
|
|
..()
|
|
return
|
|
|
|
watermelonjuice
|
|
name = "Watermelon Juice"
|
|
id = "watermelonjuice"
|
|
description = "Delicious juice made from watermelon."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#863333" // rgb: 134, 51, 51
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
lemonjuice
|
|
name = "Lemon Juice"
|
|
id = "lemonjuice"
|
|
description = "This juice is VERY sour."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#863333" // rgb: 175, 175, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
banana
|
|
name = "Banana Juice"
|
|
id = "banana"
|
|
description = "The raw essence of a banana. HONK"
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#863333" // rgb: 175, 175, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(istype(M, /mob/living/carbon/human) && M.job in list("Clown"))
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
..()
|
|
return
|
|
if(istype(M, /mob/living/carbon/monkey))
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
..()
|
|
return
|
|
..()
|
|
|
|
nothing
|
|
name = "Nothing"
|
|
id = "nothing"
|
|
description = "Absolutely nothing."
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(istype(M, /mob/living/carbon/human) && M.job in list("Mime"))
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
..()
|
|
return
|
|
..()
|
|
|
|
potato_juice
|
|
name = "Potato Juice"
|
|
id = "potato"
|
|
description = "Juice of the potato. Bleh."
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 2 * REAGENTS_METABOLISM
|
|
color = "#302000" // rgb: 48, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
..()
|
|
return
|
|
|
|
milk
|
|
name = "Milk"
|
|
id = "milk"
|
|
description = "An opaque white liquid produced by the mammary glands of mammals."
|
|
reagent_state = LIQUID
|
|
color = "#DFDFDF" // rgb: 223, 223, 223
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M:bruteloss && prob(20)) M:heal_organ_damage(1,0)
|
|
M:nutrition++
|
|
..()
|
|
return
|
|
|
|
soymilk
|
|
name = "Soy Milk"
|
|
id = "soymilk"
|
|
description = "An opaque white liquid made from soybeans."
|
|
reagent_state = LIQUID
|
|
color = "#DFDFC7" // rgb: 223, 223, 199
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M:bruteloss && prob(20)) M:heal_organ_damage(1,0)
|
|
M:nutrition++
|
|
..()
|
|
return
|
|
|
|
cream
|
|
name = "Cream"
|
|
id = "cream"
|
|
description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?"
|
|
reagent_state = LIQUID
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#DFD7AF" // rgb: 223, 215, 175
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(M:bruteloss && prob(20)) M:heal_organ_damage(1,0)
|
|
..()
|
|
return
|
|
|
|
coffee
|
|
name = "Coffee"
|
|
id = "coffee"
|
|
description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant."
|
|
reagent_state = LIQUID
|
|
color = "#482000" // rgb: 72, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
..()
|
|
M.dizziness = max(0,M.dizziness-5)
|
|
M:drowsyness = max(0,M:drowsyness-3)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature+5)
|
|
M.make_jittery(5)
|
|
..()
|
|
return
|
|
|
|
tea
|
|
name = "Tea"
|
|
id = "tea"
|
|
description = "Tasty black tea, it has antioxidants, it's good for you!"
|
|
reagent_state = LIQUID
|
|
color = "#101000" // rgb: 16, 16, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
..()
|
|
M.dizziness = max(0,M.dizziness-2)
|
|
M:drowsyness = max(0,M:drowsyness-1)
|
|
M:jitteriness = max(0,M:jitteriness-3)
|
|
M:sleeping = 0
|
|
if(M:toxloss && prob(20))
|
|
M:toxloss--
|
|
if (M.bodytemperature < 310) //310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature+5)
|
|
..()
|
|
return
|
|
|
|
icecoffee
|
|
name = "Iced Coffee"
|
|
id = "icecoffee"
|
|
description = "Coffee and ice, refreshing and cool."
|
|
reagent_state = LIQUID
|
|
color = "#102838" // rgb: 16, 40, 56
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
..()
|
|
M.dizziness = max(0,M.dizziness-5)
|
|
M:drowsyness = max(0,M:drowsyness-3)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature-5)
|
|
M.make_jittery(5)
|
|
..()
|
|
return
|
|
|
|
icetea
|
|
name = "Iced Tea"
|
|
id = "icetea"
|
|
description = "No relation to a certain rap artist/ actor."
|
|
reagent_state = LIQUID
|
|
color = "#104038" // rgb: 16, 64, 56
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
..()
|
|
M.dizziness = max(0,M.dizziness-2)
|
|
M:drowsyness = max(0,M:drowsyness-1)
|
|
M:sleeping = 0
|
|
if(M:toxloss && prob(20))
|
|
M:toxloss--
|
|
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature-5)
|
|
return
|
|
|
|
space_cola
|
|
name = "Cola"
|
|
id = "cola"
|
|
description = "A refreshing beverage."
|
|
reagent_state = LIQUID
|
|
color = "#100800" // rgb: 16, 8, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:drowsyness = max(0,M:drowsyness-5)
|
|
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = max(310, M.bodytemperature-5)
|
|
M:nutrition += 1
|
|
..()
|
|
return
|
|
|
|
nuka_cola
|
|
name = "Nuka Cola"
|
|
id = "nuka_cola"
|
|
description = "Cola, cola never changes."
|
|
reagent_state = LIQUID
|
|
color = "#100800" // rgb: 16, 8, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M.make_jittery(20)
|
|
M.druggy = max(M.druggy, 30)
|
|
M.dizziness +=5
|
|
M:drowsyness = 0
|
|
M:sleeping = 0
|
|
if (M.bodytemperature > 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = max(310, M.bodytemperature-5)
|
|
M:nutrition += 1
|
|
..()
|
|
return
|
|
|
|
spacemountainwind
|
|
name = "Space Mountain Wind"
|
|
id = "spacemountainwind"
|
|
description = "Blows right through you like a space wind."
|
|
reagent_state = LIQUID
|
|
color = "#102000" // rgb: 16, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:drowsyness = max(0,M:drowsyness-7)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-5)
|
|
M.make_jittery(5)
|
|
M:nutrition += 1
|
|
..()
|
|
return
|
|
|
|
thirteenloko
|
|
name = "Thirteen Loko"
|
|
id = "thirteenloko"
|
|
description = "A potent mixture of caffeine and alcohol."
|
|
reagent_state = LIQUID
|
|
color = "#102000" // rgb: 16, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:drowsyness = max(0,M:drowsyness-7)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-5)
|
|
M.make_jittery(5)
|
|
M:nutrition += 1
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 45 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
dr_gibb
|
|
name = "Dr. Gibb"
|
|
id = "dr_gibb"
|
|
description = "A delicious blend of 42 different flavours"
|
|
reagent_state = LIQUID
|
|
color = "#102000" // rgb: 16, 32, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:drowsyness = max(0,M:drowsyness-6)
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-5) //310 is the normal bodytemp. 310.055
|
|
M:nutrition += 1
|
|
..()
|
|
return
|
|
|
|
space_up
|
|
name = "Space-Up"
|
|
id = "space_up"
|
|
description = "Tastes like a hull breach in your mouth."
|
|
reagent_state = LIQUID
|
|
color = "#202800" // rgb: 32, 40, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-8) //310 is the normal bodytemp. 310.055
|
|
M:nutrition += 1
|
|
..()
|
|
return
|
|
|
|
lemon_lime
|
|
name = "Lemon Lime"
|
|
description = "A tangy substance made of 0.5% natural citrus!"
|
|
id = "lemon_lime"
|
|
reagent_state = LIQUID
|
|
color = "#878F00" // rgb: 135, 40, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-8) //310 is the normal bodytemp. 310.055
|
|
M:nutrition += 1
|
|
..()
|
|
return
|
|
|
|
beer
|
|
name = "Beer"
|
|
id = "beer"
|
|
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.make_dizzy(3)
|
|
M:jitteriness = max(M:jitteriness-3,0)
|
|
M:nutrition += 2
|
|
if(data >= 25)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M:stuttering += 3
|
|
if(data >= 40 && prob(33))
|
|
if (!M:confused) M:confused = 1
|
|
M:confused += 2
|
|
|
|
..()
|
|
return
|
|
|
|
whiskey
|
|
name = "Whiskey"
|
|
id = "whiskey"
|
|
description = "A superb and well-aged single-malt whiskey. Damn."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
specialwhiskey
|
|
name = "Special Blend Whiskey"
|
|
id = "specialwhiskey"
|
|
description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
|
|
gin
|
|
name = "Gin"
|
|
id = "gin"
|
|
description = "It's gin. In space. I say, good sir."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
rum
|
|
name = "Rum"
|
|
id = "rum"
|
|
description = "Yohoho and all that."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
vodka
|
|
name = "Vodka"
|
|
id = "vodka"
|
|
description = "Number one drink AND fueling choice for Russians worldwide."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
holywater
|
|
name = "Holy Water"
|
|
id = "holywater"
|
|
description = "Water blessed by some deity."
|
|
reagent_state = LIQUID
|
|
color = "#E0E8EF" // rgb: 224, 232, 239
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=8
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 8
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+8,8)
|
|
..()
|
|
return
|
|
|
|
reaction_turf(var/turf/simulated/T, var/volume)
|
|
if(!istype(T)) return
|
|
T.Bless()
|
|
|
|
tequilla
|
|
name = "Tequila"
|
|
id = "tequilla"
|
|
description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?"
|
|
reagent_state = LIQUID
|
|
color = "#A8B0B7" // rgb: 168, 176, 183
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
vermouth
|
|
name = "Vermouth"
|
|
id = "vermouth"
|
|
description = "You suddenly feel a craving for a martini..."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
wine
|
|
name = "Wine"
|
|
id = "wine"
|
|
description = "An premium alchoholic beverage made from distilled grape juice."
|
|
reagent_state = LIQUID
|
|
color = "#7E4043" // rgb: 126, 64, 67
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=2
|
|
if(data >= 65 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 145 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
tonic
|
|
name = "Tonic Water"
|
|
id = "tonic"
|
|
description = "It tastes strange but at least the quinine keeps the Space Malaria at bay."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M.dizziness = max(0,M.dizziness-5)
|
|
M:drowsyness = max(0,M:drowsyness-3)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-5)
|
|
..()
|
|
return
|
|
|
|
kahlua
|
|
name = "Kahlua"
|
|
id = "kahlua"
|
|
description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M.dizziness = max(0,M.dizziness-5)
|
|
M:drowsyness = max(0,M:drowsyness-3)
|
|
M:sleeping = 0//Copy-paste from Coffee, derp
|
|
M.make_jittery(5)
|
|
..()
|
|
return
|
|
|
|
|
|
cognac
|
|
name = "Cognac"
|
|
id = "cognac"
|
|
description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 45 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
hooch
|
|
name = "Hooch"
|
|
id = "hooch"
|
|
description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=6
|
|
if(data >= 35 && data <90)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 90 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
ale
|
|
name = "Ale"
|
|
id = "ale"
|
|
description = "A dark alchoholic beverage made by malted barley and yeast."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
sodawater
|
|
name = "Soda Water"
|
|
id = "sodawater"
|
|
description = "A can of club soda. Why not make a scotch and soda?"
|
|
reagent_state = LIQUID
|
|
color = "#619494" // rgb: 97, 148, 148
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M.dizziness = max(0,M.dizziness-5)
|
|
M:drowsyness = max(0,M:drowsyness-3)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-5)
|
|
..()
|
|
return
|
|
|
|
ice
|
|
name = "Ice"
|
|
id = "ice"
|
|
description = "Frozen water, your dentist wouldn't like you chewing this."
|
|
reagent_state = SOLID
|
|
color = "#619494" // rgb: 97, 148, 148
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:bodytemperature -= 5
|
|
..()
|
|
return
|
|
|
|
/////////////////////////////////////////////////////////////////cocktail entities//////////////////////////////////////////////
|
|
|
|
bilk
|
|
name = "Bilk"
|
|
id = "bilk"
|
|
description = "This appears to be beer mixed with milk. Disgusting."
|
|
reagent_state = LIQUID
|
|
color = "#895C4C" // rgb: 137, 92, 76
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(M:bruteloss && prob(10)) M:heal_organ_damage(1,0)
|
|
M:nutrition += 2
|
|
if(!data) data = 1
|
|
data++
|
|
M.make_dizzy(3)
|
|
M:jitteriness = max(M:jitteriness-3,0)
|
|
if(data >= 25)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M:stuttering += 3
|
|
if(data >= 40 && prob(33))
|
|
if (!M:confused) M:confused = 1
|
|
M:confused += 2
|
|
..()
|
|
return
|
|
|
|
atomicbomb
|
|
name = "Atomic Bomb"
|
|
id = "atomicbomb"
|
|
description = "Nuclear proliferation never tasted so good."
|
|
reagent_state = LIQUID
|
|
color = "#666300" // rgb: 102, 99, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M.druggy = max(M.druggy, 50)
|
|
M.confused = max(M:confused+2,0)
|
|
M.make_dizzy(10)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
if(!data) data = 1
|
|
data++
|
|
switch(data)
|
|
if(51 to INFINITY)
|
|
M:sleeping += 1
|
|
..()
|
|
return
|
|
|
|
threemileisland
|
|
name = "THree Mile Island Iced Tea"
|
|
id = "threemileisland"
|
|
description = "Made for a woman, strong enough for a man."
|
|
reagent_state = LIQUID
|
|
color = "#666340" // rgb: 102, 99, 64
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
M.druggy = max(M.druggy, 50)
|
|
if(data >= 35 && data <90)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 90)
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
goldschlager
|
|
name = "Goldschlager"
|
|
id = "goldschlager"
|
|
description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
patron
|
|
name = "Patron"
|
|
id = "patron"
|
|
description = "Tequila with silver in it, a favorite of alcoholic women in the club scene."
|
|
reagent_state = LIQUID
|
|
color = "#585840" // rgb: 88, 88, 64
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
gintonic
|
|
name = "Gin and Tonic"
|
|
id = "gintonic"
|
|
description = "An all time classic, mild cocktail."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <135)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 135 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
cuba_libre
|
|
name = "Cuba Libre"
|
|
id = "cubalibre"
|
|
description = "Rum, mixed with cola. Viva la revolution."
|
|
reagent_state = LIQUID
|
|
color = "#3E1B00" // rgb: 62, 27, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <135)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 135 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
whiskey_cola
|
|
name = "Whiskey Cola"
|
|
id = "whiskeycola"
|
|
description = "Whiskey, mixed with cola. Surprisingly refreshing."
|
|
reagent_state = LIQUID
|
|
color = "#3E1B00" // rgb: 62, 27, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
martini
|
|
name = "Classic Martini"
|
|
id = "martini"
|
|
description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 135 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
vodkamartini
|
|
name = "Vodka Martini"
|
|
id = "vodkamartini"
|
|
description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 135 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
white_russian
|
|
name = "White Russian"
|
|
id = "whiterussian"
|
|
description = "That's just, like, your opinion, man..."
|
|
reagent_state = LIQUID
|
|
color = "#A68340" // rgb: 166, 131, 64
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
screwdrivercocktail
|
|
name = "Screwdriver"
|
|
id = "screwdrivercocktail"
|
|
description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious."
|
|
reagent_state = LIQUID
|
|
color = "#A68310" // rgb: 166, 131, 16
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
booger
|
|
name = "Booger"
|
|
id = "booger"
|
|
description = "Ewww..."
|
|
reagent_state = LIQUID
|
|
color = "#A68310" // rgb: 166, 131, 16
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 4
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+4,0)
|
|
..()
|
|
return
|
|
|
|
bloody_mary
|
|
name = "Bloody Mary"
|
|
id = "bloodymary"
|
|
description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
gargle_blaster
|
|
name = "Pan-Galactic Gargle Blaster"
|
|
id = "gargleblaster"
|
|
description = "Whoah, this stuff looks volatile!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=6
|
|
if(data >= 15 && data <45)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 45 && prob(50) && data <55)
|
|
M.confused = max(M:confused+3,0)
|
|
else if(data >=55)
|
|
M.druggy = max(M.druggy, 55)
|
|
..()
|
|
return
|
|
|
|
brave_bull
|
|
name = "Brave Bull"
|
|
id = "bravebull"
|
|
description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <145)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 145 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
tequilla_sunrise
|
|
name = "Tequilla Sunrise"
|
|
id = "tequillasunrise"
|
|
description = "Tequilla and orange juice. Much like a Screwdriver, only Mexican~"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
toxins_special
|
|
name = "Toxins Special"
|
|
id = "toxinsspecial"
|
|
description = "This thing is FLAMING!. CALL THE DAMN SHUTTLE!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if (M.bodytemperature < 330)
|
|
M.bodytemperature = min(330, M.bodytemperature+15) //310 is the normal bodytemp. 310.055
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
beepsky_smash
|
|
name = "Beepsky Smash"
|
|
id = "beepskysmash"
|
|
description = "Deny drinking this and prepare for THE LAW."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M.stunned = 2
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
doctor_delight
|
|
name = "The Doctor's Delight"
|
|
id = "doctorsdelight"
|
|
description = "A gulp a day keeps the MediBot away. That's probably for the best."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
if(M:oxyloss && prob(50)) M:oxyloss -= 2
|
|
if(M:bruteloss && prob(60)) M:heal_organ_damage(2,0)
|
|
if(M:fireloss && prob(50)) M:heal_organ_damage(0,2)
|
|
if(M:toxloss && prob(50)) M:toxloss -= 2
|
|
if(M.dizziness !=0) M.dizziness = max(0,M.dizziness-15)
|
|
if(M.confused !=0) M.confused = max(0,M.confused - 5)
|
|
..()
|
|
return
|
|
|
|
irish_cream
|
|
name = "Irish Cream"
|
|
id = "irishcream"
|
|
description = "Whiskey-imbued cream, what else would you expect from the Irish."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 45 && data <145)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 145 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
manly_dorf
|
|
name = "The Manly Dorf"
|
|
id = "manlydorf"
|
|
description = "Beer and Ale, brought together in a delicious mix. Intended for true men only."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=5
|
|
if(data >= 35 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
longislandicedtea
|
|
name = "Long Island Iced Tea"
|
|
id = "longislandicedtea"
|
|
description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
moonshine
|
|
name = "Moonshine"
|
|
id = "moonshine"
|
|
description = "You've really hit rock bottom now... your liver packed its bags and left last night."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=5
|
|
if(data >= 30 && data <60)
|
|
if (!M.stuttering) M:stuttering = 1
|
|
M.stuttering += 4
|
|
else if(data >= 60 && prob(40))
|
|
M.confused = max(M:confused+5,0)
|
|
..()
|
|
return
|
|
|
|
b52
|
|
name = "B-52"
|
|
id = "b52"
|
|
description = "Coffee, Irish Cream, and congac. You will get bombed."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 25 && data <90)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 90 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
irishcoffee
|
|
name = "Irish Coffee"
|
|
id = "irishcoffee"
|
|
description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <150)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 150 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
margarita
|
|
name = "Margarita"
|
|
id = "margarita"
|
|
description = "On the rocks with salt on the rim. Arriba~!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <150)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 150 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
black_russian
|
|
name = "Black Russian"
|
|
id = "blackrussian"
|
|
description = "For the lactose-intolerant. Still as classy as a White Russian."
|
|
reagent_state = LIQUID
|
|
color = "#360000" // rgb: 54, 0, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
manhattan
|
|
name = "Manhattan"
|
|
id = "manhattan"
|
|
description = "The Detective's undercover drink of choice. He never could stomach gin..."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
manhattan_proj
|
|
name = "Manhattan Project"
|
|
id = "manhattan_proj"
|
|
description = "A scienitst drink of choice, for thinking how to blow up the station."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
M.druggy = max(M.druggy, 30)
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
whiskeysoda
|
|
name = "Whiskey Soda"
|
|
id = "whiskeysoda"
|
|
description = "Ultimate refreshment."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
antifreeze
|
|
name = "Anti-freeze"
|
|
id = "antifreeze"
|
|
description = "Ultimate refreshment."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+5,0)
|
|
..()
|
|
return
|
|
|
|
barefoot
|
|
name = "Barefoot"
|
|
id = "barefoot"
|
|
description = "Barefoot and pregnant"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+5,0)
|
|
..()
|
|
return
|
|
|
|
snowwhite
|
|
name = "Snow White"
|
|
id = "snowwhite"
|
|
description = "A cold refreshment"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 4
|
|
else if(data >= 115 && prob(30))
|
|
M.confused = max(M:confused+4,0)
|
|
..()
|
|
return
|
|
|
|
demonsblood
|
|
name = "Demons Blood"
|
|
id = "demonsblood"
|
|
description = "AHHHH!!!!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=10
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 10
|
|
else if(data >= 115 && prob(90))
|
|
M.confused = max(M:confused+10,10)
|
|
..()
|
|
return
|
|
|
|
vodkatonic
|
|
name = "Vodka and Tonic"
|
|
id = "vodkatonic"
|
|
description = "For when a gin and tonic isn't russian enough."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
ginfizz
|
|
name = "Gin Fizz"
|
|
id = "ginfizz"
|
|
description = "Refreshingly lemony, deliciously dry."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
bahama_mama
|
|
name = "Bahama mama"
|
|
id = "bahama_mama"
|
|
description = "Tropic cocktail."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=3
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
if (M.bodytemperature > 310)
|
|
M.bodytemperature = max(310, M.bodytemperature-5)
|
|
..()
|
|
return
|
|
|
|
singulo
|
|
name = "Singulo"
|
|
id = "singulo"
|
|
description = "A blue-space beverage!"
|
|
reagent_state = LIQUID
|
|
color = "#2E6671" // rgb: 46, 102, 113
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=15
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 15
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+15,15)
|
|
..()
|
|
return
|
|
|
|
////////////////////////// REMOVED COCKTAIL REAGENTS BELOW:: RE-ENABLE THEM IF THEY EVER GET SPRITES THAT DON'T LOOK FUCKING STUPID --Agouri ///////////////////////////
|
|
|
|
/* sbiten
|
|
name = "Sbiten"
|
|
id = "sbiten"
|
|
description = "A spicy Vodka! Might be a little hot for the little guys!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if (M.bodytemperature < 360)
|
|
M.bodytemperature = min(360, M.bodytemperature+50) //310 is the normal bodytemp. 310.055
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=6
|
|
if(data >= 45 && data <125)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 6
|
|
else if(data >= 125 && prob(33))
|
|
M.confused = max(M:confused+5,5)
|
|
..()
|
|
return
|
|
|
|
devilskiss
|
|
name = "Devils Kiss"
|
|
id = "devilskiss"
|
|
description = "Creepy time!"
|
|
reagent_state = LIQUID
|
|
color = "#A68310" // rgb: 166, 131, 16
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 4
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+4,0)
|
|
..()
|
|
return
|
|
|
|
red_mead
|
|
name = "Red Mead"
|
|
id = "red_mead"
|
|
description = "The true Viking drink! Even though it has a strange red color."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 4
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+4,4)
|
|
..()
|
|
return
|
|
|
|
mead
|
|
name = "Mead"
|
|
id = "mead"
|
|
description = "A Vikings drink, though a cheap one."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.make_dizzy(3)
|
|
M:jitteriness = max(M:jitteriness-3,0)
|
|
M:nutrition += 2
|
|
if(data >= 25)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M:stuttering += 3
|
|
if(data >= 40 && prob(33))
|
|
if (!M:confused) M:confused = 1
|
|
M:confused += 2
|
|
|
|
..()
|
|
return
|
|
|
|
iced_beer
|
|
name = "Iced Beer"
|
|
id = "iced_beer"
|
|
description = "A beer which is so cold the air around it freezes."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if (M.bodytemperature < 270)
|
|
M.bodytemperature = min(270, M.bodytemperature-40) //310 is the normal bodytemp. 310.055
|
|
if(!data) data = 1
|
|
data++
|
|
M.make_dizzy(3)
|
|
M:jitteriness = max(M:jitteriness-3,0)
|
|
M:nutrition += 2
|
|
if(data >= 25)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M:stuttering += 3
|
|
if(data >= 40 && prob(33))
|
|
if (!M:confused) M:confused = 1
|
|
M:confused += 2
|
|
|
|
..()
|
|
return
|
|
|
|
grog
|
|
name = "Grog"
|
|
id = "grog"
|
|
description = "Watered down rum, Nanotrasen approves!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=2
|
|
if(data >= 90 && data <250)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 2
|
|
else if(data >= 250 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
aloe
|
|
name = "Aloe"
|
|
id = "aloe"
|
|
description = "So very, very, very good."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=2
|
|
if(data >= 90 && data <250)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 2
|
|
else if(data >= 250 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
andalusia
|
|
name = "Andalusia"
|
|
id = "andalusia"
|
|
description = "A nice, strange named drink."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=8
|
|
if(data >= 90 && data <250)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 1
|
|
else if(data >= 250 && prob(33))
|
|
M.confused = max(M:confused+2,0)
|
|
..()
|
|
return
|
|
|
|
alliescocktail
|
|
name = "Allies Cocktail"
|
|
id = "alliescocktail"
|
|
description = "A drink made from your allies."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 90 && data <250)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 7
|
|
else if(data >= 250 && prob(60))
|
|
M.confused = max(M:confused+8,0)
|
|
..()
|
|
return
|
|
|
|
soy_latte
|
|
name = "Soy Latte"
|
|
id = "soy_latte"
|
|
description = "A nice and tasty beverage while you are reading your hippie books."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
..()
|
|
M.dizziness = max(0,M.dizziness-5)
|
|
M:drowsyness = max(0,M:drowsyness-3)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature+5)
|
|
M.make_jittery(5)
|
|
if(M:bruteloss && prob(20)) M:heal_organ_damage(1,0)
|
|
M:nutrition++
|
|
..()
|
|
return
|
|
|
|
cafe_latte
|
|
name = "Cafe Latte"
|
|
id = "cafe_latte"
|
|
description = "A nice, strong and tasty beverage while you are reading."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
..()
|
|
M.dizziness = max(0,M.dizziness-5)
|
|
M:drowsyness = max(0,M:drowsyness-3)
|
|
M:sleeping = 0
|
|
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
|
|
M.bodytemperature = min(310, M.bodytemperature+5)
|
|
M.make_jittery(5)
|
|
if(M:bruteloss && prob(20)) M:heal_organ_damage(1,0)
|
|
M:nutrition++
|
|
..()
|
|
return
|
|
|
|
acid_spit
|
|
name = "Acid Spit"
|
|
id = "acidspit"
|
|
description = "A drink by Nanotrasen. Made from live aliens."
|
|
reagent_state = LIQUID
|
|
color = "#365000" // rgb: 54, 80, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=10
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 10
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+10,0)
|
|
..()
|
|
return
|
|
|
|
amasec
|
|
name = "Amasec"
|
|
id = "amasec"
|
|
description = "Always before COMBAT!!!"
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M.stunned = 4
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=4
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 4
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+5,0)
|
|
..()
|
|
return
|
|
|
|
neurotoxin
|
|
name = "Neurotoxin"
|
|
id = "neurotoxin"
|
|
description = "A strong neurotoxin that puts the subject into a death-like state."
|
|
reagent_state = LIQUID
|
|
color = "#2E2E61" // rgb: 46, 46, 97
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M:oxyloss += 0.5
|
|
M:toxloss += 0.5
|
|
M:weakened = max(M:weakened, 15)
|
|
M:silent = max(M:silent, 15)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=6
|
|
if(data >= 15 && data <45)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 3
|
|
else if(data >= 45 && prob(50) && data <55)
|
|
M.confused = max(M:confused+3,0)
|
|
else if(data >=55)
|
|
M.druggy = max(M.druggy, 55)
|
|
..()
|
|
|
|
return
|
|
|
|
|
|
hippies_delight
|
|
name = "Hippies Delight"
|
|
id = "hippiesdelight"
|
|
description = "A drink enjoyed by people during the 1960's."
|
|
reagent_state = LIQUID
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!M) M = holder.my_atom
|
|
M.druggy = max(M.druggy, 50)
|
|
if(!data) data = 1
|
|
switch(data)
|
|
if(1 to 5)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M.make_dizzy(10)
|
|
if(prob(10)) M:emote(pick("twitch","giggle"))
|
|
if(5 to 10)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M.make_jittery(20)
|
|
M.make_dizzy(20)
|
|
M.druggy = max(M.druggy, 45)
|
|
if(prob(20)) M:emote(pick("twitch","giggle"))
|
|
if (10 to INFINITY)
|
|
if (!M:stuttering) M:stuttering = 1
|
|
M.make_jittery(40)
|
|
M.make_dizzy(40)
|
|
M.druggy = max(M.druggy, 60)
|
|
if(prob(30)) M:emote(pick("twitch","giggle"))
|
|
holder.remove_reagent(src.id, 0.2)
|
|
data++
|
|
..()
|
|
return
|
|
|
|
bananahonk
|
|
name = "Banana Honk"
|
|
id = "bananahonk"
|
|
description = "A drink from Clown Heaven."
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(!data) data = 1
|
|
data++
|
|
if(istype(M, /mob/living/carbon/human) && M.job in list("Clown"))
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+5,0)
|
|
..()
|
|
return
|
|
if(istype(M, /mob/living/carbon/monkey))
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+5,0)
|
|
..()
|
|
return
|
|
|
|
silencer
|
|
name = "Silencer"
|
|
id = "silencer"
|
|
description = "A drink from Mime Heaven."
|
|
nutriment_factor = 1 * REAGENTS_METABOLISM
|
|
color = "#664300" // rgb: 102, 67, 0
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
M:nutrition += nutriment_factor
|
|
if(!data) data = 1
|
|
data++
|
|
if(istype(M, /mob/living/carbon/human) && M.job in list("Mime"))
|
|
if(!M) M = holder.my_atom
|
|
M:heal_organ_damage(1,1)
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <165)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 165 && prob(33))
|
|
M.confused = max(M:confused+5,0)
|
|
..()
|
|
return
|
|
|
|
|
|
|
|
changelingsting
|
|
name = "Changeling Sting"
|
|
id = "changelingsting"
|
|
description = "A stingy drink."
|
|
reagent_state = LIQUID
|
|
color = "#2E6671" // rgb: 46, 102, 113
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+15,15)
|
|
..()
|
|
return
|
|
|
|
irishcarbomb
|
|
name = "Irish Car Bomb"
|
|
id = "irishcarbomb"
|
|
description = "An irish car bomb"
|
|
reagent_state = LIQUID
|
|
color = "#2E6671" // rgb: 46, 102, 113
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=5
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 5
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+15,15)
|
|
..()
|
|
return
|
|
|
|
syndicatebomb
|
|
name = "Syndicate Bomb"
|
|
id = "syndicatebomb"
|
|
description = "A Syndicate bomb"
|
|
reagent_state = LIQUID
|
|
color = "#2E6671" // rgb: 46, 102, 113
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=10
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 10
|
|
else if(data >= 115 && prob(33))
|
|
M.confused = max(M:confused+15,15)
|
|
..()
|
|
return
|
|
|
|
erikasurprise
|
|
name = "Erika Surprise"
|
|
id = "erikasurprise"
|
|
description = "A surprise of Erika"
|
|
reagent_state = LIQUID
|
|
color = "#2E6671" // rgb: 46, 102, 113
|
|
|
|
on_mob_life(var/mob/living/M as mob)
|
|
if(!data) data = 1
|
|
data++
|
|
M.dizziness +=30
|
|
if(data >= 55 && data <115)
|
|
if (!M.stuttering) M.stuttering = 1
|
|
M.stuttering += 30
|
|
else if(data >= 115 && prob(60))
|
|
M.confused = max(M:confused+15,15)
|
|
..()
|
|
return*/
|
|
|
|
|