feat: custom icons for all items, weapons pack added (v1.3.3)

This commit is contained in:
2026-06-02 15:55:42 +01:00
parent 523b1e50c8
commit 92be561740
44 changed files with 674 additions and 41 deletions
+18
View File
@@ -0,0 +1,18 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Main chest plate -->
<rect x="14" y="16" width="36" height="40" rx="2" fill="#1a1a1a"/>
<!-- Left shoulder tab -->
<rect x="4" y="16" width="12" height="16" rx="2" fill="#1a1a1a"/>
<!-- Right shoulder tab -->
<rect x="48" y="16" width="12" height="16" rx="2" fill="#1a1a1a"/>
<!-- Central ridge -->
<rect x="30" y="20" width="4" height="32" rx="1" fill="white"/>
<!-- Corner bolts -->
<circle cx="20" cy="22" r="3" fill="white"/>
<circle cx="44" cy="22" r="3" fill="white"/>
<circle cx="20" cy="50" r="3" fill="white"/>
<circle cx="44" cy="50" r="3" fill="white"/>
<!-- Rank stripe -->
<rect x="16" y="30" width="13" height="3" rx="1" fill="white"/>
<rect x="35" y="30" width="13" height="3" rx="1" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 819 B

@@ -0,0 +1,14 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Body: soft jacket trapezoid -->
<path d="M10,20 L6,58 L58,58 L54,20 C46,14 40,18 36,28 L32,36 L28,28 C24,18 18,14 10,20Z" fill="#1a1a1a"/>
<!-- Left lapel cutout -->
<path d="M10,20 L22,20 L32,36 L26,28 C22,22 16,16 10,20Z" fill="white"/>
<!-- Right lapel cutout -->
<path d="M54,20 L42,20 L32,36 L38,28 C42,22 48,16 54,20Z" fill="white"/>
<!-- Left pocket -->
<rect x="10" y="47" width="14" height="8" rx="2" fill="white"/>
<!-- Right pocket -->
<rect x="40" y="47" width="14" height="8" rx="2" fill="white"/>
<!-- Centre zip -->
<rect x="31" y="36" width="2" height="22" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 685 B

+21
View File
@@ -0,0 +1,21 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Central spine -->
<rect x="29" y="8" width="6" height="48" rx="2" fill="#1a1a1a"/>
<!-- Cross bar (shoulders) -->
<rect x="6" y="16" width="52" height="6" rx="2" fill="#1a1a1a"/>
<!-- Cross bar (waist) -->
<rect x="10" y="42" width="44" height="6" rx="2" fill="#1a1a1a"/>
<!-- Left arm strut -->
<rect x="6" y="16" width="6" height="32" rx="2" fill="#1a1a1a"/>
<!-- Right arm strut -->
<rect x="52" y="16" width="6" height="32" rx="2" fill="#1a1a1a"/>
<!-- Shoulder joints -->
<circle cx="12" cy="22" r="6" fill="white" stroke="#1a1a1a" stroke-width="3"/>
<circle cx="52" cy="22" r="6" fill="white" stroke="#1a1a1a" stroke-width="3"/>
<!-- Waist joints -->
<circle cx="12" cy="44" r="5" fill="white" stroke="#1a1a1a" stroke-width="3"/>
<circle cx="52" cy="44" r="5" fill="white" stroke="#1a1a1a" stroke-width="3"/>
<!-- Chest core -->
<rect x="22" y="24" width="20" height="16" rx="3" fill="#1a1a1a"/>
<rect x="26" y="28" width="12" height="8" rx="2" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

+18
View File
@@ -0,0 +1,18 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Top plate (widest) -->
<rect x="8" y="10" width="48" height="14" rx="2" fill="#1a1a1a"/>
<!-- Middle plate -->
<rect x="10" y="27" width="44" height="13" rx="2" fill="#1a1a1a"/>
<!-- Bottom plate -->
<rect x="12" y="43" width="40" height="13" rx="2" fill="#1a1a1a"/>
<!-- Plate gaps (white lines) -->
<rect x="8" y="24" width="48" height="3" fill="white"/>
<rect x="10" y="40" width="44" height="3" fill="white"/>
<!-- Bolt details top plate -->
<circle cx="18" cy="17" r="2.5" fill="white"/>
<circle cx="32" cy="17" r="2.5" fill="white"/>
<circle cx="46" cy="17" r="2.5" fill="white"/>
<!-- Side reinforcement bars -->
<rect x="8" y="10" width="4" height="46" rx="1" fill="#1a1a1a"/>
<rect x="52" y="10" width="4" height="46" rx="1" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 856 B

