From 972532926883413cb377b8f193df080dc7316049 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 7 Jun 2017 03:06:15 -0500 Subject: [PATCH] A large and unasked for repath and improvement of accessories (formerly ties, but actually armbands and medals) --- _maps/RandomZLevels/centcomAway.dmm | 4 +- .../map_files/Deltastation/DeltaStation2.dmm | 12 +- _maps/map_files/MetaStation/MetaStation.dmm | 6 +- _maps/map_files/generic/Centcomm.dmm | 16 +- code/game/gamemodes/objective_items.dm | 2 +- code/game/machinery/vending.dm | 4 +- code/game/objects/effects/spawners/bundle.dm | 4 +- .../objects/items/weapons/storage/boxes.dm | 2 +- .../objects/items/weapons/storage/lockbox.dm | 17 +- .../crates_lockers/closets/job_closets.dm | 12 +- .../crates_lockers/closets/secure/security.dm | 10 +- code/modules/cargo/packs.dm | 2 +- code/modules/clothing/clothing.dm | 65 ++--- .../clothing/neck/{ties.dm => neck.dm} | 15 +- code/modules/clothing/outfits/standard.dm | 2 +- code/modules/clothing/under/accessories.dm | 256 ++++++++++++++++++ code/modules/clothing/under/ties.dm | 60 ++-- code/modules/crafting/recipes.dm | 2 +- code/modules/jobs/job_types/civilian.dm | 2 +- code/modules/jobs/job_types/security.dm | 14 +- .../mob/living/carbon/human/examine.dm | 12 +- .../modules/spells/spell_types/devil_boons.dm | 2 +- icons/mob/accessories.dmi | Bin 0 -> 7735 bytes icons/mob/ties.dmi | Bin 10864 -> 0 bytes icons/obj/clothing/accessories.dmi | Bin 0 -> 6954 bytes icons/obj/clothing/neck.dmi | Bin 2698 -> 2555 bytes icons/obj/clothing/ties.dmi | Bin 12457 -> 0 bytes tgstation.dme.rej | 10 + 28 files changed, 395 insertions(+), 136 deletions(-) rename code/modules/clothing/neck/{ties.dm => neck.dm} (92%) create mode 100644 code/modules/clothing/under/accessories.dm create mode 100644 icons/mob/accessories.dmi delete mode 100644 icons/mob/ties.dmi create mode 100644 icons/obj/clothing/accessories.dmi delete mode 100644 icons/obj/clothing/ties.dmi create mode 100644 tgstation.dme.rej diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm index 8fab986fdb..97b8381ff2 100644 --- a/_maps/RandomZLevels/centcomAway.dmm +++ b/_maps/RandomZLevels/centcomAway.dmm @@ -3502,7 +3502,7 @@ /area/awaymission/centcomAway/general) "kN" = ( /obj/structure/table/wood, -/obj/item/clothing/tie/medal, +/obj/item/clothing/accessory/medal, /turf/open/floor/carpet, /area/awaymission/centcomAway/general) "kO" = ( @@ -3516,7 +3516,7 @@ /area/awaymission/centcomAway/general) "kQ" = ( /obj/structure/table/wood, -/obj/item/clothing/tie/medal/gold, +/obj/item/clothing/accessory/medal/gold, /turf/open/floor/carpet, /area/awaymission/centcomAway/general) "kR" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 62311b4885..4b5ab0529d 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -30611,11 +30611,11 @@ "blx" = ( /obj/structure/table/reinforced, /obj/item/weapon/clipboard, -/obj/item/clothing/tie/armband/deputy, -/obj/item/clothing/tie/armband/deputy, -/obj/item/clothing/tie/armband/deputy, -/obj/item/clothing/tie/armband/deputy, -/obj/item/clothing/tie/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/armband/deputy, /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly, /turf/open/floor/plasteel/red/side{ dir = 8 @@ -103271,7 +103271,7 @@ /obj/item/weapon/wirerod, /obj/item/weapon/wrench, /obj/item/clothing/under/waiter, -/obj/item/clothing/tie/waistcoat, +/obj/item/clothing/accessory/waistcoat, /obj/structure/sign/poster/contraband/random{ pixel_x = -32 }, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 9290c25c95..e59ada0081 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -14011,7 +14011,7 @@ name = "Station Intercom (General)"; pixel_y = 28 }, -/obj/item/clothing/tie/waistcoat, +/obj/item/clothing/accessory/waistcoat, /obj/item/clothing/suit/toggle/lawyer/black, /obj/item/clothing/under/suit_jacket/red, /obj/item/clothing/neck/tie/black, @@ -15128,7 +15128,7 @@ contents = newlist(/obj/item/clothing/suit/armor/vest,/obj/item/weapon/gun/ballistic/automatic/pistol,/obj/item/weapon/suppressor,/obj/item/weapon/melee/classic_baton/telescopic,/obj/item/clothing/mask/balaclava,/obj/item/bodybag,/obj/item/weapon/soap/nanotrasen) }, /obj/item/weapon/storage/backpack/dufflebag{ - contents = newlist(/obj/item/clothing/under/lawyer/blacksuit,/obj/item/clothing/tie/waistcoat,/obj/item/clothing/suit/toggle/lawyer/black,/obj/item/clothing/shoes/laceup,/obj/item/clothing/gloves/color/black,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/fedora); + contents = newlist(/obj/item/clothing/under/lawyer/blacksuit,/obj/item/clothing/accessory/waistcoat,/obj/item/clothing/suit/toggle/lawyer/black,/obj/item/clothing/shoes/laceup,/obj/item/clothing/gloves/color/black,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/fedora); desc = "A large dufflebag for holding extra things. There is a NanoTrasen logo on the back."; icon_state = "duffle-syndieammo"; item_state = "duffle-syndieammo" @@ -57182,7 +57182,7 @@ "ccz" = ( /obj/item/weapon/wrench, /obj/item/clothing/suit/apron, -/obj/item/clothing/tie/armband/hydro, +/obj/item/clothing/accessory/armband/hydro, /obj/structure/table/glass, /obj/effect/turf_decal/stripes/line{ dir = 9 diff --git a/_maps/map_files/generic/Centcomm.dmm b/_maps/map_files/generic/Centcomm.dmm index d7df57e8ee..ac4d218ce2 100644 --- a/_maps/map_files/generic/Centcomm.dmm +++ b/_maps/map_files/generic/Centcomm.dmm @@ -5590,8 +5590,8 @@ /obj/item/clothing/under/skirt/black, /obj/item/clothing/under/shorts/black, /obj/item/clothing/under/pants/track, -/obj/item/clothing/tie/armband/deputy, -/obj/item/clothing/tie/waistcoat, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/waistcoat, /obj/item/clothing/shoes/jackboots, /obj/item/clothing/shoes/laceup, /obj/item/clothing/neck/stripedredscarf, @@ -11175,7 +11175,7 @@ /obj/structure/rack, /obj/item/clothing/head/that, /obj/item/clothing/under/suit_jacket, -/obj/item/clothing/tie/waistcoat, +/obj/item/clothing/accessory/waistcoat, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) "BI" = ( @@ -11379,7 +11379,7 @@ /obj/structure/sign/goldenplaque{ pixel_y = 32 }, -/obj/item/clothing/tie/lawyers_badge{ +/obj/item/clothing/accessory/lawyers_badge{ desc = "A badge of upmost glory."; name = "thunderdome badge" }, @@ -11400,7 +11400,7 @@ /obj/structure/sign/goldenplaque{ pixel_y = 32 }, -/obj/item/clothing/tie/medal/silver{ +/obj/item/clothing/accessory/medal/silver{ pixel_y = 5 }, /turf/open/floor/plasteel/grimy, @@ -11605,11 +11605,11 @@ name = "Thunderdome Plaque"; pixel_y = -32 }, -/obj/item/clothing/tie/medal/gold{ +/obj/item/clothing/accessory/medal/gold{ pixel_x = 3; pixel_y = 5 }, -/obj/item/clothing/tie/medal/gold, +/obj/item/clothing/accessory/medal/gold, /turf/open/floor/plasteel/grimy, /area/tdome/tdomeobserve) "CF" = ( @@ -11625,7 +11625,7 @@ name = "Thunderdome Plaque"; pixel_y = -32 }, -/obj/item/clothing/tie/medal{ +/obj/item/clothing/accessory/medal{ pixel_y = 5 }, /turf/open/floor/plasteel/grimy, diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm index 5dfb0b5515..29b75d75d1 100644 --- a/code/game/gamemodes/objective_items.dm +++ b/code/game/gamemodes/objective_items.dm @@ -43,7 +43,7 @@ /datum/objective_item/steal/capmedal name = "the medal of captaincy" - targetitem = /obj/item/clothing/tie/medal/gold/captain + targetitem = /obj/item/clothing/accessory/medal/gold/captain difficulty = 5 excludefromjob = list("Captain") diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 6c86899cf0..ba1717485e 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -995,7 +995,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C /obj/item/clothing/head/helmet/gladiator = 1,/obj/item/clothing/under/gimmick/rank/captain/suit = 1,/obj/item/clothing/head/flatcap = 1, /obj/item/clothing/suit/toggle/labcoat/mad = 1,/obj/item/clothing/shoes/jackboots = 1, /obj/item/clothing/under/schoolgirl = 1,/obj/item/clothing/under/schoolgirl/red = 1,/obj/item/clothing/under/schoolgirl/green = 1,/obj/item/clothing/under/schoolgirl/orange = 1,/obj/item/clothing/head/kitty = 1,/obj/item/clothing/under/skirt/black = 1,/obj/item/clothing/head/beret = 1, - /obj/item/clothing/tie/waistcoat = 1,/obj/item/clothing/under/suit_jacket = 1,/obj/item/clothing/head/that =1,/obj/item/clothing/under/kilt = 1,/obj/item/clothing/head/beret = 1,/obj/item/clothing/tie/waistcoat = 1, + /obj/item/clothing/accessory/waistcoat = 1,/obj/item/clothing/under/suit_jacket = 1,/obj/item/clothing/head/that =1,/obj/item/clothing/under/kilt = 1,/obj/item/clothing/head/beret = 1,/obj/item/clothing/accessory/waistcoat = 1, /obj/item/clothing/glasses/monocle =1,/obj/item/clothing/head/bowler = 1,/obj/item/weapon/cane = 1,/obj/item/clothing/under/sl_suit = 1, /obj/item/clothing/mask/fakemoustache = 1,/obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1,/obj/item/clothing/head/plaguedoctorhat = 1,/obj/item/clothing/mask/gas/plaguedoctor = 1, /obj/item/clothing/suit/toggle/owlwings = 1, /obj/item/clothing/under/owl = 1,/obj/item/clothing/mask/gas/owl_mask = 1, @@ -1136,7 +1136,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C /obj/item/clothing/neck/scarf/purple=1,/obj/item/clothing/neck/scarf/yellow=1,/obj/item/clothing/neck/scarf/orange=1, /obj/item/clothing/neck/scarf/cyan=1,/obj/item/clothing/neck/scarf=1,/obj/item/clothing/neck/scarf/black=1, /obj/item/clothing/neck/scarf/zebra=1,/obj/item/clothing/neck/scarf/christmas=1,/obj/item/clothing/neck/stripedredscarf=1, - /obj/item/clothing/neck/stripedbluescarf=1,/obj/item/clothing/neck/stripedgreenscarf=1,/obj/item/clothing/tie/waistcoat=1, + /obj/item/clothing/neck/stripedbluescarf=1,/obj/item/clothing/neck/stripedgreenscarf=1,/obj/item/clothing/accessory/waistcoat=1, /obj/item/clothing/under/skirt/black=1,/obj/item/clothing/under/skirt/blue=1,/obj/item/clothing/under/skirt/red=1,/obj/item/clothing/under/skirt/purple=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/under/plaid_skirt=1,/obj/item/clothing/under/plaid_skirt/blue=1,/obj/item/clothing/under/plaid_skirt/purple=1,/obj/item/clothing/under/plaid_skirt/green=1, diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm index c272c383e9..c316b7e209 100644 --- a/code/game/objects/effects/spawners/bundle.dm +++ b/code/game/objects/effects/spawners/bundle.dm @@ -60,7 +60,7 @@ /obj/effect/spawner/bundle/costume/butler name = "butler costume spawner" items = list( - /obj/item/clothing/tie/waistcoat, + /obj/item/clothing/accessory/waistcoat, /obj/item/clothing/under/suit_jacket, /obj/item/clothing/head/that) @@ -73,7 +73,7 @@ /obj/effect/spawner/bundle/costume/prig name = "prig costume spawner" items = list( - /obj/item/clothing/tie/waistcoat, + /obj/item/clothing/accessory/waistcoat, /obj/item/clothing/glasses/monocle, /obj/effect/spawner/lootdrop/minor/bowler_or_that, /obj/item/clothing/shoes/sneakers/black, diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 646768cea8..f35cff56a9 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -568,7 +568,7 @@ /obj/item/weapon/storage/box/deputy/PopulateContents() for(var/i in 1 to 7) - new /obj/item/clothing/tie/armband/deputy(src) + new /obj/item/clothing/accessory/armband/deputy(src) /obj/item/weapon/storage/box/metalfoam name = "box of metal foam grenades" diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 2a026a8f9e..8902a1f4f6 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -100,17 +100,20 @@ w_class = WEIGHT_CLASS_NORMAL max_w_class = WEIGHT_CLASS_SMALL storage_slots = 10 + max_combined_w_class = 20 req_access = list(GLOB.access_captain) icon_locked = "medalbox+l" icon_closed = "medalbox" icon_broken = "medalbox+b" + can_hold = list(/obj/item/clothing/accessory/medal) /obj/item/weapon/storage/lockbox/medal/PopulateContents() - new /obj/item/clothing/tie/medal/silver/valor(src) - new /obj/item/clothing/tie/medal/bronze_heart(src) + new /obj/item/clothing/accessory/medal/silver/valor(src) + new /obj/item/clothing/accessory/medal/bronze_heart(src) for(var/i in 1 to 3) - new /obj/item/clothing/tie/medal/conduct(src) - new /obj/item/clothing/tie/medal/gold/captain(src) - new /obj/item/clothing/tie/medal/silver/security(src) - new /obj/item/clothing/tie/medal/nobel_science(src) - new /obj/item/clothing/tie/medal/gold/heroism(src) + new /obj/item/clothing/accessory/medal/conduct(src) + new /obj/item/clothing/accessory/medal/gold/captain(src) + new /obj/item/clothing/accessory/medal/silver/security(src) + new /obj/item/clothing/accessory/medal/plasma(src) + new /obj/item/clothing/accessory/medal/plasma/nobel_science(src) + new /obj/item/clothing/accessory/medal/gold/heroism(src) diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index de8d807f93..ca304dc62f 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -15,8 +15,8 @@ new /obj/item/clothing/under/sl_suit(src) new /obj/item/clothing/under/rank/bartender(src) new /obj/item/clothing/under/rank/bartender(src) - new /obj/item/clothing/tie/waistcoat(src) - new /obj/item/clothing/tie/waistcoat(src) + new /obj/item/clothing/accessory/waistcoat(src) + new /obj/item/clothing/accessory/waistcoat(src) new /obj/item/clothing/head/soft/black(src) new /obj/item/clothing/head/soft/black(src) new /obj/item/clothing/shoes/sneakers/black(src) @@ -39,8 +39,8 @@ new /obj/item/clothing/under/waiter(src) new /obj/item/device/radio/headset/headset_srv(src) new /obj/item/device/radio/headset/headset_srv(src) - new /obj/item/clothing/tie/waistcoat(src) - new /obj/item/clothing/tie/waistcoat(src) + new /obj/item/clothing/accessory/waistcoat(src) + new /obj/item/clothing/accessory/waistcoat(src) for(var/i in 1 to 3) new /obj/item/clothing/suit/apron/chef(src) new /obj/item/clothing/head/soft/mime(src) @@ -95,8 +95,8 @@ new /obj/item/clothing/suit/toggle/lawyer/black(src) new /obj/item/clothing/shoes/laceup(src) new /obj/item/clothing/shoes/laceup(src) - new /obj/item/clothing/tie/lawyers_badge(src) - new /obj/item/clothing/tie/lawyers_badge(src) + new /obj/item/clothing/accessory/lawyers_badge(src) + new /obj/item/clothing/accessory/lawyers_badge(src) /obj/structure/closet/wardrobe/chaplain_black name = "chapel wardrobe" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 9d24b44f33..d49241ff80 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -132,28 +132,28 @@ /obj/structure/closet/secure_closet/security/cargo/PopulateContents() ..() - new /obj/item/clothing/tie/armband/cargo(src) + new /obj/item/clothing/accessory/armband/cargo(src) new /obj/item/device/encryptionkey/headset_cargo(src) /obj/structure/closet/secure_closet/security/engine /obj/structure/closet/secure_closet/security/engine/PopulateContents() ..() - new /obj/item/clothing/tie/armband/engine(src) + new /obj/item/clothing/accessory/armband/engine(src) new /obj/item/device/encryptionkey/headset_eng(src) /obj/structure/closet/secure_closet/security/science /obj/structure/closet/secure_closet/security/science/PopulateContents() ..() - new /obj/item/clothing/tie/armband/science(src) + new /obj/item/clothing/accessory/armband/science(src) new /obj/item/device/encryptionkey/headset_sci(src) /obj/structure/closet/secure_closet/security/med /obj/structure/closet/secure_closet/security/med/PopulateContents() ..() - new /obj/item/clothing/tie/armband/medblue(src) + new /obj/item/clothing/accessory/armband/medblue(src) new /obj/item/device/encryptionkey/headset_med(src) /obj/structure/closet/secure_closet/detective @@ -171,7 +171,7 @@ new /obj/item/clothing/head/det_hat(src) new /obj/item/clothing/gloves/color/black(src) new /obj/item/clothing/under/rank/det/grey(src) - new /obj/item/clothing/tie/waistcoat(src) + new /obj/item/clothing/accessory/waistcoat(src) new /obj/item/clothing/suit/det_suit/grey(src) new /obj/item/clothing/head/fedora(src) new /obj/item/clothing/shoes/laceup(src) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 421b8a057e..efda086af5 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1630,7 +1630,7 @@ /obj/item/clothing/suit/toggle/lawyer/purple, /obj/item/clothing/under/lawyer/blacksuit, /obj/item/clothing/suit/toggle/lawyer/black, - /obj/item/clothing/tie/waistcoat, + /obj/item/clothing/accessory/waistcoat, /obj/item/clothing/neck/tie/blue, /obj/item/clothing/neck/tie/red, /obj/item/clothing/neck/tie/black, diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 8a943b4c26..fcbaace6fb 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -529,7 +529,7 @@ BLIND // can't see anything var/can_adjust = 1 var/adjusted = NORMAL_STYLE var/alt_covers_chest = 0 // for adjusted/rolled-down jumpsuits, 0 = exposes chest and arms, 1 = exposes arms only - var/obj/item/clothing/tie/hastie = null + var/obj/item/clothing/accessory/attached_accessory var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to. /obj/item/clothing/under/worn_overlays(isinhands = FALSE) @@ -541,14 +541,14 @@ BLIND // can't see anything . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform") if(blood_DNA) . += mutable_appearance('icons/effects/blood.dmi', "uniformblood") - if(hastie) - var/tie_color = hastie.item_color - if(!tie_color) - tie_color = hastie.icon_state - var/mutable_appearance/tie = mutable_appearance('icons/mob/ties.dmi', "[tie_color]") - tie.alpha = hastie.alpha - tie.color = hastie.color - . += tie + if(attached_accessory) + var/accessory_color = attached_accessory.item_color + if(!accessory_color) + accessory_color = attached_accessory.icon_state + var/mutable_appearance/accessory = mutable_appearance('icons/mob/accessories.dmi', "[accessory_color]") + accessory.alpha = attached_accessory.alpha + accessory.color = attached_accessory.color + . += accessory /obj/item/clothing/under/attackby(obj/item/W, mob/user, params) if((has_sensor == BROKEN_SENSORS) && istype(W, /obj/item/stack/cable_coil)) @@ -587,29 +587,30 @@ BLIND // can't see anything adjusted = DIGITIGRADE_STYLE H.update_inv_w_uniform() - if(hastie && slot != slot_hands) - hastie.on_uniform_equip(src, user) + if(attached_accessory && slot != slot_hands) + attached_accessory.on_uniform_equip(src, user) /obj/item/clothing/under/dropped(mob/user) - if(hastie) - hastie.on_uniform_dropped(src, user) + if(attached_accessory) + attached_accessory.on_uniform_dropped(src, user) ..() /obj/item/clothing/under/attackby(obj/item/I, mob/user, params) - if(!attachTie(I, user)) + if(!attach_accessory(I, user)) ..() -/obj/item/clothing/under/proc/attachTie(obj/item/I, mob/user, notifyAttach = 1) - if(istype(I, /obj/item/clothing/tie)) - var/obj/item/clothing/tie/T = I - if(hastie) +/obj/item/clothing/under/proc/attach_accessory(obj/item/I, mob/user, notifyAttach = 1) + . = FALSE + if(istype(I, /obj/item/clothing/accessory)) + var/obj/item/clothing/accessory/A = I + if(attached_accessory) if(user) to_chat(user, "[src] already has an accessory.") - return 0 + return else if(user && !user.drop_item()) return - if(!T.attach(src, user)) + if(!A.attach(src, user)) return if(user && notifyAttach) @@ -619,21 +620,21 @@ BLIND // can't see anything var/mob/living/carbon/human/H = loc H.update_inv_w_uniform() - return 1 + return TRUE -/obj/item/clothing/under/proc/removetie(mob/user) +/obj/item/clothing/under/proc/remove_accessory(mob/user) if(!isliving(user)) return if(!can_use(user)) return - if(hastie) - var/obj/item/clothing/tie/T = hastie - hastie.detach(src, user) - if(user.put_in_hands(T)) - to_chat(user, "You detach [T] from [src].") + if(attached_accessory) + var/obj/item/clothing/accessory/A = attached_accessory + attached_accessory.detach(src, user) + if(user.put_in_hands(A)) + to_chat(user, "You detach [A] from [src].") else - to_chat(user, "You detach [T] from [src] and it falls on the floor.") + to_chat(user, "You detach [A] from [src] and it falls on the floor.") if(ishuman(loc)) var/mob/living/carbon/human/H = loc @@ -659,8 +660,8 @@ BLIND // can't see anything to_chat(user, "Its vital tracker appears to be enabled.") if(SENSOR_COORDS) to_chat(user, "Its vital tracker and tracking beacon appear to be enabled.") - if(hastie) - to_chat(user, "\A [hastie] is attached to it.") + if(attached_accessory) + to_chat(user, "\A [attached_accessory] is attached to it.") /proc/generate_female_clothing(index,t_color,icon,type) var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color) @@ -721,8 +722,8 @@ BLIND // can't see anything to_chat(user, "You can't do that right now!") return else - if(hastie) - removetie(user) + if(attached_accessory) + remove_accessory(user) else rolldown() diff --git a/code/modules/clothing/neck/ties.dm b/code/modules/clothing/neck/neck.dm similarity index 92% rename from code/modules/clothing/neck/ties.dm rename to code/modules/clothing/neck/neck.dm index 59dc504098..de4858e23e 100644 --- a/code/modules/clothing/neck/ties.dm +++ b/code/modules/clothing/neck/neck.dm @@ -160,17 +160,6 @@ /obj/item/clothing/neck/necklace/dope name = "gold necklace" desc = "Damn, it feels good to be a gangster." - icon = 'icons/obj/clothing/ties.dmi' + icon = 'icons/obj/clothing/neck.dmi' icon_state = "bling" - item_color = "bling" - -//////////////// -//OONGA BOONGA// -//////////////// - -/obj/item/clothing/neck/talisman - name = "bone talisman" - desc = "A hunter's talisman, some say the old gods smile on those who wear it." - icon_state = "talisman" - item_color = "talisman" - armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 20, bio = 20, rad = 5, fire = 0, acid = 25) \ No newline at end of file + item_color = "bling" \ No newline at end of file diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 6344ef22d7..ff60b5366e 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -154,7 +154,7 @@ /datum/outfit/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) var/obj/item/clothing/under/U = H.w_uniform - U.attachTie(new /obj/item/clothing/tie/waistcoat(H)) + U.attach_accessory(new /obj/item/clothing/accessory/waistcoat(H)) if(visualsOnly) return diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm new file mode 100644 index 0000000000..3653d7a395 --- /dev/null +++ b/code/modules/clothing/under/accessories.dm @@ -0,0 +1,256 @@ +/obj/item/clothing/accessory //Ties moved to neck slot items, but as there are still things like medals and armbands, this accessory system is being kept as-is + name = "Accessory" + desc = "Something has gone wrong!" + icon = 'icons/obj/clothing/accessories.dmi' + icon_state = "plasma" + item_state = "" //no inhands + item_color = "plasma" //On accessories, this controls the worn sprite. That's a bit weird. + slot_flags = 0 + w_class = WEIGHT_CLASS_SMALL + var/minimize_when_attached = TRUE // TRUE if shown as a small icon in corner, FALSE if overlayed + +/obj/item/clothing/accessory/proc/attach(obj/item/clothing/under/U, user) + if(pockets) // Attach storage to jumpsuit + if(U.pockets) // storage items conflict + return FALSE + + pockets.loc = U + U.pockets = pockets + + U.attached_accessory = src + loc = U + layer = FLOAT_LAYER + plane = FLOAT_PLANE + if(minimize_when_attached) + transform *= 0.5 //halve the size so it doesn't overpower the under + pixel_x += 8 + pixel_y -= 8 + U.add_overlay(src) + + for(var/armor_type in armor) + U.armor[armor_type] += armor[armor_type] + + if(isliving(user)) + on_uniform_equip(U, user) + + return TRUE + + +/obj/item/clothing/accessory/proc/detach(obj/item/clothing/under/U, user) + if(pockets && pockets == U.pockets) + pockets.loc = src + U.pockets = null + + for(var/armor_type in armor) + U.armor[armor_type] -= armor[armor_type] + + if(isliving(user)) + on_uniform_dropped(U, user) + + if(minimize_when_attached) + transform *= 2 + pixel_x -= 8 + pixel_y += 8 + layer = initial(layer) + plane = initial(plane) + U.cut_overlays() + U.attached_accessory = null + +/obj/item/clothing/accessory/proc/on_uniform_equip(obj/item/clothing/under/U, user) + return + +/obj/item/clothing/accessory/proc/on_uniform_dropped(obj/item/clothing/under/U, user) + return + +/obj/item/clothing/accessory/examine(mob/user) + ..() + to_chat(user, "\The [src] can be attached to a uniform. Alt-click to remove it once attached.") + +/obj/item/clothing/accessory/waistcoat + name = "waistcoat" + desc = "For some classy, murderous fun." + icon_state = "waistcoat" + item_state = "waistcoat" + item_color = "waistcoat" + minimize_when_attached = FALSE + +////////// +//Medals// +////////// + +/obj/item/clothing/accessory/medal + name = "bronze medal" + desc = "A bronze medal." + icon_state = "bronze" + item_color = "bronze" + materials = list(MAT_METAL=1000) + resistance_flags = FIRE_PROOF + +//Pinning medals on people +/obj/item/clothing/accessory/medal/attack(mob/living/carbon/human/M, mob/living/user) + if(ishuman(M) && (user.a_intent == INTENT_HELP)) + + if(M.wear_suit) + if((M.wear_suit.flags_inv & HIDEJUMPSUIT)) //Check if the jumpsuit is covered + to_chat(user, "Medals can only be pinned on jumpsuits.") + return + + if(M.w_uniform) + var/obj/item/clothing/under/U = M.w_uniform + var/delay = 20 + if(user == M) + delay = 0 + else + user.visible_message("[user] is trying to pin [src] on [M]'s chest.", \ + "You try to pin [src] on [M]'s chest.") + if(do_after(user, delay, target = M)) + if(U.attach_accessory(src, user, 0)) //Attach it, do not notify the user of the attachment + if(user == M) + to_chat(user, "You attach [src] to [U].") + else + user.visible_message("[user] pins \the [src] on [M]'s chest.", \ + "You pin \the [src] on [M]'s chest.") + + else to_chat(user, "Medals can only be pinned on jumpsuits!") + else ..() + +/obj/item/clothing/accessory/medal/conduct + name = "distinguished conduct medal" + desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is the most basic award given by Nanotrasen. It is often awarded by a captain to a member of his crew." + +/obj/item/clothing/accessory/medal/bronze_heart + name = "bronze heart medal" + desc = "A bronze heart-shaped medal awarded for sacrifice. It is often awarded posthumously or for severe injury in the line of duty." + icon_state = "bronze_heart" + +/obj/item/clothing/accessory/medal/silver + name = "silver medal" + desc = "A silver medal." + icon_state = "silver" + item_color = "silver" + materials = list(MAT_SILVER=1000) + +/obj/item/clothing/accessory/medal/silver/valor + name = "medal of valor" + desc = "A silver medal awarded for acts of exceptional valor." + +/obj/item/clothing/accessory/medal/silver/security + name = "robust security award" + desc = "An award for distinguished combat and sacrifice in defence of Nanotrasen's commercial interests. Often awarded to security staff." + +/obj/item/clothing/accessory/medal/gold + name = "gold medal" + desc = "A prestigious golden medal." + icon_state = "gold" + item_color = "gold" + materials = list(MAT_GOLD=1000) + +/obj/item/clothing/accessory/medal/gold/captain + name = "medal of captaincy" + desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain to Nanotrasen, and their undisputable authority over their crew." + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF + +/obj/item/clothing/accessory/medal/gold/heroism + name = "medal of exceptional heroism" + desc = "An extremely rare golden medal awarded only by Centcom. To receive such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders." + +/obj/item/clothing/accessory/medal/plasma + name = "plasma medal" + desc = "An eccentric medal made of plasma." + icon_state = "plasma" + item_color = "plasma" + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = -10, acid = 0) //It's made of plasma. Of course it's flammable. + materials = list(MAT_PLASMA=1000) + +/obj/item/clothing/accessory/medal/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > 300) + atmos_spawn_air("plasma=20;TEMP=[exposed_temperature]") + visible_message(" \The [src] bursts into flame!","Your [src] bursts into flame!") + qdel(src) + +/obj/item/clothing/accessory/medal/plasma/nobel_science + name = "nobel sciences award" + desc = "A plasma medal which represents significant contributions to the field of science or engineering." + + + +//////////// +//Armbands// +//////////// + +/obj/item/clothing/accessory/armband + name = "red armband" + desc = "An fancy red armband!" + icon_state = "redband" + item_color = "redband" + +/obj/item/clothing/accessory/armband/deputy + name = "security deputy armband" + desc = "An armband, worn by personnel authorized to act as a deputy of station security." + +/obj/item/clothing/accessory/armband/cargo + name = "cargo bay guard armband" + desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is brown." + icon_state = "cargoband" + item_color = "cargoband" + +/obj/item/clothing/accessory/armband/engine + name = "engineering guard armband" + desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is orange with a reflective strip!" + icon_state = "engieband" + item_color = "engieband" + +/obj/item/clothing/accessory/armband/science + name = "science guard armband" + desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is purple." + icon_state = "rndband" + item_color = "rndband" + +/obj/item/clothing/accessory/armband/hydro + name = "hydroponics guard armband" + desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is green and blue." + icon_state = "hydroband" + item_color = "hydroband" + +/obj/item/clothing/accessory/armband/med + name = "medical guard armband" + desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white." + icon_state = "medband" + item_color = "medband" + +/obj/item/clothing/accessory/armband/medblue + name = "medical guard armband" + desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white and blue." + icon_state = "medblueband" + item_color = "medblueband" + +////////////// +//OBJECTION!// +////////////// + +/obj/item/clothing/accessory/lawyers_badge + name = "attorney's badge" + desc = "Fills you with the conviction of JUSTICE. Lawyers tend to want to show it to everyone they meet." + icon_state = "lawyerbadge" + item_color = "lawyerbadge" + +/obj/item/clothing/accessory/lawyers_badge/on_uniform_equip(obj/item/clothing/under/U, user) + var/mob/living/L = user + if(L) + L.bubble_icon = "lawyer" + +/obj/item/clothing/accessory/lawyers_badge/on_uniform_dropped(obj/item/clothing/under/U, user) + var/mob/living/L = user + if(L) + L.bubble_icon = initial(L.bubble_icon) + +//////////////// +//OONGA BOONGA// +//////////////// + +/obj/item/clothing/accessory/talisman + name = "bone talisman" + desc = "A hunter's talisman, some say the old gods smile on those who wear it." + icon_state = "talisman" + item_color = "talisman" + armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 20, bio = 20, rad = 5, fire = 0, acid = 25) diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 9db9941f8c..fcc8472834 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -1,4 +1,4 @@ -/obj/item/clothing/tie //Ties moved to neck slot items, but as there are still things like medals and armbands, this accessory system is being kept as-is +/obj/item/clothing/accessory //Ties moved to neck slot items, but as there are still things like medals and armbands, this accessory system is being kept as-is name = "tie" desc = "A neosilk clip-on tie." icon = 'icons/obj/clothing/ties.dmi' @@ -9,7 +9,7 @@ w_class = WEIGHT_CLASS_SMALL var/minimize_when_attached = TRUE // TRUE if shown as a small icon in corner, FALSE if overlayed -/obj/item/clothing/tie/proc/attach(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/proc/attach(obj/item/clothing/under/U, user) if(pockets) // Attach storage to jumpsuit if(U.pockets) // storage items conflict return 0 @@ -33,7 +33,7 @@ return 1 -/obj/item/clothing/tie/proc/detach(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/proc/detach(obj/item/clothing/under/U, user) if(pockets && pockets == U.pockets) pockets.loc = src U.pockets = null @@ -50,13 +50,13 @@ U.cut_overlays() U.hastie = null -/obj/item/clothing/tie/proc/on_uniform_equip(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/proc/on_uniform_equip(obj/item/clothing/under/U, user) return -/obj/item/clothing/tie/proc/on_uniform_dropped(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/proc/on_uniform_dropped(obj/item/clothing/under/U, user) return -/obj/item/clothing/tie/waistcoat +/obj/item/clothing/accessory/waistcoat name = "waistcoat" desc = "For some classy, murderous fun." icon_state = "waistcoat" @@ -68,7 +68,7 @@ //Medals// ////////// -/obj/item/clothing/tie/medal +/obj/item/clothing/accessory/medal name = "bronze medal" desc = "A bronze medal." icon_state = "bronze" @@ -77,7 +77,7 @@ resistance_flags = FIRE_PROOF //Pinning medals on people -/obj/item/clothing/tie/medal/attack(mob/living/carbon/human/M, mob/living/user) +/obj/item/clothing/accessory/medal/attack(mob/living/carbon/human/M, mob/living/user) if(ishuman(M) && (user.a_intent == INTENT_HELP)) if(M.wear_suit) @@ -104,47 +104,47 @@ else to_chat(user, "Medals can only be pinned on jumpsuits!") else ..() -/obj/item/clothing/tie/medal/conduct +/obj/item/clothing/accessory/medal/conduct name = "distinguished conduct medal" desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is the most basic award given by Nanotrasen. It is often awarded by a captain to a member of his crew." -/obj/item/clothing/tie/medal/bronze_heart +/obj/item/clothing/accessory/medal/bronze_heart name = "bronze heart medal" desc = "A bronze heart-shaped medal awarded for sacrifice. It is often awarded posthumously or for severe injury in the line of duty." icon_state = "bronze_heart" -/obj/item/clothing/tie/medal/nobel_science +/obj/item/clothing/accessory/medal/nobel_science name = "nobel sciences award" desc = "A bronze medal which represents significant contributions to the field of science or engineering." -/obj/item/clothing/tie/medal/silver +/obj/item/clothing/accessory/medal/silver name = "silver medal" desc = "A silver medal." icon_state = "silver" item_color = "silver" materials = list(MAT_SILVER=1000) -/obj/item/clothing/tie/medal/silver/valor +/obj/item/clothing/accessory/medal/silver/valor name = "medal of valor" desc = "A silver medal awarded for acts of exceptional valor." -/obj/item/clothing/tie/medal/silver/security +/obj/item/clothing/accessory/medal/silver/security name = "robust security award" desc = "An award for distinguished combat and sacrifice in defence of Nanotrasen's commercial interests. Often awarded to security staff." -/obj/item/clothing/tie/medal/gold +/obj/item/clothing/accessory/medal/gold name = "gold medal" desc = "A prestigious golden medal." icon_state = "gold" item_color = "gold" materials = list(MAT_GOLD=1000) -/obj/item/clothing/tie/medal/gold/captain +/obj/item/clothing/accessory/medal/gold/captain name = "medal of captaincy" desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain to Nanotrasen, and their undisputable authority over their crew." resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF -/obj/item/clothing/tie/medal/gold/heroism +/obj/item/clothing/accessory/medal/gold/heroism name = "medal of exceptional heroism" desc = "An extremely rare golden medal awarded only by Centcom. To receive such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders." @@ -152,47 +152,47 @@ //Armbands// //////////// -/obj/item/clothing/tie/armband +/obj/item/clothing/accessory/armband name = "red armband" desc = "An fancy red armband!" icon_state = "redband" item_color = "redband" -/obj/item/clothing/tie/armband/deputy +/obj/item/clothing/accessory/armband/deputy name = "security deputy armband" desc = "An armband, worn by personnel authorized to act as a deputy of station security." -/obj/item/clothing/tie/armband/cargo +/obj/item/clothing/accessory/armband/cargo name = "cargo bay guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is brown." icon_state = "cargoband" item_color = "cargoband" -/obj/item/clothing/tie/armband/engine +/obj/item/clothing/accessory/armband/engine name = "engineering guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is orange with a reflective strip!" icon_state = "engieband" item_color = "engieband" -/obj/item/clothing/tie/armband/science +/obj/item/clothing/accessory/armband/science name = "science guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is purple." icon_state = "rndband" item_color = "rndband" -/obj/item/clothing/tie/armband/hydro +/obj/item/clothing/accessory/armband/hydro name = "hydroponics guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is green and blue." icon_state = "hydroband" item_color = "hydroband" -/obj/item/clothing/tie/armband/med +/obj/item/clothing/accessory/armband/med name = "medical guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white." icon_state = "medband" item_color = "medband" -/obj/item/clothing/tie/armband/medblue +/obj/item/clothing/accessory/armband/medblue name = "medical guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white and blue." icon_state = "medblueband" @@ -202,29 +202,29 @@ //OBJECTION!// ////////////// -/obj/item/clothing/tie/lawyers_badge +/obj/item/clothing/accessory/lawyers_badge name = "attorney's badge" desc = "Fills you with the conviction of JUSTICE. Lawyers tend to want to show it to everyone they meet." icon_state = "lawyerbadge" item_color = "lawyerbadge" -/obj/item/clothing/tie/lawyers_badge/attach(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/lawyers_badge/attach(obj/item/clothing/under/U, user) if(!..()) return 0 if(isliving(U.loc)) on_uniform_equip(U, user) -/obj/item/clothing/tie/lawyers_badge/detach(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/lawyers_badge/detach(obj/item/clothing/under/U, user) ..() if(isliving(U.loc)) on_uniform_dropped(U, user) -/obj/item/clothing/tie/lawyers_badge/on_uniform_equip(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/lawyers_badge/on_uniform_equip(obj/item/clothing/under/U, user) var/mob/living/L = user if(L) L.bubble_icon = "lawyer" -/obj/item/clothing/tie/lawyers_badge/on_uniform_dropped(obj/item/clothing/under/U, user) +/obj/item/clothing/accessory/lawyers_badge/on_uniform_dropped(obj/item/clothing/under/U, user) var/mob/living/L = user if(L) L.bubble_icon = initial(L.bubble_icon) diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index b5fe59f019..d16a988c9d 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -414,7 +414,7 @@ /datum/crafting_recipe/bonetalisman name = "Bone Talisman" - result = /obj/item/clothing/neck/talisman + result = /obj/item/clothing/accessory/talisman time = 20 reqs = list(/obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 1) diff --git a/code/modules/jobs/job_types/civilian.dm b/code/modules/jobs/job_types/civilian.dm index fd01846467..704496ad67 100644 --- a/code/modules/jobs/job_types/civilian.dm +++ b/code/modules/jobs/job_types/civilian.dm @@ -186,7 +186,7 @@ Lawyer shoes = /obj/item/clothing/shoes/laceup l_hand = /obj/item/weapon/storage/briefcase/lawyer l_pocket = /obj/item/device/laser_pointer - r_pocket = /obj/item/clothing/tie/lawyers_badge + r_pocket = /obj/item/clothing/accessory/lawyers_badge /datum/outfit/job/lawyer/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm index d3ae011f60..3756d1e3e7 100644 --- a/code/modules/jobs/job_types/security.dm +++ b/code/modules/jobs/job_types/security.dm @@ -195,7 +195,7 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S else department = pick_n_take(GLOB.available_depts) var/ears = null - var/tie = null + var/accessory = null var/list/dep_access = null var/destination = null var/spawn_point = null @@ -205,29 +205,29 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S dep_access = list(GLOB.access_mailsorting, GLOB.access_mining, GLOB.access_mining_station) destination = /area/security/checkpoint/supply spawn_point = locate(/obj/effect/landmark/start/depsec/supply) in GLOB.department_security_spawns - tie = /obj/item/clothing/tie/armband/cargo + accessory = /obj/item/clothing/accessory/armband/cargo if(SEC_DEPT_ENGINEERING) ears = /obj/item/device/radio/headset/headset_sec/alt/department/engi dep_access = list(GLOB.access_construction, GLOB.access_engine) destination = /area/security/checkpoint/engineering spawn_point = locate(/obj/effect/landmark/start/depsec/engineering) in GLOB.department_security_spawns - tie = /obj/item/clothing/tie/armband/engine + accessory = /obj/item/clothing/accessory/armband/engine if(SEC_DEPT_MEDICAL) ears = /obj/item/device/radio/headset/headset_sec/alt/department/med dep_access = list(GLOB.access_medical) destination = /area/security/checkpoint/medical spawn_point = locate(/obj/effect/landmark/start/depsec/medical) in GLOB.department_security_spawns - tie = /obj/item/clothing/tie/armband/medblue + accessory = /obj/item/clothing/accessory/armband/medblue if(SEC_DEPT_SCIENCE) ears = /obj/item/device/radio/headset/headset_sec/alt/department/sci dep_access = list(GLOB.access_research) destination = /area/security/checkpoint/science spawn_point = locate(/obj/effect/landmark/start/depsec/science) in GLOB.department_security_spawns - tie = /obj/item/clothing/tie/armband/science + accessory = /obj/item/clothing/accessory/armband/science - if(tie) + if(accessory) var/obj/item/clothing/under/U = H.w_uniform - U.attachTie(new tie) + U.attach_accessory(new accessory) if(ears) if(H.ears) qdel(H.ears) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index a3bb2fefde..42765011d1 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -14,17 +14,17 @@ //uniform if(w_uniform && !(slot_w_uniform in obscured)) - //Ties - var/tie_msg + //accessory + var/accessory_msg if(istype(w_uniform,/obj/item/clothing/under)) var/obj/item/clothing/under/U = w_uniform - if(U.hastie) - tie_msg += " with \icon[U.hastie] \a [U.hastie]" + if(U.attached_accessory) + accessory_msg += " with \icon[U.attached_accessory] \a [U.attached_accessory]" if(w_uniform.blood_DNA) - msg += "[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] blood-stained [w_uniform.name][tie_msg]!\n" + msg += "[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] blood-stained [w_uniform.name][accessory_msg]!\n" else - msg += "[t_He] [t_is] wearing \icon[w_uniform] \a [w_uniform][tie_msg].\n" + msg += "[t_He] [t_is] wearing \icon[w_uniform] \a [w_uniform][accessory_msg].\n" //head if(head) diff --git a/code/modules/spells/spell_types/devil_boons.dm b/code/modules/spells/spell_types/devil_boons.dm index e8fcc73010..75b6597f07 100644 --- a/code/modules/spells/spell_types/devil_boons.dm +++ b/code/modules/spells/spell_types/devil_boons.dm @@ -18,7 +18,7 @@ new /obj/item/weapon/coin/gold(user.loc), new /obj/item/weapon/coin/diamond(user.loc), new /obj/item/weapon/coin/silver(user.loc), - new /obj/item/clothing/tie/medal/gold(user.loc), + new /obj/item/clothing/accessory/medal/gold(user.loc), new /obj/item/stack/sheet/mineral/gold(user.loc), new /obj/item/stack/sheet/mineral/silver(user.loc), new /obj/item/stack/sheet/mineral/diamond(user.loc), diff --git a/icons/mob/accessories.dmi b/icons/mob/accessories.dmi new file mode 100644 index 0000000000000000000000000000000000000000..22c42e1eae77f987d024dba2b18afc5ae20f45cb GIT binary patch literal 7735 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 literal 0 HcmV?d00001 diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi deleted file mode 100644 index 19b36bfc948d2a59a1c497e8ecd5c97430ddc584..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10864 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 IZw&qa8(3_r>;M1& diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi new file mode 100644 index 0000000000000000000000000000000000000000..99c203cc167e183097bf24b4c39f051b86d03d89 GIT binary patch literal 6954 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 ZM0Bv8N>LgyioN^-sDrhYE0kV`{tpIJrVjuB literal 0 HcmV?d00001 diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index 9606e11d63ec616331724dcb524e8324d55e35cc..0f3668ce102b10edb3d8771d178df6bcd28f1bf6 100644 GIT binary patch delta 2259 zcmZ9Odpy(oAICqN&6df=kdTeC(MHHEG_%|)x#d@@$W%fXRAO}5mr{$&$~~5DKOIqW zs6?2g+fL<{ONkwq<#HyMhUPar&iV8A$NTYoKL2_B{Z7+a#Pip|NR_6>Fpg3Ql%3#Z znFHE5Itc&(iwpGK3FwlZ!^>KDID%uSpw zEbQBZLt6`-Yf7W2?IkDG(Km0>P3oY-XFAW=;m*(*?NwVq7ayKMi#43> zgZJsk0_N?WRev3lZ0;w|vD(%3)>vZ!K$UNGcMD<{N%JwBefnP7m!4lqdE4@(v&6$k z4W@ok3+eISu<-DDV2rR!m{KaQ+}yaa?6Gr1?)LWM#V6lpwfMZ8|L8DKuzGNsIx(qJjcr{M29P!UHTi)iC{<8$xApV%l-FI}>`6@q|m|u9&OCCnuQV z<{0W`__JkArwOkhtENWHE0EkX@`EQ%z~;+clJ~!dU858Jgb1We*p$dH{}RBX+Y4Qf zYsuZ7F70!TdDj^xVJR;S%ns*~uTPhP1EUI#gmnAIbW7XfLyN)&!sp8TrK}SQskC&( zi+-k0FKA!~*Up_E-CX2MN&oe=?YFIBARIPUZcBXI=+&$VcKt-Gc z#(w(5;Sp8V#1{E;%r0o4*pslzc-!cfp;Q%bdg=h`D?!U&Zg4b`@u~!icqfon5;%9? zW&60|pt&~|-WpTSgdj0q6Jo~qBG*)H#fUuD*PIwYs0K<%MAi1tY@2p5X%LfFG; z-?ck?GKb_ow8xA!FdB&vY{~_NCI`KG9)S>t^@(#aX3NZ&-3|+jX`78B6-28Nv(TT%eS%j*y|7u6l_m{y{)>V6m%>Yl|}um zdVb6@0&`#~+$6wT+bngkOdx3YEnOhXo{w}dE}|Au;StcPf@AszSk}hH-s{%qFm5w& zju}7xQ}(&J`R?59V;5>Bm0?j_;SX;KG~Z1%%Hx@1-lI_Dk(sfk(hJCZVfC;Q zbtH$e(wd`%NbX=Orhc1rBNS1+zqg)QRAM{T%)ll-W>^R{TA{L$WEK!5e@TgR%FD6? zzE&^_v?&|zm~jF2S>E4Y_@Es|!v4xrqhGFH=jxgeOw|nyBlxQp<%&kSdr;Ld#{MJF z{an9WE>B+ahGg~Q2KfyKmRi}p>RNA~3HNduAcEhy^N*NclE*qW#|F}RE{}E0`bF5Z zF4Z74flg#IyuNKyMmKhz$K#D=;6A##(TiYDwlSW3knj?Sh+z_Ubt1H?1$ zDfEYd0V{@inK>E|^1d1>R+&(n+?kD!GpeB2@SmS>0cxPm3VYguvI!S2&Up{mhw= z{CaqxK`I*tPFbA!M+12(dOn;b#bOg{KOkkAl3NR0a*Kql8RjW1+v@mCmB<^U)iL7& z8mjelh)usut%?Rq@3o6us)`btZ38z1q<^{ho9;3#0nsTLffLZ-T;F^ZdPh>mQ+{{# zrQ^ZfiywIW?$c+`>IYlL)e@Wesba~TMECqRoLpRIzJasdSRVae6v%BToSD&1v8ANY z>k#lZZXiS<;xf#THLCvv=#217p?A=O+qktFgK3_&>bTu@gBKnd0yr9t&FHDJH$mWV zM*5X8$KBCHqKoaIu%BDAH00+D;-Ey;pLz8F0o z)pG0}y@*D9k=;kJQRmU4e_&XZeQ6&HzsF+76XGPu$INJtRSz*WsFk&h<%yy7LwlINWz+p!>Q(TtMFO^AODl3wm+^tmtCH*yvnFFr7vKEVyQIJ!r)H}|NW zVc5!$?8Z0u_o25~X8xGuXeZAsDlX6(lwtC;AMl}5=YMm&Px~b+z`HE@60hoBPk`s&(d~x?ZMWKy zp^Icz>&|#`ruAzRb*&YPZS{qSwX=EqkW~o*f*jFmIyU%&uvMyl)l>MmXV(kXw+%_! dR8gwjpkb11bt`sv(JB3J2VJvmX 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 T^$rUhJV?OY#M-#dkdp8(AroHK diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi deleted file mode 100644 index 83c1ffedf20abd4f10b63150ad4b8e105e2917de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12457 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 OKu$_YvP#@I^nU