diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm
index 79e4b34e24b..307ef819014 100644
--- a/_maps/map_files/generic/centcomm.dmm
+++ b/_maps/map_files/generic/centcomm.dmm
@@ -3233,15 +3233,16 @@
},
/turf/simulated/floor/carpet/black,
/area/ghost_bar)
-"kY" = (
-/obj/item/storage/fancy/cigarettes/cigpack_robustgold{
+"kX" = (
+/obj/item/flash{
+ pixel_x = -43;
pixel_y = 6
},
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_y = 3
- },
-/obj/item/clothing/mask/cigarette/cigar/havana,
+/turf/simulated/floor/plasteel/dark,
+/area/centcom/specops)
+"kY" = (
/obj/structure/table/wood,
+/obj/item/storage/fancy/cigars,
/turf/simulated/floor/plasteel{
icon_state = "bar"
},
@@ -4120,13 +4121,14 @@
/area/shuttle/supply)
"nF" = (
/obj/structure/table/wood,
-/obj/item/folder/red,
-/obj/item/lighter,
+/obj/machinery/recharger,
/turf/simulated/floor/wood,
/area/centcom/specops)
"nG" = (
/obj/structure/table/wood/poker,
-/obj/item/clothing/mask/cigarette/cigar/havana,
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
+ },
/turf/simulated/floor/transparent/glass,
/area/tdome/tdomeobserve)
"nH" = (
@@ -4188,7 +4190,6 @@
},
/area/centcom/evac)
"nQ" = (
-/obj/item/storage/fancy/cigarettes/dromedaryco,
/obj/item/lighter/zippo{
pixel_x = 5
},
@@ -4525,9 +4526,14 @@
/area/backrooms)
"pe" = (
/obj/structure/table/wood,
-/obj/item/folder/red,
-/obj/item/restraints/handcuffs,
-/obj/item/flash,
+/obj/item/storage/fancy/cigarettes/cigpack_robustgold{
+ pixel_x = -7;
+ pixel_y = 6
+ },
+/obj/item/storage/fancy/matches{
+ pixel_y = 5;
+ pixel_x = 7
+ },
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -5392,7 +5398,6 @@
/area/ghost_bar)
"rT" = (
/obj/structure/table/wood/poker,
-/obj/item/clothing/mask/cigarette/cigar/havana,
/obj/item/reagent_containers/drinks/bottle/cognac,
/turf/simulated/floor/transparent/glass,
/area/tdome/tdomeobserve)
@@ -8568,6 +8573,12 @@
id = "SpecopsEngineering";
req_access = list(114)
},
+/obj/item/folder/red,
+/obj/item/phone{
+ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
+ pixel_x = -5;
+ pixel_y = 3
+ },
/turf/simulated/floor/carpet,
/area/centcom/specops)
"Do" = (
@@ -10613,12 +10624,15 @@
},
/area/ghost_bar)
"JQ" = (
-/obj/item/lighter{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/lighter,
/obj/structure/table/wood,
+/obj/item/storage/fancy/matches{
+ pixel_y = 5;
+ pixel_x = 7
+ },
+/obj/item/storage/fancy/cigarettes/cigpack_robustgold{
+ pixel_x = -7;
+ pixel_y = 6
+ },
/turf/simulated/floor/plasteel{
icon_state = "bar"
},
@@ -11341,9 +11355,12 @@
/area/shuttle/administration)
"Mg" = (
/obj/structure/table/wood,
-/obj/item/folder/red,
-/obj/item/lighter,
/obj/machinery/newscaster/directional/south,
+/obj/item/phone{
+ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
+ pixel_x = -3;
+ pixel_y = 3
+ },
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -11406,19 +11423,9 @@
/area/shuttle/gamma/space)
"Mp" = (
/obj/structure/table/wood,
-/obj/item/phone{
- desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_x = 6
- },
-/obj/item/clothing/mask/cigarette/cigar/havana{
- pixel_x = 2
- },
-/obj/item/clothing/mask/cigarette/cigar{
- pixel_x = 4.5
+/obj/item/storage/fancy/havana_cigar{
+ pixel_x = 3;
+ pixel_y = 8
},
/turf/simulated/floor/plasteel{
icon_state = "vault"
@@ -12486,7 +12493,7 @@
/area/space/centcomm)
"PB" = (
/obj/structure/table/wood,
-/obj/machinery/recharger,
+/obj/item/storage/fancy/havana_cigar,
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"PC" = (
@@ -12606,15 +12613,17 @@
/area/centcom/evac)
"PS" = (
/obj/structure/table/reinforced,
-/obj/item/folder/red{
- pixel_x = -2;
- pixel_y = -2
+/obj/item/stamp/denied{
+ pixel_x = 10;
+ pixel_y = 10
},
-/obj/item/folder/blue{
- pixel_x = 2;
- pixel_y = 2
+/obj/item/stamp{
+ pixel_x = 1;
+ pixel_y = 10
+ },
+/obj/item/ashtray/bronze{
+ pixel_y = -10
},
-/obj/item/lighter,
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"PT" = (
@@ -12821,8 +12830,9 @@
/area/holodeck/source_boxingcourt)
"QC" = (
/obj/structure/table/wood,
-/obj/item/clipboard,
-/obj/item/radio/headset/centcom,
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
+ },
/turf/simulated/floor/plasteel{
icon_state = "vault"
},
@@ -12964,9 +12974,14 @@
/area/ghost_bar)
"QX" = (
/obj/structure/table/wood,
-/obj/item/folder/red,
-/obj/item/restraints/handcuffs,
-/obj/item/flash,
+/obj/item/storage/fancy/matches{
+ pixel_y = 5;
+ pixel_x = 7
+ },
+/obj/item/storage/fancy/cigarettes/cigpack_robustgold{
+ pixel_x = -7;
+ pixel_y = 6
+ },
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"QY" = (
@@ -13125,6 +13140,9 @@
/area/centcom/specops)
"Rz" = (
/obj/structure/table,
+/obj/item/storage/fancy/cigars{
+ pixel_y = 8
+ },
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/administration)
"RA" = (
@@ -13640,8 +13658,10 @@
"Tq" = (
/obj/structure/table/wood,
/obj/item/folder/red,
-/obj/item/lighter,
/obj/machinery/newscaster/directional/south,
+/obj/item/folder/blue{
+ pixel_x = -5
+ },
/turf/simulated/floor/plasteel{
dir = 10;
icon_state = "vault"
@@ -13746,10 +13766,6 @@
},
/area/centcom/evac)
"TN" = (
-/obj/item/storage/fancy/matches{
- pixel_x = -3;
- pixel_y = 5
- },
/obj/structure/table/wood,
/obj/machinery/barsign{
pixel_y = -32
@@ -14159,8 +14175,8 @@
"Vi" = (
/obj/structure/table/wood,
/obj/item/taperecorder,
-/obj/item/storage/box/handcuffs,
/obj/item/flashlight/seclite,
+/obj/item/storage/box/handcuffs,
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"Vj" = (
@@ -14487,6 +14503,9 @@
"Wp" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
+/obj/item/ashtray/glass{
+ pixel_y = -11
+ },
/turf/simulated/floor/transparent/glass,
/area/centcom/specops)
"Wq" = (
@@ -14545,19 +14564,8 @@
/area/admin)
"Wy" = (
/obj/structure/table/wood,
-/obj/item/phone{
- desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_x = 6
- },
-/obj/item/clothing/mask/cigarette/cigar/havana{
- pixel_x = 2
- },
-/obj/item/clothing/mask/cigarette/cigar{
- pixel_x = 4.5
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
},
/turf/simulated/floor/transparent/glass,
/area/centcom/specops)
@@ -15032,13 +15040,12 @@
/area/shuttle/escape)
"XI" = (
/obj/item/clipboard,
-/obj/item/folder/red,
-/obj/item/stamp/denied{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/stamp,
/obj/structure/table/reinforced,
+/obj/item/phone{
+ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
+ pixel_x = 8;
+ pixel_y = 12
+ },
/turf/simulated/floor/plasteel/dark,
/area/centcom/specops)
"XJ" = (
@@ -15478,21 +15485,14 @@
/area/centcom/specops)
"Zd" = (
/obj/structure/table/wood,
-/obj/item/phone{
- desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in.";
- pixel_x = -3;
+/obj/machinery/newscaster/directional/north,
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
+ },
+/obj/item/lighter/zippo/nt_rep{
+ pixel_x = -16;
pixel_y = 3
},
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_x = 6
- },
-/obj/item/clothing/mask/cigarette/cigar/havana{
- pixel_x = 2
- },
-/obj/item/clothing/mask/cigarette/cigar{
- pixel_x = 4.5
- },
-/obj/machinery/newscaster/directional/north,
/turf/simulated/floor/plasteel{
dir = 5;
icon_state = "vault"
@@ -34457,7 +34457,7 @@ Tx
Ra
Cf
Zr
-Ra
+kX
Wf
Ep
Yx
diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm
index e6aa6d9be4f..2634b399811 100644
--- a/_maps/map_files/stations/boxstation.dmm
+++ b/_maps/map_files/stations/boxstation.dmm
@@ -22630,6 +22630,9 @@
"bAa" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
+/obj/item/ashtray/glass{
+ pixel_y = 13
+ },
/turf/simulated/floor/carpet,
/area/station/command/office/captain)
"bAb" = (
@@ -31454,6 +31457,10 @@
/area/station/medical/medbay3)
"ckt" = (
/obj/structure/table/wood,
+/obj/machinery/photocopier/faxmachine/longrange{
+ department = "NT Representative's Office";
+ pixel_y = 4
+ },
/turf/simulated/floor/carpet/royalblack,
/area/station/command/office/ntrep)
"ckv" = (
@@ -32479,9 +32486,8 @@
"coo" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/table/wood,
-/obj/machinery/photocopier/faxmachine/longrange{
- department = "NT Representative's Office";
- pixel_y = 4
+/obj/item/storage/fancy/cigars{
+ pixel_y = 8
},
/turf/simulated/floor/carpet/royalblack,
/area/station/command/office/ntrep)
@@ -38494,6 +38500,10 @@
/obj/item/paper/ntrep,
/obj/item/stamp/rep,
/obj/item/folder,
+/obj/item/ashtray/glass{
+ pixel_x = 16;
+ pixel_y = 2
+ },
/turf/simulated/floor/carpet/royalblack,
/area/station/command/office/ntrep)
"cLF" = (
@@ -39014,7 +39024,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 10
},
-/obj/structure/lattice,
+/obj/structure/lattice/catwalk,
/turf/space,
/area/space/nearstation)
"cNF" = (
@@ -54136,7 +54146,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 9
},
-/obj/structure/lattice,
+/obj/structure/lattice/catwalk,
/turf/space,
/area/space/nearstation)
"gNX" = (
@@ -63639,13 +63649,6 @@
},
/turf/simulated/floor/engine/airless,
/area/station/science/toxins/test)
-"ltD" = (
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 9
- },
-/obj/structure/lattice/catwalk,
-/turf/space,
-/area/space/nearstation)
"ltR" = (
/obj/structure/plasticflaps{
opacity = 1
@@ -74315,6 +74318,7 @@
/obj/item/flashlight/lamp/green{
pixel_y = 8
},
+/obj/item/storage/fancy/cigars/cohiba,
/turf/simulated/floor/carpet,
/area/station/command/office/captain)
"qCk" = (
@@ -80951,7 +80955,6 @@
pixel_y = -28
},
/obj/item/reagent_containers/drinks/flask/gold,
-/obj/item/clothing/mask/cigarette/cigar,
/obj/item/razor{
pixel_x = -4;
pixel_y = 2
@@ -82101,13 +82104,6 @@
icon_state = "dark"
},
/area/station/engineering/control)
-"uud" = (
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 10
- },
-/obj/structure/lattice/catwalk,
-/turf/space,
-/area/space/nearstation)
"uuh" = (
/obj/machinery/disposal,
/obj/machinery/light,
@@ -85354,6 +85350,13 @@
icon_state = "caution"
},
/area/station/public/dorms)
+"wfZ" = (
+/obj/machinery/atmospherics/pipe/simple/visible/yellow{
+ dir = 9
+ },
+/obj/structure/lattice,
+/turf/space,
+/area/space/nearstation)
"wgt" = (
/obj/structure/table/wood,
/obj/item/ashtray/glass,
@@ -88793,6 +88796,13 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/abandonedservers)
+"xPT" = (
+/obj/machinery/atmospherics/pipe/simple/visible/yellow{
+ dir = 10
+ },
+/obj/structure/lattice,
+/turf/space,
+/area/space/nearstation)
"xQB" = (
/obj/effect/spawner/window/reinforced/tinted,
/obj/structure/disposalpipe/segment{
@@ -125821,7 +125831,7 @@ aab
cQp
aab
cZh
-uud
+cNE
dba
djE
dcS
@@ -125833,7 +125843,7 @@ djE
djE
djE
djE
-ltD
+gNQ
aab
aab
aab
@@ -127125,7 +127135,7 @@ igi
igi
igi
igi
-gNQ
+wfZ
fPY
wyD
wyD
@@ -127354,7 +127364,7 @@ cep
cjq
cep
cxO
-cNE
+xPT
igi
igi
igi
@@ -127372,7 +127382,7 @@ igi
igi
igi
igi
-gNQ
+wfZ
dgS
eQU
eQU
diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm
index bada73eeba6..635afbbf642 100644
--- a/_maps/map_files/stations/cerestation.dmm
+++ b/_maps/map_files/stations/cerestation.dmm
@@ -3407,6 +3407,7 @@
"ayA" = (
/obj/structure/table/wood,
/obj/item/book/manual/wiki/security_space_law,
+/obj/item/megaphone,
/turf/simulated/floor/carpet/black,
/area/station/command/office/captain)
"ayB" = (
@@ -3820,11 +3821,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/carpet/black,
/area/station/command/office/captain)
-"aCh" = (
-/obj/structure/table/wood,
-/obj/item/megaphone,
-/turf/simulated/floor/carpet/black,
-/area/station/command/office/captain)
"aCj" = (
/obj/machinery/light,
/turf/simulated/floor/plasteel{
@@ -5398,16 +5394,6 @@
icon_state = "darkblue"
},
/area/station/command/meeting_room)
-"aSm" = (
-/obj/structure/table/wood,
-/obj/item/stack/cable_coil/random{
- pixel_x = 2;
- pixel_y = 3
- },
-/obj/item/stack/cable_coil/random,
-/obj/item/eftpos,
-/turf/simulated/floor/wood,
-/area/station/service/bar)
"aSo" = (
/obj/structure/table/reinforced,
/obj/item/clothing/ears/earmuffs,
@@ -5858,7 +5844,14 @@
/area/station/hallway/primary/fore/east)
"aVG" = (
/obj/structure/table/wood,
-/obj/item/toy/figure/crew/captain,
+/obj/item/ashtray/glass{
+ pixel_x = -4;
+ pixel_y = -4
+ },
+/obj/item/toy/figure/crew/captain{
+ pixel_x = 8;
+ pixel_y = 4
+ },
/turf/simulated/floor/carpet/black,
/area/station/command/office/captain)
"aVH" = (
@@ -39523,6 +39516,13 @@
/obj/effect/spawner/random/maintenance,
/turf/simulated/floor/plating/asteroid/ancient,
/area/station/maintenance/maintcentral)
+"gWs" = (
+/obj/structure/table/wood,
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
+ },
+/turf/simulated/floor/carpet/black,
+/area/station/command/office/captain)
"gWH" = (
/obj/structure/shelf/engineering,
/obj/effect/spawner/random/engineering/materials,
@@ -58291,16 +58291,12 @@
/area/station/command/office/ntrep)
"kLg" = (
/obj/structure/table/wood,
-/obj/item/ashtray/glass{
- pixel_x = 6;
- pixel_y = 3
- },
-/obj/item/clothing/mask/cigarette/cigar/cohiba,
-/obj/item/lighter/zippo/nt_rep,
-/obj/item/storage/fancy/cigarettes/cigpack_robustgold,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
+/obj/item/storage/fancy/cigars{
+ pixel_y = 8
+ },
/turf/simulated/floor/wood,
/area/station/command/office/ntrep)
"kLh" = (
@@ -58394,6 +58390,17 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/item/ashtray/glass{
+ pixel_y = 10
+ },
+/obj/item/storage/fancy/cigarettes/cigpack_robustgold{
+ pixel_x = 12;
+ pixel_y = 3
+ },
+/obj/item/lighter/zippo/nt_rep{
+ pixel_x = -13;
+ pixel_y = 3
+ },
/turf/simulated/floor/wood,
/area/station/command/office/ntrep)
"kMk" = (
@@ -61309,6 +61316,16 @@
icon_state = "dark"
},
/area/station/engineering/break_room/secondary)
+"lsh" = (
+/obj/structure/table/wood,
+/obj/item/stack/cable_coil/random{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/item/stack/cable_coil/random,
+/obj/item/eftpos,
+/turf/simulated/floor/wood,
+/area/station/service/bar)
"lsp" = (
/obj/effect/spawner/window/reinforced/polarized{
id = "scibreak"
@@ -143013,7 +143030,7 @@ oOg
unz
wmR
wDV
-aSm
+lsh
aZZ
wmR
ehV
@@ -155786,7 +155803,7 @@ ayz
azS
hqx
aVG
-bjN
+gWs
aES
eTm
aBC
@@ -156043,7 +156060,7 @@ ayA
aEU
aVC
wVh
-aCh
+bjN
aEU
eTm
eYJ
diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm
index 15edf275dac..0d90046658b 100644
--- a/_maps/map_files/stations/deltastation.dmm
+++ b/_maps/map_files/stations/deltastation.dmm
@@ -22814,6 +22814,9 @@
"bLe" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
+/obj/item/ashtray/glass{
+ pixel_y = -11
+ },
/turf/simulated/floor/wood,
/area/station/command/office/captain)
"bLf" = (
@@ -23388,11 +23391,12 @@
/area/station/command/office/captain)
"bNg" = (
/obj/structure/table/wood,
-/obj/item/clothing/mask/cigarette/cigar,
-/obj/item/clothing/mask/cigarette/cigar,
/obj/structure/cable{
icon_state = "2-8"
},
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
+ },
/turf/simulated/floor/wood,
/area/station/command/office/captain)
"bNh" = (
@@ -27623,13 +27627,11 @@
/area/station/command/office/ntrep)
"ccb" = (
/obj/structure/table/wood,
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_x = 3;
- pixel_y = -3
+/obj/item/ashtray/glass{
+ pixel_y = -11
},
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_x = -3;
- pixel_y = 3
+/obj/item/storage/fancy/cigars{
+ pixel_y = 8
},
/turf/simulated/floor/wood,
/area/station/command/office/ntrep)
@@ -34587,10 +34589,16 @@
/area/station/science/robotics/showroom)
"czO" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/drinks/bottle/whiskey,
+/obj/item/reagent_containers/drinks/bottle/whiskey{
+ pixel_x = 4;
+ pixel_y = 7
+ },
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/item/ashtray/glass{
+ pixel_y = -11
+ },
/turf/simulated/floor/carpet,
/area/station/science/robotics/showroom)
"czP" = (
@@ -34612,6 +34620,9 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/item/ashtray/glass{
+ pixel_y = -11
+ },
/turf/simulated/floor/carpet,
/area/station/science/robotics/showroom)
"czR" = (
@@ -35068,17 +35079,12 @@
/area/station/science/robotics/showroom)
"cBq" = (
/obj/structure/table/wood,
-/obj/item/clothing/mask/cigarette/cigar/havana{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_x = 3;
- pixel_y = -3
- },
/obj/structure/cable{
icon_state = "1-2"
},
+/obj/item/storage/fancy/cigars{
+ pixel_y = 8
+ },
/turf/simulated/floor/carpet,
/area/station/science/robotics/showroom)
"cBr" = (
diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm
index 36589c37d40..01409297116 100644
--- a/_maps/map_files/stations/emeraldstation.dmm
+++ b/_maps/map_files/stations/emeraldstation.dmm
@@ -5546,17 +5546,11 @@
/area/station/maintenance/fpmaint)
"bgN" = (
/obj/structure/table/wood,
-/obj/item/clothing/mask/cigarette/cigar/cohiba{
- pixel_x = 3;
- pixel_y = -3
- },
-/obj/item/ashtray/bronze,
-/obj/item/clothing/mask/cigarette/cigar/havana{
- pixel_x = -3;
- pixel_y = 3
- },
/obj/machinery/light,
/obj/machinery/newscaster/security_unit/directional/south,
+/obj/item/storage/fancy/cigars{
+ pixel_y = 8
+ },
/turf/simulated/floor/carpet/royalblack,
/area/station/command/office/ntrep)
"bgP" = (
@@ -37066,11 +37060,9 @@
/area/station/public/fitness)
"hql" = (
/obj/structure/table/wood/fancy/blue,
-/obj/item/ashtray/glass{
- pixel_y = 3;
- pixel_x = -3
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
},
-/obj/item/clothing/mask/cigarette/cigar,
/turf/simulated/floor/wood,
/area/station/command/office/captain)
"hqr" = (
@@ -43588,6 +43580,9 @@
/obj/item/reagent_containers/drinks/drinkingglass/shotglass{
pixel_x = 10
},
+/obj/item/ashtray/bronze{
+ pixel_y = -10
+ },
/turf/simulated/floor/carpet/royalblack,
/area/station/command/office/ntrep)
"iFN" = (
@@ -47573,7 +47568,6 @@
"juE" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/drinks/flask/gold,
-/obj/item/clothing/mask/cigarette/cigar,
/obj/machinery/camera{
c_tag = "Captain's Quarters";
dir = 1
@@ -86488,6 +86482,10 @@
pixel_y = 15;
pixel_x = -5
},
+/obj/item/ashtray/glass{
+ pixel_x = 6;
+ pixel_y = 3
+ },
/turf/simulated/floor/wood,
/area/station/command/office/captain)
"ril" = (
@@ -113913,7 +113911,6 @@
pixel_y = 3;
pixel_x = -3
},
-/obj/item/clothing/mask/cigarette/cigar/havana,
/obj/item/radio/intercom{
name = "east bump";
pixel_x = 28
diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm
index a3e747ddbb5..b6fffbb05d2 100644
--- a/_maps/map_files/stations/metastation.dmm
+++ b/_maps/map_files/stations/metastation.dmm
@@ -11777,7 +11777,6 @@
pixel_x = -4;
pixel_y = 2
},
-/obj/item/clothing/mask/cigarette/cigar,
/turf/simulated/floor/carpet,
/area/station/command/office/captain/bedroom)
"bmW" = (
@@ -15743,6 +15742,9 @@
"bCp" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
+/obj/item/ashtray/glass{
+ pixel_y = -11
+ },
/turf/simulated/floor/carpet,
/area/station/command/office/captain)
"bCr" = (
@@ -16175,10 +16177,12 @@
/area/station/command/office/captain)
"bEl" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/drinks/shaker,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/item/storage/fancy/cigars/cohiba{
+ pixel_y = 8
+ },
/turf/simulated/floor/carpet,
/area/station/command/office/captain)
"bEm" = (
@@ -20256,6 +20260,9 @@
/area/station/science/robotics/showroom)
"bYo" = (
/obj/structure/closet/secure_closet/ntrep,
+/obj/item/storage/fancy/cigars{
+ pixel_y = 8
+ },
/turf/simulated/floor/carpet/royalblack,
/area/station/command/office/ntrep)
"bYp" = (
@@ -22568,6 +22575,10 @@
"ciK" = (
/obj/structure/table/wood,
/obj/item/paper/ntrep,
+/obj/item/ashtray/glass{
+ pixel_x = 16;
+ pixel_y = 2
+ },
/turf/simulated/floor/carpet/royalblack,
/area/station/command/office/ntrep)
"ciM" = (
diff --git a/code/game/machinery/vendors/generic_vendors.dm b/code/game/machinery/vendors/generic_vendors.dm
index 4c9a902ede8..98a3ee11893 100644
--- a/code/game/machinery/vendors/generic_vendors.dm
+++ b/code/game/machinery/vendors/generic_vendors.dm
@@ -1249,7 +1249,8 @@
/obj/item/storage/fancy/matches = 10,
/obj/item/lighter/random = 4,
/obj/item/lighter/zippo = 2,
- /obj/item/storage/fancy/rollingpapers = 5)
+ /obj/item/storage/fancy/rollingpapers = 5,
+ /obj/item/food/grown/tobacco/pre_dried = 5,)
contraband = list(/obj/item/storage/fancy/cigarettes/cigpack_midori = 6)
@@ -1270,6 +1271,7 @@
/obj/item/lighter/random = 40,
/obj/item/lighter/zippo = 80,
/obj/item/storage/fancy/rollingpapers = 30,
+ /obj/item/food/grown/tobacco/pre_dried = 50,
)
refill_canister = /obj/item/vending_refill/cigarette
@@ -1292,7 +1294,8 @@
/obj/item/reagent_containers/patch/nicotine = 10,
/obj/item/storage/fancy/matches = 10,
/obj/item/lighter/zippo = 6,
- /obj/item/storage/fancy/rollingpapers = 5)
+ /obj/item/storage/fancy/rollingpapers = 5,
+ /obj/item/food/grown/tobacco/pre_dried = 5,)
// 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,
@@ -1331,7 +1334,8 @@
/obj/item/reagent_containers/patch/nicotine = 20,
/obj/item/storage/fancy/matches = 10,
/obj/item/lighter/zippo = 10,
- /obj/item/storage/fancy/rollingpapers = 10)
+ /obj/item/storage/fancy/rollingpapers = 10,
+ /obj/item/food/grown/tobacco/pre_dried = 10,)
contraband = list()
prices = list()
diff --git a/code/game/objects/items/cigs.dm b/code/game/objects/items/cigs.dm
index 7bc5e65ecd9..3d90f444664 100644
--- a/code/game/objects/items/cigs.dm
+++ b/code/game/objects/items/cigs.dm
@@ -56,7 +56,7 @@ LIGHTERS ARE IN LIGHTERS.DM
if(list_reagents)
reagents.add_reagent_list(list_reagents)
smoketime = reagents.total_volume * 2.5
- update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
+ update_appearance(UPDATE_NAME|UPDATE_ICON)
/obj/item/clothing/mask/cigarette/update_icon_state()
. = ..()
@@ -261,7 +261,7 @@ LIGHTERS ARE IN LIGHTERS.DM
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)
+ update_appearance(UPDATE_NAME|UPDATE_ICON)
START_PROCESSING(SSobj, src)
playsound(src, 'sound/items/lighter/light.ogg', 25, TRUE)
return TRUE
@@ -417,6 +417,7 @@ LIGHTERS ARE IN LIGHTERS.DM
/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()
@@ -476,21 +477,67 @@ LIGHTERS ARE IN LIGHTERS.DM
to_chat(user, "You need to dry this first!")
return ITEM_INTERACT_COMPLETE
- user.unequip(plant, TRUE)
user.unequip(src, TRUE)
var/obj/item/clothing/mask/cigarette/rollie/custom/custom_rollie = new (get_turf(user))
- custom_rollie.reagents.maximum_volume = plant.reagents.total_volume
- plant.reagents.trans_to(custom_rollie, plant.reagents.total_volume)
- custom_rollie.smoketime = custom_rollie.reagents.total_volume * 2.5
-
- user.put_in_active_hand(custom_rollie)
- to_chat(user, "You roll the [plant.name] into a rolling paper.")
- custom_rollie.desc = "Dried [plant.name] rolled up in a thin piece of paper."
-
- qdel(plant)
+ // Don't stuff the entire tin into a single cig, you barbarian!
+ if(istype(used, /obj/item/food/grown/tobacco/pre_dried))
+ custom_rollie.desc = "Dried tobacco rolled up in a thin piece of paper."
+ if(plant.reagents.total_volume > custom_rollie.chem_volume)
+ to_chat(user, "You pour some of [plant] into a rolling paper.")
+ plant.reagents.trans_to(custom_rollie, 40)
+ plant.update_appearance(UPDATE_ICON)
+ else
+ to_chat(user, "You empty [plant] into a rolling paper.")
+ plant.reagents.trans_to(custom_rollie, plant.reagents.total_volume)
+ user.unequip(plant, TRUE)
+ qdel(plant)
+ user.put_in_active_hand(new /obj/item/trash/tobacco_tin)
+ else
+ user.unequip(plant, TRUE)
+ custom_rollie.reagents.maximum_volume = plant.reagents.total_volume
+ plant.reagents.trans_to(custom_rollie, plant.reagents.total_volume)
+ to_chat(user, "You roll the [plant.name] into a rolling paper.")
+ custom_rollie.desc = "Dried [plant.name] rolled up in a thin piece of paper."
+ qdel(plant)
+ custom_rollie.smoketime = custom_rollie.reagents.total_volume * REAGENT_TIME_RATIO
+ user.put_in_hands(custom_rollie)
qdel(src)
return ITEM_INTERACT_COMPLETE
+/obj/item/food/grown/tobacco/pre_dried
+ name = "\improper King's Own tobacco"
+ desc = "A tin of loose-leaf tobacco for filling pipes and hand-rolled cigarettes."
+ icon = 'icons/obj/cigarettes.dmi'
+ icon_state = "pipe_tobacco"
+ seed = null
+ trash = /obj/item/trash/tobacco_tin
+ dry = TRUE
+ tastes = list("tobacco" = 1, "herbs" = 2, "spices" = 2)
+ volume = 240
+ list_reagents = list("nicotine" = 240) // One of these has to fill an entire pipe. This is also the same nicotine found in a pack of 6 normal cigarettes.
+
+/obj/item/food/grown/tobacco/pre_dried/examine_more(mob/user)
+ . = ..()
+ . += "A unique verity of hardy, arid tobacco grown on the Vulpkanin world of Strend in the Kelunian system. \
+ The strain was developed from varieties imported from Kelune by the first colonists, and is now considered a luxury brand."
+ . += ""
+ . += "Sun-dried, finely shredded, and infused with herbs and spices; it has a pleasant but difficult to pin down flavor.\
+ Whilst intended for use in pipes or hand-rolled cigarettes, some have been known to use it as dip or snuff."
+
+/obj/item/food/grown/tobacco/pre_dried/On_Consume(mob/M, mob/user)
+ update_icon(UPDATE_ICON_STATE)
+ ..()
+
+/obj/item/food/grown/tobacco/pre_dried/update_icon_state()
+ . = ..()
+ if(reagents.total_volume < 240)
+ icon_state = "pipe_tobacco_open"
+
+/obj/item/trash/tobacco_tin
+ name = "empty tobacco tin"
+ icon = 'icons/obj/cigarettes.dmi'
+ icon_state = "pipe_tobacco_empty"
+
//////////////////////////////
// MARK: CIGARS
//////////////////////////////
@@ -506,7 +553,7 @@ LIGHTERS ARE IN LIGHTERS.DM
/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."
+ . += "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."
@@ -524,7 +571,7 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/cigarette/cigar/havana
name = "\improper Premium Havanian Cigar"
- desc = "A luxury cigar only fit for the best of the best."
+ desc = "A luxury cigar imported straight from Sol. Only fit for the best of the best. You feel badass merely glimpsing it..."
icon_state = "gold_cigar"
smoketime = 450
chem_volume = 200
@@ -541,6 +588,27 @@ LIGHTERS ARE IN LIGHTERS.DM
. += "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/clothing/mask/cigarette/cigar/havana/equipped(mob/user, slot, initial)
+ . = ..()
+ if(lit && slot == ITEM_SLOT_MASK)
+ grant_badass(user)
+
+/obj/item/clothing/mask/cigarette/cigar/havana/light(mob/living/user)
+ ..()
+ if(!HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
+ grant_badass(user)
+
+/obj/item/clothing/mask/cigarette/cigar/havana/proc/grant_badass(mob/user)
+ if(!HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
+ ADD_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR)
+ to_chat(user, "You feel more badass while smoking [src].")
+
+/obj/item/clothing/mask/cigarette/cigar/havana/dropped(mob/user, silent)
+ . = ..()
+ if(HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
+ REMOVE_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR)
+ to_chat(user, "You feel less badass.")
+
/obj/item/cigbutt/cigarbutt
name = "cigar butt"
desc = "A manky old cigar butt."
@@ -584,7 +652,7 @@ LIGHTERS ARE IN LIGHTERS.DM
to_chat(user, "You enable the holo-cigar.")
START_PROCESSING(SSobj, src)
- update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
+ update_appearance(UPDATE_NAME|UPDATE_ICON)
/obj/item/clothing/mask/holo_cigar/Destroy()
. = ..()
@@ -665,17 +733,30 @@ LIGHTERS ARE IN LIGHTERS.DM
to_chat(user, "[src] is full!")
return ITEM_INTERACT_COMPLETE
- filler.reagents.trans_to(src, chem_volume)
- to_chat(user, "You stuff the [filler.name] into the pipe.")
+ if(istype(used, /obj/item/food/grown/tobacco/pre_dried))
+ to_chat(user, "You empty [filler] into the pipe.")
+ if((chem_volume - reagents.total_volume) >= filler.reagents.total_volume)
+ filler.reagents.trans_to(src, chem_volume)
+ user.unequip(filler, TRUE)
+ qdel(filler)
+ user.put_in_active_hand(new /obj/item/trash/tobacco_tin)
+ else
+ to_chat(user, "You pour some of [filler] into the pipe.")
+ filler.reagents.trans_to(src, clamp(filler.reagents.total_volume, 0, (chem_volume - reagents.total_volume)))
+ filler.update_icon(UPDATE_ICON_STATE)
+ else
+ to_chat(user, "You stuff the [filler.name] into the pipe.")
+ filler.reagents.trans_to(src, chem_volume)
+ qdel(filler)
+
smoketime = max(reagents.total_volume * REAGENT_TIME_RATIO, smoketime)
- qdel(filler)
return ITEM_INTERACT_COMPLETE
/obj/item/clothing/mask/cigarette/pipe/light()
if(!lit)
lit = TRUE
damtype = "fire"
- update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
+ update_appearance(UPDATE_NAME|UPDATE_ICON)
START_PROCESSING(SSobj, src)
/obj/item/clothing/mask/cigarette/pipe/process()
@@ -687,7 +768,7 @@ LIGHTERS ARE IN LIGHTERS.DM
var/mob/living/M = loc
to_chat(M, "Your [name] goes out, and you empty the ash.")
lit = FALSE
- update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
+ update_appearance(UPDATE_NAME|UPDATE_ICON)
STOP_PROCESSING(SSobj, src)
return
@@ -700,7 +781,7 @@ LIGHTERS ARE IN LIGHTERS.DM
)
lit = FALSE
first_puff = TRUE
- update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
+ update_appearance(UPDATE_NAME|UPDATE_ICON)
STOP_PROCESSING(SSobj, src)
/obj/item/clothing/mask/cigarette/pipe/die()
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index a22ea026bb3..459060142df 100644
--- a/code/game/objects/items/storage/fancy.dm
+++ b/code/game/objects/items/storage/fancy.dm
@@ -10,7 +10,9 @@
* Egg Box
* Candle Box
* Crayon Box
+ * Matchbox
* Cigarette Box
+ * Cigar Box
* Vial Box
* Aquatic Starter Kit
*/
@@ -168,10 +170,7 @@
return
..()
-/*
- * Matches Box
- */
-
+// MARK: MatchBox
/obj/item/storage/fancy/matches
name = "matchbox"
desc = "A small box of Almost But Not Quite Plasma Premium Matches."
@@ -425,7 +424,63 @@
if(!length(contents))
. += "[icon_state]_empty"
+// MARK: Cigar Box
+/obj/item/storage/fancy/cigars
+ name = "plastic cigar box"
+ desc = "A cheap plastic box for holding cheap cigars. Only Nanotrasen would think something like this is a good idea."
+ icon = 'icons/obj/cigarettes.dmi'
+ icon_state = "cigar_box"
+ storage_slots = 6
+ max_combined_w_class = 6
+ can_hold = list(/obj/item/clothing/mask/cigarette/cigar)
+ icon_type = "cigar"
+ var/cigar_type = /obj/item/clothing/mask/cigarette/cigar
+/obj/item/storage/fancy/cigars/populate_contents()
+ for(var/I in 1 to storage_slots)
+ new cigar_type(src)
+
+/obj/item/storage/fancy/cigars/update_overlays()
+ . = ..()
+ for(var/I = 1 to length(contents))
+ var/obj/item/clothing/mask/cigarette/cigar/cigar = contents[I]
+ var/icon/new_cigar_icon = icon('icons/obj/cigarettes.dmi', "[initial(cigar.icon_state)]_[I]")
+ . += new_cigar_icon
+
+/obj/item/storage/fancy/cigars/update_icon_state()
+ icon_state = "[initial(icon_state)]_open"
+
+/obj/item/storage/fancy/cigars/cohiba
+ name = "wooden cigar box"
+ icon_state = "wood_cigar_box"
+ desc = "An ornate wooden box with decorative brass inlays. Perfect for storing a collection of fine cigars."
+ cigar_type = /obj/item/clothing/mask/cigarette/cigar/cohiba
+
+/obj/item/storage/fancy/havana_cigar
+ name = "\improper Cuban cigar box"
+ desc = "A small, ornate wooden box with decorative brass inlays. It has space for a single cigar inside. The bottom portion of the box has a silk-covered for holding the cigar. \
+ Underneath the insert is a folded paper with embossed gold lettering explaining the long and illustrious history of Cuban cigars."
+ icon = 'icons/obj/cigarettes.dmi'
+ icon_state = "cuban_cigar_box"
+ w_class = WEIGHT_CLASS_SMALL
+ can_hold = list(/obj/item/clothing/mask/cigarette/cigar/havana) // It's so powerful it refuses anything else.
+ icon_type = "cigar"
+ storage_slots = 1
+ var/cigar_type = /obj/item/clothing/mask/cigarette/cigar/havana
+
+/obj/item/storage/fancy/havana_cigar/update_icon_state()
+ icon_state = "[initial(icon_state)]_open"
+
+/obj/item/storage/fancy/havana_cigar/populate_contents()
+ new cigar_type(src)
+
+/obj/item/storage/fancy/havana_cigar/update_overlays()
+ . = ..()
+ for(var/I = 1 to length(contents))
+ var/obj/item/clothing/mask/cigarette/cigar/cigar = contents[I]
+ var/icon/new_cigar_icon = icon('icons/obj/cigarettes.dmi', "h_[initial(cigar.icon_state)]")
+ . += new_cigar_icon
+
// MARK: Vial Box
/obj/item/storage/fancy/vials
name = "vial storage box"
diff --git a/code/modules/supply/supply_packs/pack_miscellaneous.dm b/code/modules/supply/supply_packs/pack_miscellaneous.dm
index 396300abb93..6872f5a0ecb 100644
--- a/code/modules/supply/supply_packs/pack_miscellaneous.dm
+++ b/code/modules/supply/supply_packs/pack_miscellaneous.dm
@@ -846,3 +846,12 @@
cost = 250
containername = "assistant flag crate"
contraband = TRUE
+
+/datum/supply_packs/misc/premium_havana_cigar
+ name = "premium Havana cigar crate"
+ contains = list(
+ /obj/item/storage/fancy/havana_cigar
+ )
+ cost = 5000 // This is a very luxurious product. And it's only made on Earth. And it's subject to TSF export taxes.
+ containername = "premium Havana cigar crate"
+ containertype = /obj/structure/largecrate
diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi
index 78598390c9e..5da35e6fba2 100644
Binary files a/icons/obj/cigarettes.dmi and b/icons/obj/cigarettes.dmi differ