mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-17 18:14:25 +01:00
Merge pull request #1673 from Yoshax/shotglasses
Adds shot glasses + code qol
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
name = "blood packs bags"
|
||||
desc = "This box contains blood packs."
|
||||
icon_state = "sterile"
|
||||
New()
|
||||
|
||||
/obj/item/weapon/storage/box/bloodpacks/New()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/blood/empty(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/empty(src)
|
||||
@@ -21,22 +22,22 @@
|
||||
|
||||
var/blood_type = null
|
||||
|
||||
New()
|
||||
..()
|
||||
if(blood_type != null)
|
||||
name = "BloodPack [blood_type]"
|
||||
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
|
||||
update_icon()
|
||||
|
||||
on_reagent_change()
|
||||
/obj/item/weapon/reagent_containers/blood/New()
|
||||
..()
|
||||
if(blood_type != null)
|
||||
name = "BloodPack [blood_type]"
|
||||
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/on_reagent_change()
|
||||
update_icon()
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) icon_state = "empty"
|
||||
if(10 to 50) icon_state = "half"
|
||||
if(51 to INFINITY) icon_state = "full"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/update_icon()
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) icon_state = "empty"
|
||||
if(10 to 50) icon_state = "half"
|
||||
if(51 to INFINITY) icon_state = "full"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/APlus
|
||||
blood_type = "A+"
|
||||
|
||||
@@ -12,88 +12,88 @@
|
||||
slot_flags = SLOT_EARS
|
||||
volume = 5
|
||||
|
||||
afterattack(var/obj/target, var/mob/user, var/flag)
|
||||
if(!target.reagents || !flag) return
|
||||
/obj/item/weapon/reagent_containers/dropper/afterattack(var/obj/target, var/mob/user, var/flag)
|
||||
if(!target.reagents || !flag) return
|
||||
|
||||
if(reagents.total_volume)
|
||||
if(reagents.total_volume)
|
||||
|
||||
if(!target.reagents.get_free_space())
|
||||
user << "<span class='notice'>[target] is full.</span>"
|
||||
if(!target.reagents.get_free_space())
|
||||
user << "<span class='notice'>[target] is full.</span>"
|
||||
return
|
||||
|
||||
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/smokable/cigarette)) //You can inject humans and food but you cant remove the shit.
|
||||
user << "<span class='notice'>You cannot directly fill this object.</span>"
|
||||
return
|
||||
|
||||
var/trans = 0
|
||||
|
||||
if(ismob(target))
|
||||
|
||||
var/time = 20 //2/3rds the time of a syringe
|
||||
user.visible_message("<span class='warning'>[user] is trying to squirt something into [target]'s eyes!</span>")
|
||||
|
||||
if(!do_mob(user, target, time))
|
||||
return
|
||||
|
||||
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/smokable/cigarette)) //You can inject humans and food but you cant remove the shit.
|
||||
user << "<span class='notice'>You cannot directly fill this object.</span>"
|
||||
return
|
||||
if(istype(target, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/victim = target
|
||||
|
||||
var/trans = 0
|
||||
var/obj/item/safe_thing = null
|
||||
if(victim.wear_mask)
|
||||
if (victim.wear_mask.body_parts_covered & EYES)
|
||||
safe_thing = victim.wear_mask
|
||||
if(victim.head)
|
||||
if (victim.head.body_parts_covered & EYES)
|
||||
safe_thing = victim.head
|
||||
if(victim.glasses)
|
||||
if (!safe_thing)
|
||||
safe_thing = victim.glasses
|
||||
|
||||
if(ismob(target))
|
||||
|
||||
var/time = 20 //2/3rds the time of a syringe
|
||||
user.visible_message("<span class='warning'>[user] is trying to squirt something into [target]'s eyes!</span>")
|
||||
|
||||
if(!do_mob(user, target, time))
|
||||
if(safe_thing)
|
||||
trans = reagents.trans_to_obj(safe_thing, amount_per_transfer_from_this)
|
||||
user.visible_message("<span class='warning'>[user] tries to squirt something into [target]'s eyes, but fails!</span>", "<span class='notice'>You transfer [trans] units of the solution.</span>")
|
||||
return
|
||||
|
||||
if(istype(target, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/victim = target
|
||||
var/mob/living/M = target
|
||||
var/contained = reagentlist()
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been squirted with [name] by [user.name] ([user.ckey]). Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [name] to squirt [M.name] ([M.key]). Reagents: [contained]</font>")
|
||||
msg_admin_attack("[user.name] ([user.ckey]) squirted [M.name] ([M.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
|
||||
var/obj/item/safe_thing = null
|
||||
if(victim.wear_mask)
|
||||
if (victim.wear_mask.body_parts_covered & EYES)
|
||||
safe_thing = victim.wear_mask
|
||||
if(victim.head)
|
||||
if (victim.head.body_parts_covered & EYES)
|
||||
safe_thing = victim.head
|
||||
if(victim.glasses)
|
||||
if (!safe_thing)
|
||||
safe_thing = victim.glasses
|
||||
|
||||
if(safe_thing)
|
||||
trans = reagents.trans_to_obj(safe_thing, amount_per_transfer_from_this)
|
||||
user.visible_message("<span class='warning'>[user] tries to squirt something into [target]'s eyes, but fails!</span>", "<span class='notice'>You transfer [trans] units of the solution.</span>")
|
||||
return
|
||||
|
||||
var/mob/living/M = target
|
||||
var/contained = reagentlist()
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been squirted with [name] by [user.name] ([user.ckey]). Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [name] to squirt [M.name] ([M.key]). Reagents: [contained]</font>")
|
||||
msg_admin_attack("[user.name] ([user.ckey]) squirted [M.name] ([M.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
|
||||
trans = reagents.trans_to_mob(target, reagents.total_volume, CHEM_INGEST)
|
||||
user.visible_message("<span class='warning'>[user] squirts something into [target]'s eyes!</span>", "<span class='notice'>You transfer [trans] units of the solution.</span>")
|
||||
trans = reagents.trans_to_mob(target, reagents.total_volume, CHEM_INGEST)
|
||||
user.visible_message("<span class='warning'>[user] squirts something into [target]'s eyes!</span>", "<span class='notice'>You transfer [trans] units of the solution.</span>")
|
||||
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
else
|
||||
trans = reagents.trans_to(target, amount_per_transfer_from_this) //sprinkling reagents on generic non-mobs
|
||||
user << "<span class='notice'>You transfer [trans] units of the solution.</span>"
|
||||
|
||||
else // Taking from something
|
||||
|
||||
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers))
|
||||
user << "<span class='notice'>You cannot directly remove reagents from [target].</span>"
|
||||
return
|
||||
|
||||
if(!target.reagents || !target.reagents.total_volume)
|
||||
user << "<span class='notice'>[target] is empty.</span>"
|
||||
return
|
||||
|
||||
var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this)
|
||||
|
||||
user << "<span class='notice'>You fill the dropper with [trans] units of the solution.</span>"
|
||||
|
||||
return
|
||||
|
||||
on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
update_icon()
|
||||
if(reagents.total_volume)
|
||||
icon_state = "dropper1"
|
||||
else
|
||||
icon_state = "dropper0"
|
||||
trans = reagents.trans_to(target, amount_per_transfer_from_this) //sprinkling reagents on generic non-mobs
|
||||
user << "<span class='notice'>You transfer [trans] units of the solution.</span>"
|
||||
|
||||
else // Taking from something
|
||||
|
||||
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers))
|
||||
user << "<span class='notice'>You cannot directly remove reagents from [target].</span>"
|
||||
return
|
||||
|
||||
if(!target.reagents || !target.reagents.total_volume)
|
||||
user << "<span class='notice'>[target] is empty.</span>"
|
||||
return
|
||||
|
||||
var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this)
|
||||
|
||||
user << "<span class='notice'>You fill the dropper with [trans] units of the solution.</span>"
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/dropper/on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/dropper/update_icon()
|
||||
if(reagents.total_volume)
|
||||
icon_state = "dropper1"
|
||||
else
|
||||
icon_state = "dropper0"
|
||||
|
||||
/obj/item/weapon/reagent_containers/dropper/industrial
|
||||
name = "Industrial Dropper"
|
||||
|
||||
@@ -10,43 +10,48 @@
|
||||
desc = "Cola. in space."
|
||||
icon_state = "cola"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cola", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/cola/New()
|
||||
..()
|
||||
reagents.add_reagent("cola", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle
|
||||
name = "bottled water"
|
||||
desc = "Introduced to the vending machines by Skrellian request, this water comes straight from the Martian poles."
|
||||
icon_state = "waterbottle"
|
||||
center_of_mass = list("x"=15, "y"=8)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("water", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle/New()
|
||||
..()
|
||||
reagents.add_reagent("water", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind
|
||||
name = "\improper Space Mountain Wind"
|
||||
desc = "Blows right through you like a space wind."
|
||||
icon_state = "space_mountain_wind"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("spacemountainwind", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind/New()
|
||||
..()
|
||||
reagents.add_reagent("spacemountainwind", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko
|
||||
name = "\improper Thirteen Loko"
|
||||
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly."
|
||||
icon_state = "thirteen_loko"
|
||||
center_of_mass = list("x"=16, "y"=8)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("thirteenloko", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko/New()
|
||||
..()
|
||||
reagents.add_reagent("thirteenloko", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb
|
||||
name = "\improper Dr. Gibb"
|
||||
desc = "A delicious mixture of 42 different flavors."
|
||||
icon_state = "dr_gibb"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb/New()
|
||||
..()
|
||||
reagents.add_reagent("dr_gibb", 30)
|
||||
|
||||
@@ -55,60 +60,67 @@
|
||||
desc = "The taste of a star in liquid form. And, a bit of tuna...?"
|
||||
icon_state = "starkist"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("brownstar", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist/New()
|
||||
..()
|
||||
reagents.add_reagent("brownstar", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up
|
||||
name = "\improper Space-Up"
|
||||
desc = "Tastes like a hull breach in your mouth."
|
||||
icon_state = "space-up"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("space_up", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up/New()
|
||||
..()
|
||||
reagents.add_reagent("space_up", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime
|
||||
name = "\improper Lemon-Lime"
|
||||
desc = "You wanted ORANGE. It gave you Lemon Lime."
|
||||
icon_state = "lemon-lime"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("lemon_lime", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime/New()
|
||||
..()
|
||||
reagents.add_reagent("lemon_lime", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea
|
||||
name = "\improper Vrisk Serket Iced Tea"
|
||||
desc = "That sweet, refreshing southern earthy flavor. That's where it's from, right? South Earth?"
|
||||
icon_state = "ice_tea_can"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("icetea", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea/New()
|
||||
..()
|
||||
reagents.add_reagent("icetea", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice
|
||||
name = "\improper Grapel Juice"
|
||||
desc = "500 pages of rules of how to appropriately enter into a combat with this juice!"
|
||||
icon_state = "purple_can"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("grapejuice", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice/New()
|
||||
..()
|
||||
reagents.add_reagent("grapejuice", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic
|
||||
name = "\improper T-Borg's Tonic Water"
|
||||
desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
|
||||
icon_state = "tonic"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("tonic", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic/New()
|
||||
..()
|
||||
reagents.add_reagent("tonic", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater
|
||||
name = "soda water"
|
||||
desc = "A can of soda water. Still water's more refreshing cousin."
|
||||
icon_state = "sodawater"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sodawater", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater/New()
|
||||
..()
|
||||
reagents.add_reagent("sodawater", 50)
|
||||
|
||||
@@ -15,147 +15,152 @@
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
volume = 50
|
||||
|
||||
attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
/obj/item/weapon/reagent_containers/food/condiment/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/attack_self(var/mob/user as mob)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/attack(var/mob/M as mob, var/mob/user as mob, var/def_zone)
|
||||
if(standard_feed_mob(user, M))
|
||||
return
|
||||
|
||||
attack_self(var/mob/user as mob)
|
||||
/obj/item/weapon/reagent_containers/food/condiment/afterattack(var/obj/target, var/mob/user, var/flag)
|
||||
if(standard_dispenser_refill(user, target))
|
||||
return
|
||||
if(standard_pour_into(user, target))
|
||||
return
|
||||
|
||||
attack(var/mob/M as mob, var/mob/user as mob, var/def_zone)
|
||||
if(standard_feed_mob(user, M))
|
||||
if(istype(target, /obj/item/weapon/reagent_containers/food/snacks)) // These are not opencontainers but we can transfer to them
|
||||
if(!reagents || !reagents.total_volume)
|
||||
user << "<span class='notice'>There is no condiment left in \the [src].</span>"
|
||||
return
|
||||
|
||||
afterattack(var/obj/target, var/mob/user, var/flag)
|
||||
if(standard_dispenser_refill(user, target))
|
||||
return
|
||||
if(standard_pour_into(user, target))
|
||||
if(!target.reagents.get_free_space())
|
||||
user << "<span class='notice'>You can't add more condiment to \the [target].</span>"
|
||||
return
|
||||
|
||||
if(istype(target, /obj/item/weapon/reagent_containers/food/snacks)) // These are not opencontainers but we can transfer to them
|
||||
if(!reagents || !reagents.total_volume)
|
||||
user << "<span class='notice'>There is no condiment left in \the [src].</span>"
|
||||
return
|
||||
var/trans = reagents.trans_to_obj(target, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You add [trans] units of the condiment to \the [target].</span>"
|
||||
else
|
||||
..()
|
||||
|
||||
if(!target.reagents.get_free_space())
|
||||
user << "<span class='notice'>You can't add more condiment to \the [target].</span>"
|
||||
return
|
||||
/obj/item/weapon/reagent_containers/food/condiment/feed_sound(var/mob/user)
|
||||
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
|
||||
|
||||
var/trans = reagents.trans_to_obj(target, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You add [trans] units of the condiment to \the [target].</span>"
|
||||
else
|
||||
..()
|
||||
/obj/item/weapon/reagent_containers/food/condiment/self_feed_message(var/mob/user)
|
||||
user << "<span class='notice'>You swallow some of contents of \the [src].</span>"
|
||||
|
||||
feed_sound(var/mob/user)
|
||||
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
|
||||
|
||||
self_feed_message(var/mob/user)
|
||||
user << "<span class='notice'>You swallow some of contents of \the [src].</span>"
|
||||
|
||||
on_reagent_change()
|
||||
if(reagents.reagent_list.len > 0)
|
||||
switch(reagents.get_master_reagent_id())
|
||||
if("ketchup")
|
||||
name = "Ketchup"
|
||||
desc = "You feel more American already."
|
||||
icon_state = "ketchup"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("capsaicin")
|
||||
name = "Hotsauce"
|
||||
desc = "You can almost TASTE the stomach ulcers now!"
|
||||
icon_state = "hotsauce"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("enzyme")
|
||||
name = "Universal Enzyme"
|
||||
desc = "Used in cooking various dishes."
|
||||
icon_state = "enzyme"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("soysauce")
|
||||
name = "Soy Sauce"
|
||||
desc = "A salty soy-based flavoring."
|
||||
icon_state = "soysauce"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("frostoil")
|
||||
name = "Coldsauce"
|
||||
desc = "Leaves the tongue numb in its passage."
|
||||
icon_state = "coldsauce"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("sodiumchloride")
|
||||
name = "Salt Shaker"
|
||||
desc = "Salt. From space oceans, presumably."
|
||||
icon_state = "saltshaker"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
if("blackpepper")
|
||||
name = "Pepper Mill"
|
||||
desc = "Often used to flavor food or make people sneeze."
|
||||
icon_state = "peppermillsmall"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
if("cornoil")
|
||||
name = "Corn Oil"
|
||||
desc = "A delicious oil used in cooking. Made from corn."
|
||||
icon_state = "oliveoil"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("sugar")
|
||||
name = "Sugar"
|
||||
desc = "Tastey space sugar!"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change()
|
||||
if(reagents.reagent_list.len > 0)
|
||||
switch(reagents.get_master_reagent_id())
|
||||
if("ketchup")
|
||||
name = "Ketchup"
|
||||
desc = "You feel more American already."
|
||||
icon_state = "ketchup"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("capsaicin")
|
||||
name = "Hotsauce"
|
||||
desc = "You can almost TASTE the stomach ulcers now!"
|
||||
icon_state = "hotsauce"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("enzyme")
|
||||
name = "Universal Enzyme"
|
||||
desc = "Used in cooking various dishes."
|
||||
icon_state = "enzyme"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("soysauce")
|
||||
name = "Soy Sauce"
|
||||
desc = "A salty soy-based flavoring."
|
||||
icon_state = "soysauce"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("frostoil")
|
||||
name = "Coldsauce"
|
||||
desc = "Leaves the tongue numb in its passage."
|
||||
icon_state = "coldsauce"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("sodiumchloride")
|
||||
name = "Salt Shaker"
|
||||
desc = "Salt. From space oceans, presumably."
|
||||
icon_state = "saltshaker"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
if("blackpepper")
|
||||
name = "Pepper Mill"
|
||||
desc = "Often used to flavor food or make people sneeze."
|
||||
icon_state = "peppermillsmall"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
if("cornoil")
|
||||
name = "Corn Oil"
|
||||
desc = "A delicious oil used in cooking. Made from corn."
|
||||
icon_state = "oliveoil"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
if("sugar")
|
||||
name = "Sugar"
|
||||
desc = "Tastey space sugar!"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
else
|
||||
name = "Misc Condiment Bottle"
|
||||
if (reagents.reagent_list.len==1)
|
||||
desc = "Looks like it is [reagents.get_master_reagent_name()], but you are not sure."
|
||||
else
|
||||
name = "Misc Condiment Bottle"
|
||||
if (reagents.reagent_list.len==1)
|
||||
desc = "Looks like it is [reagents.get_master_reagent_name()], but you are not sure."
|
||||
else
|
||||
desc = "A mixture of various condiments. [reagents.get_master_reagent_name()] is one of them."
|
||||
icon_state = "mixedcondiments"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
else
|
||||
icon_state = "emptycondiment"
|
||||
name = "Condiment Bottle"
|
||||
desc = "An empty condiment bottle."
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
return
|
||||
desc = "A mixture of various condiments. [reagents.get_master_reagent_name()] is one of them."
|
||||
icon_state = "mixedcondiments"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
else
|
||||
icon_state = "emptycondiment"
|
||||
name = "Condiment Bottle"
|
||||
desc = "An empty condiment bottle."
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/enzyme
|
||||
name = "Universal Enzyme"
|
||||
desc = "Used in cooking various dishes."
|
||||
icon_state = "enzyme"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("enzyme", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/sugar
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar", 50)
|
||||
/obj/item/weapon/reagent_containers/food/condiment/enzyme/New()
|
||||
..()
|
||||
reagents.add_reagent("enzyme", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/sugar/New()
|
||||
..()
|
||||
reagents.add_reagent("sugar", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small
|
||||
possible_transfer_amounts = list(1,20)
|
||||
amount_per_transfer_from_this = 1
|
||||
volume = 20
|
||||
center_of_mass = list()
|
||||
on_reagent_change() return
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small/on_reagent_change()
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker //Seperate from above since it's a small shaker rather then
|
||||
name = "salt shaker" // a large one.
|
||||
desc = "Salt. From space oceans, presumably."
|
||||
icon_state = "saltshakersmall"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sodiumchloride", 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker/New()
|
||||
..()
|
||||
reagents.add_reagent("sodiumchloride", 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small/peppermill
|
||||
name = "pepper mill"
|
||||
desc = "Often used to flavor food or make people sneeze."
|
||||
icon_state = "peppermillsmall"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("blackpepper", 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small/peppermill/New()
|
||||
..()
|
||||
reagents.add_reagent("blackpepper", 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small/sugar
|
||||
name = "sugar"
|
||||
desc = "Sweetness in a bottle"
|
||||
icon_state = "sugarsmall"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar", 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/small/sugar/New()
|
||||
..()
|
||||
reagents.add_reagent("sugar", 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/flour
|
||||
name = "flour sack"
|
||||
@@ -163,9 +168,12 @@
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon_state = "flour"
|
||||
item_state = "flour"
|
||||
on_reagent_change() return
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("flour", 30)
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/flour/on_reagent_change()
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/flour/New()
|
||||
..()
|
||||
reagents.add_reagent("flour", 30)
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
@@ -10,70 +10,70 @@
|
||||
amount_per_transfer_from_this = 5
|
||||
volume = 50
|
||||
|
||||
on_reagent_change()
|
||||
/obj/item/weapon/reagent_containers/food/drinks/on_reagent_change()
|
||||
return
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
if(!is_open_container())
|
||||
open(user)
|
||||
/obj/item/weapon/reagent_containers/food/drinks/attack_self(mob/user as mob)
|
||||
if(!is_open_container())
|
||||
open(user)
|
||||
|
||||
proc/open(mob/user)
|
||||
playsound(loc,'sound/effects/canopen.ogg', rand(10,50), 1)
|
||||
user << "<span class='notice'>You open [src] with an audible pop!</span>"
|
||||
flags |= OPENCONTAINER
|
||||
/obj/item/weapon/reagent_containers/food/drinks/proc/open(mob/user)
|
||||
playsound(loc,'sound/effects/canopen.ogg', rand(10,50), 1)
|
||||
user << "<span class='notice'>You open [src] with an audible pop!</span>"
|
||||
flags |= OPENCONTAINER
|
||||
|
||||
attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(standard_feed_mob(user, M))
|
||||
return
|
||||
|
||||
return 0
|
||||
/obj/item/weapon/reagent_containers/food/drinks/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(standard_feed_mob(user, M))
|
||||
return
|
||||
|
||||
afterattack(obj/target, mob/user, proximity)
|
||||
if(!proximity) return
|
||||
return 0
|
||||
|
||||
if(standard_dispenser_refill(user, target))
|
||||
return
|
||||
if(standard_pour_into(user, target))
|
||||
return
|
||||
return ..()
|
||||
/obj/item/weapon/reagent_containers/food/drinks/afterattack(obj/target, mob/user, proximity)
|
||||
if(!proximity) return
|
||||
|
||||
standard_feed_mob(var/mob/user, var/mob/target)
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>You need to open [src]!</span>"
|
||||
return 1
|
||||
return ..()
|
||||
if(standard_dispenser_refill(user, target))
|
||||
return
|
||||
if(standard_pour_into(user, target))
|
||||
return
|
||||
return ..()
|
||||
|
||||
standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target)
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>You need to open [src]!</span>"
|
||||
return 1
|
||||
return ..()
|
||||
/obj/item/weapon/reagent_containers/food/drinks/standard_feed_mob(var/mob/user, var/mob/target)
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>You need to open [src]!</span>"
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
standard_pour_into(var/mob/user, var/atom/target)
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>You need to open [src]!</span>"
|
||||
return 1
|
||||
return ..()
|
||||
/obj/item/weapon/reagent_containers/food/drinks/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target)
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>You need to open [src]!</span>"
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
self_feed_message(var/mob/user)
|
||||
user << "<span class='notice'>You swallow a gulp from \the [src].</span>"
|
||||
/obj/item/weapon/reagent_containers/food/drinks/standard_pour_into(var/mob/user, var/atom/target)
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>You need to open [src]!</span>"
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
feed_sound(var/mob/user)
|
||||
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
|
||||
/obj/item/weapon/reagent_containers/food/drinks/self_feed_message(var/mob/user)
|
||||
user << "<span class='notice'>You swallow a gulp from \the [src].</span>"
|
||||
|
||||
examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
if(!reagents || reagents.total_volume == 0)
|
||||
user << "<span class='notice'>\The [src] is empty!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.25)
|
||||
user << "<span class='notice'>\The [src] is almost empty!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.66)
|
||||
user << "<span class='notice'>\The [src] is half full!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.90)
|
||||
user << "<span class='notice'>\The [src] is almost full!</span>"
|
||||
else
|
||||
user << "<span class='notice'>\The [src] is full!</span>"
|
||||
/obj/item/weapon/reagent_containers/food/drinks/feed_sound(var/mob/user)
|
||||
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
if(!reagents || reagents.total_volume == 0)
|
||||
user << "<span class='notice'>\The [src] is empty!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.25)
|
||||
user << "<span class='notice'>\The [src] is almost empty!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.66)
|
||||
user << "<span class='notice'>\The [src] is half full!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.90)
|
||||
user << "<span class='notice'>\The [src] is almost full!</span>"
|
||||
else
|
||||
user << "<span class='notice'>\The [src] is full!</span>"
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -108,9 +108,10 @@
|
||||
icon_state = "milk"
|
||||
item_state = "carton"
|
||||
center_of_mass = list("x"=16, "y"=9)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("milk", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/milk/New()
|
||||
..()
|
||||
reagents.add_reagent("milk", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/soymilk
|
||||
name = "SoyMilk"
|
||||
@@ -118,18 +119,18 @@
|
||||
icon_state = "soymilk"
|
||||
item_state = "carton"
|
||||
center_of_mass = list("x"=16, "y"=9)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("soymilk", 50)
|
||||
/obj/item/weapon/reagent_containers/food/drinks/soymilk/New()
|
||||
..()
|
||||
reagents.add_reagent("soymilk", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/coffee
|
||||
name = "Robust Coffee"
|
||||
desc = "Careful, the beverage you're about to enjoy is extremely hot."
|
||||
icon_state = "coffee"
|
||||
center_of_mass = list("x"=15, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("coffee", 30)
|
||||
/obj/item/weapon/reagent_containers/food/drinks/coffee/New()
|
||||
..()
|
||||
reagents.add_reagent("coffee", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/tea
|
||||
name = "Duke Purple Tea"
|
||||
@@ -137,18 +138,19 @@
|
||||
icon_state = "teacup"
|
||||
item_state = "coffee"
|
||||
center_of_mass = list("x"=16, "y"=14)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("tea", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/tea/New()
|
||||
..()
|
||||
reagents.add_reagent("tea", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/ice
|
||||
name = "Ice Cup"
|
||||
desc = "Careful, cold ice, do not chew."
|
||||
icon_state = "coffee"
|
||||
center_of_mass = list("x"=15, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("ice", 30)
|
||||
/obj/item/weapon/reagent_containers/food/drinks/ice/New()
|
||||
..()
|
||||
reagents.add_reagent("ice", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/h_chocolate
|
||||
name = "Dutch Hot Coco"
|
||||
@@ -156,19 +158,19 @@
|
||||
icon_state = "hot_coco"
|
||||
item_state = "coffee"
|
||||
center_of_mass = list("x"=15, "y"=13)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("hot_coco", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/h_chocolate/New()
|
||||
..()
|
||||
reagents.add_reagent("hot_coco", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/dry_ramen
|
||||
name = "Cup Ramen"
|
||||
desc = "Just add 10ml water, self heats! A taste that reminds you of your school years."
|
||||
icon_state = "ramen"
|
||||
center_of_mass = list("x"=16, "y"=11)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("dry_ramen", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/dry_ramen/New()
|
||||
..()
|
||||
reagents.add_reagent("dry_ramen", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/sillycup
|
||||
name = "Paper Cup"
|
||||
@@ -177,13 +179,14 @@
|
||||
possible_transfer_amounts = null
|
||||
volume = 10
|
||||
center_of_mass = list("x"=16, "y"=12)
|
||||
New()
|
||||
..()
|
||||
on_reagent_change()
|
||||
if(reagents.total_volume)
|
||||
icon_state = "water_cup"
|
||||
else
|
||||
icon_state = "water_cup_e"
|
||||
/obj/item/weapon/reagent_containers/food/drinks/sillycup/New()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/sillycup/on_reagent_change()
|
||||
if(reagents.total_volume)
|
||||
icon_state = "water_cup"
|
||||
else
|
||||
icon_state = "water_cup_e"
|
||||
|
||||
|
||||
//////////////////////////drinkingglass and shaker//
|
||||
|
||||
@@ -193,7 +193,6 @@
|
||||
|
||||
//Keeping this here for now, I'll ask if I should keep it here.
|
||||
/obj/item/weapon/broken_bottle
|
||||
|
||||
name = "Broken Bottle"
|
||||
desc = "A bottle with a sharp broken bottom."
|
||||
icon = 'icons/obj/drinks.dmi'
|
||||
@@ -212,204 +211,225 @@
|
||||
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/gin
|
||||
name = "Griffeater Gin"
|
||||
desc = "A bottle of high quality gin, produced in the New London Space Station."
|
||||
icon_state = "ginbottle"
|
||||
center_of_mass = list("x"=16, "y"=4)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("gin", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/gin/New()
|
||||
..()
|
||||
reagents.add_reagent("gin", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey
|
||||
name = "Uncle Git's Special Reserve"
|
||||
desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES."
|
||||
icon_state = "whiskeybottle"
|
||||
center_of_mass = list("x"=16, "y"=3)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("whiskey", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey/New()
|
||||
..()
|
||||
reagents.add_reagent("whiskey", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey
|
||||
name = "Special Blend Whiskey"
|
||||
desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything."
|
||||
icon_state = "whiskeybottle2"
|
||||
center_of_mass = list("x"=16, "y"=3)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("specialwhiskey", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/specialwhiskey/New()
|
||||
..()
|
||||
reagents.add_reagent("specialwhiskey", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka
|
||||
name = "Tunguska Triple Distilled"
|
||||
desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide."
|
||||
icon_state = "vodkabottle"
|
||||
center_of_mass = list("x"=17, "y"=3)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("vodka", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/New()
|
||||
..()
|
||||
reagents.add_reagent("vodka", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla
|
||||
name = "Caccavo Guaranteed Quality Tequilla"
|
||||
desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!"
|
||||
icon_state = "tequillabottle"
|
||||
center_of_mass = list("x"=16, "y"=3)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("tequilla", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla/New()
|
||||
..()
|
||||
reagents.add_reagent("tequilla", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing
|
||||
name = "Bottle of Nothing"
|
||||
desc = "A bottle filled with nothing"
|
||||
icon_state = "bottleofnothing"
|
||||
center_of_mass = list("x"=17, "y"=5)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nothing", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing/New()
|
||||
..()
|
||||
reagents.add_reagent("nothing", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron
|
||||
name = "Wrapp Artiste Patron"
|
||||
desc = "Silver laced tequilla, served in space night clubs across the galaxy."
|
||||
icon_state = "patronbottle"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("patron", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron/New()
|
||||
..()
|
||||
reagents.add_reagent("patron", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/rum
|
||||
name = "Captain Pete's Cuban Spiced Rum"
|
||||
desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle."
|
||||
icon_state = "rumbottle"
|
||||
center_of_mass = list("x"=16, "y"=8)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("rum", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/rum/New()
|
||||
..()
|
||||
reagents.add_reagent("rum", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater
|
||||
name = "Flask of Holy Water"
|
||||
desc = "A flask of the chaplain's holy water."
|
||||
icon_state = "holyflask"
|
||||
center_of_mass = list("x"=17, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("holywater", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/New()
|
||||
..()
|
||||
reagents.add_reagent("holywater", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth
|
||||
name = "Goldeneye Vermouth"
|
||||
desc = "Sweet, sweet dryness~"
|
||||
icon_state = "vermouthbottle"
|
||||
center_of_mass = list("x"=17, "y"=3)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("vermouth", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth/New()
|
||||
..()
|
||||
reagents.add_reagent("vermouth", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua
|
||||
name = "Robert Robust's Coffee Liqueur"
|
||||
desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK"
|
||||
icon_state = "kahluabottle"
|
||||
center_of_mass = list("x"=17, "y"=3)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("kahlua", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua/New()
|
||||
..()
|
||||
reagents.add_reagent("kahlua", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager
|
||||
name = "College Girl Goldschlager"
|
||||
desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps."
|
||||
icon_state = "goldschlagerbottle"
|
||||
center_of_mass = list("x"=15, "y"=3)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("goldschlager", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager/New()
|
||||
..()
|
||||
reagents.add_reagent("goldschlager", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac
|
||||
name = "Chateau De Baton Premium Cognac"
|
||||
desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time."
|
||||
icon_state = "cognacbottle"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cognac", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac/New()
|
||||
..()
|
||||
reagents.add_reagent("cognac", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/wine
|
||||
name = "Doublebeard Bearded Special Wine"
|
||||
desc = "A faint aura of unease and asspainery surrounds the bottle."
|
||||
icon_state = "winebottle"
|
||||
center_of_mass = list("x"=16, "y"=4)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("wine", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/wine/New()
|
||||
..()
|
||||
reagents.add_reagent("wine", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe
|
||||
name = "Jailbreaker Verte"
|
||||
desc = "One sip of this and you just know you're gonna have a good time."
|
||||
icon_state = "absinthebottle"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("absinthe", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe/New()
|
||||
..()
|
||||
reagents.add_reagent("absinthe", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor
|
||||
name = "Emeraldine Melon Liquor"
|
||||
desc = "A bottle of 46 proof Emeraldine Melon Liquor. Sweet and light."
|
||||
icon_state = "alco-green" //Placeholder.
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("melonliquor", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor/New()
|
||||
..()
|
||||
reagents.add_reagent("melonliquor", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao
|
||||
name = "Miss Blue Curacao"
|
||||
desc = "A fruity, exceptionally azure drink. Does not allow the imbiber to use the fifth magic."
|
||||
icon_state = "alco-blue" //Placeholder.
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("bluecuracao", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao/New()
|
||||
..()
|
||||
reagents.add_reagent("bluecuracao", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine
|
||||
name = "Briar Rose Grenadine Syrup"
|
||||
desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks."
|
||||
icon_state = "grenadinebottle"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("grenadine", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine/New()
|
||||
..()
|
||||
reagents.add_reagent("grenadine", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/cola
|
||||
name = "\improper Space Cola"
|
||||
desc = "Cola. in space"
|
||||
icon_state = "colabottle"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cola", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/cola/New()
|
||||
..()
|
||||
reagents.add_reagent("cola", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up
|
||||
name = "\improper Space-Up"
|
||||
desc = "Tastes like a hull breach in your mouth."
|
||||
icon_state = "space-up_bottle"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("space_up", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up/New()
|
||||
..()
|
||||
reagents.add_reagent("space_up", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind
|
||||
name = "\improper Space Mountain Wind"
|
||||
desc = "Blows right through you like a space wind."
|
||||
icon_state = "space_mountain_wind_bottle"
|
||||
center_of_mass = list("x"=16, "y"=6)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("spacemountainwind", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind/New()
|
||||
..()
|
||||
reagents.add_reagent("spacemountainwind", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine
|
||||
name = "Warlock's Velvet"
|
||||
desc = "What a delightful packaging for a surely high quality wine! The vintage must be amazing!"
|
||||
icon_state = "pwinebottle"
|
||||
center_of_mass = list("x"=16, "y"=4)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("pwine", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine/New()
|
||||
..()
|
||||
reagents.add_reagent("pwine", 100)
|
||||
|
||||
//////////////////////////JUICES AND STUFF ///////////////////////
|
||||
|
||||
@@ -420,9 +440,10 @@
|
||||
item_state = "carton"
|
||||
center_of_mass = list("x"=16, "y"=7)
|
||||
isGlass = 0
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("orangejuice", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice/New()
|
||||
..()
|
||||
reagents.add_reagent("orangejuice", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/cream
|
||||
name = "Milk Cream"
|
||||
@@ -431,9 +452,10 @@
|
||||
item_state = "carton"
|
||||
center_of_mass = list("x"=16, "y"=8)
|
||||
isGlass = 0
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cream", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/cream/New()
|
||||
..()
|
||||
reagents.add_reagent("cream", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice
|
||||
name = "Tomato Juice"
|
||||
@@ -442,9 +464,10 @@
|
||||
item_state = "carton"
|
||||
center_of_mass = list("x"=16, "y"=8)
|
||||
isGlass = 0
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("tomatojuice", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice/New()
|
||||
..()
|
||||
reagents.add_reagent("tomatojuice", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice
|
||||
name = "Lime Juice"
|
||||
@@ -453,9 +476,10 @@
|
||||
item_state = "carton"
|
||||
center_of_mass = list("x"=16, "y"=8)
|
||||
isGlass = 0
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("limejuice", 100)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice/New()
|
||||
..()
|
||||
reagents.add_reagent("limejuice", 100)
|
||||
|
||||
//Small bottles
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/small
|
||||
@@ -469,9 +493,10 @@
|
||||
desc = "Contains only water, malt and hops."
|
||||
icon_state = "beer"
|
||||
center_of_mass = list("x"=16, "y"=12)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("beer", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/New()
|
||||
..()
|
||||
reagents.add_reagent("beer", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale
|
||||
name = "\improper Magm-Ale"
|
||||
@@ -479,6 +504,7 @@
|
||||
icon_state = "alebottle"
|
||||
item_state = "beer"
|
||||
center_of_mass = list("x"=16, "y"=10)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("ale", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/small/ale/New()
|
||||
..()
|
||||
reagents.add_reagent("ale", 30)
|
||||
@@ -108,3 +108,28 @@
|
||||
..()
|
||||
reagents.add_reagent("cola", 50)
|
||||
on_reagent_change()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass
|
||||
name = "shot glass"
|
||||
desc = "No glasses were shot in the making of this glass."
|
||||
icon_state = "shotglass"
|
||||
amount_per_transfer_from_this = 10
|
||||
volume = 10
|
||||
matter = list("glass" = 175)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change()
|
||||
overlays.Cut()
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]1")
|
||||
|
||||
switch(reagents.total_volume)
|
||||
if(0 to 3) filling.icon_state = "[icon_state]1"
|
||||
if(4 to 7) filling.icon_state = "[icon_state]5"
|
||||
if(8 to INFINITY) filling.icon_state = "[icon_state]12"
|
||||
|
||||
filling.color += reagents.get_color()
|
||||
overlays += filling
|
||||
name = "shot glass of " + reagents.get_master_reagent_name() //No matter what, the glass will tell you the reagent's name. Might be too abusable in the future.
|
||||
else
|
||||
name = "shot glass"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,10 +5,11 @@
|
||||
health = 180
|
||||
filling_color = "#FF1C1C"
|
||||
center_of_mass = list("x"=16, "y"=14)
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 9)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 9)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W,/obj/item/weapon/material/knife))
|
||||
|
||||
@@ -44,66 +44,65 @@
|
||||
/obj/machinery/radiocarbon_spectrometer
|
||||
)
|
||||
|
||||
New()
|
||||
..()
|
||||
base_name = name
|
||||
/obj/item/weapon/reagent_containers/glass/New()
|
||||
..()
|
||||
base_name = name
|
||||
|
||||
examine(var/mob/user)
|
||||
if(!..(user, 2))
|
||||
/obj/item/weapon/reagent_containers/glass/examine(var/mob/user)
|
||||
if(!..(user, 2))
|
||||
return
|
||||
if(reagents && reagents.reagent_list.len)
|
||||
user << "<span class='notice'>It contains [reagents.total_volume] units of liquid.</span>"
|
||||
else
|
||||
user << "<span class='notice'>It is empty.</span>"
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>Airtight lid seals it completely.</span>"
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/attack_self()
|
||||
..()
|
||||
if(is_open_container())
|
||||
usr << "<span class = 'notice'>You put the lid on \the [src].</span>"
|
||||
flags ^= OPENCONTAINER
|
||||
else
|
||||
usr << "<span class = 'notice'>You take the lid off \the [src].</span>"
|
||||
flags |= OPENCONTAINER
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/afterattack(var/obj/target, var/mob/user, var/flag)
|
||||
if(!is_open_container() || !flag)
|
||||
return
|
||||
|
||||
for(var/type in can_be_placed_into)
|
||||
if(istype(target, type))
|
||||
return
|
||||
if(reagents && reagents.reagent_list.len)
|
||||
user << "<span class='notice'>It contains [reagents.total_volume] units of liquid.</span>"
|
||||
|
||||
if(standard_splash_mob(user, target))
|
||||
return
|
||||
if(standard_dispenser_refill(user, target))
|
||||
return
|
||||
if(standard_pour_into(user, target))
|
||||
return
|
||||
|
||||
if(reagents.total_volume)
|
||||
user << "<span class='notice'>You splash the solution onto [target].</span>"
|
||||
reagents.splash(target, reagents.total_volume)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen))
|
||||
var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN)
|
||||
if(length(tmp_label) > 10)
|
||||
user << "<span class='notice'>The label can be at most 10 characters long.</span>"
|
||||
else
|
||||
user << "<span class='notice'>It is empty.</span>"
|
||||
if(!is_open_container())
|
||||
user << "<span class='notice'>Airtight lid seals it completely.</span>"
|
||||
user << "<span class='notice'>You set the label to \"[tmp_label]\".</span>"
|
||||
label_text = tmp_label
|
||||
update_name_label()
|
||||
|
||||
attack_self()
|
||||
..()
|
||||
if(is_open_container())
|
||||
usr << "<span class = 'notice'>You put the lid on \the [src].</span>"
|
||||
flags ^= OPENCONTAINER
|
||||
else
|
||||
usr << "<span class = 'notice'>You take the lid off \the [src].</span>"
|
||||
flags |= OPENCONTAINER
|
||||
update_icon()
|
||||
|
||||
afterattack(var/obj/target, var/mob/user, var/flag)
|
||||
|
||||
if(!is_open_container() || !flag)
|
||||
return
|
||||
|
||||
for(var/type in can_be_placed_into)
|
||||
if(istype(target, type))
|
||||
return
|
||||
|
||||
if(standard_splash_mob(user, target))
|
||||
return
|
||||
if(standard_dispenser_refill(user, target))
|
||||
return
|
||||
if(standard_pour_into(user, target))
|
||||
return
|
||||
|
||||
if(reagents.total_volume)
|
||||
user << "<span class='notice'>You splash the solution onto [target].</span>"
|
||||
reagents.splash(target, reagents.total_volume)
|
||||
return
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen))
|
||||
var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN)
|
||||
if(length(tmp_label) > 10)
|
||||
user << "<span class='notice'>The label can be at most 10 characters long.</span>"
|
||||
else
|
||||
user << "<span class='notice'>You set the label to \"[tmp_label]\".</span>"
|
||||
label_text = tmp_label
|
||||
update_name_label()
|
||||
|
||||
proc/update_name_label()
|
||||
if(label_text == "")
|
||||
name = base_name
|
||||
else
|
||||
name = "[base_name] ([label_text])"
|
||||
/obj/item/weapon/reagent_containers/glass/proc/update_name_label()
|
||||
if(label_text == "")
|
||||
name = base_name
|
||||
else
|
||||
name = "[base_name] ([label_text])"
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker
|
||||
name = "beaker"
|
||||
@@ -113,47 +112,47 @@
|
||||
item_state = "beaker"
|
||||
matter = list("glass" = 500)
|
||||
|
||||
New()
|
||||
..()
|
||||
desc += " Can hold up to [volume] units."
|
||||
|
||||
on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
pickup(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
dropped(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
attack_hand()
|
||||
..()
|
||||
update_icon()
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/New()
|
||||
..()
|
||||
desc += " Can hold up to [volume] units."
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change()
|
||||
update_icon()
|
||||
overlays.Cut()
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10")
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/pickup(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) filling.icon_state = "[icon_state]-10"
|
||||
if(10 to 24) filling.icon_state = "[icon_state]10"
|
||||
if(25 to 49) filling.icon_state = "[icon_state]25"
|
||||
if(50 to 74) filling.icon_state = "[icon_state]50"
|
||||
if(75 to 79) filling.icon_state = "[icon_state]75"
|
||||
if(80 to 90) filling.icon_state = "[icon_state]80"
|
||||
if(91 to INFINITY) filling.icon_state = "[icon_state]100"
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/dropped(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
filling.color = reagents.get_color()
|
||||
overlays += filling
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/attack_hand()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
if (!is_open_container())
|
||||
var/image/lid = image(icon, src, "lid_[initial(icon_state)]")
|
||||
overlays += lid
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/update_icon()
|
||||
overlays.Cut()
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10")
|
||||
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) filling.icon_state = "[icon_state]-10"
|
||||
if(10 to 24) filling.icon_state = "[icon_state]10"
|
||||
if(25 to 49) filling.icon_state = "[icon_state]25"
|
||||
if(50 to 74) filling.icon_state = "[icon_state]50"
|
||||
if(75 to 79) filling.icon_state = "[icon_state]75"
|
||||
if(80 to 90) filling.icon_state = "[icon_state]80"
|
||||
if(91 to INFINITY) filling.icon_state = "[icon_state]100"
|
||||
|
||||
filling.color = reagents.get_color()
|
||||
overlays += filling
|
||||
|
||||
if (!is_open_container())
|
||||
var/image/lid = image(icon, src, "lid_[initial(icon_state)]")
|
||||
overlays += lid
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large
|
||||
name = "large beaker"
|
||||
@@ -194,14 +193,12 @@
|
||||
possible_transfer_amounts = list(5,10,15,25)
|
||||
flags = OPENCONTAINER
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cryoxadone", 30)
|
||||
update_icon()
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone/New()
|
||||
..()
|
||||
reagents.add_reagent("cryoxadone", 30)
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/sulphuric
|
||||
New()
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/sulphuric/New()
|
||||
..()
|
||||
reagents.add_reagent("sacid", 60)
|
||||
update_icon()
|
||||
@@ -221,7 +218,6 @@
|
||||
unacidable = 0
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/D, mob/user as mob)
|
||||
|
||||
if(isprox(D))
|
||||
user << "You add [D] to [src]."
|
||||
qdel(D)
|
||||
@@ -256,35 +252,3 @@
|
||||
amount_per_transfer_from_this = 20
|
||||
possible_transfer_amounts = list(10,20,30,60,120)
|
||||
volume = 120
|
||||
|
||||
/*
|
||||
/obj/item/weapon/reagent_containers/glass/blender_jug
|
||||
name = "Blender Jug"
|
||||
desc = "A blender jug, part of a blender."
|
||||
icon = 'icons/obj/kitchen.dmi'
|
||||
icon_state = "blender_jug_e"
|
||||
volume = 100
|
||||
|
||||
on_reagent_change()
|
||||
switch(src.reagents.total_volume)
|
||||
if(0)
|
||||
icon_state = "blender_jug_e"
|
||||
if(1 to 75)
|
||||
icon_state = "blender_jug_h"
|
||||
if(76 to 100)
|
||||
icon_state = "blender_jug_f"
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/canister //not used apparantly
|
||||
desc = "It's a canister. Mainly used for transporting fuel."
|
||||
name = "canister"
|
||||
icon = 'icons/obj/tank.dmi'
|
||||
icon_state = "canister"
|
||||
item_state = "canister"
|
||||
m_amt = 300
|
||||
g_amt = 0
|
||||
w_class = 4.0
|
||||
|
||||
amount_per_transfer_from_this = 20
|
||||
possible_transfer_amounts = list(10,20,30,60)
|
||||
volume = 120
|
||||
*/
|
||||
|
||||
@@ -12,48 +12,48 @@
|
||||
flags = 0
|
||||
volume = 60
|
||||
|
||||
on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
pickup(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
dropped(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
attack_hand()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
New()
|
||||
..()
|
||||
if(!icon_state)
|
||||
icon_state = "bottle-[rand(1,4)]"
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change()
|
||||
update_icon()
|
||||
overlays.Cut()
|
||||
|
||||
if(reagents.total_volume && (icon_state == "bottle-1" || icon_state == "bottle-2" || icon_state == "bottle-3" || icon_state == "bottle-4"))
|
||||
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10")
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/pickup(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) filling.icon_state = "[icon_state]--10"
|
||||
if(10 to 24) filling.icon_state = "[icon_state]-10"
|
||||
if(25 to 49) filling.icon_state = "[icon_state]-25"
|
||||
if(50 to 74) filling.icon_state = "[icon_state]-50"
|
||||
if(75 to 79) filling.icon_state = "[icon_state]-75"
|
||||
if(80 to 90) filling.icon_state = "[icon_state]-80"
|
||||
if(91 to INFINITY) filling.icon_state = "[icon_state]-100"
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/dropped(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
filling.color = reagents.get_color()
|
||||
overlays += filling
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/attack_hand()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
if (!is_open_container())
|
||||
var/image/lid = image(icon, src, "lid_bottle")
|
||||
overlays += lid
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/New()
|
||||
..()
|
||||
if(!icon_state)
|
||||
icon_state = "bottle-[rand(1,4)]"
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/update_icon()
|
||||
overlays.Cut()
|
||||
|
||||
if(reagents.total_volume && (icon_state == "bottle-1" || icon_state == "bottle-2" || icon_state == "bottle-3" || icon_state == "bottle-4"))
|
||||
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10")
|
||||
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9) filling.icon_state = "[icon_state]--10"
|
||||
if(10 to 24) filling.icon_state = "[icon_state]-10"
|
||||
if(25 to 49) filling.icon_state = "[icon_state]-25"
|
||||
if(50 to 74) filling.icon_state = "[icon_state]-50"
|
||||
if(75 to 79) filling.icon_state = "[icon_state]-75"
|
||||
if(80 to 90) filling.icon_state = "[icon_state]-80"
|
||||
if(91 to INFINITY) filling.icon_state = "[icon_state]-100"
|
||||
|
||||
filling.color = reagents.get_color()
|
||||
overlays += filling
|
||||
|
||||
if (!is_open_container())
|
||||
var/image/lid = image(icon, src, "lid_bottle")
|
||||
overlays += lid
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline
|
||||
@@ -86,12 +86,12 @@
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "bottle-3"
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/cyanide/New()
|
||||
..()
|
||||
reagents.add_reagent("cyanide", 30) //volume changed to match chloral
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/stoxin
|
||||
name = "soporific bottle"
|
||||
desc = "A small bottle of soporific. Just the fumes make you sleepy."
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
icon_state = "bottle-4"
|
||||
reagent = "inaprovaline"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 60)
|
||||
update_icon()
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/robot/inaprovaline/New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 60)
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/robot/antitoxin
|
||||
@@ -27,8 +27,8 @@
|
||||
icon_state = "bottle-4"
|
||||
reagent = "anti_toxin"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 60)
|
||||
update_icon()
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/robot/antitoxin/New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 60)
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -12,82 +12,82 @@
|
||||
slot_flags = SLOT_EARS
|
||||
volume = 60
|
||||
|
||||
New()
|
||||
..()
|
||||
if(!icon_state)
|
||||
icon_state = "pill[rand(1, 20)]"
|
||||
/obj/item/weapon/reagent_containers/pill/New()
|
||||
..()
|
||||
if(!icon_state)
|
||||
icon_state = "pill[rand(1, 20)]"
|
||||
|
||||
attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(M == user)
|
||||
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.check_has_mouth())
|
||||
user << "Where do you intend to put \the [src]? You don't have a mouth!"
|
||||
return
|
||||
var/obj/item/blocked = H.check_mouth_coverage()
|
||||
if(blocked)
|
||||
user << "<span class='warning'>\The [blocked] is in the way!</span>"
|
||||
return
|
||||
|
||||
M << "<span class='notice'>You swallow \the [src].</span>"
|
||||
M.drop_from_inventory(src) //icon update
|
||||
if(reagents.total_volume)
|
||||
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
|
||||
qdel(src)
|
||||
return 1
|
||||
|
||||
else if(istype(M, /mob/living/carbon/human))
|
||||
/obj/item/weapon/reagent_containers/pill/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
if(M == user)
|
||||
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.check_has_mouth())
|
||||
user << "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!"
|
||||
user << "Where do you intend to put \the [src]? You don't have a mouth!"
|
||||
return
|
||||
var/obj/item/blocked = H.check_mouth_coverage()
|
||||
if(blocked)
|
||||
user << "<span class='warning'>\The [blocked] is in the way!</span>"
|
||||
return
|
||||
|
||||
user.visible_message("<span class='warning'>[user] attempts to force [M] to swallow \the [src].</span>")
|
||||
M << "<span class='notice'>You swallow \the [src].</span>"
|
||||
M.drop_from_inventory(src) //icon update
|
||||
if(reagents.total_volume)
|
||||
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
|
||||
qdel(src)
|
||||
return 1
|
||||
|
||||
if(!do_mob(user, M))
|
||||
return
|
||||
else if(istype(M, /mob/living/carbon/human))
|
||||
|
||||
user.drop_from_inventory(src) //icon update
|
||||
user.visible_message("<span class='warning'>[user] forces [M] to swallow \the [src].</span>")
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.check_has_mouth())
|
||||
user << "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!"
|
||||
return
|
||||
var/obj/item/blocked = H.check_mouth_coverage()
|
||||
if(blocked)
|
||||
user << "<span class='warning'>\The [blocked] is in the way!</span>"
|
||||
return
|
||||
|
||||
var/contained = reagentlist()
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [key_name(user)] Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Fed [name] to [key_name(M)] Reagents: [contained]</font>")
|
||||
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(M)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
user.visible_message("<span class='warning'>[user] attempts to force [M] to swallow \the [src].</span>")
|
||||
|
||||
if(reagents.total_volume)
|
||||
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
|
||||
qdel(src)
|
||||
if(!do_mob(user, M))
|
||||
return
|
||||
|
||||
return 1
|
||||
user.drop_from_inventory(src) //icon update
|
||||
user.visible_message("<span class='warning'>[user] forces [M] to swallow \the [src].</span>")
|
||||
|
||||
return 0
|
||||
var/contained = reagentlist()
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [key_name(user)] Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Fed [name] to [key_name(M)] Reagents: [contained]</font>")
|
||||
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(M)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
|
||||
afterattack(obj/target, mob/user, proximity)
|
||||
if(!proximity) return
|
||||
if(reagents.total_volume)
|
||||
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
|
||||
qdel(src)
|
||||
|
||||
if(target.is_open_container() && target.reagents)
|
||||
if(!target.reagents.total_volume)
|
||||
user << "<span class='notice'>[target] is empty. Can't dissolve \the [src].</span>"
|
||||
return
|
||||
user << "<span class='notice'>You dissolve \the [src] in [target].</span>"
|
||||
return 1
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Spiked \a [target] with a pill. Reagents: [reagentlist()]</font>")
|
||||
msg_admin_attack("[user.name] ([user.ckey]) spiked \a [target] with a pill. Reagents: [reagentlist()] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
return 0
|
||||
|
||||
reagents.trans_to(target, reagents.total_volume)
|
||||
for(var/mob/O in viewers(2, user))
|
||||
O.show_message("<span class='warning'>[user] puts something in \the [target].</span>", 1)
|
||||
/obj/item/weapon/reagent_containers/pill/afterattack(obj/target, mob/user, proximity)
|
||||
if(!proximity) return
|
||||
|
||||
qdel(src)
|
||||
if(target.is_open_container() && target.reagents)
|
||||
if(!target.reagents.total_volume)
|
||||
user << "<span class='notice'>[target] is empty. Can't dissolve \the [src].</span>"
|
||||
return
|
||||
user << "<span class='notice'>You dissolve \the [src] in [target].</span>"
|
||||
|
||||
return
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Spiked \a [target] with a pill. Reagents: [reagentlist()]</font>")
|
||||
msg_admin_attack("[user.name] ([user.ckey]) spiked \a [target] with a pill. Reagents: [reagentlist()] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
|
||||
reagents.trans_to(target, reagents.total_volume)
|
||||
for(var/mob/O in viewers(2, user))
|
||||
O.show_message("<span class='warning'>[user] puts something in \the [target].</span>", 1)
|
||||
|
||||
qdel(src)
|
||||
|
||||
return
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// Pills. END
|
||||
@@ -98,163 +98,199 @@
|
||||
name = "Anti-toxins pill"
|
||||
desc = "Neutralizes many common toxins."
|
||||
icon_state = "pill17"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 25)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/antitox/New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 25)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/tox
|
||||
name = "Toxins pill"
|
||||
desc = "Highly toxic."
|
||||
icon_state = "pill5"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("toxin", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/tox/New()
|
||||
..()
|
||||
reagents.add_reagent("toxin", 50)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/cyanide
|
||||
name = "Cyanide pill"
|
||||
desc = "Don't swallow this."
|
||||
icon_state = "pill5"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cyanide", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/cyanide/New()
|
||||
..()
|
||||
reagents.add_reagent("cyanide", 50)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/adminordrazine
|
||||
name = "Adminordrazine pill"
|
||||
desc = "It's magic. We don't have to explain it."
|
||||
icon_state = "pill16"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("adminordrazine", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/adminordrazine/New()
|
||||
..()
|
||||
reagents.add_reagent("adminordrazine", 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/stox
|
||||
name = "Sleeping pill"
|
||||
desc = "Commonly used to treat insomnia."
|
||||
icon_state = "pill8"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("stoxin", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/stox/New()
|
||||
..()
|
||||
reagents.add_reagent("stoxin", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/kelotane
|
||||
name = "Kelotane pill"
|
||||
desc = "Used to treat burns."
|
||||
icon_state = "pill11"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("kelotane", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/kelotane/New()
|
||||
..()
|
||||
reagents.add_reagent("kelotane", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/paracetamol
|
||||
name = "Paracetamol pill"
|
||||
desc = "Tylenol! A painkiller for the ages. Chewables!"
|
||||
icon_state = "pill8"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("paracetamol", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/paracetamol/New()
|
||||
..()
|
||||
reagents.add_reagent("paracetamol", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/tramadol
|
||||
name = "Tramadol pill"
|
||||
desc = "A simple painkiller."
|
||||
icon_state = "pill8"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("tramadol", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/tramadol/New()
|
||||
..()
|
||||
reagents.add_reagent("tramadol", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/methylphenidate
|
||||
name = "Methylphenidate pill"
|
||||
desc = "Improves the ability to concentrate."
|
||||
icon_state = "pill8"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("methylphenidate", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/methylphenidate/New()
|
||||
..()
|
||||
reagents.add_reagent("methylphenidate", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/citalopram
|
||||
name = "Citalopram pill"
|
||||
desc = "Mild anti-depressant."
|
||||
icon_state = "pill8"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("citalopram", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/citalopram/New()
|
||||
..()
|
||||
reagents.add_reagent("citalopram", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/inaprovaline
|
||||
name = "Inaprovaline pill"
|
||||
desc = "Used to stabilize patients."
|
||||
icon_state = "pill20"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/inaprovaline/New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 30)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dexalin
|
||||
name = "Dexalin pill"
|
||||
desc = "Used to treat oxygen deprivation."
|
||||
icon_state = "pill16"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("dexalin", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dexalin/New()
|
||||
..()
|
||||
reagents.add_reagent("dexalin", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dexalin_plus
|
||||
name = "Dexalin Plus pill"
|
||||
desc = "Used to treat extreme oxygen deprivation."
|
||||
icon_state = "pill8"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("dexalinp", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dexalin_plus/New()
|
||||
..()
|
||||
reagents.add_reagent("dexalinp", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dermaline
|
||||
name = "Dermaline pill"
|
||||
desc = "Used to treat burn wounds."
|
||||
icon_state = "pill12"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("dermaline", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dermaline/New()
|
||||
..()
|
||||
reagents.add_reagent("dermaline", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dylovene
|
||||
name = "Dylovene pill"
|
||||
desc = "A broad-spectrum anti-toxin."
|
||||
icon_state = "pill13"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/dylovene/New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/inaprovaline
|
||||
name = "Inaprovaline pill"
|
||||
desc = "Used to stabilize patients."
|
||||
icon_state = "pill20"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/inaprovaline/New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 30)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/bicaridine
|
||||
name = "Bicaridine pill"
|
||||
desc = "Used to treat physical injuries."
|
||||
icon_state = "pill18"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("bicaridine", 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/bicaridine/New()
|
||||
..()
|
||||
reagents.add_reagent("bicaridine", 20)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/happy
|
||||
name = "Happy pill"
|
||||
desc = "Happy happy joy joy!"
|
||||
icon_state = "pill18"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("space_drugs", 15)
|
||||
reagents.add_reagent("sugar", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/happy/New()
|
||||
..()
|
||||
reagents.add_reagent("space_drugs", 15)
|
||||
reagents.add_reagent("sugar", 15)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/zoom
|
||||
name = "Zoom pill"
|
||||
desc = "Zoooom!"
|
||||
icon_state = "pill18"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("impedrezene", 10)
|
||||
reagents.add_reagent("synaptizine", 5)
|
||||
reagents.add_reagent("hyperzine", 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/zoom/New()
|
||||
..()
|
||||
reagents.add_reagent("impedrezene", 10)
|
||||
reagents.add_reagent("synaptizine", 5)
|
||||
reagents.add_reagent("hyperzine", 5)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/spaceacillin
|
||||
name = "Spaceacillin pill"
|
||||
desc = "Contains antiviral agents."
|
||||
icon_state = "pill19"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("spaceacillin", 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/spaceacillin/New()
|
||||
..()
|
||||
reagents.add_reagent("spaceacillin", 15)
|
||||
|
||||
@@ -24,260 +24,258 @@
|
||||
var/visible_name = "a syringe"
|
||||
var/time = 30
|
||||
|
||||
on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
pickup(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
dropped(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
|
||||
switch(mode)
|
||||
if(SYRINGE_DRAW)
|
||||
mode = SYRINGE_INJECT
|
||||
if(SYRINGE_INJECT)
|
||||
mode = SYRINGE_DRAW
|
||||
if(SYRINGE_BROKEN)
|
||||
return
|
||||
update_icon()
|
||||
|
||||
attack_hand()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
return
|
||||
|
||||
afterattack(obj/target, mob/user, proximity)
|
||||
if(!proximity || !target.reagents)
|
||||
return
|
||||
|
||||
if(mode == SYRINGE_BROKEN)
|
||||
user << "<span class='warning'>This syringe is broken!</span>"
|
||||
return
|
||||
|
||||
if(user.a_intent == I_HURT && ismob(target))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
target = user
|
||||
syringestab(target, user)
|
||||
return
|
||||
|
||||
|
||||
switch(mode)
|
||||
if(SYRINGE_DRAW)
|
||||
|
||||
if(!reagents.get_free_space())
|
||||
user << "<span class='warning'>The syringe is full.</span>"
|
||||
mode = SYRINGE_INJECT
|
||||
return
|
||||
|
||||
if(ismob(target))//Blood!
|
||||
if(reagents.has_reagent("blood"))
|
||||
user << "<span class='notice'>There is already a blood sample in this syringe.</span>"
|
||||
return
|
||||
if(istype(target, /mob/living/carbon))
|
||||
if(istype(target, /mob/living/carbon/slime))
|
||||
user << "<span class='warning'>You are unable to locate any blood.</span>"
|
||||
return
|
||||
var/amount = reagents.get_free_space()
|
||||
var/mob/living/carbon/T = target
|
||||
if(!T.dna)
|
||||
user << "<span class='warning'>You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum).</span>"
|
||||
return
|
||||
if(NOCLONE in T.mutations) //target done been et, no more blood in him
|
||||
user << "<span class='warning'>You are unable to locate any blood.</span>"
|
||||
return
|
||||
|
||||
var/datum/reagent/B
|
||||
if(istype(T, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = T
|
||||
if(H.species && !H.should_have_organ(O_HEART))
|
||||
H.reagents.trans_to_obj(src, amount)
|
||||
else
|
||||
B = T.take_blood(src, amount)
|
||||
else
|
||||
B = T.take_blood(src,amount)
|
||||
|
||||
if (B)
|
||||
reagents.reagent_list += B
|
||||
reagents.update_total()
|
||||
on_reagent_change()
|
||||
reagents.handle_reactions()
|
||||
user << "<span class='notice'>You take a blood sample from [target].</span>"
|
||||
for(var/mob/O in viewers(4, user))
|
||||
O.show_message("<span class='notice'>[user] takes a blood sample from [target].</span>", 1)
|
||||
|
||||
else //if not mob
|
||||
if(!target.reagents.total_volume)
|
||||
user << "<span class='notice'>[target] is empty.</span>"
|
||||
return
|
||||
|
||||
if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract))
|
||||
user << "<span class='notice'>You cannot directly remove reagents from this object.</span>"
|
||||
return
|
||||
|
||||
var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You fill the syringe with [trans] units of the solution.</span>"
|
||||
update_icon()
|
||||
|
||||
if(!reagents.get_free_space())
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
if(SYRINGE_INJECT)
|
||||
if(!reagents.total_volume)
|
||||
user << "<span class='notice'>The syringe is empty.</span>"
|
||||
mode = SYRINGE_DRAW
|
||||
return
|
||||
if(istype(target, /obj/item/weapon/implantcase/chem))
|
||||
return
|
||||
|
||||
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes))
|
||||
user << "<span class='notice'>You cannot directly fill this object.</span>"
|
||||
return
|
||||
if(!target.reagents.get_free_space())
|
||||
user << "<span class='notice'>[target] is full.</span>"
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(istype(H))
|
||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||
if(!affected)
|
||||
user << "<span class='danger'>\The [H] is missing that limb!</span>"
|
||||
return
|
||||
else if(affected.status & ORGAN_ROBOT)
|
||||
user << "<span class='danger'>You cannot inject a robotic limb.</span>"
|
||||
return
|
||||
|
||||
if(ismob(target) && target != user)
|
||||
|
||||
var/injtime = time //Injecting through a hardsuit takes longer due to needing to find a port.
|
||||
|
||||
if(istype(H))
|
||||
if(H.wear_suit)
|
||||
if(istype(H.wear_suit, /obj/item/clothing/suit/space))
|
||||
injtime = injtime * 2
|
||||
else if(!H.can_inject(user, 1))
|
||||
return
|
||||
|
||||
else if(isliving(target))
|
||||
|
||||
var/mob/living/M = target
|
||||
if(!M.can_inject(user, 1))
|
||||
return
|
||||
|
||||
if(injtime == time)
|
||||
user.visible_message("<span class='warning'>[user] is trying to inject [target] with [visible_name]!</span>")
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] begins hunting for an injection port on [target]'s suit!</span>")
|
||||
|
||||
if(!do_mob(user, target, injtime))
|
||||
return
|
||||
|
||||
user.visible_message("<span class='warning'>[user] injects [target] with the syringe!</span>")
|
||||
|
||||
var/trans
|
||||
if(ismob(target))
|
||||
var/contained = reagentlist()
|
||||
trans = reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD)
|
||||
admin_inject_log(user, target, src, contained, trans)
|
||||
else
|
||||
trans = reagents.trans_to(target, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.</span>"
|
||||
if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT)
|
||||
mode = SYRINGE_DRAW
|
||||
update_icon()
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/on_reagent_change()
|
||||
update_icon()
|
||||
overlays.Cut()
|
||||
|
||||
if(mode == SYRINGE_BROKEN)
|
||||
icon_state = "broken"
|
||||
/obj/item/weapon/reagent_containers/syringe/pickup(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/dropped(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/attack_self(mob/user as mob)
|
||||
switch(mode)
|
||||
if(SYRINGE_DRAW)
|
||||
mode = SYRINGE_INJECT
|
||||
if(SYRINGE_INJECT)
|
||||
mode = SYRINGE_DRAW
|
||||
if(SYRINGE_BROKEN)
|
||||
return
|
||||
update_icon()
|
||||
|
||||
var/rounded_vol = round(reagents.total_volume, round(reagents.maximum_volume / 3))
|
||||
if(ismob(loc))
|
||||
var/injoverlay
|
||||
switch(mode)
|
||||
if (SYRINGE_DRAW)
|
||||
injoverlay = "draw"
|
||||
if (SYRINGE_INJECT)
|
||||
injoverlay = "inject"
|
||||
overlays += injoverlay
|
||||
icon_state = "[rounded_vol]"
|
||||
item_state = "syringe_[rounded_vol]"
|
||||
/obj/item/weapon/reagent_containers/syringe/attack_hand()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
if(reagents.total_volume)
|
||||
filling = image('icons/obj/reagentfillings.dmi', src, "syringe10")
|
||||
/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I as obj, mob/user as mob)
|
||||
return
|
||||
|
||||
filling.icon_state = "syringe[rounded_vol]"
|
||||
/obj/item/weapon/reagent_containers/syringe/afterattack(obj/target, mob/user, proximity)
|
||||
if(!proximity || !target.reagents)
|
||||
return
|
||||
|
||||
filling.color = reagents.get_color()
|
||||
overlays += filling
|
||||
if(mode == SYRINGE_BROKEN)
|
||||
user << "<span class='warning'>This syringe is broken!</span>"
|
||||
return
|
||||
|
||||
proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob)
|
||||
if(user.a_intent == I_HURT && ismob(target))
|
||||
if((CLUMSY in user.mutations) && prob(50))
|
||||
target = user
|
||||
syringestab(target, user)
|
||||
return
|
||||
|
||||
if(istype(target, /mob/living/carbon/human))
|
||||
|
||||
switch(mode)
|
||||
if(SYRINGE_DRAW)
|
||||
|
||||
if(!reagents.get_free_space())
|
||||
user << "<span class='warning'>The syringe is full.</span>"
|
||||
mode = SYRINGE_INJECT
|
||||
return
|
||||
|
||||
if(ismob(target))//Blood!
|
||||
if(reagents.has_reagent("blood"))
|
||||
user << "<span class='notice'>There is already a blood sample in this syringe.</span>"
|
||||
return
|
||||
if(istype(target, /mob/living/carbon))
|
||||
if(istype(target, /mob/living/carbon/slime))
|
||||
user << "<span class='warning'>You are unable to locate any blood.</span>"
|
||||
return
|
||||
var/amount = reagents.get_free_space()
|
||||
var/mob/living/carbon/T = target
|
||||
if(!T.dna)
|
||||
user << "<span class='warning'>You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum).</span>"
|
||||
return
|
||||
if(NOCLONE in T.mutations) //target done been et, no more blood in him
|
||||
user << "<span class='warning'>You are unable to locate any blood.</span>"
|
||||
return
|
||||
|
||||
var/datum/reagent/B
|
||||
if(istype(T, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = T
|
||||
if(H.species && !H.should_have_organ(O_HEART))
|
||||
H.reagents.trans_to_obj(src, amount)
|
||||
else
|
||||
B = T.take_blood(src, amount)
|
||||
else
|
||||
B = T.take_blood(src,amount)
|
||||
|
||||
if (B)
|
||||
reagents.reagent_list += B
|
||||
reagents.update_total()
|
||||
on_reagent_change()
|
||||
reagents.handle_reactions()
|
||||
user << "<span class='notice'>You take a blood sample from [target].</span>"
|
||||
for(var/mob/O in viewers(4, user))
|
||||
O.show_message("<span class='notice'>[user] takes a blood sample from [target].</span>", 1)
|
||||
|
||||
else //if not mob
|
||||
if(!target.reagents.total_volume)
|
||||
user << "<span class='notice'>[target] is empty.</span>"
|
||||
return
|
||||
|
||||
if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract))
|
||||
user << "<span class='notice'>You cannot directly remove reagents from this object.</span>"
|
||||
return
|
||||
|
||||
var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You fill the syringe with [trans] units of the solution.</span>"
|
||||
update_icon()
|
||||
|
||||
if(!reagents.get_free_space())
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
if(SYRINGE_INJECT)
|
||||
if(!reagents.total_volume)
|
||||
user << "<span class='notice'>The syringe is empty.</span>"
|
||||
mode = SYRINGE_DRAW
|
||||
return
|
||||
if(istype(target, /obj/item/weapon/implantcase/chem))
|
||||
return
|
||||
|
||||
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes))
|
||||
user << "<span class='notice'>You cannot directly fill this object.</span>"
|
||||
return
|
||||
if(!target.reagents.get_free_space())
|
||||
user << "<span class='notice'>[target] is full.</span>"
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(istype(H))
|
||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||
if(!affected)
|
||||
user << "<span class='danger'>\The [H] is missing that limb!</span>"
|
||||
return
|
||||
else if(affected.status & ORGAN_ROBOT)
|
||||
user << "<span class='danger'>You cannot inject a robotic limb.</span>"
|
||||
return
|
||||
|
||||
var/target_zone = ran_zone(check_zone(user.zone_sel.selecting, target))
|
||||
var/obj/item/organ/external/affecting = H.get_organ(target_zone)
|
||||
if(ismob(target) && target != user)
|
||||
|
||||
if (!affecting || affecting.is_stump())
|
||||
user << "<span class='danger'>They are missing that limb!</span>"
|
||||
return
|
||||
var/injtime = time //Injecting through a hardsuit takes longer due to needing to find a port.
|
||||
|
||||
var/hit_area = affecting.name
|
||||
if(istype(H))
|
||||
if(H.wear_suit)
|
||||
if(istype(H.wear_suit, /obj/item/clothing/suit/space))
|
||||
injtime = injtime * 2
|
||||
else if(!H.can_inject(user, 1))
|
||||
return
|
||||
|
||||
if((user != target) && H.check_shields(7, src, user, "\the [src]"))
|
||||
return
|
||||
else if(isliving(target))
|
||||
|
||||
if (target != user && H.getarmor(target_zone, "melee") > 5 && prob(50))
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message(text("\red <B>[user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!</B>"), 1)
|
||||
user.remove_from_mob(src)
|
||||
qdel(src)
|
||||
var/mob/living/M = target
|
||||
if(!M.can_inject(user, 1))
|
||||
return
|
||||
|
||||
user.attack_log += "\[[time_stamp()]\]<font color='red'> Attacked [target.name] ([target.ckey]) with \the [src] (INTENT: HARM).</font>"
|
||||
target.attack_log += "\[[time_stamp()]\]<font color='orange'> Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: HARM).</font>"
|
||||
msg_admin_attack("[key_name_admin(user)] attacked [key_name_admin(target)] with [src.name] (INTENT: HARM) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
if(injtime == time)
|
||||
user.visible_message("<span class='warning'>[user] is trying to inject [target] with [visible_name]!</span>")
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] begins hunting for an injection port on [target]'s suit!</span>")
|
||||
|
||||
return
|
||||
if(!do_mob(user, target, injtime))
|
||||
return
|
||||
|
||||
user.visible_message("<span class='danger'>[user] stabs [target] in \the [hit_area] with [src.name]!</span>")
|
||||
user.visible_message("<span class='warning'>[user] injects [target] with the syringe!</span>")
|
||||
|
||||
if(affecting.take_damage(3))
|
||||
H.UpdateDamageIcon()
|
||||
var/trans
|
||||
if(ismob(target))
|
||||
var/contained = reagentlist()
|
||||
trans = reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD)
|
||||
admin_inject_log(user, target, src, contained, trans)
|
||||
else
|
||||
trans = reagents.trans_to(target, amount_per_transfer_from_this)
|
||||
user << "<span class='notice'>You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.</span>"
|
||||
if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT)
|
||||
mode = SYRINGE_DRAW
|
||||
update_icon()
|
||||
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] stabs [target] with [src.name]!</span>")
|
||||
target.take_organ_damage(3)// 7 is the same as crowbar punch
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/update_icon()
|
||||
overlays.Cut()
|
||||
|
||||
if(mode == SYRINGE_BROKEN)
|
||||
icon_state = "broken"
|
||||
return
|
||||
|
||||
var/rounded_vol = round(reagents.total_volume, round(reagents.maximum_volume / 3))
|
||||
if(ismob(loc))
|
||||
var/injoverlay
|
||||
switch(mode)
|
||||
if (SYRINGE_DRAW)
|
||||
injoverlay = "draw"
|
||||
if (SYRINGE_INJECT)
|
||||
injoverlay = "inject"
|
||||
overlays += injoverlay
|
||||
icon_state = "[rounded_vol]"
|
||||
item_state = "syringe_[rounded_vol]"
|
||||
|
||||
if(reagents.total_volume)
|
||||
filling = image('icons/obj/reagentfillings.dmi', src, "syringe10")
|
||||
|
||||
filling.icon_state = "syringe[rounded_vol]"
|
||||
|
||||
filling.color = reagents.get_color()
|
||||
overlays += filling
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/proc/syringestab(mob/living/carbon/target as mob, mob/living/carbon/user as mob)
|
||||
if(istype(target, /mob/living/carbon/human))
|
||||
|
||||
var/mob/living/carbon/human/H = target
|
||||
|
||||
var/target_zone = ran_zone(check_zone(user.zone_sel.selecting, target))
|
||||
var/obj/item/organ/external/affecting = H.get_organ(target_zone)
|
||||
|
||||
if (!affecting || affecting.is_stump())
|
||||
user << "<span class='danger'>They are missing that limb!</span>"
|
||||
return
|
||||
|
||||
var/hit_area = affecting.name
|
||||
|
||||
if((user != target) && H.check_shields(7, src, user, "\the [src]"))
|
||||
return
|
||||
|
||||
if (target != user && H.getarmor(target_zone, "melee") > 5 && prob(50))
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message(text("\red <B>[user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!</B>"), 1)
|
||||
user.remove_from_mob(src)
|
||||
qdel(src)
|
||||
|
||||
user.attack_log += "\[[time_stamp()]\]<font color='red'> Attacked [target.name] ([target.ckey]) with \the [src] (INTENT: HARM).</font>"
|
||||
target.attack_log += "\[[time_stamp()]\]<font color='orange'> Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: HARM).</font>"
|
||||
msg_admin_attack("[key_name_admin(user)] attacked [key_name_admin(target)] with [src.name] (INTENT: HARM) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
|
||||
|
||||
return
|
||||
|
||||
user.visible_message("<span class='danger'>[user] stabs [target] in \the [hit_area] with [src.name]!</span>")
|
||||
|
||||
if(affecting.take_damage(3))
|
||||
H.UpdateDamageIcon()
|
||||
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] stabs [target] with [src.name]!</span>")
|
||||
target.take_organ_damage(3)// 7 is the same as crowbar punch
|
||||
|
||||
|
||||
|
||||
var/syringestab_amount_transferred = rand(0, (reagents.total_volume - 5)) //nerfed by popular demand
|
||||
var/contained_reagents = reagents.get_reagents()
|
||||
var/trans = reagents.trans_to_mob(target, syringestab_amount_transferred, CHEM_BLOOD)
|
||||
if(isnull(trans)) trans = 0
|
||||
admin_inject_log(user, target, src, contained_reagents, trans, violent=1)
|
||||
break_syringe(target, user)
|
||||
var/syringestab_amount_transferred = rand(0, (reagents.total_volume - 5)) //nerfed by popular demand
|
||||
var/contained_reagents = reagents.get_reagents()
|
||||
var/trans = reagents.trans_to_mob(target, syringestab_amount_transferred, CHEM_BLOOD)
|
||||
if(isnull(trans)) trans = 0
|
||||
admin_inject_log(user, target, src, contained_reagents, trans, violent=1)
|
||||
break_syringe(target, user)
|
||||
|
||||
proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user)
|
||||
desc += " It is broken."
|
||||
mode = SYRINGE_BROKEN
|
||||
if(target)
|
||||
add_blood(target)
|
||||
if(user)
|
||||
add_fingerprint(user)
|
||||
update_icon()
|
||||
/obj/item/weapon/reagent_containers/syringe/proc/break_syringe(mob/living/carbon/target, mob/living/carbon/user)
|
||||
desc += " It is broken."
|
||||
mode = SYRINGE_BROKEN
|
||||
if(target)
|
||||
add_blood(target)
|
||||
if(user)
|
||||
add_fingerprint(user)
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/ld50_syringe
|
||||
name = "Lethal Injection Syringe"
|
||||
@@ -287,13 +285,13 @@
|
||||
visible_name = "a giant syringe"
|
||||
time = 300
|
||||
|
||||
afterattack(obj/target, mob/user, flag)
|
||||
if(mode == SYRINGE_DRAW && ismob(target)) // No drawing 50 units of blood at once
|
||||
user << "<span class='notice'>This needle isn't designed for drawing blood.</span>"
|
||||
return
|
||||
if(user.a_intent == "hurt" && ismob(target)) // No instant injecting
|
||||
user << "<span class='notice'>This syringe is too big to stab someone with it.</span>"
|
||||
..()
|
||||
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/afterattack(obj/target, mob/user, flag)
|
||||
if(mode == SYRINGE_DRAW && ismob(target)) // No drawing 50 units of blood at once
|
||||
user << "<span class='notice'>This needle isn't designed for drawing blood.</span>"
|
||||
return
|
||||
if(user.a_intent == "hurt" && ismob(target)) // No instant injecting
|
||||
user << "<span class='notice'>This syringe is too big to stab someone with it.</span>"
|
||||
..()
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// Syringes. END
|
||||
@@ -302,44 +300,47 @@
|
||||
/obj/item/weapon/reagent_containers/syringe/inaprovaline
|
||||
name = "Syringe (inaprovaline)"
|
||||
desc = "Contains inaprovaline - used to stabilize patients."
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 15)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/inaprovaline/New()
|
||||
..()
|
||||
reagents.add_reagent("inaprovaline", 15)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/antitoxin
|
||||
name = "Syringe (anti-toxin)"
|
||||
desc = "Contains anti-toxins."
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 15)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/antitoxin/New()
|
||||
..()
|
||||
reagents.add_reagent("anti_toxin", 15)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/antiviral
|
||||
name = "Syringe (spaceacillin)"
|
||||
desc = "Contains antiviral agents."
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("spaceacillin", 15)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/antiviral/New()
|
||||
..()
|
||||
reagents.add_reagent("spaceacillin", 15)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/drugs
|
||||
name = "Syringe (drugs)"
|
||||
desc = "Contains aggressive drugs meant for torture."
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("space_drugs", 5)
|
||||
reagents.add_reagent("mindbreaker", 5)
|
||||
reagents.add_reagent("cryptobiolin", 5)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("chloralhydrate", 50)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
/obj/item/weapon/reagent_containers/syringe/drugs/New()
|
||||
..()
|
||||
reagents.add_reagent("space_drugs", 5)
|
||||
reagents.add_reagent("mindbreaker", 5)
|
||||
reagents.add_reagent("cryptobiolin", 5)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral/New()
|
||||
..()
|
||||
reagents.add_reagent("chloralhydrate", 50)
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
Reference in New Issue
Block a user