diff --git a/code/datums/supplypacks/costumes.dm b/code/datums/supplypacks/costumes.dm index cb5a950bfe..321c0fde0e 100644 --- a/code/datums/supplypacks/costumes.dm +++ b/code/datums/supplypacks/costumes.dm @@ -56,7 +56,7 @@ contains = list( /obj/item/clothing/suit/pirate, /obj/item/clothing/suit/judgerobe, - /obj/item/clothing/suit/wcoat, + /obj/item/clothing/accessory/wcoat, /obj/item/clothing/suit/hastur, /obj/item/clothing/suit/holidaypriest, /obj/item/clothing/suit/nun, @@ -102,7 +102,7 @@ /obj/item/clothing/under/lawyer/purpsuit, /obj/item/clothing/shoes/black = 2, /obj/item/clothing/shoes/leather, - /obj/item/clothing/suit/wcoat + /obj/item/clothing/accessory/wcoat ) name = "Formalwear closet" cost = 30 diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index d08d45d5ce..88bbe2a721 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -151,7 +151,7 @@ delete_me = 1 /obj/effect/landmark/costume/butler/New() - new /obj/item/clothing/suit/wcoat(src.loc) + new /obj/item/clothing/accessory/wcoat(src.loc) new /obj/item/clothing/under/suit_jacket(src.loc) new /obj/item/clothing/head/that(src.loc) delete_me = 1 @@ -170,7 +170,7 @@ delete_me = 1 /obj/effect/landmark/costume/prig/New() - new /obj/item/clothing/suit/wcoat(src.loc) + new /obj/item/clothing/accessory/wcoat(src.loc) new /obj/item/clothing/glasses/monocle(src.loc) var/CHOICE= pick( /obj/item/clothing/head/bowler, /obj/item/clothing/head/that) new CHOICE(src.loc) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 76b50ab608..f45e766610 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -138,6 +138,7 @@ new /obj/item/clothing/gloves/chameleon(src) new /obj/item/clothing/mask/chameleon(src) new /obj/item/clothing/glasses/chameleon(src) + new /obj/item/clothing/accessory/chameleon(src) new /obj/item/weapon/gun/energy/chameleon(src) /obj/item/weapon/storage/box/syndie_kit/clerical 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 ff15bb0a6c..2abd0e1d8a 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -29,8 +29,8 @@ new /obj/item/clothing/under/rank/bartender(src) new /obj/item/clothing/under/rank/bartender(src) new /obj/item/clothing/under/dress/dress_saloon(src) - new /obj/item/clothing/suit/wcoat(src) - new /obj/item/clothing/suit/wcoat(src) + new /obj/item/clothing/accessory/wcoat(src) + new /obj/item/clothing/accessory/wcoat(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index bce3f9b23d..258945bd8f 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -583,7 +583,7 @@ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves) M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/wcoat(M), slot_wear_suit) + M.equip_to_slot_or_del(new /obj/item/clothing/accessory/wcoat(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(M), slot_l_store) var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = new(M) diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories.dm b/code/modules/client/preference_setup/loadout/loadout_accessories.dm index 72d8978573..3441962ef0 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories.dm @@ -74,6 +74,37 @@ ..() gear_tweaks = list(gear_tweak_free_color_choice) + +/datum/gear/accessory/wcoat + display_name = "waistcoat" + path = /obj/item/clothing/accessory/wcoat + cost = 1 + +/datum/gear/accessory/wcoat/red + display_name = "waistcoat, red" + path = /obj/item/clothing/accessory/wcoat/red + +/datum/gear/accessory/wcoat/grey + display_name = "waistcoat, grey" + path = /obj/item/clothing/accessory/wcoat/grey + +/datum/gear/accessory/wcoat/brown + display_name = "waistcoat, brown" + path = /obj/item/clothing/accessory/wcoat/brown + +/datum/gear/accessory/swvest + display_name = "sweatervest, black" + path = /obj/item/clothing/accessory/wcoat/swvest + cost = 1 + +/datum/gear/accessory/swvest/blue + display_name = "sweatervest, blue" + path = /obj/item/clothing/accessory/wcoat/swvest/blue + +/datum/gear/accessory/swvest/red + display_name = "sweatervest, red" + path = /obj/item/clothing/accessory/wcoat/swvest/red + /datum/gear/accessory/holster display_name = "holster, armpit" path = /obj/item/clothing/accessory/holster/armpit @@ -127,6 +158,10 @@ display_name = "tie, navy blue" path = /obj/item/clothing/accessory/navy +/datum/gear/accessory/tie/white + display_name = "tie, white" + path = /obj/item/clothing/accessory/white + /datum/gear/accessory/tie/horrible display_name = "tie, socially disgraceful" path = /obj/item/clothing/accessory/horrible diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 7305d4c5b9..fbc538b8c4 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -203,36 +203,6 @@ display_name = "suspenders" path = /obj/item/clothing/suit/suspenders -/datum/gear/suit/wcoat - display_name = "waistcoat" - path = /obj/item/clothing/suit/wcoat - cost = 1 - -/datum/gear/suit/wcoat/red - display_name = "red waistcoat" - path = /obj/item/clothing/suit/wcoat/red - -/datum/gear/suit/wcoat/grey - display_name = "grey waistcoat" - path = /obj/item/clothing/suit/wcoat/grey - -/datum/gear/suit/wcoat/brown - display_name = "brown waistcoat" - path = /obj/item/clothing/suit/wcoat/brown - -/datum/gear/suit/swvest - display_name = "black sweatervest" - path = /obj/item/clothing/suit/wcoat/swvest - cost = 1 - -/datum/gear/suit/swvest/blue - display_name = "blue sweatervest" - path = /obj/item/clothing/suit/wcoat/swvest/blue - -/datum/gear/suit/swvest/red - display_name = "red sweatervest" - path = /obj/item/clothing/suit/wcoat/swvest/red - /datum/gear/suit/forensics display_name = "forensics long, red" path = /obj/item/clothing/suit/storage/forensics/red/long diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index a762bf50f1..ffea7b7fab 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -327,7 +327,7 @@ icon = 'icons/obj/clothing/belts.dmi' icon_state = "utilitybelt" origin_tech = list(TECH_ILLEGAL = 3) - var/list/clothing_choices = list() + var/global/list/clothing_choices /obj/item/weapon/storage/belt/chameleon/New() ..() @@ -357,6 +357,42 @@ var/mob/M = src.loc M.update_inv_belt() //so our overlays update. +//****************** +//**Chameleon Tie** +//****************** + +/obj/item/clothing/accessory/chameleon + name = "black tie" + desc = "Looks like a black tie, but his one also has a dial inside." + icon = 'icons/obj/clothing/ties.dmi' + icon_state = "blacktie" + origin_tech = list(TECH_ILLEGAL = 3) + var/global/list/clothing_choices + +/obj/item/clothing/accessory/chameleon/New() + ..() + if(!clothing_choices) + var/blocked = list(src.type, /obj/item/clothing/accessory/storage) + clothing_choices = generate_chameleon_choices(/obj/item/clothing/accessory, blocked) + +/obj/item/clothing/accessory/chameleon/emp_act(severity) //Because we don't have psych for all slots right now but still want a downside to EMP. In this case your cover's blown. + name = "black tie" + desc = "Looks like a black tie, but his one also has a dial inside." + icon_state = "blacktie" + update_icon() + update_clothing_icon() + +/obj/item/clothing/accessory/chameleon/verb/change(picked in clothing_choices) + set name = "Change Accessory Appearance" + set category = "Chameleon Items" + set src in usr + + if(!ispath(clothing_choices[picked])) + return + + disguise(clothing_choices[picked]) + update_icon() + //***************** //**Chameleon Gun** //***************** diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 7dca7041e7..d986004d83 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -84,7 +84,7 @@ allowed = list(/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/spacecash) flags_inv = HIDEJUMPSUIT -/obj/item/clothing/suit/wcoat +/*/obj/item/clothing/suit/wcoat name = "waistcoat" desc = "For some classy, murderous fun." icon_state = "vest" @@ -117,7 +117,7 @@ /obj/item/clothing/suit/wcoat/swvest/red name = "red sweatervest" icon_state = "sweatervest_red" - +*/ /obj/item/clothing/suit/apron/overalls name = "coveralls" desc = "A set of denim overalls." diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index a38f51f1fa..2e6f5c6309 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -114,6 +114,10 @@ name = "navy tie" icon_state = "navytie" +/obj/item/clothing/accessory/white + name = "white tie" + icon_state = "whitetie" + /obj/item/clothing/accessory/horrible name = "horrible tie" desc = "A neosilk clip-on tie. This one is disgusting." diff --git a/code/modules/clothing/under/accessories/clothing.dm b/code/modules/clothing/under/accessories/clothing.dm index cfd1c1d49a..98855ead83 100644 --- a/code/modules/clothing/under/accessories/clothing.dm +++ b/code/modules/clothing/under/accessories/clothing.dm @@ -130,3 +130,46 @@ if(prob(50)) icon_state = "hawaii2" color = color_rotation(rand(-11,12)*15) + +/obj/item/clothing/accessory/wcoat + name = "waistcoat" + desc = "For some classy, murderous fun." + icon_state = "vest" + item_state = "vest" + icon_override = 'icons/mob/ties.dmi' + item_state_slots = list(slot_r_hand_str = "wcoat", slot_l_hand_str = "wcoat") + allowed = list(/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + slot_flags = SLOT_OCLOTHING | SLOT_TIE + body_parts_covered = UPPER_TORSO|LOWER_TORSO + siemens_coefficient = 0.9 + w_class = ITEMSIZE_NORMAL + +/obj/item/clothing/accessory/wcoat/red + name = "red waistcoat" + icon_state = "red_waistcoat" + +/obj/item/clothing/accessory/wcoat/grey + name = "grey waistcoat" + icon_state = "grey_waistcoat" + +/obj/item/clothing/accessory/wcoat/brown + name = "brown waistcoat" + icon_state = "brown_waistcoat" + +/obj/item/clothing/accessory/wcoat/gentleman + name = "elegant waistcoat" + icon_state = "elegant_waistcoat" + +/obj/item/clothing/accessory/wcoat/swvest + name = "black sweatervest" + desc = "A sleeveless sweater. Wear this if you don't want your arms to be warm, or if you're a nerd." + icon_state = "sweatervest" + +/obj/item/clothing/accessory/wcoat/swvest/blue + name = "blue sweatervest" + icon_state = "sweatervest_blue" + +/obj/item/clothing/accessory/wcoat/swvest/red + name = "red sweatervest" + icon_state = "sweatervest_red" \ No newline at end of file diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index bf768c561e..f4aa3ca70b 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -104,12 +104,14 @@ desc = "A more modern uniform for corporate investigators." /obj/item/clothing/under/det/waistcoat - icon_state = "detective_waistcoat" + icon_state = "detective" desc = "A rumpled white dress shirt paired with well-worn grey slacks, complete with a blue striped tie, faux-gold tie clip, and waistcoat." + starting_accessories = list(/obj/item/clothing/accessory/blue_clip, /obj/item/clothing/accessory/wcoat) /obj/item/clothing/under/det/grey/waistcoat - icon_state = "detective2_waistcoat" + icon_state = "detective2" desc = "A serious-looking tan dress shirt paired with freshly-pressed black slacks, complete with a red striped tie and waistcoat." + starting_accessories = list(/obj/item/clothing/accessory/red_long, /obj/item/clothing/accessory/wcoat) /* * Head of Security diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 5a348534a4..41dccd7408 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -151,6 +151,7 @@ icon_state = "gentlesuit" item_state_slots = list(slot_r_hand_str = "grey", slot_l_hand_str = "grey") rolled_sleeves = 0 + starting_accessories = list(/obj/item/clothing/accessory/white, /obj/item/clothing/accessory/wcoat/gentleman) /obj/item/clothing/under/gimmick/rank/captain/suit name = "colony director's suit" diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 80c574d943..c0b8210d8b 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index bd3eb93079..010b04137f 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index c457dec21e..62a74c1486 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 3c542aea70..0063c2b5a5 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 4294e28796..2aa2e822c8 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index e812c05ecf..21b41a9955 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/maps/polaris-2.dmm b/maps/polaris-2.dmm index 68b2e77b01..14cc577fa6 100644 --- a/maps/polaris-2.dmm +++ b/maps/polaris-2.dmm @@ -2037,7 +2037,7 @@ "aNi" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) "aNj" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) "aNk" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{dir = 2; icon_state = "carpet"},/area/centcom/bar) -"aNl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) +"aNl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/accessory/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "aNm" = (/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar) "aNn" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "aNo" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)