diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm index 6245e48d59..4ac6f9ec38 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories_vr.dm @@ -77,6 +77,12 @@ display_name = "drop pouches, white (Medical)" allowed_roles = list("Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic") +/datum/gear/accessory/bluespace + display_name = "bluespace badge (Eng, Sec, Med, Exploration, Miner)" + path = /obj/item/clothing/accessory/storage/bluespace + allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor","Chemist","Field Medic","Explorer","Pathfinder","Shaft Miner") + cost = 2 + /datum/gear/accessory/webbing cost = 1 diff --git a/code/modules/pda/cart_vr.dm b/code/modules/pda/cart_vr.dm index 1f1a1cbe52..33c1c0099e 100644 --- a/code/modules/pda/cart_vr.dm +++ b/code/modules/pda/cart_vr.dm @@ -18,3 +18,62 @@ var/list/exploration_cartridges = list( new/datum/data/pda/utility/scanmode/medical, new/datum/data/pda/utility/scanmode/reagent, new/datum/data/pda/utility/scanmode/gas) + +/obj/item/weapon/cartridge/storage + name = "\improper BLU-PAK cartridge" + desc = "It feels heavier for some reason." + w_class = ITEMSIZE_SMALL + icon_state = "cart-lib" + var/slots = 1 + var/obj/item/weapon/storage/internal/hold + +/obj/item/weapon/cartridge/storage/Initialize() + . = ..() + hold = new/obj/item/weapon/storage/internal(src) + hold.max_storage_space = slots * 2 + hold.max_w_class = ITEMSIZE_SMALL + +/obj/item/weapon/cartridge/storage/attack_hand(mob/user as mob) + if (hold.handle_attack_hand(user)) //otherwise interact as a regular storage item + ..(user) + +/obj/item/weapon/cartridge/storage/attackby(obj/item/W as obj, mob/user as mob) + ..() + return hold.attackby(W, user) + +/obj/item/weapon/cartridge/storage/MouseDrop(obj/over_object as obj) + if (hold.handle_mousedrop(usr, over_object)) + ..(over_object) + +/obj/item/weapon/cartridge/storage/attack_self(mob/user as mob) + to_chat(user, "You empty [src].") + var/turf/T = get_turf(src) + hold.hide_from(usr) + for(var/obj/item/I in hold.contents) + hold.remove_from_storage(I, T) + add_fingerprint(user) + +/obj/item/weapon/cartridge/storage/emp_act(severity) + hold.emp_act(severity) + ..() + +/obj/item/weapon/cartridge/storage/deluxe + name = "\improper BLU-PAK DELUXE cartridge" + programs = list( + new/datum/data/pda/app/power, + new/datum/data/pda/utility/scanmode/halogen, + + new/datum/data/pda/utility/scanmode/gas, + + new/datum/data/pda/app/crew_records/medical, + new/datum/data/pda/utility/scanmode/medical, + + new/datum/data/pda/utility/scanmode/reagent, + + new/datum/data/pda/app/crew_records/security, + + new/datum/data/pda/app/janitor, + + new/datum/data/pda/app/supply, + + new/datum/data/pda/app/status_display)