mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-15 09:03:23 +01:00
The Smoking Expansion DLC (#29674)
* Creation * refinement * so many icons aghhhh * The Revival * e * it continues (again) * Lots of progress! * I hate species sprites so much * fuck * Update fancy.dm * Update fancy.dm * Update cigs.dm * attack log * Abstract cigarette * Update fancy.dm
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
var/obj/item/clothing/mask/cigarette/cig = I
|
||||
if(cig.lit)
|
||||
visible_message("[user] crushes [cig] in [src], putting it out.")
|
||||
var/obj/item/butt = new cig.type_butt(src)
|
||||
var/obj/item/butt = new cig.butt_type(src)
|
||||
cig.transfer_fingerprints_to(butt)
|
||||
qdel(cig)
|
||||
else
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
"Paper" = image(icon = 'icons/obj/bureaucracy.dmi', icon_state = "paper"),
|
||||
"Pen" = image(icon = 'icons/obj/bureaucracy.dmi', icon_state = "pen"),
|
||||
"Dice Pack" = image(icon = 'icons/obj/dice.dmi', icon_state = "dicebag"),
|
||||
"Cigarette" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cigon"),
|
||||
"Cigarette" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cig_on"),
|
||||
"Newdles" = image(icon = 'icons/obj/food/food.dmi', icon_state = "chinese3"),
|
||||
"Donut" = image(icon = 'icons/obj/food/bakedgoods.dmi', icon_state = "donut1"),
|
||||
"Chicken Soup" = image(icon = 'icons/obj/drinks.dmi', icon_state = "soupcan"),
|
||||
"Tofu Burger" = image(icon = 'icons/obj/food/burgerbread.dmi', icon_state = "tofuburger"),
|
||||
"Cigar" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cigaroff"),
|
||||
"Cigar" = image(icon = 'icons/obj/clothing/masks.dmi', icon_state = "cigar_off"),
|
||||
"Smoked Cheese" = image(icon = 'icons/obj/food/food.dmi', icon_state = "cheesewheel-smoked"),
|
||||
"Edam Cheese" = image(icon = 'icons/obj/food/food.dmi', icon_state = "cheesewheel-edam"),
|
||||
"Blue Cheese" = image(icon = 'icons/obj/food/food.dmi', icon_state = "cheesewheel-blue"),
|
||||
|
||||
@@ -19,9 +19,10 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
/obj/item/clothing/mask/cigarette
|
||||
name = "cigarette"
|
||||
desc = "A roll of tobacco and nicotine."
|
||||
icon_state = "cigoff"
|
||||
item_state = "cigoff"
|
||||
throw_speed = 0.5
|
||||
icon = 'icons/obj/clothing/smoking.dmi'
|
||||
icon_state = "cig"
|
||||
lefthand_file = 'icons/mob/inhands/smoking_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/smoking_righthand.dmi'
|
||||
slot_flags = ITEM_SLOT_MASK
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
body_parts_covered = null
|
||||
@@ -30,14 +31,10 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
new_attack_chain = TRUE
|
||||
/// Is the cigarette lit?
|
||||
var/lit = FALSE
|
||||
/// Lit cigarette sprite.
|
||||
var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi
|
||||
/// Unlit cigarette sprite.
|
||||
var/icon_off = "cigoff"
|
||||
/// Do we require special items to be lit?
|
||||
var/list/fancy_lighters = list()
|
||||
/// What trash item the cigarette makes when it burns out.
|
||||
var/type_butt = /obj/item/cigbutt
|
||||
var/butt_type = /obj/item/cigbutt
|
||||
/// How long does the cigarette last before going out? Decrements by 1 every cycle.
|
||||
var/smoketime = 150 // 300 seconds.
|
||||
/// The cigarette's total reagent capacity.
|
||||
@@ -55,11 +52,29 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
|
||||
/obj/item/clothing/mask/cigarette/Initialize(mapload)
|
||||
. = ..()
|
||||
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 30
|
||||
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 60
|
||||
reagents.set_reacting(FALSE) // so it doesn't react until you light it
|
||||
if(list_reagents)
|
||||
reagents.add_reagent_list(list_reagents)
|
||||
smoketime = reagents.total_volume * 2.5
|
||||
update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/update_icon_state()
|
||||
. = ..()
|
||||
icon_state = "[initial(icon_state)][lit ? "_on" : ""]"
|
||||
item_state = "[initial(icon_state)][lit ? "_on" : ""]"
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/H = loc
|
||||
H.update_inv_wear_mask()
|
||||
H.update_inv_l_hand()
|
||||
H.update_inv_r_hand()
|
||||
|
||||
/obj/item/clothing/mask/cigarette/update_name()
|
||||
. = ..()
|
||||
if(!lit)
|
||||
name = initial(name)
|
||||
else
|
||||
name = "lit [name]"
|
||||
|
||||
/obj/item/clothing/mask/cigarette/activate_self(mob/user)
|
||||
if(..())
|
||||
@@ -212,7 +227,6 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
return
|
||||
|
||||
lit = TRUE
|
||||
name = "lit [name]"
|
||||
attack_verb = list("burnt", "singed")
|
||||
hitsound = 'sound/items/welder.ogg'
|
||||
damtype = BURN
|
||||
@@ -243,21 +257,14 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
if(isnull(target))
|
||||
target = user
|
||||
|
||||
// If there is also no user, the cig is being lit by atmos or something.
|
||||
if(target)
|
||||
target.update_inv_wear_mask()
|
||||
target.update_inv_l_hand()
|
||||
target.update_inv_r_hand()
|
||||
|
||||
reagents.set_reacting(TRUE)
|
||||
reagents.handle_reactions()
|
||||
icon_state = icon_on
|
||||
item_state = icon_on
|
||||
if(iscarbon(loc))
|
||||
var/mob/living/carbon/C = loc
|
||||
if(C.wear_mask == src) // Don't update if it's just in their hand
|
||||
C.wear_mask_update(src)
|
||||
set_light(2, 0.25, "#E38F46")
|
||||
update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
|
||||
START_PROCESSING(SSobj, src)
|
||||
playsound(src, 'sound/items/lighter/light.ogg', 25, TRUE)
|
||||
return TRUE
|
||||
@@ -302,7 +309,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
/obj/item/clothing/mask/cigarette/proc/die()
|
||||
var/turf/T = get_turf(src)
|
||||
set_light(0)
|
||||
var/obj/item/butt = new type_butt(T)
|
||||
var/obj/item/butt = new butt_type(T)
|
||||
transfer_fingerprints_to(butt)
|
||||
if(ismob(loc))
|
||||
var/mob/living/M = loc
|
||||
@@ -331,18 +338,73 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
/obj/item/clothing/mask/cigarette/random
|
||||
|
||||
/obj/item/clothing/mask/cigarette/random/New()
|
||||
list_reagents = list("nicotine" = 40, pick("fuel","saltpetre","synaptizine","green_vomit","potass_iodide","msg","lexorin","mannitol","spaceacillin","cryoxadone","holywater","tea","egg","haloperidol","mutagen","omnizine","carpet","aranesp","cryostylane","chocolate","bilk","cheese","rum","blood","charcoal","coffee","ectoplasm","space_drugs","milk","mutadone","antihol","teporone","insulin","salbutamol","toxin") = 20)
|
||||
list_reagents = list("nicotine" = 40, pick("fuel", "saltpetre", "synaptizine", "green_vomit", "potass_iodide", "msg", "lexorin", "mannitol", \
|
||||
"spaceacillin" ,"cryoxadone" ,"holywater", "tea" ,"egg" ,"haloperidol" ,"mutagen" ,"omnizine", "carpet", "aranesp", "cryostylane", "chocolate", \
|
||||
"bilk", "cheese", "rum", "blood", "charcoal", "coffee", "ectoplasm", "space_drugs", "milk", "mutadone", "antihol", "teporone", "insulin", "salbutamol", "toxin") = 20)
|
||||
..()
|
||||
|
||||
/obj/item/clothing/mask/cigarette/candy
|
||||
name = "candy cigarette"
|
||||
desc = "A stick of candy imitating a real cigarette. The words 'do not expose to heat' are written in very small letters around the base."
|
||||
|
||||
/obj/item/clothing/mask/cigarette/candy/interact_with_atom(atom/A, mob/living/user, list/modifiers)
|
||||
if(..())
|
||||
return
|
||||
|
||||
if(!ishuman(A))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/target = A
|
||||
if(target != user)
|
||||
user.visible_message(
|
||||
"<span_class='notice'>You begin to feed [target] [src].</span>",
|
||||
"<span_class='warning'>[user] begins to feed [target] [src]!</span>"
|
||||
)
|
||||
if(!do_after(user, 5 SECONDS, target = target))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
else
|
||||
to_chat(user, "<span_class='notice'>You eat [src].</span>")
|
||||
|
||||
playsound(user.loc, 'sound/items/eatfood.ogg', 50, 0)
|
||||
|
||||
// A SPICY candy!
|
||||
if(lit)
|
||||
target.adjust_nutrition(2)
|
||||
target.reagents.add_reagent("sugar", 2, reagtemp = 373)
|
||||
target.reagents.add_reagent("ash", 3, reagtemp = 373)
|
||||
target.reagents.add_reagent("nicotine", 3, reagtemp = 373)
|
||||
var/obj/item/organ/external/head/target_head = target.get_organ("head")
|
||||
if(target_head.receive_damage(0, 15)) // OH GOD IT BURNS WHY DID I EAT THIS!?
|
||||
target.UpdateDamageIcon()
|
||||
to_chat(target, "<span_class='notice'>You can taste burnt sugar, ash, burning chemicals, and your own burning flesh...</span>")
|
||||
to_chat(target, "<span_class='userdanger'>OH FUCK! IT BURNS!</span>")
|
||||
target.emote("scream")
|
||||
add_attack_logs(user, target, "Fed a burning candy cigarette.")
|
||||
else
|
||||
target.adjust_nutrition(5)
|
||||
target.reagents.add_reagent("sugar", 5)
|
||||
to_chat(target, "<span_class='notice'>You can taste sugar, and a hint of chemicals.</span>")
|
||||
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
/obj/item/clothing/mask/cigarette/syndicate
|
||||
name = "suspicious cigarette"
|
||||
desc = "An evil-looking cigarette. It smells of donk pockets."
|
||||
icon_state = "syndie_cig"
|
||||
butt_type = /obj/item/cigbutt/syndie
|
||||
list_reagents = list("nicotine" = 40, "omnizine" = 20)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/medical_marijuana
|
||||
name = "medical marijuana cigarette"
|
||||
desc = "A cigarette containing specially-bread cannabis that has been engineered to only contain CBD, for medical use. The lack of THC makes it fully legal under Space Law."
|
||||
icon_state = "medical_weed_cig"
|
||||
list_reagents = list("cbd" = 60)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/robustgold
|
||||
name = "\improper Robust Gold cigarette"
|
||||
desc = "A premium cigarette smoked by the truly robust, contains real gold."
|
||||
list_reagents = list("nicotine" = 40, "gold" = 1)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/shadyjims
|
||||
@@ -351,29 +413,31 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
/obj/item/clothing/mask/cigarette/rollie
|
||||
name = "rollie"
|
||||
desc = "A roll of dried plant matter wrapped in thin paper. It carries the unmistakable smell of cannabis."
|
||||
icon_state = "spliffoff"
|
||||
icon_on = "spliffon"
|
||||
icon_off = "spliffoff"
|
||||
type_butt = /obj/item/cigbutt/roach
|
||||
throw_speed = 0.5
|
||||
item_state = "spliffoff"
|
||||
icon_state = "spliff"
|
||||
butt_type = /obj/item/cigbutt/roach
|
||||
list_reagents = list("thc" = 40, "cbd" = 20)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/rollie/Initialize(mapload)
|
||||
. = ..()
|
||||
scatter_atom()
|
||||
/obj/item/clothing/mask/cigarette/rollie/custom
|
||||
desc = "A roll of dried plant matter wrapped in thin paper."
|
||||
list_reagents = list()
|
||||
|
||||
/obj/item/cigbutt
|
||||
name = "cigarette butt"
|
||||
desc = "A manky old cigarette butt."
|
||||
icon = 'icons/obj/clothing/masks.dmi'
|
||||
icon_state = "cigbutt"
|
||||
icon = 'icons/obj/clothing/smoking.dmi'
|
||||
icon_state = "cig_butt"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 0
|
||||
scatter_distance = 10
|
||||
|
||||
/obj/item/cigbutt/syndie
|
||||
name = "suspicious cigarette butt"
|
||||
desc = "A manky old cigarette butt with an evil look about it."
|
||||
icon = 'icons/obj/clothing/smoking.dmi'
|
||||
icon_state = "syndie_cig_butt"
|
||||
|
||||
/obj/item/cigbutt/Initialize(mapload)
|
||||
. = ..()
|
||||
scatter_atom()
|
||||
@@ -435,49 +499,77 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
// MARK: CIGARS
|
||||
//////////////////////////////
|
||||
/obj/item/clothing/mask/cigarette/cigar
|
||||
name = "\improper Premium Cigar"
|
||||
desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!"
|
||||
icon_state = "cigaroff"
|
||||
item_state = "cigaroff"
|
||||
icon_on = "cigaron"
|
||||
icon_off = "cigaroff"
|
||||
throw_speed = 0.5
|
||||
name = "\improper Nano Cigar"
|
||||
desc = "A huge, brown roll of dried and fermented tobacco, manufactured by Nanotrasen's Robust Tobacco subsidiary."
|
||||
icon_state = "cigar"
|
||||
fancy_lighters = list(/obj/item/match, /obj/item/lighter/zippo)
|
||||
type_butt = /obj/item/cigbutt/cigarbutt
|
||||
butt_type = /obj/item/cigbutt/cigarbutt
|
||||
smoketime = 300
|
||||
chem_volume = 140
|
||||
list_reagents = list("nicotine" = 120)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/cigar/examine_more(mob/user)
|
||||
. = ..()
|
||||
. += " Don't let the advertising fool you, this thing is a bargain basement, bottom-of-the-barrel product and the smoking experience it offers is little better than an oversized Robust cigarette."
|
||||
. += ""
|
||||
. += "It still makes you look like a mafia boss, however."
|
||||
|
||||
/obj/item/clothing/mask/cigarette/cigar/cohiba
|
||||
name = "\improper Cohiba Robusto Cigar"
|
||||
desc = "There's little more you could want from a cigar."
|
||||
icon_state = "cigar2off"
|
||||
icon_on = "cigar2on"
|
||||
icon_off = "cigar2off"
|
||||
desc = "A premium brand of cigar widely exported and enjoyed across the Orion Sector. There's little more that you could want from a cigar"
|
||||
icon_state = "gold_cigar"
|
||||
butt_type = /obj/item/cigbutt/cigarbutt/gold
|
||||
|
||||
/obj/item/clothing/mask/cigarette/cigar/cohiba/examine_more(mob/user)
|
||||
..()
|
||||
. = list()
|
||||
. += "Lovingly machine rolled using carefully selected strains of tobacco grown in massive hydroponics warehouses in orbit around the death world of Venus, Sol. \
|
||||
It goes through a range of carefully selected flavours as it is smoked, providing a novel and enjoyable experience throughout."
|
||||
|
||||
/obj/item/clothing/mask/cigarette/cigar/havana
|
||||
name = "\improper Premium Havanian Cigar"
|
||||
desc = "A cigar fit for only the best for the best."
|
||||
icon_state = "cigar2off"
|
||||
icon_on = "cigar2on"
|
||||
icon_off = "cigar2off"
|
||||
desc = "A luxury cigar only fit for the best of the best."
|
||||
icon_state = "gold_cigar"
|
||||
smoketime = 450
|
||||
chem_volume = 200
|
||||
list_reagents = list("nicotine" = 180)
|
||||
butt_type = /obj/item/cigbutt/cigarbutt/gold
|
||||
|
||||
/obj/item/clothing/mask/cigarette/cigar/havana/examine_more(mob/user)
|
||||
..()
|
||||
. = list()
|
||||
. += "One of a handful of brands made using tobacco grown in Cuba on Earth, the core of the Trans-Solar Federation. \
|
||||
Each of these hand-rolled cigars is carefully put together by master cigar rollers using various strains of tobacco that has been cultivated for hundreds of years to ensure \
|
||||
the best consistency and flavour possible."
|
||||
. += ""
|
||||
. += "Due to a mixture of limited manufacturing capacity, high quality, brand prestige, and export taxes, \
|
||||
these cigars are too expensive for all but the most wealthy to smoke with any degree of regularity."
|
||||
|
||||
/obj/item/cigbutt/cigarbutt
|
||||
name = "cigar butt"
|
||||
desc = "A manky old cigar butt."
|
||||
icon_state = "cigarbutt"
|
||||
icon_state = "cigar_butt"
|
||||
|
||||
/obj/item/cigbutt/cigarbutt/gold
|
||||
icon_state = "gold_cigar_butt"
|
||||
|
||||
//////////////////////////////
|
||||
// MARK: HOLO-CIGAR
|
||||
//////////////////////////////
|
||||
/obj/item/clothing/mask/holo_cigar
|
||||
name = "Holo-Cigar"
|
||||
name = "holo-cigar"
|
||||
desc = "A sleek electronic cigar imported straight from Sol. You feel badass merely glimpsing it..."
|
||||
icon_state = "holocigaroff"
|
||||
icon = 'icons/obj/clothing/smoking.dmi'
|
||||
icon_state = "holo_cigar"
|
||||
lefthand_file = 'icons/mob/inhands/smoking_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/smoking_righthand.dmi'
|
||||
new_attack_chain = TRUE
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/clothing/species/vox/mask.dmi',
|
||||
"Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi',
|
||||
"Tajaran" = 'icons/mob/clothing/species/tajaran/mask.dmi',
|
||||
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/mask.dmi',
|
||||
"Grey" = 'icons/mob/clothing/species/grey/mask.dmi')
|
||||
/// Is the holo-cigar lit?
|
||||
var/enabled = FALSE
|
||||
/// Tracks if this is the first cycle smoking the cigar.
|
||||
@@ -496,7 +588,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
to_chat(user, "<span class='notice'>You enable the holo-cigar.</span>")
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
update_appearance(UPDATE_ICON_STATE)
|
||||
update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
|
||||
|
||||
/obj/item/clothing/mask/holo_cigar/Destroy()
|
||||
. = ..()
|
||||
@@ -504,7 +596,11 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
|
||||
/obj/item/clothing/mask/holo_cigar/update_icon_state()
|
||||
. = ..()
|
||||
icon_state = "holocigar[enabled ? "on" : "off"]"
|
||||
icon_state = "holo_cigar[enabled ? "_on" : ""]"
|
||||
|
||||
/obj/item/clothing/mask/holo_cigar/update_name()
|
||||
. = ..()
|
||||
name = "[enabled ? "active " : ""]holo-cigar"
|
||||
|
||||
/obj/item/clothing/mask/holo_cigar/examine(mob/user)
|
||||
. = ..()
|
||||
@@ -546,11 +642,8 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
//////////////////////////////
|
||||
/obj/item/clothing/mask/cigarette/pipe
|
||||
name = "smoking pipe"
|
||||
desc = "A pipe, for smoking. Probably made of meershaum or something."
|
||||
icon_state = "pipeoff"
|
||||
item_state = "pipeoff"
|
||||
icon_on = "pipeon" //Note - these are in masks.dmi
|
||||
icon_off = "pipeoff"
|
||||
desc = "A fancy smoking pipe carved from polished morta, otherwise known as bog wood. Preferred by sophisticated gentlemen and those posing as sophisticated gentlemen."
|
||||
icon_state = "pipe"
|
||||
fancy_lighters = list(/obj/item/match, /obj/item/lighter/zippo)
|
||||
smoketime = 500
|
||||
chem_volume = 220
|
||||
@@ -586,8 +679,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
if(!lit)
|
||||
lit = TRUE
|
||||
damtype = "fire"
|
||||
icon_state = icon_on
|
||||
item_state = icon_on
|
||||
update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/pipe/process()
|
||||
@@ -599,11 +691,10 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
var/mob/living/M = loc
|
||||
to_chat(M, "<span class='notice'>Your [name] goes out, and you empty the ash.</span>")
|
||||
lit = FALSE
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
M.update_inv_wear_mask()
|
||||
update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return
|
||||
|
||||
smoke()
|
||||
|
||||
/obj/item/clothing/mask/cigarette/pipe/extinguish_cigarette(mob/user)
|
||||
@@ -613,8 +704,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
)
|
||||
lit = FALSE
|
||||
first_puff = TRUE
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/clothing/mask/cigarette/pipe/die()
|
||||
@@ -623,10 +713,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
/obj/item/clothing/mask/cigarette/pipe/cobpipe
|
||||
name = "corn cob pipe"
|
||||
desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters."
|
||||
icon_state = "cobpipeoff"
|
||||
item_state = "cobpipeoff"
|
||||
icon_on = "cobpipeon" //Note - these are in masks.dmi
|
||||
icon_off = "cobpipeoff"
|
||||
icon_state = "cob_pipe"
|
||||
smoketime = 0 //there is nothing to smoke initially
|
||||
chem_volume = 160
|
||||
list_reagents = list()
|
||||
|
||||
@@ -283,7 +283,7 @@
|
||||
damtype = "fire"
|
||||
force = 3
|
||||
hitsound = 'sound/items/welder.ogg'
|
||||
item_state = "cigon"
|
||||
item_state = "cig_on"
|
||||
name = "lit match"
|
||||
desc = "A match. This one is lit."
|
||||
attack_verb = list("burnt","singed")
|
||||
@@ -298,7 +298,7 @@
|
||||
damtype = "brute"
|
||||
force = initial(force)
|
||||
icon_state = "match_burnt"
|
||||
item_state = "cigoff"
|
||||
item_state = "cig_off"
|
||||
name = "burnt match"
|
||||
desc = "A match. This one has seen better days."
|
||||
attack_verb = list("flicked")
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
* Candle Box
|
||||
* Crayon Box
|
||||
* Cigarette Box
|
||||
* Vial Box
|
||||
* Aquatic Starter Kit
|
||||
*/
|
||||
|
||||
/obj/item/storage/fancy
|
||||
@@ -43,10 +45,7 @@
|
||||
update_icon()
|
||||
return ..()
|
||||
|
||||
/*
|
||||
* Donut Box
|
||||
*/
|
||||
|
||||
// MARK: Donut Box
|
||||
/obj/item/storage/fancy/donut_box
|
||||
name = "donut box"
|
||||
desc = "\"To do, or do nut, the choice is obvious.\""
|
||||
@@ -83,9 +82,8 @@
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/*
|
||||
* Egg Box
|
||||
*/
|
||||
// MARK: Egg Box
|
||||
|
||||
|
||||
/obj/item/storage/fancy/egg_box
|
||||
icon_state = "eggbox"
|
||||
@@ -99,10 +97,7 @@
|
||||
for(var/I in 1 to storage_slots)
|
||||
new /obj/item/food/egg(src)
|
||||
|
||||
/*
|
||||
* Candle Box
|
||||
*/
|
||||
|
||||
// MARK: Candle Box
|
||||
/obj/item/storage/fancy/candle_box
|
||||
name = "Candle pack"
|
||||
desc = "A pack of red candles."
|
||||
@@ -130,10 +125,8 @@
|
||||
for(var/I in 1 to storage_slots)
|
||||
new /obj/item/candle/eternal(src)
|
||||
|
||||
/*
|
||||
* Crayon Box
|
||||
*/
|
||||
|
||||
// MARK: Crayon Box
|
||||
/obj/item/storage/fancy/crayons
|
||||
name = "box of crayons"
|
||||
desc = "A box of crayons for all your rune drawing needs."
|
||||
@@ -216,15 +209,13 @@
|
||||
if(0)
|
||||
icon_state = "[base_icon_state]_e"
|
||||
|
||||
////////////
|
||||
//CIG PACK//
|
||||
////////////
|
||||
// MARK: Cigarette Pack
|
||||
/obj/item/storage/fancy/cigarettes
|
||||
name = "cigarette packet"
|
||||
desc = "The most popular brand of Space Cigarettes, sponsors of the Space Olympics."
|
||||
name = "generic cigarette packet"
|
||||
desc = "An abstract brand of cigarette that should not exist. Make a GitHub report if you see this."
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
icon_state = "cigpacket"
|
||||
item_state = "cigpacket"
|
||||
icon_state = "robust_packet"
|
||||
item_state = "robust_packet"
|
||||
belt_icon = "patch_pack"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
@@ -237,14 +228,20 @@
|
||||
/obj/item/clothing/mask/cigarette/pipe,
|
||||
/obj/item/lighter/zippo)
|
||||
icon_type = "cigarette"
|
||||
var/cigarette_slogan = "The preferred brand of coders and developers."
|
||||
var/cigarette_type = /obj/item/clothing/mask/cigarette
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/examine(mob/user)
|
||||
. = ..()
|
||||
if(cigarette_slogan)
|
||||
. += "<span class='notice'>\"[cigarette_slogan]\"</span>"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/populate_contents()
|
||||
for(var/I in 1 to storage_slots)
|
||||
new cigarette_type(src)
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/update_icon_state()
|
||||
icon_state = "[initial(icon_state)][length(contents)]"
|
||||
icon_state = "[initial(icon_state)]_[length(contents)]"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/attack__legacy__attackchain(mob/living/carbon/M, mob/living/user)
|
||||
if(!ismob(M))
|
||||
@@ -295,86 +292,118 @@
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/dromedaryco
|
||||
name = "\improper DromedaryCo packet"
|
||||
desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\""
|
||||
icon_state = "Dpacket"
|
||||
item_state = "Dpacket"
|
||||
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/syndicate
|
||||
name = "\improper Syndicate Cigarettes"
|
||||
desc = "A packet of six evil-looking cigarettes, A label on the packaging reads, \"Donk Co\"."
|
||||
icon_state = "syndiepacket"
|
||||
item_state = "syndiepacket"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/syndicate
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/syndicate/Initialize(mapload)
|
||||
. = ..()
|
||||
var/new_name = pick("evil", "suspicious", "ominous", "donk-flavored", "robust", "sneaky")
|
||||
name = "[new_name] cigarette packet"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_syndicate
|
||||
name = "cigarette packet"
|
||||
desc = "An obscure brand of cigarettes."
|
||||
icon_state = "syndiepacket"
|
||||
item_state = "syndiepacket"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/syndicate
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_med
|
||||
name = "\improper Medical Marijuana Packet"
|
||||
desc = "A prescription packet containing six medical marijuana cigarettes. Made using a strain of cannabis engineered to maximise CBD content and eliminate THC, much to the chagrin of stoners everywhere."
|
||||
icon_state = "medpacket"
|
||||
item_state = "medpacket"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/medical_marijuana
|
||||
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_uplift
|
||||
name = "\improper Uplift Smooth packet"
|
||||
desc = "Your favorite brand, now menthol flavored."
|
||||
icon_state = "upliftpacket"
|
||||
item_state = "upliftpacket"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/menthol
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_robust
|
||||
name = "\improper Robust packet"
|
||||
desc = "Smoked by the robust."
|
||||
icon_state = "robustpacket"
|
||||
item_state = "robustpacket"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_robustgold
|
||||
name = "\improper Robust Gold packet"
|
||||
desc = "Smoked by the truly robust."
|
||||
icon_state = "robustgpacket"
|
||||
item_state = "robustgpacket"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/robustgold
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_carp
|
||||
name = "\improper Carp Classic packet"
|
||||
desc = "Since 2313."
|
||||
icon_state = "carppacket"
|
||||
item_state = "carppacket"
|
||||
desc = "Smoked mainly by spacers. The somewhat fishy notes are an acquired taste. \
|
||||
Has a light, low-tar smoke specifically designed to reduce stress on scrubber systems."
|
||||
icon_state = "carp_packet"
|
||||
item_state = "carp_packet"
|
||||
cigarette_slogan = "Carp smokers would rather bite you than switch, since 2313."
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/dromedaryco
|
||||
name = "\improper DromedaryCo packet"
|
||||
desc = "An infamous brand, DromedaryCo cigarettes are unfiltered, tarry, and have a very harsh flavour. \
|
||||
Not for beginner smokers. Enjoyed mainly by gruff types with equally gruff voices."
|
||||
icon_state = "D_packet"
|
||||
item_state = "D_packet"
|
||||
cigarette_slogan = "Wouldn't a slow death make a change?"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_random
|
||||
name ="\improper Embellished Enigma packet"
|
||||
desc = "True to the name, Enigmas are impossible to pin down. \
|
||||
No two cigarettes are alike as each one is infused with unique flavours and substances, so every time is just like your first time."
|
||||
icon_state = "enigma_packet"
|
||||
item_state = "enigma_packet"
|
||||
cigarette_slogan = "For the true connoisseur of exotic flavors."
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/random
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_random/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class = 'warning'>Warning: Not all substances used have undergone regulatory testing, smoke at your own risk. \
|
||||
The Embellished Enigma Tobacco Company does not accept liability for proper or negligent use of its products. Consult your doctor before use.</span>"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_midori
|
||||
name = "\improper Midori Tabako packet"
|
||||
desc = "Whilst you cannot decipher what the strange runes on the packet say, it bears the unmistakable scent of cannabis."
|
||||
icon_state = "midoripacket"
|
||||
item_state = "midoripacket"
|
||||
icon_state = "midori_packet"
|
||||
item_state = "midori_packet"
|
||||
cigarette_slogan = ""
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/rollie
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_our_brand
|
||||
name = "\improper Our Brand packet" // This brand name is an obscure reference to The Master and Margarita by Ivan Bezdomny.
|
||||
desc = "The one, official brand of cigarette manufactured by the Vostran Iron Republic - one of the main constitient nations of the USSP. \
|
||||
Exported across the known Orion Spur by members of the USSP's trading bloc and vendors affiliated with the Nian Merchant Guild. \
|
||||
The flavour is acrid, the smoke is thin and wispy, yet harsh on the throat. The only redeeming features are the high nicotine content and the low price."
|
||||
icon_state = "our_brand_packet"
|
||||
item_state = "our_brand_packet"
|
||||
cigarette_slogan = "Smoke, for the Union!"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_robust
|
||||
name = "\improper Robust packet"
|
||||
desc = "Nanotrasen's in-house brand of cigarettes. Cheap quality, wispy smoke, has a somewhat harsh flavour."
|
||||
cigarette_slogan = "Smoked by the robust."
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_robustgold
|
||||
name = "\improper Robust Gold packet"
|
||||
desc = "Nanotrasen's premium cigarette offering. Has a smooth, drawn-out flavour and a dense smoke. Contains real gold."
|
||||
icon_state = "robust_g_packet"
|
||||
item_state = "robust_g_packet"
|
||||
cigarette_slogan = "Smoked by the <b>truly</b> robust."
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/robustgold
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_candy
|
||||
name = "\improper Robust Junior packet"
|
||||
desc = "A packet of nicotine-free* candy cigarettes, manufactured by Robust Tobacco."
|
||||
cigarette_slogan = "Unsure about smoking? Want to bring your children safely into the family tradition? Look no more with this special packet! Includes 100% nicotine-free* candy cigarettes."
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/candy
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_candy/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class = 'warning'>*Warning: Do not expose to high temperatures or naked flames, contains additives that will form nicotine at high temperatures.</span>"
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_shadyjims
|
||||
name ="\improper Shady Jim's Super Slims"
|
||||
desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!"
|
||||
icon_state = "shadyjimpacket"
|
||||
item_state = "shadyjimpacket"
|
||||
name ="\improper Shady Jim's Super Slims packet"
|
||||
desc = "Despite the doubious appearance, these cigarettes do exactly what they say on the box. The smoke tastes like cheap berry juice and battery acid, with a bitter chemical aftertaste."
|
||||
icon_state = "shady_jim_packet"
|
||||
item_state = "shady_jim_packet"
|
||||
cigarette_slogan = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? \
|
||||
Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/shadyjims
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_random
|
||||
name ="\improper Embellished Enigma packet"
|
||||
desc = "For the true connoisseur of exotic flavors."
|
||||
icon_state = "shadyjimpacket"
|
||||
item_state = "shadyjimpacket"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/random
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_solar_rays
|
||||
name = "\improper Solar Rays packet"
|
||||
desc = "A popular brand within the Trans-Solar Federation, they have a smooth, slightly cinnamon flavour. \
|
||||
Whilst not actually state-owned, these cigarettes lean heavily into patriotic marketing, and are included in federal ration packs as a morale booster."
|
||||
icon_state = "solar_packet"
|
||||
item_state = "solar_packet"
|
||||
cigarette_slogan = "Smoked by true patriots."
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_uplift
|
||||
name = "\improper Uplift Smooth packet"
|
||||
desc = "One of the most popular brands in the Orion Sector, flavoured with menthol to give a smooth cooling sensation with every puff."
|
||||
icon_state = "uplift_packet"
|
||||
item_state = "uplift_packet"
|
||||
cigarette_slogan = "Sit back and relax with the soft cooling embrace that only an Uplift can provide."
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/menthol
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_med
|
||||
name = "medical marijuana packet"
|
||||
desc = "A prescription packet containing six fully legal medical marijuana cigarettes. \
|
||||
Made using a strain of cannabis engineered to maximise CBD content and eliminate THC, much to the chagrin of stoners everywhere."
|
||||
icon_state = "med_packet"
|
||||
item_state = "med_packet"
|
||||
cigarette_slogan = "All the medical benefits, with none of the high!"
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/medical_marijuana
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_syndicate
|
||||
name = "suspicious cigarette packet"
|
||||
desc = "An obscure brand of evil-looking cigarettes. Smells like Donk pockets."
|
||||
icon_state = "syndie_packet"
|
||||
item_state = "syndie_packet"
|
||||
cigarette_slogan = "Strong flavour, dense smoke, infused with omnizine."
|
||||
cigarette_type = /obj/item/clothing/mask/cigarette/syndicate
|
||||
|
||||
/obj/item/storage/fancy/rollingpapers
|
||||
name = "rolling paper pack"
|
||||
@@ -399,10 +428,8 @@
|
||||
if(!length(contents))
|
||||
. += "[icon_state]_empty"
|
||||
|
||||
/*
|
||||
* Vial Box
|
||||
*/
|
||||
|
||||
// MARK: Vial Box
|
||||
/obj/item/storage/fancy/vials
|
||||
icon = 'icons/obj/vialbox.dmi'
|
||||
icon_state = "vialbox6"
|
||||
@@ -459,9 +486,7 @@
|
||||
new /obj/item/reagent_containers/glass/bottle/zombiecure3(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/zombiecure4(src)
|
||||
|
||||
|
||||
///Aquatic Starter Kit
|
||||
|
||||
// MARK: Aquatic Starter Kit
|
||||
/obj/item/storage/firstaid/aquatic_kit
|
||||
name = "aquatic starter kit"
|
||||
desc = "It's a starter kit box for an aquarium."
|
||||
|
||||
Reference in New Issue
Block a user