+20
View File
@@ -0,0 +1,20 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Shield aura (outermost) -->
<ellipse cx="32" cy="34" rx="29" ry="28" fill="none" stroke="#1a1a1a" stroke-width="2" stroke-dasharray="4 3"/>
<!-- Left dome shoulder -->
<ellipse cx="10" cy="22" rx="9" ry="10" fill="#1a1a1a"/>
<!-- Right dome shoulder -->
<ellipse cx="54" cy="22" rx="9" ry="10" fill="#1a1a1a"/>
<!-- Main torso block -->
<rect x="14" y="18" width="36" height="36" rx="4" fill="#1a1a1a"/>
<!-- Neck guard -->
<rect x="22" y="10" width="20" height="10" rx="3" fill="#1a1a1a"/>
<!-- Chest panel white -->
<rect x="19" y="22" width="26" height="18" rx="2" fill="white"/>
<!-- Power cell indicator -->
<rect x="24" y="26" width="16" height="10" rx="1" fill="#1a1a1a"/>
<rect x="26" y="28" width="5" height="6" rx="1" fill="white"/>
<rect x="33" y="28" width="5" height="6" rx="1" fill="white"/>
<!-- Lower skirt -->
<rect x="16" y="52" width="32" height="6" rx="2" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 1002 B

+20
View File
@@ -0,0 +1,20 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Narrow vest body -->
<rect x="20" y="24" width="24" height="36" rx="3" fill="#1a1a1a"/>
<!-- Left shoulder strap -->
<rect x="17" y="8" width="8" height="18" rx="3" fill="#1a1a1a"/>
<!-- Right shoulder strap -->
<rect x="39" y="8" width="8" height="18" rx="3" fill="#1a1a1a"/>
<!-- Left buckle -->
<rect x="16" y="18" width="10" height="5" rx="1" fill="white"/>
<rect x="19" y="19" width="4" height="3" rx="1" fill="#1a1a1a"/>
<!-- Right buckle -->
<rect x="38" y="18" width="10" height="5" rx="1" fill="white"/>
<rect x="41" y="19" width="4" height="3" rx="1" fill="#1a1a1a"/>
<!-- Chest pockets -->
<rect x="22" y="26" width="8" height="9" rx="1" fill="white"/>
<rect x="34" y="26" width="8" height="9" rx="1" fill="white"/>
<!-- Utility loop -->
<circle cx="32" cy="50" r="5" fill="white"/>
<circle cx="32" cy="50" r="2" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 950 B

+8
View File
@@ -0,0 +1,8 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Circular pill / lozenge -->
<circle cx="32" cy="32" r="26" fill="#1a1a1a"/>
<circle cx="32" cy="32" r="20" fill="white"/>
<!-- Flat calm EKG line -->
<path d="M12,32 L20,32 L23,26 L26,38 L29,32 L35,32 L38,26 L41,38 L44,32 L52,32"
stroke="#1a1a1a" stroke-width="2.5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 418 B

+13
View File
@@ -0,0 +1,13 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Left pill -->
<ellipse cx="20" cy="32" rx="13" ry="9" fill="#1a1a1a"/>
<ellipse cx="20" cy="32" rx="9" ry="5" fill="white"/>
<!-- Score line on left pill -->
<line x1="20" y1="23" x2="20" y2="41" stroke="#1a1a1a" stroke-width="2"/>
<!-- Right pill -->
<ellipse cx="44" cy="32" rx="13" ry="9" fill="#1a1a1a"/>
<!-- Right pill coating half -->
<path d="M44,23 A13,9 0 0 1 44,41 A9,5 0 0 0 44,23Z" fill="white"/>
<!-- Score line on right pill -->
<line x1="44" y1="23" x2="44" y2="41" stroke="#1a1a1a" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 613 B

