diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm
index 32364e1072..7c294da311 100644
--- a/code/modules/asset_cache/asset_list_items.dm
+++ b/code/modules/asset_cache/asset_list_items.dm
@@ -61,33 +61,9 @@
"nano/templates/",
)
-/datum/asset/directory/nanoui/weapons
- common_dirs = list(
- "nano/images/weapons/",
- )
-
- uncommon_dirs = list()
-
-/datum/asset/directory/nanoui/weapons/send(client)
- if(!client)
- log_debug("Warning! Tried to send nanoui weapon data with a null client! (asset_list_items.dm line 93)")
- return
- SSassets.transport.send_assets(client, common)
-
-
/datum/asset/simple/nanoui_images
keep_local_name = TRUE
- assets = list(
- "auto.png" = 'nano/images/weapons/auto.png',
- "burst.png" = 'nano/images/weapons/burst.png',
- "single.png" = 'nano/images/weapons/single.png',
- "disabled_automatic.png" = 'nano/images/weapons/disabled_automatic.png',
- "disabled_burst.png" = 'nano/images/weapons/disabled_burst.png',
- "disabled_single.png" = 'nano/images/weapons/disabled_single.png',
- "no_name.png" = 'nano/images/weapons/no_name.png',
- )
-
var/list/common_dirs = list(
"nano/images/",
)
@@ -384,9 +360,29 @@
name = "gunlineart"
/datum/asset/spritesheet/gun_lineart/register()
- InsertAll("", 'icons/obj/items/weapons/guns/lineart.dmi')
+ var/icon_file = 'icons/obj/items/weapons/guns/lineart.dmi'
+ InsertAll("", icon_file)
+
+ for(var/obj/item/weapon/gun/current_gun as anything in subtypesof(/obj/item/weapon/gun))
+ if(isnull(initial(current_gun.icon_state)))
+ continue
+ if(initial(current_gun.flags_gun_features) & GUN_UNUSUAL_DESIGN)
+ continue // These don't have a way to inspect weapon stats
+ var/obj/item/weapon/gun/temp_gun = new current_gun
+ var/icon_state = temp_gun.base_gun_icon // base_gun_icon is set in Initialize generally
+ qdel(temp_gun)
+ if(icon_state && isnull(sprites[icon_state]))
+ // upgrade this to a stack_trace once all guns have a lineart and we want to lint against that
+ log_debug("[current_gun] does not have a valid lineart icon state, icon=[icon_file], icon_state=[json_encode(icon_state)]")
+
..()
+/datum/asset/spritesheet/gun_lineart_modes
+ name = "gunlineartmodes"
+
+/datum/asset/spritesheet/gun_lineart_modes/register()
+ InsertAll("", 'icons/obj/items/weapons/guns/lineart_modes.dmi')
+ ..()
/datum/asset/simple/orbit
assets = list(
@@ -400,17 +396,6 @@
"ntosradarpointerS.png" = 'icons/images/ui_images/ntosradar_pointer_S.png'
)
-/datum/asset/simple/firemodes
- assets = list(
- "auto.png" = 'html/images/auto.png',
- "disabled_auto.png" = 'html/images/disabled_automatic.png',
- "burst.png" = 'html/images/burst.png',
- "disabled_burst.png" = 'html/images/disabled_burst.png',
- "single.png" = 'html/images/single.png',
- "disabled_single.png" = 'html/images/disabled_single.png',
- )
-
-
/datum/asset/simple/particle_editor
assets = list(
"motion" = 'icons/images/ui_images/particle_editor/motion.png',
diff --git a/code/modules/autowiki/pages/guns.dm b/code/modules/autowiki/pages/guns.dm
index ad675c51a4..7f63602d56 100644
--- a/code/modules/autowiki/pages/guns.dm
+++ b/code/modules/autowiki/pages/guns.dm
@@ -7,14 +7,18 @@
var/list/gun_to_ammo = list()
- for(var/obj/item/ammo_magazine/typepath as anything in subtypesof(/obj/item/ammo_magazine) - subtypesof(/obj/item/ammo_magazine/internal))
+ for(var/obj/item/ammo_magazine/typepath as anything in subtypesof(/obj/item/ammo_magazine) - typesof(/obj/item/ammo_magazine/internal))
+ if(isnull(initial(typepath.icon_state)))
+ continue // Skip mags with no icon_state (e.g. base types)
LAZYADD(gun_to_ammo[initial(typepath.gun_type)], typepath)
for(var/typepath in sort_list(subtypesof(/obj/item/weapon/gun), GLOBAL_PROC_REF(cmp_typepaths_asc)))
- var/obj/item/weapon/gun/generating_gun = new typepath()
+ var/obj/item/weapon/gun/generating_gun = typepath
+ if(isnull(initial(generating_gun.icon_state)))
+ continue // Skip guns with no icon_state (e.g. base types)
+ generating_gun = new typepath()
var/filename = SANITIZE_FILENAME(escape_value(format_text(generating_gun.name)))
-
var/list/gun_data = generating_gun.ui_data()
var/list/valid_mag_types = list()
@@ -70,6 +74,8 @@
var/list/attachments_by_slot = list()
for(var/obj/item/attachable/attachment_typepath as anything in generating_gun.attachable_allowed)
+ if(isnull(initial(attachment_typepath.icon_state)))
+ continue // Skip attachments with no icon_state (e.g. base types)
LAZYADD(attachments_by_slot[capitalize(initial(attachment_typepath.slot))], attachment_typepath)
var/attachments = ""
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 70b0ad3b41..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,35 +637,26 @@ 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)
// weapon info
- data["icon"] = SSassets.transport.get_asset_url("no_name.png")
-
- if(SSassets.cache["[base_gun_icon].png"])
- data["icon"] = SSassets.transport.get_asset_url("[base_gun_icon].png")
-
+ data["icon"] = base_gun_icon
data["name"] = name
data["desc"] = desc
data["two_handed_only"] = (flags_gun_features & GUN_WIELDED_FIRING_ONLY)
@@ -688,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
@@ -715,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))
@@ -726,8 +715,8 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w
/obj/item/weapon/gun/ui_assets(mob/user)
. = ..() || list()
- . += get_asset_datum(/datum/asset/simple/firemodes)
- //. += get_asset_datum(/datum/asset/spritesheet/gun_lineart)
+ . += get_asset_datum(/datum/asset/spritesheet/gun_lineart_modes)
+ . += get_asset_datum(/datum/asset/spritesheet/gun_lineart)
// END TGUI \\
diff --git a/code/modules/projectiles/guns/pistols.dm b/code/modules/projectiles/guns/pistols.dm
index ae8bef53f6..3397c75457 100644
--- a/code/modules/projectiles/guns/pistols.dm
+++ b/code/modules/projectiles/guns/pistols.dm
@@ -236,7 +236,6 @@
icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi'
icon_state = "c_deagle"
item_state = "c_deagle"
- base_gun_icon = "c_deagle"
current_mag = /obj/item/ammo_magazine/pistol/heavy/super/highimpact
black_market_value = 100
@@ -257,7 +256,6 @@
desc = "A Desert Eagle anodized in gold and adorned with rosewood grips. The living definition of ostentatious, it's flashy, unwieldy, tremendously heavy, and kicks like a mule. But as a symbol of power, there's nothing like it."
icon_state = "g_deagle"
item_state = "g_deagle"
- base_gun_icon = "g_deagle"
//-------------------------------------------------------
//NP92 pistol
@@ -588,7 +586,7 @@
name = "\improper 88 Mod 4 combat pistol"
desc = "Standard issue USCM firearm. Also found in the hands of Weyland-Yutani PMC teams. Fires 9mm armor shredding rounds and is capable of 3-round burst."
icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi'
- icon_state = "88m4"
+ icon_state = "_88m4" // to comply with css standards
item_state = "88m4"
fire_sound = "88m4"
firesound_volume = 20
diff --git a/code/modules/unit_tests/spritesheets.dm b/code/modules/unit_tests/spritesheets.dm
index c7c16c6535..142d3f9588 100644
--- a/code/modules/unit_tests/spritesheets.dm
+++ b/code/modules/unit_tests/spritesheets.dm
@@ -2,6 +2,7 @@
/datum/unit_test/spritesheets
/datum/unit_test/spritesheets/Run()
+ var/regex/valid_css_class = new(@"^([\l_][\w\-]|[\l_\-][\l_])")
for(var/datum/asset/spritesheet/sheet as anything in subtypesof(/datum/asset/spritesheet))
if(!initial(sheet.name)) //Ignore abstract types
continue
@@ -9,3 +10,6 @@
for(var/sprite_name in sheet.sprites)
if(!sprite_name)
TEST_FAIL("Spritesheet [sheet.type] has a nameless icon state.")
+ if(!valid_css_class.Find(sprite_name))
+ // https://www.w3.org/TR/CSS2/syndata.html#value-def-identifier
+ TEST_FAIL("Spritesheet [sheet.type] has a icon state that doesn't comply with css standards: '[sprite_name]'.")
diff --git a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi
index c5946b587a..e57c625158 100644
Binary files a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi differ
diff --git a/icons/obj/items/weapons/guns/lineart.dmi b/icons/obj/items/weapons/guns/lineart.dmi
index 35241cf3a3..6920290c7e 100644
Binary files a/icons/obj/items/weapons/guns/lineart.dmi and b/icons/obj/items/weapons/guns/lineart.dmi differ
diff --git a/icons/obj/items/weapons/guns/lineart_modes.dmi b/icons/obj/items/weapons/guns/lineart_modes.dmi
new file mode 100644
index 0000000000..787fdd34f2
Binary files /dev/null and b/icons/obj/items/weapons/guns/lineart_modes.dmi differ
diff --git a/nano/images/weapons/88m4.png b/nano/images/weapons/88m4.png
deleted file mode 100644
index 77faa65720..0000000000
Binary files a/nano/images/weapons/88m4.png and /dev/null differ
diff --git a/nano/images/weapons/aamateba.png b/nano/images/weapons/aamateba.png
deleted file mode 100644
index 30a5c1c72c..0000000000
Binary files a/nano/images/weapons/aamateba.png and /dev/null differ
diff --git a/nano/images/weapons/amateba.png b/nano/images/weapons/amateba.png
deleted file mode 100644
index 6d411d2ad7..0000000000
Binary files a/nano/images/weapons/amateba.png and /dev/null differ
diff --git a/nano/images/weapons/auto.png b/nano/images/weapons/auto.png
deleted file mode 100644
index 7efc6ff1c8..0000000000
Binary files a/nano/images/weapons/auto.png and /dev/null differ
diff --git a/nano/images/weapons/auto9.png b/nano/images/weapons/auto9.png
deleted file mode 100644
index 8fbc101f2f..0000000000
Binary files a/nano/images/weapons/auto9.png and /dev/null differ
diff --git a/nano/images/weapons/b92fs.png b/nano/images/weapons/b92fs.png
deleted file mode 100644
index 2788124dfb..0000000000
Binary files a/nano/images/weapons/b92fs.png and /dev/null differ
diff --git a/nano/images/weapons/burst.png b/nano/images/weapons/burst.png
deleted file mode 100644
index 669bd676eb..0000000000
Binary files a/nano/images/weapons/burst.png and /dev/null differ
diff --git a/nano/images/weapons/c70.png b/nano/images/weapons/c70.png
deleted file mode 100644
index b7e2ed731b..0000000000
Binary files a/nano/images/weapons/c70.png and /dev/null differ
diff --git a/nano/images/weapons/c_deagle.png b/nano/images/weapons/c_deagle.png
deleted file mode 100644
index c2a5c991ac..0000000000
Binary files a/nano/images/weapons/c_deagle.png and /dev/null differ
diff --git a/nano/images/weapons/cmateba.png b/nano/images/weapons/cmateba.png
deleted file mode 100644
index f949d4b547..0000000000
Binary files a/nano/images/weapons/cmateba.png and /dev/null differ
diff --git a/nano/images/weapons/cshotgun.png b/nano/images/weapons/cshotgun.png
deleted file mode 100644
index 9820f58546..0000000000
Binary files a/nano/images/weapons/cshotgun.png and /dev/null differ
diff --git a/nano/images/weapons/dartgun.png b/nano/images/weapons/dartgun.png
deleted file mode 100644
index 218dc742dc..0000000000
Binary files a/nano/images/weapons/dartgun.png and /dev/null differ
diff --git a/nano/images/weapons/deagle.png b/nano/images/weapons/deagle.png
deleted file mode 100644
index 059a730d7e..0000000000
Binary files a/nano/images/weapons/deagle.png and /dev/null differ
diff --git a/nano/images/weapons/disabled_automatic.png b/nano/images/weapons/disabled_automatic.png
deleted file mode 100644
index 94da079d80..0000000000
Binary files a/nano/images/weapons/disabled_automatic.png and /dev/null differ
diff --git a/nano/images/weapons/disabled_burst.png b/nano/images/weapons/disabled_burst.png
deleted file mode 100644
index 71b88bcaf9..0000000000
Binary files a/nano/images/weapons/disabled_burst.png and /dev/null differ
diff --git a/nano/images/weapons/disabled_single.png b/nano/images/weapons/disabled_single.png
deleted file mode 100644
index bf2cef4b15..0000000000
Binary files a/nano/images/weapons/disabled_single.png and /dev/null differ
diff --git a/nano/images/weapons/dshotgun.png b/nano/images/weapons/dshotgun.png
deleted file mode 100644
index cd79598281..0000000000
Binary files a/nano/images/weapons/dshotgun.png and /dev/null differ
diff --git a/nano/images/weapons/fp9000.png b/nano/images/weapons/fp9000.png
deleted file mode 100644
index b9f971eb07..0000000000
Binary files a/nano/images/weapons/fp9000.png and /dev/null differ
diff --git a/nano/images/weapons/fp9000_pmc.png b/nano/images/weapons/fp9000_pmc.png
deleted file mode 100644
index b9f971eb07..0000000000
Binary files a/nano/images/weapons/fp9000_pmc.png and /dev/null differ
diff --git a/nano/images/weapons/g_deagle.png b/nano/images/weapons/g_deagle.png
deleted file mode 100644
index c2a5c991ac..0000000000
Binary files a/nano/images/weapons/g_deagle.png and /dev/null differ
diff --git a/nano/images/weapons/hg3712.png b/nano/images/weapons/hg3712.png
deleted file mode 100644
index f7f32190c4..0000000000
Binary files a/nano/images/weapons/hg3712.png and /dev/null differ
diff --git a/nano/images/weapons/highpower.png b/nano/images/weapons/highpower.png
deleted file mode 100644
index a7d25c4480..0000000000
Binary files a/nano/images/weapons/highpower.png and /dev/null differ
diff --git a/nano/images/weapons/holdout.png b/nano/images/weapons/holdout.png
deleted file mode 100644
index 1d6f26fad2..0000000000
Binary files a/nano/images/weapons/holdout.png and /dev/null differ
diff --git a/nano/images/weapons/hunting.png b/nano/images/weapons/hunting.png
deleted file mode 100644
index 5d9613117f..0000000000
Binary files a/nano/images/weapons/hunting.png and /dev/null differ
diff --git a/nano/images/weapons/kt42.png b/nano/images/weapons/kt42.png
deleted file mode 100644
index ecf0ee41a9..0000000000
Binary files a/nano/images/weapons/kt42.png and /dev/null differ
diff --git a/nano/images/weapons/l42mk1.png b/nano/images/weapons/l42mk1.png
deleted file mode 100644
index b5efcc14d3..0000000000
Binary files a/nano/images/weapons/l42mk1.png and /dev/null differ
diff --git a/nano/images/weapons/m16.png b/nano/images/weapons/m16.png
deleted file mode 100644
index 2287f73196..0000000000
Binary files a/nano/images/weapons/m16.png and /dev/null differ
diff --git a/nano/images/weapons/m240.png b/nano/images/weapons/m240.png
deleted file mode 100644
index 72eb477c9e..0000000000
Binary files a/nano/images/weapons/m240.png and /dev/null differ
diff --git a/nano/images/weapons/m240t.png b/nano/images/weapons/m240t.png
deleted file mode 100644
index 619551d690..0000000000
Binary files a/nano/images/weapons/m240t.png and /dev/null differ
diff --git a/nano/images/weapons/m37-17.png b/nano/images/weapons/m37-17.png
deleted file mode 100644
index 7d53cbd761..0000000000
Binary files a/nano/images/weapons/m37-17.png and /dev/null differ
diff --git a/nano/images/weapons/m37.png b/nano/images/weapons/m37.png
deleted file mode 100644
index f888adaeb6..0000000000
Binary files a/nano/images/weapons/m37.png and /dev/null differ
diff --git a/nano/images/weapons/m39.png b/nano/images/weapons/m39.png
deleted file mode 100644
index f6fbb0a489..0000000000
Binary files a/nano/images/weapons/m39.png and /dev/null differ
diff --git a/nano/images/weapons/m41a.png b/nano/images/weapons/m41a.png
deleted file mode 100644
index 9476e0d1f4..0000000000
Binary files a/nano/images/weapons/m41a.png and /dev/null differ
diff --git a/nano/images/weapons/m41a2.png b/nano/images/weapons/m41a2.png
deleted file mode 100644
index 4179cb37f5..0000000000
Binary files a/nano/images/weapons/m41a2.png and /dev/null differ
diff --git a/nano/images/weapons/m41ae2.png b/nano/images/weapons/m41ae2.png
deleted file mode 100644
index 4a5232fd66..0000000000
Binary files a/nano/images/weapons/m41ae2.png and /dev/null differ
diff --git a/nano/images/weapons/m41amk1.png b/nano/images/weapons/m41amk1.png
deleted file mode 100644
index 3f44c62b0f..0000000000
Binary files a/nano/images/weapons/m41amk1.png and /dev/null differ
diff --git a/nano/images/weapons/m41b.png b/nano/images/weapons/m41b.png
deleted file mode 100644
index 1d63443f25..0000000000
Binary files a/nano/images/weapons/m41b.png and /dev/null differ
diff --git a/nano/images/weapons/m42a.png b/nano/images/weapons/m42a.png
deleted file mode 100644
index f0d07328c1..0000000000
Binary files a/nano/images/weapons/m42a.png and /dev/null differ
diff --git a/nano/images/weapons/m42c.png b/nano/images/weapons/m42c.png
deleted file mode 100644
index 47d53b86ce..0000000000
Binary files a/nano/images/weapons/m42c.png and /dev/null differ
diff --git a/nano/images/weapons/m44r.png b/nano/images/weapons/m44r.png
deleted file mode 100644
index d7deb2589e..0000000000
Binary files a/nano/images/weapons/m44r.png and /dev/null differ
diff --git a/nano/images/weapons/m44rc.png b/nano/images/weapons/m44rc.png
deleted file mode 100644
index 1c20973a0a..0000000000
Binary files a/nano/images/weapons/m44rc.png and /dev/null differ
diff --git a/nano/images/weapons/m46c.png b/nano/images/weapons/m46c.png
deleted file mode 100644
index d404a6d88f..0000000000
Binary files a/nano/images/weapons/m46c.png and /dev/null differ
diff --git a/nano/images/weapons/m4a3.png b/nano/images/weapons/m4a3.png
deleted file mode 100644
index 9169c71c51..0000000000
Binary files a/nano/images/weapons/m4a3.png and /dev/null differ
diff --git a/nano/images/weapons/m4a345.png b/nano/images/weapons/m4a345.png
deleted file mode 100644
index 1ba0015846..0000000000
Binary files a/nano/images/weapons/m4a345.png and /dev/null differ
diff --git a/nano/images/weapons/m4a3c.png b/nano/images/weapons/m4a3c.png
deleted file mode 100644
index 95731a6c71..0000000000
Binary files a/nano/images/weapons/m4a3c.png and /dev/null differ
diff --git a/nano/images/weapons/m5.png b/nano/images/weapons/m5.png
deleted file mode 100644
index 7d502fdaaf..0000000000
Binary files a/nano/images/weapons/m5.png and /dev/null differ
diff --git a/nano/images/weapons/m56.png b/nano/images/weapons/m56.png
deleted file mode 100644
index baf9b9bd9c..0000000000
Binary files a/nano/images/weapons/m56.png and /dev/null differ
diff --git a/nano/images/weapons/m57a4.png b/nano/images/weapons/m57a4.png
deleted file mode 100644
index 6c2cbcbdbe..0000000000
Binary files a/nano/images/weapons/m57a4.png and /dev/null differ
diff --git a/nano/images/weapons/m60.png b/nano/images/weapons/m60.png
deleted file mode 100644
index 08baffaa74..0000000000
Binary files a/nano/images/weapons/m60.png and /dev/null differ
diff --git a/nano/images/weapons/m79.png b/nano/images/weapons/m79.png
deleted file mode 100644
index 365280f242..0000000000
Binary files a/nano/images/weapons/m79.png and /dev/null differ
diff --git a/nano/images/weapons/m81.png b/nano/images/weapons/m81.png
deleted file mode 100644
index 7b1a6a195b..0000000000
Binary files a/nano/images/weapons/m81.png and /dev/null differ
diff --git a/nano/images/weapons/m82f.png b/nano/images/weapons/m82f.png
deleted file mode 100644
index f6d5e24ec8..0000000000
Binary files a/nano/images/weapons/m82f.png and /dev/null differ
diff --git a/nano/images/weapons/m92.png b/nano/images/weapons/m92.png
deleted file mode 100644
index ce64c3df36..0000000000
Binary files a/nano/images/weapons/m92.png and /dev/null differ
diff --git a/nano/images/weapons/m93b2.png b/nano/images/weapons/m93b2.png
deleted file mode 100644
index 987f56643a..0000000000
Binary files a/nano/images/weapons/m93b2.png and /dev/null differ
diff --git a/nano/images/weapons/mac15.png b/nano/images/weapons/mac15.png
deleted file mode 100644
index 179c8b7a61..0000000000
Binary files a/nano/images/weapons/mac15.png and /dev/null differ
diff --git a/nano/images/weapons/mar30.png b/nano/images/weapons/mar30.png
deleted file mode 100644
index 3a5c19f336..0000000000
Binary files a/nano/images/weapons/mar30.png and /dev/null differ
diff --git a/nano/images/weapons/mar40.png b/nano/images/weapons/mar40.png
deleted file mode 100644
index 043d6529ef..0000000000
Binary files a/nano/images/weapons/mar40.png and /dev/null differ
diff --git a/nano/images/weapons/mateba.png b/nano/images/weapons/mateba.png
deleted file mode 100644
index 49ec3f897a..0000000000
Binary files a/nano/images/weapons/mateba.png and /dev/null differ
diff --git a/nano/images/weapons/mk221.png b/nano/images/weapons/mk221.png
deleted file mode 100644
index a15773fb26..0000000000
Binary files a/nano/images/weapons/mk221.png and /dev/null differ
diff --git a/nano/images/weapons/mou.png b/nano/images/weapons/mou.png
deleted file mode 100644
index a471e16f6e..0000000000
Binary files a/nano/images/weapons/mou.png and /dev/null differ
diff --git a/nano/images/weapons/mp5.png b/nano/images/weapons/mp5.png
deleted file mode 100644
index e36fccdca4..0000000000
Binary files a/nano/images/weapons/mp5.png and /dev/null differ
diff --git a/nano/images/weapons/mp7.png b/nano/images/weapons/mp7.png
deleted file mode 100644
index 9494c8003d..0000000000
Binary files a/nano/images/weapons/mp7.png and /dev/null differ
diff --git a/nano/images/weapons/no_name.png b/nano/images/weapons/no_name.png
deleted file mode 100644
index 8babb2fda5..0000000000
Binary files a/nano/images/weapons/no_name.png and /dev/null differ
diff --git a/nano/images/weapons/ny762.png b/nano/images/weapons/ny762.png
deleted file mode 100644
index bdd5fe500e..0000000000
Binary files a/nano/images/weapons/ny762.png and /dev/null differ
diff --git a/nano/images/weapons/painless.png b/nano/images/weapons/painless.png
deleted file mode 100644
index f493c662eb..0000000000
Binary files a/nano/images/weapons/painless.png and /dev/null differ
diff --git a/nano/images/weapons/pk9.png b/nano/images/weapons/pk9.png
deleted file mode 100644
index 7c66494637..0000000000
Binary files a/nano/images/weapons/pk9.png and /dev/null differ
diff --git a/nano/images/weapons/pk9r.png b/nano/images/weapons/pk9r.png
deleted file mode 100644
index be9adcd507..0000000000
Binary files a/nano/images/weapons/pk9r.png and /dev/null differ
diff --git a/nano/images/weapons/pk9u.png b/nano/images/weapons/pk9u.png
deleted file mode 100644
index 519f574f6e..0000000000
Binary files a/nano/images/weapons/pk9u.png and /dev/null differ
diff --git a/nano/images/weapons/ppsh17b.png b/nano/images/weapons/ppsh17b.png
deleted file mode 100644
index 4ea9e0214f..0000000000
Binary files a/nano/images/weapons/ppsh17b.png and /dev/null differ
diff --git a/nano/images/weapons/single.png b/nano/images/weapons/single.png
deleted file mode 100644
index 2f784868ca..0000000000
Binary files a/nano/images/weapons/single.png and /dev/null differ
diff --git a/nano/images/weapons/skorpion.png b/nano/images/weapons/skorpion.png
deleted file mode 100644
index 342fc75e3e..0000000000
Binary files a/nano/images/weapons/skorpion.png and /dev/null differ
diff --git a/nano/images/weapons/skorpion_u.png b/nano/images/weapons/skorpion_u.png
deleted file mode 100644
index 72128e1f46..0000000000
Binary files a/nano/images/weapons/skorpion_u.png and /dev/null differ
diff --git a/nano/images/weapons/smartpistol.png b/nano/images/weapons/smartpistol.png
deleted file mode 100644
index e688ac9260..0000000000
Binary files a/nano/images/weapons/smartpistol.png and /dev/null differ
diff --git a/nano/images/weapons/spearhead.png b/nano/images/weapons/spearhead.png
deleted file mode 100644
index 7b740dbdc5..0000000000
Binary files a/nano/images/weapons/spearhead.png and /dev/null differ
diff --git a/nano/images/weapons/sshotgun.png b/nano/images/weapons/sshotgun.png
deleted file mode 100644
index f052433653..0000000000
Binary files a/nano/images/weapons/sshotgun.png and /dev/null differ
diff --git a/nano/images/weapons/supremo.png b/nano/images/weapons/supremo.png
deleted file mode 100644
index 83f6a6fb4b..0000000000
Binary files a/nano/images/weapons/supremo.png and /dev/null differ
diff --git a/nano/images/weapons/svd003.png b/nano/images/weapons/svd003.png
deleted file mode 100644
index 6395b8d3b6..0000000000
Binary files a/nano/images/weapons/svd003.png and /dev/null differ
diff --git a/nano/images/weapons/sw357.png b/nano/images/weapons/sw357.png
deleted file mode 100644
index a89ea9cb2f..0000000000
Binary files a/nano/images/weapons/sw357.png and /dev/null differ
diff --git a/nano/images/weapons/sw358.png b/nano/images/weapons/sw358.png
deleted file mode 100644
index c24e72bfce..0000000000
Binary files a/nano/images/weapons/sw358.png and /dev/null differ
diff --git a/nano/images/weapons/syringegun.png b/nano/images/weapons/syringegun.png
deleted file mode 100644
index bf18bf425d..0000000000
Binary files a/nano/images/weapons/syringegun.png and /dev/null differ
diff --git a/nano/images/weapons/taser.png b/nano/images/weapons/taser.png
deleted file mode 100644
index 6337a89966..0000000000
Binary files a/nano/images/weapons/taser.png and /dev/null differ
diff --git a/nano/images/weapons/type71.png b/nano/images/weapons/type71.png
deleted file mode 100644
index 700ff164d6..0000000000
Binary files a/nano/images/weapons/type71.png and /dev/null differ
diff --git a/nano/images/weapons/type71c.png b/nano/images/weapons/type71c.png
deleted file mode 100644
index 273ac0bcbe..0000000000
Binary files a/nano/images/weapons/type71c.png and /dev/null differ
diff --git a/nano/images/weapons/type73.png b/nano/images/weapons/type73.png
deleted file mode 100644
index 63294f7cc9..0000000000
Binary files a/nano/images/weapons/type73.png and /dev/null differ
diff --git a/nano/images/weapons/vp78.png b/nano/images/weapons/vp78.png
deleted file mode 100644
index 2383b4e3ad..0000000000
Binary files a/nano/images/weapons/vp78.png and /dev/null differ
diff --git a/nano/images/weapons/xm42b.png b/nano/images/weapons/xm42b.png
deleted file mode 100644
index 645c552314..0000000000
Binary files a/nano/images/weapons/xm42b.png and /dev/null differ
diff --git a/tgui/packages/tgui/interfaces/WeaponStats.jsx b/tgui/packages/tgui/interfaces/WeaponStats.jsx
index 4978e93ec0..4def237f6b 100644
--- a/tgui/packages/tgui/interfaces/WeaponStats.jsx
+++ b/tgui/packages/tgui/interfaces/WeaponStats.jsx
@@ -1,4 +1,5 @@
import { map } from 'common/collections';
+import { classes } from 'common/react';
import { useBackend } from '../backend';
import { Box, Divider, Flex, ProgressBar, Section, Table } from '../components';
@@ -68,7 +69,7 @@ const GeneralInfo = (props) => {
-
+
@@ -78,25 +79,33 @@ const GeneralInfo = (props) => {
- {!auto_only ? (
-
- ) : (
-
- )}
+
- {!auto_only && burst_amount > 1 ? (
-
- ) : (
-
- )}
+ 1 ? 'burst' : 'disabled_burst'
+ }`,
+ ])}
+ />
- {automatic ? (
-
- ) : (
-
- )}
+
@@ -272,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}
@@ -289,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}
-
>
);
};
@@ -308,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 (
@@ -337,14 +355,6 @@ const DamageTable = (props) => {
{entry}
))}
- {!glob_armourbreak ? (
-
- Armor break
- {map(damage_armor_profile_armorbreak, (entry, i) => (
- {entry}
- ))}
-
- ) : null}
);