diff --git a/code/datums/greyscale/config_types/greyscale_configs.dm b/code/datums/greyscale/config_types/greyscale_configs.dm index 6dfaadb4ba78..5a6b996d7058 100644 --- a/code/datums/greyscale/config_types/greyscale_configs.dm +++ b/code/datums/greyscale/config_types/greyscale_configs.dm @@ -1100,6 +1100,16 @@ icon_file = 'monkestation/icons/mob/clothing/neck.dmi' json_config = 'code/datums/greyscale/json_configs/boatcloakworn.json' +/datum/greyscale_config/admincloak + name = "admincloak" + icon_file = 'monkestation/icons/obj/clothing/necks.dmi' + json_config = 'code/datums/greyscale/json_configs/admincloak.json' + +/datum/greyscale_config/admincloak_worn + name = "wadmincloak" + icon_file = 'monkestation/icons/obj/clothing/necks.dmi' + json_config = 'code/datums/greyscale/json_configs/admincloakworn.json' + /datum/greyscale_config/fish_analyzer_inhand_left name = "Held Fish Analyzer, Left" icon_file = 'icons/mob/inhands/items_lefthand.dmi' diff --git a/code/datums/greyscale/json_configs/admincloak.json b/code/datums/greyscale/json_configs/admincloak.json new file mode 100644 index 000000000000..0d04fc78ba5d --- /dev/null +++ b/code/datums/greyscale/json_configs/admincloak.json @@ -0,0 +1,15 @@ + +{ + "admincloak": [ + { + "type": "icon_state", + "icon_state": "admin" + }, + { + "type": "icon_state", + "icon_state": "admin-lizard", + "blend_mode": "overlay", + "color_ids": [1] + } + ] +} diff --git a/code/datums/greyscale/json_configs/admincloakworn.json b/code/datums/greyscale/json_configs/admincloakworn.json new file mode 100644 index 000000000000..48fc146792f5 --- /dev/null +++ b/code/datums/greyscale/json_configs/admincloakworn.json @@ -0,0 +1,15 @@ + +{ + "wadmincloak": [ + { + "type": "icon_state", + "icon_state": "admin" + }, + { + "type": "icon_state", + "icon_state": "admin-lizard", + "blend_mode": "overlay", + "color_ids": [1] + } + ] +} diff --git a/monkestation/code/modules/clothing/neck/cloaks.dm b/monkestation/code/modules/clothing/neck/cloaks.dm index ff6d2eefeb87..6f08560fcf67 100644 --- a/monkestation/code/modules/clothing/neck/cloaks.dm +++ b/monkestation/code/modules/clothing/neck/cloaks.dm @@ -139,13 +139,27 @@ worn_icon_state = "ace" resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/admin +/obj/item/clothing/neck/admincloak name = "admin cloak" desc = "Weh!" + icon_state = "admincloak" + worn_icon_state = "wadmincloak" + greyscale_config = /datum/greyscale_config/admincloak + greyscale_config_worn = /datum/greyscale_config/admincloak_worn + greyscale_colors = "#FFFFFF" + flags_1 = IS_PLAYER_COLORABLE_1 + +/obj/item/clothing/neck/mentorcloak + name = "mentor cloak" + desc = "Buzz!" icon = 'monkestation/icons/obj/clothing/necks.dmi' worn_icon = 'monkestation/icons/obj/clothing/necks.dmi' - icon_state = "admin" - worn_icon_state = "admin" + icon_state = "mentor" + +/obj/item/clothing/neck/mentor/Initialize(mapload) + . = ..() + AddComponent(/datum/component/toggle_clothes, "mentor_t") + /obj/item/clothing/neck/helldivercape name = "helldiver cape" diff --git a/monkestation/code/modules/loadouts/items/_loadout_datum.dm b/monkestation/code/modules/loadouts/items/_loadout_datum.dm index 633ea4234ae7..e71190b3d3d3 100644 --- a/monkestation/code/modules/loadouts/items/_loadout_datum.dm +++ b/monkestation/code/modules/loadouts/items/_loadout_datum.dm @@ -58,6 +58,8 @@ GLOBAL_LIST_EMPTY(all_loadout_datums) var/requires_purchase = TRUE ///can only admins use this? var/admin_only = FALSE + //can only mentors use this? + var/mentor_only = FALSE /* * Place our [var/item_path] into [outfit]. diff --git a/monkestation/code/modules/loadouts/items/admin.dm b/monkestation/code/modules/loadouts/items/admin.dm index 6bd42453be46..3817635441e0 100644 --- a/monkestation/code/modules/loadouts/items/admin.dm +++ b/monkestation/code/modules/loadouts/items/admin.dm @@ -2,4 +2,11 @@ name = "Admin Cloak" requires_purchase = FALSE admin_only = TRUE - item_path = /obj/item/clothing/neck/admin + item_path = /obj/item/clothing/neck/admincloak + + +/datum/loadout_item/neck/mentor_cloak + name = "Mentor Cloak" + requires_purchase = FALSE + mentor_only = TRUE + item_path = /obj/item/clothing/neck/mentorcloak diff --git a/monkestation/code/modules/loadouts/loadout_middleware.dm b/monkestation/code/modules/loadouts/loadout_middleware.dm index 10816e827232..c60b5901331c 100644 --- a/monkestation/code/modules/loadouts/loadout_middleware.dm +++ b/monkestation/code/modules/loadouts/loadout_middleware.dm @@ -160,6 +160,11 @@ formatted_list.len-- continue + if(item.mentor_only) //These checks are also performed in the backend. + if(!preferences.parent.mentor_datum && !is_admin(preferences.parent)) + formatted_list.len-- + continue + if(item.admin_only) //These checks are also performed in the backend. if(!is_admin(preferences.parent)) formatted_list.len-- diff --git a/monkestation/icons/obj/clothing/necks.dmi b/monkestation/icons/obj/clothing/necks.dmi index 29c6f7cbc2ea..5c0ecb0f1f5f 100644 Binary files a/monkestation/icons/obj/clothing/necks.dmi and b/monkestation/icons/obj/clothing/necks.dmi differ