From 2a4228b5b2d4deefefafbed3b87f6c88d0a396b1 Mon Sep 17 00:00:00 2001 From: BillyBangles Date: Fri, 19 Mar 2021 03:20:41 -0400 Subject: [PATCH] Makes custom cigarettes even more custom-ier (#7925) * can now add multiple items to rolling papers * adds blunt wraps and blunts * un-scuffs the scuffed code more scuffed up than a wooden middle school gym floor after a dodgeball game * further optimization --- code/game/machinery/vending_machines.dm | 2 + .../objects/items/weapons/cigs_lighters.dm | 62 ++++++++++++++---- .../objects/items/weapons/storage/fancy.dm | 12 +++- icons/obj/cigarettes.dmi | Bin 5703 -> 6029 bytes 4 files changed, 61 insertions(+), 15 deletions(-) diff --git a/code/game/machinery/vending_machines.dm b/code/game/machinery/vending_machines.dm index 8d3a99f8d9..40a63c2bb9 100644 --- a/code/game/machinery/vending_machines.dm +++ b/code/game/machinery/vending_machines.dm @@ -297,6 +297,7 @@ /obj/item/weapon/storage/fancy/cigarettes/jerichos = 10, /obj/item/weapon/storage/fancy/cigarettes/menthols = 10, /obj/item/weapon/storage/rollingpapers = 10, + /obj/item/weapon/storage/rollingpapers/blunt = 10, /obj/item/weapon/storage/chewables/tobacco = 5, /obj/item/weapon/storage/chewables/tobacco/fine = 5, /obj/item/weapon/storage/box/matches = 10, @@ -325,6 +326,7 @@ /obj/item/weapon/storage/fancy/cigarettes/jerichos = 22, /obj/item/weapon/storage/fancy/cigarettes/menthols = 18, /obj/item/weapon/storage/rollingpapers = 10, + /obj/item/weapon/storage/rollingpapers/blunt = 20, /obj/item/weapon/storage/chewables/tobacco = 10, /obj/item/weapon/storage/chewables/tobacco/fine = 20, /obj/item/weapon/storage/box/matches = 1, diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 493dc870b4..9a14014ea7 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -490,34 +490,70 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/cigarette/joint name = "joint" - desc = "This probably shouldn't ever show up." + desc = "A joint lovingly rolled and crafted with care. Blaze it." icon_state = "joint" + max_smoketime = 400 + smoketime = 400 + chem_volume = 25 + +/obj/item/clothing/mask/smokable/cigarette/joint/blunt + name = "blunt" + desc = "A blunt lovingly rolled and crafted with care. Blaze it." + icon_state = "cigar" max_smoketime = 500 smoketime = 500 - nicotine_amt = 0 + nicotine_amt = 4 + chem_volume = 45 -/obj/item/weapon/rollingpaper +/obj/item/weapon/reagent_containers/rollingpaper name = "rolling paper" desc = "A small, thin piece of easily flammable paper, commonly used for rolling and smoking various dried plants." description_fluff = "The legalization of certain substances propelled the sale of rolling papers through the roof. Now almost every Trans-stellar produces a variety, often of questionable quality." icon = 'icons/obj/cigarettes.dmi' icon_state = "cig paper" + volume = 25 + var/obj/item/clothing/mask/smokable/cigarette/crafted_type = /obj/item/clothing/mask/smokable/cigarette/joint -/obj/item/weapon/rollingpaper/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/weapon/reagent_containers/rollingpaper/blunt + name = "blunt wrap" + desc = "A small piece of easily flammable paper similar to that which encases cigars. It's made out of tobacco, bigger than a standard rolling paper, and will last longer." + icon_state = "blunt paper" + volume = 45 + crafted_type = /obj/item/clothing/mask/smokable/cigarette/joint/blunt + +/obj/item/weapon/reagent_containers/rollingpaper/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/reagent_containers/food/snacks)) var/obj/item/weapon/reagent_containers/food/snacks/grown/G = W - if (!G.dry) - to_chat(user, "[G] must be dried before you roll it into [src].") + if (!G.dry) //This prevents people from just stuffing cheeseburgers into their joint + to_chat(user, "[G.name] must be dried before you add it to [src].") return - var/obj/item/clothing/mask/smokable/cigarette/joint/J = new /obj/item/clothing/mask/smokable/cigarette/joint(user.loc) - to_chat(usr, "You roll the [G.name] into a joint!") - J.add_fingerprint(user) + if (G.reagents.total_volume + src.reagents.total_volume > src.reagents.maximum_volume) //Check that we don't have too much already in the paper before adding things + to_chat(user, "The [src] is too full to add [G.name].") + return + if (src.reagents.total_volume == 0) + if (istype(src, /obj/item/weapon/reagent_containers/rollingpaper/blunt)) //update the icon if this is the first thing we're adding to the paper + src.icon_state = "blunt_full" + else + src.icon_state = "paper_full" + to_chat(user, "You add the [G.name] to the [src.name].") + src.add_fingerprint(user) if(G.reagents) - G.reagents.trans_to_obj(J, G.reagents.total_volume) - J.name = "[G.name] joint" - J.desc = "A joint lovingly rolled and filled with [G.name]. Blaze it." + G.reagents.trans_to_obj(src, G.reagents.total_volume) //adds the reagents from the plant into the paper + user.drop_from_inventory(G) qdel(G) - qdel(src) + +/obj/item/weapon/reagent_containers/rollingpaper/attack_self(mob/living/user) + if(!src.reagents) //don't roll an empty joint + to_chat(user, "There is nothing in [src]. Add something to it first.") + return + var/obj/item/clothing/mask/smokable/cigarette/J = new crafted_type() + to_chat(user,"You roll the [src] into a blunt!") + J.add_fingerprint(user) + if(src.reagents) + src.reagents.trans_to_obj(J, src.reagents.total_volume) + user.drop_from_inventory(src) + user.put_in_hands(J) + qdel(src) ///////// //ZIPPO// diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 2d47c26a32..0cf4e76295 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -355,8 +355,16 @@ throwforce = 2 slot_flags = SLOT_BELT storage_slots = 14 - can_hold = list(/obj/item/weapon/rollingpaper) - starts_with = list(/obj/item/weapon/rollingpaper = 14) + can_hold = list(/obj/item/weapon/reagent_containers/rollingpaper) + starts_with = list(/obj/item/weapon/reagent_containers/rollingpaper = 14) + +/obj/item/weapon/storage/rollingpapers/blunt + name = "blunt wrap pack" + desc = "A small cardboard pack containing several folded blunt wraps." + icon_state = "bluntbox" + storage_slots = 7 + can_hold = list(/obj/item/weapon/reagent_containers/rollingpaper/blunt) + starts_with = list(/obj/item/weapon/reagent_containers/rollingpaper/blunt = 7) /* * Vial Box diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index 922dd1250867c9aa93260d5854decb84a55d97d1..b85ea96357532324da4483b112f035e066252d4c 100644 GIT binary patch delta 5832 zcmZ8l2{@Ep|DLgvEZO%$C|OFOWKg^*YgvY5#!?hAvSb-NlawrxC}c|#Sx1(UZH8=R zjk22=ytW2oAB>s#PrcvwUElY=&bglJoa^~L=Q`JY&U4?t``3BuxyB0x7Vx#?<25%k z)lXKP(=-y}VK5kQd49%B+;tgVo1sKTiHt0?)kLW8!b3f4aAQ0#_i0$zal|t>A@B-hXvdKgdAQ`whIfTP}OxSWW zb-#A)^5x4%j~FI-n&F*}J!R@jfbX z{)qgN0=>8&bLC^1!n+^Cg4exB&s1uHj8n%i$X~lJBiOECmVCNmG#%>GqpCeGBDER! zJhZ)|(aoJct+907@YD@cpBtv7H%ymrn4YpR^|3K6-6SY{v@tAYj{aW{$d7Q;kOYuz zp1U`lGX4U>VGup>TJI#ji!Nz;BeJdwaMAM)9%D@b-fRLTg8q4#79&)zk+TLe?%Ga_ z7Jm6S=lgh3?;%M~Grn>kGs}tbPqSCwsqVPX_pucC5YjQ#kpcW;fIg@p@y>=Do1 zqx{E~Z}y||R0^q%pKHWy2UelVg;PM)Wc4~gsa{7j~j%w#2QoWLe{e+zlUu@v2xREsOlPT}pTV6k5 zjZo=jFlquk9*Q07J%8nH^>Vpxg*zp5Uwu3~m#<1p=Bd4z0GrXD9#=d2IxiWLdc4!= zX~spf2KPs&&kn|Xss?->@p^8AgH_6ScR{~a@9nY#RwQwBg_eV=6W{r;;Sc{>)#}+j zh*HJPY$qSq?dOyxGzU;EOKUE1h%0AV-L24NHf}QN`o53{t9nNg+pPq-!@7y?T;k_Z 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