Nerfs projectile piercing and makes it's chance based more on armour piercing than damage. (#22248)

- Projectiles now lose 30% of their damage for every pierce they go
through by default.

- Ship weapons only lose 5% damage on pierce. 
  
- The default chance was changed from (Pierce Chance (20%) + Damage, to
Pierce Chance (0%) + Damage / 4 + Armour Piercing.
This means the merc's STS, went from 55% chance to pierce, down to 30%,
with reduced damage when it does.

- Specialist anti-tank weapons, such as the PEAC, now have their pierce
chance multiplied by their anti-material potential.
This gives the PEAC 100% piercing chance.


<img width="327" height="261" alt="image"
src="https://github.com/user-attachments/assets/661904ec-3957-4116-a10b-e8a8fc14cd2d"
/>
This commit is contained in:
FenodyreeAv
2026-04-20 11:32:22 +00:00
committed by GitHub
parent 3743c5a834
commit 6f2253a658
4 changed files with 66 additions and 1 deletions
+4 -1
View File
@@ -76,6 +76,8 @@
var/pierces = 0
///The base chance that a projectile capable of piercing will actually pierce.
var/pierce_chance = 0
/// 0-1 multiplier, the projectile's damage is modified by multiplying this after each pierce.
var/pierce_decay_damage = 0.7
///Used to determine whether or not to apply embed chances on hit.
var/last_hit_pierced = FALSE
/// If objects are below this layer, we pass through them.
@@ -683,7 +685,8 @@
return PROJECTILE_PIERCE_PHASE
if(projectile_piercing & A.pass_flags_self)
if (penetrating > pierces)
if(damage > 20 && prob(pierce_chance + damage))
if(prob(min(100, (pierce_chance + (damage/4) + armor_penetration) * anti_materiel_potential))) //Base pierce_chance is 0. This gives the STS a 30% chance to pierce once.
damage *= pierce_decay_damage
penetrating--
last_hit_pierced = TRUE
return PROJECTILE_PIERCE_HIT
@@ -314,6 +314,7 @@
hitscan = 1 //so the PTR isn't useless as a sniper weapon
maim_rate = 3
anti_materiel_potential = 2
pierce_decay_damage = 0.9
/obj/projectile/bullet/rifle/kumar_super
damage = 40