diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 87f36323..7d863331 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -1142,3 +1142,65 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee // containername = "large air tank crate" // access = access_atmospherics // group = "Engineering" + +/datum/supply_packs/aliengloves + name = "Non-Human Glove Kit" + contains = list(/obj/item/clothing/gloves/yellow/specialt, + /obj/item/clothing/gloves/yellow/specialt, + /obj/item/clothing/gloves/yellow/specialt, + /obj/item/clothing/gloves/yellow/specialu, + /obj/item/clothing/gloves/yellow/specialu, + /obj/item/clothing/gloves/yellow/specialu) + cost = 25 + containertype = /obj/structure/closet/crate + containername = "speciality gloves kit" + group = "Supply" + +/datum/supply_packs/hardsuitcrate_e + name = "Engineering Hardsuit" + contains = list(/obj/item/clothing/head/helmet/space/rig, + /obj/item/clothing/suit/space/rig) + cost = 40 + containertype = /obj/structure/closet/crate/secure + containername = "engineer hardsuit kit" + access_engine_equip + group = "Engineering" + +/datum/supply_packs/hardsuitcrate_s + name = "Security Hardsuit Crate" + contains = list(/obj/item/clothing/head/helmet/space/rig/security, + /obj/item/clothing/suit/space/rig/security) + cost = 40 + containertype = /obj/structure/closet/crate/secure + containername = "Security Hardsuit Kit" + access = access_security + group = "Security" + +/datum/supply_packs/hardsuitcrate_m + name = "Medical Hardsuit Crate" + contains = list(/obj/item/clothing/head/helmet/space/rig/medical, + /obj/item/clothing/suit/space/rig/medical) + cost = 40 + containertype = /obj/structure/closet/crate/secure + containername = "medical hardsuit kit" + access = access_medical + group = "Medical" + +/datum/supply_packs/condiments + name = "Condiment Supply" + contains = list(/obj/item/weapon/reagent_containers/food/condi/s_packet, + /obj/item/weapon/reagent_containers/food/condi/s_packet, + /obj/item/weapon/reagent_containers/food/condi/p_packet, + /obj/item/weapon/reagent_containers/food/condi/p_packet, + /obj/item/weapon/reagent_containers/food/condi/soy_packet, + /obj/item/weapon/reagent_containers/food/condi/soy_packet, + /obj/item/weapon/reagent_containers/food/condi/k_packet, + /obj/item/weapon/reagent_containers/food/condi/k_packet, + /obj/item/weapon/reagent_containers/food/condi/h_packet, + /obj/item/weapon/reagent_containers/food/condi/h_packet, + /obj/item/weapon/reagent_containers/food/condi/sr_packet, + /obj/item/weapon/reagent_containers/food/condi/sr_packet) + cost = 20 + containertype = /obj/structure/closet/crate/freezer + containername = "condiment kit" + group = "Supply" \ No newline at end of file diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 3485e929..4736ad12 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -112,4 +112,24 @@ item_color="brown" cargo - item_color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way. \ No newline at end of file + item_color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way. + +/obj/item/clothing/gloves/yellow/specialt + desc = "These gloves will protect the wearer from electric shock. Made special for Tajaran use" + name = "Tajaran electrical gloves" + icon_state = "yellow" + item_state = "ygloves" + siemens_coefficient = 0 + permeability_coefficient = 0.05 + item_color="yellow" + species_restricted = list("Tajaran") + +/obj/item/clothing/gloves/yellow/specialu + desc = "These gloves will protect the wearer from electric shock. Made special for Unathi use" + name = "Unathi electrical gloves" + icon_state = "yellow" + item_state = "ygloves" + siemens_coefficient = 0 + permeability_coefficient = 0.05 + item_color="yellow" + species_restricted = list("Unathi") \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index dce9649f..16f65b95 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -167,4 +167,180 @@ volume = 20 New() ..() - reagents.add_reagent("blackpepper", 20) \ No newline at end of file + reagents.add_reagent("blackpepper", 20) + + +/obj/item/weapon/reagent_containers/food/condi/ + name = "Plastic Packet" + desc = "Just your average condiment packet." + icon = 'icons/obj/condi.dmi' + icon_state = "condi_empty" + flags = FPRINT | TABLEPASS | OPENCONTAINER + possible_transfer_amounts = list(1,5,10) + volume = 10 + + attackby(obj/item/weapon/W as obj, mob/user as mob) + + return + attack_self(mob/user as mob) + return + attack(mob/M as mob, mob/user as mob, def_zone) + var/datum/reagents/R = src.reagents + + if(!R || !R.total_volume) + user << "\red None of [src] left, oh no!" + return 0 + + if(M == user) + M << "\blue You swallow some of contents of the [src]." + if(reagents.total_volume) + reagents.trans_to_ingest(M, 10) + + playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) + return 1 + else if( istype(M, /mob/living/carbon/human) ) + + for(var/mob/O in viewers(world.view, user)) + O.show_message("\red [user] attempts to feed [M] [src].", 1) + if(!do_mob(user, M)) return + for(var/mob/O in viewers(world.view, user)) + O.show_message("\red [user] feeds [M] [src].", 1) + + M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [user.name] ([user.ckey]) Reagents: [reagentlist(src)]") + user.attack_log += text("\[[time_stamp()]\] Fed [src.name] by [M.name] ([M.ckey]) Reagents: [reagentlist(src)]") + msg_admin_attack("[user.name] ([user.ckey]) fed [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (JMP)") + + if(reagents.total_volume) + reagents.trans_to_ingest(M, 10) + + playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) + return 1 + return 0 + + attackby(obj/item/I as obj, mob/user as mob) + + return + + afterattack(obj/target, mob/user , flag) + if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. + + if(!target.reagents.total_volume) + user << "\red [target] is empty." + return + + if(reagents.total_volume >= reagents.maximum_volume) + user << "\red [src] is full." + return + + var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) + user << "\blue You fill [src] with [trans] units of the contents of [target]." + + //Something like a glass or a food item. Player probably wants to transfer TO it. + else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks)) + if(!reagents.total_volume) + user << "\red [src] is empty." + return + if(target.reagents.total_volume >= target.reagents.maximum_volume) + user << "\red you can't add anymore to [target]." + return + var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + user << "\blue You transfer [trans] units of the condiment to [target]." + + on_reagent_change() + if(reagents.reagent_list.len > 0) + switch(reagents.get_master_reagent_id()) + if("sodiumchloride") + name = "Salt Packet" + desc = "Salt. From space oceans, presumably." + icon_state = "condi_salt" + if("blackpepper") + name = "Pepper Pepper" + desc = "Often used to flavor food or make people sneeze." + icon_state = "condi_peper" + if("sugar") + name = "Sugar Packet" + desc = "Tastey space sugar!" + icon_state = "condi_sugar" + if("soysauce") + name = "Soy Sauce Packet" + desc = "A salty soy-based flavoring." + icon_state = "condi_soysauce" + if("hotsauce") + name = "Hot Sauce Packet" + desc = "This stuff is hot. Beware." + icon_state = "condi_hotsauce" + if("ketchup") + name = "Ketchup Packet" + desc = "You feel more American already." + icon_state = "condi_ketchup" + else + icon_state = "condi_empty" + name = "Plastic Packet" + desc = "An empty packet." + return + +/obj/item/weapon/reagent_containers/food/condi/s_packet + name = "Salt Packet" + desc = "A tiny packet of salt, for any food dishes." + icon_state = "condi_salt" + possible_transfer_amounts = list(1,10) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 10 + New() + ..() + reagents.add_reagent("sodiumchloride", 10) + +/obj/item/weapon/reagent_containers/food/condi/p_packet + name = "Pepper Packet" + desc = "A tiny packet of pepper, for any food dishes." + icon_state = "condi_peper" + possible_transfer_amounts = list(1,10) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 10 + New() + ..() + reagents.add_reagent("blackpepper", 10) + +/obj/item/weapon/reagent_containers/food/condi/sr_packet + name = "Sugar Packet" + desc = "A tiny packet of sugar, for any food dishes." + icon_state = "condi_sugar" + possible_transfer_amounts = list(1,10) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 10 + New() + ..() + reagents.add_reagent("sugar", 10) + +/obj/item/weapon/reagent_containers/food/condi/h_packet + name = "Hot Sauce Packet" + desc = "A tiny packet of hot sauce, for any food dishes.Tajaran Beware." + icon_state = "condi_hotsauce" + possible_transfer_amounts = list(1,10) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 10 + New() + ..() + reagents.add_reagent("capsaicin", 10) + +/obj/item/weapon/reagent_containers/food/condi/k_packet + name = "Ketchup Packet" + desc = "A tiny packet of ketchup, for any food dishes." + icon_state = "condi_ketchup" + possible_transfer_amounts = list(1,10) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 10 + New() + ..() + reagents.add_reagent("ketchup", 10) + +/obj/item/weapon/reagent_containers/food/condi/soy_packet + name = "Soy Sauce Packet" + desc = "A tiny packet of soy sauce, for any food dishes." + icon_state = "condi_soysauce" + possible_transfer_amounts = list(1,10) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 10 + New() + ..() + reagents.add_reagent("soysauce", 10) \ No newline at end of file diff --git a/icons/obj/condi.dmi b/icons/obj/condi.dmi new file mode 100644 index 00000000..05fd6364 Binary files /dev/null and b/icons/obj/condi.dmi differ