diff --git a/_maps/map_files/RandomRuins/SpaceRuins/blowntcommsat.dmm b/_maps/map_files/RandomRuins/SpaceRuins/blowntcommsat.dmm index 82bb62e0908..2b42baa6f86 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/blowntcommsat.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/blowntcommsat.dmm @@ -449,7 +449,7 @@ /area/space/nearstation) "CZ" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes/cigpack_robust, /turf/simulated/floor/plating/airless, /area/ruin/space/tcommsat) "Ds" = ( diff --git a/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm b/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm index 04ac6a12f85..dca8ca79f35 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/dj.dmm @@ -564,7 +564,7 @@ /obj/structure/chair/comfy/beige{ dir = 1 }, -/obj/item/storage/fancy/cigarettes/dromedaryco{ +/obj/item/storage/fancy/cigarettes/cigpack_our_brand{ pixel_x = -26 }, /obj/item/lighter/zippo/engraved{ diff --git a/_maps/map_files/RandomRuins/SpaceRuins/submaps/telecomns_returns_submap.dmm b/_maps/map_files/RandomRuins/SpaceRuins/submaps/telecomns_returns_submap.dmm index 3d942ad4a36..494b8068d6f 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/submaps/telecomns_returns_submap.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/submaps/telecomns_returns_submap.dmm @@ -421,7 +421,7 @@ /area/template_noop) "XT" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes/cigpack_robust, /obj/item/storage/firstaid/ert, /turf/template_noop, /area/template_noop) diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm index 3d06e15e72b..4876ec8aed1 100644 --- a/_maps/map_files/generic/centcomm.dmm +++ b/_maps/map_files/generic/centcomm.dmm @@ -3025,7 +3025,7 @@ /turf/simulated/floor/plasteel/dark, /area/syndicate_mothership/jail) "kY" = ( -/obj/item/storage/fancy/cigarettes{ +/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ pixel_y = 6 }, /obj/item/clothing/mask/cigarette/cigar/cohiba{ @@ -6270,7 +6270,7 @@ /obj/item/restraints/handcuffs/cable/red, /obj/item/kitchen/knife, /obj/item/storage/box/mousetraps, -/obj/item/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes/cigpack_robust, /obj/item/pen, /turf/simulated/floor/plasteel/freezer, /area/admin) @@ -7478,14 +7478,25 @@ id = "ADMINLOCKDOWN"; name = "Lockdown" }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_x = 11; + pixel_y = 4 + }, /turf/simulated/floor/plasteel, /area/admin) "AL" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes/syndicate, -/obj/item/reagent_containers/drinks/cans/adminbooze, -/obj/item/reagent_containers/drinks/cans/badminbrew, -/obj/item/reagent_containers/drinks/cans/madminmalt, +/obj/item/reagent_containers/drinks/cans/adminbooze{ + pixel_y = 8 + }, +/obj/item/reagent_containers/drinks/cans/madminmalt{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/item/reagent_containers/drinks/cans/badminbrew{ + pixel_x = -9; + pixel_y = 8 + }, /turf/simulated/floor/plasteel, /area/admin) "AM" = ( diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index 8b68b5f6792..372a1cef8ed 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -8975,11 +8975,14 @@ /area/station/maintenance/fpmaint2) "aFV" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes, -/obj/item/ashtray/glass, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, +/obj/item/ashtray/glass, +/obj/item/storage/fancy/cigarettes/cigpack_our_brand{ + pixel_x = 11; + pixel_y = 3 + }, /turf/simulated/floor/carpet/grimey, /area/station/maintenance/fpmaint2) "aFW" = ( @@ -17970,12 +17973,13 @@ /area/station/hallway/primary/port/west) "bkc" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes{ - pixel_y = 2 - }, /obj/item/lighter{ - pixel_x = 4; - pixel_y = 2 + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/storage/fancy/cigarettes/cigpack_solar_rays{ + pixel_x = -2; + pixel_y = 3 }, /turf/simulated/floor/carpet/grimey, /area/station/hallway/secondary/entry/lounge) @@ -65302,7 +65306,7 @@ pixel_x = 12; pixel_y = 2 }, -/obj/item/storage/fancy/cigarettes{ +/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ pixel_x = 14 }, /mob/living/simple_animal/parrot/poly, diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index b89a453a697..a94735112a7 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -41538,7 +41538,7 @@ /area/station/hallway/primary/central/north) "hvI" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes/cigpack_solar_rays, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/port) "hvX" = ( @@ -57316,7 +57316,7 @@ /area/station/science/hallway) "kIn" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes/cigpack_our_brand, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/disposal/south) @@ -116013,10 +116013,10 @@ /area/station/service/kitchen) "xqy" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes, -/obj/effect/spawner/random/maintenance, /obj/machinery/light/small, /obj/effect/decal/cleanable/dirt, +/obj/item/storage/fancy/cigarettes/cigpack_solar_rays, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "yellow" diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index 729073dbfca..463d2bc94d9 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -84727,7 +84727,9 @@ /area/station/medical/medbay) "sAq" = ( /obj/structure/table, -/obj/item/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes/cigpack_our_brand{ + pixel_y = 2 + }, /turf/simulated/floor/plating, /area/station/maintenance/fore) "sAs" = ( diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm index b0eed99a7c6..630778a36b9 100644 --- a/_maps/map_files/stations/emeraldstation.dmm +++ b/_maps/map_files/stations/emeraldstation.dmm @@ -24749,6 +24749,11 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/apmaint) +"eXD" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigpack_our_brand, +/turf/simulated/floor/carpet, +/area/station/hallway/secondary/entry/lounge) "eXG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -34969,9 +34974,13 @@ /area/station/medical/cloning) "gWU" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes{ +/obj/item/storage/fancy/cigarettes/cigpack_solar_rays{ pixel_y = 2 }, +/obj/item/lighter/random{ + pixel_x = 10; + pixel_y = 4 + }, /turf/simulated/floor/carpet, /area/station/hallway/secondary/entry/lounge) "gXa" = ( @@ -77895,15 +77904,15 @@ /area/station/maintenance/aft2) "pwZ" = ( /obj/structure/table/reinforced, -/obj/item/storage/fancy/cigarettes{ - pixel_x = 14 - }, /obj/item/stock_parts/cell/high{ pixel_x = -3; pixel_y = 3 }, /obj/item/gps/engineering, /obj/machinery/firealarm/directional/north, +/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ + pixel_x = 14 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "yellow" @@ -106887,9 +106896,6 @@ /area/station/public/shops) "vlB" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes{ - pixel_y = 2 - }, /obj/item/lighter{ pixel_x = 4; pixel_y = 2 @@ -116488,7 +116494,7 @@ /area/station/engineering/engine) "xiX" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes, +/obj/item/storage/fancy/cigarettes/cigpack_robustgold, /turf/simulated/floor/wood, /area/station/command/office/blueshield) "xjj" = ( @@ -156173,7 +156179,7 @@ rMl nwE mIn vlB -rad +eXD sTz skE eUQ diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index 920766c4d41..b8e61905191 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -47328,12 +47328,15 @@ /obj/item/taperecorder{ pixel_x = -3 }, -/obj/item/storage/fancy/cigarettes, /obj/item/flash, /obj/item/reagent_containers/spray/pepper, /obj/structure/cable{ icon_state = "1-2" }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = 9; + pixel_y = 7 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "darkred" @@ -69365,14 +69368,14 @@ /area/station/hallway/secondary/entry/lounge) "qrO" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes{ - pixel_y = 2 - }, /obj/item/lighter{ pixel_x = 4; pixel_y = 2 }, /obj/machinery/firealarm/directional/west, +/obj/item/storage/fancy/cigarettes/cigpack_solar_rays{ + pixel_x = -6 + }, /turf/simulated/floor/carpet/grimey, /area/station/hallway/secondary/entry/lounge) "qrT" = ( diff --git a/code/game/machinery/vendors/contraband_vendors.dm b/code/game/machinery/vendors/contraband_vendors.dm index 88a28d0a99c..b3e19cb7f5e 100644 --- a/code/game/machinery/vendors/contraband_vendors.dm +++ b/code/game/machinery/vendors/contraband_vendors.dm @@ -44,7 +44,8 @@ vend_delay = 34 icon_state = "cigs" icon_lightmask = "cigs" - products = list(/obj/item/storage/fancy/cigarettes/syndicate = 10, /obj/item/lighter/random = 5) + products = list(/obj/item/storage/fancy/cigarettes/cigpack_syndicate = 10, + /obj/item/lighter/random = 5) MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/syndicate, 32, 32) diff --git a/code/game/machinery/vendors/generic_vendors.dm b/code/game/machinery/vendors/generic_vendors.dm index c3a7791de40..d721ec0ddbd 100644 --- a/code/game/machinery/vendors/generic_vendors.dm +++ b/code/game/machinery/vendors/generic_vendors.dm @@ -1233,13 +1233,15 @@ icon_lightmask = "cigs" category = VENDOR_TYPE_RECREATION products = list(/obj/item/clothing/mask/cigarette/cigar = 2, - /obj/item/storage/fancy/cigarettes = 6, /obj/item/storage/fancy/cigarettes/cigpack_carp = 6, /obj/item/storage/fancy/cigarettes/dromedaryco = 6, /obj/item/storage/fancy/cigarettes/cigpack_random = 6, + /obj/item/storage/fancy/cigarettes/cigpack_our_brand = 6, /obj/item/storage/fancy/cigarettes/cigpack_robust = 6, /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 1, + /obj/item/storage/fancy/cigarettes/cigpack_candy = 6, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 6, + /obj/item/storage/fancy/cigarettes/cigpack_solar_rays = 6, /obj/item/storage/fancy/cigarettes/cigpack_uplift = 6, /obj/item/reagent_containers/patch/nicotine = 10, /obj/item/storage/fancy/matches = 10, @@ -1250,14 +1252,16 @@ contraband = list(/obj/item/storage/fancy/cigarettes/cigpack_midori = 6) prices = list(/obj/item/clothing/mask/cigarette/cigar = 100, - /obj/item/storage/fancy/cigarettes = 25, /obj/item/storage/fancy/cigarettes/cigpack_carp = 25, /obj/item/storage/fancy/cigarettes/dromedaryco = 25, /obj/item/storage/fancy/cigarettes/cigpack_random = 80, /obj/item/storage/fancy/cigarettes/cigpack_midori = 60, + /obj/item/storage/fancy/cigarettes/cigpack_our_brand = 15, /obj/item/storage/fancy/cigarettes/cigpack_robust = 25, /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 120, + /obj/item/storage/fancy/cigarettes/cigpack_candy = 25, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 50, + /obj/item/storage/fancy/cigarettes/cigpack_solar_rays = 25, /obj/item/storage/fancy/cigarettes/cigpack_uplift = 35, /obj/item/reagent_containers/patch/nicotine = 70, /obj/item/storage/fancy/matches = 20, @@ -1274,20 +1278,24 @@ // The Syndicate version doesn't sell Robust because that is a Nanotrasen-owned brand. It *does* have its special own-brand replacement. /obj/machinery/economy/vending/cigarette/syndicate products = list(/obj/item/clothing/mask/cigarette/cigar = 6, - /obj/item/storage/fancy/cigarettes = 6, /obj/item/storage/fancy/cigarettes/cigpack_carp = 6, /obj/item/storage/fancy/cigarettes/dromedaryco = 6, /obj/item/storage/fancy/cigarettes/cigpack_random = 6, /obj/item/storage/fancy/cigarettes/cigpack_midori = 6, + /obj/item/storage/fancy/cigarettes/cigpack_our_brand = 6, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 6, /obj/item/storage/fancy/cigarettes/cigpack_syndicate = 10, + /obj/item/storage/fancy/cigarettes/cigpack_solar_rays = 6, /obj/item/storage/fancy/cigarettes/cigpack_uplift = 6, /obj/item/reagent_containers/patch/nicotine = 10, /obj/item/storage/fancy/matches = 10, /obj/item/lighter/zippo = 6, /obj/item/storage/fancy/rollingpapers = 5) - contraband = list() + // You'd better believe that NT branded cigs are contraband in the Syndicate's territory. + contraband = list(/obj/item/storage/fancy/cigarettes/cigpack_robust = 6, + /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 1, + /obj/item/storage/fancy/cigarettes/cigpack_candy = 6) /obj/machinery/economy/vending/cigarette/syndicate/free prices = list() @@ -1308,13 +1316,15 @@ products = list(/obj/item/clothing/mask/cigarette/cigar = 6, /obj/item/clothing/mask/cigarette/cigar/cohiba = 6, /obj/item/clothing/mask/cigarette/cigar/havana = 6, - /obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/fancy/cigarettes/cigpack_carp = 10, /obj/item/storage/fancy/cigarettes/cigpack_random = 10, /obj/item/storage/fancy/cigarettes/cigpack_midori = 10, + /obj/item/storage/fancy/cigarettes/cigpack_our_brand = 10, /obj/item/storage/fancy/cigarettes/cigpack_robust = 10, /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 10, + /obj/item/storage/fancy/cigarettes/cigpack_candy = 10, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 10, + /obj/item/storage/fancy/cigarettes/cigpack_solar_rays = 10, /obj/item/storage/fancy/cigarettes/cigpack_uplift = 10, /obj/item/reagent_containers/patch/nicotine = 20, /obj/item/storage/fancy/matches = 10, diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 1f6cb261a9d..9950028ccb0 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -18,7 +18,7 @@ var/obj/item/clothing/mask/cigarette/cig = I if(cig.lit) visible_message("[user] crushes [cig] in [src], putting it out.") - var/obj/item/butt = new cig.type_butt(src) + var/obj/item/butt = new cig.butt_type(src) cig.transfer_fingerprints_to(butt) qdel(cig) else diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index c92cd28bb05..5286a057b08 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -34,12 +34,12 @@ "Paper" = image(icon = 'icons/obj/bureaucracy.dmi', icon_state = "paper"), "Pen" = image(icon = 'icons/obj/bureaucracy.dmi', icon_state = "pen"), "Dice Pack" = image(icon = 'icons/obj/dice.dmi', icon_state = "dicebag"), - "Cigarette" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cigon"), + "Cigarette" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cig_on"), "Newdles" = image(icon = 'icons/obj/food/food.dmi', icon_state = "chinese3"), "Donut" = image(icon = 'icons/obj/food/bakedgoods.dmi', icon_state = "donut1"), "Chicken Soup" = image(icon = 'icons/obj/drinks.dmi', icon_state = "soupcan"), "Tofu Burger" = image(icon = 'icons/obj/food/burgerbread.dmi', icon_state = "tofuburger"), - "Cigar" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cigaroff"), + "Cigar" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cigar_off"), "Smoked Cheese" = image(icon = 'icons/obj/food/food.dmi', icon_state = "cheesewheel-smoked"), "Edam Cheese" = image(icon = 'icons/obj/food/food.dmi', icon_state = "cheesewheel-edam"), "Blue Cheese" = image(icon = 'icons/obj/food/food.dmi', icon_state = "cheesewheel-blue"), diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm index 5646ebb0545..cc6de590e0d 100644 --- a/code/game/objects/items/weapons/cigs.dm +++ b/code/game/objects/items/weapons/cigs.dm @@ -19,9 +19,10 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette name = "cigarette" desc = "A roll of tobacco and nicotine." - icon_state = "cigoff" - item_state = "cigoff" - throw_speed = 0.5 + icon = 'icons/obj/clothing/smoking.dmi' + icon_state = "cig" + lefthand_file = 'icons/mob/inhands/smoking_lefthand.dmi' + righthand_file = 'icons/mob/inhands/smoking_righthand.dmi' slot_flags = ITEM_SLOT_MASK w_class = WEIGHT_CLASS_TINY body_parts_covered = null @@ -30,14 +31,10 @@ LIGHTERS ARE IN LIGHTERS.DM new_attack_chain = TRUE /// Is the cigarette lit? var/lit = FALSE - /// Lit cigarette sprite. - var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi - /// Unlit cigarette sprite. - var/icon_off = "cigoff" /// Do we require special items to be lit? var/list/fancy_lighters = list() /// What trash item the cigarette makes when it burns out. - var/type_butt = /obj/item/cigbutt + var/butt_type = /obj/item/cigbutt /// How long does the cigarette last before going out? Decrements by 1 every cycle. var/smoketime = 150 // 300 seconds. /// The cigarette's total reagent capacity. @@ -55,11 +52,29 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/Initialize(mapload) . = ..() - create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 30 + create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 60 reagents.set_reacting(FALSE) // so it doesn't react until you light it if(list_reagents) reagents.add_reagent_list(list_reagents) smoketime = reagents.total_volume * 2.5 + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) + +/obj/item/clothing/mask/cigarette/update_icon_state() + . = ..() + icon_state = "[initial(icon_state)][lit ? "_on" : ""]" + item_state = "[initial(icon_state)][lit ? "_on" : ""]" + if(ishuman(loc)) + var/mob/living/carbon/human/H = loc + H.update_inv_wear_mask() + H.update_inv_l_hand() + H.update_inv_r_hand() + +/obj/item/clothing/mask/cigarette/update_name() + . = ..() + if(!lit) + name = initial(name) + else + name = "lit [name]" /obj/item/clothing/mask/cigarette/activate_self(mob/user) if(..()) @@ -212,7 +227,6 @@ LIGHTERS ARE IN LIGHTERS.DM return lit = TRUE - name = "lit [name]" attack_verb = list("burnt", "singed") hitsound = 'sound/items/welder.ogg' damtype = BURN @@ -243,21 +257,14 @@ LIGHTERS ARE IN LIGHTERS.DM if(isnull(target)) target = user - // If there is also no user, the cig is being lit by atmos or something. - if(target) - target.update_inv_wear_mask() - target.update_inv_l_hand() - target.update_inv_r_hand() - reagents.set_reacting(TRUE) reagents.handle_reactions() - icon_state = icon_on - item_state = icon_on if(iscarbon(loc)) var/mob/living/carbon/C = loc if(C.wear_mask == src) // Don't update if it's just in their hand C.wear_mask_update(src) set_light(2, 0.25, "#E38F46") + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) START_PROCESSING(SSobj, src) playsound(src, 'sound/items/lighter/light.ogg', 25, TRUE) return TRUE @@ -302,7 +309,7 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/proc/die() var/turf/T = get_turf(src) set_light(0) - var/obj/item/butt = new type_butt(T) + var/obj/item/butt = new butt_type(T) transfer_fingerprints_to(butt) if(ismob(loc)) var/mob/living/M = loc @@ -331,18 +338,73 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/random /obj/item/clothing/mask/cigarette/random/New() - list_reagents = list("nicotine" = 40, pick("fuel","saltpetre","synaptizine","green_vomit","potass_iodide","msg","lexorin","mannitol","spaceacillin","cryoxadone","holywater","tea","egg","haloperidol","mutagen","omnizine","carpet","aranesp","cryostylane","chocolate","bilk","cheese","rum","blood","charcoal","coffee","ectoplasm","space_drugs","milk","mutadone","antihol","teporone","insulin","salbutamol","toxin") = 20) + list_reagents = list("nicotine" = 40, pick("fuel", "saltpetre", "synaptizine", "green_vomit", "potass_iodide", "msg", "lexorin", "mannitol", \ + "spaceacillin" ,"cryoxadone" ,"holywater", "tea" ,"egg" ,"haloperidol" ,"mutagen" ,"omnizine", "carpet", "aranesp", "cryostylane", "chocolate", \ + "bilk", "cheese", "rum", "blood", "charcoal", "coffee", "ectoplasm", "space_drugs", "milk", "mutadone", "antihol", "teporone", "insulin", "salbutamol", "toxin") = 20) ..() +/obj/item/clothing/mask/cigarette/candy + name = "candy cigarette" + desc = "A stick of candy imitating a real cigarette. The words 'do not expose to heat' are written in very small letters around the base." + +/obj/item/clothing/mask/cigarette/candy/interact_with_atom(atom/A, mob/living/user, list/modifiers) + if(..()) + return + + if(!ishuman(A)) + return + + var/mob/living/carbon/human/target = A + if(target != user) + user.visible_message( + "You begin to feed [target] [src].", + "[user] begins to feed [target] [src]!" + ) + if(!do_after(user, 5 SECONDS, target = target)) + return ITEM_INTERACT_COMPLETE + + else + to_chat(user, "You eat [src].") + + playsound(user.loc, 'sound/items/eatfood.ogg', 50, 0) + + // A SPICY candy! + if(lit) + target.adjust_nutrition(2) + target.reagents.add_reagent("sugar", 2, reagtemp = 373) + target.reagents.add_reagent("ash", 3, reagtemp = 373) + target.reagents.add_reagent("nicotine", 3, reagtemp = 373) + var/obj/item/organ/external/head/target_head = target.get_organ("head") + if(target_head.receive_damage(0, 15)) // OH GOD IT BURNS WHY DID I EAT THIS!? + target.UpdateDamageIcon() + to_chat(target, "You can taste burnt sugar, ash, burning chemicals, and your own burning flesh...") + to_chat(target, "OH FUCK! IT BURNS!") + target.emote("scream") + add_attack_logs(user, target, "Fed a burning candy cigarette.") + else + target.adjust_nutrition(5) + target.reagents.add_reagent("sugar", 5) + to_chat(target, "You can taste sugar, and a hint of chemicals.") + + qdel(src) + return ITEM_INTERACT_COMPLETE + /obj/item/clothing/mask/cigarette/syndicate + name = "suspicious cigarette" + desc = "An evil-looking cigarette. It smells of donk pockets." + icon_state = "syndie_cig" + butt_type = /obj/item/cigbutt/syndie list_reagents = list("nicotine" = 40, "omnizine" = 20) /obj/item/clothing/mask/cigarette/medical_marijuana name = "medical marijuana cigarette" desc = "A cigarette containing specially-bread cannabis that has been engineered to only contain CBD, for medical use. The lack of THC makes it fully legal under Space Law." + icon_state = "medical_weed_cig" list_reagents = list("cbd" = 60) /obj/item/clothing/mask/cigarette/robustgold + name = "\improper Robust Gold cigarette" + desc = "A premium cigarette smoked by the truly robust, contains real gold." list_reagents = list("nicotine" = 40, "gold" = 1) /obj/item/clothing/mask/cigarette/shadyjims @@ -351,29 +413,31 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/rollie name = "rollie" desc = "A roll of dried plant matter wrapped in thin paper. It carries the unmistakable smell of cannabis." - icon_state = "spliffoff" - icon_on = "spliffon" - icon_off = "spliffoff" - type_butt = /obj/item/cigbutt/roach - throw_speed = 0.5 - item_state = "spliffoff" + icon_state = "spliff" + butt_type = /obj/item/cigbutt/roach list_reagents = list("thc" = 40, "cbd" = 20) /obj/item/clothing/mask/cigarette/rollie/Initialize(mapload) . = ..() scatter_atom() /obj/item/clothing/mask/cigarette/rollie/custom + desc = "A roll of dried plant matter wrapped in thin paper." list_reagents = list() /obj/item/cigbutt name = "cigarette butt" desc = "A manky old cigarette butt." - icon = 'icons/obj/clothing/masks.dmi' - icon_state = "cigbutt" + icon = 'icons/obj/clothing/smoking.dmi' + icon_state = "cig_butt" w_class = WEIGHT_CLASS_TINY - throwforce = 0 scatter_distance = 10 +/obj/item/cigbutt/syndie + name = "suspicious cigarette butt" + desc = "A manky old cigarette butt with an evil look about it." + icon = 'icons/obj/clothing/smoking.dmi' + icon_state = "syndie_cig_butt" + /obj/item/cigbutt/Initialize(mapload) . = ..() scatter_atom() @@ -435,49 +499,77 @@ LIGHTERS ARE IN LIGHTERS.DM // MARK: CIGARS ////////////////////////////// /obj/item/clothing/mask/cigarette/cigar - name = "\improper Premium Cigar" - desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!" - icon_state = "cigaroff" - item_state = "cigaroff" - icon_on = "cigaron" - icon_off = "cigaroff" - throw_speed = 0.5 + name = "\improper Nano Cigar" + desc = "A huge, brown roll of dried and fermented tobacco, manufactured by Nanotrasen's Robust Tobacco subsidiary." + icon_state = "cigar" fancy_lighters = list(/obj/item/match, /obj/item/lighter/zippo) - type_butt = /obj/item/cigbutt/cigarbutt + butt_type = /obj/item/cigbutt/cigarbutt smoketime = 300 chem_volume = 140 list_reagents = list("nicotine" = 120) +/obj/item/clothing/mask/cigarette/cigar/examine_more(mob/user) + . = ..() + . += " Don't let the advertising fool you, this thing is a bargain basement, bottom-of-the-barrel product and the smoking experience it offers is little better than an oversized Robust cigarette." + . += "" + . += "It still makes you look like a mafia boss, however." + /obj/item/clothing/mask/cigarette/cigar/cohiba name = "\improper Cohiba Robusto Cigar" - desc = "There's little more you could want from a cigar." - icon_state = "cigar2off" - icon_on = "cigar2on" - icon_off = "cigar2off" + desc = "A premium brand of cigar widely exported and enjoyed across the Orion Sector. There's little more that you could want from a cigar" + icon_state = "gold_cigar" + butt_type = /obj/item/cigbutt/cigarbutt/gold + +/obj/item/clothing/mask/cigarette/cigar/cohiba/examine_more(mob/user) + ..() + . = list() + . += "Lovingly machine rolled using carefully selected strains of tobacco grown in massive hydroponics warehouses in orbit around the death world of Venus, Sol. \ + It goes through a range of carefully selected flavours as it is smoked, providing a novel and enjoyable experience throughout." /obj/item/clothing/mask/cigarette/cigar/havana name = "\improper Premium Havanian Cigar" - desc = "A cigar fit for only the best for the best." - icon_state = "cigar2off" - icon_on = "cigar2on" - icon_off = "cigar2off" + desc = "A luxury cigar only fit for the best of the best." + icon_state = "gold_cigar" smoketime = 450 chem_volume = 200 list_reagents = list("nicotine" = 180) + butt_type = /obj/item/cigbutt/cigarbutt/gold + +/obj/item/clothing/mask/cigarette/cigar/havana/examine_more(mob/user) + ..() + . = list() + . += "One of a handful of brands made using tobacco grown in Cuba on Earth, the core of the Trans-Solar Federation. \ + Each of these hand-rolled cigars is carefully put together by master cigar rollers using various strains of tobacco that has been cultivated for hundreds of years to ensure \ + the best consistency and flavour possible." + . += "" + . += "Due to a mixture of limited manufacturing capacity, high quality, brand prestige, and export taxes, \ + these cigars are too expensive for all but the most wealthy to smoke with any degree of regularity." /obj/item/cigbutt/cigarbutt name = "cigar butt" desc = "A manky old cigar butt." - icon_state = "cigarbutt" + icon_state = "cigar_butt" + +/obj/item/cigbutt/cigarbutt/gold + icon_state = "gold_cigar_butt" ////////////////////////////// // MARK: HOLO-CIGAR ////////////////////////////// /obj/item/clothing/mask/holo_cigar - name = "Holo-Cigar" + name = "holo-cigar" desc = "A sleek electronic cigar imported straight from Sol. You feel badass merely glimpsing it..." - icon_state = "holocigaroff" + icon = 'icons/obj/clothing/smoking.dmi' + icon_state = "holo_cigar" + lefthand_file = 'icons/mob/inhands/smoking_lefthand.dmi' + righthand_file = 'icons/mob/inhands/smoking_righthand.dmi' new_attack_chain = TRUE + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', + "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', + "Tajaran" = 'icons/mob/clothing/species/tajaran/mask.dmi', + "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/mask.dmi', + "Grey" = 'icons/mob/clothing/species/grey/mask.dmi') /// Is the holo-cigar lit? var/enabled = FALSE /// Tracks if this is the first cycle smoking the cigar. @@ -496,7 +588,7 @@ LIGHTERS ARE IN LIGHTERS.DM to_chat(user, "You enable the holo-cigar.") START_PROCESSING(SSobj, src) - update_appearance(UPDATE_ICON_STATE) + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) /obj/item/clothing/mask/holo_cigar/Destroy() . = ..() @@ -504,7 +596,11 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/holo_cigar/update_icon_state() . = ..() - icon_state = "holocigar[enabled ? "on" : "off"]" + icon_state = "holo_cigar[enabled ? "_on" : ""]" + +/obj/item/clothing/mask/holo_cigar/update_name() + . = ..() + name = "[enabled ? "active " : ""]holo-cigar" /obj/item/clothing/mask/holo_cigar/examine(mob/user) . = ..() @@ -546,11 +642,8 @@ LIGHTERS ARE IN LIGHTERS.DM ////////////////////////////// /obj/item/clothing/mask/cigarette/pipe name = "smoking pipe" - desc = "A pipe, for smoking. Probably made of meershaum or something." - icon_state = "pipeoff" - item_state = "pipeoff" - icon_on = "pipeon" //Note - these are in masks.dmi - icon_off = "pipeoff" + desc = "A fancy smoking pipe carved from polished morta, otherwise known as bog wood. Preferred by sophisticated gentlemen and those posing as sophisticated gentlemen." + icon_state = "pipe" fancy_lighters = list(/obj/item/match, /obj/item/lighter/zippo) smoketime = 500 chem_volume = 220 @@ -586,8 +679,7 @@ LIGHTERS ARE IN LIGHTERS.DM if(!lit) lit = TRUE damtype = "fire" - icon_state = icon_on - item_state = icon_on + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) START_PROCESSING(SSobj, src) /obj/item/clothing/mask/cigarette/pipe/process() @@ -599,11 +691,10 @@ LIGHTERS ARE IN LIGHTERS.DM var/mob/living/M = loc to_chat(M, "Your [name] goes out, and you empty the ash.") lit = FALSE - icon_state = icon_off - item_state = icon_off - M.update_inv_wear_mask() + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) STOP_PROCESSING(SSobj, src) return + smoke() /obj/item/clothing/mask/cigarette/pipe/extinguish_cigarette(mob/user) @@ -613,8 +704,7 @@ LIGHTERS ARE IN LIGHTERS.DM ) lit = FALSE first_puff = TRUE - icon_state = icon_off - item_state = icon_off + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) STOP_PROCESSING(SSobj, src) /obj/item/clothing/mask/cigarette/pipe/die() @@ -623,10 +713,7 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/pipe/cobpipe name = "corn cob pipe" desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters." - icon_state = "cobpipeoff" - item_state = "cobpipeoff" - icon_on = "cobpipeon" //Note - these are in masks.dmi - icon_off = "cobpipeoff" + icon_state = "cob_pipe" smoketime = 0 //there is nothing to smoke initially chem_volume = 160 list_reagents = list() diff --git a/code/game/objects/items/weapons/lighters.dm b/code/game/objects/items/weapons/lighters.dm index efadd4be7c6..9f428313c07 100644 --- a/code/game/objects/items/weapons/lighters.dm +++ b/code/game/objects/items/weapons/lighters.dm @@ -283,7 +283,7 @@ damtype = "fire" force = 3 hitsound = 'sound/items/welder.ogg' - item_state = "cigon" + item_state = "cig_on" name = "lit match" desc = "A match. This one is lit." attack_verb = list("burnt","singed") @@ -298,7 +298,7 @@ damtype = "brute" force = initial(force) icon_state = "match_burnt" - item_state = "cigoff" + item_state = "cig_off" name = "burnt match" desc = "A match. This one has seen better days." attack_verb = list("flicked") diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index b2db6e43e85..d003f232ee5 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -11,6 +11,8 @@ * Candle Box * Crayon Box * Cigarette Box + * Vial Box + * Aquatic Starter Kit */ /obj/item/storage/fancy @@ -43,10 +45,7 @@ update_icon() return ..() -/* - * Donut Box - */ - +// MARK: Donut Box /obj/item/storage/fancy/donut_box name = "donut box" desc = "\"To do, or do nut, the choice is obvious.\"" @@ -83,9 +82,8 @@ return TRUE return ..() -/* - * Egg Box - */ +// MARK: Egg Box + /obj/item/storage/fancy/egg_box icon_state = "eggbox" @@ -99,10 +97,7 @@ for(var/I in 1 to storage_slots) new /obj/item/food/egg(src) -/* - * Candle Box - */ - +// MARK: Candle Box /obj/item/storage/fancy/candle_box name = "Candle pack" desc = "A pack of red candles." @@ -130,10 +125,8 @@ for(var/I in 1 to storage_slots) new /obj/item/candle/eternal(src) -/* - * Crayon Box - */ +// MARK: Crayon Box /obj/item/storage/fancy/crayons name = "box of crayons" desc = "A box of crayons for all your rune drawing needs." @@ -216,15 +209,13 @@ if(0) icon_state = "[base_icon_state]_e" -//////////// -//CIG PACK// -//////////// +// MARK: Cigarette Pack /obj/item/storage/fancy/cigarettes - name = "cigarette packet" - desc = "The most popular brand of Space Cigarettes, sponsors of the Space Olympics." + name = "generic cigarette packet" + desc = "An abstract brand of cigarette that should not exist. Make a GitHub report if you see this." icon = 'icons/obj/cigarettes.dmi' - icon_state = "cigpacket" - item_state = "cigpacket" + icon_state = "robust_packet" + item_state = "robust_packet" belt_icon = "patch_pack" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT @@ -237,14 +228,20 @@ /obj/item/clothing/mask/cigarette/pipe, /obj/item/lighter/zippo) icon_type = "cigarette" + var/cigarette_slogan = "The preferred brand of coders and developers." var/cigarette_type = /obj/item/clothing/mask/cigarette +/obj/item/storage/fancy/cigarettes/examine(mob/user) + . = ..() + if(cigarette_slogan) + . += "\"[cigarette_slogan]\"" + /obj/item/storage/fancy/cigarettes/populate_contents() for(var/I in 1 to storage_slots) new cigarette_type(src) /obj/item/storage/fancy/cigarettes/update_icon_state() - icon_state = "[initial(icon_state)][length(contents)]" + icon_state = "[initial(icon_state)]_[length(contents)]" /obj/item/storage/fancy/cigarettes/attack__legacy__attackchain(mob/living/carbon/M, mob/living/user) if(!ismob(M)) @@ -295,86 +292,118 @@ return TRUE return ..() -/obj/item/storage/fancy/cigarettes/dromedaryco - name = "\improper DromedaryCo 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" - - -/obj/item/storage/fancy/cigarettes/syndicate - name = "\improper Syndicate Cigarettes" - desc = "A packet of six evil-looking cigarettes, A label on the packaging reads, \"Donk Co\"." - icon_state = "syndiepacket" - item_state = "syndiepacket" - cigarette_type = /obj/item/clothing/mask/cigarette/syndicate - -/obj/item/storage/fancy/cigarettes/syndicate/Initialize(mapload) - . = ..() - var/new_name = pick("evil", "suspicious", "ominous", "donk-flavored", "robust", "sneaky") - name = "[new_name] cigarette packet" - -/obj/item/storage/fancy/cigarettes/cigpack_syndicate - name = "cigarette packet" - desc = "An obscure brand of cigarettes." - icon_state = "syndiepacket" - item_state = "syndiepacket" - cigarette_type = /obj/item/clothing/mask/cigarette/syndicate - -/obj/item/storage/fancy/cigarettes/cigpack_med - name = "\improper Medical Marijuana Packet" - desc = "A prescription packet containing six medical marijuana cigarettes. Made using a strain of cannabis engineered to maximise CBD content and eliminate THC, much to the chagrin of stoners everywhere." - icon_state = "medpacket" - item_state = "medpacket" - cigarette_type = /obj/item/clothing/mask/cigarette/medical_marijuana - - -/obj/item/storage/fancy/cigarettes/cigpack_uplift - name = "\improper Uplift Smooth packet" - desc = "Your favorite brand, now menthol flavored." - icon_state = "upliftpacket" - item_state = "upliftpacket" - cigarette_type = /obj/item/clothing/mask/cigarette/menthol - -/obj/item/storage/fancy/cigarettes/cigpack_robust - name = "\improper Robust packet" - desc = "Smoked by the robust." - icon_state = "robustpacket" - item_state = "robustpacket" - -/obj/item/storage/fancy/cigarettes/cigpack_robustgold - name = "\improper Robust Gold packet" - desc = "Smoked by the truly robust." - icon_state = "robustgpacket" - item_state = "robustgpacket" - cigarette_type = /obj/item/clothing/mask/cigarette/robustgold - /obj/item/storage/fancy/cigarettes/cigpack_carp name = "\improper Carp Classic packet" - desc = "Since 2313." - icon_state = "carppacket" - item_state = "carppacket" + desc = "Smoked mainly by spacers. The somewhat fishy notes are an acquired taste. \ + Has a light, low-tar smoke specifically designed to reduce stress on scrubber systems." + icon_state = "carp_packet" + item_state = "carp_packet" + cigarette_slogan = "Carp smokers would rather bite you than switch, since 2313." + +/obj/item/storage/fancy/cigarettes/dromedaryco + name = "\improper DromedaryCo packet" + desc = "An infamous brand, DromedaryCo cigarettes are unfiltered, tarry, and have a very harsh flavour. \ + Not for beginner smokers. Enjoyed mainly by gruff types with equally gruff voices." + icon_state = "D_packet" + item_state = "D_packet" + cigarette_slogan = "Wouldn't a slow death make a change?" + +/obj/item/storage/fancy/cigarettes/cigpack_random + name ="\improper Embellished Enigma packet" + desc = "True to the name, Enigmas are impossible to pin down. \ + No two cigarettes are alike as each one is infused with unique flavours and substances, so every time is just like your first time." + icon_state = "enigma_packet" + item_state = "enigma_packet" + cigarette_slogan = "For the true connoisseur of exotic flavors." + cigarette_type = /obj/item/clothing/mask/cigarette/random + +/obj/item/storage/fancy/cigarettes/cigpack_random/examine(mob/user) + . = ..() + . += "Warning: Not all substances used have undergone regulatory testing, smoke at your own risk. \ + The Embellished Enigma Tobacco Company does not accept liability for proper or negligent use of its products. Consult your doctor before use." /obj/item/storage/fancy/cigarettes/cigpack_midori name = "\improper Midori Tabako packet" desc = "Whilst you cannot decipher what the strange runes on the packet say, it bears the unmistakable scent of cannabis." - icon_state = "midoripacket" - item_state = "midoripacket" + icon_state = "midori_packet" + item_state = "midori_packet" + cigarette_slogan = "" cigarette_type = /obj/item/clothing/mask/cigarette/rollie +/obj/item/storage/fancy/cigarettes/cigpack_our_brand + name = "\improper Our Brand packet" // This brand name is an obscure reference to The Master and Margarita by Ivan Bezdomny. + desc = "The one, official brand of cigarette manufactured by the Vostran Iron Republic - one of the main constitient nations of the USSP. \ + Exported across the known Orion Spur by members of the USSP's trading bloc and vendors affiliated with the Nian Merchant Guild. \ + The flavour is acrid, the smoke is thin and wispy, yet harsh on the throat. The only redeeming features are the high nicotine content and the low price." + icon_state = "our_brand_packet" + item_state = "our_brand_packet" + cigarette_slogan = "Smoke, for the Union!" + +/obj/item/storage/fancy/cigarettes/cigpack_robust + name = "\improper Robust packet" + desc = "Nanotrasen's in-house brand of cigarettes. Cheap quality, wispy smoke, has a somewhat harsh flavour." + cigarette_slogan = "Smoked by the robust." + +/obj/item/storage/fancy/cigarettes/cigpack_robustgold + name = "\improper Robust Gold packet" + desc = "Nanotrasen's premium cigarette offering. Has a smooth, drawn-out flavour and a dense smoke. Contains real gold." + icon_state = "robust_g_packet" + item_state = "robust_g_packet" + cigarette_slogan = "Smoked by the truly robust." + cigarette_type = /obj/item/clothing/mask/cigarette/robustgold + +/obj/item/storage/fancy/cigarettes/cigpack_candy + name = "\improper Robust Junior packet" + desc = "A packet of nicotine-free* candy cigarettes, manufactured by Robust Tobacco." + cigarette_slogan = "Unsure about smoking? Want to bring your children safely into the family tradition? Look no more with this special packet! Includes 100% nicotine-free* candy cigarettes." + cigarette_type = /obj/item/clothing/mask/cigarette/candy + +/obj/item/storage/fancy/cigarettes/cigpack_candy/examine(mob/user) + . = ..() + . += "*Warning: Do not expose to high temperatures or naked flames, contains additives that will form nicotine at high temperatures." + /obj/item/storage/fancy/cigarettes/cigpack_shadyjims - name ="\improper Shady Jim's Super Slims" - desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" - icon_state = "shadyjimpacket" - item_state = "shadyjimpacket" + name ="\improper Shady Jim's Super Slims packet" + desc = "Despite the doubious appearance, these cigarettes do exactly what they say on the box. The smoke tastes like cheap berry juice and battery acid, with a bitter chemical aftertaste." + icon_state = "shady_jim_packet" + item_state = "shady_jim_packet" + cigarette_slogan = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? \ + Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" cigarette_type = /obj/item/clothing/mask/cigarette/shadyjims -/obj/item/storage/fancy/cigarettes/cigpack_random - name ="\improper Embellished Enigma packet" - desc = "For the true connoisseur of exotic flavors." - icon_state = "shadyjimpacket" - item_state = "shadyjimpacket" - cigarette_type = /obj/item/clothing/mask/cigarette/random +/obj/item/storage/fancy/cigarettes/cigpack_solar_rays + name = "\improper Solar Rays packet" + desc = "A popular brand within the Trans-Solar Federation, they have a smooth, slightly cinnamon flavour. \ + Whilst not actually state-owned, these cigarettes lean heavily into patriotic marketing, and are included in federal ration packs as a morale booster." + icon_state = "solar_packet" + item_state = "solar_packet" + cigarette_slogan = "Smoked by true patriots." + cigarette_type = /obj/item/clothing/mask/cigarette + +/obj/item/storage/fancy/cigarettes/cigpack_uplift + name = "\improper Uplift Smooth packet" + desc = "One of the most popular brands in the Orion Sector, flavoured with menthol to give a smooth cooling sensation with every puff." + icon_state = "uplift_packet" + item_state = "uplift_packet" + cigarette_slogan = "Sit back and relax with the soft cooling embrace that only an Uplift can provide." + cigarette_type = /obj/item/clothing/mask/cigarette/menthol + +/obj/item/storage/fancy/cigarettes/cigpack_med + name = "medical marijuana packet" + desc = "A prescription packet containing six fully legal medical marijuana cigarettes. \ + Made using a strain of cannabis engineered to maximise CBD content and eliminate THC, much to the chagrin of stoners everywhere." + icon_state = "med_packet" + item_state = "med_packet" + cigarette_slogan = "All the medical benefits, with none of the high!" + cigarette_type = /obj/item/clothing/mask/cigarette/medical_marijuana + +/obj/item/storage/fancy/cigarettes/cigpack_syndicate + name = "suspicious cigarette packet" + desc = "An obscure brand of evil-looking cigarettes. Smells like Donk pockets." + icon_state = "syndie_packet" + item_state = "syndie_packet" + cigarette_slogan = "Strong flavour, dense smoke, infused with omnizine." + cigarette_type = /obj/item/clothing/mask/cigarette/syndicate /obj/item/storage/fancy/rollingpapers name = "rolling paper pack" @@ -399,10 +428,8 @@ if(!length(contents)) . += "[icon_state]_empty" -/* - * Vial Box - */ +// MARK: Vial Box /obj/item/storage/fancy/vials icon = 'icons/obj/vialbox.dmi' icon_state = "vialbox6" @@ -459,9 +486,7 @@ new /obj/item/reagent_containers/glass/bottle/zombiecure3(src) new /obj/item/reagent_containers/glass/bottle/zombiecure4(src) - -///Aquatic Starter Kit - +// MARK: Aquatic Starter Kit /obj/item/storage/firstaid/aquatic_kit name = "aquatic starter kit" desc = "It's a starter kit box for an aquarium." diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index 1282fc86ac4..a2c0b0f38ca 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -1375,7 +1375,7 @@ if(JOB_PARAMEDIC) clothes_s = new /icon('icons/mob/clothing/under/medical.dmi', "paramedic_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "cigoff"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "cig_off"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/head/softcap.dmi', "bluesoft"), ICON_OVERLAY) switch(backbag) if(2) @@ -1448,7 +1448,7 @@ clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "brown"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY) if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "cigaron"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/mask.dmi', "cigar_on"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/head.dmi', "detective"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "detective"), ICON_OVERLAY) has_gloves = TRUE diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index c457214999c..6790aff99ba 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -324,7 +324,7 @@ EQUIPMENT("Whisky", /obj/item/reagent_containers/drinks/bottle/whiskey, 100), EQUIPMENT("Beer", /obj/item/reagent_containers/drinks/bottle/beer, 50), EQUIPMENT("Absinthe", /obj/item/reagent_containers/drinks/bottle/absinthe/premium, 250), - EQUIPMENT("Cigarettes", /obj/item/storage/fancy/cigarettes, 100), + EQUIPMENT("Cigarettes", /obj/item/storage/fancy/cigarettes/cigpack_robust, 100), EQUIPMENT("Medical Marijuana", /obj/item/storage/fancy/cigarettes/cigpack_med, 250), EQUIPMENT("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150), EQUIPMENT("Box of matches", /obj/item/storage/fancy/matches, 50), diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 0a02e6b6f37..fe6c037e0e8 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ diff --git a/icons/mob/clothing/species/grey/mask.dmi b/icons/mob/clothing/species/grey/mask.dmi index 95433f32489..5d278093ae7 100644 Binary files a/icons/mob/clothing/species/grey/mask.dmi and b/icons/mob/clothing/species/grey/mask.dmi differ diff --git a/icons/mob/clothing/species/tajaran/mask.dmi b/icons/mob/clothing/species/tajaran/mask.dmi index dd0cf49e6fa..72513ba7ff8 100644 Binary files a/icons/mob/clothing/species/tajaran/mask.dmi and b/icons/mob/clothing/species/tajaran/mask.dmi differ diff --git a/icons/mob/clothing/species/unathi/mask.dmi b/icons/mob/clothing/species/unathi/mask.dmi index eb8e22fe548..cbf7bd13c14 100644 Binary files a/icons/mob/clothing/species/unathi/mask.dmi and b/icons/mob/clothing/species/unathi/mask.dmi differ diff --git a/icons/mob/clothing/species/vox/mask.dmi b/icons/mob/clothing/species/vox/mask.dmi index c193620474e..57fa55f49e8 100644 Binary files a/icons/mob/clothing/species/vox/mask.dmi and b/icons/mob/clothing/species/vox/mask.dmi differ diff --git a/icons/mob/clothing/species/vulpkanin/mask.dmi b/icons/mob/clothing/species/vulpkanin/mask.dmi index ff0766f58b0..ee885b97c09 100644 Binary files a/icons/mob/clothing/species/vulpkanin/mask.dmi and b/icons/mob/clothing/species/vulpkanin/mask.dmi differ diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index 6c753baefcf..2904196a9bd 100644 Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi index 6ddf8bf55d8..279b57a938f 100644 Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ diff --git a/icons/mob/inhands/smoking_lefthand.dmi b/icons/mob/inhands/smoking_lefthand.dmi new file mode 100644 index 00000000000..aaa9074dd2f Binary files /dev/null and b/icons/mob/inhands/smoking_lefthand.dmi differ diff --git a/icons/mob/inhands/smoking_righthand.dmi b/icons/mob/inhands/smoking_righthand.dmi new file mode 100644 index 00000000000..0ca2b29fb08 Binary files /dev/null and b/icons/mob/inhands/smoking_righthand.dmi differ diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index 330bce649fe..78598390c9e 100644 Binary files a/icons/obj/cigarettes.dmi and b/icons/obj/cigarettes.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 926c2d71358..276e7818221 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/smoking.dmi b/icons/obj/clothing/smoking.dmi new file mode 100644 index 00000000000..d6c59c613aa Binary files /dev/null and b/icons/obj/clothing/smoking.dmi differ