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