Implements Tailoring

This commit is contained in:
Fox McCloud
2019-08-26 17:41:39 -04:00
parent 753f8433e9
commit eef0bc919d
46 changed files with 631 additions and 64 deletions
+1 -1
View File
@@ -8742,7 +8742,7 @@
pixel_x = -3;
pixel_y = 3
},
/obj/item/clothing/glasses/hud/health/health_advanced,
/obj/item/clothing/glasses/hud/health/sunglasses,
/obj/item/clothing/glasses/hud/security/sunglasses,
/turf/unsimulated/floor{
tag = "icon-floor";
+1
View File
@@ -5,6 +5,7 @@
#define CAT_FOOD "Food"
#define CAT_MISC "Misc"
#define CAT_PRIMAL "Tribal"
#define CAT_CLOTHING "Clothing"
#define RECIPE_MICROWAVE "Microwave"
#define RECIPE_OVEN "Oven"
+1
View File
@@ -1173,6 +1173,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/datum/supply_packs/organic/hydroponics/seeds
name = "Seeds Crate"
contains = list(/obj/item/seeds/chili,
/obj/item/seeds/cotton,
/obj/item/seeds/berry,
/obj/item/seeds/corn,
/obj/item/seeds/eggplant,
+1 -1
View File
@@ -214,7 +214,7 @@
suit = /obj/item/clothing/suit/storage/fr_jacket
shoes = /obj/item/clothing/shoes/white
l_ear = /obj/item/radio/headset/headset_sec/alt
glasses = /obj/item/clothing/glasses/hud/health/health_advanced
glasses = /obj/item/clothing/glasses/hud/health/sunglasses
id = /obj/item/card/id/security
suit_store = /obj/item/flashlight/pen
l_hand = /obj/item/storage/firstaid/adv
+1 -1
View File
@@ -175,7 +175,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0)
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/jackboots
l_ear = /obj/item/radio/headset/heads/blueshield/alt
glasses = /obj/item/clothing/glasses/hud/health/health_advanced
glasses = /obj/item/clothing/glasses/hud/health/sunglasses
id = /obj/item/card/id/nanotrasen
pda = /obj/item/pda/heads/blueshield
backpack_contents = list(
+85 -19
View File
@@ -1191,7 +1191,7 @@
product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!"
product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!"
icon_state = "seeds"
products = list(/obj/item/seeds/aloe =3, /obj/item/seeds/ambrosia = 3, /obj/item/seeds/apple = 3, /obj/item/seeds/banana = 3, /obj/item/seeds/berry = 3,
products = list(/obj/item/seeds/aloe =3, /obj/item/seeds/ambrosia = 3, /obj/item/seeds/apple = 3, /obj/item/seeds/cotton = 3, /obj/item/seeds/banana = 3, /obj/item/seeds/berry = 3,
/obj/item/seeds/cabbage = 3, /obj/item/seeds/carrot = 3, /obj/item/seeds/cherry = 3, /obj/item/seeds/chanter = 3,
/obj/item/seeds/chili = 3, /obj/item/seeds/cocoapod = 3, /obj/item/seeds/coffee = 3, /obj/item/seeds/comfrey =3, /obj/item/seeds/corn = 3,
/obj/item/seeds/nymph =3, /obj/item/seeds/eggplant = 3, /obj/item/seeds/grape = 3, /obj/item/seeds/grass = 3, /obj/item/seeds/lemon = 3,
@@ -1470,24 +1470,90 @@
product_slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this free swag!;Why leave style up to fate? Use the ClothesMate!"
vend_delay = 15
vend_reply = "Thank you for using the ClothesMate!"
products = list(/obj/item/clothing/head/that=2,/obj/item/clothing/head/fedora=1,/obj/item/clothing/glasses/monocle=1,
/obj/item/clothing/under/suit_jacket/navy=2,/obj/item/clothing/under/kilt=1,/obj/item/clothing/under/overalls=1,
/obj/item/clothing/under/suit_jacket/really_black=2,/obj/item/clothing/suit/storage/lawyer/blackjacket=2,/obj/item/clothing/under/pants/jeans=3,/obj/item/clothing/under/pants/classicjeans=2,
/obj/item/clothing/under/pants/camo = 1,/obj/item/clothing/under/pants/blackjeans=2,/obj/item/clothing/under/pants/khaki=2,
/obj/item/clothing/under/pants/white=2,/obj/item/clothing/under/pants/red=1,/obj/item/clothing/under/pants/black=2,
/obj/item/clothing/under/pants/tan=2,/obj/item/clothing/under/pants/blue=1,/obj/item/clothing/under/pants/track=1,/obj/item/clothing/suit/jacket/miljacket = 1,
/obj/item/clothing/accessory/scarf/red=1,/obj/item/clothing/accessory/scarf/green=1,/obj/item/clothing/accessory/scarf/darkblue=1,
/obj/item/clothing/accessory/scarf/purple=1,/obj/item/clothing/accessory/scarf/yellow=1,/obj/item/clothing/accessory/scarf/orange=1,
/obj/item/clothing/accessory/scarf/lightblue=1,/obj/item/clothing/accessory/scarf/white=1,/obj/item/clothing/accessory/scarf/black=1,
/obj/item/clothing/accessory/scarf/zebra=1,/obj/item/clothing/accessory/scarf/christmas=1,/obj/item/clothing/accessory/stripedredscarf=1,
/obj/item/clothing/accessory/stripedbluescarf=1,/obj/item/clothing/accessory/stripedgreenscarf=1,/obj/item/clothing/accessory/waistcoat=1,
/obj/item/clothing/under/sundress=2,/obj/item/clothing/under/stripeddress = 1, /obj/item/clothing/under/sailordress = 1, /obj/item/clothing/under/redeveninggown = 1, /obj/item/clothing/under/blacktango=1,/obj/item/clothing/suit/jacket=3,
/obj/item/clothing/glasses/regular=2,/obj/item/clothing/glasses/sunglasses/fake=2,/obj/item/clothing/head/sombrero=1,/obj/item/clothing/suit/poncho=1,
/obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2,/obj/item/clothing/shoes/black=4,
/obj/item/clothing/shoes/sandal=1, /obj/item/clothing/gloves/fingerless=2,
/obj/item/storage/belt/fannypack=1, /obj/item/storage/belt/fannypack/blue=1, /obj/item/storage/belt/fannypack/red=1, /obj/item/clothing/suit/mantle = 2, /obj/item/clothing/suit/mantle/old = 1, /obj/item/clothing/suit/mantle/regal = 2)
contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1,/obj/item/storage/belt/fannypack/black=1)
premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/under/pants/mustangjeans=1)
products = list(/obj/item/clothing/head/that = 2,
/obj/item/clothing/head/fedora = 1,
/obj/item/clothing/glasses/monocle = 1,
/obj/item/clothing/under/suit_jacket/navy = 2,
/obj/item/clothing/under/kilt = 1,
/obj/item/clothing/under/overalls = 1,
/obj/item/clothing/under/suit_jacket/really_black = 2,
/obj/item/clothing/suit/storage/lawyer/blackjacket = 2,
/obj/item/clothing/under/pants/jeans = 3,
/obj/item/clothing/under/pants/classicjeans = 2,
/obj/item/clothing/under/pants/camo = 1,
/obj/item/clothing/under/pants/blackjeans = 2,
/obj/item/clothing/under/pants/khaki = 2,
/obj/item/clothing/under/pants/white = 2,
/obj/item/clothing/under/pants/red = 1,
/obj/item/clothing/under/pants/black = 2,
/obj/item/clothing/under/pants/tan = 2,
/obj/item/clothing/under/pants/blue = 1,
/obj/item/clothing/under/pants/track = 1,
/obj/item/clothing/suit/jacket/miljacket = 1,
/obj/item/clothing/head/beanie = 3,
/obj/item/clothing/head/beanie/black = 3,
/obj/item/clothing/head/beanie/red = 3,
/obj/item/clothing/head/beanie/green = 3,
/obj/item/clothing/head/beanie/darkblue = 3,
/obj/item/clothing/head/beanie/purple = 3,
/obj/item/clothing/head/beanie/yellow = 3,
/obj/item/clothing/head/beanie/orange = 3,
/obj/item/clothing/head/beanie/cyan = 3,
/obj/item/clothing/head/beanie/christmas = 3,
/obj/item/clothing/head/beanie/striped = 3,
/obj/item/clothing/head/beanie/stripedred = 3,
/obj/item/clothing/head/beanie/stripedblue = 3,
/obj/item/clothing/head/beanie/stripedgreen = 3,
/obj/item/clothing/head/beanie/rasta = 3,
/obj/item/clothing/accessory/scarf/red = 1,
/obj/item/clothing/accessory/scarf/green = 1,
/obj/item/clothing/accessory/scarf/darkblue = 1,
/obj/item/clothing/accessory/scarf/purple = 1,
/obj/item/clothing/accessory/scarf/yellow = 1,
/obj/item/clothing/accessory/scarf/orange = 1,
/obj/item/clothing/accessory/scarf/lightblue = 1,
/obj/item/clothing/accessory/scarf/white = 1,
/obj/item/clothing/accessory/scarf/black = 1,
/obj/item/clothing/accessory/scarf/zebra = 1,
/obj/item/clothing/accessory/scarf/christmas = 1,
/obj/item/clothing/accessory/stripedredscarf = 1,
/obj/item/clothing/accessory/stripedbluescarf = 1,
/obj/item/clothing/accessory/stripedgreenscarf = 1,
/obj/item/clothing/accessory/waistcoat = 1,
/obj/item/clothing/under/sundress = 2,
/obj/item/clothing/under/stripeddress = 1,
/obj/item/clothing/under/sailordress = 1,
/obj/item/clothing/under/redeveninggown = 1,
/obj/item/clothing/under/blacktango = 1,
/obj/item/clothing/suit/jacket = 3,
/obj/item/clothing/glasses/regular = 2,
/obj/item/clothing/glasses/sunglasses_fake = 2,
/obj/item/clothing/head/sombrero = 1,
/obj/item/clothing/suit/poncho = 1,
/obj/item/clothing/suit/ianshirt = 1,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/shoes/black = 4,
/obj/item/clothing/shoes/sandal = 1,
/obj/item/clothing/gloves/fingerless = 2,
/obj/item/storage/belt/fannypack = 1,
/obj/item/storage/belt/fannypack/blue = 1,
/obj/item/storage/belt/fannypack/red = 1,
/obj/item/clothing/suit/mantle = 2,
/obj/item/clothing/suit/mantle/old = 1,
/obj/item/clothing/suit/mantle/regal = 2)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 1,
/obj/item/clothing/mask/balaclava = 1,
/obj/item/clothing/head/ushanka = 1,
/obj/item/clothing/under/soviet = 1,
/obj/item/storage/belt/fannypack/black = 1)
premium = list(/obj/item/clothing/under/suit_jacket/checkered = 1,
/obj/item/clothing/head/mailman = 1,
/obj/item/clothing/under/rank/mailman = 1,
/obj/item/clothing/suit/jacket/leather = 1,
/obj/item/clothing/under/pants/mustangjeans = 1)
refill_canister = /obj/item/vending_refill/clothing
/obj/machinery/vending/clothing/New()
@@ -145,6 +145,11 @@
else
to_chat(user, "<span class='warning'>[affecting] is cut open, you'll need more than a bandage!</span>")
/obj/item/stack/medical/bruise_pack/improvised
name = "improvised gauze"
singular_name = "improvised gauze"
desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds."
stop_bleeding = 900
/obj/item/stack/medical/bruise_pack/advanced
name = "advanced trauma kit"
@@ -182,6 +182,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list(
new /datum/stack_recipe("rake", /obj/item/cultivator/rake, 5, time = 10),
new /datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 15),
new /datum/stack_recipe("loom", /obj/structure/loom, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \
new /datum/stack_recipe("fermenting barrel", /obj/structure/fermenting_barrel, 30, time = 50),
new /datum/stack_recipe("firebrand", /obj/item/match/firebrand, 2, time = 100)
)
@@ -204,8 +205,9 @@ var/global/list/datum/stack_recipe/wood_recipes = list(
* Cloth
*/
var/global/list/datum/stack_recipe/cloth_recipes = list ( \
new/datum/stack_recipe("grey jumpsuit", /obj/item/clothing/under/color/grey, 3), \
new/datum/stack_recipe("black shoes", /obj/item/clothing/shoes/black, 2), \
new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 3), \
new/datum/stack_recipe("white shoes", /obj/item/clothing/shoes/white, 2), \
new/datum/stack_recipe("white scarf", /obj/item/clothing/accessory/scarf/white, 1), \
null, \
new/datum/stack_recipe("backpack", /obj/item/storage/backpack, 4), \
new/datum/stack_recipe("dufflebag", /obj/item/storage/backpack/duffel, 6), \
@@ -216,11 +218,14 @@ var/global/list/datum/stack_recipe/cloth_recipes = list ( \
new/datum/stack_recipe("chemistry bag", /obj/item/storage/bag/chemistry, 4), \
new/datum/stack_recipe("bio bag", /obj/item/storage/bag/bio, 4), \
null, \
new/datum/stack_recipe("improvised gauze", /obj/item/stack/medical/bruise_pack/improvised, 1, 2, 6), \
new/datum/stack_recipe("rag", /obj/item/reagent_containers/glass/rag, 1), \
new/datum/stack_recipe("bedsheet", /obj/item/bedsheet, 3), \
null, \
new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1), \
new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \
new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 3), \
new/datum/stack_recipe("white softcap", /obj/item/clothing/head/soft/mime, 2), \
new/datum/stack_recipe("white beanie", /obj/item/clothing/head/beanie, 2), \
null, \
new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 3), \
)
@@ -243,6 +248,49 @@ var/global/list/datum/stack_recipe/cloth_recipes = list ( \
/obj/item/stack/sheet/cloth/ten
amount = 10
GLOBAL_LIST_INIT(durathread_recipes, list ( \
new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/misc/durathread, 4, time = 40),
new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 40), \
new/datum/stack_recipe("durathread beanie", /obj/item/clothing/head/beanie/durathread, 2, time = 40), \
new/datum/stack_recipe("durathread bandana", /obj/item/clothing/mask/bandana/durathread, 1, time = 25), \
))
/obj/item/stack/sheet/durathread
name = "durathread"
desc = "A fabric sown from incredibly durable threads, known for its usefulness in armor production."
singular_name = "durathread roll"
icon_state = "sheet-durathread"
item_state = "sheet-cloth"
resistance_flags = FLAMMABLE
force = 0
throwforce = 0
merge_type = /obj/item/stack/sheet/durathread
/obj/item/stack/sheet/durathread/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.durathread_recipes
return ..()
/obj/item/stack/sheet/cotton
name = "raw cotton bundle"
desc = "A bundle of raw cotton ready to be spun on the loom."
singular_name = "raw cotton ball"
icon_state = "sheet-cotton"
resistance_flags = FLAMMABLE
force = 0
throwforce = 0
merge_type = /obj/item/stack/sheet/cotton
var/pull_effort = 30
var/loom_result = /obj/item/stack/sheet/cloth
/obj/item/stack/sheet/cotton/durathread
name = "raw durathread bundle"
desc = "A bundle of raw durathread ready to be spun on the loom."
singular_name = "raw durathread ball"
icon_state = "sheet-durathreadraw"
merge_type = /obj/item/stack/sheet/cotton/durathread
pull_effort = 70
loom_result = /obj/item/stack/sheet/durathread
/*
* Cardboard
*/
@@ -251,7 +251,7 @@
new /obj/item/melee/baton/loaded(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/read_only(src)
new /obj/item/clothing/glasses/hud/health/health_advanced
new /obj/item/clothing/glasses/hud/health/sunglasses
new /obj/item/clothing/head/beret/centcom/officer(src)
new /obj/item/clothing/head/beret/centcom/officer/navy(src)
new /obj/item/clothing/suit/armor/vest/blueshield(src)
+38
View File
@@ -0,0 +1,38 @@
#define FABRIC_PER_SHEET 4
///This is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.
/obj/structure/loom
name = "loom"
desc = "A simple device used to weave cloth and other thread-based fabrics together into usable material."
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "loom"
density = TRUE
anchored = TRUE
/obj/structure/loom/attackby(obj/item/I, mob/user)
if(default_unfasten_wrench(user, I, 5))
return
if(weave(I, user))
return
return ..()
///Handles the weaving.
/obj/structure/loom/proc/weave(obj/item/stack/sheet/cotton/W, mob/user)
if(!istype(W))
return FALSE
if(!anchored)
user.show_message("<span class='notice'>The loom needs to be wrenched down.</span>", 1)
return FALSE
if(W.amount < FABRIC_PER_SHEET)
user.show_message("<span class='notice'>You need at least [FABRIC_PER_SHEET] units of fabric before using this.</span>", 1)
return FALSE
user.show_message("<span class='notice'>You start weaving \the [W.name] through the loom..</span>", 1)
if(do_after(user, W.pull_effort, target = src))
if(W.amount >= FABRIC_PER_SHEET)
new W.loom_result(drop_location())
W.use(FABRIC_PER_SHEET)
user.show_message("<span class='notice'>You weave \the [W.name] into a workable fabric.</span>", 1)
return TRUE
#undef FABRIC_PER_SHEET
@@ -29,4 +29,4 @@
/datum/gear/sunglasses
display_name = "cheap sunglasses"
path = /obj/item/clothing/glasses/sunglasses/fake
path = /obj/item/clothing/glasses/sunglasses_fake
@@ -28,23 +28,23 @@
/datum/gear/shoes/cowboyboots
display_name = "cowboy boots, brown"
cost = 1
path = /obj/item/clothing/shoes/cowboyboots
path = /obj/item/clothing/shoes/cowboy
/datum/gear/shoes/cowboyboots_black
display_name = "cowboy boots, black"
cost = 1
path = /obj/item/clothing/shoes/cowboyboots/black
path = /obj/item/clothing/shoes/cowboy/black
/datum/gear/shoes/cowboyboots/white
display_name = "cowboy boots, white"
cost = 1
path = /obj/item/clothing/shoes/cowboyboots/white
path = /obj/item/clothing/shoes/cowboy/white
/datum/gear/shoes/cowboyboots/pink
display_name = "cowboy boots, pink"
cost = 1
path = /obj/item/clothing/shoes/cowboyboots/pink
path = /obj/item/clothing/shoes/cowboy/pink
/datum/gear/shoes/laceup
display_name = "laceup shoes"
cost = 1
+3 -1
View File
@@ -265,9 +265,11 @@
"Grey" = 'icons/mob/species/grey/eyes.dmi'
)
/obj/item/clothing/glasses/sunglasses/fake
/obj/item/clothing/glasses/sunglasses_fake
desc = "Cheap, plastic sunglasses. They don't even have UV protection."
name = "cheap sunglasses"
icon_state = "sun"
item_state = "sunglasses"
see_in_dark = 0
flash_protect = 0
tint = 0
+16 -6
View File
@@ -38,12 +38,6 @@
"Grey" = 'icons/mob/species/grey/eyes.dmi'
)
/obj/item/clothing/glasses/hud/health/health_advanced
name = "\improper Advanced Health Scanner HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their health status. Includes anti-flash filter."
icon_state = "advmedhud"
flash_protect = 1
/obj/item/clothing/glasses/hud/health/night
name = "\improper Night Vision Health Scanner HUD"
desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness."
@@ -54,6 +48,14 @@
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
prescription_upgradable = 0
/obj/item/clothing/glasses/hud/health/sunglasses
name = "medical HUDSunglasses"
desc = "Sunglasses with a medical HUD."
icon_state = "sunhudmed"
see_in_dark = 1
flash_protect = 1
tint = 1
/obj/item/clothing/glasses/hud/diagnostic
name = "Diagnostic HUD"
desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits."
@@ -77,6 +79,14 @@
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
prescription_upgradable = 0
/obj/item/clothing/glasses/hud/diagnostic/sunglasses
name = "diagnostic sunglasses"
desc = "Sunglasses with a diagnostic HUD."
icon_state = "sunhuddiag"
item_state = "glasses"
flash_protect = 1
tint = 1
/obj/item/clothing/glasses/hud/security
name = "\improper Security HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records."
+96
View File
@@ -0,0 +1,96 @@
//BeanieStation13 Redux
//Plus a bobble hat, lets be inclusive!!
/obj/item/clothing/head/beanie //Default is white, this is meant to be seen
name = "white beanie"
desc = "A stylish beanie. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their heads."
icon_state = "beanie" //Default white
item_color = "beanie"
/obj/item/clothing/head/beanie/black
name = "black beanie"
icon_state = "beanie"
color = "#4A4A4B" //Grey but it looks black
/obj/item/clothing/head/beanie/red
name = "red beanie"
icon_state = "beanie"
color = "#D91414" //Red
/obj/item/clothing/head/beanie/green
name = "green beanie"
icon_state = "beanie"
color = "#5C9E54" //Green
/obj/item/clothing/head/beanie/darkblue
name = "dark blue beanie"
icon_state = "beanie"
color = "#1E85BC" //Blue
/obj/item/clothing/head/beanie/purple
name = "purple beanie"
icon_state = "beanie"
color = "#9557C5" //purple
/obj/item/clothing/head/beanie/yellow
name = "yellow beanie"
icon_state = "beanie"
color = "#E0C14F" //Yellow
/obj/item/clothing/head/beanie/orange
name = "orange beanie"
icon_state = "beanie"
color = "#C67A4B" //orange
/obj/item/clothing/head/beanie/cyan
name = "cyan beanie"
icon_state = "beanie"
color = "#54A3CE" //Cyan (Or close to it)
//Striped Beanies have unique sprites
/obj/item/clothing/head/beanie/christmas
name = "christmas beanie"
icon_state = "beaniechristmas"
item_color = "beaniechristmas"
/obj/item/clothing/head/beanie/striped
name = "striped beanie"
icon_state = "beaniestriped"
item_color = "beaniestriped"
/obj/item/clothing/head/beanie/stripedred
name = "red striped beanie"
icon_state = "beaniestripedred"
item_color = "beaniestripedred"
/obj/item/clothing/head/beanie/stripedblue
name = "blue striped beanie"
icon_state = "beaniestripedblue"
item_color = "beaniestripedblue"
/obj/item/clothing/head/beanie/stripedgreen
name = "green striped beanie"
icon_state = "beaniestripedgreen"
item_color = "beaniestripedgreen"
/obj/item/clothing/head/beanie/durathread
name = "durathread beanie"
desc = "A beanie made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "beaniedurathread"
item_color = null
armor = list(melee = 15, bullet = 5, laser = 15, energy = 5, bomb = 10, bio = 0, rad = 0)
/obj/item/clothing/head/beanie/waldo
name = "red striped bobble hat"
desc = "If you're going on a worldwide hike, you'll need some cold protection."
icon_state = "waldo_hat"
item_color = "waldo_hat"
/obj/item/clothing/head/beanie/rasta
name = "rastacap"
desc = "Perfect for tucking in those dreadlocks."
icon_state = "beanierasta"
item_color = "beanierasta"
+18
View File
@@ -227,6 +227,24 @@ obj/item/clothing/head/blob
item_state = "knight_templar"
armor = list(melee = 20, bullet = 7, laser = 2, energy = 2, bomb = 2, bio = 2, rad = 0)
/obj/item/clothing/head/helmet/skull
name = "skull helmet"
desc = "An intimidating tribal helmet, it doesn't look very comfortable."
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
flags_cover = HEADCOVERSEYES
armor = list(melee = 25, bullet = 25, laser = 25, energy = 10, bomb = 10, bio = 5, rad = 20)
icon_state = "skull"
item_state = "skull"
strip_delay = 100
/obj/item/clothing/head/helmet/durathread
name = "durathread helmet"
desc = "A helmet made from durathread and leather."
icon_state = "durathread"
item_state = "durathread"
armor = list(melee = 25, bullet = 10, laser = 20, energy = 10, bomb = 30, bio = 15, rad = 20)
strip_delay = 60
//Commander
/obj/item/clothing/head/helmet/ert/command
name = "emergency response team commander helmet"
+7
View File
@@ -82,6 +82,13 @@
desc = "A beret, an artists favorite headwear."
icon_state = "beret"
/obj/item/clothing/head/beret/durathread
name = "durathread beret"
desc = "A beret made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "beretdurathread"
item_color = null
armor = list(melee = 15, bullet = 5, laser = 15, energy = 5, bomb = 10, bio = 0, rad = 0)
//Security
/obj/item/clothing/head/HoS
name = "head of security cap"
@@ -483,6 +483,11 @@
item_color = "black"
desc = "It's a black bandana."
/obj/item/clothing/mask/bandana/durathread
name = "durathread bandana"
desc = "A bandana made from durathread, you wish it would provide some protection to its wearer, but it's far too thin..."
icon_state = "banddurathread"
/obj/item/clothing/mask/cursedclown
name = "cursed clown mask"
desc = "This is a very, very odd looking mask."
+35 -10
View File
@@ -243,30 +243,55 @@
icon_state = "bsing"
put_on_delay = 50
/obj/item/clothing/shoes/cowboyboots
/obj/item/clothing/shoes/cowboy
name = "cowboy boots"
desc = "A pair a' brown boots."
icon_state = "cowboyboots"
item_color = "cowboyboots"
icon_state = "cowboy_brown"
item_color = "cowboy_brown"
/obj/item/clothing/shoes/cowboyboots/black
/obj/item/clothing/shoes/cowboy/black
name = "black cowboy boots"
desc = "A pair a' black rustlers' boots"
icon_state = "cowboyboots_black"
item_color = "cowboyboots_black"
icon_state = "cowboy_black"
item_color = "cowboy_black"
/obj/item/clothing/shoes/cowboyboots/white
/obj/item/clothing/shoes/cowboy/white
name = "white cowboy boots"
desc = "For the rancher in us all."
icon_state = "cowboyboots_white"
item_color = "cowboyboots_white"
icon_state = "cowboy_white"
item_color = "cowboy_white"
/obj/item/clothing/shoes/cowboyboots/pink
/obj/item/clothing/shoes/cowboy/fancy
name = "bilton wrangler boots"
desc = "A pair of authentic haute couture boots from Japanifornia. You doubt they have ever been close to cattle."
icon_state = "cowboy_fancy"
item_color = "cowboy_fancy"
/obj/item/clothing/shoes/cowboy/pink
name = "pink cowgirl boots"
desc = "For a Rustlin' tustlin' cowgirl."
icon_state = "cowboyboots_pink"
item_color = "cowboyboots_pink"
/obj/item/clothing/shoes/cowboy/lizard
name = "lizard skin boots"
desc = "You can hear a faint hissing from inside the boots; you hope it is just a mournful ghost."
icon_state = "lizardboots_green"
/obj/item/clothing/shoes/cowboy/lizardmasterwork
name = "\improper Hugs-The-Feet lizard skin boots"
desc = "A pair of masterfully crafted lizard skin boots. Finally a good application for the station's most bothersome inhabitants."
icon_state = "lizardboots_blue"
/obj/effect/spawner/lootdrop/lizardboots
name = "random lizard boot quality"
desc = "Which ever gets picked, the lizard race loses"
icon = 'icons/obj/clothing/shoes.dmi'
icon_state = "lizardboots_green"
loot = list(
/obj/item/clothing/shoes/cowboy/lizard = 7,
/obj/item/clothing/shoes/cowboy/lizardmasterwork = 1)
/obj/item/clothing/shoes/footwraps
name = "cloth footwraps"
desc = "A roll of treated canvas used for wrapping claws or paws."
+10 -11
View File
@@ -209,6 +209,15 @@
allowed = list(/obj/item/nullrod/claymore)
armor = list(melee = 25, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/vest/durathread
name = "durathread vest"
desc = "A vest made of durathread with strips of leather acting as trauma plates."
icon_state = "durathread"
item_state = "durathread"
strip_delay = 60
burn_state = FLAMMABLE
armor = list(melee = 20, bullet = 10, laser = 30, energy = 5, bomb = 15, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/bulletproof
name = "Bulletproof Vest"
desc = "A bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent."
@@ -528,14 +537,4 @@
item_state = "bonearmor"
blood_overlay_type = "armor"
armor = list(melee = 35, bullet = 25, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
/obj/item/clothing/head/helmet/skull
name = "skull helmet"
desc = "An intimidating tribal helmet, it doesn't look very comfortable."
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
flags_cover = HEADCOVERSEYES
armor = list(melee = 25, bullet = 25, laser = 25, energy = 10, bomb = 10, bio = 5, rad = 20)
icon_state = "skull"
item_state = "skull"
strip_delay = 100
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
@@ -1004,3 +1004,14 @@
icon_state = "old_mantle"
item_state = "old_mantle"
/obj/item/clothing/suit/ghost_sheet
name = "ghost sheet"
desc = "The hands float by themselves, so it's extra spooky."
icon_state = "ghost_sheet"
item_state = "ghost_sheet"
throwforce = 0
throw_speed = 1
throw_range = 2
w_class = WEIGHT_CLASS_TINY
flags = BLOCKHAIR
flags_inv = HIDEGLOVES|HIDEEARS|HIDEFACE
@@ -890,3 +890,10 @@
item_color = "hawaiianblue"
flags_size = ONESIZEFITSALL
/obj/item/clothing/under/misc/durathread
name = "durathread jumpsuit"
desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "durathread"
item_state = "durathread"
item_color = "durathread"
armor = list(melee = 10, bullet = 0, laser = 10, energy = 0, bomb = 5, bio = 0, rad = 0)
+1 -1
View File
@@ -1,7 +1,7 @@
/datum/personal_crafting
var/busy
var/viewing_category = 1 //typical powergamer starting on the Weapons tab
var/list/categories = list(CAT_WEAPON,CAT_AMMO,CAT_ROBOT,CAT_FOOD,CAT_MISC,CAT_PRIMAL)
var/list/categories = list(CAT_WEAPON,CAT_AMMO,CAT_ROBOT,CAT_FOOD,CAT_CLOTHING,CAT_MISC,CAT_PRIMAL)
var/display_craftable_only = FALSE
var/display_compact = TRUE
+145
View File
@@ -0,0 +1,145 @@
/datum/crafting_recipe/durathread_vest
name = "Durathread Vest"
result = /obj/item/clothing/suit/armor/vest/durathread
reqs = list(/obj/item/stack/sheet/durathread = 5,
/obj/item/stack/sheet/leather = 4)
time = 50
category = CAT_CLOTHING
/datum/crafting_recipe/durathread_helmet
name = "Durathread Helmet"
result = /obj/item/clothing/head/helmet/durathread
reqs = list(/obj/item/stack/sheet/durathread = 4,
/obj/item/stack/sheet/leather = 5)
time = 40
category = CAT_CLOTHING
/datum/crafting_recipe/durathread_jumpsuit
name = "Durathread Jumpsuit"
result = /obj/item/clothing/under/misc/durathread
reqs = list(/obj/item/stack/sheet/durathread = 4)
time = 40
category = CAT_CLOTHING
/datum/crafting_recipe/durathread_beret
name = "Durathread Beret"
result = /obj/item/clothing/head/beret/durathread
reqs = list(/obj/item/stack/sheet/durathread = 2)
time = 40
category = CAT_CLOTHING
/datum/crafting_recipe/durathread_beanie
name = "Durathread Beanie"
result = /obj/item/clothing/head/beanie/durathread
reqs = list(/obj/item/stack/sheet/durathread = 2)
time = 40
category = CAT_CLOTHING
/datum/crafting_recipe/durathread_bandana
name = "Durathread Bandana"
result = /obj/item/clothing/mask/bandana/durathread
reqs = list(/obj/item/stack/sheet/durathread = 1)
time = 25
category = CAT_CLOTHING
/datum/crafting_recipe/fannypack
name = "Fannypack"
result = /obj/item/storage/belt/fannypack
reqs = list(/obj/item/stack/sheet/cloth = 2,
/obj/item/stack/sheet/leather = 1)
time = 20
category = CAT_CLOTHING
/datum/crafting_recipe/hudsunsec
name = "Security HUDsunglasses"
result = /obj/item/clothing/glasses/hud/security/sunglasses
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/hud/security = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_CLOTHING
/datum/crafting_recipe/hudsunsecremoval
name = "Security HUD removal"
result = /obj/item/clothing/glasses/sunglasses
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/hudsunmed
name = "Medical HUDsunglasses"
result = /obj/item/clothing/glasses/hud/health/sunglasses
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/hud/health = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_CLOTHING
/datum/crafting_recipe/hudsunmedremoval
name = "Medical HUD removal"
result = /obj/item/clothing/glasses/sunglasses
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/hudsundiag
name = "Diagnostic HUDsunglasses"
result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_CLOTHING
/datum/crafting_recipe/hudsundiagremoval
name = "Diagnostic HUD removal"
result = /obj/item/clothing/glasses/sunglasses
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/beergoggles
name = "Beer Goggles"
result = /obj/item/clothing/glasses/sunglasses/reagent
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/science = 1,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_CLOTHING
/datum/crafting_recipe/beergogglesremoval
name = "Beer Goggles removal"
result = /obj/item/clothing/glasses/sunglasses
time = 20
tools = list(/obj/item/screwdriver, /obj/item/wirecutters)
reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/ghostsheet
name = "Ghost Sheet"
result = /obj/item/clothing/suit/ghost_sheet
time = 5
tools = list(/obj/item/wirecutters)
reqs = list(/obj/item/bedsheet = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/cowboyboots
name = "Cowboy Boots"
result = /obj/item/clothing/shoes/cowboy
reqs = list(/obj/item/stack/sheet/leather = 2)
time = 45
category = CAT_CLOTHING
/datum/crafting_recipe/lizardboots
name = "Lizard Skin Boots"
result = /obj/effect/spawner/lootdrop/lizardboots
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1)
time = 60
category = CAT_CLOTHING
+1 -1
View File
@@ -178,7 +178,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "book_berner_1"
/obj/item/clothing/glasses/sunglasses/fake/fluff/kaki //Rapidvalj: Kakicharakiti
/obj/item/clothing/glasses/sunglasses_fake/fluff/kaki //Rapidvalj: Kakicharakiti
name = "broken thermonocle"
desc = "A weathered Vox thermonocle, doesn't seem to work anymore."
icon_state = "thermoncle"
+79
View File
@@ -0,0 +1,79 @@
/obj/item/seeds/cotton
name = "pack of cotton seeds"
desc = "A pack of seeds that'll grow into a cotton plant. Assistants make good free labor if neccesary."
icon_state = "seed-cotton"
species = "cotton"
plantname = "Cotton"
icon_harvest = "cotton-harvest"
product = /obj/item/grown/cotton
lifespan = 35
endurance = 25
maturation = 15
production = 1
yield = 2
potency = 50
growthstages = 3
growing_icon = 'icons/obj/hydroponics/growing.dmi'
icon_dead = "cotton-dead"
mutatelist = list(/obj/item/seeds/cotton/durathread)
/obj/item/grown/cotton
seed = /obj/item/seeds/cotton
name = "cotton bundle"
desc = "A fluffy bundle of cotton."
icon_state = "cotton"
force = 0
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 2
throw_range = 3
attack_verb = list("pomfed")
var/cotton_type = /obj/item/stack/sheet/cotton
var/cotton_name = "raw cotton"
/obj/item/grown/cotton/attack_self(mob/user)
user.show_message("<span class='notice'>You pull some [cotton_name] out of the [name]!</span>", 1)
var/seed_modifier = 0
if(seed)
seed_modifier = round(seed.potency / 25)
var/obj/item/stack/cotton = new cotton_type(user.loc, 1 + seed_modifier)
var/old_cotton_amount = cotton.amount
for(var/obj/item/stack/ST in user.loc)
if(ST != cotton && istype(ST, cotton_type) && ST.amount < ST.max_amount)
ST.attackby(cotton, user)
if(cotton.amount > old_cotton_amount)
to_chat(user, "<span class='notice'>You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].</span>")
qdel(src)
//reinforced mutated variant
/obj/item/seeds/cotton/durathread
name = "pack of durathread seeds"
desc = "A pack of seeds that'll grow into an extremely durable thread that could easily rival plasteel if woven properly."
icon_state = "seed-durathread"
species = "durathread"
plantname = "Durathread"
icon_harvest = "durathread-harvest"
product = /obj/item/grown/cotton/durathread
lifespan = 80
endurance = 50
maturation = 15
production = 1
yield = 2
potency = 50
growthstages = 3
growing_icon = 'icons/obj/hydroponics/growing.dmi'
icon_dead = "cotton-dead"
/obj/item/grown/cotton/durathread
seed = /obj/item/seeds/cotton/durathread
name = "durathread bundle"
desc = "A tough bundle of durathread, good luck unraveling this."
icon_state = "durathread"
force = 5
throwforce = 5
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 2
throw_range = 3
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
cotton_type = /obj/item/stack/sheet/cotton/durathread
cotton_name = "raw durathread"
@@ -390,7 +390,7 @@
S = H.glasses
return !istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/security) && S && S.read_only
if("medical")
return istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(H.glasses, /obj/item/clothing/glasses/hud/health/health_advanced) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/medical)
return istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/medical)
else
return 0
else if(isrobot(M) || isAI(M)) //Stand-in/Stopgap to prevent pAIs from freely altering records, pending a more advanced Records system
+1 -1
View File
@@ -323,7 +323,7 @@
shoes = /obj/item/clothing/shoes/white
gloves = /obj/item/clothing/gloves/color/latex/nitrile
suit = /obj/item/clothing/suit/space/hardsuit/ert/medical
glasses = /obj/item/clothing/glasses/hud/health/health_advanced
glasses = /obj/item/clothing/glasses/hud/health/sunglasses
suit_store = /obj/item/gun/energy/gun
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/arm/surgery,
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 KiB

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 KiB

