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