diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index dd5528be07..f0c7d86710 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -632,8 +632,8 @@
//convenience var for defining the icon state for the overlay used when the clothing is worn.
//Also used by rolling/unrolling.
var/worn_state = null
- valid_accessory_slots = list("utility","armband","decor","over")
- restricted_accessory_slots = list("utility", "armband")
+ valid_accessory_slots = list("utility","armband","machete","decor","over") //VOREStation Edit - Adds Machete Sheath
+ restricted_accessory_slots = list("utility", "armband", "machete") //VOREStation Edit - Adds Machete Sheath
var/icon/rolled_down_icon = 'icons/mob/uniform_rolled_down.dmi'
var/icon/rolled_down_sleeves_icon = 'icons/mob/uniform_sleeves_rolled.dmi'
diff --git a/code/modules/clothing/under/accessories/accessory_vr.dm b/code/modules/clothing/under/accessories/accessory_vr.dm
index ba1a4f3b17..7077089b7b 100644
--- a/code/modules/clothing/under/accessories/accessory_vr.dm
+++ b/code/modules/clothing/under/accessories/accessory_vr.dm
@@ -177,3 +177,16 @@
to_chat(user,"You set the [name]'s tag to '[str]'.")
name = initial(name) + " ([str])"
desc = initial(desc) + " The tag says \"[str]\"."
+
+//Machete Holsters
+/obj/item/clothing/accessory/holster/machete
+ name = "machete sheath"
+ desc = "A handsome synthetic leather sheath with matching belt."
+ icon = 'icons/obj/clothing/ties_vr.dmi'
+ icon_override = 'icons/mob/ties_vr.dmi'
+ icon_state = "holster_machete"
+ slot = "machete"
+ concealed_holster = 0
+ can_hold = list(/obj/item/weapon/material/knife/machete)
+ //sound_in = 'sound/effects/holster/sheathin.ogg'
+ //sound_out = 'sound/effects/holster/sheathout.ogg'
diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm
index b97ae6fc3f..62720d655f 100644
--- a/code/modules/clothing/under/accessories/holster.dm
+++ b/code/modules/clothing/under/accessories/holster.dm
@@ -3,6 +3,7 @@
desc = "A handgun holster."
icon_state = "holster"
slot = "utility"
+ var/list/can_hold //VOREStation Edit
concealed_holster = 1
var/obj/item/holstered = null
@@ -10,8 +11,13 @@
if(holstered && istype(user))
user << "There is already \a [holstered] holstered here!"
return
+ //VOREStation Edit - Machete sheath support
+ if (can_hold)
+ if(!is_type_in_list(I,can_hold))
+ to_chat(user, "[I] won't fit in [src]!")
+ return
- if (!(I.slot_flags & SLOT_HOLSTER))
+ else if (!(I.slot_flags & SLOT_HOLSTER))
user << "[I] won't fit in [src]!"
return
@@ -38,8 +44,8 @@
else
if(user.a_intent == I_HURT)
usr.visible_message(
- "[user] draws \the [holstered], ready to shoot!",
- "You draw \the [holstered], ready to shoot!"
+ "[user] draws \the [holstered], ready to go!", //VOREStation Edit
+ "You draw \the [holstered], ready to go!" //VOREStation Edit
)
else
user.visible_message(
diff --git a/code/modules/vore/fluffstuff/custom_guns_vr.dm b/code/modules/vore/fluffstuff/custom_guns_vr.dm
index af03934ffc..c79fae576f 100644
--- a/code/modules/vore/fluffstuff/custom_guns_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_guns_vr.dm
@@ -804,3 +804,26 @@
to_chat(user, "The safety device prevents the gun from firing this close to the facility.")
return 0
return ..()
+
+//Expeditionary Holdout Phaser
+/obj/item/weapon/gun/energy/frontier/locked/holdout
+ name = "holdout frontier phaser"
+ desc = "A recently introduced weapon intended for self defense by expeditionary support. It includes the same crank charger as the frontier phaser."
+ icon = 'icons/obj/gun_vr.dmi'
+ icon_state = "PDW"
+ item_state = "gun"
+ w_class = ITEMSIZE_SMALL
+ firemodes = list(
+ list(mode_name="normal", fire_delay=12, projectile_type=/obj/item/projectile/beam, charge_cost = 1200),
+ list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 240),
+ )
+
+/obj/item/weapon/gun/energy/frontier/locked/holdout/proc/update_mode()
+ var/datum/firemode/current_mode = firemodes[sel_mode]
+ switch(current_mode.name)
+ if("low-power") overlays += "taser_pdw"
+ if("normal") overlays += "lazer_pdw"
+
+/obj/item/weapon/gun/energy/frontier/locked/holdout/update_icon()
+ overlays.Cut()
+ update_mode()
diff --git a/icons/mob/ties_vr.dmi b/icons/mob/ties_vr.dmi
new file mode 100644
index 0000000000..2dec9f3781
Binary files /dev/null and b/icons/mob/ties_vr.dmi differ
diff --git a/icons/obj/clothing/ties_vr.dmi b/icons/obj/clothing/ties_vr.dmi
new file mode 100644
index 0000000000..d2ba4a0971
Binary files /dev/null and b/icons/obj/clothing/ties_vr.dmi differ
diff --git a/maps/southern_cross/structures/closets/misc.dm b/maps/southern_cross/structures/closets/misc.dm
index 6b5ea40f05..5472e786b1 100644
--- a/maps/southern_cross/structures/closets/misc.dm
+++ b/maps/southern_cross/structures/closets/misc.dm
@@ -61,10 +61,9 @@
new /obj/item/weapon/storage/backpack(src)
else
new /obj/item/weapon/storage/backpack/satchel/norm(src)
- if(prob(75))
- new /obj/item/weapon/material/knife/tacknife/survival(src)
- else
- new /obj/item/weapon/material/knife/machete(src)
+ new /obj/item/weapon/material/knife/tacknife/survival(src) //VOREStation Edit
+ new /obj/item/weapon/material/knife/machete(src) //VOREStation Edit
+ new /obj/item/clothing/accessory/holster/machete(src) //VOREStation Edit
new /obj/item/clothing/under/explorer(src)
new /obj/item/clothing/suit/storage/hooded/explorer(src)
new /obj/item/clothing/mask/gas/explorer(src)
diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm
index 2e8f11116e..55a5dace44 100644
--- a/maps/tether/tether_things.dm
+++ b/maps/tether/tether_things.dm
@@ -396,6 +396,8 @@ var/global/list/latejoin_tram = list()
..()
for(var/i = 1 to 4)
new /obj/item/weapon/gun/energy/frontier/locked(src)
+ for(var/i = 1 to 4)
+ new /obj/item/weapon/gun/energy/frontier/locked/holdout(src)
// Underdark mob spawners
/obj/tether_away_spawner/underdark_normal