+10
View File
@@ -0,0 +1,10 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Rectangular energy vial -->
<rect x="18" y="10" width="28" height="46" rx="3" fill="#1a1a1a"/>
<!-- Top cap -->
<rect x="22" y="6" width="20" height="6" rx="2" fill="#1a1a1a"/>
<!-- Inner glow panel -->
<rect x="22" y="14" width="20" height="38" rx="2" fill="white"/>
<!-- Lightning bolt -->
<polygon points="36,16 28,34 33,34 27,52 40,30 34,30 40,16" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 458 B

+18
View File
@@ -0,0 +1,18 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Syringe barrel -->
<rect x="10" y="27" width="36" height="10" rx="3" fill="#1a1a1a"/>
<!-- Needle -->
<path d="M46,30 L58,32 L46,34 Z" fill="#1a1a1a"/>
<!-- Plunger rod -->
<rect x="4" y="30" width="8" height="4" rx="1" fill="#1a1a1a"/>
<!-- Plunger head -->
<rect x="2" y="25" width="6" height="14" rx="2" fill="#1a1a1a"/>
<!-- Barrel window (white) -->
<rect x="14" y="29" width="26" height="6" rx="2" fill="white"/>
<!-- Fill level -->
<rect x="14" y="29" width="14" height="6" rx="2" fill="#1a1a1a"/>
<!-- Measurement marks -->
<line x1="24" y1="27" x2="24" y2="25" stroke="#1a1a1a" stroke-width="1.5"/>
<line x1="32" y1="27" x2="32" y2="25" stroke="#1a1a1a" stroke-width="1.5"/>
<line x1="40" y1="27" x2="40" y2="25" stroke="#1a1a1a" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 865 B

+16
View File
@@ -0,0 +1,16 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Round-bottom dropper flask -->
<!-- Round bottom -->
<ellipse cx="32" cy="46" rx="18" ry="14" fill="#1a1a1a"/>
<!-- Neck -->
<rect x="26" y="18" width="12" height="20" rx="1" fill="#1a1a1a"/>
<!-- Dropper tip -->
<rect x="29" y="8" width="6" height="12" rx="2" fill="#1a1a1a"/>
<!-- Drop emerging -->
<ellipse cx="32" cy="7" rx="3" ry="4" fill="#1a1a1a"/>
<!-- Flask highlight (white oval inside) -->
<ellipse cx="32" cy="46" rx="12" ry="9" fill="white"/>
<!-- Wavy sedative lines inside flask -->
<path d="M22,44 Q26,40 30,44 Q34,48 38,44" stroke="#1a1a1a" stroke-width="2" fill="none"/>
<path d="M22,50 Q26,46 30,50 Q34,54 38,50" stroke="#1a1a1a" stroke-width="2" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 781 B

+13
View File
@@ -0,0 +1,13 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Ampule body -->
<path d="M28,52 L28,28 L24,20 L28,8 L36,8 L40,20 L36,28 L36,52 Z" fill="#1a1a1a"/>
<!-- Neck highlight -->
<rect x="27" y="18" width="10" height="12" rx="1" fill="white"/>
<!-- Upward arrow inside body -->
<polygon points="32,30 26,42 38,42" fill="white"/>
<rect x="30" y="42" width="4" height="8" fill="white"/>
<!-- Ampule tip -->
<ellipse cx="32" cy="8" rx="5" ry="3" fill="#1a1a1a"/>
<!-- Bottom flat -->
<rect x="26" y="50" width="12" height="4" rx="2" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 586 B

