diff --git a/baystation12.dme b/baystation12.dme index 69a61b42524..8da74bc8662 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -708,6 +708,7 @@ #include "code\modules\admin\verbs\deadsay.dm" #include "code\modules\admin\verbs\debug.dm" #include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\gimmicks.dm" #include "code\modules\admin\verbs\mapping.dm" #include "code\modules\admin\verbs\massmodvar.dm" #include "code\modules\admin\verbs\MC.dm" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 50fc1241a22..e3133bdc82c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -207,6 +207,7 @@ verbs += /client/proc/admin_cancel_shuttle verbs += /obj/admins/proc/show_traitor_panel verbs += /client/proc/cmd_admin_dress + verbs += /client/proc/cmd_admin_christmas verbs += /client/proc/respawn_character verbs += /client/proc/spawn_xeno verbs += /proc/possess @@ -340,6 +341,7 @@ verbs -= /client/proc/admin_cancel_shuttle verbs -= /obj/admins/proc/show_traitor_panel verbs -= /client/proc/cmd_admin_dress + verbs -= /client/proc/cmd_admin_christmas verbs -= /client/proc/respawn_character verbs -= /client/proc/spawn_xeno verbs -= /proc/possess diff --git a/code/modules/admin/verbs/gimmicks.dm b/code/modules/admin/verbs/gimmicks.dm new file mode 100644 index 00000000000..ae37d3ce2a9 --- /dev/null +++ b/code/modules/admin/verbs/gimmicks.dm @@ -0,0 +1,23 @@ +var/global/gimmick_hat = null + +// irreversable, for now +/client/proc/cmd_admin_christmas() + set category = "Fun" + set name = "Christmas Time" + + if(!authenticated || !holder) + src << "Only administrators may use this command." + return + + if(!gimmick_hat) + log_admin("[usr.key] has started Christmas!") + message_admins("[usr.key] has started Christmas!") + + // handle pre-existing hats + gimmick_hat = "santahat" + else + log_admin("[usr.key] has stopped Christmas!") + message_admins("[usr.key] has stopped Christmas!") + + // handle pre-existing hats + gimmick_hat = null diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d5933f49833..4be9f247296 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1006,6 +1006,8 @@ if(istype(head,/obj/item/clothing/head/kitty)) head_icon = (( lying ) ? head:mob2 : head:mob) overlays += image("icon" = head_icon, "layer" = MOB_LAYER) + if(gimmick_hat) + overlays += image("icon" = icon('gimmick_head.dmi', "[gimmick_hat][!lying ? "" : "2"]"), "layer" = MOB_LAYER) if (head.blood_DNA) var/icon/stain_icon = icon('blood.dmi', "helmetblood[!lying ? "" : "2"]") overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) diff --git a/icons/mob/gimmick_head.dmi b/icons/mob/gimmick_head.dmi new file mode 100644 index 00000000000..5be570dfd1e Binary files /dev/null and b/icons/mob/gimmick_head.dmi differ