mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-10 23:47:16 +01:00
Merge branch 'master' into plant-adding
This commit is contained in:
@@ -110,6 +110,9 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
|
||||
var/list/grind_results //A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only
|
||||
var/list/juice_results //A reagent list containing blah blah... but when JUICED in a grinder!
|
||||
|
||||
//Hyper economy
|
||||
var/price = 0
|
||||
|
||||
|
||||
/obj/item/Initialize()
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
var/registered_name = null // The name registered_name on the card
|
||||
var/assignment = null
|
||||
var/access_txt // mapping aid
|
||||
|
||||
var/datum/bank_account/registered_account
|
||||
|
||||
|
||||
/obj/item/card/id/Initialize(mapload)
|
||||
|
||||
@@ -501,6 +501,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
price = 1
|
||||
var/lit = 0
|
||||
var/fancy = TRUE
|
||||
var/overlay_state
|
||||
@@ -521,6 +522,25 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
overlay_state = pick(overlay_list)
|
||||
update_icon()
|
||||
|
||||
/obj/item/lighter/AltClick(mob/living/user)
|
||||
. = ..()
|
||||
if(GLOB.lighter_reskins && user.canUseTopic(src, BE_CLOSE, NO_DEXTERY))
|
||||
reskin_obj(user)
|
||||
|
||||
/obj/item/lighter/reskin_obj(mob/M)
|
||||
if(lit)
|
||||
return to_chat(M, "You need to close the lighter before changing the engraving!")
|
||||
if(!LAZYLEN(GLOB.lighter_reskins))
|
||||
return
|
||||
|
||||
var/choice = input(M, "Choose the a reskin for [src]","Reskin Object") as null|anything in GLOB.lighter_reskins
|
||||
var/new_icon = GLOB.lighter_reskins[choice]
|
||||
if(QDELETED(src) || isnull(new_icon) || new_icon == icon || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
overlay_state = new_icon
|
||||
update_icon()
|
||||
to_chat(M, "[src] is now skinned as '[choice]'.")
|
||||
|
||||
/obj/item/lighter/suicide_act(mob/living/carbon/user)
|
||||
if (lit)
|
||||
user.visible_message("<span class='suicide'>[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
|
||||
@@ -55,13 +55,9 @@
|
||||
|
||||
//ATTACK HAND IGNORING PARENT RETURN VALUE
|
||||
/obj/item/taperecorder/attack_hand(mob/user)
|
||||
if(loc == user)
|
||||
if(mytape)
|
||||
if(!user.is_holding(src))
|
||||
return ..()
|
||||
eject(user)
|
||||
else
|
||||
if(loc != user || !mytape || !user.is_holding(src))
|
||||
return ..()
|
||||
eject(user)
|
||||
|
||||
/obj/item/taperecorder/proc/can_use(mob/user)
|
||||
if(user && ismob(user))
|
||||
|
||||
@@ -41,3 +41,11 @@
|
||||
icon_state = "holy_grenade"
|
||||
spawner_type = /mob/living/simple_animal/hostile/poison/bees/toxin
|
||||
deliveryamt = 10
|
||||
|
||||
/obj/item/grenade/spawnergrenade/clustaur
|
||||
desc = "A very strange grenade often found in maintanance. Use of this may constitute a war crime in your area, consult your local captain."
|
||||
name = "clustaur grenade"
|
||||
icon_state = "clustaur"
|
||||
item_state = "clustaur"
|
||||
deliveryamt = 10
|
||||
spawner_type = /obj/item/reagent_containers/glass/beaker/waterbottle/wataur
|
||||
@@ -9,7 +9,7 @@
|
||||
throw_speed = 3
|
||||
var/mob/living/carbon/subject = null
|
||||
var/closed = FALSE
|
||||
|
||||
price = 10
|
||||
|
||||
|
||||
//Hypnotize someone
|
||||
@@ -36,7 +36,7 @@
|
||||
H.drowsyness = max(H.drowsyness, 40)
|
||||
subject = H
|
||||
return
|
||||
|
||||
|
||||
//No
|
||||
H.visible_message("<span class='warning'>[H]'s attention breaks, despite your attempts to hypnotize them! They clearly don't want this</span>", "<span class ='warning'>Your concentration breaks as you realise you have no interest in following [user]'s words!</span>")
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
if(get_dist(user, subject) > 1)
|
||||
to_chat(user, "You must stand in whisper range of [subject].")
|
||||
return
|
||||
|
||||
|
||||
text = input("What would you like to suggest?", "Hypnotic suggestion", null, null)
|
||||
text = sanitize(text)
|
||||
if(!text)
|
||||
@@ -88,4 +88,4 @@
|
||||
item_state = "pocketwatch"
|
||||
desc = "An elaborate pocketwatch, with a captivating gold etching and an enchanting face..."
|
||||
closed = FALSE
|
||||
|
||||
|
||||
|
||||
@@ -84,3 +84,25 @@
|
||||
var/atom/A = V
|
||||
hos_gun_list[initial(A.name)] = A
|
||||
return hos_gun_list
|
||||
|
||||
// Bouquets
|
||||
/obj/item/bouquet
|
||||
name = "mixed bouquet"
|
||||
desc = "A bouquet of sunflowers, lilies, and geraniums. How delightful."
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "mixedbouquet"
|
||||
|
||||
/obj/item/bouquet/sunflower
|
||||
name = "sunflower bouquet"
|
||||
desc = "A bright bouquet of sunflowers."
|
||||
icon_state = "sunbouquet"
|
||||
|
||||
/obj/item/bouquet/poppy
|
||||
name = "poppy bouquet"
|
||||
desc = "A bouquet of poppies. You feel loved just looking at it."
|
||||
icon_state = "poppybouquet"
|
||||
|
||||
/obj/item/bouquet/rose
|
||||
name = "rose bouquet"
|
||||
desc = "A bouquet of roses. A bundle of love."
|
||||
icon_state = "rosebouquet"
|
||||
|
||||
@@ -760,6 +760,7 @@
|
||||
/obj/item/toy/plush/bird/kenk
|
||||
name = "kenku plushie"
|
||||
desc = "An adorable stuffed plushie that resembles a kenku, perfect to sit on."
|
||||
young = TRUE
|
||||
icon_state = "kenk"
|
||||
item_state = "kenk"
|
||||
squeak_override = list('modular_citadel/sound/voice/merp.ogg' = 1)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
/obj/item/stack/spacecash/proc/update_desc()
|
||||
var/total_worth = amount*value
|
||||
desc = "It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
|
||||
desc = "A outdated form of currency, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
|
||||
|
||||
|
||||
/obj/item/stack/spacecash/merge(obj/item/stack/S)
|
||||
|
||||
@@ -26,6 +26,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
|
||||
grind_results = list(/datum/reagent/silicon = 20)
|
||||
point_value = 1
|
||||
tableVariant = /obj/structure/table/glass
|
||||
shard_type = /obj/item/shard
|
||||
|
||||
/obj/item/stack/sheet/glass/suicide_act(mob/living/carbon/user)
|
||||
user.visible_message("<span class='suicide'>[user] begins to slice [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
@@ -93,6 +94,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
|
||||
merge_type = /obj/item/stack/sheet/plasmaglass
|
||||
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10)
|
||||
tableVariant = /obj/structure/table/plasmaglass
|
||||
shard_type = /obj/item/shard/plasma
|
||||
|
||||
/obj/item/stack/sheet/plasmaglass/fifty
|
||||
amount = 50
|
||||
@@ -120,7 +122,9 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/stack/sheet/plasmaglass/on_solar_construction(obj/machinery/power/solar/S)
|
||||
S.obj_integrity *= 1.2
|
||||
S.efficiency *= 1.2
|
||||
|
||||
/*
|
||||
* Reinforced glass sheets
|
||||
@@ -145,11 +149,15 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
|
||||
merge_type = /obj/item/stack/sheet/rglass
|
||||
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10)
|
||||
point_value = 4
|
||||
shard_type = /obj/item/shard
|
||||
|
||||
/obj/item/stack/sheet/rglass/attackby(obj/item/W, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
..()
|
||||
|
||||
/obj/item/stack/sheet/rglass/on_solar_construction(obj/machinery/power/solar/S)
|
||||
S.obj_integrity *= 2
|
||||
|
||||
/obj/item/stack/sheet/rglass/cyborg
|
||||
materials = list()
|
||||
var/datum/robot_energy_storage/glasource
|
||||
@@ -188,6 +196,11 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \
|
||||
merge_type = /obj/item/stack/sheet/plasmarglass
|
||||
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10, /datum/reagent/iron = 10)
|
||||
point_value = 23
|
||||
shard_type = /obj/item/shard/plasma
|
||||
|
||||
/obj/item/stack/sheet/plasmarglass/on_solar_construction(obj/machinery/power/solar/S)
|
||||
S.obj_integrity *= 2.2
|
||||
S.efficiency *= 1.2
|
||||
|
||||
/obj/item/stack/sheet/plasmarglass/Initialize(mapload, new_amount, merge = TRUE)
|
||||
recipes = GLOB.prglass_recipes
|
||||
@@ -207,6 +220,11 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list(
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
|
||||
resistance_flags = ACID_PROOF
|
||||
merge_type = /obj/item/stack/sheet/titaniumglass
|
||||
shard_type = /obj/item/shard
|
||||
|
||||
/obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S)
|
||||
S.obj_integrity *= 2.5
|
||||
S.efficiency *= 1.5
|
||||
|
||||
/obj/item/stack/sheet/titaniumglass/Initialize(mapload, new_amount, merge = TRUE)
|
||||
recipes = GLOB.titaniumglass_recipes
|
||||
@@ -226,11 +244,16 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
|
||||
resistance_flags = ACID_PROOF
|
||||
merge_type = /obj/item/stack/sheet/plastitaniumglass
|
||||
shard_type = /obj/item/shard
|
||||
|
||||
/obj/item/stack/sheet/plastitaniumglass/Initialize(mapload, new_amount, merge = TRUE)
|
||||
recipes = GLOB.plastitaniumglass_recipes
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S)
|
||||
S.obj_integrity *= 2
|
||||
S.efficiency *= 2
|
||||
|
||||
/obj/item/shard
|
||||
name = "shard"
|
||||
desc = "A nasty looking shard of glass."
|
||||
|
||||
@@ -50,9 +50,6 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
|
||||
//END OF CIT CHANGES
|
||||
new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
//add this when I can find a way to make them easily constructible > new/datum/stack_recipe("sink", /obj/structure/sink, 2, one_per_turf = TRUE, on_floor = TRUE),
|
||||
new/datum/stack_recipe("shower", /obj/machinery/shower/crafted, 2, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \
|
||||
new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
@@ -340,6 +337,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
|
||||
new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \
|
||||
null, \
|
||||
new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 2), \
|
||||
new/datum/stack_recipe("eyepatch", /obj/item/clothing/glasses/eyepatch, 2), \
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/cloth
|
||||
@@ -783,7 +781,13 @@ GLOBAL_LIST_INIT(shadoww_recipes, list ( \
|
||||
new/datum/stack_recipe("Shadow wood floor tile", /obj/item/stack/tile/shadoww, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Shadow wood table frame", /obj/structure/table_frame/shadoww, 2, time = 10), \
|
||||
null, \
|
||||
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/shadoww, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Shadow wood chair", /obj/structure/chair/shadoww, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
new/datum/stack_recipe("Shadow wood barricade", /obj/structure/barricade/shadoww, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
new/datum/stack_recipe("Dog bed", /obj/structure/bed/shadowwdogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Dresser", /obj/structure/shadowwdresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("shadow wood crate", /obj/structure/closet/crate/shadoww, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
|
||||
null, \
|
||||
))
|
||||
|
||||
@@ -815,7 +819,13 @@ GLOBAL_LIST_INIT(gmushroom_recipes, list ( \
|
||||
new/datum/stack_recipe("Mushroom floor tile", /obj/item/stack/tile/gmushroom, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Mushroom table frame", /obj/structure/table_frame/gmushroom, 2, time = 10), \
|
||||
null, \
|
||||
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/gmushroom, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Mushroom chair", /obj/structure/chair/gmushroom, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
new/datum/stack_recipe("Mushroom barricade", /obj/structure/barricade/gmushroom, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
new/datum/stack_recipe("Dog bed", /obj/structure/bed/gmushroomdogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Dresser", /obj/structure/gmushroomdresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Mushroom crate", /obj/structure/closet/crate/gmushroom, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
|
||||
null, \
|
||||
))
|
||||
|
||||
@@ -847,7 +857,13 @@ GLOBAL_LIST_INIT(plaswood_recipes, list ( \
|
||||
new/datum/stack_recipe("Plaswood floor tile", /obj/item/stack/tile/plaswood, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Plaswood table frame", /obj/structure/table_frame/plaswood, 2, time = 10), \
|
||||
null, \
|
||||
new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/plaswood, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Plaswood chair", /obj/structure/chair/plaswood, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
new/datum/stack_recipe("Plaswood barricade", /obj/structure/barricade/plaswood, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
null, \
|
||||
new/datum/stack_recipe("Dog bed", /obj/structure/bed/plaswooddogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Dresser", /obj/structure/plaswooddresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
|
||||
new/datum/stack_recipe("Plaswood crate", /obj/structure/closet/crate/plaswood, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\
|
||||
null, \
|
||||
))
|
||||
|
||||
|
||||
@@ -15,4 +15,15 @@
|
||||
var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity
|
||||
var/is_fabric = FALSE //is this a valid material for the loom?
|
||||
var/loom_result //result from pulling on the loom
|
||||
var/pull_effort = 0 //amount of delay when pulling on the loom
|
||||
var/pull_effort = 0 //amount of delay when pulling on the loom
|
||||
var/shard_type // the shard debris typepath left over by solar panels and windows etc.
|
||||
|
||||
/**
|
||||
* Called on the glass sheet upon solar construction (duh):
|
||||
* Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency
|
||||
* and possibly extra effects if you wish to code them.
|
||||
* Keep in mind the solars' max_integrity is set equal to the obj_integrity later,
|
||||
* so you won't have to do so here.
|
||||
*/
|
||||
/obj/item/stack/sheet/proc/on_solar_construction(/obj/machinery/power/solar/S)
|
||||
return
|
||||
|
||||
@@ -237,6 +237,7 @@
|
||||
desc = "Holds a variety of gear for \"alternative\" peacekeeping."
|
||||
icon_state = "slutbelt"
|
||||
item_state = "slut"
|
||||
price = 5
|
||||
|
||||
obj/item/storage/belt/slut/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -370,6 +371,12 @@ obj/item/storage/belt/slut/ComponentInitialize()
|
||||
/obj/item/clothing/mask/luchador
|
||||
)
|
||||
|
||||
/obj/item/storage/belt/cummerbund
|
||||
name = "cummerbund" //I swear to god if you people aren't mature enough to handle this I'm just gonna call it a sash.
|
||||
desc = "A pleated sash that pairs well with a suit jacket."
|
||||
icon_state = "cummerbund"
|
||||
item_state = "cummerbund"
|
||||
|
||||
/obj/item/storage/belt/military
|
||||
name = "chest rig"
|
||||
desc = "A set of tactical webbing worn by Syndicate boarding parties."
|
||||
|
||||
@@ -415,6 +415,7 @@
|
||||
desc = "<B>Instructions:</B> <I>Heat in microwave. Product will cool if not eaten within seven minutes.</I>"
|
||||
icon_state = "donkpocketbox"
|
||||
illustration=null
|
||||
price = 10
|
||||
|
||||
/obj/item/storage/box/donkpockets/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -687,6 +688,7 @@
|
||||
item_state = "zippo"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
price = 2
|
||||
|
||||
/obj/item/storage/box/matches/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -136,6 +136,7 @@
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
icon_type = "cigarette"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette
|
||||
price = 5
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -230,6 +231,7 @@
|
||||
desc = "Smoked by the truly robust."
|
||||
icon_state = "robustg"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/robustgold
|
||||
price = 6
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_carp
|
||||
name = "\improper Carp Classic packet"
|
||||
@@ -281,6 +283,7 @@
|
||||
icon_state = "cig_paper_pack"
|
||||
icon_type = "rolling paper"
|
||||
spawn_type = /obj/item/rollingpaper
|
||||
price = 2
|
||||
|
||||
/obj/item/storage/fancy/rollingpapers/ComponentInitialize()
|
||||
. = ..()
|
||||
@@ -305,6 +308,7 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
icon_type = "premium cigar"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/cigar
|
||||
price = 8
|
||||
|
||||
/obj/item/storage/fancy/cigarettes/cigars/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
|
||||
/obj/item/storage/pill_bottle/mutarad
|
||||
name = "radiation treatment deluxe pill bottle"
|
||||
desc = "The label says 'Med-Co branded pills' and below that 'Contains Mutadone in each pill!`."
|
||||
desc = "The label says 'Med-Co branded pills' and below that 'Contains Mutadone in each pill!'."
|
||||
|
||||
/obj/item/storage/pill_bottle/mutarad/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
@@ -340,7 +340,7 @@
|
||||
|
||||
/obj/item/storage/pill_bottle/breast_enlargement
|
||||
name = "breast enlargement pills"
|
||||
desc = "Made by Fermichem - They have a woman with breasts larger than she is on them. The warming states not to take more than 10u at a time."
|
||||
desc = "Made by Fermichem - They have a woman with breasts larger than she is on them. The warning states not to take more than 10u at a time."
|
||||
|
||||
/obj/item/storage/pill_bottle/breast_enlargement/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
|
||||
@@ -37,7 +37,8 @@
|
||||
/obj/item/screwdriver,
|
||||
/obj/item/valentine,
|
||||
/obj/item/stamp,
|
||||
/obj/item/condom))
|
||||
/obj/item/condom,
|
||||
/obj/item/stack/credits))
|
||||
|
||||
/obj/item/storage/wallet/Exited(atom/movable/AM)
|
||||
. = ..()
|
||||
|
||||
@@ -341,6 +341,7 @@
|
||||
item_state = "upindwelder"
|
||||
max_fuel = 80
|
||||
materials = list(MAT_METAL=70, MAT_GLASS=120)
|
||||
price = 10
|
||||
|
||||
/obj/item/weldingtool/experimental
|
||||
name = "experimental welding tool"
|
||||
|
||||
@@ -210,3 +210,30 @@
|
||||
name = "resting contraption"
|
||||
desc = "This looks similar to contraptions from Earth. Could aliens be stealing our technology?"
|
||||
icon_state = "abed"
|
||||
|
||||
/obj/structure/bed/shadowwdogbed
|
||||
name = "dog bed"
|
||||
icon_state = "shadowwdogbed"
|
||||
desc = "A comfy-looking dog bed. You can even strap your pet in, in case the gravity turns off."
|
||||
anchored = FALSE
|
||||
buildstacktype = /obj/item/stack/sheet/mineral/shadoww
|
||||
buildstackamount = 10
|
||||
var/mob/living/owner = null
|
||||
|
||||
/obj/structure/bed/plaswooddogbed
|
||||
name = "dog bed"
|
||||
icon_state = "plaswooddogbed"
|
||||
desc = "A comfy-looking dog bed. You can even strap your pet in, in case the gravity turns off."
|
||||
anchored = FALSE
|
||||
buildstacktype = /obj/item/stack/sheet/mineral/plaswood
|
||||
buildstackamount = 10
|
||||
var/mob/living/owner = null
|
||||
|
||||
/obj/structure/bed/gmushroomdogbed
|
||||
name = "dog bed"
|
||||
icon_state = "gmushroomdogbed"
|
||||
desc = "A comfy-looking dog bed. You can even strap your pet in, in case the gravity turns off."
|
||||
anchored = FALSE
|
||||
buildstacktype = /obj/item/stack/sheet/mineral/gmushroom
|
||||
buildstackamount = 10
|
||||
var/mob/living/owner = null
|
||||
@@ -171,6 +171,36 @@
|
||||
icon_state = "wooden_chair_wings"
|
||||
item_chair = /obj/item/chair/wood/wings
|
||||
|
||||
/obj/structure/chair/shadoww
|
||||
icon_state = "shadoww_chair"
|
||||
name = "shadow wood chair"
|
||||
desc = "Fashionable dark."
|
||||
resistance_flags = FLAMMABLE
|
||||
max_integrity = 70
|
||||
buildstacktype = /obj/item/stack/sheet/mineral/shadoww
|
||||
buildstackamount = 3
|
||||
item_chair = /obj/item/chair/shadoww
|
||||
|
||||
/obj/structure/chair/plaswood
|
||||
icon_state = "plaswood_chair"
|
||||
name = "plaswood chair"
|
||||
desc = "Hard but confortable to sit."
|
||||
resistance_flags = FLAMMABLE | ACID_PROOF
|
||||
max_integrity = 90
|
||||
buildstacktype = /obj/item/stack/sheet/mineral/plaswood
|
||||
buildstackamount = 3
|
||||
item_chair = /obj/item/chair/plaswood
|
||||
|
||||
/obj/structure/chair/gmushroom
|
||||
icon_state = "gmushroom_chair"
|
||||
name = "mushroom chair"
|
||||
desc = "You don't need to worry about losing your seat in case of fire!"
|
||||
resistance_flags = FIRE_PROOF
|
||||
max_integrity = 70
|
||||
buildstacktype = /obj/item/stack/sheet/mineral/gmushroom
|
||||
buildstackamount = 3
|
||||
item_chair = /obj/item/chair/gmushroom
|
||||
|
||||
/obj/structure/chair/comfy
|
||||
name = "comfy chair"
|
||||
desc = "It looks comfy."
|
||||
@@ -517,6 +547,39 @@
|
||||
icon_state = "wooden_chair_wings_toppled"
|
||||
origin_type = /obj/structure/chair/wood/wings
|
||||
|
||||
/obj/item/chair/shadoww
|
||||
name = "shadow wood chair"
|
||||
icon_state = "shadoww_chair_toppled"
|
||||
item_state = "shadowwchair"
|
||||
resistance_flags = FLAMMABLE
|
||||
max_integrity = 70
|
||||
hitsound = 'sound/weapons/genhit1.ogg'
|
||||
origin_type = /obj/structure/chair/shadoww
|
||||
materials = null
|
||||
break_chance = 50
|
||||
|
||||
/obj/item/chair/plaswood
|
||||
name = "plaswood chair"
|
||||
icon_state = "plaswood_chair_toppled"
|
||||
item_state = "plaswoodchair"
|
||||
resistance_flags = FLAMMABLE | ACID_PROOF
|
||||
max_integrity = 90
|
||||
hitsound = 'sound/weapons/genhit1.ogg'
|
||||
origin_type = /obj/structure/chair/plaswood
|
||||
materials = null
|
||||
break_chance = 70
|
||||
|
||||
/obj/item/chair/gmushroom
|
||||
name = "mushroom chair"
|
||||
icon_state = "gmushroom_chair_toppled"
|
||||
item_state = "gmushroomchair"
|
||||
resistance_flags = FIRE_PROOF
|
||||
max_integrity = 70
|
||||
hitsound = 'sound/weapons/genhit1.ogg'
|
||||
origin_type = /obj/structure/chair/gmushroom
|
||||
materials = null
|
||||
break_chance = 50
|
||||
|
||||
/obj/structure/chair/old
|
||||
name = "strange chair"
|
||||
desc = "You sit in this. Either by will or force. Looks REALLY uncomfortable."
|
||||
|
||||
@@ -15,4 +15,25 @@
|
||||
new /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter(src)
|
||||
new /obj/item/pneumatic_cannon/pie(src)
|
||||
new /obj/item/reagent_containers/food/snacks/pie/cream(src)
|
||||
new /obj/item/storage/crayons(src)
|
||||
new /obj/item/storage/crayons(src)
|
||||
|
||||
/obj/structure/closet/crate/shadoww
|
||||
name = "shadown wood crate"
|
||||
desc = "Works just as well as a metal one."
|
||||
material_drop = /obj/item/stack/sheet/mineral/shadoww
|
||||
material_drop_amount = 6
|
||||
icon_state = "shadoww"
|
||||
|
||||
/obj/structure/closet/crate/plaswood
|
||||
name = "plaswood crate"
|
||||
desc = "Works just as well as a metal one."
|
||||
material_drop = /obj/item/stack/sheet/mineral/plaswood
|
||||
material_drop_amount = 6
|
||||
icon_state = "plaswood"
|
||||
|
||||
/obj/structure/closet/crate/gmushroom
|
||||
name = "mushroom crate"
|
||||
desc = "Works just as well as a metal one."
|
||||
material_drop = /obj/item/stack/sheet/mineral/gmushroom
|
||||
material_drop_amount = 6
|
||||
icon_state = "gmushroom"
|
||||
@@ -80,3 +80,252 @@
|
||||
if(!n_color || !H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return default_color
|
||||
return sanitize_hexcolor(n_color)
|
||||
|
||||
/obj/structure/gmushroomdresser
|
||||
name = "dresser"
|
||||
desc = "A nicely-crafted mushroom dresser. It's filled with lots of undies."
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "gmushroomdresser"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/gmushroomdresser/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "unwrench" : "wrench"] [src].</span>")
|
||||
if(I.use_tool(src, user, 20, volume=50))
|
||||
to_chat(user, "<span class='notice'>You successfully [anchored ? "unwrench" : "wrench"] [src].</span>")
|
||||
setAnchored(!anchored)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/gmushroomdresser/deconstruct(disassembled = TRUE)
|
||||
new /obj/item/stack/sheet/mineral/gmushroom(drop_location(), 10)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/gmushroomdresser/attack_hand(mob/user)
|
||||
. = ..()
|
||||
if(. || !ishuman(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
|
||||
if(H.dna && H.dna.species && (NO_UNDERWEAR in H.dna.species.species_traits))
|
||||
to_chat(H, "<span class='warning'>You are not capable of wearing underwear.</span>")
|
||||
return
|
||||
|
||||
var/list/undergarment_choices = list("Underwear", "Underwear Color", "Undershirt", "Undershirt Color", "Socks", "Socks Color")
|
||||
if(!UNDIE_COLORABLE(GLOB.underwear_list[H.underwear]))
|
||||
undergarment_choices -= "Underwear Color"
|
||||
if(!UNDIE_COLORABLE(GLOB.undershirt_list[H.undershirt]))
|
||||
undergarment_choices -= "Undershirt Color"
|
||||
if(!UNDIE_COLORABLE(GLOB.socks_list[H.socks]))
|
||||
undergarment_choices -= "Socks Color"
|
||||
|
||||
var/choice = input(H, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in undergarment_choices
|
||||
if(!H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
var/dye_undie = FALSE
|
||||
var/dye_shirt = FALSE
|
||||
var/dye_socks = FALSE
|
||||
switch(choice)
|
||||
if("Underwear")
|
||||
var/new_undies = input(H, "Select your underwear", "Changing") as null|anything in GLOB.underwear_list
|
||||
if(H.underwear)
|
||||
H.underwear = new_undies
|
||||
H.saved_underwear = new_undies
|
||||
var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[new_undies]
|
||||
dye_undie = B?.has_color
|
||||
if("Undershirt")
|
||||
var/new_undershirt = input(H, "Select your undershirt", "Changing") as null|anything in GLOB.undershirt_list
|
||||
if(new_undershirt)
|
||||
H.undershirt = new_undershirt
|
||||
H.saved_undershirt = new_undershirt
|
||||
var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[new_undershirt]
|
||||
dye_shirt = T?.has_color
|
||||
if("Socks")
|
||||
var/new_socks = input(H, "Select your socks", "Changing") as null|anything in GLOB.socks_list
|
||||
if(new_socks)
|
||||
H.socks = new_socks
|
||||
H.saved_socks = new_socks
|
||||
var/datum/sprite_accessory/underwear/socks/S = GLOB.socks_list[new_socks]
|
||||
dye_socks = S?.has_color
|
||||
if(dye_undie || choice == "Underwear Color")
|
||||
H.undie_color = recolor_undergarment(H, "underwear", H.undie_color)
|
||||
if(dye_shirt || choice == "Undershirt Color")
|
||||
H.shirt_color = recolor_undergarment(H, "undershirt", H.shirt_color)
|
||||
if(dye_socks || choice == "Socks Color")
|
||||
H.socks_color = recolor_undergarment(H, "socks", H.socks_color)
|
||||
|
||||
add_fingerprint(H)
|
||||
H.update_body()
|
||||
|
||||
/obj/structure/gmushroomdresser/proc/recolor_undergarment(mob/living/carbon/human/H, garment_type = "underwear", default_color)
|
||||
var/n_color = input(H, "Choose your [garment_type]'\s color.", "Character Preference", default_color) as color|null
|
||||
if(!n_color || !H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return default_color
|
||||
return sanitize_hexcolor(n_color)
|
||||
|
||||
/obj/structure/plaswooddresser
|
||||
name = "dresser"
|
||||
desc = "A nicely-crafted plaswood dresser. It's filled with lots of undies."
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "plaswooddresser"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/plaswooddresser/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "unwrench" : "wrench"] [src].</span>")
|
||||
if(I.use_tool(src, user, 20, volume=50))
|
||||
to_chat(user, "<span class='notice'>You successfully [anchored ? "unwrench" : "wrench"] [src].</span>")
|
||||
setAnchored(!anchored)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/plaswooddresser/deconstruct(disassembled = TRUE)
|
||||
new /obj/item/stack/sheet/mineral/plaswood(drop_location(), 10)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/plaswooddresser/attack_hand(mob/user)
|
||||
. = ..()
|
||||
if(. || !ishuman(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
|
||||
if(H.dna && H.dna.species && (NO_UNDERWEAR in H.dna.species.species_traits))
|
||||
to_chat(H, "<span class='warning'>You are not capable of wearing underwear.</span>")
|
||||
return
|
||||
|
||||
var/list/undergarment_choices = list("Underwear", "Underwear Color", "Undershirt", "Undershirt Color", "Socks", "Socks Color")
|
||||
if(!UNDIE_COLORABLE(GLOB.underwear_list[H.underwear]))
|
||||
undergarment_choices -= "Underwear Color"
|
||||
if(!UNDIE_COLORABLE(GLOB.undershirt_list[H.undershirt]))
|
||||
undergarment_choices -= "Undershirt Color"
|
||||
if(!UNDIE_COLORABLE(GLOB.socks_list[H.socks]))
|
||||
undergarment_choices -= "Socks Color"
|
||||
|
||||
var/choice = input(H, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in undergarment_choices
|
||||
if(!H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
var/dye_undie = FALSE
|
||||
var/dye_shirt = FALSE
|
||||
var/dye_socks = FALSE
|
||||
switch(choice)
|
||||
if("Underwear")
|
||||
var/new_undies = input(H, "Select your underwear", "Changing") as null|anything in GLOB.underwear_list
|
||||
if(H.underwear)
|
||||
H.underwear = new_undies
|
||||
H.saved_underwear = new_undies
|
||||
var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[new_undies]
|
||||
dye_undie = B?.has_color
|
||||
if("Undershirt")
|
||||
var/new_undershirt = input(H, "Select your undershirt", "Changing") as null|anything in GLOB.undershirt_list
|
||||
if(new_undershirt)
|
||||
H.undershirt = new_undershirt
|
||||
H.saved_undershirt = new_undershirt
|
||||
var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[new_undershirt]
|
||||
dye_shirt = T?.has_color
|
||||
if("Socks")
|
||||
var/new_socks = input(H, "Select your socks", "Changing") as null|anything in GLOB.socks_list
|
||||
if(new_socks)
|
||||
H.socks = new_socks
|
||||
H.saved_socks = new_socks
|
||||
var/datum/sprite_accessory/underwear/socks/S = GLOB.socks_list[new_socks]
|
||||
dye_socks = S?.has_color
|
||||
if(dye_undie || choice == "Underwear Color")
|
||||
H.undie_color = recolor_undergarment(H, "underwear", H.undie_color)
|
||||
if(dye_shirt || choice == "Undershirt Color")
|
||||
H.shirt_color = recolor_undergarment(H, "undershirt", H.shirt_color)
|
||||
if(dye_socks || choice == "Socks Color")
|
||||
H.socks_color = recolor_undergarment(H, "socks", H.socks_color)
|
||||
|
||||
add_fingerprint(H)
|
||||
H.update_body()
|
||||
|
||||
/obj/structure/plaswooddresser/proc/recolor_undergarment(mob/living/carbon/human/H, garment_type = "underwear", default_color)
|
||||
var/n_color = input(H, "Choose your [garment_type]'\s color.", "Character Preference", default_color) as color|null
|
||||
if(!n_color || !H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return default_color
|
||||
return sanitize_hexcolor(n_color)
|
||||
|
||||
/obj/structure/shadowwdresser
|
||||
name = "dresser"
|
||||
desc = "A nicely-crafted shadow wood dresser. It's filled with lots of undies."
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "shadowwdresser"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/shadowwdresser/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "unwrench" : "wrench"] [src].</span>")
|
||||
if(I.use_tool(src, user, 20, volume=50))
|
||||
to_chat(user, "<span class='notice'>You successfully [anchored ? "unwrench" : "wrench"] [src].</span>")
|
||||
setAnchored(!anchored)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/shadowwdresser/deconstruct(disassembled = TRUE)
|
||||
new /obj/item/stack/sheet/mineral/shadoww(drop_location(), 10)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/shadowwdresser/attack_hand(mob/user)
|
||||
. = ..()
|
||||
if(. || !ishuman(user) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
|
||||
if(H.dna && H.dna.species && (NO_UNDERWEAR in H.dna.species.species_traits))
|
||||
to_chat(H, "<span class='warning'>You are not capable of wearing underwear.</span>")
|
||||
return
|
||||
|
||||
var/list/undergarment_choices = list("Underwear", "Underwear Color", "Undershirt", "Undershirt Color", "Socks", "Socks Color")
|
||||
if(!UNDIE_COLORABLE(GLOB.underwear_list[H.underwear]))
|
||||
undergarment_choices -= "Underwear Color"
|
||||
if(!UNDIE_COLORABLE(GLOB.undershirt_list[H.undershirt]))
|
||||
undergarment_choices -= "Undershirt Color"
|
||||
if(!UNDIE_COLORABLE(GLOB.socks_list[H.socks]))
|
||||
undergarment_choices -= "Socks Color"
|
||||
|
||||
var/choice = input(H, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in undergarment_choices
|
||||
if(!H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
var/dye_undie = FALSE
|
||||
var/dye_shirt = FALSE
|
||||
var/dye_socks = FALSE
|
||||
switch(choice)
|
||||
if("Underwear")
|
||||
var/new_undies = input(H, "Select your underwear", "Changing") as null|anything in GLOB.underwear_list
|
||||
if(H.underwear)
|
||||
H.underwear = new_undies
|
||||
H.saved_underwear = new_undies
|
||||
var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[new_undies]
|
||||
dye_undie = B?.has_color
|
||||
if("Undershirt")
|
||||
var/new_undershirt = input(H, "Select your undershirt", "Changing") as null|anything in GLOB.undershirt_list
|
||||
if(new_undershirt)
|
||||
H.undershirt = new_undershirt
|
||||
H.saved_undershirt = new_undershirt
|
||||
var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[new_undershirt]
|
||||
dye_shirt = T?.has_color
|
||||
if("Socks")
|
||||
var/new_socks = input(H, "Select your socks", "Changing") as null|anything in GLOB.socks_list
|
||||
if(new_socks)
|
||||
H.socks = new_socks
|
||||
H.saved_socks = new_socks
|
||||
var/datum/sprite_accessory/underwear/socks/S = GLOB.socks_list[new_socks]
|
||||
dye_socks = S?.has_color
|
||||
if(dye_undie || choice == "Underwear Color")
|
||||
H.undie_color = recolor_undergarment(H, "underwear", H.undie_color)
|
||||
if(dye_shirt || choice == "Undershirt Color")
|
||||
H.shirt_color = recolor_undergarment(H, "undershirt", H.shirt_color)
|
||||
if(dye_socks || choice == "Socks Color")
|
||||
H.socks_color = recolor_undergarment(H, "socks", H.socks_color)
|
||||
|
||||
add_fingerprint(H)
|
||||
H.update_body()
|
||||
|
||||
/obj/structure/shadowwdresser/proc/recolor_undergarment(mob/living/carbon/human/H, garment_type = "underwear", default_color)
|
||||
var/n_color = input(H, "Choose your [garment_type]'\s color.", "Character Preference", default_color) as color|null
|
||||
if(!n_color || !H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return default_color
|
||||
return sanitize_hexcolor(n_color)
|
||||
@@ -219,8 +219,8 @@
|
||||
var/watertemp = "normal" //freezing, normal, or boiling
|
||||
var/datum/looping_sound/showering/soundloop
|
||||
|
||||
/obj/machinery/shower/crafted //When created from sheets of metal
|
||||
anchored = FALSE
|
||||
/*/obj/machinery/shower/crafted //When created from sheets of metal
|
||||
anchored = FALSE */ //Stop exploiting this ree
|
||||
|
||||
/obj/machinery/shower/Initialize()
|
||||
. = ..()
|
||||
@@ -292,43 +292,19 @@
|
||||
if (user.a_intent != INTENT_HELP)
|
||||
return ..()
|
||||
|
||||
switch (I.tool_behaviour)
|
||||
if (TOOL_WRENCH)
|
||||
if (!anchored)
|
||||
user.visible_message("<span class='notice'>[user] starts to take apart [src]...</span>", "<span class='notice'>You start dismantling [src]...</span>")
|
||||
I.play_tool_sound(src)
|
||||
if(I.use_tool(src, user, 20))
|
||||
deconstruct(TRUE)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with \the [I]...</span>")
|
||||
if(I.use_tool(src, user, 50))
|
||||
switch(watertemp)
|
||||
if("normal")
|
||||
watertemp = "freezing"
|
||||
if("freezing")
|
||||
watertemp = "boiling"
|
||||
if("boiling")
|
||||
watertemp = "normal"
|
||||
user.visible_message("<span class='notice'>[user] adjusts the shower with \the [I].</span>", "<span class='notice'>You adjust the shower with \the [I] to [watertemp] temperature.</span>")
|
||||
log_game("[key_name(user)] has wrenched a shower to [watertemp] at ([x],[y],[z])")
|
||||
add_hiddenprint(user)
|
||||
|
||||
if (TOOL_SCREWDRIVER)
|
||||
if (!anchored)
|
||||
to_chat(user, "<span class='notice'>You begin screwing in [src] to the floor...</span>")
|
||||
I.play_tool_sound(src)
|
||||
if(I.use_tool(src, user, 30))
|
||||
user.visible_message("<span class='notice'>[user] connects [src] to the floor.</span>", "<span class='notice'>You connect [src] to the floor.</span>")
|
||||
anchored = TRUE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You start to take out [src]'s screws...</span>")
|
||||
on = FALSE
|
||||
soundloop.stop()
|
||||
update_icon()
|
||||
I.play_tool_sound(src)
|
||||
if(I.use_tool(src, user, 20))
|
||||
user.visible_message("<span class='notice'>[user] disconnects [src] from the floor.</span>", "<span class='notice'>You disconnect [src] from the floor.</span>")
|
||||
anchored = FALSE
|
||||
if (I.tool_behaviour == TOOL_WRENCH)
|
||||
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with \the [I]...</span>")
|
||||
if(I.use_tool(src, user, 50))
|
||||
switch(watertemp)
|
||||
if("normal")
|
||||
watertemp = "freezing"
|
||||
if("freezing")
|
||||
watertemp = "boiling"
|
||||
if("boiling")
|
||||
watertemp = "normal"
|
||||
user.visible_message("<span class='notice'>[user] adjusts the shower with \the [I].</span>", "<span class='notice'>You adjust the shower with \the [I] to [watertemp] temperature.</span>")
|
||||
log_game("[key_name(user)] has wrenched a shower to [watertemp] at ([x],[y],[z])")
|
||||
add_hiddenprint(user)
|
||||
|
||||
/obj/machinery/shower/examine()
|
||||
. += ..()
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
var/decon_speed = 30
|
||||
var/wtype = "glass"
|
||||
var/fulltile = FALSE
|
||||
var/glass_type = /obj/item/stack/sheet/glass
|
||||
var/obj/item/stack/sheet/glass_type = /obj/item/stack/sheet/glass
|
||||
var/cleanable_type = /obj/effect/decal/cleanable/glass
|
||||
var/glass_amount = 1
|
||||
var/mutable_appearance/crack_overlay
|
||||
can_be_unanchored = TRUE
|
||||
@@ -279,12 +280,15 @@
|
||||
|
||||
/obj/structure/window/proc/spawnDebris(location)
|
||||
. = list()
|
||||
. += new /obj/item/shard(location)
|
||||
. += new /obj/effect/decal/cleanable/glass(location)
|
||||
var/shard = initial(glass_type.shard_type)
|
||||
if(shard)
|
||||
. += new shard(location)
|
||||
if (fulltile)
|
||||
. += new shard(location)
|
||||
if(cleanable_type)
|
||||
. += new cleanable_type(location)
|
||||
if (reinf)
|
||||
. += new /obj/item/stack/rods(location, (fulltile ? 2 : 1))
|
||||
if (fulltile)
|
||||
. += new /obj/item/shard(location)
|
||||
|
||||
/obj/structure/window/proc/can_be_rotated(mob/user,rotation_type)
|
||||
if(anchored)
|
||||
@@ -411,17 +415,9 @@
|
||||
max_integrity = 150
|
||||
explosion_block = 1
|
||||
glass_type = /obj/item/stack/sheet/plasmaglass
|
||||
cleanable_type = /obj/effect/decal/cleanable/glass/plasma
|
||||
rad_insulation = RAD_NO_INSULATION
|
||||
|
||||
/obj/structure/window/plasma/spawnDebris(location)
|
||||
. = list()
|
||||
. += new /obj/item/shard/plasma(location)
|
||||
. += new /obj/effect/decal/cleanable/glass/plasma(location)
|
||||
if (reinf)
|
||||
. += new /obj/item/stack/rods(location, (fulltile ? 2 : 1))
|
||||
if (fulltile)
|
||||
. += new /obj/item/shard/plasma(location)
|
||||
|
||||
/obj/structure/window/plasma/spawner/east
|
||||
dir = EAST
|
||||
|
||||
@@ -884,11 +880,6 @@
|
||||
level = 3
|
||||
glass_amount = 2
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/spawnDebris(location)
|
||||
. = list()
|
||||
for(var/i in 1 to 4)
|
||||
. += new /obj/item/clockwork/alloy_shards/medium/gear_bit(location)
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/Initialize(mapload, direct)
|
||||
made_glow = TRUE
|
||||
new /obj/effect/temp_visual/ratvar/window(get_turf(src))
|
||||
|
||||
Reference in New Issue
Block a user