From b0f13b4c42649ba63f1f439e2df606636f86fd15 Mon Sep 17 00:00:00 2001 From: skull132 Date: Wed, 20 Aug 2014 00:04:17 +0300 Subject: [PATCH] Condiments, supplies and things Adds xeno gloves, orderable hardsuits and condiments. --- code/datums/supplypacks.dm | 62 ++++++ code/modules/clothing/gloves/color.dm | 22 ++- .../reagent_containers/food/condiment.dm | 178 +++++++++++++++++- icons/obj/condi.dmi | Bin 0 -> 1457 bytes 4 files changed, 260 insertions(+), 2 deletions(-) create mode 100644 icons/obj/condi.dmi 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 0000000000000000000000000000000000000000..05fd636422c528a0c2f504f206679817e4a06763 GIT binary patch literal 1457 zcmZwHc~H`M6aes_V&DacZl&f)jn-CJ)3&CCS0rh!n5n6xs9Sj^ty(AwQfh6PN2cYG zN4b?LND|5_8ko7*>WHRdVQTA<2PGz9iyAD=&d$#6^vC z>b-OCZ_I8t2LGvde;am0`^12Ssj>}JXEU=Lx-<=CUX;8aTkcC@ki&n!u%Yj)gPH#a z7$~*xY`y;T z=N@*9x4HRZsALNpvDuSxkL^>ON%krX>P3HWo5Lqd(jpi;(6%6 zRG&@qtaU&qUS_L}-caj9J_3V=x{2w<2a~p-U|YeQoC#wt{ql-8iR9kBdU}lHnDV5u z+v}}P+WD8#)pxxo$LzBdiWJQ>g_UF@z*?sf2Giu5Y0(_CfkXq~trgJY3KUnH0oE89 zWu)9&G*j6`r~~cG9qiVfOP9R-Xa_+Y> zly+Fpp~QPrD=%?yc$t$*iVC@V%ob-O%Da|ZP|L$l-^#Gc=Q`UK;@E>Zi%vX)iPQn> zeC0H`_4{{CZBErnxm+H|IDv{)6luOm3EeU$l@baCv5n$L*23zOrR>Aqc9~J7W)~`E z4z1pj?uB=Mp2O+-2ia4U1x&lpYs<{uUiWkUycZ;z%Coo=#uuyBIlfQO&V&)Zzmv7817bcXT!IWHEfPzl(uZ zwoc>rrg}}*McS7)GZ*peh5ex6+8jWB^ibFX#>#_oIM5bw)14bZ1D!3-*l}_mgYRjmo&=pl{gPo(Y|J4K0 zT0vG;R#bXK#M72^MLSPoqz|8G;%FtVrb;q8{E9&~b(C!Q#dhV3trfQIj5Ff8q@}-x z_}Tc;D~+idDZLsLxYUiZ8c!RcmXi&O&FOQb5c}n$`2rah(zi&;r799FgqG$m9nyW? zBeNtkK`nt(q2)-scf9G6Hu5b9K93;4o|!%djpdFApyp zPhVSb6hUYN9Xg!D-IVb7x?l$itpbfiiU*p|QGfDCde)`Gu%G9Xh;Rg=Xw2dkzJVR{nqVR(pgEk& zF~q#a_&n6u-g)~AODh0ob+$L-c!T&(yG5+9)2=Q4SX|Rc;nPOyTRnBM*=Ztk-(X-k8nSK zE=V^1!>@?F?xW4Ey8IQuWHnLYx9DAJS&2