+19
View File
@@ -0,0 +1,19 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Hexagonal hazard vial -->
<polygon points="32,4 52,16 52,48 32,60 12,48 12,16" fill="#1a1a1a"/>
<!-- Inner hex -->
<polygon points="32,10 48,20 48,44 32,54 16,44 16,20" fill="white"/>
<!-- Skull: dome -->
<ellipse cx="32" cy="28" rx="11" ry="10" fill="#1a1a1a"/>
<!-- Skull: jaw -->
<rect x="26" y="36" width="12" height="6" rx="2" fill="#1a1a1a"/>
<!-- Skull: eye sockets -->
<ellipse cx="28" cy="27" rx="3" ry="3.5" fill="white"/>
<ellipse cx="36" cy="27" rx="3" ry="3.5" fill="white"/>
<!-- Skull: nose -->
<polygon points="32,31 30,35 34,35" fill="white"/>
<!-- Skull: teeth -->
<rect x="27" y="37" width="3" height="4" rx="1" fill="white"/>
<rect x="31" y="37" width="3" height="4" rx="1" fill="white"/>
<rect x="35" y="37" width="3" height="4" rx="1" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 879 B

+18
View File
@@ -0,0 +1,18 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Baton shaft -->
<rect x="28" y="6" width="8" height="46" rx="3" fill="#1a1a1a"/>
<!-- Shock tip (wider) -->
<rect x="24" y="6" width="16" height="10" rx="4" fill="#1a1a1a"/>
<!-- Shock coil rings -->
<rect x="22" y="8" width="20" height="2" rx="1" fill="white"/>
<rect x="22" y="12" width="20" height="2" rx="1" fill="white"/>
<!-- Grip ridges -->
<rect x="26" y="32" width="12" height="3" rx="1" fill="white"/>
<rect x="26" y="38" width="12" height="3" rx="1" fill="white"/>
<rect x="26" y="44" width="12" height="3" rx="1" fill="white"/>
<!-- Pommel -->
<ellipse cx="32" cy="54" rx="7" ry="5" fill="#1a1a1a"/>
<!-- SLA badge on baton -->
<circle cx="32" cy="25" r="5" fill="white"/>
<rect cx="32" cy="25" x="30" y="23" width="4" height="4" rx="1" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 871 B

