Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function(e, t, i) {
  2.     "use strict";
  3.     e.exports = {
  4.         Action: {
  5.             None: 0,
  6.             Reload: 1,
  7.             UseItem: 2,
  8.             Revive: 3
  9.         },
  10.         WeaponSlot: {
  11.             Primary: 0,
  12.             Secondary: 1,
  13.             Throwable: 2,
  14.             Melee: 3,
  15.             Count: 4
  16.         },
  17.         WeaponType: ["gun", "gun", "throwable", "melee"],
  18.         DamageType: {
  19.             Player: 0,
  20.             Bleeding: 1,
  21.             Gas: 2
  22.         },
  23.         Anim: {
  24.             None: 0,
  25.             Melee: 1,
  26.             Cook: 2,
  27.             Throw: 3,
  28.             CrawlForward: 4,
  29.             CrawlBackward: 5,
  30.             Revive: 6
  31.         },
  32.         GasMode: {
  33.             Inactive: 0,
  34.             Waiting: 1,
  35.             Moving: 2
  36.         },
  37.         protocolVersion: 18,
  38.         map: {
  39.             baseWidth: 512,
  40.             baseHeight: 512,
  41.             gridSize: 16,
  42.             shoreDivisions: 64,
  43.             shoreInset: 32,
  44.             shoreVariation: 3,
  45.             grassInset: 18,
  46.             grassVariation: 2,
  47.             extension: 80
  48.         },
  49.         gas: {
  50.             initWaitTime: 90,
  51.             waitTimeDecay: 15,
  52.             waitTimeMin: 10,
  53.             initGasTime: 30,
  54.             gasTimeDecay: 5,
  55.             gasTimeMin: 5,
  56.             initWidth: .75,
  57.             widthDecay: .5,
  58.             widthMin: 0,
  59.             damageTickRate: 2,
  60.             damagePerTick: [.012, .02, .035, .075, .1, .14, .22, .22]
  61.         },
  62.         player: {
  63.             radius: 1,
  64.             minActiveTime: 10,
  65.             moveSpeed: 12,
  66.             health: 100,
  67.             boostDecay: .33,
  68.             boostMoveSpeed: 2,
  69.             boostHealAmount: .33,
  70.             boostBreakpoints: [1, 1, 1.5, .5],
  71.             scopeDelay: .25,
  72.             baseSwitchDelay: .25,
  73.             freeSwitchCooldown: 1,
  74.             headshotChance: .15,
  75.             img: {
  76.                 scale: 1
  77.             },
  78.             spectateDeadTimeout: 2,
  79.             bleedTickRate: 1,
  80.             bleedDamage: 2,
  81.             downedMoveSpeed: 4,
  82.             downedRezMoveSpeed: 2,
  83.             reviveDuration: 8,
  84.             reviveMaxRange: 5,
  85.             reviveHealth: 24,
  86.             crawlTime: .75,
  87.             emoteSoftCooldown: 2,
  88.             emoteHardCooldown: 6,
  89.             emoteThreshold: 6,
  90.             throwableMaxMouseDist: 18,
  91.             cookTime: .1,
  92.             throwTime: .3,
  93.             cookSpeedPenalty: 3,
  94.             waterSpeedPenalty: 3,
  95.             meleeHeight: .25
  96.         },
  97.         teamColors: [16776960, 255, 16711680, 16711935],
  98.         bullet: {
  99.             maxReflect: 3,
  100.             reflectDistDecay: 1.5,
  101.             height: .25
  102.         },
  103.         projectile: {
  104.             maxHeight: 2
  105.         },
  106.         explosions: {
  107.             explosion_frag: {
  108.                 damage: 125,
  109.                 rad: {
  110.                     min: 5,
  111.                     max: 12
  112.                 },
  113.                 shrapnelCount: 12,
  114.                 shrapnelType: "shrapnel_frag",
  115.                 explosionType: "frag",
  116.                 decalType: "decal_frag_explosion"
  117.             },
  118.             explosion_barrel: {
  119.                 damage: 125,
  120.                 rad: {
  121.                     min: 5,
  122.                     max: 12
  123.                 },
  124.                 shrapnelCount: 12,
  125.                 shrapnelType: "shrapnel_barrel",
  126.                 explosionType: "barrel",
  127.                 decalType: "decal_barrel_explosion"
  128.             }
  129.         },
  130.         bullets: {
  131.             bullet_mp5: {
  132.                 damage: 11,
  133.                 obstacleDamage: 1,
  134.                 falloff: .8,
  135.                 distance: 100,
  136.                 speed: 85,
  137.                 variance: 0,
  138.                 shrapnel: !1,
  139.                 tracerColor: 16704198,
  140.                 tracerWidth: .1,
  141.                 tracerLength: .8,
  142.                 tracerAlpha: 1
  143.             },
  144.             bullet_ak47: {
  145.                 damage: 13.5,
  146.                 obstacleDamage: 1,
  147.                 falloff: .9,
  148.                 distance: 200,
  149.                 speed: 100,
  150.                 variance: 0,
  151.                 shrapnel: !1,
  152.                 tracerColor: 12965630,
  153.                 tracerWidth: .1,
  154.                 tracerLength: .8,
  155.                 tracerAlpha: 1
  156.             },
  157.             bullet_mosin: {
  158.                 damage: 64,
  159.                 obstacleDamage: 1.5,
  160.                 falloff: .95,
  161.                 distance: 500,
  162.                 speed: 178,
  163.                 variance: 0,
  164.                 shrapnel: !1,
  165.                 tracerColor: 12965630,
  166.                 tracerWidth: .2,
  167.                 tracerLength: .8,
  168.                 tracerAlpha: 1
  169.             },
  170.             bullet_m39: {
  171.                 damage: 24.5,
  172.                 obstacleDamage: 1,
  173.                 falloff: .9,
  174.                 distance: 400,
  175.                 speed: 125,
  176.                 variance: 0,
  177.                 shrapnel: !1,
  178.                 tracerColor: 12965630,
  179.                 tracerWidth: .1,
  180.                 tracerLength: .8,
  181.                 tracerAlpha: 1
  182.             },
  183.             bullet_shotgun: {
  184.                 damage: 12,
  185.                 obstacleDamage: 1,
  186.                 falloff: .6,
  187.                 speed: 66,
  188.                 distance: 29,
  189.                 variance: 0,
  190.                 shrapnel: !1,
  191.                 tracerColor: 16702684,
  192.                 tracerWidth: .1,
  193.                 tracerLength: .8,
  194.                 tracerAlpha: 1
  195.             },
  196.             bullet_m9: {
  197.                 damage: 12,
  198.                 obstacleDamage: 1,
  199.                 falloff: .7,
  200.                 speed: 85,
  201.                 distance: 100,
  202.                 variance: 0,
  203.                 shrapnel: !1,
  204.                 tracerColor: 16704198,
  205.                 tracerWidth: .1,
  206.                 tracerLength: .8,
  207.                 tracerAlpha: 1
  208.             },
  209.             bullet_ot38: {
  210.                 damage: 26,
  211.                 obstacleDamage: 1,
  212.                 falloff: .75,
  213.                 speed: 112,
  214.                 distance: 125,
  215.                 variance: 0,
  216.                 shrapnel: !1,
  217.                 tracerColor: 12965630,
  218.                 tracerWidth: .09,
  219.                 tracerLength: .8,
  220.                 tracerAlpha: 1
  221.             },
  222.             bullet_mac10: {
  223.                 damage: 9.25,
  224.                 obstacleDamage: 1,
  225.                 falloff: .6,
  226.                 distance: 50,
  227.                 speed: 75,
  228.                 variance: 0,
  229.                 shrapnel: !1,
  230.                 tracerColor: 16704198,
  231.                 tracerWidth: .1,
  232.                 tracerLength: .8,
  233.                 tracerAlpha: 1
  234.             },
  235.             bullet_ump9: {
  236.                 damage: 15,
  237.                 obstacleDamage: 1,
  238.                 falloff: .75,
  239.                 distance: 100,
  240.                 speed: 100,
  241.                 variance: 0,
  242.                 shrapnel: !1,
  243.                 tracerColor: 16704198,
  244.                 tracerWidth: .1,
  245.                 tracerLength: .8,
  246.                 tracerAlpha: 1
  247.             },
  248.             bullet_dp28: {
  249.                 damage: 14,
  250.                 obstacleDamage: 1.5,
  251.                 falloff: .9,
  252.                 distance: 225,
  253.                 speed: 110,
  254.                 variance: 0,
  255.                 shrapnel: !1,
  256.                 tracerColor: 12965630,
  257.                 tracerWidth: .1,
  258.                 tracerLength: .8,
  259.                 tracerAlpha: 1
  260.             },
  261.             bullet_glock: {
  262.                 damage: 9,
  263.                 obstacleDamage: 1,
  264.                 falloff: .5,
  265.                 speed: 70,
  266.                 distance: 44,
  267.                 variance: 0,
  268.                 shrapnel: !1,
  269.                 tracerColor: 16704198,
  270.                 tracerWidth: .1,
  271.                 tracerLength: .8,
  272.                 tracerAlpha: 1
  273.             },
  274.             bullet_famas: {
  275.                 damage: 17,
  276.                 obstacleDamage: 1,
  277.                 falloff: .8,
  278.                 distance: 150,
  279.                 speed: 110,
  280.                 variance: 0,
  281.                 shrapnel: !1,
  282.                 tracerColor: 11141010,
  283.                 tracerWidth: .1,
  284.                 tracerLength: .8,
  285.                 tracerAlpha: 1
  286.             },
  287.             bullet_hk416: {
  288.                 damage: 11,
  289.                 obstacleDamage: 1,
  290.                 falloff: .85,
  291.                 distance: 175,
  292.                 speed: 105,
  293.                 variance: 0,
  294.                 shrapnel: !1,
  295.                 tracerColor: 11141010,
  296.                 tracerWidth: .1,
  297.                 tracerLength: .8,
  298.                 tracerAlpha: 1
  299.             },
  300.             bullet_mk12: {
  301.                 damage: 19.5,
  302.                 obstacleDamage: 1,
  303.                 falloff: .9,
  304.                 distance: 400,
  305.                 speed: 132,
  306.                 variance: 0,
  307.                 shrapnel: !1,
  308.                 tracerColor: 11141010,
  309.                 tracerWidth: .1,
  310.                 tracerLength: .8,
  311.                 tracerAlpha: 1
  312.             },
  313.             bullet_m249: {
  314.                 damage: 14,
  315.                 obstacleDamage: 1.75,
  316.                 falloff: .9,
  317.                 distance: 220,
  318.                 speed: 125,
  319.                 variance: 0,
  320.                 shrapnel: !1,
  321.                 tracerColor: 11141010,
  322.                 tracerWidth: .1,
  323.                 tracerLength: .8,
  324.                 tracerAlpha: 1
  325.             },
  326.             shrapnel_barrel: {
  327.                 damage: 20,
  328.                 obstacleDamage: 1,
  329.                 falloff: 1,
  330.                 speed: 20,
  331.                 distance: 8,
  332.                 variance: 1.5,
  333.                 shrapnel: !0,
  334.                 tracerColor: 3355443,
  335.                 tracerWidth: .125,
  336.                 tracerLength: .5,
  337.                 tracerAlpha: 1
  338.             },
  339.             shrapnel_frag: {
  340.                 damage: 20,
  341.                 obstacleDamage: 1,
  342.                 falloff: 1,
  343.                 speed: 20,
  344.                 distance: 8,
  345.                 variance: 1.5,
  346.                 shrapnel: !0,
  347.                 tracerColor: 3355443,
  348.                 tracerWidth: .125,
  349.                 tracerLength: .5,
  350.                 tracerAlpha: 1
  351.             }
  352.         },
  353.         items: {
  354.             outfitBase: {
  355.                 name: "Basic Outfit",
  356.                 type: "skin",
  357.                 subtype: "normal",
  358.                 rad: 1,
  359.                 skinImg: {
  360.                     baseTint: 16566389,
  361.                     baseSprite: "img/player/player-base.svg",
  362.                     baseScale: 1,
  363.                     handTint: 16566389,
  364.                     handSprite: "img/player/player-hands.svg"
  365.                 },
  366.                 lootImg: {
  367.                     sprite: "img/loot/loot-shirt-01.svg",
  368.                     scale: .2,
  369.                     rad: 16,
  370.                     border: !0,
  371.                     tint: 16566389
  372.                 },
  373.                 sound: {
  374.                     pickup: "clothes_pickup_01"
  375.                 }
  376.             },
  377.             outfitWoodland: {
  378.                 name: "Woodland Combat",
  379.                 type: "skin",
  380.                 subtype: "normal",
  381.                 rad: 1,
  382.                 skinImg: {
  383.                     baseTint: 2831146,
  384.                     baseSprite: "img/player/player-base.svg",
  385.                     baseScale: 1,
  386.                     handTint: 5925970,
  387.                     handSprite: "img/player/player-hands.svg"
  388.                 },
  389.                 lootImg: {
  390.                     sprite: "img/loot/loot-shirt-01.svg",
  391.                     scale: .2,
  392.                     rad: 16,
  393.                     border: !0,
  394.                     tint: 2831146
  395.                 },
  396.                 sound: {
  397.                     pickup: "clothes_pickup_01"
  398.                 }
  399.             },
  400.             outfitRoyalFortune: {
  401.                 name: "Royal Fortune",
  402.                 type: "skin",
  403.                 subtype: "normal",
  404.                 rad: 1,
  405.                 skinImg: {
  406.                     baseTint: 8333091,
  407.                     baseSprite: "img/player/player-base.svg",
  408.                     baseScale: 1,
  409.                     handTint: 15254058,
  410.                     handSprite: "img/player/player-hands.svg"
  411.                 },
  412.                 lootImg: {
  413.                     sprite: "img/loot/loot-shirt-01.svg",
  414.                     scale: .2,
  415.                     rad: 16,
  416.                     border: !0,
  417.                     tint: 8333091
  418.                 },
  419.                 sound: {
  420.                     pickup: "clothes_pickup_01"
  421.                 }
  422.             },
  423.             outfitKeyLime: {
  424.                 name: "Key Lime",
  425.                 type: "skin",
  426.                 subtype: "normal",
  427.                 rad: 1,
  428.                 skinImg: {
  429.                     baseTint: 13107007,
  430.                     baseSprite: "img/player/player-base.svg",
  431.                     baseScale: 1,
  432.                     handTint: 15662941,
  433.                     handSprite: "img/player/player-hands.svg"
  434.                 },
  435.                 lootImg: {
  436.                     sprite: "img/loot/loot-shirt-01.svg",
  437.                     scale: .2,
  438.                     rad: 16,
  439.                     border: !0,
  440.                     tint: 13107007
  441.                 },
  442.                 sound: {
  443.                     pickup: "clothes_pickup_01"
  444.                 }
  445.             },
  446.             outfitCobaltShell: {
  447.                 name: "Cobalt Shell",
  448.                 type: "skin",
  449.                 subtype: "normal",
  450.                 rad: 1,
  451.                 skinImg: {
  452.                     baseTint: 11095,
  453.                     baseSprite: "img/player/player-base.svg",
  454.                     baseScale: 1,
  455.                     handTint: 2711164,
  456.                     handSprite: "img/player/player-hands.svg"
  457.                 },
  458.                 lootImg: {
  459.                     sprite: "img/loot/loot-shirt-01.svg",
  460.                     scale: .2,
  461.                     rad: 16,
  462.                     border: !0,
  463.                     tint: 11095
  464.                 },
  465.                 sound: {
  466.                     pickup: "clothes_pickup_01"
  467.                 }
  468.             },
  469.             outfitCarbonFiber: {
  470.                 name: "Carbon Fiber",
  471.                 type: "skin",
  472.                 subtype: "normal",
  473.                 rad: 1,
  474.                 skinImg: {
  475.                     baseTint: 2171169,
  476.                     baseSprite: "img/player/player-base.svg",
  477.                     baseScale: 1,
  478.                     handTint: 1842204,
  479.                     handSprite: "img/player/player-hands.svg"
  480.                 },
  481.                 lootImg: {
  482.                     sprite: "img/loot/loot-shirt-01.svg",
  483.                     scale: .2,
  484.                     rad: 16,
  485.                     border: !0,
  486.                     tint: 2171169
  487.                 },
  488.                 sound: {
  489.                     pickup: "clothes_pickup_01"
  490.                 }
  491.             },
  492.             outfitDarkGloves: {
  493.                 name: "The Professional",
  494.                 type: "skin",
  495.                 subtype: "normal",
  496.                 rad: 1,
  497.                 skinImg: {
  498.                     baseTint: 16566389,
  499.                     baseSprite: "img/player/player-base.svg",
  500.                     baseScale: 1,
  501.                     handTint: 12482560,
  502.                     handSprite: "img/player/player-hands.svg"
  503.                 },
  504.                 lootImg: {
  505.                     sprite: "img/loot/loot-shirt-01.svg",
  506.                     scale: .2,
  507.                     rad: 16,
  508.                     border: !0,
  509.                     tint: 12482560
  510.                 },
  511.                 sound: {
  512.                     pickup: "clothes_pickup_01"
  513.                 }
  514.             },
  515.             outfitBarrel: {
  516.                 name: "Fish in a Barrel",
  517.                 type: "skin",
  518.                 subtype: "camo",
  519.                 rad: 1,
  520.                 skinImg: {
  521.                     baseTint: 16777215,
  522.                     baseSprite: "img/map/map-barrel-01.svg",
  523.                     baseScale: .8,
  524.                     handTint: 2236962,
  525.                     handSprite: "img/player/player-hands.svg"
  526.                 },
  527.                 lootImg: {
  528.                     sprite: "img/loot/loot-shirt-01.svg",
  529.                     scale: .2,
  530.                     rad: 16,
  531.                     border: !0,
  532.                     tint: 2236962
  533.                 },
  534.                 sound: {
  535.                     pickup: "clothes_pickup_01"
  536.                 }
  537.             },
  538.             outfitGhillie: {
  539.                 name: "Ghillie Suit",
  540.                 type: "skin",
  541.                 subtype: "camo",
  542.                 rad: 1,
  543.                 skinImg: {
  544.                     baseTint: 8630096,
  545.                     baseSprite: "img/player/player-base.svg",
  546.                     baseScale: 1,
  547.                     handTint: 8630096,
  548.                     handSprite: "img/player/player-hands.svg"
  549.                 },
  550.                 lootImg: {
  551.                     sprite: "img/loot/loot-shirt-01.svg",
  552.                     scale: .2,
  553.                     rad: 16,
  554.                     border: !0,
  555.                     tint: 8630096
  556.                 },
  557.                 sound: {
  558.                     pickup: "clothes_pickup_01"
  559.                 }
  560.             },
  561.             outfitCamo: {
  562.                 name: "Forest Camo",
  563.                 type: "skin",
  564.                 subtype: "normal",
  565.                 rad: 1,
  566.                 skinImg: {
  567.                     baseTint: 10066278,
  568.                     baseSprite: "img/player/player-base.svg",
  569.                     baseScale: 1,
  570.                     handTint: 8684631,
  571.                     handSprite: "img/player/player-hands.svg"
  572.                 },
  573.                 lootImg: {
  574.                     sprite: "img/loot/loot-shirt-01.svg",
  575.                     scale: .2,
  576.                     rad: 16,
  577.                     border: !0,
  578.                     tint: 10066278
  579.                 },
  580.                 sound: {
  581.                     pickup: "clothes_pickup_01"
  582.                 }
  583.             },
  584.             outfitRed: {
  585.                 name: "Target Practice",
  586.                 type: "skin",
  587.                 subtype: "normal",
  588.                 rad: 1,
  589.                 skinImg: {
  590.                     baseTint: 16711680,
  591.                     baseSprite: "img/player/player-base.svg",
  592.                     baseScale: 1,
  593.                     handTint: 13893632,
  594.                     handSprite: "img/player/player-hands.svg"
  595.                 },
  596.                 lootImg: {
  597.                     sprite: "img/loot/loot-shirt-01.svg",
  598.                     scale: .2,
  599.                     rad: 16,
  600.                     border: !0,
  601.                     tint: 16711680
  602.                 },
  603.                 sound: {
  604.                     pickup: "clothes_pickup_01"
  605.                 }
  606.             },
  607.             outfitWhite: {
  608.                 name: "Arctic Avenger",
  609.                 type: "skin",
  610.                 subtype: "normal",
  611.                 rad: 1,
  612.                 skinImg: {
  613.                     baseTint: 14935011,
  614.                     baseSprite: "img/player/player-base.svg",
  615.                     baseScale: 1,
  616.                     handTint: 15658734,
  617.                     handSprite: "img/player/player-hands.svg"
  618.                 },
  619.                 lootImg: {
  620.                     sprite: "img/loot/loot-shirt-01.svg",
  621.                     scale: .2,
  622.                     rad: 16,
  623.                     border: !0,
  624.                     tint: 14935011
  625.                 },
  626.                 sound: {
  627.                     pickup: "clothes_pickup_01"
  628.                 }
  629.             },
  630.             fists: {
  631.                 name: "Punch",
  632.                 type: "melee",
  633.                 switchDelay: .25,
  634.                 rangeMult: 1.25,
  635.                 areaOfEffect: .75,
  636.                 damageTime: .1,
  637.                 cooldownTime: .15,
  638.                 damage: 24,
  639.                 headshotMult: 1,
  640.                 speed: {
  641.                     equip: 1,
  642.                     attack: 0
  643.                 },
  644.                 sound: {
  645.                     swing: "punch_swing_01",
  646.                     deploy: "stow_weapon_01"
  647.                 }
  648.             },
  649.             mp5: {
  650.                 name: "MP5",
  651.                 type: "gun",
  652.                 fireMode: "auto",
  653.                 reloadMode: "mag",
  654.                 caseTiming: "shoot",
  655.                 ammo: "9mm",
  656.                 ammoSpawnCount: 90,
  657.                 maxClip: 30,
  658.                 maxReload: 30,
  659.                 reloadTime: 2,
  660.                 fireDelay: .09,
  661.                 switchDelay: .75,
  662.                 lengthMult: .75,
  663.                 rad: 1.25,
  664.                 moveSpread: 4,
  665.                 shotSpread: 3,
  666.                 bulletCount: 1,
  667.                 bulletType: "bullet_mp5",
  668.                 headshotMult: 2,
  669.                 speed: {
  670.                     equip: 0,
  671.                     attack: 0
  672.                 },
  673.                 lootImg: {
  674.                     sprite: "img/loot/loot-weapon-mp5.svg",
  675.                     scale: .3,
  676.                     rad: 25,
  677.                     border: !0,
  678.                     tint: 65280
  679.                 },
  680.                 worldImg: {
  681.                     sprite: "img/guns/gun-med.svg",
  682.                     scale: {
  683.                         x: .5,
  684.                         y: .5
  685.                     },
  686.                     tint: 1184274,
  687.                     hands: 2,
  688.                     leftHandOffset: 0
  689.                 },
  690.                 particle: {
  691.                     shellScale: 1
  692.                 },
  693.                 sound: {
  694.                     shoot: "mp5_01",
  695.                     reload: "mp5_reload_01",
  696.                     pickup: "gun_pickup_01",
  697.                     empty: "empty_fire_01",
  698.                     deploy: "mp5_switch_01"
  699.                 }
  700.             },
  701.             mac10: {
  702.                 name: "MAC-10",
  703.                 type: "gun",
  704.                 fireMode: "auto",
  705.                 reloadMode: "mag",
  706.                 caseTiming: "shoot",
  707.                 ammo: "9mm",
  708.                 ammoSpawnCount: 96,
  709.                 maxClip: 32,
  710.                 maxReload: 32,
  711.                 reloadTime: 1.8,
  712.                 fireDelay: .045,
  713.                 switchDelay: .75,
  714.                 lengthMult: .7,
  715.                 rad: 1.25,
  716.                 moveSpread: 11,
  717.                 shotSpread: 10,
  718.                 bulletCount: 1,
  719.                 bulletType: "bullet_mac10",
  720.                 headshotMult: 2,
  721.                 speed: {
  722.                     equip: 0,
  723.                     attack: 0
  724.                 },
  725.                 lootImg: {
  726.                     sprite: "img/loot/loot-weapon-mac10.svg",
  727.                     scale: .3,
  728.                     rad: 25,
  729.                     border: !0,
  730.                     tint: 65280
  731.                 },
  732.                 worldImg: {
  733.                     sprite: "img/guns/gun-med.svg",
  734.                     scale: {
  735.                         x: .5,
  736.                         y: .46
  737.                     },
  738.                     tint: 3684408,
  739.                     hands: 2,
  740.                     leftHandOffset: 4
  741.                 },
  742.                 particle: {
  743.                     shellScale: 1
  744.                 },
  745.                 sound: {
  746.                     shoot: "mac10_01",
  747.                     reload: "mac10_reload_01",
  748.                     pickup: "gun_pickup_01",
  749.                     empty: "empty_fire_01",
  750.                     deploy: "mac10_switch_01"
  751.                 }
  752.             },
  753.             ump9: {
  754.                 name: "UMP9",
  755.                 type: "gun",
  756.                 fireMode: "burst",
  757.                 reloadMode: "mag",
  758.                 caseTiming: "shoot",
  759.                 ammo: "9mm",
  760.                 ammoSpawnCount: 90,
  761.                 maxClip: 30,
  762.                 maxReload: 30,
  763.                 reloadTime: 1.9,
  764.                 fireDelay: .35,
  765.                 burstDelay: .07,
  766.                 switchDelay: .75,
  767.                 lengthMult: .8,
  768.                 rad: 1.25,
  769.                 moveSpread: 3,
  770.                 shotSpread: 1.5,
  771.                 bulletCount: 1,
  772.                 burstCount: 3,
  773.                 bulletType: "bullet_ump9",
  774.                 headshotMult: 2,
  775.                 speed: {
  776.                     equip: 0,
  777.                     attack: 0
  778.                 },
  779.                 lootImg: {
  780.                     sprite: "img/loot/loot-weapon-ump9.svg",
  781.                     scale: .3,
  782.                     rad: 25,
  783.                     border: !0,
  784.                     tint: 65280
  785.                 },
  786.                 worldImg: {
  787.                     sprite: "img/guns/gun-med.svg",
  788.                     scale: {
  789.                         x: .5,
  790.                         y: .52
  791.                     },
  792.                     tint: 1184274,
  793.                     hands: 2,
  794.                     leftHandOffset: 16
  795.                 },
  796.                 particle: {
  797.                     shellScale: 1
  798.                 },
  799.                 sound: {
  800.                     shoot: "ump9_01",
  801.                     reload: "ump9_reload_01",
  802.                     pickup: "gun_pickup_01",
  803.                     empty: "empty_fire_01",
  804.                     deploy: "ump9_switch_01"
  805.                 }
  806.             },
  807.             famas: {
  808.                 name: "FAMAS",
  809.                 type: "gun",
  810.                 fireMode: "burst",
  811.                 reloadMode: "mag",
  812.                 caseTiming: "shoot",
  813.                 ammo: "556mm",
  814.                 ammoSpawnCount: 75,
  815.                 maxClip: 25,
  816.                 maxReload: 25,
  817.                 reloadTime: 2.3,
  818.                 fireDelay: .35,
  819.                 burstDelay: .07,
  820.                 switchDelay: .75,
  821.                 lengthMult: .85,
  822.                 rad: 1.25,
  823.                 moveSpread: 2,
  824.                 shotSpread: 1.1,
  825.                 bulletCount: 1,
  826.                 burstCount: 3,
  827.                 bulletType: "bullet_famas",
  828.                 headshotMult: 2,
  829.                 speed: {
  830.                     equip: 0,
  831.                     attack: 0
  832.                 },
  833.                 lootImg: {
  834.                     sprite: "img/loot/loot-weapon-famas.svg",
  835.                     scale: .3,
  836.                     rad: 25,
  837.                     border: !0,
  838.                     tint: 65280
  839.                 },
  840.                 worldImg: {
  841.                     sprite: "img/guns/gun-med.svg",
  842.                     scale: {
  843.                         x: .5,
  844.                         y: .53
  845.                     },
  846.                     tint: 10061929,
  847.                     hands: 2,
  848.                     leftHandOffset: 16
  849.                 },
  850.                 particle: {
  851.                     shellScale: 1
  852.                 },
  853.                 sound: {
  854.                     shoot: "famas_01",
  855.                     reload: "famas_reload_01",
  856.                     pickup: "gun_pickup_01",
  857.                     empty: "empty_fire_01",
  858.                     deploy: "famas_switch_01"
  859.                 }
  860.             },
  861.             hk416: {
  862.                 name: "HK416",
  863.                 type: "gun",
  864.                 fireMode: "auto",
  865.                 reloadMode: "mag",
  866.                 caseTiming: "shoot",
  867.                 ammo: "556mm",
  868.                 ammoSpawnCount: 90,
  869.                 maxClip: 30,
  870.                 maxReload: 30,
  871.                 reloadTime: 2.3,
  872.                 fireDelay: .075,
  873.                 switchDelay: .75,
  874.                 lengthMult: .8,
  875.                 rad: 1.25,
  876.                 moveSpread: 8,
  877.                 shotSpread: 4,
  878.                 bulletCount: 1,
  879.                 bulletType: "bullet_hk416",
  880.                 headshotMult: 2,
  881.                 speed: {
  882.                     equip: 0,
  883.                     attack: 0
  884.                 },
  885.                 lootImg: {
  886.                     sprite: "img/loot/loot-weapon-hk416.svg",
  887.                     scale: .3,
  888.                     rad: 25,
  889.                     border: !0,
  890.                     tint: 65280
  891.                 },
  892.                 worldImg: {
  893.                     sprite: "img/guns/gun-med.svg",
  894.                     scale: {
  895.                         x: .5,
  896.                         y: .52
  897.                     },
  898.                     tint: 14402714,
  899.                     hands: 2,
  900.                     leftHandOffset: 12
  901.                 },
  902.                 particle: {
  903.                     shellScale: 1
  904.                 },
  905.                 sound: {
  906.                     shoot: "hk416_01",
  907.                     reload: "hk416_reload_01",
  908.                     pickup: "gun_pickup_01",
  909.                     empty: "empty_fire_01",
  910.                     deploy: "hk416_switch_01"
  911.                 }
  912.             },
  913.             mk12: {
  914.                 name: "Mk 12 SPR",
  915.                 type: "gun",
  916.                 fireMode: "single",
  917.                 reloadMode: "mag",
  918.                 caseTiming: "shoot",
  919.                 ammo: "556mm",
  920.                 ammoSpawnCount: 60,
  921.                 maxClip: 20,
  922.                 maxReload: 20,
  923.                 reloadTime: 2.4,
  924.                 fireDelay: .15,
  925.                 switchDelay: .75,
  926.                 lengthMult: 1.1,
  927.                 rad: 1.25,
  928.                 moveSpread: 3,
  929.                 shotSpread: 1,
  930.                 bulletCount: 1,
  931.                 bulletType: "bullet_mk12",
  932.                 headshotMult: 2,
  933.                 speed: {
  934.                     equip: 0,
  935.                     attack: 0
  936.                 },
  937.                 lootImg: {
  938.                     sprite: "img/loot/loot-weapon-mk12.svg",
  939.                     scale: .3,
  940.                     rad: 25,
  941.                     border: !0,
  942.                     tint: 65280
  943.                 },
  944.                 worldImg: {
  945.                     sprite: "img/guns/gun-long.svg",
  946.                     scale: {
  947.                         x: .5,
  948.                         y: .49
  949.                     },
  950.                     tint: 10984586,
  951.                     hands: 2,
  952.                     leftHandOffset: 12
  953.                 },
  954.                 particle: {
  955.                     shellScale: 1.3
  956.                 },
  957.                 sound: {
  958.                     shoot: "mk12_01",
  959.                     reload: "mk12_reload_01",
  960.                     pickup: "gun_pickup_01",
  961.                     empty: "empty_fire_02",
  962.                     deploy: "mk12_switch_01"
  963.                 }
  964.             },
  965.             m249: {
  966.                 name: "M249",
  967.                 type: "gun",
  968.                 fireMode: "auto",
  969.                 reloadMode: "mag",
  970.                 caseTiming: "shoot",
  971.                 ammo: "556mm",
  972.                 ammoSpawnCount: 200,
  973.                 maxClip: 100,
  974.                 maxReload: 100,
  975.                 reloadTime: 6.7,
  976.                 fireDelay: .08,
  977.                 switchDelay: .75,
  978.                 lengthMult: 1.175,
  979.                 rad: 1.25,
  980.                 moveSpread: 6,
  981.                 shotSpread: 1.5,
  982.                 bulletCount: 1,
  983.                 bulletType: "bullet_m249",
  984.                 headshotMult: 2,
  985.                 speed: {
  986.                     equip: 0,
  987.                     attack: -4
  988.                 },
  989.                 lootImg: {
  990.                     sprite: "img/loot/loot-weapon-m249.svg",
  991.                     scale: .3,
  992.                     rad: 25,
  993.                     border: !0,
  994.                     tint: 65280
  995.                 },
  996.                 worldImg: {
  997.                     sprite: "img/guns/gun-long.svg",
  998.                     sprite_bot: "img/guns/gun-m249-bot.svg",
  999.                     scale: {
  1000.                         x: .5,
  1001.                         y: .525
  1002.                     },
  1003.                     tint: 3618613,
  1004.                     hands: 2,
  1005.                     leftHandOffset: 32
  1006.                 },
  1007.                 particle: {
  1008.                     shellScale: 1
  1009.                 },
  1010.                 sound: {
  1011.                     shoot: "m249_01",
  1012.                     reload: "m249_reload_01",
  1013.                     pickup: "gun_pickup_01",
  1014.                     empty: "empty_fire_02",
  1015.                     deploy: "m249_switch_01"
  1016.                 }
  1017.             },
  1018.             ak47: {
  1019.                 name: "AK-47",
  1020.                 type: "gun",
  1021.                 fireMode: "auto",
  1022.                 reloadMode: "mag",
  1023.                 caseTiming: "shoot",
  1024.                 ammo: "762mm",
  1025.                 ammoSpawnCount: 90,
  1026.                 maxClip: 30,
  1027.                 maxReload: 30,
  1028.                 reloadTime: 2.5,
  1029.                 fireDelay: .1,
  1030.                 switchDelay: .75,
  1031.                 lengthMult: .9,
  1032.                 rad: 1.25,
  1033.                 moveSpread: 7,
  1034.                 shotSpread: 2.5,
  1035.                 bulletCount: 1,
  1036.                 bulletType: "bullet_ak47",
  1037.                 headshotMult: 2,
  1038.                 speed: {
  1039.                     equip: 0,
  1040.                     attack: 0
  1041.                 },
  1042.                 lootImg: {
  1043.                     sprite: "img/loot/loot-weapon-ak.svg",
  1044.                     scale: .3,
  1045.                     rad: 25,
  1046.                     border: !0,
  1047.                     tint: 65280
  1048.                 },
  1049.                 worldImg: {
  1050.                     sprite: "img/guns/gun-long.svg",
  1051.                     scale: {
  1052.                         x: .5,
  1053.                         y: .45
  1054.                     },
  1055.                     tint: 6433298,
  1056.                     hands: 2,
  1057.                     leftHandOffset: 8
  1058.                 },
  1059.                 particle: {
  1060.                     shellScale: 1
  1061.                 },
  1062.                 sound: {
  1063.                     shoot: "ak47_01",
  1064.                     reload: "ak47_reload_01",
  1065.                     pickup: "gun_pickup_01",
  1066.                     empty: "empty_fire_02",
  1067.                     deploy: "ak47_switch_01"
  1068.                 }
  1069.             },
  1070.             dp28: {
  1071.                 name: "DP-28",
  1072.                 type: "gun",
  1073.                 fireMode: "auto",
  1074.                 reloadMode: "mag",
  1075.                 caseTiming: "shoot",
  1076.                 ammo: "762mm",
  1077.                 ammoSpawnCount: 120,
  1078.                 maxClip: 60,
  1079.                 maxReload: 60,
  1080.                 reloadTime: 3.3,
  1081.                 fireDelay: .115,
  1082.                 switchDelay: .75,
  1083.                 lengthMult: 1.2,
  1084.                 rad: 1.25,
  1085.                 moveSpread: 8,
  1086.                 shotSpread: 2,
  1087.                 bulletCount: 1,
  1088.                 bulletType: "bullet_dp28",
  1089.                 headshotMult: 2,
  1090.                 speed: {
  1091.                     equip: 0,
  1092.                     attack: -2
  1093.                 },
  1094.                 lootImg: {
  1095.                     sprite: "img/loot/loot-weapon-dp28.svg",
  1096.                     scale: .3,
  1097.                     rad: 25,
  1098.                     border: !0,
  1099.                     tint: 65280
  1100.                 },
  1101.                 worldImg: {
  1102.                     sprite: "img/guns/gun-long.svg",
  1103.                     sprite_top: "img/guns/gun-dp28-top.svg",
  1104.                     scale: {
  1105.                         x: .5,
  1106.                         y: .53
  1107.                     },
  1108.                     tint: 1710618,
  1109.                     hands: 2,
  1110.                     leftHandOffset: 24
  1111.                 },
  1112.                 particle: {
  1113.                     shellScale: 1
  1114.                 },
  1115.                 sound: {
  1116.                     shoot: "dp28_01",
  1117.                     reload: "dp28_reload_01",
  1118.                     pickup: "gun_pickup_01",
  1119.                     empty: "empty_fire_02",
  1120.                     deploy: "dp28_switch_01"
  1121.                 }
  1122.             },
  1123.             mosin: {
  1124.                 name: "Mosin Nagant",
  1125.                 type: "gun",
  1126.                 fireMode: "single",
  1127.                 reloadMode: "single",
  1128.                 caseTiming: "shoot",
  1129.                 ammo: "762mm",
  1130.                 ammoSpawnCount: 20,
  1131.                 maxClip: 5,
  1132.                 maxReload: 1,
  1133.                 reloadTime: .9,
  1134.                 fireDelay: 2,
  1135.                 switchDelay: 1,
  1136.                 pullDelay: 1,
  1137.                 lengthMult: 1.2,
  1138.                 rad: 1.25,
  1139.                 moveSpread: 3,
  1140.                 shotSpread: 1,
  1141.                 bulletCount: 1,
  1142.                 bulletType: "bullet_mosin",
  1143.                 headshotMult: 2,
  1144.                 speed: {
  1145.                     equip: 0,
  1146.                     attack: 0
  1147.                 },
  1148.                 lootImg: {
  1149.                     sprite: "img/loot/loot-weapon-enfield.svg",
  1150.                     scale: .3,
  1151.                     rad: 25,
  1152.                     border: !0,
  1153.                     tint: 65280
  1154.                 },
  1155.                 worldImg: {
  1156.                     sprite: "img/guns/gun-long.svg",
  1157.                     scale: {
  1158.                         x: .5,
  1159.                         y: .52
  1160.                     },
  1161.                     tint: 3348992,
  1162.                     hands: 2,
  1163.                     leftHandOffset: 8
  1164.                 },
  1165.                 particle: {
  1166.                     shellScale: 1.8
  1167.                 },
  1168.                 sound: {
  1169.                     shoot: "mosin_01",
  1170.                     reload: "mosin_reload_01",
  1171.                     cycle: "mosin_cycle_01",
  1172.                     pull: "mosin_pull_01",
  1173.                     pickup: "gun_pickup_01",
  1174.                     empty: "empty_fire_02",
  1175.                     deploy: "mosin_cycle_01"
  1176.                 }
  1177.             },
  1178.             m39: {
  1179.                 name: "M39 EMR",
  1180.                 type: "gun",
  1181.                 fireMode: "single",
  1182.                 reloadMode: "mag",
  1183.                 caseTiming: "shoot",
  1184.                 ammo: "762mm",
  1185.                 ammoSpawnCount: 60,
  1186.                 maxClip: 20,
  1187.                 maxReload: 20,
  1188.                 reloadTime: 2.5,
  1189.                 fireDelay: .2,
  1190.                 switchDelay: .75,
  1191.                 lengthMult: 1.15,
  1192.                 rad: 1.25,
  1193.                 moveSpread: 4.25,
  1194.                 shotSpread: 1,
  1195.                 bulletCount: 1,
  1196.                 bulletType: "bullet_m39",
  1197.                 headshotMult: 2,
  1198.                 speed: {
  1199.                     equip: 0,
  1200.                     attack: 0
  1201.                 },
  1202.                 lootImg: {
  1203.                     sprite: "img/loot/loot-weapon-m39.svg",
  1204.                     scale: .3,
  1205.                     rad: 25,
  1206.                     border: !0,
  1207.                     tint: 65280
  1208.                 },
  1209.                 worldImg: {
  1210.                     sprite: "img/guns/gun-long.svg",
  1211.                     scale: {
  1212.                         x: .5,
  1213.                         y: .5
  1214.                     },
  1215.                     tint: 3355443,
  1216.                     hands: 2,
  1217.                     leftHandOffset: 8
  1218.                 },
  1219.                 particle: {
  1220.                     shellScale: 1.3
  1221.                 },
  1222.                 sound: {
  1223.                     shoot: "m39_01",
  1224.                     reload: "m39_reload_01",
  1225.                     pickup: "gun_pickup_01",
  1226.                     empty: "empty_fire_02",
  1227.                     deploy: "m39_switch_01"
  1228.                 }
  1229.             },
  1230.             m870: {
  1231.                 name: "M870",
  1232.                 type: "gun",
  1233.                 fireMode: "single",
  1234.                 reloadMode: "single",
  1235.                 caseTiming: "shoot",
  1236.                 ammo: "12gauge",
  1237.                 ammoSpawnCount: 10,
  1238.                 maxClip: 5,
  1239.                 maxReload: 1,
  1240.                 reloadTime: .75,
  1241.                 fireDelay: .9,
  1242.                 switchDelay: .9,
  1243.                 pullDelay: .9,
  1244.                 lengthMult: .9,
  1245.                 rad: 1.25,
  1246.                 moveSpread: 2,
  1247.                 shotSpread: 10,
  1248.                 bulletCount: 9,
  1249.                 bulletType: "bullet_shotgun",
  1250.                 headshotMult: 2,
  1251.                 lootImg: {
  1252.                     sprite: "img/loot/loot-weapon-pumpshotgun.svg",
  1253.                     scale: .3,
  1254.                     rad: 25,
  1255.                     border: !0,
  1256.                     tint: 65280
  1257.                 },
  1258.                 speed: {
  1259.                     equip: 0,
  1260.                     attack: 0
  1261.                 },
  1262.                 worldImg: {
  1263.                     sprite: "img/guns/gun-long.svg",
  1264.                     scale: {
  1265.                         x: .5,
  1266.                         y: .45
  1267.                     },
  1268.                     tint: 3348992,
  1269.                     hands: 2,
  1270.                     leftHandOffset: 20
  1271.                 },
  1272.                 particle: {
  1273.                     shellScale: 1
  1274.                 },
  1275.                 sound: {
  1276.                     shoot: "m870_01",
  1277.                     reload: "m870_reload_01",
  1278.                     cycle: "m870_cycle_01",
  1279.                     pull: "m870_pull_01",
  1280.                     pickup: "gun_pickup_01",
  1281.                     empty: "empty_fire_01",
  1282.                     deploy: "m870_cycle_01"
  1283.                 }
  1284.             },
  1285.             mp220: {
  1286.                 name: "MP220",
  1287.                 type: "gun",
  1288.                 fireMode: "single",
  1289.                 reloadMode: "mag",
  1290.                 caseTiming: "reload",
  1291.                 ammo: "12gauge",
  1292.                 ammoSpawnCount: 10,
  1293.                 maxClip: 2,
  1294.                 maxReload: 2,
  1295.                 reloadTime: 2.6,
  1296.                 fireDelay: .2,
  1297.                 switchDelay: .3,
  1298.                 lengthMult: .7,
  1299.                 rad: 1,
  1300.                 moveSpread: 2,
  1301.                 shotSpread: 10,
  1302.                 bulletCount: 9,
  1303.                 bulletType: "bullet_shotgun",
  1304.                 headshotMult: 2,
  1305.                 speed: {
  1306.                     equip: 0,
  1307.                     attack: 0
  1308.                 },
  1309.                 lootImg: {
  1310.                     sprite: "img/loot/loot-weapon-soshotgun.svg",
  1311.                     scale: .3,
  1312.                     rad: 25,
  1313.                     border: !0,
  1314.                     tint: 65280
  1315.                 },
  1316.                 worldImg: {
  1317.                     sprite: "img/guns/gun-med.svg",
  1318.                     scale: {
  1319.                         x: .5,
  1320.                         y: .47
  1321.                     },
  1322.                     tint: 3348992,
  1323.                     hands: 2,
  1324.                     leftHandOffset: 0
  1325.                 },
  1326.                 particle: {
  1327.                     shellScale: 1
  1328.                 },
  1329.                 sound: {
  1330.                     shoot: "mp220_01",
  1331.                     reload: "mp220_reload_01",
  1332.                     pickup: "gun_pickup_01",
  1333.                     empty: "empty_fire_01",
  1334.                     deploy: "mp220_deploy_01"
  1335.                 }
  1336.             },
  1337.             saiga: {
  1338.                 name: "Saiga-12",
  1339.                 type: "gun",
  1340.                 fireMode: "auto",
  1341.                 reloadMode: "mag",
  1342.                 caseTiming: "shoot",
  1343.                 ammo: "12gauge",
  1344.                 ammoSpawnCount: 20,
  1345.                 maxClip: 5,
  1346.                 maxReload: 5,
  1347.                 reloadTime: 2.5,
  1348.                 fireDelay: .4,
  1349.                 switchDelay: .75,
  1350.                 lengthMult: .9,
  1351.                 rad: 1.25,
  1352.                 moveSpread: 2,
  1353.                 shotSpread: 10,
  1354.                 bulletCount: 9,
  1355.                 bulletType: "bullet_shotgun",
  1356.                 headshotMult: 2,
  1357.                 speed: {
  1358.                     equip: 0,
  1359.                     attack: 0
  1360.                 },
  1361.                 lootImg: {
  1362.                     sprite: "img/loot/loot-weapon-autoshotgun.svg",
  1363.                     scale: .3,
  1364.                     rad: 25,
  1365.                     border: !0,
  1366.                     tint: 65280
  1367.                 },
  1368.                 worldImg: {
  1369.                     sprite: "img/guns/gun-long.svg",
  1370.                     scale: {
  1371.                         x: .5,
  1372.                         y: .45
  1373.                     },
  1374.                     tint: 2302755,
  1375.                     hands: 2,
  1376.                     leftHandOffset: 12
  1377.                 },
  1378.                 particle: {
  1379.                     shellScale: 1
  1380.                 },
  1381.                 sound: {
  1382.                     shoot: "saiga_01",
  1383.                     reload: "saiga_reload_01",
  1384.                     pickup: "gun_pickup_01",
  1385.                     empty: "empty_fire_02",
  1386.                     deploy: "saiga_switch_01"
  1387.                 }
  1388.             },
  1389.             m9: {
  1390.                 name: "M9",
  1391.                 type: "gun",
  1392.                 fireMode: "single",
  1393.                 reloadMode: "mag",
  1394.                 caseTiming: "shoot",
  1395.                 ammo: "9mm",
  1396.                 ammoSpawnCount: 45,
  1397.                 maxClip: 15,
  1398.                 maxReload: 15,
  1399.                 reloadTime: 1.6,
  1400.                 fireDelay: .1,
  1401.                 switchDelay: .25,
  1402.                 lengthMult: .5,
  1403.                 rad: 1.25,
  1404.                 moveSpread: 8,
  1405.                 shotSpread: 8,
  1406.                 bulletCount: 1,
  1407.                 bulletType: "bullet_m9",
  1408.                 headshotMult: 2,
  1409.                 speed: {
  1410.                     equip: 0,
  1411.                     attack: 0
  1412.                 },
  1413.                 lootImg: {
  1414.                     sprite: "img/loot/loot-weapon-m9.svg",
  1415.                     scale: .3,
  1416.                     rad: 25,
  1417.                     border: !0,
  1418.                     tint: 65280
  1419.                 },
  1420.                 worldImg: {
  1421.                     sprite: "img/guns/gun-short.svg",
  1422.                     scale: {
  1423.                         x: .5,
  1424.                         y: .51
  1425.                     },
  1426.                     tint: 1973790,
  1427.                     hands: 1,
  1428.                     leftHandOffset: 0
  1429.                 },
  1430.                 particle: {
  1431.                     shellScale: 1
  1432.                 },
  1433.                 sound: {
  1434.                     shoot: "m9_01",
  1435.                     reload: "m9_reload_01",
  1436.                     pickup: "gun_pickup_01",
  1437.                     empty: "empty_fire_01",
  1438.                     deploy: "m9_switch_01"
  1439.                 }
  1440.             },
  1441.             glock: {
  1442.                 name: "Glock 18C",
  1443.                 type: "gun",
  1444.                 fireMode: "auto",
  1445.                 reloadMode: "mag",
  1446.                 caseTiming: "shoot",
  1447.                 ammo: "9mm",
  1448.                 ammoSpawnCount: 51,
  1449.                 maxClip: 17,
  1450.                 maxReload: 17,
  1451.                 reloadTime: 1.95,
  1452.                 fireDelay: .06,
  1453.                 switchDelay: .25,
  1454.                 lengthMult: .5,
  1455.                 rad: 1.25,
  1456.                 moveSpread: 10,
  1457.                 shotSpread: 12,
  1458.                 bulletCount: 1,
  1459.                 bulletType: "bullet_glock",
  1460.                 headshotMult: 2,
  1461.                 speed: {
  1462.                     equip: 0,
  1463.                     attack: 0
  1464.                 },
  1465.                 lootImg: {
  1466.                     sprite: "img/loot/loot-weapon-glock.svg",
  1467.                     scale: .3,
  1468.                     rad: 25,
  1469.                     border: !0,
  1470.                     tint: 65280
  1471.                 },
  1472.                 worldImg: {
  1473.                     sprite: "img/guns/gun-short.svg",
  1474.                     scale: {
  1475.                         x: .5,
  1476.                         y: .51
  1477.                     },
  1478.                     tint: 1973790,
  1479.                     hands: 1,
  1480.                     leftHandOffset: 0
  1481.                 },
  1482.                 particle: {
  1483.                     shellScale: 1
  1484.                 },
  1485.                 sound: {
  1486.                     shoot: "glock_01",
  1487.                     reload: "glock_reload_01",
  1488.                     pickup: "gun_pickup_01",
  1489.                     empty: "empty_fire_01",
  1490.                     deploy: "glock_switch_01"
  1491.                 }
  1492.             },
  1493.             ot38: {
  1494.                 name: "OT-38",
  1495.                 type: "gun",
  1496.                 fireMode: "single",
  1497.                 reloadMode: "mag",
  1498.                 caseTiming: "shoot",
  1499.                 ammo: "762mm",
  1500.                 ammoSpawnCount: 20,
  1501.                 maxClip: 5,
  1502.                 maxReload: 5,
  1503.                 reloadTime: 2.2,
  1504.                 fireDelay: .4,
  1505.                 switchDelay: .3,
  1506.                 lengthMult: .45,
  1507.                 rad: 1.25,
  1508.                 moveSpread: 3,
  1509.                 shotSpread: 1.25,
  1510.                 bulletCount: 1,
  1511.                 bulletType: "bullet_ot38",
  1512.                 headshotMult: 2,
  1513.                 speed: {
  1514.                     equip: 0,
  1515.                     attack: 0
  1516.                 },
  1517.                 lootImg: {
  1518.                     sprite: "img/loot/loot-weapon-ot38.svg",
  1519.                     scale: .3,
  1520.                     rad: 25,
  1521.                     border: !0,
  1522.                     tint: 65280
  1523.                 },
  1524.                 worldImg: {
  1525.                     sprite: "img/guns/gun-short.svg",
  1526.                     scale: {
  1527.                         x: .5,
  1528.                         y: .48
  1529.                     },
  1530.                     tint: 7368816,
  1531.                     hands: 1,
  1532.                     leftHandOffset: 0
  1533.                 },
  1534.                 particle: {
  1535.                     shellScale: 1
  1536.                 },
  1537.                 sound: {
  1538.                     shoot: "ot38_01",
  1539.                     reload: "ot38_reload_01",
  1540.                     pickup: "gun_pickup_01",
  1541.                     empty: "empty_fire_01",
  1542.                     deploy: "ot38_switch_01"
  1543.                 }
  1544.             },
  1545.             frag: {
  1546.                 name: "Frag Grenade",
  1547.                 hudName: "Frag",
  1548.                 type: "throwable",
  1549.                 explosion: "explosion_frag",
  1550.                 order: 1,
  1551.                 fuseTime: 4,
  1552.                 fireDelay: .4,
  1553.                 switchDelay: .3,
  1554.                 rad: 1,
  1555.                 projRad: .5,
  1556.                 throwSpeed: 20,
  1557.                 throwDistance: 18,
  1558.                 speed: {
  1559.                     equip: 0,
  1560.                     attack: 0
  1561.                 },
  1562.                 lootImg: {
  1563.                     sprite: "img/loot/loot-throwable-frag.svg",
  1564.                     scale: .2,
  1565.                     rad: 16,
  1566.                     border: !0,
  1567.                     tint: 65280
  1568.                 },
  1569.                 worldImg: {
  1570.                     sprite: "img/proj/frag-proj-nopin-nolever.svg",
  1571.                     scale: .12,
  1572.                     tint: 16777215
  1573.                 },
  1574.                 handImg: {
  1575.                     equip: {
  1576.                         right: {
  1577.                             sprite: "img/proj/frag-proj-pin.svg",
  1578.                             pos: {
  1579.                                 x: -30,
  1580.                                 y: 30
  1581.                             },
  1582.                             scale: .4
  1583.                         },
  1584.                         left: {
  1585.                             sprite: "none"
  1586.                         }
  1587.                     },
  1588.                     cook: {
  1589.                         right: {
  1590.                             sprite: "img/proj/frag-proj-nopin.svg",
  1591.                             pos: {
  1592.                                 x: -30,
  1593.                                 y: 30
  1594.                             },
  1595.                             scale: .4
  1596.                         },
  1597.                         left: {
  1598.                             sprite: "img/proj/frag-pin.svg",
  1599.                             pos: {
  1600.                                 x: -30,
  1601.                                 y: 30
  1602.                             },
  1603.                             scale: .4
  1604.                         }
  1605.                     },
  1606.                     throwing: {
  1607.                         right: {
  1608.                             sprite: "none"
  1609.                         },
  1610.                         left: {
  1611.                             sprite: "none"
  1612.                         }
  1613.                     }
  1614.                 },
  1615.                 sound: {
  1616.                     pullPin: "frag_pin_01",
  1617.                     throwing: "frag_throw_01",
  1618.                     pickup: "frag_pickup_01",
  1619.                     deploy: "frag_deploy_01"
  1620.                 }
  1621.             },
  1622.             smoke: {
  1623.                 name: "Smoke Grenade",
  1624.                 hudName: "Smoke",
  1625.                 type: "throwable",
  1626.                 explosion: "explosion_frag",
  1627.                 order: 2,
  1628.                 fuseTime: 4,
  1629.                 fireDelay: .4,
  1630.                 switchDelay: .3,
  1631.                 rad: 1,
  1632.                 projRad: .5,
  1633.                 throwSpeed: 12.5,
  1634.                 throwDistance: 18,
  1635.                 speed: {
  1636.                     equip: 0,
  1637.                     attack: 0
  1638.                 },
  1639.                 lootImg: {
  1640.                     sprite: "img/loot/loot-throwable-frag.svg",
  1641.                     scale: .2,
  1642.                     rad: 16,
  1643.                     border: !0,
  1644.                     tint: 255
  1645.                 },
  1646.                 worldImg: {
  1647.                     sprite: "img/proj/frag-proj-nopin-nolever.svg",
  1648.                     scale: .12,
  1649.                     tint: 255
  1650.                 },
  1651.                 handImg: {
  1652.                     equip: {
  1653.                         right: {
  1654.                             sprite: "img/proj/frag-proj-pin.svg",
  1655.                             pos: {
  1656.                                 x: -30,
  1657.                                 y: 30
  1658.                             },
  1659.                             scale: .4
  1660.                         },
  1661.                         left: {
  1662.                             sprite: "none"
  1663.                         }
  1664.                     },
  1665.                     cook: {
  1666.                         right: {
  1667.                             sprite: "img/proj/frag-proj-nopin.svg",
  1668.                             pos: {
  1669.                                 x: -30,
  1670.                                 y: 30
  1671.                             },
  1672.                             scale: .4
  1673.                         },
  1674.                         left: {
  1675.                             sprite: "img/proj/frag-pin.svg",
  1676.                             pos: {
  1677.                                 x: -30,
  1678.                                 y: 30
  1679.                             },
  1680.                             scale: .4
  1681.                         }
  1682.                     },
  1683.                     throwing: {
  1684.                         right: {
  1685.                             sprite: "none"
  1686.                         },
  1687.                         left: {
  1688.                             sprite: "none"
  1689.                         }
  1690.                     }
  1691.                 },
  1692.                 sound: {
  1693.                     pullPin: "frag_pin_01",
  1694.                     throwing: "frag_throw_01",
  1695.                     pickup: "frag_pickup_01",
  1696.                     deploy: "frag_deploy_01"
  1697.                 }
  1698.             },
  1699.             "9mm": {
  1700.                 name: "9mm",
  1701.                 type: "ammo",
  1702.                 rad: 1.2,
  1703.                 minStackSize: 15,
  1704.                 lootImg: {
  1705.                     sprite: "img/loot/loot-ammo-box.svg",
  1706.                     scale: .2,
  1707.                     rad: 12,
  1708.                     border: !1,
  1709.                     tint: 16756224
  1710.                 },
  1711.                 sound: {
  1712.                     pickup: "ammo_pickup_01"
  1713.                 }
  1714.             },
  1715.             "762mm": {
  1716.                 name: "7.62mm",
  1717.                 type: "ammo",
  1718.                 rad: 1.2,
  1719.                 minStackSize: 10,
  1720.                 lootImg: {
  1721.                     sprite: "img/loot/loot-ammo-box.svg",
  1722.                     scale: .2,
  1723.                     rad: 12,
  1724.                     border: !1,
  1725.                     tint: 26367
  1726.                 },
  1727.                 sound: {
  1728.                     pickup: "ammo_pickup_01"
  1729.                 }
  1730.             },
  1731.             "556mm": {
  1732.                 name: "5.56mm",
  1733.                 type: "ammo",
  1734.                 rad: 1.2,
  1735.                 minStackSize: 10,
  1736.                 lootImg: {
  1737.                     sprite: "img/loot/loot-ammo-box.svg",
  1738.                     scale: .2,
  1739.                     rad: 12,
  1740.                     border: !1,
  1741.                     tint: 237056
  1742.                 },
  1743.                 sound: {
  1744.                     pickup: "ammo_pickup_01"
  1745.                 }
  1746.             },
  1747.             "12gauge": {
  1748.                 name: "12 gauge",
  1749.                 type: "ammo",
  1750.                 rad: 1.2,
  1751.                 minStackSize: 5,
  1752.                 lootImg: {
  1753.                     sprite: "img/loot/loot-ammo-box.svg",
  1754.                     scale: .2,
  1755.                     rad: 12,
  1756.                     border: !1,
  1757.                     tint: 16711680
  1758.                 },
  1759.                 sound: {
  1760.                     pickup: "ammo_pickup_01"
  1761.                 }
  1762.             },
  1763.             bandage: {
  1764.                 name: "Bandage",
  1765.                 type: "heal",
  1766.                 useTime: 3,
  1767.                 heal: 15,
  1768.                 maxHeal: 75,
  1769.                 rad: 1,
  1770.                 lootImg: {
  1771.                     sprite: "img/loot/loot-medical-bandage.svg",
  1772.                     scale: .2,
  1773.                     rad: 16,
  1774.                     border: !0,
  1775.                     tint: 16777215
  1776.                 },
  1777.                 sound: {
  1778.                     pickup: "bandage_pickup_01"
  1779.                 }
  1780.             },
  1781.             healthkit: {
  1782.                 name: "Med Kit",
  1783.                 type: "heal",
  1784.                 useTime: 6,
  1785.                 heal: 100,
  1786.                 maxHeal: 100,
  1787.                 rad: 1,
  1788.                 lootImg: {
  1789.                     sprite: "img/loot/loot-medical-healthkit.svg",
  1790.                     scale: .2,
  1791.                     rad: 16,
  1792.                     border: !0,
  1793.                     tint: 16777215
  1794.                 },
  1795.                 sound: {
  1796.                     pickup: "healthkit_pickup_01"
  1797.                 }
  1798.             },
  1799.             soda: {
  1800.                 name: "Soda",
  1801.                 type: "boost",
  1802.                 useTime: 3,
  1803.                 boost: 25,
  1804.                 rad: 1,
  1805.                 lootImg: {
  1806.                     sprite: "img/loot/loot-medical-soda.svg",
  1807.                     scale: .2,
  1808.                     rad: 16,
  1809.                     border: !0,
  1810.                     tint: 16777215
  1811.                 },
  1812.                 sound: {
  1813.                     pickup: "soda_pickup_01"
  1814.                 }
  1815.             },
  1816.             painkiller: {
  1817.                 name: "Pills",
  1818.                 type: "boost",
  1819.                 useTime: 5,
  1820.                 boost: 50,
  1821.                 rad: 1,
  1822.                 lootImg: {
  1823.                     sprite: "img/loot/loot-medical-pill.svg",
  1824.                     scale: .2,
  1825.                     rad: 16,
  1826.                     border: !0,
  1827.                     tint: 16777215
  1828.                 },
  1829.                 sound: {
  1830.                     pickup: "pills_pickup_01"
  1831.                 }
  1832.             },
  1833.             fannypack: {
  1834.                 name: "Pouch",
  1835.                 type: "backpack",
  1836.                 desc: "Holds a minimal amount of ammo and supplies.",
  1837.                 level: 0,
  1838.                 rad: 1,
  1839.                 tint: 16777215,
  1840.                 lootImg: {
  1841.                     sprite: "img/loot/loot-pack-00.svg",
  1842.                     scale: .2,
  1843.                     rad: 16,
  1844.                     border: !0,
  1845.                     tint: 16777215
  1846.                 },
  1847.                 sound: {
  1848.                     pickup: "pack_pickup_01"
  1849.                 }
  1850.             },
  1851.             smallpack: {
  1852.                 name: "Small Pack",
  1853.                 type: "backpack",
  1854.                 desc: "Holds an adequate amount of ammo and supplies.",
  1855.                 level: 1,
  1856.                 rad: 1,
  1857.                 tint: 6697728,
  1858.                 lootImg: {
  1859.                     sprite: "img/loot/loot-pack-01.svg",
  1860.                     scale: .2,
  1861.                     rad: 16,
  1862.                     border: !0,
  1863.                     tint: 16777215
  1864.                 },
  1865.                 sound: {
  1866.                     pickup: "pack_pickup_01"
  1867.                 }
  1868.             },
  1869.             regularpack: {
  1870.                 name: "Regular Pack",
  1871.                 type: "backpack",
  1872.                 desc: "Holds a generous amount of ammo and supplies.",
  1873.                 level: 2,
  1874.                 rad: 1,
  1875.                 tint: 26112,
  1876.                 lootImg: {
  1877.                     sprite: "img/loot/loot-pack-02.svg",
  1878.                     scale: .2,
  1879.                     rad: 16,
  1880.                     border: !0,
  1881.                     tint: 16777215
  1882.                 },
  1883.                 sound: {
  1884.                     pickup: "pack_pickup_01"
  1885.                 }
  1886.             },
  1887.             militarypack: {
  1888.                 name: "Military Pack",
  1889.                 type: "backpack",
  1890.                 desc: "For when you need to hold all of the things.",
  1891.                 level: 3,
  1892.                 rad: 1,
  1893.                 tint: 6710835,
  1894.                 lootImg: {
  1895.                     sprite: "img/loot/loot-pack-03.svg",
  1896.                     scale: .2,
  1897.                     rad: 16,
  1898.                     border: !0,
  1899.                     tint: 16777215
  1900.                 },
  1901.                 sound: {
  1902.                     pickup: "pack_pickup_01"
  1903.                 }
  1904.             },
  1905.             helmet01: {
  1906.                 name: "Level 1 Helmet",
  1907.                 type: "helmet",
  1908.                 level: 1,
  1909.                 damageReduction: .25,
  1910.                 rad: 1,
  1911.                 tint: 3244031,
  1912.                 lootImg: {
  1913.                     sprite: "img/loot/loot-helmet-01.svg",
  1914.                     scale: .2,
  1915.                     rad: 16,
  1916.                     border: !0,
  1917.                     tint: 16777215
  1918.                 },
  1919.                 sound: {
  1920.                     pickup: "helmet_pickup_01"
  1921.                 }
  1922.             },
  1923.             helmet02: {
  1924.                 name: "Level 2 Helmet",
  1925.                 type: "helmet",
  1926.                 level: 2,
  1927.                 damageReduction: .4,
  1928.                 rad: 1,
  1929.                 tint: 13027014,
  1930.                 lootImg: {
  1931.                     sprite: "img/loot/loot-helmet-02.svg",
  1932.                     scale: .2,
  1933.                     rad: 16,
  1934.                     border: !0,
  1935.                     tint: 16777215
  1936.                 },
  1937.                 sound: {
  1938.                     pickup: "helmet_pickup_01"
  1939.                 }
  1940.             },
  1941.             helmet03: {
  1942.                 name: "Level 3 Helmet",
  1943.                 type: "helmet",
  1944.                 level: 3,
  1945.                 damageReduction: .55,
  1946.                 rad: 1,
  1947.                 tint: 2434341,
  1948.                 lootImg: {
  1949.                     sprite: "img/loot/loot-helmet-03.svg",
  1950.                     scale: .2,
  1951.                     rad: 16,
  1952.                     border: !0,
  1953.                     tint: 16777215
  1954.                 },
  1955.                 sound: {
  1956.                     pickup: "helmet_pickup_01"
  1957.                 }
  1958.             },
  1959.             chest01: {
  1960.                 name: "Level 1 Vest",
  1961.                 type: "chest",
  1962.                 level: 1,
  1963.                 damageReduction: .25,
  1964.                 rad: 1,
  1965.                 tint: 11842740,
  1966.                 lootImg: {
  1967.                     sprite: "img/loot/loot-chest-01.svg",
  1968.                     scale: .2,
  1969.                     rad: 16,
  1970.                     border: !0,
  1971.                     tint: 16777215
  1972.                 },
  1973.                 sound: {
  1974.                     pickup: "chest_pickup_01"
  1975.                 }
  1976.             },
  1977.             chest02: {
  1978.                 name: "Level 2 Vest",
  1979.                 type: "chest",
  1980.                 level: 2,
  1981.                 damageReduction: .4,
  1982.                 rad: 1,
  1983.                 tint: 5921370,
  1984.                 lootImg: {
  1985.                     sprite: "img/loot/loot-chest-02.svg",
  1986.                     scale: .2,
  1987.                     rad: 16,
  1988.                     border: !0,
  1989.                     tint: 16777215
  1990.                 },
  1991.                 sound: {
  1992.                     pickup: "chest_pickup_01"
  1993.                 }
  1994.             },
  1995.             chest03: {
  1996.                 name: "Level 3 Vest",
  1997.                 type: "chest",
  1998.                 level: 3,
  1999.                 damageReduction: .5,
  2000.                 rad: 1,
  2001.                 tint: 0,
  2002.                 lootImg: {
  2003.                     sprite: "img/loot/loot-chest-03.svg",
  2004.                     scale: .2,
  2005.                     rad: 16,
  2006.                     border: !0,
  2007.                     tint: 16777215
  2008.                 },
  2009.                 sound: {
  2010.                     pickup: "chest_pickup_01"
  2011.                 }
  2012.             },
  2013.             "1xscope": {
  2014.                 name: "1x Scope",
  2015.                 type: "scope",
  2016.                 level: 1,
  2017.                 rad: 1,
  2018.                 lootImg: {
  2019.                     sprite: "img/loot/loot-scope-00.svg",
  2020.                     scale: .2,
  2021.                     rad: 16,
  2022.                     border: !0,
  2023.                     tint: 16777215
  2024.                 },
  2025.                 sound: {
  2026.                     pickup: "scope_pickup_01"
  2027.                 }
  2028.             },
  2029.             "2xscope": {
  2030.                 name: "2x Scope",
  2031.                 type: "scope",
  2032.                 level: 2,
  2033.                 rad: 1,
  2034.                 lootImg: {
  2035.                     sprite: "img/loot/loot-scope-01.svg",
  2036.                     scale: .2,
  2037.                     rad: 16,
  2038.                     border: !0,
  2039.                     tint: 16777215
  2040.                 },
  2041.                 sound: {
  2042.                     pickup: "scope_pickup_01"
  2043.                 }
  2044.             },
  2045.             "4xscope": {
  2046.                 name: "4x Scope",
  2047.                 type: "scope",
  2048.                 level: 4,
  2049.                 rad: 1,
  2050.                 lootImg: {
  2051.                     sprite: "img/loot/loot-scope-02.svg",
  2052.                     scale: .2,
  2053.                     rad: 16,
  2054.                     border: !0,
  2055.                     tint: 16777215
  2056.                 },
  2057.                 sound: {
  2058.                     pickup: "scope_pickup_01"
  2059.                 }
  2060.             },
  2061.             "8xscope": {
  2062.                 name: "8x Scope",
  2063.                 type: "scope",
  2064.                 level: 8,
  2065.                 rad: 1,
  2066.                 lootImg: {
  2067.                     sprite: "img/loot/loot-scope-03.svg",
  2068.                     scale: .2,
  2069.                     rad: 16,
  2070.                     border: !0,
  2071.                     tint: 16777215
  2072.                 },
  2073.                 sound: {
  2074.                     pickup: "scope_pickup_01"
  2075.                 }
  2076.             },
  2077.             "15xscope": {
  2078.                 name: "15x Scope",
  2079.                 type: "scope",
  2080.                 level: 15,
  2081.                 rad: 1,
  2082.                 lootImg: {
  2083.                     sprite: "img/loot/loot-scope-04.svg",
  2084.                     scale: .2,
  2085.                     rad: 16,
  2086.                     border: !0,
  2087.                     tint: 16777215
  2088.                 },
  2089.                 sound: {
  2090.                     pickup: "scope_pickup_01"
  2091.                 }
  2092.             }
  2093.         },
  2094.         scopeZoomRadius: {
  2095.             "1xscope": 28,
  2096.             "2xscope": 36,
  2097.             "4xscope": 48,
  2098.             "8xscope": 68,
  2099.             "15xscope": 104
  2100.         },
  2101.         bagSizes: {
  2102.             "9mm": [120, 240, 330, 420],
  2103.             "762mm": [90, 180, 240, 300],
  2104.             "556mm": [90, 180, 240, 300],
  2105.             "12gauge": [15, 30, 60, 90],
  2106.             frag: [3, 6, 9, 12],
  2107.             smoke: [3, 6, 9, 12],
  2108.             bandage: [5, 10, 15, 30],
  2109.             healthkit: [1, 2, 3, 4],
  2110.             soda: [2, 5, 10, 15],
  2111.             painkiller: [1, 2, 3, 4],
  2112.             "1xscope": [1, 1, 1, 1],
  2113.             "2xscope": [1, 1, 1, 1],
  2114.             "4xscope": [1, 1, 1, 1],
  2115.             "8xscope": [1, 1, 1, 1],
  2116.             "15xscope": [1, 1, 1, 1]
  2117.         }
  2118.     }
  2119. }, "+sac": function(e, t, i) {
  2120.     function a(e) {
  2121.         return i(n(e))
  2122.     }
  2123.  
  2124.     function n(e) {
  2125.         var t = r[e];
  2126.         if(!(t + 1)) throw new Error("Cannot find module '" + e + "'.");
  2127.         return t
  2128.     }
  2129.     var r = {
  2130.         "./da.js": "j5/T",
  2131.         "./de.js": "KdTN",
  2132.         "./en.js": "W+3y",
  2133.         "./es.js": "pb8F",
  2134.         "./fr.js": "FRcz",
  2135.         "./it.js": "O/82",
  2136.         "./ko.js": "BkwK",
  2137.         "./nl.js": "vdJX",
  2138.         "./pl.js": "DMc6",
  2139.         "./pt.js": "nlKB",
  2140.         "./ru.js": "8jco",
  2141.         "./sv.js": "RCak",
  2142.         "./th.js": "R4DZ",
  2143.         "./tr.js": "eqS/",
  2144.         "./zh-cn.js": "UWg4",
  2145.         "./zh-tw.js": "kIX4"
  2146.     };
  2147.     a.keys = function() {
  2148.         return Object.keys(r)
  2149.     }, a.resolve = n, e.exports = a, a.id = "+sac"
  2150. }, "/2+T": function(e, t, i) {
  2151.     "use strict";
  2152.     var a = {
  2153.         create: function(e, t) {
  2154.             return {
  2155.                 x: e,
  2156.                 y: void 0 !== t ? t : e
  2157.             }
  2158.         },
  2159.         copy: function(e) {
  2160.             return {
  2161.                 x: e.x,
  2162.                 y: e.y
  2163.             }
  2164.         },
  2165.         add: function(e, t) {
  2166.             return {
  2167.                 x: e.x + t.x,
  2168.                 y: e.y + t.y
  2169.             }
  2170.         },
  2171.         sub: function(e, t) {
  2172.             return {
  2173.                 x: e.x - t.x,
  2174.                 y: e.y - t.y
  2175.             }
  2176.         },
  2177.         mul: function(e, t) {
  2178.             return {
  2179.                 x: e.x * t,
  2180.                 y: e.y * t
  2181.             }
  2182.         },
  2183.         div: function(e, t) {
  2184.             return {
  2185.                 x: e.x / t,
  2186.                 y: e.y / t
  2187.             }
  2188.         },
  2189.         neg: function(e) {
  2190.             return {
  2191.                 x: -e.x,
  2192.                 y: -e.y
  2193.             }
  2194.         },
  2195.         lengthSqr: function(e) {
  2196.             return e.x * e.x + e.y * e.y
  2197.         },
  2198.         length: function(e) {
  2199.             return Math.sqrt(a.lengthSqr(e))
  2200.         },
  2201.         normalize: function(e) {
  2202.             var t = a.length(e);
  2203.             return {
  2204.                 x: t > 1e-6 ? e.x / t : e.x,
  2205.                 y: t > 1e-6 ? e.y / t : e.y
  2206.             }
  2207.         },
  2208.         normalizeSafe: function(e, t) {
  2209.             t = t || a.create(1, 0);
  2210.             var i = a.length(e);
  2211.             return {
  2212.                 x: i > 1e-6 ? e.x / i : t.x,
  2213.                 y: i > 1e-6 ? e.y / i : t.y
  2214.             }
  2215.         },
  2216.         dot: function(e, t) {
  2217.             return e.x * t.x + e.y * t.y
  2218.         },
  2219.         perp: function(e) {
  2220.             return {
  2221.                 x: -e.y,
  2222.                 y: e.x
  2223.             }
  2224.         },
  2225.         proj: function(e, t) {
  2226.             return a.mul(t, a.dot(e, t) / a.dot(t, t))
  2227.         },
  2228.         rotate: function(e, t) {
  2229.             var i = Math.cos(t),
  2230.                 a = Math.sin(t);
  2231.             return {
  2232.                 x: e.x * i - e.y * a,
  2233.                 y: e.x * a + e.y * i
  2234.             }
  2235.         },
  2236.         divElems: function(e, t) {
  2237.             return {
  2238.                 x: e.x / t.x,
  2239.                 y: e.y / t.y
  2240.             }
  2241.         },
  2242.         minElems: function(e, t) {
  2243.             return {
  2244.                 x: Math.min(e.x, t.x),
  2245.                 y: Math.min(e.y, t.y)
  2246.             }
  2247.         },
  2248.         maxElems: function(e, t) {
  2249.             return {
  2250.                 x: Math.max(e.x, t.x),
  2251.                 y: Math.max(e.y, t.y)
  2252.             }
  2253.         },
  2254.         randomUnit: function() {
  2255.             return a.normalizeSafe(a.create(Math.random() - .5, Math.random() - .5), a.create(1, 0))
  2256.         },
  2257.         lerp: function(e, t, i) {
  2258.             return a.add(a.mul(t, 1 - e), a.mul(i, e))
  2259.         },
  2260.         eq: function(e, t, i) {
  2261.             var a = i || 1e-4;
  2262.             return Math.abs(e.x - t.x) < a && Math.abs(e.y - t.y) < a
  2263.         }
  2264.     };
  2265.     e.exports = a
  2266. }, "/rj8": function(e, t, i) {
  2267.     "use strict";
  2268.  
  2269.     function a() {
  2270.         this.active = !1, this.dirty = !1, this.container = new n.Graphics, this.container.alpha = 0, this.clientData = {
  2271.             label: "",
  2272.             duration: 0,
  2273.             keepAlive: !1,
  2274.             elapsed: 0,
  2275.             radius: 35,
  2276.             lineWidth: 8,
  2277.             fontWidth: 24
  2278.         }, this.timerBackground = n.Sprite.fromImage("img/gui/timer-background.svg"), this.timerBackground.anchor = new n.Point(.5, .5), this.timerBackground.scale = new n.Point(1, 1), this.container.addChild(this.timerBackground), this.innerCircle = new n.Graphics, this.outerCircle = new n.Graphics, this.container.addChild(this.innerCircle, this.outerCircle), this.counterText = new n.Text, this.counterText.anchor = new n.Point(.5, .5);
  2279.         var e = {
  2280.             fontFamily: "Arial, Helvetica, sans-serif",
  2281.             fontWeight: "bold",
  2282.             fontSize: this.clientData.fontWidth,
  2283.             align: "center",
  2284.             fill: 16777215,
  2285.             stroke: 0,
  2286.             strokeThickness: 3
  2287.         };
  2288.         this.counterText.style = e, this.counterText.text = this.clientData.duration.toFixed(1), this.container.addChild(this.counterText), this.labelText = new n.Text, this.labelText.anchor = new n.Point(.5, .5);
  2289.         var t = {
  2290.             fontFamily: "Arial, Helvetica, sans-serif",
  2291.             fontWeight: "100",
  2292.             fontSize: this.clientData.fontWidth,
  2293.             align: "center",
  2294.             fill: 16777215
  2295.         };
  2296.         this.labelText.style = t, this.container.addChild(this.labelText), this.screenScaleFactor = 1, this.callback = null
  2297.     }
  2298.     var n = i("gKxX");
  2299.     i("+0OL"), i("Tf6H"), i("/2+T");
  2300.     a.prototype = {
  2301.         init: function(e, t, i, a) {
  2302.             this.active = !0, this.clientData = {
  2303.                 label: i,
  2304.                 duration: t,
  2305.                 keepAlive: a,
  2306.                 elapsed: 0,
  2307.                 radius: 35,
  2308.                 lineWidth: 8,
  2309.                 fontWidth: 24
  2310.             }, this.labelText.text = this.clientData.duration.toFixed(1), this.callback = e, this.container.visible = !0, this.container.alpha = 1
  2311.         },
  2312.         destroy: function() {
  2313.             this.container.destroy({
  2314.                 children: !0,
  2315.                 texture: !0
  2316.             })
  2317.         },
  2318.         resize: function(e) {
  2319.             this.screenScaleFactor = e
  2320.         },
  2321.         free: function(e) {
  2322.             this.active = !1, e && (this.container.visible = !1, this.container.clear())
  2323.         },
  2324.         update: function(e, t, i) {
  2325.             if(!this.active) return void(this.container.alpha = this.clientData.keepAlive ? 1 : 0);
  2326.             this.clientData.elapsed += e, this.clientData.elapsed = Math.min(this.clientData.elapsed, this.clientData.duration), (this.clientData.elapsed >= this.clientData.duration || t.dead) && (this.render(i), this.free(), this.callback && this.callback(t))
  2327.         },
  2328.         render: function(e) {
  2329.             if(this.active) {
  2330.                 this.container.clear(), this.outerCircle.clear(), this.counterText.text = "", this.labelText.text = "";
  2331.                 var t = Math.min(this.clientData.elapsed / this.clientData.duration, 1),
  2332.                     i = {
  2333.                         x: e.screenWidth / 2,
  2334.                         y: e.screenHeight / 3 * this.screenScaleFactor
  2335.                     },
  2336.                     a = Math.min(t, 1) * Math.PI * 2 - Math.PI / 2;
  2337.                 this.container.beginFill(0, .5), this.outerCircle.lineStyle(.75 * this.clientData.lineWidth, 16777215), this.outerCircle.arc(0, 0, this.clientData.radius, -Math.PI / 2, a, !1), this.counterText.text = Math.max(0, this.clientData.duration - this.clientData.elapsed).toFixed(1);
  2338.                 var n = 2.5 * this.clientData.radius;
  2339.                 this.labelText.position.y = n, this.labelText.text = this.clientData.label;
  2340.                 var r = 56 + this.clientData.label.length * this.clientData.fontWidth * .45,
  2341.                     o = 1.5 * this.clientData.fontWidth,
  2342.                     s = 0 - r / 2,
  2343.                     l = n - o / 2;
  2344.                 this.container.drawRoundedRect(s, l, r, o, 5), this.container.position = {
  2345.                     x: i.x,
  2346.                     y: i.y
  2347.                 }
  2348.             }
  2349.         }
  2350.     }, e.exports = {
  2351.         PieTimer: a
  2352.     }
  2353. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement