diff --git a/code/game/machinery/vending/vending_types.dm b/code/game/machinery/vending/vending_types.dm index 90947684bee1..0a7b85cae7e2 100644 --- a/code/game/machinery/vending/vending_types.dm +++ b/code/game/machinery/vending/vending_types.dm @@ -267,6 +267,7 @@ /obj/item/ammo_magazine/rifle/rubber = 40, /obj/item/ammo_magazine/rifle/m4ra/rubber = 40, /obj/item/clothing/head/helmet/marine/MP = 8, + /obj/item/explosive/plastic/breaching_charge/rubber = 6, ) /obj/structure/machinery/vending/sea diff --git a/code/game/objects/items/explosives/plastic.dm b/code/game/objects/items/explosives/plastic.dm index 071ff3458a91..1d2986f79e55 100644 --- a/code/game/objects/items/explosives/plastic.dm +++ b/code/game/objects/items/explosives/plastic.dm @@ -321,6 +321,8 @@ penetration = 0.60 deploying_time = 10 var/shrapnel_volume = 40 + var/shrapnel_type = /datum/ammo/bullet/shrapnel/metal + var/explosion_strength = 60 /obj/item/explosive/plastic/breaching_charge/can_place(mob/user, atom/target) if(!is_type_in_list(target, breachable))//only items on the list are allowed @@ -347,13 +349,21 @@ /obj/item/explosive/plastic/breaching_charge/handle_explosion(turf/target_turf, dir, cause_data) var/explosion_target = get_step(target_turf, dir) - create_shrapnel(explosion_target, shrapnel_volume, dir, angle,/datum/ammo/bullet/shrapnel/metal, cause_data) + create_shrapnel(explosion_target, shrapnel_volume, dir, angle, shrapnel_type, cause_data) addtimer(CALLBACK(src, PROC_REF(trigger_explosion), target_turf, dir, cause_data), 1) /obj/item/explosive/plastic/breaching_charge/proc/trigger_explosion(turf/target_turf, dir, cause_data) - cell_explosion(target_turf, 60, 60, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, dir, cause_data) + cell_explosion(target_turf, explosion_strength, explosion_strength, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, dir, cause_data) qdel(src) +/obj/item/explosive/plastic/breaching_charge/rubber + name = "X17 riot charge" + desc = "An explosive device used to break into areas while protecting the user from the blast. Unlike the standard breaching charge, the X17 deploys a cone spray of rubber pellets to incapacitate rather than kill." + icon_state = "riot-charge" + overlay_image = "riot-active" + shrapnel_volume = 20 + shrapnel_type = /datum/ammo/bullet/shrapnel/rubber + /obj/item/explosive/plastic/breaching_charge/plasma name = "plasma charge" desc = "An alien explosive device. Who knows what it might do." @@ -367,6 +377,8 @@ deploying_time = 10 flags_item = NOBLUDGEON|ITEM_PREDATOR shrapnel_volume = 10 + shrapnel_type = /datum/ammo/bullet/shrapnel/plasma + explosion_strength = 90 /obj/item/explosive/plastic/breaching_charge/plasma/can_place(mob/user, atom/target) if(!HAS_TRAIT(user, TRAIT_YAUTJA_TECH)) @@ -374,11 +386,3 @@ return FALSE . = ..() -/obj/item/explosive/plastic/breaching_charge/plasma/handle_explosion(turf/target_turf, dir, cause_data) - var/explosion_target = get_step(target_turf, dir) - create_shrapnel(explosion_target, shrapnel_volume, dir, angle,/datum/ammo/bullet/shrapnel/plasma, cause_data) - addtimer(CALLBACK(src, PROC_REF(trigger_explosion), target_turf, dir, cause_data), 1) - -/obj/item/explosive/plastic/breaching_charge/plasma/trigger_explosion(turf/target_turf, dir, cause_data) - cell_explosion(target_turf, 90, 90, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, dir, cause_data) - qdel(src) diff --git a/icons/obj/items/assemblies.dmi b/icons/obj/items/assemblies.dmi index 522e0fb5e55d..eb36d5696741 100644 Binary files a/icons/obj/items/assemblies.dmi and b/icons/obj/items/assemblies.dmi differ