+19
View File
@@ -0,0 +1,19 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Palm base -->
<ellipse cx="32" cy="50" rx="18" ry="12" fill="#1a1a1a"/>
<!-- Claw 1 (left outer) -->
<path d="M16,44 Q8,28 12,10 Q14,6 16,10 Q16,28 20,42Z" fill="#1a1a1a"/>
<path d="M12,10 Q13,7 16,10 Q15,18 18,36 L16,44 Q14,36 12,10Z" fill="white"/>
<!-- Claw 2 (left inner) -->
<path d="M24,42 Q20,24 23,8 Q25,4 27,8 Q25,26 27,42Z" fill="#1a1a1a"/>
<path d="M23,8 Q24,5 27,8 Q25,22 26,40 L24,42 Q22,30 23,8Z" fill="white"/>
<!-- Claw 3 (centre) -->
<path d="M32,42 Q30,22 32,6 Q34,2 36,6 Q34,24 34,42Z" fill="#1a1a1a"/>
<path d="M32,6 Q33,3 36,6 Q34,20 34,40 L32,42 Q30,28 32,6Z" fill="white"/>
<!-- Claw 4 (right inner) -->
<path d="M40,42 Q39,26 41,8 Q43,4 45,8 Q43,28 42,42Z" fill="#1a1a1a"/>
<path d="M41,8 Q42,5 45,8 Q43,22 42,40 L40,42 Q40,28 41,8Z" fill="white"/>
<!-- Claw 5 (right outer) -->
<path d="M48,44 Q50,28 52,10 Q54,6 56,10 Q54,28 50,42Z" fill="#1a1a1a"/>
<path d="M52,10 Q53,7 56,10 Q54,24 50,40 L48,44 Q48,30 52,10Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,27 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Triple barrel cluster -->
<rect x="4" y="20" width="40" height="7" rx="2" fill="#1a1a1a"/>
<rect x="4" y="28" width="40" height="7" rx="2" fill="#1a1a1a"/>
<rect x="4" y="36" width="40" height="7" rx="2" fill="#1a1a1a"/>
<!-- Muzzle brakes -->
<rect x="2" y="19" width="6" height="9" rx="1" fill="#1a1a1a"/>
<rect x="2" y="27" width="6" height="9" rx="1" fill="#1a1a1a"/>
<rect x="2" y="35" width="6" height="9" rx="1" fill="#1a1a1a"/>
<!-- Muzzle vents -->
<line x1="3" y1="22" x2="3" y2="26" stroke="white" stroke-width="1"/>
<line x1="3" y1="30" x2="3" y2="34" stroke="white" stroke-width="1"/>
<line x1="3" y1="38" x2="3" y2="42" stroke="white" stroke-width="1"/>
<!-- Receiver housing -->
<rect x="40" y="18" width="16" height="28" rx="3" fill="#1a1a1a"/>
<!-- Ammo drum -->
<circle cx="50" cy="48" r="10" fill="#1a1a1a"/>
<circle cx="50" cy="48" r="6" fill="white"/>
<circle cx="50" cy="48" r="3" fill="#1a1a1a"/>
<!-- Feed mechanism -->
<rect x="44" y="38" width="12" height="6" rx="1" fill="#1a1a1a"/>
<!-- Cooling vents on barrels -->
<line x1="20" y1="20" x2="20" y2="27" stroke="white" stroke-width="1"/>
<line x1="26" y1="20" x2="26" y2="27" stroke="white" stroke-width="1"/>
<line x1="20" y1="28" x2="20" y2="35" stroke="white" stroke-width="1"/>
<line x1="26" y1="28" x2="26" y2="35" stroke="white" stroke-width="1"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+13
View File
@@ -0,0 +1,13 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Blade (angular combat knife) -->
<path d="M30,6 L38,8 L36,48 L28,48 Z" fill="#1a1a1a"/>
<!-- Serrated spine detail -->
<path d="M30,6 L32,8 L30,12 L32,16 L30,20 L32,24 L30,28 L32,32 L30,36 L32,40 L30,44 L28,48 L30,48Z" fill="white"/>
<!-- Guard -->
<rect x="20" y="46" width="24" height="5" rx="2" fill="#1a1a1a"/>
<!-- Handle with grip lines -->
<rect x="24" y="51" width="16" height="12" rx="3" fill="#1a1a1a"/>
<line x1="24" y1="54" x2="40" y2="54" stroke="white" stroke-width="1.5"/>
<line x1="24" y1="57" x2="40" y2="57" stroke="white" stroke-width="1.5"/>
<line x1="24" y1="60" x2="40" y2="60" stroke="white" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 731 B

@@ -0,0 +1,15 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Curved katana-style blade -->
<path d="M30,4 Q36,20 36,44 L32,48 Q28,44 28,20 Z" fill="#1a1a1a"/>
<!-- Mono-edge highlight (one glowing edge) -->
<path d="M36,8 Q38,22 36,44 L32,48 Q34,44 36,8Z" fill="white"/>
<!-- Tsuba / guard (circular) -->
<ellipse cx="32" cy="50" rx="12" ry="5" fill="#1a1a1a"/>
<ellipse cx="32" cy="50" rx="8" ry="3" fill="white"/>
<ellipse cx="32" cy="50" rx="4" ry="2" fill="#1a1a1a"/>
<!-- Handle -->
<rect x="28" y="55" width="8" height="8" rx="2" fill="#1a1a1a"/>
<!-- Handle wrap -->
<line x1="28" y1="57" x2="36" y2="57" stroke="white" stroke-width="1.5"/>
<line x1="28" y1="60" x2="36" y2="60" stroke="white" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 760 B

+20
View File
@@ -0,0 +1,20 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Barrel -->
<rect x="10" y="22" width="34" height="8" rx="2" fill="#1a1a1a"/>
<!-- Slide top -->
<rect x="18" y="18" width="26" height="6" rx="1" fill="#1a1a1a"/>
<!-- Ejection port -->
<rect x="28" y="19" width="8" height="4" rx="1" fill="white"/>
<!-- Grip -->
<path d="M40,28 L44,28 L46,50 L36,50 L34,30 Z" fill="#1a1a1a"/>
<!-- Trigger guard -->
<path d="M34,30 Q30,38 32,44 L36,50 L36,42 Z" fill="#1a1a1a"/>
<!-- Trigger -->
<rect x="31" y="32" width="3" height="8" rx="1" fill="white"/>
<!-- Magazine base -->
<rect x="36" y="48" width="8" height="4" rx="1" fill="#1a1a1a"/>
<!-- Muzzle -->
<rect x="8" y="23" width="4" height="6" rx="1" fill="#1a1a1a"/>
<!-- Sight -->
<rect x="40" y="17" width="4" height="3" rx="1" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 849 B

