From 808ab72bbf4c3278f834b2bc45c6032e973fc8c7 Mon Sep 17 00:00:00 2001 From: Iajret Creature <122297233+AnArgonianLizardThatStealsPRs@users.noreply.github.com> Date: Thu, 19 Oct 2023 23:10:04 +0300 Subject: [PATCH] [READY] CatEarHeadphones Donor item (#148) * CatEarHeadphones * Forgot to give the configs a name. * Moved code to donator_items.dm * Fixed runtime errors * Added holographic tail, activated by altclick * Removed backups * CatEarHeadphones * Forgot to give the configs a name. * Moved code to donator_items.dm * Fixed runtime errors * Added holographic tail, activated by altclick * Removed backups * Adding a comment. * removing comment --------- Co-authored-by: dtfe3 <26593781+dtfe3@users.noreply.github.com> Co-authored-by: dtfe --- .../modules/GAGS/greyscale_configs.dm | 22 ++++++ .../GAGS/icons/head/catear_headphone.dmi | Bin 0 -> 9452 bytes .../icons/head/catear_headphone_inhand.dmi | Bin 0 -> 493 bytes .../catear_headphone/catear_headphone.json | 58 ++++++++++++++ .../catear_headphone_worn.json | 71 ++++++++++++++++++ .../catear_headphone_worn_inhand_left.json | 31 ++++++++ .../catear_headphone_worn_inhand_right.json | 31 ++++++++ .../clothing/~donator/donator_items.dm | 44 +++++++++++ .../donator/personal/donator_personal.dm | 5 ++ 9 files changed, 262 insertions(+) create mode 100644 modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi create mode 100644 modular_skyrat/modules/GAGS/icons/head/catear_headphone_inhand.dmi create mode 100644 modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone.json create mode 100644 modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn.json create mode 100644 modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_left.json create mode 100644 modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_right.json diff --git a/modular_skyrat/modules/GAGS/greyscale_configs.dm b/modular_skyrat/modules/GAGS/greyscale_configs.dm index 9ee547d060e..40d3eb75ed8 100644 --- a/modular_skyrat/modules/GAGS/greyscale_configs.dm +++ b/modular_skyrat/modules/GAGS/greyscale_configs.dm @@ -165,6 +165,28 @@ /datum/greyscale_config/standalone_hood/worn/oldvox icon_file = 'modular_skyrat/modules/GAGS/icons/head/head_oldvox.dmi' +// CATEAR HEADPHONES + +/datum/greyscale_config/catear_headphone + name = "Cat-ear Headphones" + icon_file = 'modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi' + json_config = 'modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone.json' + +/datum/greyscale_config/catear_headphone/worn + name = "Cat-ear Headphones (Worn)" + icon_file = 'modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi' + json_config = 'modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn.json' + +/datum/greyscale_config/catear_headphone_inhand_left + name = "Cat-ear Headphones (Inhand Left)" + icon_file = 'modular_skyrat/modules/GAGS/icons/head/catear_headphone_inhand.dmi' + json_config = 'modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_left.json' + +/datum/greyscale_config/catear_headphone_inhand_right + name = "Cat-ear Headphones (Inhand Right)" + icon_file = 'modular_skyrat/modules/GAGS/icons/head/catear_headphone_inhand.dmi' + json_config = 'modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_right.json' + /* * MASKS */ diff --git a/modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi b/modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5b052b3b6e37811db49ee85e23443095c03b1c61 GIT binary patch literal 9452 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 literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/GAGS/icons/head/catear_headphone_inhand.dmi b/modular_skyrat/modules/GAGS/icons/head/catear_headphone_inhand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9c560a967682b330e348a9012e375a4992663fc4 GIT binary patch literal 493 zcmVcelVvVyCh3pi*1r72spqTub<0002&NklyN`PFleHynqt|FD)ROuOK2K!e*LnZm-j=wx1VpLg1tY%+Cur jA@I@yF2%+xi2Q*M1s)ma1gTfR00000NkvXXu0mjfi__7@ literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone.json b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone.json new file mode 100644 index 00000000000..b93f28735a4 --- /dev/null +++ b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone.json @@ -0,0 +1,58 @@ +{ + "catear_headphone": [ + { + "type": "icon_state", + "icon_state": "catearphones_obj_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_obj_lights", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ], + "catear_headphone_on": [ + { + "type": "icon_state", + "icon_state": "catearphones_obj_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_obj_lights", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ], + "catear_headphone_tail": [ + { + "type": "icon_state", + "icon_state": "catearphones_obj_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_obj_lights", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ], + "catear_headphone_tail_on": [ + { + "type": "icon_state", + "icon_state": "catearphones_obj_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_obj_lights", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ] +} diff --git a/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn.json b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn.json new file mode 100644 index 00000000000..21dddc567c1 --- /dev/null +++ b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn.json @@ -0,0 +1,71 @@ +{ + "catear_headphone": [ + { + "type": "icon_state", + "icon_state": "catearphones_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_off", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ], + "catear_headphone_on":[ + { + "type": "icon_state", + "icon_state": "catearphones_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_on", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + + ], + "catear_headphone_tail": [ + { + "type": "icon_state", + "icon_state": "catearphones_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_off", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_tail_on", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ], + "catear_headphone_tail_on": [ + { + "type": "icon_state", + "icon_state": "catearphones_base", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_on", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "catearphones_tail_on", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ] +} diff --git a/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_left.json b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_left.json new file mode 100644 index 00000000000..30fa217c40d --- /dev/null +++ b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_left.json @@ -0,0 +1,31 @@ +{ + "catear_headphone": [ + { + "type": "icon_state", + "icon_state": "catear_headphones_left", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catear_headphones_left_color", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ], + "catear_headphone_on":[ + { + "type": "icon_state", + "icon_state": "catear_headphones_left", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catear_headphones_left_color", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + + ] +} diff --git a/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_right.json b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_right.json new file mode 100644 index 00000000000..e0381aa521f --- /dev/null +++ b/modular_skyrat/modules/GAGS/json_configs/head/catear_headphone/catear_headphone_worn_inhand_right.json @@ -0,0 +1,31 @@ +{ + "catear_headphone": [ + { + "type": "icon_state", + "icon_state": "catear_headphones_right", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catear_headphones_right_color", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ], + "catear_headphone_on":[ + { + "type": "icon_state", + "icon_state": "catear_headphones_right", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "catear_headphones_right_color", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + + ] +} diff --git a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_items.dm b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_items.dm index 0366c340146..6455bba4255 100644 --- a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_items.dm +++ b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_items.dm @@ -221,3 +221,47 @@ . = ..() . += span_notice("Etched underneath the handle is the following message:\n") . += span_smallnoticeital("\"I told you I would find a way to make it all easier.\" - A.H.") + +/obj/item/instrument/piano_synth/headphones/catear_headphone + name = "Cat-Ear Headphones" + desc = "Merch of their Electric Guitarist Demi Galgan from the Singularity Shredders. It's heavily customizable and even comes with a holographic tail!" + icon_state = "catear_headphone" + worn_icon = 'modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi' + lefthand_file = 'modular_skyrat/modules/GAGS/icons/head/catear_headphone_inhand.dmi' + righthand_file = 'modular_skyrat/modules/GAGS/icons/head/catear_headphone_inhand.dmi' + inhand_icon_state = "catear_headphone" + slot_flags = ITEM_SLOT_EARS | ITEM_SLOT_HEAD | ITEM_SLOT_NECK + var/catTailToggled = FALSE + instrument_range = 1 + greyscale_colors = "#FFFFFF#FFFFFF" + greyscale_config = /datum/greyscale_config/catear_headphone + greyscale_config_worn = /datum/greyscale_config/catear_headphone/worn + greyscale_config_inhand_left = /datum/greyscale_config/catear_headphone_inhand_left + greyscale_config_inhand_right = /datum/greyscale_config/catear_headphone_inhand_right + flags_1 = IS_PLAYER_COLORABLE_1 + + +/obj/item/instrument/piano_synth/headphones/catear_headphone/Initialize(mapload) + . = ..() + AddElement(/datum/element/gags_recolorable) + update_icon(UPDATE_OVERLAYS) + +/obj/item/instrument/piano_synth/headphones/catear_headphone/worn_overlays(mutable_appearance/standing, isinhands, icon_file) + . = ..() + if(!isinhands) + . += emissive_appearance('modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi', "catearphones_[song?.playing ? "on" : "off"]_emissive", src, alpha = src.alpha) + if(catTailToggled) + . += emissive_appearance('modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi', "catearphones_tail_on_emissive", src, alpha = src.alpha) + icon_state = "catear_headphone_tail[song?.playing ? "_on" : null]" + else + icon_state = "catear_headphone[song?.playing ? "_on" : null]" + +/obj/item/instrument/piano_synth/headphones/catear_headphone/AltClick(mob/user) + . = ..() + catTailToggled = !catTailToggled + user.update_worn_head() + update_icon(UPDATE_OVERLAYS) + +/obj/item/instrument/piano_synth/headphones/catear_headphone/update_overlays() + . = ..() + . += emissive_appearance('modular_skyrat/modules/GAGS/icons/head/catear_headphone.dmi', "catearphones_obj_lights_emissive", src, alpha = src.alpha) diff --git a/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm b/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm index e02a25d1b0d..d900accaaee 100644 --- a/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm +++ b/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm @@ -724,3 +724,8 @@ name = "Nobility Dresscoat" item_path = /obj/item/clothing/suit/toggle/labcoat/medical/vic_dresscoat_donator ckeywhitelist = list("nikotheguydude") + +/datum/loadout_item/head/catear_headphone + name = "Cat-Ear Headphones" + item_path = /obj/item/instrument/piano_synth/headphones/catear_headphone + ckeywhitelist = list("dtfe")