thewreck

Cobalt Mod API - Items

Dec 4th, 2017
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 306.90 KB | None | 0 0
  1. ITEMS = {
  2.   amanitaBorealisHelmet = {
  3.     amanita = true,
  4.     credits = 200,
  5.     customSpriteNames = {
  6.       base = "amanita_borealisHelmetBase",
  7.       pieces = {...},
  8.     },
  9.     dangerFactor = 0.6,
  10.     dat = "shrooms.dat",
  11.     debrisSprite = "base",
  12.     droppable = true,
  13.     equipment = "helmet",
  14.     health = 3,
  15.     helmet = true,
  16.     hit_prio = 3,
  17.     iconName = "helmet_icon",
  18.     name = "Borealis Helmet",
  19.     node = "hat",
  20.     protectionLower = 5,
  21.     spriteName = "amanita_borealisHelmet",
  22.   },
  23.   amanitaBorealisMask = {
  24.     amanita = true,
  25.     credits = 150,
  26.     customSpriteNames = {
  27.       base = "amanita_borealisFaceBase",
  28.       pieces = {...},
  29.     },
  30.     dangerFactor = 0.4,
  31.     dat = "shrooms.dat",
  32.     debrisSprite = "base",
  33.     droppable = true,
  34.     equipment = "face",
  35.     face = true,
  36.     health = 2,
  37.     hit_prio = 1,
  38.     iconName = "helmet_icon",
  39.     name = "Borealis Mask",
  40.     node = "head",
  41.     protectionForwards = true,
  42.     protectionHigher = 25,
  43.     protectionLower = -25,
  44.     spriteName = "amanita_borealisFace",
  45.   },
  46.   amanitaCamoHelmet = {
  47.     amanita = true,
  48.     credits = 200,
  49.     customSpriteNames = {
  50.       base = "amanita_camoHelmetBase",
  51.       pieces = {...},
  52.     },
  53.     dangerFactor = 0.4,
  54.     dat = "shrooms.dat",
  55.     debrisSprite = "base",
  56.     droppable = true,
  57.     equipment = "helmet",
  58.     health = 2,
  59.     helmet = true,
  60.     hit_prio = 3,
  61.     iconName = "helmet_icon",
  62.     name = "Camo Helmet",
  63.     node = "hat",
  64.     protectionLower = 5,
  65.     spriteName = "amanita_camoHelmet",
  66.   },
  67.   amanitaDesertClothFace = {
  68.     amanita = true,
  69.     credits = 100,
  70.     dangerFactor = 0,
  71.     dat = "shrooms.dat",
  72.     droppable = true,
  73.     equipment = "face",
  74.     face = true,
  75.     hit_prio = 1,
  76.     iconName = "helmet_icon",
  77.     name = "Desert Mask",
  78.     spriteName = "amanita_desertClothFace",
  79.   },
  80.   amanitaDesertClothHat = {
  81.     amanita = true,
  82.     credits = 100,
  83.     dangerFactor = 0,
  84.     dat = "shrooms.dat",
  85.     droppable = true,
  86.     equipment = "helmet",
  87.     helmet = true,
  88.     hit_prio = 3,
  89.     iconName = "helmet_icon",
  90.     name = "Desert Cloth",
  91.     spriteName = "amanita_desertClothHat",
  92.   },
  93.   amanitaEmpireHelmet = {
  94.     absorbation = 0.5,
  95.     amanita = true,
  96.     credits = 200,
  97.     customSpriteNames = {
  98.       base = "amanita_empireHelmetBase",
  99.       pieces = {...},
  100.     },
  101.     dangerFactor = 0.75,
  102.     dat = "shrooms.dat",
  103.     debrisSprite = "base",
  104.     deflects = true,
  105.     droppable = true,
  106.     equipment = "helmet",
  107.     health = 2,
  108.     helmet = true,
  109.     hit_prio = 3,
  110.     iconName = "helmet_icon",
  111.     name = "Empire Helmet",
  112.     node = "hat",
  113.     protectionLower = 5,
  114.     spriteName = "amanita_empireHelmet",
  115.   },
  116.   amanitaEmpireMask = {
  117.     absorbation = 0.25,
  118.     amanita = true,
  119.     credits = 150,
  120.     customSpriteNames = {
  121.       base = "amanita_empireFaceBase",
  122.       pieces = {...},
  123.     },
  124.     dangerFactor = 0.5,
  125.     dat = "shrooms.dat",
  126.     debrisSprite = "base",
  127.     deflects = true,
  128.     droppable = true,
  129.     equipment = "face",
  130.     face = true,
  131.     health = 1.5,
  132.     hit_prio = 1,
  133.     iconName = "helmet_icon",
  134.     name = "Empire Mask",
  135.     node = "head",
  136.     protectionForwards = true,
  137.     protectionHigher = 25,
  138.     protectionLower = -25,
  139.     spriteName = "amanita_empireFace",
  140.   },
  141.   amanitaHarness = {
  142.     amanita = true,
  143.     credits = 75,
  144.     dangerFactor = 0,
  145.     dat = "shrooms.dat",
  146.     droppable = true,
  147.     equipment = "face",
  148.     face = true,
  149.     hit_prio = 1,
  150.     iconName = "helmet_icon",
  151.     name = "Harness",
  152.     spriteName = "amanita_harnessFace",
  153.   },
  154.   amanitaScienceHat = {
  155.     amanita = true,
  156.     credits = 200,
  157.     dangerFactor = 0,
  158.     dat = "shrooms.dat",
  159.     droppable = true,
  160.     equipment = "helmet",
  161.     helmet = true,
  162.     hit_prio = 3,
  163.     iconName = "helmet_icon",
  164.     name = "Science Hat",
  165.     spriteName = "amanita_scienceHat",
  166.   },
  167.   amanitaScienceMask = {
  168.     amanita = true,
  169.     credits = 175,
  170.     dangerFactor = 0,
  171.     dat = "shrooms.dat",
  172.     droppable = true,
  173.     equipment = "face",
  174.     face = true,
  175.     hit_prio = 1,
  176.     iconName = "helmet_icon",
  177.     name = "Science Mask",
  178.     spriteName = "amanita_scienceFace",
  179.   },
  180.   ammoLarge = {
  181.     addTimes = 1,
  182.     ai = {
  183.     },
  184.     ammo = true,
  185.     ammoAmounts = {
  186.       beamAmmo = 90,
  187.       blasterAmmo = 22,
  188.       chronoAmmo = 30,
  189.       grenadeAmmo = 11,
  190.       gyrojetAmmo = 18,
  191.       matterAmmo = 36,
  192.       missileAmmo = 6,
  193.       nanoAmmo = 60,
  194.       plasmaAmmo = 45,
  195.       railAmmo = 44,
  196.       sluggerAmmo = 90,
  197.       spikeAmmo = 27,
  198.     },
  199.     consumable = true,
  200.     credits = 9,
  201.     droppable = true,
  202.     iconName = "ammoLarge_icon",
  203.     name = "Ammo Crate",
  204.     pickupSound = "ammoLarge",
  205.     spriteName = "ammoLarge",
  206.     stackable = true,
  207.   },
  208.   ammoLargeDouble = {
  209.     addTimes = 2,
  210.     ai = {
  211.     },
  212.     ammo = true,
  213.     ammoAmounts = {
  214.       beamAmmo = 90,
  215.       blasterAmmo = 22,
  216.       chronoAmmo = 30,
  217.       grenadeAmmo = 11,
  218.       gyrojetAmmo = 18,
  219.       matterAmmo = 36,
  220.       missileAmmo = 6,
  221.       nanoAmmo = 60,
  222.       plasmaAmmo = 45,
  223.       railAmmo = 44,
  224.       sluggerAmmo = 90,
  225.       spikeAmmo = 27,
  226.     },
  227.     consumable = true,
  228.     credits = 18,
  229.     droppable = true,
  230.     iconName = "ammoLargeDouble_icon",
  231.     name = "Ammo Double Crate",
  232.     pickupSound = "ammoLarge",
  233.     spriteName = "ammoLargeDouble",
  234.     stackable = true,
  235.     vendorSpacing = 0.7,
  236.   },
  237.   ammoMedium = {
  238.     addTimes = 1,
  239.     ai = {
  240.     },
  241.     ammo = true,
  242.     ammoAmounts = {
  243.       beamAmmo = 30,
  244.       blasterAmmo = 7,
  245.       chronoAmmo = 10,
  246.       grenadeAmmo = 4,
  247.       gyrojetAmmo = 6,
  248.       matterAmmo = 12,
  249.       missileAmmo = 2,
  250.       nanoAmmo = 20,
  251.       plasmaAmmo = 15,
  252.       railAmmo = 16,
  253.       sluggerAmmo = 30,
  254.       spikeAmmo = 9,
  255.     },
  256.     consumable = true,
  257.     credits = 3,
  258.     droppable = true,
  259.     iconName = "ammoMedium_icon",
  260.     name = "Ammo Box",
  261.     pickupSound = "ammoMedium",
  262.     spriteName = "ammoMedium",
  263.     stackable = true,
  264.   },
  265.   ammoMediumDouble = {
  266.     addTimes = 2,
  267.     ai = {
  268.     },
  269.     ammo = true,
  270.     ammoAmounts = {
  271.       beamAmmo = 30,
  272.       blasterAmmo = 7,
  273.       chronoAmmo = 10,
  274.       grenadeAmmo = 4,
  275.       gyrojetAmmo = 6,
  276.       matterAmmo = 12,
  277.       missileAmmo = 2,
  278.       nanoAmmo = 20,
  279.       plasmaAmmo = 15,
  280.       railAmmo = 16,
  281.       sluggerAmmo = 30,
  282.       spikeAmmo = 9,
  283.     },
  284.     consumable = true,
  285.     credits = 6,
  286.     droppable = true,
  287.     iconName = "ammoMediumDouble_icon",
  288.     name = "Ammo Double Box",
  289.     pickupSound = "ammoMedium",
  290.     spriteName = "ammoMediumDouble",
  291.     stackable = true,
  292.   },
  293.   ammoSmall = {
  294.     addTimes = 1,
  295.     ai = {
  296.     },
  297.     ammo = true,
  298.     ammoAmounts = {
  299.       beamAmmo = 10,
  300.       blasterAmmo = 2,
  301.       chronoAmmo = 4,
  302.       grenadeAmmo = 1,
  303.       gyrojetAmmo = 2,
  304.       matterAmmo = 4,
  305.       missileAmmo = 1,
  306.       nanoAmmo = 8,
  307.       plasmaAmmo = 5,
  308.       railAmmo = 6,
  309.       sluggerAmmo = 10,
  310.       spikeAmmo = 3,
  311.     },
  312.     consumable = true,
  313.     credits = 1,
  314.     droppable = true,
  315.     iconName = "ammoSmall_icon",
  316.     name = "Ammo Satchel",
  317.     pickupSound = "ammoSmall",
  318.     spriteName = "ammoSmall",
  319.     stackable = true,
  320.   },
  321.   ammoSmallDouble = {
  322.     addTimes = 2,
  323.     ai = {
  324.     },
  325.     ammo = true,
  326.     ammoAmounts = {
  327.       beamAmmo = 10,
  328.       blasterAmmo = 2,
  329.       chronoAmmo = 4,
  330.       grenadeAmmo = 1,
  331.       gyrojetAmmo = 2,
  332.       matterAmmo = 4,
  333.       missileAmmo = 1,
  334.       nanoAmmo = 8,
  335.       plasmaAmmo = 5,
  336.       railAmmo = 6,
  337.       sluggerAmmo = 10,
  338.       spikeAmmo = 3,
  339.     },
  340.     consumable = true,
  341.     credits = 2,
  342.     droppable = true,
  343.     iconName = "ammoSmallDouble_icon",
  344.     name = "Ammo Double Satchel",
  345.     pickupSound = "ammoSmall",
  346.     spriteName = "ammoSmallDouble",
  347.     stackable = true,
  348.   },
  349.   artifact = {
  350.     ai = {
  351.     },
  352.     artifact = true,
  353.     asObjectDensity = 10,
  354.     bounceSound = "bounceArtifact",
  355.     credits = 70,
  356.     droppable = true,
  357.     iconName = "artifact_icon",
  358.     name = "Strange Artifact",
  359.     pickupSound = "pickup",
  360.     spriteName = "artifact",
  361.     stackable = true,
  362.   },
  363.   artifactApple = {
  364.     ai = {
  365.     },
  366.     asObjectDensity = 1,
  367.     asObjectPhysics = {
  368.       {...},
  369.       {...},
  370.       {...},
  371.     },
  372.     bounceSound = "bounceMetal",
  373.     carried = true,
  374.     droppable = true,
  375.     huge = true,
  376.     legend = true,
  377.     name = "Apple Computer",
  378.     pickupSound = "pickup",
  379.     size = 6,
  380.     spriteName = "artifact_apple",
  381.     throwRotation = 0.5,
  382.   },
  383.   artifactCandlestick = {
  384.     ai = {
  385.     },
  386.     asObjectDensity = 1,
  387.     asObjectPhysics = {
  388.       {...},
  389.       {...},
  390.       {...},
  391.       {...},
  392.     },
  393.     bounceSound = "bounceMetal",
  394.     carried = true,
  395.     droppable = true,
  396.     huge = true,
  397.     legend = true,
  398.     name = "Candle Stick",
  399.     pickupSound = "pickup",
  400.     size = 6,
  401.     spriteName = "artifact_candlestick",
  402.     throwRotation = 0.5,
  403.   },
  404.   artifactDisc = {
  405.     ai = {
  406.     },
  407.     asObjectDensity = 1,
  408.     asObjectPhysics = {
  409.       {...},
  410.       {...},
  411.       {...},
  412.     },
  413.     bounceSound = "bounceMetal",
  414.     carried = true,
  415.     droppable = true,
  416.     huge = true,
  417.     legend = true,
  418.     name = "Stone Disc",
  419.     pickupSound = "pickup",
  420.     size = 6,
  421.     spriteName = "artifact_disc",
  422.     throwRotation = 0.5,
  423.   },
  424.   artifactKing = {
  425.     ai = {
  426.     },
  427.     asObjectDensity = 1,
  428.     asObjectPhysics = {
  429.       {...},
  430.       {...},
  431.     },
  432.     bounceSound = "bounceMetal",
  433.     carried = true,
  434.     droppable = true,
  435.     huge = true,
  436.     legend = true,
  437.     name = "Chess Piece",
  438.     pickupSound = "pickup",
  439.     size = 6,
  440.     spriteName = "artifact_king",
  441.     throwRotation = 0.5,
  442.   },
  443.   artifactNes = {
  444.     ai = {
  445.     },
  446.     asObjectDensity = 1,
  447.     asObjectPhysics = {
  448.       {...},
  449.       {...},
  450.       {...},
  451.     },
  452.     bounceSound = "bounceMetal",
  453.     carried = true,
  454.     droppable = true,
  455.     huge = true,
  456.     legend = true,
  457.     name = "NES",
  458.     pickupSound = "pickup",
  459.     size = 6,
  460.     spriteName = "artifact_nes",
  461.     throwRotation = 0.5,
  462.   },
  463.   artifactVirtualBoy = {
  464.     ai = {
  465.     },
  466.     asObjectDensity = 1,
  467.     asObjectPhysics = {
  468.       {...},
  469.       {...},
  470.       {...},
  471.     },
  472.     bounceSound = "bounceMetal",
  473.     carried = true,
  474.     droppable = true,
  475.     huge = true,
  476.     legend = true,
  477.     name = "Virtual Boy",
  478.     pickupSound = "pickup",
  479.     size = 6,
  480.     spriteName = "artifact_virtualboy",
  481.     throwRotation = 0.5,
  482.   },
  483.   backShell = {
  484.     ai = {
  485.     },
  486.     back = true,
  487.     credits = 10,
  488.     customSpriteNames = {
  489.       base = "backArmor_base",
  490.       pieces = {...},
  491.     },
  492.     dangerFactor = 0.25,
  493.     debrisSprite = "base",
  494.     defence = true,
  495.     droppable = true,
  496.     equipment = "backShell",
  497.     health = 0.5,
  498.     hit_prio = 2,
  499.     iconName = "backArmor_icon",
  500.     name = "Protection Shell",
  501.     node = "backshell",
  502.     pieces = 4,
  503.     protectionBackwards = true,
  504.     protectionHigher = 20,
  505.     robot = true,
  506.     spriteName = "backArmor",
  507.   },
  508.   barbedClub = {
  509.     ai = {
  510.       attackArc = 1.5707963267949,
  511.       attackDist = 100,
  512.       bulletSpeed = 10000,
  513.     },
  514.     aimArc = 2.8274333882308,
  515.     aimRange = 175,
  516.     aimSpeed = 0.6,
  517.     alwaysAim = true,
  518.     attack = "spiky",
  519.     attackFactor = 1.1,
  520.     breakable = true,
  521.     bulletTimeFactor = 2,
  522.     chargeCooldown = 0.285,
  523.     chargeDelaySpeed = 1.65,
  524.     chargeSpeed = 1,
  525.     closeCombat = true,
  526.     credits = 80,
  527.     dangerFactor = 0.5,
  528.     droppable = true,
  529.     duckNodeAttack = "stab",
  530.     failedCooldown = 0,
  531.     forceFactor = 1,
  532.     health = 16,
  533.     iconName = "barbedClub_icon",
  534.     logic = {
  535.       "render_with_feedback",
  536.       "node_attack",
  537.       "node_attack_actor_adaptive",
  538.       "node_attack_charge_boost",
  539.       "node_attack_hit_self_breakage",
  540.       "can_use_with_any_charge",
  541.     },
  542.     melee = true,
  543.     minCooldown = 0.105,
  544.     name = "Barbed Club",
  545.     nodeAttack = "swing",
  546.     pickupSound = "pickupWeapon",
  547.     rackAngle = 0,
  548.     range = 35,
  549.     size = 4,
  550.     speed = 0.85,
  551.     spriteName = "barbedClub",
  552.     switchedToSound = "switch",
  553.     vendorAngle = -1.0367255756846,
  554.     weapon = true,
  555.   },
  556.   barbedShield = {
  557.     absorbation = 0,
  558.     breakSound = "breakFinal1",
  559.     breakable = true,
  560.     credits = 75,
  561.     customSpriteNames = {
  562.       base = "barbedShieldBase",
  563.       pieces = {...},
  564.     },
  565.     cyborg = true,
  566.     dangerFactor = 0.6,
  567.     debrisSprite = "base",
  568.     defence = true,
  569.     droppable = true,
  570.     equipment = "shield",
  571.     equipment_visual = "secondary",
  572.     general = true,
  573.     health = 18,
  574.     hitDamageFactor = 3,
  575.     hitSound = "hitMetalHeavy",
  576.     hit_prio = 5,
  577.     iconName = "barbedShield_icon",
  578.     listing = true,
  579.     localized_info_id = "item_energyShield_info",
  580.     name = "Shield (Barbed)",
  581.     node = "secondary",
  582.     protectionActive = true,
  583.     protectionForwards = true,
  584.     protectionHigher = 22,
  585.     protectionLower = -22,
  586.     robot = true,
  587.     secondary = true,
  588.     shield = true,
  589.     spawnCooldown = 1.25,
  590.     spriteName = "barbedShield",
  591.     thorns = 1,
  592.   },
  593.   basicShield = {
  594.     ai = {
  595.     },
  596.     body = true,
  597.     chargeEfficiency = 0.1,
  598.     color = {
  599.       a = 255,
  600.       b = 255,
  601.       g = 120,
  602.       r = 109,
  603.     },
  604.     credits = 75,
  605.     customSpriteNames = {
  606.       glow = "shieldBeltGlow",
  607.       grid = "shield_ringGrid",
  608.       hit = "shield_ringHit",
  609.       hitGrid = "shield_ringHitGrid",
  610.       light = "shieldBeltLight",
  611.       lines = "shield_lines",
  612.       ring = "shield_ringWhite",
  613.       ringColored = "shield_ring",
  614.       spikes = "shield_ringSpikes",
  615.     },
  616.     cyborg = true,
  617.     dangerFactor = 0,
  618.     defence = true,
  619.     defenceFactor = 1,
  620.     droppable = true,
  621.     effect_color = {
  622.       a = 255,
  623.       b = 109,
  624.       g = 109,
  625.       r = 255,
  626.     },
  627.     equipment = "shieldBelt",
  628.     equipment_visual = "torso",
  629.     hit_prio = 0,
  630.     iconName = "shieldbelt_icon",
  631.     listing = true,
  632.     logic = {
  633.       "shield_belt",
  634.     },
  635.     monitored = "batteries",
  636.     name = "Shieldbelt (Basic)",
  637.     rack = "shield",
  638.     rackable = true,
  639.     robot = true,
  640.     sentry = true,
  641.     shield = true,
  642.     spriteName = "shieldBelt",
  643.     supplyType = "battery",
  644.     torso = true,
  645.     uses = "shieldBattery",
  646.     wantedTime = 0.2,
  647.   },
  648.   beamAmmo = {
  649.     ai = {
  650.     },
  651.     ammoIndex = 100,
  652.     consumable = true,
  653.     gearDamage = 0.1,
  654.     iconName = "beamgun_ammoIcon",
  655.     name = "Beam Ammo",
  656.     pickupSound = "pickupAmmo",
  657.     predictable = false,
  658.     stackable = true,
  659.   },
  660.   beamGun = {
  661.     ai = {
  662.       attackArc = 0.094247779607694,
  663.       attackDist = 900,
  664.       burst = 10,
  665.     },
  666.     aimRange = 1100,
  667.     aimSpeed = 0.35,
  668.     aimsAtBullets = false,
  669.     ammoType = "beamAmmo",
  670.     beamDelay = 0.04,
  671.     beamThreshold = 0.25,
  672.     bullet = "beamRay",
  673.     bulletSpeed = 300,
  674.     bulletTimeFactor = 0.25,
  675.     chargeTime = 0.6,
  676.     cooldown = 0,
  677.     credits = 300,
  678.     customSpriteNames = {
  679.       "beamgun_ball1",
  680.       "beamgun_ball2",
  681.       "beamgun_ball3",
  682.       "beamgun_ball4",
  683.       "beamgun_light",
  684.     },
  685.     dangerFactor = 0.8,
  686.     droppable = true,
  687.     failedCooldown = 0.25,
  688.     fireHeight = 3,
  689.     firingTime = 0.66,
  690.     health = 30,
  691.     heat = true,
  692.     iconName = "beamgun_icon",
  693.     logic = {
  694.       "use_activated",
  695.       "use_limited_by_ammo",
  696.     },
  697.     maxAmmo = 40,
  698.     name = "Beam Gun",
  699.     outputChangeSpeed = 5,
  700.     pickupSound = "pickupWeapon",
  701.     rackAngle = -1.5707963267949,
  702.     rackable = true,
  703.     recoilAngle = 0.25,
  704.     recoilControl = 1,
  705.     recoilFatigue = 0.1,
  706.     recoilSeed = 9,
  707.     recoilSpeed = 900,
  708.     reloadBoosts = {
  709.       0.8,
  710.     },
  711.     reloadSequence = {
  712.       handle = {...},
  713.       insert = {...},
  714.       prepare = {...},
  715.       slide = {...},
  716.     },
  717.     reloadTime = 1.8,
  718.     size = 4,
  719.     sniper = true,
  720.     spriteName = "beamgun",
  721.     switchedToSound = "switch",
  722.     weapon = true,
  723.   },
  724.   beamGunChargeCell = {
  725.     ai = {
  726.     },
  727.     ammoCapacity = 10,
  728.     credits = 25,
  729.     customSpriteBase = "beamgun_bball",
  730.     customSpriteNames = {
  731.       "beamgun_bball4",
  732.       "beamgun_bball3",
  733.       "beamgun_bball2",
  734.       "beamgun_bball1",
  735.     },
  736.     dangerFactor = 0.2,
  737.     droppable = true,
  738.     iconName = "beamgun_ball_icon",
  739.     maxLevel = 4,
  740.     multilevel = true,
  741.     name = "Beam Gun Charge Cell",
  742.     perLevelCredits = 25,
  743.     pickupSound = "pickupWeapon",
  744.     spriteName = "beamgun_bball4",
  745.     upgrade = "chargeCell",
  746.     upgradeIconNames = {
  747.       "beamgun_ball1_upgIcon",
  748.       "beamgun_ball2_upgIcon",
  749.       "beamgun_ball3_upgIcon",
  750.       "beamgun_ball4_upgIcon",
  751.     },
  752.     upgradeSequence = {
  753.       crank = {...},
  754.       ending = {...},
  755.       insert = {...},
  756.       inspect = {...},
  757.       mag = {...},
  758.       prepare = {...},
  759.     },
  760.     upgrades = "beamGun",
  761.   },
  762.   beamGunExtendedMagazine = {
  763.     ai = {
  764.     },
  765.     credits = 75,
  766.     dangerFactor = 0.2,
  767.     droppable = true,
  768.     iconName = "beamgun_shaft_icon",
  769.     name = "Beam Gun Fore-Grip",
  770.     pickupSound = "pickupWeapon",
  771.     spriteName = "beamgun_shaft",
  772.     upgrade = "grip",
  773.     upgradeIconName = "beamgun_shaft_upgIcon",
  774.     upgradeSequence = {
  775.       crank = {...},
  776.       ending = {...},
  777.       insert = {...},
  778.       inspect = {...},
  779.       mag = {...},
  780.       prepare = {...},
  781.     },
  782.     upgrades = "beamGun",
  783.   },
  784.   beamGunPowerCrystal = {
  785.     ai = {
  786.     },
  787.     credits = 40,
  788.     dangerFactor = 0.25,
  789.     droppable = true,
  790.     iconName = "beamgun_range_icon",
  791.     maxLevel = 2,
  792.     multilevel = true,
  793.     name = "Beam Gun Power Crystal",
  794.     perLevelCredits = 80,
  795.     pickupSound = "pickupWeapon",
  796.     spriteName = "beamgun_range2",
  797.     spriteNames = {
  798.       "beamgun_range1",
  799.       "beamgun_range2",
  800.     },
  801.     upgrade = "powerCrystal",
  802.     upgradeIconNames = {
  803.       "beamgun_range1_upgIcon",
  804.       "beamgun_range2_upgIcon",
  805.     },
  806.     upgradeSequence = {
  807.       crank = {...},
  808.       ending = {...},
  809.       insert = {...},
  810.       inspect = {...},
  811.       mag = {...},
  812.       prepare = {...},
  813.     },
  814.     upgrades = "beamGun",
  815.   },
  816.   birdEgg = {
  817.     ai = {
  818.     },
  819.     maxLevel = 3,
  820.     multilevel = true,
  821.     name = "Bird Egg",
  822.     upgrade = "birdEgg",
  823.     upgrades = "nest",
  824.   },
  825.   bite = {
  826.     ability = true,
  827.     ai = {
  828.       attackArc = 2.3561944901923,
  829.       attackDist = 55,
  830.     },
  831.     alwaysAim = true,
  832.     closeCombat = true,
  833.     cooldown = 0.45,
  834.     dangerFactor = 0,
  835.     droppable = false,
  836.     fireHeight = 0,
  837.     iconName = "bite_icon",
  838.     name = "Bite Attack",
  839.     pickupSound = "pickupWeapon",
  840.   },
  841.   blasterAmmo = {
  842.     ai = {
  843.     },
  844.     ammoIndex = 20,
  845.     consumable = true,
  846.     gearDamage = 0.6,
  847.     iconName = "blastgun_ammoIcon",
  848.     name = "Blaster Ammo",
  849.     pickupSound = "pickupAmmo",
  850.     predictable = false,
  851.     stackable = true,
  852.   },
  853.   blasterGun = {
  854.     ai = {
  855.       attackArc = 0.12566370614359,
  856.       attackDist = 500,
  857.       bulletSpeed = 22,
  858.     },
  859.     aimRange = 700,
  860.     ammoType = "blasterAmmo",
  861.     bullet = "blaster",
  862.     bulletSpeed = 20,
  863.     bulletTimeFactor = 0.5,
  864.     cooldown = 0.5,
  865.     cooldownReductionSemi = 0.05,
  866.     credits = 450,
  867.     dangerFactor = 2.75,
  868.     droppable = true,
  869.     explosion = "blaster",
  870.     explosionIntensity = 1,
  871.     fireHeight = 8,
  872.     force = true,
  873.     health = 20,
  874.     heat = true,
  875.     iconName = "blastgun_icon",
  876.     maxAmmo = 9,
  877.     name = "Blaster Gun",
  878.     pickupSound = "pickupWeapon",
  879.     pistol = true,
  880.     rackAngle = -1.5707963267949,
  881.     rackable = true,
  882.     recoilAngle = 17,
  883.     recoilControl = 0.6,
  884.     recoilFatigue = 0.69,
  885.     recoilSeed = 16,
  886.     recoilSpeed = 1600,
  887.     reloadBoosts = {
  888.       0.4,
  889.     },
  890.     reloadSequence = {
  891.       crank = {...},
  892.       handle = {...},
  893.       inspect = {...},
  894.       mag = {...},
  895.       slide = {...},
  896.     },
  897.     reloadTime = 1.6,
  898.     sidearm = true,
  899.     size = 3,
  900.     soundRange = 1250,
  901.     spriteName = "blastgun",
  902.     switchedToSound = "switch",
  903.     useSound = "blasterShot",
  904.     weapon = true,
  905.   },
  906.   blasterGunEnergyDish = {
  907.     ai = {
  908.     },
  909.     credits = 250,
  910.     dangerFactor = 0.75,
  911.     droppable = true,
  912.     iconName = "blastgun_energyLeash_icon",
  913.     name = "Blaster Gun Energy Dish",
  914.     pickupSound = "pickupWeapon",
  915.     spriteName = "blastgun_energyLeash",
  916.     upgrade = "energyDish",
  917.     upgradeIconName = "blastgun_energyLeash_upgIcon",
  918.     upgradeSequence = {
  919.       crank = {...},
  920.       insert = {...},
  921.       inspect = {...},
  922.       prepare = {...},
  923.       slide = {...},
  924.     },
  925.     upgrades = "blasterGun",
  926.   },
  927.   blasterGunMagazine = {
  928.     ai = {
  929.     },
  930.     ammoCapacity = 4,
  931.     articleId = "magazine",
  932.     credits = 125,
  933.     dangerFactor = 0.25,
  934.     droppable = true,
  935.     iconName = "blastgun_magazine_icon",
  936.     maxLevel = 2,
  937.     multilevel = true,
  938.     name = "Blaster Gun Magazine",
  939.     perLevelCredits = 50,
  940.     pickupSound = "pickupWeapon",
  941.     spriteName = "blastgun_magazine1",
  942.     spriteNames = {
  943.       "blastgun_magazine1",
  944.       "blastgun_magazine2",
  945.     },
  946.     upgrade = "magazine",
  947.     upgradeIconNames = {
  948.       "blastgun_magazine1_upgIcon",
  949.       "blastgun_magazine2_upgIcon",
  950.     },
  951.     upgradeSequence = {
  952.       crank = {...},
  953.       ending = {...},
  954.       insert = {...},
  955.       inspect = {...},
  956.       mag = {...},
  957.       prepare = {...},
  958.     },
  959.     upgrades = "blasterGun",
  960.   },
  961.   boltIron = {
  962.     ai = {
  963.       attackArc = 1.5707963267949,
  964.       attackDist = 100,
  965.       bulletSpeed = 10000,
  966.     },
  967.     aimArc = 2.8274333882308,
  968.     aimRange = 175,
  969.     aimSpeed = 0.5,
  970.     alwaysAim = true,
  971.     attack = "blunt",
  972.     attackFactor = 0.8,
  973.     breakable = true,
  974.     bulletTimeFactor = 2,
  975.     chargeCooldown = 0.275,
  976.     chargeDelaySpeed = 2.4,
  977.     chargeSpeed = 0.6,
  978.     closeCombat = true,
  979.     credits = 50,
  980.     dangerFactor = 0.1,
  981.     droppable = true,
  982.     failedCooldown = 0,
  983.     forceFactor = 1.1,
  984.     health = 30,
  985.     iconName = "boltIron_icon",
  986.     logic = {
  987.       "render_with_feedback",
  988.       "node_attack",
  989.       "node_attack_actor_adaptive",
  990.       "node_attack_charge_boost",
  991.       "node_attack_hit_self_breakage",
  992.       "can_use_with_any_charge",
  993.     },
  994.     melee = true,
  995.     minCooldown = 0.112,
  996.     name = "Bolt Iron",
  997.     nodeAttack = "swing",
  998.     pickupSound = "pickupWeapon",
  999.     rackAngle = 0,
  1000.     range = 25,
  1001.     size = 3,
  1002.     speed = 1.1,
  1003.     spriteName = "boltIron",
  1004.     switchedToSound = "switch",
  1005.     vendorAngle = -1.0367255756846,
  1006.     weapon = true,
  1007.   },
  1008.   boneClub = {
  1009.     ai = {
  1010.       attackArc = 1.5707963267949,
  1011.       attackDist = 100,
  1012.       bulletSpeed = 10000,
  1013.     },
  1014.     aimArc = 2.8274333882308,
  1015.     aimRange = 175,
  1016.     aimSpeed = 0.6,
  1017.     alwaysAim = true,
  1018.     attack = "blunt",
  1019.     attackFactor = 1.4,
  1020.     breakable = true,
  1021.     bulletTimeFactor = 2,
  1022.     chargeCooldown = 0.55,
  1023.     chargeDelaySpeed = 1.05,
  1024.     chargeSpeed = 0.9,
  1025.     closeCombat = true,
  1026.     credits = 50,
  1027.     dangerFactor = 0.5,
  1028.     droppable = true,
  1029.     failedCooldown = 0,
  1030.     forceFactor = 1.4,
  1031.     health = 13,
  1032.     iconName = "boneClub_icon",
  1033.     logic = {
  1034.       "render_with_feedback",
  1035.       "node_attack",
  1036.       "node_attack_actor_adaptive",
  1037.       "node_attack_charge_boost",
  1038.       "node_attack_hit_self_breakage",
  1039.       "can_use_with_any_charge",
  1040.     },
  1041.     melee = true,
  1042.     minCooldown = 0.175,
  1043.     name = "Bone Club",
  1044.     nodeAttack = "swing",
  1045.     pickupSound = "pickupWeapon",
  1046.     rackAngle = 0,
  1047.     range = 33,
  1048.     size = 4,
  1049.     speed = 0.5,
  1050.     spriteName = "boneClub",
  1051.     switchedToSound = "switch",
  1052.     vendorAngle = -1.0367255756846,
  1053.     weapon = true,
  1054.   },
  1055.   boomHelmet = {
  1056.     absorbation = 0.5,
  1057.     ai = {
  1058.     },
  1059.     boom = true,
  1060.     credits = 10,
  1061.     dangerFactor = 0.5,
  1062.     defence = true,
  1063.     deflects = true,
  1064.     droppable = true,
  1065.     equipment = "helmet",
  1066.     head = true,
  1067.     health = 1,
  1068.     hit_prio = 1,
  1069.     iconName = "helmet_icon",
  1070.     name = "Deflect Helmet",
  1071.     node = "helmet",
  1072.     protectionForwards = true,
  1073.     spriteName = "boom_deflectHelmet",
  1074.   },
  1075.   boomerang = {
  1076.     ai = {
  1077.       attackArc = 0.25132741228718,
  1078.       attackDist = 325,
  1079.     },
  1080.     asObjectPhysics = {
  1081.       {...},
  1082.       {...},
  1083.       {...},
  1084.       {...},
  1085.       {...},
  1086.       bodyDef = {...},
  1087.     },
  1088.     attack = "boomerang",
  1089.     box2dControlled = true,
  1090.     bulletTimeFactor = 0.5,
  1091.     carried = true,
  1092.     cooldown = 0.5,
  1093.     credits = 15,
  1094.     dangerFactor = 0.2,
  1095.     deflectable = true,
  1096.     droppable = true,
  1097.     fireHeight = 5,
  1098.     gravity = false,
  1099.     health = 5,
  1100.     hitMode = "arm",
  1101.     iconName = "boomerang_icon",
  1102.     name = "Boomerang",
  1103.     physical = true,
  1104.     pickupSound = "pickupWeapon",
  1105.     size = 4,
  1106.     spriteName = "boomerang",
  1107.     stackable = true,
  1108.     throwAngle = 1.5707963267949,
  1109.     throwAttack = true,
  1110.     throwRotation = 4,
  1111.     throwingLeeway = 10,
  1112.   },
  1113.   borealisShield = {
  1114.     absorbation = 0,
  1115.     breakSound = "breakFinal1",
  1116.     breakable = true,
  1117.     credits = 125,
  1118.     customSpriteNames = {
  1119.       base = "borealisShieldBase",
  1120.       pieces = {...},
  1121.     },
  1122.     cyborg = true,
  1123.     dangerFactor = 1,
  1124.     debrisSprite = "base",
  1125.     defence = true,
  1126.     droppable = true,
  1127.     equipment = "shield",
  1128.     equipment_visual = "secondary",
  1129.     general = true,
  1130.     health = 22,
  1131.     hitDamageFactor = 2,
  1132.     hitSound = "hitWoodHard",
  1133.     hit_prio = 5,
  1134.     iconName = "borealisShield_icon",
  1135.     listing = true,
  1136.     localized_info_id = "item_energyShield_info",
  1137.     name = "Shield (Borealis)",
  1138.     node = "secondary",
  1139.     protectionActive = true,
  1140.     protectionForwards = true,
  1141.     protectionHigher = 24,
  1142.     protectionLower = -24,
  1143.     robot = true,
  1144.     secondary = true,
  1145.     shield = true,
  1146.     spawnCooldown = 1.75,
  1147.     spriteName = "borealisShield",
  1148.   },
  1149.   bounty = {
  1150.     ai = {
  1151.     },
  1152.     asObjectDensity = 1,
  1153.     bounceSound = "bounceGold",
  1154.     credits = 1,
  1155.     customSpriteNames = {
  1156.       shine = "gold_shine",
  1157.     },
  1158.     droppable = true,
  1159.     iconName = "goldSmall_icon",
  1160.     name = "Bounty",
  1161.     pickupSound = "pickup",
  1162.     shineAngle = -1.5707963267949,
  1163.     shineOffset = 1,
  1164.     shineSprite = "gold_shine",
  1165.     spriteName = "goldSmall",
  1166.     stackable = true,
  1167.     valuable = true,
  1168.   },
  1169.   boxBomb = {
  1170.     activate_emit_bullet = "energyCrate",
  1171.     activated_active_fx = "shieldBeamActiveLight",
  1172.     activated_active_fx_color = {
  1173.       a = 255,
  1174.       b = 255,
  1175.       g = 120,
  1176.       r = 109,
  1177.     },
  1178.     activated_active_fx_max_time = 0.1,
  1179.     activated_active_fx_scale = 1,
  1180.     ai = {
  1181.       attackArc = 5.4977871437821,
  1182.       attackDist = 1200,
  1183.       attackWhenCareful = true,
  1184.       suicideDist = 0,
  1185.     },
  1186.     armDuration = 0.75,
  1187.     armed_blink_fx = "portableSentryBlink",
  1188.     armed_blink_rate = 5,
  1189.     armed_blink_sound = "distressBeep",
  1190.     asObjectPhysics = {
  1191.       {...},
  1192.       {...},
  1193.       bodyDef = {...},
  1194.     },
  1195.     box2dControlled = true,
  1196.     bulletTimeFactor = 0,
  1197.     carried = true,
  1198.     color = {
  1199.       a = 255,
  1200.       b = 255,
  1201.       g = 120,
  1202.       r = 109,
  1203.     },
  1204.     credits = 15,
  1205.     customSpriteNames = {
  1206.       glow = "boxGeneratorGlow",
  1207.       light = "boxGeneratorLight",
  1208.     },
  1209.     dangerFactor = 0.5,
  1210.     defenceFactor = 0.5,
  1211.     droppable = true,
  1212.     duration = 20,
  1213.     health = 4,
  1214.     hidden = true,
  1215.     hitMode = "arm",
  1216.     hudDat = "hud_update_1.dat",
  1217.     iconName = "boxGenerator_icon",
  1218.     logic = {
  1219.       "object_lifetime_destroy",
  1220.       "activated_active_fx",
  1221.       "render_sprite_armed_light_glow",
  1222.       "thrown_object_lifetime",
  1223.       "on_bullet_set_target_scale",
  1224.       "on_bullet_set_duration",
  1225.       "object_activate_emit_bullet",
  1226.       "lifetime_expired_activate",
  1227.       "expanded_fade",
  1228.       "armed_linear_blink",
  1229.       "active_blink",
  1230.     },
  1231.     name = "Box Grenade",
  1232.     offenceFactor = 0.1,
  1233.     pickupSound = "pickup",
  1234.     size = 5,
  1235.     spriteName = "boxGenerator",
  1236.     stackable = true,
  1237.     target_scale = 8,
  1238.     thrown_lifetime = 0.75,
  1239.     utility = true,
  1240.   },
  1241.   boxGenerator = {
  1242.     ai = {
  1243.       attackDist = 1000,
  1244.       attackWhenCareful = true,
  1245.     },
  1246.     aiConcept = "implantTactics",
  1247.     bullet = "energyCrate",
  1248.     bulletSpeed = 2,
  1249.     cooldown = 0.8,
  1250.     credits = 350,
  1251.     customSpriteNames = {
  1252.       glow = "boxGunGlow",
  1253.       light = "boxGunLight",
  1254.     },
  1255.     dangerFactor = 0.2,
  1256.     droppable = true,
  1257.     fireHeight = 5,
  1258.     hudDat = "hud_update_1.dat",
  1259.     iconName = "boxGun_icon",
  1260.     instant = true,
  1261.     logic = {
  1262.       "use_spawn_projected_bullet",
  1263.       "used_sound",
  1264.       "get_use_timer",
  1265.       "on_bullet_set_target_scale",
  1266.       "destroy_exceeded_max_linked_bullets",
  1267.     },
  1268.     max_linked_bullets = 2,
  1269.     melee = true,
  1270.     missRecoil = 0.5,
  1271.     muzzleFx = "boxMuzzle",
  1272.     muzzleNode = "head",
  1273.     name = "Box Builder",
  1274.     recoilAngle = 5,
  1275.     recoilControl = 1,
  1276.     recoilFatigue = 0.2,
  1277.     recoilSeed = 2,
  1278.     recoilSpeed = 1000,
  1279.     size = 3,
  1280.     spawn_projected_fixed_angle = 0,
  1281.     spriteName = "boxGun",
  1282.     start_scale = 0.5,
  1283.     target_scale = 4,
  1284.     useSound = "boxSpawn",
  1285.     weapon = true,
  1286.   },
  1287.   brain = {
  1288.     ai = {
  1289.       attackArc = 0.78539816339745,
  1290.       attackDist = 606,
  1291.       bulletSpeed = 30,
  1292.     },
  1293.     asObjectDensity = 1,
  1294.     asObjectPhysics = {
  1295.       {...},
  1296.       {...},
  1297.       {...},
  1298.       {...},
  1299.     },
  1300.     bounceSound = "bounceBrain",
  1301.     carried = true,
  1302.     droppable = true,
  1303.     huge = true,
  1304.     legend = true,
  1305.     name = "Brain",
  1306.     pickupSound = "pickup",
  1307.     size = 6,
  1308.     spriteName = "brain",
  1309.     throwRotation = 0.25,
  1310.   },
  1311.   brainRevive = {
  1312.     ai = {
  1313.       attackArc = 0.78539816339745,
  1314.       attackDist = 606,
  1315.       bulletSpeed = 30,
  1316.     },
  1317.     asObjectDensity = 1,
  1318.     asObjectPhysics = {
  1319.       {...},
  1320.       {...},
  1321.     },
  1322.     bounceSound = "bounceBrain",
  1323.     carried = true,
  1324.     classifications = {
  1325.       "healable",
  1326.     },
  1327.     customSpriteNames = {
  1328.       light = "brainWhite_light",
  1329.     },
  1330.     droppable = true,
  1331.     health = 4,
  1332.     hidden = true,
  1333.     huge = true,
  1334.     localizedId = "brain",
  1335.     logic = {
  1336.       "deploy_ground",
  1337.       "deploy_attach_to_static_ground",
  1338.     },
  1339.     name = "Brain",
  1340.     pickupSound = "pickup",
  1341.     revive_cost = 2,
  1342.     revive_duration = 3,
  1343.     size = 6,
  1344.     spriteName = "brainWhite",
  1345.     throwRotation = 0.25,
  1346.   },
  1347.   bulletMagnet = {
  1348.     activated_active_fx = "shieldBeamActiveLight",
  1349.     activated_active_fx_color = {
  1350.       a = 255,
  1351.       b = 255,
  1352.       g = 120,
  1353.       r = 109,
  1354.     },
  1355.     activated_active_fx_max_time = 0.1,
  1356.     activated_active_fx_scale = 1,
  1357.     ai = {
  1358.       attackArc = 5.4977871437821,
  1359.       attackDist = 1200,
  1360.       attackWhenCareful = true,
  1361.       suicideDist = 0,
  1362.     },
  1363.     armDuration = 0.25,
  1364.     armed_blink_fx = "portableSentryBlink",
  1365.     armed_blink_rate = 5,
  1366.     armed_blink_sound = "distressBeep",
  1367.     asObjectPhysics = {
  1368.       {...},
  1369.       {...},
  1370.       bodyDef = {...},
  1371.     },
  1372.     beam_block_beam_fx = "shieldBeamRay",
  1373.     beam_block_beam_react_fx = "shieldBeamReactRay",
  1374.     beam_block_fx_color = {
  1375.       a = 255,
  1376.       b = 255,
  1377.       g = 120,
  1378.       r = 109,
  1379.     },
  1380.     beam_block_hit_fx = "shieldBeamActiveLight",
  1381.     beam_block_max_range = 2500,
  1382.     beam_block_offset = 10,
  1383.     beam_block_sound_loop = "shieldLoop",
  1384.     beam_block_sound_sfx = "batonHit",
  1385.     beam_block_width = 10,
  1386.     bulletTimeFactor = 0,
  1387.     carried = true,
  1388.     color = {
  1389.       a = 255,
  1390.       b = 255,
  1391.       g = 120,
  1392.       r = 109,
  1393.     },
  1394.     credits = 15,
  1395.     customSpriteNames = {
  1396.       foot = "bulletMagnet_foot",
  1397.       glows = {...},
  1398.     },
  1399.     dangerFactor = 1.5,
  1400.     defenceFactor = 0.5,
  1401.     droppable = true,
  1402.     duration = 25,
  1403.     expanded_fade_duration = 0.2,
  1404.     health = 4,
  1405.     hitMode = "arm",
  1406.     hudDat = "hud_update_1.dat",
  1407.     hurtable_by_all = true,
  1408.     iconName = "bulletMagnet_icon",
  1409.     logic = {
  1410.       "armed_deploy_on_tiles",
  1411.       "armed_active_beam_block_objects",
  1412.       "on_deploy_attach_to_tiles",
  1413.       "expanded_fade",
  1414.       "thrown_object_duration",
  1415.       "armed_deactivated_linear_blink",
  1416.       "on_fully_expanded_activate",
  1417.       "active_blink",
  1418.       "activated_active_fx",
  1419.       "object_lifetime_destroy",
  1420.     },
  1421.     name = "Bullet Shredder",
  1422.     offenceFactor = 0.1,
  1423.     pickupSound = "pickup",
  1424.     size = 5,
  1425.     spriteName = "bulletMagnet",
  1426.     stackable = true,
  1427.     utility = true,
  1428.   },
  1429.   capacitorBig = {
  1430.     ai = {
  1431.     },
  1432.     asObjectDensity = 1,
  1433.     big = true,
  1434.     bounceSound = "bounceMetal",
  1435.     capacitor = true,
  1436.     credits = 14,
  1437.     droppable = true,
  1438.     electronics = true,
  1439.     iconName = "capacitorBig_icon",
  1440.     name = "High Capacity Capacitor",
  1441.     pickupSound = "pickup",
  1442.     spriteName = "capacitorBig",
  1443.     stackable = true,
  1444.   },
  1445.   capacitorSmall = {
  1446.     ai = {
  1447.     },
  1448.     asObjectDensity = 1,
  1449.     bounceSound = "bounceMetal",
  1450.     capacitor = true,
  1451.     credits = 1,
  1452.     droppable = true,
  1453.     electronics = true,
  1454.     iconName = "capacitor_icon",
  1455.     name = "Capacitor",
  1456.     pickupSound = "pickup",
  1457.     small = true,
  1458.     spriteName = "capacitor",
  1459.     stackable = true,
  1460.   },
  1461.   catBandana = {
  1462.     aspect = {
  1463.       coldResistance = 1,
  1464.     },
  1465.     cat = true,
  1466.     credits = 80,
  1467.     dangerFactor = 0.1,
  1468.     dat = "shrooms.dat",
  1469.     droppable = true,
  1470.     equipment = "face",
  1471.     face = true,
  1472.     health = 1,
  1473.     hit_prio = 1,
  1474.     iconName = "helmet_icon",
  1475.     name = "Bandana",
  1476.     spriteName = "shroomCat_bandana",
  1477.   },
  1478.   catGlasses = {
  1479.     aspect = {
  1480.       heatResistance = 1,
  1481.     },
  1482.     cat = true,
  1483.     credits = 80,
  1484.     dangerFactor = 0.1,
  1485.     dat = "shrooms.dat",
  1486.     droppable = true,
  1487.     equipment = "face",
  1488.     face = true,
  1489.     health = 1,
  1490.     hit_prio = 1,
  1491.     iconName = "helmet_icon",
  1492.     name = "Glasses",
  1493.     spriteName = "shroomCat_glasses",
  1494.   },
  1495.   catHunterHat = {
  1496.     aspect = {
  1497.       coldResistance = 2,
  1498.     },
  1499.     cat = true,
  1500.     credits = 100,
  1501.     dangerFactor = 0.25,
  1502.     dat = "shrooms.dat",
  1503.     droppable = true,
  1504.     equipment = "helmet",
  1505.     health = 1,
  1506.     helmet = true,
  1507.     hit_prio = 3,
  1508.     iconName = "helmet_icon",
  1509.     name = "Hunter Hat",
  1510.     spriteName = "shroomCat_hunterHat",
  1511.   },
  1512.   catRimmedHat = {
  1513.     aspect = {
  1514.       heatResistance = 2,
  1515.     },
  1516.     cat = true,
  1517.     credits = 100,
  1518.     dangerFactor = 0.25,
  1519.     dat = "shrooms.dat",
  1520.     droppable = true,
  1521.     equipment = "helmet",
  1522.     health = 1,
  1523.     helmet = true,
  1524.     hit_prio = 3,
  1525.     iconName = "helmet_icon",
  1526.     name = "Rimmed Hat",
  1527.     spriteName = "shroomCat_furHat",
  1528.   },
  1529.   catSteelGuard = {
  1530.     cat = true,
  1531.     credits = 100,
  1532.     customSpriteNames = {
  1533.       base = "shroomCat_steelGuardBase",
  1534.       pieces = {...},
  1535.     },
  1536.     dangerFactor = 0.4,
  1537.     dat = "shrooms.dat",
  1538.     debrisSprite = "base",
  1539.     droppable = true,
  1540.     equipment = "face",
  1541.     face = true,
  1542.     health = 1,
  1543.     hit_prio = 1,
  1544.     iconName = "helmet_icon",
  1545.     name = "Steel Guard",
  1546.     node = "head",
  1547.     protectionForwards = true,
  1548.     protectionHigher = 25,
  1549.     protectionLower = -25,
  1550.     spriteName = "shroomCat_steelGuard",
  1551.   },
  1552.   catSteelHat = {
  1553.     cat = true,
  1554.     credits = 125,
  1555.     customSpriteNames = {
  1556.       base = "shroomCat_steelHatBase",
  1557.       pieces = {...},
  1558.     },
  1559.     dangerFactor = 0.5,
  1560.     dat = "shrooms.dat",
  1561.     debrisSprite = "base",
  1562.     droppable = true,
  1563.     equipment = "helmet",
  1564.     health = 1,
  1565.     helmet = true,
  1566.     hit_prio = 3,
  1567.     iconName = "helmet_icon",
  1568.     name = "Steel Helmet",
  1569.     node = "hat",
  1570.     protectionLower = 5,
  1571.     spriteName = "shroomCat_steelHat",
  1572.   },
  1573.   chemicalShooter = {
  1574.     ability = true,
  1575.     ai = {
  1576.       attackArc = 1.3823007675795,
  1577.       attackDist = 670,
  1578.       bulletSpeed = 27,
  1579.       optimistic = true,
  1580.     },
  1581.     alwaysAim = true,
  1582.     bulletTimeDistanceFactor = 0.25,
  1583.     bulletTimeFactor = 0.5,
  1584.     closeCombat = true,
  1585.     cooldown = 0.25,
  1586.     dangerFactor = 1.5,
  1587.     droppable = false,
  1588.     hidden = true,
  1589.     hudDat = "hud_update_1.dat",
  1590.     iconName = "vialRad_icon",
  1591.     maxAmmo = 5,
  1592.     name = "Chemical Shooter",
  1593.   },
  1594.   chronoAmmo = {
  1595.     ai = {
  1596.     },
  1597.     ammoIndex = 5,
  1598.     consumable = true,
  1599.     gearDamage = 0.25,
  1600.     hudDat = "hud_update_1.dat",
  1601.     iconName = "chronoAmmo_icon",
  1602.     name = "Chrono Ammo",
  1603.     pickupSound = "pickupAmmo",
  1604.     predictable = false,
  1605.     stackable = true,
  1606.   },
  1607.   chronoBomb = {
  1608.     active_multi_scaled_fx = "chronoRange",
  1609.     active_multi_scaled_fx_num = 4,
  1610.     active_multi_scaled_fx_scale = 1.5,
  1611.     active_multi_scaled_fx_time_factor = 1,
  1612.     active_multi_scaled_fx_time_threshold = 0.25,
  1613.     active_physics = {
  1614.       {...},
  1615.       {...},
  1616.       bodyDef = {...},
  1617.     },
  1618.     actorTimeFactor = 0.33,
  1619.     ai = {
  1620.       attackArc = 0.78539816339745,
  1621.       attackDist = 600,
  1622.     },
  1623.     armDuration = 1.25,
  1624.     asObjectPhysics = {
  1625.       {...},
  1626.       {...},
  1627.       bodyDef = {...},
  1628.     },
  1629.     box2dControlled = true,
  1630.     bulletTimeDistanceFactor = 0.25,
  1631.     bulletTimeFactor = 0.25,
  1632.     carried = true,
  1633.     chrono = true,
  1634.     credits = 25,
  1635.     customSpriteNames = {
  1636.       glows = {...},
  1637.     },
  1638.     dangerFactor = 0.8,
  1639.     droppable = true,
  1640.     duration = 12,
  1641.     explosion = "chronoExplosion",
  1642.     explosionIntensity = 1,
  1643.     explosive = false,
  1644.     gravity = 32,
  1645.     health = 2,
  1646.     hitMode = "arm",
  1647.     iconName = "chronoBomb_icon",
  1648.     logic = {
  1649.       "object_activated_remove_ignore",
  1650.       "active_physics_when_armed",
  1651.       "active_multi_scaled_feedback",
  1652.       "on_destroy_emit_explosion",
  1653.     },
  1654.     name = "Chrono Bomb",
  1655.     objectTimeFactor = 0.02,
  1656.     pickupSound = "pickupWeapon",
  1657.     range = 500,
  1658.     shockwave = true,
  1659.     size = 5,
  1660.     spriteName = "chronoBomb",
  1661.     stackable = true,
  1662.     throwAttack = true,
  1663.     utility = true,
  1664.     vendorAngle = 0.78539816339745,
  1665.   },
  1666.   chronoRod = {
  1667.     ai = {
  1668.       attackArc = 1.5707963267949,
  1669.       attackDist = 100,
  1670.       bulletSpeed = 10000,
  1671.     },
  1672.     aimArc = 2.8274333882308,
  1673.     aimRange = 175,
  1674.     aimSpeed = 1,
  1675.     aimsAtBullets = true,
  1676.     alwaysAim = true,
  1677.     attack = "rod",
  1678.     chargeCooldown = 0.15,
  1679.     closeCombat = true,
  1680.     credits = 450,
  1681.     customSpriteNames = {
  1682.       "chronobaton_off",
  1683.       glow = "chronobaton_glow",
  1684.     },
  1685.     dangerFactor = 1,
  1686.     droppable = true,
  1687.     effect = "chronoBooster",
  1688.     effectDuration = 3,
  1689.     effectIntensity = 0.25,
  1690.     effect_color = {
  1691.       a = 255,
  1692.       b = 221,
  1693.       g = 255,
  1694.       r = 28,
  1695.     },
  1696.     failedCooldown = 0,
  1697.     forceFactor = 1,
  1698.     hitExplosion = "chrono",
  1699.     iconName = "chronobaton_icon",
  1700.     logic = {
  1701.       "render_with_glow",
  1702.       "node_attack",
  1703.       "node_attack_actor_adaptive",
  1704.       "node_attack_charge_boost",
  1705.       "can_use_with_any_charge",
  1706.       "node_attack_hit_omni_attack",
  1707.       "node_attack_hit_self_effect",
  1708.     },
  1709.     melee = true,
  1710.     minCooldown = 0.15,
  1711.     name = "Chrono Rod",
  1712.     nodeAttack = "swing",
  1713.     omni_attack = "chronoRodExplosion",
  1714.     omni_attack_fx = "chronoGlow",
  1715.     omni_attack_intensity_factor = 5,
  1716.     omni_attack_random_fx = "chronoHitSpark",
  1717.     omni_attack_random_fx_intensity_factor = 0.5,
  1718.     omni_attack_random_fx_range_factor = 1,
  1719.     omni_attack_random_fx_speed_factor = 0.5,
  1720.     omni_attack_range_min = 100,
  1721.     omni_attack_range_variable = 100,
  1722.     omni_attack_sound = "chronoBomb",
  1723.     omni_attack_sound_ai_range = 1050,
  1724.     omni_attack_sound_mod_min = 0.1,
  1725.     omni_attack_sound_mod_variable = 0.6,
  1726.     omni_attack_sound_volume = 1,
  1727.     pickupSound = "pickupWeapon",
  1728.     rack = "melee",
  1729.     rackAngle = 0,
  1730.     rackable = true,
  1731.     range = 20,
  1732.     size = 4,
  1733.     sneakNodeAttack = "stab",
  1734.     speed = 1,
  1735.     spriteName = "chronobaton",
  1736.     switchedToSound = "switch",
  1737.     vendorAngle = -1.0367255756846,
  1738.     weapon = true,
  1739.   },
  1740.   chronoShifter = {
  1741.     ai = {
  1742.       attackArc = 0.15707963267949,
  1743.       attackDist = 400,
  1744.       bulletSpeed = 70,
  1745.     },
  1746.     aimRange = 750,
  1747.     aimSpeed = 1,
  1748.     aimsAtBullets = false,
  1749.     ammoType = "chronoAmmo",
  1750.     ammoUse = 1,
  1751.     bullet = "chronoBullet",
  1752.     bulletSpeed = 36,
  1753.     chrono = true,
  1754.     cooldown = 1.25,
  1755.     credits = 225,
  1756.     customSpriteNames = {
  1757.       glow = {...},
  1758.     },
  1759.     dangerFactor = 0.9,
  1760.     droppable = true,
  1761.     fireHeight = 7,
  1762.     health = 30,
  1763.     hudDat = "hud_update_1.dat",
  1764.     iconName = "chronoShifter_icon",
  1765.     maxAmmo = 2,
  1766.     muzzleFx = "chronoMuzzle",
  1767.     name = "Chrono Shifter",
  1768.     pickupSound = "pickupWeapon",
  1769.     rackAngle = -1.5707963267949,
  1770.     rackable = true,
  1771.     recoilAngle = 6,
  1772.     recoilControl = 0.5,
  1773.     recoilFatigue = 0.4,
  1774.     recoilSeed = 5,
  1775.     recoilSpeed = 700,
  1776.     reloadBoosts = {
  1777.       0.4,
  1778.     },
  1779.     reloadSequence = {
  1780.       crank = {...},
  1781.       ending = {...},
  1782.       handle = {...},
  1783.       mag = {...},
  1784.       slide = {...},
  1785.     },
  1786.     reloadTime = 1.9,
  1787.     size = 4,
  1788.     spriteName = "chronoShifter",
  1789.     switchedToSound = "switch",
  1790.     useSound = "chronoShot",
  1791.     weapon = true,
  1792.   },
  1793.   chronoShifterMagazine = {
  1794.     ai = {
  1795.     },
  1796.     ammoCapacity = 1,
  1797.     articleId = "magazine",
  1798.     credits = 175,
  1799.     dangerFactor = 0.15,
  1800.     droppable = true,
  1801.     hudDat = "hud_update_1.dat",
  1802.     localizedId = "homingLauncherMagazine",
  1803.     maxLevel = 2,
  1804.     multilevel = true,
  1805.     name = "Chrono Shifter Magazine",
  1806.     perLevelCredits = 200,
  1807.     pickupSound = "pickupWeapon",
  1808.     spriteName = "chronoShifterMag2",
  1809.     spriteNames = {
  1810.       "chronoShifterMag1",
  1811.       "chronoShifterMag2",
  1812.     },
  1813.     upgrade = "magazine",
  1814.     upgradeIconNames = {
  1815.       "chronoShifterMag1_upgIcon",
  1816.       "chronoShifterMag2_upgIcon",
  1817.     },
  1818.     upgradeSequence = {
  1819.       crank = {...},
  1820.       ending = {...},
  1821.       insert = {...},
  1822.       inspect = {...},
  1823.       mag = {...},
  1824.       prepare = {...},
  1825.     },
  1826.     upgrades = "chronoShifter",
  1827.   },
  1828.   chronoShifterPower = {
  1829.     ai = {
  1830.     },
  1831.     credits = 175,
  1832.     dangerFactor = 0.15,
  1833.     droppable = true,
  1834.     hudDat = "hud_update_1.dat",
  1835.     localizedId = "beamGunPowerCrystal",
  1836.     maxLevel = 2,
  1837.     multilevel = true,
  1838.     name = "Chrono Shifter Power",
  1839.     perLevelCredits = 200,
  1840.     pickupSound = "pickupWeapon",
  1841.     spriteName = "chronoShifterPower2",
  1842.     spriteNames = {
  1843.       "chronoShifterPower1",
  1844.       "chronoShifterPower2",
  1845.     },
  1846.     upgrade = "power",
  1847.     upgradeIconNames = {
  1848.       "chronoShifterPower1_upgIcon",
  1849.       "chronoShifterPower2_upgIcon",
  1850.     },
  1851.     upgradeSequence = {
  1852.       crank = {...},
  1853.       ending = {...},
  1854.       insert = {...},
  1855.       inspect = {...},
  1856.       mag = {...},
  1857.       prepare = {...},
  1858.     },
  1859.     upgrades = "chronoShifter",
  1860.   },
  1861.   chronoShifterScope = {
  1862.     ai = {
  1863.     },
  1864.     aimRangeFactor = 1.5,
  1865.     articleId = "scope",
  1866.     credits = 150,
  1867.     dangerFactor = 0.1,
  1868.     droppable = true,
  1869.     hudDat = "hud_update_1.dat",
  1870.     localizedId = "matterGunScope",
  1871.     name = "Chrono Shifter Scope",
  1872.     pickupSound = "pickupWeapon",
  1873.     scope = true,
  1874.     scopeBulletSpeedBonus = 0.75,
  1875.     scopeSpeed = 1.25,
  1876.     spriteName = "chronoShifterScope",
  1877.     upgrade = "scope",
  1878.     upgradeIconName = "chronoShifterScope_upgIcon",
  1879.     upgradeSequence = {
  1880.       crank = {...},
  1881.       ending = {...},
  1882.       insert = {...},
  1883.       inspect = {...},
  1884.       mag = {...},
  1885.       prepare = {...},
  1886.     },
  1887.     upgrades = "chronoShifter",
  1888.   },
  1889.   circuitBig = {
  1890.     ai = {
  1891.     },
  1892.     asObjectDensity = 1,
  1893.     big = true,
  1894.     bounceSound = "bounceMetal",
  1895.     circuit = true,
  1896.     credits = 45,
  1897.     droppable = true,
  1898.     electronics = true,
  1899.     iconName = "circuitBig_icon",
  1900.     name = "Epic Circuit",
  1901.     pickupSound = "pickup",
  1902.     spriteName = "circuitBig",
  1903.     stackable = true,
  1904.   },
  1905.   circuitSmall = {
  1906.     ai = {
  1907.     },
  1908.     asObjectDensity = 1,
  1909.     bounceSound = "bounceMetal",
  1910.     circuit = true,
  1911.     credits = 6,
  1912.     droppable = true,
  1913.     electronics = true,
  1914.     iconName = "circuit_icon",
  1915.     name = "Circuit",
  1916.     pickupSound = "pickup",
  1917.     small = true,
  1918.     spriteName = "circuit",
  1919.     stackable = true,
  1920.   },
  1921.   cpuRegina2000 = {
  1922.     ai = {
  1923.     },
  1924.     computerType = "regina2000",
  1925.     cpu = true,
  1926.     credits = 400,
  1927.     hidden = true,
  1928.     hull = true,
  1929.     iconName = "punch_icon",
  1930.     name = "Regina 2000",
  1931.   },
  1932.   cpuRegina4000 = {
  1933.     ai = {
  1934.     },
  1935.     computerType = "regina4000",
  1936.     cpu = true,
  1937.     credits = 1200,
  1938.     hidden = true,
  1939.     hull = true,
  1940.     iconName = "punch_icon",
  1941.     name = "Regina 4000",
  1942.   },
  1943.   crate = {
  1944.     ai = {
  1945.     },
  1946.     asObjectPhysics = {
  1947.       {...},
  1948.       {...},
  1949.       bodyDef = {...},
  1950.     },
  1951.     behaviours = {
  1952.       action = {...},
  1953.     },
  1954.     consumable = true,
  1955.     crate = true,
  1956.     credits = 1,
  1957.     customSpriteNames = {
  1958.       bg = "crate_rect_bg",
  1959.       fg = "crate_rect_fg",
  1960.     },
  1961.     droppable = true,
  1962.     iconName = "ammoSmall_icon",
  1963.     indestructable = true,
  1964.     multilevel = true,
  1965.     name = "Respawning Crate",
  1966.     noFlash = true,
  1967.     pickupSound = "pickup",
  1968.     requireUnique = true,
  1969.     scale = 1,
  1970.     spawnCooldown = 5,
  1971.     spawnItem = true,
  1972.     spriteName = "crate_rect_bg",
  1973.     startCooldown = 5,
  1974.     tint = {
  1975.       b = 0.40392156862745,
  1976.       g = 0.85882352941176,
  1977.       r = 0.53725490196078,
  1978.     },
  1979.     tintLight = {
  1980.       b = 0.25,
  1981.       g = 1,
  1982.       r = 0.25,
  1983.     },
  1984.   },
  1985.   crateConsumable = {
  1986.     ai = {
  1987.     },
  1988.     asObjectPhysics = {
  1989.       {...},
  1990.       {...},
  1991.       bodyDef = {...},
  1992.     },
  1993.     behaviours = {
  1994.       action = {...},
  1995.     },
  1996.     consumable = true,
  1997.     crate = true,
  1998.     credits = 1,
  1999.     customSpriteNames = {
  2000.       bg = "crate_circle_bg",
  2001.       fg = "crate_circle_fg",
  2002.     },
  2003.     droppable = true,
  2004.     iconName = "ammoSmall_icon",
  2005.     indestructable = true,
  2006.     multilevel = true,
  2007.     name = "Consumable Crate",
  2008.     noFlash = true,
  2009.     pickupSound = "pickup",
  2010.     scale = 1,
  2011.     spawnCooldown = 10,
  2012.     spawnItem = true,
  2013.     spriteName = "crate_circle_bg",
  2014.     startCooldown = 5,
  2015.     tint = {
  2016.       b = 0.40392156862745,
  2017.       g = 0.85882352941176,
  2018.       r = 0.53725490196078,
  2019.     },
  2020.     tintLight = {
  2021.       b = 0.25,
  2022.       g = 1,
  2023.       r = 0.25,
  2024.     },
  2025.   },
  2026.   crateUpgrade = {
  2027.     ai = {
  2028.     },
  2029.     asObjectPhysics = {
  2030.       {...},
  2031.       {...},
  2032.       bodyDef = {...},
  2033.     },
  2034.     behaviours = {
  2035.       action = {...},
  2036.     },
  2037.     consumable = true,
  2038.     crate = true,
  2039.     credits = 50,
  2040.     customSpriteNames = {
  2041.       bg = "crate_romb_bg",
  2042.       fg = "crate_romb_fg",
  2043.       icon = "upgrade_attack_icon",
  2044.       main = "upgrade",
  2045.     },
  2046.     droppable = true,
  2047.     iconName = "ammoSmall_icon",
  2048.     indestructable = true,
  2049.     multilevel = true,
  2050.     name = "Upgrade Crate Weapon",
  2051.     noFlash = true,
  2052.     pickupSound = "pickup",
  2053.     scale = 0.75,
  2054.     spawnCooldown = 1,
  2055.     spriteName = "crate_romb_bg",
  2056.     startCooldown = 0,
  2057.     tint = {
  2058.       b = 0.40392156862745,
  2059.       g = 0.53725490196078,
  2060.       r = 0.85882352941176,
  2061.     },
  2062.     tintLight = {
  2063.       b = 0.25,
  2064.       g = 0.75,
  2065.       r = 1,
  2066.     },
  2067.     upgradeCurrent = true,
  2068.     upgradeItems = true,
  2069.   },
  2070.   crateUpgradeHull = {
  2071.     ai = {
  2072.     },
  2073.     asObjectPhysics = {
  2074.       {...},
  2075.       {...},
  2076.       bodyDef = {...},
  2077.     },
  2078.     behaviours = {
  2079.       action = {...},
  2080.     },
  2081.     consumable = true,
  2082.     crate = true,
  2083.     credits = 50,
  2084.     customSpriteNames = {
  2085.       bg = "crate_romb_bg",
  2086.       fg = "crate_romb_fg",
  2087.       icon = "upgrade_defence_icon",
  2088.       main = "upgrade",
  2089.     },
  2090.     droppable = true,
  2091.     iconName = "ammoSmall_icon",
  2092.     indestructable = true,
  2093.     multilevel = true,
  2094.     name = "Upgrade Crate Hull",
  2095.     noFlash = true,
  2096.     pickupSound = "pickup",
  2097.     scale = 0.75,
  2098.     spawnCooldown = 1,
  2099.     spriteName = "crate_romb_bg",
  2100.     startCooldown = 0,
  2101.     tint = {
  2102.       b = 0.40392156862745,
  2103.       g = 0.76862745098039,
  2104.       r = 0.58823529411765,
  2105.     },
  2106.     tintLight = {
  2107.       b = 0.25,
  2108.       g = 1,
  2109.       r = 0.75,
  2110.     },
  2111.     upgradeEquipment = true,
  2112.   },
  2113.   crowbar = {
  2114.     ai = {
  2115.       attackArc = 1.5707963267949,
  2116.       attackDist = 100,
  2117.       bulletSpeed = 10000,
  2118.     },
  2119.     aimArc = 2.8274333882308,
  2120.     aimRange = 175,
  2121.     aimSpeed = 0.8,
  2122.     alwaysAim = true,
  2123.     attack = "spiky",
  2124.     attackFactor = 1.1,
  2125.     breakable = true,
  2126.     bulletTimeFactor = 2,
  2127.     chargeCooldown = 0.2,
  2128.     chargeDelaySpeed = 2.4,
  2129.     chargeSpeed = 0.8,
  2130.     closeCombat = true,
  2131.     credits = 140,
  2132.     dangerFactor = 0.3,
  2133.     droppable = true,
  2134.     duckNodeAttack = "thrust",
  2135.     failedCooldown = 0,
  2136.     forceFactor = 1.2,
  2137.     health = 50,
  2138.     iconName = "crowbar_icon",
  2139.     logic = {
  2140.       "render_with_feedback",
  2141.       "node_attack",
  2142.       "node_attack_actor_adaptive",
  2143.       "node_attack_charge_boost",
  2144.       "node_attack_hit_self_breakage",
  2145.       "can_use_with_any_charge",
  2146.     },
  2147.     melee = true,
  2148.     minCooldown = 0.112,
  2149.     name = "Crowbar",
  2150.     nodeAttack = "swing",
  2151.     pickupSound = "pickupWeapon",
  2152.     rackAngle = 0,
  2153.     range = 24,
  2154.     size = 4,
  2155.     speed = 1.2,
  2156.     spriteName = "crowbar",
  2157.     switchedToSound = "switch",
  2158.     vendorAngle = -1.0367255756846,
  2159.     weapon = true,
  2160.   },
  2161.   cyborgChronoFeetHull = {
  2162.     activePickup = true,
  2163.     aspect = {
  2164.       armor = 1.2,
  2165.       chrono = 2,
  2166.       coldResistance = 0.75,
  2167.       deflect = 1,
  2168.       deflectRate = 1.5,
  2169.       drag = 0.12,
  2170.       heatResistance = 1,
  2171.       noise = 0.8,
  2172.       power = 1,
  2173.       radiationResistance = 0.25,
  2174.       stealth = 0,
  2175.       thrust = 0.23,
  2176.       visibility = 1,
  2177.       weight = 0.16,
  2178.     },
  2179.     credits = 100,
  2180.     cyborg = true,
  2181.     dangerFactor = 0.075,
  2182.     defence = true,
  2183.     droppable = true,
  2184.     family = "chrono",
  2185.     feet = true,
  2186.     health = 22,
  2187.     hull = "feet",
  2188.     iconName = "cyborgChronoFeetHull_icon",
  2189.     mobility = true,
  2190.     name = "Chrono Feet",
  2191.     rack = "cyborgfeet",
  2192.     rackable = true,
  2193.     spriteName = "metalface_rfoot_chrono",
  2194.   },
  2195.   cyborgChronoHandsHull = {
  2196.     activePickup = true,
  2197.     aspect = {
  2198.       armor = 1.2,
  2199.       chrono = 2,
  2200.       coldResistance = 0.75,
  2201.       deflect = 1,
  2202.       deflectRate = 1.5,
  2203.       drag = 0.12,
  2204.       heatResistance = 1,
  2205.       noise = 0.8,
  2206.       power = 1,
  2207.       radiationResistance = 0.25,
  2208.       stealth = 0,
  2209.       thrust = 0.23,
  2210.       visibility = 1,
  2211.       weight = 0.16,
  2212.     },
  2213.     credits = 100,
  2214.     cyborg = true,
  2215.     dangerFactor = 0.075,
  2216.     defence = true,
  2217.     droppable = true,
  2218.     family = "chrono",
  2219.     hands = true,
  2220.     health = 22,
  2221.     hull = "hands",
  2222.     iconName = "cyborgChronoHandsHull_icon",
  2223.     mobility = true,
  2224.     name = "Chrono Hands",
  2225.     rack = "cyborghands",
  2226.     rackable = true,
  2227.     spriteName = "metalface_lhand_chrono",
  2228.   },
  2229.   cyborgChronoHeadHull = {
  2230.     activePickup = true,
  2231.     aspect = {
  2232.       armor = 1.2,
  2233.       chrono = 2,
  2234.       coldResistance = 0.75,
  2235.       deflect = 1,
  2236.       deflectRate = 1.5,
  2237.       drag = 0.12,
  2238.       heatResistance = 1,
  2239.       noise = 0.8,
  2240.       power = 1,
  2241.       radiationResistance = 0.25,
  2242.       stealth = 0,
  2243.       thrust = 0.23,
  2244.       visibility = 1,
  2245.       weight = 0.16,
  2246.     },
  2247.     credits = 400,
  2248.     cyborg = true,
  2249.     dangerFactor = 0.3,
  2250.     defence = true,
  2251.     droppable = true,
  2252.     family = "chrono",
  2253.     head = true,
  2254.     health = 22,
  2255.     hull = "head",
  2256.     iconName = "cyborgChronoHeadHull_icon",
  2257.     mobility = true,
  2258.     name = "Chrono Head",
  2259.     rack = "cyborghead",
  2260.     rackable = true,
  2261.     spriteName = "metalface_head_chrono",
  2262.   },
  2263.   cyborgChronoTorsoHull = {
  2264.     activePickup = true,
  2265.     aspect = {
  2266.       armor = 1.2,
  2267.       chrono = 2,
  2268.       coldResistance = 0.75,
  2269.       deflect = 1,
  2270.       deflectRate = 1.5,
  2271.       drag = 0.12,
  2272.       heatResistance = 1,
  2273.       noise = 0.8,
  2274.       power = 1,
  2275.       radiationResistance = 0.25,
  2276.       stealth = 0,
  2277.       thrust = 0.23,
  2278.       visibility = 1,
  2279.       weight = 0.16,
  2280.     },
  2281.     credits = 200,
  2282.     cyborg = true,
  2283.     dangerFactor = 0.15,
  2284.     defence = true,
  2285.     droppable = true,
  2286.     family = "chrono",
  2287.     health = 22,
  2288.     hull = "torso",
  2289.     iconName = "cyborgChronoTorsoHull_icon",
  2290.     mobility = true,
  2291.     name = "Chrono Torso",
  2292.     rack = "cyborgtorso",
  2293.     rackable = true,
  2294.     spriteName = "metalface_body_chrono",
  2295.     torso = true,
  2296.   },
  2297.   cyborgDefenderFeetHull = {
  2298.     activePickup = true,
  2299.     aspect = {
  2300.       armor = 8,
  2301.       chrono = 0.75,
  2302.       coldResistance = 0.75,
  2303.       deflect = 1,
  2304.       deflectRate = 0.75,
  2305.       drag = 0.24,
  2306.       heatResistance = 0.75,
  2307.       noise = 1.2,
  2308.       power = 0.5,
  2309.       radiationResistance = 0.25,
  2310.       stealth = 0,
  2311.       thrust = 0.26,
  2312.       visibility = 1,
  2313.       weight = 0.3,
  2314.     },
  2315.     credits = 125,
  2316.     cyborg = true,
  2317.     dangerFactor = 0.1,
  2318.     defence = true,
  2319.     droppable = true,
  2320.     family = "defender",
  2321.     feet = true,
  2322.     health = 90,
  2323.     hull = "feet",
  2324.     iconName = "cyborgDefenderFeetHull_icon",
  2325.     name = "Defender Feet",
  2326.     offence = true,
  2327.     rack = "cyborgfeet",
  2328.     rackable = true,
  2329.     spriteName = "metalface_rfoot_defender",
  2330.   },
  2331.   cyborgDefenderHandsHull = {
  2332.     activePickup = true,
  2333.     aspect = {
  2334.       armor = 8,
  2335.       chrono = 0.75,
  2336.       coldResistance = 0.75,
  2337.       deflect = 1,
  2338.       deflectRate = 0.75,
  2339.       drag = 0.24,
  2340.       heatResistance = 0.75,
  2341.       noise = 1.2,
  2342.       power = 0.5,
  2343.       radiationResistance = 0.25,
  2344.       stealth = 0,
  2345.       thrust = 0.26,
  2346.       visibility = 1,
  2347.       weight = 0.3,
  2348.     },
  2349.     credits = 125,
  2350.     cyborg = true,
  2351.     dangerFactor = 0.1,
  2352.     defence = true,
  2353.     droppable = true,
  2354.     family = "defender",
  2355.     hands = true,
  2356.     health = 90,
  2357.     hull = "hands",
  2358.     iconName = "cyborgDefenderHandsHull_icon",
  2359.     name = "Defender Hands",
  2360.     offence = true,
  2361.     rack = "cyborghands",
  2362.     rackable = true,
  2363.     spriteName = "metalface_lhand_defender",
  2364.   },
  2365.   cyborgDefenderHeadHull = {
  2366.     activePickup = true,
  2367.     aspect = {
  2368.       armor = 8,
  2369.       chrono = 0.75,
  2370.       coldResistance = 0.75,
  2371.       deflect = 1,
  2372.       deflectRate = 0.75,
  2373.       drag = 0.18,
  2374.       heatResistance = 0.75,
  2375.       noise = 1.2,
  2376.       power = 0.5,
  2377.       radiationResistance = 0.25,
  2378.       stealth = 0,
  2379.       thrust = 0.26,
  2380.       visibility = 1,
  2381.       weight = 0.28,
  2382.     },
  2383.     credits = 500,
  2384.     cyborg = true,
  2385.     dangerFactor = 0.4,
  2386.     defence = true,
  2387.     droppable = true,
  2388.     family = "defender",
  2389.     head = true,
  2390.     health = 90,
  2391.     hull = "head",
  2392.     iconName = "cyborgDefenderHeadHull_icon",
  2393.     name = "Defender Head",
  2394.     offence = true,
  2395.     rack = "cyborghead",
  2396.     rackable = true,
  2397.     spriteName = "metalface_head_defender",
  2398.   },
  2399.   cyborgDefenderTorsoHull = {
  2400.     activePickup = true,
  2401.     aspect = {
  2402.       armor = 8,
  2403.       chrono = 0.75,
  2404.       coldResistance = 0.75,
  2405.       deflect = 1,
  2406.       deflectRate = 0.75,
  2407.       drag = 0.24,
  2408.       heatResistance = 0.75,
  2409.       noise = 1.2,
  2410.       power = 0.5,
  2411.       radiationResistance = 0.25,
  2412.       stealth = 0,
  2413.       thrust = 0.26,
  2414.       visibility = 1,
  2415.       weight = 0.28,
  2416.     },
  2417.     credits = 250,
  2418.     cyborg = true,
  2419.     dangerFactor = 0.2,
  2420.     defence = true,
  2421.     droppable = true,
  2422.     family = "defender",
  2423.     health = 90,
  2424.     hull = "torso",
  2425.     iconName = "cyborgDefenderTorsoHull_icon",
  2426.     name = "Defender Torso",
  2427.     offence = true,
  2428.     rack = "cyborgtorso",
  2429.     rackable = true,
  2430.     spriteName = "metalface_body_defender",
  2431.     torso = true,
  2432.   },
  2433.   cyborgExplorerFeetHull = {
  2434.     activePickup = true,
  2435.     aspect = {
  2436.       armor = 1,
  2437.       chrono = 0.75,
  2438.       coldResistance = 1.25,
  2439.       deflect = 1,
  2440.       deflectRate = 1,
  2441.       drag = 0.2,
  2442.       heatResistance = 1.25,
  2443.       noise = 1,
  2444.       power = 1,
  2445.       radiationResistance = 1.5,
  2446.       stealth = 0,
  2447.       thrust = 0.2,
  2448.       visibility = 1,
  2449.       weight = 0.2,
  2450.     },
  2451.     credits = 50,
  2452.     cyborg = true,
  2453.     dangerFactor = 0.0375,
  2454.     defence = true,
  2455.     droppable = true,
  2456.     family = "explorer",
  2457.     feet = true,
  2458.     health = 20,
  2459.     hull = "feet",
  2460.     iconName = "cyborgExplorerFeetHull_icon",
  2461.     name = "Explorer Feet",
  2462.     rack = "cyborgfeet",
  2463.     rackable = true,
  2464.     spriteName = "metalface_rfoot_explorer",
  2465.   },
  2466.   cyborgExplorerHandsHull = {
  2467.     activePickup = true,
  2468.     aspect = {
  2469.       armor = 1,
  2470.       chrono = 0.75,
  2471.       coldResistance = 1.25,
  2472.       deflect = 1,
  2473.       deflectRate = 1,
  2474.       drag = 0.2,
  2475.       heatResistance = 1.25,
  2476.       noise = 1,
  2477.       power = 1,
  2478.       radiationResistance = 1.5,
  2479.       stealth = 0,
  2480.       thrust = 0.2,
  2481.       visibility = 1,
  2482.       weight = 0.2,
  2483.     },
  2484.     credits = 50,
  2485.     cyborg = true,
  2486.     dangerFactor = 0.0375,
  2487.     defence = true,
  2488.     droppable = true,
  2489.     family = "explorer",
  2490.     hands = true,
  2491.     health = 20,
  2492.     hull = "hands",
  2493.     iconName = "cyborgExplorerHandsHull_icon",
  2494.     name = "Explorer Hands",
  2495.     rack = "cyborghands",
  2496.     rackable = true,
  2497.     spriteName = "metalface_lhand_explorer",
  2498.   },
  2499.   cyborgExplorerHeadHull = {
  2500.     activePickup = true,
  2501.     aspect = {
  2502.       armor = 1,
  2503.       chrono = 0.75,
  2504.       coldResistance = 1.25,
  2505.       deflect = 1,
  2506.       deflectRate = 1,
  2507.       drag = 0.2,
  2508.       heatResistance = 1.25,
  2509.       noise = 1,
  2510.       power = 1,
  2511.       radiationResistance = 1.5,
  2512.       stealth = 0,
  2513.       thrust = 0.2,
  2514.       visibility = 1,
  2515.       weight = 0.2,
  2516.     },
  2517.     credits = 200,
  2518.     cyborg = true,
  2519.     dangerFactor = 0.15,
  2520.     defence = true,
  2521.     droppable = true,
  2522.     family = "explorer",
  2523.     head = true,
  2524.     health = 20,
  2525.     hull = "head",
  2526.     iconName = "cyborgExplorerHeadHull_icon",
  2527.     name = "Explorer Head",
  2528.     rack = "cyborghead",
  2529.     rackable = true,
  2530.     spriteName = "metalface_head_explorer",
  2531.   },
  2532.   cyborgExplorerTorsoHull = {
  2533.     activePickup = true,
  2534.     aspect = {
  2535.       armor = 1,
  2536.       chrono = 0.75,
  2537.       coldResistance = 1.25,
  2538.       deflect = 1,
  2539.       deflectRate = 1,
  2540.       drag = 0.2,
  2541.       heatResistance = 1.25,
  2542.       noise = 1,
  2543.       power = 1,
  2544.       radiationResistance = 1.5,
  2545.       stealth = 0,
  2546.       thrust = 0.2,
  2547.       visibility = 1,
  2548.       weight = 0.2,
  2549.     },
  2550.     credits = 100,
  2551.     cyborg = true,
  2552.     dangerFactor = 0.075,
  2553.     defence = true,
  2554.     droppable = true,
  2555.     family = "explorer",
  2556.     health = 20,
  2557.     hull = "torso",
  2558.     iconName = "cyborgExplorerTorsoHull_icon",
  2559.     name = "Explorer Torso",
  2560.     rack = "cyborgtorso",
  2561.     rackable = true,
  2562.     spriteName = "metalface_body_explorer",
  2563.     torso = true,
  2564.   },
  2565.   cyborgScouterFeetHull = {
  2566.     activePickup = true,
  2567.     aspect = {
  2568.       armor = 1.75,
  2569.       chrono = 0.75,
  2570.       coldResistance = 0.75,
  2571.       deflect = 1,
  2572.       deflectRate = 2.25,
  2573.       drag = 0.08,
  2574.       heatResistance = 1,
  2575.       noise = 1.4,
  2576.       power = 1,
  2577.       radiationResistance = 0.25,
  2578.       stealth = 0,
  2579.       thrust = 0.27,
  2580.       visibility = 1,
  2581.       weight = 0.16,
  2582.     },
  2583.     credits = 90,
  2584.     cyborg = true,
  2585.     dangerFactor = 0.0625,
  2586.     defence = true,
  2587.     droppable = true,
  2588.     family = "scouter",
  2589.     feet = true,
  2590.     health = 27.5,
  2591.     hull = "feet",
  2592.     iconName = "cyborgScouterFeetHull_icon",
  2593.     mobility = true,
  2594.     name = "Scouter Feet",
  2595.     rack = "cyborgfeet",
  2596.     rackable = true,
  2597.     spriteName = "metalface_rfoot_scouter",
  2598.   },
  2599.   cyborgScouterHandsHull = {
  2600.     activePickup = true,
  2601.     aspect = {
  2602.       armor = 1.75,
  2603.       chrono = 0.75,
  2604.       coldResistance = 0.75,
  2605.       deflect = 1,
  2606.       deflectRate = 2.25,
  2607.       drag = 0.08,
  2608.       heatResistance = 1,
  2609.       noise = 1.4,
  2610.       power = 1,
  2611.       radiationResistance = 0.25,
  2612.       stealth = 0,
  2613.       thrust = 0.27,
  2614.       visibility = 1,
  2615.       weight = 0.16,
  2616.     },
  2617.     credits = 90,
  2618.     cyborg = true,
  2619.     dangerFactor = 0.0625,
  2620.     defence = true,
  2621.     droppable = true,
  2622.     family = "scouter",
  2623.     hands = true,
  2624.     health = 27.5,
  2625.     hull = "hands",
  2626.     iconName = "cyborgScouterHandsHull_icon",
  2627.     mobility = true,
  2628.     name = "Scouter Hands",
  2629.     rack = "cyborghands",
  2630.     rackable = true,
  2631.     spriteName = "metalface_lhand_scouter",
  2632.   },
  2633.   cyborgScouterHeadHull = {
  2634.     activePickup = true,
  2635.     aspect = {
  2636.       armor = 1.75,
  2637.       chrono = 0.75,
  2638.       coldResistance = 0.75,
  2639.       deflect = 1,
  2640.       deflectRate = 2.25,
  2641.       drag = 0.08,
  2642.       heatResistance = 1,
  2643.       noise = 1.4,
  2644.       power = 1,
  2645.       radiationResistance = 0.25,
  2646.       stealth = 0,
  2647.       thrust = 0.25,
  2648.       visibility = 1,
  2649.       weight = 0.18,
  2650.     },
  2651.     credits = 350,
  2652.     cyborg = true,
  2653.     dangerFactor = 0.25,
  2654.     defence = true,
  2655.     droppable = true,
  2656.     family = "scouter",
  2657.     head = true,
  2658.     health = 27.5,
  2659.     hull = "head",
  2660.     iconName = "cyborgScouterHeadHull_icon",
  2661.     mobility = true,
  2662.     name = "Scouter Head",
  2663.     rack = "cyborghead",
  2664.     rackable = true,
  2665.     spriteName = "metalface_head_scouter",
  2666.   },
  2667.   cyborgScouterTorsoHull = {
  2668.     activePickup = true,
  2669.     aspect = {
  2670.       armor = 1.75,
  2671.       chrono = 0.75,
  2672.       coldResistance = 0.75,
  2673.       deflect = 1,
  2674.       deflectRate = 2.25,
  2675.       drag = 0.1,
  2676.       heatResistance = 1,
  2677.       noise = 1.4,
  2678.       power = 1,
  2679.       radiationResistance = 0.25,
  2680.       stealth = 0,
  2681.       thrust = 0.25,
  2682.       visibility = 1,
  2683.       weight = 0.18,
  2684.     },
  2685.     credits = 175,
  2686.     cyborg = true,
  2687.     dangerFactor = 0.125,
  2688.     defence = true,
  2689.     droppable = true,
  2690.     family = "scouter",
  2691.     health = 27.5,
  2692.     hull = "torso",
  2693.     iconName = "cyborgScouterTorsoHull_icon",
  2694.     mobility = true,
  2695.     name = "Scouter Torso",
  2696.     rack = "cyborgtorso",
  2697.     rackable = true,
  2698.     spriteName = "metalface_body_scouter",
  2699.     torso = true,
  2700.   },
  2701.   cyborgStealthFeetHull = {
  2702.     activePickup = true,
  2703.     aspect = {
  2704.       armor = 1.1,
  2705.       chrono = 0.75,
  2706.       coldResistance = 1.1,
  2707.       deflect = 1,
  2708.       deflectRate = 0.8,
  2709.       drag = 0.14,
  2710.       heatResistance = 0.8,
  2711.       noise = 0.2,
  2712.       power = 1,
  2713.       radiationResistance = 0.75,
  2714.       stealth = 1,
  2715.       thrust = 0.22,
  2716.       visibility = 0.8,
  2717.       weight = 0.12,
  2718.     },
  2719.     credits = 100,
  2720.     cyborg = true,
  2721.     dangerFactor = 0.075,
  2722.     defence = true,
  2723.     droppable = true,
  2724.     family = "stealth",
  2725.     feet = true,
  2726.     health = 21,
  2727.     hull = "feet",
  2728.     iconName = "cyborgStealthFeetHull_icon",
  2729.     name = "Stealth Feet",
  2730.     rack = "cyborgfeet",
  2731.     rackable = true,
  2732.     spriteName = "metalface_rfoot_stealth",
  2733.     stealth = true,
  2734.   },
  2735.   cyborgStealthHandsHull = {
  2736.     activePickup = true,
  2737.     aspect = {
  2738.       armor = 1.1,
  2739.       chrono = 0.75,
  2740.       coldResistance = 1.1,
  2741.       deflect = 1,
  2742.       deflectRate = 0.8,
  2743.       drag = 0.14,
  2744.       heatResistance = 0.8,
  2745.       noise = 0.2,
  2746.       power = 1,
  2747.       radiationResistance = 0.75,
  2748.       stealth = 1,
  2749.       thrust = 0.24,
  2750.       visibility = 0.8,
  2751.       weight = 0.12,
  2752.     },
  2753.     credits = 100,
  2754.     cyborg = true,
  2755.     dangerFactor = 0.075,
  2756.     defence = true,
  2757.     droppable = true,
  2758.     family = "stealth",
  2759.     hands = true,
  2760.     health = 21,
  2761.     hull = "hands",
  2762.     iconName = "cyborgStealthHandsHull_icon",
  2763.     name = "Stealth Hands",
  2764.     rack = "cyborghands",
  2765.     rackable = true,
  2766.     spriteName = "metalface_lhand_stealth",
  2767.     stealth = true,
  2768.   },
  2769.   cyborgStealthHeadHull = {
  2770.     activePickup = true,
  2771.     aspect = {
  2772.       armor = 1.1,
  2773.       chrono = 0.75,
  2774.       coldResistance = 1.1,
  2775.       deflect = 1,
  2776.       deflectRate = 0.8,
  2777.       drag = 0.14,
  2778.       heatResistance = 0.8,
  2779.       noise = 0.2,
  2780.       power = 1,
  2781.       radiationResistance = 0.75,
  2782.       stealth = 1,
  2783.       thrust = 0.24,
  2784.       visibility = 0.8,
  2785.       weight = 0.12,
  2786.     },
  2787.     credits = 400,
  2788.     cyborg = true,
  2789.     dangerFactor = 0.3,
  2790.     defence = true,
  2791.     droppable = true,
  2792.     family = "stealth",
  2793.     head = true,
  2794.     health = 21,
  2795.     hull = "head",
  2796.     iconName = "cyborgStealthHeadHull_icon",
  2797.     name = "Stealth Head",
  2798.     rack = "cyborghead",
  2799.     rackable = true,
  2800.     spriteName = "metalface_head_stealth",
  2801.     stealth = true,
  2802.   },
  2803.   cyborgStealthTorsoHull = {
  2804.     activePickup = true,
  2805.     aspect = {
  2806.       armor = 1.1,
  2807.       chrono = 0.75,
  2808.       coldResistance = 1.1,
  2809.       deflect = 1,
  2810.       deflectRate = 0.8,
  2811.       drag = 0.14,
  2812.       heatResistance = 0.8,
  2813.       noise = 0.2,
  2814.       power = 1,
  2815.       radiationResistance = 0.75,
  2816.       stealth = 1,
  2817.       thrust = 0.24,
  2818.       visibility = 0.8,
  2819.       weight = 0.12,
  2820.     },
  2821.     credits = 200,
  2822.     cyborg = true,
  2823.     dangerFactor = 0.15,
  2824.     defence = true,
  2825.     droppable = true,
  2826.     family = "stealth",
  2827.     health = 21,
  2828.     hull = "torso",
  2829.     iconName = "cyborgStealthTorsoHull_icon",
  2830.     name = "Stealth Torso",
  2831.     rack = "cyborgtorso",
  2832.     rackable = true,
  2833.     spriteName = "metalface_body_stealth",
  2834.     stealth = true,
  2835.     torso = true,
  2836.   },
  2837.   dagger = {
  2838.     ai = {
  2839.       attackArc = 1.5707963267949,
  2840.       attackDist = 100,
  2841.       bulletSpeed = 10000,
  2842.     },
  2843.     aimArc = 2.8274333882308,
  2844.     aimRange = 175,
  2845.     aimSpeed = 2,
  2846.     alwaysAim = true,
  2847.     attack = "blade",
  2848.     attackFactor = 0.5,
  2849.     breakable = true,
  2850.     bulletTimeFactor = 2,
  2851.     chargeCooldown = 0.08,
  2852.     chargeDelaySpeed = 2.1,
  2853.     chargeSpeed = 2,
  2854.     closeCombat = true,
  2855.     credits = 75,
  2856.     dangerFactor = 0.4,
  2857.     droppable = true,
  2858.     duckNodeAttack = "swing",
  2859.     failedCooldown = 0,
  2860.     forceFactor = 0.5,
  2861.     health = 20,
  2862.     iconName = "dagger_icon",
  2863.     logic = {
  2864.       "render_with_feedback",
  2865.       "node_attack",
  2866.       "node_attack_actor_adaptive",
  2867.       "node_attack_charge_boost",
  2868.       "node_attack_hit_self_breakage",
  2869.       "can_use_with_any_charge",
  2870.     },
  2871.     melee = true,
  2872.     minCooldown = 0.021,
  2873.     name = "Dagger",
  2874.     nodeAttack = "stab",
  2875.     pickupSound = "pickupWeapon",
  2876.     rackAngle = 0,
  2877.     range = 18,
  2878.     size = 2,
  2879.     speed = 1.3,
  2880.     spriteName = "dagger",
  2881.     switchedToSound = "switch",
  2882.     vendorAngle = -1.0367255756846,
  2883.     weapon = true,
  2884.   },
  2885.   dataCanister = {
  2886.     ai = {
  2887.     },
  2888.     asObjectDensity = 1,
  2889.     asObjectPhysics = {
  2890.       {...},
  2891.       {...},
  2892.       {...},
  2893.       bodyDef = {...},
  2894.     },
  2895.     behaviours = {
  2896.       action = {...},
  2897.       data = {...},
  2898.       onUsed = {...},
  2899.     },
  2900.     bounceSound = "bounceMetal",
  2901.     consumable = true,
  2902.     customSpriteNames = {
  2903.       glow = "dataCanisterGlow",
  2904.       light = "dataCanisterLight",
  2905.       topGlow = "dataCanisterTopGlow",
  2906.       topLight = "dataCanisterTopLight",
  2907.     },
  2908.     droppable = true,
  2909.     indestructable = true,
  2910.     name = "Data Canister",
  2911.     pickupSound = "logAdded",
  2912.     size = 3,
  2913.     spriteName = "dataCanister",
  2914.   },
  2915.   distressBeacon = {
  2916.     actorClass = "botguardEnclave",
  2917.     ai = {
  2918.       attackArc = 2.3561944901923,
  2919.       attackDist = 1200,
  2920.       attackWhenCareful = true,
  2921.       suicideDist = 0,
  2922.     },
  2923.     asObjectPhysics = {
  2924.       {...},
  2925.       {...},
  2926.       {...},
  2927.       {...},
  2928.       bodyDef = {...},
  2929.     },
  2930.     box2dControlled = true,
  2931.     bulletTimeFactor = 0,
  2932.     carried = true,
  2933.     credits = 40,
  2934.     customSpriteNames = {
  2935.       glow = "airStrikeGlow",
  2936.       light = "airStrikeLight",
  2937.       stick1 = "airStrikeStickThick",
  2938.       stick2 = "airStrikeStickThin",
  2939.       top = "airStrikeTop",
  2940.     },
  2941.     dangerFactor = 1.5,
  2942.     defenceFactor = 1,
  2943.     droppable = true,
  2944.     health = 30,
  2945.     iconName = "airStrike_icon",
  2946.     lifeTime = 1.5,
  2947.     logic = {
  2948.       "actor_call_in",
  2949.     },
  2950.     name = "Distress Beacon (droid)",
  2951.     offenceFactor = 0.25,
  2952.     pickupSound = "pickup",
  2953.     size = 4,
  2954.     spawnCooldown = 3,
  2955.     spriteName = "airStrike",
  2956.     stackable = true,
  2957.     utility = true,
  2958.   },
  2959.   distressBeaconPrime = {
  2960.     actorClass = "metaldroidEnclave",
  2961.     ai = {
  2962.       attackArc = 2.3561944901923,
  2963.       attackDist = 1200,
  2964.       attackWhenCareful = true,
  2965.       suicideDist = 0,
  2966.     },
  2967.     asObjectPhysics = {
  2968.       {...},
  2969.       {...},
  2970.       {...},
  2971.       {...},
  2972.       bodyDef = {...},
  2973.     },
  2974.     box2dControlled = true,
  2975.     bulletTimeFactor = 0,
  2976.     carried = true,
  2977.     credits = 100,
  2978.     customSpriteNames = {
  2979.       glow = "airStrikeGlow",
  2980.       light = "airStrikeLight",
  2981.       stick1 = "airStrikeStickThick",
  2982.       stick2 = "airStrikeStickThin",
  2983.       top = "airStrikeTopPrime",
  2984.     },
  2985.     dangerFactor = 2.5,
  2986.     defenceFactor = 0.75,
  2987.     droppable = true,
  2988.     health = 30,
  2989.     iconName = "airStrikePrime_icon",
  2990.     lifeTime = 1.5,
  2991.     logic = {
  2992.       "actor_call_in",
  2993.     },
  2994.     name = "Distress Beacon (metaldroid)",
  2995.     offenceFactor = 1,
  2996.     pickupSound = "pickup",
  2997.     size = 4,
  2998.     spawnCooldown = 4,
  2999.     spriteName = "airStrikePrime",
  3000.     stackable = true,
  3001.     utility = true,
  3002.   },
  3003.   dynamite = {
  3004.     active_physics = {
  3005.       {...},
  3006.       {...},
  3007.       bodyDef = {...},
  3008.     },
  3009.     ai = {
  3010.       attackArc = 1.5707963267949,
  3011.       attackDist = 1000,
  3012.       suicideDist = 125,
  3013.     },
  3014.     asObjectPhysics = {
  3015.       {...},
  3016.       {...},
  3017.       bodyDef = {...},
  3018.     },
  3019.     bomb = true,
  3020.     box2dControlled = true,
  3021.     bulletTimeDistanceFactor = 0.75,
  3022.     bulletTimeFactor = 0.5,
  3023.     carried = true,
  3024.     credits = 60,
  3025.     customSpriteNames = {
  3026.       "dynamiteGlow1",
  3027.       "dynamiteGlow2",
  3028.     },
  3029.     dangerFactor = 2,
  3030.     droppable = true,
  3031.     explosion = "dynamite",
  3032.     explosionIntensity = 1,
  3033.     explosive = true,
  3034.     gravity = 32,
  3035.     health = 2,
  3036.     heat = true,
  3037.     hitMode = "arm",
  3038.     iconName = "dynamite_icon",
  3039.     lifeTime = 2,
  3040.     logic = {
  3041.       "active_physics_when_armed",
  3042.     },
  3043.     name = "Dynamite",
  3044.     pickupSound = "pickupWeapon",
  3045.     shockwave = true,
  3046.     size = 5,
  3047.     spawnCooldown = 3,
  3048.     spriteName = "dynamite",
  3049.     stackable = true,
  3050.     throwAngle = 1.5707963267949,
  3051.     throwAttack = true,
  3052.     vendorAngle = 0.47123889803847,
  3053.   },
  3054.   dynamiteBackpack = {
  3055.     ai = {
  3056.       attackArc = 0,
  3057.       attackDist = 0,
  3058.       suicideDist = 0,
  3059.     },
  3060.     aiConcept = "deployBackpack",
  3061.     armDuration = 0,
  3062.     asObjectPhysics = {
  3063.       {...},
  3064.       {...},
  3065.       bodyDef = {...},
  3066.     },
  3067.     backpack = true,
  3068.     bomb = true,
  3069.     box2dControlled = true,
  3070.     classifications = {
  3071.       "objective",
  3072.     },
  3073.     credits = 150,
  3074.     customSpriteNames = {
  3075.       light = "bigBomb_light",
  3076.     },
  3077.     dangerFactor = 0,
  3078.     deployable = true,
  3079.     disarmFade = 0.25,
  3080.     disarmPose = "deploy",
  3081.     disarmSequence = {
  3082.       crank = {...},
  3083.       ending = {...},
  3084.       handle = {...},
  3085.       insert = {...},
  3086.       inspect = {...},
  3087.       prepare = {...},
  3088.       wave = {...},
  3089.     },
  3090.     disarmTime = 3.5,
  3091.     droppable = true,
  3092.     equipment = "backpack",
  3093.     explodeTimer = 30,
  3094.     explodeTimerFx = "backpackBlinkBig",
  3095.     explodeTimerSound = "backpackBeep",
  3096.     explosion = "backpackDynamite",
  3097.     explosionIntensity = 1,
  3098.     explosive = true,
  3099.     gravity = 28,
  3100.     heat = true,
  3101.     hitMode = "arm",
  3102.     hudDat = "hud_update_1.dat",
  3103.     iconName = "bigBomb_icon",
  3104.     indestructable = true,
  3105.     isTarget = false,
  3106.     logic = {
  3107.       "armed_deploy_ground_timer",
  3108.       "deploy_attach_to_static_ground",
  3109.       "armed_explode_timer",
  3110.       "on_destroy_emit_explosion",
  3111.       "backpack",
  3112.     },
  3113.     magnetic = false,
  3114.     music_trigger = "bomb_critical",
  3115.     music_trigger_time = 13,
  3116.     name = "Bomb",
  3117.     neverSelectRandomly = true,
  3118.     neverTeamKills = true,
  3119.     pickupSound = "pickupWeapon",
  3120.     shockwave = true,
  3121.     size = 5,
  3122.     spawnCooldown = 3,
  3123.     spriteName = "bigBomb",
  3124.     useFade = 0.25,
  3125.     usePose = "deploy",
  3126.     useSequence = {
  3127.       crank = {...},
  3128.       ending = {...},
  3129.       handle = {...},
  3130.       insert = {...},
  3131.       inspect = {...},
  3132.       prepare = {...},
  3133.       wave = {...},
  3134.     },
  3135.     useTime = 2,
  3136.   },
  3137.   egg2Big = {
  3138.     ai = {
  3139.     },
  3140.     asObjectBounce = 0.2,
  3141.     asObjectDensity = 1,
  3142.     big = true,
  3143.     botanic = true,
  3144.     bounceSound = "bounceEggBig",
  3145.     credits = 20,
  3146.     droppable = true,
  3147.     egg = true,
  3148.     iconName = "egg2Big_icon",
  3149.     name = "Ornate Egg",
  3150.     pickupSound = "pickup",
  3151.     spriteName = "egg2Big",
  3152.     stackable = true,
  3153.   },
  3154.   egg2Small = {
  3155.     ai = {
  3156.     },
  3157.     asObjectBounce = 0.2,
  3158.     asObjectDensity = 1,
  3159.     botanic = true,
  3160.     bounceSound = "bounceEgg",
  3161.     credits = 2,
  3162.     droppable = true,
  3163.     egg = true,
  3164.     iconName = "egg2Small_icon",
  3165.     name = "Slender Egg",
  3166.     pickupSound = "pickup",
  3167.     small = true,
  3168.     spriteName = "egg2Small",
  3169.     stackable = true,
  3170.   },
  3171.   eggBig = {
  3172.     ai = {
  3173.     },
  3174.     asObjectBounce = 0.2,
  3175.     asObjectDensity = 1,
  3176.     big = true,
  3177.     botanic = true,
  3178.     bounceSound = "bounceEggBig",
  3179.     credits = 10,
  3180.     droppable = true,
  3181.     egg = true,
  3182.     iconName = "eggBig_icon",
  3183.     name = "Massive Egg",
  3184.     pickupSound = "pickup",
  3185.     spriteName = "eggBig",
  3186.     stackable = true,
  3187.   },
  3188.   eggSmall = {
  3189.     ai = {
  3190.     },
  3191.     asObjectBounce = 0.2,
  3192.     asObjectDensity = 1,
  3193.     botanic = true,
  3194.     bounceSound = "bounceEgg",
  3195.     credits = 1,
  3196.     droppable = true,
  3197.     egg = true,
  3198.     iconName = "eggSmall_icon",
  3199.     name = "Cool Egg",
  3200.     pickupSound = "pickup",
  3201.     small = true,
  3202.     spriteName = "eggSmall",
  3203.     stackable = true,
  3204.   },
  3205.   energy = {
  3206.     ai = {
  3207.     },
  3208.     consumable = true,
  3209.     credits = 1,
  3210.     hidden = true,
  3211.     iconName = "energy_icon",
  3212.     name = "Energy",
  3213.     outlineIconName = "energy_icon2",
  3214.     pickupSound = "energyPickup",
  3215.     stackable = true,
  3216.   },
  3217.   energyBaton = {
  3218.     ai = {
  3219.       attackArc = 0.25132741228718,
  3220.       attackDist = 225,
  3221.       bulletSpeed = 19,
  3222.     },
  3223.     asObjectPhysics = {
  3224.       {...},
  3225.       {...},
  3226.       bodyDef = {...},
  3227.     },
  3228.     attack = "baton",
  3229.     box2dControlled = true,
  3230.     bulletTimeFactor = 0.75,
  3231.     carried = true,
  3232.     cooldown = 0.5,
  3233.     credits = 10,
  3234.     customSpriteNames = {
  3235.       "energybaton_glow",
  3236.       "energybaton_off",
  3237.     },
  3238.     dangerFactor = 0.1,
  3239.     deflectable = true,
  3240.     droppable = true,
  3241.     feedbackTime = 0.75,
  3242.     health = 2,
  3243.     hitMode = "switch",
  3244.     iconName = "energybaton_icon",
  3245.     name = "Energy Baton",
  3246.     physical = true,
  3247.     pickupSound = "pickupWeapon",
  3248.     size = 2,
  3249.     spriteName = "energybaton",
  3250.     stackable = true,
  3251.     switchedFromSound = "batonOff",
  3252.     switchedToSound = "batonOn",
  3253.     throwAttack = true,
  3254.   },
  3255.   energyShield = {
  3256.     ai = {
  3257.     },
  3258.     asObjectPhysics = {
  3259.       {...},
  3260.       {...},
  3261.       bodyDef = {...},
  3262.     },
  3263.     breakable = true,
  3264.     credits = 150,
  3265.     customSpriteNames = {
  3266.       back = "energyshield_back",
  3267.       center = "energyshield_center",
  3268.       hit = "energyshield_hit",
  3269.       main = "energyshield",
  3270.     },
  3271.     cyborg = true,
  3272.     dangerFactor = 1.5,
  3273.     debrisSprite = "center",
  3274.     defence = true,
  3275.     droppable = true,
  3276.     equipment = "shield",
  3277.     equipment_visual = "secondary",
  3278.     feedbackTime = 0.3,
  3279.     general = true,
  3280.     health = 30,
  3281.     hitDamageFactor = 2,
  3282.     hit_prio = 5,
  3283.     iconName = "energyshield_icon",
  3284.     listing = true,
  3285.     logic = {
  3286.       "energy_shield_break",
  3287.       "energy_shield_update",
  3288.       "energy_shield_render",
  3289.       "energy_shield_protection_feedback",
  3290.       "protection_hit",
  3291.       "protection_hurt",
  3292.     },
  3293.     name = "Shield (Energy)",
  3294.     node = "secondary",
  3295.     protectionHigher = 25,
  3296.     protectionLower = -20,
  3297.     robot = true,
  3298.     secondary = true,
  3299.     shield = true,
  3300.     shieldScaling = 0.5,
  3301.     spawnCooldown = 2,
  3302.     spriteName = "energyshield",
  3303.   },
  3304.   energyX10 = {
  3305.     ai = {
  3306.     },
  3307.     consumable = true,
  3308.     credits = 10,
  3309.     energyValue = 10,
  3310.     hidden = true,
  3311.     name = "Energy X 10",
  3312.     stackable = true,
  3313.   },
  3314.   energyX100 = {
  3315.     ai = {
  3316.     },
  3317.     consumable = true,
  3318.     credits = 100,
  3319.     energyValue = 100,
  3320.     hidden = true,
  3321.     name = "Energy X 100",
  3322.     stackable = true,
  3323.   },
  3324.   energyX1000 = {
  3325.     ai = {
  3326.     },
  3327.     consumable = true,
  3328.     credits = 1000,
  3329.     energyValue = 1000,
  3330.     hidden = true,
  3331.     name = "Energy X 1000",
  3332.     stackable = true,
  3333.   },
  3334.   energyX50 = {
  3335.     ai = {
  3336.     },
  3337.     consumable = true,
  3338.     credits = 50,
  3339.     energyValue = 50,
  3340.     hidden = true,
  3341.     name = "Energy X 50",
  3342.     stackable = true,
  3343.   },
  3344.   energyX500 = {
  3345.     ai = {
  3346.     },
  3347.     consumable = true,
  3348.     credits = 500,
  3349.     energyValue = 500,
  3350.     hidden = true,
  3351.     name = "Energy X 500",
  3352.     stackable = true,
  3353.   },
  3354.   energyX5000 = {
  3355.     ai = {
  3356.     },
  3357.     consumable = true,
  3358.     credits = 5000,
  3359.     energyValue = 5000,
  3360.     hidden = true,
  3361.     name = "Energy X 5000",
  3362.     stackable = true,
  3363.   },
  3364.   fanBig = {
  3365.     ai = {
  3366.     },
  3367.     asObjectDensity = 1,
  3368.     big = true,
  3369.     bounceSound = "bounceMetal",
  3370.     credits = 40,
  3371.     droppable = true,
  3372.     electronics = true,
  3373.     fan = true,
  3374.     iconName = "fanBig_icon",
  3375.     name = "Heavy Duty Fan",
  3376.     pickupSound = "pickup",
  3377.     spriteName = "fanBig",
  3378.     stackable = true,
  3379.   },
  3380.   fanSmall = {
  3381.     ai = {
  3382.     },
  3383.     asObjectDensity = 1,
  3384.     bounceSound = "bounceMetal",
  3385.     credits = 8,
  3386.     droppable = true,
  3387.     electronics = true,
  3388.     fan = true,
  3389.     iconName = "fan_icon",
  3390.     name = "Cooling Fan",
  3391.     pickupSound = "pickup",
  3392.     small = true,
  3393.     spriteName = "fan",
  3394.     stackable = true,
  3395.   },
  3396.   fightingStick = {
  3397.     ai = {
  3398.       attackArc = 1.5707963267949,
  3399.       attackDist = 100,
  3400.       bulletSpeed = 10000,
  3401.     },
  3402.     aimArc = 2.8274333882308,
  3403.     aimRange = 250,
  3404.     aimSpeed = 0.25,
  3405.     alwaysAim = true,
  3406.     attack = "blunt",
  3407.     attackFactor = 0.8,
  3408.     breakable = true,
  3409.     bulletTimeFactor = 2,
  3410.     chargeCooldown = 0.175,
  3411.     chargeDelaySpeed = 3.3,
  3412.     chargeSpeed = 1.25,
  3413.     closeCombat = true,
  3414.     credits = 60,
  3415.     dangerFactor = 0.3,
  3416.     droppable = true,
  3417.     duckNodeAttack = "thrust",
  3418.     failedCooldown = 0,
  3419.     forceFactor = 1.35,
  3420.     health = 11,
  3421.     iconName = "fightingStick_icon",
  3422.     logic = {
  3423.       "render_with_feedback",
  3424.       "node_attack",
  3425.       "node_attack_actor_adaptive",
  3426.       "node_attack_charge_boost",
  3427.       "node_attack_hit_self_breakage",
  3428.       "can_use_with_any_charge",
  3429.     },
  3430.     melee = true,
  3431.     minCooldown = 0.063,
  3432.     name = "Fighting Stick",
  3433.     nodeAttack = "swing",
  3434.     pickupSound = "pickupWeapon",
  3435.     rackAngle = 0,
  3436.     range = 62,
  3437.     size = 5,
  3438.     sneakNodeAttack = "stab",
  3439.     speed = 0.7,
  3440.     spriteName = "fightingStick",
  3441.     switchedToSound = "switch",
  3442.     vendorAngle = -1.0367255756846,
  3443.     weapon = true,
  3444.   },
  3445.   flashbang = {
  3446.     active_physics = {
  3447.       {...},
  3448.       {...},
  3449.       bodyDef = {...},
  3450.     },
  3451.     ai = {
  3452.       attackArc = 0.94247779607694,
  3453.       attackDist = 600,
  3454.       suicideDist = 75,
  3455.     },
  3456.     asObjectPhysics = {
  3457.       {...},
  3458.       {...},
  3459.       bodyDef = {...},
  3460.     },
  3461.     blind = true,
  3462.     box2dControlled = true,
  3463.     bulletTimeDistanceFactor = 0.75,
  3464.     bulletTimeFactor = 0.25,
  3465.     carried = true,
  3466.     credits = 6,
  3467.     customSpriteNames = {
  3468.       "flashbang_glow",
  3469.       "flashbang_top1",
  3470.       "flashbang_top2",
  3471.       "flashbang_top3",
  3472.       "flashbang_top4",
  3473.       "flashbang_top5",
  3474.       "flashbang_top6",
  3475.       "flashbang_top7",
  3476.     },
  3477.     dangerFactor = 0.3,
  3478.     defenceFactor = 1,
  3479.     droppable = true,
  3480.     explosion = "flash",
  3481.     explosionIntensity = 1,
  3482.     explosive = true,
  3483.     gravity = 28,
  3484.     grenade = true,
  3485.     health = 2,
  3486.     hitMode = "arm",
  3487.     iconName = "flashbang_icon",
  3488.     lifeTime = 1.2,
  3489.     logic = {
  3490.       "active_physics_when_armed",
  3491.     },
  3492.     name = "Flashbang",
  3493.     offenceFactor = 0.25,
  3494.     pickupSound = "pickupWeapon",
  3495.     size = 2,
  3496.     spriteName = "flashbang",
  3497.     stackIndex = 2,
  3498.     stackable = true,
  3499.     stun = true,
  3500.     throwAttack = true,
  3501.     utility = true,
  3502.   },
  3503.   flyHardShellExoHull = {
  3504.     activePickup = true,
  3505.     aspect = {
  3506.       armor = 2.5,
  3507.       coldResistance = -0.25,
  3508.       deflect = 0.5,
  3509.       heatResistance = 0.25,
  3510.       radiationResistance = 0.25,
  3511.     },
  3512.     credits = 200,
  3513.     dangerFactor = 0.75,
  3514.     defence = true,
  3515.     exo = true,
  3516.     family = "hard",
  3517.     fly = true,
  3518.     health = 35,
  3519.     hull = "exo",
  3520.     iconName = "stickyMine_icon",
  3521.     name = "Hard Exo",
  3522.   },
  3523.   forceDevice = {
  3524.     ai = {
  3525.       attackArc = 1.5707963267949,
  3526.       attackDist = 150,
  3527.       bulletSpeed = 10000,
  3528.     },
  3529.     arc = 2.3561944901923,
  3530.     attack = "force",
  3531.     attack_force = 25,
  3532.     attack_force_control = 50,
  3533.     attack_force_mass_factor = 0.1,
  3534.     closeCombat = true,
  3535.     cooldown = 0.75,
  3536.     credits = 350,
  3537.     customSpriteNames = {
  3538.       loadGlow = "forceDevice_loadGlow",
  3539.       tipGlow = "forceDevice_tipGlow",
  3540.     },
  3541.     dangerFactor = 0.7,
  3542.     discharge_fx = "forceBlink",
  3543.     droppable = true,
  3544.     fireHeight = 4,
  3545.     flip_offset = 0,
  3546.     force = true,
  3547.     hit_bolt_fx = "forceBolt",
  3548.     hit_emit_fx = "klonkBolt",
  3549.     hit_flash_fx = "forceFlash",
  3550.     iconName = "forceDevice_icon",
  3551.     instant = true,
  3552.     melee = true,
  3553.     min_factor = 0.25,
  3554.     name = "Force Device",
  3555.     pickupSound = "pickupWeapon",
  3556.     push_objects = true,
  3557.     rack = "melee",
  3558.     rackAngle = 0,
  3559.     rackable = true,
  3560.     range = 150,
  3561.     size = 3,
  3562.     spriteName = "forceDevice",
  3563.     switchedToSound = "switch",
  3564.     transfer_bolt_fx = "reactorTransfer",
  3565.     weapon = true,
  3566.   },
  3567.   freshMeat = {
  3568.     actorType = "hamster",
  3569.     ai = {
  3570.       attackArc = 2.3561944901923,
  3571.       attackDist = 1000,
  3572.       attackWhenCareful = true,
  3573.       suicideDist = 0,
  3574.     },
  3575.     asObjectPhysics = {
  3576.       {...},
  3577.       {...},
  3578.       {...},
  3579.       bodyDef = {...},
  3580.     },
  3581.     boltFx = "meatBolt",
  3582.     box2dControlled = true,
  3583.     carried = true,
  3584.     credits = 75,
  3585.     dangerFactor = 2,
  3586.     defenceFactor = 0.75,
  3587.     droppable = true,
  3588.     food = true,
  3589.     glowFx = "meatGlow",
  3590.     gravity = 32,
  3591.     health = 8,
  3592.     iconName = "boneMeaty_icon",
  3593.     name = "Leg of Meat",
  3594.     offenceFactor = 1,
  3595.     pickupSound = "pickup",
  3596.     size = 3,
  3597.     smokeFx = "meatSmoke",
  3598.     spawnCooldown = 4,
  3599.     spriteName = "boneMeaty",
  3600.     stackable = true,
  3601.     utility = true,
  3602.     vendorAngle = 1.0367255756846,
  3603.   },
  3604.   goldBig = {
  3605.     ai = {
  3606.     },
  3607.     asObjectDensity = 1,
  3608.     big = true,
  3609.     bounceSound = "bounceGoldBig",
  3610.     credits = 20,
  3611.     customSpriteNames = {
  3612.       shine = "gold_shine",
  3613.     },
  3614.     droppable = true,
  3615.     iconName = "goldBig_icon",
  3616.     metal = true,
  3617.     name = "Striking Gold",
  3618.     pickupSound = "pickup",
  3619.     shineAngle = -1.5707963267949,
  3620.     shineOffset = 2,
  3621.     spriteName = "goldBig",
  3622.     stackable = true,
  3623.     valuable = true,
  3624.   },
  3625.   goldSmall = {
  3626.     ai = {
  3627.     },
  3628.     asObjectDensity = 1,
  3629.     bounceSound = "bounceGold",
  3630.     credits = 2,
  3631.     customSpriteNames = {
  3632.       shine = "gold_shine",
  3633.     },
  3634.     droppable = true,
  3635.     iconName = "goldSmall_icon",
  3636.     metal = true,
  3637.     name = "Dandy Gold",
  3638.     pickupSound = "pickup",
  3639.     shineAngle = -1.5707963267949,
  3640.     shineOffset = 1,
  3641.     small = true,
  3642.     spriteName = "goldSmall",
  3643.     stackable = true,
  3644.     valuable = true,
  3645.   },
  3646.   grab = {
  3647.     ability = true,
  3648.     ai = {
  3649.       attackArc = 0.47123889803847,
  3650.       attackDist = 125,
  3651.       bulletSpeed = 100000,
  3652.     },
  3653.     closeCombat = true,
  3654.     cooldown = 0.2,
  3655.     credits = 0,
  3656.     droppable = true,
  3657.     fireHeight = 4,
  3658.     iconName = "punch_icon",
  3659.     instant = true,
  3660.     maxAmmo = 0,
  3661.     melee = true,
  3662.     name = "Grab",
  3663.     pickupSound = "pickupWeapon",
  3664.     spriteName = "phasergun",
  3665.     switchedToSound = "switch",
  3666.   },
  3667.   grenadeAmmo = {
  3668.     ai = {
  3669.     },
  3670.     ammoIndex = 10,
  3671.     consumable = true,
  3672.     gearDamage = 0.75,
  3673.     iconName = "grenadegun_ammoIcon",
  3674.     name = "Grenade Ammo",
  3675.     pickupSound = "pickupAmmo",
  3676.     predictable = false,
  3677.     stackable = true,
  3678.   },
  3679.   grenadeGun = {
  3680.     ai = {
  3681.       attackArc = 0.81681408993335,
  3682.       attackDist = 800,
  3683.       bulletSpeed = 100,
  3684.       suicideDist = 175,
  3685.     },
  3686.     aimsAtBullets = false,
  3687.     aimsAtObjects = false,
  3688.     ammoType = "grenadeAmmo",
  3689.     bullet = "grenade",
  3690.     bulletSpeed = 26,
  3691.     cooldown = 0.2,
  3692.     credits = 200,
  3693.     dangerFactor = 0.7,
  3694.     droppable = true,
  3695.     explosive = true,
  3696.     fireHeight = 8,
  3697.     health = 20,
  3698.     iconName = "grenadegun_icon",
  3699.     maxAmmo = 2,
  3700.     name = "Grenade Gun",
  3701.     newtonian = true,
  3702.     pickupSound = "pickupWeapon",
  3703.     rackAngle = -1.5707963267949,
  3704.     rackable = true,
  3705.     recoilAngle = 0.1,
  3706.     recoilControl = 0.8,
  3707.     recoilFatigue = 0.38,
  3708.     recoilSeed = 8,
  3709.     recoilSpeed = 800,
  3710.     reloadBoosts = {
  3711.       0.65,
  3712.     },
  3713.     reloadSequence = {
  3714.       crank = {...},
  3715.       ending = {...},
  3716.       handle = {...},
  3717.       insert = {...},
  3718.       prepare = {...},
  3719.     },
  3720.     reloadTime = 1.65,
  3721.     size = 4,
  3722.     soundRange = 1200,
  3723.     spriteName = "grenadegun",
  3724.     switchedToSound = "switch",
  3725.     useSound = "shoot",
  3726.     weapon = true,
  3727.   },
  3728.   grenadeGunMagazine = {
  3729.     ai = {
  3730.     },
  3731.     ammoCapacity = 2,
  3732.     articleId = "magazine",
  3733.     credits = 200,
  3734.     dangerFactor = 0.2,
  3735.     droppable = true,
  3736.     maxLevel = 2,
  3737.     multilevel = true,
  3738.     name = "Grenade Gun Magazine",
  3739.     perLevelCredits = 200,
  3740.     pickupSound = "pickupWeapon",
  3741.     spriteName = "grenadegun_mag2",
  3742.     spriteNames = {
  3743.       "grenadegun_mag1",
  3744.       "grenadegun_mag2",
  3745.       "grenadegun_mag3",
  3746.     },
  3747.     upgrade = "magazine",
  3748.     upgradeIconNames = {
  3749.       "grenadegun_mag1_upgIcon",
  3750.       "grenadegun_mag2_upgIcon",
  3751.       "grenadegun_mag3_upgIcon",
  3752.     },
  3753.     upgradeSequence = {
  3754.       crank = {...},
  3755.       ending = {...},
  3756.       insert = {...},
  3757.       inspect = {...},
  3758.       mag = {...},
  3759.       prepare = {...},
  3760.     },
  3761.     upgrades = "grenadeGun",
  3762.   },
  3763.   grenadeGunProximityFuse = {
  3764.     ai = {
  3765.     },
  3766.     credits = 175,
  3767.     dangerFactor = 0.9,
  3768.     droppable = true,
  3769.     iconName = "grenadegun_fuse_icon",
  3770.     name = "Grenade Gun Proximity Fuse",
  3771.     pickupSound = "pickupWeapon",
  3772.     spriteName = "grenadegun_fuse",
  3773.     upgrade = "proximityFuse",
  3774.     upgradeIconName = "grenadegun_fuse_upgIcon",
  3775.     upgradeSequence = {
  3776.       crank = {...},
  3777.       handle = {...},
  3778.       inspect = {...},
  3779.       prepare = {...},
  3780.       slide = {...},
  3781.     },
  3782.     upgrades = "grenadeGun",
  3783.   },
  3784.   groundAttachment = {
  3785.     ai = {
  3786.     },
  3787.     equipment = "attachToGround",
  3788.     name = "Attach To Ground",
  3789.     special = true,
  3790.   },
  3791.   gyrojetAmmo = {
  3792.     ai = {
  3793.     },
  3794.     ammoIndex = 20,
  3795.     consumable = true,
  3796.     gearDamage = 0.4,
  3797.     iconName = "gyrojetgun_ammoIcon",
  3798.     name = "Gyrojet Ammo",
  3799.     pickupSound = "pickupAmmo",
  3800.     predictable = false,
  3801.     stackable = true,
  3802.   },
  3803.   gyrojetGun = {
  3804.     ai = {
  3805.       attackArc = 0.15707963267949,
  3806.       attackDist = 500,
  3807.       bulletSpeed = 50,
  3808.     },
  3809.     ammoType = "gyrojetAmmo",
  3810.     bullet = "gyrojetbullet",
  3811.     bulletTimeFactor = 0.66,
  3812.     cooldown = 0.5,
  3813.     credits = 275,
  3814.     dangerFactor = 0.75,
  3815.     droppable = true,
  3816.     fireHeight = 4,
  3817.     health = 20,
  3818.     iconName = "gyrojetgun_icon",
  3819.     maxAmmo = 6,
  3820.     name = "Gyrojet Gun",
  3821.     pickupSound = "pickupWeapon",
  3822.     pistol = true,
  3823.     rackAngle = -1.5707963267949,
  3824.     rackable = true,
  3825.     recoilAngle = 0,
  3826.     recoilControl = 1,
  3827.     recoilFatigue = 0.1,
  3828.     recoilSeed = 2,
  3829.     recoilSpeed = 200,
  3830.     reloadBoosts = {
  3831.       0.64,
  3832.     },
  3833.     reloadSequence = {
  3834.       crank = {...},
  3835.       handle = {...},
  3836.       insert = {...},
  3837.       prepare = {...},
  3838.       slide = {...},
  3839.     },
  3840.     reloadTime = 1.75,
  3841.     sidearm = true,
  3842.     size = 3,
  3843.     spriteName = "gyrojetgun",
  3844.     switchedToSound = "switch",
  3845.     useSound = "gyrojetLaunch",
  3846.     weapon = true,
  3847.   },
  3848.   gyrojetGunExtendedBarrel = {
  3849.     ai = {
  3850.     },
  3851.     articleId = "extendedBarrel",
  3852.     credits = 80,
  3853.     dangerFactor = 0.15,
  3854.     droppable = true,
  3855.     iconName = "gyrojetgun_barrel_icon",
  3856.     name = "Gyrojet Gun Extended Barrel",
  3857.     pickupSound = "pickupWeapon",
  3858.     spriteName = "gyrojetgun_barrel",
  3859.     upgrade = "extendedBarrel",
  3860.     upgradeIconName = "gyrojetgun_barrel_upgIcon",
  3861.     upgradeSequence = {
  3862.       crank = {...},
  3863.       handle = {...},
  3864.       inspect = {...},
  3865.       prepare = {...},
  3866.       slide = {...},
  3867.     },
  3868.     upgrades = "gyrojetGun",
  3869.   },
  3870.   gyrojetGunMagazine = {
  3871.     ai = {
  3872.     },
  3873.     ammoCapacity = 3,
  3874.     articleId = "magazine",
  3875.     credits = 80,
  3876.     dangerFactor = 0.15,
  3877.     droppable = true,
  3878.     iconName = "gyrojetgun_magazine_icon",
  3879.     maxLevel = 1,
  3880.     multilevel = true,
  3881.     name = "Gyrojet Gun Magazine",
  3882.     perLevelCredits = 80,
  3883.     pickupSound = "pickupWeapon",
  3884.     spriteName = "gyrojetgun_magazine",
  3885.     upgrade = "magazine",
  3886.     upgradeIconName = "gyrojetgun_magazine_upgIcon",
  3887.     upgradeSequence = {
  3888.       crank = {...},
  3889.       ending = {...},
  3890.       insert = {...},
  3891.       inspect = {...},
  3892.       mag = {...},
  3893.       prepare = {...},
  3894.     },
  3895.     upgrades = "gyrojetGun",
  3896.   },
  3897.   hackDestruct = {
  3898.     ai = {
  3899.       attackArc = 3.1415926535898,
  3900.       attackDist = 125,
  3901.       bulletSpeed = 100000,
  3902.     },
  3903.     aimRange = 200,
  3904.     armDuration = 3,
  3905.     closeCombat = true,
  3906.     cooldown = 0.25,
  3907.     credits = 150,
  3908.     dangerFactor = 1,
  3909.     droppable = false,
  3910.     fireHeight = 0,
  3911.     iconName = "hackSpiked_icon",
  3912.     instant = true,
  3913.     melee = true,
  3914.     name = "Hack Destruct",
  3915.     pickupSound = "pickupWeapon",
  3916.     range = 200,
  3917.     special = true,
  3918.     spriteName = "ruby_shine",
  3919.     switchedToSound = "switch",
  3920.     weapon = true,
  3921.   },
  3922.   hackDevice = {
  3923.     ai = {
  3924.       attackArc = 0.78539816339745,
  3925.       attackDist = 500,
  3926.       bulletSpeed = 10000,
  3927.     },
  3928.     aimSpeed = 0.5,
  3929.     aimsAtBullets = false,
  3930.     aimsAtObjects = false,
  3931.     alwaysAim = true,
  3932.     bulletTimeDistanceFactor = 0,
  3933.     bulletTimeFactor = 0,
  3934.     cooldown = 0.2,
  3935.     credits = 500,
  3936.     customSpriteNames = {
  3937.       glow = "hackDeviceGlow",
  3938.       led = "hackDeviceLed",
  3939.     },
  3940.     dangerFactor = 2,
  3941.     droppable = true,
  3942.     fireForward = 10,
  3943.     fireHeight = 8,
  3944.     iconName = "hackDevice_icon",
  3945.     name = "Hack Device",
  3946.     pickupSound = "pickupWeapon",
  3947.     rackAngle = -1.5707963267949,
  3948.     rackable = true,
  3949.     size = 3,
  3950.     spriteName = "hackDevice",
  3951.     switchedToSound = "switch",
  3952.     weapon = true,
  3953.   },
  3954.   hackGrenade = {
  3955.     activated_active_fx = "hackActiveLight",
  3956.     activated_active_fx_max_time = 0.1,
  3957.     active_physics = {
  3958.       {...},
  3959.       {...},
  3960.       bodyDef = {...},
  3961.     },
  3962.     ai = {
  3963.       attackArc = 0.78539816339745,
  3964.       attackDist = 600,
  3965.       suicideDist = 150,
  3966.     },
  3967.     armDuration = 0.5,
  3968.     asObjectPhysics = {
  3969.       {...},
  3970.       {...},
  3971.       bodyDef = {...},
  3972.     },
  3973.     box2dControlled = true,
  3974.     bulletTimeDistanceFactor = 0.9,
  3975.     bulletTimeFactor = 0.4,
  3976.     carried = true,
  3977.     color = {
  3978.       a = 255,
  3979.       b = 240,
  3980.       g = 67,
  3981.       r = 94,
  3982.     },
  3983.     credits = 15,
  3984.     customSpriteNames = {
  3985.       glow = "hackSpikedGlow",
  3986.     },
  3987.     dangerFactor = 0.75,
  3988.     droppable = true,
  3989.     duration = 15,
  3990.     duration_lost_per_hit = 0.5,
  3991.     emit_found_delay = 1,
  3992.     emit_scan_delay = 0.25,
  3993.     explosion = "hack",
  3994.     explosionIntensity = 1,
  3995.     explosionRange = 1200,
  3996.     explosive = true,
  3997.     friend_speed_impulse_distance_scale = 150,
  3998.     grenade = true,
  3999.     hack_speed_impulse = 5,
  4000.     hackable = true,
  4001.     health = 5,
  4002.     hitMode = "arm",
  4003.     hurtable_by_all = true,
  4004.     iconName = "hackSpiked_icon",
  4005.     jump_speed_impulse = 11,
  4006.     logic = {
  4007.       "active_physics_when_armed",
  4008.       "on_destroy_emit_explosion",
  4009.       "activated_owned_range_fx_indicator",
  4010.       "object_activated_remove_ignore",
  4011.       "activated_owned_active_fx",
  4012.       "on_owner_change_fx_feedback",
  4013.       "owner_color",
  4014.     },
  4015.     name = "Hack Grenade",
  4016.     owner_change_fx = "ownerRing",
  4017.     pickupSound = "pickupWeapon",
  4018.     range = 800,
  4019.     rangeFx = "hackRangeRing",
  4020.     retain_ignore_when_hit = true,
  4021.     size = 2,
  4022.     spriteName = "hackSpiked",
  4023.     stackIndex = 1,
  4024.     stackable = true,
  4025.     throwAttack = true,
  4026.     utility = true,
  4027.   },
  4028.   halbered = {
  4029.     ai = {
  4030.       attackArc = 1.5707963267949,
  4031.       attackDist = 100,
  4032.       bulletSpeed = 10000,
  4033.     },
  4034.     aimArc = 2.8274333882308,
  4035.     aimRange = 250,
  4036.     aimSpeed = 0.25,
  4037.     alwaysAim = true,
  4038.     attack = "spiky",
  4039.     attackFactor = 1.24,
  4040.     breakable = true,
  4041.     bulletTimeFactor = 2,
  4042.     chargeCooldown = 0.225,
  4043.     chargeDelaySpeed = 3.075,
  4044.     chargeSpeed = 1.2,
  4045.     closeCombat = true,
  4046.     credits = 90,
  4047.     dangerFactor = 0.7,
  4048.     droppable = true,
  4049.     duckNodeAttack = "swing",
  4050.     failedCooldown = 0,
  4051.     forceFactor = 1.3,
  4052.     health = 15,
  4053.     iconName = "halbered_icon",
  4054.     logic = {
  4055.       "render_with_feedback",
  4056.       "node_attack",
  4057.       "node_attack_actor_adaptive",
  4058.       "node_attack_charge_boost",
  4059.       "node_attack_hit_self_breakage",
  4060.       "can_use_with_any_charge",
  4061.     },
  4062.     melee = true,
  4063.     minCooldown = 0.084,
  4064.     name = "Halbered",
  4065.     nodeAttack = "stab",
  4066.     pickupSound = "pickupWeapon",
  4067.     rackAngle = 0,
  4068.     range = 68,
  4069.     size = 5,
  4070.     sneakNodeAttack = "thrust",
  4071.     speed = 0.55,
  4072.     spriteName = "halbered",
  4073.     switchedToSound = "switch",
  4074.     vendorAngle = -1.0367255756846,
  4075.     weapon = true,
  4076.   },
  4077.   hammer = {
  4078.     ai = {
  4079.       attackArc = 1.5707963267949,
  4080.       attackDist = 100,
  4081.       bulletSpeed = 10000,
  4082.     },
  4083.     aimArc = 2.8274333882308,
  4084.     aimRange = 175,
  4085.     aimSpeed = 0.8,
  4086.     alwaysAim = true,
  4087.     attack = "blunt",
  4088.     attackFactor = 0.9,
  4089.     breakable = true,
  4090.     bulletTimeFactor = 2,
  4091.     chargeCooldown = 0.15,
  4092.     chargeDelaySpeed = 2.85,
  4093.     chargeSpeed = 0.7,
  4094.     closeCombat = true,
  4095.     credits = 50,
  4096.     dangerFactor = 0.1,
  4097.     droppable = true,
  4098.     failedCooldown = 0,
  4099.     forceFactor = 1,
  4100.     health = 40,
  4101.     iconName = "hammer_icon",
  4102.     logic = {
  4103.       "render_with_feedback",
  4104.       "node_attack",
  4105.       "node_attack_actor_adaptive",
  4106.       "node_attack_charge_boost",
  4107.       "node_attack_hit_self_breakage",
  4108.       "can_use_with_any_charge",
  4109.     },
  4110.     melee = true,
  4111.     minCooldown = 0.105,
  4112.     name = "Hammer",
  4113.     nodeAttack = "swing",
  4114.     pickupSound = "pickupWeapon",
  4115.     rackAngle = 0,
  4116.     range = 18,
  4117.     size = 3,
  4118.     speed = 1.3,
  4119.     spriteName = "hammer",
  4120.     switchedToSound = "switch",
  4121.     vendorAngle = -1.0367255756846,
  4122.     weapon = true,
  4123.   },
  4124.   hardShield = {
  4125.     ai = {
  4126.     },
  4127.     body = true,
  4128.     chargeEfficiency = 0.1,
  4129.     color = {
  4130.       a = 255,
  4131.       b = 109,
  4132.       g = 255,
  4133.       r = 109,
  4134.     },
  4135.     credits = 150,
  4136.     customSpriteNames = {
  4137.       glow = "shieldBeltGlow",
  4138.       grid = "shield_ringGrid",
  4139.       hit = "shield_ringHit",
  4140.       hitGrid = "shield_ringHitGrid",
  4141.       light = "shieldBeltLight",
  4142.       lines = "shield_lines",
  4143.       ring = "shield_ringWhite",
  4144.       ringColored = "shield_ring",
  4145.       spikes = "shield_ringSpikes",
  4146.     },
  4147.     cyborg = true,
  4148.     dangerFactor = 1,
  4149.     defence = true,
  4150.     defenceFactor = 1,
  4151.     droppable = true,
  4152.     effect = "harden",
  4153.     effectName = "shield_harden",
  4154.     effect_color = {
  4155.       a = 255,
  4156.       b = 109,
  4157.       g = 109,
  4158.       r = 255,
  4159.     },
  4160.     equipment = "shieldBelt",
  4161.     equipment_visual = "torso",
  4162.     hit_prio = 0,
  4163.     iconName = "shieldbelt_icon",
  4164.     listing = true,
  4165.     logic = {
  4166.       "shield_belt",
  4167.     },
  4168.     monitored = "batteries",
  4169.     name = "Shieldbelt (Harden)",
  4170.     rack = "shield",
  4171.     rackable = true,
  4172.     robot = true,
  4173.     sentry = true,
  4174.     shield = true,
  4175.     spriteName = "shieldBelt",
  4176.     supplyType = "battery",
  4177.     torso = true,
  4178.     uses = "shieldBattery",
  4179.     wantedTime = 0.2,
  4180.   },
  4181.   helmet = {
  4182.     ai = {
  4183.     },
  4184.     credits = 10,
  4185.     customSpriteNames = {
  4186.       base = "helmet_base",
  4187.       pieces = {...},
  4188.     },
  4189.     dangerFactor = 0.25,
  4190.     debrisSprite = "base",
  4191.     defence = true,
  4192.     droppable = true,
  4193.     equipment = "helmet",
  4194.     head = true,
  4195.     health = 0.5,
  4196.     hit_prio = 2,
  4197.     iconName = "helmet_icon",
  4198.     name = "Protection Helmet",
  4199.     node = "helmet",
  4200.     pieces = 7,
  4201.     protectionLower = 20,
  4202.     robot = true,
  4203.     spriteName = "helmet",
  4204.   },
  4205.   helmetLow1 = {
  4206.     ai = {
  4207.     },
  4208.     credits = 10,
  4209.     dangerFactor = 0.25,
  4210.     defence = true,
  4211.     equipment = "helmet",
  4212.     hit_prio = 2,
  4213.     name = "Protection Helmet",
  4214.     node = "helmet",
  4215.     nodeExplodes = true,
  4216.     protectionLower = -5,
  4217.   },
  4218.   helmetLow2 = {
  4219.     ai = {
  4220.     },
  4221.     credits = 10,
  4222.     dangerFactor = 0.25,
  4223.     defence = true,
  4224.     equipment = "helmet",
  4225.     hit_prio = 1,
  4226.     name = "Protection Helmet",
  4227.     node = "headShield",
  4228.     nodeExplodes = true,
  4229.     protectionLower = 10,
  4230.   },
  4231.   helmetLow3 = {
  4232.     ai = {
  4233.     },
  4234.     credits = 10,
  4235.     dangerFactor = 0.25,
  4236.     defence = true,
  4237.     equipment = "helmet",
  4238.     hit_prio = 1,
  4239.     name = "Protection Helmet",
  4240.     node = "topShield",
  4241.     nodeExplodes = true,
  4242.     protectionHigher = 99,
  4243.     protectionLower = -10,
  4244.   },
  4245.   helmetLow5 = {
  4246.     ai = {
  4247.     },
  4248.     credits = 10,
  4249.     dangerFactor = 0.25,
  4250.     defence = true,
  4251.     equipment = "helmet",
  4252.     hit_prio = 1,
  4253.     name = "Protection Helmet",
  4254.     node = "helmet",
  4255.     nodeExplodes = true,
  4256.     protectionLower = -5,
  4257.   },
  4258.   homingLauncher = {
  4259.     ai = {
  4260.       attackArc = 0.47123889803847,
  4261.       attackDist = 800,
  4262.       bulletSpeed = 75,
  4263.       suicideDist = 175,
  4264.     },
  4265.     aimBulletSpeed = 75,
  4266.     aimUp = 0.094247779607694,
  4267.     aimsAtBullets = false,
  4268.     aimsAtObjects = false,
  4269.     ammoType = "missileAmmo",
  4270.     bullet = "homingMissile",
  4271.     bulletSpeed = 15,
  4272.     bulletTimeFactor = 0.9,
  4273.     cooldown = 0.5,
  4274.     credits = 450,
  4275.     dangerFactor = 1.5,
  4276.     droppable = true,
  4277.     explosive = true,
  4278.     fireHeight = 7,
  4279.     health = 30,
  4280.     iconName = "launcher_icon",
  4281.     maxAmmo = 1,
  4282.     muzzleFx = "homingMuzzle",
  4283.     name = "Missile Launcher",
  4284.     newtonian = true,
  4285.     newtonianFactor = 0.5,
  4286.     pickupSound = "pickupWeapon",
  4287.     rack = "launcher",
  4288.     rackAngle = -1.5707963267949,
  4289.     rackable = true,
  4290.     recoilAngle = 8,
  4291.     recoilControl = 0.25,
  4292.     recoilFatigue = 4.1,
  4293.     recoilSeed = 17,
  4294.     recoilSpeed = 1750,
  4295.     reloadBoosts = {
  4296.       0.4,
  4297.     },
  4298.     reloadSequence = {
  4299.       crank = {...},
  4300.       ending = {...},
  4301.       handle = {...},
  4302.       insert = {...},
  4303.       prepare = {...},
  4304.     },
  4305.     reloadTime = 1.7,
  4306.     size = 4,
  4307.     soundRange = 900,
  4308.     spriteName = "launcher",
  4309.     switchedToSound = "switch",
  4310.     useSound = "missileLaunch",
  4311.     weapon = true,
  4312.   },
  4313.   homingLauncherHomingDevice = {
  4314.     ai = {
  4315.     },
  4316.     credits = 175,
  4317.     dangerFactor = 0.4,
  4318.     droppable = true,
  4319.     iconName = "launcher_homing_icon",
  4320.     name = "Missile Launcher Homing Device",
  4321.     pickupSound = "pickupWeapon",
  4322.     spriteName = "launcher_homing",
  4323.     upgrade = "homingDevice",
  4324.     upgradeIconName = "launcher_homing_upgIcon",
  4325.     upgradeSequence = {
  4326.       crank = {...},
  4327.       ending = {...},
  4328.       insert = {...},
  4329.       inspect = {...},
  4330.       mag = {...},
  4331.       prepare = {...},
  4332.       slide = {...},
  4333.     },
  4334.     upgrades = "homingLauncher",
  4335.   },
  4336.   homingLauncherMagazine = {
  4337.     ai = {
  4338.     },
  4339.     ammoCapacity = 1,
  4340.     articleId = "magazine",
  4341.     credits = 200,
  4342.     dangerFactor = 0.5,
  4343.     droppable = true,
  4344.     maxLevel = 2,
  4345.     multilevel = true,
  4346.     name = "Missile Launcher Magazine",
  4347.     perLevelCredits = 300,
  4348.     pickupSound = "pickupWeapon",
  4349.     spriteName = "launcher_mag2",
  4350.     spriteNames = {
  4351.       "launcher_mag1",
  4352.       "launcher_mag2",
  4353.     },
  4354.     upgrade = "magazine",
  4355.     upgradeIconNames = {
  4356.       "launcher_mag1_upgIcon",
  4357.       "launcher_mag2_upgIcon",
  4358.     },
  4359.     upgradeSequence = {
  4360.       crank = {...},
  4361.       ending = {...},
  4362.       insert = {...},
  4363.       inspect = {...},
  4364.       mag = {...},
  4365.       prepare = {...},
  4366.     },
  4367.     upgrades = "homingLauncher",
  4368.   },
  4369.   humanBorealisHelmet = {
  4370.     credits = 200,
  4371.     customSpriteNames = {
  4372.       base = "human_borealisHelmetBase",
  4373.       pieces = {...},
  4374.     },
  4375.     dangerFactor = 0.4,
  4376.     dat = "human.dat",
  4377.     debrisSprite = "base",
  4378.     droppable = true,
  4379.     equipment = "helmet",
  4380.     health = 3,
  4381.     helmet = true,
  4382.     human = true,
  4383.     iconName = "helmet_icon",
  4384.     localizedId = "amanitaBorealisHelmet",
  4385.     name = "Borealis Helmet",
  4386.     node = "hat",
  4387.     protectionLower = 5,
  4388.     spriteName = "human_borealisHelmet",
  4389.   },
  4390.   humanBorealisMask = {
  4391.     credits = 150,
  4392.     customSpriteNames = {
  4393.       base = "human_borealisFaceBase",
  4394.       pieces = {...},
  4395.     },
  4396.     dangerFactor = 0.1,
  4397.     dat = "human.dat",
  4398.     debrisSprite = "base",
  4399.     droppable = true,
  4400.     equipment = "face",
  4401.     face = true,
  4402.     health = 2,
  4403.     human = true,
  4404.     iconName = "helmet_icon",
  4405.     localizedId = "amanitaBorealisMask",
  4406.     name = "Borealis Mask",
  4407.     node = "head",
  4408.     protectionForwards = true,
  4409.     protectionHigher = 25,
  4410.     protectionLower = -25,
  4411.     spriteName = "human_borealisFace",
  4412.   },
  4413.   humanCamoHelmet = {
  4414.     credits = 200,
  4415.     customSpriteNames = {
  4416.       base = "human_camoHelmetBase",
  4417.       pieces = {...},
  4418.     },
  4419.     dangerFactor = 0.2,
  4420.     dat = "human.dat",
  4421.     debrisSprite = "base",
  4422.     droppable = true,
  4423.     equipment = "helmet",
  4424.     health = 2,
  4425.     helmet = true,
  4426.     human = true,
  4427.     iconName = "helmet_icon",
  4428.     localizedId = "amanitaCamoHelmet",
  4429.     name = "Camo Helmet",
  4430.     node = "hat",
  4431.     protectionLower = 5,
  4432.     spriteName = "human_camoHelmet",
  4433.   },
  4434.   humanDesertClothFace = {
  4435.     credits = 100,
  4436.     dangerFactor = 0,
  4437.     dat = "human.dat",
  4438.     droppable = true,
  4439.     equipment = "face",
  4440.     face = true,
  4441.     human = true,
  4442.     iconName = "helmet_icon",
  4443.     localizedId = "amanitaDesertClothFace",
  4444.     name = "Desert Mask",
  4445.     spriteName = "human_clothFace",
  4446.   },
  4447.   humanDesertClothHat = {
  4448.     credits = 100,
  4449.     dangerFactor = 0,
  4450.     dat = "human.dat",
  4451.     droppable = true,
  4452.     equipment = "helmet",
  4453.     helmet = true,
  4454.     human = true,
  4455.     iconName = "helmet_icon",
  4456.     localizedId = "amanitaDesertClothHat",
  4457.     name = "Desert Cloth",
  4458.     spriteName = "human_desertClothHat",
  4459.   },
  4460.   humanEmpireHelmet = {
  4461.     absorbation = 0.5,
  4462.     credits = 200,
  4463.     customSpriteNames = {
  4464.       base = "human_empireHelmetBase",
  4465.       pieces = {...},
  4466.     },
  4467.     dangerFactor = 0.3,
  4468.     dat = "human.dat",
  4469.     debrisSprite = "base",
  4470.     deflects = true,
  4471.     droppable = true,
  4472.     equipment = "helmet",
  4473.     health = 2,
  4474.     helmet = true,
  4475.     human = true,
  4476.     iconName = "helmet_icon",
  4477.     localizedId = "amanitaEmpireHelmet",
  4478.     name = "Empire Helmet",
  4479.     node = "hat",
  4480.     protectionLower = 5,
  4481.     spriteName = "human_empireHelmet",
  4482.   },
  4483.   humanEmpireMask = {
  4484.     absorbation = 0.25,
  4485.     credits = 150,
  4486.     customSpriteNames = {
  4487.       base = "human_empireFaceBase",
  4488.       pieces = {...},
  4489.     },
  4490.     dangerFactor = 0.2,
  4491.     dat = "human.dat",
  4492.     debrisSprite = "base",
  4493.     deflects = true,
  4494.     droppable = true,
  4495.     equipment = "face",
  4496.     face = true,
  4497.     health = 1.5,
  4498.     human = true,
  4499.     iconName = "helmet_icon",
  4500.     localizedId = "amanitaEmpireMask",
  4501.     name = "Empire Mask",
  4502.     node = "head",
  4503.     protectionForwards = true,
  4504.     protectionHigher = 25,
  4505.     protectionLower = -25,
  4506.     spriteName = "human_empireFace",
  4507.   },
  4508.   humanGlasses = {
  4509.     credits = 200,
  4510.     dangerFactor = 0,
  4511.     dat = "human.dat",
  4512.     droppable = true,
  4513.     equipment = "glasses",
  4514.     glasses = true,
  4515.     human = true,
  4516.     iconName = "helmet_icon",
  4517.     localizedId = "catGlasses",
  4518.     name = "Glasses (Plain)",
  4519.     spriteName = "human_glasses",
  4520.   },
  4521.   humanGlovesArmy = {
  4522.     credits = 175,
  4523.     dangerFactor = 0,
  4524.     family = "gloves",
  4525.     gloves = true,
  4526.     hull = "gloves",
  4527.     iconName = "helmet_icon",
  4528.     name = "Gloves (Army)",
  4529.   },
  4530.   humanGoggles = {
  4531.     credits = 200,
  4532.     dangerFactor = 0,
  4533.     dat = "human.dat",
  4534.     droppable = true,
  4535.     equipment = "glasses",
  4536.     glasses = true,
  4537.     human = true,
  4538.     iconName = "helmet_icon",
  4539.     name = "Glasses (Goggles)",
  4540.     spriteName = "human_goggles",
  4541.   },
  4542.   humanHarness = {
  4543.     credits = 75,
  4544.     dangerFactor = 0,
  4545.     dat = "human.dat",
  4546.     droppable = true,
  4547.     equipment = "face",
  4548.     face = true,
  4549.     human = true,
  4550.     iconName = "helmet_icon",
  4551.     localizedId = "amanitaHarness",
  4552.     name = "Harness",
  4553.     spriteName = "human_peaceFace",
  4554.   },
  4555.   humanPantsCamo = {
  4556.     credits = 175,
  4557.     dangerFactor = 0,
  4558.     family = "camo",
  4559.     hull = "pants",
  4560.     iconName = "helmet_icon",
  4561.     name = "Pants (Camo)",
  4562.     pants = true,
  4563.   },
  4564.   humanPantsPlain = {
  4565.     credits = 175,
  4566.     dangerFactor = 0,
  4567.     family = "pants",
  4568.     hull = "pants",
  4569.     iconName = "helmet_icon",
  4570.     name = "Pants (Plain)",
  4571.     pants = true,
  4572.   },
  4573.   humanPantsSuit = {
  4574.     credits = 175,
  4575.     dangerFactor = 0,
  4576.     family = "suit",
  4577.     hull = "pants",
  4578.     iconName = "helmet_icon",
  4579.     name = "Pants (Suit)",
  4580.     pants = true,
  4581.   },
  4582.   humanPilots = {
  4583.     credits = 200,
  4584.     dangerFactor = 0,
  4585.     dat = "human.dat",
  4586.     droppable = true,
  4587.     equipment = "glasses",
  4588.     glasses = true,
  4589.     human = true,
  4590.     iconName = "helmet_icon",
  4591.     name = "Glasses (Pilots)",
  4592.     spriteName = "human_pilots",
  4593.   },
  4594.   humanRimmedHat = {
  4595.     credits = 200,
  4596.     dangerFactor = 0,
  4597.     dat = "human.dat",
  4598.     droppable = true,
  4599.     equipment = "helmet",
  4600.     helmet = true,
  4601.     human = true,
  4602.     iconName = "helmet_icon",
  4603.     localizedId = "catRimmedHat",
  4604.     name = "Rimmed Hat",
  4605.     spriteName = "human_rimmedHat",
  4606.   },
  4607.   humanScienceHat = {
  4608.     credits = 200,
  4609.     dangerFactordangerFactor = 0,
  4610.     dat = "human.dat",
  4611.     droppable = true,
  4612.     equipment = "helmet",
  4613.     helmet = true,
  4614.     human = true,
  4615.     iconName = "helmet_icon",
  4616.     localizedId = "amanitaScienceHat",
  4617.     name = "Science Hat",
  4618.     spriteName = "human_scienceHat",
  4619.   },
  4620.   humanScienceMask = {
  4621.     credits = 175,
  4622.     dangerFactor = 0,
  4623.     dat = "human.dat",
  4624.     droppable = true,
  4625.     equipment = "face",
  4626.     face = true,
  4627.     human = true,
  4628.     iconName = "helmet_icon",
  4629.     localizedId = "amanitaScienceMask",
  4630.     name = "Science Mask",
  4631.     spriteName = "human_crazyFace",
  4632.   },
  4633.   humanShirtCamo = {
  4634.     credits = 175,
  4635.     dangerFactor = 0,
  4636.     family = "camo",
  4637.     hull = "shirt",
  4638.     iconName = "helmet_icon",
  4639.     name = "Shirt (Camo)",
  4640.     shirt = true,
  4641.   },
  4642.   humanShirtCoat = {
  4643.     credits = 175,
  4644.     dangerFactor = 0,
  4645.     family = "coat",
  4646.     hull = "shirt",
  4647.     iconName = "helmet_icon",
  4648.     name = "Shirt (Coat)",
  4649.     shirt = true,
  4650.   },
  4651.   humanShirtPlain = {
  4652.     credits = 175,
  4653.     dangerFactor = 0,
  4654.     family = "shirt",
  4655.     hull = "shirt",
  4656.     iconName = "helmet_icon",
  4657.     name = "Shirt (Plain)",
  4658.     shirt = true,
  4659.   },
  4660.   humanShirtSash = {
  4661.     credits = 175,
  4662.     dangerFactor = 0,
  4663.     family = "sash",
  4664.     hull = "shirt",
  4665.     iconName = "helmet_icon",
  4666.     name = "Shirt (Sash)",
  4667.     shirt = true,
  4668.   },
  4669.   humanShirtSuit = {
  4670.     credits = 175,
  4671.     dangerFactor = 0,
  4672.     family = "suit",
  4673.     hull = "shirt",
  4674.     iconName = "helmet_icon",
  4675.     name = "Shirt (Suit)",
  4676.     shirt = true,
  4677.   },
  4678.   humanShoesArmy = {
  4679.     credits = 175,
  4680.     dangerFactor = 0,
  4681.     family = "army",
  4682.     hull = "shoes",
  4683.     iconName = "helmet_icon",
  4684.     name = "Shoes (Army)",
  4685.     shoes = true,
  4686.   },
  4687.   humanShoesBoots = {
  4688.     credits = 175,
  4689.     dangerFactor = 0,
  4690.     family = "boots",
  4691.     hull = "shoes",
  4692.     iconName = "helmet_icon",
  4693.     name = "Shoes (Boots)",
  4694.     shoes = true,
  4695.   },
  4696.   humanShoesDude = {
  4697.     credits = 175,
  4698.     dangerFactor = 0,
  4699.     family = "dude",
  4700.     hull = "shoes",
  4701.     iconName = "helmet_icon",
  4702.     name = "Shoes (Dude)",
  4703.     shoes = true,
  4704.   },
  4705.   humanShoesFlops = {
  4706.     credits = 175,
  4707.     dangerFactor = 0,
  4708.     family = "flops",
  4709.     hull = "shoes",
  4710.     iconName = "helmet_icon",
  4711.     name = "Shoes (Flops)",
  4712.     shoes = true,
  4713.   },
  4714.   humanShoesHeels = {
  4715.     credits = 175,
  4716.     dangerFactor = 0,
  4717.     family = "heels",
  4718.     hull = "shoes",
  4719.     iconName = "helmet_icon",
  4720.     name = "Shoes (Heels)",
  4721.     shoes = true,
  4722.   },
  4723.   humanShoesLeather = {
  4724.     credits = 175,
  4725.     dangerFactor = 0,
  4726.     family = "leather",
  4727.     hull = "shoes",
  4728.     iconName = "helmet_icon",
  4729.     name = "Shoes (Leather)",
  4730.     shoes = true,
  4731.   },
  4732.   implantChrono = {
  4733.     activated_flash = 0.5,
  4734.     activated_flash_duration = 0.25,
  4735.     activated_fx = "chronoRing",
  4736.     activated_local_fx = "chronoRingGlow",
  4737.     activated_local_sound_modulation = 0.25,
  4738.     activated_sound = "chronoOn",
  4739.     active_loop = "chrono",
  4740.     active_loop_charge_modulation = -0.25,
  4741.     active_loop_charge_volume = 0.25,
  4742.     active_multi_scaled_fx = "chronoRange",
  4743.     active_multi_scaled_fx_num = 4,
  4744.     active_multi_scaled_fx_scale = 0.924,
  4745.     active_multi_scaled_fx_time_factor = 1,
  4746.     active_multi_scaled_fx_time_threshold = 0.25,
  4747.     active_trail_fx = "chronoRingTrail",
  4748.     active_trail_fx_delay = 0.05,
  4749.     active_trail_fx_spawn_offset = -64,
  4750.     active_trail_fx_threshold = 1,
  4751.     ai = {
  4752.     },
  4753.     aiConcept = "implantTactics",
  4754.     bullet_time_activate_speed = 9,
  4755.     bullet_time_deactivate_speed = 0.75,
  4756.     bullet_time_exponential_factor = 1,
  4757.     bullet_time_factor = 2.9,
  4758.     bullet_time_factor_max = 2.9,
  4759.     bullet_time_min = 0,
  4760.     bullet_time_range = 900,
  4761.     cooldown = 6,
  4762.     credits = 250,
  4763.     dangerFactor = 1,
  4764.     deactivated_flash = 0.5,
  4765.     deactivated_flash_duration = 0.25,
  4766.     deactivated_fx = "chronoRingOff",
  4767.     deactivated_sound = "chronoOff",
  4768.     duration = 9,
  4769.     effect = "chronoBend",
  4770.     effect_destroyed_fx = "abilityDisableRing",
  4771.     equipment = "implant",
  4772.     hidden = true,
  4773.     hudDat = "hud_update_1.dat",
  4774.     iconName = "implantChrono_icon",
  4775.     implant = true,
  4776.     limited_by_duration_sound = "reactorLow",
  4777.     logic = {
  4778.       "time_factor_hud_markers",
  4779.       "respawned_cooldown",
  4780.       "effect_blinded_destroy_effect",
  4781.       "effect_stunned_destroy_effect",
  4782.       "effect_destroyed_fx",
  4783.       "effect_destroyed_self_deactivate",
  4784.       "effect_destroyed_self_cooldown",
  4785.       "active_multi_scaled_feedback",
  4786.       "activated_effect",
  4787.       "activated_limited_by_duration",
  4788.       "activated_local_feedback",
  4789.       "activated_feedback",
  4790.       "deactivated_feedback",
  4791.       "active_trail_feedback",
  4792.       "use_only_activated",
  4793.       "deactivated_cooldown_scaled_by_duration",
  4794.     },
  4795.     name = "Implant Chrono Bender",
  4796.   },
  4797.   implantChronoAlternator = {
  4798.     activated_flash = 0.5,
  4799.     activated_flash_duration = 0.25,
  4800.     activated_local_fx = "chronoAlternatorGlow",
  4801.     activated_local_sound_modulation = 1.25,
  4802.     activated_omni_range_fx = "chronoBoosterRing",
  4803.     activated_omni_range_fx_base_radius = 250,
  4804.     ai = {
  4805.     },
  4806.     aiConcept = "implantTactics",
  4807.     cooldown = 6,
  4808.     credits = 250,
  4809.     dangerFactor = 1,
  4810.     deactivated_flash = 0.5,
  4811.     deactivated_flash_duration = 0.25,
  4812.     deactivated_fx = "chronoRingOff",
  4813.     duration = 8,
  4814.     effect = "chronoAlternator",
  4815.     effectDuration = 1,
  4816.     effectIntensity = 0.2,
  4817.     effectRange = 1900,
  4818.     effect_color = {
  4819.       a = 255,
  4820.       b = 221,
  4821.       g = 255,
  4822.       r = 28,
  4823.     },
  4824.     effect_destroyed_fx = "abilityDisableRing",
  4825.     equipment = "implant",
  4826.     hidden = true,
  4827.     hudDat = "hud_update_1.dat",
  4828.     iconName = "implantStun_icon",
  4829.     implant = true,
  4830.     limited_by_duration_sound = "reactorLow",
  4831.     logic = {
  4832.       "update_emit_omni_friend_effect_aura",
  4833.       "use_only_activated",
  4834.       "deactivated_cooldown_scaled_by_duration",
  4835.       "respawned_cooldown",
  4836.       "effect_blinded_destroy_effect",
  4837.       "effect_stunned_destroy_effect",
  4838.       "effect_combust_self_cooldown",
  4839.       "effect_destroyed_fx",
  4840.       "effect_destroyed_self_deactivate",
  4841.       "effect_destroyed_self_cooldown",
  4842.       "render_effect",
  4843.       "activated_update_emit",
  4844.       "activated_omni_feedback",
  4845.       "effect_combust_self_deactivate",
  4846.       "effect_combust_ally_block_omni",
  4847.       "activated_effect",
  4848.       "activated_limited_by_duration",
  4849.       "activated_local_feedback",
  4850.       "activated_feedback",
  4851.       "deactivated_feedback",
  4852.     },
  4853.     name = "Implant Chrono Alternator",
  4854.     omni_range = 300,
  4855.   },
  4856.   implantChronoBoost = {
  4857.     activated_flash = 0.5,
  4858.     activated_flash_duration = 0.25,
  4859.     activated_omni_range_fx = "chronoBoosterRing",
  4860.     activated_omni_range_fx_base_radius = 250,
  4861.     ai = {
  4862.     },
  4863.     aiConcept = "implantTactics",
  4864.     cooldown = 6,
  4865.     credits = 250,
  4866.     dangerFactor = 1,
  4867.     deactivated_flash = 0.5,
  4868.     deactivated_flash_duration = 0.25,
  4869.     deactivated_fx = "chronoRingOff",
  4870.     duration = 10,
  4871.     effect = "chronoBooster",
  4872.     effectDuration = 1,
  4873.     effectIntensity = 0.24,
  4874.     effectRange = 1900,
  4875.     effect_color = {
  4876.       a = 255,
  4877.       b = 221,
  4878.       g = 255,
  4879.       r = 28,
  4880.     },
  4881.     effect_destroyed_fx = "abilityDisableRing",
  4882.     equipment = "implant",
  4883.     hidden = true,
  4884.     hudDat = "hud_update_1.dat",
  4885.     iconName = "implantStun_icon",
  4886.     implant = true,
  4887.     limited_by_duration_sound = "reactorLow",
  4888.     logic = {
  4889.       "update_emit_omni_friend_effect_aura",
  4890.       "effect_blinded_destroy_effect",
  4891.       "effect_stunned_destroy_effect",
  4892.       "effect_destroyed_fx",
  4893.       "effect_destroyed_self_deactivate",
  4894.       "effect_destroyed_self_cooldown",
  4895.       "render_effect",
  4896.       "activated_omni_feedback",
  4897.       "activated_update_emit",
  4898.       "activated_effect",
  4899.       "activated_limited_by_duration",
  4900.       "activated_feedback",
  4901.       "deactivated_feedback",
  4902.       "use_only_activated",
  4903.       "deactivated_cooldown_scaled_by_duration",
  4904.       "respawned_cooldown",
  4905.     },
  4906.     name = "Implant Chrono Boost",
  4907.     omni_range = 300,
  4908.   },
  4909.   implantCloak = {
  4910.     activated_flash = 0.5,
  4911.     activated_flash_duration = 0.25,
  4912.     activated_fx = "cloakRing",
  4913.     activated_sound = "cloakOn",
  4914.     ai = {
  4915.     },
  4916.     aiConcept = "implantTactics",
  4917.     cooldown = 6,
  4918.     credits = 250,
  4919.     dangerFactor = 0.5,
  4920.     deactivated_flash = 0.5,
  4921.     deactivated_flash_duration = 0.25,
  4922.     deactivated_fx = "cloakBoostRingOff",
  4923.     deactivated_sound = "cloakOff",
  4924.     duration = 8,
  4925.     effect = "cloak",
  4926.     effectDuration = 1,
  4927.     effect_destroyed_fx = "abilityDisableRing",
  4928.     equipment = "implant",
  4929.     hidden = true,
  4930.     hudDat = "hud_update_1.dat",
  4931.     iconName = "implantCloak_icon",
  4932.     implant = true,
  4933.     limited_by_duration_sound = "reactorLow",
  4934.     logic = {
  4935.       "update_emit_omni_friend_effect_aura",
  4936.       "effect_blinded_destroy_effect",
  4937.       "effect_stunned_destroy_effect",
  4938.       "share_effect_with_vehicle",
  4939.       "effect_destroyed_fx",
  4940.       "effect_destroyed_self_deactivate",
  4941.       "effect_destroyed_ally_block_omni",
  4942.       "effect_destroyed_self_cooldown",
  4943.       "activated_update_emit",
  4944.       "activated_effect",
  4945.       "activated_limited_by_duration",
  4946.       "activated_feedback",
  4947.       "deactivated_feedback",
  4948.       "use_only_activated",
  4949.       "deactivated_cooldown_scaled_by_duration",
  4950.       "respawned_cooldown",
  4951.     },
  4952.     name = "Implant Cloak",
  4953.     omni_range = 300,
  4954.   },
  4955.   implantCrate = {
  4956.     ai = {
  4957.     },
  4958.     aiConcept = "implantTactics",
  4959.     bullet = "energyCrate",
  4960.     bulletSpeed = 5,
  4961.     cooldown = 6,
  4962.     credits = 250,
  4963.     dangerFactor = 1,
  4964.     effect_destroyed_fx = "abilityDisableRing",
  4965.     equipment = "implant",
  4966.     hidden = true,
  4967.     hudDat = "hud_update_1.dat",
  4968.     iconName = "implantCloak_icon",
  4969.     implant = true,
  4970.     limited_by_duration_sound = "reactorLow",
  4971.     logic = {
  4972.       "use_limited_by_reactor",
  4973.       "use_spawn_projected_bullet",
  4974.       "used_reactor_cost",
  4975.       "used_sound",
  4976.       "on_bullet_set_target_scale_by_reactor_charge",
  4977.     },
  4978.     muzzleFx = "crateRing",
  4979.     muzzleNode = "head",
  4980.     name = "Implant Crate",
  4981.     spawn_projected_fixed_angle = 0,
  4982.     target_scale_base = 0.75,
  4983.     target_scale_variable = 0.5,
  4984.     useSound = "spawnCrate",
  4985.   },
  4986.   implantDeflect = {
  4987.     activated_flash = 0.5,
  4988.     activated_flash_duration = 0.25,
  4989.     activated_fx = "chronoRing",
  4990.     activated_sound = "chronoOn",
  4991.     ai = {
  4992.     },
  4993.     aiConcept = "implantTactics",
  4994.     cooldown = 6,
  4995.     credits = 250,
  4996.     dangerFactor = 1,
  4997.     deactivated_flash = 0.5,
  4998.     deactivated_flash_duration = 0.25,
  4999.     deactivated_fx = "chronoRingOff",
  5000.     deactivated_sound = "chronoOff",
  5001.     deflect_arc = 2.5132741228718,
  5002.     deflect_perfect_arc = 1.2566370614359,
  5003.     duration = 3,
  5004.     effect = "arc_deflect",
  5005.     effect_destroyed_fx = "abilityDisableRing",
  5006.     equipment = "implant",
  5007.     hidden = true,
  5008.     hit_prio = 10,
  5009.     hudDat = "hud_update_1.dat",
  5010.     iconName = "implantDeflect_icon",
  5011.     implant = true,
  5012.     limited_by_duration_sound = "reactorLow",
  5013.     logic = {
  5014.       "activated_limited_by_duration",
  5015.       "effect_blinded_destroy_effect",
  5016.       "effect_stunned_destroy_effect",
  5017.       "activated_effect",
  5018.       "effect_destroyed_fx",
  5019.       "effect_destroyed_self_deactivate",
  5020.       "effect_destroyed_ally_block_omni",
  5021.       "activated_feedback",
  5022.       "deactivated_feedback",
  5023.       "use_only_activated",
  5024.       "deactivated_cooldown_scaled_by_duration",
  5025.       "respawned_cooldown",
  5026.     },
  5027.     name = "Implant Deflect",
  5028.   },
  5029.   implantHarden = {
  5030.     activated_flash = 0.5,
  5031.     activated_flash_duration = 0.25,
  5032.     activated_fx = "hardRing",
  5033.     activated_sound = "chronoOn",
  5034.     ai = {
  5035.     },
  5036.     aiConcept = "implantTactics",
  5037.     cooldown = 6,
  5038.     credits = 250,
  5039.     dangerFactor = 1,
  5040.     deactivated_flash = 0.5,
  5041.     deactivated_flash_duration = 0.25,
  5042.     deactivated_fx = "chronoRingOff",
  5043.     deactivated_sound = "chronoOff",
  5044.     duration = 3.3,
  5045.     effect = "harden",
  5046.     effectDuration = 1,
  5047.     effectIntensity = 100,
  5048.     effect_color = {
  5049.       a = 255,
  5050.       b = 109,
  5051.       g = 255,
  5052.       r = 109,
  5053.     },
  5054.     effect_destroyed_fx = "abilityDisableRing",
  5055.     equipment = "implant",
  5056.     hidden = true,
  5057.     hudDat = "hud_update_1.dat",
  5058.     iconName = "implantHarden_icon",
  5059.     implant = true,
  5060.     limited_by_duration_sound = "reactorLow",
  5061.     logic = {
  5062.       "update_emit_omni_friend_effect_aura",
  5063.       "deactivated_feedback",
  5064.       "use_only_activated",
  5065.       "deactivated_cooldown_scaled_by_duration",
  5066.       "respawned_cooldown",
  5067.       "effect_blinded_destroy_effect",
  5068.       "effect_stunned_destroy_effect",
  5069.       "render_effect",
  5070.       "activated_update_emit",
  5071.       "activated_effect",
  5072.       "activated_limited_by_duration",
  5073.       "effect_destroyed_fx",
  5074.       "effect_destroyed_self_deactivate",
  5075.       "effect_destroyed_ally_block_omni",
  5076.       "effect_destroyed_self_cooldown",
  5077.       "activated_feedback",
  5078.     },
  5079.     name = "Implant Harden",
  5080.     omni_range = 300,
  5081.   },
  5082.   implantShield = {
  5083.     activated_flash = 0.5,
  5084.     activated_flash_duration = 0.25,
  5085.     activated_fx = "basicRing",
  5086.     activated_sound = "shieldCharge",
  5087.     ai = {
  5088.     },
  5089.     aiConcept = "implantTactics",
  5090.     cooldown = 6,
  5091.     credits = 250,
  5092.     dangerFactor = 1,
  5093.     deactivated_flash = 0.5,
  5094.     deactivated_flash_duration = 0.25,
  5095.     deactivated_fx = "chronoRingOff",
  5096.     deactivated_sound = "powerOffFast",
  5097.     duration = 4,
  5098.     effect = "shield",
  5099.     effectDuration = 1,
  5100.     effectIntensity = 18,
  5101.     effect_color = {
  5102.       a = 255,
  5103.       b = 255,
  5104.       g = 120,
  5105.       r = 109,
  5106.     },
  5107.     effect_destroyed_fx = "abilityDisableRing",
  5108.     effect_intensity_spikes_div = 4,
  5109.     equipment = "implant",
  5110.     hidden = true,
  5111.     hudDat = "hud_update_1.dat",
  5112.     iconName = "implantHarden_icon",
  5113.     implant = true,
  5114.     limited_by_duration_sound = "reactorLow",
  5115.     logic = {
  5116.       "update_emit_omni_friend_effect_aura",
  5117.       "effect_blinded_destroy_effect",
  5118.       "effect_stunned_destroy_effect",
  5119.       "effect_destroyed_fx",
  5120.       "effect_destroyed_self_deactivate",
  5121.       "effect_destroyed_self_cooldown",
  5122.       "effect_destroyed_ally_block_omni",
  5123.       "render_effect",
  5124.       "activated_update_emit",
  5125.       "activated_effect",
  5126.       "activated_limited_by_duration",
  5127.       "activated_feedback",
  5128.       "deactivated_feedback",
  5129.       "use_only_activated",
  5130.       "deactivated_cooldown_scaled_by_duration",
  5131.       "respawned_cooldown",
  5132.     },
  5133.     name = "Implant Shield",
  5134.     omni_effect_intensity_factor = 0.5,
  5135.     omni_range = 300,
  5136.   },
  5137.   implantStun = {
  5138.     activated_flash = 0.5,
  5139.     activated_flash_duration = 0.25,
  5140.     activated_fx = "chronoRing",
  5141.     activated_sound = "chronoOn",
  5142.     active_effect_range_fx = "stunRange",
  5143.     active_effect_range_fx_base_radius = 250,
  5144.     ai = {
  5145.     },
  5146.     aiConcept = "implantTactics",
  5147.     cooldown = 6,
  5148.     credits = 250,
  5149.     dangerFactor = 1,
  5150.     deactivated_flash = 0.5,
  5151.     deactivated_flash_duration = 0.25,
  5152.     deactivated_fx = "chronoRingOff",
  5153.     deactivated_sound = "chronoOff",
  5154.     duration = 5,
  5155.     effect = "stun",
  5156.     effectIntensity = 2.5,
  5157.     effectRange = 250,
  5158.     effect_color = {
  5159.       a = 255,
  5160.       b = 86,
  5161.       g = 225,
  5162.       r = 255,
  5163.     },
  5164.     effect_destroyed_fx = "abilityDisableRing",
  5165.     equipment = "implant",
  5166.     hidden = true,
  5167.     hudDat = "hud_update_1.dat",
  5168.     iconName = "implantStun_icon",
  5169.     implant = true,
  5170.     limited_by_duration_sound = "reactorLow",
  5171.     logic = {
  5172.       "activated_effect",
  5173.       "effect_destroyed_fx",
  5174.       "effect_destroyed_self_deactivate",
  5175.       "effect_destroyed_self_cooldown",
  5176.       "render_effect",
  5177.       "active_effect_range_feedback",
  5178.       "activated_limited_by_duration",
  5179.       "activated_feedback",
  5180.       "deactivated_feedback",
  5181.       "use_only_activated",
  5182.       "deactivated_cooldown_scaled_by_duration",
  5183.       "respawned_cooldown",
  5184.       "effect_blinded_destroy_effect",
  5185.       "effect_stunned_destroy_effect",
  5186.     },
  5187.     name = "Implant Stun",
  5188.   },
  5189.   inductorBig = {
  5190.     ai = {
  5191.     },
  5192.     asObjectDensity = 1,
  5193.     big = true,
  5194.     bounceSound = "bounceMetal",
  5195.     credits = 32,
  5196.     droppable = true,
  5197.     electronics = true,
  5198.     iconName = "inductorBig_icon",
  5199.     inductor = true,
  5200.     name = "Obelisk Inductor",
  5201.     pickupSound = "pickup",
  5202.     spriteName = "inductorBig",
  5203.     stackable = true,
  5204.   },
  5205.   inductorSmall = {
  5206.     ai = {
  5207.     },
  5208.     asObjectDensity = 1,
  5209.     bounceSound = "bounceMetal",
  5210.     credits = 4,
  5211.     droppable = true,
  5212.     electronics = true,
  5213.     iconName = "inductor_icon",
  5214.     inductor = true,
  5215.     name = "Torus Inductor",
  5216.     pickupSound = "pickup",
  5217.     small = true,
  5218.     spriteName = "inductor",
  5219.     stackable = true,
  5220.   },
  5221.   jadeBig = {
  5222.     ai = {
  5223.     },
  5224.     asObjectDensity = 1,
  5225.     big = true,
  5226.     bounceSound = "bounceJadeBig",
  5227.     credits = 50,
  5228.     customSpriteNames = {
  5229.       shine = "jade_shine",
  5230.     },
  5231.     droppable = true,
  5232.     iconName = "jadeBig_icon",
  5233.     jewel = true,
  5234.     name = "Glorious Jade",
  5235.     pickupSound = "pickup",
  5236.     shineAngle = -2.3561944901923,
  5237.     shineOffset = 7,
  5238.     spriteName = "jadeBig",
  5239.     stackable = true,
  5240.     valuable = true,
  5241.   },
  5242.   jadeSmall = {
  5243.     ai = {
  5244.     },
  5245.     asObjectDensity = 1,
  5246.     bounceSound = "bounceJadeBig",
  5247.     credits = 5,
  5248.     customSpriteNames = {
  5249.       shine = "jade_shine",
  5250.     },
  5251.     droppable = true,
  5252.     iconName = "jadeSmall_icon",
  5253.     jewel = true,
  5254.     name = "Minute Jade",
  5255.     pickupSound = "pickup",
  5256.     shineAngle = -2.3561944901923,
  5257.     shineOffset = 3,
  5258.     small = true,
  5259.     spriteName = "jadeSmall",
  5260.     stackable = true,
  5261.     valuable = true,
  5262.   },
  5263.   jetEngine = {
  5264.     activated_fuel_limit_when_activated = 0.25,
  5265.     activated_loop_sound = "jetLoop",
  5266.     activated_loop_volume = 0.75,
  5267.     activated_loop_volume_speed = 6,
  5268.     activated_node_fx = "jetEngineFlameWhite",
  5269.     activated_node_fx_color = {
  5270.       a = 255,
  5271.       b = 222,
  5272.       g = 197,
  5273.       r = 243,
  5274.     },
  5275.     activated_node_fx_delay = 0.15,
  5276.     activated_node_fx_speed = 3,
  5277.     activated_node_fx_start_sound = "jetStart",
  5278.     activated_node_spark_fx = "jetSparkWhite",
  5279.     ai = {
  5280.     },
  5281.     aiConcept = "jetTactics",
  5282.     credits = 500,
  5283.     dangerFactor = 0.5,
  5284.     deactivated_refuel_air_duration = 10,
  5285.     deactivated_refuel_duration = 2,
  5286.     equipment = "jet",
  5287.     exhausted_node_fx = "jetEmptyCharge",
  5288.     exhausted_node_spread_fx = "jetFuelSmoke",
  5289.     exhausted_refuel_delay = 0.65,
  5290.     fuelled_node_fx = "jetFullCharge",
  5291.     fx_nodes = {
  5292.       "engine",
  5293.     },
  5294.     iconName = "jetshoes_icon",
  5295.     landed_refuel_amount = 0.25,
  5296.     logic = {
  5297.       "jet_thrusters",
  5298.       "exhausted_node_fx",
  5299.       "activated_node_fx",
  5300.       "fuel_controlled_thrust_power",
  5301.       "jet_thruster_input",
  5302.       "landed_refuel",
  5303.       "landed_deactivate",
  5304.       "deactivated_refuel",
  5305.       "deactivate_is_exhaust",
  5306.       "activated_limited_by_fuel",
  5307.       "exhausted_refuel_delay",
  5308.       "activated_fuel_modulated_sound_loop",
  5309.       "fuelled_node_fx",
  5310.     },
  5311.     maxCharge = 6,
  5312.     mech = true,
  5313.     mobility = true,
  5314.     movement = "jetEngine",
  5315.     name = "Jet Engine",
  5316.     thrust_base_power = 1,
  5317.     thrust_power_fuel_exponent = 3,
  5318.     thrust_variable_power_factor = 0.75,
  5319.     torso = true,
  5320.   },
  5321.   jetFuel = {
  5322.     ai = {
  5323.     },
  5324.     charge_capacity = 2,
  5325.     credits = 150,
  5326.     cyborg = true,
  5327.     dangerFactor = 0.1,
  5328.     droppable = true,
  5329.     feet = true,
  5330.     hidden = true,
  5331.     iconName = "jetshoes_icon",
  5332.     maxLevel = 1,
  5333.     mobility = true,
  5334.     multilevel = true,
  5335.     name = "Jet Fuel Extender",
  5336.     robot = true,
  5337.     spawnCooldown = 2.5,
  5338.     spriteName = "jetshoes",
  5339.     upgrade = "extender",
  5340.     upgrades = "jetShoes",
  5341.   },
  5342.   jetShoes = {
  5343.     activated_fuel_limit_when_activated = 0.25,
  5344.     activated_loop_sound = "jetLoop",
  5345.     activated_loop_volume = 0.5,
  5346.     activated_loop_volume_speed = 6,
  5347.     activated_node_fx = "jetFlameWhite",
  5348.     activated_node_fx_color = {
  5349.       a = 255,
  5350.       b = 222,
  5351.       g = 197,
  5352.       r = 243,
  5353.     },
  5354.     activated_node_fx_delay = 0.15,
  5355.     activated_node_fx_speed = 3,
  5356.     activated_node_fx_start_sound = "jetStart",
  5357.     activated_node_spark_fx = "jetSparkWhite",
  5358.     activated_object = "jetshoeFlame",
  5359.     activated_object_delay = 0.15,
  5360.     ai = {
  5361.     },
  5362.     aiConcept = "jetTactics",
  5363.     credits = 150,
  5364.     customSpriteNames = {
  5365.       glow = "jetshoes_glow",
  5366.       light = "jetshoes_light",
  5367.     },
  5368.     cyborg = true,
  5369.     dangerFactor = 0.25,
  5370.     deactivated_refuel_air_duration = 1.8,
  5371.     deactivated_refuel_duration = 0.9,
  5372.     droppable = true,
  5373.     equipment = "jet",
  5374.     equipment_visual = "feet",
  5375.     exhausted_node_fx = "jetEmptyCharge",
  5376.     exhausted_node_spread_fx = "jetFuelSmoke",
  5377.     exhausted_refuel_delay = 0.65,
  5378.     feet = true,
  5379.     fuelled_node_fx = "jetFullCharge",
  5380.     fx_nodes = {
  5381.       "leftFoot",
  5382.       "rightFoot",
  5383.     },
  5384.     iconName = "jetshoes_icon",
  5385.     landed_refuel_amount = 0.25,
  5386.     listing = true,
  5387.     logic = {
  5388.       "jet_thrusters",
  5389.       "fuelled_node_fx",
  5390.       "exhausted_node_fx",
  5391.       "activated_node_fx",
  5392.       "fuel_controlled_thrust_power",
  5393.       "use_activated",
  5394.       "jet_thruster_input",
  5395.       "rig_render_fuel_light_glow",
  5396.       "landed_refuel",
  5397.       "landed_deactivate",
  5398.       "deactivated_refuel",
  5399.       "deactivate_is_exhaust",
  5400.       "activated_limited_by_fuel",
  5401.       "exhausted_refuel_delay",
  5402.       "activated_object",
  5403.       "activated_fuel_modulated_sound_loop",
  5404.     },
  5405.     maxCharge = 2,
  5406.     mobility = true,
  5407.     movement = "jetShoes",
  5408.     name = "Jet Shoes",
  5409.     rack = "equipment",
  5410.     rackable = true,
  5411.     robot = true,
  5412.     spawnCooldown = 2.5,
  5413.     spriteName = "jetshoes",
  5414.     thrust_base_power = 1,
  5415.     thrust_power_fuel_exponent = 3,
  5416.     thrust_variable_power_factor = 0.75,
  5417.   },
  5418.   joltSpider = {
  5419.     ai = {
  5420.     },
  5421.     arm_offsets = {
  5422.       {...},
  5423.       {...},
  5424.       {...},
  5425.       {...},
  5426.     },
  5427.     asObjectDensity = 1,
  5428.     asObjectPhysics = {
  5429.       {...},
  5430.       {...},
  5431.       bodyDef = {...},
  5432.     },
  5433.     bounceSound = "bounceMetal",
  5434.     carried = true,
  5435.     classifications = {
  5436.       "objective",
  5437.     },
  5438.     compact_physics = {
  5439.       {...},
  5440.       {...},
  5441.       bodyDef = {...},
  5442.     },
  5443.     customSpriteNames = {
  5444.       batteryGlow = "joltSpiderBatteryGlow",
  5445.       drill = "joltSpiderDrill",
  5446.       drillGlow = "joltSpiderDrillGlow",
  5447.       drillGlowRing = "joltSpiderDrillGlowRing",
  5448.       foot = "joltSpiderFoot",
  5449.       frameBottom = "joltSpiderFrameBottom",
  5450.       frameTop = "joltSpiderFrameTop",
  5451.       hullBottom = "joltSpiderHullBottom",
  5452.       hullTop = "joltSpiderHullTop",
  5453.       leg = "joltSpiderLeg",
  5454.       tele1 = "joltSpiderTele1",
  5455.       tele2 = "joltSpiderTele2",
  5456.       tele3 = "joltSpiderTele3",
  5457.     },
  5458.     droppable = true,
  5459.     health = 30,
  5460.     hudDat = "hud_update_1.dat",
  5461.     huge = true,
  5462.     iconName = "prism_icon",
  5463.     isObject = true,
  5464.     logic = {
  5465.       "compact_physics_when_not_expanded",
  5466.     },
  5467.     maxAmmo = 100,
  5468.     name = "Jolt Spider",
  5469.     neverIdle = true,
  5470.     neverIgnore = true,
  5471.     pickupSound = "pickup",
  5472.     size = 6,
  5473.     spriteName = "joltSpiderBase",
  5474.     throwRotation = 0.5,
  5475.   },
  5476.   klonk = {
  5477.     activated_active_fx = "klonkActiveLight",
  5478.     activated_active_fx_max_time = 0.1,
  5479.     active_physics = {
  5480.       {...},
  5481.       {...},
  5482.       bodyDef = {...},
  5483.     },
  5484.     ai = {
  5485.       attackArc = 0.78539816339745,
  5486.       attackDist = 400,
  5487.     },
  5488.     armDuration = 1.5,
  5489.     asObjectPhysics = {
  5490.       {...},
  5491.       {...},
  5492.       bodyDef = {...},
  5493.     },
  5494.     blockSpawnRadius = 300,
  5495.     box2dControlled = true,
  5496.     bulletTimeDistanceFactor = 0.5,
  5497.     bulletTimeFactor = 0.5,
  5498.     carried = true,
  5499.     credits = 20,
  5500.     customSpriteNames = {
  5501.       "klonkStar",
  5502.       "klonkLight",
  5503.     },
  5504.     dangerFactor = 1,
  5505.     defenceFactor = 1,
  5506.     deflectable = false,
  5507.     droppable = true,
  5508.     duration = 10,
  5509.     duration_lost_per_hit = 0,
  5510.     explosion = "klonk",
  5511.     explosive = true,
  5512.     gravity = 32,
  5513.     health = 2,
  5514.     heat = true,
  5515.     hitMode = "arm",
  5516.     iconName = "klonkCan_icon",
  5517.     logic = {
  5518.       "object_activated_remove_ignore",
  5519.       "active_physics_when_armed",
  5520.       "activated_range_fx_indicator",
  5521.       "activated_active_fx",
  5522.     },
  5523.     name = "Klonk Grenade",
  5524.     pickupSound = "pickupWeapon",
  5525.     range = 300,
  5526.     rangeFx = "klonkRing",
  5527.     shockwave = true,
  5528.     size = 4,
  5529.     spriteName = "klonkCan",
  5530.     stackable = true,
  5531.     stun = true,
  5532.     throwAttack = true,
  5533.     utility = true,
  5534.     vendorAngle = 0.78539816339745,
  5535.   },
  5536.   launcherMini = {
  5537.     ai = {
  5538.       attackArc = 0.31415926535898,
  5539.       attackDist = 700,
  5540.       bulletSpeed = 60,
  5541.       suicideDist = 75,
  5542.     },
  5543.     aimBulletSpeed = 60,
  5544.     aimsAtBullets = false,
  5545.     aimsAtObjects = false,
  5546.     ammoType = "missileAmmo",
  5547.     ammoUse = 0.25,
  5548.     bullet = "missileMini",
  5549.     bulletSpeed = 8,
  5550.     bulletTimeFactor = 0.75,
  5551.     cooldown = 0.22,
  5552.     credits = 250,
  5553.     dangerFactor = 0.7,
  5554.     droppable = true,
  5555.     explosive = true,
  5556.     fireHeight = 6,
  5557.     health = 30,
  5558.     hudDat = "hud_update_1.dat",
  5559.     iconName = "launcherMini_icon",
  5560.     maxAmmo = 2,
  5561.     muzzleFx = "homingMuzzle",
  5562.     name = "Mini Missile Launcher",
  5563.     newtonian = true,
  5564.     newtonianFactor = 0.25,
  5565.     pickupSound = "pickupWeapon",
  5566.     rack = "launcher",
  5567.     rackAngle = -1.5707963267949,
  5568.     rackable = true,
  5569.     recoilAngle = 0,
  5570.     recoilControl = 1,
  5571.     recoilFatigue = 1.1,
  5572.     recoilSeed = 17,
  5573.     recoilSpeed = 550,
  5574.     reloadBoosts = {
  5575.       0.4,
  5576.     },
  5577.     reloadSequence = {
  5578.       crank = {...},
  5579.       ending = {...},
  5580.       handle = {...},
  5581.       insert = {...},
  5582.       prepare = {...},
  5583.     },
  5584.     reloadTime = 2.75,
  5585.     size = 3,
  5586.     soundRange = 900,
  5587.     spriteName = "launcherMini",
  5588.     switchedToSound = "switch",
  5589.     useSound = "missileLaunchMini",
  5590.     weapon = true,
  5591.   },
  5592.   launcherMiniHomingDevice = {
  5593.     ai = {
  5594.     },
  5595.     credits = 125,
  5596.     dangerFactor = 0.2,
  5597.     droppable = true,
  5598.     hudDat = "hud_update_1.dat",
  5599.     localizedId = "homingLauncherHomingDevice",
  5600.     name = "Mini Missile Launcher Homing Device",
  5601.     pickupSound = "pickupWeapon",
  5602.     spriteName = "launcherMiniHoming",
  5603.     upgrade = "homingDevice",
  5604.     upgradeIconName = "launcherMiniHoming_upgIcon",
  5605.     upgradeSequence = {
  5606.       crank = {...},
  5607.       ending = {...},
  5608.       insert = {...},
  5609.       inspect = {...},
  5610.       mag = {...},
  5611.       prepare = {...},
  5612.       slide = {...},
  5613.     },
  5614.     upgrades = "launcherMini",
  5615.   },
  5616.   launcherMiniMagazine = {
  5617.     ai = {
  5618.     },
  5619.     ammoCapacity = 2,
  5620.     articleId = "magazine",
  5621.     credits = 150,
  5622.     dangerFactor = 0.5,
  5623.     droppable = true,
  5624.     hudDat = "hud_update_1.dat",
  5625.     localizedId = "homingLauncherMagazine",
  5626.     maxLevel = 2,
  5627.     multilevel = true,
  5628.     name = "Mini Missile Launcher Magazine",
  5629.     perLevelCredits = 150,
  5630.     pickupSound = "pickupWeapon",
  5631.     spriteName = "launcherMiniMag2",
  5632.     spriteNames = {
  5633.       "launcherMiniMag1",
  5634.       "launcherMiniMag2",
  5635.     },
  5636.     upgrade = "magazine",
  5637.     upgradeIconNames = {
  5638.       "launcherMiniMag1_upgIcon",
  5639.       "launcherMiniMag2_upgIcon",
  5640.     },
  5641.     upgradeSequence = {
  5642.       crank = {...},
  5643.       ending = {...},
  5644.       insert = {...},
  5645.       inspect = {...},
  5646.       mag = {...},
  5647.       prepare = {...},
  5648.     },
  5649.     upgrades = "launcherMini",
  5650.   },
  5651.   launcherRocket = {
  5652.     ai = {
  5653.       attackArc = 0.31415926535898,
  5654.       attackDist = 900,
  5655.       bulletSpeed = 100,
  5656.       suicideDist = 100,
  5657.     },
  5658.     aimBulletSpeed = 100,
  5659.     aimsAtBullets = false,
  5660.     aimsAtObjects = false,
  5661.     ammoType = "missileAmmo",
  5662.     ammoUse = 0.5,
  5663.     bullet = "missileLong",
  5664.     bulletSpeed = 26,
  5665.     bulletTimeFactor = 0.75,
  5666.     cooldown = 0.5,
  5667.     credits = 350,
  5668.     dangerFactor = 1.1,
  5669.     droppable = true,
  5670.     explosive = true,
  5671.     fireHeight = 6,
  5672.     health = 30,
  5673.     hudDat = "hud_update_1.dat",
  5674.     iconName = "launcherSniper_icon",
  5675.     maxAmmo = 1,
  5676.     muzzleFx = "homingMuzzle",
  5677.     name = "Rocket Launcher",
  5678.     newtonian = true,
  5679.     newtonianFactor = 0.25,
  5680.     pickupSound = "pickupWeapon",
  5681.     rack = "launcher",
  5682.     rackAngle = -1.5707963267949,
  5683.     rackable = true,
  5684.     recoilAngle = 8,
  5685.     recoilControl = 0.25,
  5686.     recoilFatigue = 1.1,
  5687.     recoilSeed = 17,
  5688.     recoilSpeed = 1950,
  5689.     reloadBoosts = {
  5690.       0.4,
  5691.     },
  5692.     reloadSequence = {
  5693.       crank = {...},
  5694.       ending = {...},
  5695.       handle = {...},
  5696.       insert = {...},
  5697.       mag = {...},
  5698.       prepare = {...},
  5699.     },
  5700.     reloadTime = 1.4,
  5701.     size = 4,
  5702.     soundRange = 900,
  5703.     spriteName = "launcherSniper",
  5704.     switchedToSound = "switch",
  5705.     useSound = "missileLaunchRocket",
  5706.     weapon = true,
  5707.   },
  5708.   launcherRocketMagazine = {
  5709.     ai = {
  5710.     },
  5711.     ammoCapacity = 1,
  5712.     articleId = "magazine",
  5713.     credits = 175,
  5714.     dangerFactor = 0.5,
  5715.     droppable = true,
  5716.     hudDat = "hud_update_1.dat",
  5717.     localizedId = "homingLauncherMagazine",
  5718.     maxLevel = 2,
  5719.     multilevel = true,
  5720.     name = "Rocket Launcher Magazine",
  5721.     perLevelCredits = 175,
  5722.     pickupSound = "pickupWeapon",
  5723.     spriteName = "launcherSniperMag2",
  5724.     spriteNames = {
  5725.       "launcherSniperMag1",
  5726.       "launcherSniperMag2",
  5727.     },
  5728.     upgrade = "magazine",
  5729.     upgradeIconNames = {
  5730.       "launcherSniperMag1_upgIcon",
  5731.       "launcherSniperMag2_upgIcon",
  5732.     },
  5733.     upgradeSequence = {
  5734.       crank = {...},
  5735.       ending = {...},
  5736.       insert = {...},
  5737.       inspect = {...},
  5738.       mag = {...},
  5739.       prepare = {...},
  5740.     },
  5741.     upgrades = "launcherRocket",
  5742.   },
  5743.   launcherRocketScope = {
  5744.     ai = {
  5745.     },
  5746.     aimRangeFactor = 1.25,
  5747.     articleId = "scope",
  5748.     credits = 150,
  5749.     dangerFactor = 0.1,
  5750.     droppable = true,
  5751.     hudDat = "hud_update_1.dat",
  5752.     localizedId = "scope",
  5753.     name = "Rocket Launcher Scope",
  5754.     pickupSound = "pickupWeapon",
  5755.     scope = true,
  5756.     scopeSpeed = 1.25,
  5757.     spriteName = "launcherSniperScope",
  5758.     upgrade = "scope",
  5759.     upgradeIconName = "launcherSniperScope_upgIcon",
  5760.     upgradeSequence = {
  5761.       crank = {...},
  5762.       ending = {...},
  5763.       insert = {...},
  5764.       inspect = {...},
  5765.       mag = {...},
  5766.       prepare = {...},
  5767.       slide = {...},
  5768.     },
  5769.     upgrades = "launcherRocket",
  5770.   },
  5771.   launcherShrapnel = {
  5772.     ai = {
  5773.       attackArc = 0.78539816339745,
  5774.       attackDist = 700,
  5775.       bulletSpeed = 70,
  5776.       suicideDist = 175,
  5777.     },
  5778.     aimBulletSpeed = 70,
  5779.     aimsAtBullets = false,
  5780.     aimsAtObjects = false,
  5781.     ammoType = "missileAmmo",
  5782.     ammoUse = 1,
  5783.     bullet = "missileShrapnel",
  5784.     bulletSpeed = 10,
  5785.     bulletTimeFactor = 0.75,
  5786.     cooldown = 0.75,
  5787.     credits = 650,
  5788.     dangerFactor = 1.5,
  5789.     droppable = true,
  5790.     explosive = true,
  5791.     fireHeight = 7,
  5792.     health = 30,
  5793.     hudDat = "hud_update_1.dat",
  5794.     iconName = "launcherShrapnel_icon",
  5795.     maxAmmo = 1,
  5796.     muzzleFx = "homingMuzzle",
  5797.     name = "Shrapnel Launcher",
  5798.     newtonian = true,
  5799.     newtonianFactor = 0.5,
  5800.     pickupSound = "pickupWeapon",
  5801.     rack = "launcher",
  5802.     rackAngle = -1.5707963267949,
  5803.     rackable = true,
  5804.     recoilAngle = 4,
  5805.     recoilControl = 0.25,
  5806.     recoilFatigue = 1.1,
  5807.     recoilSeed = 17,
  5808.     recoilSpeed = 1750,
  5809.     reloadBoosts = {
  5810.       0.4,
  5811.     },
  5812.     reloadSequence = {
  5813.       crank = {...},
  5814.       ending = {...},
  5815.       handle = {...},
  5816.       insert = {...},
  5817.       prepare = {...},
  5818.     },
  5819.     reloadTime = 2.4,
  5820.     size = 4,
  5821.     soundRange = 900,
  5822.     spriteName = "launcherShrapnel",
  5823.     switchedToSound = "switch",
  5824.     useSound = "missileLaunchRocket",
  5825.     weapon = true,
  5826.   },
  5827.   launcherShrapnelMagazine = {
  5828.     ai = {
  5829.     },
  5830.     ammoCapacity = 1,
  5831.     articleId = "magazine",
  5832.     credits = 300,
  5833.     dangerFactor = 0.5,
  5834.     droppable = true,
  5835.     hudDat = "hud_update_1.dat",
  5836.     localizedId = "homingLauncherMagazine",
  5837.     maxLevel = 2,
  5838.     multilevel = true,
  5839.     name = "Shrapnel Launcher Magazine",
  5840.     perLevelCredits = 300,
  5841.     pickupSound = "pickupWeapon",
  5842.     spriteName = "launcherShrapnelMag2",
  5843.     spriteNames = {
  5844.       "launcherShrapnelMag1",
  5845.       "launcherShrapnelMag2",
  5846.     },
  5847.     upgrade = "magazine",
  5848.     upgradeIconNames = {
  5849.       "launcherShrapnelMag1_upgIcon",
  5850.       "launcherShrapnelMag2_upgIcon",
  5851.     },
  5852.     upgradeSequence = {
  5853.       crank = {...},
  5854.       ending = {...},
  5855.       insert = {...},
  5856.       inspect = {...},
  5857.       mag = {...},
  5858.       prepare = {...},
  5859.     },
  5860.     upgrades = "launcherShrapnel",
  5861.   },
  5862.   launcherShrapnelProximity = {
  5863.     ai = {
  5864.     },
  5865.     credits = 250,
  5866.     customSpriteNames = {
  5867.       glow = "launcherShrapnelProximityGlow",
  5868.     },
  5869.     dangerFactor = 0.4,
  5870.     droppable = true,
  5871.     hudDat = "hud_update_1.dat",
  5872.     localizedId = "grenadeGunProximityFuse",
  5873.     name = "Shrapnel Launcher Proximity Radar",
  5874.     pickupSound = "pickupWeapon",
  5875.     spriteName = "launcherShrapnelProximity",
  5876.     upgrade = "proximity",
  5877.     upgradeIconName = "launcherShrapnelProximity_upgIcon",
  5878.     upgradeSequence = {
  5879.       crank = {...},
  5880.       ending = {...},
  5881.       insert = {...},
  5882.       inspect = {...},
  5883.       mag = {...},
  5884.       prepare = {...},
  5885.       slide = {...},
  5886.     },
  5887.     upgrades = "launcherShrapnel",
  5888.   },
  5889.   launcherThermal = {
  5890.     ai = {
  5891.       attackArc = 0.78539816339745,
  5892.       attackDist = 1000,
  5893.       bulletSpeed = 50,
  5894.       suicideDist = 200,
  5895.     },
  5896.     aimBulletSpeed = 50,
  5897.     aimUp = 0.47123889803847,
  5898.     aimsAtBullets = false,
  5899.     aimsAtObjects = false,
  5900.     ammoType = "missileAmmo",
  5901.     ammoUse = 4,
  5902.     bullet = "missileThermal",
  5903.     bulletSpeed = 10,
  5904.     bulletTimeFactor = 0.75,
  5905.     cooldown = 0.2,
  5906.     credits = 1800,
  5907.     dangerFactor = 3.5,
  5908.     droppable = true,
  5909.     explosive = true,
  5910.     fireHeight = 6,
  5911.     health = 30,
  5912.     hudDat = "hud_update_1.dat",
  5913.     iconName = "launcherThermal_icon",
  5914.     maxAmmo = 1,
  5915.     muzzleFx = "homingMuzzle",
  5916.     name = "Thermal Launcher",
  5917.     newtonian = true,
  5918.     newtonianFactor = 0.75,
  5919.     pickupSound = "pickupWeapon",
  5920.     rack = "launcher",
  5921.     rackAngle = -1.5707963267949,
  5922.     rackable = true,
  5923.     recoilAngle = 10,
  5924.     recoilControl = 0.1,
  5925.     recoilFatigue = 1.1,
  5926.     recoilSeed = 17,
  5927.     recoilSpeed = 1550,
  5928.     reloadBoosts = {
  5929.       0.2,
  5930.       0.7,
  5931.     },
  5932.     reloadSequence = {
  5933.       crank = {...},
  5934.       ending = {...},
  5935.       handle = {...},
  5936.       insert = {...},
  5937.       prepare = {...},
  5938.     },
  5939.     reloadTime = 3.4,
  5940.     size = 5,
  5941.     soundRange = 900,
  5942.     spriteName = "launcherThermal",
  5943.     switchedToSound = "switch",
  5944.     useSound = "missileLaunchThermal",
  5945.     weapon = true,
  5946.   },
  5947.   launcherThermalHomingDevice = {
  5948.     ai = {
  5949.     },
  5950.     credits = 500,
  5951.     dangerFactor = 0.4,
  5952.     droppable = true,
  5953.     hudDat = "hud_update_1.dat",
  5954.     localizedId = "homingLauncherHomingDevice",
  5955.     name = "Thermal Launcher Homing Device",
  5956.     pickupSound = "pickupWeapon",
  5957.     spriteName = "launcherThermalHoming",
  5958.     upgrade = "homingDevice",
  5959.     upgradeIconName = "launcherThermalHoming_upgIcon",
  5960.     upgradeSequence = {
  5961.       crank = {...},
  5962.       ending = {...},
  5963.       insert = {...},
  5964.       inspect = {...},
  5965.       mag = {...},
  5966.       prepare = {...},
  5967.       slide = {...},
  5968.     },
  5969.     upgrades = "launcherThermal",
  5970.   },
  5971.   leafBig = {
  5972.     ai = {
  5973.     },
  5974.     asObjectDensity = 1,
  5975.     big = true,
  5976.     botanic = true,
  5977.     bounceSound = "bounceLeafBig",
  5978.     credits = 30,
  5979.     droppable = true,
  5980.     iconName = "leafBig_icon",
  5981.     name = "Resuscitating Herb",
  5982.     pickupSound = "pickup",
  5983.     spriteName = "leafBig",
  5984.     stackable = true,
  5985.   },
  5986.   leafSmall = {
  5987.     ai = {
  5988.     },
  5989.     asObjectDensity = 1,
  5990.     botanic = true,
  5991.     bounceSound = "bounceLeaf",
  5992.     credits = 3,
  5993.     droppable = true,
  5994.     iconName = "leafSmall_icon",
  5995.     name = "Soothing Herb",
  5996.     pickupSound = "pickup",
  5997.     small = true,
  5998.     spriteName = "leafSmall",
  5999.     stackable = true,
  6000.   },
  6001.   lightEnhancer = {
  6002.     ai = {
  6003.     },
  6004.     cooldown = 0.35,
  6005.     credits = 250,
  6006.     cyborg = true,
  6007.     dangerFactor = 0,
  6008.     equipment = "lightEnhancer",
  6009.     head = true,
  6010.     iconName = "reactionEnhancer_icon",
  6011.     name = "Light Enhancer",
  6012.     usePose = "body",
  6013.     useSequence = {
  6014.       crank = {...},
  6015.       wave = {...},
  6016.     },
  6017.     useString = "light",
  6018.     useTime = 0.5,
  6019.   },
  6020.   liveEgg = {
  6021.     ai = {
  6022.       attackArc = 2.3561944901923,
  6023.       attackDist = 900,
  6024.       attackWhenCareful = true,
  6025.       suicideDist = 0,
  6026.     },
  6027.     asObjectPhysics = {
  6028.       {...},
  6029.       {...},
  6030.       {...},
  6031.       bodyDef = {...},
  6032.     },
  6033.     box2dControlled = true,
  6034.     carried = true,
  6035.     credits = 12,
  6036.     dangerFactor = 0.05,
  6037.     defenceFactor = 1,
  6038.     droppable = true,
  6039.     gravity = 32,
  6040.     health = 3,
  6041.     hitMode = "arm",
  6042.     iconName = "egg_icon",
  6043.     name = "Sabre Egg",
  6044.     offenceFactor = 1,
  6045.     pickupSound = "pickup",
  6046.     size = 2,
  6047.     spawns = true,
  6048.     spriteName = "egg",
  6049.     stackIndex = 2,
  6050.     stackable = true,
  6051.     utility = true,
  6052.   },
  6053.   logicChipBig = {
  6054.     ai = {
  6055.     },
  6056.     asObjectDensity = 1,
  6057.     big = true,
  6058.     bounceSound = "bounceMetal",
  6059.     circuit = true,
  6060.     credits = 80,
  6061.     customSpriteNames = {
  6062.       glow = "logicChipBigGlow",
  6063.     },
  6064.     droppable = true,
  6065.     electronics = true,
  6066.     iconName = "logicChipBig_icon",
  6067.     name = "Super Logic Chip",
  6068.     pickupSound = "pickup",
  6069.     spriteName = "logicChipBig",
  6070.     stackable = true,
  6071.   },
  6072.   logicChipSmall = {
  6073.     ai = {
  6074.     },
  6075.     asObjectDensity = 1,
  6076.     bounceSound = "bounceMetal",
  6077.     circuit = true,
  6078.     credits = 15,
  6079.     customSpriteNames = {
  6080.       glow = "logicChipGlow",
  6081.     },
  6082.     droppable = true,
  6083.     electronics = true,
  6084.     iconName = "logicChip_icon",
  6085.     name = "Logic Chip",
  6086.     pickupSound = "pickup",
  6087.     small = true,
  6088.     spriteName = "logicChip",
  6089.     stackable = true,
  6090.   },
  6091.   machete = {
  6092.     ai = {
  6093.       attackArc = 1.5707963267949,
  6094.       attackDist = 100,
  6095.       bulletSpeed = 10000,
  6096.     },
  6097.     aimArc = 2.8274333882308,
  6098.     aimRange = 175,
  6099.     aimSpeed = 1,
  6100.     alwaysAim = true,
  6101.     attack = "blade",
  6102.     attackFactor = 1.44,
  6103.     breakable = true,
  6104.     bulletTimeFactor = 2,
  6105.     chargeCooldown = 0.35,
  6106.     chargeDelaySpeed = 1.725,
  6107.     chargeSpeed = 0.75,
  6108.     closeCombat = true,
  6109.     credits = 110,
  6110.     dangerFactor = 0.6,
  6111.     droppable = true,
  6112.     failedCooldown = 0,
  6113.     forceFactor = 1.1,
  6114.     health = 25,
  6115.     iconName = "machete_icon",
  6116.     logic = {
  6117.       "render_with_feedback",
  6118.       "node_attack",
  6119.       "node_attack_actor_adaptive",
  6120.       "node_attack_charge_boost",
  6121.       "node_attack_hit_self_breakage",
  6122.       "can_use_with_any_charge",
  6123.     },
  6124.     melee = true,
  6125.     minCooldown = 0.154,
  6126.     name = "Machete",
  6127.     nodeAttack = "swing",
  6128.     pickupSound = "pickupWeapon",
  6129.     rackAngle = 0,
  6130.     range = 37,
  6131.     size = 4,
  6132.     sneakNodeAttack = "stab",
  6133.     speed = 0.7,
  6134.     spriteName = "machete",
  6135.     switchedToSound = "switch",
  6136.     vendorAngle = -1.0367255756846,
  6137.     weapon = true,
  6138.   },
  6139.   mallet = {
  6140.     ai = {
  6141.       attackArc = 1.5707963267949,
  6142.       attackDist = 100,
  6143.       bulletSpeed = 10000,
  6144.     },
  6145.     aimArc = 2.8274333882308,
  6146.     aimRange = 175,
  6147.     aimSpeed = 0.4,
  6148.     alwaysAim = true,
  6149.     attack = "blunt",
  6150.     attackFactor = 1.5,
  6151.     breakItem = "stick",
  6152.     breakable = true,
  6153.     bulletTimeFactor = 2,
  6154.     chargeCooldown = 0.6,
  6155.     chargeDelaySpeed = 1.875,
  6156.     chargeSpeed = 0.9,
  6157.     closeCombat = true,
  6158.     credits = 150,
  6159.     dangerFactor = 0.8,
  6160.     droppable = true,
  6161.     failedCooldown = 0,
  6162.     forceFactor = 1.6,
  6163.     health = 30,
  6164.     iconName = "mallet_icon",
  6165.     logic = {
  6166.       "render_with_feedback",
  6167.       "node_attack",
  6168.       "node_attack_actor_adaptive",
  6169.       "node_attack_charge_boost",
  6170.       "node_attack_hit_self_breakage",
  6171.       "can_use_with_any_charge",
  6172.     },
  6173.     melee = true,
  6174.     minCooldown = 0.175,
  6175.     name = "Mallet",
  6176.     nodeAttack = "swing",
  6177.     pickupSound = "pickupWeapon",
  6178.     rackAngle = 0,
  6179.     range = 33,
  6180.     size = 4,
  6181.     speed = 0.6,
  6182.     spriteName = "mallet",
  6183.     switchedToSound = "switch",
  6184.     vendorAngle = -1.0367255756846,
  6185.     weapon = true,
  6186.   },
  6187.   materializerGun = {
  6188.     ai = {
  6189.       attackArc = 1.5707963267949,
  6190.       attackDist = 1000,
  6191.       bulletSpeed = 22,
  6192.     },
  6193.     aimRange = 1000,
  6194.     aimSpeed = 0.5,
  6195.     ammoType = "blasterAmmo",
  6196.     bullet = "dematerializer",
  6197.     bulletSpeed = 15,
  6198.     bulletTimeFactor = 0.5,
  6199.     capture = true,
  6200.     cooldown = 0.25,
  6201.     credits = 300,
  6202.     customSpriteNames = {
  6203.       glow = "materializerGun_glow",
  6204.       light = "materializerGun_light",
  6205.     },
  6206.     dangerFactor = 2.2,
  6207.     droppable = true,
  6208.     fireHeight = 6,
  6209.     health = 15,
  6210.     iconName = "materializerGun_icon",
  6211.     logic = {
  6212.       "on_killed_eject_actor",
  6213.       "on_sold_eject_actor",
  6214.       "on_destroyed_eject_actor",
  6215.     },
  6216.     maxAmmo = 10,
  6217.     name = "Materializer Gun",
  6218.     pickupSound = "pickupWeapon",
  6219.     rackAngle = -1.5707963267949,
  6220.     rackable = false,
  6221.     recoilAngle = 0,
  6222.     recoilControl = 1,
  6223.     recoilFatigue = 0.2,
  6224.     recoilSeed = 5,
  6225.     recoilSpeed = 500,
  6226.     reloadBoosts = {
  6227.       0.4,
  6228.     },
  6229.     reloadSequence = {
  6230.       crank = {...},
  6231.       handle = {...},
  6232.       inspect = {...},
  6233.       mag = {...},
  6234.       slide = {...},
  6235.     },
  6236.     reloadTime = 1.6,
  6237.     size = 4,
  6238.     soundRange = 750,
  6239.     spriteName = "materializerGun",
  6240.     switchedToSound = "switch",
  6241.     useSound = "blasterShot",
  6242.     weapon = true,
  6243.   },
  6244.   matterAmmo = {
  6245.     ai = {
  6246.     },
  6247.     ammoIndex = 30,
  6248.     consumable = true,
  6249.     gearDamage = 0.3,
  6250.     iconName = "lasergun_ammoIcon",
  6251.     name = "Matter Ammo",
  6252.     pickupSound = "pickupAmmo",
  6253.     predictable = false,
  6254.     stackable = true,
  6255.   },
  6256.   matterBlaster = {
  6257.     ai = {
  6258.       attackArc = 0.15707963267949,
  6259.       attackDist = 700,
  6260.     },
  6261.     aimArc = 3.1415926535898,
  6262.     aimRange = 760,
  6263.     aimsAtBullets = false,
  6264.     ammoType = "matterAmmo",
  6265.     ammoUse = 1.25,
  6266.     bullet = "laserMedium",
  6267.     bulletSpeed = 61,
  6268.     bulletTimeFactor = 0.6,
  6269.     cooldown = 0.35,
  6270.     cooldownReductionSemi = 0.1,
  6271.     credits = 200,
  6272.     customSpriteNames = {
  6273.       led = "matterblaster_led",
  6274.     },
  6275.     dangerFactor = 1,
  6276.     droppable = true,
  6277.     fireHeight = 5,
  6278.     health = 25,
  6279.     iconName = "matterblaster_icon",
  6280.     matter = true,
  6281.     maxAmmo = 12,
  6282.     muzzleFx = "fireMuzzleSmall",
  6283.     name = "Matter Blaster",
  6284.     pickupSound = "pickupWeapon",
  6285.     pistol = true,
  6286.     rack = "matter",
  6287.     rackAngle = -1.5707963267949,
  6288.     rackable = true,
  6289.     recoilAngle = 7.5,
  6290.     recoilControl = 0.45,
  6291.     recoilFatigue = 1.45,
  6292.     recoilSeed = 18,
  6293.     recoilSpeed = 1800,
  6294.     reloadBoosts = {
  6295.       0.5,
  6296.     },
  6297.     reloadSequence = {
  6298.       crank = {...},
  6299.       ending = {...},
  6300.       handle = {...},
  6301.       insert = {...},
  6302.       prepare = {...},
  6303.       slide = {...},
  6304.     },
  6305.     reloadTime = 1.9,
  6306.     sidearm = true,
  6307.     size = 3,
  6308.     sniper = true,
  6309.     soundRange = 950,
  6310.     spriteName = "matterblaster",
  6311.     switchedToSound = "switch",
  6312.     useSound = "matterBlasterShoot",
  6313.     weapon = true,
  6314.   },
  6315.   matterBlasterScope = {
  6316.     ai = {
  6317.     },
  6318.     aimRangeFactor = 1.25,
  6319.     articleId = "scope",
  6320.     credits = 75,
  6321.     dangerFactor = 0.25,
  6322.     droppable = true,
  6323.     name = "Matter Blaster Scope",
  6324.     pickupSound = "pickupWeapon",
  6325.     scope = true,
  6326.     scopeSpeed = 1,
  6327.     spriteName = "matterblaster_scope",
  6328.     upgrade = "scope",
  6329.     upgradeIconName = "matterblaster_scope_upgIcon",
  6330.     upgradeSequence = {
  6331.       crank = {...},
  6332.       ending = {...},
  6333.       insert = {...},
  6334.       inspect = {...},
  6335.       mag = {...},
  6336.       prepare = {...},
  6337.     },
  6338.     upgrades = "matterBlaster",
  6339.   },
  6340.   matterBolt = {
  6341.     ai = {
  6342.       attackArc = 0.15707963267949,
  6343.       attackDist = 960,
  6344.       bulletSpeed = 65,
  6345.     },
  6346.     aimRange = 900,
  6347.     aimsAtBullets = false,
  6348.     ammoType = "matterAmmo",
  6349.     ammoUse = 2,
  6350.     bulletSpeed = 65,
  6351.     cooldown = 0.4,
  6352.     cooldownReductionSemi = 0.15,
  6353.     credits = 500,
  6354.     dangerFactor = 1.3,
  6355.     default_muzzleFx = "fireMuzzleLong",
  6356.     droppable = true,
  6357.     fireHeight = 5,
  6358.     health = 25,
  6359.     iconName = "matterbolt_icon",
  6360.     leeway = 20,
  6361.     matter = true,
  6362.     maxAmmo = 1,
  6363.     name = "Matter Bolt",
  6364.     pickupSound = "pickupWeapon",
  6365.     rack = "matter",
  6366.     rackAngle = -1.5707963267949,
  6367.     rackable = true,
  6368.     recoilAngle = 2,
  6369.     recoilControl = 0.65,
  6370.     recoilFatigue = 0.5,
  6371.     recoilSeed = 25,
  6372.     recoilSpeed = 2500,
  6373.     reloadBoosts = {
  6374.       0.25,
  6375.     },
  6376.     reloadSequence = {
  6377.       crank = {...},
  6378.       ending = {...},
  6379.       handle = {...},
  6380.       insert = {...},
  6381.       slide = {...},
  6382.     },
  6383.     reloadTime = 1.2,
  6384.     size = 4,
  6385.     sniper = true,
  6386.     spriteName = "matterbolt",
  6387.     switchedToSound = "switch",
  6388.     useSound = "matterBoltShoot",
  6389.     weapon = true,
  6390.   },
  6391.   matterBoltMagazine = {
  6392.     ai = {
  6393.     },
  6394.     ammoCapacity = 2,
  6395.     articleId = "magazine",
  6396.     credits = 175,
  6397.     dangerFactor = 0.2,
  6398.     droppable = true,
  6399.     maxLevel = 3,
  6400.     multilevel = true,
  6401.     name = "Matter Bolt Magazine",
  6402.     perLevelCredits = 175,
  6403.     pickupSound = "pickupWeapon",
  6404.     spriteName = "matterbolt_magazine2",
  6405.     spriteNames = {
  6406.       "matterbolt_magazine1",
  6407.       "matterbolt_magazine2",
  6408.       "matterbolt_magazine3",
  6409.     },
  6410.     upgrade = "magazine",
  6411.     upgradeIconNames = {
  6412.       "matterbolt_magazine1_upgIcon",
  6413.       "matterbolt_magazine2_upgIcon",
  6414.       "matterbolt_magazine3_upgIcon",
  6415.     },
  6416.     upgradeSequence = {
  6417.       crank = {...},
  6418.       ending = {...},
  6419.       insert = {...},
  6420.       inspect = {...},
  6421.       mag = {...},
  6422.       prepare = {...},
  6423.     },
  6424.     upgrades = "matterBolt",
  6425.   },
  6426.   matterBoltScope = {
  6427.     ai = {
  6428.     },
  6429.     aimRangeFactor = 1.1,
  6430.     articleId = "scope",
  6431.     credits = 250,
  6432.     dangerFactor = 0.2,
  6433.     droppable = true,
  6434.     name = "Matter Bolt Scope",
  6435.     pickupSound = "pickupWeapon",
  6436.     scope = true,
  6437.     scopeSpeed = 1.25,
  6438.     spriteName = "matterbolt_scope",
  6439.     upgrade = "scope",
  6440.     upgradeIconName = "matterbolt_scope_upgIcon",
  6441.     upgradeSequence = {
  6442.       crank = {...},
  6443.       ending = {...},
  6444.       insert = {...},
  6445.       inspect = {...},
  6446.       mag = {...},
  6447.       prepare = {...},
  6448.     },
  6449.     upgrades = "matterBolt",
  6450.   },
  6451.   matterBoltSilencer = {
  6452.     ai = {
  6453.     },
  6454.     articleId = "silencer",
  6455.     credits = 200,
  6456.     dangerFactor = 0.2,
  6457.     droppable = true,
  6458.     name = "Matter Bolt Silencer",
  6459.     pickupSound = "pickupWeapon",
  6460.     silencer = true,
  6461.     spriteName = "matterbolt_silencer",
  6462.     upgrade = "silencer",
  6463.     upgradeIconName = "matterbolt_silencer_upgIcon",
  6464.     upgradeSequence = {
  6465.       crank = {...},
  6466.       insert = {...},
  6467.       inspect = {...},
  6468.       slide = {...},
  6469.     },
  6470.     upgrades = "matterBolt",
  6471.   },
  6472.   matterCannon = {
  6473.     ai = {
  6474.       attackArc = 0.15707963267949,
  6475.       attackDist = 700,
  6476.       bulletSpeed = 50,
  6477.     },
  6478.     aimArc = 3.1415926535898,
  6479.     aimRange = 750,
  6480.     aimsAtBullets = false,
  6481.     ammoType = "matterAmmo",
  6482.     ammoUse = 3,
  6483.     bullet = "laserHeavy",
  6484.     bulletSpeed = 50,
  6485.     bulletTimeFactor = 0.6,
  6486.     cannon = true,
  6487.     cooldown = 0.9,
  6488.     credits = 325,
  6489.     customSpriteNames = {
  6490.       support = "mattercannon_support",
  6491.     },
  6492.     dangerFactor = 1.1,
  6493.     droppable = true,
  6494.     fireHeight = 5,
  6495.     health = 20,
  6496.     iconName = "mattercannon_icon",
  6497.     matter = true,
  6498.     maxAmmo = 5,
  6499.     name = "Matter Cannon",
  6500.     pickupSound = "pickupWeapon",
  6501.     rack = "matter",
  6502.     rackAngle = -1.5707963267949,
  6503.     rackable = true,
  6504.     recoilAngle = 10.5,
  6505.     recoilControl = 0.5,
  6506.     recoilFatigue = 6.4,
  6507.     recoilSeed = 28,
  6508.     recoilSpeed = 2800,
  6509.     reloadBoosts = {
  6510.       0.5,
  6511.     },
  6512.     reloadSequence = {
  6513.       handle = {...},
  6514.       mag = {...},
  6515.       prepare = {...},
  6516.       slide = {...},
  6517.     },
  6518.     reloadTime = 1.5,
  6519.     size = 4,
  6520.     soundRange = 950,
  6521.     spriteName = "mattercannon",
  6522.     switchedToSound = "switch",
  6523.     useSound = "matterCannonShoot",
  6524.     weapon = true,
  6525.   },
  6526.   matterCannonSupport = {
  6527.     ai = {
  6528.     },
  6529.     articleId = "support",
  6530.     credits = 125,
  6531.     dangerFactor = 0.2,
  6532.     droppable = true,
  6533.     name = "Matter Cannon Support",
  6534.     pickupSound = "pickupWeapon",
  6535.     spriteName = "mattercannon_support",
  6536.     upgrade = "support",
  6537.     upgradeIconName = "mattercannon_support_upgIcon",
  6538.     upgradeSequence = {
  6539.       crank = {...},
  6540.       insert = {...},
  6541.       inspect = {...},
  6542.       slide = {...},
  6543.     },
  6544.     upgrades = "matterCannon",
  6545.   },
  6546.   matterGun = {
  6547.     ai = {
  6548.       attackArc = 0.15707963267949,
  6549.       attackDist = 400,
  6550.       bulletSpeed = 50,
  6551.     },
  6552.     aimRange = 550,
  6553.     aimsAtBullets = false,
  6554.     ammoType = "matterAmmo",
  6555.     ammoUse = 1.5,
  6556.     bulletSpeed = 50,
  6557.     cooldown = 0.2,
  6558.     cooldownReductionSemi = 0.03,
  6559.     credits = 325,
  6560.     dangerFactor = 1.25,
  6561.     droppable = true,
  6562.     fireHeight = 5,
  6563.     health = 25,
  6564.     iconName = "lasergun_icon",
  6565.     matter = true,
  6566.     maxAmmo = 20,
  6567.     name = "Matter Gun",
  6568.     pickupSound = "pickupWeapon",
  6569.     pistol = true,
  6570.     rack = "matter",
  6571.     rackAngle = -1.5707963267949,
  6572.     rackable = true,
  6573.     recoilAngle = 5,
  6574.     recoilControl = 0.5,
  6575.     recoilFatigue = 0.3,
  6576.     recoilSeed = 5,
  6577.     recoilSpeed = 500,
  6578.     reloadBoosts = {
  6579.       0.4,
  6580.     },
  6581.     reloadSequence = {
  6582.       crank = {...},
  6583.       handle = {...},
  6584.       mag = {...},
  6585.       slide = {...},
  6586.     },
  6587.     reloadTime = 1.2,
  6588.     sidearm = true,
  6589.     size = 3,
  6590.     spriteName = "lasergun",
  6591.     switchedToSound = "switch",
  6592.     upgradeOrder = {
  6593.       "magazine",
  6594.       "silencer",
  6595.       "pointer",
  6596.       "scope",
  6597.     },
  6598.     useSound = "laserShot",
  6599.     weapon = true,
  6600.   },
  6601.   matterGunMagazine = {
  6602.     ai = {
  6603.     },
  6604.     ammoCapacity = 10,
  6605.     articleId = "magazine",
  6606.     credits = 80,
  6607.     dangerFactor = 0.1,
  6608.     droppable = true,
  6609.     iconName = "lasergun_magazine_icon",
  6610.     name = "Matter Gun Magazine",
  6611.     pickupSound = "pickupWeapon",
  6612.     spriteName = "lasergun_magazine",
  6613.     upgrade = "magazine",
  6614.     upgradeIconName = "lasergun_magazine_upgIcon",
  6615.     upgradeSequence = {
  6616.       crank = {...},
  6617.       ending = {...},
  6618.       insert = {...},
  6619.       inspect = {...},
  6620.       mag = {...},
  6621.       prepare = {...},
  6622.     },
  6623.     upgrades = "matterGun",
  6624.   },
  6625.   matterGunPointer = {
  6626.     ai = {
  6627.     },
  6628.     articleId = "pointer",
  6629.     credits = 80,
  6630.     customSpriteNames = {
  6631.       "laserray",
  6632.     },
  6633.     dangerFactor = 0.1,
  6634.     droppable = true,
  6635.     iconName = "lasergun_pointer_icon",
  6636.     name = "Matter Gun Pointer",
  6637.     pickupSound = "pickupWeapon",
  6638.     spriteName = "lasergun_pointer",
  6639.     upgrade = "pointer",
  6640.     upgradeIconName = "lasergun_pointer_upgIcon",
  6641.     upgradeSequence = {
  6642.       crank = {...},
  6643.       ending = {...},
  6644.       handle = {...},
  6645.       inspect = {...},
  6646.       prepare = {...},
  6647.     },
  6648.     upgrades = "matterGun",
  6649.   },
  6650.   matterGunScope = {
  6651.     ai = {
  6652.     },
  6653.     aimRangeFactor = 1.5,
  6654.     articleId = "scope",
  6655.     credits = 80,
  6656.     dangerFactor = 0.1,
  6657.     droppable = true,
  6658.     iconName = "lasergun_scope_icon",
  6659.     name = "Matter Gun Scope",
  6660.     pickupSound = "pickupWeapon",
  6661.     scope = true,
  6662.     scopeSpeed = 1,
  6663.     spriteName = "lasergun_scope",
  6664.     upgrade = "scope",
  6665.     upgradeIconName = "lasergun_scope_upgIcon",
  6666.     upgradeSequence = {
  6667.       crank = {...},
  6668.       ending = {...},
  6669.       insert = {...},
  6670.       inspect = {...},
  6671.       mag = {...},
  6672.       prepare = {...},
  6673.     },
  6674.     upgrades = "matterGun",
  6675.   },
  6676.   matterGunSilencer = {
  6677.     ai = {
  6678.     },
  6679.     articleId = "silencer",
  6680.     credits = 80,
  6681.     dangerFactor = 0.1,
  6682.     droppable = true,
  6683.     iconName = "lasergun_silencer_icon",
  6684.     name = "Matter Gun Silencer",
  6685.     pickupSound = "pickupWeapon",
  6686.     silencer = true,
  6687.     spriteName = "lasergun_silencer",
  6688.     upgrade = "silencer",
  6689.     upgradeIconName = "lasergun_silencer_upgIcon",
  6690.     upgradeSequence = {
  6691.       crank = {...},
  6692.       insert = {...},
  6693.       inspect = {...},
  6694.       slide = {...},
  6695.     },
  6696.     upgrades = "matterGun",
  6697.   },
  6698.   matterMachine = {
  6699.     ai = {
  6700.       attackArc = 0.15707963267949,
  6701.       attackDist = 450,
  6702.       bulletSpeed = 55,
  6703.       burst = 5,
  6704.     },
  6705.     aimRange = 700,
  6706.     aimsAtBullets = false,
  6707.     ammoType = "matterAmmo",
  6708.     ammoUse = 1.5,
  6709.     bullet = "laser",
  6710.     bulletBonusTime = 0.05,
  6711.     bulletSpeed = 55,
  6712.     cooldown = 0.12,
  6713.     credits = 850,
  6714.     dangerFactor = 1.75,
  6715.     droppable = true,
  6716.     fireHeight = 5,
  6717.     health = 25,
  6718.     iconName = "mattermachine_icon",
  6719.     matter = true,
  6720.     maxAmmo = 12,
  6721.     muzzleFx = "fireMuzzleStrong",
  6722.     name = "Matter Machine",
  6723.     pickupSound = "pickupWeapon",
  6724.     pistol = true,
  6725.     rack = "matter",
  6726.     rackAngle = -1.5707963267949,
  6727.     rackable = true,
  6728.     recoilAngle = 3,
  6729.     recoilControl = 0.95,
  6730.     recoilFatigue = 0.5,
  6731.     recoilSeed = 15,
  6732.     recoilSpeed = 1500,
  6733.     reloadBoosts = {
  6734.       0.33,
  6735.     },
  6736.     reloadSequence = {
  6737.       crank = {...},
  6738.       ending = {...},
  6739.       handle = {...},
  6740.       mag = {...},
  6741.       slide = {...},
  6742.     },
  6743.     reloadTime = 2.2,
  6744.     size = 4,
  6745.     soundRange = 1000,
  6746.     spriteName = "mattermachine",
  6747.     switchedToSound = "switch",
  6748.     useSound = "matterMachineShoot",
  6749.     weapon = true,
  6750.   },
  6751.   matterMachineMagazine = {
  6752.     ai = {
  6753.     },
  6754.     ammoCapacity = 12,
  6755.     articleId = "magazine",
  6756.     credits = 175,
  6757.     dangerFactor = 0.25,
  6758.     droppable = true,
  6759.     maxLevel = 3,
  6760.     multilevel = true,
  6761.     name = "Matter Machine Magazine",
  6762.     perLevelCredits = 125,
  6763.     pickupSound = "pickupWeapon",
  6764.     spriteName = "mattermachine_magazine2",
  6765.     spriteNames = {
  6766.       "mattermachine_magazine1",
  6767.       "mattermachine_magazine2",
  6768.       "mattermachine_magazine3",
  6769.     },
  6770.     upgrade = "magazine",
  6771.     upgradeIconNames = {
  6772.       "mattermachine_magazine1_upgIcon",
  6773.       "mattermachine_magazine2_upgIcon",
  6774.       "mattermachine_magazine3_upgIcon",
  6775.     },
  6776.     upgradeSequence = {
  6777.       crank = {...},
  6778.       ending = {...},
  6779.       insert = {...},
  6780.       inspect = {...},
  6781.       mag = {...},
  6782.       prepare = {...},
  6783.     },
  6784.     upgrades = "matterMachine",
  6785.   },
  6786.   matterMachinePointer = {
  6787.     ai = {
  6788.     },
  6789.     articleId = "pointer",
  6790.     credits = 150,
  6791.     customSpriteNames = {
  6792.       "laserray",
  6793.     },
  6794.     dangerFactor = 0.1,
  6795.     droppable = true,
  6796.     name = "Matter Machine Pointer",
  6797.     pickupSound = "pickupWeapon",
  6798.     spriteName = "mattermachine_pointer",
  6799.     upgrade = "pointer",
  6800.     upgradeIconName = "mattermachine_pointer_upgIcon",
  6801.     upgradeSequence = {
  6802.       crank = {...},
  6803.       insert = {...},
  6804.       inspect = {...},
  6805.       slide = {...},
  6806.     },
  6807.     upgrades = "matterMachine",
  6808.   },
  6809.   matterMachineScope = {
  6810.     ai = {
  6811.     },
  6812.     aimRangeFactor = 1.1,
  6813.     articleId = "scope",
  6814.     credits = 150,
  6815.     dangerFactor = 0.1,
  6816.     droppable = true,
  6817.     name = "Matter Machine Scope",
  6818.     pickupSound = "pickupWeapon",
  6819.     scope = true,
  6820.     scopeSpeed = 0.75,
  6821.     spriteName = "mattermachine_scope",
  6822.     upgrade = "scope",
  6823.     upgradeIconName = "mattermachine_scope_upgIcon",
  6824.     upgradeSequence = {
  6825.       crank = {...},
  6826.       ending = {...},
  6827.       insert = {...},
  6828.       inspect = {...},
  6829.       mag = {...},
  6830.       prepare = {...},
  6831.     },
  6832.     upgrades = "matterMachine",
  6833.   },
  6834.   matterPistol = {
  6835.     ai = {
  6836.       attackArc = 0.15707963267949,
  6837.       attackDist = 400,
  6838.     },
  6839.     aimArc = 3.1415926535898,
  6840.     aimRange = 700,
  6841.     aimsAtBullets = false,
  6842.     ammoType = "matterAmmo",
  6843.     bulletSpeed = 37,
  6844.     bulletTimeFactor = 0.6,
  6845.     cooldown = 0.4,
  6846.     cooldownReductionSemi = 0.1,
  6847.     credits = 100,
  6848.     dangerFactor = 0.3,
  6849.     droppable = true,
  6850.     fireHeight = 5,
  6851.     health = 15,
  6852.     iconName = "matterpistol_icon",
  6853.     matter = true,
  6854.     maxAmmo = 10,
  6855.     muzzleFx = "fireMuzzleSmall",
  6856.     name = "Matter Pistol",
  6857.     pickupSound = "pickupWeapon",
  6858.     pistol = true,
  6859.     rack = "matter",
  6860.     rackAngle = -1.5707963267949,
  6861.     rackable = true,
  6862.     recoilAngle = 8,
  6863.     recoilControl = 0.8,
  6864.     recoilFatigue = 1.26,
  6865.     recoilSeed = 12,
  6866.     recoilSpeed = 1200,
  6867.     reloadSequence = {
  6868.       handle = {...},
  6869.       insert = {...},
  6870.       prepare = {...},
  6871.       slide = {...},
  6872.     },
  6873.     reloadTime = 0.9,
  6874.     sidearm = true,
  6875.     size = 2,
  6876.     soundRange = 950,
  6877.     spriteName = "matterpistol",
  6878.     switchedToSound = "switch",
  6879.     useSound = "matterPistolShoot",
  6880.     weapon = true,
  6881.   },
  6882.   matterPistolBarrelMod = {
  6883.     ai = {
  6884.     },
  6885.     credits = 125,
  6886.     dangerFactor = 0.15,
  6887.     droppable = true,
  6888.     name = "Matter Pistol Barrel Mod",
  6889.     pickupSound = "pickupWeapon",
  6890.     spriteName = "matterpistol_barrel",
  6891.     upgrade = "barrelMod",
  6892.     upgradeIconName = "matterpistol_barrel_upgIcon",
  6893.     upgradeSequence = {
  6894.       crank = {...},
  6895.       insert = {...},
  6896.       inspect = {...},
  6897.       slide = {...},
  6898.     },
  6899.     upgrades = "matterPistol",
  6900.   },
  6901.   matterRifle = {
  6902.     ai = {
  6903.       attackArc = 0.15707963267949,
  6904.       attackDist = 800,
  6905.       bulletSpeed = 65,
  6906.       burst = 3,
  6907.     },
  6908.     aimArc = 3.1415926535898,
  6909.     aimRange = 815,
  6910.     aimsAtBullets = false,
  6911.     ammoType = "matterAmmo",
  6912.     ammoUse = 1.25,
  6913.     automatic = true,
  6914.     bullet = "laserLong",
  6915.     bulletSpeed = 65,
  6916.     bulletTimeFactor = 0.6,
  6917.     cooldown = 0.1,
  6918.     credits = 650,
  6919.     customSpriteNames = {
  6920.       pointer = "matterrifle_pointer",
  6921.       scope = "matterrifle_scope",
  6922.     },
  6923.     dangerFactor = 1.75,
  6924.     droppable = true,
  6925.     fireForward = 10,
  6926.     fireHeight = 5,
  6927.     health = 30,
  6928.     iconName = "matterrifle_icon",
  6929.     matter = true,
  6930.     maxAmmo = 30,
  6931.     muzzleFx = "fireMuzzleReduced",
  6932.     name = "Matter Rifle",
  6933.     pickupSound = "pickupWeapon",
  6934.     rack = "matter",
  6935.     rackAngle = -1.5707963267949,
  6936.     rackable = true,
  6937.     recoilAngle = 1.25,
  6938.     recoilControl = 0.75,
  6939.     recoilFatigue = 0.26,
  6940.     recoilSeed = 3,
  6941.     recoilSpeed = 300,
  6942.     reloadBoosts = {
  6943.       0.6,
  6944.     },
  6945.     reloadSequence = {
  6946.       crank = {...},
  6947.       handle = {...},
  6948.       mag = {...},
  6949.       prepare = {...},
  6950.       slide = {...},
  6951.     },
  6952.     reloadTime = 1.75,
  6953.     rifle = true,
  6954.     size = 4,
  6955.     sniper = true,
  6956.     soundRange = 950,
  6957.     spriteName = "matterrifle",
  6958.     switchedToSound = "switch",
  6959.     useSound = "matterRifleShoot",
  6960.     weapon = true,
  6961.   },
  6962.   matterRifleMagazine = {
  6963.     ai = {
  6964.     },
  6965.     ammoCapacity = 15,
  6966.     articleId = "magazine",
  6967.     credits = 150,
  6968.     dangerFactor = 0.15,
  6969.     droppable = true,
  6970.     maxLevel = 2,
  6971.     multilevel = true,
  6972.     name = "Matter Rifle Magazine",
  6973.     perLevelCredits = 200,
  6974.     pickupSound = "pickupWeapon",
  6975.     spriteName = "matterrifle_magazine1",
  6976.     spriteNames = {
  6977.       "matterrifle_magazine1",
  6978.       "matterrifle_magazine2",
  6979.     },
  6980.     upgrade = "magazine",
  6981.     upgradeIconNames = {
  6982.       "matterrifle_magazine1_upgIcon",
  6983.       "matterrifle_magazine2_upgIcon",
  6984.     },
  6985.     upgradeSequence = {
  6986.       crank = {...},
  6987.       insert = {...},
  6988.       inspect = {...},
  6989.       prepare = {...},
  6990.       slide = {...},
  6991.     },
  6992.     upgrades = "matterRifle",
  6993.   },
  6994.   matterRiflePointer = {
  6995.     ai = {
  6996.     },
  6997.     articleId = "pointer",
  6998.     credits = 175,
  6999.     customSpriteNames = {
  7000.       "laserray",
  7001.     },
  7002.     dangerFactor = 0.1,
  7003.     droppable = true,
  7004.     name = "Matter Rifle Pointer",
  7005.     pickupSound = "pickupWeapon",
  7006.     spriteName = "matterrifle_pointer",
  7007.     upgrade = "pointer",
  7008.     upgradeIconName = "matterrifle_pointer_upgIcon",
  7009.     upgradeSequence = {
  7010.       crank = {...},
  7011.       ending = {...},
  7012.       inspect = {...},
  7013.       prepare = {...},
  7014.       slide = {...},
  7015.     },
  7016.     upgrades = "matterRifle",
  7017.   },
  7018.   matterRifleScope = {
  7019.     ai = {
  7020.     },
  7021.     aimRangeFactor = 1.25,
  7022.     articleId = "scope",
  7023.     credits = 175,
  7024.     dangerFactor = 0.1,
  7025.     droppable = true,
  7026.     name = "Matter Rifle Scope",
  7027.     pickupSound = "pickupWeapon",
  7028.     scope = true,
  7029.     scopeSpeed = 1.25,
  7030.     spriteName = "matterrifle_scope",
  7031.     upgrade = "scope",
  7032.     upgradeIconName = "matterrifle_scope_upgIcon",
  7033.     upgradeSequence = {
  7034.       crank = {...},
  7035.       insert = {...},
  7036.       inspect = {...},
  7037.       mag = {...},
  7038.       prepare = {...},
  7039.     },
  7040.     upgrades = "matterRifle",
  7041.   },
  7042.   matterWar = {
  7043.     ai = {
  7044.       attackArc = 0.062831853071796,
  7045.       attackDist = 800,
  7046.       bulletSpeed = 90,
  7047.     },
  7048.     aimRange = 900,
  7049.     aimsAtBullets = false,
  7050.     ammoType = "matterAmmo",
  7051.     ammoUse = 4,
  7052.     bullet = "laserFat",
  7053.     bulletBonusTime = 0.25,
  7054.     bulletSpeed = 55,
  7055.     cannon = true,
  7056.     cooldown = 0.65,
  7057.     cooldownReductionSemi = 0.2,
  7058.     credits = 1300,
  7059.     dangerFactor = 1.8,
  7060.     droppable = true,
  7061.     fireHeight = 5,
  7062.     health = 30,
  7063.     iconName = "matterwar_icon",
  7064.     icon_scale = 1.4,
  7065.     leeway = 20,
  7066.     matter = true,
  7067.     maxAmmo = 1,
  7068.     muzzleFx = "fireMuzzleHuge",
  7069.     name = "Matter War",
  7070.     pickupSound = "pickupWeapon",
  7071.     rack = "matter",
  7072.     rackAngle = -1.5707963267949,
  7073.     rackable = true,
  7074.     recoilAngle = 8,
  7075.     recoilControl = 0.65,
  7076.     recoilFatigue = 1.4,
  7077.     recoilSeed = 35,
  7078.     recoilSpeed = 3500,
  7079.     reloadBoosts = {
  7080.       0.5,
  7081.     },
  7082.     reloadSequence = {
  7083.       crank = {...},
  7084.       handle = {...},
  7085.       insert = {...},
  7086.       mag = {...},
  7087.       slide = {...},
  7088.     },
  7089.     reloadTime = 1.6,
  7090.     size = 5,
  7091.     sniper = true,
  7092.     soundRange = 1400,
  7093.     spriteName = "matterwar",
  7094.     switchedToSound = "switch",
  7095.     useSound = "matterWarShoot",
  7096.     weapon = true,
  7097.   },
  7098.   matterWarBarrel = {
  7099.     ai = {
  7100.     },
  7101.     articleId = "extendedBarrel",
  7102.     bulletSpeedBonus = 15,
  7103.     credits = 350,
  7104.     dangerFactor = 0.3,
  7105.     droppable = true,
  7106.     maxLevel = 2,
  7107.     multilevel = true,
  7108.     name = "Matter War Barrel",
  7109.     perLevelCredits = 300,
  7110.     pickupSound = "pickupWeapon",
  7111.     spriteName = "matterwar_barrel2",
  7112.     spriteNames = {
  7113.       "matterwar_barrel1",
  7114.       "matterwar_barrel2",
  7115.     },
  7116.     upgrade = "barrel",
  7117.     upgradeIconNames = {
  7118.       "matterwar_barrel1_upgIcon",
  7119.       "matterwar_barrel2_upgIcon",
  7120.     },
  7121.     upgradeSequence = {
  7122.       crank = {...},
  7123.       ending = {...},
  7124.       insert = {...},
  7125.       inspect = {...},
  7126.       mag = {...},
  7127.       prepare = {...},
  7128.     },
  7129.     upgrades = "matterWar",
  7130.   },
  7131.   matterWarMagazine = {
  7132.     ai = {
  7133.     },
  7134.     ammoCapacity = 2,
  7135.     articleId = "magazine",
  7136.     credits = 325,
  7137.     dangerFactor = 0.4,
  7138.     droppable = true,
  7139.     maxLevel = 3,
  7140.     multilevel = true,
  7141.     name = "Matter War Magazine",
  7142.     perLevelCredits = 300,
  7143.     pickupSound = "pickupWeapon",
  7144.     spriteName = "matterwar_magazine2",
  7145.     spriteNames = {
  7146.       "matterwar_magazine1",
  7147.       "matterwar_magazine2",
  7148.       "matterwar_magazine3",
  7149.     },
  7150.     upgrade = "magazine",
  7151.     upgradeIconNames = {
  7152.       "matterwar_magazine1_upgIcon",
  7153.       "matterwar_magazine2_upgIcon",
  7154.       "matterwar_magazine3_upgIcon",
  7155.     },
  7156.     upgradeSequence = {
  7157.       crank = {...},
  7158.       ending = {...},
  7159.       insert = {...},
  7160.       inspect = {...},
  7161.       mag = {...},
  7162.       prepare = {...},
  7163.     },
  7164.     upgrades = "matterWar",
  7165.   },
  7166.   matterWarScope = {
  7167.     ai = {
  7168.     },
  7169.     aimRangeFactor = 1.6,
  7170.     articleId = "scope",
  7171.     credits = 350,
  7172.     dangerFactor = 0.3,
  7173.     droppable = true,
  7174.     name = "Matter War Scope",
  7175.     pickupSound = "pickupWeapon",
  7176.     scope = true,
  7177.     scopeSpeed = 1.25,
  7178.     spriteName = "matterwar_scope",
  7179.     upgrade = "scope",
  7180.     upgradeIconName = "matterwar_scope_upgIcon",
  7181.     upgradeSequence = {
  7182.       crank = {...},
  7183.       ending = {...},
  7184.       insert = {...},
  7185.       inspect = {...},
  7186.       mag = {...},
  7187.       prepare = {...},
  7188.     },
  7189.     upgrades = "matterWar",
  7190.   },
  7191.   matterWarSupport = {
  7192.     ai = {
  7193.     },
  7194.     articleId = "support",
  7195.     credits = 325,
  7196.     dangerFactor = 0.25,
  7197.     droppable = true,
  7198.     name = "Matter War Support",
  7199.     pickupSound = "pickupWeapon",
  7200.     spriteName = "matterwar_support",
  7201.     upgrade = "support",
  7202.     upgradeIconName = "matterwar_support_upgIcon",
  7203.     upgradeSequence = {
  7204.       crank = {...},
  7205.       insert = {...},
  7206.       inspect = {...},
  7207.       slide = {...},
  7208.     },
  7209.     upgrades = "matterWar",
  7210.   },
  7211.   megaBomb = {
  7212.     active_physics = {
  7213.       {...},
  7214.       {...},
  7215.       bodyDef = {...},
  7216.     },
  7217.     ai = {
  7218.       attackArc = 1.5707963267949,
  7219.       attackDist = 900,
  7220.       suicideDist = 125,
  7221.     },
  7222.     asObjectPhysics = {
  7223.       {...},
  7224.       {...},
  7225.       bodyDef = {...},
  7226.     },
  7227.     bomb = true,
  7228.     box2dControlled = true,
  7229.     bulletTimeDistanceFactor = 0.75,
  7230.     bulletTimeFactor = 0.5,
  7231.     carried = true,
  7232.     credits = 50,
  7233.     customSpriteNames = {
  7234.       "doomBomb_glow1",
  7235.       "doomBomb_glow2",
  7236.     },
  7237.     dangerFactor = 3,
  7238.     droppable = true,
  7239.     explosion = "thermal",
  7240.     explosionIntensity = 1,
  7241.     explosive = true,
  7242.     gravity = 28,
  7243.     health = 2,
  7244.     heat = true,
  7245.     hitMode = "arm",
  7246.     iconName = "doomBomb_icon",
  7247.     lifeTime = 3,
  7248.     logic = {
  7249.       "active_physics_when_armed",
  7250.     },
  7251.     name = "Thermal Bomb",
  7252.     pickupSound = "pickupWeapon",
  7253.     shockwave = true,
  7254.     size = 5,
  7255.     spawnCooldown = 3,
  7256.     spriteName = "doomBomb",
  7257.     stackable = true,
  7258.     throwAngle = 1.5707963267949,
  7259.     throwAttack = true,
  7260.   },
  7261.   megaBombExtendedTimer = {
  7262.     ai = {
  7263.     },
  7264.     hidden = true,
  7265.     multilevel = true,
  7266.     name = "Bomb Extended Timer (1s)",
  7267.     upgrade = "extendedTimer",
  7268.     upgrades = "megaBomb",
  7269.   },
  7270.   memoryChipBig = {
  7271.     ai = {
  7272.     },
  7273.     asObjectDensity = 1,
  7274.     big = true,
  7275.     bounceSound = "bounceMetal",
  7276.     circuit = true,
  7277.     credits = 60,
  7278.     customSpriteNames = {
  7279.       glow = "memoryChipBigGlow",
  7280.     },
  7281.     droppable = true,
  7282.     electronics = true,
  7283.     iconName = "memoryChipBig_icon",
  7284.     name = "Advanced Memory Module",
  7285.     pickupSound = "pickup",
  7286.     spriteName = "memoryChipBig",
  7287.     stackable = true,
  7288.   },
  7289.   memoryChipSmall = {
  7290.     ai = {
  7291.     },
  7292.     asObjectDensity = 1,
  7293.     bounceSound = "bounceMetal",
  7294.     circuit = true,
  7295.     credits = 12,
  7296.     customSpriteNames = {
  7297.       glow = "memoryChipGlow",
  7298.     },
  7299.     droppable = true,
  7300.     electronics = true,
  7301.     iconName = "memoryChip_icon",
  7302.     name = "Memory Module",
  7303.     pickupSound = "pickup",
  7304.     small = true,
  7305.     spriteName = "memoryChip",
  7306.     stackable = true,
  7307.   },
  7308.   metalRod = {
  7309.     ai = {
  7310.       attackArc = 1.5707963267949,
  7311.       attackDist = 100,
  7312.       bulletSpeed = 10000,
  7313.     },
  7314.     aimArc = 2.8274333882308,
  7315.     aimRange = 175,
  7316.     aimSpeed = 0.4,
  7317.     alwaysAim = true,
  7318.     attack = "blunt",
  7319.     attackFactor = 1.3,
  7320.     breakable = true,
  7321.     bulletTimeFactor = 2,
  7322.     chargeCooldown = 0.3,
  7323.     chargeDelaySpeed = 1.5,
  7324.     chargeSpeed = 0.5,
  7325.     closeCombat = true,
  7326.     credits = 15,
  7327.     dangerFactor = 0.5,
  7328.     droppable = true,
  7329.     failedCooldown = 0,
  7330.     forceFactor = 1.2,
  7331.     health = 15,
  7332.     iconName = "metalRod_icon",
  7333.     logic = {
  7334.       "render_with_feedback",
  7335.       "node_attack",
  7336.       "node_attack_actor_adaptive",
  7337.       "node_attack_charge_boost",
  7338.       "node_attack_hit_self_breakage",
  7339.       "can_use_with_any_charge",
  7340.     },
  7341.     melee = true,
  7342.     minCooldown = 0.175,
  7343.     name = "Metal Rod",
  7344.     nodeAttack = "swing",
  7345.     pickupSound = "pickupWeapon",
  7346.     rackAngle = 0,
  7347.     range = 36,
  7348.     size = 5,
  7349.     speed = 0.8,
  7350.     spriteName = "metalRod",
  7351.     switchedToSound = "switch",
  7352.     vendorAngle = -1.0367255756846,
  7353.     weapon = true,
  7354.   },
  7355.   metalShield = {
  7356.     absorbation = 0,
  7357.     breakSound = "breakFinal1",
  7358.     breakable = true,
  7359.     credits = 50,
  7360.     customSpriteNames = {
  7361.       base = "metalShieldBase",
  7362.       pieces = {...},
  7363.     },
  7364.     cyborg = true,
  7365.     dangerFactor = 0.4,
  7366.     debrisSprite = "base",
  7367.     defence = true,
  7368.     droppable = true,
  7369.     equipment = "shield",
  7370.     equipment_visual = "secondary",
  7371.     general = true,
  7372.     health = 16,
  7373.     hitDamageFactor = 4,
  7374.     hitSound = "hitMetalHeavy",
  7375.     hit_prio = 5,
  7376.     iconName = "metalShield_icon",
  7377.     listing = true,
  7378.     localized_info_id = "item_energyShield_info",
  7379.     name = "Shield (Metal)",
  7380.     node = "secondary",
  7381.     protectionActive = true,
  7382.     protectionForwards = true,
  7383.     protectionHigher = 20,
  7384.     protectionLower = -20,
  7385.     robot = true,
  7386.     secondary = true,
  7387.     shield = true,
  7388.     spriteName = "metalShield",
  7389.   },
  7390.   missileAmmo = {
  7391.     ai = {
  7392.     },
  7393.     ammoIndex = 4,
  7394.     consumable = true,
  7395.     gearDamage = 1.5,
  7396.     iconName = "launcher_ammoIcon",
  7397.     name = "Missile Ammo",
  7398.     pickupSound = "pickupAmmo",
  7399.     predictable = false,
  7400.     stackable = true,
  7401.   },
  7402.   molotov = {
  7403.     ai = {
  7404.       attackArc = 0.78539816339745,
  7405.       attackDist = 500,
  7406.       suicideDist = 200,
  7407.     },
  7408.     asObjectPhysics = {
  7409.       {...},
  7410.       {...},
  7411.       {...},
  7412.       {...},
  7413.       bodyDef = {...},
  7414.     },
  7415.     attack = "molotovHit",
  7416.     box2dControlled = true,
  7417.     bulletTimeDistanceFactor = 0.75,
  7418.     bulletTimeFactor = 1.05,
  7419.     carried = true,
  7420.     credits = 15,
  7421.     dangerFactor = 0.9,
  7422.     droppable = true,
  7423.     explosion = "molotov",
  7424.     explosionIntensity = 1,
  7425.     explosive = true,
  7426.     gravity = 32,
  7427.     grenade = true,
  7428.     health = 2,
  7429.     hitMode = "arm",
  7430.     iconName = "molotov_icon",
  7431.     lifeTime = 4,
  7432.     logic = {
  7433.       "on_destroy_emit_explosion",
  7434.     },
  7435.     name = "Molotov",
  7436.     pickupSound = "pickupWeapon",
  7437.     size = 3,
  7438.     spriteName = "molotov",
  7439.     stackable = true,
  7440.     throwAttack = true,
  7441.     vendorAngle = 0.78539816339745,
  7442.   },
  7443.   moveChrono = {
  7444.     activated_flash = 0.5,
  7445.     activated_flash_duration = 0.25,
  7446.     activated_fx = "chronoRing",
  7447.     activated_sound = "chronoOn",
  7448.     active_loop = "chrono",
  7449.     active_loop_charge_modulation = -0.25,
  7450.     active_loop_charge_volume = 0.25,
  7451.     active_trail_fx = "chronoRingTrail",
  7452.     active_trail_fx_delay = 0.05,
  7453.     active_trail_fx_spawn_offset = -64,
  7454.     active_trail_fx_threshold = 1,
  7455.     ai = {
  7456.     },
  7457.     bullet_time_activate_speed = 4,
  7458.     bullet_time_deactivate_speed = 1,
  7459.     bullet_time_exponential_factor = 1,
  7460.     bullet_time_factor = 2,
  7461.     bullet_time_factor_max = 2,
  7462.     bullet_time_min = 1,
  7463.     bullet_time_range = 400,
  7464.     cooldown = 0.55,
  7465.     credits = 250,
  7466.     dangerFactor = 0.2,
  7467.     dash_duration = 0.2,
  7468.     deactivated_flash = 0.5,
  7469.     deactivated_flash_duration = 0.25,
  7470.     deactivated_fx = "chronoRingOff",
  7471.     deactivated_sound = "chronoOff",
  7472.     effect = "chronoBend",
  7473.     equipment = "chrono",
  7474.     hidden = true,
  7475.     iconName = "reactionEnhancer_icon",
  7476.     logic = {
  7477.       "time_factor_hud_markers",
  7478.       "activated_reactor_cost",
  7479.       "activated_effect",
  7480.       "activated_limited_by_duration",
  7481.       "use_limited_by_reactor",
  7482.       "activated_feedback",
  7483.       "deactivated_feedback",
  7484.       "active_trail_feedback",
  7485.       "use_activate_with_cooldown_and_release",
  7486.       "activated_actor_dash",
  7487.     },
  7488.     move = true,
  7489.     movement = "moveDash",
  7490.     name = "Move Chrono Bender",
  7491.     reactor_cost_abort = 0.5,
  7492.     reactor_cost_per_activation = 1,
  7493.     reactor_cost_per_second = 0.33,
  7494.     reactor_use_limit = 1,
  7495.   },
  7496.   moveCloak = {
  7497.     ai = {
  7498.     },
  7499.     cooldown = 0.55,
  7500.     credits = 250,
  7501.     dangerFactor = 0.2,
  7502.     dash_duration = 0.2,
  7503.     effect = "cloak",
  7504.     equipment = "cloak",
  7505.     hidden = true,
  7506.     iconName = "reactionEnhancer_icon",
  7507.     logic = {
  7508.       "activated_effect",
  7509.       "activated_limited_by_duration",
  7510.       "use_limited_by_reactor",
  7511.       "use_activate_with_cooldown_and_release",
  7512.       "activated_actor_dash",
  7513.       "activated_reactor_cost",
  7514.     },
  7515.     move = true,
  7516.     movement = "moveDash",
  7517.     name = "Implant Cloaking",
  7518.     reactor_cost_abort = 0.5,
  7519.     reactor_cost_per_activation = 1,
  7520.     reactor_cost_per_second = 0.25,
  7521.     reactor_use_limit = 1,
  7522.   },
  7523.   moveDash = {
  7524.     activated_duration = 0.175,
  7525.     ai = {
  7526.     },
  7527.     aiConcept = "desiredDashing",
  7528.     attack = "dash",
  7529.     cooldown = 0.5,
  7530.     credits = 250,
  7531.     customSpriteNames = {
  7532.       engine = "dashEngine",
  7533.     },
  7534.     dangerFactor = 0.75,
  7535.     dash_control_reactor_minimum = 0.05,
  7536.     dash_control_reactor_threshold = 0.75,
  7537.     dash_duration = 0.175,
  7538.     droppable = false,
  7539.     equipment = "dash",
  7540.     equipment_visual = "torso",
  7541.     hidden = true,
  7542.     hudDat = "hud_update_1.dat",
  7543.     iconName = "moveDash_icon",
  7544.     logic = {
  7545.       "activated_limited_by_duration",
  7546.       "use_activate_with_cooldown",
  7547.       "activated_actor_dash",
  7548.       "not_in_vehicle_input",
  7549.       "actor_identity_glow_color",
  7550.       "rig_render_sprite_visual_angle_engine",
  7551.       "visual_angle_fetch_actor_dash_angle",
  7552.     },
  7553.     move = true,
  7554.     movement = "moveDash",
  7555.     name = "Move Dash",
  7556.     no_composite_upgrade_hud = true,
  7557.     nodes = {
  7558.       engine = {...},
  7559.     },
  7560.     reactor_cost_per_second = 2.8571428571429,
  7561.     reactor_use_limit = 0,
  7562.     spriteName = "dash",
  7563.   },
  7564.   moveDeflect = {
  7565.     ai = {
  7566.     },
  7567.     cooldown = 0.55,
  7568.     credits = 250,
  7569.     dangerFactor = 0,
  7570.     dash_duration = 0.2,
  7571.     deflect_arc = 4.7123889803847,
  7572.     deflect_perfect_arc = 1.5707963267949,
  7573.     equipment = "dash",
  7574.     hidden = true,
  7575.     hit_prio = 10,
  7576.     iconName = "shieldbelt_icon",
  7577.     logic = {
  7578.       "use_limited_by_reactor",
  7579.       "activated_limited_by_duration",
  7580.       "use_activate_with_cooldown_and_release",
  7581.       "activated_actor_dash",
  7582.       "activated_reactor_cost",
  7583.     },
  7584.     move = true,
  7585.     movement = "moveDash",
  7586.     name = "Move Deflect",
  7587.     reactor_cost_abort = 0.5,
  7588.     reactor_cost_per_activation = 1,
  7589.     reactor_cost_per_second = 0.5,
  7590.     reactor_use_limit = 1,
  7591.   },
  7592.   moveHarden = {
  7593.     ai = {
  7594.     },
  7595.     cooldown = 0.55,
  7596.     credits = 250,
  7597.     dangerFactor = 0.2,
  7598.     dash_duration = 0.2,
  7599.     effect = "harden",
  7600.     effectIntensity = 10,
  7601.     effect_color = {
  7602.       a = 255,
  7603.       b = 109,
  7604.       g = 255,
  7605.       r = 109,
  7606.     },
  7607.     equipment = "harden",
  7608.     hidden = true,
  7609.     iconName = "reactionEnhancer_icon",
  7610.     logic = {
  7611.       "activated_effect",
  7612.       "activated_limited_by_duration",
  7613.       "effect_amount_scaled_by_reactor",
  7614.       "use_limited_by_reactor",
  7615.       "render_effect",
  7616.       "use_activate_with_cooldown_and_release",
  7617.       "activated_actor_dash",
  7618.       "activated_reactor_cost",
  7619.     },
  7620.     move = true,
  7621.     movement = "moveDash",
  7622.     name = "Implant Harden",
  7623.     reactor_charge_effect_amount_scale = 1,
  7624.     reactor_cost_abort = 0.5,
  7625.     reactor_cost_per_activation = 1,
  7626.     reactor_cost_per_second = 1,
  7627.     reactor_use_limit = 1,
  7628.   },
  7629.   moveReflect = {
  7630.     ai = {
  7631.     },
  7632.     cooldown = 0.55,
  7633.     credits = 250,
  7634.     dangerFactor = 0.2,
  7635.     dash_duration = 0.2,
  7636.     effect = "reflect",
  7637.     effectIntensity = 0.5,
  7638.     effectRange = 100,
  7639.     effect_color = {
  7640.       a = 255,
  7641.       b = 225,
  7642.       g = 109,
  7643.       r = 255,
  7644.     },
  7645.     equipment = "reflect",
  7646.     hidden = true,
  7647.     iconName = "reactionEnhancer_icon",
  7648.     logic = {
  7649.       "activated_effect",
  7650.       "activated_limited_by_duration",
  7651.       "use_limited_by_reactor",
  7652.       "render_effect",
  7653.       "use_activate_with_cooldown_and_release",
  7654.       "activated_actor_dash",
  7655.       "activated_reactor_cost",
  7656.     },
  7657.     move = true,
  7658.     movement = "moveDash",
  7659.     name = "Implant Reflect",
  7660.     reactor_cost_abort = 0.5,
  7661.     reactor_cost_per_activation = 1,
  7662.     reactor_cost_per_second = 1,
  7663.     reactor_use_limit = 1,
  7664.   },
  7665.   moveStun = {
  7666.     ai = {
  7667.     },
  7668.     cooldown = 0.55,
  7669.     credits = 250,
  7670.     dangerFactor = 0.2,
  7671.     dash_duration = 0.2,
  7672.     effect = "stun",
  7673.     effectIntensity = 2.5,
  7674.     effectRange = 250,
  7675.     effect_color = {
  7676.       a = 255,
  7677.       b = 86,
  7678.       g = 225,
  7679.       r = 255,
  7680.     },
  7681.     equipment = "stun",
  7682.     hidden = true,
  7683.     iconName = "reactionEnhancer_icon",
  7684.     logic = {
  7685.       "activated_effect",
  7686.       "activated_limited_by_duration",
  7687.       "use_limited_by_reactor",
  7688.       "render_effect",
  7689.       "use_activate_with_cooldown_and_release",
  7690.       "activated_actor_dash",
  7691.       "activated_reactor_cost",
  7692.     },
  7693.     move = true,
  7694.     movement = "moveDash",
  7695.     name = "Implant Stun",
  7696.     reactor_cost_abort = 0.5,
  7697.     reactor_cost_per_activation = 1,
  7698.     reactor_cost_per_second = 0.75,
  7699.     reactor_use_limit = 1,
  7700.   },
  7701.   mushroom2Big = {
  7702.     ai = {
  7703.     },
  7704.     asObjectBounce = 0.4,
  7705.     asObjectDensity = 1,
  7706.     big = true,
  7707.     botanic = true,
  7708.     bounceSound = "bounceMushroomBig",
  7709.     credits = 15,
  7710.     droppable = true,
  7711.     iconName = "mushroom2Big_icon",
  7712.     mushroom = true,
  7713.     name = "Pungent Mushroom",
  7714.     pickupSound = "pickup",
  7715.     spriteName = "mushroom2Big",
  7716.     stackable = true,
  7717.   },
  7718.   mushroom2Small = {
  7719.     ai = {
  7720.     },
  7721.     asObjectBounce = 0.4,
  7722.     asObjectDensity = 1,
  7723.     botanic = true,
  7724.     bounceSound = "bounceMushroom",
  7725.     credits = 2,
  7726.     droppable = true,
  7727.     iconName = "mushroom2Small_icon",
  7728.     mushroom = true,
  7729.     name = "Slimey Mushroom",
  7730.     pickupSound = "pickup",
  7731.     small = true,
  7732.     spriteName = "mushroom2Small",
  7733.     stackable = true,
  7734.   },
  7735.   mushroomBig = {
  7736.     ai = {
  7737.     },
  7738.     asObjectBounce = 0.4,
  7739.     asObjectDensity = 1,
  7740.     big = true,
  7741.     botanic = true,
  7742.     bounceSound = "bounceMushroomBig",
  7743.     credits = 10,
  7744.     droppable = true,
  7745.     iconName = "mushroomBig_icon",
  7746.     mushroom = true,
  7747.     name = "Ecstatic Mushroom",
  7748.     pickupSound = "pickup",
  7749.     spriteName = "mushroomBig",
  7750.     stackable = true,
  7751.   },
  7752.   mushroomSmall = {
  7753.     ai = {
  7754.     },
  7755.     asObjectBounce = 0.4,
  7756.     asObjectDensity = 1,
  7757.     botanic = true,
  7758.     bounceSound = "bounceMushroom",
  7759.     credits = 1,
  7760.     droppable = true,
  7761.     iconName = "mushroomSmall_icon",
  7762.     mushroom = true,
  7763.     name = "Tickled Mushroom",
  7764.     pickupSound = "pickup",
  7765.     small = true,
  7766.     spriteName = "mushroomSmall",
  7767.     stackable = true,
  7768.   },
  7769.   mycelishroom = {
  7770.     actorClass = "myceliaRider",
  7771.     ai = {
  7772.       attackArc = 2.3561944901923,
  7773.       attackDist = 1000,
  7774.       attackWhenCareful = true,
  7775.       suicideDist = 0,
  7776.     },
  7777.     asObjectPhysics = {
  7778.       {...},
  7779.       {...},
  7780.       {...},
  7781.       bodyDef = {...},
  7782.     },
  7783.     blinkSpeed = 5,
  7784.     boltFx = "meatBolt",
  7785.     box2dControlled = true,
  7786.     carried = true,
  7787.     credits = 20,
  7788.     customSpriteNames = {
  7789.       glow = "magicMushroomGlow",
  7790.     },
  7791.     dangerFactor = 0.5,
  7792.     defenceFactor = 0.25,
  7793.     droppable = true,
  7794.     food = true,
  7795.     glowFx = "meatGlow",
  7796.     gravity = 32,
  7797.     health = 8,
  7798.     iconName = "magicMushroom_icon",
  7799.     lifeTime = 4,
  7800.     name = "Mycelishroom",
  7801.     nameGenerator = "mushroom",
  7802.     offenceFactor = 1,
  7803.     pickupSound = "pickup",
  7804.     size = 3,
  7805.     smokeFx = "myceliaSmoke",
  7806.     spawnCooldown = 3,
  7807.     spriteName = "magicMushroom",
  7808.     stackable = true,
  7809.     utility = true,
  7810.   },
  7811.   nanoAmmo = {
  7812.     ai = {
  7813.     },
  7814.     ammoIndex = 60,
  7815.     consumable = true,
  7816.     gearDamage = 0.15,
  7817.     hudDat = "hud_update_1.dat",
  7818.     iconName = "nanoAmmo_icon",
  7819.     name = "Nano Ammo",
  7820.     pickupSound = "pickupAmmo",
  7821.     predictable = false,
  7822.     stackable = true,
  7823.   },
  7824.   nanoDispenser = {
  7825.     active_physics = {
  7826.       {...},
  7827.       {...},
  7828.       bodyDef = {...},
  7829.     },
  7830.     ai = {
  7831.       attackArc = 0.78539816339745,
  7832.       attackDist = 300,
  7833.       attackFriends = true,
  7834.     },
  7835.     armDuration = 1,
  7836.     asObjectPhysics = {
  7837.       {...},
  7838.       {...},
  7839.       bodyDef = {...},
  7840.     },
  7841.     box2dControlled = true,
  7842.     bulletTimeDistanceFactor = 0,
  7843.     bulletTimeFactor = 0,
  7844.     carried = true,
  7845.     classifications = {
  7846.       "canHeal",
  7847.     },
  7848.     credits = 25,
  7849.     customSpriteNames = {
  7850.       glow = "nanoDispenserGlow",
  7851.     },
  7852.     dangerFactor = 0.5,
  7853.     defenceFactor = 0.25,
  7854.     destroyExplosion = "nano",
  7855.     destroyExplosionIntensity = 5,
  7856.     destroyExplosionRange = 700,
  7857.     droppable = true,
  7858.     duration = 6.5,
  7859.     explosive = true,
  7860.     gravity = 32,
  7861.     hackable = true,
  7862.     healing = true,
  7863.     healing_idle_time_factor = 0.2,
  7864.     health = 5,
  7865.     hitMode = "arm",
  7866.     hurtable_by_all = true,
  7867.     iconName = "nanoDispenser_icon",
  7868.     isTarget = false,
  7869.     logic = {
  7870.       "object_activated_remove_ignore",
  7871.       "active_physics_when_armed",
  7872.       "ai_attack_needs_healing",
  7873.       "activated_owned_range_fx_indicator",
  7874.       "on_active_remove_ignore",
  7875.       "on_owner_change_fx_feedback",
  7876.       "armed_heal_and_revive",
  7877.     },
  7878.     name = "Nano Dispenser",
  7879.     neverIgnore = true,
  7880.     noWarning = true,
  7881.     owner_change_fx = "ownerRing",
  7882.     pickupSound = "pickupWeapon",
  7883.     range = 300,
  7884.     rangeFx = "healingRing",
  7885.     shockwave = true,
  7886.     size = 5,
  7887.     spawn_fx = "repairGasOwned",
  7888.     spawn_fx_delay = 0.0325,
  7889.     spriteName = "nanoDispenser",
  7890.     stackable = true,
  7891.     throwAttack = true,
  7892.     utility = true,
  7893.   },
  7894.   nanoPump = {
  7895.     ai = {
  7896.       attackArc = 0.47123889803847,
  7897.       attackDist = 400,
  7898.       attackFriends = true,
  7899.       bulletSpeed = 50,
  7900.       burst = 100,
  7901.     },
  7902.     aimRange = 500,
  7903.     aimSpeed = 1,
  7904.     aimsAtBullets = false,
  7905.     ammoPerFx = 0.15,
  7906.     ammoType = "nanoAmmo",
  7907.     ammoUse = 1,
  7908.     credits = 100,
  7909.     customSpriteNames = {
  7910.       barrel_glows = {...},
  7911.       cover = "nanoPumpMagCover",
  7912.       glow = "nanoPumpUseGlow",
  7913.       light = "nanoPumpMagLight",
  7914.     },
  7915.     dangerFactor = 0.3,
  7916.     droppable = true,
  7917.     failedCooldown = 0.25,
  7918.     fireHeight = 7,
  7919.     fxPerCooldown = 1,
  7920.     healing = true,
  7921.     health = 30,
  7922.     hudDat = "hud_update_1.dat",
  7923.     iconName = "nanoPump_icon",
  7924.     logic = {
  7925.       "use_activated",
  7926.       "use_limited_by_ammo",
  7927.       "ai_attack_needs_healing",
  7928.     },
  7929.     maxAmmo = 15,
  7930.     name = "Nano Pump",
  7931.     nano = true,
  7932.     pickupSound = "pickupWeapon",
  7933.     rackAngle = -1.5707963267949,
  7934.     rackable = true,
  7935.     recoilAngle = 0,
  7936.     recoilControl = 1,
  7937.     recoilFatigue = 0.1,
  7938.     recoilSeed = 12,
  7939.     recoilSpeed = 250,
  7940.     reloadBoosts = {
  7941.       0.4,
  7942.     },
  7943.     reloadSequence = {
  7944.       ending = {...},
  7945.       handle = {...},
  7946.       insert = {...},
  7947.       mag = {...},
  7948.       prepare = {...},
  7949.       slide = {...},
  7950.     },
  7951.     reloadTime = 2.25,
  7952.     size = 4,
  7953.     spawn_fx = "repairGasOwned",
  7954.     spriteName = "nanoPump",
  7955.     switchedToSound = "switch",
  7956.     weapon = true,
  7957.   },
  7958.   nanoPumpBarrel = {
  7959.     ai = {
  7960.     },
  7961.     credits = 50,
  7962.     customSpriteNames = {
  7963.       "nanoPumpBarrel1",
  7964.       "nanoPumpBarrel2",
  7965.     },
  7966.     dangerFactor = 0.15,
  7967.     droppable = true,
  7968.     hudDat = "hud_update_1.dat",
  7969.     localizedId = "sluggerShotgunBarrel",
  7970.     maxLevel = 2,
  7971.     multilevel = true,
  7972.     name = "Nano Pump Barrel",
  7973.     perLevelCredits = 50,
  7974.     pickupSound = "pickupWeapon",
  7975.     spriteName = "nanoPumpBarrel1",
  7976.     upgrade = "barrel",
  7977.     upgradeIconNames = {
  7978.       "nanoPumpBarrel1_upgIcon",
  7979.       "nanoPumpBarrel2_upgIcon",
  7980.     },
  7981.     upgradeSequence = {
  7982.       crank = {...},
  7983.       ending = {...},
  7984.       insert = {...},
  7985.       inspect = {...},
  7986.       mag = {...},
  7987.       prepare = {...},
  7988.     },
  7989.     upgrades = "nanoPump",
  7990.   },
  7991.   nanoPumpMagazine = {
  7992.     ai = {
  7993.     },
  7994.     ammoCapacity = 15,
  7995.     articleId = "magazine",
  7996.     credits = 50,
  7997.     dangerFactor = 0.15,
  7998.     droppable = true,
  7999.     hudDat = "hud_update_1.dat",
  8000.     localizedId = "homingLauncherMagazine",
  8001.     maxLevel = 2,
  8002.     multilevel = true,
  8003.     name = "Nano Pump Magazine",
  8004.     perLevelCredits = 50,
  8005.     pickupSound = "pickupWeapon",
  8006.     spriteName = "nanoPumpMagCover",
  8007.     upgrade = "magazine",
  8008.     upgradeIconNames = {
  8009.       "nanoPumpMag1_upgIcon",
  8010.       "nanoPumpMag2_upgIcon",
  8011.     },
  8012.     upgradeSequence = {
  8013.       crank = {...},
  8014.       ending = {...},
  8015.       insert = {...},
  8016.       inspect = {...},
  8017.       mag = {...},
  8018.       prepare = {...},
  8019.     },
  8020.     upgrades = "nanoPump",
  8021.   },
  8022.   nest = {
  8023.     ai = {
  8024.     },
  8025.     credits = 100,
  8026.     dangerFactor = 0.3,
  8027.     equipment = "nest",
  8028.     head = true,
  8029.     name = "Bird Nest",
  8030.     offence = true,
  8031.     trunkan = true,
  8032.   },
  8033.   nitrogenGrenade = {
  8034.     active_physics = {
  8035.       {...},
  8036.       {...},
  8037.       bodyDef = {...},
  8038.     },
  8039.     ai = {
  8040.       attackArc = 0.78539816339745,
  8041.       attackDist = 500,
  8042.     },
  8043.     armDuration = 1,
  8044.     asObjectPhysics = {
  8045.       {...},
  8046.       {...},
  8047.       bodyDef = {...},
  8048.     },
  8049.     attack = "chill",
  8050.     attacksPerSecond = 1,
  8051.     box2dControlled = true,
  8052.     bulletTimeFactor = 0.75,
  8053.     carried = true,
  8054.     credits = 25,
  8055.     dangerFactor = 1,
  8056.     droppable = true,
  8057.     duration = 1.5,
  8058.     explosion = "chill",
  8059.     explosionIntensity = 4,
  8060.     explosionRange = 175,
  8061.     gravity = 32,
  8062.     health = 3,
  8063.     hitMode = "arm",
  8064.     iconName = "liquidNitrogen_icon",
  8065.     logic = {
  8066.       "object_activated_remove_ignore",
  8067.       "active_physics_when_armed",
  8068.     },
  8069.     name = "Nitrogen Grenade",
  8070.     pickupSound = "pickupWeapon",
  8071.     range = 125,
  8072.     shockwave = true,
  8073.     size = 3,
  8074.     spriteName = "liquidNitrogen",
  8075.     stackable = true,
  8076.     throwAttack = true,
  8077.   },
  8078.   nut = {
  8079.     actorType = "spikebird",
  8080.     ai = {
  8081.       attackArc = 2.3561944901923,
  8082.       attackDist = 800,
  8083.       attackWhenCareful = true,
  8084.       suicideDist = 0,
  8085.     },
  8086.     asObjectPhysics = {
  8087.       {...},
  8088.       {...},
  8089.       {...},
  8090.       bodyDef = {...},
  8091.     },
  8092.     boltFx = "nutBolt",
  8093.     box2dControlled = true,
  8094.     carried = true,
  8095.     credits = 20,
  8096.     dangerFactor = 0.2,
  8097.     defenceFactor = 1,
  8098.     droppable = true,
  8099.     food = true,
  8100.     glowFx = "nutGlow",
  8101.     gravity = 28,
  8102.     health = 4,
  8103.     iconName = "nut_icon",
  8104.     magnetic = false,
  8105.     name = "Weaving Nut",
  8106.     offenceFactor = 0.1,
  8107.     pickupSound = "pickup",
  8108.     size = 2,
  8109.     smokeFx = "nutSmoke",
  8110.     spawnCooldown = 2,
  8111.     spriteName = "nut",
  8112.     stackable = true,
  8113.     utility = true,
  8114.   },
  8115.   opalBig = {
  8116.     ai = {
  8117.     },
  8118.     asObjectDensity = 1,
  8119.     big = true,
  8120.     bounceSound = "bounceCrystalBig",
  8121.     credits = 50,
  8122.     customSpriteNames = {
  8123.       shine = "opal_shine",
  8124.     },
  8125.     droppable = true,
  8126.     iconName = "opalBig_icon",
  8127.     jewel = true,
  8128.     name = "Amazing Opal",
  8129.     pickupSound = "pickup",
  8130.     shineAngle = -2.6703537555513,
  8131.     shineOffset = 8,
  8132.     spriteName = "opalBig",
  8133.     stackable = true,
  8134.     valuable = true,
  8135.   },
  8136.   opalSmall = {
  8137.     ai = {
  8138.     },
  8139.     asObjectDensity = 1,
  8140.     bounceSound = "bounceCrystal",
  8141.     credits = 5,
  8142.     customSpriteNames = {
  8143.       shine = "opal_shine",
  8144.     },
  8145.     droppable = true,
  8146.     iconName = "opalSmall_icon",
  8147.     jewel = true,
  8148.     name = "Elegant Opal",
  8149.     pickupSound = "pickup",
  8150.     shineAngle = -2.6703537555513,
  8151.     shineOffset = 2,
  8152.     small = true,
  8153.     spriteName = "opalSmall",
  8154.     stackable = true,
  8155.     valuable = true,
  8156.   },
  8157.   paddle = {
  8158.     ai = {
  8159.       attackArc = 1.5707963267949,
  8160.       attackDist = 100,
  8161.       bulletSpeed = 10000,
  8162.     },
  8163.     aimArc = 2.8274333882308,
  8164.     aimRange = 250,
  8165.     aimSpeed = 0.15,
  8166.     alwaysAim = true,
  8167.     attack = "blunt",
  8168.     attackFactor = 0.9,
  8169.     breakable = true,
  8170.     bulletTimeFactor = 2,
  8171.     chargeCooldown = 0.2,
  8172.     chargeDelaySpeed = 1.875,
  8173.     chargeSpeed = 0.8,
  8174.     closeCombat = true,
  8175.     credits = 80,
  8176.     dangerFactor = 0.15,
  8177.     droppable = true,
  8178.     failedCooldown = 0,
  8179.     forceFactor = 1.6,
  8180.     health = 8,
  8181.     iconName = "woodenPaddle_icon",
  8182.     logic = {
  8183.       "render_with_feedback",
  8184.       "node_attack",
  8185.       "node_attack_actor_adaptive",
  8186.       "node_attack_charge_boost",
  8187.       "node_attack_hit_self_breakage",
  8188.       "can_use_with_any_charge",
  8189.     },
  8190.     melee = true,
  8191.     minCooldown = 0.147,
  8192.     name = "Paddle",
  8193.     nodeAttack = "swing",
  8194.     pickupSound = "pickupWeapon",
  8195.     rackAngle = 0,
  8196.     range = 55,
  8197.     size = 5,
  8198.     speed = 0.6,
  8199.     spriteName = "woodenPaddle",
  8200.     switchedToSound = "switch",
  8201.     vendorAngle = -1.0367255756846,
  8202.     weapon = true,
  8203.   },
  8204.   peck = {
  8205.     ability = true,
  8206.     ai = {
  8207.       attackArc = 2.5132741228718,
  8208.       attackDist = 35,
  8209.       optimistic = true,
  8210.     },
  8211.     aimRange = 275,
  8212.     alwaysAim = true,
  8213.     attack = "peck",
  8214.     bulletTimeDistanceFactor = 0.25,
  8215.     bulletTimeFactor = 0.25,
  8216.     closeCombat = true,
  8217.     cooldown = 0.1,
  8218.     dangerFactor = 0,
  8219.     droppable = false,
  8220.     fireHeight = -10,
  8221.     iconName = "punch_icon",
  8222.     leeway = 0,
  8223.     name = "Peck Attack",
  8224.     noWarning = true,
  8225.     nodeAttack = "peck",
  8226.     pickupSound = "pickupWeapon",
  8227.     selectBetter = true,
  8228.   },
  8229.   phaserGun = {
  8230.     ai = {
  8231.       attackArc = 0.47123889803847,
  8232.       attackDist = 90,
  8233.       bulletSpeed = 100000,
  8234.     },
  8235.     aimRange = 175,
  8236.     bullet = "phaserBullet",
  8237.     bulletTimeDistanceFactor = 0.5,
  8238.     bulletTimeFactor = 0.75,
  8239.     closeCombat = true,
  8240.     cooldown = 0.6,
  8241.     credits = 250,
  8242.     customSpriteNames = {
  8243.       "phasergun_red",
  8244.       "phasergun_green",
  8245.     },
  8246.     dangerFactor = 0.65,
  8247.     droppable = true,
  8248.     fireHeight = 4,
  8249.     iconName = "phasergun_icon",
  8250.     instant = true,
  8251.     melee = true,
  8252.     name = "Phaser",
  8253.     pickupSound = "pickupWeapon",
  8254.     rack = "melee",
  8255.     rackAngle = 0,
  8256.     rackable = true,
  8257.     recoilAngle = 1,
  8258.     recoilControl = 1,
  8259.     recoilFatigue = 0.25,
  8260.     recoilSeed = 15,
  8261.     recoilSpeed = 1500,
  8262.     size = 2,
  8263.     spriteName = "phasergun",
  8264.     switchedToSound = "switch",
  8265.     useSound = "phaserShot",
  8266.     weapon = true,
  8267.   },
  8268.   phaserGunRange = {
  8269.     ai = {
  8270.     },
  8271.     credits = 80,
  8272.     dangerFactor = 0.05,
  8273.     droppable = true,
  8274.     iconName = "phasergun_range_icon",
  8275.     name = "Phaser Super Connector",
  8276.     pickupSound = "pickupWeapon",
  8277.     spriteName = "phasergun_range",
  8278.     upgrade = "superConnector",
  8279.     upgradeIconName = "phasergun_range_upgIcon",
  8280.     upgrades = "phaserGun",
  8281.   },
  8282.   phaserGunSuperCharger = {
  8283.     ai = {
  8284.     },
  8285.     credits = 60,
  8286.     dangerFactor = 0.15,
  8287.     droppable = true,
  8288.     iconName = "phasergun_charge_icon",
  8289.     maxLevel = 2,
  8290.     multilevel = true,
  8291.     name = "Phaser Super Charger",
  8292.     perLevelCredits = 100,
  8293.     pickupSound = "pickupWeapon",
  8294.     spriteName = "phasergun_charge1",
  8295.     spriteNames = {
  8296.       "phasergun_charge1",
  8297.       "phasergun_charge2",
  8298.     },
  8299.     upgrade = "superCharger",
  8300.     upgradeIconNames = {
  8301.       "phasergun_charge1_upgIcon",
  8302.       "phasergun_charge2_upgIcon",
  8303.     },
  8304.     upgrades = "phaserGun",
  8305.   },
  8306.   pickaxe = {
  8307.     ai = {
  8308.       attackArc = 1.5707963267949,
  8309.       attackDist = 100,
  8310.       bulletSpeed = 10000,
  8311.     },
  8312.     aimArc = 2.8274333882308,
  8313.     aimRange = 200,
  8314.     aimSpeed = 0.8,
  8315.     alwaysAim = true,
  8316.     attack = "mining",
  8317.     attackFactor = 0.9,
  8318.     breakItem = "stick",
  8319.     breakable = true,
  8320.     bulletTimeFactor = 2,
  8321.     chargeCooldown = 0.4,
  8322.     chargeDelaySpeed = 1.275,
  8323.     chargeSpeed = 0.7,
  8324.     closeCombat = true,
  8325.     credits = 150,
  8326.     dangerFactor = 0.24,
  8327.     droppable = true,
  8328.     failedCooldown = 0,
  8329.     forceFactor = 1.05,
  8330.     health = 25,
  8331.     iconName = "pickaxe_icon",
  8332.     logic = {
  8333.       "render_with_feedback",
  8334.       "node_attack",
  8335.       "node_attack_actor_adaptive",
  8336.       "node_attack_charge_boost",
  8337.       "node_attack_hit_self_breakage",
  8338.       "can_use_with_any_charge",
  8339.     },
  8340.     melee = true,
  8341.     minCooldown = 0.245,
  8342.     name = "Pickaxe",
  8343.     nodeAttack = "swing",
  8344.     pickupSound = "pickupWeapon",
  8345.     rackAngle = 0,
  8346.     range = 30,
  8347.     size = 4,
  8348.     speed = 0.7,
  8349.     spriteName = "pickaxe",
  8350.     switchedToSound = "switch",
  8351.     vendorAngle = -1.0367255756846,
  8352.     weapon = true,
  8353.   },
  8354.   pitchfork = {
  8355.     ai = {
  8356.       attackArc = 1.5707963267949,
  8357.       attackDist = 100,
  8358.       bulletSpeed = 10000,
  8359.     },
  8360.     aimArc = 2.8274333882308,
  8361.     aimRange = 200,
  8362.     aimSpeed = 0.8,
  8363.     alwaysAim = true,
  8364.     attack = "spiky",
  8365.     attackFactor = 0.6,
  8366.     breakItem = "stick",
  8367.     breakable = true,
  8368.     bulletTimeFactor = 2,
  8369.     chargeCooldown = 0.45,
  8370.     chargeDelaySpeed = 1.5,
  8371.     chargeSpeed = 0.6,
  8372.     closeCombat = true,
  8373.     credits = 30,
  8374.     dangerFactor = 0.11,
  8375.     droppable = true,
  8376.     failedCooldown = 0,
  8377.     forceFactor = 1,
  8378.     health = 12,
  8379.     iconName = "pitchfork_icon",
  8380.     logic = {
  8381.       "render_with_feedback",
  8382.       "node_attack",
  8383.       "node_attack_actor_adaptive",
  8384.       "node_attack_charge_boost",
  8385.       "node_attack_hit_self_breakage",
  8386.       "can_use_with_any_charge",
  8387.     },
  8388.     melee = true,
  8389.     minCooldown = 0.175,
  8390.     name = "Pitchfork",
  8391.     nodeAttack = "swing",
  8392.     pickupSound = "pickupWeapon",
  8393.     rackAngle = 0,
  8394.     range = 42,
  8395.     size = 4,
  8396.     sneakNodeAttack = "stab",
  8397.     speed = 0.7,
  8398.     spriteName = "pitchfork",
  8399.     switchedToSound = "switch",
  8400.     vendorAngle = -1.0367255756846,
  8401.     weapon = true,
  8402.   },
  8403.   plantClub = {
  8404.     ai = {
  8405.       attackArc = 1.5707963267949,
  8406.       attackDist = 100,
  8407.       bulletSpeed = 10000,
  8408.     },
  8409.     aimArc = 2.8274333882308,
  8410.     aimRange = 175,
  8411.     aimSpeed = 0.6,
  8412.     alwaysAim = true,
  8413.     attack = "spiky",
  8414.     attackFactor = 1.2,
  8415.     breakable = true,
  8416.     bulletTimeFactor = 2,
  8417.     chargeCooldown = 0.335,
  8418.     chargeDelaySpeed = 0.975,
  8419.     chargeSpeed = 0.9,
  8420.     closeCombat = true,
  8421.     credits = 60,
  8422.     dangerFactor = 0.5,
  8423.     droppable = true,
  8424.     failedCooldown = 0,
  8425.     forceFactor = 0.95,
  8426.     health = 12,
  8427.     iconName = "plantClub_icon",
  8428.     logic = {
  8429.       "render_with_feedback",
  8430.       "node_attack",
  8431.       "node_attack_actor_adaptive",
  8432.       "node_attack_charge_boost",
  8433.       "node_attack_hit_self_breakage",
  8434.       "can_use_with_any_charge",
  8435.     },
  8436.     melee = true,
  8437.     minCooldown = 0.14,
  8438.     name = "Plant Club",
  8439.     nodeAttack = "swing",
  8440.     pickupSound = "pickupWeapon",
  8441.     rackAngle = 0,
  8442.     range = 35,
  8443.     size = 4,
  8444.     speed = 0.7,
  8445.     spriteName = "plantClub",
  8446.     switchedToSound = "switch",
  8447.     vendorAngle = -1.0367255756846,
  8448.     weapon = true,
  8449.   },
  8450.   plasmaAccelerator = {
  8451.     ai = {
  8452.       attackArc = 0.15707963267949,
  8453.       attackDist = 700,
  8454.       bulletSpeed = 55,
  8455.     },
  8456.     aimSpeed = 0.9,
  8457.     aimsAtBullets = false,
  8458.     ammoType = "plasmaAmmo",
  8459.     ammoUse = 2,
  8460.     bullet = "plasma",
  8461.     bulletTimeFactor = 0.33,
  8462.     cooldown = 0.195,
  8463.     credits = 225,
  8464.     customSpriteNames = {
  8465.       back = "plasmaAccelerator_back",
  8466.       light = "plasmaAccelerator_light",
  8467.     },
  8468.     dangerFactor = 1.3,
  8469.     droppable = true,
  8470.     fireHeight = 3,
  8471.     health = 15,
  8472.     heat = true,
  8473.     heatAmount = 0.5,
  8474.     heatFactor = 0.8,
  8475.     iconName = "plasmaAccelerator_icon",
  8476.     logic = {
  8477.       "plasma_generic",
  8478.     },
  8479.     maxAmmo = 2,
  8480.     muzzleFx = "plasmaMuzzle",
  8481.     name = "Plasma Accelerator",
  8482.     pickupSound = "pickupWeapon",
  8483.     plasma = true,
  8484.     rack = "plasma",
  8485.     rackAngle = -1.5707963267949,
  8486.     rackable = true,
  8487.     recoilAngle = 3,
  8488.     recoilControl = 1,
  8489.     recoilFatigue = 0.3,
  8490.     recoilSeed = 9,
  8491.     recoilSpeed = 900,
  8492.     reloadBoosts = {
  8493.       0.4,
  8494.     },
  8495.     reloadSequence = {
  8496.       crank = {...},
  8497.       ending = {...},
  8498.       handle = {...},
  8499.       insert = {...},
  8500.       inspect = {...},
  8501.       mag = {...},
  8502.     },
  8503.     reloadTime = 0.9,
  8504.     size = 2,
  8505.     sniper = true,
  8506.     soundRange = 400,
  8507.     spriteName = "plasmaAccelerator",
  8508.     switchedToSound = "switch",
  8509.     trunkanTechnology = true,
  8510.     useSound = "plasmaAcceleratorShot",
  8511.     weapon = true,
  8512.   },
  8513.   plasmaAcceleratorBooster = {
  8514.     ai = {
  8515.     },
  8516.     articleId = "booster",
  8517.     credits = 80,
  8518.     dangerFactor = 0.2,
  8519.     droppable = true,
  8520.     name = "Plasma Accelerator Booster",
  8521.     pickupSound = "pickupWeapon",
  8522.     spriteName = "plasmaAccelerator_magazine",
  8523.     trunkanTechnology = true,
  8524.     upgrade = "booster",
  8525.     upgradeIconName = "plasmaAccelerator_magazine_upgIcon",
  8526.     upgradeSequence = {
  8527.       crank = {...},
  8528.       ending = {...},
  8529.       inspect = {...},
  8530.       prepare = {...},
  8531.       slide = {...},
  8532.     },
  8533.     upgrades = "plasmaAccelerator",
  8534.   },
  8535.   plasmaAcceleratorScope = {
  8536.     ai = {
  8537.     },
  8538.     aimRangeFactor = 1.25,
  8539.     articleId = "scope",
  8540.     credits = 80,
  8541.     dangerFactor = 0.2,
  8542.     droppable = true,
  8543.     name = "Plasma Accelerator Scope",
  8544.     pickupSound = "pickupWeapon",
  8545.     scope = true,
  8546.     scopeSpeed = 1.25,
  8547.     spriteName = "plasmaAccelerator_scope",
  8548.     upgrade = "scope",
  8549.     upgradeIconName = "plasmaAccelerator_scope_upgIcon",
  8550.     upgradeSequence = {
  8551.       crank = {...},
  8552.       insert = {...},
  8553.       inspect = {...},
  8554.       mag = {...},
  8555.       prepare = {...},
  8556.     },
  8557.     upgrades = "plasmaAccelerator",
  8558.   },
  8559.   plasmaAmmo = {
  8560.     ai = {
  8561.     },
  8562.     ammoIndex = 50,
  8563.     consumable = true,
  8564.     gearDamage = 0.12,
  8565.     iconName = "lavagun_ammoIcon",
  8566.     name = "Plasma Ammo",
  8567.     pickupSound = "pickupAmmo",
  8568.     predictable = false,
  8569.     stackable = true,
  8570.   },
  8571.   plasmaAssault = {
  8572.     ai = {
  8573.       attackArc = 0.12566370614359,
  8574.       attackDist = 500,
  8575.       bulletSpeed = 55,
  8576.       burst = 3,
  8577.     },
  8578.     aimSpeed = 0.6,
  8579.     aimsAtBullets = false,
  8580.     ammoType = "plasmaAmmo",
  8581.     automatic = true,
  8582.     bullet = "plasma",
  8583.     bulletTimeFactor = 0.33,
  8584.     cooldown = 0.0675,
  8585.     credits = 650,
  8586.     customSpriteNames = {
  8587.       back = "plasmaAssault_back",
  8588.       light = "plasmaAssault_light",
  8589.     },
  8590.     dangerFactor = 1.75,
  8591.     droppable = true,
  8592.     fireHeight = 3,
  8593.     health = 25,
  8594.     heat = true,
  8595.     heatAmount = 0.07,
  8596.     heatFactor = 0.1,
  8597.     iconName = "plasmaAssault_icon",
  8598.     logic = {
  8599.       "plasma_generic",
  8600.     },
  8601.     maxAmmo = 40,
  8602.     muzzleFx = "plasmaMuzzle",
  8603.     name = "Plasma Assault",
  8604.     pickupSound = "pickupWeapon",
  8605.     plasma = true,
  8606.     rack = "plasma",
  8607.     rackAngle = -1.5707963267949,
  8608.     rackable = true,
  8609.     recoilAngle = 1,
  8610.     recoilControl = 1,
  8611.     recoilFatigue = 0.3,
  8612.     recoilSeed = 5,
  8613.     recoilSpeed = 500,
  8614.     reloadBoosts = {
  8615.       0.7,
  8616.     },
  8617.     reloadSequence = {
  8618.       crank = {...},
  8619.       ending = {...},
  8620.       insert = {...},
  8621.       inspect = {...},
  8622.       mag = {...},
  8623.       prepare = {...},
  8624.     },
  8625.     reloadTime = 1.9,
  8626.     rifle = true,
  8627.     size = 4,
  8628.     soundRange = 400,
  8629.     spriteName = "plasmaAssault",
  8630.     switchedToSound = "switch",
  8631.     trunkanTechnology = true,
  8632.     useSound = "plasmaAssaultShot",
  8633.     weapon = true,
  8634.   },
  8635.   plasmaAssaultBooster = {
  8636.     ai = {
  8637.     },
  8638.     articleId = "booster",
  8639.     credits = 150,
  8640.     dangerFactor = 0.25,
  8641.     droppable = true,
  8642.     name = "Plasma Assault Booster",
  8643.     pickupSound = "pickupWeapon",
  8644.     spriteName = "plasmaAssault_magazine",
  8645.     trunkanTechnology = true,
  8646.     upgrade = "booster",
  8647.     upgradeIconName = "plasmaAssault_magazine_upgIcon",
  8648.     upgradeSequence = {
  8649.       crank = {...},
  8650.       ending = {...},
  8651.       inspect = {...},
  8652.       prepare = {...},
  8653.       slide = {...},
  8654.     },
  8655.     upgrades = "plasmaAssault",
  8656.   },
  8657.   plasmaAssaultScope = {
  8658.     ai = {
  8659.     },
  8660.     articleId = "scope",
  8661.     credits = 150,
  8662.     dangerFactor = 0.1,
  8663.     droppable = true,
  8664.     name = "Plasma Assault Scope",
  8665.     pickupSound = "pickupWeapon",
  8666.     scope = true,
  8667.     scopeSpeed = 1,
  8668.     spriteName = "plasmaAssault_scope",
  8669.     upgrade = "scope",
  8670.     upgradeIconName = "plasmaAssault_scope_upgIcon",
  8671.     upgradeSequence = {
  8672.       crank = {...},
  8673.       insert = {...},
  8674.       inspect = {...},
  8675.       mag = {...},
  8676.       prepare = {...},
  8677.     },
  8678.     upgrades = "plasmaAssault",
  8679.   },
  8680.   plasmaCannon = {
  8681.     ai = {
  8682.       attackArc = 0.31415926535898,
  8683.       attackDist = 600,
  8684.       bulletSpeed = 25,
  8685.     },
  8686.     aimSpeed = 0.5,
  8687.     aimsAtBullets = false,
  8688.     ammoType = "plasmaAmmo",
  8689.     ammoUse = 5,
  8690.     bullet = "plasma",
  8691.     bulletSpread = 0.15707963267949,
  8692.     bulletTimeFactor = 0.33,
  8693.     bullets = 1,
  8694.     cannon = true,
  8695.     cooldown = 0.3,
  8696.     credits = 550,
  8697.     customSpriteNames = {
  8698.       back = "plasmaCannon_back",
  8699.       light = "plasmaCannon_light",
  8700.     },
  8701.     dangerFactor = 2,
  8702.     droppable = true,
  8703.     fireHeight = 3,
  8704.     griplessAmount = 0.75,
  8705.     health = 20,
  8706.     heat = true,
  8707.     heatAmount = 2.4,
  8708.     heatFactor = 1.4,
  8709.     iconName = "plasmaCannon_icon",
  8710.     logic = {
  8711.       "plasma_generic",
  8712.     },
  8713.     maxAmmo = 10,
  8714.     muzzleFx = "plasmaMuzzleHuge",
  8715.     name = "Plasma Cannon",
  8716.     pickupSound = "pickupWeapon",
  8717.     plasma = true,
  8718.     pushback = 10,
  8719.     rack = "plasma",
  8720.     rackAngle = -1.5707963267949,
  8721.     rackable = true,
  8722.     recoilAngle = 6,
  8723.     recoilControl = 1,
  8724.     recoilFatigue = 0.6,
  8725.     recoilSeed = 10,
  8726.     recoilSpeed = 1000,
  8727.     reloadBoosts = {
  8728.       0.4,
  8729.     },
  8730.     reloadSequence = {
  8731.       crank = {...},
  8732.       ending = {...},
  8733.       handle = {...},
  8734.       insert = {...},
  8735.       inspect = {...},
  8736.       mag = {...},
  8737.     },
  8738.     reloadTime = 2.9,
  8739.     size = 5,
  8740.     soundRange = 600,
  8741.     spriteName = "plasmaCannon",
  8742.     switchedToSound = "switch",
  8743.     trunkanTechnology = true,
  8744.     useSound = "plasmaCannonShot",
  8745.     weapon = true,
  8746.   },
  8747.   plasmaCannonBooster = {
  8748.     ai = {
  8749.     },
  8750.     articleId = "booster",
  8751.     credits = 150,
  8752.     dangerFactor = 0.25,
  8753.     droppable = true,
  8754.     name = "Plasma Cannon Booster",
  8755.     pickupSound = "pickupWeapon",
  8756.     spriteName = "plasmaCannon_magazine",
  8757.     trunkanTechnology = true,
  8758.     upgrade = "booster",
  8759.     upgradeIconName = "plasmaCannon_magazine_upgIcon",
  8760.     upgradeSequence = {
  8761.       crank = {...},
  8762.       ending = {...},
  8763.       inspect = {...},
  8764.       prepare = {...},
  8765.       slide = {...},
  8766.     },
  8767.     upgrades = "plasmaCannon",
  8768.   },
  8769.   plasmaCannonCooler = {
  8770.     ai = {
  8771.     },
  8772.     articleId = "cooler",
  8773.     credits = 125,
  8774.     dangerFactor = 0.25,
  8775.     droppable = true,
  8776.     name = "Plasma Cannon Cooler",
  8777.     pickupSound = "pickupWeapon",
  8778.     spriteName = "plasmaCannon_cooler",
  8779.     trunkanTechnology = true,
  8780.     upgrade = "cooler",
  8781.     upgradeIconName = "plasmaCannon_cooler_upgIcon",
  8782.     upgradeSequence = {
  8783.       crank = {...},
  8784.       ending = {...},
  8785.       inspect = {...},
  8786.       prepare = {...},
  8787.       slide = {...},
  8788.     },
  8789.     upgrades = "plasmaCannon",
  8790.   },
  8791.   plasmaCannonSpinner = {
  8792.     ai = {
  8793.     },
  8794.     articleId = "spinner",
  8795.     credits = 150,
  8796.     dangerFactor = 0.25,
  8797.     droppable = true,
  8798.     name = "Plasma Cannon Spinner",
  8799.     pickupSound = "pickupWeapon",
  8800.     spriteName = "plasmaCannon_repeller",
  8801.     trunkanTechnology = true,
  8802.     upgrade = "spinner",
  8803.     upgradeIconName = "plasmaCannon_repeller_upgIcon",
  8804.     upgradeSequence = {
  8805.       crank = {...},
  8806.       ending = {...},
  8807.       inspect = {...},
  8808.       prepare = {...},
  8809.       slide = {...},
  8810.     },
  8811.     upgrades = "plasmaCannon",
  8812.   },
  8813.   plasmaGun = {
  8814.     ai = {
  8815.       attackArc = 0.37699111843078,
  8816.       attackDist = 400,
  8817.       bulletSpeed = 44,
  8818.     },
  8819.     aimSpeed = 0.9,
  8820.     aimsAtBullets = false,
  8821.     ammoType = "plasmaAmmo",
  8822.     ammoUse = 1,
  8823.     bullet = "plasma",
  8824.     bulletSpread = 0.094247779607694,
  8825.     bulletTimeFactor = 0.33,
  8826.     bullets = 3,
  8827.     cooldown = 0.3375,
  8828.     credits = 250,
  8829.     customSpriteNames = {
  8830.       back = "plasmaGun_back",
  8831.       light = "plasmaGun_light",
  8832.     },
  8833.     dangerFactor = 1.1,
  8834.     droppable = true,
  8835.     fireHeight = 3,
  8836.     health = 20,
  8837.     heat = true,
  8838.     heatAmount = 0.4,
  8839.     heatFactor = 1,
  8840.     iconName = "plasmaGun_icon",
  8841.     logic = {
  8842.       "plasma_generic",
  8843.     },
  8844.     maxAmmo = 10,
  8845.     muzzleFx = "plasmaMuzzle",
  8846.     name = "Plasma Arc",
  8847.     pickupSound = "pickupWeapon",
  8848.     pistol = true,
  8849.     plasma = true,
  8850.     rack = "plasma",
  8851.     rackAngle = -1.5707963267949,
  8852.     rackable = true,
  8853.     recoilAngle = 3,
  8854.     recoilControl = 1,
  8855.     recoilFatigue = 0.4,
  8856.     recoilSeed = 4,
  8857.     recoilSpeed = 400,
  8858.     reloadBoosts = {
  8859.       0.6,
  8860.     },
  8861.     reloadSequence = {
  8862.       crank = {...},
  8863.       ending = {...},
  8864.       handle = {...},
  8865.       insert = {...},
  8866.       inspect = {...},
  8867.       mag = {...},
  8868.     },
  8869.     reloadTime = 2,
  8870.     size = 3,
  8871.     soundRange = 400,
  8872.     spriteName = "plasmaGun",
  8873.     switchedToSound = "switch",
  8874.     trunkanTechnology = true,
  8875.     useSound = "plasmaGunShot",
  8876.     weapon = true,
  8877.   },
  8878.   plasmaGunBooster = {
  8879.     ai = {
  8880.     },
  8881.     articleId = "booster",
  8882.     credits = 80,
  8883.     dangerFactor = 0.2,
  8884.     droppable = true,
  8885.     name = "Plasma Gun Booster",
  8886.     pickupSound = "pickupWeapon",
  8887.     spriteName = "plasmaGun_magazine",
  8888.     trunkanTechnology = true,
  8889.     upgrade = "booster",
  8890.     upgradeIconName = "plasmaGun_magazine_upgIcon",
  8891.     upgradeSequence = {
  8892.       crank = {...},
  8893.       ending = {...},
  8894.       inspect = {...},
  8895.       prepare = {...},
  8896.       slide = {...},
  8897.     },
  8898.     upgrades = "plasmaGun",
  8899.   },
  8900.   plasmaGunCooler = {
  8901.     ai = {
  8902.     },
  8903.     articleId = "cooler",
  8904.     credits = 80,
  8905.     dangerFactor = 0.1,
  8906.     droppable = true,
  8907.     name = "Plasma Gun Cooler",
  8908.     pickupSound = "pickupWeapon",
  8909.     spriteName = "plasmaGun_cooler",
  8910.     trunkanTechnology = true,
  8911.     upgrade = "cooler",
  8912.     upgradeIconName = "plasmaGun_cooler_upgIcon",
  8913.     upgradeSequence = {
  8914.       crank = {...},
  8915.       ending = {...},
  8916.       inspect = {...},
  8917.       prepare = {...},
  8918.       slide = {...},
  8919.     },
  8920.     upgrades = "plasmaGun",
  8921.   },
  8922.   plasmaGunSpinner = {
  8923.     ai = {
  8924.     },
  8925.     articleId = "spinner",
  8926.     credits = 80,
  8927.     dangerFactor = 0.1,
  8928.     droppable = true,
  8929.     name = "Plasma Gun Spinner",
  8930.     pickupSound = "pickupWeapon",
  8931.     spriteName = "plasmaGun_repeller",
  8932.     trunkanTechnology = true,
  8933.     upgrade = "spinner",
  8934.     upgradeIconName = "plasmaGun_repeller_upgIcon",
  8935.     upgradeSequence = {
  8936.       crank = {...},
  8937.       ending = {...},
  8938.       inspect = {...},
  8939.       prepare = {...},
  8940.       slide = {...},
  8941.     },
  8942.     upgrades = "plasmaGun",
  8943.   },
  8944.   plasmaPistol = {
  8945.     ai = {
  8946.       attackArc = 0.25132741228718,
  8947.       attackDist = 200,
  8948.       bulletSpeed = 44,
  8949.     },
  8950.     aimsAtBullets = false,
  8951.     ammoType = "plasmaAmmo",
  8952.     bullet = "plasma",
  8953.     bulletTimeFactor = 0.33,
  8954.     cooldown = 0.15,
  8955.     credits = 130,
  8956.     customSpriteNames = {
  8957.       back = "plasmaPistol_back",
  8958.       light = "plasmaPistol_light",
  8959.     },
  8960.     dangerFactor = 0.6,
  8961.     droppable = true,
  8962.     fireHeight = 3,
  8963.     health = 10,
  8964.     heat = true,
  8965.     heatAmount = 0.15,
  8966.     heatFactor = 0.3,
  8967.     iconName = "plasmaPistol_icon",
  8968.     logic = {
  8969.       "plasma_generic",
  8970.     },
  8971.     maxAmmo = 12,
  8972.     muzzleFx = "plasmaMuzzle",
  8973.     name = "Plasma Pistol",
  8974.     pickupSound = "pickupWeapon",
  8975.     pistol = true,
  8976.     plasma = true,
  8977.     rack = "plasma",
  8978.     rackAngle = -1.5707963267949,
  8979.     rackable = true,
  8980.     recoilAngle = 6,
  8981.     recoilControl = 1,
  8982.     recoilFatigue = 0.7,
  8983.     recoilSeed = 4,
  8984.     recoilSpeed = 400,
  8985.     reloadBoosts = {
  8986.       0.6,
  8987.     },
  8988.     reloadSequence = {
  8989.       crank = {...},
  8990.       ending = {...},
  8991.       handle = {...},
  8992.       insert = {...},
  8993.       inspect = {...},
  8994.       mag = {...},
  8995.     },
  8996.     reloadTime = 1.4,
  8997.     sidearm = true,
  8998.     size = 2,
  8999.     soundRange = 400,
  9000.     spriteName = "plasmaPistol",
  9001.     switchedToSound = "switch",
  9002.     trunkanTechnology = true,
  9003.     useSound = "plasmaPistolShot",
  9004.     weapon = true,
  9005.   },
  9006.   plasmaPistolBooster = {
  9007.     ai = {
  9008.     },
  9009.     articleId = "booster",
  9010.     credits = 50,
  9011.     dangerFactor = 0.2,
  9012.     droppable = true,
  9013.     name = "Plasma Pistol Booster",
  9014.     pickupSound = "pickupWeapon",
  9015.     spriteName = "plasmaPistol_magazine",
  9016.     trunkanTechnology = true,
  9017.     upgrade = "booster",
  9018.     upgradeIconName = "plasmaPistol_magazine_upgIcon",
  9019.     upgradeSequence = {
  9020.       crank = {...},
  9021.       ending = {...},
  9022.       inspect = {...},
  9023.       prepare = {...},
  9024.       slide = {...},
  9025.     },
  9026.     upgrades = "plasmaPistol",
  9027.   },
  9028.   plasmaPistolSpinner = {
  9029.     ai = {
  9030.     },
  9031.     articleId = "spinner",
  9032.     credits = 50,
  9033.     dangerFactor = 0.1,
  9034.     droppable = true,
  9035.     name = "Plasma Pistol Spinner",
  9036.     pickupSound = "pickupWeapon",
  9037.     spriteName = "plasmaPistol_repeller",
  9038.     trunkanTechnology = true,
  9039.     upgrade = "spinner",
  9040.     upgradeIconName = "plasmaPistol_repeller_upgIcon",
  9041.     upgradeSequence = {
  9042.       crank = {...},
  9043.       ending = {...},
  9044.       inspect = {...},
  9045.       prepare = {...},
  9046.       slide = {...},
  9047.     },
  9048.     upgrades = "plasmaPistol",
  9049.   },
  9050.   plasmaStriker = {
  9051.     ai = {
  9052.       attackArc = 0.15707963267949,
  9053.       attackDist = 800,
  9054.       bulletSpeed = 44,
  9055.     },
  9056.     aimSpeed = 0.8,
  9057.     aimsAtBullets = false,
  9058.     ammoType = "plasmaAmmo",
  9059.     ammoUse = 2.5,
  9060.     bullet = "plasma",
  9061.     bulletSpread = 0.094247779607694,
  9062.     bulletTimeFactor = 0.33,
  9063.     bullets = 1,
  9064.     cannon = true,
  9065.     cooldown = 0.225,
  9066.     credits = 325,
  9067.     customSpriteNames = {
  9068.       back = "plasmaStriker_back",
  9069.       light = "plasmaStriker_light",
  9070.     },
  9071.     dangerFactor = 1.3,
  9072.     droppable = true,
  9073.     fireHeight = 3,
  9074.     health = 20,
  9075.     heat = true,
  9076.     heatAmount = 0.4,
  9077.     heatFactor = 0.4,
  9078.     iconName = "plasmaStriker_icon",
  9079.     logic = {
  9080.       "plasma_generic",
  9081.     },
  9082.     maxAmmo = 15,
  9083.     muzzleFx = "plasmaMuzzle",
  9084.     name = "Plasma Striker",
  9085.     pickupSound = "pickupWeapon",
  9086.     plasma = true,
  9087.     rack = "plasma",
  9088.     rackAngle = -1.5707963267949,
  9089.     rackable = true,
  9090.     recoilAngle = 2,
  9091.     recoilControl = 1,
  9092.     recoilFatigue = 0.6,
  9093.     recoilSeed = 6,
  9094.     recoilSpeed = 600,
  9095.     reloadBoosts = {
  9096.       0.6,
  9097.     },
  9098.     reloadSequence = {
  9099.       crank = {...},
  9100.       ending = {...},
  9101.       handle = {...},
  9102.       insert = {...},
  9103.       inspect = {...},
  9104.       mag = {...},
  9105.     },
  9106.     reloadTime = 2,
  9107.     size = 4,
  9108.     soundRange = 400,
  9109.     spriteName = "plasmaStriker",
  9110.     switchedToSound = "switch",
  9111.     trunkanTechnology = true,
  9112.     useSound = "plasmaStrikerShot",
  9113.     weapon = true,
  9114.   },
  9115.   plasmaStrikerBooster = {
  9116.     ai = {
  9117.     },
  9118.     articleId = "booster",
  9119.     credits = 125,
  9120.     dangerFactor = 0.2,
  9121.     droppable = true,
  9122.     name = "Plasma Striker Booster",
  9123.     pickupSound = "pickupWeapon",
  9124.     spriteName = "plasmaStriker_magazine",
  9125.     trunkanTechnology = true,
  9126.     upgrade = "booster",
  9127.     upgradeIconName = "plasmaStriker_magazine_upgIcon",
  9128.     upgradeSequence = {
  9129.       crank = {...},
  9130.       ending = {...},
  9131.       inspect = {...},
  9132.       prepare = {...},
  9133.       slide = {...},
  9134.     },
  9135.     upgrades = "plasmaStriker",
  9136.   },
  9137.   plasmaStrikerCooler = {
  9138.     ai = {
  9139.     },
  9140.     articleId = "cooler",
  9141.     credits = 125,
  9142.     dangerFactor = 0.1,
  9143.     droppable = true,
  9144.     name = "Plasma Striker Cooler",
  9145.     pickupSound = "pickupWeapon",
  9146.     spriteName = "plasmaStriker_cooler",
  9147.     trunkanTechnology = true,
  9148.     upgrade = "cooler",
  9149.     upgradeIconName = "plasmaStriker_cooler_upgIcon",
  9150.     upgradeSequence = {
  9151.       crank = {...},
  9152.       ending = {...},
  9153.       inspect = {...},
  9154.       prepare = {...},
  9155.       slide = {...},
  9156.     },
  9157.     upgrades = "plasmaStriker",
  9158.   },
  9159.   plateLow1 = {
  9160.     ai = {
  9161.     },
  9162.     credits = 10,
  9163.     dangerFactor = 0.25,
  9164.     defence = true,
  9165.     equipment = "plate",
  9166.     hit_prio = 1,
  9167.     name = "Protection Plate",
  9168.     node = "shield",
  9169.     nodeExplodes = true,
  9170.     protectionForwards = true,
  9171.     protectionHigher = 25,
  9172.     protectionLower = -20,
  9173.   },
  9174.   plateLow3 = {
  9175.     ai = {
  9176.     },
  9177.     credits = 10,
  9178.     dangerFactor = 0.25,
  9179.     defence = true,
  9180.     equipment = "plate",
  9181.     hit_prio = 1,
  9182.     name = "Protection Plate",
  9183.     node = "bottomShield",
  9184.     nodeExplodes = true,
  9185.     protectionForwards = true,
  9186.     protectionHigher = 10,
  9187.     protectionLower = -99,
  9188.   },
  9189.   plateLow5 = {
  9190.     ai = {
  9191.     },
  9192.     credits = 10,
  9193.     dangerFactor = 0.25,
  9194.     defence = true,
  9195.     equipment = "plate",
  9196.     hit_prio = 1,
  9197.     name = "Protection Plate",
  9198.     node = "shield",
  9199.     nodeExplodes = true,
  9200.     protectionForwards = true,
  9201.     protectionHigher = 11,
  9202.     protectionLower = -8,
  9203.   },
  9204.   poolQue = {
  9205.     ai = {
  9206.       attackArc = 1.5707963267949,
  9207.       attackDist = 100,
  9208.       bulletSpeed = 10000,
  9209.     },
  9210.     aimArc = 2.8274333882308,
  9211.     aimRange = 250,
  9212.     aimSpeed = 0.2,
  9213.     alwaysAim = true,
  9214.     attack = "blunt",
  9215.     attackFactor = 0.67,
  9216.     breakable = true,
  9217.     bulletTimeFactor = 2,
  9218.     chargeCooldown = 0.15,
  9219.     chargeDelaySpeed = 2.325,
  9220.     chargeSpeed = 1,
  9221.     closeCombat = true,
  9222.     credits = 50,
  9223.     dangerFactor = 0.15,
  9224.     droppable = true,
  9225.     duckNodeAttack = "thrust",
  9226.     failedCooldown = 0,
  9227.     forceFactor = 1.25,
  9228.     health = 5,
  9229.     iconName = "poolQue_icon",
  9230.     logic = {
  9231.       "render_with_feedback",
  9232.       "node_attack",
  9233.       "node_attack_actor_adaptive",
  9234.       "node_attack_charge_boost",
  9235.       "node_attack_hit_self_breakage",
  9236.       "can_use_with_any_charge",
  9237.     },
  9238.     melee = true,
  9239.     minCooldown = 0.119,
  9240.     name = "Pool Que",
  9241.     nodeAttack = "swing",
  9242.     pickupSound = "pickupWeapon",
  9243.     rackAngle = 0,
  9244.     range = 55,
  9245.     size = 4,
  9246.     sneakNodeAttack = "stab",
  9247.     speed = 0.9,
  9248.     spriteName = "poolQue",
  9249.     switchedToSound = "switch",
  9250.     vendorAngle = -1.0367255756846,
  9251.     weapon = true,
  9252.   },
  9253.   portableBouncer = {
  9254.     activePickup = true,
  9255.     ai = {
  9256.     },
  9257.     asObjectPhysics = {
  9258.       {...},
  9259.       {...},
  9260.       {...},
  9261.       bodyDef = {...},
  9262.     },
  9263.     box2dControlled = true,
  9264.     carried = true,
  9265.     credits = 25,
  9266.     customSpriteNames = {
  9267.       feedback = "portableBounceGlow",
  9268.     },
  9269.     dangerFactor = 0.05,
  9270.     dropRotation = 0,
  9271.     droppable = true,
  9272.     feedbackTime = 0.25,
  9273.     health = 10,
  9274.     iconName = "portableBounce_icon",
  9275.     name = "Portable Bouncer",
  9276.     noFilter = true,
  9277.     size = 4,
  9278.     spriteName = "portableBounce",
  9279.     stackable = true,
  9280.     throwAngle = 1.5707963267949,
  9281.     throwAttack = true,
  9282.     throwRotation = 0,
  9283.     utility = true,
  9284.   },
  9285.   portableSentry = {
  9286.     actorClass = "portableSentry",
  9287.     ai = {
  9288.       attackArc = 2.3561944901923,
  9289.       attackDist = 1200,
  9290.       attackWhenCareful = true,
  9291.       suicideDist = 0,
  9292.     },
  9293.     armDuration = 1,
  9294.     armed_blink_fx = "portableSentryBlink",
  9295.     armed_blink_rate = 5,
  9296.     armed_blink_sound = "distressBeep",
  9297.     asObjectPhysics = {
  9298.       {...},
  9299.       {...},
  9300.       {...},
  9301.       bodyDef = {...},
  9302.     },
  9303.     box2dControlled = true,
  9304.     bulletTimeFactor = 0,
  9305.     carried = true,
  9306.     credits = 50,
  9307.     customSpriteNames = {
  9308.       glow = "portableSentryGlow",
  9309.     },
  9310.     dangerFactor = 1.5,
  9311.     defenceFactor = 1,
  9312.     dropRotation = 0,
  9313.     droppable = true,
  9314.     health = 30,
  9315.     hitMode = "arm",
  9316.     hudDat = "hud_update_1.dat",
  9317.     iconName = "portableSentry_icon",
  9318.     logic = {
  9319.       "armed_deploy_wall_collision",
  9320.       "armed_deploy_ground_timer",
  9321.       "lifetime_expired_disarm",
  9322.       "armed_linear_blink",
  9323.       "thrown_object_lifetime",
  9324.     },
  9325.     name = "Portable Sentry",
  9326.     offenceFactor = 0.5,
  9327.     pickupSound = "pickup",
  9328.     size = 5,
  9329.     spriteName = "portableSentry",
  9330.     stackable = true,
  9331.     throwAngle = 1.5707963267949,
  9332.     throwRotation = 0,
  9333.     thrown_lifetime = 6,
  9334.     utility = true,
  9335.   },
  9336.   powerSlice = {
  9337.     ai = {
  9338.     },
  9339.     asObjectDensity = 1,
  9340.     bounceSound = "bounceArtifact",
  9341.     consumable = true,
  9342.     credits = 50,
  9343.     customSpriteNames = {
  9344.       "powerplug_light",
  9345.       "powerplug_glow",
  9346.     },
  9347.     droppable = true,
  9348.     energyValue = 50,
  9349.     iconName = "powerplug_icon",
  9350.     name = "Power Plug",
  9351.     pickupSound = "energyPickup",
  9352.     spriteName = "powerplug",
  9353.     stackable = true,
  9354.     volts = true,
  9355.   },
  9356.   prism = {
  9357.     ai = {
  9358.       attackArc = 1.0367255756846,
  9359.       attackDist = 600,
  9360.       suicideDist = 175,
  9361.     },
  9362.     aimsAtActors = false,
  9363.     aimsAtObjects = false,
  9364.     armDuration = 1,
  9365.     asObjectPhysics = {
  9366.       {...},
  9367.       {...},
  9368.       bodyDef = {...},
  9369.     },
  9370.     box2dControlled = true,
  9371.     bulletTimeFactor = 0,
  9372.     carried = true,
  9373.     credits = 25,
  9374.     crystal_radius = 2,
  9375.     customSpriteNames = {
  9376.       back = "prismBack",
  9377.       crystal = "prismCrystal",
  9378.       glow = "prismGlow",
  9379.       larm = "prismArmLeft",
  9380.       marm = "prismArmMid",
  9381.       rarm = "prismArmRight",
  9382.       shine = {...},
  9383.     },
  9384.     dangerFactor = 0.01,
  9385.     dropRotation = 0,
  9386.     droppable = true,
  9387.     expanded_fade_duration = 0.5,
  9388.     gravity = 32,
  9389.     health = 8,
  9390.     hudDat = "hud_update_1.dat",
  9391.     iconName = "prism_icon",
  9392.     isObject = true,
  9393.     logic = {
  9394.       "expanded_fade",
  9395.       "armed_deploy_wall_collision",
  9396.       "armed_deploy_ground_timer",
  9397.       "disarm_packs_up",
  9398.       "object_link",
  9399.       "armed_object_expanded_link",
  9400.     },
  9401.     name = "Prism Relay",
  9402.     neverIdle = true,
  9403.     neverIgnore = true,
  9404.     nodes = {
  9405.       crystal = {...},
  9406.     },
  9407.     pickupSound = "pickupWeapon",
  9408.     size = 3,
  9409.     spriteName = "prism",
  9410.     stackable = true,
  9411.     throwAngle = 1.5707963267949,
  9412.     throwRotation = 0,
  9413.     utility = true,
  9414.   },
  9415.   prismConverter = {
  9416.     ai = {
  9417.       attackArc = 1.0367255756846,
  9418.       attackDist = 600,
  9419.       suicideDist = 175,
  9420.     },
  9421.     aimsAtActors = false,
  9422.     aimsAtObjects = false,
  9423.     armDuration = 1,
  9424.     asObjectPhysics = {
  9425.       {...},
  9426.       {...},
  9427.       {...},
  9428.       bodyDef = {...},
  9429.     },
  9430.     box2dControlled = true,
  9431.     bulletTimeFactor = 0,
  9432.     carried = true,
  9433.     credits = 125,
  9434.     crystal_radius = 4,
  9435.     customSpriteNames = {
  9436.       crystal = "prismSuperCrystal",
  9437.       glow = "prismSuperGlow",
  9438.       shine = {...},
  9439.       transmit = "prismSuperTransmit",
  9440.     },
  9441.     dangerFactor = 0.01,
  9442.     dropRotation = 0,
  9443.     droppable = true,
  9444.     expanded_fade_duration = 0.5,
  9445.     gravity = 50,
  9446.     health = 30,
  9447.     hudDat = "hud_update_1.dat",
  9448.     huge = true,
  9449.     logic = {
  9450.       "expanded_fade",
  9451.       "armed_deploy_ground_timer",
  9452.       "disarm_packs_up",
  9453.       "pickup_packs_up",
  9454.       "object_link",
  9455.       "armed_object_expanded_link",
  9456.       "object_antenna",
  9457.     },
  9458.     name = "Prism Converter",
  9459.     neverIdle = true,
  9460.     neverIgnore = true,
  9461.     nodes = {
  9462.       antenna = {...},
  9463.       crystal = {...},
  9464.     },
  9465.     object_antenna = true,
  9466.     object_antenna_range = 500,
  9467.     pickupSound = "pickupWeapon",
  9468.     size = 6,
  9469.     spriteName = "prismSuper",
  9470.     stackable = true,
  9471.     throwAngle = 1.5707963267949,
  9472.     throwAttack = true,
  9473.     throwRotation = 0,
  9474.   },
  9475.   punch = {
  9476.     ability = true,
  9477.     ai = {
  9478.       attackArc = 1.5707963267949,
  9479.       bulletSpeed = 10000,
  9480.     },
  9481.     aimArc = 2.8274333882308,
  9482.     aimRange = 275,
  9483.     aimSpeed = 5,
  9484.     aimsAtBullets = true,
  9485.     alwaysAim = true,
  9486.     attack = "punch",
  9487.     bulletTimeDistanceFactor = 0.5,
  9488.     bulletTimeFactor = 0.5,
  9489.     chargeCooldown = 0.05,
  9490.     closeCombat = true,
  9491.     dangerFactor = 0,
  9492.     droppable = false,
  9493.     failedCooldown = 0,
  9494.     fireHeight = -2,
  9495.     iconName = "punch_icon",
  9496.     instant = true,
  9497.     leeway = 0,
  9498.     logic = {
  9499.       "render_nothing",
  9500.       "node_attack",
  9501.       "node_attack_charge_boost",
  9502.       "node_attack_hit_is_punch",
  9503.       "can_use_with_any_charge",
  9504.     },
  9505.     minCooldown = 0.05,
  9506.     name = "Punch Attack",
  9507.     nodeAttack = "punch",
  9508.     pickupSound = "pickupWeapon",
  9509.     selectBetter = true,
  9510.   },
  9511.   radio = {
  9512.     ai = {
  9513.     },
  9514.     credits = 50,
  9515.     dangerFactor = 0.4,
  9516.     droppable = true,
  9517.     equipment = "radio",
  9518.     head = true,
  9519.     iconName = "radio_icon",
  9520.     name = "Communications Radio",
  9521.     robot = true,
  9522.     spriteName = "radio",
  9523.   },
  9524.   railAmmo = {
  9525.     ai = {
  9526.     },
  9527.     ammoIndex = 60,
  9528.     consumable = true,
  9529.     gearDamage = 0.1,
  9530.     iconName = "railgun_ammoIcon",
  9531.     name = "Rail Ammo",
  9532.     pickupSound = "pickupAmmo",
  9533.     predictable = false,
  9534.     stackable = true,
  9535.   },
  9536.   railBurst = {
  9537.     ai = {
  9538.       attackArc = 0.21991148575129,
  9539.       attackDist = 870,
  9540.       bulletSpeed = 80,
  9541.     },
  9542.     aimRange = 870,
  9543.     aimSpeed = 0.9,
  9544.     aimsAtBullets = false,
  9545.     ammoType = "railAmmo",
  9546.     ammoUse = 1.25,
  9547.     bullet = "slugSmall",
  9548.     bulletSpeed = 100,
  9549.     bulletTimeFactor = 0.9,
  9550.     burst = true,
  9551.     burst_delay = 0.09,
  9552.     cooldown = 0.2,
  9553.     credits = 175,
  9554.     customSpriteNames = {
  9555.       back = "railBurst_back",
  9556.       slider = "railBurst_slider",
  9557.       sliderSlug = "railBurst_sliderSlug",
  9558.       sliderTop = "railBurst_sliderTop",
  9559.     },
  9560.     dangerFactor = 0.5,
  9561.     droppable = true,
  9562.     fireHeight = 5,
  9563.     handlingSway = 0.35,
  9564.     health = 15,
  9565.     iconName = "railBurst_icon",
  9566.     logic = {
  9567.       "update_recoil",
  9568.       "handling_sway",
  9569.       "update_upgrades",
  9570.       "generic_burst_weapon",
  9571.     },
  9572.     maxAmmo = 3,
  9573.     name = "Rail Burster",
  9574.     pickupSound = "pickupWeapon",
  9575.     rack = "rail",
  9576.     rackAngle = -1.5707963267949,
  9577.     rackable = true,
  9578.     rail = true,
  9579.     recoilAngle = 0,
  9580.     recoilControl = 0.7,
  9581.     recoilFatigue = 1.2,
  9582.     recoilSeed = 6,
  9583.     recoilSpeed = 600,
  9584.     reloadBoosts = {
  9585.       0.5,
  9586.     },
  9587.     reloadSequence = {
  9588.       crank = {...},
  9589.       ending = {...},
  9590.       handle = {...},
  9591.       insert = {...},
  9592.       slide = {...},
  9593.     },
  9594.     reloadTime = 1.45,
  9595.     sidearm = true,
  9596.     size = 3,
  9597.     soundRange = 300,
  9598.     spriteName = "railBurst",
  9599.     switchedToSound = "switch",
  9600.     trunkanTechnology = true,
  9601.     useSound = "railBurst",
  9602.     weapon = true,
  9603.   },
  9604.   railBurstBig = {
  9605.     ai = {
  9606.       attackArc = 0.25132741228718,
  9607.       attackDist = 950,
  9608.       bulletSpeed = 86,
  9609.     },
  9610.     aimRange = 950,
  9611.     aimSpeed = 0.7,
  9612.     aimsAtBullets = false,
  9613.     ammoType = "railAmmo",
  9614.     ammoUse = 1.25,
  9615.     bullet = "slugSmall",
  9616.     bulletSpeed = 108,
  9617.     bulletTimeFactor = 0.9,
  9618.     burst = true,
  9619.     burst_delay = 0.08,
  9620.     cooldown = 0.25,
  9621.     credits = 450,
  9622.     customSpriteNames = {
  9623.       back = "railBurstBig_back",
  9624.       slider = "railBurstBig_slider",
  9625.       sliderSlug = "railBurstBig_sliderSlug",
  9626.       sliderTop = "railBurstBig_sliderTop",
  9627.     },
  9628.     dangerFactor = 1.1,
  9629.     droppable = true,
  9630.     fireHeight = 5,
  9631.     handlingSway = 0.45,
  9632.     health = 15,
  9633.     iconName = "railBurstBig_icon",
  9634.     logic = {
  9635.       "update_recoil",
  9636.       "handling_sway",
  9637.       "update_upgrades",
  9638.       "generic_burst_weapon",
  9639.     },
  9640.     maxAmmo = 5,
  9641.     name = "Rail Screamer",
  9642.     pickupSound = "pickupWeapon",
  9643.     rack = "rail",
  9644.     rackAngle = -1.5707963267949,
  9645.     rackable = true,
  9646.     rail = true,
  9647.     recoilAngle = 0,
  9648.     recoilControl = 0.7,
  9649.     recoilFatigue = 1.2,
  9650.     recoilSeed = 5,
  9651.     recoilSpeed = 550,
  9652.     reloadBoosts = {
  9653.       0.5,
  9654.     },
  9655.     reloadSequence = {
  9656.       crank = {...},
  9657.       ending = {...},
  9658.       handle = {...},
  9659.       insert = {...},
  9660.       slide = {...},
  9661.     },
  9662.     reloadTime = 1.55,
  9663.     size = 4,
  9664.     soundRange = 300,
  9665.     spriteName = "railBurstBig",
  9666.     switchedToSound = "switch",
  9667.     trunkanTechnology = true,
  9668.     useSound = "railBurstBig",
  9669.     weapon = true,
  9670.   },
  9671.   railBurstBigExtendedMagazine = {
  9672.     ai = {
  9673.     },
  9674.     ammoCapacity = 4,
  9675.     articleId = "magazine",
  9676.     credits = 100,
  9677.     dangerFactor = 0.2,
  9678.     droppable = true,
  9679.     iconName = "railBurstBig_extendedMagazine1_upgIcon",
  9680.     maxLevel = 2,
  9681.     multilevel = true,
  9682.     name = "Rail Screamer Extended Magazine",
  9683.     perLevelCredits = 40,
  9684.     pickupSound = "pickupWeapon",
  9685.     spriteName = "railBurstBig_extendedMagazine1",
  9686.     spriteNames = {
  9687.       "railBurstBig_extendedMagazine1",
  9688.       "railBurstBig_extendedMagazine2",
  9689.     },
  9690.     upgrade = "magazine",
  9691.     upgradeIconNames = {
  9692.       "railBurstBig_extendedMagazine1_upgIcon",
  9693.       "railBurstBig_extendedMagazine2_upgIcon",
  9694.     },
  9695.     upgradeSequence = {
  9696.       crank = {...},
  9697.       ending = {...},
  9698.       insert = {...},
  9699.       inspect = {...},
  9700.       prepare = {...},
  9701.     },
  9702.     upgrades = "railBurstBig",
  9703.   },
  9704.   railBurstBigWheel = {
  9705.     ai = {
  9706.     },
  9707.     articleId = "wheel",
  9708.     credits = 150,
  9709.     dangerFactor = 0.1,
  9710.     droppable = true,
  9711.     logic = {
  9712.       "weapon_node_spin_wobble",
  9713.     },
  9714.     name = "Rail Screamer Wheel",
  9715.     offsetX = 13,
  9716.     offsetY = 0,
  9717.     pickupSound = "pickupWeapon",
  9718.     spriteName = "railBurst_wheel",
  9719.     upgrade = "wheel",
  9720.     upgradeIconName = "railBurstBig_wheel_upgIcon",
  9721.     upgradeSequence = {
  9722.       crank = {...},
  9723.       ending = {...},
  9724.       insert = {...},
  9725.       inspect = {...},
  9726.       prepare = {...},
  9727.     },
  9728.     upgrades = "railBurstBig",
  9729.     wobble_amount = 4.5238934211693,
  9730.   },
  9731.   railBurstExtendedMagazine = {
  9732.     ai = {
  9733.     },
  9734.     ammoCapacity = 3,
  9735.     articleId = "magazine",
  9736.     credits = 75,
  9737.     dangerFactor = 0.15,
  9738.     droppable = true,
  9739.     iconName = "railBurst_extendedMagazine1_upgIcon",
  9740.     maxLevel = 2,
  9741.     multilevel = true,
  9742.     name = "Rail Burster Extended Magazine",
  9743.     perLevelCredits = 35,
  9744.     pickupSound = "pickupWeapon",
  9745.     spriteName = "railBurst_extendedMagazine1",
  9746.     spriteNames = {
  9747.       "railBurst_extendedMagazine1",
  9748.       "railBurst_extendedMagazine2",
  9749.     },
  9750.     upgrade = "magazine",
  9751.     upgradeIconNames = {
  9752.       "railBurst_extendedMagazine1_upgIcon",
  9753.       "railBurst_extendedMagazine2_upgIcon",
  9754.     },
  9755.     upgradeSequence = {
  9756.       crank = {...},
  9757.       ending = {...},
  9758.       insert = {...},
  9759.       inspect = {...},
  9760.       prepare = {...},
  9761.     },
  9762.     upgrades = "railBurst",
  9763.   },
  9764.   railBurstWheel = {
  9765.     ai = {
  9766.     },
  9767.     articleId = "wheel",
  9768.     credits = 100,
  9769.     dangerFactor = 0.05,
  9770.     droppable = true,
  9771.     logic = {
  9772.       "weapon_node_spin_wobble",
  9773.     },
  9774.     name = "Rail Burster Wheel",
  9775.     offsetX = 11,
  9776.     offsetY = 0,
  9777.     pickupSound = "pickupWeapon",
  9778.     spriteName = "railBurst_wheel",
  9779.     upgrade = "wheel",
  9780.     upgradeIconName = "railBurst_wheel_upgIcon",
  9781.     upgradeSequence = {
  9782.       crank = {...},
  9783.       ending = {...},
  9784.       insert = {...},
  9785.       inspect = {...},
  9786.       prepare = {...},
  9787.     },
  9788.     upgrades = "railBurst",
  9789.     wobble_amount = 3.0159289474462,
  9790.   },
  9791.   railCannon = {
  9792.     ai = {
  9793.       attackArc = 0.031415926535898,
  9794.       attackDist = 1570,
  9795.       bulletSpeed = 226,
  9796.     },
  9797.     aimSpeed = 0.2,
  9798.     aimsAtBullets = false,
  9799.     ammoType = "railAmmo",
  9800.     ammoUse = 8,
  9801.     bullet = "slugBig",
  9802.     bulletSpeed = 226,
  9803.     bulletTimeFactor = 2.5,
  9804.     cannon = true,
  9805.     cooldown = 0.2,
  9806.     credits = 1600,
  9807.     dangerFactor = 4,
  9808.     droppable = true,
  9809.     fireHeight = 3,
  9810.     griplessAmount = 1,
  9811.     handlingSway = 1.25,
  9812.     health = 20,
  9813.     iconName = "railCannon_icon",
  9814.     logic = {
  9815.       "update_recoil",
  9816.       "handling_sway",
  9817.       "update_upgrades",
  9818.     },
  9819.     maxAmmo = 1,
  9820.     name = "Rail Cannon",
  9821.     pickupSound = "pickupWeapon",
  9822.     pushback = 12,
  9823.     rack = "rail",
  9824.     rackAngle = -1.5707963267949,
  9825.     rackable = true,
  9826.     rail = true,
  9827.     recoilAngle = 0,
  9828.     recoilControl = 0.25,
  9829.     recoilFatigue = 4.8,
  9830.     recoilSeed = 32,
  9831.     recoilSpeed = 3200,
  9832.     reloadBoosts = {
  9833.       0.4,
  9834.     },
  9835.     reloadSequence = {
  9836.       crank = {...},
  9837.       ending = {...},
  9838.       handle = {...},
  9839.       insert = {...},
  9840.       prepare = {...},
  9841.     },
  9842.     reloadTime = 2.5,
  9843.     size = 5,
  9844.     sniper = true,
  9845.     soundRange = 600,
  9846.     spriteName = "railCannon",
  9847.     switchedToSound = "switch",
  9848.     trunkanTechnology = true,
  9849.     useSound = "railCannon",
  9850.     weapon = true,
  9851.   },
  9852.   railCannonPointer = {
  9853.     ai = {
  9854.     },
  9855.     articleId = "pointer",
  9856.     credits = 175,
  9857.     dangerFactor = 0.15,
  9858.     droppable = true,
  9859.     name = "Rail Cannon Pointer",
  9860.     pickupSound = "pickupWeapon",
  9861.     pointerDown = 6,
  9862.     spriteName = "railCannon_pointer",
  9863.     upgrade = "pointer",
  9864.     upgradeIconName = "railCannon_pointer_upgIcon",
  9865.     upgradeSequence = {
  9866.       crank = {...},
  9867.       ending = {...},
  9868.       insert = {...},
  9869.       inspect = {...},
  9870.       prepare = {...},
  9871.     },
  9872.     upgrades = "railCannon",
  9873.   },
  9874.   railCannonScope = {
  9875.     ai = {
  9876.     },
  9877.     articleId = "scope",
  9878.     credits = 200,
  9879.     dangerFactor = 0.3,
  9880.     droppable = true,
  9881.     name = "Rail Cannon Scope",
  9882.     pickupSound = "pickupWeapon",
  9883.     scope = true,
  9884.     scopeSpeed = 1.25,
  9885.     spriteName = "railCannon_scope",
  9886.     upgrade = "scope",
  9887.     upgradeIconName = "railCannon_scope_upgIcon",
  9888.     upgradeSequence = {
  9889.       crank = {...},
  9890.       ending = {...},
  9891.       insert = {...},
  9892.       inspect = {...},
  9893.       prepare = {...},
  9894.     },
  9895.     upgrades = "railCannon",
  9896.   },
  9897.   railGun = {
  9898.     ai = {
  9899.       attackArc = 0.031415926535898,
  9900.       attackDist = 1320,
  9901.       bulletSpeed = 156,
  9902.     },
  9903.     aimRange = 1300,
  9904.     aimSpeed = 0.25,
  9905.     aimsAtBullets = false,
  9906.     ammoType = "railAmmo",
  9907.     ammoUse = 6,
  9908.     bullet = "slug",
  9909.     bulletSpeed = 156,
  9910.     bulletTimeFactor = 2,
  9911.     cannon = true,
  9912.     cooldown = 0.1,
  9913.     credits = 700,
  9914.     dangerFactor = 3,
  9915.     droppable = true,
  9916.     fireHeight = 3,
  9917.     griplessAmount = 0.75,
  9918.     handlingSway = 0.8,
  9919.     health = 20,
  9920.     iconName = "railgun_icon",
  9921.     logic = {
  9922.       "update_recoil",
  9923.       "handling_sway",
  9924.       "update_upgrades",
  9925.     },
  9926.     maxAmmo = 1,
  9927.     name = "Rail Gun",
  9928.     pickupSound = "pickupWeapon",
  9929.     pushback = 7,
  9930.     rack = "rail",
  9931.     rackAngle = -1.5707963267949,
  9932.     rackable = true,
  9933.     rail = true,
  9934.     recoilAngle = 0,
  9935.     recoilControl = 0.25,
  9936.     recoilFatigue = 3.2,
  9937.     recoilSeed = 29,
  9938.     recoilSpeed = 2900,
  9939.     reloadBoosts = {
  9940.       0.4,
  9941.     },
  9942.     reloadSequence = {
  9943.       crank = {...},
  9944.       ending = {...},
  9945.       handle = {...},
  9946.       insert = {...},
  9947.       prepare = {...},
  9948.     },
  9949.     reloadTime = 1.33,
  9950.     size = 4,
  9951.     sniper = true,
  9952.     soundRange = 600,
  9953.     spriteName = "railgun",
  9954.     switchedToSound = "switch",
  9955.     trunkanTechnology = true,
  9956.     useSound = "railShot",
  9957.     weapon = true,
  9958.   },
  9959.   railGunPointer = {
  9960.     ai = {
  9961.     },
  9962.     articleId = "pointer",
  9963.     credits = 100,
  9964.     dangerFactor = 0.1,
  9965.     droppable = true,
  9966.     name = "Rail Gun Pointer",
  9967.     pickupSound = "pickupWeapon",
  9968.     pointerDown = 6,
  9969.     spriteName = "railgun_pointer",
  9970.     upgrade = "pointer",
  9971.     upgradeIconName = "railgun_pointer_upgIcon",
  9972.     upgradeSequence = {
  9973.       crank = {...},
  9974.       ending = {...},
  9975.       insert = {...},
  9976.       inspect = {...},
  9977.       prepare = {...},
  9978.     },
  9979.     upgrades = "railGun",
  9980.   },
  9981.   railGunScope = {
  9982.     ai = {
  9983.     },
  9984.     aimRangeFactor = 1.25,
  9985.     articleId = "scope",
  9986.     credits = 125,
  9987.     dangerFactor = 0.25,
  9988.     droppable = true,
  9989.     name = "Rail Gun Scope",
  9990.     pickupSound = "pickupWeapon",
  9991.     scope = true,
  9992.     scopeSpeed = 1.25,
  9993.     spriteName = "railgun_scope",
  9994.     upgrade = "scope",
  9995.     upgradeIconName = "railgun_scope_upgIcon",
  9996.     upgradeSequence = {
  9997.       crank = {...},
  9998.       ending = {...},
  9999.       insert = {...},
  10000.       inspect = {...},
  10001.       prepare = {...},
  10002.     },
  10003.     upgrades = "railGun",
  10004.   },
  10005.   railPrototype = {
  10006.     ai = {
  10007.       attackArc = 0.031415926535898,
  10008.       attackDist = 750,
  10009.       bulletSpeed = 70,
  10010.     },
  10011.     aimRange = 750,
  10012.     aimSpeed = 0.95,
  10013.     aimsAtBullets = false,
  10014.     ammoType = "railAmmo",
  10015.     ammoUse = 1,
  10016.     bullet = "slugSmall",
  10017.     bulletSpeed = 110,
  10018.     bulletTimeFactor = 0.9,
  10019.     cooldown = 0.25,
  10020.     credits = 125,
  10021.     dangerFactor = 0.2,
  10022.     droppable = true,
  10023.     fireHeight = 8,
  10024.     handlingSway = 0.4,
  10025.     health = 10,
  10026.     iconName = "railPrototype_icon",
  10027.     logic = {
  10028.       "update_recoil",
  10029.       "handling_sway",
  10030.     },
  10031.     maxAmmo = 1,
  10032.     name = "Rail Prototype",
  10033.     pickupSound = "pickupWeapon",
  10034.     pistol = true,
  10035.     rack = "rail",
  10036.     rackAngle = -1.5707963267949,
  10037.     rackable = true,
  10038.     rail = true,
  10039.     recoilAngle = 0,
  10040.     recoilControl = 0.7,
  10041.     recoilFatigue = 1.2,
  10042.     recoilSeed = 9,
  10043.     recoilSpeed = 900,
  10044.     reloadBoosts = {
  10045.       0.5,
  10046.     },
  10047.     reloadSequence = {
  10048.       crank = {...},
  10049.       ending = {...},
  10050.       handle = {...},
  10051.       insert = {...},
  10052.       slide = {...},
  10053.     },
  10054.     reloadTime = 1.05,
  10055.     sidearm = true,
  10056.     size = 2,
  10057.     soundRange = 300,
  10058.     spriteName = "railPrototype",
  10059.     switchedToSound = "switch",
  10060.     trunkanTechnology = true,
  10061.     useSound = "railPrototype",
  10062.     weapon = true,
  10063.   },
  10064.   railRevolver = {
  10065.     ai = {
  10066.       attackArc = 0.031415926535898,
  10067.       attackDist = 950,
  10068.       bulletSpeed = 85,
  10069.     },
  10070.     aimRange = 950,
  10071.     aimSpeed = 0.9,
  10072.     aimsAtBullets = false,
  10073.     ammoType = "railAmmo",
  10074.     ammoUse = 1.5,
  10075.     bullet = "slugSmall",
  10076.     bulletSpeed = 105,
  10077.     bulletTimeFactor = 0.9,
  10078.     cooldown = 0.45,
  10079.     cooldownReductionSemi = 0.1,
  10080.     credits = 250,
  10081.     customSpriteNames = {
  10082.       barrel = "railRevolver_barrel",
  10083.       bottom = "railRevolver_bottom",
  10084.       top = "railRevolver_top",
  10085.     },
  10086.     dangerFactor = 1,
  10087.     droppable = true,
  10088.     fireHeight = 5,
  10089.     handlingSway = 0.25,
  10090.     health = 15,
  10091.     iconName = "railRevolver_icon",
  10092.     logic = {
  10093.       "update_upgrades",
  10094.       "update_recoil",
  10095.       "handling_sway",
  10096.     },
  10097.     maxAmmo = 10,
  10098.     name = "Rail Revolver",
  10099.     pickupSound = "pickupWeapon",
  10100.     pistol = true,
  10101.     rack = "rail",
  10102.     rackAngle = -1.5707963267949,
  10103.     rackable = true,
  10104.     rail = true,
  10105.     recoilAngle = 0.25,
  10106.     recoilControl = 1,
  10107.     recoilFatigue = 1.8,
  10108.     recoilSeed = 16,
  10109.     recoilSpeed = 1600,
  10110.     reloadBoosts = {
  10111.       0.7,
  10112.     },
  10113.     reloadSequence = {
  10114.       crank = {...},
  10115.       ending = {...},
  10116.       handle = {...},
  10117.       insert = {...},
  10118.     },
  10119.     sidearm = true,
  10120.     size = 3,
  10121.     soundRange = 300,
  10122.     spriteName = "railRevolver",
  10123.     switchedToSound = "switch",
  10124.     trunkanTechnology = true,
  10125.     useSound = "railRevolver",
  10126.     weapon = true,
  10127.   },
  10128.   railRevolverEngine = {
  10129.     ai = {
  10130.     },
  10131.     articleId = "motor",
  10132.     credits = 75,
  10133.     dangerFactor = 0.2,
  10134.     droppable = true,
  10135.     name = "Rail Revolver Motor",
  10136.     pickupSound = "pickupWeapon",
  10137.     spriteName = "railRevolver_engine",
  10138.     upgrade = "motor",
  10139.     upgradeIconName = "railRevolver_engine_upgIcon",
  10140.     upgradeSequence = {
  10141.       crank = {...},
  10142.       ending = {...},
  10143.       insert = {...},
  10144.       inspect = {...},
  10145.       mag = {...},
  10146.     },
  10147.     upgrades = "railRevolver",
  10148.   },
  10149.   railRevolverLoadPin = {
  10150.     ai = {
  10151.     },
  10152.     articleId = "loadPin",
  10153.     credits = 75,
  10154.     dangerFactor = 0.1,
  10155.     droppable = true,
  10156.     name = "Rail Revolver Load Pin",
  10157.     pickupSound = "pickupWeapon",
  10158.     spriteName = "railRevolver_loadPin",
  10159.     upgrade = "loadPin",
  10160.     upgradeIconName = "railRevolver_loadPin_upgIcon",
  10161.     upgradeSequence = {
  10162.       crank = {...},
  10163.       ending = {...},
  10164.       insert = {...},
  10165.       inspect = {...},
  10166.       mag = {...},
  10167.     },
  10168.     upgrades = "railRevolver",
  10169.   },
  10170.   railRifle = {
  10171.     ai = {
  10172.       attackArc = 0.031415926535898,
  10173.       attackDist = 1050,
  10174.       bulletSpeed = 95,
  10175.     },
  10176.     aimRange = 1050,
  10177.     aimSpeed = 0.75,
  10178.     aimsAtBullets = false,
  10179.     ammoType = "railAmmo",
  10180.     ammoUse = 3,
  10181.     bullet = "slugMedium",
  10182.     bulletSpeed = 122,
  10183.     bulletTimeFactor = 1.4,
  10184.     cooldown = 0.55,
  10185.     credits = 700,
  10186.     customSpriteNames = {
  10187.       barrel = "railRifle_barrel",
  10188.       top = "railRifle_top",
  10189.     },
  10190.     dangerFactor = 1.75,
  10191.     droppable = true,
  10192.     fireHeight = 5,
  10193.     griplessAmount = 0.2,
  10194.     handlingSway = 0.65,
  10195.     health = 20,
  10196.     iconName = "railRifle_icon",
  10197.     logic = {
  10198.       "update_upgrades",
  10199.       "update_recoil",
  10200.       "handling_sway",
  10201.     },
  10202.     maxAmmo = 16,
  10203.     name = "Rail Defender",
  10204.     pickupSound = "pickupWeapon",
  10205.     pushback = 2,
  10206.     rack = "rail",
  10207.     rackAngle = -1.5707963267949,
  10208.     rackable = true,
  10209.     rail = true,
  10210.     recoilAngle = 1.75,
  10211.     recoilControl = 1,
  10212.     recoilFatigue = 1.2,
  10213.     recoilSeed = 24,
  10214.     recoilSpeed = 2400,
  10215.     reloadBoosts = {
  10216.       0.7,
  10217.     },
  10218.     reloadSequence = {
  10219.       crank = {...},
  10220.       ending = {...},
  10221.       handle = {...},
  10222.       insert = {...},
  10223.     },
  10224.     rifle = true,
  10225.     size = 4,
  10226.     soundRange = 300,
  10227.     spriteName = "railRifle",
  10228.     switchedToSound = "switch",
  10229.     trunkanTechnology = true,
  10230.     useSound = "railRifle",
  10231.     weapon = true,
  10232.   },
  10233.   railRifleEngine = {
  10234.     ai = {
  10235.     },
  10236.     articleId = "motor",
  10237.     credits = 150,
  10238.     dangerFactor = 0.15,
  10239.     droppable = true,
  10240.     name = "Rail Defender Motor",
  10241.     pickupSound = "pickupWeapon",
  10242.     spriteName = "railRifle_engine",
  10243.     upgrade = "motor",
  10244.     upgradeIconName = "railRifle_engine_upgIcon",
  10245.     upgradeSequence = {
  10246.       crank = {...},
  10247.       ending = {...},
  10248.       insert = {...},
  10249.       inspect = {...},
  10250.       mag = {...},
  10251.     },
  10252.     upgrades = "railRifle",
  10253.   },
  10254.   railRifleLoadPin = {
  10255.     ai = {
  10256.     },
  10257.     articleId = "loadPin",
  10258.     credits = 150,
  10259.     dangerFactor = 0.15,
  10260.     droppable = true,
  10261.     name = "Rail Defender Load Pin",
  10262.     pickupSound = "pickupWeapon",
  10263.     spriteName = "railRifle_loadPin",
  10264.     upgrade = "loadPin",
  10265.     upgradeIconName = "railRifle_loadPin_upgIcon",
  10266.     upgradeSequence = {
  10267.       crank = {...},
  10268.       ending = {...},
  10269.       insert = {...},
  10270.       inspect = {...},
  10271.       mag = {...},
  10272.     },
  10273.     upgrades = "railRifle",
  10274.   },
  10275.   railScout = {
  10276.     ai = {
  10277.       attackArc = 0.031415926535898,
  10278.       attackDist = 1200,
  10279.       bulletSpeed = 110,
  10280.     },
  10281.     aimSpeed = 0.5,
  10282.     aimsAtBullets = false,
  10283.     ammoType = "railAmmo",
  10284.     ammoUse = 3,
  10285.     bullet = "slugMedium",
  10286.     bulletSpeed = 138,
  10287.     bulletTimeFactor = 1.4,
  10288.     cooldown = 0.15,
  10289.     credits = 450,
  10290.     dangerFactor = 1.6,
  10291.     droppable = true,
  10292.     fireHeight = 3,
  10293.     griplessAmount = 0.1,
  10294.     handlingSway = 0.25,
  10295.     health = 20,
  10296.     iconName = "railScout_icon",
  10297.     logic = {
  10298.       "update_recoil",
  10299.       "handling_sway",
  10300.       "update_upgrades",
  10301.     },
  10302.     maxAmmo = 1,
  10303.     name = "Rail Scout",
  10304.     pickupSound = "pickupWeapon",
  10305.     pushback = 1,
  10306.     rack = "rail",
  10307.     rackAngle = -1.5707963267949,
  10308.     rackable = true,
  10309.     rail = true,
  10310.     recoilAngle = 0,
  10311.     recoilControl = 0.5,
  10312.     recoilFatigue = 1.8,
  10313.     recoilSeed = 19,
  10314.     recoilSpeed = 1900,
  10315.     reloadBoosts = {
  10316.       0.3,
  10317.     },
  10318.     reloadSequence = {
  10319.       crank = {...},
  10320.       ending = {...},
  10321.       handle = {...},
  10322.       insert = {...},
  10323.       prepare = {...},
  10324.     },
  10325.     reloadTime = 1.25,
  10326.     size = 3,
  10327.     sniper = true,
  10328.     soundRange = 300,
  10329.     spriteName = "railScout",
  10330.     switchedToSound = "switch",
  10331.     trunkanTechnology = true,
  10332.     useSound = "railScout",
  10333.     weapon = true,
  10334.   },
  10335.   railScoutPointer = {
  10336.     ai = {
  10337.     },
  10338.     articleId = "pointer",
  10339.     credits = 75,
  10340.     dangerFactor = 0.1,
  10341.     droppable = true,
  10342.     name = "Rail Scout Pointer",
  10343.     pickupSound = "pickupWeapon",
  10344.     pointerDown = 6,
  10345.     spriteName = "railScout_pointer",
  10346.     upgrade = "pointer",
  10347.     upgradeIconName = "railScout_pointer_upgIcon",
  10348.     upgradeSequence = {
  10349.       crank = {...},
  10350.       ending = {...},
  10351.       insert = {...},
  10352.       inspect = {...},
  10353.       prepare = {...},
  10354.     },
  10355.     upgrades = "railScout",
  10356.   },
  10357.   railScoutScope = {
  10358.     ai = {
  10359.     },
  10360.     articleId = "scope",
  10361.     credits = 100,
  10362.     dangerFactor = 0.15,
  10363.     droppable = true,
  10364.     name = "Rail Scout Scope",
  10365.     pickupSound = "pickupWeapon",
  10366.     scope = true,
  10367.     scopeSpeed = 1.25,
  10368.     spriteName = "railScout_scope",
  10369.     upgrade = "scope",
  10370.     upgradeIconName = "railScout_scope_upgIcon",
  10371.     upgradeSequence = {
  10372.       crank = {...},
  10373.       ending = {...},
  10374.       insert = {...},
  10375.       inspect = {...},
  10376.       prepare = {...},
  10377.     },
  10378.     upgrades = "railScout",
  10379.   },
  10380.   railVanquisher = {
  10381.     ai = {
  10382.       attackArc = 0.031415926535898,
  10383.       attackDist = 1150,
  10384.       bulletSpeed = 105,
  10385.       burst = 5,
  10386.     },
  10387.     aimRange = 1150,
  10388.     aimSpeed = 0.4,
  10389.     aimsAtBullets = false,
  10390.     ammoType = "railAmmo",
  10391.     ammoUse = 4,
  10392.     automatic = true,
  10393.     bullet = "slugMedium",
  10394.     bulletSpeed = 128,
  10395.     bulletTimeFactor = 1.4,
  10396.     cannon = true,
  10397.     cooldown = 0.25,
  10398.     credits = 2500,
  10399.     customSpriteNames = {
  10400.       back = "railVanquisher_back",
  10401.       barrel = "railVanquisher_barrel",
  10402.       belt = "railVanquisher_belt",
  10403.       top = "railVanquisher_top",
  10404.     },
  10405.     dangerFactor = 4,
  10406.     droppable = true,
  10407.     fireHeight = 11,
  10408.     griplessAmount = 0.3,
  10409.     handlingSway = 1.3,
  10410.     health = 30,
  10411.     iconName = "railVanquisher_icon",
  10412.     logic = {
  10413.       "update_upgrades",
  10414.       "update_recoil",
  10415.       "handling_sway",
  10416.     },
  10417.     maxAmmo = 50,
  10418.     name = "Rail Vanquisher",
  10419.     pickupSound = "pickupWeapon",
  10420.     pushback = 5,
  10421.     rack = "rail",
  10422.     rackAngle = -1.5707963267949,
  10423.     rackable = true,
  10424.     rail = true,
  10425.     recoilAngle = 1.95,
  10426.     recoilControl = 1,
  10427.     recoilFatigue = 2.2,
  10428.     recoilSeed = 24,
  10429.     recoilSpeed = 2400,
  10430.     reloadBoosts = {
  10431.       0.45,
  10432.       0.75,
  10433.     },
  10434.     reloadSequence = {
  10435.       crank = {...},
  10436.       ending = {...},
  10437.       handle = {...},
  10438.       insert = {...},
  10439.     },
  10440.     size = 5,
  10441.     soundRange = 300,
  10442.     spriteName = "railVanquisher",
  10443.     switchedToSound = "switch",
  10444.     trunkanTechnology = true,
  10445.     useSound = "railVanquisher",
  10446.     weapon = true,
  10447.   },
  10448.   railVanquisherEngine = {
  10449.     ai = {
  10450.     },
  10451.     articleId = "motor",
  10452.     credits = 400,
  10453.     dangerFactor = 0.75,
  10454.     droppable = true,
  10455.     name = "Rail Vanquisher Motor",
  10456.     pickupSound = "pickupWeapon",
  10457.     spriteName = "railVanquisher_engine",
  10458.     upgrade = "motor",
  10459.     upgradeIconName = "railVanquisher_engine_upgIcon",
  10460.     upgradeSequence = {
  10461.       crank = {...},
  10462.       ending = {...},
  10463.       insert = {...},
  10464.       inspect = {...},
  10465.       mag = {...},
  10466.     },
  10467.     upgrades = "railVanquisher",
  10468.   },
  10469.   railVanquisherExtendedMagazine = {
  10470.     ai = {
  10471.     },
  10472.     ammoCapacity = 25,
  10473.     articleId = "magazine",
  10474.     credits = 275,
  10475.     dangerFactor = 0.75,
  10476.     droppable = true,
  10477.     iconName = "railVanquisher_extendedMagazine1_upgIcon",
  10478.     maxLevel = 2,
  10479.     multilevel = true,
  10480.     name = "Rail Vanquisher Extended Magazine",
  10481.     perLevelCredits = 275,
  10482.     pickupSound = "pickupWeapon",
  10483.     spriteName = "railVanquisher_extendedMagazine1",
  10484.     spriteNames = {
  10485.       "railVanquisher_extendedMagazine1",
  10486.       "railVanquisher_extendedMagazine2",
  10487.     },
  10488.     upgrade = "magazine",
  10489.     upgradeIconNames = {
  10490.       "railVanquisher_extendedMagazine1_upgIcon",
  10491.       "railVanquisher_extendedMagazine2_upgIcon",
  10492.     },
  10493.     upgradeSequence = {
  10494.       crank = {...},
  10495.       ending = {...},
  10496.       insert = {...},
  10497.       inspect = {...},
  10498.       prepare = {...},
  10499.     },
  10500.     upgrades = "railVanquisher",
  10501.   },
  10502.   rapier = {
  10503.     ai = {
  10504.       attackArc = 1.5707963267949,
  10505.       attackDist = 100,
  10506.       bulletSpeed = 10000,
  10507.     },
  10508.     aimArc = 2.8274333882308,
  10509.     aimRange = 175,
  10510.     aimSpeed = 1.5,
  10511.     alwaysAim = true,
  10512.     attack = "blade",
  10513.     attackFactor = 0.7,
  10514.     breakable = true,
  10515.     bulletTimeFactor = 2,
  10516.     chargeCooldown = 0.2,
  10517.     chargeDelaySpeed = 2.85,
  10518.     chargeSpeed = 1.6,
  10519.     closeCombat = true,
  10520.     credits = 150,
  10521.     dangerFactor = 0.8,
  10522.     droppable = true,
  10523.     duckNodeAttack = "thrust",
  10524.     failedCooldown = 0,
  10525.     forceFactor = 0.8,
  10526.     health = 20,
  10527.     iconName = "rapier_icon",
  10528.     logic = {
  10529.       "render_with_feedback",
  10530.       "node_attack",
  10531.       "node_attack_actor_adaptive",
  10532.       "node_attack_charge_boost",
  10533.       "node_attack_hit_self_breakage",
  10534.       "can_use_with_any_charge",
  10535.     },
  10536.     melee = true,
  10537.     minCooldown = 0.077,
  10538.     name = "Rapier",
  10539.     nodeAttack = "stab",
  10540.     pickupSound = "pickupWeapon",
  10541.     rackAngle = 0,
  10542.     range = 51,
  10543.     size = 4,
  10544.     sneakNodeAttack = "swing",
  10545.     speed = 1.15,
  10546.     spriteName = "rapier",
  10547.     switchedToSound = "switch",
  10548.     vendorAngle = -1.0367255756846,
  10549.     weapon = true,
  10550.   },
  10551.   reactionEnhancer = {
  10552.     ai = {
  10553.     },
  10554.     brain = true,
  10555.     bullet_time_activate_speed = 2,
  10556.     bullet_time_deactivate_speed = 0.4,
  10557.     bullet_time_exponential_factor = 0.5,
  10558.     bullet_time_factor = 1,
  10559.     bullet_time_factor_max = 2.2,
  10560.     bullet_time_min = 0,
  10561.     bullet_time_range = 250,
  10562.     credits = 150,
  10563.     dangerFactor = 0.2,
  10564.     effect = "chronoBend",
  10565.     equipment = "reactionEnhancer",
  10566.     iconName = "reactionEnhancer_icon",
  10567.     logic = {
  10568.       "time_factor_hud_markers",
  10569.       "permanent_effect",
  10570.     },
  10571.     name = "Reaction Enhancer",
  10572.   },
  10573.   reactorAdvanced = {
  10574.     ai = {
  10575.     },
  10576.     chargeEfficiency = 0.5,
  10577.     chargeSpeed = 0.75,
  10578.     charge_start = 2,
  10579.     credits = 250,
  10580.     customSpriteNames = {
  10581.       glow = "shieldBeltGlow",
  10582.       grid = "shield_ringGrid",
  10583.       hit = "shield_ringHit",
  10584.       hitGrid = "shield_ringHitGrid",
  10585.       light = "shieldBeltLight",
  10586.       lines = "shield_lines",
  10587.       ring = "shield_ringWhite",
  10588.       ringColored = "shield_ring",
  10589.       spikes = "shield_ringSpikes",
  10590.     },
  10591.     dangerFactor = 0,
  10592.     droppable = false,
  10593.     equipment = "reactor",
  10594.     hudDat = "hud_update_1.dat",
  10595.     iconName = "reactorAdvanced_icon",
  10596.     logic = {
  10597.       "idle_able_charge",
  10598.       "render_upgrades",
  10599.       "update_visual_upgrades",
  10600.       "charge_speed_affected_by_booster",
  10601.       "max_charge_affected_by_booster",
  10602.     },
  10603.     maxCharge = 4,
  10604.     name = "Reactor (Advanced)",
  10605.     reactor = true,
  10606.     spriteName = "shieldBelt",
  10607.     torso = true,
  10608.   },
  10609.   reactorBasic = {
  10610.     ai = {
  10611.     },
  10612.     chargeEfficiency = 0.5,
  10613.     chargeSpeed = 0.5,
  10614.     charge_start = 1,
  10615.     credits = 250,
  10616.     dangerFactor = 0,
  10617.     droppable = false,
  10618.     equipment = "reactor",
  10619.     hidden = true,
  10620.     hudDat = "hud_update_1.dat",
  10621.     iconName = "reactorBasic_icon",
  10622.     logic = {
  10623.       "idle_able_charge",
  10624.       "render_upgrades",
  10625.       "update_visual_upgrades",
  10626.       "charge_speed_affected_by_booster",
  10627.       "max_charge_affected_by_booster",
  10628.     },
  10629.     maxCharge = 2,
  10630.     name = "Reactor",
  10631.     reactor = true,
  10632.   },
  10633.   reactorBooster = {
  10634.     ai = {
  10635.     },
  10636.     charge_speed_bonus_factor = 0.7,
  10637.     credits = 250,
  10638.     customSpriteNames = {
  10639.       glow = "shieldBeltGlow",
  10640.       grid = "shield_ringGrid",
  10641.       hit = "shield_ringHit",
  10642.       hitGrid = "shield_ringHitGrid",
  10643.       light = "shieldBeltLight",
  10644.       lines = "shield_lines",
  10645.       ring = "shield_ringWhite",
  10646.       ringColored = "shield_ring",
  10647.       spikes = "shield_ringSpikes",
  10648.     },
  10649.     dangerFactor = 0.4,
  10650.     droppable = false,
  10651.     hudDat = "hud_update_1.dat",
  10652.     iconName = "reactorAdvanced_icon",
  10653.     logic = {
  10654.       "actor_identity_glow_color",
  10655.       "render_sprite_light_glow",
  10656.     },
  10657.     max_charge_bonus_factor = 1,
  10658.     name = "Reactor Booster",
  10659.     no_composite_upgrade_hud = true,
  10660.     reactor = true,
  10661.     spriteName = "shieldBelt",
  10662.     torso = true,
  10663.     upgrade = "booster",
  10664.     upgrades = {
  10665.       "reactorBasic",
  10666.       "reactorAdvanced",
  10667.       "reactorWeak",
  10668.     },
  10669.   },
  10670.   reactorWeak = {
  10671.     ai = {
  10672.     },
  10673.     chargeEfficiency = 0.5,
  10674.     chargeSpeed = 0.5,
  10675.     charge_start = 1,
  10676.     credits = 250,
  10677.     dangerFactor = 0,
  10678.     droppable = false,
  10679.     equipment = "reactor",
  10680.     hidden = true,
  10681.     hudDat = "hud_update_1.dat",
  10682.     iconName = "reactorBasic_icon",
  10683.     logic = {
  10684.       "idle_able_charge",
  10685.       "render_upgrades",
  10686.       "update_visual_upgrades",
  10687.       "charge_speed_affected_by_booster",
  10688.       "max_charge_affected_by_booster",
  10689.     },
  10690.     maxCharge = 1,
  10691.     name = "Reactor (Weak)",
  10692.     reactor = true,
  10693.   },
  10694.   reflectShield = {
  10695.     ai = {
  10696.     },
  10697.     body = true,
  10698.     chargeEfficiency = 0.1,
  10699.     color = {
  10700.       a = 255,
  10701.       b = 225,
  10702.       g = 109,
  10703.       r = 255,
  10704.     },
  10705.     credits = 200,
  10706.     customSpriteNames = {
  10707.       glow = "shieldBeltGlow",
  10708.       grid = "shield_ringGrid",
  10709.       hit = "shield_ringHit",
  10710.       hitGrid = "shield_ringHitGrid",
  10711.       light = "shieldBeltLight",
  10712.       lines = "shield_lines",
  10713.       ring = "shield_ringWhite",
  10714.       ringColored = "shield_ring",
  10715.       spikes = "shield_ringSpikes",
  10716.     },
  10717.     cyborg = true,
  10718.     dangerFactor = 3,
  10719.     defence = true,
  10720.     defenceFactor = 1,
  10721.     droppable = true,
  10722.     effect = "reflect",
  10723.     effectName = "shield_reflect",
  10724.     effectRange = 125,
  10725.     effect_color = {
  10726.       a = 255,
  10727.       b = 109,
  10728.       g = 109,
  10729.       r = 255,
  10730.     },
  10731.     equipment = "shieldBelt",
  10732.     equipment_visual = "torso",
  10733.     hit_prio = 0,
  10734.     iconName = "shieldbelt_icon",
  10735.     listing = true,
  10736.     logic = {
  10737.       "shield_belt",
  10738.     },
  10739.     monitored = "batteries",
  10740.     name = "Shieldbelt (Reflect)",
  10741.     rack = "shield",
  10742.     rackable = true,
  10743.     robot = true,
  10744.     sentry = true,
  10745.     shield = true,
  10746.     spriteName = "shieldBelt",
  10747.     supplyType = "battery",
  10748.     torso = true,
  10749.     uses = "shieldBattery",
  10750.     wantedTime = 0.2,
  10751.   },
  10752.   respawnCell = {
  10753.     ai = {
  10754.     },
  10755.     ammoTextName = "Spawn Energy",
  10756.     consumable = true,
  10757.     credits = 50,
  10758.     customSpriteNames = {
  10759.       "respawnCellLight",
  10760.       "respawnCellGlow",
  10761.       "respawnCellDiod",
  10762.       "respawnCellDiodGlow",
  10763.     },
  10764.     droppable = true,
  10765.     gravity = 36,
  10766.     health = 20,
  10767.     iconName = "respawnCell_icon",
  10768.     monitored = "respawn",
  10769.     name = "Respawn Cell",
  10770.     pickupSound = "pickupRespawn",
  10771.     spriteName = "respawnCell",
  10772.     stackable = true,
  10773.     supplies = true,
  10774.   },
  10775.   rock = {
  10776.     ai = {
  10777.       attackArc = 0.47123889803847,
  10778.       attackDist = 310,
  10779.       bulletSpeed = 10,
  10780.     },
  10781.     asObjectPhysics = {
  10782.       {...},
  10783.       {...},
  10784.       bodyDef = {...},
  10785.     },
  10786.     attack = "rock",
  10787.     box2dControlled = true,
  10788.     bulletTimeDistanceFactor = 0.75,
  10789.     bulletTimeFactor = 0.5,
  10790.     carried = true,
  10791.     credits = 3,
  10792.     customSpriteNames = {
  10793.       "rock_light",
  10794.       "rock_glow",
  10795.     },
  10796.     dangerFactor = 0.05,
  10797.     deflectable = true,
  10798.     droppable = true,
  10799.     gravity = 24,
  10800.     health = 10,
  10801.     hitMode = "arm",
  10802.     iconName = "rock_icon",
  10803.     name = "Rock",
  10804.     physical = true,
  10805.     pickupSound = "pickupWeapon",
  10806.     primitive = true,
  10807.     size = 2,
  10808.     spriteName = "rock",
  10809.     stackIndex = 3,
  10810.     stackable = true,
  10811.     throwAttack = true,
  10812.   },
  10813.   rubyBig = {
  10814.     ai = {
  10815.     },
  10816.     asObjectDensity = 1,
  10817.     big = true,
  10818.     bounceSound = "bounceCrystalBig",
  10819.     credits = 40,
  10820.     customSpriteNames = {
  10821.       shine = "ruby_shine",
  10822.     },
  10823.     droppable = true,
  10824.     iconName = "rubyBig_icon",
  10825.     jewel = true,
  10826.     name = "Stunning Ruby",
  10827.     pickupSound = "pickup",
  10828.     shineAngle = -1.7592918860103,
  10829.     shineOffset = 10,
  10830.     spriteName = "rubyBig",
  10831.     stackable = true,
  10832.     valuable = true,
  10833.   },
  10834.   rubySmall = {
  10835.     ai = {
  10836.     },
  10837.     asObjectDensity = 1,
  10838.     bounceSound = "bounceCrystal",
  10839.     credits = 4,
  10840.     customSpriteNames = {
  10841.       shine = "ruby_shine",
  10842.     },
  10843.     droppable = true,
  10844.     iconName = "rubySmall_icon",
  10845.     jewel = true,
  10846.     name = "Fine Ruby",
  10847.     pickupSound = "pickup",
  10848.     shineAngle = -1.853539665618,
  10849.     shineOffset = 2,
  10850.     small = true,
  10851.     spriteName = "rubySmall",
  10852.     stackable = true,
  10853.     valuable = true,
  10854.   },
  10855.   sai = {
  10856.     ai = {
  10857.       attackArc = 1.5707963267949,
  10858.       attackDist = 100,
  10859.       bulletSpeed = 10000,
  10860.     },
  10861.     aimArc = 2.8274333882308,
  10862.     aimRange = 175,
  10863.     aimSpeed = 2.5,
  10864.     alwaysAim = true,
  10865.     attack = "fork",
  10866.     attackFactor = 0.5,
  10867.     breakable = true,
  10868.     bulletTimeFactor = 2,
  10869.     chargeCooldown = 0.125,
  10870.     chargeDelaySpeed = 0.75,
  10871.     chargeSpeed = 1.75,
  10872.     closeCombat = true,
  10873.     credits = 125,
  10874.     dangerFactor = 0.25,
  10875.     droppable = true,
  10876.     duckNodeAttack = "stab",
  10877.     failedCooldown = 0,
  10878.     forceFactor = 0.7,
  10879.     health = 25,
  10880.     iconName = "sai_icon",
  10881.     logic = {
  10882.       "render_with_feedback",
  10883.       "node_attack",
  10884.       "node_attack_actor_adaptive",
  10885.       "node_attack_charge_boost",
  10886.       "node_attack_hit_self_breakage",
  10887.       "can_use_with_any_charge",
  10888.     },
  10889.     melee = true,
  10890.     minCooldown = 0.035,
  10891.     name = "Sai",
  10892.     nodeAttack = "thrust",
  10893.     pickupSound = "pickupWeapon",
  10894.     rackAngle = 0,
  10895.     range = 15,
  10896.     size = 2,
  10897.     speed = 1.2,
  10898.     spriteName = "sai",
  10899.     switchedToSound = "switch",
  10900.     vendorAngle = -1.0367255756846,
  10901.     weapon = true,
  10902.   },
  10903.   sapphireBig = {
  10904.     ai = {
  10905.     },
  10906.     asObjectDensity = 1,
  10907.     big = true,
  10908.     bounceSound = "bounceCrystalBig",
  10909.     credits = 30,
  10910.     customSpriteNames = {
  10911.       shine = "sapphire_shine",
  10912.     },
  10913.     droppable = true,
  10914.     iconName = "sapphireBig_icon",
  10915.     jewel = true,
  10916.     name = "Marvelous Sapphire",
  10917.     pickupSound = "pickup",
  10918.     shineAngle = -1.6964600329385,
  10919.     shineOffset = 7,
  10920.     spriteName = "sapphireBig",
  10921.     stackable = true,
  10922.     valuable = true,
  10923.   },
  10924.   sapphireSmall = {
  10925.     ai = {
  10926.     },
  10927.     asObjectDensity = 1,
  10928.     bounceSound = "bounceCrystal",
  10929.     credits = 3,
  10930.     customSpriteNames = {
  10931.       shine = "sapphire_shine",
  10932.     },
  10933.     droppable = true,
  10934.     iconName = "sapphireSmall_icon",
  10935.     jewel = true,
  10936.     name = "Delicate Sapphire",
  10937.     pickupSound = "pickup",
  10938.     shineAngle = -1.6964600329385,
  10939.     shineOffset = 3,
  10940.     small = true,
  10941.     spriteName = "sapphireSmall",
  10942.     stackable = true,
  10943.     valuable = true,
  10944.   },
  10945.   sawbladeBat = {
  10946.     ai = {
  10947.       attackArc = 1.5707963267949,
  10948.       attackDist = 100,
  10949.       bulletSpeed = 10000,
  10950.     },
  10951.     aimArc = 2.8274333882308,
  10952.     aimRange = 175,
  10953.     aimSpeed = 0.5,
  10954.     alwaysAim = true,
  10955.     attack = "spiky",
  10956.     attackFactor = 1.65,
  10957.     breakable = true,
  10958.     bulletTimeFactor = 2,
  10959.     chargeCooldown = 0.475,
  10960.     chargeDelaySpeed = 1.425,
  10961.     chargeSpeed = 0.8,
  10962.     closeCombat = true,
  10963.     credits = 50,
  10964.     dangerFactor = 0.32,
  10965.     droppable = true,
  10966.     failedCooldown = 0,
  10967.     forceFactor = 0.9,
  10968.     health = 14,
  10969.     iconName = "sawbladeBat_icon",
  10970.     logic = {
  10971.       "render_with_feedback",
  10972.       "node_attack",
  10973.       "node_attack_actor_adaptive",
  10974.       "node_attack_charge_boost",
  10975.       "node_attack_hit_self_breakage",
  10976.       "can_use_with_any_charge",
  10977.     },
  10978.     melee = true,
  10979.     minCooldown = 0.196,
  10980.     name = "Sawblade Bat",
  10981.     nodeAttack = "swing",
  10982.     pickupSound = "pickupWeapon",
  10983.     rackAngle = 0,
  10984.     range = 43,
  10985.     size = 4,
  10986.     speed = 0.7,
  10987.     spriteName = "sawbladeBat",
  10988.     switchedToSound = "switch",
  10989.     vendorAngle = -1.0367255756846,
  10990.     weapon = true,
  10991.   },
  10992.   scimitar = {
  10993.     ai = {
  10994.       attackArc = 1.5707963267949,
  10995.       attackDist = 100,
  10996.       bulletSpeed = 10000,
  10997.     },
  10998.     aimArc = 2.8274333882308,
  10999.     aimRange = 200,
  11000.     aimSpeed = 1,
  11001.     alwaysAim = true,
  11002.     attack = "blade",
  11003.     attackFactor = 1.85,
  11004.     breakable = true,
  11005.     bulletTimeFactor = 2,
  11006.     chargeCooldown = 0.4,
  11007.     chargeDelaySpeed = 1.125,
  11008.     chargeSpeed = 0.5,
  11009.     closeCombat = true,
  11010.     credits = 225,
  11011.     dangerFactor = 0.9,
  11012.     droppable = true,
  11013.     failedCooldown = 0,
  11014.     forceFactor = 1.1,
  11015.     health = 25,
  11016.     iconName = "scimitar_icon",
  11017.     logic = {
  11018.       "render_with_feedback",
  11019.       "node_attack",
  11020.       "node_attack_actor_adaptive",
  11021.       "node_attack_charge_boost",
  11022.       "node_attack_hit_self_breakage",
  11023.       "can_use_with_any_charge",
  11024.     },
  11025.     melee = true,
  11026.     minCooldown = 0.245,
  11027.     name = "Scimitar Sword",
  11028.     nodeAttack = "swing",
  11029.     pickupSound = "pickupWeapon",
  11030.     rackAngle = 0,
  11031.     range = 50,
  11032.     size = 4,
  11033.     sneakNodeAttack = "stab",
  11034.     speed = 0.8,
  11035.     spriteName = "scimitar",
  11036.     switchedToSound = "switch",
  11037.     vendorAngle = -1.0367255756846,
  11038.     weapon = true,
  11039.   },
  11040.   scrapShield = {
  11041.     absorbation = 0,
  11042.     breakSound = "breakFinal1",
  11043.     breakable = true,
  11044.     credits = 100,
  11045.     customSpriteNames = {
  11046.       base = "scrapShieldBase",
  11047.       pieces = {...},
  11048.     },
  11049.     cyborg = true,
  11050.     dangerFactor = 0.8,
  11051.     debrisSprite = "base",
  11052.     defence = true,
  11053.     droppable = true,
  11054.     equipment = "shield",
  11055.     equipment_visual = "secondary",
  11056.     general = true,
  11057.     health = 18,
  11058.     hitDamageFactor = 2,
  11059.     hitSound = "hitMetalHeavy",
  11060.     hit_prio = 5,
  11061.     iconName = "scrapShield_icon",
  11062.     listing = true,
  11063.     localized_info_id = "item_energyShield_info",
  11064.     name = "Shield (Scrap)",
  11065.     node = "secondary",
  11066.     protectionActive = true,
  11067.     protectionForwards = true,
  11068.     protectionHigher = 25,
  11069.     protectionLower = -20,
  11070.     robot = true,
  11071.     secondary = true,
  11072.     shield = true,
  11073.     spawnCooldown = 1.5,
  11074.     spriteName = "scrapShield",
  11075.   },
  11076.   selfDestruct = {
  11077.     ai = {
  11078.       attackArc = 3.1415926535898,
  11079.       attackDist = 100,
  11080.       bulletSpeed = 100000,
  11081.     },
  11082.     aimRange = 200,
  11083.     armDuration = 0.5,
  11084.     closeCombat = true,
  11085.     credits = 150,
  11086.     dangerFactor = 1,
  11087.     droppable = false,
  11088.     explosion = "grenade",
  11089.     explosionIntensity = 1.5,
  11090.     fireHeight = 0,
  11091.     iconName = "hackSpiked_icon",
  11092.     instant = true,
  11093.     melee = true,
  11094.     name = "Self Destruct",
  11095.     pickupSound = "pickupWeapon",
  11096.     special = true,
  11097.     spriteName = "ruby_shine",
  11098.     switchedToSound = "switch",
  11099.     weapon = true,
  11100.   },
  11101.   sentryBackpack = {
  11102.     ai = {
  11103.       attackArc = 6.2831853071796,
  11104.       attackDist = 1500,
  11105.       attackWhenCareful = true,
  11106.     },
  11107.     concept = "mechBackpackHandling",
  11108.     cooldown = 15,
  11109.     credits = 500,
  11110.     customSpriteNames = {
  11111.       glow = "walker_backpackGlow",
  11112.     },
  11113.     dangerFactor = 0.7,
  11114.     dat = "actor_update_1.dat",
  11115.     droppable = false,
  11116.     equipment = "mechBackpack",
  11117.     maxAmmo = 1,
  11118.     mechBackpack = true,
  11119.     name = "Sentry Backpack",
  11120.     offence = true,
  11121.     spriteName = "walker_backpack",
  11122.   },
  11123.   sentryCamo = {
  11124.     credits = 25,
  11125.     dangerFactor = 0,
  11126.     equipment = "sentrySkin",
  11127.     family = "camo",
  11128.     hull = "body",
  11129.     name = "Skin Camo",
  11130.     rigSprite = "frontCamo",
  11131.     sentry = true,
  11132.     skin = true,
  11133.   },
  11134.   sentryFlower = {
  11135.     credits = 25,
  11136.     dangerFactor = 0,
  11137.     equipment = "sentrySkin",
  11138.     family = "flower",
  11139.     hull = "body",
  11140.     name = "Skin Flower",
  11141.     rigSprite = "frontFlower",
  11142.     sentry = true,
  11143.     skin = true,
  11144.   },
  11145.   sentrySkull = {
  11146.     credits = 25,
  11147.     dangerFactor = 0,
  11148.     equipment = "sentrySkin",
  11149.     hull = "body",
  11150.     name = "Skin Skull",
  11151.     rigSprite = "frontSkull",
  11152.     sentry = true,
  11153.     skin = true,
  11154.   },
  11155.   sentrySlime = {
  11156.     credits = 25,
  11157.     dangerFactor = 0,
  11158.     equipment = "sentrySkin",
  11159.     family = "slime",
  11160.     hull = "body",
  11161.     name = "Skin Slime",
  11162.     rigSprite = "frontSlime",
  11163.     sentry = true,
  11164.     skin = true,
  11165.   },
  11166.   sentryStripe = {
  11167.     credits = 25,
  11168.     dangerFactor = 0,
  11169.     equipment = "sentrySkin",
  11170.     family = "stripe",
  11171.     hull = "body",
  11172.     name = "Skin Stripe",
  11173.     rigSprite = "frontStripe",
  11174.     sentry = true,
  11175.     skin = true,
  11176.   },
  11177.   sentryTiger = {
  11178.     credits = 25,
  11179.     dangerFactor = 0,
  11180.     equipment = "sentrySkin",
  11181.     family = "tiger",
  11182.     hull = "body",
  11183.     name = "Skin Tiger",
  11184.     rigSprite = "frontTiger",
  11185.     sentry = true,
  11186.     skin = true,
  11187.   },
  11188.   servoBig = {
  11189.     ai = {
  11190.     },
  11191.     asObjectDensity = 1,
  11192.     big = true,
  11193.     bounceSound = "bounceMetal",
  11194.     credits = 24,
  11195.     droppable = true,
  11196.     electronics = true,
  11197.     iconName = "servoBig_icon",
  11198.     name = "Master Servo",
  11199.     pickupSound = "pickup",
  11200.     servo = true,
  11201.     spriteName = "servoBig",
  11202.     stackable = true,
  11203.   },
  11204.   servoSmall = {
  11205.     ai = {
  11206.     },
  11207.     asObjectDensity = 1,
  11208.     bounceSound = "bounceMetal",
  11209.     credits = 4,
  11210.     droppable = true,
  11211.     electronics = true,
  11212.     iconName = "servo_icon",
  11213.     name = "Piccolo Servo",
  11214.     pickupSound = "pickup",
  11215.     servo = true,
  11216.     small = true,
  11217.     spriteName = "servo",
  11218.     stackable = true,
  11219.   },
  11220.   sgGuardLaser = {
  11221.     ai = {
  11222.       attackArc = 0.94247779607694,
  11223.       attackDist = 1000,
  11224.     },
  11225.     bulletTimeFactor = 0,
  11226.     cooldown = 0.72,
  11227.     credits = 2000,
  11228.     dat = "StarGuard.dat",
  11229.     droppable = true,
  11230.     fireHeight = 4,
  11231.     hidden = true,
  11232.     iconName = "blastgun_icon",
  11233.     maxAmmo = 20,
  11234.     name = "Guard Laser",
  11235.     pickupSound = "pickupWeapon",
  11236.     rackAngle = -1.5707963267949,
  11237.     spriteName = "SGGuardPistol",
  11238.     switchedToSound = "switch",
  11239.     weapon = true,
  11240.   },
  11241.   sgHeroLaser = {
  11242.     ai = {
  11243.       attackArc = 0.94247779607694,
  11244.       attackDist = 1000,
  11245.     },
  11246.     cooldown = 0.25,
  11247.     credits = 2000,
  11248.     dat = "StarGuard.dat",
  11249.     droppable = true,
  11250.     fireHeight = 4,
  11251.     hidden = true,
  11252.     iconName = "blastgun_icon",
  11253.     maxAmmo = 20,
  11254.     name = "Hero Laser",
  11255.     pickupSound = "pickupWeapon",
  11256.     rackAngle = -1.5707963267949,
  11257.     spriteName = "SGGuardPistol",
  11258.     switchedToSound = "switch",
  11259.     weapon = true,
  11260.   },
  11261.   shell = {
  11262.     ai = {
  11263.     },
  11264.     artifact = true,
  11265.     asObjectDensity = 1,
  11266.     bounceSound = "bounceShell",
  11267.     credits = 60,
  11268.     droppable = true,
  11269.     iconName = "shell_icon",
  11270.     name = "Royal Shell",
  11271.     pickupSound = "pickup",
  11272.     spriteName = "shell",
  11273.     stackable = true,
  11274.   },
  11275.   shieldBattery = {
  11276.     ai = {
  11277.     },
  11278.     ammoTextName = "Battery",
  11279.     battery = true,
  11280.     consumable = true,
  11281.     credits = 25,
  11282.     customSpriteNames = {
  11283.       "shieldBattery_used",
  11284.       "shieldBattery_glow",
  11285.     },
  11286.     dangerFactor = 0.5,
  11287.     debrisSprite = "shieldBattery_used",
  11288.     droppable = true,
  11289.     glowSprite = "shieldBattery_glow",
  11290.     health = 10,
  11291.     iconName = "shieldBattery_icon",
  11292.     monitored = "batteries",
  11293.     name = "Shield Belt Battery",
  11294.     pickupSound = "batteryPickup",
  11295.     predictable = false,
  11296.     spawnCooldown = 2.5,
  11297.     spriteName = "shieldBattery",
  11298.     stackable = true,
  11299.     usedBy = "shield",
  11300.   },
  11301.   shieldBelt = {
  11302.     ai = {
  11303.     },
  11304.     chargeTime = 4,
  11305.     credits = 150,
  11306.     customSpriteNames = {
  11307.       "shield_warning",
  11308.       "shield_layer",
  11309.       "shield_bottom",
  11310.       "shield_glare",
  11311.       "shield_highlight",
  11312.       "shield_top",
  11313.       "shield_hex",
  11314.     },
  11315.     dangerFactor = 0.5,
  11316.     defence = true,
  11317.     equipment = "shieldGenerator",
  11318.     hidden = true,
  11319.     name = "Shield Belt",
  11320.     wantedTime = 0.2,
  11321.   },
  11322.   shieldBeltCapacity = {
  11323.     ai = {
  11324.     },
  11325.     capacity = 1,
  11326.     dangerFactor = 0.25,
  11327.     hidden = true,
  11328.     multilevel = true,
  11329.     name = "Shield Belt Capacity",
  11330.     upgrade = "capacity",
  11331.     upgrades = "shieldBelt",
  11332.   },
  11333.   shieldDurability = {
  11334.     ai = {
  11335.     },
  11336.     credits = 200,
  11337.     hook = "changedProtection",
  11338.     maxLevel = 4,
  11339.     multilevel = true,
  11340.     name = "Shieldbelt Durability",
  11341.     perLevelCredits = 200,
  11342.     upgrade = "protection",
  11343.     upgradePose = "body",
  11344.     upgradeSequence = {
  11345.       handle = {...},
  11346.       insert = {...},
  11347.       inspect = {...},
  11348.       prepare = {...},
  11349.       slide = {...},
  11350.     },
  11351.     upgrades = {
  11352.       "stunShield",
  11353.       "reflectShield",
  11354.       "hardShield",
  11355.       "basicShield",
  11356.     },
  11357.   },
  11358.   shieldEffect = {
  11359.     ai = {
  11360.     },
  11361.     credits = 200,
  11362.     maxLevel = 4,
  11363.     multilevel = true,
  11364.     name = "Shieldbelt Effect",
  11365.     perLevelCredits = 200,
  11366.     upgrade = "effect",
  11367.     upgradePose = "body",
  11368.     upgradeSequence = {
  11369.       handle = {...},
  11370.       insert = {...},
  11371.       inspect = {...},
  11372.       prepare = {...},
  11373.       slide = {...},
  11374.     },
  11375.     upgrades = {
  11376.       "stunShield",
  11377.       "reflectShield",
  11378.       "hardShield",
  11379.     },
  11380.   },
  11381.   shovel = {
  11382.     ai = {
  11383.       attackArc = 1.5707963267949,
  11384.       attackDist = 100,
  11385.       bulletSpeed = 10000,
  11386.     },
  11387.     aimArc = 2.8274333882308,
  11388.     aimRange = 200,
  11389.     aimSpeed = 0.8,
  11390.     alwaysAim = true,
  11391.     attack = "digging",
  11392.     attackFactor = 0.7,
  11393.     breakItem = "stick",
  11394.     breakable = true,
  11395.     bulletTimeFactor = 2,
  11396.     chargeCooldown = 0.35,
  11397.     chargeDelaySpeed = 1.275,
  11398.     chargeSpeed = 0.7,
  11399.     closeCombat = true,
  11400.     credits = 90,
  11401.     dangerFactor = 0.15,
  11402.     droppable = true,
  11403.     failedCooldown = 0,
  11404.     forceFactor = 1,
  11405.     health = 15,
  11406.     iconName = "shovel_icon",
  11407.     logic = {
  11408.       "render_with_feedback",
  11409.       "node_attack",
  11410.       "node_attack_actor_adaptive",
  11411.       "node_attack_charge_boost",
  11412.       "node_attack_hit_self_breakage",
  11413.       "can_use_with_any_charge",
  11414.     },
  11415.     melee = true,
  11416.     minCooldown = 0.154,
  11417.     name = "Shovel",
  11418.     nodeAttack = "swing",
  11419.     pickupSound = "pickupWeapon",
  11420.     rackAngle = 0,
  11421.     range = 42,
  11422.     size = 4,
  11423.     sneakNodeAttack = "stab",
  11424.     speed = 0.7,
  11425.     spriteName = "shovel",
  11426.     switchedToSound = "switch",
  11427.     vendorAngle = -1.0367255756846,
  11428.     weapon = true,
  11429.   },
  11430.   slothGrip = {
  11431.     ai = {
  11432.     },
  11433.     credits = 80,
  11434.     cyborg = true,
  11435.     dangerFactor = 0.1,
  11436.     dat = "metalface.dat",
  11437.     droppable = true,
  11438.     equipment = "slothGrip",
  11439.     hands = true,
  11440.     iconName = "slothGrip_icon",
  11441.     mobility = true,
  11442.     name = "Sloth Grip",
  11443.     rack = "equipment",
  11444.     rackable = true,
  11445.     special = "grip",
  11446.     spriteName = "metal_slothGrip",
  11447.   },
  11448.   sluggerAmmo = {
  11449.     ai = {
  11450.     },
  11451.     ammoIndex = 100,
  11452.     consumable = true,
  11453.     credits = 0.1,
  11454.     gearDamage = 0.1,
  11455.     iconName = "slugger_ammoIcon",
  11456.     name = "Slugger Ammo",
  11457.     pickupSound = "pickupAmmo",
  11458.     predictable = false,
  11459.     stackable = true,
  11460.   },
  11461.   sluggerGun = {
  11462.     ai = {
  11463.       attackArc = 0.31415926535898,
  11464.       attackDist = 550,
  11465.       bulletSpeed = 65,
  11466.       burst = 5,
  11467.     },
  11468.     aimArc = 1.8849555921539,
  11469.     aimRange = 700,
  11470.     aimSpeed = 0.5,
  11471.     aimsAtBullets = false,
  11472.     ammoType = "sluggerAmmo",
  11473.     automatic = true,
  11474.     bullet = "trunkanBullet",
  11475.     bulletSpeed = 115.5,
  11476.     bulletTimeFactor = 0.66,
  11477.     comboSpeedModifier = 0.1,
  11478.     cooldown = 0.064,
  11479.     credits = 300,
  11480.     customSpriteNames = {
  11481.       "sluggerBack",
  11482.       "sluggerGrip",
  11483.       "sluggerTube",
  11484.       "sluggerHammer",
  11485.       "sluggerFront",
  11486.     },
  11487.     dangerFactor = 1.25,
  11488.     droppable = true,
  11489.     fireHeight = 5,
  11490.     health = 30,
  11491.     iconName = "slugger_icon",
  11492.     maxAmmo = 30,
  11493.     muzzleFx = "sluggerMuzzle",
  11494.     name = "Slugger Assault",
  11495.     pickupSound = "pickupWeapon",
  11496.     rack = "slugger",
  11497.     rackAngle = -1.5707963267949,
  11498.     rackable = true,
  11499.     recoilAngle = 0.5,
  11500.     recoilControl = 0.25,
  11501.     recoilFatigue = 0.18,
  11502.     recoilSeed = 5,
  11503.     recoilSpeed = 500,
  11504.     reloadBoosts = {
  11505.       0.5,
  11506.     },
  11507.     reloadSequence = {
  11508.       crank = {...},
  11509.       ending = {...},
  11510.       handle = {...},
  11511.       mag = {...},
  11512.       prepare = {...},
  11513.     },
  11514.     reloadTime = 2.65,
  11515.     rifle = true,
  11516.     size = 4,
  11517.     slugger = true,
  11518.     soundRange = 800,
  11519.     spriteName = "slugger",
  11520.     switchedToSound = "switch",
  11521.     useSound = "sluggerGunShoot",
  11522.     weapon = true,
  11523.   },
  11524.   sluggerGunMagazine = {
  11525.     ai = {
  11526.     },
  11527.     ammoCapacity = 15,
  11528.     articleId = "magazine",
  11529.     credits = 80,
  11530.     dangerFactor = 0.25,
  11531.     droppable = true,
  11532.     iconName = "sluggerMagazine_icon",
  11533.     maxLevel = 3,
  11534.     multilevel = true,
  11535.     name = "Slugger Assault Magazine",
  11536.     perLevelCredits = 60,
  11537.     pickupSound = "pickupWeapon",
  11538.     spriteName = "sluggerMagazine1",
  11539.     spriteNames = {
  11540.       "sluggerMagazine1",
  11541.       "sluggerMagazine2",
  11542.       "sluggerMagazine3",
  11543.     },
  11544.     upgrade = "magazine",
  11545.     upgradeIconNames = {
  11546.       "sluggerMagazine1_upgIcon",
  11547.       "sluggerMagazine2_upgIcon",
  11548.       "sluggerMagazine3_upgIcon",
  11549.     },
  11550.     upgradeSequence = {
  11551.       crank = {...},
  11552.       ending = {...},
  11553.       insert = {...},
  11554.       inspect = {...},
  11555.       mag = {...},
  11556.       prepare = {...},
  11557.     },
  11558.     upgrades = "sluggerGun",
  11559.   },
  11560.   sluggerPipe = {
  11561.     ai = {
  11562.       attackArc = 0.031415926535898,
  11563.       attackDist = 850,
  11564.     },
  11565.     aimArc = 3.1415926535898,
  11566.     aimRange = 700,
  11567.     aimSpeed = 0.8,
  11568.     aimsAtBullets = false,
  11569.     ammoType = "sluggerAmmo",
  11570.     bullet = "trunkanBullet",
  11571.     bulletTimeFactor = 0.66,
  11572.     comboSpeedModifier = 0.1,
  11573.     cooldown = 0.144,
  11574.     credits = 15,
  11575.     customSpriteNames = {
  11576.       hammer = "sluggerpipe_bolt",
  11577.     },
  11578.     dangerFactor = 0.05,
  11579.     droppable = true,
  11580.     fireHeight = 5,
  11581.     health = 10,
  11582.     iconName = "sluggerpipe_icon",
  11583.     maxAmmo = 1,
  11584.     muzzleFx = "sluggerMuzzleSmall",
  11585.     name = "Slugger Pipe",
  11586.     pickupSound = "pickupWeapon",
  11587.     rack = "slugger",
  11588.     rackAngle = -1.5707963267949,
  11589.     rackable = true,
  11590.     recoilAngle = 4.2,
  11591.     recoilControl = 0.1,
  11592.     recoilFatigue = 5.45,
  11593.     recoilSeed = 16,
  11594.     recoilSpeed = 1600,
  11595.     reloadBoosts = {
  11596.       0.25,
  11597.     },
  11598.     reloadSequence = {
  11599.       crank = {...},
  11600.       handle = {...},
  11601.       insert = {...},
  11602.       slide = {...},
  11603.     },
  11604.     reloadTime = 1.3,
  11605.     sidearm = true,
  11606.     size = 2,
  11607.     slugger = true,
  11608.     sniper = true,
  11609.     soundRange = 800,
  11610.     spriteName = "sluggerpipe",
  11611.     switchedToSound = "switch",
  11612.     useSound = "sluggerPipeShoot",
  11613.     weapon = true,
  11614.   },
  11615.   sluggerPipeReinforcedBarrel = {
  11616.     ai = {
  11617.     },
  11618.     articleId = "extendedBarrel",
  11619.     credits = 35,
  11620.     dangerFactor = 0.03,
  11621.     droppable = true,
  11622.     maxLevel = 2,
  11623.     multilevel = true,
  11624.     name = "Slugger Pipe Barrel",
  11625.     perLevelCredits = 35,
  11626.     pickupSound = "pickupWeapon",
  11627.     spriteName = "sluggerpipe_reinforce1",
  11628.     spriteNames = {
  11629.       "sluggerpipe_reinforce1",
  11630.       "sluggerpipe_reinforce2",
  11631.     },
  11632.     upgrade = "barrel",
  11633.     upgradeIconNames = {
  11634.       "sluggerpipe_reinforce1_upgIcon",
  11635.       "sluggerpipe_reinforce2_upgIcon",
  11636.     },
  11637.     upgradeSequence = {
  11638.       crank = {...},
  11639.       handle = {...},
  11640.       inspect = {...},
  11641.       prepare = {...},
  11642.       slide = {...},
  11643.     },
  11644.     upgrades = "sluggerPipe",
  11645.   },
  11646.   sluggerPipeScope = {
  11647.     ai = {
  11648.     },
  11649.     aimRangeFactor = 1.25,
  11650.     articleId = "scope",
  11651.     credits = 30,
  11652.     dangerFactor = 0.03,
  11653.     droppable = true,
  11654.     name = "Slugger Pipe Scope",
  11655.     pickupSound = "pickupWeapon",
  11656.     scope = true,
  11657.     scopeSpeed = 1.25,
  11658.     spriteName = "sluggerpipe_scope",
  11659.     upgrade = "scope",
  11660.     upgradeIconName = "sluggerpipe_scope_upgIcon",
  11661.     upgradeSequence = {
  11662.       crank = {...},
  11663.       ending = {...},
  11664.       insert = {...},
  11665.       inspect = {...},
  11666.       mag = {...},
  11667.       prepare = {...},
  11668.     },
  11669.     upgrades = "sluggerPipe",
  11670.   },
  11671.   sluggerRevolver = {
  11672.     ai = {
  11673.       attackArc = 0.031415926535898,
  11674.       attackDist = 550,
  11675.     },
  11676.     aimArc = 3.1415926535898,
  11677.     aimRange = 600,
  11678.     aimSpeed = 0.9,
  11679.     aimsAtBullets = false,
  11680.     ammoType = "sluggerAmmo",
  11681.     bullet = "trunkanBullet",
  11682.     bulletTimeFactor = 0.66,
  11683.     comboSpeedModifier = 0.1,
  11684.     cooldown = 0.132,
  11685.     cooldownReductionSemi = 0.056,
  11686.     credits = 40,
  11687.     customSpriteNames = {
  11688.       hammer = "sluggerrevolver_hammer",
  11689.     },
  11690.     dangerFactor = 0.15,
  11691.     droppable = true,
  11692.     fireHeight = 7,
  11693.     health = 20,
  11694.     iconName = "sluggerrevolver_icon",
  11695.     maxAmmo = 8,
  11696.     muzzleFx = "sluggerMuzzleSmall",
  11697.     name = "Slugger Revolver",
  11698.     pickupSound = "pickupWeapon",
  11699.     pistol = true,
  11700.     rack = "slugger",
  11701.     rackAngle = -1.5707963267949,
  11702.     rackable = true,
  11703.     recoilAngle = 1.6,
  11704.     recoilControl = 0.25,
  11705.     recoilFatigue = 0.36,
  11706.     recoilSeed = 12,
  11707.     recoilSpeed = 1200,
  11708.     reloadBoosts = {
  11709.       0.5,
  11710.     },
  11711.     reloadSequence = {
  11712.       crank = {...},
  11713.       ending = {...},
  11714.       handle = {...},
  11715.       insert = {...},
  11716.     },
  11717.     sidearm = true,
  11718.     size = 3,
  11719.     slugger = true,
  11720.     soundRange = 800,
  11721.     spriteName = "sluggerrevolver",
  11722.     switchedToSound = "switch",
  11723.     useSound = "sluggerRevolverShoot",
  11724.     weapon = true,
  11725.   },
  11726.   sluggerRevolverExtendedBarrel = {
  11727.     ai = {
  11728.     },
  11729.     articleId = "extendedBarrel",
  11730.     credits = 40,
  11731.     dangerFactor = 0.05,
  11732.     droppable = true,
  11733.     maxLevel = 2,
  11734.     multilevel = true,
  11735.     name = "Slugger Revolver Barrel",
  11736.     perLevelCredits = 20,
  11737.     pickupSound = "pickupWeapon",
  11738.     spriteName = "sluggerrevolver_barrel2",
  11739.     spriteNames = {
  11740.       "sluggerrevolver_barrel1",
  11741.       "sluggerrevolver_barrel2",
  11742.     },
  11743.     upgrade = "barrel",
  11744.     upgradeIconNames = {
  11745.       "sluggerrevolver_barrel1_upgIcon",
  11746.       "sluggerrevolver_barrel2_upgIcon",
  11747.     },
  11748.     upgradeSequence = {
  11749.       crank = {...},
  11750.       handle = {...},
  11751.       inspect = {...},
  11752.       prepare = {...},
  11753.       slide = {...},
  11754.     },
  11755.     upgrades = "sluggerRevolver",
  11756.   },
  11757.   sluggerRevolverLoadPin = {
  11758.     ai = {
  11759.     },
  11760.     articleId = "loadPin",
  11761.     credits = 40,
  11762.     dangerFactor = 0.05,
  11763.     droppable = true,
  11764.     name = "Slugger Revolver Load Pin",
  11765.     pickupSound = "pickupWeapon",
  11766.     spriteName = "sluggerrevolver_loadPin",
  11767.     upgrade = "loadPin",
  11768.     upgradeIconName = "sluggerrevolver_loadPin_upgIcon",
  11769.     upgradeSequence = {
  11770.       crank = {...},
  11771.       ending = {...},
  11772.       insert = {...},
  11773.       inspect = {...},
  11774.       mag = {...},
  11775.     },
  11776.     upgrades = "sluggerRevolver",
  11777.   },
  11778.   sluggerRevolverScope = {
  11779.     ai = {
  11780.     },
  11781.     aimRangeFactor = 1.25,
  11782.     articleId = "scope",
  11783.     credits = 40,
  11784.     dangerFactor = 0.075,
  11785.     droppable = true,
  11786.     name = "Slugger Revolver Scope",
  11787.     pickupSound = "pickupWeapon",
  11788.     scope = true,
  11789.     scopeSpeed = 1,
  11790.     spriteName = "sluggerrevolver_scope",
  11791.     upgrade = "scope",
  11792.     upgradeIconName = "sluggerrevolver_scope_upgIcon",
  11793.     upgradeSequence = {
  11794.       crank = {...},
  11795.       ending = {...},
  11796.       insert = {...},
  11797.       inspect = {...},
  11798.       mag = {...},
  11799.       prepare = {...},
  11800.     },
  11801.     upgrades = "sluggerRevolver",
  11802.   },
  11803.   sluggerSemi = {
  11804.     ai = {
  11805.       attackArc = 0.031415926535898,
  11806.       attackDist = 550,
  11807.       bulletSpeed = 50,
  11808.     },
  11809.     aimArc = 3.1415926535898,
  11810.     aimRange = 750,
  11811.     aimsAtBullets = false,
  11812.     ammoType = "sluggerAmmo",
  11813.     bulletSpeed = 84.7,
  11814.     bulletTimeFactor = 0.66,
  11815.     comboSpeedModifier = 0.1,
  11816.     cooldown = 0.144,
  11817.     cooldownReductionSemi = 0.04,
  11818.     credits = 80,
  11819.     customSpriteNames = {
  11820.       magazine1 = "sluggersemi_magazine1",
  11821.       magazine2 = "sluggersemi_magazine2",
  11822.     },
  11823.     dangerFactor = 0.2,
  11824.     droppable = true,
  11825.     fireHeight = 5,
  11826.     health = 20,
  11827.     iconName = "sluggersemi_icon",
  11828.     maxAmmo = 12,
  11829.     name = "Slugger Cobra",
  11830.     pickupSound = "pickupWeapon",
  11831.     pistol = true,
  11832.     rack = "slugger",
  11833.     rackAngle = -1.5707963267949,
  11834.     rackable = true,
  11835.     recoilAngle = 1.24,
  11836.     recoilControl = 0.85,
  11837.     recoilFatigue = 0.5,
  11838.     recoilSeed = 9,
  11839.     recoilSpeed = 900,
  11840.     reloadBoosts = {
  11841.       0.65,
  11842.     },
  11843.     reloadSequence = {
  11844.       handle = {...},
  11845.       inspect = {...},
  11846.       mag = {...},
  11847.       prepare = {...},
  11848.       slide = {...},
  11849.     },
  11850.     reloadTime = 1.4,
  11851.     sidearm = true,
  11852.     size = 3,
  11853.     slugger = true,
  11854.     spriteName = "sluggersemi",
  11855.     switchedToSound = "switch",
  11856.     useSound = "sluggerPistolShoot",
  11857.     weapon = true,
  11858.   },
  11859.   sluggerSemiMagazine = {
  11860.     ai = {
  11861.     },
  11862.     ammoCapacity = 6,
  11863.     articleId = "magazine",
  11864.     credits = 40,
  11865.     dangerFactor = 0.05,
  11866.     droppable = true,
  11867.     maxLevel = 2,
  11868.     multilevel = true,
  11869.     name = "Slugger Cobra Magazine",
  11870.     perLevelCredits = 30,
  11871.     pickupSound = "pickupWeapon",
  11872.     spriteName = "sluggersemi_magazine1",
  11873.     spriteNames = {
  11874.       "sluggersemi_magazine1",
  11875.       "sluggersemi_magazine2",
  11876.     },
  11877.     upgrade = "magazine",
  11878.     upgradeIconNames = {
  11879.       "sluggersemi_magazine1_upgIcon",
  11880.       "sluggersemi_magazine2_upgIcon",
  11881.     },
  11882.     upgradeSequence = {
  11883.       crank = {...},
  11884.       ending = {...},
  11885.       insert = {...},
  11886.       inspect = {...},
  11887.       mag = {...},
  11888.       prepare = {...},
  11889.     },
  11890.     upgrades = "sluggerSemi",
  11891.   },
  11892.   sluggerSemiSilencer = {
  11893.     ai = {
  11894.     },
  11895.     articleId = "silencer",
  11896.     credits = 40,
  11897.     dangerFactor = 0.05,
  11898.     droppable = true,
  11899.     name = "Slugger Cobra Silencer",
  11900.     pickupSound = "pickupWeapon",
  11901.     silencer = true,
  11902.     spriteName = "sluggersemi_silencer",
  11903.     upgrade = "silencer",
  11904.     upgradeIconName = "sluggersemi_silencer_upgIcon",
  11905.     upgradeSequence = {
  11906.       crank = {...},
  11907.       insert = {...},
  11908.       inspect = {...},
  11909.       slide = {...},
  11910.     },
  11911.     upgrades = "sluggerSemi",
  11912.   },
  11913.   sluggerShotgun = {
  11914.     ai = {
  11915.       attackArc = 0.31415926535898,
  11916.       attackDist = 330,
  11917.       burst = 1,
  11918.     },
  11919.     aimArc = 3.1415926535898,
  11920.     aimRange = 650,
  11921.     aimSpeed = 0.9,
  11922.     aimsAtBullets = false,
  11923.     ammoType = "sluggerAmmo",
  11924.     bullet = "trunkanBullet",
  11925.     bulletSpeed = 61.6,
  11926.     bulletSpread = 0.094247779607694,
  11927.     bulletTimeFactor = 0.66,
  11928.     burst = true,
  11929.     comboSpeedModifier = 0.1,
  11930.     cooldown = 0.48,
  11931.     credits = 175,
  11932.     dangerFactor = 0.4,
  11933.     droppable = true,
  11934.     fireHeight = 5,
  11935.     health = 25,
  11936.     iconName = "sluggershotgun_icon",
  11937.     maxAmmo = 5,
  11938.     muzzleFx = "sluggerMuzzle",
  11939.     name = "Slugger Shotgun",
  11940.     pickupSound = "pickupWeapon",
  11941.     rack = "slugger",
  11942.     rackAngle = -1.5707963267949,
  11943.     rackable = true,
  11944.     recoilAngle = 5.2,
  11945.     recoilControl = 0.85,
  11946.     recoilFatigue = 4.2,
  11947.     recoilSeed = 19,
  11948.     recoilSpeed = 1900,
  11949.     reloadBoosts = {
  11950.       0.6,
  11951.     },
  11952.     reloadSequence = {
  11953.       ending = {...},
  11954.       handle = {...},
  11955.       insert = {...},
  11956.       prepare = {...},
  11957.       slide = {...},
  11958.     },
  11959.     reloadTime = 1.5,
  11960.     size = 4,
  11961.     slugger = true,
  11962.     soundRange = 800,
  11963.     spriteName = "sluggershotgun",
  11964.     switchedToSound = "switch",
  11965.     useSound = "sluggerShotgunShoot",
  11966.     weapon = true,
  11967.   },
  11968.   sluggerShotgunBarrel = {
  11969.     ai = {
  11970.     },
  11971.     ammoCapacity = 1,
  11972.     articleId = "extraBarrel",
  11973.     credits = 75,
  11974.     dangerFactor = 0.1,
  11975.     droppable = true,
  11976.     maxLevel = 2,
  11977.     multilevel = true,
  11978.     name = "Slugger Shotgun Extra Barrel",
  11979.     perLevelCredits = 25,
  11980.     pickupSound = "pickupWeapon",
  11981.     spriteName = "sluggershotgun_barrel1",
  11982.     spriteNames = {
  11983.       "sluggershotgun_barrel1",
  11984.       "sluggershotgun_barrel2",
  11985.     },
  11986.     upgrade = "barrel",
  11987.     upgradeIconNames = {
  11988.       "sluggershotgun_barrel1_upgIcon",
  11989.       "sluggershotgun_barrel2_upgIcon",
  11990.     },
  11991.     upgradeSequence = {
  11992.       crank = {...},
  11993.       handle = {...},
  11994.       inspect = {...},
  11995.       prepare = {...},
  11996.       slide = {...},
  11997.     },
  11998.     upgrades = "sluggerShotgun",
  11999.   },
  12000.   sluggerShotgunTrigger = {
  12001.     ai = {
  12002.     },
  12003.     credits = 100,
  12004.     dangerFactor = 0.2,
  12005.     droppable = true,
  12006.     name = "Slugger Shotgun Auto Trigger",
  12007.     pickupSound = "pickupWeapon",
  12008.     spriteName = "sluggershotgun_trigger",
  12009.     upgrade = "trigger",
  12010.     upgradeIconName = "sluggershotgun_trigger_upgIcon",
  12011.     upgradeSequence = {
  12012.       crank = {...},
  12013.       ending = {...},
  12014.       insert = {...},
  12015.       inspect = {...},
  12016.       mag = {...},
  12017.       prepare = {...},
  12018.     },
  12019.     upgrades = "sluggerShotgun",
  12020.   },
  12021.   sluggerSub = {
  12022.     ai = {
  12023.       attackArc = 0.031415926535898,
  12024.       attackDist = 700,
  12025.       bulletSpeed = 60,
  12026.       burst = 5,
  12027.     },
  12028.     aimArc = 3.1415926535898,
  12029.     aimRange = 800,
  12030.     aimSpeed = 0.6,
  12031.     aimsAtBullets = false,
  12032.     ammoType = "sluggerAmmo",
  12033.     automatic = true,
  12034.     bulletSpeed = 92.4,
  12035.     bulletTimeFactor = 0.66,
  12036.     comboSpeedModifier = 0.1,
  12037.     cooldown = 0.056,
  12038.     credits = 190,
  12039.     customSpriteNames = {
  12040.       front = "sluggersub_front",
  12041.       magazine1 = "sluggersub_magazine1",
  12042.       magazine2 = "sluggersub_magazine2",
  12043.       silencer = "sluggersub_silencer",
  12044.     },
  12045.     dangerFactor = 1.1,
  12046.     droppable = true,
  12047.     fireHeight = 5,
  12048.     health = 25,
  12049.     iconName = "sluggersub",
  12050.     maxAmmo = 20,
  12051.     name = "Slugger Sub",
  12052.     pickupSound = "pickupWeapon",
  12053.     rack = "slugger",
  12054.     rackAngle = -1.5707963267949,
  12055.     rackable = true,
  12056.     recoilAngle = 2.5,
  12057.     recoilControl = 0.95,
  12058.     recoilFatigue = 0.2,
  12059.     recoilSeed = 5,
  12060.     recoilSpeed = 500,
  12061.     reloadBoosts = {
  12062.       0.7,
  12063.     },
  12064.     reloadSequence = {
  12065.       crank = {...},
  12066.       ending = {...},
  12067.       handle = {...},
  12068.       mag = {...},
  12069.       prepare = {...},
  12070.     },
  12071.     reloadTime = 2.1,
  12072.     size = 4,
  12073.     slugger = true,
  12074.     spriteName = "sluggersub",
  12075.     switchedToSound = "switch",
  12076.     useSound = "sluggerSubShoot",
  12077.     weapon = true,
  12078.   },
  12079.   sluggerSubMagazine = {
  12080.     ai = {
  12081.     },
  12082.     ammoCapacity = 6,
  12083.     articleId = "magazine",
  12084.     credits = 75,
  12085.     dangerFactor = 0.2,
  12086.     droppable = true,
  12087.     maxLevel = 2,
  12088.     multilevel = true,
  12089.     name = "Slugger Sub Magazine",
  12090.     perLevelCredits = 60,
  12091.     pickupSound = "pickupWeapon",
  12092.     spriteName = "sluggersub_magazine1",
  12093.     spriteNames = {
  12094.       "sluggersub_magazine1",
  12095.       "sluggersub_magazine2",
  12096.     },
  12097.     upgrade = "magazine",
  12098.     upgradeIconNames = {
  12099.       "sluggersub_magazine1_upgIcon",
  12100.       "sluggersub_magazine2_upgIcon",
  12101.     },
  12102.     upgradeSequence = {
  12103.       crank = {...},
  12104.       ending = {...},
  12105.       insert = {...},
  12106.       inspect = {...},
  12107.       mag = {...},
  12108.       prepare = {...},
  12109.     },
  12110.     upgrades = "sluggerSub",
  12111.   },
  12112.   sluggerSubSilencer = {
  12113.     ai = {
  12114.     },
  12115.     articleId = "silencer",
  12116.     credits = 75,
  12117.     dangerFactor = 0.25,
  12118.     droppable = true,
  12119.     name = "Slugger Sub Silencer",
  12120.     pickupSound = "pickupWeapon",
  12121.     silencer = true,
  12122.     spriteName = "sluggersub_silencer",
  12123.     upgrade = "silencer",
  12124.     upgradeIconName = "sluggersub_silencer_upgIcon",
  12125.     upgradeSequence = {
  12126.       crank = {...},
  12127.       insert = {...},
  12128.       inspect = {...},
  12129.       slide = {...},
  12130.     },
  12131.     upgrades = "sluggerSub",
  12132.   },
  12133.   spear = {
  12134.     ai = {
  12135.       attackArc = 1.5707963267949,
  12136.       attackDist = 100,
  12137.       bulletSpeed = 10000,
  12138.     },
  12139.     aimArc = 2.8274333882308,
  12140.     aimRange = 250,
  12141.     aimSpeed = 0.25,
  12142.     alwaysAim = true,
  12143.     attack = "spiky",
  12144.     attackFactor = 1.2,
  12145.     breakable = true,
  12146.     bulletTimeFactor = 2,
  12147.     chargeCooldown = 0.2,
  12148.     chargeDelaySpeed = 3.15,
  12149.     chargeSpeed = 1.1,
  12150.     closeCombat = true,
  12151.     credits = 90,
  12152.     dangerFactor = 0.6,
  12153.     droppable = true,
  12154.     failedCooldown = 0,
  12155.     forceFactor = 1.35,
  12156.     health = 15,
  12157.     iconName = "spear_icon",
  12158.     logic = {
  12159.       "render_with_feedback",
  12160.       "node_attack",
  12161.       "node_attack_actor_adaptive",
  12162.       "node_attack_charge_boost",
  12163.       "node_attack_hit_self_breakage",
  12164.       "can_use_with_any_charge",
  12165.     },
  12166.     melee = true,
  12167.     minCooldown = 0.063,
  12168.     name = "Spear",
  12169.     nodeAttack = "stab",
  12170.     pickupSound = "pickupWeapon",
  12171.     rackAngle = 0,
  12172.     range = 72,
  12173.     size = 5,
  12174.     sneakNodeAttack = "thrust",
  12175.     speed = 0.6,
  12176.     spriteName = "spear",
  12177.     switchedToSound = "switch",
  12178.     vendorAngle = -1.0367255756846,
  12179.     weapon = true,
  12180.   },
  12181.   sphereGrenade = {
  12182.     active_physics = {
  12183.       {...},
  12184.       {...},
  12185.       bodyDef = {...},
  12186.     },
  12187.     ai = {
  12188.       attackArc = 0.78539816339745,
  12189.       attackDist = 600,
  12190.       suicideDist = 150,
  12191.     },
  12192.     asObjectPhysics = {
  12193.       {...},
  12194.       {...},
  12195.       bodyDef = {...},
  12196.     },
  12197.     attack = "grenade",
  12198.     box2dControlled = true,
  12199.     bulletTimeDistanceFactor = 0.75,
  12200.     bulletTimeFactor = 1.05,
  12201.     carried = true,
  12202.     credits = 15,
  12203.     customSpriteNames = {
  12204.       "grenadeRed",
  12205.     },
  12206.     dangerFactor = 0.8,
  12207.     droppable = true,
  12208.     explosion = "grenade",
  12209.     explosionIntensity = 0.7,
  12210.     explosive = true,
  12211.     gravity = 32,
  12212.     grenade = true,
  12213.     health = 5,
  12214.     hitMode = "arm",
  12215.     iconName = "grenade_icon",
  12216.     logic = {
  12217.       "active_physics_when_armed",
  12218.       "on_destroy_emit_explosion",
  12219.     },
  12220.     name = "Grenade",
  12221.     pickupSound = "pickupWeapon",
  12222.     size = 2,
  12223.     spriteName = "grenade",
  12224.     stackIndex = 2,
  12225.     stackable = true,
  12226.     throwAttack = true,
  12227.   },
  12228.   spike = {
  12229.     ai = {
  12230.       attackArc = 0.28274333882308,
  12231.       attackDist = 300,
  12232.       bulletSpeed = 22,
  12233.     },
  12234.     asObjectPhysics = {
  12235.       {...},
  12236.       {...},
  12237.       bodyDef = {...},
  12238.     },
  12239.     attack = "spike",
  12240.     carried = true,
  12241.     credits = 1,
  12242.     dangerFactor = 0.01,
  12243.     deflectable = true,
  12244.     droppable = true,
  12245.     gravity = 46,
  12246.     hitMode = "throw",
  12247.     iconName = "crossbow_ammoIcon",
  12248.     name = "Spike",
  12249.     noFlip = true,
  12250.     physical = true,
  12251.     pickupSound = "pickupWeapon",
  12252.     primitive = true,
  12253.     reflectable = true,
  12254.     size = 1,
  12255.     spriteName = "spike",
  12256.     stackIndex = 5,
  12257.     stackable = true,
  12258.     throwAttack = true,
  12259.     throwRotation = 0,
  12260.   },
  12261.   spikeAmmo = {
  12262.     ai = {
  12263.     },
  12264.     ammoIndex = 30,
  12265.     consumable = true,
  12266.     gearDamage = 0.2,
  12267.     iconName = "crossbow_ammoIcon",
  12268.     name = "Spike Ammo",
  12269.     pickupSound = "pickupAmmo",
  12270.     predictable = false,
  12271.     stackable = true,
  12272.   },
  12273.   spikeBowRepeater = {
  12274.     ai = {
  12275.     },
  12276.     ammoCapacity = 10,
  12277.     credits = 70,
  12278.     dangerFactor = 0.4,
  12279.     droppable = true,
  12280.     iconName = "crossbow_repeater_icon",
  12281.     name = "Spike Bow Repeater",
  12282.     pickupSound = "pickupWeapon",
  12283.     spriteName = "crossbow_repeater",
  12284.     upgrade = "repeater",
  12285.     upgradeIconName = "crossbow_repeater_upgIcon",
  12286.     upgradeSequence = {
  12287.       crank = {...},
  12288.       ending = {...},
  12289.       inspect = {...},
  12290.       mag = {...},
  12291.       prepare = {...},
  12292.     },
  12293.     upgrades = "spikeCrossbow",
  12294.   },
  12295.   spikeBowScope = {
  12296.     ai = {
  12297.     },
  12298.     aimRangeFactor = 1.25,
  12299.     articleId = "scope",
  12300.     credits = 50,
  12301.     dangerFactor = 0.1,
  12302.     droppable = true,
  12303.     hudDat = "hud_update_1.dat",
  12304.     localizedId = "scope",
  12305.     name = "Spike Bow Scope",
  12306.     pickupSound = "pickupWeapon",
  12307.     scope = true,
  12308.     scopeSpeed = 1.25,
  12309.     spriteName = "crossbow_scope",
  12310.     upgrade = "scope",
  12311.     upgradeIconName = "crossbow_scope_upgIcon",
  12312.     upgradeSequence = {
  12313.       crank = {...},
  12314.       ending = {...},
  12315.       insert = {...},
  12316.       inspect = {...},
  12317.       mag = {...},
  12318.       prepare = {...},
  12319.     },
  12320.     upgrades = "spikeCrossbow",
  12321.   },
  12322.   spikeCrossbow = {
  12323.     ai = {
  12324.       attackArc = 0.31415926535898,
  12325.       attackDist = 570,
  12326.       burst = 3,
  12327.     },
  12328.     aimRange = 1000,
  12329.     ammoType = "spikeAmmo",
  12330.     bullet = "spikeBullet",
  12331.     bulletSpeed = 57,
  12332.     bulletTimeFactor = 0.75,
  12333.     cooldown = 0.18,
  12334.     credits = 50,
  12335.     customSpriteNames = {
  12336.       "crossbow_outline",
  12337.       "crossbow_crank",
  12338.       "crossbow_bolt",
  12339.     },
  12340.     dangerFactor = 0.1,
  12341.     droppable = true,
  12342.     fireHeight = 3,
  12343.     health = 15,
  12344.     iconName = "crossbow_icon",
  12345.     maxAmmo = 1,
  12346.     name = "Spike Bow",
  12347.     rackAngle = -1.5707963267949,
  12348.     rackable = true,
  12349.     recoilAngle = 1,
  12350.     recoilControl = 0,
  12351.     recoilFatigue = 0.05,
  12352.     recoilSeed = 9,
  12353.     recoilSpeed = 900,
  12354.     reloadBoosts = {
  12355.       0.38,
  12356.     },
  12357.     reloadSequence = {
  12358.       crank = {...},
  12359.       handle = {...},
  12360.       prepare = {...},
  12361.       slide = {...},
  12362.     },
  12363.     reloadTime = 1,
  12364.     sidearm = true,
  12365.     silent = true,
  12366.     size = 2,
  12367.     sniper = true,
  12368.     spriteName = "crossbow",
  12369.     switchedToSound = "switch",
  12370.     trunkanTechnology = true,
  12371.     weapon = true,
  12372.   },
  12373.   spikeShooter = {
  12374.     ability = true,
  12375.     ai = {
  12376.       attackArc = 1.3823007675795,
  12377.       attackDist = 370,
  12378.       bulletSpeed = 27,
  12379.       optimistic = true,
  12380.     },
  12381.     bulletSpeed = 27,
  12382.     bulletTimeFactor = 0.4,
  12383.     closeCombat = true,
  12384.     cooldown = 1.5,
  12385.     dangerFactor = 0,
  12386.     droppable = false,
  12387.     hidden = true,
  12388.     iconName = "crossbow_ammoIcon",
  12389.     name = "Spike Shooter",
  12390.   },
  12391.   spikebirdClub = {
  12392.     ai = {
  12393.       attackArc = 1.5707963267949,
  12394.       attackDist = 100,
  12395.       bulletSpeed = 10000,
  12396.     },
  12397.     aimArc = 2.8274333882308,
  12398.     aimRange = 175,
  12399.     aimSpeed = 0.6,
  12400.     alwaysAim = true,
  12401.     attack = "spiky",
  12402.     attackFactor = 1.4,
  12403.     breakable = true,
  12404.     bulletTimeFactor = 2,
  12405.     chargeCooldown = 0.335,
  12406.     chargeDelaySpeed = 0.975,
  12407.     chargeSpeed = 0.9,
  12408.     closeCombat = true,
  12409.     credits = 80,
  12410.     dangerFactor = 0.5,
  12411.     droppable = true,
  12412.     failedCooldown = 0,
  12413.     forceFactor = 1,
  12414.     health = 13,
  12415.     iconName = "spikebirdClub_icon",
  12416.     logic = {
  12417.       "render_with_feedback",
  12418.       "node_attack",
  12419.       "node_attack_actor_adaptive",
  12420.       "node_attack_charge_boost",
  12421.       "node_attack_hit_self_breakage",
  12422.       "can_use_with_any_charge",
  12423.     },
  12424.     melee = true,
  12425.     minCooldown = 0.14,
  12426.     name = "Spikebird Club",
  12427.     nodeAttack = "swing",
  12428.     pickupSound = "pickupWeapon",
  12429.     rackAngle = 0,
  12430.     range = 35,
  12431.     size = 4,
  12432.     speed = 0.8,
  12433.     spriteName = "spikebirdClub",
  12434.     switchedToSound = "switch",
  12435.     vendorAngle = -1.0367255756846,
  12436.     weapon = true,
  12437.   },
  12438.   spikedBat = {
  12439.     ai = {
  12440.       attackArc = 1.5707963267949,
  12441.       attackDist = 100,
  12442.       bulletSpeed = 10000,
  12443.     },
  12444.     aimArc = 2.8274333882308,
  12445.     aimRange = 175,
  12446.     aimSpeed = 0.7,
  12447.     alwaysAim = true,
  12448.     attack = "spiky",
  12449.     attackFactor = 1.25,
  12450.     breakable = true,
  12451.     bulletTimeFactor = 2,
  12452.     chargeCooldown = 0.455,
  12453.     chargeDelaySpeed = 1.8,
  12454.     chargeSpeed = 0.85,
  12455.     closeCombat = true,
  12456.     credits = 30,
  12457.     dangerFactor = 0.2,
  12458.     droppable = true,
  12459.     failedCooldown = 0,
  12460.     forceFactor = 1,
  12461.     health = 11,
  12462.     iconName = "spikedBat_icon",
  12463.     logic = {
  12464.       "render_with_feedback",
  12465.       "node_attack",
  12466.       "node_attack_actor_adaptive",
  12467.       "node_attack_charge_boost",
  12468.       "node_attack_hit_self_breakage",
  12469.       "can_use_with_any_charge",
  12470.     },
  12471.     melee = true,
  12472.     minCooldown = 0.175,
  12473.     name = "Spiked Bat",
  12474.     nodeAttack = "swing",
  12475.     pickupSound = "pickupWeapon",
  12476.     rackAngle = 0,
  12477.     range = 37,
  12478.     size = 4,
  12479.     speed = 0.75,
  12480.     spriteName = "spikedBat",
  12481.     switchedToSound = "switch",
  12482.     vendorAngle = -1.0367255756846,
  12483.     weapon = true,
  12484.   },
  12485.   spikedMine = {
  12486.     ai = {
  12487.       attackArc = 1.0367255756846,
  12488.       attackDist = 600,
  12489.       suicideDist = 175,
  12490.     },
  12491.     armed_blink_fx = "spikedMineBlink",
  12492.     armed_blink_sound = "mineBeep",
  12493.     asObjectPhysics = {
  12494.       {...},
  12495.       {...},
  12496.       bodyDef = {...},
  12497.     },
  12498.     attack = "grenade",
  12499.     box2dControlled = true,
  12500.     bulletTimeDistanceFactor = 0.5,
  12501.     bulletTimeFactor = 0.15,
  12502.     carried = true,
  12503.     credits = 8,
  12504.     customSpriteNames = {
  12505.       "stickyMineRed",
  12506.     },
  12507.     dangerFactor = 0.8,
  12508.     defenceFactor = 0.5,
  12509.     detectionRange = 250,
  12510.     detonateDelay = 0.5,
  12511.     droppable = true,
  12512.     explosion = "grenade",
  12513.     explosionIntensity = 1.3,
  12514.     explosive = true,
  12515.     gravity = 32,
  12516.     hackable = true,
  12517.     health = 5,
  12518.     iconName = "stickyMine_icon",
  12519.     logic = {
  12520.       "on_deploy_attach_to_tiles",
  12521.       "armed_deploy_on_tiles",
  12522.       "on_destroy_emit_explosion",
  12523.       "armed_detect_enemies_detonate",
  12524.       "on_sensor_touch_enemy_destroy",
  12525.     },
  12526.     mine = true,
  12527.     name = "Spiked Mine",
  12528.     pickupSound = "pickupWeapon",
  12529.     size = 2,
  12530.     spriteName = "stickyMine",
  12531.     stackable = true,
  12532.     throwAttack = true,
  12533.     utility = true,
  12534.   },
  12535.   stick = {
  12536.     ai = {
  12537.       attackArc = 1.5707963267949,
  12538.       attackDist = 100,
  12539.       bulletSpeed = 10000,
  12540.     },
  12541.     aimArc = 2.8274333882308,
  12542.     aimRange = 200,
  12543.     aimSpeed = 0.6,
  12544.     alwaysAim = true,
  12545.     attack = "blunt",
  12546.     attackFactor = 0.55,
  12547.     breakable = true,
  12548.     bulletTimeFactor = 2,
  12549.     chargeCooldown = 0.1,
  12550.     chargeDelaySpeed = 2.775,
  12551.     chargeSpeed = 1.5,
  12552.     closeCombat = true,
  12553.     credits = 10,
  12554.     dangerFactor = 0.05,
  12555.     droppable = true,
  12556.     duckNodeAttack = "thrust",
  12557.     failedCooldown = 0,
  12558.     forceFactor = 1,
  12559.     health = 5,
  12560.     iconName = "stick_icon",
  12561.     logic = {
  12562.       "render_with_feedback",
  12563.       "node_attack",
  12564.       "node_attack_actor_adaptive",
  12565.       "node_attack_charge_boost",
  12566.       "node_attack_hit_self_breakage",
  12567.       "can_use_with_any_charge",
  12568.     },
  12569.     melee = true,
  12570.     minCooldown = 0.07,
  12571.     name = "Stick",
  12572.     nodeAttack = "swing",
  12573.     pickupSound = "pickupWeapon",
  12574.     rackAngle = 0,
  12575.     range = 25,
  12576.     size = 3,
  12577.     sneakNodeAttack = "stab",
  12578.     speed = 1.4,
  12579.     spriteName = "stick",
  12580.     switchedToSound = "switch",
  12581.     vendorAngle = -1.0367255756846,
  12582.     weapon = true,
  12583.   },
  12584.   stunShield = {
  12585.     ai = {
  12586.     },
  12587.     body = true,
  12588.     chargeEfficiency = 0.1,
  12589.     color = {
  12590.       a = 255,
  12591.       b = 86,
  12592.       g = 225,
  12593.       r = 255,
  12594.     },
  12595.     credits = 200,
  12596.     customSpriteNames = {
  12597.       glow = "shieldBeltGlow",
  12598.       grid = "shield_ringGrid",
  12599.       hit = "shield_ringHit",
  12600.       hitGrid = "shield_ringHitGrid",
  12601.       light = "shieldBeltLight",
  12602.       lines = "shield_lines",
  12603.       ring = "shield_ringWhite",
  12604.       ringColored = "shield_ring",
  12605.       spikes = "shield_ringSpikes",
  12606.     },
  12607.     cyborg = true,
  12608.     dangerFactor = 2,
  12609.     defence = true,
  12610.     defenceFactor = 1,
  12611.     droppable = true,
  12612.     effect = "stun",
  12613.     effectName = "shield_stun",
  12614.     effect_color = {
  12615.       a = 255,
  12616.       b = 109,
  12617.       g = 109,
  12618.       r = 255,
  12619.     },
  12620.     equipment = "shieldBelt",
  12621.     equipment_visual = "torso",
  12622.     hit_prio = 0,
  12623.     iconName = "shieldbelt_icon",
  12624.     listing = true,
  12625.     logic = {
  12626.       "shield_belt",
  12627.     },
  12628.     monitored = "batteries",
  12629.     name = "Shieldbelt (Stun)",
  12630.     rack = "shield",
  12631.     rackable = true,
  12632.     robot = true,
  12633.     sentry = true,
  12634.     shield = true,
  12635.     spriteName = "shieldBelt",
  12636.     supplyType = "battery",
  12637.     torso = true,
  12638.     uses = "shieldBattery",
  12639.     wantedTime = 0.2,
  12640.   },
  12641.   superPlug = {
  12642.     ai = {
  12643.     },
  12644.     asObjectDensity = 1,
  12645.     asObjectPhysics = {
  12646.       {...},
  12647.       {...},
  12648.       {...},
  12649.       bodyDef = {...},
  12650.     },
  12651.     bounceSound = "bounceMetal",
  12652.     carried = true,
  12653.     classifications = {
  12654.       "objective",
  12655.       "story",
  12656.       "lastPos",
  12657.     },
  12658.     compact_physics = {
  12659.       {...},
  12660.       {...},
  12661.       bodyDef = {...},
  12662.     },
  12663.     customSpriteNames = {
  12664.       glow = "superPlugLightGlow",
  12665.       light = "superPlugLight",
  12666.       outline = "superPlugOutline",
  12667.       small = "superPlugSmall",
  12668.       smallOutline = "superPlugSmallOutline",
  12669.     },
  12670.     droppable = true,
  12671.     health = 10,
  12672.     huge = true,
  12673.     indestructable = true,
  12674.     isObject = true,
  12675.     logic = {
  12676.       "compact_physics_when_not_expanded",
  12677.     },
  12678.     name = "Super Plug",
  12679.     neverIdle = true,
  12680.     neverIgnore = true,
  12681.     pickupSound = "pickup",
  12682.     size = 6,
  12683.     spriteName = "superPlug",
  12684.     throwRotation = 1,
  12685.     trackingSpeed = 3,
  12686.   },
  12687.   throwGrenade = {
  12688.     active_physics = {
  12689.       {...},
  12690.       {...},
  12691.       bodyDef = {...},
  12692.     },
  12693.     ai = {
  12694.       attackArc = 0.78539816339745,
  12695.       attackDist = 500,
  12696.       suicideDist = 200,
  12697.     },
  12698.     asObjectPhysics = {
  12699.       {...},
  12700.       {...},
  12701.       {...},
  12702.       {...},
  12703.       bodyDef = {...},
  12704.     },
  12705.     attack = "grenade",
  12706.     box2dControlled = true,
  12707.     bulletTimeDistanceFactor = 0.9,
  12708.     bulletTimeFactor = 1.15,
  12709.     carried = true,
  12710.     credits = 15,
  12711.     customSpriteNames = {
  12712.       "throwGrenadeRed",
  12713.     },
  12714.     dangerFactor = 1.1,
  12715.     droppable = true,
  12716.     explosion = "grenade",
  12717.     explosionIntensity = 1.3,
  12718.     explosive = true,
  12719.     gravity = 32,
  12720.     grenade = true,
  12721.     health = 5,
  12722.     hitMode = "arm",
  12723.     iconName = "throwGrenade_icon",
  12724.     logic = {
  12725.       "active_physics_when_armed",
  12726.       "on_destroy_emit_explosion",
  12727.     },
  12728.     name = "Stick Grenade",
  12729.     pickupSound = "pickupWeapon",
  12730.     size = 3,
  12731.     spriteName = "throwGrenade",
  12732.     stackable = true,
  12733.     throwAttack = true,
  12734.     vendorAngle = 0.78539816339745,
  12735.   },
  12736.   tractorHook = {
  12737.     ai = {
  12738.       attackDist = 1000,
  12739.       attackWhenCareful = true,
  12740.     },
  12741.     aiConcept = "implantTactics",
  12742.     attack = "wrecking",
  12743.     bullet = "energyCrate",
  12744.     bulletSpeed = 2,
  12745.     cooldown = 0.1,
  12746.     credits = 250,
  12747.     customSpriteNames = {
  12748.       disc = "tractorGunDisc",
  12749.       glow = "tractorGunDiscGlow",
  12750.       hook = "tractorGunHook",
  12751.     },
  12752.     dangerFactor = 0.75,
  12753.     droppable = true,
  12754.     failedCooldown = 0.1,
  12755.     fireHeight = 5,
  12756.     hudDat = "hud_update_1.dat",
  12757.     iconName = "tractorGun_icon",
  12758.     instant = true,
  12759.     logic = {
  12760.       "use_activate_and_release",
  12761.       "active_tractor_beam",
  12762.       "used_sound",
  12763.       "on_bullet_set_target_scale",
  12764.       "active_spin",
  12765.     },
  12766.     melee = true,
  12767.     missRecoil = 0.5,
  12768.     move = true,
  12769.     movement = "tractorHook",
  12770.     muzzleFx = "boxMuzzle",
  12771.     muzzleNode = "head",
  12772.     name = "Tractor Hook",
  12773.     range = 1000,
  12774.     recoilAngle = 5,
  12775.     recoilControl = 1,
  12776.     recoilFatigue = 0.2,
  12777.     recoilSeed = 2,
  12778.     recoilSpeed = 1000,
  12779.     size = 3,
  12780.     spawn_projected_fixed_angle = 0,
  12781.     spin_speed = -20,
  12782.     spriteName = "tractorGun",
  12783.     start_scale = 0.5,
  12784.     target_scale = 4,
  12785.     tractor_beam_end_sound = "tractorBeamEnd",
  12786.     tractor_beam_fail_fx = "tractorBeamFail",
  12787.     tractor_beam_hit_fx = "tractorBeamHit",
  12788.     tractor_beam_hit_muzzle = "tractorMuzzle",
  12789.     tractor_beam_hit_sound = "tractorBeamHit",
  12790.     tractor_beam_mark_fx = "tractorBeamMark",
  12791.     tractor_beam_node = "weapon",
  12792.     tractor_pull_angle_force = 2,
  12793.     tractor_pull_control = 10,
  12794.     tractor_pull_speed_force = 30,
  12795.     tractor_pull_start_fade_distance = 200,
  12796.     weapon = true,
  12797.   },
  12798.   transistorBig = {
  12799.     ai = {
  12800.     },
  12801.     asObjectDensity = 1,
  12802.     big = true,
  12803.     bounceSound = "bounceMetal",
  12804.     credits = 12,
  12805.     droppable = true,
  12806.     electronics = true,
  12807.     iconName = "transistorBig_icon",
  12808.     name = "Extreme Transistor",
  12809.     pickupSound = "pickup",
  12810.     spriteName = "transistorBig",
  12811.     stackable = true,
  12812.     transistor = true,
  12813.   },
  12814.   transistorSmall = {
  12815.     ai = {
  12816.     },
  12817.     asObjectDensity = 1,
  12818.     bounceSound = "bounceMetal",
  12819.     credits = 1,
  12820.     droppable = true,
  12821.     electronics = true,
  12822.     iconName = "transistor_icon",
  12823.     name = "Transistor",
  12824.     pickupSound = "pickup",
  12825.     small = true,
  12826.     spriteName = "transistor",
  12827.     stackable = true,
  12828.     transistor = true,
  12829.   },
  12830.   triPlug = {
  12831.     ai = {
  12832.     },
  12833.     asObjectDensity = 1,
  12834.     asObjectPhysics = {
  12835.       {...},
  12836.       {...},
  12837.       {...},
  12838.       bodyDef = {...},
  12839.     },
  12840.     bounceSound = "bounceMetal",
  12841.     carried = true,
  12842.     classifications = {
  12843.       "objective",
  12844.       "story",
  12845.     },
  12846.     compact_physics = {
  12847.       {...},
  12848.       {...},
  12849.       bodyDef = {...},
  12850.     },
  12851.     customSpriteNames = {
  12852.       glow = "triPlugLightGlow",
  12853.       light = "triPlugLight",
  12854.       outline = "triPlugOutline",
  12855.       small = "triPlugSmall",
  12856.       smallOutline = "triPlugSmallOutline",
  12857.     },
  12858.     droppable = true,
  12859.     health = 10,
  12860.     huge = true,
  12861.     indestructable = true,
  12862.     isObject = true,
  12863.     logic = {
  12864.       "compact_physics_when_not_expanded",
  12865.     },
  12866.     name = "Super Tri Plug",
  12867.     neverIdle = true,
  12868.     neverIgnore = true,
  12869.     pickupSound = "pickup",
  12870.     size = 6,
  12871.     spriteName = "triPlug",
  12872.     throwRotation = 1,
  12873.     trackingSpeed = 3,
  12874.   },
  12875.   vial = {
  12876.     ai = {
  12877.       attackArc = 0.18849555921539,
  12878.       attackDist = 445,
  12879.       bulletSpeed = 30,
  12880.     },
  12881.     asObjectPhysics = {
  12882.       {...},
  12883.       {...},
  12884.       bodyDef = {...},
  12885.     },
  12886.     attack = "chemical",
  12887.     box2dControlled = true,
  12888.     bulletTimeDistanceFactor = 0.75,
  12889.     carried = true,
  12890.     credits = 4,
  12891.     customSpriteNames = {
  12892.       "vial_light",
  12893.       "vial_glass",
  12894.       "vial_glow",
  12895.     },
  12896.     dangerFactor = 0.3,
  12897.     deflectable = false,
  12898.     droppable = true,
  12899.     gravity = 32,
  12900.     health = 1,
  12901.     hitMode = "arm",
  12902.     iconName = "vial_icon",
  12903.     name = "Chemical Vial",
  12904.     pickupSound = "pickupWeapon",
  12905.     piercing = true,
  12906.     size = 2,
  12907.     spriteName = "vial",
  12908.     stackIndex = 2,
  12909.     stackable = true,
  12910.     throwAttack = true,
  12911.   },
  12912.   vialRad = {
  12913.     ai = {
  12914.       attackArc = 0.18849555921539,
  12915.       attackDist = 445,
  12916.       bulletSpeed = 30,
  12917.     },
  12918.     arc = 2.6703537555513,
  12919.     asObjectPhysics = {
  12920.       {...},
  12921.       {...},
  12922.       {...},
  12923.       bodyDef = {...},
  12924.     },
  12925.     attack = "gammaHit",
  12926.     box2dControlled = true,
  12927.     bullet = "chemical",
  12928.     bulletSpeed = 25,
  12929.     bulletTimeDistanceFactor = 0.75,
  12930.     bullet_offset = 20,
  12931.     bullets = 7,
  12932.     carried = true,
  12933.     credits = 4,
  12934.     customSpriteNames = {
  12935.       "vialRad_light",
  12936.       "vialRad_glass",
  12937.       "vialRad_glow",
  12938.     },
  12939.     dangerFactor = 0.75,
  12940.     deflectable = false,
  12941.     droppable = true,
  12942.     gravity = 32,
  12943.     health = 1,
  12944.     hitMode = "arm",
  12945.     hudDat = "hud_update_1.dat",
  12946.     iconName = "vialRad_icon",
  12947.     logic = {
  12948.       "as_object_emit_reaction_bullet_arc",
  12949.     },
  12950.     name = "Radioactive Vial",
  12951.     pickupSound = "pickupWeapon",
  12952.     piercing = true,
  12953.     safeWeaponSize = 12,
  12954.     size = 2,
  12955.     spriteName = "vialRad",
  12956.     stackIndex = 2,
  12957.     stackable = true,
  12958.     throwAttack = true,
  12959.   },
  12960.   vikingSword = {
  12961.     ai = {
  12962.       attackArc = 1.5707963267949,
  12963.       attackDist = 100,
  12964.       bulletSpeed = 10000,
  12965.     },
  12966.     aimArc = 2.8274333882308,
  12967.     aimRange = 175,
  12968.     aimSpeed = 1,
  12969.     alwaysAim = true,
  12970.     attack = "blade",
  12971.     attackFactor = 1.34,
  12972.     breakable = true,
  12973.     bulletTimeFactor = 2,
  12974.     chargeCooldown = 0.3,
  12975.     chargeDelaySpeed = 2.1,
  12976.     chargeSpeed = 0.85,
  12977.     closeCombat = true,
  12978.     credits = 150,
  12979.     dangerFactor = 0.8,
  12980.     droppable = true,
  12981.     failedCooldown = 0,
  12982.     forceFactor = 1,
  12983.     health = 25,
  12984.     iconName = "vikingSword_icon",
  12985.     logic = {
  12986.       "render_with_feedback",
  12987.       "node_attack",
  12988.       "node_attack_actor_adaptive",
  12989.       "node_attack_charge_boost",
  12990.       "node_attack_hit_self_breakage",
  12991.       "can_use_with_any_charge",
  12992.     },
  12993.     melee = true,
  12994.     minCooldown = 0.147,
  12995.     name = "Viking Sword",
  12996.     nodeAttack = "swing",
  12997.     pickupSound = "pickupWeapon",
  12998.     rackAngle = 0,
  12999.     range = 40,
  13000.     size = 4,
  13001.     sneakNodeAttack = "stab",
  13002.     speed = 0.9,
  13003.     spriteName = "vikingSword",
  13004.     switchedToSound = "switch",
  13005.     vendorAngle = -1.0367255756846,
  13006.     weapon = true,
  13007.   },
  13008.   waspHardShellExoHull = {
  13009.     activePickup = true,
  13010.     aspect = {
  13011.       armor = 2,
  13012.       coldResistance = 1,
  13013.       deflect = 0.75,
  13014.       heatResistance = 2,
  13015.       radiationResistance = 1,
  13016.     },
  13017.     credits = 200,
  13018.     dangerFactor = 1,
  13019.     defence = true,
  13020.     exo = true,
  13021.     family = "hard",
  13022.     health = 30,
  13023.     hull = "exo",
  13024.     iconName = "stickyMine_icon",
  13025.     name = "Hard Exo",
  13026.     wasp = true,
  13027.   },
  13028.   woodenBat = {
  13029.     ai = {
  13030.       attackArc = 1.5707963267949,
  13031.       attackDist = 100,
  13032.       bulletSpeed = 10000,
  13033.     },
  13034.     aimArc = 2.8274333882308,
  13035.     aimRange = 175,
  13036.     aimSpeed = 0.6,
  13037.     alwaysAim = true,
  13038.     attack = "blunt",
  13039.     attackFactor = 0.8,
  13040.     breakable = true,
  13041.     bulletTimeFactor = 2,
  13042.     chargeCooldown = 0.4,
  13043.     chargeDelaySpeed = 1.95,
  13044.     chargeSpeed = 1.1,
  13045.     closeCombat = true,
  13046.     credits = 15,
  13047.     dangerFactor = 0.1,
  13048.     droppable = true,
  13049.     failedCooldown = 0,
  13050.     forceFactor = 1.35,
  13051.     health = 8,
  13052.     iconName = "woodenBat_icon",
  13053.     logic = {
  13054.       "render_with_feedback",
  13055.       "node_attack",
  13056.       "node_attack_actor_adaptive",
  13057.       "node_attack_charge_boost",
  13058.       "node_attack_hit_self_breakage",
  13059.       "can_use_with_any_charge",
  13060.     },
  13061.     melee = true,
  13062.     minCooldown = 0.175,
  13063.     name = "Wooden Bat",
  13064.     nodeAttack = "swing",
  13065.     pickupSound = "pickupWeapon",
  13066.     rackAngle = 0,
  13067.     range = 33,
  13068.     size = 4,
  13069.     speed = 0.8,
  13070.     spriteName = "woodenBat",
  13071.     switchedToSound = "switch",
  13072.     vendorAngle = -1.0367255756846,
  13073.     weapon = true,
  13074.   },
  13075.   woodenPaddle = {
  13076.     ai = {
  13077.       attackArc = 1.5707963267949,
  13078.       attackDist = 100,
  13079.       bulletSpeed = 10000,
  13080.     },
  13081.     aimArc = 2.8274333882308,
  13082.     aimRange = 175,
  13083.     aimSpeed = 0.8,
  13084.     alwaysAim = true,
  13085.     attack = "blunt",
  13086.     attackFactor = 0.9,
  13087.     breakable = true,
  13088.     bulletTimeFactor = 2,
  13089.     chargeCooldown = 0.4,
  13090.     chargeDelaySpeed = 2.4,
  13091.     chargeSpeed = 1.2,
  13092.     closeCombat = true,
  13093.     credits = 10,
  13094.     dangerFactor = 0.16,
  13095.     droppable = true,
  13096.     duckNodeAttack = "stab",
  13097.     failedCooldown = 0,
  13098.     forceFactor = 1.4,
  13099.     health = 10,
  13100.     iconName = "paddleBadass_icon",
  13101.     logic = {
  13102.       "render_with_feedback",
  13103.       "node_attack",
  13104.       "node_attack_actor_adaptive",
  13105.       "node_attack_charge_boost",
  13106.       "node_attack_hit_self_breakage",
  13107.       "can_use_with_any_charge",
  13108.     },
  13109.     melee = true,
  13110.     minCooldown = 0.182,
  13111.     name = "Badass Paddle",
  13112.     nodeAttack = "swing",
  13113.     pickupSound = "pickupWeapon",
  13114.     rackAngle = 0,
  13115.     range = 42,
  13116.     size = 4,
  13117.     sneakNodeAttack = "thrust",
  13118.     speed = 0.8,
  13119.     spriteName = "paddleBadass",
  13120.     switchedToSound = "switch",
  13121.     vendorAngle = -1.0367255756846,
  13122.     weapon = true,
  13123.   },
  13124.   woodenShield = {
  13125.     absorbation = 0,
  13126.     breakSound = "breakFinal1",
  13127.     breakable = true,
  13128.     credits = 20,
  13129.     customSpriteNames = {
  13130.       base = "woodenShieldBase",
  13131.       pieces = {...},
  13132.     },
  13133.     cyborg = true,
  13134.     dangerFactor = 0.1,
  13135.     debrisSprite = "base",
  13136.     defence = true,
  13137.     droppable = true,
  13138.     equipment = "shield",
  13139.     equipment_visual = "secondary",
  13140.     general = true,
  13141.     health = 5,
  13142.     hitDamageFactor = 5,
  13143.     hitSound = "hitWoodHollow",
  13144.     hit_prio = 5,
  13145.     iconName = "woodenShield_icon",
  13146.     listing = true,
  13147.     localized_info_id = "item_energyShield_info",
  13148.     name = "Shield (Wooden)",
  13149.     node = "secondary",
  13150.     protectionActive = true,
  13151.     protectionForwards = true,
  13152.     protectionHigher = 22,
  13153.     protectionLower = -22,
  13154.     robot = true,
  13155.     secondary = true,
  13156.     shield = true,
  13157.     spriteName = "woodenShield",
  13158.   },
  13159.   wrench = {
  13160.     ai = {
  13161.       attackArc = 1.5707963267949,
  13162.       attackDist = 100,
  13163.       bulletSpeed = 10000,
  13164.     },
  13165.     aimArc = 2.8274333882308,
  13166.     aimRange = 175,
  13167.     aimSpeed = 0.7,
  13168.     alwaysAim = true,
  13169.     attack = "blunt",
  13170.     attackFactor = 0.7,
  13171.     breakable = true,
  13172.     bulletTimeFactor = 2,
  13173.     chargeCooldown = 0.2,
  13174.     chargeDelaySpeed = 2.625,
  13175.     chargeSpeed = 0.8,
  13176.     closeCombat = true,
  13177.     credits = 35,
  13178.     dangerFactor = 0.1,
  13179.     droppable = true,
  13180.     failedCooldown = 0,
  13181.     forceFactor = 1,
  13182.     health = 30,
  13183.     iconName = "wrench_icon",
  13184.     logic = {
  13185.       "render_with_feedback",
  13186.       "node_attack",
  13187.       "node_attack_actor_adaptive",
  13188.       "node_attack_charge_boost",
  13189.       "node_attack_hit_self_breakage",
  13190.       "can_use_with_any_charge",
  13191.     },
  13192.     melee = true,
  13193.     minCooldown = 0.105,
  13194.     name = "Wrench",
  13195.     nodeAttack = "swing",
  13196.     pickupSound = "pickupWeapon",
  13197.     rackAngle = 0,
  13198.     range = 20,
  13199.     size = 3,
  13200.     speed = 1.2,
  13201.     spriteName = "wrench",
  13202.     switchedToSound = "switch",
  13203.     vendorAngle = -1.0367255756846,
  13204.     weapon = true,
  13205.   },
  13206. }
Advertisement
Add Comment
Please, Sign In to add comment