@@ -0,0 +1,16 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Blade -->
<path d="M32,4 L38,14 L36,54 L28,54 L26,14 Z" fill="#1a1a1a"/>
<!-- Blade edge glow (mono-edge detail) -->
<path d="M32,4 L36,14 L35,50 L32,54 L32,4Z" fill="white"/>
<!-- Cross guard -->
<rect x="16" y="50" width="32" height="6" rx="3" fill="#1a1a1a"/>
<!-- Guard detail -->
<rect x="20" y="51" width="10" height="4" rx="1" fill="white"/>
<rect x="34" y="51" width="10" height="4" rx="1" fill="white"/>
<!-- Handle -->
<rect x="26" y="56" width="12" height="6" rx="2" fill="#1a1a1a"/>
<!-- Power cell at base -->
<rect x="24" y="58" width="16" height="4" rx="2" fill="#1a1a1a"/>
<rect x="28" y="59" width="8" height="2" rx="1" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 753 B

+25
View File
@@ -0,0 +1,25 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Long barrel -->
<rect x="4" y="27" width="46" height="6" rx="2" fill="#1a1a1a"/>
<!-- Receiver/body -->
<rect x="22" y="22" width="24" height="14" rx="2" fill="#1a1a1a"/>
<!-- Stock -->
<path d="M46,22 L60,24 L60,36 L46,36 Z" fill="#1a1a1a"/>
<!-- Stock butt -->
<rect x="56" y="22" width="6" height="14" rx="2" fill="#1a1a1a"/>
<!-- Magazine (curved, below receiver) -->
<path d="M30,36 Q28,46 32,48 Q36,50 38,46 L38,36 Z" fill="#1a1a1a"/>
<!-- Scope rail -->
<rect x="26" y="20" width="18" height="3" rx="1" fill="#1a1a1a"/>
<!-- Scope -->
<rect x="28" y="16" width="14" height="5" rx="2" fill="#1a1a1a"/>
<rect x="30" y="17" width="10" height="3" rx="1" fill="white"/>
<!-- Trigger guard -->
<path d="M34,36 Q32,44 34,44 L38,44 L38,36Z" fill="#1a1a1a"/>
<!-- Grip -->
<rect x="44" y="34" width="6" height="12" rx="2" fill="#1a1a1a"/>
<!-- Muzzle flash guard -->
<rect x="2" y="25" width="6" height="10" rx="1" fill="#1a1a1a"/>
<line x1="4" y1="28" x2="4" y2="32" stroke="white" stroke-width="1"/>
<line x1="6" y1="28" x2="6" y2="32" stroke="white" stroke-width="1"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+18
View File
@@ -0,0 +1,18 @@
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<!-- Short barrel -->
<rect x="6" y="26" width="28" height="7" rx="2" fill="#1a1a1a"/>
<!-- Compact receiver -->
<rect x="22" y="20" width="20" height="16" rx="2" fill="#1a1a1a"/>
<!-- Folded stock / rear -->
<rect x="40" y="22" width="16" height="12" rx="2" fill="#1a1a1a"/>
<!-- Magazine (straight, below) -->
<rect x="27" y="36" width="8" height="16" rx="2" fill="#1a1a1a"/>
<!-- Foregrip -->
<rect x="10" y="33" width="6" height="10" rx="2" fill="#1a1a1a"/>
<!-- Ejection port -->
<rect x="32" y="21" width="6" height="4" rx="1" fill="white"/>
<!-- Trigger -->
<rect x="33" y="33" width="2" height="5" rx="1" fill="white"/>
<!-- Sight -->
<rect x="24" y="18" width="8" height="3" rx="1" fill="#1a1a1a"/>
</svg>

After

Width:  |  Height:  |  Size: 808 B