Updated Legend Icons. Added S11 images and code.

This commit is contained in:
DWW 2021-11-09 23:55:59 +02:00
parent 3ae854d642
commit f796eee6a6
21 changed files with 92 additions and 64 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_4_1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-4.625 -4.625 46.25 46.25" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<circle class="st0" cx="18.5" cy="18.5" r="2.1"/>
<rect x="17.8" y="0.3" class="st0" width="1.4" height="10.2"/>
<rect x="17.8" y="26.5" transform="matrix(-1 -9.047486e-11 9.047486e-11 -1 36.9995 63.131)" class="st0" width="1.4" height="10.2"/>
<path class="st0" d="M5.7,22.6H4c1.4,5,5.3,8.9,10.3,10.3v-1.6C10.3,30,7,26.7,5.7,22.6z"/>
<path class="st0" d="M4,14.4h1.6C7,10.3,10.3,7,14.4,5.7V4C9.4,5.5,5.5,9.4,4,14.4z"/>
<rect x="4.7" y="13.4" transform="matrix(4.335294e-11 -1 1 4.335294e-11 -13.0655 23.9345)" class="st0" width="1.4" height="10.2"/>
<path class="st0" d="M31.3,14.4H33c-1.4-5-5.3-8.9-10.3-10.3v1.6C26.7,7,30,10.3,31.3,14.4z"/>
<path class="st0" d="M31.3,22.6c-1.3,4.1-4.6,7.3-8.7,8.7V33c5-1.4,8.9-5.3,10.3-10.3H31.3z"/>
<rect x="30.8" y="13.4" transform="matrix(-1.357121e-10 1 -1 -1.357121e-10 50.066 -13.065)" class="st0" width="1.4" height="10.2"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/legends/icon/18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/weapons/car.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

140
script.js
View File

