diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index d40d94655d1..1514e35478f 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -37,6 +37,7 @@ new/datum/uplink_item(/obj/item/ammo_magazine/a357, 2, "Ammo-357", "RA"), new/datum/uplink_item(/obj/item/weapon/gun/energy/crossbow, 5, "Energy Crossbow", "XB"), new/datum/uplink_item(/obj/item/weapon/melee/energy/sword, 4, "Energy Sword", "ES"), + new/datum/uplink_item(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, 6, "Exosuit Rigged Laser", "RL"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Syndicate Bundle", "BU"), new/datum/uplink_item(/obj/item/weapon/storage/box/emps, 3, "5 EMP Grenades", "EM") ), @@ -55,6 +56,7 @@ "Devices and Tools" = list( new/datum/uplink_item(/obj/item/weapon/card/emag, 3, "Cryptographic Sequencer", "EC"), new/datum/uplink_item(/obj/item/weapon/storage/toolbox/syndicate, 1, "Fully Loaded Toolbox", "ST"), + new/datum/uplink_item(/obj/item/weapon/stamp/chameleon, 3, "Morphic Chameleon Stmap", "CS"), new/datum/uplink_item(/obj/item/weapon/storage/box/syndie_kit/space, 3, "Space Suit", "SS"), new/datum/uplink_item(/obj/item/clothing/glasses/thermal/syndi, 3, "Thermal Imaging Glasses", "TM"), new/datum/uplink_item(/obj/item/device/encryptionkey/binary, 3, "Binary Translator Key", "BT"), 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 3afa1b3e8b7..0846070a71c 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -46,6 +46,7 @@ new /obj/item/weapon/cartridge/janitor(src) new /obj/item/clothing/gloves/black(src) new /obj/item/clothing/head/soft/purple(src) + new /obj/item/clothing/head/beret/jan(src) new /obj/item/device/flashlight(src) new /obj/item/weapon/caution(src) new /obj/item/weapon/caution(src) 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 1fd6bdff5fc..088b1205555 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -29,6 +29,8 @@ new /obj/item/clothing/suit/armor/captain(src) new /obj/item/weapon/melee/telebaton(src) new /obj/item/clothing/under/dress/dress_cap(src) + new /obj/item/clothing/head/helmet/formalcaptain(src) + new /obj/item/clothing/under/captainformal(src) return @@ -82,6 +84,7 @@ new /obj/item/clothing/shoes/leather(src) new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/under/rank/head_of_personnel_whimsy(src) + new /obj/item/clothing/head/helmet/hop(src) return diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index dbbb93cb271..d660cee8254 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -401,3 +401,23 @@ new /obj/item/clothing/shoes/jackboots(src) new /obj/item/clothing/gloves/black(src) return + +/obj/structure/closet/wardrobe/suit + name = "suit locker" + icon_state = "mixed" + icon_closed = "mixed" + +/obj/structure/closet/wardrobe/suit/New() + ..() + new /obj/item/clothing/under/assistantformal(src) + new /obj/item/clothing/under/suit_jacket/charcoal(src) + new /obj/item/clothing/under/suit_jacket/navy(src) + new /obj/item/clothing/under/suit_jacket/burgundy(src) + new /obj/item/clothing/under/suit_jacket/checkered(src) + new /obj/item/clothing/under/suit_jacket/tan(src) + new /obj/item/clothing/under/sl_suit(src) + new /obj/item/clothing/under/suit_jacket(src) + new /obj/item/clothing/under/suit_jacket/female(src) + new /obj/item/clothing/under/suit_jacket/really_black(src) + new /obj/item/clothing/under/suit_jacket/red(src) + new /obj/item/clothing/under/scratch(src) \ No newline at end of file diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index adf6fe4bcea..70aafb41af5 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -221,4 +221,10 @@ icon_state = "snow" /turf/simulated/floor/plating/snow/ex_act(severity) - return \ No newline at end of file + return + +/turf/simulated/floor/plating/airless/catwalk + icon = 'icons/turf/catwalks.dmi' + icon_state = "Floor3" + name = "catwalk" + desc = "Cats really don't like these things." \ No newline at end of file diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index aee6547694a..240f6602a35 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -13,37 +13,120 @@ proc/populate_gear_list() var/list/allowed_roles //Roles that can spawn with this item. var/whitelisted //Term to check the whitelist for.. -//Standard gear datums. +// This is sorted both by slot and alphabetically! Don't fuck it up! +// Headslot items -/datum/gear/cards - display_name = "deck of cards" - path = /obj/item/weapon/deck +/datum/gear/gbandana + display_name = "bandana, green" + path = /obj/item/clothing/head/greenbandana cost = 2 + slot = slot_head -/datum/gear/dice - display_name = "d20" - path = /obj/item/weapon/dice/d20 +/datum/gear/bandana + display_name = "bandana, pirate-red" + path = /obj/item/clothing/head/bandana + cost = 2 + slot = slot_head + +/datum/gear/bsec_beret + display_name = "beret, blue (security)" + path = /obj/item/clothing/head/beret/sec/alt cost = 1 + slot = slot_head + allowed_roles = list("Security Officer","Head of Security","Warden") -/datum/gear/comb - display_name = "purple comb" - path = /obj/item/weapon/fluff/cado_keppel_1 +/datum/gear/eng_beret + display_name = "beret, engie-orange" + path = /obj/item/clothing/head/beret/eng + cost = 2 + slot = slot_head +// allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer") + +/datum/gear/purp_beret + display_name = "beret, purple" + path = /obj/item/clothing/head/beret/jan + cost = 2 + slot = slot_head + +/datum/gear/red_beret + display_name = "beret, red" + path = /obj/item/clothing/head/beret + cost = 2 + slot = slot_head + +/datum/gear/sec_beret + display_name = "beret, red (security)" + path = /obj/item/clothing/head/beret/sec cost = 1 + slot = slot_head + allowed_roles = list("Security Officer","Head of Security","Warden") -/datum/gear/tie_horrible - display_name = "horrible tie" - path = /obj/item/clothing/tie/horrible +/datum/gear/bcap + display_name = "cap, blue" + path = /obj/item/clothing/head/soft/blue cost = 2 + slot = slot_head -/datum/gear/tie_blue - display_name = "blue tie" - path = /obj/item/clothing/tie/blue +/datum/gear/mailman + display_name = "cap, blue station" + path = /obj/item/clothing/head/mailman cost = 2 + slot = slot_head -/datum/gear/tie_red - display_name = "red tie" - path = /obj/item/clothing/tie/red +/datum/gear/flatcap + display_name = "cap, brown-flat" + path = /obj/item/clothing/head/flatcap cost = 2 + slot = slot_head + +/datum/gear/corpcap + display_name = "cap, corporate (Security)" + path = /obj/item/clothing/head/soft/sec/corp + cost = 2 + slot = slot_head + allowed_roles = list("Security Officer","Head of Security","Warden") + +/datum/gear/gcap + display_name = "cap, green" + path = /obj/item/clothing/head/soft/green + cost = 2 + slot = slot_head + + /datum/gear/grcap + display_name = "cap, grey" + path = /obj/item/clothing/head/soft/grey + cost = 2 + slot = slot_head + + /datum/gear/ocap + display_name = "cap, orange" + path = /obj/item/clothing/head/soft/orange + cost = 2 + slot = slot_head + +/datum/gear/purcap + display_name = "cap, purple" + path = /obj/item/clothing/head/soft/purple + cost = 2 + slot = slot_head + +/datum/gear/raincap + display_name = "cap, rainbow" + path = /obj/item/clothing/head/soft/rainbow + cost = 3 + slot = slot_head + +/datum/gear/rcap + display_name = "cap, red" + path = /obj/item/clothing/head/soft/red + cost = 2 + slot = slot_head + +/datum/gear/ycap + display_name = "cap, yellow" + path = /obj/item/clothing/head/soft/yellow + cost = 2 + slot = slot_head /datum/gear/hairflower display_name = "hair flower pin" @@ -51,47 +134,384 @@ proc/populate_gear_list() cost = 2 slot = slot_head -/datum/gear/bandana - display_name = "pirate bandana" - path = /obj/item/clothing/head/bandana - cost = 3 +/datum/gear/dbhardhat + display_name = "hardhat, blue" + path = /obj/item/clothing/head/hardhat/dblue + cost = 2 slot = slot_head +/datum/gear/ohardhat + display_name = "hardhat, orange" + path = /obj/item/clothing/head/hardhat/orange + cost = 2 + slot = slot_head + +/datum/gear/yhardhat + display_name = "hardhat, yellow" + path = /obj/item/clothing/head/hardhat + cost = 2 + slot = slot_head + +/datum/gear/boater + display_name = "hat, boatsman" + path = /obj/item/clothing/head/boaterhat + cost = 2 + slot = slot_head + + /datum/gear/bowler + display_name = "hat, bowler" + path = /obj/item/clothing/head/bowler + cost = 2 + slot = slot_head + +/datum/gear/fez + display_name = "hat, fez" + path = /obj/item/clothing/head/fez + cost = 2 + slot = slot_head + +/datum/gear/ushanka + display_name = "ushanka" + path = /obj/item/clothing/head/ushanka + cost = 2 + slot = slot_head + +/datum/gear/zhan_scarf + display_name = "headscarf, white" + path = /obj/item/clothing/head/tajaran/scarf + cost = 2 + slot = slot_head +// whitelisted = "Tajaran" // It's a headscarf. It isn't even a taj-themed headscarf! + +// Eyes + +/datum/gear/eyepatch + display_name = "eyepatch" + path = /obj/item/clothing/glasses/eyepatch + cost = 1 + slot = slot_glasses + +/datum/gear/green_glasses + display_name = "Glasses, green" + path = /obj/item/clothing/glasses/gglasses + cost = 1 + +/datum/gear/scanning_goggles + display_name = "scanning goggles" + path = /obj/item/clothing/glasses/fluff/uzenwa_sissra_1 + cost = 1 +// allowed_roles = list("Roboticist", "Scientist", "Research Director") + +/datum/gear/security + display_name = "Security HUD" + path = /obj/item/clothing/glasses/hud/security + cost = 1 + slot = slot_glasses + allowed_roles = list("Security Officer","Head of Security","Warden") + +/datum/gear/thugshades + display_name = "Sunglasses, Fat (Security)" + path = /obj/item/clothing/glasses/sunglasses/big + cost = 1 + slot = slot_glasses + allowed_roles = list("Security Officer","Head of Security","Warden") + +/datum/gear/prescription + display_name = "sunglasses, presciption" + path = /obj/item/clothing/glasses/sunglasses/prescription + cost = 3 + slot = slot_glasses + +// Mask + +/datum/gear/sterilemask + display_name = "sterile mask" + path = /obj/item/clothing/mask/surgical + slot = slot_w_uniform + cost = 2 + +// Uniform slot + +/datum/gear/exec_suit + display_name = "executive suit" + path = /obj/item/clothing/under/suit_jacket/really_black + slot = slot_w_uniform + cost = 2 + +/datum/gear/kilt + display_name = "kilt" + path = /obj/item/clothing/under/kilt + slot = slot_w_uniform + cost = 3 + +/datum/gear/skirt_blue + display_name = "plaid skirt, blue" + path = /obj/item/clothing/under/dress/plaid_blue + slot = slot_w_uniform + cost = 2 + +/datum/gear/skirt_purple + display_name = "plaid skirt, purple" + path = /obj/item/clothing/under/dress/plaid_purple + slot = slot_w_uniform + cost = 2 + +/datum/gear/skirt_red + display_name = " plaid skirt, red" + path = /obj/item/clothing/under/dress/plaid_red + slot = slot_w_uniform + cost = 2 + +/datum/gear/skirt_black + display_name = "skirt, black" + path = /obj/item/clothing/under/blackskirt + slot = slot_w_uniform + cost = 2 + +/datum/gear/sundress + display_name = "sundress" + path = /obj/item/clothing/under/sundress + slot = slot_w_uniform + cost = 3 + +/datum/gear/uniform_captain + display_name = "uniform, captain's dress" + path = /obj/item/clothing/under/dress/dress_cap + slot = slot_w_uniform + cost = 1 + allowed_roles = list("Captain") + +/datum/gear/corpsecsuit + display_name = "uniform, corporate (Security)" + path = /obj/item/clothing/under/rank/security/corp + cost = 2 + slot = slot_w_uniform + allowed_roles = list("Security Officer","Head of Security","Warden") + +/datum/gear/uniform_hop + display_name = "uniform, HoP's dress" + path = /obj/item/clothing/under/dress/dress_hop + slot = slot_w_uniform + cost = 1 + allowed_roles = list("Head of Personnel") + +/datum/gear/uniform_hr + display_name = "uniform, HR director (HoP)" + path = /obj/item/clothing/under/dress/dress_hr + slot = slot_w_uniform + cost = 1 + allowed_roles = list("Head of Personnel") + +/datum/gear/navysecsuit + display_name = "uniform, navyblue (Security)" + path = /obj/item/clothing/under/rank/security/navyblue + cost = 2 + slot = slot_w_uniform + allowed_roles = list("Security Officer","Head of Security","Warden") + +// Attachments + +/datum/gear/armband_cargo + display_name = "armband, cargo" + path = /obj/item/clothing/tie/armband/cargo + cost = 1 + +/datum/gear/armband_emt + display_name = "armband, EMT" + path = /obj/item/clothing/tie/armband/medgreen + cost = 2 + +/datum/gear/armband_engineering + display_name = "armband, engineering" + path = /obj/item/clothing/tie/armband/engine + cost = 1 + +/datum/gear/armband_hydroponics + display_name = "armband, hydroponics" + path = /obj/item/clothing/tie/armband/hydro + cost = 1 + +/datum/gear/armband_medical + display_name = "armband, medical" + path = /obj/item/clothing/tie/armband/med + cost = 1 + +/datum/gear/armband + display_name = "armband, red" + path = /obj/item/clothing/tie/armband + cost = 1 + +/datum/gear/armband_science + display_name = "armband, science" + path = /obj/item/clothing/tie/armband/science + cost = 1 + +/datum/gear/armpit + display_name = "shoulder holster" + path = /obj/item/clothing/tie/holster/armpit + cost = 2 + allowed_roles = list("Captain", "Head of Personnel", "Security Officer", "Head of Security") + +/datum/gear/tie_blue + display_name = "tie, blue" + path = /obj/item/clothing/tie/blue + cost = 1 + +/datum/gear/tie_red + display_name = "tie, red" + path = /obj/item/clothing/tie/red + cost = 1 + +/datum/gear/tie_horrible + display_name = "tie, socially disgraceful" + path = /obj/item/clothing/tie/horrible + cost = 1 + +/datum/gear/brown_vest + display_name = "webbing, engineering" + path = /obj/item/clothing/tie/storage/brown_vest + cost = 2 + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer") + +/datum/gear/black_vest + display_name = "webbing, security" + path = /obj/item/clothing/tie/storage/black_vest + cost = 2 + allowed_roles = list("Security Officer","Head of Security","Warden") + +/datum/gear/webbing + display_name = "webbing, simple" + path = /obj/item/clothing/tie/storage/webbing + cost = 2 + +// Suit slot + +/datum/gear/apron + display_name = "apron, blue" + path = /obj/item/clothing/suit/apron + cost = 1 + slot = slot_wear_suit + +/datum/gear/bomber + display_name = "bomberjacker" + path = /obj/item/clothing/suit/bomber + cost = 4 + slot = slot_wear_suit + +/datum/gear/unathi_mantle + display_name = "hide mantle (Unathi)" + path = /obj/item/clothing/suit/unathi/mantle + cost = 2 + slot = slot_wear_suit + whitelisted = "Unathi" + +/datum/gear/labcoat + display_name = "labcoat" + path = /obj/item/clothing/suit/storage/labcoat + cost = 3 + slot = slot_wear_suit + /datum/gear/overalls display_name = "overalls" path = /obj/item/clothing/suit/apron/overalls cost = 2 slot = slot_wear_suit +/datum/gear/gponcho + display_name = "poncho, green" + path = /obj/item/clothing/suit/poncho/green + cost = 4 + slot = slot_wear_suit + +/datum/gear/rponcho + display_name = "poncho, red" + path = /obj/item/clothing/suit/poncho/red + cost = 4 + slot = slot_wear_suit + +/datum/gear/poncho + display_name = "poncho, tan" + path = /obj/item/clothing/suit/poncho + cost = 4 + slot = slot_wear_suit + +/datum/gear/unathi_robe + display_name = "roughspun robe (Unathi)" + path = /obj/item/clothing/suit/unathi/robe + cost = 3 + slot = slot_wear_suit +// whitelisted = "Unathi" // You don't have a monopoly on a robe! + +/datum/gear/suspenders + display_name = "suspenders" + path = /obj/item/clothing/suit/suspenders + cost = 2 + slot = slot_wear_suit + /datum/gear/wcoat display_name = "waistcoat" path = /obj/item/clothing/suit/wcoat cost = 2 slot = slot_wear_suit -/datum/gear/prescription - display_name = "prescription sunglasses" - path = /obj/item/clothing/glasses/sunglasses/prescription - cost = 3 - slot = slot_glasses - -/datum/gear/eyepatch - display_name = "eyepatch" - path = /obj/item/clothing/glasses/eyepatch - cost = 3 - slot = slot_glasses - -/datum/gear/flatcap - display_name = "flat cap" - path = /obj/item/clothing/head/flatcap - cost = 2 - slot = slot_head - -/datum/gear/labcoat - display_name = "labcoat" - path = /obj/item/clothing/suit/storage/labcoat +/datum/gear/zhan_furs + display_name = "Zhan-Khazan furs (Tajaran)" + path = /obj/item/clothing/suit/tajaran/furs cost = 3 slot = slot_wear_suit + whitelisted = "Tajaran" // You do have a monopoly on a fur suit tho + +// Gloves + +/datum/gear/black_gloves + display_name = "gloves, black" + path = /obj/item/clothing/gloves/black + cost = 2 + slot = slot_gloves + +/datum/gear/blue_gloves + display_name = "gloves, blue" + path = /obj/item/clothing/gloves/blue + cost = 1 + slot = slot_gloves + +/datum/gear/brown_gloves + display_name = "gloves, brown" + path = /obj/item/clothing/gloves/brown + cost = 2 + slot = slot_gloves + +/datum/gear/green_gloves + display_name = "gloves, green" + path = /obj/item/clothing/gloves/green + cost = 1 + slot = slot_gloves + +/datum/gear/orange_gloves + display_name = "gloves, orange" + path = /obj/item/clothing/gloves/orange + cost = 1 + slot = slot_gloves + +/datum/gear/red_gloves + display_name = "gloves, red" + path = /obj/item/clothing/gloves/red + cost = 1 + slot = slot_gloves + +/datum/gear/white_gloves + display_name = "gloves, white" + path = /obj/item/clothing/gloves/white + cost = 2 + slot = slot_gloves + +// Shoelocker + +/datum/gear/jackboots + display_name = "jackboots" + path = /obj/item/clothing/shoes/jackboots + cost = 2 + slot = slot_shoes /datum/gear/sandal display_name = "sandals" @@ -99,309 +519,138 @@ proc/populate_gear_list() cost = 1 slot = slot_shoes -/datum/gear/leather - display_name = "leather shoes" - path = /obj/item/clothing/shoes/leather - cost = 2 - slot = slot_shoes - -/datum/gear/dress_shoes - display_name = "dress shoes" - path = /obj/item/clothing/shoes/centcom - cost = 2 - slot = slot_shoes - -/datum/gear/black_gloves - display_name = "black gloves" - path = /obj/item/clothing/gloves/black - cost = 1 - slot = slot_gloves - -/datum/gear/red_gloves - display_name = "red gloves" - path = /obj/item/clothing/gloves/red - cost = 1 - slot = slot_gloves - -/datum/gear/blue_gloves - display_name = "blue gloves" - path = /obj/item/clothing/gloves/blue - cost = 1 - slot = slot_gloves - -/datum/gear/orange_gloves - display_name = "orange gloves" - path = /obj/item/clothing/gloves/orange - cost = 1 - slot = slot_gloves - -/datum/gear/purple_gloves - display_name = "purple gloves" - path = /obj/item/clothing/gloves/purple - cost = 1 - slot = slot_gloves - -/datum/gear/brown_gloves - display_name = "brown gloves" - path = /obj/item/clothing/gloves/brown - cost = 1 - slot = slot_gloves - -/datum/gear/green_gloves - display_name = "green gloves" - path = /obj/item/clothing/gloves/green - cost = 2 - slot = slot_gloves - -/datum/gear/white_gloves - display_name = "white gloves" - path = /obj/item/clothing/gloves/white - cost = 2 - slot = slot_gloves - /datum/gear/black_shoes - display_name = "black shoes" + display_name = "shoes, black" path = /obj/item/clothing/shoes/black - cost = 2 + cost = 1 slot = slot_shoes /datum/gear/blue_shoes - display_name = "blue shoes" + display_name = "shoes, blue" path = /obj/item/clothing/shoes/blue - cost = 2 + cost = 1 slot = slot_shoes /datum/gear/brown_shoes - display_name = "brown shoes" + display_name = "shoes, brown" path = /obj/item/clothing/shoes/brown - cost = 2 + cost = 1 + slot = slot_shoes + +/datum/gear/laceyshoes + display_name = "shoes, classy" + path = /obj/item/clothing/shoes/laceup + cost = 1 + slot = slot_shoes + +/datum/gear/dress_shoes + display_name = "shoes, dress" + path = /obj/item/clothing/shoes/centcom + cost = 1 slot = slot_shoes /datum/gear/green_shoes - display_name = "green shoes" + display_name = "shoes, green" path = /obj/item/clothing/shoes/green - cost = 2 + cost = 1 + slot = slot_shoes + +/datum/gear/leather + display_name = "shoes, leather" + path = /obj/item/clothing/shoes/leather + cost = 1 slot = slot_shoes /datum/gear/orange_shoes - display_name = "orange shoes" + display_name = "shoes, orange" path = /obj/item/clothing/shoes/orange - cost = 2 + cost = 1 slot = slot_shoes /datum/gear/purple_shoes - display_name = "purple shoes" + display_name = "shoes, purple" path = /obj/item/clothing/shoes/purple - cost = 2 + cost = 1 slot = slot_shoes /datum/gear/red_shoes - display_name = "red shoes" + display_name = "shoes, red" path = /obj/item/clothing/shoes/red - cost = 2 + cost = 1 slot = slot_shoes /datum/gear/white_shoes - display_name = "white shoes" + display_name = "shoes, white" path = /obj/item/clothing/shoes/white - cost = 2 + cost = 1 slot = slot_shoes /datum/gear/yellow_shoes - display_name = "yellow shoes" + display_name = "shoes, yellow" path = /obj/item/clothing/shoes/yellow - cost = 2 + cost = 1 slot = slot_shoes -/datum/gear/jackboots - display_name = "jackboots" - path = /obj/item/clothing/shoes/jackboots - cost = 3 - slot = slot_shoes +// "Useful" items -/datum/gear/webbing - display_name = "webbing" - path = /obj/item/clothing/tie/storage/webbing - cost = 1 - -/datum/gear/armband - display_name = "red armband" - path = /obj/item/clothing/tie/armband - cost = 1 - -/datum/gear/armband_cargo - display_name = "cargo armband" - path = /obj/item/clothing/tie/armband/cargo - cost = 1 - -/datum/gear/armband_engineering - display_name = "engineering armband" - path = /obj/item/clothing/tie/armband/engine - cost = 1 - -/datum/gear/armband_science - display_name = "science armband" - path = /obj/item/clothing/tie/armband/science - cost = 1 - -/datum/gear/armband_hydroponics - display_name = "hydroponics armband" - path = /obj/item/clothing/tie/armband/hydro - cost = 1 - -/datum/gear/armband_medical - display_name = "medical armband" - path = /obj/item/clothing/tie/armband/med - cost = 1 - -/datum/gear/armband_emt - display_name = "EMT armband" - path = /obj/item/clothing/tie/armband/medgreen - cost = 1 - -/datum/gear/skirt_blue - display_name = "blue plaid skirt" - path = /obj/item/clothing/under/dress/plaid_blue - slot = slot_w_uniform - cost = 3 - -/datum/gear/skirt_red - display_name = "red plaid skirt" - path = /obj/item/clothing/under/dress/plaid_red - slot = slot_w_uniform - cost = 3 - -/datum/gear/skirt_purple - display_name = "purple plaid skirt" - path = /obj/item/clothing/under/dress/plaid_purple - slot = slot_w_uniform - cost = 3 - -/datum/gear/skirt_black - display_name = "black skirt" - path = /obj/item/clothing/under/blackskirt - slot = slot_w_uniform - cost = 3 - -/datum/gear/sundress - display_name = "sundress" - path = /obj/item/clothing/under/sundress - slot = slot_w_uniform - cost = 3 - -/datum/gear/uniform_captain - display_name = "captain's dress uniform" - path = /obj/item/clothing/under/dress/dress_cap - slot = slot_w_uniform - cost = 3 - allowed_roles = list("Captain") - -/datum/gear/uniform_hop - display_name = "HoP dress uniform" - path = /obj/item/clothing/under/dress/dress_hop - slot = slot_w_uniform - cost = 3 - allowed_roles = list("Head of Personnel") - -/datum/gear/uniform_hr - display_name = "HR director uniform" - path = /obj/item/clothing/under/dress/dress_hr - slot = slot_w_uniform - cost = 3 - allowed_roles = list("Head of Personnel") - -/datum/gear/kilt - display_name = "kilt" - path = /obj/item/clothing/under/kilt - slot = slot_w_uniform - cost = 3 - -/datum/gear/exec_suit - display_name = "executive suit" - path = /obj/item/clothing/under/suit_jacket/really_black - slot = slot_w_uniform - cost = 3 - -//Security -/datum/gear/security - display_name = "Security HUD" - path = /obj/item/clothing/glasses/hud/security - cost = 3 - slot = slot_glasses - allowed_roles = list("Security Officer","Head of Security","Warden") - -/datum/gear/black_vest - display_name = "black webbing vest" - path = /obj/item/clothing/tie/storage/black_vest - cost = 3 - allowed_roles = list("Security Officer","Head of Security","Warden") - -/datum/gear/armpit - display_name = "shoulder holster" - path = /obj/item/clothing/tie/holster/armpit - cost = 3 - allowed_roles = list("Captain", "Head of Personnel", "Security Officer", "Head of Security") - -/datum/gear/sec_beret - display_name = "security beret" - path = /obj/item/clothing/head/beret/sec - cost = 1 - slot = slot_head - allowed_roles = list("Security Officer","Head of Security","Warden") - -//Engineering -/datum/gear/eng_beret - display_name = "engineering beret" - path = /obj/item/clothing/head/beret/eng - cost = 1 - slot = slot_head - allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer") - -/datum/gear/brown_vest - display_name = "brown webbing vest" - path = /obj/item/clothing/tie/storage/brown_vest - cost = 3 - allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer") - -/datum/gear/engineer_bandana - display_name = "engineering bandana" - path = /obj/item/clothing/head/helmet/greenbandana/fluff/taryn_kifer_1 +/datum/gear/briefcase + display_name = "briefcase" + path = /obj/item/weapon/storage/briefcase cost = 2 - slot = slot_head - allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer") -//Science -/datum/gear/scanning_goggles - display_name = "scanning goggles" - path = /obj/item/clothing/glasses/fluff/uzenwa_sissra_1 +/datum/gear/matchbook + display_name = "matchbook" + path = /obj/item/weapon/storage/box/matches cost = 2 - allowed_roles = list("Roboticist", "Scientist", "Research Director") -//Species-specific gear datums. -/datum/gear/zhan_furs - display_name = "Zhan-Khazan furs" - path = /obj/item/clothing/suit/tajaran/furs - cost = 3 - slot = slot_wear_suit - whitelisted = "Tajaran" +// The rest of the trash. -/datum/gear/zhan_scarf - display_name = "Zhan-Khazan headscarf" - path = /obj/item/clothing/head/tajaran/scarf +/datum/gear/ashtray + display_name = "ashtray, plastic" + path = /obj/item/ashtray/plastic + cost = 1 + +/datum/gear/cane + display_name = "cane" + path = /obj/item/weapon/cane cost = 2 - slot = slot_head - whitelisted = "Tajaran" -/datum/gear/unathi_robe - display_name = "roughspun robe" - path = /obj/item/clothing/suit/unathi/robe - cost = 3 - slot = slot_wear_suit - whitelisted = "Unathi" +/datum/gear/clipboard + display_name = "clipboard" + path = /obj/item/weapon/clipboard + cost = 1 -/datum/gear/unathi_mantle - display_name = "hide mantle" - path = /obj/item/clothing/suit/unathi/mantle - cost = 2 - slot = slot_wear_suit - whitelisted = "Unathi" +/datum/gear/dice + display_name = "d20" + path = /obj/item/weapon/dice/d20 + cost = 1 + +/datum/gear/cards + display_name = "deck of cards" + path = /obj/item/weapon/deck + cost = 1 + +/datum/gear/blipstick + display_name = "lipstick, black" + path = /obj/item/weapon/lipstick + cost = 1 + +/datum/gear/jlipstick + display_name = "lipstick, jade" + path = /obj/item/weapon/lipstick + cost = 1 + +/datum/gear/plipstick + display_name = "lipstick, purple" + path = /obj/item/weapon/lipstick + cost = 1 + +/datum/gear/rlipstick + display_name = "lipstick, red" + path = /obj/item/weapon/lipstick + cost = 1 + +/datum/gear/comb + display_name = "purple comb" + path = /obj/item/weapon/fluff/cado_keppel_1 + cost = 2 \ No newline at end of file diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 5a572514e1b..ce2d677da59 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -20,6 +20,20 @@ flags_inv = 0 body_parts_covered = 0 +/obj/item/clothing/head/helmet/hop + name = "crew resource's hat" + desc = "A stylish hat that both protects you from enraged former-crewmembers and gives you a false sense of authority." + icon_state = "hopcap" + flags_inv = 0 + body_parts_covered = 0 + +/obj/item/clothing/head/helmet/formalcaptain + name = "parade hat" + desc = "No one in a commanding position should be without a perfect, white hat of ultimate authority." + icon_state = "officercap" + flags_inv = 0 + body_parts_covered = 0 + /obj/item/clothing/head/helmet/riot name = "riot helmet" desc = "It's a helmet specifically designed to protect against close range attacks." diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 8ec2ef98eda..36fa4823e4a 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -83,6 +83,12 @@ desc = "A beret with the engineering insignia emblazoned on it. For engineers that are more inclined towards style than safety." icon_state = "e_beret_badge" flags = FPRINT | TABLEPASS +/obj/item/clothing/head/beret/jan + name = "purple beret" + desc = "A stylish, if purple, beret." + icon_state = "purpleberet" + flags = FPRINT | TABLEPASS + //Medical /obj/item/clothing/head/surgery diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index cf5530b306a..fa8f4ca22bc 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -40,9 +40,9 @@ body_parts_covered = 0 /obj/item/clothing/head/mailman - name = "mailman's hat" + name = "station cap" icon_state = "mailman" - desc = "'Right-on-time' mail service head wear." + desc = "Choo-choo!" flags = FPRINT | TABLEPASS body_parts_covered = 0 diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index d29a870614c..066a8770d78 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -70,6 +70,28 @@ blood_overlay_type = "armor" body_parts_covered = 0 +//Security +/obj/item/clothing/suit/security/navyofficer + name = "security officer's jacket" + desc = "This jacket is for those special occasions when a security officer actually feels safe." + icon_state = "officerbluejacket" + item_state = "officerbluejacket" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + +/obj/item/clothing/suit/security/navywarden + name = "warden's jacket" + desc = "Perfectly suited for the warden that wants to leave an impression of style on those who visit the brig." + icon_state = "wardenbluejacket" + item_state = "wardenbluejacket" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + +/obj/item/clothing/suit/security/navyhos + name = "head of security's jacket" + desc = "This piece of clothing was specifically designed for asserting superior authority." + icon_state = "hosbluejacket" + item_state = "hosbluejacket" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + //Detective /obj/item/clothing/suit/storage/det_suit name = "coat" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 09726bb3d36..bbfe5ffa769 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -62,7 +62,7 @@ /obj/item/clothing/suit/greatcoat name = "great coat" - desc = "A Nazi great coat" + desc = "A heavy great coat" icon_state = "nazi" item_state = "nazi" flags = FPRINT | TABLEPASS @@ -347,3 +347,29 @@ icon_state = "swim_red" item_color = "swim_red" siemens_coefficient = 1 + +/obj/item/clothing/suit/poncho + name = "poncho" + desc = "A simple, comfortable poncho." + icon_state = "classicponcho" + item_state = "classicponcho" + +/obj/item/clothing/suit/poncho/green + name = "green poncho" + desc = "Your classic, non-racist poncho. This one is green." + icon_state = "greenponcho" + item_state = "greenponcho" + +/obj/item/clothing/suit/poncho/red + name = "red poncho" + desc = "Your classic, non-racist poncho. This one is red." + icon_state = "redponcho" + item_state = "redponcho" + +/obj/item/clothing/suit/bomber + name = "bomber jacker" + desc = "A well-worn WW2 leather bomber jacket." + icon_state = "bomber" + item_state = "bomber" + flags = FPRINT | TABLEPASS + body_parts_covered = UPPER_TORSO|ARMS \ 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 93db4210358..f17832d7beb 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -174,4 +174,29 @@ item_state = "jensencoat" flags_inv = 0 siemens_coefficient = 0.6 - body_parts_covered = UPPER_TORSO|ARMS \ No newline at end of file + body_parts_covered = UPPER_TORSO|ARMS + +/* + * Navy uniforms + */ + +/obj/item/clothing/under/rank/security/navyblue + name = "security officer's uniform" + desc = "The latest in fashionable security outfits." + icon_state = "officerblueclothes" + item_state = "officerblueclothes" + item_color = "officerblueclothes" + +/obj/item/clothing/under/rank/head_of_security/navyblue + desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security." + name = "head of security's uniform" + icon_state = "hosblueclothes" + item_state = "hosblueclothes" + item_color = "hosblueclothes" + +/obj/item/clothing/under/rank/warden/navyblue + desc = "The insignia on this uniform tells you that this uniform belongs to the Warden." + name = "warden's uniform" + icon_state = "wardenblueclothes" + item_state = "wardenblueclothes" + item_color = "wardenblueclothes" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 9c52df5a266..2e8697f36a8 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -390,4 +390,74 @@ icon_state = "sundress" item_state = "sundress" item_color = "sundress" - body_parts_covered = UPPER_TORSO|LOWER_TORSO \ No newline at end of file + body_parts_covered = UPPER_TORSO|LOWER_TORSO + +/obj/item/clothing/under/captainformal + name = "captain's formal uniform" + desc = "A captain's formal-wear, for special occasions." + icon_state = "captain_formal" + item_state = "by_suit" + item_color = "captain_formal" + +/obj/item/clothing/under/hosformalmale + name = "head of security's formal uniform" + desc = "A male head of security's formal-wear, for special occasions." + icon_state = "hos_formal_male" + item_state = "r_suit" + item_color = "hos_formal_male" + +/obj/item/clothing/under/hosformalfem + name = "head of security's formal uniform" + desc = "A female head of security's formal-wear, for special occasions." + icon_state = "hos_formal_fem" + item_state = "r_suit" + item_color = "hos_formal_fem" + +/obj/item/clothing/under/assistantformal + name = "assistant's formal uniform" + desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown." + icon_state = "assistant_formal" + item_state = "gy_suit" + item_color = "assistant_formal" + +/obj/item/clothing/under/suit_jacket/charcoal + name = "charcoal suit" + desc = "A charcoal suit and red tie. Very professional." + icon_state = "charcoal_suit" + item_state = "charcoal_suit" + item_color = "charcoal_suit" + +/obj/item/clothing/under/suit_jacket/navy + name = "navy suit" + desc = "A navy suit and red tie, intended for the station's finest." + icon_state = "navy_suit" + item_state = "navy_suit" + item_color = "navy_suit" + +/obj/item/clothing/under/suit_jacket/burgundy + name = "burgundy suit" + desc = "A burgundy suit and black tie. Somewhat formal." + icon_state = "burgundy_suit" + item_state = "burgundy_suit" + item_color = "burgundy_suit" + +/obj/item/clothing/under/suit_jacket/checkered + name = "checkered suit" + desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?" + icon_state = "checkered_suit" + item_state = "checkered_suit" + item_color = "checkered_suit" + +/obj/item/clothing/under/suit_jacket/tan + name = "tan suit" + desc = "A tan suit with a yellow tie. Smart, but casual." + icon_state = "tan_suit" + item_state = "tan_suit" + item_color = "tan_suit" + +/obj/item/clothing/under/serviceoveralls + name = "Workman outfit" + desc = "The very image of a working man. Not that you're probably doing work." + icon_state = "mechanic_s" + item_state = "mechanic_s" + item_color = "mechanic_s" \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index c84c5b43559..aba8b377f63 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -245,10 +245,10 @@ var/list/ai_verbs_default = list( //if(icon_state == initial(icon_state)) var/icontype = "" if (custom_sprite == 1) icontype = ("Custom")//automagically selects custom sprite if one is available - else icontype = input("Select an icon!", "AI", null, null) in list("Monochrome", "Blue", "Inverted", "Text", "Smiley", "Angry", "Dorf", "Matrix", "Bliss", "Firewall", "Green", "Red", "Static", "Triumvirate", "Triumvirate Static") + else icontype = input("Select an icon!", "AI", null, null) in list("Monochrome", "Rainbow", "Blue", "Inverted", "Text", "Smiley", "Angry", "Dorf", "Matrix", "Bliss", "Firewall", "Green", "Red", "Static", "Triumvirate", "Triumvirate Static", "Soviet", "Trapped", "Heartline") switch(icontype) if("Custom") icon_state = "[src.ckey]-ai" - if("Clown") icon_state = "ai-clown2" + if("Rainbow") icon_state = "ai-clown" if("Monochrome") icon_state = "ai-mono" if("Inverted") icon_state = "ai-u" if("Firewall") icon_state = "ai-magma" @@ -263,6 +263,9 @@ var/list/ai_verbs_default = list( if("Bliss") icon_state = "ai-bliss" if("Triumvirate") icon_state = "ai-triumvirate" if("Triumvirate Static") icon_state = "ai-triumvirate-malf" + if("Soviet") icon_state = "ai-redoctober" + if("Trapped") icon_state = "ai-hades" + if("Heartline") icon_state = "ai-heartline" else icon_state = "ai" //else //usr <<"You can only change your display once!" @@ -684,7 +687,8 @@ var/list/ai_verbs_default = list( else var/icon_list[] = list( "default", - "floating face" + "floating face", + "carp" ) input = input("Please select a hologram:") as null|anything in icon_list if(input) @@ -694,6 +698,8 @@ var/list/ai_verbs_default = list( holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo1")) if("floating face") holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo2")) + if("carp") + holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo4")) return /*/mob/living/silicon/ai/proc/corereturn() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 667aeb186d2..a6d6f02d391 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -190,6 +190,7 @@ var/list/robot_verbs_default = list( module_sprites["Basic"] = "robot_old" module_sprites["Android"] = "droid" module_sprites["Default"] = "robot" + module_sprites["Drone"] = "drone-standard" if("Service") module = new /obj/item/weapon/robot_module/butler(src) @@ -198,6 +199,7 @@ var/list/robot_verbs_default = list( module_sprites["Bro"] = "Brobot" module_sprites["Rich"] = "maximillion" module_sprites["Default"] = "Service2" + module_sprites["Drone"] = "drone-service" // How does this even work...? Oh well. if("Clerical") module = new /obj/item/weapon/robot_module/clerical(src) @@ -206,6 +208,7 @@ var/list/robot_verbs_default = list( module_sprites["Bro"] = "Brobot" module_sprites["Rich"] = "maximillion" module_sprites["Default"] = "Service2" + module_sprites["Drone"] = "drone-service" if("Miner") module = new /obj/item/weapon/robot_module/miner(src) @@ -215,6 +218,7 @@ var/list/robot_verbs_default = list( module_sprites["Basic"] = "Miner_old" module_sprites["Advanced Droid"] = "droid-miner" module_sprites["Treadhead"] = "Miner" + module_sprites["Drone"] = "drone-medical" if("Crisis") module = new /obj/item/weapon/robot_module/crisis(src) @@ -236,6 +240,7 @@ var/list/robot_verbs_default = list( module_sprites["Standard"] = "surgeon" module_sprites["Advanced Droid"] = "droid-medical" module_sprites["Needles"] = "medicalrobot" + module_sprites["Drone"] = "drone-medical" if("Security") module = new /obj/item/weapon/robot_module/security(src) @@ -244,6 +249,8 @@ var/list/robot_verbs_default = list( module_sprites["Red Knight"] = "Security" module_sprites["Black Knight"] = "securityrobot" module_sprites["Bloodhound"] = "bloodhound" + module_sprites["Bloodhound - Treaded"] = "secborg+tread" + module_sprites["Drone"] = "drone-sec" if("Engineering") module = new /obj/item/weapon/robot_module/engineering(src) @@ -253,6 +260,8 @@ var/list/robot_verbs_default = list( module_sprites["Basic"] = "Engineering" module_sprites["Antique"] = "engineerrobot" module_sprites["Landmate"] = "landmate" + module_sprites["Landmate - Treaded"] = "engiborg+tread" + module_sprites["Drone"] = "drone-engineer" if("Construction") module = new /obj/item/weapon/robot_module/construction(src) @@ -262,12 +271,15 @@ var/list/robot_verbs_default = list( module_sprites["Basic"] = "Engineering" module_sprites["Antique"] = "engineerrobot" module_sprites["Landmate"] = "landmate" + module_sprites["Landmate - Treaded"] = "engiborg+tread" + module_sprites["Drone"] = "drone-engineer" if("Janitor") module = new /obj/item/weapon/robot_module/janitor(src) module_sprites["Basic"] = "JanBot2" module_sprites["Mopbot"] = "janitorrobot" module_sprites["Mop Gear Rex"] = "mopgearrex" + module_sprites["Drone"] = "drone-janitor" if("Combat") module = new /obj/item/weapon/robot_module/combat(src) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 225290d91b6..4678531947d 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -2,9 +2,9 @@ /mob/living/simple_animal/cat name = "cat" desc = "A domesticated, feline pet. Has a tendency to adopt crewmembers." - icon_state = "cat" - icon_living = "cat" - icon_dead = "cat_dead" + icon_state = "cat2" + icon_living = "cat2" + icon_dead = "cat2_dead" speak = list("Meow!","Esp!","Purr!","HSSSSS") speak_emote = list("purrs", "meows") emote_hear = list("meows","mews") @@ -76,6 +76,15 @@ //RUNTIME IS ALIVE! SQUEEEEEEEE~ /mob/living/simple_animal/cat/Runtime name = "Runtime" - desc = "Its fur has the look and feel of velvet, and its tail quivers occasionally." - + desc = "Her fur has the look and feel of velvet, and her tail quivers occasionally." + icon_state = "cat" + icon_living = "cat" + icon_dead = "cat_dead" +/mob/living/simple_animal/cat/kitten + name = "kitten" + desc = "D'aaawwww" + icon_state = "kitten" + icon_living = "kitten" + icon_dead = "kitten_dead" + gender = NEUTER \ No newline at end of file diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 5374d98b36c..1717560c56a 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -67,3 +67,28 @@ /obj/item/weapon/stamp/attack_paw(mob/user as mob) return attack_hand(user) + +// Syndicate stamp to forge documents. + +/obj/item/weapon/stamp/chameleon/attack_self(mob/user as mob) + + var/list/stamp_types = typesof(/obj/item/weapon/stamp) - src.type // Get all stamp types except our own + var/list/stamps = list() + + // Generate them into a list + for(var/stamp_type in stamp_types) + var/obj/item/weapon/stamp/S = new stamp_type + stamps[capitalize(S.name)] = S + + var/list/show_stamps = list("EXIT" = null) + sortList(stamps) // the list that will be shown to the user to pick from + + var/input_stamp = input(user, "Choose a stamp to disguise as.", "Choose a stamp.") in show_stamps + + if(user && src in user.contents) + + var/obj/item/weapon/stamp/chosen_stamp = stamps[capitalize(input_stamp)] + + if(chosen_stamp) + name = chosen_stamp.name + icon_state = chosen_stamp.icon_state + item_color = chosen_stamp.item_color \ No newline at end of file diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi index d7f3722c64a..5cf5b9cae70 100644 Binary files a/icons/mecha/mech_construction.dmi and b/icons/mecha/mech_construction.dmi differ diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 57ef083f54b..a81afab57b9 100644 Binary files a/icons/mecha/mecha.dmi and b/icons/mecha/mecha.dmi differ diff --git a/icons/mob/AI.dmi b/icons/mob/AI.dmi index d3a4bf4d53b..ad16ae98a22 100644 Binary files a/icons/mob/AI.dmi and b/icons/mob/AI.dmi differ diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index e9886ba8a0f..20cb0a702c4 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 155303f6bc2..802563e9145 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index 55765d66644..b8f4ca65eb9 100644 Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 9cf9462cbb5..00895fea16d 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index b2c3ea11e66..59ac92eb56e 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index ae85b6bce26..73d964dc248 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 1d4857adea4..1ee07beba64 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index b3e2fc80e69..6e59e9587f5 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/turf/catwalks.dmi b/icons/turf/catwalks.dmi new file mode 100644 index 00000000000..049cde3a13a Binary files /dev/null and b/icons/turf/catwalks.dmi differ