diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 582f062a8b..7dc0a56943 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -608,14 +608,13 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w gun_recoil = recoil_buildup var/penetration = 0 - var/armor_punch = 0 var/accuracy = 0 var/min_accuracy = 0 var/max_range = 0 + var/effective_range = 0 var/scatter = 0 var/list/damage_armor_profile_xeno = list() var/list/damage_armor_profile_marine = list() - var/list/damage_armor_profile_armorbreak = list() var/list/damage_armor_profile_headers = list() var/datum/ammo/in_ammo @@ -638,24 +637,19 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w falloff = in_ammo.damage_falloff * damage_falloff_mult penetration = in_ammo.penetration - armor_punch = in_ammo.damage_armor_punch accuracy = in_ammo.accurate_range min_accuracy = in_ammo.accurate_range_min max_range = in_ammo.max_range + effective_range = in_ammo.effective_range_max scatter = in_ammo.scatter for(var/i = 0; i<=CODEX_ARMOR_MAX; i+=CODEX_ARMOR_STEP) damage_armor_profile_headers.Add(i) - damage_armor_profile_marine.Add(round(armor_damage_reduction(GLOB.marine_ranged_stats, damage, i, penetration))) - damage_armor_profile_xeno.Add(round(armor_damage_reduction(GLOB.xeno_ranged_stats, damage, i, penetration))) - if(!GLOB.xeno_general.armor_ignore_integrity) - if(i != 0) - damage_armor_profile_armorbreak.Add("[round(armor_break_calculation(GLOB.xeno_ranged_stats, damage, i, penetration, in_ammo.pen_armor_punch, armor_punch)/i)]%") - else - damage_armor_profile_armorbreak.Add("N/A") + damage_armor_profile_marine.Add(floor(armor_damage_reduction(GLOB.marine_ranged_stats, damage, i, penetration))) + damage_armor_profile_xeno.Add(floor(armor_damage_reduction(GLOB.xeno_ranged_stats, damage, i, penetration))) var/rpm = max(fire_delay, 1) var/burst_rpm = max((fire_delay * 1.5 + (burst_amount - 1) * burst_delay)/max(burst_amount, 1), 0.0001) @@ -684,19 +678,18 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w data["damage"] = damage data["falloff"] = falloff data["total_projectile_amount"] = bonus_projectile_amount+1 - data["armor_punch"] = armor_punch data["penetration"] = penetration data["accuracy"] = accuracy * accuracy_mult data["unwielded_accuracy"] = accuracy * accuracy_mult_unwielded data["min_accuracy"] = min_accuracy data["max_range"] = max_range + data["effective_range"] = effective_range // damage table data data["damage_armor_profile_headers"] = damage_armor_profile_headers data["damage_armor_profile_marine"] = damage_armor_profile_marine data["damage_armor_profile_xeno"] = damage_armor_profile_xeno - data["damage_armor_profile_armorbreak"] = damage_armor_profile_armorbreak return data @@ -711,10 +704,10 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w data["damage_max"] = 100 data["accuracy_max"] = 32 data["range_max"] = 32 + data["effective_range_max"] = EFFECTIVE_RANGE_MAX_TIER_4 data["falloff_max"] = DAMAGE_FALLOFF_TIER_1 data["penetration_max"] = ARMOR_PENETRATION_TIER_10 data["punch_max"] = 5 - data["glob_armourbreak"] = GLOB.xeno_general.armor_ignore_integrity data["automatic"] = (GUN_FIREMODE_AUTOMATIC in gun_firemode_list) data["auto_only"] = ((length(gun_firemode_list) == 1) && (GUN_FIREMODE_AUTOMATIC in gun_firemode_list)) diff --git a/tgui/packages/tgui/interfaces/WeaponStats.jsx b/tgui/packages/tgui/interfaces/WeaponStats.jsx index abbb32f0f8..4def237f6b 100644 --- a/tgui/packages/tgui/interfaces/WeaponStats.jsx +++ b/tgui/packages/tgui/interfaces/WeaponStats.jsx @@ -281,13 +281,27 @@ const Accuracy = (props) => { const Range = (props) => { const { data } = useBackend(); - const { max_range, range_max, falloff, falloff_max } = data; + const { + max_range, + range_max, + falloff, + falloff_max, + effective_range, + effective_range_max, + } = data; return ( <> Max range: {max_range} / {range_max} + + Effective range: {effective_range} + + Falloff: {falloff} / {falloff_max} @@ -298,16 +312,13 @@ const Range = (props) => { const ArmourPen = (props) => { const { data } = useBackend(); - const { penetration, penetration_max, armor_punch, punch_max } = data; + const { penetration, penetration_max } = data; return ( <> Armour penetration: {penetration} / {penetration_max} - - Armour punch: {armor_punch} / {punch_max} - ); }; @@ -317,9 +328,7 @@ const DamageTable = (props) => { const { damage_armor_profile_marine, damage_armor_profile_xeno, - damage_armor_profile_armorbreak, damage_armor_profile_headers, - glob_armourbreak, } = data; return (
@@ -346,14 +355,6 @@ const DamageTable = (props) => { {entry} ))} - {!glob_armourbreak ? ( - - Armor break - {map(damage_armor_profile_armorbreak, (entry, i) => ( - {entry} - ))} - - ) : null}
);