//Polychromatic Knight Badge /obj/item/card/id/knight var/id_color = "#00FF00" //defaults to green name = "knight badge" icon = 'modular_citadel/icons/obj/id.dmi' icon_state = "knight" desc = "A badge denoting the owner as a knight! It has a strip for swiping like an ID" /obj/item/card/id/knight/update_label(newname, newjob) . = ..() if(newname || newjob) name = "[(!newname) ? "identification card" : "[newname]'s Knight Badge"][(!newjob) ? "" : " ([newjob])"]" return name = "[(!registered_name) ? "identification card" : "[registered_name]'s Knight Badge"][(!assignment) ? "" : " ([assignment])"]" /obj/item/card/id/knight/update_icon() var/mutable_appearance/id_overlay = mutable_appearance('modular_citadel/icons/obj/id.dmi', "knight_overlay") if(id_color) id_overlay.color = id_color cut_overlays() add_overlay(id_overlay) /obj/item/card/id/knight/AltClick(mob/living/user) if(!in_range(src, user)) //Basic checks to prevent abuse return if(user.incapacitated() || !istype(user)) to_chat(user, "You can't do that right now!") return if(alert("Are you sure you want to recolor your id?", "Confirm Repaint", "Yes", "No") == "Yes") var/energy_color_input = input(usr,"","Choose Energy Color",id_color) as color|null if(energy_color_input) id_color = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) update_icon() /obj/item/card/id/knight/Initialize() . = ..() update_icon() /obj/item/card/id/knight/examine(mob/user) ..() to_chat(user, "Alt-click to recolor it.") //================================================= /obj/item/emagrecharge name = "electromagnet charging device" desc = "A small cell with two prongs lazily jabbed into it. It looks like it's made for charging the small batteries found in electromagnetic devices." icon = 'icons/obj/module.dmi' icon_state = "cell_mini" item_flags = NOBLUDGEON var/uses = 5 //Dictates how many charges the device adds to compatible items /obj/item/emagrecharge/examine(mob/user) . = ..() if(uses) to_chat(user, "It can add up to [uses] charges to compatible devices") else to_chat(user, "It has a small, red, blinking light coming from inside of it. It's spent.") /obj/item/card/emag var/uses = 10 /obj/item/card/emag/examine(mob/user) . = ..() to_chat(user, "It has [uses ? uses : "no"] charges left.") /obj/item/card/emag/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/emagrecharge)) var/obj/item/emagrecharge/ER = W if(ER.uses) uses += ER.uses to_chat(user, "You have added [ER.uses] charges to [src]. It now has [uses] charges.") playsound(src, "sparks", 100, 1) ER.uses = 0 else to_chat(user, "[ER] has no charges left.") return . = ..()