@ -16,7 +16,8 @@ var legend_names = [
"HORIZON",
"FUSE",
"VALKYRIE",
"SEER"
"SEER",
"ASH"
];
var legend_descriptions = [
@ -37,7 +38,8 @@ var legend_descriptions = [
"GRAVITATIONAL MANIPULATOR",
"EXPLOSIVES ENTHUSIAST",
"WINGED AVENGER",
"AMBUSH ARTIST"
"AMBUSH ARTIST",
"INCISIVE INSIGATOR"
];
var legend_passives = [
@ -58,7 +60,8 @@ var legend_passives = [
"SPACEWALK",
"GRENADIER",
"VTOL JETS",
"FOCUS OF ATTENTION"
"FOCUS OF ATTENTION",
"MARKED FOR DEATH"
];
var legend_tacticals = [
@ -79,7 +82,8 @@ var legend_tacticals = [
"GRAVITY LIFT",
"KNUCKLE CLUSTER",
"MISSILE SWARM",
"HEART SEEKER"
"HEART SEEKER",
"ARC SNARE"
];
var legend_ultimates = [
@ -100,11 +104,12 @@ var legend_ultimates = [
"BLACK HOLE",
"THE MOTHERLODE",
"SKYWARD DIVE",
"EXHIBIT"
"EXHIBIT",
"PHASE BREACH"
];
var legend_classes = [0, 1, 2, 0, 3, 3, 1, 3, 3, 1, 0, 3, 2, 1, 3, 3, 0, 0];
var legend_mods = [-1, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
var legend_classes = [0, 1, 2, 0, 3, 3, 1, 3, 3, 1, 0, 3, 2, 1, 3, 3, 0, 0, 3];
var legend_mods = [-1, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1];
var legend_classes_txt = ["RECON", "DEFENSE", "SUPPORT", "OFFENSE"];
var legend_mods_txt = ["FORTIFIED", "LOW PROFILE"];
@ -124,9 +129,10 @@ var hopup_txt = [
"QUICKDRAW HOLSTER",
"SHATTER CAPS",
"DEADEYE'S TEMPO",
"BOOSTED LOADER"
"BOOSTED LOADER",
"DUAL SHELL"
];
var hopup_level = [3, 3, 4, 4, 3, 3, 4, 3, 1, 3, 3, 3, 4];
var hopup_level = [3, 3, 4, 4, 3, 3, 4, 3, 1, 3, 3, 3, 4, 3];
var mag_txt = ["EXTENDED LIGHT MAGAZINE", "EXTENDED HEAVY MAGAZINE", "EXTENDED SNIPER MAGAZINE", "EXTENDED ENERGY MAGAZINE"];
var ammo_txt = ["LIGHT ROUNDS", "HEAVY ROUNDS", "SNIPER AMMO", "ENERGY AMMO", "SHOTGUN SHELLS", "ARROWS"];
@ -138,33 +144,34 @@ var weapon2 = -1;
// Longest - KRABER
// Tallest - RE-45
weapons.push({name:"VK-47 FLATLINE", barrel:false, bolt:false, mag:1, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"flatline.png"});
weapons.push({name:"R-301 CARBINE", barrel:true, bolt:false, mag:0, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"r301.png"});
weapons.push({name:"VOLT SMG", barrel:true, bolt:false, mag:3, optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:3, filename:"volt.png"});
weapons.push({name:"L-STAR EMG", barrel:true, bolt:false, mag:3, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:3, filename:"lstar.png"});
weapons.push({name:"RAMPAGE", barrel:true, bolt:false, mag:1, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"rampage.png"});
weapons.push({name:"HAVOC RIFLE", barrel:false, bolt:false, mag:3, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[3], multi_hopup:false, ammo:3, filename:"havoc.png"});
weapons.push({name:"DEVOTION LMG", barrel:true, bolt:false, mag:3, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[3], multi_hopup:false, ammo:3, filename:"devotion.png"});
weapons.push({name:"30-30 REPEATER", barrel:false, bolt:false, mag:1, optic:[1, 2, 3, 4, 5, 6], stock_standard:false, stock_sniper:true, hopup:[10], multi_hopup:false, ammo:1, filename:"3030.png"});
weapons.push({name:"G7 SCOUT", barrel:true, bolt:false, mag:0, optic:[1, 2, 3, 4, 5, 6], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:0, filename:"g7.png"});
weapons.push({name:"WINGMAN", barrel:false, bolt:false, mag:1, optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[12], multi_hopup:false, ammo:1, filename:"wingman.png"});
weapons.push({name:"BOCEK COMPOUND BOW", barrel:false, bolt:false, mag:-1, optic:[1, 2, 3, 4, 5], stock_standard:false, stock_sniper:false, hopup:[10, 11], multi_hopup:true, ammo:5, filename:"bocek.png"});
weapons.push({name:"HEMLOK BURST AR", barrel:true, bolt:false, mag:1, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[12], multi_hopup:false, ammo:1, filename:"hemlok.png"});
weapons.push({name:"PROWLER BURST PDW", barrel:false, bolt:false, mag:1, optic:[], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"prowler.png"});
weapons.push({name:"RE-45 AUTO", barrel:true, bolt:false, mag:0, optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"re45.png"});
weapons.push({name:"R-99 SMG", barrel:true, bolt:false, mag:0, optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"r99.png"});
weapons.push({name:"LONGBOW DMR", barrel:true, bolt:false, mag:2, optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:2, filename:"longbow.png"});
weapons.push({name:"SENTINEL", barrel:false, bolt:false, mag:2, optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:true, hopup:[11], multi_hopup:false, ammo:2, filename:"sentinel.png"});
weapons.push({name:"CHARGE RIFLE", barrel:false, bolt:false, mag:-1, optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:2, filename:"chargerifle.png"});
weapons.push({name:"PEACEKEEPER", barrel:false, bolt:true, mag:-1, optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:4, filename:"peacekeeper.png"});
weapons.push({name:"EVA-8 AUTO", barrel:false, bolt:true, mag:-1, optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:4, filename:"eva8.png"});
weapons.push({name:"MASTIFF SHOTGUN", barrel:false, bolt:true, mag:-1, optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:4, filename:"mastiff.png"});
weapons.push({name:"P2020", barrel:false, bolt:false, mag:0, optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"p2020.png"});
weapons.push({name:"MOZAMBIQUE SHOTGUN", barrel:false, bolt:true, mag:-1, optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:4, filename:"mozambique.png"});
//weapons.push({name:"M600 SPITFIRE", barrel:true, bolt:false, mag:1, optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"spitfire.png"});
//weapons.push({name:"ALTERNATOR SMG", barrel:true, bolt:false, mag:0, optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"alternator.png"});
//weapons.push({name:"TRIPLE TAKE", barrel:false, bolt:false, mag:3, optic:[1, 2, 3, 4, 5, 6], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:3, filename:"tripletake.png"});
//weapons.push({name:"KRABER .50-CAL SNIPER", barrel:false, bolt:true, mag:-1, optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:2, filename:"kraber.png"});
weapons.push({name:"VK-47 FLATLINE", barrel:false, bolt:false, mag:[1], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"flatline.png"});
weapons.push({name:"R-301 CARBINE", barrel:true, bolt:false, mag:[0], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"r301.png"});
weapons.push({name:"C.A.R. SMG", barrel: true, bolt:false, mag:[1,0], optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"car.png"});
weapons.push({name:"VOLT SMG", barrel:true, bolt:false, mag:[3], optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:3, filename:"volt.png"});
weapons.push({name:"L-STAR EMG", barrel:true, bolt:false, mag:[3], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:3, filename:"lstar.png"});
weapons.push({name:"RAMPAGE", barrel:true, bolt:false, mag:[1], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"rampage.png"});
weapons.push({name:"HAVOC RIFLE", barrel:false, bolt:false, mag:[3], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[3], multi_hopup:false, ammo:3, filename:"havoc.png"});
weapons.push({name:"30-30 REPEATER", barrel:false, bolt:false, mag:[1], optic:[1, 2, 3, 4, 5, 6], stock_standard:false, stock_sniper:true, hopup:[10, 13], multi_hopup:false, ammo:1, filename:"3030.png"});
weapons.push({name:"TRIPLE TAKE", barrel:false, bolt:false, mag:[3], optic:[1, 2, 3, 4, 5, 6], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:3, filename:"tripletake.png"});
weapons.push({name:"DEVOTION LMG", barrel:true, bolt:false, mag:[3], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[3], multi_hopup:false, ammo:3, filename:"devotion.png"});
weapons.push({name:"WINGMAN", barrel:false, bolt:false, mag:[1], optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[12], multi_hopup:false, ammo:1, filename:"wingman.png"});
weapons.push({name:"BOCEK COMPOUND BOW", barrel:false, bolt:false, mag:[], optic:[1, 2, 3, 4, 5], stock_standard:false, stock_sniper:false, hopup:[10, 11], multi_hopup:true, ammo:5, filename:"bocek.png"});
weapons.push({name:"HEMLOK BURST AR", barrel:true, bolt:false, mag:[1], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[12], multi_hopup:false, ammo:1, filename:"hemlok.png"});
weapons.push({name:"PROWLER BURST PDW", barrel:false, bolt:false, mag:[1], optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"prowler.png"});
weapons.push({name:"RE-45 AUTO", barrel:true, bolt:false, mag:[0], optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"re45.png"});
weapons.push({name:"R-99 SMG", barrel:true, bolt:false, mag:[0], optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"r99.png"});
weapons.push({name:"EVA-8 AUTO", barrel:false, bolt:true, mag:[], optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:4, filename:"eva8.png"});
weapons.push({name:"MASTIFF SHOTGUN", barrel:false, bolt:true, mag:[], optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[13], multi_hopup:false, ammo:4, filename:"mastiff.png"});
weapons.push({name:"PEACEKEEPER", barrel:false, bolt:true, mag:[], optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:4, filename:"peacekeeper.png"});
weapons.push({name:"MOZAMBIQUE SHOTGUN", barrel:false, bolt:true, mag:[], optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:4, filename:"mozambique.png"});
weapons.push({name:"P2020", barrel:false, bolt:false, mag:[0], optic:[0, 1, 2, 3, 4], stock_standard:false, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"p2020.png"});
weapons.push({name:"LONGBOW DMR", barrel:true, bolt:false, mag:[2], optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:2, filename:"longbow.png"});
weapons.push({name:"SENTINEL", barrel:false, bolt:false, mag:[2], optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:true, hopup:[11], multi_hopup:false, ammo:2, filename:"sentinel.png"});
weapons.push({name:"CHARGE RIFLE", barrel:false, bolt:false, mag:[], optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:2, filename:"chargerifle.png"});
//weapons.push({name:"G7 SCOUT", barrel:true, bolt:false, mag:[0], optic:[1, 2, 3, 4, 5, 6], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:0, filename:"g7.png"});
//weapons.push({name:"M600 SPITFIRE", barrel:true, bolt:false, mag:[1], optic:[1, 2, 3, 4, 5, 6], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:1, filename:"spitfire.png"});
//weapons.push({name:"ALTERNATOR SMG", barrel:true, bolt:false, mag:[0], optic:[0, 1, 2, 3, 4], stock_standard:true, stock_sniper:false, hopup:[], multi_hopup:false, ammo:0, filename:"alternator.png"});
//weapons.push({name:"KRABER .50-CAL SNIPER", barrel:false, bolt:true, mag:[], optic:[1, 2, 3, 4, 5, 6, 7, 8 ,9], stock_standard:false, stock_sniper:true, hopup:[], multi_hopup:false, ammo:2, filename:"kraber.png"});
function zeroPad(nr,base)
{
@ -277,6 +284,7 @@ function randomize_attachments_single(weapon)
var result = [];
var pick;
// Barrel
if (weapon.barrel == true)
{
pick = Math.floor(Math.random() * 4);
@ -298,7 +306,8 @@ function randomize_attachments_single(weapon)
result.push("");
}
}
// Shotgun Bolt
if (weapon.bolt == true)
{
pick = Math.floor(Math.random() * 4);
@ -313,23 +322,55 @@ function randomize_attachments_single(weapon)
result.push("");
}
}
if (weapon.mag != -1)
// Extended Mag
if (weapon.mag.length != 0)
{
pick = Math.floor(Math.random() * 5);
result.push(pick);
result.push("images/attachments/mags/" + zeroPad(weapon.mag, 10) + ".png");
if (pick != 0)
if (weapon.mag.length != 1)
{
result.push(mag_txt[weapon.mag]);
// Multi Mag
pick = Math.floor(Math.random() * 5);
result.push(pick);
if (pick != 0)
{
var pick2 = Math.floor(Math.random() * weapon.mag.length);
result.push("images/attachments/mags/" + zeroPad(weapon.mag[pick2], 10) + ".png");
result.push(mag_txt[weapon.mag[pick2]]);
}
else
{
var mag_str = "images/attachments/mags/";
for (let i = 0; i < weapon.mag.length; ++i)
{
mag_str += zeroPad(weapon.mag[i], 10);
if (i != weapon.mag.length - 1)
{
mag_str += "_";
}
}
mag_str += ".png"
result.push(mag_str);
result.push("");
}
}
else
{
result.push("");
// Single Mag
pick = Math.floor(Math.random() * 5);
result.push(pick);
result.push("images/attachments/mags/" + zeroPad(weapon.mag[0], 10) + ".png");
if (pick != 0)
{
result.push(mag_txt[weapon.mag[0]]);
}
else
{
result.push("");
}
}
}
// Optics
if (!document.getElementById("attachment_check").checked)
{
pick = Math.floor(Math.random() * (weapon.optic.length + 1));
@ -349,10 +390,11 @@ function randomize_attachments_single(weapon)
else
{
result.push(0);
result.push("images/attachments/optics/none.svg");
result.push("images/attachments/optics/none.png");
result.push("");
}
// Standard Stock
if (weapon.stock_standard == true)
{
pick = Math.floor(Math.random() * 4);
@ -367,7 +409,8 @@ function randomize_attachments_single(weapon)
result.push("");
}
}
// Sniper Stock
if (weapon.stock_sniper == true)
{
pick = Math.floor(Math.random() * 4);
@ -383,6 +426,7 @@ function randomize_attachments_single(weapon)
}
}
// Hopups
if (weapon.multi_hopup)
{
for (var i = 0; i < weapon.hopup.length; ++i)