Frag grenades buff (#20135)

Frag grenades projectiles now apply some agony and eyeblur.
Frag grenades projectiles have damage augmented by 3 points (~10%).
Frag grenades projectiles have an augmented chance of leaving a shrapnel
(+30%).
Frag grenades projectiles have a chance to ricochet up to 2 times.
Some code cleanup and removed some procs that were no longer used
(nothing called them anymore) from the projectile refactor.
This commit is contained in:
Fluffy
2024-11-08 15:38:57 +00:00
committed by GitHub
parent 664c229ac5
commit ad563abffa
7 changed files with 70 additions and 55 deletions
-8
View File
@@ -209,9 +209,6 @@
var/anti_materiel_potential = 1 //how much the damage of this bullet is increased against mechs
///If the projectile launches a secondary projectile in addition to itself.
var/secondary_projectile
/*########################################
END AURORA SNOWFLAKE VARS SECTION
########################################*/
@@ -1092,11 +1089,6 @@
return FALSE
return TRUE
//return TRUE if the projectile should be allowed to pass through after all, FALSE if not.
/obj/projectile/proc/check_penetrate(atom/A)
return TRUE
/obj/projectile/ex_act(var/severity = 2.0)
return //explosions probably shouldn't delete projectiles
@@ -29,37 +29,6 @@
return 0
return ..()
/obj/projectile/bullet/check_penetrate(var/atom/A)
if(!A || !A.density) return 1 //if whatever it was got destroyed when we hit it, then I guess we can just keep going
if(ismob(A))
if(!mob_passthrough_check)
return 0
if(iscarbon(A))
damage *= 0.7 //squishy mobs absorb KE
return 1
var/chance = 0
if(istype(A, /turf/simulated/wall))
var/turf/simulated/wall/W = A
chance = round(damage/W.material.integrity*180)
else if(istype(A, /obj/machinery/door))
var/obj/machinery/door/D = A
chance = round(damage/D.maxhealth*180)
if(D.glass) chance *= 2
else if(istype(A, /obj/structure/girder))
chance = 100
else if(istype(A, /obj/machinery) || istype(A, /obj/structure))
chance = damage
if(prob(chance))
if(A.opacity)
//display a message so that people on the other side aren't so confused
A.visible_message(SPAN_WARNING("\The [src] pierces through \the [A]!"))
return 1
return 0
/**
* # Pellet projectiles
*
@@ -281,7 +250,6 @@
/obj/projectile/bullet/shotgun/moghes
name = "wall shot"
secondary_projectile = /obj/projectile/bullet/pellet/shotgun/canister
//Should do about 80 damage at 1 tile distance (adjacent), and 50 damage at 3 tiles distance.
//Overall less damage than slugs in exchange for more damage at very close range and more embedding
@@ -579,11 +547,6 @@
var/heavy_impact_range = -1
var/light_impact_range = 2
/obj/projectile/bullet/peac/check_penetrate(atom/hit_atom)
if(hit_atom == original)
return FALSE
return ..()
/obj/projectile/bullet/peac/on_hit(atom/target, blocked, def_zone)
. = ..()
@@ -199,7 +199,7 @@
agony = 40
speed = 0.4
damage_type = DAMAGE_BURN
eyeblur = TRUE
eyeblur = 1
pass_flags = PASSTABLE | PASSRAILING
muzzle_type = /obj/effect/projectile/muzzle/bolt