Files
Bubberstation/code/modules/bitrunning/objects/loot_box.dm
SkyratBot 53d3099582 [MIRROR] Moves tool use back higher in the chain, but makes it so tool acts are only called on non-combat-mode (#28457)
Moves tool use back higher in the chain, but makes it so tool acts are only called on non-combat-mode

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-02 15:31:16 +05:30

55 lines
1.9 KiB
Plaintext

/obj/item/storage/lockbox/bitrunning
name = "base class curiosity"
desc = "Talk to a coder."
req_access = list(ACCESS_INACCESSIBLE)
icon_state = "bitrunning+l"
inhand_icon_state = "bitrunning"
base_icon_state = "bitrunning"
icon_locked = "bitrunning+l"
icon_closed = "bitrunning"
icon_broken = "bitrunning+b"
icon_open = "bitrunning"
/obj/item/storage/lockbox/bitrunning/encrypted
name = "encrypted curiosity"
desc = "Needs to be decrypted at the safehouse to be opened."
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/// Path for the loot we are assigned
var/loot_path
/obj/item/storage/lockbox/bitrunning/encrypted/emag_act(mob/user, obj/item/card/emag/emag_card)
return FALSE
/obj/item/storage/lockbox/bitrunning/decrypted
name = "decrypted curiosity"
desc = "Compiled from the virtual domain. An extra reward of a successful bitrunner."
/// What virtual domain did we come from.
var/datum/lazy_template/virtual_domain/source_domain
/obj/item/storage/lockbox/bitrunning/decrypted/Initialize(
mapload,
datum/lazy_template/virtual_domain/completed_domain,
)
if(isnull(completed_domain))
log_runtime("Decrypted curiosity was created with no source domain.")
return INITIALIZE_HINT_QDEL
if(!istype(completed_domain, /datum/lazy_template/virtual_domain)) // Check if this is a proper virtual domain before doing anything with it
log_runtime("Decrypted curiosity was created with an invalid source domain. [completed_domain.name] ([completed_domain.type]).")
return INITIALIZE_HINT_QDEL
source_domain = completed_domain
. = ..()
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
atom_storage.max_slots = 1
atom_storage.max_total_storage = 3
atom_storage.locked = STORAGE_NOT_LOCKED
icon_state = icon_closed
playsound(src, 'sound/magic/blink.ogg', 50, TRUE)
/obj/item/storage/lockbox/bitrunning/decrypted/PopulateContents()
var/choice = SSbitrunning.pick_secondary_loot(source_domain)
new choice(src)