diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 94bc9e8f69..c5fd513dcd 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -101,6 +101,7 @@ attack_verb = list("slashed", "chopped", "gouged", "ripped", "cut") can_cleave = TRUE //Now hatchets inherit from the machete, and thus knives. Tables turned. slot_flags = SLOT_BELT + default_material = "plasteel" /obj/item/weapon/material/knife/tacknife/survival name = "survival knife" @@ -109,4 +110,5 @@ icon_state = "survivalknife" item_state = "knife" applies_material_colour = FALSE + default_material = "plasteel" toolspeed = 2 // Use a real axe if you want to chop logs. diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index dd5528be07..28b5419e4c 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","sheath","decor","over") //VOREStation Edit - Adds Machete Sheath + restricted_accessory_slots = list("utility", "armband", "sheath") //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..fe4e3e49b3 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 = "sheath" + 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..d79ab08cc6 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,14 @@ 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)) + //VOREStation Edit End user << "[I] won't fit in [src]!" return @@ -38,8 +45,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..c696182ae9 100644 --- a/code/modules/vore/fluffstuff/custom_guns_vr.dm +++ b/code/modules/vore/fluffstuff/custom_guns_vr.dm @@ -520,11 +520,11 @@ /obj/item/weapon/gun/energy/gun/martin/proc/update_mode() var/datum/firemode/current_mode = firemodes[sel_mode] switch(current_mode.name) - if("stun") overlays += "taser_pdw" - if("lethal") overlays += "lazer_pdw" + if("stun") add_overlay("taser_pdw") + if("lethal") add_overlay("lazer_pdw") /obj/item/weapon/gun/energy/gun/martin/update_icon() - overlays.Cut() + cut_overlays() update_mode() ///////////////////////////////////////////////////// @@ -804,3 +804,32 @@ 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") add_overlay("taser_pdw") + if("normal") add_overlay("lazer_pdw") + +/obj/item/weapon/gun/energy/frontier/locked/holdout/update_icon() + cut_overlays() + if(recharging) + icon_state = "[initial(icon_state)]_pump" + update_held_icon() + return + else + icon_state = "[initial(icon_state)]" + 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/icons/obj/gun_vr.dmi b/icons/obj/gun_vr.dmi index 88ff7bde89..afa2edaedc 100644 Binary files a/icons/obj/gun_vr.dmi and b/icons/obj/gun_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