Files
Aurora.3/code/modules/lock/lock_construct.dm
Fluffy 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00

31 lines
1015 B
Plaintext

/obj/item/material/lock_construct
name = "lock"
desc = "A crude but useful lock and bolt."
icon = 'icons/obj/crate.dmi'
icon_state = "largebinemag"
w_class = ITEMSIZE_TINY
var/lock_data
/obj/item/material/lock_construct/Initialize(newloc, material_key)
. = ..()
force = 0
throwforce = 0
lock_data = generateRandomString(round(material.integrity/50))
/obj/item/material/lock_construct/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/key))
var/obj/item/key/K = attacking_item
if(!K.key_data)
to_chat(user, SPAN_NOTICE("You fashion \the [attacking_item] to unlock \the [src]"))
K.key_data = lock_data
else
to_chat(user, SPAN_WARNING("\The [attacking_item] already unlocks something."))
return
..()
/obj/item/material/lock_construct/proc/create_lock(var/atom/target, var/mob/user)
. = new /datum/lock(target,lock_data)
user.drop_from_inventory(src,user)
user.visible_message(SPAN_NOTICE("\The [user] attaches \the [src] to \the [target]."))
qdel(src)