diff --git a/code/game/objects/items/tools/misc_tools.dm b/code/game/objects/items/tools/misc_tools.dm index 727f6c5c7677..1bcebd9f1ea3 100644 --- a/code/game/objects/items/tools/misc_tools.dm +++ b/code/game/objects/items/tools/misc_tools.dm @@ -275,6 +275,25 @@ desc = "It's an invisible pen marker." pen_colour = "white" +/obj/item/tool/pen/fountain + desc = "A luxurious fountain pen, embossed with gold accents. Its intricate mechanics allow the user to switch between various ink colors with a simple twist." + name = "fountain pen" + icon_state = "fountain_pen" + item_state = "fountain_pen" + matter = list("metal" = 20, "gold" = 10) + var/static/list/colour_list = list("red", "blue", "green", "yellow", "purple", "pink", "brown", "black", "orange") // Can add more colors as required + var/current_colour_index = 1 + +/obj/item/tool/pen/fountain/attack_self(mob/living/carbon/human/user) + if(on) + current_colour_index = (current_colour_index % length(colour_list)) + 1 + pen_colour = colour_list[current_colour_index] + balloon_alert(user,"you twist the pen and change the ink color to [pen_colour].") + if(clicky) + playsound(user.loc, 'sound/items/pen_click_on.ogg', 100, 1, 5) + update_pen_state() + else + ..() /obj/item/tool/pen/attack(mob/M as mob, mob/user as mob) if(!ismob(M)) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 1d4b77f15550..e712e267fb2d 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -363,6 +363,11 @@ var/global/list/gear_datums_by_name = list() display_name = "Pen, red" path = /obj/item/tool/pen/red +/datum/gear/paperwork/pen_fountain + display_name = "Pen, fountain" + path = /obj/item/tool/pen/fountain + cost = 3 + /datum/gear/paperwork/paper display_name = "Sheet of paper" path = /obj/item/paper diff --git a/code/modules/clothing/head/head.dm b/code/modules/clothing/head/head.dm index 1b4e292a22af..0916ecfb34e9 100644 --- a/code/modules/clothing/head/head.dm +++ b/code/modules/clothing/head/head.dm @@ -248,7 +248,9 @@ /obj/item/prop/helmetgarb/lucky_feather = "lucky_feather", /obj/item/prop/helmetgarb/lucky_feather/blue = "lucky_feather_blue", /obj/item/prop/helmetgarb/lucky_feather/purple = "lucky_feather_purple", - /obj/item/prop/helmetgarb/lucky_feather/yellow = "lucky_feather_yellow") + /obj/item/prop/helmetgarb/lucky_feather/yellow = "lucky_feather_yellow", + /obj/item/tool/pen/fountain = "fountainpen", + ) var/storage_slots = 1 var/storage_slots_reserved_for_garb = 1 var/storage_max_w_class = SIZE_TINY diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index eab8b76e81ab..1b66d3e1bf5f 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -326,6 +326,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( /obj/item/prop/helmetgarb/riot_shield = "helmet_riot_shield", /obj/item/attachable/flashlight = HELMET_GARB_RELAY_ICON_STATE, /obj/item/prop/helmetgarb/chaplain_patch = "chaplain_patch", + /obj/item/tool/pen/fountain = "fountainpen", // MEDICAL /obj/item/stack/medical/bruise_pack ="brutepack (bandages)", diff --git a/code/modules/gear_presets/uscm_medical.dm b/code/modules/gear_presets/uscm_medical.dm index ac1e082f6655..3c4509e88789 100644 --- a/code/modules/gear_presets/uscm_medical.dm +++ b/code/modules/gear_presets/uscm_medical.dm @@ -55,6 +55,7 @@ back_item = /obj/item/storage/backpack/marine new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/cmo(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) diff --git a/code/modules/gear_presets/uscm_police.dm b/code/modules/gear_presets/uscm_police.dm index 2b8cb2ce453c..884e0edcd9db 100644 --- a/code/modules/gear_presets/uscm_police.dm +++ b/code/modules/gear_presets/uscm_police.dm @@ -170,6 +170,7 @@ back_item = /obj/item/storage/backpack/security new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/cmpcom(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/warrant(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) @@ -184,6 +185,7 @@ new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) + //*****************************************************************************************************/ /datum/equipment_preset/uscm_ship/uscm_police/riot_mp diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm index 7aa9eabb3042..8816ed5f5790 100644 --- a/code/modules/gear_presets/uscm_ship.dm +++ b/code/modules/gear_presets/uscm_ship.dm @@ -77,6 +77,7 @@ //back_item = /obj/item/storage/backpack new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcl(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) @@ -218,6 +219,7 @@ back_item = /obj/item/storage/backpack/marine/tech new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/ce(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/ce(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) @@ -342,6 +344,7 @@ back_item = /obj/item/storage/backpack/industrial new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/ro(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/ro_suit(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) @@ -452,6 +455,7 @@ sidearmpath = /obj/item/storage/belt/gun/m4a3/vp78 new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/service(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress/commander(new_human), WEAR_FEET) @@ -519,6 +523,7 @@ back_item = /obj/item/storage/backpack/marine new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/exec(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/service(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(new_human), WEAR_FEET) @@ -552,6 +557,7 @@ back_item = /obj/item/storage/backpack/marine new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) @@ -591,6 +597,7 @@ new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_R_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m44/custom(new_human), WEAR_WAIST) diff --git a/icons/mob/humans/onmob/helmet_garb.dmi b/icons/mob/humans/onmob/helmet_garb.dmi index 10d988b153dd..3bb63088783f 100644 Binary files a/icons/mob/humans/onmob/helmet_garb.dmi and b/icons/mob/humans/onmob/helmet_garb.dmi differ diff --git a/icons/obj/items/paper.dmi b/icons/obj/items/paper.dmi index 3589d5a1b4c2..d0c918a65e59 100644 Binary files a/icons/obj/items/paper.dmi and b/icons/obj/items/paper.dmi differ