From 492dc6d2ced2f25458a42de865df92fa82e715c2 Mon Sep 17 00:00:00 2001 From: Geeves Date: Fri, 26 Mar 2021 00:55:12 +0200 Subject: [PATCH] Business Cards (#11504) --- aurorastation.dme | 1 + .../items/weapons/storage/business_card.dm | 36 ++++++++++++++++++ .../objects/items/weapons/storage/wallets.dm | 4 +- .../preference_setup/loadout/gear_tweaks.dm | 17 +++++++++ .../loadout/loadout_utility.dm | 31 ++++++++++++--- html/changelogs/geeves-business_cards.yml | 6 +++ icons/obj/office_supplies.dmi | Bin 0 -> 1126 bytes 7 files changed, 89 insertions(+), 6 deletions(-) create mode 100644 code/game/objects/items/weapons/storage/business_card.dm create mode 100644 html/changelogs/geeves-business_cards.yml create mode 100644 icons/obj/office_supplies.dmi diff --git a/aurorastation.dme b/aurorastation.dme index 044638a4979..bcef86c971d 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -989,6 +989,7 @@ #include "code\game\objects\items\weapons\storage\bible.dm" #include "code\game\objects\items\weapons\storage\boxes.dm" #include "code\game\objects\items\weapons\storage\briefcase.dm" +#include "code\game\objects\items\weapons\storage\business_card.dm" #include "code\game\objects\items\weapons\storage\cell_backpack.dm" #include "code\game\objects\items\weapons\storage\fancy.dm" #include "code\game\objects\items\weapons\storage\field_ration.dm" diff --git a/code/game/objects/items/weapons/storage/business_card.dm b/code/game/objects/items/weapons/storage/business_card.dm new file mode 100644 index 00000000000..12b13795b3b --- /dev/null +++ b/code/game/objects/items/weapons/storage/business_card.dm @@ -0,0 +1,36 @@ +/obj/item/storage/business_card_holder + name = "business card holder" + desc = "A sleek holster for your business card. You wouldn't want it getting damaged in any way." + storage_slots = 5 + icon = 'icons/obj/office_supplies.dmi' + icon_state = "holder" + w_class = ITEMSIZE_TINY + max_w_class = ITEMSIZE_TINY + can_hold = list(/obj/item/paper/business_card) + +/obj/item/storage/business_card_holder/update_icon() + cut_overlays() + if(length(contents)) + var/mutable_appearance/card_overlay = mutable_appearance(icon, "holder-overlay") + card_overlay.appearance_flags = RESET_COLOR + add_overlay(card_overlay) + +/obj/item/paper/business_card + name = "business card" + desc = "A small slip of paper, capable of elevating your status on the social hierachy between you and your co-workers, provided you picked the right font." + icon = 'icons/obj/office_supplies.dmi' + icon_state = "generic_card1" + +/obj/item/paper/business_card/attack_self(mob/living/user) + user.examinate(src) + +/obj/item/paper/business_card/alt + icon_state = "generic_card2" + +/obj/item/paper/business_card/rounded + icon_state = "rounded_corners" + +/obj/item/paper/business_card/glass + name = "glass business card" + desc = "A fancy variant of the classic business card. This one immediately indicates that you're serious about your business, but the contents of the card will seal the deal." + icon_state = "glass_card" \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index c87098bcda2..f937da64c9c 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -35,7 +35,9 @@ /obj/item/stamp, /obj/item/device/paicard, /obj/item/device/encryptionkey, - /obj/item/fluff) + /obj/item/fluff, + /obj/item/storage/business_card_holder + ) slot_flags = SLOT_ID var/obj/item/card/id/front_id = null diff --git a/code/modules/client/preference_setup/loadout/gear_tweaks.dm b/code/modules/client/preference_setup/loadout/gear_tweaks.dm index 2b5767e3397..5c148b087e2 100644 --- a/code/modules/client/preference_setup/loadout/gear_tweaks.dm +++ b/code/modules/client/preference_setup/loadout/gear_tweaks.dm @@ -206,3 +206,20 @@ var/datum/gear_tweak/custom_desc/gear_tweak_free_desc = new() if(!metadata) return I.desc I.desc = metadata + +/* +Paper Data +*/ +/datum/gear_tweak/paper_data/get_contents(var/metadata) + return "Written Content: [length(metadata) > 15 ? "[copytext_char(metadata, 1, 15)]..." : metadata]" + +/datum/gear_tweak/paper_data/get_default() + return "" + +/datum/gear_tweak/paper_data/get_metadata(var/user, var/metadata) + return sanitize(input(user, "Choose a pre-written message on the item.", "Pre-written Message", metadata) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0) + +/datum/gear_tweak/paper_data/tweak_item(var/obj/item/paper/P, var/metadata) + if(!metadata || !istype(P)) + return + P.info = P.parsepencode(metadata) \ No newline at end of file diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm index 2cdab346eee..a3baf793c21 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm @@ -50,6 +50,7 @@ fountainpens["silver fountain pen"] = /obj/item/pen/fountain/silver fountainpens["white fountain pen"] = /obj/item/pen/fountain/white gear_tweaks += new/datum/gear_tweak/path(fountainpens) + /datum/gear/utility/paicard display_name = "personal AI device" path = /obj/item/device/paicard @@ -73,11 +74,11 @@ /datum/gear/utility/recorder display_name = "universal recorder" - path = /obj/item/device/taperecorder + path = /obj/item/device/taperecorder /datum/gear/utility/camera display_name = "camera" - path = /obj/item/device/camera + path = /obj/item/device/camera /datum/gear/utility/himeo_kit display_name = "himean voidsuit kit" @@ -85,10 +86,30 @@ allowed_roles = list("Cargo Technician", "Shaft Miner", "Quartermaster", "Head of Personnel", "Station Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice") /datum/gear/utility/wheelchair/color - display_name = "wheelchair" - path = /obj/item/wheelchair - cost = 4 + display_name = "wheelchair" + path = /obj/item/wheelchair + cost = 4 /datum/gear/utility/wheelchair/color/New() ..() gear_tweaks += gear_tweak_free_color_choice + +/datum/gear/utility/business_card_holder + display_name = "business card holder" + path = /obj/item/storage/business_card_holder + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION + +/datum/gear/utility/business_card + display_name = "business card" + path = /obj/item/paper/business_card + flags = 0 + +/datum/gear/utility/business_card/New() + ..() + var/list/cards = list() + cards["business card, divided"] = /obj/item/paper/business_card + cards["business card, plain"] = /obj/item/paper/business_card/alt + cards["business card, rounded"] = /obj/item/paper/business_card/rounded + cards["business card, glass"] = /obj/item/paper/business_card/glass + gear_tweaks += new /datum/gear_tweak/path(cards) + gear_tweaks += new /datum/gear_tweak/paper_data() \ No newline at end of file diff --git a/html/changelogs/geeves-business_cards.yml b/html/changelogs/geeves-business_cards.yml new file mode 100644 index 00000000000..ad5cfec0b12 --- /dev/null +++ b/html/changelogs/geeves-business_cards.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added business cards to the utility loadout." \ No newline at end of file diff --git a/icons/obj/office_supplies.dmi b/icons/obj/office_supplies.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4d70073bf39c7df8a6027a6c5a6762fd8e979556 GIT binary patch literal 1126 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdsdZH$5hX6E#mPmP1tppJc?=8{ zbEcj@$klAX!}g%~w}|6;>C10#oepSYuWb#Qbw(_PJ9GJ)x8)ypIqrShuK&}M_xnFX zp9{UsF`bk98Aa}#6W28BzuDN7t=+0@zk5&n6koM~fU_bUd#_$IFq=JU_L*G`*} z@aOKy{{7bScXk@iKHKu()0q;+jz|p#3lRnxE(ShUhIXa~XT}2y86E^M6krHf&MQ0q zvu2;)?)9&C_0}9+nfFI0b%SPI7Nd)c+v1C9x4+j)^0in0?m7Ngr~ORJ%O59=WDafn zam|!*-~0D_!@N3!P6c$HO5eTj_%-`rwiQe#SN{tTTVZ`SuY7ZD&fm4C89Xmf4Vt~0 zp>@Z)k5lV?Kq9xl9bZ5B|7z>P+R62wFL?Z3op5c0_pWi0HWd`sCXp z&Hd}@&bz(~uKjjw(vMrS8#KB~9O)E+sy5^H$|=8BK!Hq zkM;5UEOxyAdiU?My{~tdOzMcZ!LCtV+Yl+>asRW~+k%@akL^o~HqZGX@tP&T>#a|F zn3tzS+an7<#mh&2&r8=~mg&mZVK$k4_6oahlSSRl*USdYHbSl!Z>AXSypxyQ9Vf7o z>*HhX4_8li*4Wg}-zA>s{pSjk&AlkmOS{(>{kfX8wOD@L>u>9{KJIj2v5?_n!%Pvc z_ik~k6}&}N5i)#0duc7F_bZV4(4W@!T2e-JD%leF-z=q(-@)OD_R+3YR~xV z&SID}KSnZP_vNP+ek+|1xaiMh?Qp-pE%A1?ehw3^ME;XoC%Em^LBrqAfCUGGr>mdK II;Vst0M^F%4gdfE literal 0 HcmV?d00001