After

Width:  |  Height:  |  Size: 534 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 KiB

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 144 KiB

+4
View File
@@ -1051,6 +1051,7 @@
#include "code\game\objects\structures\ladders.dm"
#include "code\game\objects\structures\lamarr_cage.dm"
#include "code\game\objects\structures\lattice.dm"
#include "code\game\objects\structures\loom.dm"
#include "code\game\objects\structures\mineral_doors.dm"
#include "code\game\objects\structures\mirror.dm"
#include "code\game\objects\structures\misc.dm"
@@ -1337,6 +1338,7 @@
#include "code\modules\clothing\gloves\color.dm"
#include "code\modules\clothing\gloves\miscellaneous.dm"
#include "code\modules\clothing\gloves\rings.dm"
#include "code\modules\clothing\head\beanie.dm"
#include "code\modules\clothing\head\collectable.dm"
#include "code\modules\clothing\head\hardhat.dm"
#include "code\modules\clothing\head\helmet.dm"
@@ -1414,6 +1416,7 @@
#include "code\modules\crafting\craft.dm"
#include "code\modules\crafting\guncrafting.dm"
#include "code\modules\crafting\recipes.dm"
#include "code\modules\crafting\tailoring.dm"
#include "code\modules\customitems\item_defines.dm"
#include "code\modules\customitems\item_spawning.dm"
#include "code\modules\detective_work\detective_work.dm"
@@ -1584,6 +1587,7 @@
#include "code\modules\hydroponics\grown\citrus.dm"
#include "code\modules\hydroponics\grown\cocoa_vanilla.dm"
#include "code\modules\hydroponics\grown\corn.dm"
#include "code\modules\hydroponics\grown\cotton.dm"
#include "code\modules\hydroponics\grown\eggplant.dm"
#include "code\modules\hydroponics\grown\flowers.dm"
#include "code\modules\hydroponics\grown\grass_carpet.dm"