diff --git a/code/datums/supplypacks/misc_vr.dm b/code/datums/supplypacks/misc_vr.dm index 27de833ba8a..94f23fb61c1 100644 --- a/code/datums/supplypacks/misc_vr.dm +++ b/code/datums/supplypacks/misc_vr.dm @@ -95,4 +95,19 @@ access_eva, access_explorer, access_pilot) + one_access = TRUE + +/datum/supply_pack/randomised/misc/explorer_shield + name = "Explorer shield" + num_contained = 2 + contains = list( + /obj/item/weapon/shield/riot/explorer, + /obj/item/weapon/shield/riot/explorer/purple + ) + cost = 75 + containertype = /obj/structure/closet/crate/secure/gear + containername = "exploration shield crate" + access = list(access_explorer, + access_eva, + access_pilot) one_access = TRUE \ No newline at end of file diff --git a/code/game/objects/items/weapons/shields_vr.dm b/code/game/objects/items/weapons/shields_vr.dm index ceab877d4ae..5be1544d2e8 100644 --- a/code/game/objects/items/weapons/shields_vr.dm +++ b/code/game/objects/items/weapons/shields_vr.dm @@ -18,4 +18,69 @@ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi', slot_back_str = 'icons/vore/custom_items_vr.dmi', slot_wear_suit_str = 'icons/vore/custom_items_vr.dmi') attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time - allowed = list(/obj/item/weapon/melee/fluffstuff/wolfgirlsword) \ No newline at end of file + allowed = list(/obj/item/weapon/melee/fluffstuff/wolfgirlsword) + + +/obj/item/weapon/shield/riot/explorer + name = "green explorer shield" + desc = "A shield issued to exploration teams to help protect them when advancing into the unknown. It is lighter and cheaper but less protective than some of its counterparts. It has a flashlight straight in the middle to help draw attention." + icon = 'icons/obj/weapons_vr.dmi' + icon_state = "explorer_shield" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_melee_vr.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_melee_vr.dmi' + ) + base_block_chance = 40 + slot_flags = SLOT_BACK + var/brightness_on + brightness_on = 4 + var/on = 0 + var/light_applied + //var/light_overlay + +//POURPEL WHY U NO COVER + +/obj/item/weapon/shield/riot/explorer/attack_self(mob/user) + if(brightness_on) + if(!isturf(user.loc)) + to_chat(user, "You cannot turn the light on while in this [user.loc]") + return + on = !on + to_chat(user, "You [on ? "enable" : "disable"] the shield light.") + update_flashlight(user) + + if(istype(user,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + H.update_inv_l_hand() + H.update_inv_r_hand() + else + return ..(user) + +/obj/item/weapon/shield/riot/explorer/proc/update_flashlight(var/mob/user = null) + if(on && !light_applied) + set_light(brightness_on) + light_applied = 1 + else if(!on && light_applied) + set_light(0) + light_applied = 0 + update_icon(user) + user.update_action_buttons() + light = !light + playsound(src, 'sound/weapons/empty.ogg', 15, 1, -3) + +/obj/item/weapon/shield/riot/explorer/update_icon() + if(on) + icon_state = "explorer_shield_lighted" + else + icon_state = "explorer_shield" + +/obj/item/weapon/shield/riot/explorer/purple + name = "purple explorer shield" + desc = "A shield issued to exploration teams to help protect them when advancing into the unknown. It is lighter and cheaper but less protective than some of its counterparts. It has a flashlight straight in the middle to help draw attention. This one is POURPEL" + icon_state = "explorer_shield_P" + +/obj/item/weapon/shield/riot/explorer/purple/update_icon() + if(on) + icon_state = "explorer_shield_P_lighted" + else + icon_state = "explorer_shield_P" \ No newline at end of file diff --git a/code/game/objects/random/misc_vr.dm b/code/game/objects/random/misc_vr.dm new file mode 100644 index 00000000000..d8c3df7af0f --- /dev/null +++ b/code/game/objects/random/misc_vr.dm @@ -0,0 +1,11 @@ +//This file is for VR only + +/obj/random/explorer_shield + name = "random explorer shield" + desc = "This is a random shield for the explorer lockers." + icon = 'icons/obj/weapons_vr.dmi' + icon_state = "explorer_shield" + +/obj/random/explorer_shield/item_to_spawn() + return pick(/obj/item/weapon/shield/riot/explorer, + /obj/item/weapon/shield/riot/explorer/purple) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm index fb74ae2e072..251183b6e93 100644 --- a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm +++ b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm @@ -177,6 +177,7 @@ /obj/item/weapon/material/knife/machete/deluxe, /obj/item/weapon/gun/energy/locked/frontier/carbine, /obj/item/clothing/accessory/holster/machete, + /obj/random/explorer_shield, /obj/item/weapon/reagent_containers/food/snacks/liquidfood, /obj/item/weapon/reagent_containers/food/snacks/liquidprotein, /obj/item/device/cataloguer/compact/pathfinder) diff --git a/icons/mob/items/lefthand_melee_vr.dmi b/icons/mob/items/lefthand_melee_vr.dmi index dd43d4a5031..69ff6b66108 100644 Binary files a/icons/mob/items/lefthand_melee_vr.dmi and b/icons/mob/items/lefthand_melee_vr.dmi differ diff --git a/icons/mob/items/righthand_melee_vr.dmi b/icons/mob/items/righthand_melee_vr.dmi index 399c1d902d6..655dbc371d6 100644 Binary files a/icons/mob/items/righthand_melee_vr.dmi and b/icons/mob/items/righthand_melee_vr.dmi differ diff --git a/icons/obj/weapons_vr.dmi b/icons/obj/weapons_vr.dmi index 96ecf1e99ea..aa67af73261 100644 Binary files a/icons/obj/weapons_vr.dmi and b/icons/obj/weapons_vr.dmi differ diff --git a/vorestation.dme b/vorestation.dme index adece1b480c..293a1dd571f 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1336,6 +1336,7 @@ #include "code\game\objects\random\maintenance.dm" #include "code\game\objects\random\mapping.dm" #include "code\game\objects\random\misc.dm" +#include "code\game\objects\random\misc_vr.dm" #include "code\game\objects\random\mob.dm" #include "code\game\objects\random\mob_vr.dm" #include "code\game\objects\random\spacesuits.dm"