/obj/item/storage/lockbox name = "lockbox" desc = "A locked box." icon_state = "lockbox+l" item_state = "syringe_kit" w_class = WEIGHT_CLASS_BULKY max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. storage_slots = 4 req_access = list(ACCESS_ARMORY) var/locked = 1 var/broken = 0 var/icon_locked = "lockbox+l" var/icon_closed = "lockbox" var/icon_broken = "lockbox+b" /obj/item/storage/lockbox/attackby(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda)) if(broken) to_chat(user, "It appears to be broken.") return if(check_access(W)) locked = !locked if(locked) icon_state = icon_locked to_chat(user, "You lock \the [src]!") if(user.s_active) user.s_active.close(user) return else icon_state = icon_closed to_chat(user, "You unlock \the [src]!") origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D. return else to_chat(user, "Access denied.") return else if((istype(W, /obj/item/card/emag) || (istype(W, /obj/item/melee/energy/blade)) && !broken)) emag_act(user) return if(!locked) ..() else to_chat(user, "It's locked!") return /obj/item/storage/lockbox/show_to(mob/user as mob) if(locked) to_chat(user, "It's locked!") else ..() return /obj/item/storage/lockbox/can_be_inserted(obj/item/W as obj, stop_messages = 0) if(!locked) return ..() if(!stop_messages) to_chat(usr, "[src] is locked!") return 0 /obj/item/storage/lockbox/emag_act(user as mob) if(!broken) broken = 1 locked = 0 desc = "It appears to be broken." icon_state = icon_broken to_chat(user, "You unlock \the [src].") origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D. return /obj/item/storage/lockbox/hear_talk(mob/living/M as mob, list/message_pieces) /obj/item/storage/lockbox/hear_message(mob/living/M as mob, msg) /obj/item/storage/lockbox/mindshield name = "Lockbox (Mindshield Implants)" req_access = list(ACCESS_SECURITY) /obj/item/storage/lockbox/mindshield/New() ..() new /obj/item/implantcase/mindshield(src) new /obj/item/implantcase/mindshield(src) new /obj/item/implantcase/mindshield(src) new /obj/item/implanter/mindshield(src) /obj/item/storage/lockbox/clusterbang name = "lockbox (clusterbang)" desc = "You have a bad feeling about opening this." req_access = list(ACCESS_SECURITY) /obj/item/storage/lockbox/clusterbang/New() ..() new /obj/item/grenade/clusterbuster(src) /obj/item/storage/lockbox/medal name = "medal box" desc = "A locked box used to store medals of honor." icon_state = "medalbox+l" item_state = "syringe_kit" w_class = WEIGHT_CLASS_NORMAL max_w_class = WEIGHT_CLASS_SMALL max_combined_w_class = 20 storage_slots = 12 req_access = list(ACCESS_CAPTAIN) icon_locked = "medalbox+l" icon_closed = "medalbox" icon_broken = "medalbox+b" /obj/item/storage/lockbox/medal/New() ..() new /obj/item/clothing/accessory/medal/gold/captain(src) new /obj/item/clothing/accessory/medal/silver/leadership(src) new /obj/item/clothing/accessory/medal/silver/valor(src) new /obj/item/clothing/accessory/medal/heart(src) /obj/item/storage/lockbox/t4 name = "lockbox (T4)" desc = "Contains three T4 breaching charges." req_access = list(ACCESS_CENT_SPECOPS) /obj/item/storage/lockbox/t4/New() ..() for(var/i in 0 to 2) new /obj/item/grenade/plastic/x4/thermite(src) /obj/item/storage/lockbox/research /obj/item/storage/lockbox/research/deconstruct(disassembled = TRUE) // Get wrecked, Science nerds qdel(src) /obj/item/storage/lockbox/research/large name = "Large lockbox" desc = "A large lockbox" max_w_class = WEIGHT_CLASS_BULKY max_combined_w_class = 4 //The sum of the w_classes of all the items in this storage item. storage_slots = 1