diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index a97aeb87ca0..a3b3c7a91b4 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -316,23 +316,52 @@ icon_state = "cigs" vend_id = "smokes" products = list( - /obj/item/storage/fancy/cigarettes = 10, + /obj/item/storage/fancy/cigarettes/rugged = 2, + /obj/item/storage/fancy/cigarettes = 3, + /obj/item/storage/fancy/cigarettes/dromedaryco = 2, + /obj/item/storage/fancy/cigarettes/nicotine = 2, + /obj/item/storage/chewables/rollable/bad = 2, + /obj/item/storage/chewables/rollable = 2, + /obj/item/storage/chewables/rollable/fine = 2, + /obj/item/storage/chewables/rollable/nico = 2, + /obj/item/storage/chewables/tobacco/bad = 2, + /obj/item/storage/chewables/tobacco = 2, + /obj/item/storage/chewables/tobacco/fine = 2, + /obj/item/storage/fancy/chewables/tobacco/nico = 2, + /obj/item/storage/cigfilters = 5, + /obj/item/storage/fancy/cigpaper = 3, + /obj/item/storage/fancy/cigpaper/fine = 2, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/random = 4, /obj/item/spacecash/ewallet/lotto = 30 ) contraband = list( /obj/item/storage/fancy/cigarettes/blank = 5, - /obj/item/storage/fancy/cigarettes/acmeco = 5 + /obj/item/storage/fancy/cigarettes/acmeco = 5, + /obj/item/clothing/mask/smokable/cigarette/rolled/sausage = 3 ) premium = list( /obj/item/flame/lighter/zippo = 4, /obj/item/storage/fancy/cigar = 5 ) prices = list( - /obj/item/storage/fancy/cigarettes = 200, + /obj/item/storage/fancy/cigarettes/rugged = 200, + /obj/item/storage/fancy/cigarettes = 245, + /obj/item/storage/fancy/cigarettes/dromedaryco = 270, + /obj/item/storage/fancy/cigarettes/nicotine = 325, + /obj/item/storage/chewables/rollable/bad = 40, + /obj/item/storage/chewables/rollable = 50, + /obj/item/storage/chewables/rollable/fine = 60, + /obj/item/storage/chewables/rollable/nico = 90, + /obj/item/storage/chewables/tobacco/bad = 60, + /obj/item/storage/chewables/tobacco = 90, + /obj/item/storage/chewables/tobacco/fine = 120, + /obj/item/storage/fancy/chewables/tobacco/nico = 150, /obj/item/storage/box/matches = 12, /obj/item/flame/lighter/random = 12, + /obj/item/storage/cigfilters = 20, + /obj/item/storage/fancy/cigpaper = 32, + /obj/item/storage/fancy/cigpaper/fine = 48, /obj/item/spacecash/ewallet/lotto = 200 ) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index aa473ed3659..7ced1638162 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -11,7 +11,7 @@ origin_tech = list(TECH_ILLEGAL = 4, TECH_MAGNET = 4) var/can_use = 1 var/obj/effect/dummy/chameleon/active_dummy = null - var/saved_item = /obj/item/cigbutt + var/saved_item = /obj/item/trash/cigbutt var/saved_icon = 'icons/obj/clothing/masks.dmi' var/saved_icon_state = "cigbutt" var/saved_overlays diff --git a/code/game/objects/items/weapons/chewables.dm b/code/game/objects/items/weapons/chewables.dm index 3d027cff33e..a0148cf9630 100644 --- a/code/game/objects/items/weapons/chewables.dm +++ b/code/game/objects/items/weapons/chewables.dm @@ -33,6 +33,7 @@ obj/item/clothing/mask/chewable/Initialize() reagents.add_reagent(R, filling[R]) if(wrapped) slot_flags = null + update_icon() /obj/item/clothing/mask/chewable/equipped(var/mob/living/user, var/slot) ..() @@ -97,28 +98,29 @@ obj/item/clothing/mask/chewable/Destroy() to_chat(M, span("notice", "You spit out the [name].")) qdel(src) -/obj/item/clothing/mask/chewable/tobacco/lenni +/obj/item/clothing/mask/chewable/tobacco/bad name = "chewing tobacco" - desc = "A chewy wad of tobacco. Cut in long strands and treated with syrup so it tastes less like an ash-tray when you stuff it into your face." - filling = list("nicotine" = 2) + desc = "A chewy wad of cheap tobacco. Cut in long strands and treated with syrup so it tastes less like an ash-tray when you stuff it into your face." + filling = list("tobaccobad" = 2) -/obj/item/clothing/mask/chewable/tobacco/redlady +/obj/item/clothing/mask/chewable/tobacco/generic + name = "chewing tobacco" + desc = "A chewy wad of tobacco. Cut in long strands and treated with syrup so it doesn't taste like an ash-tray when you stuff it into your face." + filling = list("tobacco" = 2) + +/obj/item/clothing/mask/chewable/tobacco/fine name = "chewing tobacco" desc = "A chewy wad of fine tobacco. Cut in long strands and treated with syrup so it doesn't taste like an ash-tray when you stuff it into your face." - filling = list("nicotine" = 2) + filling = list("tobaccofine" = 2) /obj/item/clothing/mask/chewable/tobacco/nico name = "nicotine gum" desc = "A chewy wad of synthetic rubber, laced with nicotine. Possibly the least disgusting method of nicotine delivery." + filling = list("nicotine" = 2) icon_state = "nic_gum" type_butt = /obj/item/trash/spitgum wrapped = TRUE -/obj/item/clothing/mask/chewable/tobacco/nico/Initialize() - . = ..() - reagents.add_reagent("nicotine", 2) - color = reagents.get_color() - /obj/item/clothing/mask/chewable/candy name = "wad" desc = "A chewy wad of wadding material." diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 69e654e3a96..1d69beea13d 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -39,6 +39,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM desc = "A simple match stick, used for lighting fine smokables." icon = 'icons/obj/cigs_lighters.dmi' icon_state = "match_unlit" + item_state = "match_unlit" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) var/burnt = 0 var/smoketime = 5 w_class = 1.0 @@ -76,7 +81,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM burnt = 1 damtype = "brute" icon_state = "match_burnt" - item_state = "cigoff" + item_state = "match_burnt" name = "burnt match" desc = "A match. This one has seen better days." STOP_PROCESSING(SSprocessing, src) @@ -87,6 +92,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable name = "smokable item" desc = "You're not sure what this is. You should probably ahelp it." + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) body_parts_covered = 0 var/lit = 0 var/icon_on @@ -171,7 +180,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(ismob(loc)) var/mob/living/M = loc if (!nomessage) - to_chat(M, "Your [name] goes out.") + to_chat(M, span("notice", "Your [name] goes out.")) M.remove_from_mob(src) //un-equip it so the overlays can update M.update_inv_wear_mask(0) M.update_inv_l_hand(0) @@ -183,7 +192,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(ismob(loc)) var/mob/living/M = loc if (!nomessage) - to_chat(M, "Your [name] goes out, and you empty the ash.") + to_chat(M, span("notice", "Your [name] goes out, and you empty the ash.")) playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) lit = 0 icon_state = icon_off @@ -223,7 +232,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM attack_verb = list("burnt", "singed") icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi icon_off = "cigoff" - type_butt = /obj/item/cigbutt + type_butt = /obj/item/trash/cigbutt chem_volume = 30 burn_rate = 0.006 //Lasts ~166 seconds) matchmes = "USER lights their NAME with their FLAME." @@ -244,7 +253,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(istype(W, /obj/item/melee/energy/sword)) var/obj/item/melee/energy/sword/S = W if(S.active) - light("[user] swings their [W], barely missing themselves. They light their [name] in the process.") + light(span("warning", "[user] swings their [W], barely missing themselves. They light their [name] in the process.")) return @@ -252,14 +261,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(lit && H == user && istype(H)) var/obj/item/blocked = H.check_mouth_coverage() if(blocked) - to_chat(H, "\The [blocked] is in the way!") + to_chat(H, span("warning", "\The [blocked] is in the way!")) return 1 if(last_drag <= world.time - 30) //Spam limiter. Only for messages/sound. last_drag = world.time H.visible_message("[H.name] takes a drag of their [name].") playsound(H, 'sound/items/cigs_lighters/inhale.ogg', 50, 0, -1) - reagents.trans_to_mob(H, (rand(10,20)/10), CHEM_BREATHE) //Smokes it faster. Slightly random amount. - return 1 + reagents.trans_to_mob(H, (rand(10,20)/10), CHEM_BREATHE) //Smokes it faster. Slightly random amount. + return 1 return ..() /obj/item/clothing/mask/smokable/cigarette/afterattack(obj/item/reagent_containers/glass/glass, mob/user as mob, proximity) @@ -269,17 +278,17 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(istype(glass)) //you can dip cigarettes into beakers var/transfered = glass.reagents.trans_to_obj(src, chem_volume) if(transfered) //if reagents were transfered, show the message - to_chat(user, "You dip \the [src] into \the [glass].") + to_chat(user, span("warning", "You dip \the [src] into \the [glass].")) playsound(src.loc, 'sound/effects/footsteps/slosh1.wav', 50, 1) else //if not, either the beaker was empty, or the cigarette was full if(!glass.reagents.total_volume) - to_chat(user, "[glass] is empty.") + to_chat(user, span("notice", "[glass] is empty.")) else - to_chat(user, "[src] is full.") + to_chat(user, span("notice", "[src] is full.")) /obj/item/clothing/mask/smokable/cigarette/attack_self(mob/user as mob) if(lit == 1) - user.visible_message("[user] calmly drops and treads on the lit [src], putting it out instantly.") + user.visible_message(span("notice", "[user] calmly drops and treads on the lit [src], putting it out instantly.")) playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) die(1) return ..() @@ -314,13 +323,27 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/cigarette/dromedaryco - /obj/item/clothing/mask/smokable/cigarette/dromedaryco/Initialize() . = ..() reagents.clear_reagents() reagents.add_reagent("tobacco",5) reagents.add_reagent("nicotine",10) +/obj/item/clothing/mask/smokable/cigarette/nicotine + +/obj/item/clothing/mask/smokable/cigarette/nicotine/Initialize() + . = ..() + reagents.clear_reagents() + reagents.add_reagent("tobaccofine",5) + reagents.add_reagent("nicotine",10) + +/obj/item/clothing/mask/smokable/cigarette/rugged + +/obj/item/clothing/mask/smokable/cigarette/rugged/Initialize() + . = ..() + reagents.clear_reagents() + reagents.add_reagent("tobaccobad",10) + reagents.add_reagent("nicotine",5) //////////// // CIGARS // @@ -328,12 +351,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/cigarette/cigar name = "premium cigar" desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!" - icon_state = "cigar2off" - icon_on = "cigar2on" - icon_off = "cigar2off" - type_butt = /obj/item/cigbutt/cigarbutt - throw_speed = 0.5 + icon_state = "cigaroff" + icon_on = "cigaron" + icon_off = "cigaroff" item_state = "cigaroff" + type_butt = /obj/item/trash/cigbutt/cigarbutt + throw_speed = 0.5 burn_rate = 0.003 //Lasts ~300 seconds chem_volume = 60 matchmes = "USER lights their NAME with their FLAME." @@ -355,6 +378,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = "cigar2off" icon_on = "cigar2on" icon_off = "cigar2off" + type_butt = /obj/item/trash/cigbutt/cigarbutt/alt chem_volume = 60 /obj/item/clothing/mask/smokable/cigarette/cigar/havana/Initialize() @@ -370,6 +394,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = "cigar2off" icon_on = "cigar2on" icon_off = "cigar2off" + type_butt = /obj/item/trash/cigbutt/cigarbutt/alt chem_volume = 120 /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba/Initialize() @@ -379,7 +404,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM reagents.add_reagent("nicotine",10) //1/6 Ratio reagents.add_reagent("tricordrazine",20) -/obj/item/cigbutt +/obj/item/trash/cigbutt name = "cigarette butt" desc = "A manky old cigarette butt." icon = 'icons/obj/clothing/masks.dmi' @@ -390,22 +415,44 @@ CIGARETTE PACKETS ARE IN FANCY.DM throwforce = 1 drop_sound = 'sound/items/cigs_lighters/cig_snuff.ogg' -/obj/item/cigbutt/Initialize() +/obj/item/trash/cigbutt/Initialize() . = ..() randpixel_xy() transform = turn(transform,rand(0,360)) -/obj/item/cigbutt/cigarbutt +/obj/item/trash/cigbutt/cigarbutt name = "cigar butt" desc = "A manky old cigar butt." icon_state = "cigarbutt" +/obj/item/trash/cigbutt/cigarbutt/alt + icon_state = "cigarbutt2" + /obj/item/clothing/mask/smokable/cigarette/cigar/attackby(obj/item/W as obj, mob/user as mob) ..() user.update_inv_wear_mask(0) user.update_inv_l_hand(0) user.update_inv_r_hand(1) +/obj/item/clothing/mask/smokable/cigarette/rolled/sausage + name = "sausage" + desc = "A piece of mixed, long meat, with a smoky scent." + icon_state = "sausageoff" + item_state = "sausageoff" + icon_on = "sausageon" + type_butt = /obj/item/trash/cigbutt/sausagebutt + chem_volume = 6 + +/obj/item/clothing/mask/smokable/cigarette/rolled/sausage/Initialize() + . = ..() + reagents.clear_reagents() + reagents.add_reagent("protein",6) + +/obj/item/trash/cigbutt/sausagebutt + name = "sausage butt" + desc = "A piece of burnt meat." + icon_state = "sausagebutt" + ///////////////// //SMOKING PIPES// ///////////////// @@ -448,7 +495,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/pipe/attack_self(mob/user as mob) if(lit == 1) - user.visible_message("[user] puts out [src].", "You put out [src].") + user.visible_message(span("notice", "[user] puts out [src]."), span("notice", "You put out [src].")) playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) lit = 0 icon_state = icon_off @@ -456,7 +503,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM STOP_PROCESSING(SSprocessing, src) else if (burn_rate) var/turf/location = get_turf(user) - user.visible_message("[user] empties out [src].", "You empty out [src].") + user.visible_message(span("notice", "[user] empties out [src]."), span("notice", "You empty out [src].")) new /obj/effect/decal/cleanable/ash(location) burn_rate = 0 reagents.clear_reagents() @@ -471,10 +518,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM if (istype(W, /obj/item/reagent_containers/food/snacks)) var/obj/item/reagent_containers/food/snacks/grown/G = W if (!G.dry) - to_chat(user, "[G] must be dried before you stuff it into [src].") + to_chat(user, span("notice", "[G] must be dried before you stuff it into [src].")) return if (burn_rate) - to_chat(user, "[src] is already packed.") + to_chat(user, span("notice", "[src] is already packed.")) return if(G.reagents) initial_volume = G.reagents.total_volume @@ -486,15 +533,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM else if(istype(W, /obj/item/flame/lighter)) var/obj/item/flame/lighter/L = W if(L.lit) - light("[user] manages to light their [name] with [W].") + light(span("notice", "[user] manages to light their [name] with [W].")) else if(istype(W, /obj/item/flame/match)) var/obj/item/flame/match/M = W if(M.lit) - light("[user] lights their [name] with their [W].") + light(span("notice", "[user] lights their [name] with their [W].")) else if(istype(W, /obj/item/device/assembly/igniter)) - light("[user] fiddles with [W], and manages to light their [name] with the power of science.") + light(span("notice", "[user] fiddles with [W], and manages to light their [name] with the power of science.")) user.update_inv_wear_mask(0) user.update_inv_l_hand(0) @@ -518,6 +565,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon = 'icons/obj/cigs_lighters.dmi' icon_state = "lighter-g" item_state = "lighter-g" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) w_class = 1 throwforce = 4 flags = CONDUCT @@ -557,20 +608,20 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "[base_state]on" playsound(src.loc, pick(activation_sound), 75, 1) if(istype(src, /obj/item/flame/lighter/zippo) ) - user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.") + user.visible_message(span("notice", "Without even breaking stride, [user] flips open and lights [src] in one smooth movement.")) else if(prob(95)) - user.visible_message("After a few attempts, [user] manages to light the [src].") + user.visible_message(span("notice", "After a few attempts, [user] manages to light the [src].")) else - to_chat(user, "You burn yourself while lighting the lighter.") + to_chat(user, span("warning", "You burn yourself while lighting the lighter.")) if(user.IgniteMob()) user.visible_message(span("danger","\The [user] accidentally sets themselves on fire!")) if (user.l_hand == src) user.apply_damage(2,BURN,BP_L_HAND) else user.apply_damage(2,BURN,BP_R_HAND) - user.visible_message("After a few attempts, [user] manages to light the [src], they however burn their finger in the process.") + user.visible_message(span("notice", "After a few attempts, [user] manages to light the [src], they however burn their finger in the process.")) set_light(2, 1, l_color = LIGHT_COLOR_LAVA) START_PROCESSING(SSprocessing, src) @@ -580,9 +631,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "[base_state]" playsound(src.loc, deactivation_sound, 75, 1) if(istype(src, /obj/item/flame/lighter/zippo) ) - user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing.") + user.visible_message(span("notice", "You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing.")) else - user.visible_message("[user] quietly shuts off the [src].") + user.visible_message(span("notice", "[user] quietly shuts off the [src].")) set_light(0) STOP_PROCESSING(SSprocessing, src) @@ -604,9 +655,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM cig.attackby(src, user) else if(istype(src, /obj/item/flame/lighter/zippo)) - cig.light("[user] whips the [name] out and holds it for [M].") + cig.light(span("notice", "[user] whips the [name] out and holds it for [M].")) else - cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") + cig.light(span("notice", "[user] holds the [name] out for [M], and lights the [cig.name].")) else ..() @@ -631,4 +682,104 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "[base_state]" set_light(0) STOP_PROCESSING(SSprocessing, src) - return \ No newline at end of file + return + +/////////// +//ROLLING// +/////////// +/obj/item/clothing/mask/smokable/cigarette/rolled + name = "rolled cigarette" + desc = "A hand rolled cigarette using dried plant matter." + icon_state = "cigrolloff" + item_state = "cigoff" + type_butt = /obj/item/trash/cigbutt/roll + chem_volume = 50 + var/filter = 0 + icon_on = "cigrollon" + icon_off = "cigrolloff" + +/obj/item/trash/cigbutt/roll + icon_state = "rollbutt" + +/obj/item/clothing/mask/smokable/cigarette/rolled/examine(mob/user) + . = ..() + if(. && filter) + to_chat(user, "Capped off one end with a filter.") + +/obj/item/clothing/mask/smokable/cigarette/rolled/update_icon() + . = ..() + if(!lit) + icon_state = filter ? "cigoff" : "cigrolloff" + else + icon_state = filter ? "cigon" : "cigrollon" + +/obj/item/paper/cig + name = "rolling paper" + desc = "A thin piece of paper used to make smokables." + icon = 'icons/obj/cigs_lighters.dmi' + icon_state = "cigpaper_generic" + w_class = 1.0 + +/obj/item/paper/cig/fine + name = "\improper Trident rolling paper" + desc = "A thin piece of trident branded paper used to make fine smokables." + icon_state = "cigpaper_fine" + +/obj/item/paper/cig/filter + name = "cigarette filter" + desc = "A small nub like filter for cigarettes." + icon_state = "cigfilter" + w_class = 1.0 + +//tobacco sold seperately if you're too snobby to grow it yourself. +/obj/item/reagent_containers/food/snacks/grown/dried_tobacco + plantname = "tobacco" + w_class = 1.0 + +/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/Initialize() + . = ..() + dry = TRUE + name = "dried [name]" + color = "#a38463" + +/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/bad + plantname = "badtobacco" + +/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/fine + plantname = "finetobacco" + +/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/pure + plantname = "puretobacco" + +/obj/item/clothing/mask/smokable/cigarette/rolled/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/paper/cig/filter)) + if(filter) + to_chat(user, span("warning", "[src] already has a filter!")) + return + if(lit) + to_chat(user, span("warning", "[src] is lit already!")) + return + if(user.unEquip(I)) + to_chat(user, span("notice", "You stick [I] into \the [src]")) + filter = 1 + name = "filtered [name]" + update_icon() + qdel(I) + return + ..() + +/obj/item/reagent_containers/food/snacks/grown/attackby(obj/item/I, mob/user) + if(is_type_in_list(I, list(/obj/item/paper/cig/, /obj/item/paper/, /obj/item/teleportation_scroll))) + if(!dry) + to_chat(user, span("warning", "You need to dry [src] first!")) + return + if(user.unEquip(I)) + var/obj/item/clothing/mask/smokable/cigarette/rolled/R = new(get_turf(src)) + R.chem_volume = reagents.total_volume + reagents.trans_to_holder(R.reagents, R.chem_volume) + to_chat(user, span("notice", "You roll \the [src] into \the [I]")) + user.put_in_active_hand(R) + qdel(I) + qdel(src) + return + ..() diff --git a/code/game/objects/items/weapons/material/ashtray.dm b/code/game/objects/items/weapons/material/ashtray.dm index b7e93810ec3..f8141cc79e6 100644 --- a/code/game/objects/items/weapons/material/ashtray.dm +++ b/code/game/objects/items/weapons/material/ashtray.dm @@ -41,7 +41,7 @@ /obj/item/material/ashtray/attackby(obj/item/W as obj, mob/user as mob) if (health <= 0) return - if (istype(W,/obj/item/cigbutt) || istype(W,/obj/item/clothing/mask/smokable/cigarette) || istype(W, /obj/item/flame/match)) + if (istype(W,/obj/item/trash/cigbutt) || istype(W,/obj/item/clothing/mask/smokable/cigarette) || istype(W, /obj/item/flame/match)) if (contents.len >= max_butts) to_chat(user, "\The [src] is full.") return diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 9542db9f2e9..cf323d96994 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -118,7 +118,7 @@ desc = "A faithful box that will remain with you, no matter where you go, and probably save you." icon_state = "e_box" autodrobe_no_remove = 1 - starts_with = list(/obj/item/clothing/mask/breath = 1, + starts_with = list(/obj/item/clothing/mask/breath = 1, /obj/item/tank/emergency_oxygen = 1, /obj/item/device/flashlight/flare = 1 ) @@ -476,6 +476,7 @@ W.lit = 1 W.damtype = "burn" W.icon_state = "match_lit" + W.item_state = "match_lit" START_PROCESSING(SSprocessing, W) else playsound(src.loc, 'sound/items/cigs_lighters/matchstick_hit.ogg', 25, 0, -1) diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 5147cba1f56..f267f25aee3 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -151,11 +151,16 @@ //CIG PACK// //////////// /obj/item/storage/fancy/cigarettes - name = "cigarette packet" - desc = "The most popular brand of Space Cigarettes, sponsors of the Space Olympics." + name = "Trans-Stellar Duty Free cigarette packet" + desc = "A ubiquitous brand of cigarettes, found in the facilities of every major spacefaring corporation in the universe. As mild and flavorless as it gets." icon = 'icons/obj/cigs_lighters.dmi' icon_state = "cigpacket" item_state = "cigpacket" + icon_type = "cigarette" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) drop_sound = 'sound/items/drop/gloves.ogg' use_sound = 'sound/items/drop/paper.ogg' w_class = 1 @@ -163,8 +168,7 @@ slot_flags = SLOT_BELT storage_slots = 6 var/cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette - can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/flame/lighter, /obj/item/cigbutt) - icon_type = "cigarette" + can_hold = list(/obj/item/clothing/mask/smokable/cigarette, /obj/item/flame/lighter, /obj/item/trash/cigbutt) /obj/item/storage/fancy/cigarettes/Initialize() flags |= NOREACT @@ -213,21 +217,21 @@ // get it? A - AcmeCo, B - Blank, C - Cigar, D - DromedaryCo. How convenient is that? - Wezzy /obj/item/storage/fancy/cigarettes/acmeco - name = "\improper AcmeCo packet" + name = "\improper AcmeCo cigarette packet" desc = "A packet of six AcmeCo cigarettes. For those who somehow want to obtain the record for the most amount of cancerous tumors." icon_state = "Apacket" - item_state = "Apacket" //Doesn't have an inhand state, but neither does dromedary, so, ya know.. + item_state = "Apacket" cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/acmeco /obj/item/storage/fancy/cigarettes/blank - name = "\improper blank packet" + name = "\improper blank cigarette packet" desc = "A packet of six blank cigarettes. The healthiest cigarettes on the market!" icon_state = "Bpacket" - item_state = "Bpacket" //Doesn't have an inhand state, but neither does dromedary, so, ya know.. + item_state = "Bpacket" cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/blank /obj/item/storage/fancy/cigarettes/dromedaryco - name = "\improper DromedaryCo packet" + name = "\improper DromedaryCo cigarette packet" desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\"" icon_state = "Dpacket" item_state = "Dpacket" @@ -239,12 +243,16 @@ icon_state = "cigarcase" item_state = "cigarcase" icon = 'icons/obj/cigs_lighters.dmi' - drop_sound = 'sound/items/drop/gloves.ogg' - use_sound = 'sound/items/drop/paper.ogg' + drop_sound = 'sound/items/drop/shovel.ogg' + use_sound = 'sound/items/storage/briefcase.ogg' + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) w_class = 1 throwforce = 2 slot_flags = SLOT_BELT - storage_slots = 7 + storage_slots = 8 can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar) icon_type = "cigar" @@ -283,6 +291,20 @@ else ..() +/obj/item/storage/fancy/cigarettes/nicotine + name = "\improper Nico-Tine cigarette packet" + desc = "A packet of six Nico-Tine cigarettes. Allegedly advertised as the most enviromentally friendly cigarettes in the market. It doesn't specify how, but it definitely isn't your body." + icon_state = "Epacket" + item_state = "Epacket" + cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/nicotine + +/obj/item/storage/fancy/cigarettes/rugged + name = "\improper Lucky Strike cigarette packet" + desc = "A packet of six Lucky Strike cigarettes. Rumored to be part of an Idris money laundering scheme, it's original purpose long forgotten." + icon_state = "Fpacket" + item_state = "Fpacket" + cigarette_to_spawn = /obj/item/clothing/mask/smokable/cigarette/rugged + /* * Vial Box */ diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm index 5e2890e8f0a..44bae681ade 100644 --- a/code/game/objects/items/weapons/storage/misc.dm +++ b/code/game/objects/items/weapons/storage/misc.dm @@ -48,3 +48,149 @@ /obj/item/storage/box/pineapple/fill() . = ..() update_icon() + +//cigarette papers +/obj/item/storage/fancy/cigpaper + name = "\improper Gen. Eric cigarette paper" + desc = "A ubiquitous brand of cigarette paper, allegedly endorsed by 24th century war hero General Eric Osmundsun for rolling your own cigarettes. Osmundsun died in a freak kayak accident. As it ate him alive during his last campaign. It was pretty freaky." + icon = 'icons/obj/cigs_lighters.dmi' + icon_state = "cigpaperbook_generic" + item_state = "cigpacket" + drop_sound = 'sound/items/drop/wrapper.ogg' + use_sound = 'sound/items/drop/paper.ogg' + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) + w_class = 2 + max_storage_space = 10 + throwforce = 2 + slot_flags = SLOT_BELT + starts_with = list(/obj/item/paper/cig = 10) + make_exact_fit() + +/obj/item/storage/fancy/cigpaper/update_icon() + . = ..() + if(contents.len) + icon_state = "[initial(icon_state)]" + else + icon_state = "[initial(icon_state)]_empty" + +/obj/item/storage/cigfilters + name = "box of cigarette filters" + desc = "A box of generic cigarette filters for those who rolls their own but prefers others to inhale the fumes." + icon = 'icons/obj/cigs_lighters.dmi' + icon_state = "cigfilters_generic" + item_state = "cigpacket" + w_class = 2 + starts_with = list(/obj/item/paper/cig/filter = 10) + make_exact_fit() + +/obj/item/storage/fancy/cigpaper/fine + name = "\improper Trident cigarette paper" + desc = "A fancy brand of Trident cigarette paper, for rolling your own cigarettes. Like a person who appreciates the finer things in life." + icon = 'icons/obj/cigs_lighters.dmi' + icon_state = "cigpaperbook_fine" + item_state = "Dpacket" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) + starts_with = list(/obj/item/paper/cig/fine = 10) + +//chewing tobacco +/obj/item/storage/chewables + name = "box of chewing wads master" + desc = "A generic brand of Waffle Co Wads, unflavored chews. Why do these exist?" + icon = 'icons/obj/cigs_lighters.dmi' + icon_state = "placeholder" + item_state = "cigpacket" + drop_sound = 'sound/items/drop/shovel.ogg' + use_sound = 'sound/items/storage/pillbottle.ogg' + w_class = 2 + throwforce = 2 + slot_flags = SLOT_BELT + starts_with = list(/obj/item/clothing/mask/chewable/tobacco = 6) + make_exact_fit() + +/obj/item/storage/chewables/tobacco/bad + name = "can of Rredouane Cuts chewing tobacco" + desc = "A cheap, widely used replacement for cigarettes, it provided much needed respite for soldiers in Adhomian wars." + icon_state = "chew_bad" + item_state = "Fpacket" + starts_with = list(/obj/item/clothing/mask/chewable/tobacco/bad = 6) + +/obj/item/storage/chewables/tobacco + name = "tin of Mendell Smooth chewing tobacco" + desc = "Packaged and shipped straight from District 8, popularised by the city-slickers of Vega De Rosa." + icon_state = "chew_generic" + item_state = "cigpacket" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) + starts_with = list(/obj/item/clothing/mask/chewable/tobacco/generic = 6) + storage_slots = 6 + +/obj/item/storage/chewables/tobacco/fine + name = "tin of Taba-Kamu chewing tobacco" + desc = "Said to be cultivated by employees of Nojusuru Foods in secret, the strand has been released for the public to enjoy." + icon_state = "chew_fine" + item_state = "Dpacket" + starts_with = list(/obj/item/clothing/mask/chewable/tobacco/fine = 6) + +/obj/item/storage/fancy/chewables/tobacco/nico + name = "box of Nico-Tine gum" + desc = "A Sol-approved brand of nicotine gum. Cut out the middleman for your addiction fix." + icon = 'icons/obj/cigs_lighters.dmi' + icon_state = "chew_nico" + item_state = "Epacket" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) + starts_with = list(/obj/item/clothing/mask/chewable/tobacco/nico = 6) + storage_slots = 6 + drop_sound = 'sound/items/drop/box.ogg' + use_sound = 'sound/items/storage/box.ogg' + +/obj/item/storage/fancy/chewables/tobacco/update_icon() + icon_state = "[initial(icon_state)][contents.len]" + +//loose leaf + +/obj/item/storage/chewables/rollable/bad + name = "box of S'th Kasavakh tobacco" + desc = "A box of coarse gritty tobacco which still manages to grow against the desertification of Moghes." + starts_with = list(/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/bad = 8) + icon_state = "roll_bad" + item_state = "Fpacket" + +/obj/item/storage/chewables/rollable + name = "box of Agyre Lake tobacco" + desc = "Advertised to be grown using fresh water pumped directly from the titular Martian lake." + starts_with = list(/obj/item/reagent_containers/food/snacks/grown/dried_tobacco = 8) + icon_state = "roll_generic" + item_state = "cigpacket" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi', + ) + max_storage_space = 8 + drop_sound = 'sound/items/drop/box.ogg' + use_sound = 'sound/items/storage/box.ogg' + +/obj/item/storage/chewables/rollable/fine + name = "box of Excelsior Epsilon tobacco" + desc = "Quality tobacco favored by the Corporates of Eridani - just don't read the label at the bottom." + starts_with = list(/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/fine = 8) + icon_state = "roll_fine" + item_state = "Dpacket" + +/obj/item/storage/chewables/rollable/nico + name = "box of Golden Sol tobacco" + desc = "A exclusive brand of overpriced tobacco, allegedly grown at a lagrange point station in Sol system." + starts_with = list(/obj/item/reagent_containers/food/snacks/grown/dried_tobacco/pure = 8) + icon_state = "roll_nico" + item_state = "Epacket" + diff --git a/code/game/turfs/initialization/maintenance.dm b/code/game/turfs/initialization/maintenance.dm index 244cc7a8880..ac9434bece0 100644 --- a/code/game/turfs/initialization/maintenance.dm +++ b/code/game/turfs/initialization/maintenance.dm @@ -34,7 +34,7 @@ var/global/list/random_junk return /obj/effect/decal/cleanable/generic if(!random_junk) random_junk = subtypesof(/obj/item/trash) - random_junk += typesof(/obj/item/cigbutt) + random_junk += typesof(/obj/item/trash/cigbutt) random_junk += /obj/effect/decal/cleanable/spiderling_remains random_junk += /obj/effect/decal/remains/rat random_junk += /obj/effect/decal/remains/robot diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 19a89c86bdf..3a485648202 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -1232,10 +1232,10 @@ name = "tobacco" seed_name = "tobacco" display_name = "tobacco leaves" - mutants = list("finetobacco") - chems = list("tobacco" = list(1,10), "nicotine" = list(1,3)) + mutants = list("finetobacco", "puretobacco", "badtobacco") + chems = list("tobacco" = list(1,10)) -/datum/seed/tobacco/setup_traits() +/datum/seed/tobacco/New() ..() set_trait(TRAIT_MATURATION,6) set_trait(TRAIT_PRODUCTION,6) @@ -1253,15 +1253,36 @@ name = "finetobacco" seed_name = "fine tobacco" display_name = "fine tobacco leaves" - chems = list("tobaccorich" = list(1,10), "nicotine" = list(3,5)) + chems = list("tobaccofine" = list(1,10)) -/datum/seed/tobacco/finetobacco/setup_traits() +/datum/seed/tobacco/finetobacco/New() ..() set_trait(TRAIT_YIELD,4) set_trait(TRAIT_PRODUCT_COLOUR,"#33571b") set_trait(TRAIT_PLANT_COLOUR,"#33571b") set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.20) +/datum/seed/tobacco/puretobacco //provides the pure nicotine reagent + name = "puretobacco" + seed_name = "succulent tobacco" + display_name = "succulent tobacco leaves" + chems = list("nicotine" = list(1,10)) + +/datum/seed/tobacco/puretobacco/New() + ..() + set_trait(TRAIT_YIELD,3) + set_trait(TRAIT_JUICY,1) + set_trait(TRAIT_PRODUCT_COLOUR,"#b7c61a") + set_trait(TRAIT_PLANT_COLOUR,"#b7c61a") + set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.30) + +/datum/seed/tobacco/bad + name = "badtobacco" + seed_name = "low-grade tobacco" + display_name = "low-grade tobacco leaves" + mutants = list("tobacco") + chems = list("tobaccobad" = list(1,10)) + /datum/seed/peppercorn name = "peppercorn" seed_name = "peppercorn" diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 47c63d8cfbc..b34712ca054 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -73,7 +73,7 @@ for(var/obj/W in T) //Different classes of items give different commodities. - if(istype(W,/obj/item/cigbutt)) + if(istype(W,/obj/item/trash/cigbutt)) if(plastic) plastic.add_charge(500) else if (istype(W, /obj/item/flame/match)) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 7971eeca611..59a7b6794a3 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -80,9 +80,9 @@ if(icon_state == "paper_talisman") return else if (info && length(trim(info))) - icon_state = "paper_words" + icon_state = "[initial(icon_state)]_words" else - icon_state = "paper" + icon_state = "[initial(icon_state)]" /obj/item/paper/proc/update_space(var/new_text) if(new_text) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index 716ea857e80..3d99a536c76 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -856,6 +856,37 @@ M.Weaken(10 * removed * scale) M.add_chemical_effect(CE_PULSE, 0.5) +/datum/reagent/tobacco + name = "Tobacco" + id = "tobacco" + description = "Cut and processed tobacco leaves." + taste_description = "tobacco" + reagent_state = SOLID + color = "#684b3c" + data = 0 + scannable = 1 + var/nicotine = REM * 0.2 + fallback_specific_heat = 1 + value = 3 + +/datum/reagent/tobacco/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + ..() + M.reagents.add_reagent("nicotine") + +/datum/reagent/tobacco/fine + name = "Fine Tobacco" + id = "tobaccofine" + taste_description = "fine tobacco" + data = 0 + value = 5 + +/datum/reagent/tobacco/bad + name = "Terrible Tobacco" + id = "tobaccobad" + taste_description = "acrid smoke" + data = 0 + value = 0 + /datum/reagent/mental/methylphenidate name = "Methylphenidate" id = "methylphenidate" diff --git a/html/changelogs/wezzy_rollables.yml b/html/changelogs/wezzy_rollables.yml new file mode 100644 index 00000000000..e52a2e0ff90 --- /dev/null +++ b/html/changelogs/wezzy_rollables.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds chewing tobacco, rolling tobacco, rolling papers, cigarette filters to the cigarette vendors! (Note : these brands are provisional at the moment)" + - imageadd: "New sprites for cigarettes and related stuff." diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index 00f14dc872b..937b3bd876d 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/lefthand_cigs_lighters.dmi b/icons/mob/items/lefthand_cigs_lighters.dmi new file mode 100644 index 00000000000..1c087488e5d Binary files /dev/null and b/icons/mob/items/lefthand_cigs_lighters.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index f98831c28b1..458cda4f501 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/mob/items/righthand_cigs_lighters.dmi b/icons/mob/items/righthand_cigs_lighters.dmi new file mode 100644 index 00000000000..3118163108c Binary files /dev/null and b/icons/mob/items/righthand_cigs_lighters.dmi differ diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index fadc9bed7a8..8e8fc9dd4db 100644 Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ diff --git a/icons/obj/cigs_lighters.dmi b/icons/obj/cigs_lighters.dmi index 95e7e4f4ea4..cc7e6a2d37b 100644 Binary files a/icons/obj/cigs_lighters.dmi and b/icons/obj/cigs_lighters.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 8e583352d43..ce72021e493 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/maps/aurora/aurora-1_centcomm.dmm b/maps/aurora/aurora-1_centcomm.dmm index 50bb641e8de..6c52026b2b6 100644 --- a/maps/aurora/aurora-1_centcomm.dmm +++ b/maps/aurora/aurora-1_centcomm.dmm @@ -5386,7 +5386,7 @@ /turf/simulated/floor/shuttle/black, /area/syndicate_station/start) "anu" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/shuttle/black, /area/syndicate_station/start) "anv" = ( @@ -14754,7 +14754,7 @@ }, /area/syndicate_mothership/raider_base) "aJb" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -22959,8 +22959,8 @@ "dIB" = ( /obj/structure/table/standard, /obj/item/trash/plate, -/obj/item/cigbutt, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, +/obj/item/trash/cigbutt, /obj/item/storage/box/matches{ pixel_y = 12 }, @@ -23856,7 +23856,7 @@ /obj/structure/table/reinforced/steel, /obj/item/deck/cards, /obj/effect/decal/cleanable/dirt, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/unsimulated/floor{ icon_state = "engine" }, @@ -24239,7 +24239,7 @@ "gpl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/unsimulated/floor{ icon_state = "wood-broken5" }, @@ -25247,8 +25247,8 @@ /area/template_noop) "ihn" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/cigbutt, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, +/obj/item/trash/cigbutt, /turf/unsimulated/floor{ icon_state = "engine" }, @@ -30581,7 +30581,7 @@ "sDs" = ( /obj/structure/table/wood/gamblingtable, /obj/item/material/ashtray/bronze, -/obj/item/cigbutt/cigarbutt, +/obj/item/trash/cigbutt/cigarbutt, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -31008,8 +31008,8 @@ /area/centcom/legion) "tqh" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/cigbutt, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, +/obj/item/trash/cigbutt, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" @@ -31293,7 +31293,7 @@ /area/centcom/distress_prep) "tYp" = ( /obj/structure/table/wood, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/item/reagent_containers/food/snacks/donerkebab{ pixel_x = 6; pixel_y = 4 @@ -31631,7 +31631,7 @@ "uXC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" diff --git a/maps/aurora/aurora-3_sublevel.dmm b/maps/aurora/aurora-3_sublevel.dmm index 6ed1ccce5d6..10fc015d5f6 100644 --- a/maps/aurora/aurora-3_sublevel.dmm +++ b/maps/aurora/aurora-3_sublevel.dmm @@ -6278,7 +6278,7 @@ /area/turret_protected/ai) "aol" = ( /obj/machinery/hologram/holopad, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 59ccf7e5213..4746cde607a 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -4687,7 +4687,7 @@ icon_state = "alarm0"; pixel_x = -22 }, -/obj/item/cigbutt/cigarbutt, +/obj/item/trash/cigbutt/cigarbutt, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ icon_state = "map-scrubbers"; dir = 8 @@ -64675,8 +64675,8 @@ /area/maintenance/vault) "eqx" = ( /obj/structure/table/steel, -/obj/item/cigbutt, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, +/obj/item/trash/cigbutt, /obj/effect/decal/cleanable/dirt, /obj/item/material/ashtray, /obj/effect/floor_decal/corner/grey/diagonal, @@ -67916,9 +67916,9 @@ /turf/simulated/floor/carpet/blue, /area/rnd/rdoffice) "ndP" = ( -/obj/item/cigbutt, -/obj/item/cigbutt, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, +/obj/item/trash/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/plating, /area/maintenance/security_starboard) "ndR" = ( diff --git a/maps/aurora/aurora-7_roof.dmm b/maps/aurora/aurora-7_roof.dmm index 023681403e2..8e77e5ca5d9 100644 --- a/maps/aurora/aurora-7_roof.dmm +++ b/maps/aurora/aurora-7_roof.dmm @@ -746,7 +746,7 @@ }, /obj/structure/table/reinforced, /obj/item/material/ashtray/plastic, -/obj/item/cigbutt/cigarbutt, +/obj/item/trash/cigbutt/cigarbutt, /obj/structure/disposalpipe/segment{ dir = 4 }, diff --git a/maps/exodus/exodus-1_station.dmm b/maps/exodus/exodus-1_station.dmm index 4328d16668e..a2f4a9d92ea 100644 --- a/maps/exodus/exodus-1_station.dmm +++ b/maps/exodus/exodus-1_station.dmm @@ -1693,7 +1693,7 @@ dir = 2; icon_state = "pipe-c" }, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, @@ -3281,7 +3281,7 @@ /turf/simulated/floor/plating, /area/maintenance/security_port) "agd" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/structure/cable{ d1 = 1; d2 = 8; @@ -5152,7 +5152,7 @@ /obj/effect/decal/cleanable/blood/oil/streak{ amount = 0 }, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/plating, /area/maintenance/security_port) "ajC" = ( @@ -10948,7 +10948,7 @@ /turf/simulated/floor/plating, /area/maintenance/evahallway) "atD" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/structure/cable{ d1 = 1; d2 = 2; @@ -17386,7 +17386,7 @@ /turf/simulated/floor/plating, /area/maintenance/library) "aGe" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /obj/machinery/power/apc{ @@ -17793,7 +17793,7 @@ /turf/simulated/floor/tiled, /area/hallway/primary/fore) "aGV" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/structure/cable{ d1 = 1; d2 = 4; @@ -18045,7 +18045,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -32327,7 +32327,7 @@ /turf/simulated/floor/tiled, /area/crew_quarters/locker) "bib" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/structure/disposalpipe/segment{ dir = 4; icon_state = "pipe-c" @@ -35796,7 +35796,7 @@ /obj/machinery/alarm{ pixel_y = 23 }, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/plating, /area/maintenance/disposal) "bnZ" = ( @@ -35857,7 +35857,7 @@ /turf/simulated/floor/plating, /area/maintenance/locker) "bog" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/plating, /area/maintenance/locker) "boh" = ( @@ -36607,12 +36607,12 @@ pixel_x = -26; pixel_y = -6 }, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/item/stool/padded, /turf/simulated/floor/plating, /area/maintenance/disposal) "bpR" = ( -/obj/item/cigbutt{ +/obj/item/trash/cigbutt{ pixel_x = -10; pixel_y = -10 }, @@ -37679,7 +37679,7 @@ pixel_y = -5 }, /obj/effect/decal/cleanable/ash, -/obj/item/cigbutt/cigarbutt, +/obj/item/trash/cigbutt/cigarbutt, /turf/simulated/floor/plating, /area/maintenance/disposal) "brJ" = ( @@ -38688,7 +38688,7 @@ /turf/simulated/floor/plating, /area/maintenance/disposal) "btr" = ( -/obj/item/cigbutt{ +/obj/item/trash/cigbutt{ pixel_y = 12 }, /turf/simulated/floor/plating, @@ -51259,7 +51259,7 @@ /turf/simulated/floor/tiled, /area/quartermaster/miningdock) "bPn" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/plating, /area/maintenance/cargo) "bPo" = ( @@ -51710,7 +51710,7 @@ /turf/simulated/floor/reinforced, /area/rnd/misc_lab) "bQh" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/tiled, /area/rnd/storage) "bQi" = ( @@ -57735,7 +57735,7 @@ /turf/simulated/floor/carpet, /area/engineering/break_room) "caS" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/structure/cable{ d1 = 1; d2 = 2; @@ -68220,7 +68220,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/medbay) diff --git a/maps/exodus/exodus-2_centcomm.dmm b/maps/exodus/exodus-2_centcomm.dmm index de6313fa3d2..304d1a1543b 100644 --- a/maps/exodus/exodus-2_centcomm.dmm +++ b/maps/exodus/exodus-2_centcomm.dmm @@ -5223,7 +5223,7 @@ }, /area/syndicate_station/start) "aoo" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/simulated/floor/shuttle{ icon_state = "floor7" }, @@ -9477,7 +9477,7 @@ name = "\improper Raider Base" }) "aBW" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/unsimulated/floor{ dir = 8; icon_state = "wood" diff --git a/maps/exodus/exodus-3_telecomms.dmm b/maps/exodus/exodus-3_telecomms.dmm index 59d971795a3..d97379a6de2 100644 --- a/maps/exodus/exodus-3_telecomms.dmm +++ b/maps/exodus/exodus-3_telecomms.dmm @@ -1171,7 +1171,7 @@ /turf/simulated/floor/tiled, /area/tcommsat/computer) "dE" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/machinery/light, /turf/simulated/floor/tiled, /area/tcommsat/computer) diff --git a/maps/exodus/exodus-5_asteroid.dmm b/maps/exodus/exodus-5_asteroid.dmm index 4811f4a34be..df9ca4f4f5e 100644 --- a/maps/exodus/exodus-5_asteroid.dmm +++ b/maps/exodus/exodus-5_asteroid.dmm @@ -13491,7 +13491,7 @@ /turf/simulated/floor/tiled, /area/outpost/mining_main/dorms) "yV" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /obj/structure/cable/blue{ d1 = 4; d2 = 8; diff --git a/maps/space_ruins/derelict.dmm b/maps/space_ruins/derelict.dmm index e9c0010870e..83490de0b98 100644 --- a/maps/space_ruins/derelict.dmm +++ b/maps/space_ruins/derelict.dmm @@ -3152,7 +3152,7 @@ /turf/simulated/floor/airless, /area/derelict/hallway/southwest) "kb" = ( -/obj/item/cigbutt, +/obj/item/trash/cigbutt, /turf/template_noop, /area/template_noop) "kc" = (