diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index 218d2fb21cf..01ce9f87c8c 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -78,6 +78,4 @@ item_state = "purplecomb" /obj/item/weapon/haircomb/attack_self(mob/user) - if(user.r_hand == src || user.l_hand == src) - user.visible_message(text("[] uses [] to comb their hair with incredible style and sophistication. What a [].", user, src, user.gender == FEMALE ? "lady" : "guy")) - return + user.visible_message("[user] uses [src] to comb their hair with incredible style and sophistication. What a [user.gender == FEMALE ? "lady" : "guy"].") \ No newline at end of file diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index aced90f9bb6..261aa3266a8 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -30,7 +30,7 @@ /obj/structure/mirror/bullet_act(var/obj/item/projectile/Proj) - + if(prob(Proj.get_structure_damage() * 2)) if(!shattered) shatter() @@ -64,6 +64,13 @@ user.visible_message("[user] hits [src] and bounces off!") return 1 +/obj/structure/mirror/Destroy() + for(var/user in ui_users) + var/datum/nano_module/appearance_changer/AC = ui_users[user] + qdel(AC) + ui_users.Cut() + ..() + // The following mirror is ~special~. /obj/structure/mirror/raider name = "cracked mirror" @@ -91,3 +98,27 @@ raiders.update_access(vox) qdel(user) ..() + +/obj/item/weapon/mirror + name = "mirror" + desc = "A SalonPro Nano-Mirror(TM) brand mirror! Now a portable version." + icon = 'icons/obj/items.dmi' + icon_state = "mirror" + var/list/ui_users = list() + +/obj/item/weapon/mirror/attack_self(mob/user as mob) + if(ishuman(user)) + var/datum/nano_module/appearance_changer/AC = ui_users[user] + if(!AC) + AC = new(src, user) + AC.name = "SalonPro Nano-Mirror™" + AC.flags = APPEARANCE_HAIR + ui_users[user] = AC + AC.ui_interact(user) + +/obj/item/weapon/mirror/Destroy() + for(var/user in ui_users) + var/datum/nano_module/appearance_changer/AC = ui_users[user] + qdel(AC) + ui_users.Cut() + ..() \ No newline at end of file diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 40cd37094dd..dfc26cb7c6a 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -1233,6 +1233,12 @@ var/global/list/gear_datums = list() sort_category = "misc" cost = 1 +/datum/gear/mirror + display_name = "handheld mirror" + path = /obj/item/weapon/mirror + sort_category = "misc" + cost = 1 + /datum/gear/zippo display_name = "zippo" path = /obj/item/weapon/flame/lighter/zippo diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 6631ebe296d..bd6bdba6635 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