From 3a89293648955ff5ee28498724031d3b8ae8f69a Mon Sep 17 00:00:00 2001 From: GlennFolker Date: Sun, 24 May 2020 11:31:10 +0700 Subject: [PATCH 001/213] Liquid Combustion Engine addition --- .../power/liquid-combustion-engine.json | 16 ++++++ mod.json | 2 +- scripts/blocks/power.js | 53 ++++++++++++++++++ scripts/main.js | 1 + .../power/liquid-combustion-engine-heat.png | Bin 0 -> 2930 bytes .../power/liquid-combustion-engine-liquid.png | Bin 0 -> 2902 bytes .../blocks/power/liquid-combustion-engine.png | Bin 3469 -> 3594 bytes 7 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 content/blocks/power/liquid-combustion-engine.json create mode 100644 scripts/blocks/power.js create mode 100644 sprites/blocks/power/liquid-combustion-engine-heat.png create mode 100644 sprites/blocks/power/liquid-combustion-engine-liquid.png diff --git a/content/blocks/power/liquid-combustion-engine.json b/content/blocks/power/liquid-combustion-engine.json new file mode 100644 index 00000000..3b77dc5a --- /dev/null +++ b/content/blocks/power/liquid-combustion-engine.json @@ -0,0 +1,16 @@ +size: 2 +hasItems: false +hasLiquids: true +minLiquidEfficiency: 0.2 +maxLiquidGenerate: 0.08 +powerProduction: 3 +generateEffect: redgeneratespark +heatColor: ff9b59 +requirements: [ + titanium/75 + silicon/50 + iron/50 + metaglass/25 +] +category: power +research: turbine-generator \ No newline at end of file diff --git a/mod.json b/mod.json index 00c5abc4..deaf5206 100644 --- a/mod.json +++ b/mod.json @@ -2,6 +2,6 @@ name: "mechanical-warfare" displayName: "[gold]Mechanical [accent]Warfare[]" author: "GlennFolker + JerichoFletcher" description: "Adds brand new [yellow]units[], [cyan]mechs[], [red]turrets[], and [accent]resources[] along with their respective crafters. \n\n[scarlet]Not for the faintest of engines.[]" -version: "1.5" +version: "1.6" minGameVersion: "104" dependencies: [] diff --git a/scripts/blocks/power.js b/scripts/blocks/power.js new file mode 100644 index 00000000..8a7ab209 --- /dev/null +++ b/scripts/blocks/power.js @@ -0,0 +1,53 @@ +// Liquid Combustion Engine +const liquidCombustion = extendContent(ItemLiquidGenerator, "liquid-combustion-engine", { + getItemEfficiency: function(item){ + return 0; + }, + getLiquidEfficiency: function(liquid){ + return liquid.flammability; + }, + init(){ + this.consumes.add(new ConsumeLiquidFilter(boolf(liquid => this.getLiquidEfficiency(liquid) >= this.minLiquidEfficiency), this.maxLiquidGenerate)).update(false).optional(true, false); + this.super$init(); + }, + load(){ + this.region = Core.atlas.find(this.name); + this.liquidRegion = Core.atlas.find(this.name + "-liquid"); + this.topRegion = Core.atlas.find(this.name + "-heat"); + }, + draw(tile){ + var entity = tile.ent(); + Draw.rect(this.region, tile.drawx(), tile.drawy()); + + Draw.color(entity.liquids.current().color); + Draw.alpha(entity.liquids.currentAmount() / this.liquidCapacity); + Draw.rect(this.liquidRegion, tile.drawx(), tile.drawy()); + + Draw.color(this.heatColor); + Draw.alpha(entity.heat * 0.4 + Mathf.absin(8, 0.6) * entity.heat); + Draw.rect(this.topRegion, tile.drawx(), tile.drawy()); + Draw.color(); + }, + update(tile){ + this.super$update(tile); + var entity = tile.ent(); + var liquid = null; + var found = false; + Vars.content.liquids().each(cons(other => { + if(!found && entity.liquids.get(other) >= 0.001 && this.getLiquidEfficiency(other) >= this.minLiquidEfficiency){ + liquid = other; + found = true; + return; + } + })); + if(liquid != null && entity.liquids.get(liquid) >= 0.001){ + var d = entity.delta(); + if(Math.min(entity.liquids.get(liquid) * d, this.maxLiquidGenerate * d) > 0.001){ + entity.generateTime = 1; + } + } + if(entity.generateTime > 0){ + entity.generateTime -= Math.min(1 / 90 * entity.delta() * entity.power.graph.getUsageFraction(), entity.generateTime); + } + }, +}); diff --git a/scripts/main.js b/scripts/main.js index e7863326..afb52569 100644 --- a/scripts/main.js +++ b/scripts/main.js @@ -1,6 +1,7 @@ //blocks require("blocks/production") require("blocks/drills") +require("mechanical-warfare/blocks/power") require("blocks/turret/turrets") require("blocks/defense") require("blocks/effect/element-aura") diff --git a/sprites/blocks/power/liquid-combustion-engine-heat.png b/sprites/blocks/power/liquid-combustion-engine-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..303ff8417dc97123a6aad3d224abb950db2eabd3 GIT binary patch literal 2930 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 delta 731 zcmV<10wn#49E}^WzY2c>xJg7oRCwC#+r4eWFc1Y`?dUy%R7T1mQy8v2K$yXy)$2&6X1Bb&d0+QY8(x} zMquiw5hf%&3cv)36eYschU^tjc=jG=>#_*FGF62~5tzCPgfIXTz(VlU-4$TnA?Drg z3GYEj187HjTLFKz8bbpjby0*A0Ba&MYS0rtf*=Qogtrhpbu9!bfE6Bn^=t)U#`+9` z48RKC{yh`MTTlcE02=-l5ljGUV8VvKH3aE;00U5kfQ&EPD?(9#3Iue3MXw2}0J0I7 z5hlDUtOm$LV29Y|zJOIhiNH)-J>ii|E&v6BXYS61rvZN|5xff+%J9%bkU>zaF0lZS z@X%|Jc^)WMmk@;Leg6b_-U82u;C`>c9s)a9N_h=t4}^LM-VvjGAe1>2W?^<23TI7* zG7;pHA@y`P8zE&ntXdGMKuB8SggNgwkd441~xia+i$} zB|>j&%u|22bZbn3U~P^n!+5zynSRpHIu;V42@ksg#pkIH5su>Too_!dBNSULm2b9*3dkLECL z05yW=0m+0v99Eptp zj1WoykS|26>rsFnLKy(^g~;f-0$>ZF6d+QR?Y0OH3D6=uEWm>BKLA_e{`8fMt>ORx N002ovPDHLkV1kX Date: Sun, 24 May 2020 11:37:15 +0700 Subject: [PATCH 002/213] Script refresh --- scripts/blocks/defense.js | 2 +- scripts/blocks/drills.js | 38 -------------------------- scripts/blocks/effect/element-aura.js | 4 +-- scripts/blocks/turret/blow.js | 6 ++-- scripts/blocks/turret/ghost.js | 2 +- scripts/blocks/turret/incandescence.js | 4 +-- scripts/blocks/turret/nighthawk.js | 4 +-- scripts/blocks/turret/quake.js | 8 +++--- scripts/blocks/turret/seism.js | 12 ++++---- scripts/main.js | 20 +++++++------- scripts/mechs/halberd-ship.js | 6 ++-- scripts/mechs/upsylon-mech.js | 6 ++-- scripts/mechs/vortex-ship.js | 8 +++--- scripts/units/copter-unit.js | 2 +- scripts/units/ground-unit.js | 8 +++--- scripts/units/hover-unit.js | 10 +++---- 16 files changed, 51 insertions(+), 89 deletions(-) diff --git a/scripts/blocks/defense.js b/scripts/blocks/defense.js index 04d9dc43..caadf3c0 100644 --- a/scripts/blocks/defense.js +++ b/scripts/blocks/defense.js @@ -2,7 +2,7 @@ const reinforcedWall = extendContent(SurgeWall, "reinforced-wall", { update(tile) { const mendPower = tile.entity.maxHealth() / 15; - const mendTimer = 90 + const mendTimer = 90; if (tile.entity.health() < tile.entity.maxHealth() & tile.entity.timer.get(0, mendTimer)) { tile.entity.healBy(mendPower); Effects.effect(Fx.healBlockFull, Tmp.c1.set(Color.valueOf("efefff")), tile.drawx(), tile.drawy(), tile.block().size); diff --git a/scripts/blocks/drills.js b/scripts/blocks/drills.js index 6fc0845e..386f22be 100644 --- a/scripts/blocks/drills.js +++ b/scripts/blocks/drills.js @@ -26,41 +26,3 @@ const chemicalDrill = extendContent(Drill, "chemical-drill", { }, }); -// Omni Drill -/* -const omniDrill = extendContent(Drill, "omni-drill", { - load(){ - this.region = Core.atlas.find(this.name + "-bottom"); - this.rotatorLeftRegion = Core.atlas.find(this.name + "-rotator"); - this.rotatorRightRegion = Core.atlas.find(this.name + "-rotator"); - this.topRegion = Core.atlas.find(this.name + "-top"); - this.rimRegion = Core.atlas.find(this.name + "-rim") - }, - generateIcons: function(){ - return [ - Core.atlas.find(this.name) - ]; - }, - draw(){ - const s = 0.3; - const ts = 0.6; - Draw.rect(this.region, tile.drawx(), tile.drawy()); - Draw.rect(this.rotatorLeftRegion, tile.drawx() - 52 / 8, tile.drawy() + Mathf.sin(this.timeDrilled, 20), this.timeDrilled * this.rotateSpeed); - Draw.rect(this.rotatorRightRegion, tile.drawx() + 52 / 8, tile.drawy() + Mathf.sin(this.tileDrilled, 20), this.timeDrilled * this.rotateSpeed * -1); - Draw.rect(this.topRegion); - if(drawRim){ - Draw.color(this.heatColor); - Draw.alpha(entity.warmup * ts * (1 - s + Mathf.absin(Time.time(), 3, s))); - Draw.blend(Blending.additive); - Draw.rect(this.rimRegion, tile.drawx(), tile.drawy()); - Draw.blend(); - Draw.color(); - } - if(this.dominantItem != null && drawMineItem){ - Draw.color(this.dominantItem.color); - Draw.rect("drill-top", tile.drawx(), tile.drawy(), 1); - Draw.color(); - } - } -}); -*/ diff --git a/scripts/blocks/effect/element-aura.js b/scripts/blocks/effect/element-aura.js index 46935053..0190f7e4 100644 --- a/scripts/blocks/effect/element-aura.js +++ b/scripts/blocks/effect/element-aura.js @@ -1,4 +1,4 @@ -const plib = require("plib"); +const plib = require("mechanical-warfare/plib"); const fireAuraRange = 15 * Vars.tilesize; @@ -156,7 +156,7 @@ fireAura.range = fireAuraRange; fireAura.areaEffectCount = 3; fireAura.hasItems = false; fireAura.hasLiquids = true; -fireAura.liquidAmmoName = modName + "-liquid-lava" +fireAura.liquidAmmoName = "mechanical-warfare-liquid-lava" fireAura.liquidCapacity = 60; fireAura.shootEffect = fireAuraEffect; fireAura.smokeEffect = Fx.fireSmoke; diff --git a/scripts/blocks/turret/blow.js b/scripts/blocks/turret/blow.js index c96937ec..fd5adfc3 100644 --- a/scripts/blocks/turret/blow.js +++ b/scripts/blocks/turret/blow.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const blowShell = extend(BasicBulletType, { draw(b){ @@ -41,7 +41,7 @@ const blow = extendContent(DoubleTurret, "blow", { }, init(){ this.ammo( - Vars.content.getByName(ContentType.item, modName + "-ap-shell"), blowShell // Raw DPS: 756 + Vars.content.getByName(ContentType.item, "mechanical-warfare-ap-shell"), blowShell // Raw DPS: 756 ); this.super$init(); }, diff --git a/scripts/blocks/turret/ghost.js b/scripts/blocks/turret/ghost.js index 300b77f3..826cac7c 100644 --- a/scripts/blocks/turret/ghost.js +++ b/scripts/blocks/turret/ghost.js @@ -113,7 +113,7 @@ const ghost = extendContent(DoubleTurret, "ghost", { Items.blastCompound, ghostBlastCompound, // Raw DPS: 731 Items.plastanium, ghostPlastanium, // Raw DPS: 872 Items.surgealloy, ghostSurge, // Raw DPS: 640 - Vars.content.getByName(ContentType.item, modName + "-he-shell"), ghostShell // Raw DPS: 1196 + Vars.content.getByName(ContentType.item, "mechanical-warfare-he-shell"), ghostShell // Raw DPS: 1196 ); this.super$init(); }, diff --git a/scripts/blocks/turret/incandescence.js b/scripts/blocks/turret/incandescence.js index 417ccc09..82c3832d 100644 --- a/scripts/blocks/turret/incandescence.js +++ b/scripts/blocks/turret/incandescence.js @@ -4,8 +4,8 @@ const turretLength = 6; const heatRay = extendContent(PowerTurret, "incandescence", { load(){ this.super$load(); - this.beamRegion = Core.atlas.find(modName + "-heat-ray-beam"); - this.beamEndRegion = Core.atlas.find(modName + "-heat-ray-beam-end"); + this.beamRegion = Core.atlas.find("mechanical-warfare-heat-ray-beam"); + this.beamEndRegion = Core.atlas.find("mechanical-warfare-heat-ray-beam-end"); this.layer2 = Layer.power; }, shoot(tile, type){ diff --git a/scripts/blocks/turret/nighthawk.js b/scripts/blocks/turret/nighthawk.js index 48cd31c6..8769788b 100644 --- a/scripts/blocks/turret/nighthawk.js +++ b/scripts/blocks/turret/nighthawk.js @@ -1,4 +1,4 @@ -const plib = require("plib"); +const plib = require("mechanical-warfare/plib"); const nhGraphite = extend(BasicBulletType, {}); nhGraphite.damage = 75; @@ -40,7 +40,7 @@ const nighthawk = extendContent(ItemTurret, "nighthawk", { this.ammo( Items.graphite, nhGraphite, Items.titanium, nhTitanium, - Vars.content.getByName(ContentType.item, modName + "-ap-shell"), nhShell + Vars.content.getByName(ContentType.item, "mechanical-warfare-ap-shell"), nhShell ); this.super$init(); } diff --git a/scripts/blocks/turret/quake.js b/scripts/blocks/turret/quake.js index f74068da..8f2951b7 100644 --- a/scripts/blocks/turret/quake.js +++ b/scripts/blocks/turret/quake.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const quakeHE = extend(BasicBulletType, { draw(b){ @@ -96,8 +96,8 @@ const quake = extendContent(ArtilleryTurret, "quake", { }, init(){ this.ammo( - Vars.content.getByName(ContentType.item, modName + "-he-shell"), quakeHE, - Vars.content.getByName(ContentType.item, modName + "-ap-shell"), quakeAP + Vars.content.getByName(ContentType.item, "mechanical-warfare-he-shell"), quakeHE, + Vars.content.getByName(ContentType.item, "mechanical-warfare-ap-shell"), quakeAP ); this.super$init(); } diff --git a/scripts/blocks/turret/seism.js b/scripts/blocks/turret/seism.js index 4434a9c6..f5614297 100644 --- a/scripts/blocks/turret/seism.js +++ b/scripts/blocks/turret/seism.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const seismHE = extend(BasicBulletType, { draw(b){ @@ -93,7 +93,7 @@ seismAP.despawnEffect = seismAP.hitEffect; const seism = extendContent(ArtilleryTurret, "seism", { load(){ this.region = Core.atlas.find(this.name); - this.baseRegion = Core.atlas.find(modName + "-block-5"); + this.baseRegion = Core.atlas.find("mechanical-warfare-block-5"); this.heatRegion = Core.atlas.find(this.name + "-heat"); }, draw(tile){ @@ -102,14 +102,14 @@ const seism = extendContent(ArtilleryTurret, "seism", { }, generateIcons: function(){ return [ - Core.atlas.find(modName + "-block-5"), + Core.atlas.find("mechanical-warfare-block-5"), Core.atlas.find(this.name) ]; }, init(){ this.ammo( - Vars.content.getByName(ContentType.item, modName + "-he-shell"), seismHE, - Vars.content.getByName(ContentType.item, modName + "-ap-shell"), seismAP + Vars.content.getByName(ContentType.item, "mechanical-warfare-he-shell"), seismHE, + Vars.content.getByName(ContentType.item, "mechanical-warfare-ap-shell"), seismAP ); this.super$init(); }, diff --git a/scripts/main.js b/scripts/main.js index afb52569..f45ffc91 100644 --- a/scripts/main.js +++ b/scripts/main.js @@ -1,16 +1,16 @@ //blocks -require("blocks/production") -require("blocks/drills") +require("mechanical-warfare/blocks/production") +require("mechanical-warfare/blocks/drills") require("mechanical-warfare/blocks/power") -require("blocks/turret/turrets") -require("blocks/defense") -require("blocks/effect/element-aura") +require("mechanical-warfare/blocks/turret/turrets") +require("mechanical-warfare/blocks/defense") +require("mechanical-warfare/blocks/effect/element-aura") //units -require("units/ground-unit") -require("units/hover-unit") -require("units/copter-unit") +require("mechanical-warfare/units/ground-unit") +require("mechanical-warfare/units/hover-unit") +require("mechanical-warfare/units/copter-unit") //mechs -require("mechs/ship") -require("mechs/mech") +require("mechanical-warfare/mechs/ship") +require("mechanical-warfare/mechs/mech") diff --git a/scripts/mechs/halberd-ship.js b/scripts/mechs/halberd-ship.js index 9b8a375e..85b4dc93 100644 --- a/scripts/mechs/halberd-ship.js +++ b/scripts/mechs/halberd-ship.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const halberdBullet = extend(BasicBulletType, {}); halberdBullet.damage = 12; @@ -57,7 +57,7 @@ halberdBullet2.hitEffect = halberdBullet2.despawnEffect; const halberdGun = extendContent(Weapon, "gatling", { load(){ - this.region = Core.atlas.find(modName + "-gatling-equip"); + this.region = Core.atlas.find("mechanical-warfare-gatling-equip"); } }); halberdGun.length = 1.2; diff --git a/scripts/mechs/upsylon-mech.js b/scripts/mechs/upsylon-mech.js index c0285d69..508c0b97 100644 --- a/scripts/mechs/upsylon-mech.js +++ b/scripts/mechs/upsylon-mech.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const shotgunRound = extend(BasicBulletType, {}); shotgunRound.damage = 9; @@ -17,7 +17,7 @@ shotgunRound.smokeEffect = Fx.shootBigSmoke; const shotgun = extendContent(Weapon, "shotgun", { load(){ - this.region = Core.atlas.find(modName + "-shotgun-equip"); + this.region = Core.atlas.find("mechanical-warfare-shotgun-equip"); } }); shotgun.width = 5; diff --git a/scripts/mechs/vortex-ship.js b/scripts/mechs/vortex-ship.js index 7b5576e7..cb52d47c 100644 --- a/scripts/mechs/vortex-ship.js +++ b/scripts/mechs/vortex-ship.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const vortexBullet = extend(BasicBulletType, { draw(b){ @@ -62,7 +62,7 @@ const vortex = extendContent(Mech, "vortex-ship", { }, draw(player){ this.pl1.trns(player.rotation - 90, 0, -(this.weapon.getRecoil(player, true) + this.weapon.getRecoil(player, false))); - Draw.rect(Core.atlas.find(modName + "-vortex-lance-equip"), player.x + this.pl1.x, player.y + this.pl1.y, player.rotation - 90); + Draw.rect(Core.atlas.find("mechanical-warfare-vortex-lance-equip"), player.x + this.pl1.x, player.y + this.pl1.y, player.rotation - 90); if(player.shootHeat > 0.01){ Draw.color(Color.black, this.engineColor, player.shootHeat / 3); @@ -105,7 +105,7 @@ vortex.trailEffect = newEffect(20, e => { var offset = 0.3 + e.fin() * 0.4; Draw.color(vortex.engineColor); Draw.alpha(e.fout() * 0.67); - Draw.rect(Core.atlas.find(modName + "-vortex-ship-trail"), e.x + Angles.trnsx(angle, offset), e.y + Angles.trnsy(angle, offset), e.rotation - 90); + Draw.rect(Core.atlas.find("mechanical-warfare-vortex-ship-trail"), e.x + Angles.trnsx(angle, offset), e.y + Angles.trnsy(angle, offset), e.rotation - 90); Draw.color(); }); diff --git a/scripts/units/copter-unit.js b/scripts/units/copter-unit.js index 2646ec42..ecf72283 100644 --- a/scripts/units/copter-unit.js +++ b/scripts/units/copter-unit.js @@ -25,7 +25,7 @@ serpentMissile.smokeEffect = Fx.shootBigSmoke; const serpentWeapon = extendContent(Weapon, "serpent-gun", { load(){ - this.region = Core.atlas.find(modName + "-serpent-gun-equip"); + this.region = Core.atlas.find("mechanical-warfare-serpent-gun-equip"); } }); serpentWeapon.width = 8; diff --git a/scripts/units/ground-unit.js b/scripts/units/ground-unit.js index a7a3244f..ca985ea0 100644 --- a/scripts/units/ground-unit.js +++ b/scripts/units/ground-unit.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const groundUnit = prov(() => extend(GroundUnit, {})); // Nullifier @@ -61,7 +61,7 @@ nullBullet.despawnEffect = nullBullet.hitEffect; const nullPointer = extendContent(Weapon, "null-pointer", { load(){ - this.region = Core.atlas.find(modName + "-null-pointer-equip"); + this.region = Core.atlas.find("mechanical-warfare-null-pointer-equip"); } }); nullPointer.length = 18; @@ -135,7 +135,7 @@ anarchyShell.despawnEffect = anarchyShell.hitEffect; const anarchyBlaster = extendContent(Weapon, "anarchy-blaster", { load(){ - this.region = Core.atlas.find(modName + "-anarchy-blaster-equip"); + this.region = Core.atlas.find("mechanical-warfare-anarchy-blaster-equip"); } }); anarchyBlaster.length = 15; diff --git a/scripts/units/hover-unit.js b/scripts/units/hover-unit.js index 911e10f6..24fbde0f 100644 --- a/scripts/units/hover-unit.js +++ b/scripts/units/hover-unit.js @@ -1,5 +1,5 @@ -const elib = require("effectlib"); -const plib = require("plib"); +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); const hoverUnit = prov(() => extend(HoverUnit, { drawEngine(){ @@ -21,7 +21,7 @@ const hoverUnit = prov(() => extend(HoverUnit, { // Battleaxe const axeLava = extend(LiquidBulletType, { init(){ - this.liquid = Vars.content.getByName(ContentType.liquid, modName + "-liquid-lava"); + this.liquid = Vars.content.getByName(ContentType.liquid, "mechanical-warfare-liquid-lava"); this.super$init(); } }); @@ -51,7 +51,7 @@ axe.fragBullet = axeLava; const axeLauncher = extendContent(Weapon, "axe-launcher", { load(){ - this.region = Core.atlas.find(modName + "-axe-launcher-equip"); + this.region = Core.atlas.find("mechanical-warfare-axe-launcher-equip"); } }); axeLauncher.width = 7; @@ -128,7 +128,7 @@ scytheShell.despawnEffect = scytheShell.hitEffect; const scytheLauncher = extendContent(Weapon, "scythe-launcher", { load(){ - this.region = Core.atlas.find(modName + "-scythe-launcher-equip"); + this.region = Core.atlas.find("mechanical-warfare-scythe-launcher-equip"); } }); scytheLauncher.width = 9; From 18bd67a0d07a474fc99b51e35e443605c6801948 Mon Sep 17 00:00:00 2001 From: GlennFolker Date: Sun, 24 May 2020 13:55:36 +0700 Subject: [PATCH 003/213] Quarry addition --- content/blocks/drills/quarry.json | 18 ++++++ content/blocks/environments/vanilla/char.json | 2 - .../blocks/environments/vanilla/craters.json | 2 - .../environments/vanilla/holostone.json | 2 - .../blocks/environments/vanilla/ignarock.json | 2 - .../blocks/environments/vanilla/stone.json | 2 - scripts/blocks/drills.js | 59 ++++++++++++++++++ sprites/blocks/drills/quarry-rim.png | Bin 0 -> 3070 bytes sprites/blocks/drills/quarry-rotator.png | Bin 0 -> 3104 bytes sprites/blocks/drills/quarry-top.png | Bin 0 -> 3589 bytes sprites/blocks/drills/quarry.png | Bin 0 -> 3488 bytes 11 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 content/blocks/drills/quarry.json delete mode 100644 content/blocks/environments/vanilla/char.json delete mode 100644 content/blocks/environments/vanilla/craters.json delete mode 100644 content/blocks/environments/vanilla/holostone.json delete mode 100644 content/blocks/environments/vanilla/ignarock.json delete mode 100644 content/blocks/environments/vanilla/stone.json create mode 100644 sprites/blocks/drills/quarry-rim.png create mode 100644 sprites/blocks/drills/quarry-rotator.png create mode 100644 sprites/blocks/drills/quarry-top.png create mode 100644 sprites/blocks/drills/quarry.png diff --git a/content/blocks/drills/quarry.json b/content/blocks/drills/quarry.json new file mode 100644 index 00000000..1b171c01 --- /dev/null +++ b/content/blocks/drills/quarry.json @@ -0,0 +1,18 @@ +size: 3 +hasPower: true +hasItems: true +updateEffect: pulverizeMedium +updateEffectChance: 0.05 +craftEffect: mineBig +consumes: { + power: 1 +} +outputItem: cobblestone/1 +requirements: [ + copper/70 + lead/50 + silicon/60 + iron/45 +] +category: production +research: pneumatic-drill diff --git a/content/blocks/environments/vanilla/char.json b/content/blocks/environments/vanilla/char.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/char.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/craters.json b/content/blocks/environments/vanilla/craters.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/craters.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/holostone.json b/content/blocks/environments/vanilla/holostone.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/holostone.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/ignarock.json b/content/blocks/environments/vanilla/ignarock.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/ignarock.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/stone.json b/content/blocks/environments/vanilla/stone.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/stone.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/scripts/blocks/drills.js b/scripts/blocks/drills.js index 386f22be..cb2aa0b4 100644 --- a/scripts/blocks/drills.js +++ b/scripts/blocks/drills.js @@ -26,3 +26,62 @@ const chemicalDrill = extendContent(Drill, "chemical-drill", { }, }); +// Stone floors +const stoneFloor = [Blocks.stone, Blocks.craters, Blocks.charr, Blocks.ignarock, Blocks.holostone]; +function isStone(floor){ + for(var i = 0; i < 5; i++){ + if(floor === stoneFloor[i]){return true;} + } + return false; +} + +// Quarry +const quarry = extendContent(GenericCrafter, "quarry", { + load(){ + this.region = Core.atlas.find(this.name); + this.rotatorRegion = Core.atlas.find(this.name + "-rotator"); + this.topRegion = Core.atlas.find(this.name + "-top"); + this.rimRegion = Core.atlas.find(this.name + "-rim"); + }, + generateIcons: function(){ + return [ + Core.atlas.find(this.name), + Core.atlas.find(this.name + "-rotator"), + Core.atlas.find(this.name + "-top") + ]; + }, + canPlaceOn: function(tile){ + return tile.getLinkedTilesAs(this, this.tempTiles).contains(boolf(other => isStone(other.floor()))); + }, + update(tile){ + this.super$update(tile); + var entity = tile.ent(); + entity.setRotation(entity.getRotation() + (this.rotateSpeed * entity.warmup)); + }, + draw(tile){ + var entity = tile.ent(); + Draw.rect(this.region, tile.drawx(), tile.drawy()); + + Draw.color(Color.black, Pal.turretHeat, entity.warmup * (0.7 + Mathf.absin(Time.time(), 3, 0.3))); + Draw.blend(Blending.additive); + Draw.rect(this.rimRegion, tile.drawx(), tile.drawy()); + Draw.blend(); + Draw.color(); + + Draw.rect(this.rotatorRegion, tile.drawx(), tile.drawy(), entity.getRotation()); + Draw.rect(this.topRegion, tile.drawx(), tile.drawy()) + } +}); +quarry.rotateSpeed = 4; +quarry.entityType = prov(() => { + const entity = extend(GenericCrafter.GenericCrafterEntity, { + getRotation: function(){ + return this._rot; + }, + setRotation: function(val){ + this._rot = val; + } + }); + entity.setRotation(0); + return entity; +}); diff --git a/sprites/blocks/drills/quarry-rim.png b/sprites/blocks/drills/quarry-rim.png new file mode 100644 index 0000000000000000000000000000000000000000..9130720e8faabf332318b031ea4d12fbb4a909a2 GIT binary patch literal 3070 zcmbVOcQ73M7XA5%-Xdy*PcIw2MqPIG8mw3?x+Nk=BwEOd=sqGkSuN3Ph?P~M22oZJ zb(Lrl1TRWfqU@7-GjHDC@6Mci=FZ$ZbI$$i#NRa2XP~`G3jkm+G|;iUVCO%ero8AY z*+Dlhh{oT*_5lENSN?zu zHVX;*1lk#@HU8q{s8?|bgD1;juY9K3h+jv}o2E54st+)Yqg0*L^qB_o7K&*43K;L@ zFH!xyeamZ7T9LFu{(zaf(VhRnnIIWBj!;*>F3?H!9*_l3&{2a<)4WcZYq2DzEm)2N z8TuJnXJG0LV`?-j&#k2GBhSz#0nHr0Ouh$*Hv&+5;%)K`8om6nB$xI2n z6k))5Ku|CkJj(&Bdiyr&Kd#p@Z$K_SmD8Y(6H?KQw5OH~pt7-%;uXUia$ILsa{0?8 zS4*lpB!^2bQi18q!7u=YscaW+56*(|jJ0^YQZkm&Nph=$k|f~jx_Z7oTIH_=z;a;3 z*tvvs<5jd8CEEAASa_Gh>o#5CLt>(51Cv%0DBPU0Iq?7U8{MMkxY^nDwY3?eUYNbh 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 literal 0 HcmV?d00001 diff --git a/sprites/blocks/drills/quarry-top.png b/sprites/blocks/drills/quarry-top.png new file mode 100644 index 0000000000000000000000000000000000000000..f9356013a4811c2d65327418c7046f7ffff90c68 GIT binary patch literal 3589 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 LNkvXXu0mjf&^CbG literal 0 HcmV?d00001 diff --git a/sprites/blocks/drills/quarry.png b/sprites/blocks/drills/quarry.png new file mode 100644 index 0000000000000000000000000000000000000000..67661264d84e34bb98eba4f2eaf54216c37888b7 GIT binary patch literal 3488 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 literal 0 HcmV?d00001 From 492f98b7ecf97d6060f74d5aaf4df7953edd9356 Mon Sep 17 00:00:00 2001 From: GlennFolker Date: Mon, 25 May 2020 20:25:14 +0700 Subject: [PATCH 004/213] Update quarry script --- bundles/bundle.properties | 4 +++ content/blocks/drills/quarry.json | 3 ++ scripts/blocks/drills.js | 53 ++++++++++++++++++++++++++++--- 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/bundles/bundle.properties b/bundles/bundle.properties index 67576b08..be262297 100644 --- a/bundles/bundle.properties +++ b/bundles/bundle.properties @@ -47,6 +47,8 @@ block.mechanical-warfare-seism.description = A more powerful version of Quake, w // Region Production block.mechanical-warfare-chemical-drill.name = Chemical Drill block.mechanical-warfare-chemical-drill.description = A drill that employs corrosive acid. Capable of mining uranium. +block.mechanical-warfare-quarry.name = Quarry +block.mechanical-warfare-quarry.description = Extracts lumps of cobblestone from rocks. Must be placed on stone tiles. // End Region Production // Region Defense @@ -84,6 +86,8 @@ block.mechanical-warfare-battleaxe-factory.description = Assembles Battleaxe, an // Region Power block.mechanical-warfare-uranium-reactor.name = Uranium Reactor block.mechanical-warfare-uranium-reactor.description = Creates significant amount of power using the potential energy from radioactive uranium. Will explode violently with lack of coolant. +block.mechanical-warfare-liquid-combustion-engine.name = Liquid Combustion Engine +block.mechanical-warfare-liquid-combustion-engine.description = Synthesizes power by burning flammable liquid. // End Region Power // Region Crafting diff --git a/content/blocks/drills/quarry.json b/content/blocks/drills/quarry.json index 1b171c01..44aac5b6 100644 --- a/content/blocks/drills/quarry.json +++ b/content/blocks/drills/quarry.json @@ -4,6 +4,7 @@ hasItems: true updateEffect: pulverizeMedium updateEffectChance: 0.05 craftEffect: mineBig +craftTime: 30 consumes: { power: 1 } @@ -14,5 +15,7 @@ requirements: [ silicon/60 iron/45 ] +idleSound: drill +idleSoundVolume: 0.003 category: production research: pneumatic-drill diff --git a/scripts/blocks/drills.js b/scripts/blocks/drills.js index cb2aa0b4..0824ea74 100644 --- a/scripts/blocks/drills.js +++ b/scripts/blocks/drills.js @@ -56,13 +56,15 @@ const quarry = extendContent(GenericCrafter, "quarry", { update(tile){ this.super$update(tile); var entity = tile.ent(); - entity.setRotation(entity.getRotation() + (this.rotateSpeed * entity.warmup)); + entity.setHeat(Mathf.lerpDelta(entity.getHeat(), entity.efficiency() > 0 ? entity.power.status : 0, 0.02)); + entity.setRotation(entity.getRotation() + this.rotateSpeed * entity.delta() * entity.getHeat()); + entity.setEfficiency(Mathf.lerpDelta(entity.getEfficiency(), entity.efficiency(), 0.02)); }, draw(tile){ var entity = tile.ent(); Draw.rect(this.region, tile.drawx(), tile.drawy()); - Draw.color(Color.black, Pal.turretHeat, entity.warmup * (0.7 + Mathf.absin(Time.time(), 3, 0.3))); + Draw.color(Color.black, Pal.turretHeat, entity.getHeat() * (0.7 + Mathf.absin(Time.time(), 3, 0.3))); Draw.blend(Blending.additive); Draw.rect(this.rimRegion, tile.drawx(), tile.drawy()); Draw.blend(); @@ -70,18 +72,61 @@ const quarry = extendContent(GenericCrafter, "quarry", { Draw.rect(this.rotatorRegion, tile.drawx(), tile.drawy(), entity.getRotation()); Draw.rect(this.topRegion, tile.drawx(), tile.drawy()) + }, + drawPlace(x, y, rotation, valid){ + var c = 0; + Vars.world.tile(x, y).getLinkedTilesAs(this, this.tempTiles).each( + boolf(other => isStone(other.floor())), + cons(other => c++) + ); + this.drawPlaceText(Core.bundle.formatFloat("bar.efficiency", c / 9 * 100, 1), x, y, valid); + }, + setBars(){ + this.super$setBars(); + this.bars.add("efficiency", func(entity => new Bar(prov(() => + Core.bundle.formatFloat("bar.efficiency", + entity.getEfficiency() * 100, 1 + )), + prov(() => Pal.ammo), + floatp(() => entity.getEfficiency()) + ))); } }); -quarry.rotateSpeed = 4; +quarry.rotateSpeed = 3; quarry.entityType = prov(() => { const entity = extend(GenericCrafter.GenericCrafterEntity, { getRotation: function(){ return this._rot; }, setRotation: function(val){ - this._rot = val; + this._rot = val % 360; + }, + efficiency: function(){ + var count = 0; + var res; + this.tile.getLinkedTilesAs(this.tile.block(), this.tile.block().tempTiles).each(boolf(other => isStone(other.floor())), cons(other => count++)); + if(this.items.total() != this.tile.block().itemCapacity){ + res = this.power.status * count / 9; + }else{ + res = 0; + } + return res; + }, + getHeat: function(){ + return this._heat; + }, + setHeat: function(val){ + this._heat = val; + }, + getEfficiency: function(){ + return this._efficiency; + }, + setEfficiency: function(val){ + this._efficiency = val; } }); entity.setRotation(0); + entity.setHeat(0); + entity.setEfficiency(0); return entity; }); From 00985cdb846bcb9277792d90a5f0a4e5e784db52 Mon Sep 17 00:00:00 2001 From: GlennFolker Date: Mon, 25 May 2020 20:53:45 +0700 Subject: [PATCH 005/213] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 7bdddf97..622f3e2c 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,6 @@ Cheers, Translators: - French - [feu-follet](https://github.com/feu-follet) + +Contributors: +- [kapzduke](https://github.com/kapzduke) \ No newline at end of file From 48f8575884e0deb4d1b380c0a91d224e7c36a44a Mon Sep 17 00:00:00 2001 From: DatOnePlayer <61370548+DatOnePlayer@users.noreply.github.com> Date: Tue, 26 May 2020 15:20:04 +0700 Subject: [PATCH 006/213] Add files via upload --- maps/Uranium_Processing_Assembly_Line | Bin 0 -> 13888 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 maps/Uranium_Processing_Assembly_Line diff --git a/maps/Uranium_Processing_Assembly_Line b/maps/Uranium_Processing_Assembly_Line new file mode 100644 index 0000000000000000000000000000000000000000..84ef8bf8909f4c9cba4ba5eb64d518dc26fbe905 GIT binary patch literal 13888 zcmV-GHowVuob7yRketVLSkJjTJ9`3H+{XYQKoHsiv9pV70a73VLKF{y;w^#{`0dQM zGb7B*H=1j?plAW0Vn-_5N}>`8QWZzBT@_ogBS%hDvXVHiB$c=-NtIK%DkY_oiYtjL zhs%}YPb#V8y*^%de_wyI3lbEm3P&Qg&)2VCzq@?8v z`YdsrjjnnFpI1ia7Z;BoKX#mDy3kZ%6Z0p|9A7+ja`DXK$@vp3-SS{i;kl02s`s0P zr#eB|?{@30YT==7*KaO2)(TJ5TRzKr{a!8Tu*pv~>b-Jp?U`D={cunRs6DUOW%s|n z+^;t(Ft7VC6naaiPadD6ri*?#Xmxv?e!1sYmgY~F-e4n5ug#a<^hl-N3p$0T5PQGd zgYj&v>bF(^ir?v`4qSP?-0-^HrDnZV=>w3pV=%RQO!gnU-0?5*;@pbYXap-OOUI9u z&hXFaxuD#GO?Q{(k71?bFTsDsa?ozW@NT)WG(Xp?b^LBEXjEX@snd%%?bI7{cYDc( z?^PTNo;-8n?ypr2yoO_~)2BXwwR-g)=Nrd*XFiC%Aq%>eo4>nDHT`l8_Eq*8#Z|Af z;=#(edc700_|m1tV`n(4*c3kb0qnS2?s#pnXzAGEiA5Y}EqdmSS6GHi8cWR|Uu5ZK zQ0cN?x^kdW_nJYgf|xH|Iq08QK7GP}W&T)c@yaU)=KR-seyieFiv3o-SM)kvzvUrG zul0*CA5b_x7bOBTpEx!@*YU1n@$_7$wsyT7blSy6P_2XHmO*cn@m%_yWzZS8lli#; zz-TnQqTd2&WfcEoCjsNtdZkxmsnYS|EL-#I)ml$fGM#?I@3QN!Hv+E`^m|KJUa$B3 z=8_az*iygMTbe(9{Eb)Ux@~W@)rAqgwYI-h@v2oW)?Nd2$WrOJ8eD=?;Uj>Qs|^^k z>{siprA3@y=0j=H;v28L!P2NZSz?~$D?X6F-tN_dR-$yd-zhY`daKZvx)RRVFRXgq zg179oDnZMy6xMtoWx=Zkg-YKq^nwD=x#Kteg5UC+YlV8N+wXvGE7$$*T%i@L7J4;* ztpHljTW-|5wSrgZHi0n;p3=PyTm#^=J3-Gc_i%i@12w-~5Bgm~rQ)}PZoM~G0QiIY zzy|<@MgU42{;mc6LfLE06#z*D1t1Dtplodw)-8ax=)yc`?D+Qr>V>A?DFZWf)?iYz zJy)n#Tfjj$pvfTsCd(e8hN$0*xYjFtjTKPh2)hM)hPnN&&)8$9Mj1QIvf}hu8ucK{ zHT|AfMKNKcRp9O#9573F0XR#e@?xV(t*{X(@L*<84%kSy-l&5uVPjzIx^mEXyXJNM z;)=K2sh3%vlemcDwZ?MYHVRQYsIbXpoB`Ug*#@qtfVo`jcs*Qthao9N4-co+lk=Tj z0+r2XSGltmRQ)E~X*O28&b6XOz?vY-?4VN+0bae?4O$Y5dxsBFTY6}t10QC4-2;Q= zZXGadv3>6TLB9c|w-a?O{Mw>dgF0(%@C&1)q@3Um$I?&ub{?sW7>iDUOTm0z*z4?vJA zk{J`p1(x#a9bi|l)4N(+g#R1m1*2Rt%JVFz%ExulXf5gDf-Vy11!I{7W0?hGnFV8+ z1-;C|Rim|}iwn9)pi9OwC1aVAu}sNWrlglCT{T)uy11Z=1bW_BX5Lt4-dJYdSY}=? zGk?`+E$QNdE-uRAaa@Ip3%Xd+#d%N~qNqzHDlJe+0h-q^=QYfE4Rc<@M66Xwx0R^0 zKqUpTq@kBI^pb{N($Gr;y>wN#m8i5pB?WRpLtoI)7c}$*4Sj*2FI?4aB`PgYNr7C{ z&=)oIMGbvXLtiB5i&u49iAoDpS_CtJE&UgwVMZ0~Bw~6v3jS=-!&+A~=gbHm0ObI%M zVEAg#Its?tg9z*z8>t07UdT1QYE!fc6FI8Du^hO7fq;_%I|}9$Ml^cxFL)L#RWJJh zunfu!tJ!j+zOvE<{|Z2L0YS7&qMYW?M{$@a!6ea>Q*BVJ^jp*lt5dPjGa(k+7%cL6 zqL}9YX1ldcf4R%1R?*lO!6yO}h`zv>ZeSAvLb(BsGg7=;^FTe1@jqgX30^KP2mM9` zMvQZ+sv0=HT|$GG^XOpx^E zRvP_!rCEOs>UrUEiOQt%w`4slC*`_6h_BZJ;CabH9IvriVAhVJxV#H>vD#uJ2+vTHXLk)7=xTL8Vw8^Z= z5o3}<*gvhys#kcYqF0w?Z@Pks7A>ehIJ>2p<F z1N4HZW%LXERvE)6HU)lBrRwXhNkJp3XMxQS*Qq)*bWo+rhHM9d7UZf5xLck2avyP; zK+HivSBq6pq-?T}`_uJ&6Vzgn?+hRs?p(XyY_mKBRS@Wi$~cBVP1Q95_*DA!9-9C* z6zK8lB(OzK>`Zhw>R$wYFDl$*6)19zP00%FeNyjT!d6@7)v zxTc5gEK{lDsF7u_2g|Op30aV1w}8Yh!;!`7rAsXE<(0Hy^XGysuT z(JRO-iiW@yfQA5SqlX%tTE;t|;p@O20k}x80dUrec=()@lNH#Rr|aWAuW$4QO}}dN zPJaPN*{FlDs@2<~1yn(WN9C$zs@m{SlTpLCkfm~*9#ilBYF^)}!1&TzkB zp|@Gcqi{-lZ|zEmam5F5>GazOb2c&${RW%9Mq*{TfgbCDVZBm9?QLSWax{0u^@Pc0 zbd}?~DvqU!pl3UN&!(8!Q(PX>SGG^W>f`xBc5rw;M$(ZpVlg-U-ya)oae)LD1+y)C5So(taTKt4@Tz*!Ql*Wc>Vkx5*ATdJKl* zZupV)$4HgqLVTr;6zhXZyT^q%XkG~MUh~O#y3V9qUISN-hPaRhzp3pTR@}uy5KAwE zy3&Ty1!#cI_iK8L3sAq^T?2o`kYaTMgo#wIX?mBT9%Y1PsGTRAQE>KIf>Rmr+oPi4 z=WTOImRD)U2&*(|dt9B`;d5sEd6vf3pQ@|kgHzviYY(t%-Wu%PR#2)JX;NJ?UHpCP z3}gF;41g2z8x=SHz?uNwxpPp_J>kSVkyPQ0xL-m}aw2JlJx(M=CPhU$2Zjz27RkAe z7{lqx4#yAZ)f+zLc=iq-$L@{qx8vx8>kQ-(_&w_k5+^+bC$3|hrzo;SPELb}N9boK zVB_?hdl1o^7EIv5Jya~V7hn!?qqYjZ*EMv> z=d9j#+k?;uV_=@n<&h*BM5PnATBE@JQLd#yKgP`xT8hyWU-Cyo67kL~Pf@^y! zJZfF(cUm4AI?H1QRtSnlSZT35`qRZwu(l^WK-C5LBlE*49j8NYWcRj&`*|*8N4QmI z>~@8^x~7yz{X|1~$2gH9X}l%e$Q<>n+RxW zG9EN@wG*0z?S`;#k94X$ekAS_C|Go|><7P!*cR@Vb^8Q?r06}$U0F7qlF(7XwP5qC zsmx?s0*9G`u*$Sfufwk`sBf>`M=rc_6%WMpo8Hdhm@(n|gd=g|cs9yRX&;8wMbwlVio;Eaew_<90{!Zx7eHk>EqqeK9$e$L+oJm+H8c|ZdDQO zIw+31AM)x&cN2oPki`%JiU%%))Z(!oPa8Y6M9*)w{jQOJjCl#;mCJo7g4D+Jw}VC_ zV25LR!I|jP`#J?0^UMbZ`Fc>y>z!pELht}sy4!EUJ^-g9G0%KzUeJ9A+!d`nW3b1| z=Agwsv4O`&bh&rm#@-hBorg9)^kH_-@S$?;81hv*UOAw>7Tkk;uhXlExIcz&;PqC( z?F1kM>rmWCo}^sw#L$FwVSvuUA6;)?(<|4&G-2Euvss=?Sr5T#!vmG95j@}?hG`WV z6GN4n4|*1`Gq^Zr9vKqy-Lm!_%5tsg_ZZXece1p{wA zEPKW4zOi%+bpS!|#n#^qrlY_I05?@*Sd1Gg?ghiwNHJ`W&u2m6%3iAl8Y^xyVh~xx z^&3BYKPqM{oR*P=4S`9CLCelIp@SUqo?v{=Hb`{j4AKKHQ zA+I=%gz{l$LK&=7(X-5y``st^7VFh|%ekC-_h~HW%Ins^&Fngp#0_uYIn%4nB3`f! z&A=+HQWW8*>s_jTOY7>aH}uVeb9P5QUUiWMJJmZ>S3WkP)0~$B-g0N1G&8uK!K(Jb zT|;0a?zw_VJN+_*BEFLb;&wtZlq>Ztw@5+cX8hs-@{j4=P4mW;hIdVI?iSwCZLeW4 zNPeD}3@YH7p~3HSKjKx-S71Jg*-7_MaNJ=?%f~M^Ip-BOFi(u9xlKyZeYB8 zvSO@quX`4Z2)$6*x6VLTh#jCn>>oBlY$E0@bto>12Sj&-M`DM_kZl!wty%yK84rwx z9C8m4FT0EQ9UPtxjiF_f=v(NDgI|a)gXo~nqE^3wZ#@9C?AaCm=1kG^d2#_CknD?e z8eS~F%ZUu&`oCyCh}s<)gRd=A^n1|J+rqE&ndW5A&_V2;NVoN@P^J1Kqe4DZloWCR z?lg)5yOd3nCha{gGkhsHh?LMTe-TZ{bI6(H+rHk@$$hB10Q~c2|ra>Ug%7 zWSiNT*8mg1bsrnk?`znodRxQB^t&3C;}3H1f{%@x&uiGY`Lu@Rjb}A>kZ#=JI~Bco z&*-#g#vP**fO)@Yr>)FXV(7_X_!E2#L|BH4C?Fu; zudxvs?z6n%v$8SG4=gK^jV!|-(Xml=)GUpWF3SqWa3#@bk;5Cy_OVUTB%YnTi)K&R zOeA$~UlTa5u|oMdkrFia@5uTY6mh=f=r?Ez@GQvJzam!%0wb5#Y(xXPg+a4?u z-HtbED(rT>QIi7Un4|>3k<%4IV{sZ!zsBWb9+uh6*u<+$ow8j+Ql@d8JRum@>3da- zMApf~#myE^nf44#yTt*od8qV|wmakVadAlrorjAXQE!3QS>@svGeT$R;xfXGpxlT3 z#cY6ba&gl|E-vm&RXiGpp3beY{p)7S;&O{-mMm@`lpTx1ROP$k@G$aRaVgkPek+b* zB4riF5SWRI!}0oc58|TEwKyEH->+AK27dK5en`F9jw2;@cltu~j`8-4ikfjV1z<_qEQOJLzghCL_nII#Q?` zmxH|^oXxAxLty2{CX_Go#DpNyRUl=YSNg~o@ibn$dI5i)AP(50;E@EYpjodzDt6h6RW4Gqlz74)bS2=WNF3@d&UxLCbPVBRJ2*+4$-(HRN6~3l2qDe zplbnGppF8SMvQ$Z03%e|1OI%Mm+}N^J63<$u5KbI_flz|pfD;Ox2IL9BZs8~mc|Ic z0UEpwtG{AbU!ZZ5vLr#J2~-JZjN^>0Slv%E&ePxwl{PyLd6Jgo0Jc)c2`cR*0EsYA zHRPBLrRREfP=4?&-l!Nw~F-PghHro_`hz6(ZO($%YPf_VG;le@vC4#(3Fqaxva==Sb=>m;Q z61+`9R#nF~$0;P^&M09cd4aH+!Ri+3*k_A)3QK3GZ3|7C#_DAUOC=p`muU-nT1qgw z8ghvsPhs^b2icz`C{tpF!s=ODCvqs0V&|%3);MWRSXDYiYdl76n+Vi|tsXAY;46d> zAMz;&Q-6}Cr5)?e(i-Df9XF0vpN9gPb`Vx?=4k?z$LgXjzX_oav>H)}=Y_CGMdPG{ zv-i>(V>Tf)uhnQs&KAV1E&FLK%~9_enl>sHirSe3?St8}&ySXOXq$47O83~1&pG&1 zlYN;6k6?Amur8LC4{dtfakQUx&~JpmXYK7zIj~Lmj&v3ZO>4 zWA?N&LpP`yE}&^?p?5=vV(Cu3!6}2E6@ZjYx(O<6AF9nx!ar}TURlx$O%wQJoQ~C2 zNE_S|fztXy zz2t&J$EJ)W)wD$$JhQ6TIDDrJpFts>q0%(xhsnraUdt+WQwZt{r3UDYK`1Kj>?UV6p$uW~juw9?n!Va6e* zNryhzZBo)aEe_=}F~7E)+Nm6;(lpIDNKnX8dY8!buHK(h}gcG709 zvj{mU4nS#@tp>3zI&Y8i zZ|j}k>md7f+9gk#Y_%b0sWio;0a8{7N-1({w>W68_mL!4(RALY=DtH3M3nXm*H7(o z%Hh^#3`q%SNx9#*`F_)ies3#{PL6}Mb7n7oK={Sc#dj#eik)l1rbsts4c>@Kqdw`J zb>{CRZ47jnJ0`-6mdrwo8Oq#raNkZ?Sc#oGw5Zd0(%GX45i_aPwiySnz%#Y!x1~as z9iqhdahdjUNJNkdo;Kin)r_}o0B=hufn*gOa7+@qb0iRlMChwzFlSg(Efp5{Bryny z^KGT!4DJ06ak1Ekwm8~qFp)4&8c7S-0m0}NaS|jXT6b!NqTQ5`XU=CFB?d_vYrHJe zi<@k2+Nr=BN}6n$V!|j3Bpf9(S$zc;xAu#U&AVDjYd65wz_(2c5fzC0iP$>aoWj-8 zBAcRCn~Hb}V##-Hc!p6*GE?u0AtC%O7|eAA6^h#6w4&s@A-$^+pK+Kw4OwSh^tc?Z zF+$s#76N7jA#yd_cHh>Nl&e{xRtN)qWE$sFxb7(JZHh_FAe=Ercq3RPDe#NG6aA&=W@OwqUmK~6Z@b`azu5GdrUMd5R!U5|pGU zDUnQx8H!d_o5Ue^CWDZtYz7JWVS1O$#`!^lqHmXU*q3xb;ro~-3QaOgcV=nan?~4o z1-V4cm=JAITr_?oMw{ZM`w8AfT7yI0Ogo=Y46J&innoLDodH@h#$7=*XTjU-;F6<8 zpcv)Yea!R|Z%dth1sAs<&l2Qk4dFDE;BDE)GeuWWOqKTG0JhS$o-pG^b~_`Md__77SP;&`7&@2MjArj(>oHH!y zx+EMxnewl~CSN+0FH6zbMb0P3Zxew^Qb~)wK7~cXG{K@udRq8|S5UcG;Kyz78Jn+k ziRZ|&2D<9F#~eU0{&;7ENWuqyo+E4kb-cGK4Nk&pSyQUEQWF&ZCA#QsDE# z;;wS)00!xhGB?#VD8)xl-K1_2{0v9!7 z)}B#zczAonwqR~%=-i*BaY-9LS1Cbas-cV#6pm?{PG*!0pI)tHM3tIqEkRDP%Pg(2 z#a?67kVaK{)!+>Ug^4_?g0h*ySBYsLcEs>J-cE`RYp_Q5GX#E@;eEAGeM!0)C8qdA zw51$CIR^ULL_3gL==M2K8+D+jC2B?JQ-wjsD8*oK({S_TTw_|+o~9Z7ImhAYG-*Ou z9K~ic_L4fN(T^nb&B{TV%h%mx&(-Pjiw=V29dk1@ml*<~O4pdWD$|&zNQeD`4NrPJ z$_M@hd+sFlPTS(AFDN!SFxYD_zu`|NGg=_@8r-?tY@fMy5ue0qNt%|ol{BBG9jZqu z9HLhDVtv2N$AcYkj-~^ zCY_C|qm+=Sri7O#3UQ!&g)!6u8lB#gS{q2wt+yj`5a z%W|5$&uijAahCr%c@y`N5hN+_i~uAF-l*72)VwDN`wRkQ>=%)De=Z`^Ib)%yW=K2u zZ>o6oHx{GKD~)M+D=(Mr{gc zhJflje|@2lGN{J+PkCu6!#EfVA(wm=|M@fc&)2ESJFIo}%Mk7;?V(&+nl|Hx{B;5! z1G$X=c9T!I9=vri{j9;K(KFW^o2S({UADeA?6r>gf(XE-(Q3~; zFVwoqF63=%$gbO1sPHm8jbzVRxVWw@RFiUv`eQlCcDmTL%XrvsHoV1bTrKYg3 zDyI+vKWWPmZ`1FK(Th~Rib|bok7t6`(0;^j#|BHn^H7n02!nfUOee_@gvRMLo;0jW zbjAqHXwo?S1TW_pr>UzAv-aFh*>m$Y4fJ!iBer7`TH}_XJC(!i8uv2}9h-DO));6l z|2aF*j$Pv!hhKM+W{lHG>u^Ndh2suk(l4A355@Em8u$26T4~XJEN&kh-k&2VV{|ea z$|oH-?~9wk;ps$$&X67@3|uoXFcCR2Jy+}d+|V;0B}_+HG%=_jfIM&GtmlqNCBtr~ z#F?uZhivR)_p38}DOz{V;HK!#<+^6(#6X;Gf<@beF)peeTrPx**m|o;+Nxex2MAj8 zU$y;H4JB`rSVM8$R`m=;7A4}S%>qe#m!EeC$&U4*By5YL>9XROo0Aa>qT7mG(CW*k zuR7SrH8<^`fyVwzaZqpzw`F$0VyUlf4CnBY`gk6ow#OXWB1Z@6LVSs!EIE!MVZ+m? zp$Bj~MVrx@^^?SU+8bW5639bkwHv zgvIS)_C8PhxHxQ@ScqP&-42QFtgY9~VBR{Jdkt1r>t2YPk)y3D=P9B_wo_>v5m6@_ z_7gcnr#enFNQk*AyP(~&2kp6`eT+JGu49P#xVhs(LFub*wXXJz9=CZ?Lz%Fl=*Iwz z>1Ry(rD7o8&|hKdOKVaYSwJW0km=6GxJ5CoK_FvEeaWDo1?+PG&DlWB=eO!D3A!3@ zk&X~ID=*+Qos65Z@zYO6Hifru3cI?b3C!nWxP`Zp3WK*uCyK$EY4jQ;2QGSBn=N5- zzB(|U=2&Rh?`htmOK)|L6J_s{giGG0%Y>rF?a&pNemJISkWe(>)wi@Z(~nGESbrhY zv{{em64AEXbP8|Tgm}w(vd-R43#F>XDvE}Ff2#9!DN;-H7)rg}GM{&ejwG#1?9H$2 zze&bFTsrDNXqj70$2!pzsce-*vSSv5#ZoebQlI1 z)<4V!KZ8kwL7MdsvB8&6&kd5i{2Kb(g9I;kQJeK=aBhE+4Vvf<_Q&xs`x9(%4eek* zgXlx!poXD77JSTR_4917j5l6bcomaPSok~#o*p z^pmlAp7lrA;M4e2LRT*#K3IL2^|Ng72+BC_=pvG0aFJKjXzThw@C&N?Db`Q1!9$2V zqVXu}C)wb9lYFSgZp_I#`oFa7%#()R@vYv z9}nd0cw+{;-sgQ?EJVacxS4K_HW%3o%K{T!bR-s=qZay-*`&o$V_cLeA1 z^K3AUp*og3FcugALN^A~0y<-3RX2joD=_w7K}98R+(@E`|2F6o@tH^F(Q{zje`H%& zq6Xv4VPYfz+K=oCC&l2rz#`+Unr?&v2k>0rSb+)EfGYcYpsUzJHSsNVXist)of z8_w-$LMPad;hfpGfqH57T@bDB0vUb?wE7JY6`~>t#S{j?$dk1&uysx#At^nWLCHmQ zuCo6Onv1U~$7I7W_4&ZWSu`d%@g)m!G2kD;2})21DIJCcT6?fn0{~?I3$PVO7GV6U z+NDG_gqXx33N*nPTLC3(!^4bSgu9|JVW-;_%*#N>EK9zKm~6BJsE0wO9EI zcc0jcTR(y$Q;FSRpV<)(bcFr=#4mz=!OA%Mpg$k4u#wMT2bxG!u!>LKOd3M{k6Av& zj-Vd+zwo)6DkUTyq3TAsPsjtI>fT9#B|Zxrn7JfCBkb>hbHiS`r6K(XaJa-K_2=Ip z?TxmLjoBjVrZ^CyE*y~5nDH4v0qL=5qLPyOu-L<-D4;J2gq1{k z1oQtIX;Hd0w8R%kTi~76JC5$}r@HQ$S)4BRcO@bg8HqMO;GOb-V*nzYbKFKS{;vyK zjEc93Er2AX35!ALW2^AfvjQIKS*}ZC4%PCxGqU&1kfXH3Atd>~FNQQ{4T^?CPut>T6%j{5AJXp zqf%TpEq5EDml+s@iIonw5VHFXw{b9uaWF2Cl{<^GkwYMVM8b*p8;YFZbjWemjM4$k z>UP08DQ;GOl|2te|0R83(KDE~I2vPHv4+WAg6_|+@0n|`SwQ6;fl3xQ>N5Ktpn<6T z5V-4m?DOmgfIp!nBh{@^Dw3QBX@rValYHAJV0xB~-?$+ zfMv2en6;wab4uN(aF!YK;?mC!(+^QvTVe7!dnbPtDyhOvfgOR7%0TTW$5(y&{pysb zB9s5KCr>}!S?=u|Mv>82L5-2 zv&e6o?D3#Qs6+zhr+)8-?oU~vt~?MTK%V3Lj7|IK;pD^z9Y?tci{ObDFWAv3S7_Tv>c@R5-=SB)bw1jkCs6=meK`+)Z0sg2qPX@{`-V>TyvXO#UWTjoCQcfg_f z4tP=DWo7motO`zz2Y<_As&K~(QNLF!AYoPuL#&Kb=aSWkS_EwxMs3ZA;jU}rcWNq# zjHaE`bUwrWHKq#DB}j4y^B}8fa%5s1VkB=t%*y~xmf^n_SdsYv{Z%kUuWA?xBLT#0 zH&%UynvD1!z{X{qQ#>Da`C}XM)4swTxx%49PV$1vLAv-P;m|u~n!`0`L?)nz=pG?? zY14FB3WQy9;RK^()|JJ|h(l?loLG)Y)$waw0&ck_z>0`y>Z9=lD=_wN;nYn*oR4dT z1zm_ua>Sf~y3FAy)mTcr3*?HP4VU8$EUh(lXyq zJDcJ;nGv37n|H+BK+=8=2mBMUy-4If9PPVZir>Ap*Z7JnaFoY6%?1UOIZO8L$G0fN zT;j4y2h;e0eoF2L^f=rPqv)bbGjY|d;K)eO+7h;sB9LgP>3~cF0#du zGP5CGxb+h%Ig=@OCB<+@RVTmBvcUx2Em>aKEIyWU(UydIqlY0bUEf53KWgf4fKS@$ zCv^)<9~Uh>ckd9LMG2 zi|<*y6`qq=e;L|ASY^J+47&W7EegP6Fr^Qxtis!sKN^BNXa3WXoQG2B{u@~gxkL*KG>@&=S*Sxa}rIfMF&{fEf@KG?T*fiVB-hlsJ2Up-Gcz~~qsSyfh z_&a~&{yB;q8%?I!Udh-(c=YDgN8Gl$j%mObIRr5!fY})@A5v9@7I$O>lG^CWg4oAB z7`Dom2%N%u$-X6J48@@s#c=8b4?cqlnn5m{bTF&`fZbB|FUP(jmYHNf>5s!t38hLR zrbX+fto$YeD49=VP|OcA1>3pF4>ZI6RA@Dk&A9LF@2V2 z5vTbpK?@Mff6_3G8e{r019psJ%hr%)N?8Lqpsf;+Fig{?DzUj|e;g;;C$Shhi3|M8 zT6z8yF2V0z82cAIkl_$Q9uGkcRkv|*|L?H!6!1aZ@8w10CuRKZfBfOBm z4JV#BAL_D>(+Iv7)WKflUxv%@e^c_|p0OSs*l>z$zkB*ER3!uqr07DVpCUCsZE*p9 zTx~XYfO^`)_b#6RTAXa!u`nm^2x&GchEcklQ#heU1Em04B==~H)q!cgj=4#S~P-_vFAs)Zi?7WE#`I?~wCuE#eMJe!ya(~KNn;wQoBE)6kxrQ+JSR7E3f$?q}0agjGu!wPYGS!*j%S#%Epzd_($|c!3)s{(L_Xp6zT0 zvi<-N$exGxgz^lzX?NJG^<*!GX6q*8EPbRNGQ`E7Izpqg$iv*3Rgtcntz&R=`5mQ@ z?wBwbR^C2yBIeu=;Ym$s{Y5P?O#BdkSP^;?Vgfg?cfW60RD}ss)Y5LFO<&n?+v-GA zhp(g5V-(tX9$utetQ237?8qEla*LN@wzy$SPWuikW>;b3mid!1f>_5RySR=iVl0N= zQtO%UnDfkS)C51sui2k*;`gtFO2uI>;ScU;G$UGH57ikA3wd4Ih}jKQ!-to%_VK=5 z%5(g;C7y9BZ(I85%Ibp*OD@FVBaoQ7lTbi_dMva+(&d?J<87DBwO{3FoKG7B-N-?h zW1Q5D5IVZfot0d2W=ouQGOqI91u@sU1LDL)I0d{jahYDR*kh6;p-UlVTDs5kbkk$( zkMU;*zHPt}`PP34)JpshrJY@a$mo%gy$0sCeCR_ihL2Rf88yO;Top*(JO<1ZIMaQ~b9OUZwk z4R$g1>uj(O9~(P7&C6_X0N;uhD93FaT^bP()OMjOC^wNql^$F%INqd+u{4tJ0)~Gnf+)S)jiUXYdpa5t1&rwzM-V&%& z)4!!ntCgz@Z_@0%>6ok$h=57n9WYt`+gi)U;gAbP5fT;fC%HUh=zt3Zw!X^m<&W_4 zdG?2FlP$c&SiAWxtQdDzGWX4plxV+Y7te_tCB$5Siqb>k4X|jmy{;(H0ilQ7H%H<>T{% zlU#z+nCT7o9^|(3B|}f6X3eu7p^e4`GVBJB<}2*)u%BUn1L*ZT>`&8z8_*wO_0J8l z5YX{!!=NzwIfQBR!2ZIAcwiRi{K`iJkq`N{8`Q#2{~HL&$RFHD@K(Bv1xn)vUyO6+z%Ub&lEZpd%sYuc%nFugH^T90u_ZJH?ColTiO8*zOsYNQ1P2HoN$(L;vpL&tLkB|N9X8 OJ@)%Jo<&(87y literal 0 HcmV?d00001 From 7b1effd1e7c0c70c0927b1467f9d63198d574876 Mon Sep 17 00:00:00 2001 From: DatOnePlayer <61370548+DatOnePlayer@users.noreply.github.com> Date: Tue, 26 May 2020 20:27:05 +0700 Subject: [PATCH 007/213] Delete Uranium_Processing_Assembly_Line --- maps/Uranium_Processing_Assembly_Line | Bin 13888 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 maps/Uranium_Processing_Assembly_Line diff --git a/maps/Uranium_Processing_Assembly_Line b/maps/Uranium_Processing_Assembly_Line deleted file mode 100644 index 84ef8bf8909f4c9cba4ba5eb64d518dc26fbe905..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13888 zcmV-GHowVuob7yRketVLSkJjTJ9`3H+{XYQKoHsiv9pV70a73VLKF{y;w^#{`0dQM zGb7B*H=1j?plAW0Vn-_5N}>`8QWZzBT@_ogBS%hDvXVHiB$c=-NtIK%DkY_oiYtjL zhs%}YPb#V8y*^%de_wyI3lbEm3P&Qg&)2VCzq@?8v z`YdsrjjnnFpI1ia7Z;BoKX#mDy3kZ%6Z0p|9A7+ja`DXK$@vp3-SS{i;kl02s`s0P zr#eB|?{@30YT==7*KaO2)(TJ5TRzKr{a!8Tu*pv~>b-Jp?U`D={cunRs6DUOW%s|n z+^;t(Ft7VC6naaiPadD6ri*?#Xmxv?e!1sYmgY~F-e4n5ug#a<^hl-N3p$0T5PQGd zgYj&v>bF(^ir?v`4qSP?-0-^HrDnZV=>w3pV=%RQO!gnU-0?5*;@pbYXap-OOUI9u z&hXFaxuD#GO?Q{(k71?bFTsDsa?ozW@NT)WG(Xp?b^LBEXjEX@snd%%?bI7{cYDc( z?^PTNo;-8n?ypr2yoO_~)2BXwwR-g)=Nrd*XFiC%Aq%>eo4>nDHT`l8_Eq*8#Z|Af z;=#(edc700_|m1tV`n(4*c3kb0qnS2?s#pnXzAGEiA5Y}EqdmSS6GHi8cWR|Uu5ZK zQ0cN?x^kdW_nJYgf|xH|Iq08QK7GP}W&T)c@yaU)=KR-seyieFiv3o-SM)kvzvUrG zul0*CA5b_x7bOBTpEx!@*YU1n@$_7$wsyT7blSy6P_2XHmO*cn@m%_yWzZS8lli#; zz-TnQqTd2&WfcEoCjsNtdZkxmsnYS|EL-#I)ml$fGM#?I@3QN!Hv+E`^m|KJUa$B3 z=8_az*iygMTbe(9{Eb)Ux@~W@)rAqgwYI-h@v2oW)?Nd2$WrOJ8eD=?;Uj>Qs|^^k z>{siprA3@y=0j=H;v28L!P2NZSz?~$D?X6F-tN_dR-$yd-zhY`daKZvx)RRVFRXgq zg179oDnZMy6xMtoWx=Zkg-YKq^nwD=x#Kteg5UC+YlV8N+wXvGE7$$*T%i@L7J4;* ztpHljTW-|5wSrgZHi0n;p3=PyTm#^=J3-Gc_i%i@12w-~5Bgm~rQ)}PZoM~G0QiIY zzy|<@MgU42{;mc6LfLE06#z*D1t1Dtplodw)-8ax=)yc`?D+Qr>V>A?DFZWf)?iYz zJy)n#Tfjj$pvfTsCd(e8hN$0*xYjFtjTKPh2)hM)hPnN&&)8$9Mj1QIvf}hu8ucK{ zHT|AfMKNKcRp9O#9573F0XR#e@?xV(t*{X(@L*<84%kSy-l&5uVPjzIx^mEXyXJNM z;)=K2sh3%vlemcDwZ?MYHVRQYsIbXpoB`Ug*#@qtfVo`jcs*Qthao9N4-co+lk=Tj z0+r2XSGltmRQ)E~X*O28&b6XOz?vY-?4VN+0bae?4O$Y5dxsBFTY6}t10QC4-2;Q= zZXGadv3>6TLB9c|w-a?O{Mw>dgF0(%@C&1)q@3Um$I?&ub{?sW7>iDUOTm0z*z4?vJA zk{J`p1(x#a9bi|l)4N(+g#R1m1*2Rt%JVFz%ExulXf5gDf-Vy11!I{7W0?hGnFV8+ z1-;C|Rim|}iwn9)pi9OwC1aVAu}sNWrlglCT{T)uy11Z=1bW_BX5Lt4-dJYdSY}=? zGk?`+E$QNdE-uRAaa@Ip3%Xd+#d%N~qNqzHDlJe+0h-q^=QYfE4Rc<@M66Xwx0R^0 zKqUpTq@kBI^pb{N($Gr;y>wN#m8i5pB?WRpLtoI)7c}$*4Sj*2FI?4aB`PgYNr7C{ z&=)oIMGbvXLtiB5i&u49iAoDpS_CtJE&UgwVMZ0~Bw~6v3jS=-!&+A~=gbHm0ObI%M zVEAg#Its?tg9z*z8>t07UdT1QYE!fc6FI8Du^hO7fq;_%I|}9$Ml^cxFL)L#RWJJh zunfu!tJ!j+zOvE<{|Z2L0YS7&qMYW?M{$@a!6ea>Q*BVJ^jp*lt5dPjGa(k+7%cL6 zqL}9YX1ldcf4R%1R?*lO!6yO}h`zv>ZeSAvLb(BsGg7=;^FTe1@jqgX30^KP2mM9` zMvQZ+sv0=HT|$GG^XOpx^E zRvP_!rCEOs>UrUEiOQt%w`4slC*`_6h_BZJ;CabH9IvriVAhVJxV#H>vD#uJ2+vTHXLk)7=xTL8Vw8^Z= z5o3}<*gvhys#kcYqF0w?Z@Pks7A>ehIJ>2p<F z1N4HZW%LXERvE)6HU)lBrRwXhNkJp3XMxQS*Qq)*bWo+rhHM9d7UZf5xLck2avyP; zK+HivSBq6pq-?T}`_uJ&6Vzgn?+hRs?p(XyY_mKBRS@Wi$~cBVP1Q95_*DA!9-9C* z6zK8lB(OzK>`Zhw>R$wYFDl$*6)19zP00%FeNyjT!d6@7)v zxTc5gEK{lDsF7u_2g|Op30aV1w}8Yh!;!`7rAsXE<(0Hy^XGysuT z(JRO-iiW@yfQA5SqlX%tTE;t|;p@O20k}x80dUrec=()@lNH#Rr|aWAuW$4QO}}dN zPJaPN*{FlDs@2<~1yn(WN9C$zs@m{SlTpLCkfm~*9#ilBYF^)}!1&TzkB zp|@Gcqi{-lZ|zEmam5F5>GazOb2c&${RW%9Mq*{TfgbCDVZBm9?QLSWax{0u^@Pc0 zbd}?~DvqU!pl3UN&!(8!Q(PX>SGG^W>f`xBc5rw;M$(ZpVlg-U-ya)oae)LD1+y)C5So(taTKt4@Tz*!Ql*Wc>Vkx5*ATdJKl* zZupV)$4HgqLVTr;6zhXZyT^q%XkG~MUh~O#y3V9qUISN-hPaRhzp3pTR@}uy5KAwE zy3&Ty1!#cI_iK8L3sAq^T?2o`kYaTMgo#wIX?mBT9%Y1PsGTRAQE>KIf>Rmr+oPi4 z=WTOImRD)U2&*(|dt9B`;d5sEd6vf3pQ@|kgHzviYY(t%-Wu%PR#2)JX;NJ?UHpCP z3}gF;41g2z8x=SHz?uNwxpPp_J>kSVkyPQ0xL-m}aw2JlJx(M=CPhU$2Zjz27RkAe z7{lqx4#yAZ)f+zLc=iq-$L@{qx8vx8>kQ-(_&w_k5+^+bC$3|hrzo;SPELb}N9boK zVB_?hdl1o^7EIv5Jya~V7hn!?qqYjZ*EMv> z=d9j#+k?;uV_=@n<&h*BM5PnATBE@JQLd#yKgP`xT8hyWU-Cyo67kL~Pf@^y! zJZfF(cUm4AI?H1QRtSnlSZT35`qRZwu(l^WK-C5LBlE*49j8NYWcRj&`*|*8N4QmI z>~@8^x~7yz{X|1~$2gH9X}l%e$Q<>n+RxW zG9EN@wG*0z?S`;#k94X$ekAS_C|Go|><7P!*cR@Vb^8Q?r06}$U0F7qlF(7XwP5qC zsmx?s0*9G`u*$Sfufwk`sBf>`M=rc_6%WMpo8Hdhm@(n|gd=g|cs9yRX&;8wMbwlVio;Eaew_<90{!Zx7eHk>EqqeK9$e$L+oJm+H8c|ZdDQO zIw+31AM)x&cN2oPki`%JiU%%))Z(!oPa8Y6M9*)w{jQOJjCl#;mCJo7g4D+Jw}VC_ zV25LR!I|jP`#J?0^UMbZ`Fc>y>z!pELht}sy4!EUJ^-g9G0%KzUeJ9A+!d`nW3b1| z=Agwsv4O`&bh&rm#@-hBorg9)^kH_-@S$?;81hv*UOAw>7Tkk;uhXlExIcz&;PqC( z?F1kM>rmWCo}^sw#L$FwVSvuUA6;)?(<|4&G-2Euvss=?Sr5T#!vmG95j@}?hG`WV z6GN4n4|*1`Gq^Zr9vKqy-Lm!_%5tsg_ZZXece1p{wA zEPKW4zOi%+bpS!|#n#^qrlY_I05?@*Sd1Gg?ghiwNHJ`W&u2m6%3iAl8Y^xyVh~xx z^&3BYKPqM{oR*P=4S`9CLCelIp@SUqo?v{=Hb`{j4AKKHQ zA+I=%gz{l$LK&=7(X-5y``st^7VFh|%ekC-_h~HW%Ins^&Fngp#0_uYIn%4nB3`f! z&A=+HQWW8*>s_jTOY7>aH}uVeb9P5QUUiWMJJmZ>S3WkP)0~$B-g0N1G&8uK!K(Jb zT|;0a?zw_VJN+_*BEFLb;&wtZlq>Ztw@5+cX8hs-@{j4=P4mW;hIdVI?iSwCZLeW4 zNPeD}3@YH7p~3HSKjKx-S71Jg*-7_MaNJ=?%f~M^Ip-BOFi(u9xlKyZeYB8 zvSO@quX`4Z2)$6*x6VLTh#jCn>>oBlY$E0@bto>12Sj&-M`DM_kZl!wty%yK84rwx z9C8m4FT0EQ9UPtxjiF_f=v(NDgI|a)gXo~nqE^3wZ#@9C?AaCm=1kG^d2#_CknD?e z8eS~F%ZUu&`oCyCh}s<)gRd=A^n1|J+rqE&ndW5A&_V2;NVoN@P^J1Kqe4DZloWCR z?lg)5yOd3nCha{gGkhsHh?LMTe-TZ{bI6(H+rHk@$$hB10Q~c2|ra>Ug%7 zWSiNT*8mg1bsrnk?`znodRxQB^t&3C;}3H1f{%@x&uiGY`Lu@Rjb}A>kZ#=JI~Bco z&*-#g#vP**fO)@Yr>)FXV(7_X_!E2#L|BH4C?Fu; zudxvs?z6n%v$8SG4=gK^jV!|-(Xml=)GUpWF3SqWa3#@bk;5Cy_OVUTB%YnTi)K&R zOeA$~UlTa5u|oMdkrFia@5uTY6mh=f=r?Ez@GQvJzam!%0wb5#Y(xXPg+a4?u z-HtbED(rT>QIi7Un4|>3k<%4IV{sZ!zsBWb9+uh6*u<+$ow8j+Ql@d8JRum@>3da- zMApf~#myE^nf44#yTt*od8qV|wmakVadAlrorjAXQE!3QS>@svGeT$R;xfXGpxlT3 z#cY6ba&gl|E-vm&RXiGpp3beY{p)7S;&O{-mMm@`lpTx1ROP$k@G$aRaVgkPek+b* zB4riF5SWRI!}0oc58|TEwKyEH->+AK27dK5en`F9jw2;@cltu~j`8-4ikfjV1z<_qEQOJLzghCL_nII#Q?` zmxH|^oXxAxLty2{CX_Go#DpNyRUl=YSNg~o@ibn$dI5i)AP(50;E@EYpjodzDt6h6RW4Gqlz74)bS2=WNF3@d&UxLCbPVBRJ2*+4$-(HRN6~3l2qDe zplbnGppF8SMvQ$Z03%e|1OI%Mm+}N^J63<$u5KbI_flz|pfD;Ox2IL9BZs8~mc|Ic z0UEpwtG{AbU!ZZ5vLr#J2~-JZjN^>0Slv%E&ePxwl{PyLd6Jgo0Jc)c2`cR*0EsYA zHRPBLrRREfP=4?&-l!Nw~F-PghHro_`hz6(ZO($%YPf_VG;le@vC4#(3Fqaxva==Sb=>m;Q z61+`9R#nF~$0;P^&M09cd4aH+!Ri+3*k_A)3QK3GZ3|7C#_DAUOC=p`muU-nT1qgw z8ghvsPhs^b2icz`C{tpF!s=ODCvqs0V&|%3);MWRSXDYiYdl76n+Vi|tsXAY;46d> zAMz;&Q-6}Cr5)?e(i-Df9XF0vpN9gPb`Vx?=4k?z$LgXjzX_oav>H)}=Y_CGMdPG{ zv-i>(V>Tf)uhnQs&KAV1E&FLK%~9_enl>sHirSe3?St8}&ySXOXq$47O83~1&pG&1 zlYN;6k6?Amur8LC4{dtfakQUx&~JpmXYK7zIj~Lmj&v3ZO>4 zWA?N&LpP`yE}&^?p?5=vV(Cu3!6}2E6@ZjYx(O<6AF9nx!ar}TURlx$O%wQJoQ~C2 zNE_S|fztXy zz2t&J$EJ)W)wD$$JhQ6TIDDrJpFts>q0%(xhsnraUdt+WQwZt{r3UDYK`1Kj>?UV6p$uW~juw9?n!Va6e* zNryhzZBo)aEe_=}F~7E)+Nm6;(lpIDNKnX8dY8!buHK(h}gcG709 zvj{mU4nS#@tp>3zI&Y8i zZ|j}k>md7f+9gk#Y_%b0sWio;0a8{7N-1({w>W68_mL!4(RALY=DtH3M3nXm*H7(o z%Hh^#3`q%SNx9#*`F_)ies3#{PL6}Mb7n7oK={Sc#dj#eik)l1rbsts4c>@Kqdw`J zb>{CRZ47jnJ0`-6mdrwo8Oq#raNkZ?Sc#oGw5Zd0(%GX45i_aPwiySnz%#Y!x1~as z9iqhdahdjUNJNkdo;Kin)r_}o0B=hufn*gOa7+@qb0iRlMChwzFlSg(Efp5{Bryny z^KGT!4DJ06ak1Ekwm8~qFp)4&8c7S-0m0}NaS|jXT6b!NqTQ5`XU=CFB?d_vYrHJe zi<@k2+Nr=BN}6n$V!|j3Bpf9(S$zc;xAu#U&AVDjYd65wz_(2c5fzC0iP$>aoWj-8 zBAcRCn~Hb}V##-Hc!p6*GE?u0AtC%O7|eAA6^h#6w4&s@A-$^+pK+Kw4OwSh^tc?Z zF+$s#76N7jA#yd_cHh>Nl&e{xRtN)qWE$sFxb7(JZHh_FAe=Ercq3RPDe#NG6aA&=W@OwqUmK~6Z@b`azu5GdrUMd5R!U5|pGU zDUnQx8H!d_o5Ue^CWDZtYz7JWVS1O$#`!^lqHmXU*q3xb;ro~-3QaOgcV=nan?~4o z1-V4cm=JAITr_?oMw{ZM`w8AfT7yI0Ogo=Y46J&innoLDodH@h#$7=*XTjU-;F6<8 zpcv)Yea!R|Z%dth1sAs<&l2Qk4dFDE;BDE)GeuWWOqKTG0JhS$o-pG^b~_`Md__77SP;&`7&@2MjArj(>oHH!y zx+EMxnewl~CSN+0FH6zbMb0P3Zxew^Qb~)wK7~cXG{K@udRq8|S5UcG;Kyz78Jn+k ziRZ|&2D<9F#~eU0{&;7ENWuqyo+E4kb-cGK4Nk&pSyQUEQWF&ZCA#QsDE# z;;wS)00!xhGB?#VD8)xl-K1_2{0v9!7 z)}B#zczAonwqR~%=-i*BaY-9LS1Cbas-cV#6pm?{PG*!0pI)tHM3tIqEkRDP%Pg(2 z#a?67kVaK{)!+>Ug^4_?g0h*ySBYsLcEs>J-cE`RYp_Q5GX#E@;eEAGeM!0)C8qdA zw51$CIR^ULL_3gL==M2K8+D+jC2B?JQ-wjsD8*oK({S_TTw_|+o~9Z7ImhAYG-*Ou z9K~ic_L4fN(T^nb&B{TV%h%mx&(-Pjiw=V29dk1@ml*<~O4pdWD$|&zNQeD`4NrPJ z$_M@hd+sFlPTS(AFDN!SFxYD_zu`|NGg=_@8r-?tY@fMy5ue0qNt%|ol{BBG9jZqu z9HLhDVtv2N$AcYkj-~^ zCY_C|qm+=Sri7O#3UQ!&g)!6u8lB#gS{q2wt+yj`5a z%W|5$&uijAahCr%c@y`N5hN+_i~uAF-l*72)VwDN`wRkQ>=%)De=Z`^Ib)%yW=K2u zZ>o6oHx{GKD~)M+D=(Mr{gc zhJflje|@2lGN{J+PkCu6!#EfVA(wm=|M@fc&)2ESJFIo}%Mk7;?V(&+nl|Hx{B;5! z1G$X=c9T!I9=vri{j9;K(KFW^o2S({UADeA?6r>gf(XE-(Q3~; zFVwoqF63=%$gbO1sPHm8jbzVRxVWw@RFiUv`eQlCcDmTL%XrvsHoV1bTrKYg3 zDyI+vKWWPmZ`1FK(Th~Rib|bok7t6`(0;^j#|BHn^H7n02!nfUOee_@gvRMLo;0jW zbjAqHXwo?S1TW_pr>UzAv-aFh*>m$Y4fJ!iBer7`TH}_XJC(!i8uv2}9h-DO));6l z|2aF*j$Pv!hhKM+W{lHG>u^Ndh2suk(l4A355@Em8u$26T4~XJEN&kh-k&2VV{|ea z$|oH-?~9wk;ps$$&X67@3|uoXFcCR2Jy+}d+|V;0B}_+HG%=_jfIM&GtmlqNCBtr~ z#F?uZhivR)_p38}DOz{V;HK!#<+^6(#6X;Gf<@beF)peeTrPx**m|o;+Nxex2MAj8 zU$y;H4JB`rSVM8$R`m=;7A4}S%>qe#m!EeC$&U4*By5YL>9XROo0Aa>qT7mG(CW*k zuR7SrH8<^`fyVwzaZqpzw`F$0VyUlf4CnBY`gk6ow#OXWB1Z@6LVSs!EIE!MVZ+m? zp$Bj~MVrx@^^?SU+8bW5639bkwHv zgvIS)_C8PhxHxQ@ScqP&-42QFtgY9~VBR{Jdkt1r>t2YPk)y3D=P9B_wo_>v5m6@_ z_7gcnr#enFNQk*AyP(~&2kp6`eT+JGu49P#xVhs(LFub*wXXJz9=CZ?Lz%Fl=*Iwz z>1Ry(rD7o8&|hKdOKVaYSwJW0km=6GxJ5CoK_FvEeaWDo1?+PG&DlWB=eO!D3A!3@ zk&X~ID=*+Qos65Z@zYO6Hifru3cI?b3C!nWxP`Zp3WK*uCyK$EY4jQ;2QGSBn=N5- zzB(|U=2&Rh?`htmOK)|L6J_s{giGG0%Y>rF?a&pNemJISkWe(>)wi@Z(~nGESbrhY zv{{em64AEXbP8|Tgm}w(vd-R43#F>XDvE}Ff2#9!DN;-H7)rg}GM{&ejwG#1?9H$2 zze&bFTsrDNXqj70$2!pzsce-*vSSv5#ZoebQlI1 z)<4V!KZ8kwL7MdsvB8&6&kd5i{2Kb(g9I;kQJeK=aBhE+4Vvf<_Q&xs`x9(%4eek* zgXlx!poXD77JSTR_4917j5l6bcomaPSok~#o*p z^pmlAp7lrA;M4e2LRT*#K3IL2^|Ng72+BC_=pvG0aFJKjXzThw@C&N?Db`Q1!9$2V zqVXu}C)wb9lYFSgZp_I#`oFa7%#()R@vYv z9}nd0cw+{;-sgQ?EJVacxS4K_HW%3o%K{T!bR-s=qZay-*`&o$V_cLeA1 z^K3AUp*og3FcugALN^A~0y<-3RX2joD=_w7K}98R+(@E`|2F6o@tH^F(Q{zje`H%& zq6Xv4VPYfz+K=oCC&l2rz#`+Unr?&v2k>0rSb+)EfGYcYpsUzJHSsNVXist)of z8_w-$LMPad;hfpGfqH57T@bDB0vUb?wE7JY6`~>t#S{j?$dk1&uysx#At^nWLCHmQ zuCo6Onv1U~$7I7W_4&ZWSu`d%@g)m!G2kD;2})21DIJCcT6?fn0{~?I3$PVO7GV6U z+NDG_gqXx33N*nPTLC3(!^4bSgu9|JVW-;_%*#N>EK9zKm~6BJsE0wO9EI zcc0jcTR(y$Q;FSRpV<)(bcFr=#4mz=!OA%Mpg$k4u#wMT2bxG!u!>LKOd3M{k6Av& zj-Vd+zwo)6DkUTyq3TAsPsjtI>fT9#B|Zxrn7JfCBkb>hbHiS`r6K(XaJa-K_2=Ip z?TxmLjoBjVrZ^CyE*y~5nDH4v0qL=5qLPyOu-L<-D4;J2gq1{k z1oQtIX;Hd0w8R%kTi~76JC5$}r@HQ$S)4BRcO@bg8HqMO;GOb-V*nzYbKFKS{;vyK zjEc93Er2AX35!ALW2^AfvjQIKS*}ZC4%PCxGqU&1kfXH3Atd>~FNQQ{4T^?CPut>T6%j{5AJXp zqf%TpEq5EDml+s@iIonw5VHFXw{b9uaWF2Cl{<^GkwYMVM8b*p8;YFZbjWemjM4$k z>UP08DQ;GOl|2te|0R83(KDE~I2vPHv4+WAg6_|+@0n|`SwQ6;fl3xQ>N5Ktpn<6T z5V-4m?DOmgfIp!nBh{@^Dw3QBX@rValYHAJV0xB~-?$+ zfMv2en6;wab4uN(aF!YK;?mC!(+^QvTVe7!dnbPtDyhOvfgOR7%0TTW$5(y&{pysb zB9s5KCr>}!S?=u|Mv>82L5-2 zv&e6o?D3#Qs6+zhr+)8-?oU~vt~?MTK%V3Lj7|IK;pD^z9Y?tci{ObDFWAv3S7_Tv>c@R5-=SB)bw1jkCs6=meK`+)Z0sg2qPX@{`-V>TyvXO#UWTjoCQcfg_f z4tP=DWo7motO`zz2Y<_As&K~(QNLF!AYoPuL#&Kb=aSWkS_EwxMs3ZA;jU}rcWNq# zjHaE`bUwrWHKq#DB}j4y^B}8fa%5s1VkB=t%*y~xmf^n_SdsYv{Z%kUuWA?xBLT#0 zH&%UynvD1!z{X{qQ#>Da`C}XM)4swTxx%49PV$1vLAv-P;m|u~n!`0`L?)nz=pG?? zY14FB3WQy9;RK^()|JJ|h(l?loLG)Y)$waw0&ck_z>0`y>Z9=lD=_wN;nYn*oR4dT z1zm_ua>Sf~y3FAy)mTcr3*?HP4VU8$EUh(lXyq zJDcJ;nGv37n|H+BK+=8=2mBMUy-4If9PPVZir>Ap*Z7JnaFoY6%?1UOIZO8L$G0fN zT;j4y2h;e0eoF2L^f=rPqv)bbGjY|d;K)eO+7h;sB9LgP>3~cF0#du zGP5CGxb+h%Ig=@OCB<+@RVTmBvcUx2Em>aKEIyWU(UydIqlY0bUEf53KWgf4fKS@$ zCv^)<9~Uh>ckd9LMG2 zi|<*y6`qq=e;L|ASY^J+47&W7EegP6Fr^Qxtis!sKN^BNXa3WXoQG2B{u@~gxkL*KG>@&=S*Sxa}rIfMF&{fEf@KG?T*fiVB-hlsJ2Up-Gcz~~qsSyfh z_&a~&{yB;q8%?I!Udh-(c=YDgN8Gl$j%mObIRr5!fY})@A5v9@7I$O>lG^CWg4oAB z7`Dom2%N%u$-X6J48@@s#c=8b4?cqlnn5m{bTF&`fZbB|FUP(jmYHNf>5s!t38hLR zrbX+fto$YeD49=VP|OcA1>3pF4>ZI6RA@Dk&A9LF@2V2 z5vTbpK?@Mff6_3G8e{r019psJ%hr%)N?8Lqpsf;+Fig{?DzUj|e;g;;C$Shhi3|M8 zT6z8yF2V0z82cAIkl_$Q9uGkcRkv|*|L?H!6!1aZ@8w10CuRKZfBfOBm z4JV#BAL_D>(+Iv7)WKflUxv%@e^c_|p0OSs*l>z$zkB*ER3!uqr07DVpCUCsZE*p9 zTx~XYfO^`)_b#6RTAXa!u`nm^2x&GchEcklQ#heU1Em04B==~H)q!cgj=4#S~P-_vFAs)Zi?7WE#`I?~wCuE#eMJe!ya(~KNn;wQoBE)6kxrQ+JSR7E3f$?q}0agjGu!wPYGS!*j%S#%Epzd_($|c!3)s{(L_Xp6zT0 zvi<-N$exGxgz^lzX?NJG^<*!GX6q*8EPbRNGQ`E7Izpqg$iv*3Rgtcntz&R=`5mQ@ z?wBwbR^C2yBIeu=;Ym$s{Y5P?O#BdkSP^;?Vgfg?cfW60RD}ss)Y5LFO<&n?+v-GA zhp(g5V-(tX9$utetQ237?8qEla*LN@wzy$SPWuikW>;b3mid!1f>_5RySR=iVl0N= zQtO%UnDfkS)C51sui2k*;`gtFO2uI>;ScU;G$UGH57ikA3wd4Ih}jKQ!-to%_VK=5 z%5(g;C7y9BZ(I85%Ibp*OD@FVBaoQ7lTbi_dMva+(&d?J<87DBwO{3FoKG7B-N-?h zW1Q5D5IVZfot0d2W=ouQGOqI91u@sU1LDL)I0d{jahYDR*kh6;p-UlVTDs5kbkk$( zkMU;*zHPt}`PP34)JpshrJY@a$mo%gy$0sCeCR_ihL2Rf88yO;Top*(JO<1ZIMaQ~b9OUZwk z4R$g1>uj(O9~(P7&C6_X0N;uhD93FaT^bP()OMjOC^wNql^$F%INqd+u{4tJ0)~Gnf+)S)jiUXYdpa5t1&rwzM-V&%& z)4!!ntCgz@Z_@0%>6ok$h=57n9WYt`+gi)U;gAbP5fT;fC%HUh=zt3Zw!X^m<&W_4 zdG?2FlP$c&SiAWxtQdDzGWX4plxV+Y7te_tCB$5Siqb>k4X|jmy{;(H0ilQ7H%H<>T{% zlU#z+nCT7o9^|(3B|}f6X3eu7p^e4`GVBJB<}2*)u%BUn1L*ZT>`&8z8_*wO_0J8l z5YX{!!=NzwIfQBR!2ZIAcwiRi{K`iJkq`N{8`Q#2{~HL&$RFHD@K(Bv1xn)vUyO6+z%Ub&lEZpd%sYuc%nFugH^T90u_ZJH?ColTiO8*zOsYNQ1P2HoN$(L;vpL&tLkB|N9X8 OJ@)%Jo<&(87y From 1a4b2a062da3951ce44319e5688065d5401348b1 Mon Sep 17 00:00:00 2001 From: DatOnePlayer <61370548+DatOnePlayer@users.noreply.github.com> Date: Tue, 26 May 2020 20:29:08 +0700 Subject: [PATCH 008/213] Add files via upload --- maps/Uranium_Processing_Assembly_Line.msav | Bin 0 -> 13888 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 maps/Uranium_Processing_Assembly_Line.msav diff --git a/maps/Uranium_Processing_Assembly_Line.msav b/maps/Uranium_Processing_Assembly_Line.msav new file mode 100644 index 0000000000000000000000000000000000000000..84ef8bf8909f4c9cba4ba5eb64d518dc26fbe905 GIT binary patch literal 13888 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 OJ@)%Jo<&(87y literal 0 HcmV?d00001 From f94dcf1629c46c6ca28560ba55f6a5774d1a1e88 Mon Sep 17 00:00:00 2001 From: GlennFolker Date: Thu, 28 May 2020 13:32:49 +0700 Subject: [PATCH 009/213] Storm Addition --- content/blocks/turrets/storm.json | 13 +++ scripts/blocks/turret/storm.js | 156 +++++++++++++++++++++++++++ scripts/blocks/turret/turrets.js | 17 +-- scripts/effectlib.js | 9 ++ sprites/blocks/turrets/storm-top.png | Bin 0 -> 299 bytes sprites/blocks/turrets/storm.png | Bin 0 -> 1509 bytes 6 files changed, 188 insertions(+), 7 deletions(-) create mode 100644 content/blocks/turrets/storm.json create mode 100644 scripts/blocks/turret/storm.js create mode 100644 sprites/blocks/turrets/storm-top.png create mode 100644 sprites/blocks/turrets/storm.png diff --git a/content/blocks/turrets/storm.json b/content/blocks/turrets/storm.json new file mode 100644 index 00000000..cb872a1f --- /dev/null +++ b/content/blocks/turrets/storm.json @@ -0,0 +1,13 @@ +health: 1260 +size: 3 +reload: 60 +chargeTime: 40 +range: 240 +powerUse: 3 +shootSound: laser +requirements: [ + copper/1 +] +heatColor: turretHeat +category: turret +research: incandescence \ No newline at end of file diff --git a/scripts/blocks/turret/storm.js b/scripts/blocks/turret/storm.js new file mode 100644 index 00000000..4e0dba45 --- /dev/null +++ b/scripts/blocks/turret/storm.js @@ -0,0 +1,156 @@ +const elib = require("mechanical-warfare/effectlib"); +const plib = require("mechanical-warfare/plib"); + +const cloud = extend(BasicBulletType, { + draw(b){ + elib.fillPolygon(b.x, b.y, Pal.lancerLaser, 1, 5, 6, b.rot()); + if(b.timer.get(0, 2)){ + Effects.effect(this.trailEffect, b.x, b.y, b.rot()); + } + } +}); +cloud.damage = 80; +cloud.splashDamage = 40; +cloud.splashDamageRadius = 8; +cloud.speed = 6; +cloud.lifetime = 40; +cloud.shootEffect = newEffect(18, e => { + Draw.color(Pal.lancerLaser); + for(var i = 0; i < 2; i++){ + var j = Mathf.signs[i]; + Drawf.tri(e.x, e.y, 3 * e.fout(), 20, e.rotation + 90 * j); + } + elib.fillCircleWCol(e.x, e.y, 0.2 + e.fout() * 7.8); + Draw.color(); +}); +cloud.smokeEffect = newEffect(24, e => { + var alpha = 0.2 + e.fout() * 0.8; + var radius = 0.2 + e.fout() * 3.8; + var distance = e.fin() * 12; + var length = e.fout() * 2; + elib.splashCircles(e.x, e.y, Color.gray, alpha, radius, distance, length, 10, e.id); +}); +cloud.trailEffect = newEffect(10, e => { + var alpha = e.fout(); + var size = 0.2 + e.fout() * 5.8; + elib.fillPolygon(e.x, e.y, Pal.lancerLaser, alpha, 5, size, e.rotation); +}); +cloud.hitEffect = Fx.hitLancer; +cloud.despawnEffect = cloud.hitEffect; + +const storm = extendContent(ChargeTurret, "storm", { + load(){ + this.super$load(); + this.region = Core.atlas.find(this.name); + //this.topRegion = Core.atlas.find(this.name + "-top"); + }, + generateIcons: function(){ + return [ + Core.atlas.find("block-3"), + Core.atlas.find(this.name) + //Core.atlas.find(this.name + "-top") + ] + }, + draw(tile){ + Draw.rect(this.baseRegion, tile.drawx(), tile.drawy()); + Draw.color(); + }, + shoot(tile, ammo){ + var entity = tile.ent(); + this.useAmmo(tile); + this.tr2.trns(entity.rotation - 90, 0, this.barrelOffset); + Effects.effect(this.chargeBeginEffect, tile.drawx() + this.tr2.x, tile.drawy() + this.tr2.y, entity.rotation); + Effects.effect(this.chargeEffect, tile.drawx() + this.tr2.x, tile.drawy() + this.tr2.y, entity.rotation); + entity.shooting = true; + Time.run(this.chargeTime, run(() => { + if(!this.isTurret(tile)) return; + this.tr2.trns(entity.rotation, 0, this.barrelOffset); + entity.recoil = this.recoil; + entity.heat = 1; + this.bullet(tile, ammo, entity.rotation + Mathf.range(this.inaccuracy)); + this.effects(tile); + entity.shooting = false; + })); + }, + update(tile){ + this.super$update(tile); + var entity = tile.ent(); + if(entity.shooting){ + var c = entity.getChargeTime(); + entity.setChargeTime(c < this.chargeTime ? c + 1 : this.chargeTime); + }else{ + entity.setChargeTime(0); + } + }, + drawLayer(tile){ + /*this.super$drawLayer(tile); + var entity = tile.ent(); + this.tr3.trns(entity.rotation, this.innerChargeOffset + entity.recoil); + var progress = entity.getChargeTime() / this.chargeTime; + var alpha = Mathf.clamp(progress * 3); + Draw.color(Color.black, Pal.lancerLaser, alpha); + Draw.blend(Blending.additive); + elib.fillCircleWCol(tile.drawx() - this.tr3.x, tile.drawy() - this.tr3.y, 2.2); + Lines.stroke(2); + Lines.lineAngle(tile.drawx() - this.tr3.x, tile.drawy() - this.tr3.y, entity.rotation, progress * this.lineLength); + Lines.stroke(1); + Draw.blend(); + Draw.color(); + Draw.rect(Core.atlas.find(this.name + "-top"), tile.drawx() - this.tr3.x * Draw.scl, tile.drawy() - this.tr3.y * Draw.scl, entity.rotation - 90); + print(progress);*/ + + this.super$drawLayer(tile); + var entity = tile.ent(); + this.tr3.trns(entity.rotation, this.innerChargeOffset + entity.recoil); + var progress = entity.getChargeTime() / this.chargeTime; + Draw.color(Pal.lancerLaser); + Draw.blend(Blending.additive); + elib.fillCircleWCol(tile.drawx() - this.tr3.x, tile.drawy() - this.tr3.y, progress * 2.2); + Lines.stroke(progress * 2); + Lines.lineAngle(tile.drawx() - this.tr3.x, tile.drawy() - this.tr3.y, entity.rotation, this.lineLength); + Lines.stroke(1); + Draw.blend(); + Draw.color(); + Draw.rect(Core.atlas.find(this.name + "-top"), + tile.drawx() - Angles.trnsx(entity.rotation, entity.recoil, 0), + tile.drawy() - Angles.trnsy(entity.rotation, entity.recoil, 0), + entity.rotation - 90 + ); + } +}); +storm.tr2 = new Vec2(); +storm.tr3 = new Vec2(); +storm.shootType = cloud; +storm.chargeEffect = newEffect(40, e => { + /*var thickness = e.fin() * 2; + var distance = e.fout() * 16; + var length = e.fslope() * 4; + elib.splashLines(e.x, e.y, Pal.lancerLaser, thickness, length, 5, e.id);*/ + var alpha = e.fin(); + var size = e.fin() * 4; + var angle = []; + var dist = []; + for(var i = 0; i < 5; i++){ + angle[i] = (Time.time() + (i * 72)) % 360; + dist[i] = 4 + e.fout() * 16; + elib.fillPolygon(e.x + Angles.trnsx(angle[i], dist[i]), e.y + Angles.trnsy(angle[i], dist[i]), Pal.lancerLaser, alpha, 5, size, angle[i]); + } +}); +storm.chargeBeginEffect = newEffect(50, e => { + elib.fillCircle(e.x, e.y, Pal.lancerLaser, 1, e.fin() * 4); +}); +storm.barrelOffset = 48 / Vars.tilesize; +storm.innerChargeOffset = 46 / Vars.tilesize; +storm.lineLength = 52 / Vars.tilesize; +storm.entityType = prov(() => { + const entity = extendContent(ChargeTurret.LaserTurretEntity, storm, { + getChargeTime: function(){ + return this._chargeTime; + }, + setChargeTime: function(val){ + this._chargeTime = val; + } + }); + entity.setChargeTime(0.0); + return entity; +}); diff --git a/scripts/blocks/turret/turrets.js b/scripts/blocks/turret/turrets.js index a249366f..95c4515f 100644 --- a/scripts/blocks/turret/turrets.js +++ b/scripts/blocks/turret/turrets.js @@ -2,22 +2,25 @@ const aegis = extendContent(ItemTurret, "aegis", {}); // Ghost -require("blocks/turret/ghost") +require("mechanical-warfare/blocks/turret/ghost") // Incandescence -require("blocks/turret/incandescence") +require("mechanical-warfare/blocks/turret/incandescence") + +// Storm +require("mechanical-warfare/blocks/turret/storm") // Nighthawk -require("blocks/turret/nighthawk") +require("mechanical-warfare/blocks/turret/nighthawk") //Voltmeter -require("blocks/turret/voltmeter") +require("mechanical-warfare/blocks/turret/voltmeter") // Blow -require("blocks/turret/blow") +require("mechanical-warfare/blocks/turret/blow") // Quake -require("blocks/turret/quake") +require("mechanical-warfare/blocks/turret/quake") // Seism -require("blocks/turret/seism") +require("mechanical-warfare/blocks/turret/seism") diff --git a/scripts/effectlib.js b/scripts/effectlib.js index b389c6af..3c35ea27 100644 --- a/scripts/effectlib.js +++ b/scripts/effectlib.js @@ -22,6 +22,15 @@ module.exports = { fillCircleWCol(x, y, radius){ Fill.circle(x, y, radius); }, + fillPolygon(x, y, col, alpha, sides, size, rot){ + Draw.color(col); + Draw.alpha(alpha); + Fill.poly(x, y, sides, size, rot); + Draw.color(); + }, + fillPolygonWCol(x, y, sides, size, rot){ + Fill.poly(x, y, sides, size, rot); + }, splashLines(x, y, col, thickness, distance, length, count, seed){ Draw.color(col); Lines.stroke(thickness); diff --git a/sprites/blocks/turrets/storm-top.png b/sprites/blocks/turrets/storm-top.png new file mode 100644 index 0000000000000000000000000000000000000000..aded82395e4e0a4782a10c06dc2bb4d7a06bd278 GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=fpj7WGlptU*b8JF@N{tusfc@f!;r7ZK%(v8qtH2D)vT(;)80K= z!+u4;JBg#v_-XU=NR90KE#H;{HK2kI`O{y&z54y{>V0ljSJLMcetx}4#l3^)!``2h zuW%GHPBW{YB%%0Cc#G&o#(DkK<~+{f@ybWpB+U2gc~`Y)L|Zd6+*rTk_TfJQcJup6 zzfLSuHtH}{b4X@lVEDb|)xxLO=bt}WBM`mm*~2rYTMQYcgcpDaxD&Q5n_~WYhpKDN RW4V7IK~Gmdmvv4FO#mWPXfyx- literal 0 HcmV?d00001 diff --git a/sprites/blocks/turrets/storm.png b/sprites/blocks/turrets/storm.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5db27b03dfb8020a622f3beb951f1e3a20140b GIT binary patch literal 1509 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGUVE_OCVF6Vuki7r^1$s$DK~#8N?VZ1m z95ocjcWKffAyHH0goJ4L(MMEN6kIAKDCnpVEs>(T@=i$5Q_-ae5><|ZiVD&5qoF~^ zUw{;eCe@;EGB0r)``PdL*?yy)k7V7fv^%r={fzCg$Gf*b91goRv)}KRt#$I!@^@nr zn}Eq|0w%Kx0q5uE2bASukq=KlKA0#$NN_EnC49oW1h)b#!Y4dSa4F#Q z_9y0not>Szl;BQ4kMIeP5?l%B89w1nf*S!N!Y4dQa3Nr1_=Fb;(*?{3pYR~TT_=2O zYyu{;37E_#U@|TRy#3be%a$E~{Q38?*sx-wjVX1$L_ zf+T!mhJ>L4O1B@m_E{o<3qRG&g^a#UIjj$$@Z$jD(BJ#$yWPXTzFHoYk#wrBz468F z)f+!8kDd^}p5EW60osrnAieSa%A0qWEgpndI-?1MFJV+o5DP#XE@{WLs~$=c!ZWud zK^i_Gk%0a~(}#!zXgbgqauQO_PELY0d@WK5)dEI`PsCxT!Y5)0wat??5(!lTdWIi| zbp88p%hodxI+YUGAC;JscivsLo=~$tEwvJg0<>+ogc=F0j0~Ts=|flnJ;Kj@aE%1K zrY6YR@Kd#>m6C+4fSzZ*g@o|AoP?R-6P$#k0L$>N9^6k3Xll;f9I3FZ_XjKoV>t;g z2QxHT`4e%^s4dH_-0bCPdEg^?Q0{4DX^a#K9{Z`k2wMbY~_}~QrTqqtS zSTZ{N)bWxv;20!$2p_0A;hqvObr6uBT+>+Mti4hY1ee}VyrN^WOv`9cGVTt<{P54AC z0qr#eheeA;_`s|QvaAUtLAuHz1qrmgJhloSnDzmjgxqL27mVc3hDA+Q5VBQH^ zO6ZA)@IkYH)cQ?s&fS9qP57yM6&5#)Olm+%0vG5^37YUzudxUpm^DFbkl-zRVA=9xfsXl)YK6h5f_wG@1JEcZrJL-cRIx%Kqm-1pA7 z56^{0aIYsU!cQ$>$<3x>pS9wuJ7Ml@F3q!RYl6iLD>r{r8-5CIDqB)(L{~u<7Z3gm6G7kr0M2890C?%2oYo-dc~k>Z!O-+Ucm-n}U@N9I zz=HS;PlXS{=jB3;Yl64%fx8+YWxscqsR(y9;Mmv%OlA`>mEG=t1O|iBeUoaB00000 LNkvXXu0mjfcTc1m literal 0 HcmV?d00001 From e071cc7b4a53745a9827d258eba3c39e6862a2b5 Mon Sep 17 00:00:00 2001 From: DatOnePlayer <61370548+DatOnePlayer@users.noreply.github.com> Date: Sat, 6 Jun 2020 03:40:40 +0700 Subject: [PATCH 010/213] Add files via upload --- maps/Derelict_Outpost.msav | Bin 0 -> 22974 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 maps/Derelict_Outpost.msav diff --git a/maps/Derelict_Outpost.msav b/maps/Derelict_Outpost.msav new file mode 100644 index 0000000000000000000000000000000000000000..d4ca35cef9ed24fc24779e81fb0cfc1c310aacc9 GIT binary patch literal 22974 zcmV)rK$*XIobA17ke$hKAXeYIU*9Lt-9Q5m_c7fVbT@z*95VyVJwtMM3`J=*5U9k>Bnwt zcsIg_!gj3v!{JytGpj1I>U;IQ1~1J-EE$|eeN|amSy`D`Sy{*X$m_R0rIbo5mHSmS zstVin@?NL5RZ-DJRoE%ttC&Z(7cX2?**0XYtKp@~SC>|vT)DV%b!mB7Wg2Aw z8h^ghs?=+1ozh3Uo$Y43Q&PEdw^MDl)W}QqT4$}g_j3>fyG}k&XJnd^s7x1H1xd#6&t~JZ`h4xzg+VZ6fS1%#pLZ{lQw5!ef zI#ho066HPdvv0Ul>y#U{?pD9XuU!5)v7|R8RA#HW-d6wQjpOUJ@>UZh7tz0QqH=ll$;*|` zE?ro@^u}k8FI09rmBxByeX-l9br#F5cBN6SUt3zZ(_Mu6K-a~EUXmdD@`dGvR{1SV zKDp4U+^w~1&BnD$m|NX@YpvPZUaU7aYoOL^?OJ0EFm}4F)mnr4y0mZ?5Z3GE#Y%(J z2phVxuv4wHI*T1>4*GNH!V>gnr?%dys`T>3iz-*G)HbUfmA(ug*;cn+X{*-fK}*YP zcRtcwuUrEwQ(34t%j?Z<=h_>euXQS0*VdZb+rW8XK)2Dkwsi607eBku-Y)Mn+5pkn z+pb(&Yn6BE04&ooSc00H6etRoPmt@0IERy--?(a;O1}g`sbkU{LC%opQTW*{XrPS}$$1np>r2 zgBomhTkxMYsFAatrD2567;3hYVMUfJ5Akw3C6I}27od& zc(+`umsjf*rCz&IQ0lbGX~wEdy;5FR#jQ%GyopMn3Y)F+b`^N9GH41_22GbLSUaNf zMzdl10M2i#e7gqI4KQ#3X05gX8rrUw+m*$Q@@lKLrUu*H)@Ef9m1j>C+uNuQ+s$<~ zvWhjpHg0Xh(5=I~x7R9nu<2Px&~JO z;8iebbt0%yfUmaIZZ-@RXZi!#F5P-mz-QHwFko}FT?5J*>S(z9ZnwS$JO`c)YK>pq z1aqQB%?C(_=BO=2bEt;QN4rz0)YYMY$trIzwyTwTT^$J&t~FOdl-eDT(qQFk#Z*2R zC?o>r0|i@mmXRnh3u-1%tZAJKlo->hP6iFvV!Lt|T%vU&j8W>NDqXI%KwQhM&h5oZ z@P8-0;-r_I^pYyt^hHTJxyzDVktCyDahh3inptt0S#g?Kk!DtIJGsk}T#+QBUUr&U zcA8msnpt+5S(av&Z#%iml3bA_qh4~FS#p|La++Cknpu)&mTo(_%aUA?8I*q0gm z@@>gm=F|$OEXozZz9QIH1pA6$Ut#Pkw)DYtMrga$1SQwh3#F!5C(w@}+`lv}WPQ2A=J zLy6*6d2>tW=_#^c(WxT%a!rjV3-c&UrvOp!z~4r5N2P0P6+pNK#tc7mYxUa3MjKoq zK-C5UabD8t3}G)Im`*_@T~f4pkX-LJI2T&yWWD2JT-*k~L)X*E4E@cutF7*8TaE7E zWWNaB2uy+K3k*nx8rB%r>fjb5$7$sSc<~?I#;~_yQ$y|&3q9C2lR@c0bTsOVwA@mY z&Ie4*z*bzL8r%*RuDu;(cB6zI-fK)Bt@^J1W0jp{Wl1 zADDYvwL0`hFXza4DqvbWP?*wQNWrf6)R4OXQ-jX3NR3!8YjGRhK;TQa-l>_7QR7lA zwzn#{?ogRKwR%HMi-Sde1Hu9qjjy#+0k0Ocf&3G$If8D`M!j2G->U7x_n>yU^v8(x zx6F6WR4TSBpuS~rGr@J!B1CizYM(r(t8O0thu7UH_s%>;P!NGvJ7UarQ(+mRj z0xw|P`B+$l+*$I%kVhN7M|0VYA2_Pe3^7IHfx*Z2KXf)PN00GQo!>Ds>%rd3w&;Vj{JKy z*#u65#NDkpnWG!c)|#6Enh075!v_jo0ExL<*@N71W+!Kjm0Md)^ny62@VRbdjaELR z;1{iLR-|Y|^N7E5AZAGGXbm!2Xi`l^t_7}?(8EYMDCo{2uA9_I7yBpQ zgIi!07pZ4}(Q)UtyIb38u+;=xyr(~4WGk<a*WS*1NTi8U``cTEingY71?rR|s+ zcRs9WTGhZME>;++ZNVbB!{1}hXrQsHgAO(-U0gw|nT$bDL12RU(8k1o(p0(#tCW_; zHn4^!?XIS@S*v?RWG-QTT}ML#=?z>2m1#(ZD5KF`t5>=(Io>S;8dZc5q2)FRZnuFk z0-Vz8Wf;dQbaGvdN!oNbz20rY>QsjTL52bCT2*DLuo5;QfLt9z7cl*oTWbIb>xnIz zKk`?jY>+S|1j ztkCTDD2P;})7%mO5QQzACeeDL>hHA5wN91Ghc~M*fAZ&83l=a9Kp_a$%bT0PYi_}W zKm-FB0KouegQ5+bGt>eLUjy-If{O$l0B3Cx2cK9uvJO2f%lA;H+;vKuTa`_xbnJ7$ z%6bhZt7>gq=YT0#r&YPl8QrXx(UNh-kk+MkvkUgjYT4apZ5^hOPG!p$6zPNVtyY^7 ztJPGN--5oCX%4E_yI>4S<_^cA0c~^~#2~t*6dw0-n(MWOpHpw%si}E42Mw9FV~ZGi zX>6)#w|H-J69faMay8|(1qA+NW&I9|^Cly@js9iT>rplTZUJp_4w_JLR6SXl^xX+B_Z# zb6dM@CAY8&ZsH!fr|3qkX&2I~UN3L0t~&}o6K|3yPmkZL-HnY!5MQ+T6?MujYE^0t z@?3C|_Dr8ALpGS#s%)U4-wT(vaT>%K?ogw+ab86q4EHmnSHD?I0h#-zQr2Oc1U zgop---L5#3e@KR43BC$ePUhDTqPys`?+Q!^QFpt&2X2li|ES#=qB*kBR@0n8oB@6j zD+SJE%-G!`4BVEtTyHj3Vkfvw4bY|(Ld4~8s7d3{SA3z{Bpp%6A}X8NBG z6^d&dv}_d53LC`r3NWD^wzJ>?l=ooNd{b^qaWpsg+{Mt*eZazfHvk}%mHK)Z2WaD_ zZ6w%10tmAPX1k7F4+T+^d#U9hOrG&F4M>m^cC}gAZnkTrp~0ryRcNp&9oVvhd%Q1* z7T91r8ioc>ok<4J>p~lI>w`&i?{qRir&g~pq9gs``cdQuNKWhnNTHRJ`v7T~=|dA) zs-R5i@Ly0dzz~=jH0)z+ZHJq5BqZ27y$2MyD@@lQPWceUJV zA?kBpW~EYptFqc%U8JRZ46pB;QlMf3%y$``6mO9PLegAxA_<-{;1X&vwmzSa1K4lP z{+{~rC|+<4=LB@8;^ib$v+-OB(jJNxwOvcnyEJens)Tie-Y1xf7g7X&Hk7OP0zCU@ z&Ldz{0{uTHI^kn5X+7viLq+Yq1~^G=3Ok<&0ho0a8;>9s14M?S)CWKtjk#oqF#US$ zkA;eS%Ql|~LZlr@EDo%h-ST*+oQR?Iuspf1Y`1HktLMoAI=373z3`ZA;BEmId0020 zO|(y3>RJ41xw{Egfa2A0JK*s}uTphTL{IPDfK8Z0(5(6eL|Cn2*FtAzQEvd{Ds+O3HZMGdgPyJFrGOCa1MIcRahvK5Z;Q6Fxa^2u#_Kcd z6dzA0cU`X22{7?Jrn5 zgdN&S2$~V_%eO0SCnlY6I;y<3)@@--=Ws&#cC%h@s?!Oj;BB;OT?vaP9Q^{IiU1{? z=vu8*D_czv>2`Mu`T;bZO*r~hEjQb@z@HK8nm|3Scbg6M*drWB;|MmDifw*HRd$Qf_ssI;fMtH*kyB!7l|QjO$bqBn7Vb8!?>Y+5jLs zGw1gM+@iCg6^uxxKYtC&9}G%D{bS>_-<& zGTY7&Bq&3>yjkmXd@GS4B|3%?v-%0#Yj>gTM)PiYKPo$mZ&jS86SxBeg0r@NZ!p#f zP6GI`Lg8W(sNO4%Z!IQ>eWwM+uLX;#MguHXQfD*}&xre-XiYE`#F0*=T`#LSbCA`Z zLI;>N>!!~*=V2=icZE0UoP}k>X-~|O7mG(|C!GvFMq9EcXK@pwU8~&1Y0+2(U2WPu zTPwkuDKFbLdeF;t-2CyL0;Y$0ZaaC{WOlbV!8}%CeLB_WWUsSZa5}hK0JGF$*_)=q zXMxF`tZmjB!RG8)V5hlI(7p;@Vmr74P%qyt2V>`3i@539H@t4G%A#JMhR!O>`RY(% ztuDJ!!P+fzpgF`EEVO5nL&5eQn-<*pDX+Hn*+T%=v$-QqdI$tM60WO-wAEd!;pKo3 z5A@cP5vb6j7g&$%35g1+m95<6DlsJz`KDH|fR26Mg(B=wdQx=qPE)+1doN+=g{)?9j2h`TDs^ z2k)zux756oYY#8V;f0i%R0HKY%xq-R)qor&Qw4jBOby5pGF7CrXSgY?hTM~6YRElB zrUso8WPa?yIj$0%zudj?;56;*iw6<7d*Xh$&JCf)PFG22(68bKHq4~xOo6J@PhSb5 zR~e0rQ|XapA;YP@H=!RJ|U>n|3v)KOBW z|A9cL!;!!VK|Lm+;Hw#}zy`BdzF9+-2G2xw>vbJS4c%xgH(>Iv?geY|!6G%Ac%UeV z)Ep#=?V2ZS&-&)f*#(X5U&S~1{B2vai{$Sl+AShKA|BWp@+C*_`S^L;I7P=|(a!FI z53F|;0*6Fxj3XohM%4n9tcnE!=vo~;8KziwQt<0p6FN?ea+^4{I@BjVom5EC*QCNq zc@vj?`-DA{YU@LR^L=BSNyw{Zw7AIIx#ZwyQUpkXo=Fh32DsRpq}T}%5)MrYzt@{< zUFcsz2RHzlR9y!?lg898{*%a)K&CpjZ)h?pkn4sdllsA-$RtW_a50GvC#aYd?~Vl% zlQ^d1gGmB`VZS6A-+HSIi@?^MBpR{2Qd@7<@$PvtNNsC7iIrH~s;q$#0TY@On0yN@ zPo)DBXvj9}fK@P##L^Hv(260Tu(hYqj~a9$F6Ki=P>SlP8rW>%F3zVbt)?0Rdkx>Cs+x5zB>?F~46MDC| z-NsNV9lMR434oPCa|73gn_VEsn^kI!4GLrU_84>R;p_R>WKiEiWM=m~xJ_yt;GW7T z@%9@z)J_U`Kc`*b+n<6}WF;|r|2#!uG?Q)vE0cWX7v99t*uDK+6HgT+AbS~no#qZ$ z*4r=Z*H#ip`!JY<`rhqVU>VR@Pc$GOX~I&lar?O{%4ULce^M`LZhs8vFLx81mbE*J zbdxgV!f)U!EBba|CXdg1TW59LUT}k>Vx1?XK-3ox$W-y zdL93*)Aa$*neO9sFDJq!JK(`1MUFFmKB+w5mSatF!_*k2(p-AehkFK75vFoU zHEv-_VM<}@7T3sP>Uf~WvzU67OUDEFUgg%N7@yGhAugTd(iEni!PG}EHON$rV``dv zq!`PGIWNN$5S9^49ZbS3eG{68F*VCPkQ%@2Q=jAUAhvyJDBDUp7ELDP8Ewh#lBZ3JZLD8>~;Toj-Ls(-{m)cHGb6pZ; z845~WWPOv?sBUT>EHzg|LrV8FBh4|Yac!2$22Qc!3^;sw#|(FdDUFiQQ-22-{iwEU zWhSWHLt5lmINOl)BVrAG#;;aD^z)dSVCo~^q~$faRrQ{XOeP6wish+A!OS6)QrMbcQNC(F;m0=zzA4^VSv0Xjyi^@}ss-T6zk~W@%3ah;*gYuX^ zp*>~TZWyMxgVSsj#<;6R#$50RN-V#qU)t|}tc|okPzUyJ&Ge&cOns5%PtX(L2N@|U z`$NU3GMYI?fC<%mLU<-FVRkkp%tXd4W5!A8p;40FHU>3ws%9>WO_gF$B5ot%HqQ0M zJj9q!_?U&+VoL;bUUSW2R-7t2x@xJ)vVI)rHd4OO2=yzR%5rNo3TLqmqWLCI9YU!H z4bgm&F$7`QH>>*2s45;{YPWI8Q@C{-v#D#OxhQHs$`6^tPA4rt}vfN zbqBe%D}Eco$>$iZ!1_xgoi+Na?ki*!U7Fl~@HDoQ6VIEw=6nabdDR0FuC4A`E+^3#j;dTo==UroNM4ZAu_wn;x zPJy#%DIj^iX*K>`qHo-`@vbbyVjyFTPvCAc8RvXBrsZ9q7LEBT4_Vp{ZM<%ZYdp`x zh^sbjc;+mebQN4(i&@0`sIn98EY@HV&}@2v2jEd_JntK~%f9Hz5=D&QVW#;I<9pFJ zZek+SK0c{?nEQL3OGhxZ%ryoq&6@f{Nj09b{ENetn5soKRf73&pvK2oiA%~(J9FI2 z*V(KS7Sus%T$lcm&#U7;52651uXEi``)ZG*sh7F*4c`<{=}TOCoAbmlKF_6P%sZm0 zdR?pYR=I|lw5R;iLtIL#dn2iC#_xyJl_}v`QeB#qt|XPx7+vPlb;g`ZDm~2n8w`}v zXg$F?DAUu^%pu{QxWucRcZ1uAIRr8aG)B+(;}Ipn-Q*sH+P%#+2yT|)@;s{2+AP;C z_@y^|%*2Dwaw+K%dJ5_@+}c&1gx~OcNvS6>^*E*;aOxrJmQ0$z&v~*${(C;Y$9)cc z-Pe7p@q3uUAydE0cI|gK^;O^IT;)8Owh8X<`lE1z^Pb_<(|(>fm5*~9AH~!y#w_a! z<@e(?Og+bSN%ud*c`_Nkf~n`V2H3ikNAZofF@-9wzJw_>1?m#F_A=+KaNU;~pGc>a zzJ#e~wKjTKuKWG{4Yq$`v;PC%a!Is@c<_fTFYg6X4+D9>#rTF?O!YD?c` zi5Oy9vP|;>mZ4!TB?_i7^$qUFFsIUt`5Rn!$Ss zq$#j^Bs!zG-H-WLB9@XA+qywtD>BUSPjKBd*UfWkkZDf)HKw?R;*p8CwJ{!#$Mp!- z&^fkaIqla?vF4>XZ!myGv}b}-sNMJ3626<}HV$a2Ebj?(nzeg?@yTqz?Ay-6h&f`y z34O{(pLd4G5}xO&h=zNGk!C!kGzyyBGg=MaF^tXH5hIvk+a5!Z_Is2H z)Sbn;GKc1w8?nYyJ~txfhPdbBjH$hDvM5yU7sgw-Z|3S^#Hu~sFy`!wZ`GlC&c zovB7}ENMzO!2(y%X1Hqh9F8YdJAokQ*&C6Nvcv#l9{jNY|70=0sFmH5oY;gbvHFvY zDx)!57SrgT^+B?lbrxhMfF-Agr)pMcv+N6)uv|??-Zdjq{^%d(sdtu*jM5@ytECuN zIz7kLD0SKcRZPjX$UA)!giBWwF2w8>AZN7;Y(0D(j=u47b9RW*P1==A?|#Ie%7r&8JlAru{Yu3vGCOjQLXV z`7CgPZ-MzD<~j=0kl8?L6#RY+aOuanG|!_deG^YQ%{8uZkH(mjvWb*Y*1X0x85USq z(>&&~&XWzdGk)C^(=2rdndWJ3O=L37HJA5e`GjCp};9Ps6!pe;k0=NU`YA-^t~*9VFCZ9CwLegPYKF%=M$k~w zcu?w`mIylv1A#Wk$`^gir!{kW$9y8tRf#qdzVWywTXu@&&jng5I(i;rr=>K@_AfS* z$dJi=9^3I8WLaBrcxAaO7AfMnC(CwsgsoJLrTqY7Ii$tM@_C3gKrGx*W$kn9NK1h+ zi!Gt3&_N$d#Nr)s8&vnaUriV`$q2*aoy^h^?61)9SWS@nIfcQud2Xi-@Bv$qq6; zbF%BUS<#ca&{B}xMsZgq06XMM(^;%L!=p9mQ;=miSjO5@HVmTV%pYri#ShA_^ zFt;nG(abrr+eX0#7>jJ1Wctr=vZwC{wKNS-)Mu{7lZZOrP~#kN7!uIK@{%~P}mo(TZY z>Q5^}nE+`Axmu3JXG(v*fdg*>B0rK#Phe z@=+23B0SAgYKkSN=yyQ{co0J{&J;}QQp>~(N!3z3$)(tOOEvWG^_KWZ5&{!l@PwaG zjp#9YG*m+xLDg)YMm(TtEFEL2GK?z2sGibr9x4-qe}^4<%NG&;;l4;m**+IIb-Zsw zk)D9$x`n4CsiY>;JZ;NC0$C&-*L8cF%Bv6rYg^)Dzr?pos7|f=P&`iO~t56`NJ(#<$T!{TFmyX$dxw~i4-XHHH3@hSz1!c z-YlWP8(@MYjvo1Hn%7EV3Bn6AGsYg2Ibh)V3~4qzG9P7sG9t+m7MaM{8KpB!WR86# zvz-J)W?7mP>r94idm?F}5fp-o%&Q?Dyz^|Nv#e2B=9RtI)?=h6lE}#RZ9M18Q2)kr zj=}RR(iqE7PNVYFS(=n}JO$Hd2 zR8j|HzQ6%i#7_jMcPGuNxiBp*@sLmbjIxKnsL7A}_$K0hiRbKyPd%7~)ZECh?r(;d z4}vP z=l8eBs4_erg8>8|WqHZ@Jr@LN=Dm0=Iqf~v)B|yfKI+pVsAOgrTO31$0{lSYyJ?<^ zhGKvtXlBbvxI;IpJFsAt>czPCEfV8@QAc&Zm5X$2+5rWym=8&mxfB8}Z0!bMiVj zKIhv`T5gVVT?zaax$X?-Jsqe!!gXa=MndDVMJz{E#yC~-MmjD-2iYv;{k6T^CYP;R z*>aZs#@JD*QBEE2HMzPq>Dv(VMK)E;$>5p^_lj;k!B`^3e89Iz1s)^0+@YAevrIi% zq$mC17NnER5>loNBb9UY1UJh_Wh3_jm*yCs@*A3A^oJSgIkvlE%wN}<_Zg0HSIuc$ z(Wp@#{n$cG_E(XrkDDEGIYx5ZIBnys5EASXEOWkB5Ia(EfNMO*_(XCh7;esY1I$Yy zw)7NBCvjtlZ4R|72g`-Ua#%I(OP%a}5>+=53whzR$2{WKkVsqP(<1syn#BF4A|@m9^I|EvT`hO}WcO8s^_r^oxB*2k@4ioS+@ha!=Ca;XW`}(3$uXacT0>n= z#=*>wLp%sj5c5i%Cpt_N%%Wlo96zfzz^S8b8N{mG^xBBg*L#R9Ar*Oq#|RR+iq(DS zr-)6lNyOnnu9rTdS+^@k;bQMBj&h1d;rU*|o$<{C+D$XFr8QqR?lXP&jdu6)G=`KA z1R9s|b%tBkBnQ|k%Ndpw+lUuEzC4I5Ee~U~WL3{lNW0E>xPj2HV#j%q^+hxWm-c$} zAk?JrV8Az3a$JYH`XLWNoLpaVLQOu5k_htiV&fs?#`_jC8Gfg2$h$|U@5h>y%S93E zsst8Z>K!-7`uO7!)3>-Gi##%7T?ig;W$}KH>SfczfE94KAwrl|J>8FMG7bE^vXV{Q z_$3cjoU}|JPrA?cFW$Ehhy3AjdL;dgv6Gcpmy*ML#Hapas#h;VEDj7*oGQ+X5$S;V zl*TzEj9^a6V{P%y_^G(%D)8D=9Okk|c!;|XeM&=OCRQqL6omRTlQH6xLB2}e=TJa$ z;tEkvJ=&u&Q)EIsQ1K3Bg*NW@BjvX%NAC|ZKDpE+^U+aG$t%7xPmA9!$FT%Ui|Y>g zaPp=Y$>b>4c-!|?QVciGScC$qLC?z^=2D{S50ml)3yH-;reMfv*V0VSaZntc;>xn< zqIWRp8t8zoRx=_hQt~_6^R?$y$fK2;q9XTVCx0DFaX|0qxQ4kRVndE5z$sc$)9eiT zr?EV_(LxSAuI=y3KB6(}HVCaWxwghV%)?Q=U(`%AO~%zF<##J)06y)%&LN_QyuUwc zsd^wzk*LNX<9l7%XDj6y<%4=E0xT4=IHXm>)}PH+ z$`qs-OWyCVVl}0a$@=(GzBCanS;itaB1P>784KMDe1mHg{Tk+Qf#)Vm-N$@$^GU># z(>iEJRc?aFEsYQsiCM}bYb>xl6XwsT zUf*oOH*;bRWjq#rt@t}wH_dg$RZ~m>NwGW>D(A<4McIcbW%Q|yTUIL`n&)3@=G~~! zLgH5#Zcf*=OpJLHk!9FJwzdx?LUo-V`Ih%LewFz`TjJOFX&*8?goPd#l1Ib}{I-o) zpD%FFQw&0Jn$P=ni~OzuA$1>keMdi*@Idh(-(`YExj=Esyw+n~0}7*EW(t&#kGhI4 zj@>u0SNjYhJx7^i6<=aioAB%6qkZ@7M!oZVq?2MXdzX}bn#Iv@!{Q_3d)=oc=hr>x zi|A=qXPR{{J3?rwLKF0^J%^&+9pEuP#Y#+dALqKM02bj3a`#=nfcUP&O3h`ycZ~79 z;HwaeZJbwGPGuP1LGGIbYexCqk42u(WAsrQ!%W`^x6J;zf?znf+a! zyWdT5LF~1>NfzZ3JO{`ueynd@dc=g5bNGCac0Z)_xLL&x40}1QGLlF^5_1;^8|d&Q^-tP>8h1Tca>< zE&qEGfs_k*$9ybVpMMe-zR36v2k^;-Jn8SOk6Gq(^AiZ3A2!bT#r^f68fYf?4Z%bMn4Bz9h7q*OY{ zNM+9^Z>`099B_7Cg_FmzW9SLhll*$k95*SbBlARo{H_P}{E%OoVOm6g zPcxP?OrN=S<5^L$W^$h9OrWkgcwBWIDsgOLx95c$BqeA4QaOomkTo>#*N~s1Avl`y z4|3nmvpk>o=@UCnj=!8oA7*^#xb6bui=BHI_Um5f8W$Lg^jxlF2~WkbmPhrMe6Gp- zA-hKMC{K!caGpyeUuPtOE3;%QOqGb`7T1t@P@Z+A8niBZmP^H(lXlOuy?TK;DZ88U zAlF%jdy(6aO~OIOOruW=v6q0g*91=H{bQ_Kzr=M5JPKr+ z$nyURm&RV=Ah@Fp_l6Ir0&sNg|1%7i^;?sN@=Q3(rsRzZ!Xl5q(I~9?G8u!D*>uC# zkJ$T@~_%?#I&xo3#squUG)2HeL=MnXC(zC#AG#RtZRw7s8k>#2CZNG-=-+OW| zqc65yG0jp+_@)?N>^b9D4Wi}4YB#NRo>se&+DWP1m+>z&vU5=Fj;WnA<=?cW�Y9 z?dC!-x74muJ4)@|BA6`Z$6=mTyRWL93=+39t#-$qx|~0ycBcq~ZudjfR*~{2DL