diff --git a/code/game/objects/items/contraband_vr.dm b/code/game/objects/items/contraband_vr.dm index 67377884864..804dd4b554d 100644 --- a/code/game/objects/items/contraband_vr.dm +++ b/code/game/objects/items/contraband_vr.dm @@ -92,18 +92,6 @@ to_chat(user, "You unwrap the package.") qdel(src) -/obj/item/weapon/storage/fancy/cigar/havana // Putting this here 'cuz fuck it. -Spades - name = "\improper Havana cigar case" - desc = "Save these for the fancy-pantses at the next CentCom black tie reception. You can't blow the smoke from such majestic stogies in just anyone's face." - icon_state = "cigarcase" - icon = 'icons/obj/cigarettes.dmi' - w_class = ITEMSIZE_TINY - throwforce = 2 - slot_flags = SLOT_BELT - storage_slots = 7 - can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar/havana) - icon_type = "cigar" - /obj/item/weapon/miscdisc name = "strange artefact" desc = "A large disc-shaped item, with a red, opaque crystal embedded in the center. It is some what heavy. There are indentations along the ring of the disc. Alien scripture lines the disc." diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index d85e21ae1c1..3d252a03a6a 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -335,7 +335,9 @@ 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!" - description_fluff = "While the label does say that this is a 'premium cigar', it really cannot match other types of cigars on the market. Is it a quality cigarette? Perhaps. Was it hand-made with care? No." + description_fluff = "While the label does say that this is a 'premium cigar', it \ + really cannot match other types of cigars on the market. Is it a quality \ + cigarette? Perhaps. Was it hand-made with care? No." icon_state = "cigar2" type_butt = /obj/item/trash/cigbutt/cigarbutt throw_speed = 0.5 @@ -353,14 +355,22 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/cigarette/cigar/cohiba name = "\improper Cohiba Robusto cigar" desc = "There's little more you could want from a cigar." - description_fluff = "Cohiba has been a popular cigar company for centuries. They are still based out of Cuba and refuse to expand and therefore have a very limited quantity, making their cigars coveted all through known space. Robusto is one of their most popular shapes of cigars." + description_fluff = "Cohiba has been a popular cigar company for centuries. \ + They are still based out of Cuba and refuse to expand and therefore have a very \ + limited quantity, making their cigars coveted all through known space. Robusto \ + is one of their most popular shapes of cigars." icon_state = "cigar2" nicotine_amt = 7 /obj/item/clothing/mask/smokable/cigarette/cigar/havana name = "premium Havanian cigar" - desc = "A cigar fit for only the best of the best." - description_fluff = "'Havanian' is an umbrella term for any cigar made in the typical handmade style of Cuba. This particular cigar is from Gilthari's cigar manufacturers and produced galaxy-wide. While this way of making quality cigars has become slightly bastardized over the years, overall quality has remained relatively the same, even if there is a large quantity of 'Havanian' cigars." + desc = "Save these for the fancy-pantses at the next CentCom black tie reception. \ + You can't blow the smoke from such majestic stogies in just anyone's face." + description_fluff = "'Havanian' is an umbrella term for any cigar made in the \ + typical handmade style of Cuba. This particular cigar is from Gilthari's cigar \ + manufacturers and produced galaxy-wide. While this way of making quality cigars \ + has become slightly bastardized over the years, overall quality has remained \ + relatively the same, even if there is a large quantity of 'Havanian' cigars." icon_state = "cigar2" max_smoketime = 7200 smoketime = 7200 @@ -400,7 +410,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/pipe name = "smoking pipe" desc = "A pipe, for smoking. Made of fine, stained cherry wood." - description_fluff = "ClassiCo Accessories and Haberdashers, originating out of Mars, claim to produce products 'for the modern gentlefolk'. Most of their items are high-end and expensive, but they pledge to back their prices up with quality, and usually do." + description_fluff = "ClassiCo Accessories and Haberdashers, originating out of Mars, \ + claim to produce products 'for the modern gentlefolk'. Most of their items are high-end \ + and expensive, but they pledge to back their prices up with quality, and usually do." icon_state = "pipe" item_state = "pipe" smoketime = 0 @@ -507,7 +519,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/weapon/reagent_containers/rollingpaper name = "rolling paper" desc = "A small, thin piece of easily flammable paper, commonly used for rolling and smoking various dried plants." - description_fluff = "The legalization of certain substances propelled the sale of rolling papers through the roof. Now almost every Trans-stellar produces a variety, often of questionable quality." + description_fluff = "The legalization of certain substances propelled the sale of rolling \ + papers through the roof. Now almost every Trans-stellar produces a variety, often of questionable quality." icon = 'icons/obj/cigarettes.dmi' icon_state = "cig paper" volume = 25 @@ -555,77 +568,85 @@ CIGARETTE PACKETS ARE IN FANCY.DM qdel(src) ///////// -//ZIPPO// +//CHEAP// ///////// /obj/item/weapon/flame/lighter name = "cheap lighter" desc = "A cheap-as-free lighter." - description_fluff = "The 'hand-made in Altair' sticker underneath is a charming way of saying 'Made with prison labour'. It's no wonder the company can sell these things so cheap." - icon = 'icons/obj/items.dmi' - icon_state = "lighter-g" - item_state = "lighter-g" + description_fluff = "The 'hand-made in Altair' sticker underneath is a charming way of \ + saying 'Made with prison labour'. It's no wonder the company can sell these things so cheap." + icon = 'icons/obj/lighters.dmi' + icon_state = "lighter" + item_state = "lighter" w_class = ITEMSIZE_TINY throwforce = 4 slot_flags = SLOT_BELT attack_verb = list("burnt", "singed") var/base_state + /// Sounds var/activation_sound = 'sound/items/lighter_on.ogg' var/deactivation_sound = 'sound/items/lighter_off.ogg' + /// Color of the flame and how big the flame is (pulled from Welder code) + var/flame_color = "#FF9933" + var/flame_intensity = 2 + /// Color List + var/random_color = FALSE + var/available_colors = list(COLOR_ASSEMBLY_BLACK, + COLOR_ASSEMBLY_BGRAY, + COLOR_ASSEMBLY_WHITE, + COLOR_ASSEMBLY_RED, + COLOR_ASSEMBLY_ORANGE, + COLOR_ASSEMBLY_BEIGE, + COLOR_ASSEMBLY_BROWN, + COLOR_ASSEMBLY_GOLD, + COLOR_ASSEMBLY_YELLOW, + COLOR_ASSEMBLY_GURKHA, + COLOR_ASSEMBLY_LGREEN, + COLOR_ASSEMBLY_GREEN, + COLOR_ASSEMBLY_LBLUE, + COLOR_ASSEMBLY_BLUE, + COLOR_ASSEMBLY_PURPLE, + COLOR_ASSEMBLY_HOT_PINK) -/obj/item/weapon/flame/lighter/zippo - name = "\improper Zippo lighter" - desc = "The zippo." - description_fluff = "Still going after all these years." - icon = 'icons/obj/zippo.dmi' - icon_state = "zippo" - item_state = "zippo" - activation_sound = 'sound/items/zippo_on.ogg' - deactivation_sound = 'sound/items/zippo_off.ogg' - +// TODO: Remove this path from POIs and loose maps (it's no longer needed) /obj/item/weapon/flame/lighter/random -/obj/item/weapon/flame/lighter/random/New() - icon_state = "lighter-[pick("r","c","y","g")]" - item_state = icon_state - base_state = icon_state + +// Randomizes Cheap Lighters on Spawn +/obj/item/weapon/flame/lighter/Initialize() + . = ..() + var/image/I = image(icon, "lighter-[pick("trans","tall","matte")]") + I.color = pick(available_colors) + add_overlay(I) /obj/item/weapon/flame/lighter/attack_self(mob/living/user) - if(!base_state) - base_state = icon_state if(!lit) lit = 1 - icon_state = "[base_state]on" - item_state = "[base_state]on" + icon_state = "lighteron" playsound(src, activation_sound, 75, 1) - if(istype(src, /obj/item/weapon/flame/lighter/zippo) ) - user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.") + if(prob(95)) + user.visible_message("After a few attempts, [user] manages to light the [src].") else - if(prob(95)) - user.visible_message("After a few attempts, [user] manages to light the [src].") + to_chat(user, "You burn yourself while lighting the lighter.") + if (user.get_left_hand() == src) + user.apply_damage(2,BURN,"l_hand") else - to_chat(user, "You burn yourself while lighting the lighter.") - if (user.get_left_hand() == src) - user.apply_damage(2,BURN,"l_hand") - else - user.apply_damage(2,BURN,"r_hand") - user.visible_message("After a few attempts, [user] manages to light the [src], they however burn their finger in the process.") + user.apply_damage(2,BURN,"r_hand") + user.visible_message("After a few attempts, [user] manages to light the [src], they however burn their finger in the process.") - set_light(2) + set_light(2, 0.5, "#FF9933") START_PROCESSING(SSobj, src) + update_icon() else lit = 0 - icon_state = "[base_state]" - item_state = "[base_state]" + icon_state = "lighter" playsound(src, deactivation_sound, 75, 1) - if(istype(src, /obj/item/weapon/flame/lighter/zippo) ) - user.visible_message("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("[user] quietly shuts off the [src].") set_light(0) STOP_PROCESSING(SSobj, src) + update_icon() return - /obj/item/weapon/flame/lighter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M, /mob)) return @@ -652,6 +673,45 @@ CIGARETTE PACKETS ARE IN FANCY.DM location.hotspot_expose(700, 5) return +///////// +//ZIPPO// +///////// +/obj/item/weapon/flame/lighter/zippo + name = "\improper Zippo lighter" + desc = "The zippo." + description_fluff = "Still going after all these years." + icon_state = "zippo" + item_state = "zippo" + activation_sound = 'sound/items/zippo_on.ogg' + deactivation_sound = 'sound/items/zippo_off.ogg' + +/obj/item/weapon/flame/lighter/zippo/Initialize() + . = ..() + cut_overlays() //Prevents the Cheap Lighter overlay from appearing on this + +/obj/item/weapon/flame/lighter/zippo/attack_self(mob/living/user) + if(!base_state) + base_state = icon_state + if(!lit) + lit = 1 + icon_state = "[base_state]on" + item_state = "[base_state]on" + playsound(src, activation_sound, 75, 1) + user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.") + + set_light(2, 0.5, "#FF9933") + START_PROCESSING(SSobj, src) + else + lit = 0 + icon_state = "[base_state]" + item_state = "[base_state]" + playsound(src, deactivation_sound, 75, 1) + user.visible_message("You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing.") + + set_light(0) + STOP_PROCESSING(SSobj, src) + return + //Here we add Zippo skins. /obj/item/weapon/flame/lighter/zippo/black @@ -708,4 +768,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/weapon/flame/lighter/zippo/rainbow name = "\improper rainbow Zippo lighter" - icon_state = "rainbowzippo" \ No newline at end of file + icon_state = "rainbowzippo" + +/obj/item/weapon/flame/lighter/zippo/skull + name = "\improper badass Zippo lighter" + desc = "An absolutely badass zippo lighter. Just look at that skull!" + icon_state = "skullzippo" \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index b18180c3524..639bd175a47 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -385,16 +385,18 @@ /obj/item/weapon/storage/fancy/cigar name = "cigar case" desc = "A case for holding your cigars when you are not smoking them." - description_fluff = "The tastefully engraved palm tree tells you that these 'Palma Grande' premium cigars are only sold on the luxury cruises and resorts of Oasis, though ten separate companies produce them for that purpose galaxy-wide. The standard is however very high." + description_fluff = "The tasteful stained palm case tells you that these 'Palma Grande' premium \ + cigars are only sold on the luxury cruises and resorts of Oasis, though ten separate companies \ + produce them for that purpose galaxy-wide. The standard is however very high." icon_state = "cigarcase" icon = 'icons/obj/cigarettes.dmi' w_class = ITEMSIZE_TINY throwforce = 2 slot_flags = SLOT_BELT - storage_slots = 7 + storage_slots = 5 can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar, /obj/item/trash/cigbutt/cigarbutt) icon_type = "cigar" - starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar = 8) + starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar = 5) /obj/item/weapon/storage/fancy/cigar/Initialize() . = ..() @@ -419,7 +421,7 @@ if(open) icon_state = open_state if(contents.len >= 1) - add_overlay("cigarcase[contents.len]") + add_overlay("[initial(icon_state)][contents.len]") else icon_state = closed_state @@ -435,6 +437,27 @@ update_icon() ..() +/obj/item/weapon/storage/fancy/cigar/choiba + name = "/improper Choiba cigar case" + desc = "A fancy case for holding your cigars when you are not smoking them." + description_fluff = "The exquisite wooden case bears the markings of the \ + Choiba cigar company based out of Cuba. The perfectly humidized case keeps \ + the companies signature Cigars in premium condidtion even when traveling \ + long distances within a vacuume. The custom case itself can sell for quite \ + a lot in some places." + icon_state = "cohibacase" + icon = 'icons/obj/cigarettes.dmi' + icon_type = "cigar" + starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba = 5) + +/obj/item/weapon/storage/fancy/cigar/havana + name = "\improper Havana cigar case" + desc = "A fancy case for holding your cigars when you are not smoking them." + icon_state = "havanacase" + icon = 'icons/obj/cigarettes.dmi' + icon_type = "cigar" + starts_with = list(/obj/item/clothing/mask/smokable/cigarette/cigar/havana = 5) + /* * Tobacco Bits */ diff --git a/code/game/objects/random/misc_vr.dm b/code/game/objects/random/misc_vr.dm index c6c2ec106bf..ecd7468d132 100644 --- a/code/game/objects/random/misc_vr.dm +++ b/code/game/objects/random/misc_vr.dm @@ -189,7 +189,7 @@ prob(1);/obj/random/thermalponcho, prob(5);/obj/random/contraband, prob(5);/obj/random/cargopod, - prob(1);/obj/item/weapon/flame/lighter/random, + prob(1);/obj/item/weapon/flame/lighter, prob(1);/obj/item/weapon/storage/wallet/random, prob(1);/obj/random/cutout) diff --git a/code/modules/economy/vending_machines.dm b/code/modules/economy/vending_machines.dm index 0011b4fbcc2..c237d682b5d 100644 --- a/code/modules/economy/vending_machines.dm +++ b/code/modules/economy/vending_machines.dm @@ -334,7 +334,7 @@ /obj/item/weapon/storage/chewables/tobacco = 5, /obj/item/weapon/storage/chewables/tobacco/fine = 5, /obj/item/weapon/storage/box/matches = 10, - /obj/item/weapon/flame/lighter/random = 4, + /obj/item/weapon/flame/lighter = 4, /obj/item/clothing/mask/smokable/ecig/util = 2, ///obj/item/clothing/mask/smokable/ecig/deluxe = 2, /obj/item/clothing/mask/smokable/ecig/simple = 2, @@ -363,7 +363,7 @@ /obj/item/weapon/storage/chewables/tobacco = 10, /obj/item/weapon/storage/chewables/tobacco/fine = 20, /obj/item/weapon/storage/box/matches = 1, - /obj/item/weapon/flame/lighter/random = 2, + /obj/item/weapon/flame/lighter/ = 2, /obj/item/clothing/mask/smokable/ecig/util = 100, ///obj/item/clothing/mask/smokable/ecig/deluxe = 300, /obj/item/clothing/mask/smokable/ecig/simple = 150, diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index da355f3e97a..3237f3ce071 100644 Binary files a/icons/obj/cigarettes.dmi and b/icons/obj/cigarettes.dmi differ diff --git a/icons/obj/lighters.dmi b/icons/obj/lighters.dmi new file mode 100644 index 00000000000..8356af7b48b Binary files /dev/null and b/icons/obj/lighters.dmi differ diff --git a/icons/obj/zippo.dmi b/icons/obj/zippo.dmi deleted file mode 100644 index 17288a981aa..00000000000 Binary files a/icons/obj/zippo.dmi and /dev/null differ