diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index a9baaf881f0..19fb6fc5421 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -237,7 +237,8 @@ name = "Overload Improvised Shell" result = /obj/item/ammo_casing/shotgun/improvised/overload reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1, - /datum/reagent/blackpowder = 5) + /datum/reagent/blackpowder = 10, + /datum/reagent/toxin/plasma = 20) tools = list(/obj/item/weapon/screwdriver) time = 5 category = CAT_AMMO diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm index d4819377bfe..6ee2f2308b2 100644 --- a/code/modules/projectiles/ammunition/ammo_casings.dm +++ b/code/modules/projectiles/ammunition/ammo_casings.dm @@ -123,24 +123,20 @@ icon_state = "improvshell" projectile_type = /obj/item/projectile/bullet/pellet/weak materials = list(MAT_METAL=250) - pellets = 5 + pellets = 10 variance = 0.8 -/obj/item/ammo_casing/shotgun/improvised/overload +/obj/item/ammo_casing/shotgun/improvised/overload/ name = "overloaded improvised shell" desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards. This one has been packed with even more \ propellant. It's like playing russian roulette, with a shotgun." icon_state = "improvshell" - projectile_type = /obj/item/projectile/bullet/pellet/random + projectile_type = /obj/item/projectile/bullet/pellet/overload materials = list(MAT_METAL=250) - pellets = 5 + pellets = 4 variance = 1 -/obj/item/ammo_casing/shotgun/improvised/overload/New() - ..() - pellets = rand(3, 8) - /obj/item/ammo_casing/shotgun/stunslug name = "taser slug" diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 84c553c72ba..a3d5036182c 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -33,11 +33,30 @@ name = "pellet" damage = 15 -/obj/item/projectile/bullet/pellet/weak - damage = 3 +/obj/item/projectile/bullet/pellet/weak/New() + damage = 6 + range = rand(8) -/obj/item/projectile/bullet/pellet/random/New() - damage = rand(10) +/obj/item/projectile/bullet/pellet/weak/on_range() + var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread + sparks.set_up(1, 1, src) + sparks.start() + ..() + +/obj/item/projectile/bullet/pellet/overload/New() + damage = 3 + range = rand(10) + +/obj/item/projectile/bullet/pellet/overload/on_hit(atom/target, blocked = 0) + ..() + explosion(target, 0, 0, 2) + +/obj/item/projectile/bullet/pellet/overload/on_range() + explosion(src, 0, 0, 2) + var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread + sparks.set_up(3, 3, src) + sparks.start() + ..() /obj/item/projectile/bullet/midbullet damage = 20