From e0ace0c22b848c630d62b6f181e6be09285f761e Mon Sep 17 00:00:00 2001 From: Yuria-Shikibe <3415339403@qq.com> Date: Wed, 2 Aug 2023 11:38:24 +0800 Subject: [PATCH] 0.4.6 --- assets/bundles/bundle.properties | 68 +- assets/bundles/bundle_zh_CN.properties | 66 +- assets/maps/ancient-shipyard.msav | Bin 0 -> 90873 bytes assets/maps/artillery-base.msav | Bin 0 -> 38514 bytes assets/maps/hostile-research-station.msav | Bin 55534 -> 55784 bytes assets/maps/initial-plane.msav | Bin 77605 -> 77499 bytes assets/scripts/common.js | 7 + .../blocks/defence/assign-overdrive.png | Bin 2161 -> 2094 bytes .../defence/hyper-space-warper-bottom.png | Bin 394 -> 531 bytes .../blocks/defence/hyper-space-warper.png | Bin 3033 -> 3219 bytes .../blocks/drill/beam-drill-rotator.png | Bin 280 -> 299 bytes .../sprites/blocks/drill/beam-drill-top.png | Bin 2558 -> 2585 bytes .../blocks/power/ancient-power-node.png | Bin 0 -> 533 bytes .../sprites/blocks/power/heavy-power-node.png | Bin 1733 -> 898 bytes .../blocks/power/hydro-fuel-cell-bottom.png | Bin 0 -> 279 bytes .../blocks/power/hydro-fuel-cell-glow.png | Bin 0 -> 3274 bytes .../sprites/blocks/power/hydro-fuel-cell.png | Bin 0 -> 652 bytes assets/sprites/blocks/power/warningbuild.png | Bin 0 -> 1173 bytes .../production/arkycite-compactor-bottom.png | Bin 0 -> 235 bytes .../production/arkycite-compactor-glow.png | Bin 0 -> 2956 bytes .../arkycite-compactor-piston-icon.png | Bin 0 -> 141 bytes .../arkycite-compactor-piston-t.png | Bin 0 -> 194 bytes .../production/arkycite-compactor-piston0.png | Bin 0 -> 183 bytes .../production/arkycite-compactor-piston1.png | Bin 0 -> 183 bytes .../blocks/production/arkycite-compactor.png | Bin 0 -> 1019 bytes .../production/dark-energy-factory-bottom.png | Bin 0 -> 299 bytes .../production/dark-energy-factory-top.png | Bin 365 -> 0 bytes .../blocks/production/dark-energy-factory.png | Bin 1671 -> 1412 bytes .../fusion-core-energy-factory-bottom.png | Bin 0 -> 406 bytes .../fusion-core-energy-factory-rotator.png | Bin 0 -> 1470 bytes .../fusion-core-energy-factory-top.png | Bin 664 -> 172 bytes .../production/fusion-core-energy-factory.png | Bin 1804 -> 2064 bytes .../production/processor-compactor-bottom.png | Bin 0 -> 736 bytes .../production/processor-compactor-glow1.png | Bin 0 -> 2881 bytes .../production/processor-compactor-glow2.png | Bin 0 -> 1845 bytes .../production/processor-compactor-glow3.png | Bin 0 -> 2757 bytes .../production/processor-compactor-mid.png | Bin 0 -> 302 bytes .../blocks/production/processor-compactor.png | Bin 0 -> 4296 bytes .../production/seton-alloy-factory-bottom.png | Bin 294 -> 294 bytes .../production/seton-alloy-factory-liquid.png | Bin 1454 -> 0 bytes .../seton-alloy-factory-piston-icon.png | Bin 0 -> 116 bytes .../seton-alloy-factory-piston-t.png | Bin 0 -> 311 bytes .../seton-alloy-factory-piston0.png | Bin 0 -> 278 bytes .../seton-alloy-factory-piston1.png | Bin 0 -> 279 bytes .../seton-alloy-factory-rotator.png | Bin 297 -> 0 bytes .../seton-alloy-factory-rotator1.png | Bin 391 -> 0 bytes .../production/seton-alloy-factory-shade.png | Bin 0 -> 295 bytes .../production/seton-alloy-factory-top.png | Bin 0 -> 744 bytes .../blocks/production/seton-alloy-factory.png | Bin 2674 -> 1826 bytes .../production/vent-extractor-bottom.png | Bin 0 -> 562 bytes .../blocks/production/vent-extractor-mid.png | Bin 0 -> 210 bytes .../production/vent-extractor-rotator.png | Bin 0 -> 1068 bytes .../blocks/production/vent-extractor.png | Bin 0 -> 1940 bytes .../blocks/special/disposable-battery-top.png | Bin 1190 -> 0 bytes .../blocks/special/disposable-battery.png | Bin 1191 -> 0 bytes .../blocks/special/player-jump-gate.png | Bin 1845 -> 0 bytes assets/sprites/blocks/special/tagger.png | Bin 0 -> 327 bytes .../turret/endofera/end-of-era-charger-l.png | Bin 1229 -> 1229 bytes .../turret/endofera/end-of-era-charger-r.png | Bin 1229 -> 1229 bytes .../turret/endofera/end-of-era-shooter.png | Bin 2716 -> 2716 bytes .../turret/endofera/end-of-era-wing-l.png | Bin 2060 -> 2060 bytes .../turret/endofera/end-of-era-wing-r.png | Bin 2993 -> 2997 bytes .../blocks/turret/endofera/end-of-era.png | Bin 4561 -> 4564 bytes .../blocks/turret/hive/hive-back-heat.png | Bin 0 -> 704 bytes .../blocks/turret/hive/hive-back-l.png | Bin 0 -> 706 bytes .../blocks/turret/hive/hive-back-r.png | Bin 0 -> 706 bytes .../turret/hive/hive-barrel-main-heat.png | Bin 0 -> 1441 bytes .../blocks/turret/hive/hive-barrel-main-l.png | Bin 0 -> 1290 bytes .../blocks/turret/hive/hive-barrel-main-r.png | Bin 0 -> 1292 bytes .../blocks/turret/hive/hive-charger-l.png | Bin 0 -> 397 bytes .../blocks/turret/hive/hive-charger-r.png | Bin 0 -> 397 bytes .../sprites/blocks/turret/hive/hive-heat.png | Bin 0 -> 1158 bytes .../blocks/turret/hive/hive-preview.png | Bin 0 -> 2572 bytes assets/sprites/blocks/turret/hive/hive.png | Bin 0 -> 1097 bytes assets/sprites/blocks/turretBase/block-6.png | Bin 2036 -> 2290 bytes .../blocks/turretBase/end-of-era-base.png | Bin 0 -> 4511 bytes .../sprites/pre-processed/nucleoid-full.png | Bin 91153 -> 93413 bytes mod.hjson | 2 +- src/newhorizon/NHRegister.java | 45 +- src/newhorizon/NHSetting.java | 9 +- src/newhorizon/NHUI.java | 5 + src/newhorizon/NewHorizon.java | 36 +- src/newhorizon/TestRunner.java | 2 - src/newhorizon/content/NHBlocks.java | 1328 ++++++++++++----- src/newhorizon/content/NHBullets.java | 219 ++- src/newhorizon/content/NHColor.java | 2 +- src/newhorizon/content/NHFx.java | 61 +- src/newhorizon/content/NHInbuiltEvents.java | 55 +- src/newhorizon/content/NHLiquids.java | 10 +- src/newhorizon/content/NHOverride.java | 166 ++- src/newhorizon/content/NHPlanets.java | 4 +- src/newhorizon/content/NHSectorPresents.java | 546 ++++++- src/newhorizon/content/NHStatusEffects.java | 75 +- src/newhorizon/content/NHTechTree.java | 36 +- src/newhorizon/content/NHUnitTypes.java | 48 +- src/newhorizon/content/NHWeathers.java | 3 +- .../expand/block/TurretConsume.java | 28 + .../block/ancient/CaptureableTurret.java | 5 + .../expand/block/defence/ChargeWall.java | 2 +- .../block/defence/HyperSpaceWarper.java | 3 +- .../expand/block/drawer/DrawRotator.java | 14 +- .../expand/block/drawer/DrawScanLine.java | 66 + ...tedRegionPart.java => FlipRegionPart.java} | 4 +- .../expand/block/drawer/ForceHeatDrawer.java | 122 ++ .../expand/block/special/JumpGate.java | 246 ++- .../bullets/AdaptedLightningBulletType.java | 43 + .../expand/bullets/AdaptedShootHelix.java | 9 +- .../expand/bullets/ChainBulletType.java | 5 +- .../bullets/DelayedPointBulletType.java | 5 +- .../bullets/LightningLinkerBulletType.java | 6 +- src/newhorizon/expand/cutscene/CSSTexts.java | 11 + .../expand/cutscene/MapCutscene.java | 101 ++ .../expand/cutscene/NHCSS_Core.java | 122 +- src/newhorizon/expand/cutscene/NHCSS_UI.java | 40 +- .../expand/cutscene/actions/CSSActions.java | 13 + .../expand/cutscene/actions/WaitAction.java | 20 + .../cutscene/stateoverride/UnitOverride.java | 29 + .../cutscene/stateoverride/WorldOverride.java | 9 + src/newhorizon/expand/entities/Carrier.java | 12 +- src/newhorizon/expand/entities/Spawner.java | 36 +- .../expand/entities/WorldEvent.java | 6 + .../expand/eventsys/AutoEventTrigger.java | 7 +- .../eventsys/types/InterventionEventType.java | 2 +- .../eventsys/types/ObjectiveEventType.java | 3 +- .../eventsys/types/ReloadEventType.java | 7 +- .../expand/eventsys/types/WorldEventType.java | 12 +- src/newhorizon/expand/game/NHWorldData.java | 28 +- src/newhorizon/expand/units/AncientUnit.java | 4 + src/newhorizon/expand/units/EnergyUnit.java | 2 +- src/newhorizon/expand/units/PesterEntity.java | 4 +- src/newhorizon/expand/units/ProbeEntity.java | 69 +- .../ablility}/ShockWaveAbility.java | 6 +- .../expand/weather/MatterStorm.java | 7 +- src/newhorizon/util/Tool_Internal.java | 4 + src/newhorizon/util/feature/PosLightning.java | 18 +- .../util/func/BuildingConcentration.java | 35 + src/newhorizon/util/func/NHFunc.java | 43 +- .../util/graphic/ColorWarpEffect.java | 49 - src/newhorizon/util/graphic/DrawFunc.java | 7 + src/newhorizon/util/graphic/EffectDrawer.java | 2 +- .../util/graphic/EffectWrapper.java | 61 + src/newhorizon/util/struct/Vec2Seq.java | 4 + src/newhorizon/util/ui/DebugDialog.java | 13 +- src/newhorizon/util/ui/FeatureLog.java | 2 - src/newhorizon/util/ui/ItemImageDynamic.java | 42 + src/newhorizon/util/ui/NHUIFunc.java | 13 +- .../util/ui/NHWorldSettingDialog.java | 162 ++ src/newhorizon/util/ui/WorldEventDialog.java | 1 - 148 files changed, 3478 insertions(+), 879 deletions(-) create mode 100644 assets/maps/ancient-shipyard.msav create mode 100644 assets/maps/artillery-base.msav create mode 100644 assets/scripts/common.js create mode 100644 assets/sprites/blocks/power/ancient-power-node.png create mode 100644 assets/sprites/blocks/power/hydro-fuel-cell-bottom.png create mode 100644 assets/sprites/blocks/power/hydro-fuel-cell-glow.png create mode 100644 assets/sprites/blocks/power/hydro-fuel-cell.png create mode 100644 assets/sprites/blocks/power/warningbuild.png create mode 100644 assets/sprites/blocks/production/arkycite-compactor-bottom.png create mode 100644 assets/sprites/blocks/production/arkycite-compactor-glow.png create mode 100644 assets/sprites/blocks/production/arkycite-compactor-piston-icon.png create mode 100644 assets/sprites/blocks/production/arkycite-compactor-piston-t.png create mode 100644 assets/sprites/blocks/production/arkycite-compactor-piston0.png create mode 100644 assets/sprites/blocks/production/arkycite-compactor-piston1.png create mode 100644 assets/sprites/blocks/production/arkycite-compactor.png create mode 100644 assets/sprites/blocks/production/dark-energy-factory-bottom.png delete mode 100644 assets/sprites/blocks/production/dark-energy-factory-top.png create mode 100644 assets/sprites/blocks/production/fusion-core-energy-factory-bottom.png create mode 100644 assets/sprites/blocks/production/fusion-core-energy-factory-rotator.png create mode 100644 assets/sprites/blocks/production/processor-compactor-bottom.png create mode 100644 assets/sprites/blocks/production/processor-compactor-glow1.png create mode 100644 assets/sprites/blocks/production/processor-compactor-glow2.png create mode 100644 assets/sprites/blocks/production/processor-compactor-glow3.png create mode 100644 assets/sprites/blocks/production/processor-compactor-mid.png create mode 100644 assets/sprites/blocks/production/processor-compactor.png delete mode 100644 assets/sprites/blocks/production/seton-alloy-factory-liquid.png create mode 100644 assets/sprites/blocks/production/seton-alloy-factory-piston-icon.png create mode 100644 assets/sprites/blocks/production/seton-alloy-factory-piston-t.png create mode 100644 assets/sprites/blocks/production/seton-alloy-factory-piston0.png create mode 100644 assets/sprites/blocks/production/seton-alloy-factory-piston1.png delete mode 100644 assets/sprites/blocks/production/seton-alloy-factory-rotator.png delete mode 100644 assets/sprites/blocks/production/seton-alloy-factory-rotator1.png create mode 100644 assets/sprites/blocks/production/seton-alloy-factory-shade.png create mode 100644 assets/sprites/blocks/production/seton-alloy-factory-top.png create mode 100644 assets/sprites/blocks/production/vent-extractor-bottom.png create mode 100644 assets/sprites/blocks/production/vent-extractor-mid.png create mode 100644 assets/sprites/blocks/production/vent-extractor-rotator.png create mode 100644 assets/sprites/blocks/production/vent-extractor.png delete mode 100644 assets/sprites/blocks/special/disposable-battery-top.png delete mode 100644 assets/sprites/blocks/special/disposable-battery.png delete mode 100644 assets/sprites/blocks/special/player-jump-gate.png create mode 100644 assets/sprites/blocks/special/tagger.png create mode 100644 assets/sprites/blocks/turret/hive/hive-back-heat.png create mode 100644 assets/sprites/blocks/turret/hive/hive-back-l.png create mode 100644 assets/sprites/blocks/turret/hive/hive-back-r.png create mode 100644 assets/sprites/blocks/turret/hive/hive-barrel-main-heat.png create mode 100644 assets/sprites/blocks/turret/hive/hive-barrel-main-l.png create mode 100644 assets/sprites/blocks/turret/hive/hive-barrel-main-r.png create mode 100644 assets/sprites/blocks/turret/hive/hive-charger-l.png create mode 100644 assets/sprites/blocks/turret/hive/hive-charger-r.png create mode 100644 assets/sprites/blocks/turret/hive/hive-heat.png create mode 100644 assets/sprites/blocks/turret/hive/hive-preview.png create mode 100644 assets/sprites/blocks/turret/hive/hive.png create mode 100644 assets/sprites/blocks/turretBase/end-of-era-base.png create mode 100644 src/newhorizon/expand/block/TurretConsume.java create mode 100644 src/newhorizon/expand/block/drawer/DrawScanLine.java rename src/newhorizon/expand/block/drawer/{AdaptedRegionPart.java => FlipRegionPart.java} (87%) create mode 100644 src/newhorizon/expand/block/drawer/ForceHeatDrawer.java create mode 100644 src/newhorizon/expand/bullets/AdaptedLightningBulletType.java create mode 100644 src/newhorizon/expand/cutscene/MapCutscene.java create mode 100644 src/newhorizon/expand/cutscene/actions/WaitAction.java rename src/newhorizon/expand/{packets => units/ablility}/ShockWaveAbility.java (96%) delete mode 100644 src/newhorizon/util/graphic/ColorWarpEffect.java create mode 100644 src/newhorizon/util/graphic/EffectWrapper.java create mode 100644 src/newhorizon/util/ui/ItemImageDynamic.java create mode 100644 src/newhorizon/util/ui/NHWorldSettingDialog.java diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index c45455fe..7312cba3 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -10,9 +10,11 @@ startwarn.2 = [gray]本界面仅在[lightgray]安装[]后显示[lightgray]一 startwarn.3 = [accent]提示: startwarn.4 = 如果MOD不显示中文,请将游戏语言设置为其他任意语言,然后重启,再设置回中文,再重启,应该就好了。 startwarn.5 = [heal]声明:(我求求你们不要传谣了) -startwarn.6 = "Mod作者我[accent]Yuria(或称Matrix)[]是中国高三学生,不是外国人,b站那账号[accent](-YURIA-)[]就是我。QQ群763042465就是官方群!" +startwarn.6 = "Mod作者我[accent]Yuria(或称Matrix)[]是中国学生,不是外国人,b站那账号[accent](-YURIA-)[]就是我。QQ群763042465就是官方群!" +#Okey, finish the rest -nh.cutscene.power-suppressors = [heal]Hint[lightgray]: Here are some power suppressors, do not destroy it before you have enough confidence. + +nh.cutscene.power-suppressors = [heal]Hint[lightgray]: Here are some power suppressors, which suppress parts of defensive facilities' activation.\n[accent]Do not destroy them before you have sufficient military forces. nh.cutscene.end-communication = [lightgray]Communication End. nh.cutscene.reinforcements-inbound = [reddust]Caution[lightgray]: Enemy Reinforcements Inbound @@ -30,6 +32,29 @@ nh.cutscene.new-horizon-hostile-research-station.dia-5 = [lightgray]Detected a s nh.cutscene.new-horizon-hostile-research-station.dia-6 = [sky]Enemy Core Destruction Confirmed. nh.cutscene.new-horizon-hostile-research-station.dia-7 = [lightgray]When you further cripple enemy forces, they may summon more reinforcements. +nh.cutscene.new-horizon-ancient-shipyard.dia-0 = [lightgray]Here we are, a crucial unit production base. +nh.cutscene.new-horizon-ancient-shipyard.dia-1 = [lightgray]A shipyard that can construct flagship. +nh.cutscene.new-horizon-ancient-shipyard.dia-2 = [lightgray]Intelligence shows the hostiles ahead equipped with heavily fortified defensive installations. +nh.cutscene.new-horizon-ancient-shipyard.dia-3 = [lightgray]An unarmed ancient flagship [ancient]Nucleoid[] currently moored in this area. +nh.cutscene.new-horizon-ancient-shipyard.dia-4 = [lightgray]It has not yet been online, providing an excellent chance to capture it. +nh.cutscene.new-horizon-ancient-shipyard.dia-5 = [lightgray]Capture these ancient artillery first. They will come in handy to perform control override operation. +nh.cutscene.new-horizon-ancient-shipyard.dia-6 = [accent]Caution: []Attack these turrets to capture them. Provide ammo for them after capture. + +nh.cutscene.new-horizon-ancient-shipyard.dia-7 = [accent]Caution: []Override Initiating +nh.cutscene.new-horizon-ancient-shipyard.dia-8 = [lightgray]Standby for control override... +nh.cutscene.new-horizon-ancient-shipyard.dia-9 = [lightgray]Well Done! We have obtained the control of this battleship. +nh.cutscene.new-horizon-ancient-shipyard.dia-10 = [reddust]Alert: []Multiple strong signals detected! +nh.cutscene.new-horizon-ancient-shipyard.dia-11 = [lightgray]We cannot handle this inbounded fleet. The nucleoid is not armed yet. +nh.cutscene.new-horizon-ancient-shipyard.dia-12 = [accent]Initiating Emergency Hyperspace Charge. +nh.cutscene.new-horizon-ancient-shipyard.dia-13 = [accent]HOLD ON FOR ONE MINUTE +nh.cutscene.new-horizon-ancient-shipyard.dia-14 = [accent]Initiating Hyperspace Jump + +nh.cutscene.mission-accomplished = [accent]Mission Accomplished + +nh.cutscene.standby-hyperspace = Standby For Hyperspace Jump + +nh.cutscene.ui.capture-ratio = [lightgray]Capturing: [accent]{0}[]% +nh.cutscene.ui.waiting-capture = [lightgray]Waiting for capture: []{0} unit.new-horizon-macrophage.name = Macrophage unit.new-horizon-macrophage.description = Unknown ancient technology.\nA heavy gunship. Can perform surround motion. @@ -111,6 +136,18 @@ weather.new-horizon-standard-raid-1.name = Standard Raid weather.new-horizon-quantum-weather.name = Quantum Force Field +block.new-horizon-processor-compactor.name = Processor Lithographer +block.new-horizon-processor-compactor.description = Construct multiple processors the same time. +block.new-horizon-vent-extractor.name = Nitrogen Extractor +block.new-horizon-vent-extractor.description = Extract nitrogen from a exhaust silo. +block.new-horizon-hive.name = Hive +block.new-horizon-hive.description = Long range anti-air missile launcher.\nLaunches missiles with spiral trajectory. +block.new-horizon-ancient-power-node.name = Ancient Power Node +block.new-horizon-ancient-power-node.description = Repair itself when has sufficient power. +block.new-horizon-arkycite-compactor.name = Arkycite Compactor +block.new-horizon-arkycite-compactor.description = Turns oil into arkycite. Quantum Technology! +block.new-horizon-hydro-fuel-cell.name = Hydro Fuel Cell +block.new-horizon-hydro-fuel-cell.description = Clean energy generator. Chemical energy is converted into electricity under the protection of nitrogen. block.new-horizon-ancient-artillery.name = Ancient Artillery block.new-horizon-ancient-artillery.description = Fires a strong projectile.\n\n[sky]Editor and sandbox only. \n[accent]Destruction Recapture Enabled. Occupy it for better battlefield control. block.new-horizon-prism.name = Prism @@ -416,8 +453,10 @@ sector.new-horizon-hostile-research-station.name = Hostile Research Station sector.new-horizon-hostile-research-station.description = A heavily armored research station.\n\nIntelligence suggests that here are some experimental technologies --- [accent]Dark Energy[], plus its matched weapons.\n\nCapture the station to obtain these data. -sector.new-horizon-hostile-HQ.name = Hostile HQ -sector.new-horizon-hostile-HQ.description = Hostile HQ on planet Midantha.\nBefore destroying the power void, think twice please.\n[accent]Use and to destroy enemy bases.[] +sector.new-horizon-ancient-shipyard.name = Ancient Shipyard +sector.new-horizon-ancient-shipyard.description = A functioning ancient shipyard, mainly performing flagship maintaining tasks. + + sector.new-horizon-delta-HQ.name = Delta HQ sector.new-horizon-downpour.name = Downpour sector.new-horizon-luminari-outpost.name = Luminari Outpost @@ -552,6 +591,9 @@ mod.ui.beacon-captured = A Beacon of Team[[[#{0}]{1}[]] was captured by Team[[[# yuria.plugin.ad = Yuria's other artifacts: A shader based plugin, has smooth and clear texture. (WIP) link.yuria.plugin.title = Yuria's Plugin +nh.world-settings.jumpGateUsesCoreItems.name = Jumpgate Uses Items in Core +nh.world-settings.applyEventTriggers.name = Allow Auto Events + nh.setting.nh_debugging.name = Enable Debugging Mode nh.setting.nh_debugging.desc = Enable offline cheat #nh.setting.nh_debugging.warn = Disable it is recommended when the performance is bad. @@ -597,6 +639,7 @@ link.mod.github.description = Mod Source Code link.mod.guide.title = Mod Guide link.mod.guide.description = Guides and Help +hide-setting = Hide Mod Start Dialog boost = Boost move = Move links = Links @@ -612,22 +655,7 @@ spawn-error = Spawn Jammed.\nPlease change spawn position and release manually. nh-setting = New Horizon Mod Settings nh-need-base = Need Primary Base null = [] -active.tool-panel* = Tool Panel -active.tool-panel*.description = Enables the tool panel, which is used for spawning units and other debugging works. -active.tool-panel*.warning = Unsuitable for phones. -active.admin-panel = Cheating Panel -active.admin-panel.description = Enables unit spawning through the tool panel at all times. -active.advance-load* = Advanced Loading -active.advance-load*.description = Unit textures automatically generate an outline. Activate it for better experience of view. -active.advance-load*.warning = May cause a stuck problem while loading on specific types of phones.\nDon't activate it unless you are confident with your phone. -active.hid-start-log = Hide Start Log -active.hid-start-log.description = Hides the mod dialog that pops up while entering the game. -active.debug = Debug Mode -active.override = Override Vanilla Cost -active.override.description = Override Vanilla Contents' Construction Cost.\n[red]Be cautious when other mods are activated.[]\n\n[accent]Needed To Access The Server. -active.double-zoom* = Extended Zoom Limit -active.double-zoom*.description = Make you see more objects at the same time. -active.double-zoom*.warning = May cause stuck problems. + matter-storm.turn-bullets = Deflection specific bullets setting.alwaysshowgravitytrapfields.name = Always Show Gravity Trap Fields [sky][[New Horizon] diff --git a/assets/bundles/bundle_zh_CN.properties b/assets/bundles/bundle_zh_CN.properties index a78a5367..2786d0db 100644 --- a/assets/bundles/bundle_zh_CN.properties +++ b/assets/bundles/bundle_zh_CN.properties @@ -1,5 +1,3 @@ -unit.new-horizon-macrophage.name = 巨噬 -unit.new-horizon-macrophage.description = 未知科技\n重型炮艇,会环绕敌人 ability.adaptedheal = 高级修复系统 ability.boost = 定向冲刺 ability.gravity-trap = 重力阱: [accent]{0}[]格 @@ -8,28 +6,14 @@ ability.phase = 相位传送 ability.shockwave = 冲击波发生器 ability.towardshield = 前置盾 ability.turretshield = 炮盾 -active.admin-panel = 作弊面板 -active.admin-panel.description = 开启工具面板的作弊模式 -active.advance-load* = 单位贴图描边 -active.advance-load*.description = 给MOD单位贴图同原版的描边效果,低配请谨慎开启。启动以获得更好的视觉体验。 -active.advance-load*.warning = 可能会导致手机卡死\n如果卡死,请手动删除MOD设置配置文件 -active.debug = 调试模式 -active.double-zoom* = 双倍缩放 -active.double-zoom*.description = 让你可以同时看到更多东西。 -active.double-zoom*.warning = 可能会造成卡顿问题。 -active.hid-start-log = 隐藏MOD启动对话框 -active.hid-start-log.description = 隐藏MOD启动对话框 -active.override = 原版重载 -active.override.description = 对原版建筑成本进行重载,加入Mod物品\n[red]同时使用多个MOD时可能会导致冲突[]\n\n[accent]进入服务器必须开启 -active.tool-panel* = 工具面板 -active.tool-panel*.description = 开启工具面板\n\n由于UI适配原因不建议手机玩家开启 -active.tool-panel*.warning = 可能不适合用于手机 block.new-horizon-air-raider.description = 呼叫导弹轰炸目标。 block.new-horizon-air-raider.name = 空袭呼叫器 block.new-horizon-ancient-artillery.description = 发射巨型炸弹。\n\n[sky]仅限编辑器和沙盒模式。\n[accent]可通过摧毁占领。夺取它以获得更好的战场控制。 block.new-horizon-ancient-artillery.name = 远古巨炮 block.new-horizon-ancient-laser-wall.description = 未知科技。\n其能够在两个同类方块间产生超高能能量柱。发掘于塞普罗,样本运输期间遭遇数次敌袭,试图抢夺。仿制与改进项目完成后,无法达到原生科技的超高能级。后续研究工作正在进行。 block.new-horizon-ancient-laser-wall.name = 远古能量塔 +block.new-horizon-ancient-power-node.description = 当有足够的动力时进行自行修复。 +block.new-horizon-ancient-power-node.name = 远古能量节点 block.new-horizon-ancimembrane-concentrator.description = 未知科技 block.new-horizon-ancimembrane-concentrator.name = 筑膜培养基 block.new-horizon-anti-bullet-turret.description = 大型点防御装置,尽力拦截一切威胁。\n破获裂解光束的核心算法后,工程师对律令进行了改装。工作目标变更,不再需要过多能量和冷却液。其与生俱来的远射程和大威力使它比原货受欢迎。 @@ -38,6 +22,8 @@ block.new-horizon-antibody.description = 未知科技 block.new-horizon-antibody.name = 抗体 block.new-horizon-argmot.description = 高频闪电发生器。\n雷神之使,发出的电击能量在雷暴之上,频率可能极高,是一切高机动低防单位的梦魇,不容小觑。\n需要热力积累,之所以没有装备温度装置:一者,缺少调度空间,再者,节省能量成本。\n适当冷却可缓解其他系统受到的热量牵连,使之可以达到更高的射速。\n如此强大的武器是材料学进步的表现————高轻钢可以做到,而且做得很好。 block.new-horizon-argmot.name = 律令 +block.new-horizon-arkycite-compactor.description = 将石油变成芳油 +block.new-horizon-arkycite-compactor.name = 芳油压制器 block.new-horizon-armor-power-node.description = 更坚固的大型能量节点。\n没有保护的能量节点在大型装甲电池面前显得格外脆弱。\n为避免建筑陷入瘫痪,工程师们改装了原有大型能节。虽性能下降,但活着才有用。 block.new-horizon-armor-power-node.name = 装甲能量节点 block.new-horizon-assign-overdrive.description = 加速特定方块,速度更快。 @@ -103,8 +89,12 @@ block.new-horizon-heavy-defence-wall.description = 普通的防御设施,耐 block.new-horizon-heavy-defence-wall.name = 重合金墙 block.new-horizon-heavy-power-node.description = 节点数目更多,范围更大。 block.new-horizon-heavy-power-node.name = 扩展能量节点 +block.new-horizon-hive.description = 远程防空导弹发射器。\n发射旋迹导弹。 +block.new-horizon-hive.name = 风暴 block.new-horizon-huge-battery.description = 能量容量更大 block.new-horizon-huge-battery.name = 高密度电池 +block.new-horizon-hydro-fuel-cell.description = 清洁能源发电机。在氮气的保护下将化学能转化为电能。 +block.new-horizon-hydro-fuel-cell.name = 羟质燃料电池 block.new-horizon-hyper-generator.description = 释放封装零位能蕴含的能量。\n疯狂的造物上镌刻的是人类对能源稀缺的恐惧。随着空间中蕴含的巨大能量被释放,危险的焰火直冲云霄。绝对真空零度的内里无法阻挡其冲向天穹。特高压能量流需要特制设备接收并转发。周围6公里禁止未完全防护者、无三防载具接近。必须部署在安全等级高于甲的地区。反应堆无论启动还是关机都需要成本,请尽量不改变其运行状态。 block.new-horizon-hyper-generator.name = 临界反应堆 block.new-horizon-hyper-space-warper.description = 用于传送单位。\n\n[sky]可被重力阱阻断。\n\n[lightgrey]你可以在HUD上看到敌方重力阱的干扰范围。重力阱会使经过它的超空间折跃强行跳出,并对单位造成百分比伤害。\n史蒂芬·霍金先生曾多次讨论了超空间跳跃的可能性,提出了基于“弦理论”进行空间跳跃的设想,认为运用足够的能量就可以制作出一个能量巨大的“弦”,将太空船带入超空间跳跃航行,因此在霍金看来超空间跳跃理论上是可行的。同时,他一方面认为虫洞极难发现且被人类利用,另一方面也认为通过虫洞进行空间跳跃并非空谈。在最终提出的三个方案中,人类的选择有“超空间核”。\n使用超空间核跳跃的条件:*目的地没有干扰跳跃的物质和力场。\n*超空间核充电完毕。\n*能够有效地控制超空间核。\n但条件有限,此设备只能完成战地折跃。 @@ -182,6 +172,8 @@ block.new-horizon-presstanium-factory.description = 使用钛和石墨生产重 block.new-horizon-presstanium-factory.name = 重混合钢工厂 block.new-horizon-prism.description = 发射带电的激光束,其中较小的激光束反射到附近的目标。 block.new-horizon-prism.name = 光棱 +block.new-horizon-processor-compactor.description = 同时生产多个处理器 +block.new-horizon-processor-compactor.name = 处理器光刻机 block.new-horizon-processor-junior-factory.description = 仅使用原料打印集成微电路。\n古法芯片繁琐费时费力,其中湿法刻蚀还有大量废料残余。空间打印毁灭了人类几乎所有传统制造业,芯片产业也不例外。打印芯片产量大、清洁环保、质量稳定、事故率低甚至完全自动化。“AMD YES!” block.new-horizon-processor-junior-factory.name = 芯片打印机 block.new-horizon-processor-senior-factory.description = 打印性能更好但成本更高的量子芯片。\n量子芯片可提供极高的算力,使用层面广泛。介于其高昂成本,普通芯片还是能够胜任很多工作的。“Intel YES!” @@ -246,6 +238,8 @@ block.new-horizon-upgradeSort-factory.description = 构造自塑合金。\n记 block.new-horizon-upgradeSort-factory.name = 自塑合金构造仪 block.new-horizon-upgrader-usual.description = 提供远程狙击升级。 block.new-horizon-upgrader-usual.name = 通用升级器 +block.new-horizon-vent-extractor.description = 从排气井中提取氮气。 +block.new-horizon-vent-extractor.name = 氮气提取器 block.new-horizon-water-instancer.description = 将量子体实例化为水,补充必要水源。\n探测表明,弥丹莎地表基本不存在液态水,想要生存生产必须有获取水的手段。 block.new-horizon-water-instancer.name = 水实例化器 block.new-horizon-webber.description = 利用宏观光镊效应捕获敌人\n\n[accent]优先捕获高速单位 @@ -265,6 +259,7 @@ category.new-horizon.name = 新视界 confirm.link = 确定跳转至此链接 consume = 花费 content.weather.name = 天气 +hide-setting = 隐藏MOD启动页面 info = 信息 item.new-horizon-ancimembrane.description = 未知科技 item.new-horizon-ancimembrane.name = 幽膜 @@ -416,17 +411,36 @@ nh.cutscene.event.signal-receive = 接收数据: nh.cutscene.event.signal-strength = 信号强度: nh.cutscene.incoming-raid = [reddust]警告[lightgray]: 检测到空袭 nh.cutscene.jumpgate-triggered = [reddust]警告[lightgray]: 能量指数上升\n检测到[accent]折跃门[]启动 +nh.cutscene.mission-accomplished = [accent]任务完成 +nh.cutscene.new-horizon-ancient-shipyard.dia-0 = [lightgray]此处为一个至关重要的单位生产基地 +nh.cutscene.new-horizon-ancient-shipyard.dia-1 = [lightgray]是一个正在运转的旗舰船坞 +nh.cutscene.new-horizon-ancient-shipyard.dia-10 = [reddust]警告: []检测到多个强信号! +nh.cutscene.new-horizon-ancient-shipyard.dia-11 = [lightgray]我们无法处理这个入境的舰队:拟核尚未武装 +nh.cutscene.new-horizon-ancient-shipyard.dia-12 = [accent]立即启动紧急超空间充电 +nh.cutscene.new-horizon-ancient-shipyard.dia-13 = [accent]坚 持 一 分 钟 +nh.cutscene.new-horizon-ancient-shipyard.dia-14 = [accent]启动超空间跳跃 +nh.cutscene.new-horizon-ancient-shipyard.dia-2 = [lightgray]情报显示,前方的敌人戒备森严 +nh.cutscene.new-horizon-ancient-shipyard.dia-3 = [lightgray]有一艘[white]未武装[]的[accent]拟核[]正停泊于船坞轴体中心 +nh.cutscene.new-horizon-ancient-shipyard.dia-4 = [lightgray]趁它尚未上线,加紧时间夺取这艘旗舰 +nh.cutscene.new-horizon-ancient-shipyard.dia-5 = [lightgray]先夺取这些古老的火炮————它们将用来执行主机超控操作 +nh.cutscene.new-horizon-ancient-shipyard.dia-6 = [accent]注意: []攻击这些炮塔以捕获它们。并在捕获后为他们提供弹药 +nh.cutscene.new-horizon-ancient-shipyard.dia-7 = [accent]注意: []覆写程序已启用 +nh.cutscene.new-horizon-ancient-shipyard.dia-8 = [lightgray]请等待操作完成... +nh.cutscene.new-horizon-ancient-shipyard.dia-9 = [lightgray]阶段任务已完成 我们已经获得了这艘战舰的控制权. nh.cutscene.new-horizon-hostile-research-station.dia-0 = [lightgray]检测到多个敌人核心 nh.cutscene.new-horizon-hostile-research-station.dia-1 = [lightgray]情报表明,这里有一些有关暗能量的实验数据可以用于高级研究 nh.cutscene.new-horizon-hostile-research-station.dia-2 = [lightgray]占领敌人核心以取得有关数据 nh.cutscene.new-horizon-hostile-research-station.dia-3 = [accent]临近信号坐标[lightgray]会投射到HUD上 nh.cutscene.new-horizon-hostile-research-station.dia-4 = [lightgray]薄弱的防守确认\n优先攻击这个小基地 -nh.cutscene.new-horizon-hostile-research-station.dia-5 = [lightgray]检测到一个重型炮塔,尝试使用[accent]炸弹发射器[]摧毁它。 -nh.cutscene.new-horizon-hostile-research-station.dia-6 = [sky]核心已确认摧毁. -nh.cutscene.new-horizon-hostile-research-station.dia-7 = [lightgray]检测到更多敌方援军靠近 -nh.cutscene.power-suppressors = [heal]注意[lightgray]: 这里有一些能量抑制器,在你有足够的实力之前不要破坏它。 +nh.cutscene.new-horizon-hostile-research-station.dia-5 = [lightgray]检测到一个重型炮塔,尝试使用[accent]炸弹发射器[]摧毁它 +nh.cutscene.new-horizon-hostile-research-station.dia-6 = [sky]核心已确认摧毁 +nh.cutscene.new-horizon-hostile-research-station.dia-7 = [lightgray]检测到更多敌方援军靠近\n[accent]在你有足够的军事力量之前,不要摧毁它们 +nh.cutscene.power-suppressors = [heal]提示[lightgray]: 以下是一些能量抑制器,它们会停用部分防御设施\n[accent]在你有足够的武装力量前不要摧毁它们 nh.cutscene.reinforcements-inbound = [reddust]警告[lightgray]: 敌方支援入境 nh.cutscene.research-objective = 完成特定战役里的任务: +nh.cutscene.standby-hyperspace = 准备超空间折跃 +nh.cutscene.ui.capture-ratio = [lightgray]占领中: [accent]{0}[]% +nh.cutscene.ui.waiting-capture = [lightgray]等待占领: []{0} nh.dialog-event = 事件信息 nh.help-event = 生成会产生特殊效果的事件 nh.help-event-generator = 将此添加到地图的天气中将随机生成此事件 @@ -445,6 +459,8 @@ nh.setting.nh_overridecost.desc = 原版造价覆盖 nh.setting.nh_overridecost.name = 原版覆盖 nh.setting.nh_overridecost.warn = 如果发生冲突就关闭它\n\n[heal]多人模式必要 nh.setting.use-polygon-field.name = Use Capture Area To Account Points +nh.world-settings.applyEventTriggers.name = 启用内置事件生成器 +nh.world-settings.jumpGateUsesCoreItems.name = 折跃门直接使用核心中的物品 null = [] planet.new-horizon-midantha.description = 一个被高等文明废弃的星球,尽管已经多年无人看管但仍旧致命\n[sky]探索周围的区块需要完全占领当前区块\n\n[accent]更多战役有关内容将在以后推出 planet.new-horizon-midantha.name = 弥丹莎 @@ -452,10 +468,10 @@ release = 释放 scanner = 建筑扫描仪 sector.new-horizon-abandoned-outpost.description = 站稳脚跟 sector.new-horizon-abandoned-outpost.name = 遗弃前哨站 +sector.new-horizon-ancient-shipyard.description = 一个运作良好的古代造船厂,主要执行旗舰维护任务。 +sector.new-horizon-ancient-shipyard.name = 远古船坞 sector.new-horizon-delta-HQ.name = Delta HQ sector.new-horizon-downpour.name = Downpour -sector.new-horizon-hostile-HQ.description = 弥丹莎星球上的敌对总部。\n在摧毁能量虚空之前,请三思。\n\n[accent]使用<空袭呼叫器>和<炸弹抛射器>摧毁敌人的基地。[] -sector.new-horizon-hostile-HQ.name = 敌对总部 sector.new-horizon-hostile-research-station.description = 一个经过武装的研究站。\n\n情报表明,这里有一些关于[accent]暗能量[]实验技术,以及与之匹配的武器。\n\n占领研究站以获取这些数据。 sector.new-horizon-hostile-research-station.name = 暗能量研究站 sector.new-horizon-initial-plane.description = 弥丹莎新球上的一小块平原,在此处熟悉星球环境并建造发射台辅助后续占领。 @@ -534,6 +550,8 @@ unit.new-horizon-laugra.description = 未知科技\n发射加速子弹,可以 unit.new-horizon-laugra.name = 电涌 unit.new-horizon-longinus.description = 炮击巡洋舰,在远距离打出高额伤害\n\n\n[sky]众所周知,长戟是Yuria亲女儿(迫真) unit.new-horizon-longinus.name = 长戟 +unit.new-horizon-macrophage.description = 未知科技\n重型炮艇,会环绕敌人 +unit.new-horizon-macrophage.name = 巨噬 unit.new-horizon-naxos.description = 重型防空战斗机,配备切割光束。\n\n[accent]仅攻击和伤害空中单位! unit.new-horizon-naxos.name = 刺剑 unit.new-horizon-nucleoid.description = 未知科技 diff --git a/assets/maps/ancient-shipyard.msav b/assets/maps/ancient-shipyard.msav new file mode 100644 index 0000000000000000000000000000000000000000..754278dd090940f80d5425edc734036f0e640379 GIT binary patch literal 90873 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 C5&>5L literal 0 HcmV?d00001 diff --git a/assets/maps/hostile-research-station.msav b/assets/maps/hostile-research-station.msav index dc01fa27b05e6e1bbfdb40f22f5fd4bebd706502..5ee5a2d9556a55bbed1bff59a3053b1d6694399b 100644 GIT binary patch literal 55784 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 LzGiH@n>SsVc(tB@*dhP{h!YI*HV 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 N$o5X+`2T>tee)A^gh&7Y literal 55534 zcmV)2K+L~*oW#9Zk7U_-Aa?JKQ_#fD3 z`_^;rjhkJiQ4_4Zao2OceLLUz${L@c9{oxNkd+_k{&$IUN(A@OV@#y*P)5&!Fi^;M1 zJ3Ad8j&`S`*=RW3d%8P29iEOS$65JoJbHdInPpdh`~HIm_dmY(=!c)(y?^hMhaW$B z@bHuGXXWu^Z(^Rx+NaaAQPv%votk%Mt@{rinp5MwFSG6Yk3RkQ(dYL+`QgLQKL6~~ z&+grSWX5G)Kg)_={wiD9J3F22jgCiu_Qy?!bTmA1GuZyo{`hn<{opSw5Ju+iyKIT#&386TdGrsku6_19VF@!9xr-;DCnqpW>2*`H-Q zf5pE2#l4Roe*Dnf_I$j5`ZQ}jeDF!ueL5N+JU#V4I@7bm(d_#F`peVN@M!kMFYkTv z%U|8S|HUuQj>o5eXkY!alhJ7ZCufJJiWI zKKSC7V>4#+!qFcb9ZkNl;QiIzhjjL*quJzax;L7+OLwE2{hR+_?0-y8XYBANmPtp^)XE1Lj^T@*I6Z6ln?ph)ZLmr-< z4)?zN$z*@ze_KNOqv6Tv*)*J(O%8`s@wNwdPbP;i4kpKcWbXZo>Ev{@XKBLUzCWFu z{L9Jl=%>T|@!9N)dv`5B#>2yZVLth@li{ABk1rm6dhgyn`{n8Q@tGkSJFwZw@cHrV zi@*BisiBxJjz-h7@!iq!{ulS}-8~w9^~J+`cV~OUL;LiDyQ3#h%qPD%HlO*`UHG1jCXnObY$UOMPBmd|_eCGbgpWGcDP0o%_mw$XXn+?w_kypR$ z!6(aJGJ86lo`e^C>R<3Fy&yRQGyKUoJo1@)#7-Ij-W+(3r^DmDr{P7Phr#nV1$YK{ zJc9R4o{gsa)A2LI1g9g*j`oju^Xb#k^k}kc32fI0GeZ^T=J1;P_wM})Ml(Ad9Ug`O z+`o@s_LzLc;P~0y+0*gJ&^yd+DO>|(ytQ|a4$t;S@VW<$5M|h4dP6fyLS}e69exGxyWe1p_v@)~ z^7z?!cnSpd@Dn%rPx<7ViKxei!`Z2kN=GN=?tOUZQ<6uO((&7Wv#D6D7{%#udN|&n zOlcf2fKMx-`7nv`lj&%0bOQ2-kji-gbL-q5W% zGlaL_*RLgxe;8gn`{L6_%UM;TjJ@|^wR~!Xvj=agqfcH;jZJ@=*2O2|>0}ST^@;k% z{dnv%`+Vg*a0E%y>2N$Trs6;1*M2cF#wf7wCz@oK>V9}Rl2KAVdNU)&hczQlNW2(e zlV?DjpO6lI^le8j;D3BPemXvM4jvevgoDp7Nv1+U51);Vp9JP9f#-(_xIDa9gVO4; zKN}y$@4x>^f@B_ki}xQ6&km*l_|FI`_a9V(<Ji)9^!Bb5(z7AX85cb zBE##$TYq@(t-@DO$>i940p$Su(*2YKh(5JM2|gPg0tq_d@ohDTU`_HA?k(Y)&trLY zZy8|=zPW!dMcVgbXY1b5VLv^aPRD!0<5A+(2|YpZxC}tV4@W41KGsH4oGyHY(RN8NNZErF>Ogv)Dz2Wir>?rk!4INip znvD;~dq$2X26$q#@ymj)` zcz=|5-`;TgIDJLX<#aTw9x=c37Y6nzXz+WUoXy6LtBeyjIv!0AUMzX(kq@YjcFp8Q zhfBsfo(^A3C&&A{Cr02MayvcsW;5Kw-N{!^Ul`^;kdXW9yOYO%YooO`{QFmbefP=a zz(;KlZRFXKu8#>HJsyvaPygJ7qwhU1{~P}Bi3=M4X7#Y_ABFTnA zjY}~bot~ZSo|;b|jHc%Io~7C^{&x6m`0?TJ_~7H8nM=n9cb^Rp&qiO|wh!L^)vtb) zwe8!p{C+mrAIdDjLY_$7i_}J)}Y{1Aj>(5TSqrRW5 z%g90214k7d9 zH$EC!ZE`%yK3En!sJ`QPbTD*xT(97S>|J?bvS%($rn@uaH%+EhSO50RUES17lf7Th zBH68Kj*!Xmqmsd}xVhZT8ec;5qy}9gdGrNBiODw!2fFyJo>-Swx**ap(N;I^N@d zw@!x!%_oz|p}Bo;`eO3r@NB%F4UQ&+ z9l2lay{G0q-N(b(@bEM%pH5Bnrti3-r7;7D!?PuM6 zqmd1#^`=i>Ob+eQ1|04BZ)NM#$=SivUA&<;9Ua)Cr`hU@k%JYC%`l{;Bme8k$QqX6 z*LwKnUpX@@?-?7eZy6vM)-h*}N8!|3I2A^}!@sp_WQ-A)S$}Ha=WpNGA05wZeicrX z_Hb+0Y1RJ5FR$TrpBYJ=4Z z(3+9b_Ml@p#z@z;!&rNEJb9kA>>zvQpI!H}V<~WC6S?NTzT@&=*nzHif$2`K_>Vpx z+H9~t?~eNxvHo!25$k`rxBENnH{j+oc*h!`)c=%I4R-*T{M!SV{Ougo{?v}dZ+Iwx z)BU&>Vcefz4QTVf7=+#LP5aw8wnr1kOKw6#c6b_3o;|jJvcMF8Ix!y%U~q?R z_wUAYtLu!q9gTMPttwoh6GkYwC-)A|tO@QY>-lJ871h~v_wm{6X*Tc>GuSdpvV1%_ zJKVRL$bAKVt@*LgMLTf#wI0xgzdcja?*MT89bgW>Hxb})=88ZfJ{NERzc+x(U~<== zjjeh--PIS?;e^YY&#Wl&zb8`z=pBwud^z9}M~PGfXSN8zaBASSM__yQ!zdyn*=z*} zKlwoZd?oAz*oNWvz}t@gM>jmxpN&q2<~I9w z99KNtGxG_96lKI5gh*rx@j@_%=!&}x|b)n#0qppu0+pqaY&7Dt2PQ?za z#)lsPAmP`B{cF|Qcxs+8?;H3N#tU|^wh!{LZU(cMpugenVRKveFvc6M?7bKsPY$f% z@#5H+xibfnEk6u?YBh{y=m+9SI#3P!v3oc)?>DwnpyQwt#LsZg2BQgg*Hv{Q+_xGi z*x$6xe}y|%0vS0iLC0{_PuX9k<8ZaTZ$-_D{TJ`Ij0yMSF^rm>d1@iL!%iHG4~+OU z?oRL2=pZjTk=y(mugKpBufT5rFa8t8<;mTR_v&;sK7KNp?pX;+(|ad*8sG@j;o-=C z!6oBwo zY_0I!)5&wMFf19;0~_uE>(YihHvRC}E!W(*ccb$?!-daAFDwTl<>9FvA&bJv&7pDd ztUkgsJ>!wNlB{gQc(D7HY2ebjr!oB9HL}d{>-g9frdZ(n6Wze710#uiotC+K%|hyl zRnNweG#q(mflR*#M@DAtI!GGVeE)3k)LN~6aPHT@{tH5YUgoZ`m$7^O__H zyqp*Q$LjdVNLvFh_p3DD+dmthW^4W={9Jct{XYI)I~@PqihdAw;ioN%99n^w4Z<0N z$uF~w@B?wSPB;r+1C+U+8;nuhu(sI=xak%-4;>NY<=>hvWaAl4mzOco9fb0a>4QgcFkj8M2)Jp%c{jQtp ziaYf4@~4e?`K1}{nGsvZ9@^IHGf>@oIy!Q+$L0s>cE{KZMorJgGd9juV^w^GAKf}0 zO{_>55AoC{BWP>K9U5hIJUTN@oYC9<#K1gZP!WCv(d=(^e*W(0D`NzB$+u@sre_{v zlkp+Dv~E2`HkUOQ9I@(o_SDk29oNy&n8#D&CwpPXPpt;{`46v;Y=Xni-v3^44y3K? z+P6lIIeubeY`*q*)d#cA_6|p9v+&FK9qgL%NetT`+CpUWYq&R^oEZDv`K3U!ooBX8 zGwY#Dxgyyp+_uTi`X^fZXOpa)?fIx(cV<4Z_cUui9gYt}6tjCcG=|hPYZ<%CI9tY~ zJ3JhIWuAF%grWVkagmthZgB&d!d9N8_yhyX4sE3H#onQFp`X~| z?x(|j<7St$6KjJR&)XV}=FD-{eQa_6G%GEo+ZXg_XO9oZM^++toDRu)Mu;0T$6PCi zPo5Z~(75>4KQiy>+L=5xcg~J%l%#9eX?);pXAAJ%Cl1*!j1xSb;*YiC;WO)-grC=j z`};2PXo%22&b;=_QOLU?q-SU`arNfts}nOj&zJJj_0y5HLgQzQmwjRf;$`<*_+|KN zIx>RM%A63i4YJ_r_(YtryunXwxksiWe#+e=Pr3JqQ`;xg@zF@0TX!!bt9{))#(uju z)9-7BW(`l`iQS{g{+YqMS6?tUZ$6w1UpS@3^msUvkk8T0Hxn1bb35>xtL~eDT@#mf z3nf#Fx-2w>+p7BeBYgL!XXH#|9ax&t_>RBN?q`5 zWd+mGkqx9+|HejL4~IrQ`>))x;n=B>mB%Azi46DljN|3Se|cnFz~O;q+vnp`!}J?Q zeM~15j5mXx92lx%C!W5r9uA!t9F30bP|RBo@yBDUuh;yuR#+SkUzq7S)X9_Gz2Wh* z;Y?T^FsO~^lc_gm!>3mK3HPNne+>8Th_XtngA5qN+LPF*2uQkJaTh0z_jUfnDl4z| zd>l^}Dd73N^e zaUs0>W{S)`uZk!C)_97}N#C`W%TQAkT@K0ItI4ZU^6|8^3?2$La0!DwLxx`(Qv2;> z%9o{}Nw10}En{mVK5-_wpd?S`hGb5?%`K?qtC7v=y4dO!xj<&*6V!t3QiHf7CgMyV z$MKlt3-^g>rIPZ??}X$$-YEvhlG*9O#p!jt@3y27o=V4iK9Z1-sr_Yl`SJj~>%$aH z`e-=ZA{fg-R9=@7Nu}lSt{*hHD=^A;s^FdkH!BfHkJ+=aA9)JQvYH`1V&>cIvcO)F zQs{kDjFKKYtB1fF-ql?3m=F9tef3~yjMMaGFr|jmQ)59`&9o(HVmv#NOz5oHCnH01 z@=ZQ4;w-P=z+I6aIvqcr?7zsi1-p+PyU<8N@5>tvdW_j3UpX=ZIktC-$7e5$Ei#>G zi_z$=$HtHtoxF11gYUtPmj(~(VFqmAzl_iQ~t)`PrJ*0v?=S?Mx2=4a`B(tVqd znNBD64jV85-6YDJrsKaS?uX-Y5pcNlzz+ z4FsV&d1@DcjTC5&wD4Z0g{3mVjMIK>L%ud%DC+c{kA`1L$r;A7p(Ka0w~bivK`Yx3 z;%p{A=ZI_ki(%}1GPtS9y7=@n8+;cZHiqZ@_|${=)WdG}H?}OymYrtpBb(~(8BCnI zoOwBO0GnnVw;IM0-LqlVwNl(xqM7m9ziqp|!j_g!pP3nzp(#MtaVuAC z#ZX8n6wf+tWwR}0bHmBHewmqJ)UXC1D@S{Wyk2;=YZQDP=92<)-YugqOhTF}H zJ4SiVCWgkx$6t=J&g1C|fGcI_9;>s?a;HxIYG zE!%{n-6LPTnswZ2Ny{X@7(eT{HSuNuHl3K2VU=#yaSKATHTMUfF2l-(Y$F`t6*JXi zTTj+8o}d+Qqh}KXlddHmEBHo7W}5c3k3AQgpW`Q%Rn|i|)i`2PSHb7Q+xT7?boufH zUXcEIh=t(Q_a&3tjHnB(7|!^`izDTRfsJGgUx2j$a$}fLbCYcY_h;tLyfk4_>VX?aW#(`}x zBcJ_+VXw(E2{u?gt4zeOUQ|ARVDYU?#IXKQ)d!Ef?QJJ6-V3X^B$W3p4?7(tMB{9% zz~)vW$```2Hu*waf|FhMHk=QrvBH8f>xW{?wxPyjUo=klCUuC8+ENNbYi65 zpSUq)8;{2mn>6^7;okVr8r&rm(5@M|ay&Vk{p_jhSG4(jY$o*Fh@n3-MvpnnHfJvJ zw*M2mX2BfIvaJxqGHCkG&rVM)z4Z4cMmO7DoCls&-}s zo1sN3nD&OYY;b7I@zIxKTVq1{-hgZL%$C=7X5*19pV^xl+hjT!n&Ef8G;cFXD6m+w zZcWmKdu$+WWTSBg0z9RK=KJ;Ry2-B@3T(}cBhd}RY#)rRf;gU>8U7>Q`gK zoE=WG(tzApq%%qXN8^2~IFvm(GcwXJ^Xe4V4pN& zu_IVy{;2ftJGU3IRsY>~_|S?ym&*Z__NeglFh}e9y9JJ_@Lyx|bud`7M;oc(;$(L1 zeYt#$KB<5>NX*FHS4#Nh_MC%S&jNd!!PFhW1bg_b9l_k5o44%GRxPmIhjNd2GmPAW z(*V{TtszVYIKCXe7GcYr>n{N;+}vsi)4L3a@NDLv?c-R&(IQ81<_L`v#(bXR=vzcr z7N(nwUP?pPaWPi2YjDB?iPKp#aUGa~ytPoDki&a2|O=3teGvw!Erg4;m*!1UO!Jw-&H8$lH?4`jW*7 zuqDE(&4{qTqnJ~=7S1_ByeF@A*tFoy3EAY4w~7O2+F4D|enW96jeZMBzMB9$aXi6= zX1SGscp-sJpS)fRb~0>skczkPErp~PBKge(bO(0699yxWL?CV@j+l*9Nz{nJA_3iP zB;``V)J=vAbqDs93Lu_y5)c%j^!}CQfXxuF#7s(MwGx)^Y63VbaxC7Gu`qCNzT1!- zJt|1HC(vmBd97Y`lfa2&*7KtRhsXlwW#BTUB{^Wv)tmDKZS)(;;(BF>Z&`Hl^|^$k zvg;IwzRPSgk~xSY3&gg>+kj0AfM`+cHTxRLI!C(+^z;ytIikXi;8p?wB_g1NDZC^s zbe3abGl7MzhC;fi#b6t4Jq6wM#Lc8mHYH}<%(qcXmdN{85iaDqH-$+O^xO$#@%=9^WZW8a;BIRl!{Au^eH3mtN zAO*)8p<)|_TSDD=Go>xj(@kJMc$#4fj0AE?{3(gvLAtj`uUitP+nV@+KvJrs%{&(K zKAKU=Hx2d+aD_6m2nO^PV)4jlsu2GKt6e1OmBgEw)RR^?-JH_82}WdulmjI$3cv@T zqK~Ff1wIPN8m$CtY$1Nhc4XlvCO2T_ZRR2aqBq`PU~S0ZHpp^eTon2J4Y)}o>%QLB(lw#79MVvY}>910i3#!hF6Ad6|YNDPQ1O}?CQ zt|9^)Al4b!g{|B{;!ml-Yl(Asb{ zKBRL&yt=5e89344QN7QeA|LvilUL4`%BzG-nTU&0x@M;!lNgSyVqWCJ27VndjiDwl zk(R=FGYQi$+Ar`oK0xS&vW3*k)YUQa;WQk|FW41-O;9)P_dgp!Gv@T})t zwF$9FY|vxlvu~~i;%_z40U*6^CveomtGUb!q>#da10XJtviox2R*Wn{l!RY+O+j*R zXJdVL?b18$a1F^(Mh7e*l146uHc&meWCjm7F`;Htq zS3ngo7|5Fm0a|Y@M@24S@2paHj{L@^#=Ej}f;S;755;s*2r14i?^vX)dVGKl;wo^g z$?8gq5Z7 zIepjDpS@+^KnEgRgDwTIcN@x*7J{ymaKsu26=I;+X5xSkBGG0G$V2uwH??r3JNUF9#y27_xV{X(|GyT?tNm zix&@+cBeXp+({LLt}0CE0+Q#7%Uk!>pT5|g+TXL~s~zq1^EYe=2-zSW8ZSW(5q%8r$Gv4$VjUZ(1T(zZn*&Ez5gjItgM z#4cSk@Te8kxe4F!p&^B`9SLGbyX&=Sq3<#;viMGP9@hl;ye@l7E+vOTM+VkfT%e^&5Cfy ztTbZ-d-J>i{9bU$UnGjn19Sy}fRosR4U@#A5hz3Vgx|=9A4*-J#f!AF* zw5E*1t6li24U;M zzd$5PH$8}j6kP^quClzNLj}sI`midt(y&JpmcgE8$;7&TABlCc1xR+rb(`Ezj(yH| z&zXVAU{KszPY?Ao7m6Fx(kH!MUE_4i3$%FQ5f^OgOsSk@Aa}|O>mxv zeae;(o&!AgT_o?DMO=c%s|oHzh1NNOn1wqe3{ZG@NA?6> z)$kUuf*PzcApE)oR+Vh(2^bMTCRhg`G!I!&2-dK&+9Y8*-x(?@))@>S5*Ptn%!t=a zfQ-%13BC@H)QYr=2xtogye7KuCXk|zoRU-Zj(tR)Lxl@KbU~jp;;O7^Bje;+5*1W|K)T&?=rl&wMpzYB@lnl!$^Dn2o%&>CO%TBc+5xx`xwQ^X;@ z%L(qa6;SRUU&oUdRP+e=y@^b6701#7T!w0Y7=2u#5VL7pVqcBEY>37XnGGW2H3n)m zqC#LgEgdiHz%K&I!V~9hoS;%v4b(BI7`0lAmKWyQC;%xJiZ)V< zizG#OBf6%35|l%53m}%(BkCkbx-uabWk)y7>rji2mPADh1>^fd_po}s77mh&MqnRl*~UOJ5lgatLpVUvK>=NALDhj5{}y- z;5oP>TJIO8iXzS94gA_JmLgH?x}Bgkr>8L+bde!5sX-DhgPx9YNv~(tO+yUk0Mj|m zE%@iiYIT6UP*rtBQL^00MT4~1O$MAou8|1l+j)*I-YsFAyzZc$@oL+{9&Wjwzk-KzYE~=hc)=YFsxX6Pl5oyK^7k>)p%$ajdg2fVDLsvQ zRIGa>-|>KbP3){9a->Nzr~>iSxq_?_QawWP$yY5^-jXU6AZ%T&efE9)ZhDClSi=~_VeGOdKgs$A;JGV^0Ak4<@%oU)D!^Ic z!|1{LYGI!$$>miWKqV?GQ*YRiyQz4Z?D2Y}q{@yyY$oO|)MMK+`4Y&RdSigXXd??1 zn4lmZXI0>raSA$=%rQ}JUld1&_zQXT?S|MQiMfF|ccQsoq7$dA;>_DPjCxe0ig{Af zj8L{+L1tucPzZ!AQ(eatQ%7=2U(P%g-(3ZyFipai#!Fnvb*_L*tljs}?ZLCP_*hAd ziubLcfQ$P0Qj`%-uQ49P${#;;S(NW1!q3QrOIHp zQ^5wc-srL!Q4vQO>a^U=KS14GBAD8R5L)#)rM}<~e{_90=-L9FFK!uZg&NOfd_3?gLWJi3j;gbdv2b%WDX1Yk0jX00ytP?BuJp7b;9z zpZ`cHX8XQZAywN9GhLuC@IT@{4)u;iYK=t7)NL0a+f(Y8ii`sSlzgU=7C=C_IVOfK zBRJCRcohYO)p@T_Hu=UO^&CJ{V%6*`m4-<-SBu36R+>;7!bPX*lPSUNj9GQWoU(zb?vqU3{&nB;aF#W2UYG-jPkW z2<*$5Q}Y1e9+kt$vF@6Cfq^$)yk_m(Dmoe?``k`nW2*TjqbjJlbNU42@BG zpzeKChFy<5x%i2tn1ZnrYn&A@dZElJZuEgg655pHBnn=PEIWFs%1yeMd~vH>P>L>s z8mljc2OJfCs!Or3g3w(-h*K3|gB8BSGw;-Xh*BC#cD4~X1WBy0nkypA7$1cfumx6} z^9b0%{C&y1V+3}Iz$QcPyA8bwELEN(E}6Ek2m1{KcB)cB5w*`&*)=Op<}9lcjjSM@ zMJ7rlirqjOmnI$S$rjKU5{EBklIA?+gcJzfAJoG19ekqvrvzPB5cNx(3@l-$D$E#u zDch%DFfB#K9TI)iZ0v$WOCbrfgZJI81>$=N^S6NydmVl8`WgZUPT%Vp!O0tsE)z1O zyqI~J3z-OE2W8GcGKZ8ys_9&bH{+tP3v_hONwT`HwJ_HvGq;|oKdgoGEy)X#Sat7X z*02*l8C*eL)t&^lujEBwlcQ4)Y^21O$|Me=0O(IuCS^%r_oLb#>gtHD8#!_3Y%LF| zlSDB_X^Ku1Cm;EX^Pg0#+~pOU%@c zQIT5W@VbJ0)c|_gtKRG0MB|esJsLCnlvy(h^-%Vv- zdzZ#XDe0vi5L*%pSj@PDAza@XO8OLlnZOW*3qCe;mOBywq*!=?HwfvqB-MeeBc!PE z0p-*AY6rv&y^7iQh$F>ORO6qqBaBOtqrDt&9chCohE?U{%Q`wh^qkP>J7h0KfHIYm7?DBv_wi+GAmKxX``7Vk+M`n zs)C{m%HA!xB}0p(9PRRAvI;5Xb8=PQSW1=CS~B<2t%Udr!S7-jrxcWvlW$2oc4Q7B zwu-PGdyy_^il4w}fUiCwIUe~v@w19aBG$lQZ~~lz1h%OAD1|X7|5k66c2Zexc}p94 zYX$2LJ6MaTcaEt>8BsA=c$eTPzx*!?y<@65N;-h^1~vI9u~d`rAOhx{-Mmr{iA_Nf zzSPW-qkX}BTf*(YWS7V-99eu^3ovGdqblukJ_H^Yu#K?^=;1zB5y_zGV2 zR{e59S9n9?bD?Oh+Yp0PmF*+5wNDHHZ>%wIYGo6zw5y$m6n!f9sk#NEw&kGqE!1{` zgjQD`@d{X_#l<<0WxhR=tyG zaeW7S`UMh$OQcz8Ybw!?szt?S0YNODF|K((hRh$Q{`g zwCC=Vwy42V&d2!iEkFS4D%vNmXgJavh^TtPw1oar*%3)Ie!1Dxk-#B3NM#;Fg|q5w zZ(jeke|@3XNO(Ym^(jjM@eYP^YLZRB0WM}9R1x{z_3SKMw;r71T@MOu1A@jj@ug~k zD|eZIO8nRtceu=ve8_LSha+{b-#{8#uLW4Dh{HL1K9obQ(Q+V?OW}UrvXq@=zfQxC z(qgonrq5J9H%@f#XzISQ%03zUJ6A%= zKFK+mM?FBd$HG9;WV#?0Of}cysofCbvPN@3dEyoj%{-)amcpLOVW>gNW-aW)D#=n7 zM#s|DwTLF|yh3wBfDt6SI0bIj!cVQh{SoByRa%jd(oWD-DjAzMW}K3z-W1*%WE2U+ zvRIWN9`~(kfOv8d>}hZL-D|Mf|-G@G@!Pjwqj(a;8*<602UcBe8|nD=~?( z0CdX*IC@2>-4RqrOV5+bH(C+~wP-x23{mNk2hTRxE2>0>NHwTZ*c!;;wh$UD^2t^c z#j1lNs;CIJB`j%2O|)vpIeV&lk+8){3P3{YF4XfEY##F*0nq~%QYEFYi6%Lw!&qJ` zJ291@P-c9a5vvQ(RbaKtK3Sm0T!GpY8>o;i=~cGyyG~-B6XLHr2dmm3fRVNmSbe7e z@2_|c)dpz{Xa-Ly86ty{^2%6f3kC_$js*=E|1u0JWww9wpnKoHo=x)A>FSTjoirNYoGkH&ZKg~d44B}C+umU}_ zqjrvyrbIXeb;1ko0IxPg3f~?)R_Y~+zQ|yqVZ^Fv9hp;cKo7a`Dxi_UnO=Yf>0AjT zg}jt%qfE%1T5PpZv{29a)yp7-^a7Q*wUnUn`~gV0Jg1~IL?02=_Y51*vk2mvs~tTm zUbawVEJLJh{uGX|9GW#9?n!)9ReE}r@Pp;%0@4Xal9nBA1wHNjOvPJtb(BNs?ZZ6!R9@u`N`>xg063m^&vcsK=NX3NiR( z1c=iBy99nI8KH=VVoPKvqS0}lper^l^3`?<&?Kec1$%S;54Cife4lbDRIz0)2B|}4 zd4fa9oJkeRQH<8{`3gd#FF9Fh9GVslNG1A0<0+`q?5S%(G&7nj1D${Q3#$#*Lt@j%NvD_50~dqZfvQV9D1x;%OJt6_;n;wG#p;!XC2=o^V-N9NdmTv?D`Arxr&asR3!E2%Cm#2*L%}GBUK`2UyXhuL!etj+_Gf zYs6N#3YaR}F+=NcJpuOeG9XsEN3LR@hf=tHaJeIOOs+?fNY@Auf5>EF9q|`H?V@Qj zNb0Uew;*|Cb z0(=m_xV);+&V-{6JcriHCY76@qd@m;vk|IK# z@GUM#ffph9r}9F%gc?=gl%Q+pC}^`#G}V{;s>VV=$=&+pr|y<$4y zQsgbBw!8Y4SWvkvbO41|0(>aJvnnyeQ2|GNFb%Sle(N#q!gmW|H)B3vuH+gIT1@tE{E;+#okwX{O^fS6}hS1I;Sbw-~uuq*Z} zd7Pi~ev#&Vhk)B}0H*I+2(<)obnCiIm=&z8A(}2M!K3_{Ey=6Dm#_sCnJJ%ys+v|) zq6GmKb;-Rf3@{s{0imo{GzdIfp}OPSiAqh9SLqbx_Wi!U3K15)2t-cWNuTdk6|^gT z{-(fjuezviqbvnk27;UH-Sd_Jomg`#=->~v?unsM3bC#Q)JKUr={K4FZJd6ZNhr!B zM6OHbwB@9EwVXI|kMVxZj#C60>sNNFP>!oIBba{lmPN*gVi=Arlw`d~_hTfo5X#@t zMygG5uK*W-QUSm3nF$y+G|%hv60MJ_1ckdAbp^ic%zcw!J!yc3A_i&LzBBG zeY>gtRxK`ZThDX8Bs!Kav@I$n!!n#@Y7NIAF|E$qm`qkVnUW1d*d-;CtQ5Bpp$J8% zf9$6q3=Gt@i>9PkFH7ntlY?0Sk}J}e5K&ULJfJ5P$5cj4Th5o%Q>yeYi($Z0=WiPj zk?{$`r4$p7?}C+)$_3K1tCB#7ihq<4OGL#V3Im*WAL1==r87X0tbZf|DZC1t(_})7 zvE;^LkD<|=`*D?M>3N00L-%T5`KcS82ZJX`Xk*PtAzv$9o^_#}ZaK&X+4@bKeKGaU^M~ zecP%2cGU&7`A7)CiS_$buOM(-y525Z8DT)bU(2) zhc@E{1qnA(>P?9jV!wYTDU8DYzvV70p(|llyv3hY%V^T>=&qb}JvX*t(&tnNNrnDYVHI_0xdaTPR~d;p z8Cp~2?y35A#bwTP`8x(lc&vWDg`96LUz+30>+729Xa0fzBnD=dPhU-y^q{K!a5>k1 z)lk#P%C2+Dv!{anWb{V06_=fPlntsQ`OwdeLSYp~>fcFalbWwfo_0LXh-dpKi@#qx z`s>Jf-kipI^i(qpJ|p-V#eCP~JR&kPFZg>lBZ@u5({ch{r65AlREdRIbrZaWbfvYQ zTAxyzLZsf-Zk5n~Rf~$ClvH^QEr1oISC#HsR1(}R`4&i%m|>-CGq@MStT^SUqJgqZc3*wVa_qqN$X{ zYLNx4KvwM1l8mDq*|0Je*e|8e>&-VF@5E#i1Dy=$z7ed-grzS4p*Y1AX{#`#vTnHf zK|iS_4)}DxE`-gH5;yB^`i?s7&uD+Jw>wo-ZB$U=V>dSol^l04C?FSO{yBGrW7Ln# z8d<&p-W`;GZuum&E?LK6SX*>%bCBmwRbIsl+xV=z>N;mou6!4dY-^vnd+9CsuK(G! zxBP$hpFc)6a9y;l4d;8U(U>2~uh9kj(oh6wj|vQ)zdleYeqrhuRHfrstjxfD!F|$>^mwM1WLypOd2G$sCqYMJj3e_kC^q>wRs-`qwz- zuS4e>=KkAr_{l|D69cgM(kK!c6laCHCEBKf??w@OO0+68B{toM4m87ZqcXYefQU1B%s!^M=N;Fhehm>tKy;_ut95l9lWv1MkES;QIUkGZB(_`(OML` zN}35E$!!{Q?n`?#AOWC(Z_se3UbhIX?S5a02DNW*}p z9~K=ngaOwi0tT&uR{6mZdE2QT5VYJvD*w6C@j1eUEp$%|@~W0E-wHT%%N0o~MFFMl z`K8&aBjhd5Gq_&>7fJ%N?Vf2s?pey+F-yO0`X6{BrtX#AGc19nT~Il7<;`c$9$B$IUI@2&E5FEJxo9J=JZmSx(OCY zdc+k@?{||NPyxxl<~*@c5XrUF(mdYVUvTZ09#+(OPGy%w*)#zxL>$n=wdd9wg6_5j zUA9~gTKM@!gI!O56|hQmzDe271ID2-twq6an5A+!s7_|A$qc261z6ZU3?o#2^a5aO zOx#q(ha^aJARrcV0$>$vn(C!OBe*JAm&l^B7)8}zsXjmlg)kuqOzx$AfoWopJRw+w zCXabT3Tp}`9+vyMQ3u<$ASB&)rXvZ2w%S&$UkGaCtUQrm$`MRzSL}AmCt(09U|meo z34TMU`HmtDVI_By@l_iw6g;f|K@pr~-C#+XoQ|VLNQrHPkiGf}JN7O}95#>^8>AQB z3UOUS`Qm=2HVcWs1QT>U#MLr$?(~;@8+*l#$-M`vH0OR1Mg3Sr*mbII>tQrg`Rfvm zZwICgs_$qKmr4=Kq6?PVT0sHt09(qNIa17hdj&1)0|L_dZ@2@G`alIKN7f$-*0-V)yQnfaVJb%bDanOP8Q9bwii6gF) z&CS27sgp1NyHEnfy?zr!pWY7~?|VgKrY%ewIPPgws3;vp8~`bu<*1M%W8qY47R!xl zqy)JO*#}D8ux3RCR7dx;pb(viNKo9B_YvL(6d^z?a1H=}hO8=D%-mq_fv7kG=OLl1 zd?xP?Hik142ow!LOyOgKv#JZ1Wj(rlfQVWJ_S+0cF%Y=qwc?0BR4Ft_N) zqg`P{Sn{%u+f3n#7)l|}(ONBcHMQBdk~CcV#rR0AhN;TaRRB97;K5-Num`#8!*_2K zN#L7ZK(~)LN1)WKT$}*?`ce^=7&z4HN>vDbM+y&G1t#?>TZ2zKHLc+}<-IEbRaIP& z#)pI?MwGxqOCw-$=}?Z!GP00-y-i3e(TQy7lw$Mdk-bQ)##zssZ0Kw{GQ@xK%{NzB9ioZ${U0l5(`NP2! zJ1w)4o2~?`+R!v-kfi>40_?P^khjvv za<_7$aC7r}!fIjdUkT@ql$G#M5ML!AYVi*xK?59L{p!|jd})2c*C%6_M+55NyoQ2; zcK=gT2vtoYb*Zx9)Qg%{P2ZGcTOzTl)m?nIJ`lc6$mpcS8-U4GRMc1L)q`mrah?k% z&UkksPDoTD&9>+wSCBR_%aDA~Q}PR;X;s+@0~q)7G!eeP9ALW49t{WbMB2!|@4f-R zHYB^G@*1IpM?kHO+TeRgAXlW&>N0W^BF*tCC5BrKLE?l=z8o%>%yNqlsXaiIHIk!b zXfx~!@=^S@RX~r>4L@lhi#2=|rb)mxc1ak8$E!mTHea^8}!XC9Cg zjD(*0(ABym0R+2vqQobF*>&Hj%Rqcvimz1bd#Af^+9!UT!MarY&%zaNZhPnFH|fMS7g2RWfs-y0 z!EcyCW$hpj^C59rxZHXJsO?DXx1?1?e%VbqeeR9`TXB;P^lB<3)hgnK-UK=&$W{~| z)xvK>0;g34$tZ&WPk8QrQ}g#aLh@bYD3TEl;@b$d)K)uu;hup@PYQ+frq)Y=qxR}f z?eoo@TVT@$VfuP#+&~(7kBylGJgnSxImibYEZekp_PLwK8iA>5g6||^w5rWUdRZUc z{D!mq%)Z4fkqdoONZ|q`gSBa1FeIi+%;>!YKKPD>a=-GoGH}^!VjeiO47H|zZc*XZ z>}|NW)Q&#FhnPnXUSALKdDDSQsWK-YR;}F(1+l^&M~&?iQf;}p6otR>pPV1Nj1GX%hqGVN0kXZBjX4eS70#Ske>N1eK2tAOp0_vWzYb`#s* zWfiTy)E-(i1%;GV&jz;1d;tbV%PSy+X*IwEwO2xIy&<);)nad&?6f4hz!=Ir3MmWo za!W!@H8@m$^17r0YDTYi15o}#xd;{7Ocms)${6>{XOO?hhlbw-jTLf?>;8O5?II3T&8zH_8%VQyzBUR*o1vm*z z86Ktfa@o|g6t0$PEkMzk2I{2JaOi1@aH6H3*hpHuk5`1g4H9*8yAH$^*A5ELAr<$b zcHccDQC_8@+Iz&>K0s3KG1ow-RybXKIR%-!6UGS~MOzFAh_gNA--_X%6(T)AC7Y={ zajNBqd(|4gN-Znk4fJCdR4uuyGz>`_)U3W(iVCt?!UPSlmul1jH2tSVz-y*=W^ZO-O~4D690W7Y{7<^;Y1wlXR=V9#Tzi z2~5;eLP}-P+Xj@E>L8j{S#_>2#adFnMt#(U2Go5^1Sdw27eZxqkablwlo>WsP7!12A2e(@%z7<#2N}Y}7f`qc%@aP8$`eY5-c_WF-Ye$M%u$C+!Fl zUr>h<@_F{BH*nvI>Lt3`_P|MzUJP9xwTdB5v8pc9d1NdW%i01phZ;brX_B>rPv`}q z6{>Ph@lz#f){vUiCO+#pbFK&Br_vfL3D8|0I9_+x&b$F!9GlkXyFU|Rg!cW4_b814 z)9)@v6sLC`xYc@^L5J_7s~8*d+?x939C&CUkS*HE-nv!>I=-aLF=f|xSPyk9}e9x5`nx+?{2avC-r8#J`4T1aawY=h@oK+mqh*Am$K?(_DE zfolXysIW)%OIJTbuq&^KTDT&OpSLJFBXtEC7(vOw>Yr6F(h!o!DHKyp`OXa-a+T>C zpaiZDtai{->XAp_K!>!OS3sO#dXAfL0SkQ%bspF=v*q;>w2!Pes2moqNXkw`dR>wG zg)#@_La~=BchV1{G%WHi(FVpX-0OVt6zt2;pQ|PaSc+Xl5V|Qb!b_llVsj#D;CPn0 z?D(#%0mQzWX}t%879(4inoO=q8%ZU?arN?rs!}NuFOVyOUWScT1S*mV)uQBW2vzCO zvW=uGu%&e<%ETo-&sggSz+ePtw0$H73&bF0pqXQAF&J&9@-^_5Vm!FsWR!5+QjB_H!l#Sz1eS9SJn% zP4;O3q&P04f|8UbcJJ#T;=BGx^^%VkZ_QM1`fjE}anS&L9h!ZWu{Fybv;FG`nT!HEY}q^$}K z$snLaI7Ni5q3IR;bSQ(-bZ&c)j@O>!M?_14p4g@ zAf70NqaNqv*u^T}Nv?WZ3LR)YkI4K0C$kb(-_u^;Z!90dt^xMvg;V7l_M8TtEemj0 zzn{VOMXKO=Ajgtk+!oXGJ0ZYi$rfP6#lHb!CkF9L1l^*>DB|!7Gso{@B17%loP0|v z)w2SjaYJw*3aaxE&d1JR4-{JZ*7f3=8^`k$of7@2zUO_31+Fh)s%pV%)HR|23lGRP z3$zPT9@UcuQ*~Jdc^DWOi}Vqh5OJ+vbvo>sSY_9%K zDA6Mv#WqbSMFNsfEv!*np;1PHjwsx#R{8M-LKR^-5 zuktSoNsg+btO0aa1pWD=)T(_?bpYadAhTGE)UTFx&|Swd(}w3n5v!6z3xu=eX}x7j zn>{9uB=%p)n44e3pCgl`sxeZ@VqU7Z)Rj@lyNbYO=uxaezLgYnT;x)F-y)&yD^Rvt zI~iWug#9R%BQ&)RDB5gKne0L-xue^O0j0LB=B;jEF$V5sA3%H=d??0dhA^2ujH3i* z$YfHzVjX&VByAHwBqCIcd%s(RT>`7Yen)QeJ0F-ySI^4FbKo&5v*K+kBvesFK$<{hEnR}?a*-71;M#><*)1U zL6R%Aaq*^%uporaLqIYH7@l)cY}H%cBfwEus>fD6uzUUm0^(|^&DNHM}SVw@P}JzHZtF%wf*D0Zf`*Ywg3g5BL5B~Jyg z!*;d=?7k=Oxe~)9zPiihF0JyTjkp7J?|2$o*mDcI5Oz)oalHy0#r7@%OfJuPosLA; zNvUYN;zG>VGhNI$IYSR&RkSyfvHu`YFawyWjZcxw2>Tt7b?2q$RUGr>Pz%)rsD&Chl{S%WmJaB~N2G;t zqZ`IOt;7p*L|GYMT_6k?*WzPd`RisF3{hN{X>7Sy>Bi{{_F!(6z*Zg~86v8{p;5Fk z%(5TKqS974ZRhhFxu`_Id9#p00VLezu$nS!TTF~7Ba57$FgM*!j71hL4Eg|F-Nl18 z^9<^kp5^;}W|b;SMOV{$t3rK7iECk?b>MxAoN(zRCSj)FZUO7RQHjtT*-zz(Zy?I* z)!lD7HozCCzEP=u*SHs~7XVSakkYzycewB+o7H80sFiAZkvDJIt@&J{3?^7%XLl2$ z=X-jmun%&QXwuKpA}U9TnHAi}_Dq*5LP&|oJC`v(RF5dtPjyXjl-h3S9BIfv?M^y( zH$Zk#H63LF3!5?QU+XA#0t?rcLwta+YC{c%YSJ|)>h$#+)vQ)(3CD|m5@M;oW8fWx zeah2Rp-vTbQOoOa8(7_fibR!muuwgvx;Jnq9WaQybSU-2npEdih|+zE3ed?u^=rqH z3$~vlyEuHDSBX*~*WgI^#7c-I)m529Y19)CMfxVK@*RT?SFXFGm!ixNEFjIi|BP_&D4fQ0i zr~B`Dc_r4Cwt?yN%I8%!ASE7RHb`1kC|~&Qi6AzuRQ5Z5)5=bp#($m15U*Cksd}j{ zZM^1Dfv8=Mg>_HGA}X1ZK1ITzlo6$ibQoOV<0DDW&K!)SH%X+ZX^W3)=%h~(B3TiH zT)`SrnA2c6a&5|{c2bIVAy9=yD`Ma-@Uetb?1#RI5@Z#LYgaVdZHTuGhBA`Cb$GMw z;dO(c2H08wEHLz-M4ziYV;wHHQRq|C`WB*s10rn4swICH5ulXyb%&J3VDD$&*q`5U z;u63SJxB9@@aAAG>_hbg8M6W|J|s}>j5-{}1yUqIQk6*=qdzFhtjF7TC9#r(Q=xm= zAYAOqDZD4O@FJJv8z7Q%G_uGbXu*dTs>^1^US%-Yms2I2U#-Bo$Vvw!dvv!Y?8$}` zA*uWy+RM>R$+e(9f$8eYwRuy8xEq)ixlq5h6pbOXMN9q(_a-Grp9F9Q6VDUPfd#@p1+BbiL8M|+y#8s2F1LQfgVokoP zz78)>K+XN!Ziu(r@@uNVN0n`%24fx?X+LC6W|Z^hd3QKBG6@1ac#i4iK!jAkmXN#Y z_(81Wb3|=N5CfnL-{xAmLUKm+#@|Rac*2 zBZ*~rIZ7Xg_~t#p9Iy%dAkn*NSOu?RS>H0C2nE>H3PPH5k57TKVtZ?jS{^B1QmXQS zr%s4;Y@@57Y8;|X4k9Fn{jw0h9YifABhI@?T8k5hC|)m=iBsauoX_FvPLUwsTEuq+ zx@kb)SR!<4f>~}f=4k6s0n-68*jfc`%%fr`fik%vXV@I2_LJX92+LI25igq->q&SR zje;Dsnh4Gj|1!AvwV-!wJ>eZ8%?fFj!O>ii6iW09MP`(_ShfqF5|)utXQsFs{h*pu z1c+}{;ZhkGykogsyGc}B`=R$W`>8GG0ITmLs9mzv>$XH*!4@<|%&7$Yd8$tvAuk7R zWQ#HUl9jCzYcTn&K3)%E+J$*leyF}%)Qy4%T$U)@cVUns4I|)e zG5y-gNrs*_q9^2&qsjsI0_qEvOv6*MbvWI3AZ^d z=K`xG*puNZe8_E+*M?WkQy#sn#Zl{>SurDxzP>jGU*BECrT6S+u0&p^49IjfA4rv^ z*t)J?08~P&O-OIi=v|bvM9ge?i2vBW`Nz1@8}Q+|0`bv9uRKR=IiA6zIW`rXhXnGn zYBaHj77S8%PD_{&y#BeU&1xxON$bI2iA`TJv9cn`8K`d_aLvQM&!0%`rl3rAREDpM zcxVns9#L&%p%p|~%c2a)=R&=naU;HtUbOuBmZM>_<=WY&a?tT+3rT;7qk7-cVA%&RJ+p z;)AVtjc*BFkw7hPLUackKtVLLjcjUVEbJ@?M{eVnb_E8toy`*&eU8ScdPktKL@X$P z@dXu2QJdlqN=f$EOU3R|>e+Sz=W3SjyIWP9(#09^g~1Tta0BWgOBN^{RosVL|38il zn-b}u7icK|2bIXM7hV-GU(bk5(MZ;&inEePTScD91?Z}gOe&_3ugXyH@Jj7snM+1s zioznQM?eK&d3_FEO<-Rw3L`#OJ*KI-TB;#%svLp#4rv#{DNOD|j#RRW6rmQz-%PSg1pQ0c(L1Wj`TF{(9#zKxyw1bv4 zpBmG_w~AwUydO6a5{&8!!y9mXi6SVO*G<&DzJn^dg#oY)HiE=k0746&GN`~R)l~^L zh@5#HD#?qKO+x~z4z;A6NhMJ8qnZ-cB35m+AL;zNIR-9E%62 zaZvMcQ{6@?xrJ=sN9wdZ^D@wQto_JsVZ4P@Vv|T0RYsOV{2~aRD1CNbz<`(sUSqBT zFJQr+u4r6AhrGdC5PmH9m?Ln=kq9&%^JPDQ870Vq)D!7F=FxjhgYJ&X9}A8OgqkNf z=Ma%H#Kfy#YJZbVXL~e|!s90KLY*vzEUmyBm4)^Y?5PM#I{!iO5~!u?;q;3NlGlPZ z(YE(B312G7NZG~9!XkjJRN2QW%K^ozlI6e?;&nwm0e0AHC5IBC;AM_%nkC-H7b%0C z?Ltj1977`fY68($5%72z?$8>bC& z&iV;z5;zZ@KgDBX3R9b%DP~gXpBzo5E7Z+T@UQ1kw%{nn+agpz^dp(GyxKZN)Gvdi zAyEY;Ne2JTsF9ER+c@dRWY$47ITHgZz3#&Bjx$8mzFc#18F;#NY2GlMx$;9^Rh1ykv zkhfEZ>6hU#arK(#!KG;I!Yt3J#~?*|>$hv_;?0}LDfQ@4u`~)zCXzn7Bq+7pD^Jx1 zBJ@jzf|n3@bwMKNCQ>X~@C%1zN@25j6EP=%X`W?jWh~%r9hXK$A-xn|#wgolh%a@! zDGmEJBG2&~S-CAKxf-Cce$x|Tb|pn!@JC55Vy4ux3`h6A1uk#^M?B&!lL+`g{9JTo zc}PdzTp)f6R!d@VT0Y+>gam0ZaBe#d@#Yjb)vmTAbn{xgse-V2s*-w9Ku8C?o5J z*BOCmarfDO=2(6U5$pKlY`C?o7A*^ccvuI?qEleZEk>EnRjLdTRS@G#f#lH(td)*8 zP?XjeOS{+e&J;-Us46!F4F$cA#-fAnwuLVF=d{q1;wmjLA?6hK;T3sYiOkc{GLo2e zSct0RNlMABFH!WRI_5KIR2h&e9vh-+&Cs*szd;E%q5bMhRTN|MGT1r>TX(_|?G1Od zju_lR{#cVQ?MMkyf-#X{Ar*XFM4l?0+XhRlNk?UfP|Tu0Mk^aUw`0 zpB+eH>B>knF6~&lOX$9oUcyq=C6ZbJiJ9D}C57&GA=ng`zKLik+}xls^tNPJZeLa4 zyel!iN)bLbtr+4;2e5|O$fkrwB8CCpvdTz`!|xSB*LA|0*N2cQC2M-=e$dW!yShL? zV;~6loHqSbfL#`;jFIAex>Pb-?W)G%0!UH$JjH4(ii74yE)hks%^fsJIv{QqDzw%@ zw$i(W7eOhpQXl93U&5bn_Aum-o zoC@&|Fx^014m$*5>0oV3^iWDeFK&~sayY+MgbtVvJ+CsrOoKv5E&s?aS%r_Qh2Oeq zngypfHLl4El-yNvtv-v#t@Sdfz!ms;PEjx_`Y96VQ5==BJX9a`RJVn7(oD!qj@52> zCV@p)>Irx5hG3FvRMhC6I%O#1aEtWzN_~zVX3V0g>%47uvyT(jVn%LKC(1a%R_RMb zQM$jA2xsMzHKH;rFdON@RkQ?2xH%`dhd5HfM-p>U(Y%5^Sr2eTMcNw-?3~q>$iK>p znG`#Fe#>|+NU{y6mR=F&4;@U;b zbjc13PJ=!5rOiRxpmyU)HPxUA&-dfJ8Agqz; zRp2N`KBtIguPFJBXEh~8l?a6=HW-8|Fvyq~i4}$5d8;9|dWbDbw5SI94zQ~U91Rla z;rL$U){@(9$SoLKLJgouxo450s4M7O2oO!qn{p zRu>J-!Nf9;WJ@L#;mPfM=zUZ=>RPvOJB5*?536#}TB*T%rk1ro8_=m1y=BJB*%|$lIg7Om=!?Qd!Lx zY@`%^S@UU{Mmu@~OC@62;)}M9`q>==yd3DIV-;gd&4g+lhiUQjM2M;W|@oy@~|v&8!jA4XHIK zF}zWfQ7DXs+EEmQU>ESYt3#nBxb+KC>UYiSBH~G5bm5cVMAe4jIpbTRwQDwC}c@-b=jzt)nOi+nh3Bp%vlSNiwG^&C? zFn-{lUH5MmZDRT6Eg%`#dILuSPD9{Nm5$@9>?4Cfz`4ZMFRq=AfQyQzU=$}{+MEOJ zvJ~f7B*wh9JRuZRtqYP0Etz_a70u;@eSH0kB1?_lT(G|L>4~Y#C%Ekq)gC$Q#guX zPG%9Y0Y_ALjIHY7E2+g3okHY83rV6VuRMVi3HDP2!dG3AskW2^)>-CTpnD}|_PJ8b zy@Wr=mn1--j4;jW01)S-FUgZ5n?bb(aYs9d%fPFm6%Upuun55ooK{WcHvmF0F>WHo zmPfP^DNQr(aw(WUx|T$bkn&t?iYy)y^#%QGB`S^xZ^#Pt!pc(aey7_lZvJ5C_iR**JwNdnkJVi8>s*1tc8 z6p@MvQnX@|jew*39M64YY3&<4;SnPyvXGa%)l77^t*nWI+yQn5K1UVI-m6-5NC zL3`1WJ#Ja|8x;Q+gyby`*gG}&%?p*%B@GrU2L)$EQekJMX71ct0(AAAABsXGf>N8N z7M>WOCtIhG>q#7bt0T93fQ55A`I`v?N?8pq3RS zZ)wkTyhVK5kw78ax!bR8xXILFpNW5;@)P&@rWAe4NuVz;sHw8#AGVUI$38Fdg`-plLS=TlT(8^)mT^Tu zXe^pTz(uSBm&Fu-nUoffWB+ZRZWTzTKJVmP@n}FyG!#f-=23!Tsl|j+HmN9L4uF7W zO4g)90gwaRUtmJ;g8VmXUr;8+YfJ~eUi8w~zY56H>zEs?GR0b)5H^g%`4?Dq1vPR- zmgNa_Qw4+yN4s-d4B~w)2|c>6XigTUT3;e%3yG#=ra_4fF@bBXCcY@Vo!txzJ>3V}Xp52@VL5OaQTqboxNbac4XY~-kuq4NU;>>cT#0t zgBTDRWviA#yj5kTc|hRnZx>OHK8G`g?!5*>veheDEB9L9)GkExCOcPz2HdG$ z_bL02c?5`n)P_PX!sm?R0h;HkNVbJX_LfDFz)X6}jEagfl3`uKQH-8Bt5+#P!6_3m zg+^2bLxj3HaZZ&t5Xw}-ypupw8!=5w)cc4s%BQ%WYf{qeAdRml#!{l1(0vTiJEkrk zls5=Dj1bIZ=m}wA;W;Qdglf_<6nWMoid&4F4ZM_M-5L|9 zP?Kq)<&n(!Ye%f`!i^Q?yFBMRIP zj@^;dN-GxKol*|%RVa|6<-iyixKUPGhWxPxS`CUq zfYmmNIE~6AFoqpStEt+BRb)h;UqGGLt;JxYwqsdI~?u@D^$o3x11A%R0jBNU=m$-Sjb43-|zv z$R$ao8q1=s>>GWwGzmC9NsCM|SPVWKK$1ra}Bx)z99t`S>M zn}{BwJE*n_)J6;U3OQBy_-eIz8B0gEeZqPnv`f>xP^zw_M1EUOAZkq_IhXvA`O(7* z6dF~51&`f8P=eScBJt)h?LTx`9wc%kKt!RJ*uHmbJTcbn7dknc zrsJtDGP~!MXsqwDu6R(z$fAmhif2*r>YTz#(rd@gZ`_B1;Rt zrb57K^q$$V)FNal#0WyzwGD3(ftf`Jlg8oHsCT}=$2x;OQFd%BwhCcFH0AR(hESL^ z4~f>b=IJyOInUgb>%Jrtacf~?zEY8(^ zIpUY}FPU^IFR6NvP>o1O2}VSyY!S%y0>#W3YK2)FM0iD2ME!1QsYG}ihf%-cPzjkn zn`MH#6Ie~Hew6N4+>A7)gA%b%u=!}wspNiFETRzyw zxD4scE};yEMm0|~$P{YnLmO4ltrU@|)m^Dbmh3zn)|%H6!wMRj#L1}zx~psiDsxr_ zMX$h#;Z#-~Ljt)247O;=$B>0!*9u@no(Ch{2neOVGgRo%#^^$i1y*q zc(iPo=C+1|R5q(JYgZ9l+)gZTK&3BeKc_Oz256)fr1^3TDmOC4Q6wl<5RHv?jxN#L zE<&r)C_*Z9REs?!^nOnQCzZ@@Bi=fQvaUo_{Vp+m1Re1fW~%486q^cGWRF|)oKw9@ zpAtb;*s4sa)nJR$nlIPE?l7WxXfp=m&?tnbi7-t?-wI^4zL#N@7IJK5P@bvKs0F-H zrEJQw9H6}7*n+QZFct@_I?S-O(rUOAkM$QSu+?iS7`>_coA73&ab0ewN^%uGnu|zb zsu3ILG*J~Ag9lDR8qIS=UWqhL0r9AzPm$j5iPm3sbXWvlPwUGzC8i03GDPFs&JseC zGK}(3RR~pK8@8EPCG4p#4H5cI6^Iqel*pi*tJ)5Ppix%gEhWRaM_NLs+k#{^*xsdl zJx}!j52|kGJt>B}avo$jkR7`vhn5NraTiLU%;`KT?Cmj#({}|z*DlSHXsPPmno0iE z*Lid#276NYX3UH#5~Y)+6to6M=@n@JQ)0gov_)%Mt>YQKXRTw@639@=@q1e9Q~ zNI3|bf3?bMi`t$f?0e6@ikU#6DJPi7meqVV6pX6;O!X2_iZ6wuRO7fz;*AVk>e@sd z#)w%(aWKEFBSU)BEHU zO2ps*W)8ARpp4p&ydxRg7l@+2MU{$$lz%CdU905^xzKa2;<2?N&>iAN1Y%1+0Y0pERV6rm+>yyTkR<_riq!;W)+L4Yfd{=+plk;1 z39~mBau+^9<30JazRgC4cq6}OAO}h9`~0L6@8g>&LqR9PkJ)SN=33K_P_cr*R&-C} zBgRn(?cp#aKF(FC9*v&f%quDT{spR{!ryY!6FT*Jz9SzaDrrYBO`{Qpk;|jh-WrwBTtO8$HrIM_o`<%!nm%4 zcMQV#{=)nngz^IHw$*-qdF#^d0a|Mz)rM*XAz`PbRswc2?vgZ~EMt9rCq zfDnvs8XyP1JK=ZEM{ECt5noG;xE-kPT9~D#N=rF88|iQ4NZFNNzxfqA$G7{&Mpyps z&94N0=_=@!0V_a*mOlFCS|{+Kg>sqyJM-4}vmgE6|BD;rN|ycJuQU2@@T33QK;_@% zS=0Lh#!DuLia;5e`=6=Jz8i z`L_mFwO0eRbQH8f`V~Qn6hVqwO#Y{gS~B&2po)K0M-_o0tk$>@D8b4CtLj>T0&b}B z6oGp4fc;wuX*c)}B^$n#Jo&%OmEX?(@W0C(7OWP|v;Q|+kr2Y8OWmFSx90A<`5*sj z=HR|6?zwV2dcON~G9CY7a=iQ1=y><>=ycc!Qu>OgCHns|3Di!|R2FClaJd%by4Bz- zjJDcuTM{+CuX_HMq;mUTkXu0Md5~-NVmH_k*8(K8ECZ_U1cCv$y{@fAibB zKmN&||MNfnKYsV$|IR=E)Bo(>|8MvI^4|aRzyI!E{OSMS-j~4HQIv^)-S3-BqYW`cBno%iN-cXb`#ebwXN{xML*)VoN@9B?sAMwNwS|-4p*17iqqwM9wS8v#| ze)GVfWB>p*v=E5n!F*W!M{%{CU5G5M%1-bo2JiYGe7qhUz?mahc||?}p9pvI3SP16 zIh0pCcsu{QBl!CSXZrr9l(QQ8Kct+A9l;EAqXfjHC5EFNsAq#g$0LeVCY_VZ;L(|G z8Bz@V3dg{mF${daz`$4DcKuB^-f_)!|8VnL?zs81o9@2mmYc3y{pqtF`tYeYoq79N zpSq^)`nk*JRKC6JiA{5stT_AJ$3A?^ZKtic{8Gsy zGNb@9Oce^7YgA1`9%7%vXv=P!TejdIyg3{}M*|jf-x1+cnGE9@)EP>GwuW zz4P}?C+6;0^~2*fJXBcp+qOrionM^tyC*qUZ=CvtWz%l|dFNeUJ8{j{<)gp!^<(eax%H_R zFK@kL)Xjf+%VX!|4*B+!t3R{zy+8Q#jSqKD|I$9KJ?|OYa`a`tJoxBQfBE@wOA3Gg z)TQU$|A~cnUG>}EH9t7w?ynBMI;wYp|CdjE@R`EYUp#U6cV27y(3*XZ`OZ`Sb?*oN z<0lWy`p@gmf5$18oPVlqepH_R5Ql>$0T&IP?h*~F1T z1#{DhRK^=JIWmhb299>5I0k!U{nKDWm553RE2UwjwvPqtM(3@;UDJT+hioRAA|TST z@!bAR19Q&qUp2UPHNSIm!kwi}YuBw^yz)-@5o%1Ng;kJajt@SU60GwEl4sRjdWhp! zXfNS#0wC~es)AP@Y=`DV+-m09-lO6TpMEITw?}R7A0hJZsVxV$eC8ML?>l>X?f{s6 z$DHp&Ci&Mo31CO>Za(RYmk|^9;jCa1wg+Gzh1_o5QW1?AATw8=zUJngavl z3a1k6Wc1)`33BQOvPk1=YL>?5oREL*#*baG{j%*7@0$4NvpIPA8!KOeOavkrotH}( z-IEvHa>+G^toQfnxa7DGee1C)zx0>9^Tbbo;n`x(+S0*i9d+G4uN<|<1zX>B{&k=D z_`SD&>-q7Aef`5L?*6Ce|G4RrIm;gX)0szHdhg}`)_2KUWl3E_)N!dA35)ytH1KOqbr@?x$=fd zYv20frnkTK9X~H0_~p@$uKQV6(|-TFbMadaKI9*N=$(A@XDqm6 z>X&Z&RPMIJ|N8W&*N(a4r6;%l|D9&OTRh)ksp5Icfa|w_ta?@eZe+G zxZDf^7)9f!O~4^ns4n2-Pyr|RsK}-*#N14cp?9DVEGEh@tA~a5@xxBml1YiYq8l+> zuIQ~*DdpIxWjYNc2}qT4)WspIN|Q$UBxRF~RhOot(uF<&j5F-TIm3<^XBeY;Ahv8g zXRv?Gz{wj1H*>ee9FHD~x-CZOZi{pJ&p*FE%Ojb()){L0+fgz*CZ_3I=L!Tp*Xgj2 zv)|Jnv_jbwC51~k-p~RA{*}S0up{Lm7ulG>o$t$w8 zh@239Jl&_*R%aV`hAR=7N6HKaOj4wiZ8b|LwaQRw(v66}i4$xexjy0gk}9MeFO(F9 zebp>iBztT3MI-?U>hxI|a!l*y_ecf9gB=0OQV&utnz4^XT(1@jmJv-?u}m;xO{yIM ztKxDciF?KQoKCM?uDG-A&X_UdwP3AZfYt!pd$d){X0pJA(ic`Ds4&(uaybo=l#sA> zsHUI23xUxl!6lP8i9#M65h^%>Y+eYR(P?V>{k;dk<*<)}Jc5F%`;v=f;RwX}E!P;brm=@vnNlL}jDe4omDcEehE(iop&|kDjbi}!tv^*t2 zT5eiB`0fp7uiLVAjUplMbeE9h(m`B$%z-&Jl`x~ELFM zq?=%qNy1Da?o;HC!xPAPl744{F5j}|Z(gx$G8DJYW2!6|D&>KlC=YB6?%Wz+_Jz;| z>QNicy7QrA8)7x%CobfL@d9z2%%OH#;P5PPQNNGH*^k!Xz8FSiNRLXLXft;#q2u!@=i+nbuFK8|Z7)s4K~avN&{6J?F6x?K%IOY}xXj&g z!Dlb_YmsvZQSw`o=lzA?In!xdQ!tDx!2oBuBkpxdHsZPA1vj8RN&G83Ek1z zGB9nuMVBi&X4f5Y$ezce#51|b>SUC8_}5dOgZIJ#$~20$Za(jy7J{o$rsxEn`juo6 zH(5+J1h8p=!zIParaS*h9cWU5`h;sNiv2~d5KL7Jgg(3qz04I5ojyK83xmF!&TQO| z;z^ji!UD<0DwLvDO2Cbn_inQrF(sjJzTHkwT);bdB*SmCb~n6b7-`B3*%gvx;hvy& zO#roVIVRaT(hy2Vd0*KmUGjUY_2k&dlwEs~F?;0Qxg6#sFltwCx|x)f6%ytdJUxKd zN3&;qmSM(x&PgOFO~p`sOiaaSR#XipE{)|X$J_behq4DUh%5CH0B}H$ze?Ohd;RKx z!BzcC?wj>3ydU*KRhKKtM6o`K7SFB*yG10+m1^;_6bh8Y;-qkx^JT??iYCB|Y&Aeu zFYuw4wY&qurOn%S(K^t_+NXU3w(MZTK%MKdTcgD^|Uu`|$_GJhC%sc3& zD<3}WjQ4-<{&(IyZQ=)Cn)lwHzVhll*Pn6m#W&ox$GRgH{p6>WeXm^lcg5LHEIg_B z_s@RgSF>L`_WnaV@85pJY3IINI`x-V-m>h5kB@2o_>&L3Yszcyxn|3^9{tIsr;l0r z&WnG3$*C(Y-+1;{UR?HHcii^EbFWQ3>d_y5{_wMNH!Qnx_M{1qJ@@P7|JruriZed- zr!#N9?(~VD-S*TYvwOb%=Xn!f$-nl4Bai!X$32&|y*T&1hyBNzFHd;jrpHg+(EXhm zTTXkv{i#(KJpxX_qNdRJuO&>;@P@)3aSIQH?JU46YfdZKMwe!B>hwiAZpGJxGx}c%9*U7s!ZSRP&U2055A3Mf7Cv*&m7uw zM6nSj?$uW_(=|&HmMBr02}_GdpgpHH{VSP7a@M*PMi6UFC)q=zp;blR8xp4CQ(#=? z5E;QrcnaB;)DQ`Nx1H90HX$(oJwuX)^wb}h+|Ck_o@<$~cdqxY-f8fKNA}tuGUg$L zmgZpyKq?NyJ3R`kOyDD&>RNdSDEz?-X!w%LgpHyt?gC_HB_|F-=Be#z=BbDA#BKnD zM!;Mut4N!gk}vCk4n(lTbt(!#zFb9FL=81tMvxpCQe~vp8&JEfa zfQbpuT5UI~E@#j*Y|{EjaJqULS&NND`<>~flqUds+<$~DxZ1mPO0pS_J!RKfs%8U8Z44++Ym(;1bYB57mEpo6W zz;$SP+Ctd{riUD4IJI(QFTk$4tGz1|lc z+tq$JxrrX z4(|sS+BUT9P?(iY|4NEHR90gC>s=*C&`b~Z3+bh(sq}3aqp6nTJ=Ha>`(~ONK44!7}l8QVkWJ^1cEu9N9 z<96E=T#nj*Q|fN;yJZ=%xbK(Bh-u|K(lYOUeT?7Wg;jMaxbJKwl`cZXFg@}AB zD+tCBI#NL}BITy$h*}wi&4xOh?c|kIhk_nj400zIA91%@jlb&97k6bmgPLBWYF|ca zHJ=F-qaFy2j)%Sg z<0rueEwG{)sYIS*{#1_nR5vovHjR}?s6N6QE;;PYD;)SIA)TRJxO7_7ruZcDPB4(H zyxM&>LlsUxoEhX|ZW+F_Rp5)YA3g^*~~O8OB>G+0^7)GS=_4zt5GbvDyGfo_7{+H>Ea!PX1&$2o%4f52g~q z9;J*61>7@Gn~PyWU6^1{jdjk~h$Vdw1V3-_vs8Y;YjwHH4+7<-uFap?RNEPJ8K6NG;@RznYwOX15d9a22RzEQG9&55rIlEK=Olm&Ljua+csw>%5PQ_^22+kLZq7CDG z!^F>&jkNgeWaCCnVYs{C8(i5&B`qee^7nksQ>)fW13sNL&Je%*QKj}R@R~Q`kcEw@ zQb*aBWm3ypjzBfanG95^gm_N9(ah}pn(4QpFzVC~!_w$sGgb|w4M+=Qz{Z)MhQ`BY zo&(6DO3b>7{5z}Xf2gk1Lal0%-kU6aqWwCL2zRb<+^;ha7r{)pAUMy2y@PWak_7jC zpxl8li})EAVfmL#mQCFcX3mSK1_64}`pvv_?al#9S#0A&(jxmr^Mhw4{18UM?G;+8 zOaPZ01y{dD?5akU4nBKhwFVJXD4hZmw+d+g@ezz>__F*y6=-0NfQWskO4-m^=ETVq z=TMn%lX+piWy0aN7SvU|IwLRZ7N+^YRolc!eaSnK+?=q%AB2O=khls2kmDjZnwkbd{*K$h~lf9+3Mcd#H}^;u*+ZXDU7~ido=jnu%2=n_hHQ zmh3wj0U9j z=$o#s8ra+)vjo)S*NAW$J3uo->b~5NDuAR2J75k^=3{D9Fx_xvaPH7+cXGQy7WpXd zrazOnZ`kgszBV~N+W1bk_Z!|mp1-~R%9U>ce3|aN4SRNb(5o9@cC=?zxAMuLm7De1 z)mqW#(A3Io-XFacl~}obk5>!-A;MUsZ3@CuiZ(JVDkW4kdM3f(?;BS9FTuU{8{y65 z^DwttNnwyW?8y8f3Rz^m_#NyHf6!JqrquIU`=&>gMfJ7XwJ*h?f#p@b4vP${Bk$d& zK+f-sD>*WT2Y}lTutOLUi^$1aF~YtD734nrY{KfKdH{qiaxRS<2eP-fWTPOs2In06 zk2~o8fPgwx2?k-s{P%!UV3sz?ja74-y*~%vO{WXVZw0HVn==Z_E0%8wMS0h4cNd|K@=~g%WMgQL%vC;6uS8 z$9PQ*L&(M-+bv+_Ab6+v%V^S6vutu*c2SaqO<_^-k;omP6~BoBxSip38A#s3q|_H21yR)_N=eGQ$dznrg54zCINwAr7J!>hbdoJG$wbFg?<|P`kyS{Q zHC0Pa)|}PaO$b@c6ov-I9>s~hRPH^YNX(vNx?lEOZ#a#vK}NQ$;YKJ=*}4PY|$ z=U{fCA3cTfp{avW zb00wU1woU&@@35#V+x&6*`%v=)kXivCFB|Q2MYVSFd;biQbz~P1`)!8>Hd+E&*E=M z@OTKTWp+u!gV~W+@NLswUgPYl%EZ>}`cc#$WSJe_k^9s1Eq+%WvXtvCEW81G1TG>; zEh?HFa-#7xBotHahZg5BEBBnIp$ZpGQ&ma|V=`7Q2pLm#Wl)mup-OS}YtO0wpyW(u z+6VS;^;wtP(ezea#F|dbcWpu6V-s36TQS|M7+Nri;xKXLAwvOk_U(hXS;VQ;Y!>mb zWv__V$X*e1;(JAW?VMF-?e(3#<{W+e{58KHc=D{XE*l3wKi7lxKRNAEut+enUL83H zbgQTk%w9?u=_422^0sTf-1f-cEla=GH2WRTeyC}F-|pX1hXlv+HfI{_;P+Huvvm9sly)hx`nle&vM;*Lx;MN?%(`#?_)oj{ptfBzjNsU z-~7z&*LU9awG-DYTyxaEKRWWqiw-&I>U)oPVAb~yJLaI(A6xxDFFd;SKc3$@cHadZ z_f7up;h(?kCtX|b`+@h;Ycn_8vHMwr>+iYszfYO@7l%Bl78~6EOR)1@nS-u*?Hj;{8%X}eE*#uBou~Z=@ znVGrVBh#hgF%*gEQvVlpKs}Rlt}4++HVteJ{_kJ6ZbNd;RV5*cV7qo#@|8^8(Z?j~ zC9&=$)=R3t@K>8vg>o2~$k7F2FX$!|LyB0otOc{yq!^NHdN6IZmuz*(g6UBMh0V`l zDq`&fyIVG%GuXdo;N%U1n};lz*1=QDj?A9e!icKF;e3UUxpAzUf^jJsMg-&D9E*sv z*y|g^^T7}?bT`cAu}A8mPmp`jZH5i|Ct$-Q6&udpvT1Gb!8s-pbjRXw@gdy9hoFV$ zgu{*M0(Zy4c&gYjGV93VTVy;KNY@X-46Q46nJSBn)c7C=AL)J4Rwg>^xaAYd=rM{0 z`zcQs@6%?iD=aPvinOC|WBh&HlNEBZDzn+EyxqNyiZrIEoJfcPEV!0%O$68eE=Ec! z^2Ms`u&)uWD=Uvs`wbq6efu!DO=ORm?RmD z6OuGCn9Q1<=1`^9TZ$g8wU%!4m?voIYqIcAtSIzfgM*Lgwv-6AWT`6MaM1cUY#2z~ z#fsnU;&al?ER=^*HWx9`Va2euo|y?b)A8huxhT}oMlW*S?ZF**@=2&xA9vBoh&a!R zR5FkAim3h0q;T$QR5)v68pFj7bShs>rT2Ph!&EHULoK)+>$sHo9U{(Bp^Ym5T;lUx{T*gPqpCK|BIf{E-@Le`~C)T4@86=EMh+GaaGA_F_ z6LU3D%gK?naSI7X(%RTgIzu5wVXMJp*STtQ55IY(-YJ;o4EdC(&y41mH1kRAVnRIi z?mC$6o_c4ODX3ayC{1ferkuXogpc8lq)ZcUAQC(?E21hT#8mPpT>@x)w3n6=>IdnN z9ZhPr=?WR(5TsirMgt5!J7 zD%kA|CRd6+$V{#jIch!IrJ^s4lgC8$0y%e8eJI(jQZX+>vU5k*f~#=uRBLx&vScSF zmv?d-13RP)>0t?Jk|9a%%%R<(KqZ6f=1)mhuvGdK_g1cilY+Aw)T7y$D3!@G=pv{M zQ+X5ipM|*nJ{U5d{4mv_J{R_KszYrTMMvDs{0&`+rWzUd9d~NiB!D!+?vzaJEJ)~( z;+Wkj;oKwD>H4>1E)!Cs3?yuPj#M_CEOX5-Fxk~=lPr_0aka}_$t}2s3uld9syYHi zn%m;Cn$6sn^|?%vRCa0!JfHG?sw*lgxQ*v#(cfEzHY!&hr6TS+ah5C6e@;OY7r=r9n31q$jP4r| z_eICD1LjzEGqH=$vY5TFbmVzOq8+dh-UD;s^59gDu$aA7WK(OaP$`egVHB_K6m6~B z2Cw$_)FAvN`@U4^W7m|e^vaII7mns(eTf3eL|9q8)tPz^RU}J#T98fJ$u7+#Ns;y5 z^V}Vh8{3a;oSry&xG^l-7XocYKJse%WXVA#+GPZ7M-wzY?(r;skiG^WZETsSH?aY@@u%h*3R z8L8eJki0yUJLSRku&>3-(Wu zX;fH-sb{g*j+|%fAk||28QGZ`R+kJ|<*o@-gOSNJsUF%ZowaJDalTxezqHJ4sbWvc z0_u=}IUohpC7BYfs9@1(a}vUCN9h}yozs8*`TdsckCfnAx4<-6kC6(B-3W65BF+9N z7#E)W_0tlHuC;7Dw|~>XoU{8^4X$0Cg*E`&`lC?<-(7f4zQV}*R}GaZSv`GH)Znkh2C#XJ#=T!*&m&id*t`$y*T0GPc41N?$SmLC6!$G<$L z`QuN1Wy_S;j=JW5Pucs7t5=L!`Ob@fKKbrXbUgdmf|r*4*In=XGnDdLfZs;9z-D@kpyy3Hdy6CsIIbui=jbiw3_#FHl+!aBL@f;jJ zYvA%se|yhGw`{rU;Z|0t^vAgyj(xVX>(u9-C{H-O@BDjU{{Dk+y|;A#-hKbLo& z^wwK%{R_bJi@tNfTP|4j(I5Q%KBruJ*QG~pS^fMgKmW}?{M&0&n_vFlKYX+E11G)f zzQ^YubHmA3_OHC)0FwvcsYTqIuyUslHx=nqrWYf4az?N2WDoiHV z4#jLwB371{F}Y}RLMmiw)7o`wS8rI4LKIIL{NpwyBI#;an2uk&BwnGQq&4 zt*og=QVflEDlzNqiJ(c_nW@oa=2V-BcDPIj$wp$4JeD)CP$qB`EN#}J$<~;tv?G@- zU8lO|GIcVIfY+F)G=fK7i*+FzoA>OcDjOEeUrlJEr&vpTC9JF+!^&v?_#A#xT7R43 z8X%UH!xXDB+L>(F*_fSYWdQbELjZPiZyIf{F^66!3!Ounk`x>hY7jPRmm#Jl$Pf|R zO2i@~L+Mc*PF(3~C4)2<;u}>4h^zl!g9Y&Q;Ec|!6wGwes|aRtQR6oy8O*ZiuW?}^ zhaSgPRan5^SU+rhXKi-X{XXTidD<;)KpGEO z!GFnF`ADsNB16gW`qx%Z+BxDym{(nBZ8B#X^1|x%@i41;old$X%i>`!Dkdqz^b9!jWWKSo8{!QP(Q6{dy1Bmb0+!q zBhsU53KY(Ar7^))+2#i7#H!p)>rwv0%1$4J;$l(_|BK+D*p>EQ-S9FnMAz9_E&f8m znY=*uW|nXws7BLgb3m8pfBv0-3s68rLD_);{Ji@VpCYc-zv42_zU-R@{p zo(#4~DzcD;;so&3f&8i+i^}%_qqdI9RTa56b-fSqp^OQ!6g3B+R6ZP0Zp1gQn4+iZ z9mJdEiedwg$cgg%0hzsyuDmXOW?@!YY=>@YS2mk0aWjhI6o=qwIWGOKNG-2WyF%8m zJw4soRb6)P99|!o!Dv^vjY3`SL9S@vb?&M78K?v5aRua)q|f=O1#9G9fnrQ7#q|(S zj|y(aLR*^-Apt+*PH757RqM zn^n6R63C)AAYBn#as8w}$-8p0dIb0{FpzwyWZB#nxuo+#u99Hf}S5?=yf)12dorP z)TD`44EJrg2z_k?K zrzVX31FS?-!Yv|OQPUU`e4l99&LOcJBA@>ZWfZ}hx61zGTEz@yi|!mRS$%cDuXeyu zpdN0Tg=K?9?R`7K_br55g7YJRrZyDsyPCi6DEPOEdkXg65TL9jA^N1``(h%h;)i&kb5lqKSsAi%VC*n4|R+Vj2I}R zuE9QAc%BjPtzm7kT~e;Fdw(hp9-{i*Bl~Ti5;Z-`4fzhp=sNTSFv%F#Gos zr!rB`irL@erQVU^ozdFJ6 zzW4f2*>_#~AJ5LHrvLgHrO7kZ>&K-mcpOTj0+X2aZ0T011CNW9p!g%4%3%j(l@M#B zoYIBz3BR6L=#_qFJaDSQ16c&ef;b=K?@Vb6L}E${M*R2k{(#(`EfbwH_+>^&J1v>4 ziuMSJY#9x^Qj2!#W#%z_JIbv|`rIdACHunfO_g7$oU_Jt7>_9GdKtJ-`Kb0qkfm-` zqf!gC-eH=BZscsVn2EAwx}s@fSk0lVczj0TC%Yl%tbI|Ym<&%eB{qyt&Ja@NKBkYo|ll?dv{|2&`w#Diryk98%AbxQBbk(sl3=X zRxXV_BMW|8X%2&MC+}^XqYw`mnW^dKEW8|gD2gb-F&Z}(XulPuicL)VifS81ErPGm z=RDm$N3np0yTdh2mi374p>D?YE1`c(92k|!zYE)wjUw9YHE!EUnki@WB*>?~U8F0Ue#dBwZ>1pB z<_J@4N}iYP5b|ZO5|31*KZ##Y6!V&(`hJ1=!<)z0fp?@ZJ%*r-x;u_(tS4gQO8cml_* z%^FnY{^yOlmV!fl(7EsCAA7|D-^f*JxTLGJBjC+AU7A}V&v4-Tqy#}1na zXrmC#C{h+3O|LEkwcg6%Kdq}-1wA*Qpi#tK@m)d&r^U7VI?0W}-K9Pc} zD}n4fB~NrK)SnV!Ux$-|a~h}zQUA6Y@KnV^UP0@sy%Q~~ipVJuHXRw$H2*6CP!Yaq zhMIY2?MUtIq$J0djpq#ZuNgRb!{Fwa1SGddizlZiY>#HA zKB8|f!jejfX)D+^P$~^32`WfN+2|KPknEU?*M!t)Zx*6j36l}E!I**&wBJ3&G^_DgN!dL#Dp@127ZovS1TN2I7eLsU zCxh4ol55uyXJ+-nh>MgFJ>$CmnXnWNhEqU2NZPCL{lbVGGl-5SI<5(xe=8glw6Roc zqszG<%M7I;3u|!&FUoReLW{MhGKvB)Gy`jR0T?~K-{oB@R;L8&W^%R!n3I~m!%7CU z)Z~EQ);BcAbyds>6cp-|SLkJ0 z=tNWpt4_57g@#Q+M>eJ06+vv>(xU}-8QoET4G!Ml+m$yb(JSfL&{N(k>5dKlmP{?I zA2_Fm{4EN1JVg(@C2=%;1|m>_o=Sw73`HSo1~?5pgNLG^LnfpE8c22GP_- zq-Sc`lmxY`Y4zZ{H=MnW6$8#}N6Vx;)~fiW%f*v0Ak;^mQqXvcE+ZRx%WxO=eZ$TMEk_%Xm>5fv(TV3Q&*C}DWb^f64@dKs(?tIwZsM#ClO3jvoO-%T zU7kxn%7QFSSms>lw{IXhO4;hbAW*nNqgR;&+<2(K3j>HM!{P zpVgF8q88H$7%0Sva%*gHpMnf=5#d_$sd#W9&&ZU=_&Sg(H^rkZoVEHIG<}>4W&*A# zj_@QSLm3S;Qe7D3kuSyUd8(RPsB&zWbtoCBiB|9cl^V>e*^LM`W-Dq{(`NN*p0NHf^gM~8#=mEV%6NvCE(6Q^~j<;~1IwB>vx3(P9Gv`-MxM5~~rAS9Jk41LKv<^GvhW_Yg3 z{_2vV!0rNKH&aRX41S*+d{!(g`*nV0@kby=PqJKLcG!It4p-z3)iYo@yq%vX1m8~x zAgc|dPv1Z_Dc)WYZGtmbTUS8y(+Y8gV~;4 zM@~Mf4mor-+@LD*EjUA0lMTarP>l6EhljCr*TPBK+CP{giS}xaWpb44$dRKYX1Fmp zN@~xe+F>J!;9M+d&HzwE*r$Lf+FeEx$UgT8exJzHHz(4kqilvN%C;zBihE1}lY)C) z-)$v$EhywSVVOZ9d~BBT%1QwT@^nDYkcgW={`66p6ONsO7!exTFRdxiXd{32&5noS zs+mCcX$*cGe&#W~c48>fIEm=qH-o!Ih2AywE@#QT870250$OD2X)br6u%V@>GTi~b~?@N29YyTbR11KC4ZRHexJ_0O)0SQ1d;90n+AP}<@ zSn!qaoxa#xogw-t^q-E!a92X?sqvk_U=6$jR&oo3GG{z|v4(KNh6M&k>WiqJP!Ort zc>^-%0V35sP3-O!!Xs+!s0-!{5)kbA% zr%?`FH0}j9Y7z&d66=C9Iu55WUsa}ez*4Z_BPf^$3Rb!CiQlH2j_m*# zJ^BROY+ahjmm2&(qeghMpW51MaMJ^F2OI`BV^H-b_+jf(NL;;2@)cmbq)uVr3Ve`f zB9@qrI$Bz?ii8#q_VAhb&3e|(Ti>C{ArXrkJ(#UjYB3~z0+hJlNJ9+g&mn*GrMv@(P<3(WE^@9T78`M?HkVlz~9EFLEh`o*J(~ zz_Q5>g||ef$-2=X1K6=O=HZyoGvjk0HjA+9Cl0|J$YOmYH+=J|(6keUjA9CDwTn8% zVIZB-5wWiz_O&6zP~e}_6emiSrLhYjI>ooayD7-D zs0akK=Wn2j4YI1%WIc>sTQ3`yXfHQ$`XLp0R=;2wM97U&WCD*v{#@%O6)_1+n zCBZ2@+O(N8C?oS(CYOq)`^PNl^mJ>uAOAhC*1;gmd33Epj!LM@ebieGua7s#m z|Ckg5g{!Nj9{0$(>hxvR3sbNeJNBcHf9uMfVwm+3>JWK^;-X>%D-gWY1hKM+8YK_0 zqTrEr;95yteb&L*<;x01p@>HF#!b<2gYOx0Vg-T?~_HaQGV3eMHq{SRU!iR+p$ z9ioKPgL>D5UfvGA4kGxW$a$y02nq+z;Tk2=tBRGHRS?R?WSW06V9HvXdL@puTAOJ! ztQ$2!9^4UGK>$$elPX4Knt4VsPQ~wKq%dTqDk<|@#GsNgTCOTIuLjDMMkCA{&Gjf^ zSuZ>y<`cCi6&~aj9iEe~08GK)mz4+;P0Cos=Eg#W>O?qeL5|ddc+R(e3&&ai4S`dv zWetfB2pvxL8Tana(I)oVye^stJO~g@R-TUI?^aY-+dytr?<@1&L_x8^_YR!*0z|DZ z?r`KMI8c4vLV?il25Y(+kv3iykuny?*NRqPhC6Hjz`+*LZB>{H{2hCg;KKE^e{ytM~& zI$H73Fe=}LpQDh&u?ZMA{Mc!^V&@t%&C`@fQck^YZ+-YjZ=+|unIr|94AGOR^0#jN z$q*P4oT~$9WNDH;D5Vz>Qi&Rj4fPViS8RM!?-BVWT%cu=a-G|ew0o#6{T*rYPb1}z zTGp+G%{5)vO1!hHQRoCzILCvm0>FgyF`(3k#=mpE$mky(3KZ1&{X$R{F#@{b&o%(1 z7=ugzH(Cz)!BVQ9;WF{!z2p-KGI4NchW6_+EJal8brSHZ5&epZ5p(MzogoF-w&P84ooC=l}uLvW}sk8bwVhLh{14yoU*}hy-2jk@!gKF&6MI%&W?C(7AU8mgVr-j zHIVpTkFE~--4um6llYd2_}f=X_uVBC$I9YTDsiMWV@Fw8GoDd`Yu5rIoZiQE>*C@l zDbZrR%0>YU4!_@eLa z%Q73h=mIW!JIcef*xlM<_c$YGHkr-heX#;eE|c`=P6)CAU44-Mt(e}Bdx*Vx zQI6qKh7K=vr&UCPsu8w?e4o2%qk&PQOtbY_~Jj*!Gl|_agu7+ID5;cwZR83!Z5IYVDOxGD>n9c2?n!`-LH7MFFGzNXIrezAa<|M;{s9H z^=4eSJjUBJ;eyRV^AuaK*18kg84iRtd7R11rDyRa-)U1%(~0LsoK4!~g228)ZY7Z0 z35Xh6)P>NR^N^sX?$WNERzP)N-Pn%B~$Y#xR0mlrNMm$5J_=vr%l)v zR6)wQO*p{jAy^Pwe_iNv z+8wz%v~eNw%aUT>D1h7njYrSneC-ng#_)M8CnRXexrE<46q_eIRx9J}z|S0N!|W*F zSZ6ERvWFsEwsG&$F;0gVrcdR8736&tq9A8Al<`5O8@w4*`*p zhZ*RHVH)AI$UF@vDM%bm8hnN2Iwpla`M9?VuvCXTtftTDEbZ^bIJZ3gHTZisG;%e8 z>&6SiAE{DJ49jrA_HmYZ=YDMTM3ova?;|0;B{SQs0{W|Ep2t}g99wl>fJMQ2&BXPi zcLO@I}l+OvN;AIfw^av&Y5jtJg9i_4o7HY_M6eSw}D43&}r(6k&8d%T zKL+uj8`nLDIKwF5nJE&-k%(s^^81P~7ikcLY$d|9-) z;xOl?me&O>Ul(r~n2*~{r<#8n570#e>b&KHR`Y<4<;YNE5*v5gMY zIl&0CGR{j&nB8H+z7@kHs}3lp7awGfMiKQ@QHT~PfD=~f5b2Cn*n@&PclDqTS?8U@ z*i;3^eE56-v7d($L`rH@*U|R5YX$M4_cg%379iCJ)mn zLfPM$%;Tm2y+?2S&$?u|AXLZ&_;j97vPFzJq^s*qB zk+l8`YFNu{!$doBsDY`oK3bV|zAYN^s+=PPJdlLE?g z65MKC=W1n*lPuKEWj^c1T^Zf=##nk&Ej^<-FQObFDw0^|yrD4gm4@>>+6h-=vj}LT zkuzx9ucpQQE#??-@Jy;)Hje{u$h??{QcM9b7}DT7o=b8_q~vI z{mY2r(sM{E4nFrmo5?^Trzt1eKHaWtuWM`CmEb&am+iTq$s+L!_#~)@8???v%L8e6 zZ0+~JwJ(n-=sY!fJ(V(GJ91P8>=O7?gj31;pSJjA)wXul+?EvzjlKSH4ZYqo(rcf! z#h@Z%&;4QIWqToq$te)ICkSY)9xGsj!R zkvXbW--@-D6}}t9Pit>$X!&Wq+7c37opf0)=l$9u>s2dP?dywe8*&Of_oAL6`ae8) zc5J3N<>V_a`Al`V0=5K`T}gUqw4S`5FA7JNL1aF3BHVchccnVw43h$Pw@4z@;>@C5 zSGTl8Hn4=~UgKC=n#3eJ0ABR}to^tS=}%rMA1^@)7HLs=Q-4LxDVvA*`U0Pbeh z=`aE@+;%$n{rHAs*!c}x`9|kFa6JKQ`HVvyg8e;Fna4cN;{m?hPLD?c@3OqqvR(?6 z+gSxgG~a8R`LQ&cIQz7TWEa&~RH7EBK*|9aS#yaKf79V0%HPQ5kjCGtfu>{%IMStR zxh)+)xbY=FMC5fF@~_=+MVLpDt@r-8A{4>%u3dHpY!TB#g%cL|G4hH(!2NZTHnX;6 zhMh8>HzDmcfvDg&8siOE)HzFbogZc$PzeuPeQxs%{1hIj+YDrF3nH*n4~{i-{Lce1WesQh}#mDw0(BN=jLZ{UvPdNe$3DN8ay|awQdl# zt-URPR*aF=af%}8$RbH~6{n*$az1iyw)%(Q>a!!4zPb&fytTKLwubef2(8G))VUU$ zZHqOaxn>ekC$3F9&MD0~lL8hh(Se0Xdk}6yJ!?qm+peXv#MS}zhjz?*0IWS%z_n;c zy}`%(D0g$dFN!H1h+ZSLJ(f8!W0##Fk%JH&Q2}$ZN+7qJCTQ(2%n*aZdA_K?bAVsK zQd_b;hOf&F?_nz-Dn8-nSsS`M9QeTw@>a>qZHx-H=rmmj z&~HueI0)ad0LKCbTF>6GM29^P+3X^p=kl#zb2=k`JPpywIAU54*$$9GKUd`$GSfPAtE=bv3) zg3ryz=XS&Q(Q^VXD9ep9?}diT?q7`0ufXT#D$nIW)==^Bx%c2FRm@v~?XqX*XwT+x zjy-&4D^mCqaUN)n_Q2<;k40>oYDuwovQl#=;952-&!|;Vs6NugzT5?u9Vg+t7-im* z!JGnz+>@(3$L91j?0W(4C%ZiB!)UzsX}l-L$1QjtyFM0S_Y=F%0&nE|GT)}^LT%R9Mg^T ziM9LhczwQ)8@2}5yYPAT`;&wR2y^qXzYPDImHRe>vNMWCD^|dYun+VsqxJ3B_e}^J z>a$d%?j&4)dbR`K+lKw$1hk8}d^V5oq>Py`skZ< zP9U%7aUY30uGRQV@+=stQHBsCBqDtlPDZU}Ves1|ge)38?LB52{YxI(Wo5}maV2q= zm6tr*)`(R!l69;MgH8hBt1EcF30kt8!LcVo#6*OMGR_G}eYTZi{R~d{LvY9FJVn?= zwy2svxcj2jQT-U#8bN~9aTh7mhE^){x?6UNz@CJwJxhDF9uzL)`GNZRe2RNRq zXt3?5F%$ffR$Z~u=5)fFPE~ENHj=3SqNJHeOg{=|pXr+=ZMHp_?jN<+qp%H7GEeG+ zVUdtg(5qWwE~kYkq%UH zs90VeQE1dI$pZ4bEDIQFl1u^5vkY)mLKs+#B$bh77r5FJ+sdO@K|4v3qlm#)7bvBr z8&0Ne@Gz3d^l+?x4p(0{S2C0M5@ZYPDHo=^r(!Pl;R@VC1x=^S4D5@tLV3f=?^<*} zKLm8Y8AYSn217Kvz8FRICdbv;gN)Qj^F@)s6`>Jq$}UOkn-QMaF)RG81uTFNf!O^A z!U{AG$ypeqv@xaO)M%)&oE-MTF-qU%424chfKVb^=nH3{bo2^18H1S2W@{{&6zUuj zJ@i-NbJjZ4lz5k=gu^1Spu{^JAutb7gH{=#nZgkm?1VxA+EHE>9YbBEsDK`_;XM%0ESJ!RiQ{KfEW@y*511U@~Tub4ij|I>A zg>cvGoMxV8>q_A|o#c-LG)t;D*%$n>KA2oO9lm^=mf_8s2a~@P>J@H^_Y* z$M`bBBp)t=h!@nCqZy~1?2ijk80o^lTk&r;^&Pmp%_tJGoRG1@gKi3P=ztoZFE&^E z!7JK)-50MSx8*1{NbAmC3Lo<~8pd2iPKf!W%8IB1~^>Bh&-rq-r9unT? z1#P};c=u~;RXoZMY>REo8R{agErQ%Tpvf+-ZASd@ z5Ff%AIi|vmC{emT;y2+Vk0W{j!ubv;adf^Na8|WQKqWN+CWiM ztcugvg>fU~{+UZ73=-9&-ZJ7V97m#WNK+ho{6ZM#OKUd=`FIi6;CNrepVE#-x}nC$ z>l8oSq^uP)J22^#_6-1~b{gg1%<`BKC@S5K$F*VBrlpVf@p}`kO>WC5!F^{UxR3Iv zda*8-3wV$AzUW0bd(CBht%eM8TL-eskCei z9ec4|3O~+qaNR#7no)3_q=M_&TQ;o?K2~oS9GEk(eqivNcUOgSLv6=NBfu^KiH%VD z8T&@cX_@q~hveBFU_b@bz#q_ki9Q^yb99qO{^Tiq(_Zszi7r&L44!)GKp@Y;oiJK zIt~OZ-tG)|&FOxIpsfA5Dfe#=?=SFoFezNWUtL}gu7V@C(tPlI-qMq7(SrX2knmn) z0GIm}Te9GLk$*4o|C{(d75+P${70dK|I*2S>Ege1^Z$GKFBAAv6Z!W^{P)Sh|7#d< z2ERyvl3-VEAo0n@!pQY1LJ^KtgcLn%c7X!s?6ar{9Yqby^GN)dwonSeTZi4wn2;WW zwKVt!mf>SS@r>-e=xi^Ws@Ti?K$LtP7JEgl?{1<8n=58@J(gIyVcuDd1(ER?o#%o= zMpP}n9huDxwq98ogfjQrjI`y=>u+9v^LqB{X3@kRzEW%;2gze-(=rrt_+G~vH98Qf zQQkm}N}faD`Dw*4O*TKXs+$}BKg-*k#q&1FOY1QyDKV=!mntpF_vz*;X+GJBy!vpj zoT^G^38pc_=mJN5pws4>>VqkSrz5k;1TX!r0#5m<=3da7gv)s+e& zO9iu9WWgwwbj;v)IkM7p^}*hAniGyV_X=xjBH{$Ma+QlIYRIDgM*Ay4076feqnH1NJvrT1tIvODE3=LCf%w~T@ zSuX_&Z-pzp2XpW)2cIp$nGb%8Qom|SpV-#@Rxa+CL)$x4uhrIp&Hc8P6v2u5V;DJo zaT2TDRQ)ClzM6>8=fM%&q`%EG1=&^fAO0E~vAZ;&u49u^eOYeKi%=42BqBqQ9&RRs z7pYv`6~-Oerj>OtDeFpG8W z9HWjR-Ebs$FhS=?vTwvf5rl5bu62>EM}r)y>q-GA6%^IG5ptSQOcm+W%t?fGp5f0htkg1jusL6eSv~ z1cKuzahHG)3UUfOj%5%q#N(OoQ>kSd7p9P*tHW26fJGpKOp?Y}L|kLPPXf6WKyPsM zREiN(-sSNgVyxukNnhNl#Y*-AEMYx49$1-j86+WMtmE}IiU{HC{S$F+X=4huHr-)A zqAovLw;cBAlu*f95#~bc?<(NCn02)mKUKkjy({nJ5K9(h6Q71?D#@E|zu9(D+jA2X z7m90S^h=FvHsRo65IC5(+;>@UA5(CS0~X9B@7rN$?|s3yQ-N*Ou_8=sHM`kHukTk5uaG+5g!|j_LMq~*x0`+N1XoV*&s{&ll?!owT&lDZ&slAK%wUay06&K8S5SXv?@f;!F$T=V74{GTvvBbpfL-a(I2RA}fPWwZ6oA zLb)FCll5Pu;0t}Nq-&k{E}IOYj{8_euGafhKpk&1@^+Hj+kBaep>DIYP%$0p{aLB# zV`UKAf3WLQK-oYS+iy{14Wd!3k1fjlF*)Nvpo)&s_c1e3!EyX8-X8+38c$$mbGz(C zveKTY`;_thN#pU6){-nm;}{QO%cZ3Ldx`yM=J5S{gzpaQJL5RqC+l&JqaBjth*2Jf zy{{m&nR=f`C~w78A;TZbw3z@R&ytLV`UqGLk}unSEZoIE<=~rDZ>HU<>zdy)~-)7~xY1po*F9mgFeHpSn z5&K5Y5L4eMmcw+7&D!V`hzxZ>wCBuMbT@T-y|K8`eaPP^b210CJ(JuFf^0%8@oJoj zMk#X?+r|Xx*F?0-5tSgvw`v9Lg=kIHPG3eL`bwWD+?`6ql$Aa*Ebj$!k4F30Z0Q@j z(we9jN3nf6!dGnL0;H5V90PlQhcCj8D|nq`@HVB-6BXV$D#UQ<+O>`WR)jotf-kq@ zX@V7?XSuSrM(O>-cUP1?=CwYu>tmHQW<8)16=jI)9_ki0=t;TQe9k#v zTM44fMkS=0(J|4cwk-%J?LeD@i!sp#5d0dhU5;}tSre7Ae=COZ5U%RM8zTJxA{yRy zJ9Pu5O_@_tk|ne#W+zKBg4Q!AJr1$|03WMV7$CI=M?|wm6o;xtve|1wYCyA=$62Ec zT~X=|a1+S*%(WOGqs+%(o`X(=illyfh(UmTW0=*fPy-L4mo{J}X_@+8;F1=tDBx;K zOS+mro-~G{FX};LUv)~JWve&Rl4rYoDlufMlMuyCs->c@K6$W;xN4msH)dh0)#J;Q zj3%TvMWk^=ci8H(_cA)um9jErq~l4@)#`#dAS=etOBfgV5=P^AMxjiRM|q_Q>2HfK zgStd`4uso0s_j*DI*;_GgyYF4jEADdML#8GN9IJ~o9uIMytjb!SH`||W1krmQ$QNm z?X>oq4ALi+reb>UWTXiDhI~otkmP4$?eFW0)HRBLFZ;sI+=)D;5b_p@ojD*om26L~ z_M+>V)UPtGXPT5u>rWBHGq4|GZR2C;!1bTRWk|tm3OE+VgW8EI`h}2E`U&G8ex>%m z0MeJnw^{UQcMPoii}PI!@kq8;KzQuH&n5*Y*?h6Wr5#8;X=9llgvAyh`=O-nB(ugd zOQigu_MK|omK7d5#;5ue5LWMC>pL-F477E0GjgRSobNWAZ(b_`#9k|-kZ#aUBIJwA z6D@I=Z_*iP+j4eP9ATys!C5hH6MU%=H^CKHLR4@i(oiY8ri?J9u8WWBG74!4(Zm*z zHG-=dAEk^oDI9RLFSp5~HDkZ`CiJ}sGSr81Fi3C6D^di_eJA2Y4)LNJXuE2XpF~sz zg(I2dNkG_8$3pS(WTTS-W{l3y4tQ*zx42Kp@rE!Vb_91pBkly5xEeyavU*f)Yz%U& zvNF4*9ngx>M#r56!Fu?nI$S>(%STyrJ1D4N9qRJC07oL zGZs79;TL#xNGGmhlP_!yCG0~tj=cy{9&N(0=Mcl%6sT(R)y*13Un%;dtjvL|uAM#y zp0Z{n{S(IY@cxVY+i{*sh$S=z+BUEm`<_?kRmJWu>XR=wI49~GVuo+f=KMlT`XS5? zH(J;F+KSjx@}3O2yMCu>yyh2o}3#1lH6qVYbNSK1w#}a7ry)QLY{dX$c;$dG$a}F83haDAPmSU0G zuk806kfFvDMdc&RlQv#~xAS}HeZ-}%s2O@m z{V#yb#3Rj{N}d<6?*wNQdYxCsQt;ze4O(-3jO@1_oagb#P1Ng@*~Ho>FN6xybFuHF z6BdB>5)*S@KsusY;(4hU>W@R;n|y<{4nzdp1Vf)?d7l*=H;ML>t-Ykocg~l3E4Rx+ z)bgczVVbdzC0|NiQj$s0I6z3Nlx=3}cMI|tKkT2lMmA$pzl->uF(7U61ScdN7aaPl z)4Dc=1`%wKHBFa#RD3A=Qpe95`XAc76&MDk|Kzpd(!bJw;<@B$*LjSIR_B4dV^Ts^ zy*%3@{I$aQE2~U+8klJj%^g``X*{ZJpL`7^h0YV7q)1#EC&5)GwoO*nP&4!6b@cRc zl2qO53*N~zm{FE~m+|jVyHoB}@x#=AN`9G)bK9z{M;Xk!ZICvv!%G42bgVDspf>G3 zq6azbceB>tKE%~xLVwwNS$Y=*D=Sx1T^L)L(q;1f)qGNq2<*SjLrhZfLcD>(I zKw1q-w2p8E;$^)5WYr<>ENMb*%KQ`V+2Dm}E)_-|hjUMRHzkdQ=9M&8Ut5DN1#hW_ zE6uSw2DVO&j#RKMTVF|zVf`HMtA4rUeiA=xGxU>b@!cxkY5ipH?o{Tu74d+0UK6%i z)?pl0gkv^&D?(iJrB{ZHX@WBMv?jWBh46ySTZ@m|Dl7L)Qt-GdVQgg_TL;L9Yfxa1 zUGK%Qm3&P`Q(((9ww%(YhkdR9^IRMYRQrO~%}W>~`G!@m9D}!x7+zk%J!7P^b%C@~ z2k-Jf89tNsziCt7`hg2EiGJ?DMH~CqubI1L{o2i&<{q)8f8*wXHK(jSe_+iq zYuBwiHTX5)_y}*2L|UJ*S~r5z~IT7Hw>OX4Tp1@xODR7{>=k0 z9d@_B^2C8nK?C^084iOvb=~G8*A5QAESR0r^5BM51K9BFrggOPfymZ2U`j^JUS-`PYNOzn0tyu(b078v(eB+Jn~h=gzs1 X0o9x}{hRxNS*_uH4*~pt_>xD9#qc6o diff --git a/assets/maps/initial-plane.msav b/assets/maps/initial-plane.msav index 4fd304ede29a93b96105d5e620824d45ae36a6fa..8df9aa1c46db468387271e475cdda8cdc2c75048 100644 GIT binary patch literal 77499 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

Q}RQv~1MUn;we@EaO$>J(m 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

C^&Vw^Y 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�|r-$FZ<@}=p4;Wj`XRI*TOFSBxJzr0L+7HJGWmO1{J zx3_(?BO&k&R?ci-XzcOM{4~X!Amvv#)n z#pf=fQi{YmbRRj)Yi$40Gi9cC=MQmf!4;+$UV8!+j`swv>8~=Fc35xYf2TDnMF*77 zxd)fM#7C*{L@Qh|Y%`Kr-MMP`M8*GmWhXhT?_1N)lIu`r29G>jYj(|Ya^XLXs;x9C zFXPFi+oA(M)Z$Ea^ueCkO_)nzw5Kd^#tXvjq#C#2xsTnb0Y}s5nO**#{2A1LGC3|r zJvDxd>?;cHs>8m9&&R9BezSka5qxqeMP+X%)V|2a(dCXa&X^3=^uAPOi_rg8I&9 zoC@a<%6!u?uz+%qmOu~g9y_bF31R;IVeNirKMaSaLBAVA4 zRxIs3FE9S5TquCQA-1amKa9%ecL&Yp{OWJpN@Cogu7xl`WpwUarNIx^Ikbqt{@O3rXN=oQuv9BgU??j{WP2}Z@7p`M551I9__JVzBY#pkjOc5k9jR#+r!PAqTUQYT3pW6Srk^i zD~M8jloLQswQE})M&t6!wFvucr9bI5-g6rlxAL?jmlLt-l_^Y+r|u6SP$`}UiLma( z-;(OYYM3k!u$Wpv=`d&QlBtvn4ETj7DY;6qo*d|a~X(9+^x zl%F;Sl@2{h7yvyec*CxQdR9acdx@s%{587tp*)_zs})Z*Z79Xz+eN}oaxR_WugKB% zLOYIx$tUgwRcAX}oKd>;L!Vy)ar817gcYci0Y4aEtz*NglszZWqT0%zCEqGw#R51^ zk!Q;8Ib43hvD^^Dv!P6EGX7T+kHgi^yES{c?9^BTT~z&*yGJ$Q8b_R)u~F=}%Z|pg zBleIYps~NYE2(I8qm7d#tf*Lu67`8cM{IG0?U(TTUhO-%nUL2o7RWSUh1_Oyza31+ zt^%9L_%W0mWHM84WA?dgce1wFCJw|TL4Je#B%f*Z#1Ohw@`!GTlFlu?Ea!3Acw=%4 zX#Hsn_5U-GU2If*uHK09yK*Z9wl4@CqXCuum6@txMQ{ zLFCVXKUWH@&HhTITg&m)Td1HJ!kGo3=RfbW01u$#<5VewW2s>6TJ=W+%#+A#JGQjYAO2SKx2%vla-4 zwPe1TLJD!uVymkBHwULYU)%5PCNSk5lG_++02U?SYwepmLxL827fZy}FSeA8K_E_L ztlV0PGA1|QqOvm|`0)b}+j*)g&%$2WUvkIhHb`H*)=_#?y|LVl*0y`0h}E9N$8~;h zWoe@8F{I%cxP|xoqT|fgL@>>LQ;tep_{u4zhv~@Hlo|pmR)#^JTGGd#v&7rZX`AG` zqywn;{}N60Ac9Wypq^pWU%726x3W7gMK*ak0mSED)D0s+Gt~ZnxwG0O$gH^llbFRL z5QI8Iq(mfKbofQRk`+t1)lD^8yOv{R$7MN*DjJVek{X0S*e)38T)U&Jpkc~;InD|k z!77Obf(QbZl!GCgmF;a_K727z6w_mids03dxFCa0>V<8p>(I8x%qa%|NKD^5K}lE{ z?(q%Dm!P*ZnS>sO>;aeJsU&3A{N?X#zziS0{5d8++$$2c1l)HvD2!O(fFb8o3prx^_M}A%z=yq6 z>$iFX^q*42e{{!i;sN$cu6&OgB0(6?MriRMONs_O^FPHs{;*L&)(@2&cjY$H#sz^- z7tU~Kzugqn3=C2e;2+`G7ciguN8oFPrzW`|f507o>gMTvUlK#k%eXYV7;rY-aq#-_ zyPX1f_2!ZUPJH0^Upl4xs`c=ZOXwutIJb_0w&&Z2Lw!0bfN?ify*@-C&L5zkPy@(| zjx43ZZvs{(X;~rRHaJ3bY5eEo0-w^E|CX54kI}XO=e>(<1ITNyso;TPDNtcM-!_alw9?Yj%B>8DT5?b--q2& zx6%$X#0Ad^&cx5~yU5*a`_`{<$Cg9L0(8XO67knJe6Q+C&(2gU;H*vPM_~rnjzMMs zf2iTCWqnjWs7p2e0qF4QXPPuMg86T}lc(?Jn#G5YK7Iu;D{4Lfnvp_!1x-0|h?+>#Mel!0C7qR@!L~RFfHZDwbDMw@L?^^Egb9(50 zURNz%-k|MO6AO$3kM|Fqv|00h4EB3o80`0ZC;EI3pb4YX$j^Z-Fu{Ovp_A$LEAAP7 zlH`C zxh2HJhOo?KiDNTtHKhH(K5Snp`~m!QSpy0O>QTIeJ@zI)7D)0-##jZvveN`*BfsfX zYEXfXM^s3~!z`s@enW$%b{?>TqE_OnH@N7RN?ExZyj|IKdDcmK^x_Qa&e9W8c?g1s zLFWYmzyquCQ!XzOaP$h`$eP8N@^1tMcPPB_`5jzbiH;y%Jb{OV-UEL;>V3nE(y$OP zXf;3A&NS&Stt`R~3B3hqcJew#J1W=iP&wJjtsq>96+8sYh0r1J(A}T9-d@iK*S=NW z*==W1kBA_aF}_Ow&c+$)dR_KGH_`?$Z<)E2*e_+V*D(>>iy2hxHJlFTH8x1ZHK5sl z>GM^)trzEY`~=Ps7KwmB9KhLsu{MIr3IEUy`RX7T1}IXt^c-b2+_nbitu>d^{ z=i&fSN)XeyXO@|!r+n5XcCnE&#|sjQ1w?)}{nU{KgGT)bqR)T^1QMtNVb=feEZ0X7 zbgSbo1TxDGbSs`Po9I{DMd6FgkayzrGS>JQ8W{5^?)a=#D$_01`nG0Q%~w=h>mk!a}Oyt+}bL~!@$ ztnGg`#@ryQ7z&9(#G|a@nEzI)nWz`&C-s^pq4{m{(f!14Y*gUeWn;MmAT-BY8=~VMse~S|4zY1z5b&Me! z|M%Fkx?%+63nG3uYmD`S5jr!_9y~YwzvmEKd^aF>i+tay4xN2!5ZCjVf^JV<|KS!x zR)_o^xO!;zmGbso@t=c0t5J{9i;MH$mtjBDP6KyAnL3w~sg{;Ew|?XixBH zKB0F3<7E7!5Ll9opZ9>$!ua|15Wr)=$MP_Mjlie$C{&*D6LI?g!2n%FKxv=pe|>fy zO!+%7xE+L+K}tbbW@zz-qSgXf-1gjJUqT#C4)*{u znxU67e^&N(0)umb!6ASZ!4z1E*({&WID$>4=ztTlEuVXufx_=zl;6$RG0DM6@v2EY|T(L zD_pX5rx2tcL{!N~uW`v1xz>Hx`&c5iiqH~N3|;#xa4wsX%5uLKuQ z9f^(ss}2Qk`6B(_>UZu+WG!h8csgvb`+%G8^1f&N^20<`gF$`C1swTxF^ny%W#Rz1G zadS!;v{91s+zoJyvnFyS6L!hWkp2jNUZ$tyZnu(<3^%K8!KCgU)-G1Y*`4IGhS>hO zSo)Oxf|03^mJoO!$W#79?C*@~IAADy4G3{=uX1R2m8qe-^zY%Wx-NBTVdg&xJuF>} gH~s&|N6YR&==d0H;gDr5k+C9!8zwr%*AbZi1ALfYIRF3v literal 91153 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ξ_@Z% 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 am%q)CMCz*W{+s}rnuVFQY58f-*#83>=^lRo diff --git a/mod.hjson b/mod.hjson index 93ba5c98..83b08444 100644 --- a/mod.hjson +++ b/mod.hjson @@ -3,6 +3,6 @@ author: "Yuria" name: "new-horizon" main: "newhorizon.NewHorizon" description: "Warning: Beta Version For V7" -version: "0.4.2.1" +version: "0.4.6" minGameVersion: 145.1 diff --git a/src/newhorizon/NHRegister.java b/src/newhorizon/NHRegister.java index 0ef76fcd..fbe877e8 100644 --- a/src/newhorizon/NHRegister.java +++ b/src/newhorizon/NHRegister.java @@ -3,21 +3,33 @@ import arc.Core; import arc.Events; import arc.math.Mathf; +import arc.scene.style.TextureRegionDrawable; import arc.struct.ObjectSet; import arc.struct.Seq; import arc.util.Time; +import arc.util.serialization.Jval; import mindustry.Vars; import mindustry.content.Planets; import mindustry.core.GameState; import mindustry.core.Logic; +import mindustry.editor.MapEditorDialog; import mindustry.game.EventType; import mindustry.game.Team; import mindustry.gen.Groups; import mindustry.net.Net; +import mindustry.ui.dialogs.BaseDialog; +import newhorizon.content.NHContent; +import newhorizon.expand.NHVars; import newhorizon.expand.eventsys.EventHandler; import newhorizon.expand.eventsys.types.WorldEventObjective; +import newhorizon.expand.game.NHWorldData; import newhorizon.expand.packets.LongInfoMessageCallPacket; import newhorizon.util.graphic.EffectDrawer; +import newhorizon.util.ui.NHWorldSettingDialog; + +import java.lang.reflect.Field; + +import static mindustry.Vars.ui; public class NHRegister{ public static final Seq afterLoad = new Seq<>(); @@ -77,6 +89,22 @@ public static void load(){ afterLoad.each(Runnable::run); } + Core.app.post(() -> { + if(!Vars.state.map.tags.containsKey(NHWorldSettingDialog.SETTINGS_KEY)){ + NHWorldData data = NHVars.worldData; + + NHWorldSettingDialog.allSettings.each(entry -> { + try{ + entry.dataField.set(data, entry.defData()); + }catch(IllegalAccessException ex){ + ex.printStackTrace(); + } + }); + }else{ + Jval initContext = Jval.read(Vars.state.map.tags.get(NHWorldSettingDialog.SETTINGS_KEY)); + NHWorldSettingDialog.allSettings.each(entry -> entry.initWorldData(initContext)); + } + }); //Fuck erekir on the server if(Vars.headless){ @@ -117,11 +145,26 @@ public static void load(){ } }); - if(!Vars.headless)Events.on(EventType.StateChangeEvent.class, e -> { + Events.on(EventType.StateChangeEvent.class, e -> { if(e.to == GameState.State.menu){ worldLoaded = false; } }); + + Events.on(EventType.ClientLoadEvent.class, e -> { + try{ + BaseDialog menu; + Field field = MapEditorDialog.class.getDeclaredField("menu"); + field.setAccessible(true); + menu = (BaseDialog)field.get(ui.editor); + + menu.cont.row().button("@mod.ui.nh-extra-menu", new TextureRegionDrawable(NHContent.icon), 30, () -> { + NHUI.nhWorldSettingDialog.show(); + }).size(180f * 2 + 10f, 60f); + }catch(IllegalAccessException | NoSuchFieldException ex){ + ui.showErrorMessage(ex.toString()); + } + }); } diff --git a/src/newhorizon/NHSetting.java b/src/newhorizon/NHSetting.java index 9bfa26ae..06848e72 100644 --- a/src/newhorizon/NHSetting.java +++ b/src/newhorizon/NHSetting.java @@ -25,7 +25,7 @@ public class NHSetting{ VANILLA_COST_OVERRIDE = "nh_overridecost", DEBUGGING = "nh_debugging"; - public static boolean enableEffectDetail; + public static boolean enableEffectDetail = true; public static boolean changed = false; @@ -35,7 +35,8 @@ public static void load(){ all.addAll( new BoolSetting(EFFECT_DETAIL, true, true), new BoolSetting(VANILLA_COST_OVERRIDE, false, true), - new BoolSetting(DEBUGGING, false, true) + new BoolSetting(DEBUGGING, false, true), + new BoolSetting("nh_hide_starting_log", false, false) ); all.each(SettingKey::setDefault); @@ -46,9 +47,7 @@ public static void load(){ public static void loadUI(){ Vars.ui.settings.addCategory("@mod.ui.nh-extra-menu", new TextureRegionDrawable(NHContent.icon), NHSetting::buildTable); - Vars.ui.settings.closeOnBack(() -> { - - }); +// Vars.ui.settings.closeOnBack(() -> {}); } static void update(){ diff --git a/src/newhorizon/NHUI.java b/src/newhorizon/NHUI.java index 3a34a93b..7329a33c 100644 --- a/src/newhorizon/NHUI.java +++ b/src/newhorizon/NHUI.java @@ -15,6 +15,7 @@ import mindustry.gen.Icon; import mindustry.gen.Tex; import mindustry.ui.Styles; +import newhorizon.util.ui.NHWorldSettingDialog; import newhorizon.util.ui.WorldEventDialog; import static mindustry.Vars.*; @@ -28,6 +29,8 @@ public class NHUI{ public static WorldEventDialog eventDialog; public static Table eventSimplePane = new Table(); + public static NHWorldSettingDialog nhWorldSettingDialog; + public static Group root; public static float getWidth(){ @@ -44,6 +47,8 @@ public static void init(){ touchable = Touchable.childrenOnly; }}; + nhWorldSettingDialog = new NHWorldSettingDialog(); + Core.scene.root.addChildAt(0, root); try{ diff --git a/src/newhorizon/NewHorizon.java b/src/newhorizon/NewHorizon.java index dbdc9d33..1390d70f 100644 --- a/src/newhorizon/NewHorizon.java +++ b/src/newhorizon/NewHorizon.java @@ -60,9 +60,9 @@ public static void debugLog(Object obj){ if(DEBUGGING)Log.info(obj); } -// { + { // Vars.mobile = Vars.testMobile = true; -// } + } protected static boolean contentLoadComplete = false; @@ -90,7 +90,12 @@ public static String name(String name){ private static FeatureLog[] getUpdateContent(){ return new FeatureLog[]{ - new FeatureLog(NHUnitTypes.macrophage) + new FeatureLog(NHBlocks.processorCompactor){{ + important = true; + }}, + new FeatureLog(NHBlocks.ventExtractor), + new FeatureLog("Vanilla Upgrade", "Vanilla Turrets Now Equip Zeta Ammo!", FeatureLog.NEW_FEATURE, Icon.upOpen.getRegion()), + new FeatureLog("Executor Adjust", "Increased Executor's damage!", FeatureLog.ADJUST, NHBlocks.executor), }; } @@ -144,8 +149,10 @@ public static void showNew(){ i.top(); i.add("[gray]NEW [lightgray]" + c.type.toUpperCase() + "[]: [accent]" + c.title + "[]").left().row(); i.image().growX().height(OFFSET / 3).pad(OFFSET / 3).color(Color.lightGray).row(); - i.add("[accent]Description: []").left().row(); - i.add(c.description).padLeft(LEN).left().get().setWrap(true); + if(c.description != null){ + i.add("[accent]Description: []").left().row(); + i.add(c.description).padLeft(LEN).left().get().setWrap(true); + } if(c.modifier != null)i.table(i1 -> { NHUIFunc.show(i1, c.content); }).grow().left().row(); @@ -177,8 +184,6 @@ public static void startLog(){ if(showed)return; showed = true; - BaseDialog dialog = new BaseDialog(""); - Runnable runnable = () -> { Core.app.post(() -> Core.app.post(() -> Core.settings.getBoolOnce("nh-first-load", () -> { new BaseDialog("CAUTION"){ @@ -224,6 +229,14 @@ public static void startLog(){ }))); }; + BaseDialog dialog = new BaseDialog(""){ + @Override + public void hide(){ + super.hide(); + + runnable.run(); + } + }; dialog.closeOnBack(runnable); dialog.cont.pane(inner -> { @@ -242,12 +255,9 @@ public static void startLog(){ }).grow(); table.table(t -> { - t.button("@back", Icon.left, Styles.cleart, () -> { - dialog.hide(); - runnable.run(); - }).growX().height(LEN).padLeft(OFFSET).padRight(OFFSET).row(); + t.button("@back", Icon.left, Styles.cleart, dialog::hide).growX().height(LEN).padLeft(OFFSET).padRight(OFFSET).row(); t.button("@links", Icon.link, Styles.cleart, NewHorizon::showAbout).growX().height(LEN).padLeft(OFFSET).padRight(OFFSET).row(); -// t.button("@settings", Icon.settings, Styles.cleart, () -> new NHSetting.SettingDialog().show()).growX().height(LEN).padLeft(OFFSET).padRight(OFFSET).row(); + t.button("@hide-setting", Icon.settings, Styles.cleart, () -> Core.settings.put("nh_hide_starting_log", true)).disabled(b -> Core.settings.getBool("nh_hide_starting_log", false)).growX().height(LEN).padLeft(OFFSET).padRight(OFFSET).row(); // t.button("@log", Icon.book, Styles.cleart, NewHorizon::showNew).growX().height(LEN).padLeft(OFFSET).padRight(OFFSET).row(); t.button(Core.bundle.get("servers.remote") + "\n(" + Core.bundle.get("waves.copy") + ")", Icon.host, Styles.cleart, () -> Core.app.setClipboardText(SERVER)).growX().height(LEN).padLeft(OFFSET).padRight(OFFSET).row(); }).grow(); @@ -319,7 +329,7 @@ public NewHorizon(){ Core.settings.put("nh-lastver", MOD.meta.version); }); -// Core.app.post(Time.runTask(10f, NewHorizon::startLog)); + if(!Core.settings.getBool("nh_hide_starting_log"))Core.app.post(Time.runTask(10f, NewHorizon::startLog)); }); } diff --git a/src/newhorizon/TestRunner.java b/src/newhorizon/TestRunner.java index 45f4d087..06ea4a03 100644 --- a/src/newhorizon/TestRunner.java +++ b/src/newhorizon/TestRunner.java @@ -24,8 +24,6 @@ public static void main(String[] args){ for(i = 0; i < 5; i++){ System.out.println(i); } - - System.out.println(i); } // System.out.println("\uf15c\uf15b\uf0f6\ue802\ue803\ue804\ue805\ue807\ue800\ue808\ue809\ue80b\ue80f\uf300\uf1c5\ue813\ue816\ue819\ue81a\uf0b0\ue81d\ue822\ue824\ue825\ue826\ue827\ue823\ue829\ue806\ue811\ue815\ue818\uf120\ue835\ue836\uf129\ue837\ue839\ue83a\ue83b\ue83e\ue83f\uf12d\ue801\uf029\ue812\ue842\ue844\ue80d\ue81e\uf281\uf308\ue83d\ue845\uf181\ue80e\ue814\ue817\ue81b\ue81c\ue82a\ue82b\ue82c\ue82d\ue830\ue84c\ue852\ue853\ue85b\ue85c\ue85d\ue85e\ue85f\ue861\ue865\ue867\ue868\ue869\ue86a\ue86b\ue86c\ue86d\ue86e\ue86f\ue870\ue871\ue872\ue873\ue874\ue875\ue876\ue877\ue878\ue879\ue87b\ue87c\ue87d\ue88a\ue88b\ue810\ue88c\ue88d\ue88e\ue88f⚠\ue864\ue84d\ue833"); diff --git a/src/newhorizon/content/NHBlocks.java b/src/newhorizon/content/NHBlocks.java index 8ceb1580..d94c6d64 100644 --- a/src/newhorizon/content/NHBlocks.java +++ b/src/newhorizon/content/NHBlocks.java @@ -51,6 +51,7 @@ import mindustry.world.blocks.liquid.Conduit; import mindustry.world.blocks.liquid.LiquidBridge; import mindustry.world.blocks.liquid.LiquidRouter; +import mindustry.world.blocks.logic.MessageBlock; import mindustry.world.blocks.power.Battery; import mindustry.world.blocks.power.ConsumeGenerator; import mindustry.world.blocks.power.PowerNode; @@ -64,10 +65,7 @@ import mindustry.world.consumers.ConsumeCoolant; import mindustry.world.consumers.ConsumeLiquid; import mindustry.world.draw.*; -import mindustry.world.meta.Attribute; -import mindustry.world.meta.BuildVisibility; -import mindustry.world.meta.Stat; -import mindustry.world.meta.StatUnit; +import mindustry.world.meta.*; import newhorizon.NewHorizon; import newhorizon.expand.block.adapt.AdaptUnloader; import newhorizon.expand.block.adapt.AssignOverdrive; @@ -88,9 +86,10 @@ import newhorizon.expand.bullets.*; import newhorizon.expand.game.NHPartProgress; import newhorizon.expand.game.NHUnitSorts; +import newhorizon.util.func.NHFunc; import newhorizon.util.func.NHInterp; -import newhorizon.util.graphic.ColorWarpEffect; import newhorizon.util.graphic.DrawFunc; +import newhorizon.util.graphic.EffectWrapper; import newhorizon.util.graphic.OptionalMultiEffect; import static arc.graphics.g2d.Draw.color; @@ -104,15 +103,21 @@ public class NHBlocks{ //Load Mod Factories public static Block + tagger, + reinForcedItemSource, reinForcedLiquidSource, //delivery, oreZeta, xenMelter, hyperGenerator, fusionCollapser, - chargeWall, chargeWallLarge, eoeUpgrader, jumpGate, jumpGateJunior, jumpGatePrimary, + chargeWall, chargeWallLarge, + + jumpGate, jumpGateJunior, jumpGatePrimary, + + ventExtractor, processorCompactor, multiplePresstaniumFactory, presstaniumFactory, seniorProcessorFactory, juniorProcessorFactory, multipleSurgeAlloyFactory, zetaFactoryLarge, zetaFactorySmall, fusionEnergyFactory, multipleSteelFactory, irayrondPanelFactory, reconstructPlastaniumFactory, setonAlloyFactory, darkEnergyFactory, upgradeSortFactory, metalOxhydrigenFactory, metalOxhydrigenFactoryLarge, sandCracker, - thermoCorePositiveFactory, thermoCoreNegativeFactory, thermoCoreFactory, irdryonVault, + thermoCorePositiveFactory, thermoCoreNegativeFactory, thermoCoreFactory, irdryonVault, arkyciteCompactor, //Ancient ancimembraneConcentrator, ancientArtillery, @@ -121,7 +126,7 @@ public class NHBlocks{ waveEnergyConveyor, ancitentWaveEnergyConveyor, waveEnergyGenerator, //Turrets - dendrite, interferon, prism, + dendrite, interferon, prism, hive, shockWaveTurret, usualUpgrader, bloodStar, pulseShotgun, beamLaserTurret, blaster, endOfEra, thurmix, argmot, thermoTurret, railGun, divlusion, executor, empTurret, gravity, multipleLauncher, antibody, multipleArtillery, antiMatterTurret, atomSeparator, eternity, synchro, @@ -138,6 +143,7 @@ public class NHBlocks{ //Drills largeWaterExtractor, beamDrill, //Powers + hydroFuelCell, ancientPowerNode, armorPowerNode, armorBatteryLarge, radiationGenerator, zetaGenerator, hugeBattery, heavyPowerNode, //Defence largeMendProjector, shapedWall, assignOverdrive, antiBulletTurret, largeShieldGenerator, fireExtinguisher, webber, @@ -382,6 +388,205 @@ private static void loadExperiments(){ } private static void loadTurrets(){ + hive = new ShootMatchTurret("hive"){{ + size = 4; + health = 3200; + armor = 10; + + requirements(Category.turret, BuildVisibility.shown, with(NHItems.multipleSteel, 300, NHItems.seniorProcessor, 60, NHItems.juniorProcessor, 120, NHItems.presstanium, 200, Items.graphite, 150)); + outlineColor = Pal.darkOutline; + + warmupMaintainTime = 90f; + shootWarmupSpeed /= 2f; + + reload = 150; + targetGround = false; + + range = 8 * 70; + + xRand = 6f; + velocityRnd = 0.105f; + + shootY = 8; + + rotateSpeed = 3; + cooldownTime = 60f; + recoil = 1.25f; + + Color heatC = Pal.turretHeat.cpy().lerp(Color.red, 0.33f); + heatColor = heatC; + + shake = 1.1f; + shootSound = Sounds.missileLarge; + + shoot = new AdaptedShootHelix(){{ + flip = true; + shots = 10; + mag = 1.65f; + scl = 6f; + shotDelay = 3.5f; + offset = 9.75f * Mathf.PI2; + rotSpeedOffset = 0.015f; + rotSpeedBegin = 0.925f; + }}; + + ammo(NHItems.juniorProcessor, new AccelBulletType(5.2f, 75, NHBullets.STRIKE){{ + width = 7f; + height = 13f; + shrinkY = 0f; + + collideFloor = collidesGround = collidesTiles = false; + ammoMultiplier = 8f; + backColor = lightningColor = hitColor = Pal.bulletYellowBack; + lightColor = frontColor = Pal.bulletYellow; + splashDamageRadius = 12f; + splashDamage = damage / 3; + despawnEffect = Fx.smoke; + hitEffect = NHFx.hitSpark; + lifetime = 100f; + lightningDamage = damage / 2; + lightning = 2; + lightningLength = 3; + lightningLengthRand = 12; + + status = NHStatusEffects.emp2; + statusDuration = 180f; + + hitSound = despawnSound = Sounds.dullExplosion; + hitSoundVolume = 0.6f; + hitSoundPitch -= 0.11f; + hitShake = 1.1f; + + shootEffect = EffectWrapper.wrap(Fx.shootBigSmoke2, 180, true); + smokeEffect = NHFx.hugeSmokeGray; + lightningType = NHBullets.lightningAir; + + inaccuracy = 0.3f; + + weaveMag = 3f; + weaveScale = 3.55f; + homingDelay = 5f; + homingPower = 0.25f; + homingRange = 160f; + + velocityBegin = 1.4f; + velocityIncrease = 8f; + accelerateBegin = 0.005f; + accelerateEnd = 0.75f; + + trailColor = NHColor.trail; + trailWidth = 1f; + trailLength = 15; + }}, + NHItems.seniorProcessor, new AccelBulletType(5.2f, 200, NHBullets.STRIKE){{ + width = 14f; + height = 28f; + shrinkY = 0f; + lightningType = NHBullets.lightningAir; + + collideFloor = collidesGround = collidesTiles = false; + ammoMultiplier = 2f; + backColor = lightningColor = hitColor = Pal.bulletYellowBack; + lightColor = frontColor = Pal.bulletYellow; + splashDamageRadius = 64f; + splashDamage = damage / 5; + scaledSplashDamage = true; + despawnEffect = NHFx.blast(backColor, 64f); + lifetime = 142f; + hitEffect = NHFx.subEffect(90F, 120F, 18, 60F, Interp.pow2Out, (i, x, y, rot, fin) -> { + float fout = 1 - fin; + Draw.color(hitColor, Color.white, fin * 0.7f); + float f = NHFunc.rand(i).random(5, 8) * Mathf.curve(fin, 0, 0.1f) * fout; + Fill.circle(x, y, f); + Drawf.light(x, y, f * 1.25f, hitColor, 0.7f); + }); + lightningDamage = damage / 2; + lightning = 4; + lightningLength = 12; + lightningLengthRand = 18; + + status = NHStatusEffects.emp3; + statusDuration = 640f; + + rangeChange = 80; + + reloadMultiplier = 0.25f; + + hitSound = despawnSound = Sounds.largeExplosion; + hitShake = despawnShake = 6.1f; + + shootEffect = EffectWrapper.wrap(NHFx.circleSplash, hitColor); + smokeEffect = EffectWrapper.wrap(NHFx.missileShoot, Color.gray.cpy().a(0.84f)); + + inaccuracy = 0.3f; + + weaveMag = 2f; + weaveScale = 8f; + homingDelay = 5f; + homingPower = 0.325f; + homingRange = 320f; + + velocityBegin = 0.6f; + velocityIncrease = 6f; + accelerateBegin = 0.005f; + accelerateEnd = 0.75f; + + trailColor = NHColor.trail; + trailWidth = 2f; + trailLength = 18; + }}); + ammoPerShot = 4; + maxAmmo = 120; + + AdaptedShootHelix shootS = (AdaptedShootHelix)shoot.copy(); + shootS.flip = false; + shootS.shots = 4; + shootS.shotDelay = 6; + shootS.mag /= 2; + shootS.scl *= 2; + shootS.offset = shootS.scl * Mathf.PI2; + shooter(NHItems.juniorProcessor, shoot, NHItems.seniorProcessor, shootS); + + float mainMoveX = 2.5f; + drawer = new DrawTurret("reinforced-"){{ + parts.add(new RegionPart("-barrel-main"){{ + mirror = true; + moveX = mainMoveX; + heatColor = heatC; + heatLightOpacity = 0.86f; + }}); + + parts.add(new RegionPart("-charger"){{ + mirror = true; + moveX = mainMoveX; + + moves.add(new PartMove(){{ + y = -1f; + x = 1f; + progress = PartProgress.warmup.compress(0.3f, 0.86f); + }}); + }}); + + parts.add(new RegionPart("-back"){{ + mirror = true; + + moveX = mainMoveX; + + moves.add(new PartMove(){{ + y = -1f; + x = 1.5f; + progress = PartProgress.warmup.compress(0.4f, 0.95f); + }}); + }}); + }}; + + liquidCapacity = 120; + coolantMultiplier = 4f; + coolant = new ConsumeLiquid(Liquids.water, 0.5f); + + squareSprite = false; + }}; + ancientArtillery = new CaptureableTurret("ancient-artillery"){{ size = 8; destructible = false; @@ -430,7 +635,7 @@ private static void loadTurrets(){ heatProgress = PartProgress.warmup; heatLightOpacity = 0.55f; }}, - new AdaptedRegionPart("-armor"){{ + new FlipRegionPart("-armor"){{ outline = mirror = true; layerOffset = 0.2f; x = 2f; @@ -440,7 +645,7 @@ private static void loadTurrets(){ moveRot = -45; moves.add(new PartMove(PartProgress.recoil, 0, -6, 0)); }}, - new AdaptedRegionPart("-back"){{ + new FlipRegionPart("-back"){{ outline = mirror = true; layerOffset = 0.3f; x = 2f; @@ -449,7 +654,7 @@ private static void loadTurrets(){ moves.add(new PartMove(PartProgress.recoil, 0, -4, 0)); }}, - new AdaptedRegionPart("-cover"){{ + new FlipRegionPart("-cover"){{ outline = true; layerOffset = 0.3f; turretHeatLayer = Layer.turretHeat + layerOffset; @@ -457,7 +662,7 @@ private static void loadTurrets(){ heatProgress = PartProgress.warmup; heatLightOpacity = 0.55f; }}, - new AdaptedRegionPart("-barrel"){{ + new FlipRegionPart("-barrel"){{ outline = mirror = true; layerOffset = 0.2f; x = 2f; @@ -472,7 +677,7 @@ private static void loadTurrets(){ moveX = 7.75f; moveRot = 3.6f; }}, - new AdaptedRegionPart("-tail"){{ + new FlipRegionPart("-tail"){{ outline = mirror = true; layerOffset = 0.2f; x = 1f; @@ -660,6 +865,7 @@ private static void loadTurrets(){ despawnEffect = NHFx.lightningHitLarge; hitEffect = NHFx.hitSparkHuge; + errorCorrectionRadius = 32; status = NHStatusEffects.ultFireBurn; statusDuration = 600f; @@ -678,8 +884,8 @@ private static void loadTurrets(){ trailSpacing *= 2f; - shootEffect = ColorWarpEffect.wrap(NHFx.shootLine(32f, 12f), hitColor); - smokeEffect = ColorWarpEffect.wrap(NHFx.square45_6_45, hitColor); + shootEffect = EffectWrapper.wrap(NHFx.shootLine(32f, 12f), hitColor); + smokeEffect = EffectWrapper.wrap(NHFx.square45_6_45, hitColor); // Vars.content.getByName(ContentType.block, "new-horizon-prism").reload = 12; @@ -740,8 +946,8 @@ NHItems.thermoCorePositive, new DelayedPointBulletType(){{ fragVelocityMax = 0.55f; fragVelocityMin = 0.2f; - shootEffect = ColorWarpEffect.wrap(NHFx.shootLine(32f, 12f), hitColor); - smokeEffect = ColorWarpEffect.wrap(NHFx.square45_6_45, hitColor); + shootEffect = EffectWrapper.wrap(NHFx.shootLine(32f, 12f), hitColor); + smokeEffect = EffectWrapper.wrap(NHFx.square45_6_45, hitColor); }} ); @@ -818,13 +1024,13 @@ NHItems.thermoCorePositive, new DelayedPointBulletType(){{ collidesAir = collidesGround = true; - shootEffect = ColorWarpEffect.wrap(NHFx.shootLine(33, 33), hitColor); - smokeEffect = ColorWarpEffect.wrap(NHFx.hitSparkHuge, hitColor); + shootEffect = EffectWrapper.wrap(NHFx.shootLine(33, 33), hitColor); + smokeEffect = EffectWrapper.wrap(NHFx.hitSparkHuge, hitColor); hitEffect = NHFx.hitSpark; despawnEffect = NHFx.blast(hitColor, 42f); - spreadEffect = ColorWarpEffect.wrap(NHFx.hitSpark, hitColor); + spreadEffect = EffectWrapper.wrap(NHFx.hitSpark, hitColor); }}; squareSprite = false; @@ -1317,7 +1523,7 @@ public void createFrags(Bullet b, float x, float y){ consumePowerCond(8f, (PointDefenseBuild b) -> b.target != null); shootLength = 5f; - bulletDamage = 80f; + bulletDamage = 150f; reload = 6f; requirements(Category.turret, BuildVisibility.shown, with(NHItems.multipleSteel, 90, NHItems.juniorProcessor, 60, NHItems.presstanium, 120, NHItems.zeta, 120, Items.graphite, 80)); @@ -1450,7 +1656,7 @@ Items.blastCompound, new BasicBulletType(5, 22){{ shootSound = NHSounds.flak2; - ammo(NHItems.ancimembrane, new TrailFadeBulletType(4f, 200f, "circle-bullet"){{ + ammo(NHItems.ancimembrane, new TrailFadeBulletType(4f, 360f, "circle-bullet"){{ velocityBegin = 8.8f; velocityIncrease = -8.15f; accelerateBegin = 0.1f; @@ -1495,7 +1701,7 @@ Items.blastCompound, new BasicBulletType(5, 22){{ smokeEffect = NHFx.hugeSmokeGray; - shootEffect = new ColorWarpEffect(NHFx.shootLine(30f, 120f), backColor); + shootEffect = new EffectWrapper(NHFx.shootLine(30f, 120f), backColor); hitEffect = NHFx.square45_6_45; despawnEffect = new Effect(35f, 70f, e -> { Draw.color(e.color, Color.white, e.fout() * 0.7f); @@ -1560,7 +1766,7 @@ public void update(Bullet b){ hitEffect = NHFx.hitSparkLarge; despawnEffect = NHFx.square45_6_45; - shootEffect = new ColorWarpEffect(NHFx.shootLine(22, 20f), backColor); + shootEffect = new EffectWrapper(NHFx.shootLine(22, 20f), backColor); smokeEffect = NHFx.hugeSmokeGray; trailEffect = NHFx.trailToGray; @@ -1665,18 +1871,30 @@ public void update(Bullet b){ health = 8000; ammo(NHItems.thermoCorePositive, - new BasicBulletType(4, 500, "large-bomb"){{ + new BasicBulletType(4, 600, "large-bomb"){{ lightning = 6; lightningCone = 360; lightningLengthRand = lightningLength = 12; splashDamageRadius = 60f; splashDamage = lightningDamage = 0.5f * damage; - trailColor = backColor = lightColor = lightningColor = heatColor; + trailEffect = NHFx.hitSparkLarge; + trailInterval = 3f; + + trailColor = backColor = hitColor = lightColor = lightningColor = heatColor; frontColor = Color.white; - status = NHStatusEffects.emp1; - statusDuration = 30f; + intervalBullets = 2; + bulletInterval = 3f; + intervalBullet = new AdaptedLightningBulletType(){{ + lightningColor = trailColor = hitColor = lightColor = heatColor; + lightningLength = 4; + lightningLengthRand = 15; + damage = 60; + }}; + + status = NHStatusEffects.emp3; + statusDuration = 90f; spin = 3f; trailLength = 40; @@ -1700,7 +1918,9 @@ public void update(Bullet b){ Draw.color(frontColor); Fill.circle(e.x, e.y, e.fout() * height / 2f); }); - despawnEffect = new OptionalMultiEffect(NHFx.crossBlast(backColor, 120f), NHFx.instHit(backColor, 3, 80f)); + despawnEffect = new OptionalMultiEffect(NHFx.crossBlast(backColor, 120f), NHFx.instHit(backColor, 3, 80f), + NHFx.spreadOutSpark(120f, splashDamageRadius + 30f, 36, 4, 42f, 17f, 4f, Interp.pow3Out) + ); height = width = 40; } @@ -1715,8 +1935,8 @@ public void draw(Bullet b){ float fi = Mathf.randomSeed(b.id, 360f); for(int i : Mathf.signs){ - DrawFunc.tri(b.x, b.y, 6 * f2 * f, 80 * f2 * f, fi + (i + 1) * 90 + Time.time * 2); - DrawFunc.tri(b.x, b.y, 6 * f2 * f, 65 * f2 * f, fi + (i + 1) * 90 - Time.time * 2 + 90); + DrawFunc.tri(b.x, b.y, 3 * f2 * f, 60 * f2 * f, fi + (i + 1) * 90 + Time.time * 2); + DrawFunc.tri(b.x, b.y, 3 * f2 * f, 35 * f2 * f, fi + (i + 1) * 90 - Time.time * 2 + 90); } } } @@ -1921,11 +2141,14 @@ public void setStats(){ armor = 15; shootCone = 15f; + squareSprite = false; unitSort = UnitSorts.strongest; - warmupMaintainTime = 30f; - coolant = consumeCoolant(0.5F); + warmupMaintainTime = 50f; + coolant = consume(new ConsumeLiquid(NHLiquids.quantumEntity, 20f / 60f)); + coolantMultiplier = 2.5f; + moveWhileCharging = false; shootWarmupSpeed = 0.035f; @@ -1968,12 +2191,16 @@ public void setStats(){ firstShotDelay = NHFx.darkEnergyChargeBegin.lifetime; }}; + outlineColor = Pal.darkOutline; + chargeSound = NHSounds.railGunCharge; - requirements(Category.turret, BuildVisibility.shown, with(NHItems.upgradeSort, 2000)); + requirements(Category.turret, BuildVisibility.shown, with(NHItems.upgradeSort, 1500)); ammo(NHItems.darkEnergy, NHBullets.arc_9000, NHItems.upgradeSort, new BulletType(){{ hitColor = lightColor = trailColor = NHColor.darkEnrFront; spawnUnit = NHBullets.airRaidMissile; + rangeOverride = 120; + ammoMultiplier = 1; chargeEffect = NHFx.railShoot(NHColor.darkEnrColor, 800f, 18, NHFx.darkEnergyChargeBegin.lifetime, 25); shootEffect = NHFx.instShoot(NHColor.darkEnrColor, NHColor.darkEnrFront); smokeEffect = new Effect(180f, 300f, b -> { @@ -2009,40 +2236,46 @@ public void setStats(){ shotDelay = 12f; }}); - shootCone = 20f; + shootCone = 12f; rotateSpeed = 0.75f; ammoPerShot = 4; maxAmmo = 20; size = 8; - health = 15000; + health = 28000; + armor = 15f; hasItems = true; heatColor = NHColor.darkEnrColor; consumePower(30f); - reload = 360f; + reload = 420f; range = 800f; inaccuracy = 0f; - shootCone = 20f; shootSound = Sounds.laserbig; }}; executor = new ItemTurret("executor"){{ size = 6; - health = 10200; - requirements(Category.turret, BuildVisibility.shown, with(Items.surgeAlloy, 250, NHItems.irayrondPanel, 650, Items.plastanium, 375, NHItems.seniorProcessor, 150, NHItems.setonAlloy, 400)); + health = 15200; + armor = 10; + requirements(Category.turret, BuildVisibility.shown, with(NHItems.irayrondPanel, 650, Items.tungsten, 375, NHItems.seniorProcessor, 150, NHItems.multipleSteel, 400)); ammo( NHItems.thermoCorePositive, NHBullets.blastEnergyPst, NHItems.thermoCoreNegative, NHBullets.blastEnergyNgt ); - shoot = new ShootPattern(){{ - shots = 8; + shoot = new ShootBarrel(){{ + shots = 3; + barrels = new float[]{ + -11, 2, 0, + 0, 2, 0, + 11, 2, 0 + }; shotDelay = 4f; }}; - consumePower(10.0F); maxAmmo = 80; ammoPerShot = 8; - xRand = tilesize * (size - 2.225f) / 2; - reload = 120f; + xRand = 1; + velocityRnd = 0.08f; + reload = 16; shootCone = 50.0F; rotateSpeed = 1.5F; range = 440.0F; @@ -2050,10 +2283,185 @@ public void setStats(){ heatColor = NHBullets.blastEnergyPst.lightColor; recoil = 4.0F; shootSound = NHSounds.thermoShoot; + coolant = new ConsumeCoolant(0.25f); }}; } private static void loadFactories(){ + processorCompactor = new GenericCrafter("processor-compactor"){{ + requirements(Category.crafting, with(NHItems.zeta, 120, NHItems.irayrondPanel, 80, NHItems.presstanium, 60, NHItems.seniorProcessor, 40)); + health = 1500; + armor = 4; + size = 4; + + hasItems = hasPower = hasLiquids = true; + + consumePower(20); + consumeLiquid(NHLiquids.irdryonFluid, 15 / 60f); + consumeItem(Items.silicon, 6); + + outputItems = ItemStack.with(NHItems.juniorProcessor, 15, NHItems.seniorProcessor, 3); + + liquidCapacity = 50; + itemCapacity = 60; + craftTime = 150; + + squareSprite = false; + + Color senior = Pal.ammo.cpy().lerp(Color.red, 0.63f).lerp(Color.white, 0.2f); + Color junior = Pal.bulletYellowBack; + + updateEffectChance = 0.07f; + updateEffect = new Effect(30f, e -> { + Rand rand = NHFunc.rand(e.id); + Draw.color(senior, Color.white, e.fout() * 0.66f); + Draw.alpha(0.55f * e.fout() + 0.5f); + Angles.randLenVectors(e.id, 2, 4f + e.finpow() * 16f, (x, y) -> { + Fill.square(e.x + x, e.y + y, e.fout() * rand.random(2, 4)); + }); + + Draw.color(junior, Color.white, e.fout() * 0.66f); + Draw.alpha(0.55f * e.fout() + 0.5f); + Angles.randLenVectors(e.id + 12, 4, 4f + e.finpow() * 16f, (x, y) -> { + Fill.square(e.x + x, e.y + y, e.fout() * rand.random(1, 3)); + }); + }); + + + /*craftEffect = new Effect(30f, e -> { + Rand rand = NHFunc.rand(e.id); + Lines.stroke(e.fout() * 1.5f); + Draw.color(senior, Color.white, e.fout() * 0.66f); + Angles.randLenVectors(e.id, 3, 4f + e.fin() * 22, (x, y) -> { + Lines.square(e.x + x, e.y + y, e.finpow() * rand.random(7, 11)); + }); + + Draw.color(junior, Color.white, e.fout() * 0.66f); + Angles.randLenVectors(e.id + 6, 7, 4f + e.fin() * 22, (x, y) -> { + Lines.square(e.x + x, e.y + y, e.finpow() * rand.random(4, 7)); + }); + });*/ + + + drawer = new DrawMulti(new DrawRegion("-bottom"), + new DrawScanLine(){{ + colorFrom = junior; + lineLength = 73 / 4f; + scanLength = 73 / 4f; + scanScl = 15f; + scanAngle = 90; + lineStroke -= 0.15f; + totalProgressMultiplier = 1.25f; + phaseOffset = Mathf.random() * 5f; + }}, + + new DrawScanLine(){{ + colorFrom = junior; + lineLength = 73 / 4f; + scanLength = 73 / 4f; + scanScl = 15f; + scanAngle = 0; + totalProgressMultiplier = 1.55f; + phaseOffset = Mathf.random() * 5f; + }}, + + new DrawScanLine(){{ + colorFrom = senior; + lineLength = 73 / 4f; + scanLength = 73 / 4f; + scanScl = 15f; + scanAngle = 90; + totalProgressMultiplier = 1.35f; + phaseOffset = Mathf.random() * 5f; + }}, + + new DrawScanLine(){{ + colorFrom = senior; + lineLength = 73 / 4f; + scanLength = 73 / 4f; + scanScl = 8f; + scanAngle = 0; + lineStroke -= 0.15f; + totalProgressMultiplier = 1.65f; + phaseOffset = Mathf.random() * 5f; + }}, + + new DrawRegion("-mid"), new DrawLiquidTile(NHLiquids.irdryonFluid, 54 / 4f), new DrawDefault(), + new DrawGlowRegion("-glow1"){{ + color = junior; +// alpha = 1; + }}, new DrawGlowRegion("-glow2"){{ + color = junior; +// alpha = 1; + + }}, new DrawGlowRegion("-glow3"){{ + color = junior; +// alpha = 0.76f; + }} + ); + }}; + + ventExtractor = new AttributeCrafter("vent-extractor"){{ + requirements(Category.production, with(Items.graphite, 40, Items.beryllium, 60, NHItems.presstanium, 30, NHItems.juniorProcessor, 20)); + attribute = NHContent.quantum; + group = BlockGroup.liquids; + minEfficiency = 1f - 0.0001f; + boostScale = 1/9f; + baseEfficiency = 0f; + displayEfficiency = false; + + squareSprite = false; + + updateEffectChance -= 0.05f; + updateEffect = EffectWrapper.wrap(NHFx.hugeSmokeLong, Liquids.nitrogen.color.cpy().a(0.45f)); + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.nitrogen, 5), new DrawRegion("-mid"), new DrawLiquidTile(NHLiquids.quantumEntity, 40f / 4f), new DrawRotator(3f, true), new DrawDefault()); + craftTime = 120f; + size = 3; + ambientSound = Sounds.hum; + ambientSoundVolume = 0.06f; + hasLiquids = true; + boostScale = 1f / 9f; + outputLiquid = new LiquidStack(Liquids.nitrogen, 16f / 60f); + consumePower(2f); + consumeLiquid(NHLiquids.quantumEntity, 0.1f); + liquidCapacity = 60f; + }}; + + arkyciteCompactor = new AttributeCrafter("arkycite-compactor"){{ + baseEfficiency = 1f; + attribute = NHContent.quantum; + boostScale = 0.25f; + maxBoost = 2; + + size = 3; + + squareSprite = false; + health = 560; + + requirements(Category.crafting, ItemStack.with(Items.beryllium, 120, Items.silicon, 60, NHItems.presstanium, 40, Items.metaglass, 60)); + hasPower = hasLiquids = true; + + consumeLiquids(LiquidStack.with(NHLiquids.quantumEntity, 0.15f, Liquids.oil, 0.2f)); + + outputLiquid = new LiquidStack(Liquids.arkycite, 0.5f); + craftTime = 30f; + + liquidCapacity = 180; + itemCapacity = 16; + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawPistons(){{ + sinMag = 2.75f; + sinScl = 5f; + sides = 4; + lenOffset += 0.25f; + angleOffset = 45; + sideOffset = Mathf.PI / 2f; + }}, new DrawLiquidTile(Liquids.arkycite, 38 / 4f), new DrawDefault(), new DrawGlowRegion(){{ + color = NHLiquids.quantumEntity.color; + alpha = 0.721f; + }}); + }}; + ancimembraneConcentrator = new AttributeCrafter("ancimembrane-concentrator"){{ size = 3; @@ -2145,7 +2553,6 @@ public void draw(Building build){ sandCracker = new MultiCrafter("sand-cracker"){{ size = 2; requirements(Category.crafting, ItemStack.with(Items.lead, 40, Items.copper, 60, Items.graphite, 45)); -// NHTechTree.add(Blocks.pulverizer, this); health = 320; craftTime = 45f; itemCapacity = 20; @@ -2333,8 +2740,29 @@ public void draw(Building build){ outputItem = new ItemStack(NHItems.darkEnergy, 2); craftTime = 90f; size = 2; + loopSound = Sounds.electricHum; hasPower = hasItems = true; - drawer = new DrawMulti(new DrawDefault(), new DrawFlame(NHItems.darkEnergy.color)); + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawCrucibleFlame(){{ + flameColor = NHColor.darkEnrColor; + midColor = NHColor.darkEnr; + particleRad += 0.25f; + circleSpace = 1f; + alpha = 0.3f; + particles = 18; + }}, + new DrawDefault() + ); + + updateEffectChance = 0.1f; + lightColor = NHColor.darkEnrColor; + updateEffect = NHFx.squareRand(lightColor, 4f, 8f); + craftEffect = new Effect(90f, e -> { + Draw.color(lightColor, Color.white, e.fin() * 0.7f); + Lines.stroke(e.fout() * 1.12f); + Lines.square(e.x, e.y, e.finpow() * 12f, 45f); + }); consumeItems(new ItemStack(NHItems.thermoCoreNegative, 1), new ItemStack(NHItems.thermoCorePositive, 1)); consumePower(20f); @@ -2351,7 +2779,25 @@ public void draw(Building build){ itemCapacity = 20; liquidCapacity = 60f; hasPower = hasLiquids = hasItems = true; - drawer = new DrawMulti(new DrawDefault(), new DrawFlame(NHItems.fusionEnergy.color)); + loopSound = Sounds.laserbeam; + loopSoundVolume /= 3f; + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawCrucibleFlame(){{ + particles = 45; + particleRad = 11f; + }}, + new DrawDefault(), + new DrawLiquidTile(Liquids.water, 37 / 4f), + new DrawRotator(true){{ + rotateSpeed = 4; + }}, + new DrawRegion("-top") + ); + + updateEffectChance = 0.075f; + updateEffect = EffectWrapper.wrap(NHFx.hugeSmokeLong, NHItems.fusionEnergy.color.cpy().a(0.53f)); + consumeLiquid(Liquids.water, 0.3f); consumeItems(new ItemStack(NHItems.presstanium, 2), new ItemStack(NHItems.zeta, 6)); consumePower(6f); @@ -2569,10 +3015,11 @@ public void draw(Building build){ multipleSteelFactory = new GenericCrafter("multiple-steel-factory") { { requirements(Category.crafting, with(Items.graphite, 65, NHItems.juniorProcessor, 65, NHItems.presstanium, 100, Items.metaglass, 30)); - updateEffect = Fx.smeltsmoke; - craftEffect = Fx.shockwave; + lightColor = NHItems.multipleSteel.color; + updateEffect = EffectWrapper.wrap(Fx.smeltsmoke, lightColor); + craftEffect = EffectWrapper.wrap(NHFx.square45_6_45, lightColor);; outputItem = new ItemStack(NHItems.multipleSteel, 4); - craftTime = 40f; + craftTime = 60f; itemCapacity = 20; health = 600; size = 3; @@ -2639,18 +3086,25 @@ public void draw(Building build){ setonAlloyFactory = new GenericCrafter("seton-alloy-factory"){{ requirements(Category.crafting, with(NHItems.irayrondPanel, 80, NHItems.seniorProcessor, 60, NHItems.presstanium, 100, Items.surgeAlloy, 40)); - craftEffect = new Effect(30f, e -> Angles.randLenVectors(e.id, 6, 4f + e.fin() * 12f, (x, y) -> { + craftEffect = new Effect(30f, e -> Angles.randLenVectors(e.id, 6, 4f + e.finpow() * 14f, (x, y) -> { Draw.color(NHLiquids.irdryonFluid.color); Fill.square(e.x + x, e.y + y, e.fout() * 3f); })); outputItem = new ItemStack(NHItems.setonAlloy, 2); - craftTime = 60f; + craftTime = 180f; itemCapacity = 24; liquidCapacity = 20f; health = 500; size = 3; hasPower = hasLiquids = hasItems = true; - drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(NHLiquids.irdryonFluid), new DrawRotator(1, 45), new DrawRotator(-1.5f, "-rotator1"), new DrawDefault()); + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawPistons(){{ + sides = 4; + sinMag = 3.9f; + lenOffset = -1.785f; + angleOffset = 45; + }}, new DrawRegion("-shade"), new DrawDefault(), new DrawLiquidTile(NHLiquids.irdryonFluid, 39 / 4f), new DrawRegion("-top")); consumeLiquid(NHLiquids.irdryonFluid, 0.12f); consumeItems(new ItemStack(Items.plastanium, 4), new ItemStack(Items.graphite, 6)); @@ -2703,70 +3157,408 @@ public void draw(Building build){ }}; } - public static void load() { - final int healthMult2 = 4, healthMult3 = 9; + private static void loadPowers(){ + ancientPowerNode = new PowerNode("ancient-power-node"){{ + size = 1; + health = 3000; + armor = 30; + absorbLasers = true; + autolink = false; + + maxNodes = 20; + laserRange = 120; + timers++; + + lightColor = laserColor1 = NHColor.ancientLight; + laserColor2 = NHColor.ancient; + update = true; //Worth it? + + buildType = () -> new PowerNodeBuild(){ + @Override + public void updateTile(){ + if(damaged() && power.graph.getSatisfaction() > 0.5f){ + if(timer.get(90f)){ + Fx.healBlockFull.at(x, y, 0, NHColor.ancientLightMid, this.block); + healFract(5 * power.graph.getSatisfaction()); + } + } + } + }; + + requirements(Category.power,ItemStack.with(NHItems.ancimembrane, 50, NHItems.seniorProcessor, 15)); + }}; - blaster = new ShockwaveGenerator("blaster"){{ - requirements(Category.defense, with(NHItems.presstanium, 150, NHItems.multipleSteel, 100, NHItems.juniorProcessor, 120)); + hydroFuelCell = new ConsumeGenerator("hydro-fuel-cell"){{ + size = 2; + requirements(Category.power,ItemStack.with(NHItems.metalOxhydrigen, 60, NHItems.juniorProcessor, 45, Items.copper, 200, Items.graphite, 80, Items.metaglass, 60)); + + lightColor = Pal.techBlue; + consumeEffect = EffectWrapper.wrap(NHFx.hugeSmokeLong, Liquids.hydrogen.color.cpy().lerp(Liquids.nitrogen.color, 0.4f).a(0.56f)); + generateEffect = new Effect(45f, e -> { + Draw.color(lightColor, Color.white, e.fin() * 0.66f); + Lines.stroke(e.fout() * 1.375f); + Lines.spikes(e.x, e.y, 0.45f + 5 * e.finpow(), 5.5f * e.fout(), 4, 45); + }); + // //NHTechTree.add(Blocks.thoriumReactor,this); + powerProduction = 1720f / 60f; + loopSound = Sounds.flux; + loopSoundVolume = 0.14F; + itemCapacity = 40; + liquidCapacity = 30; + itemDuration = 240f; + consumeItem(NHItems.metalOxhydrigen, 4); + consumeLiquid(Liquids.nitrogen,2 / 60f); squareSprite = false; + hasLiquids = hasItems = true; + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.nitrogen, 2f), new DrawDefault(), new DrawGlowRegion(){{ + color = Liquids.hydrogen.color; + }}); + }}; + + zetaGenerator = new ConsumeGenerator("zeta-generator"){{ + requirements(Category.power,ItemStack.with(NHItems.metalOxhydrigen, 120, NHItems.juniorProcessor, 80, Items.plastanium, 80, NHItems.zeta,100, Items.copper, 150, Items.metaglass, 60)); + size = 3; - chargerOffset = 5.65f; - rotateOffset = -45f; - damage = 150; - lightningDamage = 200; - generateLiNum = 3; - generateLiLen = 12; - generateLenRand = 20; - gettingBoltNum = 1; - lightningColor = NHColor.darkEnrColor; - generateEffect = NHFx.blastgenerate; - acceptEffect = NHFx.blastAccept; - blastSound = Sounds.explosionbig; - status = NHStatusEffects.emp2; - range = 240; - health = 1200; - knockback = 10f; - consumePower(8f); + + powerProduction = 70f; + loopSound = Sounds.electricHum; + loopSoundVolume = 0.24F; itemCapacity = 30; + liquidCapacity = 30; + itemDuration = 150f; consumeItem(NHItems.zeta, 3); + consumeLiquid(Liquids.cryofluid,0.1f); - drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawArcSmelt(){{ - midColor = flameColor = NHColor.darkEnrColor; - circleStroke = 1.125f; - circleSpace = 1.9f; - }}, new DrawDefault()); - }}; - - reinForcedLiquidSource = new LiquidSource("reinforced-liquid-source"){{ - size = 1; - health = 800; - armor = 10; - buildVisibility = BuildVisibility.sandboxOnly; + hasLiquids = hasItems = true; - category = Category.liquid; + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.cryofluid), new DrawDefault(), new DrawGlowRegion(){{ + color = NHItems.zeta.color; + }}); - buildType = () -> new LiquidSourceBuild(){ - @Override - public boolean canPickup(){ - return false; - } - - @Override - public void write(Writes write){ - write.str(source == null ? "null-liquid" : source.name); - } - - @Override - public void read(Reads read, byte revision){ - source = content.liquid(read.str()); - } - }; + lightColor = NHItems.zeta.color.cpy().lerp(Color.white, 0.125f); + generateEffect = NHFx.square(lightColor, 30f, 5, 20f, 4); + // explodeEffect = NHFx.lightningHitLarge(heatColor); }}; - reinForcedItemSource = new ItemSource("reinforced-item-source"){{ - size = 1; - health = 800; + hugeBattery = new Battery("huge-battery"){{ + size = 5; + health = 1600; + requirements(Category.power, BuildVisibility.shown, ItemStack.with(Items.phaseFabric, 40, NHItems.juniorProcessor, 20, NHItems.zeta, 80, NHItems.presstanium, 35, Items.graphite, 50)); + // //NHTechTree.add(Blocks.batteryLarge, this); + consumePowerBuffered(750_000); + }}; + + armorBatteryLarge = new Battery("large-armor-battery"){{ + requirements(Category.power, BuildVisibility.shown, ItemStack.with(NHItems.presstanium, 40, NHItems.juniorProcessor, 10, Items.lead, 40)); + size = 3; + health = 3000; + armor = 15; + consumePowerBuffered(45000.0F); + }}; + + heavyPowerNode = new PowerNode("heavy-power-node"){{ + requirements(Category.power, BuildVisibility.shown, ItemStack.with(NHItems.multipleSteel, 25, NHItems.juniorProcessor, 15, NHItems.zeta, 45, NHItems.presstanium, 40)); + // //NHTechTree.add(Blocks.powerNodeLarge, this); + size = 3; + maxNodes = 30; + laserRange = 20F; + health = 1200; + armor = 3; + + // consumePowerBuffered(30000f); + }}; + + hyperGenerator = new HyperGenerator("hyper-generator"){{ + size = 8; + health = 12500; + powerProduction = 2000f; + updateLightning = updateLightningRand = 3; + effectColor = NHColor.thermoPst; + itemCapacity = 40; + itemDuration = 180f; + ambientSound = Sounds.pulse; + ambientSoundVolume = 0.1F; + toApplyStatus.add(NHStatusEffects.phased, StatusEffects.overclock); + + consumePower(100.0F); + consumeItems(ItemStack.with(NHItems.thermoCoreNegative, 2, Items.phaseFabric, 4)).optional(true, true); + consumeItems(new ItemStack(NHItems.metalOxhydrigen, 8), new ItemStack(NHItems.thermoCorePositive, 4)); + consumeLiquid(NHLiquids.zetaFluid, 0.25F); + requirements(Category.power, BuildVisibility.shown, with(NHItems.upgradeSort, 1000, NHItems.setonAlloy, 600, NHItems.irayrondPanel, 400, NHItems.presstanium, 1500, Items.surgeAlloy, 250, Items.metaglass, 250)); + // //NHTechTree.add(fusionCollapser, this); + }}; + } + + private static void loadWalls(){ + final int healthMult2 = 4, healthMult3 = 9; + + shapedWall = new ShapedWall("shaped-wall"){{ + health = 6000; + insulated = absorbLasers = true; + placeableLiquid = true; + crushDamageMultiplier = 0.025f; + + requirements(Category.defense, with(NHItems.upgradeSort, 5, NHItems.juniorProcessor, 2, NHItems.ancimembrane, 10)); + }}; + + ancientLaserWall = new LaserWallBlock("ancient-laser-wall"){{ + size = 2; + consumePowerCond(80f, LaserWallBuild::canActivate); + health = 8000; + range = 800; + + armor = 20f; + crushDamageMultiplier = 0.025f; + + generateType = new Shooter(300){{ + Color c = NHColor.ancient; + colors = new Color[]{c.cpy().mul(0.9f, 0.9f, 0.9f, 0.3f), c.cpy().mul(1f, 1f, 1f, 0.6f), c, Color.white}; + hitColor = lightColor = lightningColor = c; + width = 4.5f; + oscMag = 0.5f; + + status = NHStatusEffects.entangled; + statusDuration = 60f; + lightningDamage = 200; + } + + @Override + public void hit(Bullet b, float x, float y){ + super.hit(b, x, y); + + for(int i = 0; i < 2; i++){ + Lightning.create(b, lightningColor, lightningDamage < 0 ? damage : lightningDamage, x, y, Mathf.range(180), lightningLength + Mathf.random(lightningLengthRand)); + } + } + }; + + requirements(Category.defense, with(NHItems.seniorProcessor, 120, NHItems.ancimembrane, 200, NHItems.zeta, 800)); + }}; + + laserWall = new LaserWallBlock("laser-wall"){{ + size = 3; + consumePowerCond(30f, LaserWallBuild::canActivate); + health = 4000; + + armor = 10f; + + requirements(Category.defense, with(NHItems.juniorProcessor, 120, Items.copper, 350, NHItems.multipleSteel, 80, NHItems.zeta, 180, Items.graphite, 80)); + // NHTechTree.add(Blocks.forceProjector, this); + }}; + + setonWall = new Wall("seton-wall"){{ + armor = 15f; + + insulated = true; + crushDamageMultiplier = 0.15f; + + size = 1; + health = 1250; + chanceDeflect = 15.0F; + flashHit = true; + requirements(Category.defense, with(NHItems.setonAlloy, 5, NHItems.irayrondPanel, 10, Items.silicon, 15, NHItems.presstanium, 15)); + }}; + + setonWallLarge = new Wall("seton-wall-large"){{ + armor = 15f; + + insulated = true; + crushDamageMultiplier = 0.15f; + + size = 2; + health = 1250 * healthMult2; + chanceDeflect = 15.0F; + flashHit = true; + requirements(Category.defense, with(NHItems.setonAlloy, 5 * healthMult2, NHItems.irayrondPanel, 10 * healthMult2, Items.silicon, 15 * healthMult2, NHItems.presstanium, 15 * healthMult2)); + }}; + + heavyDefenceWall = new ShieldWall("heavy-defence-wall"){{ + shieldHealth = 1000f; + breakCooldown = 30f * 10f; + regenSpeed = 5f; + glowColor = NHColor.darkEnrColor.cpy().lerp(NHColor.lightSkyFront, 0.3f).a(0.5f); + consumePower(8f / 60f); + crushDamageMultiplier = 0.05f; + + outputsPower = false; + hasPower = true; + consumesPower = true; + conductivePower = true; + + armor = 30f; + + size = 1; + health = 1750; + absorbLasers = true; + requirements(Category.defense, with(NHItems.setonAlloy, 10, NHItems.presstanium, 20)); + + buildType = () -> new ShieldWallBuild(){ + @Override + public void draw(){ + Draw.rect(block.region, x, y); + + if(shieldRadius > 0){ + float radius = shieldRadius * tilesize / 2; + + Draw.z(Layer.shields); + + Draw.color(team.color, Color.white, Mathf.clamp(hit)); + + if(renderer.animateShields){ + Fill.square(x, y, radius); + }else{ + Lines.stroke(1.5f); + Draw.alpha(0.09f + Mathf.clamp(0.08f * hit)); + Fill.square(x, y, radius); + Draw.alpha(1f); + Lines.poly(x, y, 4, radius, 45f); + Draw.reset(); + } + + Draw.reset(); + + Drawf.additive(glowRegion, glowColor, (1f - glowMag + Mathf.absin(glowScl, glowMag)) * shieldRadius, x, y, 0f, Layer.blockAdditive); + } + } + }; + }}; + + heavyDefenceWallLarge = new ShieldWall("heavy-defence-wall-large"){{ + shieldHealth = 1200f * healthMult2; + breakCooldown = 30f * 10f; + regenSpeed = 5f * healthMult2; + glowColor = NHColor.darkEnrColor.cpy().lerp(NHColor.lightSkyFront, 0.3f).a(0.5f); + consumePower(8f / 60f * healthMult2); + + armor = 30f; + crushDamageMultiplier = 0.05f; + + outputsPower = false; + hasPower = true; + consumesPower = true; + conductivePower = true; + + size = 2; + health = 1750 * healthMult2; + absorbLasers = true; + requirements(Category.defense, with(NHItems.setonAlloy, 10 * healthMult2, NHItems.presstanium, 20 * healthMult2)); + }}; + + heavyDefenceDoor = new AutoDoor("heavy-defence-door"){{ + size = 1; + health = 1750; + armor = 30; + crushDamageMultiplier = 0.05f; + requirements(Category.defense, with(NHItems.setonAlloy, 10, NHItems.presstanium, 20, NHItems.juniorProcessor, 5)); + }}; + + heavyDefenceDoorLarge = new AutoDoor("heavy-defence-door-large"){{ + size = 2; + health = 1750 * healthMult2; + armor = 30; + openfx = Fx.dooropenlarge; + closefx = Fx.doorcloselarge; + crushDamageMultiplier = 0.05f; + requirements(Category.defense, with(NHItems.setonAlloy, 10 * healthMult2, NHItems.presstanium, 20 * healthMult2, NHItems.juniorProcessor, 5 * healthMult2)); + }}; + + + chargeWall = new ChargeWall("charge-wall"){{ + requirements(Category.defense, with(NHItems.seniorProcessor, 5, NHItems.upgradeSort, 5)); + size = 1; + absorbLasers = true; + range = 120; + health = 1350; + effectColor = NHColor.lightSkyBack; + + armor = 10f; + }}; + + chargeWallLarge = new ChargeWall("charge-wall-large"){{ + requirements(Category.defense, ItemStack.mult(chargeWall.requirements, healthMult2)); + size = 2; + absorbLasers = true; + range = 200; + health = 1350 * healthMult2; + effectColor = NHColor.lightSkyBack; + + armor = 10f; + }}; + + insulatedWall = new Wall("insulated-wall"){{ + size = 1; + health = 300; + requirements(Category.defense, with(Items.titanium, 10, Items.copper, 5)); + insulated = true; + absorbLasers = true; + }}; + + } + + public static void load() { + blaster = new ShockwaveGenerator("blaster"){{ + requirements(Category.defense, with(NHItems.presstanium, 150, NHItems.multipleSteel, 100, NHItems.juniorProcessor, 120)); + + squareSprite = false; + size = 3; + chargerOffset = 5.65f; + rotateOffset = -45f; + damage = 150; + lightningDamage = 200; + generateLiNum = 3; + generateLiLen = 12; + generateLenRand = 20; + gettingBoltNum = 1; + lightningColor = NHColor.darkEnrColor; + generateEffect = NHFx.blastgenerate; + acceptEffect = NHFx.blastAccept; + blastSound = Sounds.explosionbig; + status = NHStatusEffects.emp2; + range = 240; + health = 1200; + knockback = 10f; + consumePower(8f); + itemCapacity = 30; + consumeItem(NHItems.zeta, 3); + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawArcSmelt(){{ + midColor = flameColor = NHColor.darkEnrColor; + circleStroke = 1.125f; + circleSpace = 1.9f; + }}, new DrawDefault()); + }}; + + reinForcedLiquidSource = new LiquidSource("reinforced-liquid-source"){{ + size = 1; + health = 800; + armor = 10; + buildVisibility = BuildVisibility.sandboxOnly; + + category = Category.liquid; + + buildType = () -> new LiquidSourceBuild(){ + @Override + public boolean canPickup(){ + return false; + } + + @Override + public void write(Writes write){ + write.str(source == null ? "null-liquid" : source.name); + } + + @Override + public void read(Reads read, byte revision){ + source = content.liquid(read.str()); + } + }; + }}; + + reinForcedItemSource = new ItemSource("reinforced-item-source"){{ + size = 1; + health = 800; armor = 10; buildVisibility = BuildVisibility.sandboxOnly; @@ -2788,73 +3580,29 @@ public void draw(){ if(outputItem == null){ Draw.rect(NHContent.crossRegion, x, y); - }else{ - Draw.color(outputItem.color); - Draw.rect(NHContent.sourceCenter, x, y); - Draw.color(); - } - } - - @Override - public void write(Writes write){ - write.str(outputItem == null ? "null-item" : outputItem.name); - } - - @Override - public void read(Reads read, byte revision){ - outputItem = content.item(read.str()); - } - }; - } - @Override - public void drawPlanConfig(BuildPlan plan, Eachable list){ - drawPlanConfigCenter(plan, plan.config, NewHorizon.name("source-center"), true); - } - }; - - ancientLaserWall = new LaserWallBlock("ancient-laser-wall"){{ - size = 2; - consumePowerCond(80f, LaserWallBuild::canActivate); - health = 8000; - range = 800; - - armor = 20f; - - generateType = new Shooter(300){{ - Color c = NHColor.ancient; - colors = new Color[]{c.cpy().mul(0.9f, 0.9f, 0.9f, 0.3f), c.cpy().mul(1f, 1f, 1f, 0.6f), c, Color.white}; - hitColor = lightColor = lightningColor = c; - width = 4.5f; - oscMag = 0.5f; + }else{ + Draw.color(outputItem.color); + Draw.rect(NHContent.sourceCenter, x, y); + Draw.color(); + } + } - status = NHStatusEffects.entangled; - statusDuration = 60f; - lightningDamage = 200; - } + @Override + public void write(Writes write){ + write.str(outputItem == null ? "null-item" : outputItem.name); + } @Override - public void hit(Bullet b, float x, float y){ - super.hit(b, x, y); - - for(int i = 0; i < 2; i++){ - Lightning.create(b, lightningColor, lightningDamage < 0 ? damage : lightningDamage, x, y, Mathf.range(180), lightningLength + Mathf.random(lightningLengthRand)); - } + public void read(Reads read, byte revision){ + outputItem = content.item(read.str()); } }; - - requirements(Category.defense, with(NHItems.seniorProcessor, 120, NHItems.ancimembrane, 200, NHItems.zeta, 800)); - }}; - - laserWall = new LaserWallBlock("laser-wall"){{ - size = 3; - consumePowerCond(30f, LaserWallBuild::canActivate); - health = 4000; - - armor = 10f; - - requirements(Category.defense, with(NHItems.juniorProcessor, 120, Items.copper, 350, NHItems.multipleSteel, 80, NHItems.zeta, 180, Items.graphite, 80)); -// NHTechTree.add(Blocks.forceProjector, this); - }}; + } + @Override + public void drawPlanConfig(BuildPlan plan, Eachable list){ + drawPlanConfigCenter(plan, plan.config, NewHorizon.name("source-center"), true); + } + }; multiSteelItemBridge = new BufferedItemBridge("multi-steel-item-bridge"){{ health = 480; @@ -2890,13 +3638,6 @@ public void hit(Bullet b, float x, float y){ // //NHTechTree.add(Blocks.tsunami, this); }}; - shapedWall = new ShapedWall("shaped-wall"){{ - health = 6000; - insulated = absorbLasers = true; - - requirements(Category.defense, with(NHItems.upgradeSort, 5, NHItems.juniorProcessor, 2, NHItems.ancimembrane, 10)); - }}; - multiConduit = new Conduit("multi-conduit"){{ size = 1; health = 420; @@ -2980,9 +3721,6 @@ public void hit(Bullet b, float x, float y){ }}; unitIniter = new UnitSpawner("unit-initer"); - - lableSpawner = new LabelSpawner("label-spawner"); - /* shieldProjector = new ShieldProjector("shield-projector"){{ consumePower(1f); consumePowerCond(8f, ShieldProjectorBuild::isCharging); @@ -3100,7 +3838,6 @@ public void despawned(Bullet b){ }; }}; */ - bombLauncher = new BombLauncher("bomb-launcher"){{ requirements(Category.defense, with(NHItems.multipleSteel, 100, NHItems.presstanium, 260, NHItems.juniorProcessor, 120, Items.thorium, 500, Items.surgeAlloy, 75)); //NHTechTree.add(Blocks.massDriver, this); @@ -3138,9 +3875,12 @@ public void despawned(Bullet b){ health = 1200; }}; + lableSpawner = new LabelSpawner("label-spawner"); + hyperspaceWarper = new HyperSpaceWarper("hyper-space-warper"){{ size = 4; health = 2250; + squareSprite = false; completeEffect = NHFx.square45_4_45; @@ -3196,6 +3936,7 @@ public void despawned(Bullet b){ speedBoost = 4f; useTime = 300.0F; hasBoost = true; + squareSprite = false; consumeItem(Items.phaseFabric).boost(); consumeLiquid(NHLiquids.xenBeta, 0.1f); }}; @@ -3214,38 +3955,6 @@ public void despawned(Bullet b){ health = 980; consumeItem(NHItems.juniorProcessor).boost(); }}; - - zetaGenerator = new ConsumeGenerator("zeta-generator"){{ - requirements(Category.power,ItemStack.with(NHItems.metalOxhydrigen, 120, NHItems.juniorProcessor, 80, Items.plastanium, 80, NHItems.zeta,100, Items.copper, 150)); -// //NHTechTree.add(Blocks.thoriumReactor,this); - size = 3; - powerProduction = 60f; - ambientSound = Sounds.hum; - ambientSoundVolume = 0.24F; - itemCapacity = 30; - liquidCapacity = 30; - itemDuration = 150f; - consumeItem(NHItems.zeta, 3); - consumeLiquid(Liquids.cryofluid,0.1f); - - hasLiquids = true; - - drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.cryofluid), new DrawDefault(), new DrawGlowRegion(){{ - color = NHItems.zeta.color; - }}); - - lightColor = NHItems.zeta.color.cpy().lerp(Color.white, 0.125f); - generateEffect = NHFx.square(lightColor, 30f, 5, 20f, 4); -// explodeEffect = NHFx.lightningHitLarge(heatColor); - }}; - - hugeBattery = new Battery("huge-battery"){{ - size = 5; - health = 1600; - requirements(Category.power, BuildVisibility.shown, ItemStack.with(Items.phaseFabric, 40, NHItems.juniorProcessor, 20, NHItems.zeta, 80, NHItems.presstanium, 35, Items.graphite, 50)); -// //NHTechTree.add(Blocks.batteryLarge, this); - consumePowerBuffered(750_000); - }}; armorPowerNode = new PowerNode("armor-power-node"){{ requirements(Category.power, BuildVisibility.shown, ItemStack.with(NHItems.presstanium, 25, NHItems.juniorProcessor, 5, Items.lead, 25)); @@ -3257,25 +3966,6 @@ public void despawned(Bullet b){ armor = 5; }}; - armorBatteryLarge = new Battery("large-armor-battery"){{ - requirements(Category.power, BuildVisibility.shown, ItemStack.with(NHItems.presstanium, 40, NHItems.juniorProcessor, 10, Items.lead, 40)); - size = 3; - health = 3000; - consumePowerBuffered(45000.0F); - }}; - - heavyPowerNode = new PowerNode("heavy-power-node"){{ - requirements(Category.power, BuildVisibility.shown, ItemStack.with(NHItems.multipleSteel, 25, NHItems.juniorProcessor, 15, NHItems.zeta, 45, NHItems.presstanium, 40)); -// //NHTechTree.add(Blocks.powerNodeLarge, this); - size = 3; - maxNodes = 30; - laserRange = 20F; - health = 1200; - armor = 3; - -// consumePowerBuffered(30000f); - }}; - largeWaterExtractor = new SolidPump("large-water-extractor"){{ size = 3; pumpAmount = 0.3f; @@ -3329,144 +4019,6 @@ public void despawned(Bullet b){ }); }}; - hyperGenerator = new HyperGenerator("hyper-generator"){{ - size = 8; - health = 12500; - powerProduction = 1750f; - updateLightning = updateLightningRand = 3; - effectColor = NHColor.thermoPst; - itemCapacity = 40; - itemDuration = 180f; - ambientSound = Sounds.pulse; - ambientSoundVolume = 0.1F; - toApplyStatus.add(NHStatusEffects.phased, StatusEffects.overclock); - - consumePower(50.0F); - consumeItems(ItemStack.with(NHItems.thermoCoreNegative, 2, Items.phaseFabric, 4)).optional(true, true); - consumeItems(new ItemStack(NHItems.metalOxhydrigen, 8), new ItemStack(NHItems.thermoCorePositive, 4)); - consumeLiquid(NHLiquids.zetaFluid, 0.25F); - requirements(Category.power, BuildVisibility.shown, with(NHItems.upgradeSort, 1000, NHItems.setonAlloy, 600, NHItems.irayrondPanel, 400, NHItems.presstanium, 1500, Items.surgeAlloy, 250, Items.metaglass, 250)); -// //NHTechTree.add(fusionCollapser, this); - }}; - - insulatedWall = new Wall("insulated-wall"){{ - size = 1; - health = 300; - requirements(Category.defense, with(Items.titanium, 10, Items.copper, 5)); - insulated = true; - absorbLasers = true; - }}; - - setonWall = new Wall("seton-wall"){{ - armor = 15f; - - insulated = true; - - size = 1; - health = 1250; - chanceDeflect = 15.0F; - flashHit = true; - requirements(Category.defense, with(NHItems.setonAlloy, 5, NHItems.irayrondPanel, 10, Items.silicon, 15, NHItems.presstanium, 15)); - }}; - - setonWallLarge = new Wall("seton-wall-large"){{ - armor = 15f; - - insulated = true; - - size = 2; - health = 1250 * healthMult2; - chanceDeflect = 15.0F; - flashHit = true; - requirements(Category.defense, with(NHItems.setonAlloy, 5 * healthMult2, NHItems.irayrondPanel, 10 * healthMult2, Items.silicon, 15 * healthMult2, NHItems.presstanium, 15 * healthMult2)); - }}; - - heavyDefenceWall = new ShieldWall("heavy-defence-wall"){{ - shieldHealth = 1000f; - breakCooldown = 30f * 10f; - regenSpeed = 5f; - glowColor = NHColor.darkEnrColor.cpy().lerp(NHColor.lightSkyFront, 0.3f).a(0.5f); - consumePower(8f / 60f); - - outputsPower = false; - hasPower = true; - consumesPower = true; - conductivePower = true; - - armor = 30f; - - size = 1; - health = 1750; - absorbLasers = true; - requirements(Category.defense, with(NHItems.setonAlloy, 10, NHItems.presstanium, 20)); - - buildType = () -> new ShieldWallBuild(){ - @Override - public void draw(){ - Draw.rect(block.region, x, y); - - if(shieldRadius > 0){ - float radius = shieldRadius * tilesize / 2; - - Draw.z(Layer.shields); - - Draw.color(team.color, Color.white, Mathf.clamp(hit)); - - if(renderer.animateShields){ - Fill.square(x, y, radius); - }else{ - Lines.stroke(1.5f); - Draw.alpha(0.09f + Mathf.clamp(0.08f * hit)); - Fill.square(x, y, radius); - Draw.alpha(1f); - Lines.poly(x, y, 4, radius, 45f); - Draw.reset(); - } - - Draw.reset(); - - Drawf.additive(glowRegion, glowColor, (1f - glowMag + Mathf.absin(glowScl, glowMag)) * shieldRadius, x, y, 0f, Layer.blockAdditive); - } - } - }; - }}; - - heavyDefenceWallLarge = new ShieldWall("heavy-defence-wall-large"){{ - shieldHealth = 1200f * healthMult2; - breakCooldown = 30f * 10f; - regenSpeed = 5f * healthMult2; - glowColor = NHColor.darkEnrColor.cpy().lerp(NHColor.lightSkyFront, 0.3f).a(0.5f); - consumePower(8f / 60f * healthMult2); - - armor = 30f; - - outputsPower = false; - hasPower = true; - consumesPower = true; - conductivePower = true; - - size = 2; - health = 1750 * healthMult2; - absorbLasers = true; - requirements(Category.defense, with(NHItems.setonAlloy, 10 * healthMult2, NHItems.presstanium, 20 * healthMult2)); - }}; - - heavyDefenceDoor = new Door("heavy-defence-door"){{ - size = 1; - health = 1750; - armor = 30; - requirements(Category.defense, with(NHItems.setonAlloy, 10, NHItems.presstanium, 20, NHItems.juniorProcessor, 5)); - }}; - - heavyDefenceDoorLarge = new Door("heavy-defence-door-large"){{ - size = 2; - health = 1750 * healthMult2; - armor = 30; - openfx = Fx.dooropenlarge; - closefx = Fx.doorcloselarge; - requirements(Category.defense, with(NHItems.setonAlloy, 10 * healthMult2, NHItems.presstanium, 20 * healthMult2, NHItems.juniorProcessor, 5 * healthMult2)); - }}; - largeShieldGenerator = new ForceProjector("large-shield-generator") {{ size = 4; radius = 220f; @@ -3482,28 +4034,6 @@ public void draw(){ requirements(Category.effect, with(NHItems.seniorProcessor, 120, Items.lead, 250, Items.graphite, 180, NHItems.presstanium, 150, Items.phaseFabric, 120, NHItems.multipleSteel, 50)); }}; - chargeWall = new ChargeWall("charge-wall"){{ - requirements(Category.defense, with(NHItems.seniorProcessor, 5, NHItems.upgradeSort, 5)); - size = 1; - absorbLasers = true; - range = 120; - health = 1350; - effectColor = NHColor.lightSkyBack; - - armor = 10f; - }}; - - chargeWallLarge = new ChargeWall("charge-wall-large"){{ - requirements(Category.defense, ItemStack.mult(chargeWall.requirements, healthMult2)); - size = 2; - absorbLasers = true; - range = 200; - health = 1350 * healthMult2; - effectColor = NHColor.lightSkyBack; - - armor = 10f; - }}; - irdryonVault = new StorageBlock("irdryon-vault"){{ requirements(Category.effect, with(NHItems.presstanium, 150, NHItems.metalOxhydrigen, 50, NHItems.irayrondPanel, 75)); size = 3; @@ -3521,6 +4051,7 @@ public void draw(){ range = 160f; armor = 5f; + buildSpeedMultiplierCoefficient = 0.5f; itemCapacity = 500; @@ -3567,6 +4098,8 @@ public void draw(){ spawnReloadTime = 600f; range = 300f; + buildSpeedMultiplierCoefficient = 0.75f; + adaptBase = jumpGatePrimary; adaptable = true; consumePowerCond(30, JumpGateBuild::isCalling); @@ -3637,6 +4170,8 @@ public void draw(){ armor = 20f; + buildSpeedMultiplierCoefficient = 1f; + itemCapacity = 6000; requirements(Category.units, BuildVisibility.shown, with( @@ -3706,6 +4241,8 @@ public void draw(){ loadFactories(); loadTurrets(); loadEnv(); + loadWalls(); + loadPowers(); // loadExperiments(); disposePowerVoid = new PowerVoid("dispose-power-void"){{ @@ -3714,5 +4251,14 @@ public void draw(){ requirements(Category.power, BuildVisibility.sandboxOnly, with()); alwaysUnlocked = true; }}; + + tagger = new MessageBlock("tagger"){{ + forceDark = true; + maxTextLength = 100000; + requirements(Category.logic, BuildVisibility.editorOnly, with()); + + targetable = false; + privileged = true; + }}; } } diff --git a/src/newhorizon/content/NHBullets.java b/src/newhorizon/content/NHBullets.java index 5e7ee604..9a56afab 100644 --- a/src/newhorizon/content/NHBullets.java +++ b/src/newhorizon/content/NHBullets.java @@ -36,8 +36,8 @@ import newhorizon.util.feature.PosLightning; import newhorizon.util.func.NHFunc; import newhorizon.util.func.NHInterp; -import newhorizon.util.graphic.ColorWarpEffect; import newhorizon.util.graphic.DrawFunc; +import newhorizon.util.graphic.EffectWrapper; import newhorizon.util.graphic.OptionalMultiEffect; import static arc.graphics.g2d.Draw.color; @@ -50,6 +50,8 @@ public class NHBullets{ public static UnitType airRaidMissile, skyMissile; public static BulletType + lightningAir, + shieldDestroyer, ancientArtilleryProjectile, ancientBall, ancientStd, pesterBlackHole, nuBlackHole, laugraBullet, @@ -58,12 +60,55 @@ public class NHBullets{ declineProjectile, atomSeparator, blastEnergyPst, blastEnergyNgt, warperBullet, airRaidBomb, hyperBlastLinker, hyperBlast, - arc_9000, eternity, + arc_9000, eternity, arc_9000_frag, synchroZeta, synchroThermoPst, synchroFusion, synchroPhase, missileTitanium, missileThorium, missileZeta, missileNormal, missileStrike, ultFireball, basicSkyFrag, annMissile, guardianBullet, guardianBulletLightningBall, saviourBullet; private static void loadPriority(){ + arc_9000_frag = new FlakBulletType(3.75f, 200){ + { + trailColor = lightColor = lightningColor = NHColor.darkEnrColor; + backColor = NHColor.darkEnrColor; + frontColor = NHColor.darkEnrFront; + + trailLength = 14; + trailWidth = 2.7f; + trailRotation = true; + trailInterval = 3; + + trailEffect = NHFx.polyTrail(backColor, frontColor, 4.65f, 22f); + trailChance = 0f; + despawnEffect = hitEffect = NHFx.darkErnExplosion; + knockback = 12f; + lifetime = 90f; + width = 17f; + height = 42f; + collidesTiles = false; + splashDamageRadius = 60f; + splashDamage = damage * 0.6f; + lightning = 3; + lightningLength = 8; + smokeEffect = Fx.shootBigSmoke2; + hitShake = 8f; + hitSound = Sounds.plasmaboom; + status = StatusEffects.sapped; + + statusDuration = 60f * 10; + } + }; + + lightningAir = new BulletType(0.0001f, 0f){{ + lifetime = Fx.lightning.lifetime; + hitEffect = Fx.hitLancer; + despawnEffect = Fx.none; + status = StatusEffects.shocked; + statusDuration = 10f; + hittable = false; + collidesGround = false; + lightColor = Color.white; + }}; + shieldDestroyer = new ShieldBreakerType(22f, 0, STRIKE, 3000){{ fragSpawnSpacing = 0.5f; hitColor = trailColor = lightningColor = backColor = lightColor = NHColor.ancientLightMid; @@ -236,7 +281,7 @@ public static void load(){ }))); despawnEffect = NHFx.circleOut(145f, splashDamageRadius + 15f, 3f); - shootEffect = ColorWarpEffect.wrap(NHFx.missileShoot, hitColor);//NHFx.blast(hitColor, 45f); + shootEffect = EffectWrapper.wrap(NHFx.missileShoot, hitColor);//NHFx.blast(hitColor, 45f); smokeEffect = NHFx.instShoot(hitColor, frontColor); despawnSound = hitSound = Sounds.largeExplosion; @@ -731,7 +776,7 @@ public void init(Bullet b){ lifetime = 20f; lightningColor = hitColor = frontColor = backColor = trailColor = lightColor = NHItems.irayrondPanel.color; - chargeEffect = new OptionalMultiEffect(NHFx.genericCharge(backColor, 13, 90, 90), ColorWarpEffect.wrap(NHFx.square45_6_45_Charge, backColor)); + chargeEffect = new OptionalMultiEffect(NHFx.genericCharge(backColor, 13, 90, 90), EffectWrapper.wrap(NHFx.square45_6_45_Charge, backColor)); lightning = 4; lightningLength = 6; lightningLengthRand = 10; @@ -768,7 +813,7 @@ public void init(Bullet b){ lifetime = 16f; frontColor = NHItems.irayrondPanel.color; lightningColor = hitColor = backColor = trailColor = lightColor = NHItems.irayrondPanel.color.cpy().lerp(NHColor.deeperBlue, 0.4f); - chargeEffect = new OptionalMultiEffect(NHFx.genericCharge(backColor,18, 120, 90), ColorWarpEffect.wrap(NHFx.square45_6_45_Charge, backColor)); + chargeEffect = new OptionalMultiEffect(NHFx.genericCharge(backColor,18, 120, 90), EffectWrapper.wrap(NHFx.square45_6_45_Charge, backColor)); lightning = 4; lightningLength = 6; lightningLengthRand = 10; @@ -802,10 +847,12 @@ public void init(Bullet b){ ammoMultiplier = 1; + + lifetime = 12.8f; frontColor = NHItems.irayrondPanel.color; lightningColor = hitColor = backColor = trailColor = lightColor = NHItems.irayrondPanel.color.cpy().lerp(NHColor.darkEnrColor, 0.6f); - chargeEffect = new OptionalMultiEffect(NHFx.genericCharge(backColor,18, 120, 90), ColorWarpEffect.wrap(NHFx.square45_6_45_Charge, backColor)); + chargeEffect = new OptionalMultiEffect(NHFx.genericCharge(backColor,18, 120, 90), EffectWrapper.wrap(NHFx.square45_6_45_Charge, backColor)); lightning = 6; lightningLength = 12; lightningLengthRand = 20; @@ -818,6 +865,15 @@ public void init(Bullet b){ splashDamage = 2000; splashDamageRadius = 80; + intervalBullets = 2; + bulletInterval = 5f; + intervalBullet = new AdaptedLightningBulletType(){{ + lightningColor = trailColor = hitColor = lightColor = NHItems.zeta.color; + lightningLength = 4; + lightningLengthRand = 15; + damage = 200; + }}; + buildingDamageMultiplier = 0.75f; hitShake = 22f; @@ -840,10 +896,10 @@ public void init(Bullet b){ lightningCone = 360; lightningLengthRand = 12; lightningLength = 4; - homingPower = 0.195f; + homingPower = 0.165f; homingRange = 600f; - homingDelay = 12; - width = height = 16f; + homingDelay = 33; + width = height = 9f; splashDamageRadius = 30f; lightningDamage = damage * 0.65f; splashDamage = 0.65f * damage; @@ -857,15 +913,16 @@ public void init(Bullet b){ trailParam = 2.7f; trailLength = 15; - trailWidth = 3.5f; + trailWidth = 2.2f; drawSize = 300f; }}; blastEnergyNgt = new AccelBulletType(3.85f, 100f){{ frontColor = Color.white; backColor = lightningColor = trailColor = lightColor = NHItems.thermoCoreNegative.color.cpy().lerp(Color.white, 0.025f); - lifetime = 36f; + lifetime = 44f; knockback = 4f; + rangeChange = 120; ammoMultiplier = 8f; accelerateBegin = 0.1f; accelerateEnd = 0.85f; @@ -875,7 +932,7 @@ public void init(Bullet b){ lightningCone = 360; lightningLengthRand = 12; lightningLength = 4; - width = 14f; + width = 11f; height = 46f; pierceCap = 4; shrinkX = shrinkY = 0; @@ -891,7 +948,7 @@ public void init(Bullet b){ reloadMultiplier = 1.25f; trailLength = 15; - trailWidth = 3f; + trailWidth = 2.44f; drawSize = 300f; inaccuracy = 0; @@ -1116,11 +1173,11 @@ public void draw(Unit unit){ }; airRaidMissile = new AdaptedMissileUnitType("air-raid-missile"){{ - speed = 4.6f; - accel = 0.5f; + speed = 4f; + accel = 0.12f; drag /= 2; - lifetime = 60f * 3.35f; + lifetime = 60f * 4.05f; targetPriority = 0f; @@ -1130,7 +1187,7 @@ public void draw(Unit unit){ armor = 10; outlineColor = Pal.darkOutline; - health = 3000; + health = 4000; homingDelay = 17f; lowAltitude = true; engineSize = 2.75f; @@ -1158,23 +1215,48 @@ public void draw(Unit unit){ shootOnDeath = true; shootSound = Sounds.explosionbig; + predictTarget = false; + shake = 12; - bullet = new ExplosionBulletType(900, 120f){{ - trailColor = lightColor = lightningColor = NHColor.darkEnrColor; + bullet = new ExplosionBulletType(1200, 120f){{ + trailColor = lightColor = lightningColor = hitColor = NHColor.darkEnrColor; - suppressionRange = 140f; + suppressionRange = 600f; + suppressionDuration = 600f; hitSound = despawnSound = Sounds.none; + status = NHStatusEffects.emp3; + + lightningDamage = damage = splashDamage / 2f; + scaledSplashDamage = true; - lightningDamage = damage = splashDamage; splashDamageRadius = 200f; hitShake = despawnShake = 16f; - lightning = 3; + lightning = 4; lightningCone = 360; lightningLengthRand = lightningLength = 20; - shootEffect = new OptionalMultiEffect(NHFx.largeDarkEnergyHit, NHFx.blast(NHColor.darkEnrColor, 140f), NHFx.largeDarkEnergyHitCircle, NHFx.instHit(NHColor.darkEnrColor, 4, 90f)); + fragLifeMin = 0.6f; + fragLifeMax = 1f; + fragVelocityMin = 0.4f; + fragVelocityMax = 0.6f; + fragBullets = 6; + fragBullet = arc_9000_frag; + + shootEffect = new OptionalMultiEffect( + NHFx.largeDarkEnergyHit, + NHFx.blast(NHColor.darkEnrColor, 140f), + NHFx.largeDarkEnergyHitCircle, + NHFx.subEffect(150, splashDamageRadius * 0.66f, 13, 34f, Interp.pow2Out, ((i, x, y, rot, fin) -> { + float fout = Interp.pow2Out.apply(1 - fin); + float finpow = Interp.pow3Out.apply(fin); + Tmp.v1.trns(rot, 25 * finpow); + for(int s : Mathf.signs) { + Drawf.tri(x, y, 12 * fout, 45 * Mathf.curve(finpow, 0, 0.3f) * NHFx.fout(fin, 0.15f), rot + s * 90); + } + })) + ); }}; }}); }}; @@ -1317,7 +1399,7 @@ public void draw(Unit unit){ lightningColor = backColor = trailColor = hitColor = lightColor = NHColor.ancient; lightRadius = 70f; - shootEffect = new ColorWarpEffect(NHFx.shootLine(33f, 32), backColor); + shootEffect = new EffectWrapper(NHFx.shootLine(33f, 32), backColor); smokeEffect = NHFx.hugeSmokeLong; lifetime = 40f; @@ -1572,12 +1654,12 @@ public void update(Bullet b){ shrinkY = 0f; drag = -0.01f; ammoMultiplier = 3f; - backColor = trailColor = lightColor = lightningColor = NHItems.zeta.color.cpy().lerp(Color.white, 0.2f); + backColor = trailColor = lightColor = lightningColor = hitColor = NHItems.zeta.color.cpy().lerp(Color.white, 0.2f); frontColor = backColor.cpy().lerp(Color.white, 0.7f); splashDamageRadius = 4f; splashDamage = damage / 3; - hitEffect = Fx.smoke; - despawnEffect = NHFx.lightningHitLarge(backColor); + despawnEffect = Fx.smoke; + hitEffect = NHFx.hitSpark; lifetime = 58f; lightningDamage = damage / 2; lightning = 2; @@ -1592,87 +1674,78 @@ public void update(Bullet b){ } }}; - arc_9000 = new LightningLinkerBulletType(2.75f, 550){{ + arc_9000 = new LightningLinkerBulletType(2.75f, 460){{ trailWidth = 4.5f; trailLength = 66; chargeEffect = new OptionalMultiEffect(NHFx.darkEnergyCharge, NHFx.darkEnergyChargeBegin); + spreadEffect = slopeEffect = Fx.none; + trailEffect = NHFx.hitSparkHuge; + trailInterval = 5; + backColor = trailColor = hitColor = lightColor = lightningColor = NHColor.darkEnrColor; frontColor = NHColor.darkEnr; - randomGenerateRange = 280f; - randomLightningNum = 6; + randomGenerateRange = 340f; + randomLightningNum = 3; linkRange = 280f; range = 800f; drawSize = 500f; drag = 0.0035f; - fragLifeMin = 0.1f; + fragLifeMin = 0.3f; fragLifeMax = 1f; - fragVelocityMin = 0.1f; + fragVelocityMin = 0.3f; fragVelocityMax = 1.25f; - fragBullets = 12; + fragBullets = 14; intervalBullets = 2; - intervalBullet = fragBullet = new FlakBulletType(3.75f, 200){ - @Override - public void update(Bullet b){ - if(b.timer(0, 3)){ - trailEffect.at(b.x, b.y, b.rotation()); - } - } - - { - frontColor = trailColor = lightColor = lightningColor = NHColor.darkEnrColor; - backColor = NHColor.darkEnrColor; - - trailLength = 12; - trailWidth = 1f; - - trailEffect = NHFx.polyTrail(backColor, frontColor, 4.65f, 22f); - trailChance = 0f; - despawnEffect = hitEffect = NHFx.darkErnExplosion; - knockback = 12f; - lifetime = 90f; - width = 17f; - height = 42f; - collidesTiles = false; - splashDamageRadius = 60f; - splashDamage = damage * 0.6f; - lightning = 3; - lightningLength = 8; - smokeEffect = Fx.shootBigSmoke2; - hitShake = 8f; - hitSound = Sounds.plasmaboom; - status = StatusEffects.sapped; - - statusDuration = 60f * 10; - } - }; + intervalBullet = fragBullet = arc_9000_frag; hitSound = Sounds.explosionbig; splashDamageRadius = 120f; - splashDamage = 300; + splashDamage = 200; lightningDamage = damage * 0.75f; collidesTiles = true; pierce = false; collides = false; - ammoMultiplier = 1; + ammoMultiplier = 1f; lifetime = 300; - hitEffect = Fx.none; despawnEffect = NHFx.circleOut(hitColor, splashDamageRadius * 1.5f); hitEffect = NHFx.largeDarkEnergyHit; shootEffect = NHFx.darkEnergyShootBig; smokeEffect = NHFx.darkEnergySmokeBig; } + @Override + public void update(Bullet b){ + super.update(b); + + if(NHSetting.enableDetails() && b.timer(1, 6))for(int j = 0; j < 2; j++){ + NHFunc.randFadeLightningEffect(b.x, b.y, Mathf.random(360), Mathf.random(7, 12), backColor, Mathf.chance(0.5)); + } + } + @Override public void draw(Bullet b){ Draw.color(backColor); - DrawFunc.surround(b.id, b.x, b.y, size * 1.45f, 14, 7,11, b.fin(NHInterp.parabola4Reversed)); + DrawFunc.surround(b.id, b.x, b.y, size * 1.45f, 14, 7,11, (b.fin(NHInterp.parabola4Reversed) + 1f) / 2 * b.fout(0.1f)); - super.draw(b); + drawTrail(b); + + color(backColor); + Fill.circle(b.x, b.y, size); + + Draw.z(NHFx.EFFECT_MASK); + color(frontColor); + Fill.circle(b.x, b.y, size * 0.62f); + Draw.z(NHFx.EFFECT_BOTTOM); + color(frontColor); + Fill.circle(b.x, b.y, size * 0.66f); + Draw.z(Layer.bullet); + + Drawf.light(b.x, b.y, size * 1.85f, backColor, 0.7f); } }; diff --git a/src/newhorizon/content/NHColor.java b/src/newhorizon/content/NHColor.java index 65a8e2c6..1a58d5a9 100644 --- a/src/newhorizon/content/NHColor.java +++ b/src/newhorizon/content/NHColor.java @@ -23,7 +23,7 @@ public class NHColor{ thurmixRedLight = Color.valueOf("#FFCED0"), thurmixRedDark = thurmixRed.cpy().lerp(Color.black, 0.9f), darkEnr = darkEnrColor.cpy().lerp(Color.black, 0.85f), - darkEnrFront = darkEnrColor.cpy().lerp(Color.white, 0.2f), + darkEnrFront = darkEnrColor.cpy().lerp(Color.white, 0.45f), trail = Color.lightGray.cpy().lerp(Color.gray, 0.65f), thermoPst = Color.valueOf("CFFF87").lerp(Color.white, 0.15f); diff --git a/src/newhorizon/content/NHFx.java b/src/newhorizon/content/NHFx.java index dd35bb16..489ff5ec 100644 --- a/src/newhorizon/content/NHFx.java +++ b/src/newhorizon/content/NHFx.java @@ -40,6 +40,8 @@ import static mindustry.Vars.tilesize; public class NHFx{ + public static final float EFFECT_MASK = Layer.effect + 0.0001f; + public static final float EFFECT_BOTTOM = Layer.bullet - 0.11f; public static final IntMap same = new IntMap<>(); private static final Rand rand = new Rand(); private static final Rand rand2 = new Rand(); @@ -62,6 +64,11 @@ public static float fout(float fin, float margin){ } } + public static void drawDark(Runnable runnable){ + Draw.draw(EFFECT_BOTTOM, runnable); + Draw.draw(EFFECT_MASK, runnable); + } + public static int hash(String m, Color c){ return Arrays.hashCode(new int[]{m.hashCode(), c.hashCode()}); } @@ -189,7 +196,7 @@ public static Effect genericCharge(Color color, float size, float range, float l color(color); Lines.stroke(size / 7f * e.fin()); - randLenVectors(e.id, 12, 3f + 30f * e.fout(), e.rotation, range, (x, y) -> { + randLenVectors(e.id, 15, 3f + 60f * e.fout(), e.rotation, range, (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * size + size / 4f); Drawf.light(e.x + x, e.y + y, e.fout(0.25f) * size, color, 0.7f); }); @@ -821,14 +828,14 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float float tx = p.getX(), ty = p.getY(), dst = Mathf.dst(e.x, e.y, tx, ty); Tmp.v1.set(p).sub(e.x, e.y).nor(); - e.lifetime = dst * 0.375f; + e.lifetime = dst * 0.3f; float normx = Tmp.v1.x, normy = Tmp.v1.y; float range = e.rotation; int links = Mathf.ceil(dst / range); float spacing = dst / links; stroke(2.5f * Mathf.curve(e.fout(), 0, 0.7f)); - color(Color.white, e.color, e.fin()); + color(e.color ,Color.white, e.fout() * 0.6f); beginLine(); @@ -876,14 +883,14 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float float tx = e.x, ty = e.y, dst = Mathf.dst(p.getX(), p.getY(), tx, ty); Tmp.v1.set(e.x, e.y).sub(p).nor(); - e.lifetime = dst * 0.375f; + e.lifetime = dst * 0.3f; float normx = Tmp.v1.x, normy = Tmp.v1.y; float range = e.rotation; int links = Mathf.ceil(dst / range); float spacing = dst / links; Lines.stroke(2.5f * Mathf.curve(e.fout(), 0, 0.7f)); - Draw.color(Color.white, e.color, e.fin()); + color(e.color ,Color.white, e.fout() * 0.6f); Lines.beginLine(); @@ -1141,6 +1148,11 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float Lines.circle(e.x, e.y, e.rotation * e.fin(Interp.pow3Out)); }), + circleOutLong = new Effect(120f, 500f, e -> { + Lines.stroke(2.5f * e.fout(), e.color); + Lines.circle(e.x, e.y, e.rotation * e.fin(Interp.pow3Out)); + }), + shuttle = new Effect(70f, 800f, e -> { if(!(e.data instanceof Float))return; float len = e.data(); @@ -1177,13 +1189,13 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float } float len1 = len * 0.66f; - z(Layer.effect + 0.0001f); + z(EFFECT_MASK); color(Color.black); for(int i : Mathf.signs) { DrawFunc.tri(e.x, e.y, len1 / 17f * fout * (Mathf.absin(0.8f, 0.07f) + 1), len1 * 3f * Interp.swingOut.apply(Mathf.curve(e.fin(), 0, 0.7f)) * (Mathf.absin(0.8f, 0.12f) + 1) * e.fout(0.2f), e.rotation + 90 + i * 90); } - z(Layer.bullet - 0.11f); + z(EFFECT_BOTTOM); for(int i : Mathf.signs) { DrawFunc.tri(e.x, e.y, len1 / 17f * fout * (Mathf.absin(0.8f, 0.07f) + 1), len1 * 3f * Interp.swingOut.apply(Mathf.curve(e.fin(), 0, 0.7f)) * (Mathf.absin(0.8f, 0.12f) + 1) * e.fout(0.2f), e.rotation + 90 + i * 90); } @@ -1356,10 +1368,16 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float randLenVectors(e.id, 30, 18 + 80 * e.fin(), (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 14 + 5); }); + + Draw.z(EFFECT_MASK); color(NHColor.darkEnr); Fill.circle(e.x, e.y, e.fout() * 30); Drawf.light(e.x, e.y, e.fout() * 80f, NHColor.darkEnrColor, 0.7f); - }).layer(Layer.effect - 0.000001f), + + Draw.z(EFFECT_BOTTOM); + Fill.circle(e.x, e.y, e.fout() * 31); + Draw.z(Layer.effect - 0.0001f); + }).layer(Layer.effect - 0.0001f), mediumDarkEnergyHit = new Effect(23, e -> { color(NHColor.darkEnrColor); @@ -1435,13 +1453,19 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float darkEnergyCharge = new Effect(130f, e -> { rand.setSeed(e.id); - randLenVectors(e.id, 12, rand.random(90f, 200f) * Mathf.curve(e.fout(), 0.25f, 1f), (x, y) -> { + randLenVectors(e.id, 12, 140f * e.fout(Interp.pow3Out), (x, y) -> { color(NHColor.darkEnrColor); float rad = rand.random(9f, 18f); - Fill.circle(e.x + x, e.y + y, e.fin() * rad); + float scl = rand.random(0.6f, 1f); + float dx = e.x + scl * x, dy = e.y + scl * y; + Fill.circle(dx, dy, e.fin() * rad); color(NHColor.darkEnr); - Fill.circle(e.x + x, e.y + y, e.fin() * rad / 1.8f); - Drawf.light(e.x + x, e.y + y, e.fin() * rad * 1.5f, NHColor.darkEnrColor, 0.7f); + Draw.z(EFFECT_MASK); + Fill.circle(dx, dy, e.fin() * rad / 1.8f); + Draw.z(EFFECT_BOTTOM); + Fill.circle(dx, dy, e.fin() * rad / 1.8f); + Draw.z(Layer.effect); + Drawf.light(dx, dy, e.fin() * rad * 1.5f, NHColor.darkEnrColor, 0.7f); }); }), @@ -1465,7 +1489,7 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float e.scaled(25f, i -> Angles.randLenVectors(e.id, 6, 2.0F + 19.0F * i.finpow(), (x, y) -> Fill.circle(e.x + x, e.y + y, i.fout() * 4.0F))); }), - hugeSmokeLong = new Effect(80f, e -> { + hugeSmokeLong = new Effect(120f, e -> { Draw.color(e.color); Angles.randLenVectors(e.id, 6, 2.0F + 19.0F * e.finpow(), (x, y) -> Fill.circle(e.x + x / 2.0F, e.y + y / 2.0F, e.fout() * 2f)); e.scaled(25f, i -> Angles.randLenVectors(e.id, 6, 2.0F + 19.0F * i.finpow(), (x, y) -> Fill.circle(e.x + x, e.y + y, i.fout() * 4.0F))); @@ -1476,8 +1500,13 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float Fill.circle(e.x, e.y, e.fin() * 32); stroke(e.fin() * 3.7f); circle(e.x, e.y, e.fout() * 80); + Draw.z(EFFECT_MASK); color(NHColor.darkEnr); Fill.circle(e.x, e.y, e.fin() * 20); + + Draw.z(EFFECT_BOTTOM); + color(NHColor.darkEnr); + Fill.circle(e.x, e.y, e.fin() * 22); Drawf.light(e.x, e.y, e.fin() * 35f, NHColor.darkEnrColor, 0.7f); }), @@ -1490,8 +1519,8 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float darkErnExplosion = new Effect(40, e -> { color(NHColor.darkEnrColor); e.scaled(20, i -> { - stroke(3f * i.fout()); - circle(e.x, e.y, 3f + i.fin() * 80f); + stroke(3f * i.foutpow()); + circle(e.x, e.y, 3f + i.finpow() * 80f); }); stroke(e.fout()); @@ -1649,7 +1678,7 @@ public static Effect sharpBlast(Color colorExternal, Color colorInternal, float points.removeRange(0, points.size() - strokeOffset - 1); } - if(!state.isPaused()){ + if(!state.isPaused() && points.any()){ points.remove(0); } diff --git a/src/newhorizon/content/NHInbuiltEvents.java b/src/newhorizon/content/NHInbuiltEvents.java index 71194294..f6d4be4a 100644 --- a/src/newhorizon/content/NHInbuiltEvents.java +++ b/src/newhorizon/content/NHInbuiltEvents.java @@ -20,6 +20,7 @@ import arc.util.Tmp; import mindustry.Vars; import mindustry.content.Items; +import mindustry.content.StatusEffects; import mindustry.content.UnitTypes; import mindustry.entities.Mover; import mindustry.entities.Units; @@ -159,7 +160,7 @@ protected void bullet(WorldEvent e, Team team, BulletType bullet, Position sourc inaccuracy = 0.145f; ammo(copyAnd(NHBullets.saviourBullet, b -> { - b.collides = b.collidesAir = false; + b.collidesAir = false; b.scaleLife = true; b.scaledSplashDamage = true; b.splashDamage += b.damage; @@ -174,7 +175,11 @@ protected void bullet(WorldEvent e, Team team, BulletType bullet, Position sourc b.scaleLife = true; b.scaledSplashDamage = true; b.splashDamage += b.damage; + b.lightningDamage = b.damage / 2; b.splashDamageRadius = 56f; + b.lightning = 4; + b.lightningLength = 3; + b.lightningLengthRand = 14; }), new ShootPattern(){{ shots = 24; shotDelay = 6f; @@ -497,6 +502,16 @@ public Table buildSimpleTable(WorldEvent e){ minTriggerWave = 0; spacingBase = 2400 * 60; spacingRand = 120 * 60; + }}, new AutoEventTrigger(){{ + items = OV_Pair.seqWith(NHItems.upgradeSort, 3000, NHItems.thermoCorePositive, 2300, NHItems.thermoCoreNegative, 2300); + eventType = WorldEventType.inbuilt(new InterventionEventType("inbuilt-inbound-collapser"){{ + spawn(NHUnitTypes.collapser, 1); + reloadTime = 30 * 60; + status = StatusEffects.overdrive; + }}); + + spacingBase = 1200 * 60; + spacingRand = 300 * 60; }}, new AutoEventTrigger(){{ items = OV_Pair.seqWith(NHItems.multipleSteel, 1500, NHItems.seniorProcessor, 800); eventType = WorldEventType.inbuilt(new InterventionEventType("inbuilt-inbound-gunship"){{ @@ -723,30 +738,36 @@ public void trigger(WorldEvent e){ return; } - if(Vars.net.client() || Vars.state.isEditor() || Vars.state.rules.pvp || (Vars.state.rules.infiniteResources && !NewHorizon.DEBUGGING) || NHGroups.autoEventTrigger.size() >= autoTriggers.size)return; - if(Vars.headless || NewHorizon.DEBUGGING){ - Core.app.post(() -> Core.app.post(() -> Core.app.post(() -> { - if(!Vars.state.rules.pvp) EventHandler.runEventOnce("setup-triggers", () -> { - if(NHGroups.autoEventTrigger.isEmpty()){ - autoTriggers.each(t -> { - t.copy().add(); -// NewHorizon.debugLog(t.eventType.toString()); - }); + Core.app.post(() -> { + if(Vars.state.isMenu() || Vars.net.client() || Vars.state.isEditor() || Vars.state.rules.pvp || (Vars.state.rules.infiniteResources && !NewHorizon.DEBUGGING) || NHGroups.autoEventTrigger.size() >= autoTriggers.size)return; + if(Vars.headless || (NewHorizon.DEBUGGING && !Vars.net.client())){ + Core.app.post(() -> Core.app.post(() -> Core.app.post(() -> { + if(!Vars.state.rules.pvp)EventHandler.runEventOnce("setup-triggers", () -> { + if(NHGroups.autoEventTrigger.isEmpty()){ + autoTriggers.each(t -> t.copy().add()); + } + }); + }))); + }else if(Vars.state.isCampaign() && Vars.state.rules.sector.planet == NHPlanets.midantha){ + Core.app.post(() -> { + if(Float.isNaN(NHVars.worldData.eventReloadSpeed) || NHVars.worldData.eventReloadSpeed < 0)NHVars.worldData.eventReloadSpeed = 0.55f; + if(Vars.state.isCampaign() && Vars.state.rules.tags.containsKey(APPLY_KEY) && !Vars.state.rules.sector.isCaptured()){ + if(NHGroups.autoEventTrigger.isEmpty())autoTriggers.each(t -> t.copy().add()); } }); - }))); - }else if(Vars.state.isCampaign() && Vars.state.rules.sector.planet == NHPlanets.midantha){ - Core.app.post(() -> { - if(Float.isNaN(NHVars.worldData.eventReloadSpeed) || NHVars.worldData.eventReloadSpeed < 0)NHVars.worldData.eventReloadSpeed = 0.55f; - if(Vars.state.isCampaign() && Vars.state.rules.tags.containsKey(APPLY_KEY) && !Vars.state.rules.sector.isCaptured()){ + }else Core.app.post(() -> Core.app.post(() -> { + NHVars.worldData.eventReloadSpeed = 0.55f; + if(NHVars.worldData.applyEventTriggers){ if(NHGroups.autoEventTrigger.isEmpty())autoTriggers.each(t -> t.copy().add()); } - }); - } + })); + }); + }); Events.on(EventType.SectorCaptureEvent.class, e -> { NHGroups.events.clear(); + NHGroups.autoEventTrigger.clear(); }); } diff --git a/src/newhorizon/content/NHLiquids.java b/src/newhorizon/content/NHLiquids.java index 04245f4e..dd1a6a49 100644 --- a/src/newhorizon/content/NHLiquids.java +++ b/src/newhorizon/content/NHLiquids.java @@ -20,8 +20,16 @@ public static void load(){ lightColor = NHColor.darkEnrColor; gas = true; barColor = gasColor = lightColor; + // effect = NHStatusEffects.quantization; - }}; + } + @Override + public void init(){ + super.init(); + + coolant = true; + } + }; xenAlpha = new Liquid("xen-alpha", Color.valueOf("#AEDFFF")){{ diff --git a/src/newhorizon/content/NHOverride.java b/src/newhorizon/content/NHOverride.java index 379aca30..01d6a5ec 100644 --- a/src/newhorizon/content/NHOverride.java +++ b/src/newhorizon/content/NHOverride.java @@ -10,10 +10,11 @@ import arc.util.Structs; import mindustry.Vars; import mindustry.content.*; -import mindustry.entities.bullet.BulletType; -import mindustry.entities.bullet.ContinuousLaserBulletType; +import mindustry.entities.bullet.*; +import mindustry.entities.effect.ParticleEffect; import mindustry.game.SpawnGroup; import mindustry.game.Waves; +import mindustry.gen.Bullet; import mindustry.graphics.Pal; import mindustry.type.Item; import mindustry.type.ItemStack; @@ -27,6 +28,7 @@ import mindustry.world.meta.BuildVisibility; import newhorizon.NHSetting; import newhorizon.NewHorizon; +import newhorizon.expand.bullets.AdaptedLightningBulletType; import java.lang.reflect.Field; import java.util.Arrays; @@ -376,6 +378,7 @@ public static void overrideVanillaMain(){ ); ObjectSet Unit_T5 = ObjectSet.with( + conquer, UnitTypes.reign, UnitTypes.toxopid, UnitTypes.eclipse, UnitTypes.oct, UnitTypes.omura, UnitTypes.navanax/*, NHUnitTypes.annihilation*/, NHUnitTypes.destruction, NHUnitTypes.longinus, NHUnitTypes.declining, NHUnitTypes.saviour ); @@ -386,7 +389,7 @@ public static void overrideVanillaMain(){ Unit_T3.each(u -> u.immunities.addAll(NHStatusEffects.emp1)); Unit_T4.each(u -> u.immunities.addAll(NHStatusEffects.emp1)); - Unit_T5.each(u -> u.immunities.addAll(NHStatusEffects.emp1, NHStatusEffects.emp2, NHStatusEffects.ultFireBurn)); + Unit_T5.each(u -> u.immunities.addAll(NHStatusEffects.emp1, NHStatusEffects.ultFireBurn)); Unit_T6.each(u -> u.immunities.addAll(NHStatusEffects.scannerDown, NHStatusEffects.scrambler)); new Seq().addAll(Unit_T4.toSeq()).addAll(Unit_T5.toSeq()).filter(u -> u != null && !u.name.startsWith(NewHorizon.MOD_NAME)).each(u -> { @@ -401,7 +404,7 @@ public static void overrideVanillaMain(){ Blocks.coreShard.health *= 5; Blocks.coreShard.armor = 5; - Blocks.coreNucleus.armor = 7.5f; + Blocks.coreNucleus.armor = 15f; Blocks.coreFoundation.armor = 10f; Fx.lightning.layer(Fx.lightning.layer - 0.1f); @@ -492,6 +495,27 @@ public static void overrideVanillaMain(){ type.pierceCap *= 1.5f; type.lifetime += 8f; } + + block.ammoTypes.put(NHItems.zeta, new BasicBulletType(){{ + reloadMultiplier= 1.5f; + lightningColor = trailColor = hitColor = lightColor = backColor = NHItems.zeta.color; + frontColor = Color.white; + speed= 10; + lifetime= 30; + knockback= 1.8f; + width= 18; + height= 20; + damage= 175; + splashDamageRadius= 38; + splashDamage= 35; + shootEffect= Fx.shootBig; + hitEffect= NHFx.hitSpark; + ammoMultiplier= 2; + lightningDamage= 50; + lightning= 1; + lightningLengthRand = 3; + lightningLength = 3; + }}); } meltdown: { @@ -507,13 +531,139 @@ public static void overrideVanillaMain(){ block.range += 120; block.shootDuration += 60; } - - + + salvo: { + if(!(Blocks.salvo instanceof ItemTurret))break salvo; + ItemTurret block = (ItemTurret)Blocks.salvo; + + block.ammoTypes.put(NHItems.zeta, new BasicBulletType(){{ + lightningColor = trailColor = hitColor = lightColor = backColor = NHItems.zeta.color; + frontColor = Color.white; + speed = 6.5f; + damage= 20; + lightningDamage= 10; + lightning = 1; + lightningLengthRand = 3; + reloadMultiplier= 1.5f; + lifetime= 30.76f; + width= 7; + height= 10; + ammoMultiplier= 4; + shootEffect= Fx.shootBig; + hitEffect = despawnEffect = Fx.none; + }}); + } + + fuse: { + if(!(Blocks.fuse instanceof ItemTurret))break fuse; + ItemTurret block = (ItemTurret)Blocks.fuse; + + block.ammoTypes.put(NHItems.zeta, new ShrapnelBulletType(){{ + reloadMultiplier = 1.5f; + rangeChange = 40; + length = 140; + damage = 150; + width = 20; + lightningColor = trailColor = hitColor = lightColor = fromColor = NHItems.zeta.color; + toColor = Color.valueOf("ffafaf"); + ammoMultiplier = 2; + pierce = true; + shootEffect = new ParticleEffect(){{ + particles= 5; + line= true; + length = 55; + baseLength = 0; + lifetime = 15; + colorFrom = fromColor; + colorTo = toColor; + cone= 60; + }}; + + smokeEffect = shootEffect; + + fragRandomSpread = 90; + fragBullets= 2; + fragBullet = new AdaptedLightningBulletType(){{ + damage = 30; + lightningColor = trailColor = hitColor = lightColor = NHItems.zeta.color; + lightningLength = 5; + lightningLengthRand = 15; + collidesAir = true; + }}; + + fragOnHit = false; + } + + @Override + public void despawned(Bullet b){} + + @Override + public void init(Bullet b){ + super.init(b); + + createFrags(b, b.x, b.y); + } + }); + } + + swarmer:{ + if(!(Blocks.swarmer instanceof ItemTurret)) break swarmer; + ItemTurret block = (ItemTurret)Blocks.swarmer; + + block.ammoTypes.put(NHItems.zeta, new MissileBulletType(){{ + damage= 60; + rangeChange=40; + lightningDamage= 15; + lightning= 3; + lightningLength = 1; + lightningLengthRand = 4; + speed= 3; + lifetime= 120; + width= 8; + height= 8; + ammoMultiplier= 2; + lightningColor = hitColor = lightColor = backColor = NHItems.zeta.color; + frontColor = Color.white; + trailColor = Color.gray; + trailParam = 1.8f; + hitEffect= Fx.blastExplosion; + shootEffect= Fx.shootSmallFlame; + splashDamageRadius= 5; + splashDamage= 25; + reloadMultiplier = 0.85f; + }}); + } + + ripple:{ + if(!(Blocks.ripple instanceof ItemTurret)) break ripple; + ItemTurret block = (ItemTurret)Blocks.ripple; + + block.ammoTypes.put(NHItems.zeta, new ArtilleryBulletType(){{ + damage= 60; + rangeChange=40; + lightningDamage= 15; + lightning= 3; + lightningLength= 6; + speed= 3; + lifetime= 180; + width= 10; + height= 20; + ammoMultiplier= 2; + lightningColor = trailColor = hitColor = lightColor = backColor = NHItems.zeta.color; + trailParam = 2.3f; + frontColor = Color.white; + hitEffect= Fx.flakExplosionBig; + shootEffect= Fx.shootSmallFlame; + splashDamageRadius= 45; + splashDamage= 75; + }}); + + } + removeReq(Blocks.meltdown, Items.silicon); addReq(Blocks.foreshadow, - new ItemStack(NHItems.seniorProcessor, 220), - new ItemStack(NHItems.multipleSteel, 180) + new ItemStack(NHItems.seniorProcessor, 80) ); removeReq(Blocks.foreshadow, Items.silicon); diff --git a/src/newhorizon/content/NHPlanets.java b/src/newhorizon/content/NHPlanets.java index 2627c3a0..35d4239f 100644 --- a/src/newhorizon/content/NHPlanets.java +++ b/src/newhorizon/content/NHPlanets.java @@ -81,12 +81,13 @@ public static void load(){ r.waveTeam = Team.malis; r.placeRangeCheck = false; r.showSpawns = true; - r.hideBannedBlocks = true; r.waveSpacing = 80 * Time.toSeconds; r.initialWaveSpacing = 8f * Time.toMinutes; if(r.sector != null && r.sector.preset == null)r.winWave = 150; r.bannedUnits.add(NHUnitTypes.guardian); r.coreDestroyClear = true; + r.hideBannedBlocks = true; + r.dropZoneRadius = 64; r.bannedBlocks.addAll(Vars.content.blocks().copy().filter(b -> { if(b instanceof SolidPump){ @@ -102,6 +103,7 @@ public static void load(){ teamRule.buildSpeedMultiplier = 3f; teamRule.blockHealthMultiplier = 1.25f; + teamRule = r.teams.get(r.waveTeam); teamRule.infiniteAmmo = teamRule.infiniteResources = true; }; diff --git a/src/newhorizon/content/NHSectorPresents.java b/src/newhorizon/content/NHSectorPresents.java index de965b0d..358d7ad7 100644 --- a/src/newhorizon/content/NHSectorPresents.java +++ b/src/newhorizon/content/NHSectorPresents.java @@ -1,14 +1,33 @@ package newhorizon.content; +import arc.Core; import arc.func.Prov; +import arc.graphics.Color; +import arc.graphics.g2d.Draw; +import arc.graphics.g2d.Fill; +import arc.graphics.g2d.Lines; +import arc.math.Angles; import arc.math.Interp; +import arc.math.Mathf; import arc.math.geom.Point2; import arc.math.geom.Vec2; +import arc.scene.ui.layout.Table; import arc.struct.Seq; +import arc.util.Time; +import arc.util.Tmp; import mindustry.Vars; import mindustry.content.Items; +import mindustry.core.Logic; +import mindustry.entities.Effect; +import mindustry.entities.Lightning; +import mindustry.entities.Units; +import mindustry.game.Team; import mindustry.gen.Building; +import mindustry.gen.Sounds; +import mindustry.gen.Unit; +import mindustry.graphics.Layer; import mindustry.graphics.Pal; +import mindustry.logic.LAccess; import mindustry.type.ItemStack; import mindustry.type.Planet; import mindustry.type.SectorPreset; @@ -16,21 +35,442 @@ import mindustry.world.blocks.storage.CoreBlock; import newhorizon.NHRegister; import newhorizon.expand.NHVars; +import newhorizon.expand.block.ancient.CaptureableTurret; import newhorizon.expand.block.special.JumpGate; import newhorizon.expand.cutscene.CSSTexts; +import newhorizon.expand.cutscene.MapCutscene; import newhorizon.expand.cutscene.NHCSS_Core; import newhorizon.expand.cutscene.NHCSS_UI; import newhorizon.expand.cutscene.actions.CSSActions; +import newhorizon.expand.cutscene.stateoverride.UnitOverride; import newhorizon.expand.cutscene.stateoverride.WorldOverride; +import newhorizon.expand.entities.Carrier; +import newhorizon.expand.entities.WorldEvent; +import newhorizon.expand.eventsys.AutoEventTrigger; import newhorizon.expand.eventsys.EventHandler; +import newhorizon.expand.eventsys.types.ReloadEventType; import newhorizon.expand.eventsys.types.SignalEvent; +import newhorizon.expand.eventsys.types.WorldEventType; +import newhorizon.util.feature.PosLightning; +import newhorizon.util.func.NHFunc; +import newhorizon.util.graphic.DrawFunc; +import java.util.Arrays; + +import static mindustry.Vars.state; +import static mindustry.Vars.tilesize; import static newhorizon.expand.cutscene.CSSTexts.*; public class NHSectorPresents{ - public static SectorPreset initialPlane, abandonedOutpost, hostileResearchStation; + public static SectorPreset initialPlane, abandonedOutpost, hostileResearchStation, ancientShipyard; public static void load(){ + ancientShipyard = new NHSectorPresent("ancient-shipyard", NHPlanets.midantha, 31){{ + difficulty = 9; + + rules = r -> { + r.loadout.clear(); + r.loadout.addAll(ItemStack.with(NHItems.presstanium, 300, NHItems.juniorProcessor, 300, NHItems.zeta, 500, NHItems.metalOxhydrigen, 500, Items.tungsten, 500, Items.copper, 1000, Items.lead, 1000, Items.silicon, 800, Items.metaglass, 200, Items.titanium, 500, Items.thorium, 300)); + r.hiddenBuildItems.clear(); + r.attackMode = true; + r.waves = true; + }; + + MapCutscene cutscene = new MapCutscene(name); + NHCSS_Core.registerCutscene(cutscene); + long nucleoidFlagLong = 123456789098765L; + + String aTurretsKey = "aTurrets"; + Seq types = new Seq<>(); + WorldEventType[] hyperspaceCharge = new WorldEventType[1]; + Prov> aTurrets = () -> cutscene.targetGroups.get(aTurretsKey); + + float cX = 255 * tilesize - 4, cY = 275 * tilesize - 4; + float aTurretsChargeReload = 7200f; + + cutscene.register = () -> { + cutscene.checkers.put(aTurretsKey, new Seq<>()); + + Seq tgts = Seq.with( + WorldOverride.getDummy(Team.derelict, 1788, 1908), + WorldOverride.getDummy(Team.derelict, 1788, 2484), + WorldOverride.getDummy(Team.derelict, 2284, 2484), + WorldOverride.getDummy(Team.derelict, 2284, 1908) + ); + + int i = 0; + types.clear(); + for(Building b : tgts){ + Prov buildingProv = () -> Vars.world.build(b.tileX(), b.tileY()); + + types.add(new ReloadEventType("aTurretsKey-" + (i++)){{ + reloadTime = 60 * 10; + hasCoord = true; + initPos = b.pos(); + barRatio = (e) -> buildingProv.get() != null ? buildingProv.get().team == Vars.state.rules.defaultTeam ? e.type.progressRatio(e) : 1 : 0; + colorFunc = (e) -> buildingProv.get() != null ? buildingProv.get().team == Vars.state.rules.defaultTeam ? NHColor.ancient : Pal.redderDust : Color.white; + info = (e) -> + buildingProv.get() != null ? buildingProv.get().team == Vars.state.rules.defaultTeam ? + Core.bundle.format("nh.cutscene.ui.capture-ratio", e.ratio()) : Core.bundle.format("nh.cutscene.ui.waiting-capture", e.coordText()) : ""; + } + + @Override + public void buildSpeInfo(Table table){ + table.label(() -> buildingProv.get().team == Vars.state.rules.defaultTeam ? + Core.bundle.format("nh.cutscene.ui.capture-ratio", "/") : Core.bundle.format("nh.cutscene.ui.waiting-capture", "/")).update(l -> l.color.set(buildingProv.get().team == Vars.state.rules.defaultTeam ? NHColor.ancient : Pal.redderDust)); + } + + @Override + public void onAdd(WorldEvent event){ + super.onAdd(event); + + cutscene.checkers.get(aTurretsKey).add(() -> { + CaptureableTurret.CaptureableTurretBuild build = (CaptureableTurret.CaptureableTurretBuild)buildingProv.get(); + return event.reload > reloadTime && Angles.within(build.rotation, build.angleTo(cX, cY), 5); + }); + } + + @Override + public void updateEvent(WorldEvent e){ + if(cutscene.getValueBool("Stage00Completed"))e.remove(); + + if(buildingProv.get() == null)return; + + CaptureableTurret.CaptureableTurretBuild build = (CaptureableTurret.CaptureableTurretBuild)buildingProv.get(); + if(build.team != Vars.state.rules.defaultTeam || !build.hasAmmo()){ + e.reload = 0; + return; + } + + e.reload += Time.delta; + e.reload = Math.min(e.reload, reloadTime + 1f); + + if(e.reload > reloadTime){ + build.control(LAccess.shoot, cX / tilesize, cY / tilesize, Angles.within(build.rotation, build.angleTo(cX, cY), 5) ? 1.0 : 0.0, 0.0); + build.reloadCounter = Math.min(build.reloadCounter, ((CaptureableTurret)build.block).reload * 0.9f); + } + } + }); + } + + hyperspaceCharge[0] = new ReloadEventType("hyperspaceCharge"){{ + info = e -> standbyHyperspace(); + reloadTime = 60 * 60; + colorFunc = e -> Tmp.c1.set(NHColor.ancient).lerp(NHColor.ancientLight, e.ratio()); + act = e -> { + Unit nucleoid = UnitOverride.marked.get(nucleoidFlagLong); + + if(nucleoid != null){ + cutscene.putTag("Stage01Completed"); + nucleoid.heal(); + + CSSActions.beginCreateAction(); + NHCSS_Core.core.applyMainBus( + CSSActions.pullCurtain(), + CSSActions.cameraScl(1.5f), + CSSActions.cameraMove(cX, cY), + CSSActions.text(getBundle("new-horizon-ancient-shipyard", 14)), + CSSActions.runnable(() -> Sounds.unlock.play()), + CSSActions.text(missionAccomplished()), + CSSActions.waitUntil(() -> state.gameOver), + CSSActions.withdrawCurtain() + ); + CSSActions.endCreateAction(); + + Carrier carrier = Carrier.create(nucleoid, new Vec2(cX + 10000, cY)); + NHCSS_Core.core.loadedUpdaters.add(() -> { + if(carrier.onMove && carrier.contained){ + carrier.remove(); + if(!Vars.net.active()){ + EventHandler.runEventOnce("endgame", () -> { + Logic.gameOver(Vars.state.rules.defaultTeam); + }); + } + + if(Vars.state.hasSector()){ + if(Vars.state.rules.sector.preset != null){ + Logic.sectorCapture(); + } + }else Logic.updateGameOver(Vars.state.rules.defaultTeam); + } + }); + } + }; + }}; + }; + + cutscene.drawers.add(csn -> { + if(csn.reloadParam0 > 30f){ + float f = Mathf.curve(csn.reloadParam0 / aTurretsChargeReload, 30 / 480f, 1); + float rad = 640 * Interp.pow4Out.apply(f) * Interp.pow4Out.apply(Mathf.curve(1 - f, 0, 0.035f)); + + float z = Draw.z(); + Draw.z(Layer.effect); + Draw.color(NHColor.ancient, NHColor.ancientLight, f); + Lines.stroke(4f * f); + + Lines.stroke(f * 10.55f); + DrawFunc.circlePercentFlip(cX, cY, rad, csn.reloadParam0 * 1.25f, 30f); + + Lines.stroke(f * 7.05f); + DrawFunc.circlePercentFlip(cX, cY, rad * 1.25f, csn.reloadParam0 * 1.35f * 0.95f, 45f); + + Fill.circle(cX, cY, 12 * f); + + Draw.color(state.rules.waveTeam.color, Color.white, state.rules.defaultTeam.color, f); + Lines.stroke(3f * Mathf.curve(1 - f, 0, 0.025f)); + DrawFunc.circlePercent(cX, cY, 280, f, 0); + + Draw.z(z); + } + }); + + cutscene.initers.add(() -> { + cutscene.targetGroups.put(aTurretsKey, Seq.with( + Vars.world.buildWorld(1788, 1908), + Vars.world.buildWorld(1788, 2484), + Vars.world.buildWorld(2284, 2484), + Vars.world.buildWorld(2284, 1908) + )); + + if(cutscene.getValueBool("Stage01Completed")){{ + if(!Vars.net.active()){ + Logic.gameOver(Vars.state.rules.defaultTeam); + } + + if(Vars.state.hasSector()){ + if(Vars.state.rules.sector.preset != null){ + Logic.sectorCapture(); + } + }else Logic.updateGameOver(Vars.state.rules.defaultTeam); + }} + + makeECoreUnitsKillable(); + + if(!cutscene.getValueBool("Stage00Completed")){ + NHOverride.coreUnits(u -> { + NHUnitTypes.nucleoid.targetable = false; + }); + NHRegister.addTaskOnSave(() -> { + NHUnitTypes.nucleoid.targetable = true; + }); + } + + if(!state.isEditor())EventHandler.runEventOnce("init", () -> { + types.each(WorldEventType::create); + + NHVars.worldData.eventReloadSpeed = 0.35f; + Vars.state.rules.hiddenBuildItems.clear(); + AutoEventTrigger.addAll(); + + NHCSS_UI.opening(); + NHCSS_UI.setOverlayAlphaShiftSpeed(NHCSS_UI.OVERLAY_SPEED / 1.35f); + + NHFunc.spawnSingleUnit(Vars.state.rules.waveTeam, cX, cY, 0, 20, NHUnitTypes.nucleoid, s -> { + s.setStatus(NHStatusEffects.marker, Float.POSITIVE_INFINITY); + s.setFlagToApply(nucleoidFlagLong); + }); + + CSSActions.beginCreateAction(); + NHCSS_Core.core.applyMainBus( + CSSActions.pullCurtain(), + CSSActions.delay(NHCSS_UI.overlayShiftTime() + 30f), + CSSActions.cameraScl(1f), + CSSActions.text(getBundle(name, 0), true), + CSSActions.text(getBundle(name, 1), true), + CSSActions.text(getBundle(name, 2), true), + CSSActions.cameraScl(2f), + CSSActions.cameraMove(2636, 1268), + CSSActions.parallel( + CSSActions.runnable(() -> NHCSS_UI.mark(2632, 1264, 18f, 300, Pal.heal, () -> false)), + CSSActions.text(CSSTexts.powerSuppressors(), true) + ), + CSSActions.runnable(() -> WorldOverride.getFov(255 * tilesize, 275 * tilesize, Vars.state.rules.defaultTeam, 60)), + CSSActions.cameraMove(255 * tilesize, 275 * tilesize), + CSSActions.cameraScl(1f), + CSSActions.text(getBundle(name, 3), true), + CSSActions.text(getBundle(name, 4), true), + CSSActions.parallel( + CSSActions.text(getBundle(name, 5), true), + CSSActions.runnable(() -> { + aTurrets.get().each(b -> { + NHCSS_UI.mark(b.x, b.y, b.hitSize() * 0.75f, 500, NHColor.ancient, NHCSS_UI.MarkStyle.defaultNoLines, () -> !b.isValid()); + }); + }) + ), + CSSActions.text(getBundle(name, 6), true), + CSSActions.text(CSSTexts.endCommunicate(), true), + CSSActions.cameraReturn(), + CSSActions.withdrawCurtain() + ); + CSSActions.endCreateAction(); + }); + }); + + cutscene.updaters.add(() -> { + Unit nucleoid = UnitOverride.marked.get(nucleoidFlagLong); + + if(nucleoid != null){ + if(nucleoid.physref != null && nucleoid.physref.body != null){ + nucleoid.physref.body.radius = 0; + } + + if(!cutscene.getValueBool("Stage00Completed")){ + nucleoid.apply(NHStatusEffects.quiet, Float.POSITIVE_INFINITY); + nucleoid.apply(NHStatusEffects.healthLocker, Float.POSITIVE_INFINITY); + } + + if(nucleoid.dead){ + Time.run(300f, () -> Logic.updateGameOver(Vars.state.rules.waveTeam)); + Arrays.fill(nucleoid.abilities, UnitOverride.deathExplode.copy()); + } + }else Logic.updateGameOver(state.rules.waveTeam); + + if(cutscene.checked(aTurretsKey)){ + EventHandler.runEventOnce("Stage00", () -> { + NHVars.worldData.eventReloadSpeed = 1.235f; + + CSSActions.beginCreateAction(); + NHCSS_Core.core.applyMainBus( + CSSActions.pullCurtain(), + CSSActions.cameraScl(1f), + CSSActions.cameraMove(cX, cY), + CSSActions.text(getBundle(name, 7), true), + CSSActions.text(getBundle(name, 8), true), + CSSActions.cameraReturn(), + CSSActions.withdrawCurtain() + ); + CSSActions.endCreateAction(); + }); + + Seq prov = cutscene.targetGroups.get(aTurretsKey); + if(prov != null){ + prov.each(b -> { + CaptureableTurret.CaptureableTurretBuild build = (CaptureableTurret.CaptureableTurretBuild)b; + build.reloadCounter = Math.min(build.reloadCounter, ((CaptureableTurret)build.block).reload * 0.9f); + build.heal(); + + if(Mathf.chanceDelta(0.175 * cutscene.reloadParam0 / aTurretsChargeReload)){ + for(int i = 0; i < 4; i++){ + Lightning.create(Vars.state.rules.defaultTeam, NHColor.ancient, 10000, build.x + Mathf.range(12), build.y + Mathf.range(12), Mathf.random(360), Mathf.random(8, 32)); + } + } + + Tmp.v1.set(cX, cY); + if(cutscene.timer.get(2, 5)){ + if(!Vars.headless && Mathf.chanceDelta(0.1)) NHSounds.shock.at(cX, cY, Mathf.random(0.925f, 1.075f), Mathf.random(0.75f, 1f)); + + Units.nearbyEnemies(state.rules.defaultTeam, cX, cY, 560, u -> { + if(Mathf.chanceDelta(0.45)) PosLightning.create(nucleoid, state.rules.defaultTeam, Tmp.v1, u, NHColor.ancient, true, 1500, Mathf.random(4, 10), 2, 1, p -> { + NHFx.hitSpark.at(p.getX(), p.getY(), NHColor.ancientLightMid); + }); + }); + + Vars.indexer.eachBlock(null, cX, cY, 560, bu -> bu.team != state.rules.defaultTeam, u -> { + if(Mathf.chanceDelta(0.45)) PosLightning.create(nucleoid, state.rules.defaultTeam, Tmp.v1, u, NHColor.ancient, true, 1500, Mathf.random(4, 10), 2, 1, p -> { + NHFx.hitSpark.at(p.getX(), p.getY(), NHColor.ancientLightMid); + }); + }); + } + + if(!Vars.headless && build.shootWarmup > 0.9f && Mathf.chanceDelta(0.105 * build.shootWarmup)){ + NHFx.chainLightningFadeReversed.at(cX, cY, 12, NHColor.ancient, build); + if(Mathf.chance(0.33)) PosLightning.createEffect(Tmp.v1.set(cX, cY), build, NHColor.ancient, 2, 2); + } + }); + } + + if(cutscene.getValueBool("Stage00Completed")){ + cutscene.reloadParam0 = 0; + }else{ + cutscene.reloadParam0 += Time.delta; + if(!Vars.headless){ + Effect.shake(3, 5, cX, cY); + if(Mathf.chanceDelta(0.125))NHFunc.randFadeLightningEffect(cX + Mathf.range(22), cY + Mathf.range(22), Mathf.random(360), Mathf.random(12, 32), Tmp.c1.set(state.rules.waveTeam.color).lerp(state.rules.defaultTeam.color, cutscene.reloadParam0 / aTurretsChargeReload), Mathf.chance(0.5)); + } + } + + if(Mathf.chanceDelta(0.115 * cutscene.reloadParam0 / aTurretsChargeReload)){ + for(int i = 0; i < 4; i++){ + Lightning.create(Vars.state.rules.defaultTeam, NHColor.ancient, 10000, cX + Mathf.range(36), cY + Mathf.range(36), Mathf.random(360), Mathf.random(12, 56)); + } + } + + float size = NHUnitTypes.nucleoid.hitSize * 1.55f; + + if(!Vars.headless && Mathf.chanceDelta(0.073)){ + Tmp.v1.rnd(Mathf.random(size / 3.5f, size)); + NHFx.shuttleLerp.at(cX + Tmp.v1.x, cY + Tmp.v1.y, Tmp.v1.angle(), NHColor.ancientLightMid, Tmp.v1.len() / 2f); + } + + if(!Vars.headless && cutscene.timer.get(1, 15f)){ + NHFx.dataTransport.at(cX + Mathf.range(120f), cY + Mathf.range(120f), 0, Vars.state.rules.defaultTeam.color); + } + + if(cutscene.reloadParam0 > aTurretsChargeReload){ + cutscene.reloadParam0 = 0; + + if(nucleoid != null){ + if(!Vars.headless){ + Effect.shake(8, 4, cX, cY); + NHBullets.ancientArtilleryProjectile.hitEffect.at(cX, cY, 0, NHColor.ancientLightMid); + NHFx.hitSparkHuge.at(cX, cY, 0, NHColor.ancientLightMid); + NHFx.square45_8_45.at(cX, cY, 0, NHColor.ancientLightMid); + NHFx.circleOutLong.at(cX, cY, 800, NHColor.ancientLightMid); + } + + nucleoid.heal(); + nucleoid.team(Vars.state.rules.defaultTeam); + cutscene.putTag("Stage00Completed"); + if(!Vars.headless) Sounds.unlock.play(); + nucleoid.unapply(NHStatusEffects.healthLocker); + NHUnitTypes.nucleoid.targetable = true; + } + + { + + CSSActions.beginCreateAction(); + NHCSS_Core.core.applyMainBus( + CSSActions.pullCurtain(), + CSSActions.cameraScl(1.5f), + CSSActions.cameraMove(cX, cY), + CSSActions.text(getBundle(name, 9), true), + CSSActions.runnable(() -> WorldOverride.getFov(1124, 3276, Vars.state.rules.defaultTeam, 22)), CSSActions.delay(12f), CSSActions.parallel(CSSActions.cameraMove(1124, 3276, 10, 1.3f, Interp.one), CSSActions.runnable(() -> { + NHFunc.spawnSingleUnit(Vars.state.rules.waveTeam, 1124, 3276, Angles.angle(1124, 3276, cX, cY), 45f, NHUnitTypes.pester, s -> { + s.setStatus(NHStatusEffects.overphased, 60); + }); + })), CSSActions.delay(80f), + + CSSActions.runnable(() -> WorldOverride.getFov(780, 764, Vars.state.rules.defaultTeam, 22)), CSSActions.delay(12f), CSSActions.parallel(CSSActions.cameraMove(780, 764, 10, 1.3f, Interp.one), CSSActions.runnable(() -> { + NHFunc.spawnSingleUnit(Vars.state.rules.waveTeam, 780, 764, Angles.angle(780, 764, cX, cY), 45f, NHUnitTypes.pester, s -> { + s.setStatus(NHStatusEffects.overphased, 60); + s.commandPos.set(cX, cY); + }); + })), CSSActions.delay(80f), + + CSSActions.runnable(() -> WorldOverride.getFov(2964, 2200, Vars.state.rules.defaultTeam, 22)), CSSActions.delay(12f), CSSActions.parallel(CSSActions.cameraMove(2964, 2200, 10, 1.3f, Interp.one), CSSActions.runnable(() -> { + NHFunc.spawnSingleUnit(Vars.state.rules.waveTeam, 2964, 2200, Angles.angle(2964, 2200, cX, cY), 45f, NHUnitTypes.pester, s -> { + s.setStatus(NHStatusEffects.phased, Float.POSITIVE_INFINITY); + s.commandPos.set(cX, cY); + s.setFlagToApply(10L); + }); + })), CSSActions.delay(70f), + + + CSSActions.runnable(() -> { + hyperspaceCharge[0].create(); + CSSActions.beginCreateAction(); + NHCSS_Core.core.applySubBus(CSSActions.text(getBundle(name, 10), true), CSSActions.text(getBundle(name, 11), true), CSSActions.text(getBundle(name, 12), true), CSSActions.text(getBundle(name, 13), true)); + CSSActions.endCreateAction(); + }), CSSActions.cameraReturn(), CSSActions.withdrawCurtain() + ); + CSSActions.endCreateAction(); + } + } + }else cutscene.reloadParam0 = Mathf.lerpDelta(cutscene.reloadParam0, 0, 0.0035f); + }); + }}; + hostileResearchStation = new NHSectorPresent("hostile-research-station", NHPlanets.midantha, 65){{ captureWave = 40; difficulty = 8; @@ -42,84 +482,71 @@ public static void load(){ r.loadout.addAll(ItemStack.with(NHItems.presstanium, 300, NHItems.juniorProcessor, 300, NHItems.zeta, 500, NHItems.metalOxhydrigen, 500, Items.tungsten, 500, Items.copper, 1000, Items.lead, 1000, Items.silicon, 800, Items.metaglass, 200, Items.titanium, 500, Items.thorium, 300)); r.hiddenBuildItems.clear(); r.attackMode = true; - r.waves = false; - r.tags.put(NHInbuiltEvents.APPLY_KEY, "true"); + r.waves = true; }; NHCSS_Core.registerSkipping(this); Prov coreS = () -> "Core Signal Detected"; - SignalEvent[] events = { - new SignalEvent(name + "-core-signal-1"){{ + MapCutscene cutscene = new MapCutscene(name); + + SignalEvent[] events = new SignalEvent[3]; + + cutscene.register = () -> { + events[0] = new SignalEvent(name + "-core-signal-1"){{ info = coreS; initPos = Point2.pack(85, 24); - }}, - new SignalEvent(name + "-core-signal-2"){{ + }}; + events[1] = new SignalEvent(name + "-core-signal-2"){{ info = coreS; initPos = Point2.pack(255, 22); - }}, - new SignalEvent(name + "-core-signal-3"){{ + }}; + events[2] = new SignalEvent(name + "-core-signal-3"){{ info = coreS; initPos = Point2.pack(56, 256); - }} + }}; }; - NHCSS_Core.register(NHCSS_Core.initers, Seq.with(() -> { -// Seq untargetable = new Seq<>(); - Seq unhitableable = new Seq<>(); - NHOverride.coreUnits(u -> { -// if(!u.targetable){ -// u.targetable = true; -// untargetable.add(u); -// } -// - if(!u.hittable){ - u.hittable = true; - unhitableable.add(u); - } - }); - NHRegister.addTaskOnSave(() -> { -// untargetable.each(u -> u.targetable = false); - unhitableable.each(u -> u.hittable = false); - }); + cutscene.initers.add(() -> { + makeECoreUnitsKillable(); EventHandler.runEventOnce("init", () -> { NHVars.worldData.eventReloadSpeed = 0.35f; Vars.state.rules.hiddenBuildItems.clear(); - NHInbuiltEvents.autoTriggers.each(t -> t.copy().add()); + AutoEventTrigger.addAll(); NHCSS_UI.opening(); - NHCSS_UI.setOverlayAlphaShiftSpeed(NHCSS_UI.OVERLAY_SPEED / 1.25f); + NHCSS_UI.setOverlayAlphaShiftSpeed(NHCSS_UI.OVERLAY_SPEED / 1.35f); CSSActions.beginCreateAction(); NHCSS_Core.core.applyMainBus( - CSSActions.pullCurtain(), - CSSActions.delay(NHCSS_UI.overlayShiftTime() + 30f), - CSSActions.cameraScl(1f), - CSSActions.text(getBundle(name, 0), true), - CSSActions.text(getBundle(name, 1), true), - CSSActions.text(getBundle(name, 2), true), - CSSActions.text(getBundle(name, 3), true), - CSSActions.runnable(() -> { - WorldOverride.getFov(828, 732, Vars.state.rules.defaultTeam, 12); - if(!Vars.net.client()){ - for(SignalEvent e : events){ - e.create().team(Vars.state.rules.defaultTeam); + CSSActions.pullCurtain(), + CSSActions.delay(NHCSS_UI.overlayShiftTime() + 30f), + CSSActions.cameraScl(1f), + CSSActions.text(getBundle(name, 0), true), + CSSActions.text(getBundle(name, 1), true), + CSSActions.text(getBundle(name, 2), true), + CSSActions.text(getBundle(name, 3), true), + CSSActions.runnable(() -> { + WorldOverride.getFov(828, 732, Vars.state.rules.defaultTeam, 12); + if(!Vars.net.client()){ + for(SignalEvent e : events){ + e.create().team(Vars.state.rules.defaultTeam); + } } - } - }), - CSSActions.cameraMove(452f, 2052f), - CSSActions.text(getBundle(name, 4), true), - CSSActions.text(endCommunicate(), true), - CSSActions.cameraReturn(), - CSSActions.withdrawCurtain() + }), + CSSActions.cameraMove(452f, 2052f), + CSSActions.text(getBundle(name, 4), true), + CSSActions.text(endCommunicate(), true), + CSSActions.cameraReturn(), + CSSActions.withdrawCurtain() ); CSSActions.endCreateAction(); }); - }), name, localizedName); + }); - NHCSS_Core.register(NHCSS_Core.updaters, Seq.with(() -> { + cutscene.updaters.add(() -> { Seq cores = Vars.state.rules.waveTeam.cores(); Building enemyCore0 = Vars.world.build(56, 256); @@ -246,7 +673,9 @@ public static void load(){ CSSActions.endCreateAction(); }); } - }), name, localizedName); + }); + + NHCSS_Core.registerCutscene(cutscene); }}; abandonedOutpost = new NHSectorPresent("abandoned-outpost", NHPlanets.midantha, 15){{ @@ -278,6 +707,19 @@ public static void load(){ }}; } + private static void makeECoreUnitsKillable(){ + Seq unhitableable = new Seq<>(); + NHOverride.coreUnits(u -> { + if(!u.hittable){ + u.hittable = true; + unhitableable.add(u); + } + }); + NHRegister.addTaskOnSave(() -> { + unhitableable.each(u -> u.hittable = false); + }); + } + public static class NHSectorPresent extends SectorPreset{ public NHSectorPresent(String name, Planet planet, int sector){ diff --git a/src/newhorizon/content/NHStatusEffects.java b/src/newhorizon/content/NHStatusEffects.java index 84577557..a81ae9cb 100644 --- a/src/newhorizon/content/NHStatusEffects.java +++ b/src/newhorizon/content/NHStatusEffects.java @@ -8,23 +8,72 @@ import arc.util.Time; import arc.util.Tmp; import mindustry.Vars; +import mindustry.content.StatusEffects; import mindustry.entities.Effect; import mindustry.entities.effect.MultiEffect; import mindustry.gen.Unit; import mindustry.graphics.Layer; import mindustry.graphics.Pal; import mindustry.type.StatusEffect; +import newhorizon.expand.cutscene.stateoverride.UnitOverride; import newhorizon.util.func.NHFunc; -import newhorizon.util.graphic.ColorWarpEffect; +import newhorizon.util.graphic.EffectWrapper; public class NHStatusEffects{ public static StatusEffect + quiet, marker, healthLocker, forceWeak, reinforcements, entangled, ultFireBurn, stronghold, overphased, staticVel, emp1, emp2, emp3, invincible, quantization, scrambler, end, phased, weak, scannerDown, intercepted; public static void load(){ + forceWeak = new NHStatusEffect("force-slow"){{ + hideDetails = true; + show = false; + speedMultiplier = 0.855f; + reloadMultiplier = 0.75f; + damage = 0.45f; + }}; + + healthLocker = new NHStatusEffect("health-locker"){{ + hideDetails = true; + show = false; + permanent = true; + healthMultiplier = 8; + } + + @Override + public void update(Unit unit, float time){ + super.update(unit, time); + + if(unit.healthf() < 0.25f){ + unit.health = unit.maxHealth() / 4f; + } + } + }; + + marker = new NHStatusEffect("marker"){{ + hideDetails = true; + show = false; + permanent = true; + } + + @Override + public void update(Unit unit, float time){ + UnitOverride.marked.put(Double.doubleToLongBits(unit.flag), unit); + } + }; + + quiet = new NHStatusEffect("quiet"){{ + disarm = true; + dragMultiplier = 10; + speedMultiplier = 0; + + hideDetails = true; + show = false; + }}; + reinforcements = new NHStatusEffect("reinforcements"){{ show = false; hideDetails = true; @@ -52,7 +101,7 @@ public void update(Unit unit, float time){ outline = true; effectChance = 0.085f; - effect = ColorWarpEffect.wrap(NHFx.hitSparkLarge, NHColor.ancientLightMid); + effect = EffectWrapper.wrap(NHFx.hitSparkLarge, NHColor.ancientLightMid); } @Override @@ -277,7 +326,15 @@ public void update(Unit unit, float time){ speedMultiplier = 0.8f; reloadMultiplier = 0.8f; damageMultiplier = 0.8f; - }}; + + transitionDamage = 40; + + affinity(StatusEffects.shocked, (unit, status, time) -> { + if(Mathf.chance(0.085))NHFunc.randFadeLightningEffect(unit.x + Mathf.range(unit.hitSize), unit.y + Mathf.range(unit.hitSize), unit.hitSize * Mathf.random(1f, 1.6f) + 14f, 6f, Tmp.c1.set(Pal.powerLight).mul(Mathf.random(0.12f) + 1f), false); + }); + } + + }; emp2 = new NHStatusEffect("emp-2"){{ damage = 0.15f; @@ -287,6 +344,12 @@ public void update(Unit unit, float time){ speedMultiplier = 0.6f; reloadMultiplier = 0.65f; damageMultiplier = 0.7f; + + transitionDamage = 80; + + affinity(StatusEffects.shocked, (unit, status, time) -> { + if(Mathf.chance(0.125))NHFunc.randFadeLightningEffect(unit.x + Mathf.range(unit.hitSize), unit.y + Mathf.range(unit.hitSize), unit.hitSize * Mathf.random(1.25f, 2f) + 22f, 7f, Tmp.c1.set(Pal.powerLight).mul(Mathf.random(0.16f) + 1f), false); + }); }}; emp3 = new NHStatusEffect("emp-3"){{ @@ -297,6 +360,12 @@ public void update(Unit unit, float time){ speedMultiplier = 0.4f; reloadMultiplier = 0.5f; damageMultiplier = 0.6f; + + transitionDamage = 120; + + affinity(StatusEffects.shocked, (unit, status, time) -> { + if(Mathf.chance(0.155))NHFunc.randFadeLightningEffect(unit.x + Mathf.range(unit.hitSize), unit.y + Mathf.range(unit.hitSize), unit.hitSize * Mathf.random(1.4f, 2.2f) + 28f, 8f, Tmp.c1.set(Pal.powerLight).mul(Mathf.random(0.16f) + 1f), false); + }); }}; } diff --git a/src/newhorizon/content/NHTechTree.java b/src/newhorizon/content/NHTechTree.java index 2072acf2..5fb5aa3c 100644 --- a/src/newhorizon/content/NHTechTree.java +++ b/src/newhorizon/content/NHTechTree.java @@ -17,6 +17,10 @@ public static void nodeUnit(UnitType type, Runnable children){ node(type, unitBuildCost.get(type), children); } + public static void nodeUnit(UnitType type, Seq objectives, Runnable children){ + node(type, unitBuildCost.get(type), objectives, children); + } + public static void load(){ unitBuildCost.each((u, is) -> { if(u instanceof NHUnitTypes.NHUnitType){ @@ -28,7 +32,9 @@ public static void load(){ node(NHSectorPresents.abandonedOutpost, ItemStack.with(/*NHItems.juniorProcessor, 1000*/), () -> { node(NHSectorPresents.initialPlane, ItemStack.with(NHItems.juniorProcessor, 1500), Seq.with(new Objectives.SectorComplete(NHSectorPresents.abandonedOutpost)), () -> { node(NHSectorPresents.hostileResearchStation, ItemStack.with(NHItems.seniorProcessor, 1500), Seq.with(new Objectives.SectorComplete(NHSectorPresents.initialPlane)), () -> { - + node(NHSectorPresents.ancientShipyard, Seq.with(new Objectives.SectorComplete(NHSectorPresents.hostileResearchStation)), () -> { + + }); }); }); }); @@ -38,6 +44,7 @@ public static void load(){ }); node(NHBlocks.armorPowerNode, () -> { + node(NHBlocks.hydroFuelCell); node(NHBlocks.heavyPowerNode); node(NHBlocks.largeMendProjector, () -> { node(NHBlocks.gravityTrapSmall, () -> { @@ -157,12 +164,13 @@ public static void load(){ }); node(NHBlocks.multipleLauncher, () -> { + node(NHBlocks.hive, Seq.with(new Objectives.SectorComplete(NHSectorPresents.initialPlane)), () -> {}); node(NHBlocks.bombLauncher); node(NHBlocks.bloodStar, () -> { node(NHBlocks.railGun); node(NHBlocks.endOfEra, Seq.with(new Objectives.SectorComplete(NHSectorPresents.initialPlane)), () -> { node(NHBlocks.airRaider); - node(NHBlocks.eternity, () -> {}); + node(NHBlocks.eternity, Seq.with(new Objectives.SectorComplete(NHSectorPresents.ancientShipyard)), () -> {}); }); }); }); @@ -195,10 +203,14 @@ public static void load(){ node(NHBlocks.juniorProcessorFactory, () -> { node(NHBlocks.multiplePresstaniumFactory); node(NHBlocks.sandCracker, () -> { - node(NHBlocks.oilRefiner); + node(NHBlocks.oilRefiner, () -> { + node(NHBlocks.arkyciteCompactor); + }); }); node(NHBlocks.seniorProcessorFactory, () -> { - + node(NHBlocks.processorCompactor, Seq.with(new Objectives.SectorComplete(NHSectorPresents.initialPlane)), () -> { + + }); }); node(NHBlocks.metalOxhydrigenFactory, () -> { node(NHBlocks.metalOxhydrigenFactoryLarge); @@ -219,7 +231,9 @@ public static void load(){ nodeProduce(NHItems.presstanium, () -> { nodeProduce(NHLiquids.quantumEntity, () -> { - node(NHBlocks.waterInstancer); + node(NHBlocks.waterInstancer, () -> { + node(NHBlocks.ventExtractor); + }); }); nodeProduce(NHItems.juniorProcessor, () -> { @@ -249,13 +263,15 @@ public static void load(){ node(NHBlocks.hyperspaceWarper); node(NHBlocks.shapedWall, () -> { - node(NHBlocks.ancientLaserWall); + node(NHBlocks.ancientPowerNode, () -> { + node(NHBlocks.ancientLaserWall); + }); }); - node(NHUnitTypes.restrictionEnzyme, () -> { - node(NHUnitTypes.macrophage, Seq.with(new Objectives.SectorComplete(NHSectorPresents.initialPlane)), () -> { - node(NHUnitTypes.laugra, () -> { - nodeUnit(NHUnitTypes.pester, () -> { + nodeUnit(NHUnitTypes.restrictionEnzyme, () -> { + nodeUnit(NHUnitTypes.macrophage, Seq.with(new Objectives.SectorComplete(NHSectorPresents.initialPlane)), () -> { + nodeUnit(NHUnitTypes.laugra, () -> { + nodeUnit(NHUnitTypes.pester, Seq.with(new Objectives.SectorComplete(NHSectorPresents.ancientShipyard)), () -> { }); }); diff --git a/src/newhorizon/content/NHUnitTypes.java b/src/newhorizon/content/NHUnitTypes.java index 323efcfe..41f0ed22 100644 --- a/src/newhorizon/content/NHUnitTypes.java +++ b/src/newhorizon/content/NHUnitTypes.java @@ -23,6 +23,7 @@ import mindustry.ai.types.BuilderAI; import mindustry.ai.types.MinerAI; import mindustry.content.Fx; +import mindustry.content.Items; import mindustry.content.StatusEffects; import mindustry.entities.*; import mindustry.entities.abilities.*; @@ -53,12 +54,8 @@ import newhorizon.NewHorizon; import newhorizon.expand.bullets.*; import newhorizon.expand.entities.UltFire; -import newhorizon.expand.packets.ShockWaveAbility; import newhorizon.expand.units.*; -import newhorizon.expand.units.ablility.AdaptedHealAbility; -import newhorizon.expand.units.ablility.GravityTrapAbility; -import newhorizon.expand.units.ablility.HealFieldAbility; -import newhorizon.expand.units.ablility.TurretShield; +import newhorizon.expand.units.ablility.*; import newhorizon.expand.units.ai.InterceptorAI; import newhorizon.expand.units.ai.ProbeAI; import newhorizon.expand.units.ai.SniperAI; @@ -67,8 +64,8 @@ import newhorizon.util.func.NHFunc; import newhorizon.util.func.NHInterp; import newhorizon.util.func.NHPixmap; -import newhorizon.util.graphic.ColorWarpEffect; import newhorizon.util.graphic.DrawFunc; +import newhorizon.util.graphic.EffectWrapper; import newhorizon.util.graphic.OptionalMultiEffect; import static arc.graphics.g2d.Draw.color; @@ -445,7 +442,7 @@ private static void loadWeapon(){ inaccuracy = 0; xRand = 1f; - reload = 360; + reload = 390; bullet = new RailBulletType(){{ length = 320f; damage = 160f; @@ -587,8 +584,8 @@ protected void shoot(Unit unit, WeaponMount mount, float shootX, float shootY, f }; }}; - shootEffect = ColorWarpEffect.wrap(NHFx.shootSquare(45, 8, 4, 45, 40, 25), hitColor); - smokeEffect = ColorWarpEffect.wrap(NHFx.hugeSmokeLong, Color.gray); + shootEffect = EffectWrapper.wrap(NHFx.shootSquare(45, 8, 4, 45, 40, 25), hitColor); + smokeEffect = EffectWrapper.wrap(NHFx.hugeSmokeLong, Color.gray); }}; } @@ -835,7 +832,7 @@ public static void load(){ lowAltitude = flying = true; health = 8000; armor = 22; - hitSize = 32f; + hitSize = 36f; drag /= 5f; rotateSpeed = 1.4f; @@ -1125,6 +1122,8 @@ protected void shoot(Unit unit, WeaponMount mount, float shootX, float shootY, f createScorch = false; outlineRadius += 1; + + fogRadius = 120; engineOffset = 140.25f; @@ -1236,7 +1235,7 @@ public void death(Unit unit){ pierceCap = 4; smokeEffect = NHFx.hugeSmokeGray; - shootEffect = ColorWarpEffect.wrap(NHFx.shootLine(33, 28),hitColor); + shootEffect = EffectWrapper.wrap(NHFx.shootLine(33, 28),hitColor); despawnEffect = NHFx.square45_6_45; hitEffect = new MultiEffect(NHFx.hitSpark, NHFx.square45_4_45); }}; @@ -1275,7 +1274,7 @@ public void death(Unit unit){ if(w.bullet instanceof DelayedPointBulletType){ DelayedPointBulletType b = (DelayedPointBulletType)w.bullet; b.rangeOverride = 960; - b.despawnEffect = ColorWarpEffect.wrap(NHFx.circle, b.hitColor, 40); + b.despawnEffect = EffectWrapper.wrap(NHFx.circle, b.hitColor, 40); b.damage = 2000; b.lightning = 2; b.lightningDamage = b.damage; @@ -1368,7 +1367,7 @@ public void death(Unit unit){ lightningLengthRand = 18; lightningDamage = 400; - smokeEffect = ColorWarpEffect.wrap(NHFx.hitSparkHuge, hitColor); + smokeEffect = EffectWrapper.wrap(NHFx.hitSparkHuge, hitColor); shootEffect = NHFx.instShoot(backColor, frontColor); despawnEffect = NHFx.lightningHitLarge; hitEffect = new MultiEffect(NHFx.hitSpark(backColor, 75f, 24, 90f, 2f, 12f), NHFx.square45_6_45, NHFx.lineCircleOut(backColor, 18f, 20, 2), NHFx.sharpBlast(backColor, frontColor, 120f, 40f)); @@ -1495,7 +1494,6 @@ public void updateHoming(Bullet b){ laugra = new AncientUnit("laugra"){{ crushDamage = 20; - crashDamageMultiplier = 4f; health = 22000; armor = 45; @@ -1537,7 +1535,10 @@ public void updateHoming(Bullet b){ hitEffect = NHFx.hitSpark; }}; - abilities.add(new GravityTrapAbility(180f)); + abilities.add(new GravityTrapAbility(180f), new AdaptedHealAbility(200, 1200, hitSize * 2f, healColor).modify(a -> { + a.selfHealReloadTime = 640; + a.selfHealAmount /= 12; + })); weapons.add(copyAndMove(w, 18.5f, 11f), copyAndMove(w, 18.5f, -13f)); weapons.add(laugraTurret); @@ -1578,7 +1579,10 @@ public void updateHoming(Bullet b){ max = 50000f; width = 15f; whenShooting = false; - }}); + }}, new AdaptedHealAbility(1500, 900, hitSize * 2f, healColor).modify(a -> { + a.selfHealReloadTime = 480; + a.selfHealAmount /= 8; + })); class PestEngine extends UnitEngine{ float triScl = 1; @@ -1674,6 +1678,7 @@ public void draw(Unit unit){ reload = 60f; shootWarmupSpeed = 0.05f; shoot = new AdaptedShootHelix(){{ + flip = true; shots = 5; mag = 1.15f; scl = 6f; @@ -2258,7 +2263,6 @@ public void createIcons(MultiPacker packer) { engineOffset = 12.5f; engineSize = 5.0F; rotateSpeed = 4.75f; - buildSpeed = 1.25f; lowAltitude = false; aiController = InterceptorAI::new; @@ -2668,7 +2672,6 @@ public void draw(Bullet b){ circleTarget = true; hitSize = 14f; health = 1000f; - buildSpeed = 0.8f; baseRotateSpeed = 1.5f; rotateSpeed = 2.5f; armor = 3.5f; @@ -2760,7 +2763,6 @@ public void draw(Bullet b){ ); boostMultiplier = 2.0F; health = 650.0F; - buildSpeed = 0.75F; rotateSpeed = 2.5f; canBoost = true; armor = 9.0F; @@ -3053,7 +3055,7 @@ public void draw(Bullet b){ mineSpeed = 10F; lowAltitude = true; - mineItems.addAll(NHItems.zeta); + mineItems.addAll(NHItems.zeta, Items.beryllium, Items.tungsten); } @Override public void createIcons(MultiPacker packer){super.createIcons(packer); NHPixmap.createIcons(packer, this); NHPixmap.outlineLegs(packer, this);} }; @@ -3393,7 +3395,6 @@ public void hitTile(Bullet b, Building build, float x, float y, float initialHea engineOffset = 13F; engineSize = 11F; hitSize = 36.0F; - buildSpeed = 1.25F; drawShields = false; lowAltitude = true; singleTarget = false; @@ -3429,10 +3430,9 @@ public void hitTile(Bullet b, Building build, float x, float y, float initialHea engineOffset = 46f; engineSize = 12.0F; rotateSpeed = 0.65f; - buildSpeed = 3f; ammoType = new ItemAmmoType(NHItems.presstanium); - targetFlags = new BlockFlag[]{BlockFlag.reactor, BlockFlag.turret, BlockFlag.generator, null}; + targetFlags = new BlockFlag[]{BlockFlag.turret, null, BlockFlag.reactor, BlockFlag.generator, BlockFlag.core}; for(int i : Mathf.signs){ engines.add(new UnitEngine(21.5f * i, -43.5f, 5, -90 + 45 * i)); @@ -4831,6 +4831,8 @@ public static void immunise(UnitType type){ statuses.remove(StatusEffects.overdrive); statuses.remove(NHStatusEffects.stronghold); statuses.remove(NHStatusEffects.quantization); + statuses.remove(NHStatusEffects.quiet); + statuses.remove(NHStatusEffects.forceWeak); statuses.add(StatusEffects.wet); statuses.add(StatusEffects.unmoving); } diff --git a/src/newhorizon/content/NHWeathers.java b/src/newhorizon/content/NHWeathers.java index abf56228..a21c91cd 100644 --- a/src/newhorizon/content/NHWeathers.java +++ b/src/newhorizon/content/NHWeathers.java @@ -20,7 +20,7 @@ public static void load(){ statusDuration = 15f; rotateBullets = true; - buildingEmp = 3; + buildingEmp = 0.4f; textureColor = primaryColor = NHColor.darkEnrColor; secondaryColor = NHColor.lightSkyBack; @@ -31,6 +31,7 @@ public static void load(){ status = NHStatusEffects.emp2; statusDuration = 60f; + buildingEmp = 0.125f; force = 4; noise = Sounds.fire; diff --git a/src/newhorizon/expand/block/TurretConsume.java b/src/newhorizon/expand/block/TurretConsume.java new file mode 100644 index 00000000..bbc95e8e --- /dev/null +++ b/src/newhorizon/expand/block/TurretConsume.java @@ -0,0 +1,28 @@ +package newhorizon.expand.block; + +import arc.scene.ui.layout.Table; +import mindustry.gen.Building; +import mindustry.type.Liquid; +import mindustry.ui.ReqImage; +import mindustry.world.consumers.ConsumeLiquid; +import mindustry.world.meta.Stat; +import mindustry.world.meta.Stats; + +import static mindustry.Vars.iconMed; + +public class TurretConsume extends ConsumeLiquid{ + public TurretConsume(Liquid liquid, float amount){ + super(liquid, amount); + booster = true; + } + + @Override + public void build(Building build, Table table){ + table.add(new ReqImage(liquid.uiIcon, () -> build.liquids.get(liquid) > 0)).size(iconMed).top().left(); + } + + @Override + public void display(Stats stats){ + stats.add(booster ? Stat.booster : Stat.input, liquid, amount * 60f, true); + } +} diff --git a/src/newhorizon/expand/block/ancient/CaptureableTurret.java b/src/newhorizon/expand/block/ancient/CaptureableTurret.java index f185da0a..71465950 100644 --- a/src/newhorizon/expand/block/ancient/CaptureableTurret.java +++ b/src/newhorizon/expand/block/ancient/CaptureableTurret.java @@ -51,6 +51,11 @@ public class CaptureableTurretBuild extends ShootMatchTurretBuild{ public Team lastDamage = Team.derelict; public float iframes = -1f; + @Override + public boolean canControl(){ + return playerControllable && !logicShooting; + } + @Override public void damage(@Nullable Team source, float damage){ if(iframes > 0) return; diff --git a/src/newhorizon/expand/block/defence/ChargeWall.java b/src/newhorizon/expand/block/defence/ChargeWall.java index 32e129cb..9dec3635 100644 --- a/src/newhorizon/expand/block/defence/ChargeWall.java +++ b/src/newhorizon/expand/block/defence/ChargeWall.java @@ -88,7 +88,7 @@ public class ChargeWall extends Block{ NHFx.lightningHitLarge.at(tile.x, tile.y, effectColor); }); }; - Cons closestTargetAct = tile -> PosLightning.create(tile, tile, tile.target, tile.team, effectColor, true, shootDamage, 4, PosLightning.WIDTH, 2, target ->{ + Cons closestTargetAct = tile -> PosLightning.create(tile, tile.team, tile, tile.target, effectColor, true, shootDamage, 4, PosLightning.WIDTH, 2, target ->{ hitEffect.at(target.getX(), target.getY(), tile.angleTo(target), effectColor); shootEffect.at(tile.x, tile.y, effectColor); releaseType.create(tile, tile.team, tile.x, tile.y, tile.angleTo(target)); diff --git a/src/newhorizon/expand/block/defence/HyperSpaceWarper.java b/src/newhorizon/expand/block/defence/HyperSpaceWarper.java index 5435303e..8bacf92a 100644 --- a/src/newhorizon/expand/block/defence/HyperSpaceWarper.java +++ b/src/newhorizon/expand/block/defence/HyperSpaceWarper.java @@ -115,7 +115,8 @@ public void setBars(){ public void setStats(){ super.setStats(); stats.add(Stat.output, (t) -> { - t.left(); + t.row().left(); + t.add("").row(); t.table(i -> { i.image().size(LEN).color(Pal.lancerLaser).left(); i.add(Core.bundle.get("mod.ui.gravity-trap-field-friendly")).growX().padLeft(OFFSET / 2).row(); diff --git a/src/newhorizon/expand/block/drawer/DrawRotator.java b/src/newhorizon/expand/block/drawer/DrawRotator.java index dca83dc0..d8e4e375 100644 --- a/src/newhorizon/expand/block/drawer/DrawRotator.java +++ b/src/newhorizon/expand/block/drawer/DrawRotator.java @@ -6,6 +6,7 @@ import arc.util.Eachable; import mindustry.entities.units.BuildPlan; import mindustry.gen.Building; +import mindustry.graphics.Drawf; import mindustry.world.Block; import mindustry.world.draw.DrawBlock; @@ -15,6 +16,16 @@ public class DrawRotator extends DrawBlock{ public float x, y; public float rotateSpeed = 1.25f; public float primaryRotation = 0; + public boolean usesSpinDraw = false; + + public DrawRotator(boolean usesSpinDraw){ + this.usesSpinDraw = usesSpinDraw; + } + + public DrawRotator(float rotateSpeed, boolean usesSpinDraw){ + this.rotateSpeed = rotateSpeed; + this.usesSpinDraw = usesSpinDraw; + } public DrawRotator(float rotateSpeed, String suffix){ this.suffix = suffix; @@ -42,7 +53,8 @@ public DrawRotator(){ @Override public void draw(Building build){ - Draw.rect(rotator, build.x + x, build.y + y, build.totalProgress() * rotateSpeed + primaryRotation); + if(usesSpinDraw)Drawf.spinSprite(rotator, build.x + x, build.y + y, build.totalProgress() * rotateSpeed + primaryRotation); + else Draw.rect(rotator, build.x + x, build.y + y, build.totalProgress() * rotateSpeed + primaryRotation); } @Override diff --git a/src/newhorizon/expand/block/drawer/DrawScanLine.java b/src/newhorizon/expand/block/drawer/DrawScanLine.java new file mode 100644 index 00000000..cfa5a8c4 --- /dev/null +++ b/src/newhorizon/expand/block/drawer/DrawScanLine.java @@ -0,0 +1,66 @@ +package newhorizon.expand.block.drawer; + +import arc.func.Cons; +import arc.graphics.Blending; +import arc.graphics.Color; +import arc.graphics.g2d.Draw; +import arc.graphics.g2d.Lines; +import arc.math.Mathf; +import arc.util.Tmp; +import mindustry.gen.Building; +import mindustry.graphics.Pal; +import mindustry.world.draw.DrawBlock; + +public class DrawScanLine extends DrawBlock implements Cloneable{ + public float lineLength = 12; + public float lineStroke = 0.786f; + public float scanLength = 16f; + public float scanAngle = 0; + public float phaseOffset = 0; + + public float strokeScl = 4; + public float strokePlusScl = 0.25f; + + public float totalProgressMultiplier = 1; + + public float scanScl = 6; + public Blending blending = Blending.additive; + + public float alpha = 0.67f; + public Color colorFrom = Pal.accent, colorTo = Color.white; + public float colorLerpRatio = 0.53f; + public float colorLerpScl = 3.3f; + + public float x, y; + + @Override + public void draw(Building build){ + Draw.blend(blending); + Draw.color(colorFrom, colorTo, Mathf.absin(build.totalProgress() * totalProgressMultiplier + phaseOffset, colorLerpScl, colorLerpRatio)); + Draw.alpha(alpha * build.warmup()); + + float stroke = lineStroke * (1 + Mathf.absin(build.totalProgress() * totalProgressMultiplier, strokeScl, strokePlusScl)) * build.warmup(); + + Lines.stroke(stroke); + + Tmp.v1.trns(scanAngle, Mathf.sin(build.totalProgress() * totalProgressMultiplier + phaseOffset, scanScl, (scanLength - stroke / 2f) / 2f)).add(x, y).add(build.x, build.y); + Lines.lineAngleCenter(Tmp.v1.x, Tmp.v1.y, scanAngle + 90, scanLength * build.warmup() - stroke); + + Draw.reset(); + Draw.blend(); + } + + public DrawScanLine copyAnd(Cons modifier){ + DrawScanLine n = copy(); + modifier.get(n); + return n; + } + + public DrawScanLine copy(){ + try{ + return (DrawScanLine)super.clone(); + }catch(CloneNotSupportedException e){ + throw new AssertionError(); + } + } +} diff --git a/src/newhorizon/expand/block/drawer/AdaptedRegionPart.java b/src/newhorizon/expand/block/drawer/FlipRegionPart.java similarity index 87% rename from src/newhorizon/expand/block/drawer/AdaptedRegionPart.java rename to src/newhorizon/expand/block/drawer/FlipRegionPart.java index 4ac99ce3..e12ee6c2 100644 --- a/src/newhorizon/expand/block/drawer/AdaptedRegionPart.java +++ b/src/newhorizon/expand/block/drawer/FlipRegionPart.java @@ -5,9 +5,9 @@ import mindustry.entities.part.DrawPart; import mindustry.entities.part.RegionPart; -public class AdaptedRegionPart extends RegionPart{ +public class FlipRegionPart extends RegionPart{ - public AdaptedRegionPart(String region){ + public FlipRegionPart(String region){ super(region); } diff --git a/src/newhorizon/expand/block/drawer/ForceHeatDrawer.java b/src/newhorizon/expand/block/drawer/ForceHeatDrawer.java new file mode 100644 index 00000000..cb1f810a --- /dev/null +++ b/src/newhorizon/expand/block/drawer/ForceHeatDrawer.java @@ -0,0 +1,122 @@ +package newhorizon.expand.block.drawer; + +import arc.graphics.g2d.Draw; +import arc.graphics.g2d.TextureRegion; +import arc.math.Mathf; +import arc.util.Tmp; +import mindustry.entities.part.DrawPart; +import mindustry.entities.part.RegionPart; +import mindustry.graphics.Drawf; + +public class ForceHeatDrawer extends RegionPart{ + public ForceHeatDrawer(String region){ + super(region); + } + + @Override + public void draw(PartParams params){ + float z = Draw.z(); + if(layer > 0) Draw.z(layer); + //TODO 'under' should not be special cased like this... + if(under && turretShading) Draw.z(z - 0.0001f); + Draw.z(Draw.z() + layerOffset); + + float prevZ = Draw.z(); + float prog = progress.getClamp(params), sclProg = growProgress.getClamp(params); + float mx = moveX * prog, my = moveY * prog, mr = moveRot * prog + rotation, + gx = growX * sclProg, gy = growY * sclProg; + + if(moves.size > 0){ + for(int i = 0; i < moves.size; i++){ + PartMove move = moves.get(i); + float p = move.progress.getClamp(params); + mx += move.x * p; + my += move.y * p; + mr += move.rot * p; + gx += move.gx * p; + gy += move.gy * p; + } + } + + int len = mirror && params.sideOverride == -1 ? 2 : 1; + float preXscl = Draw.xscl, preYscl = Draw.yscl; + Draw.xscl *= xScl + gx; + Draw.yscl *= yScl + gy; + + for(int s = 0; s < len; s++){ + //use specific side if necessary + int i = params.sideOverride == -1 ? s : params.sideOverride; + + //can be null + TextureRegion region = drawRegion ? regions[Math.min(i, regions.length - 1)] : null; + float sign = (i == 0 ? 1 : -1) * params.sideMultiplier; + Tmp.v1.set((x + mx) * sign, y + my).rotateRadExact((params.rotation - 90) * Mathf.degRad); + + float + rx = params.x + Tmp.v1.x, + ry = params.y + Tmp.v1.y, + rot = mr * sign + params.rotation - 90; + + Draw.xscl *= sign; + + if(outline && drawRegion){ + Draw.z(prevZ + outlineLayerOffset); + Draw.rect(outlines[Math.min(i, regions.length - 1)], rx, ry, rot); + Draw.z(prevZ); + } + + if(drawRegion && region.found()){ + if(color != null && colorTo != null){ + Draw.color(color, colorTo, prog); + }else if(color != null){ + Draw.color(color); + } + + if(mixColor != null && mixColorTo != null){ + Draw.mixcol(mixColor, mixColorTo, prog); + }else if(mixColor != null){ + Draw.mixcol(mixColor, mixColor.a); + } + + Draw.blend(blending); + Draw.rect(region, rx, ry, rot); + Draw.blend(); + if(color != null) Draw.color(); + } + + if(heat.found()){ + float hprog = heatProgress.getClamp(params); + heatColor.write(Tmp.c1).a(hprog * heatColor.a); + Drawf.additive(heat, Tmp.c1, rx, ry, rot, Draw.z() + heatLayerOffset); + if(heatLight) Drawf.light(rx, ry, heat, rot, Tmp.c1, heatLightOpacity * hprog); + } + + Draw.xscl *= sign; + } + + Draw.color(); + Draw.mixcol(); + + Draw.z(z); + + //draw child, if applicable - only at the end + //TODO lots of copy-paste here + if(children.size > 0){ + for(int s = 0; s < len; s++){ + int i = (params.sideOverride == -1 ? s : params.sideOverride); + float sign = (i == 1 ? -1 : 1) * params.sideMultiplier; + Tmp.v1.set((x + mx) * sign, y + my).rotateRadExact((params.rotation - 90) * Mathf.degRad); + + childParam.set(params.warmup, params.reload, params.smoothReload, params.heat, params.recoil, params.charge, params.x + Tmp.v1.x, params.y + Tmp.v1.y, i * sign + mr * sign + params.rotation); + childParam.sideMultiplier = params.sideMultiplier; + childParam.life = params.life; + childParam.sideOverride = i; + for(DrawPart child : children){ + child.draw(childParam); + } + } + } + + Draw.scl(preXscl, preYscl); + } +} diff --git a/src/newhorizon/expand/block/special/JumpGate.java b/src/newhorizon/expand/block/special/JumpGate.java index be23a540..f319c596 100644 --- a/src/newhorizon/expand/block/special/JumpGate.java +++ b/src/newhorizon/expand/block/special/JumpGate.java @@ -14,6 +14,7 @@ import arc.scene.style.TextureRegionDrawable; import arc.scene.ui.Label; import arc.scene.ui.Slider; +import arc.scene.ui.layout.Stack; import arc.scene.ui.layout.Table; import arc.struct.IntMap; import arc.struct.IntSeq; @@ -27,6 +28,7 @@ import mindustry.core.World; import mindustry.entities.Units; import mindustry.entities.units.BuildPlan; +import mindustry.game.Team; import mindustry.gen.Building; import mindustry.gen.Icon; import mindustry.gen.Iconc; @@ -35,6 +37,7 @@ import mindustry.graphics.Layer; import mindustry.graphics.MultiPacker; import mindustry.graphics.Pal; +import mindustry.io.TypeIO; import mindustry.logic.Ranged; import mindustry.type.Category; import mindustry.type.Item; @@ -57,8 +60,10 @@ import newhorizon.content.NHFx; import newhorizon.content.NHTechTree; import newhorizon.content.NHUnitTypes; +import newhorizon.expand.NHVars; import newhorizon.util.func.NHFunc; import newhorizon.util.graphic.DrawFunc; +import newhorizon.util.ui.ItemImageDynamic; import newhorizon.util.ui.NHUIFunc; import newhorizon.util.ui.TableFunc; import org.jetbrains.annotations.NotNull; @@ -74,6 +79,8 @@ public class JumpGate extends Block { protected static ItemModule nextItems; protected static final ObjectIntMap allSets = new ObjectIntMap<>(); + protected static final Seq> tmpSetSeq = new Seq<>(); + protected static int lastSelectedInt = 0; public int maxSpawnPerOne = 15; public boolean adaptable = false; @@ -93,6 +100,8 @@ public class JumpGate extends Block { public float cooldownTime = 300f; + public float buildSpeedMultiplierCoefficient = 1; + protected static UnitSet tmpSet; protected static int selectID = 0, selectNum = 1; @@ -110,6 +119,7 @@ public JumpGate(String name){ acceptsItems = true; unloadable = true; solid = true; + commandable = true; hasPower = hasItems = true; timers = 3; envEnabled = Env.any; @@ -272,13 +282,13 @@ public void setStats() { for(Integer i : getSortedKeys()) { UnitSet set = calls.get(i); t.add(new NHUIFunc.UnitSetTable(set, table -> { - table.button(Icon.infoCircle, Styles.clearNonei, () -> showInfo(set, new Label("[]"), null)).size(LEN); + table.button(Icon.infoCircle, Styles.clearNonei, () -> showInfo(set, new Label("[]"), null, null)).size(LEN); })).fill().row(); } }); } - public void showInfo(UnitSet set, Element extra, @Nullable ItemModule module){ + public void showInfo(UnitSet set, Element extra, @Nullable ItemModule module, @Nullable Team team){ BaseDialog dialogIn = new BaseDialog("More Info"); dialogIn.addCloseListener(); dialogIn.cont.margin(15f); @@ -289,11 +299,11 @@ public void showInfo(UnitSet set, Element extra, @Nullable ItemModule module){ inner.button(new TextureRegionDrawable(set.type.fullIcon), Styles.clearNonei, () -> new ContentInfoDialog().show(set.type)).growX().fillY().center().row(); inner.image().growX().height(OFFSET / 4).pad(OFFSET / 4f).color(Pal.accent).row(); inner.add("[lightgray]" + Core.bundle.get("editor.spawn") + ": [accent]" + set.type.localizedName + "[lightgray] | Tier: [accent]" + set.sortIndex[1]).left().padLeft(OFFSET).row(); - inner.add("[lightgray]" + Core.bundle.get("stat.buildtime") + ": [accent]" + TableFunc.format(set.costTimeVar() / 60) + "[lightgray] " + Core.bundle.get("unit.seconds")).left().padLeft(OFFSET).row(); + inner.add("[lightgray]" + Core.bundle.get("stat.buildtime") + ": [accent]" + Strings.fixed(set.costTimeVar() / 60, 2) + "[lightgray] " + Core.bundle.get("unit.seconds")).left().padLeft(OFFSET).row(); inner.image().growX().height(OFFSET / 4).pad(OFFSET / 4f).color(Pal.accent).row(); inner.table(table -> { int index = 0; - for(ItemStack stack : set.requirements()){ + for(ItemStack stack : team == null ? set.baseRequirements() : set.dynamicRequirements(team)){ if(module != null || index % 7 == 0)table.row(); if(module != null){ TableFunc.itemStack(table, stack, module); @@ -339,24 +349,36 @@ public class JumpGateBuild extends Building implements Ranged{ public int spawnID = 0; public int link = -1; public float buildProgress = 0; - public float progress; + public float totalProgress; public float warmup; public boolean jammed; public float cooldown = 0; public boolean cooling = false; - //Local var public int spawnNum = 1; public int buildingSpawnNum = 0; public int planSpawnID = 0; public int planSpawnNum = 0; + + public Vec2 commandPos = null; + + @Override + public void onCommand(Vec2 target){ + hitbox(Tmp.r1); + if(Tmp.r1.contains(target))commandPos = null; + else commandPos = target; + } + + @Override + public Vec2 getCommandPosition(){ + return commandPos; + } @Override public boolean acceptItem(Building source, Item item){ - return realItems().get(item) < getMaximumAccepted(item); -// return !NHVars.state.jumpGateUseCoreItems && realItems().get(item) < getMaximumAccepted(item); + return !NHVars.worldData.jumpGateUsesCoreItems && realItems().get(item) < getMaximumAccepted(item); } @Override @@ -374,7 +396,7 @@ public IntSeq config(){ @Override public void updateTile(){ - progress += (efficiency() + warmup) * delta() * Mathf.curve(Time.delta, 0f, 0.5f); + totalProgress += (efficiency() + warmup) * delta() * Mathf.curve(Time.delta, 0f, 0.5f); if(!cooling && isCalling() && Units.canCreate(team, getType())){ buildProgress += efficiency() * state.rules.unitBuildSpeedMultiplier * delta() * warmup * state.rules.unitBuildSpeed(team); if(buildProgress >= costTime(getSet(), true) && !jammed){ @@ -444,22 +466,25 @@ public void drawConfigure() { DrawFunc.posSquareLink(color, 1.5f, 3.5f, true, this, target); Draw.color(); - if(core() != null) DrawFunc.posSquareLinkArr(color, 1.5f, 3.5f, true, false, this, core()); + if(core() != null && NHVars.worldData.jumpGateUsesCoreItems)DrawFunc.posSquareLinkArr(color, 1.5f, 3.5f, true, false, this, core()); if(jammed) DrawFunc.overlayText(Core.bundle.get("spawn-error"), x, y, size * tilesize / 2.0F, color, true); Draw.reset(); } + public float speedMultiplier(int spawnNum){ + return Mathf.sqrt(spawnNum) * buildSpeedMultiplierCoefficient; + } + @Override public void updateTableAlign(Table table){ -// if(NHVars.state.jumpGateUseCoreItems)super.updateTableAlign(table); -// else{ + if(NHVars.worldData.jumpGateUsesCoreItems)super.updateTableAlign(table); + else{ Vec2 pos = Core.input.mouseScreen(x - block.size * 4f - 1.0F, y); table.setPosition(pos.x, pos.y, Align.right); -// } + } } - @Override public void buildConfiguration(Table table) { @@ -472,7 +497,7 @@ public void buildConfiguration(Table table) { UnitSet set = calls.get(hashcode); callTable.table(Tex.pane, info -> { info.add(new NHUIFunc.UnitSetTable(set, table2 -> { - table2.button(Icon.infoCircle, Styles.clearNonei, () -> showInfo(set, new Label(() -> ("[lightgray]Construction Available?: " + TableFunc.judge(canSpawn(set, false) && hasConsume(set, spawnNum)))), realItems())).size(LEN); + table2.button(Icon.infoCircle, Styles.clearNonei, () -> showInfo(set, new Label(() -> ("[lightgray]Construction Available?: " + TableFunc.judge(canSpawn(set, false) && hasConsume(set, spawnNum)))), realItems(), team)).size(LEN); table2.button(Icon.add, Styles.clearNonei, () -> configure(IntSeq.with(0, hashcode, spawnNum))).size(LEN).disabled(b -> (team.data().countType(set.type) + spawnNum > Units.getCap(team)) || jammed || isCalling() || !hasConsume(set, spawnNum) || cooling); })).fillY().growX().row(); if(!hideSet(set.type)){ @@ -491,12 +516,20 @@ public void buildConfiguration(Table table) { if(!isCalling())buildingSpawnNum = spawnNum; }); t.update(() -> { - l.setText("[gray]<" + Core.bundle.get("filter.option.amount") + ": [lightgray]" + spawnNum + "[]>"); + l.setText("[gray]<" + Core.bundle.get("filter.option.amount") + ": [lightgray]" + spawnNum + "[] | " + Core.bundle.get("stat.buildspeedmultiplier") + ": [lightgray]" + Strings.fixed(speedMultiplier(spawnNum), 2) + "[]>"); s.setValue(spawnNum); }); - t.add(s).growX().height(LEN); - t.add(l).fillX().height(LEN).padRight(OFFSET).padLeft(OFFSET); + Stack stack = new Stack(s, new Table(ta -> { + ta.center(); + ta.add(l); + })); + + t.add(stack).growX().height(LEN).padRight(OFFSET).padLeft(OFFSET).align(Align.center); + if(Core.graphics.isPortrait()){ + t.row().add().height(6f).growX(); + t.row(); + } t.add(new Bar( () -> !isCalling() ? "[lightgray]" + Iconc.cancel : @@ -507,9 +540,9 @@ public void buildConfiguration(Table table) { )).growX().height(LEN); }).growX().height(LEN).row(); dialog.cont.table(t -> { - t.button("@back", Icon.left, Styles.cleart, dialog::hide).padTop(OFFSET / 2).growX().height(LEN); - t.button("@cancel", Icon.cancel, Styles.cleart, () -> configure(false)).padTop(OFFSET / 2).disabled(b -> !isCalling()).growX().height(LEN); - t.button("@release", Icon.add, Styles.cleart, () -> configure(true)).padTop(OFFSET / 2).disabled(b -> getSet() == null || !jammed).growX().height(LEN); + t.button("@back", Icon.left, Styles.cleart, dialog::hide).padTop(OFFSET / 2).marginLeft(OFFSET).growX().height(LEN); + t.button("@cancel", Icon.cancel, Styles.cleart, () -> configure(false)).marginLeft(OFFSET).padTop(OFFSET / 2).disabled(b -> !isCalling()).growX().height(LEN); + t.button("@release", Icon.add, Styles.cleart, () -> configure(true)).marginLeft(OFFSET).padTop(OFFSET / 2).disabled(b -> getSet() == null || !jammed).growX().height(LEN); }).growX().height(LEN).bottom(); dialog.keyDown(c -> { if(c == KeyCode.left)spawnNum = Mathf.clamp(--spawnNum, 1, Mathf.clamp(Units.getCap(team), 1, maxSpawnPerOne)); @@ -524,39 +557,105 @@ public void buildConfiguration(Table table) { Slider s = new Slider(1, Mathf.clamp(Units.getCap(team), 1, maxSpawnPerOne), 1, false); s.moved((i) -> selectNum = (int)i); cont.update(() -> { - currentPlan.setText(Core.bundle.get("editor.spawn") + ": [accent]" + planSpawnNum + "[]* [accent]" + ((tmpSet = calls.get(planSpawnID)) == null ? "None" : tmpSet.type.localizedName)); - l.setText("[gray]<" + Core.bundle.get("filter.option.amount") + ": [lightgray]" + selectNum + "[]>"); + if(calls.get(planSpawnID) == null || planSpawnNum < 1){ + currentPlan.setText("None"); + }else{ + currentPlan.setText(Core.bundle.get("editor.spawn") + ": [accent]" + planSpawnNum + "[]* [accent]" + calls.get(planSpawnID).type.localizedName); + } + l.setText("[gray]<" + Core.bundle.get("filter.option.amount") + ": [lightgray]" + selectNum + "[] | " + Core.bundle.get("stat.buildspeedmultiplier") + ": [lightgray]" + Strings.fixed(speedMultiplier(selectNum), 2)+ "[]>"); s.setValue(selectNum); }); cont.table(t -> { + tmpSetSeq.clear(); + for(IntMap.Entry entry : calls){ + IntMap.Entry entryN = new IntMap.Entry<>(); + entryN.key = entry.key; + entryN.value = entry.value; + tmpSetSeq.add(entryN); + } + + tmpSetSeq.sortComparing(s1 -> s1.value); + lastSelectedInt = 0; + + if(!Core.graphics.isPortrait())t.marginLeft(LEN * 2).marginRight(LEN * 2); t.pane(table -> { - int i = 0; - - for(int hash : calls.keys().toArray().toArray()){ - UnitSet set = calls.get(hash); + for(int i = 0; i < tmpSetSeq.size; i++){ + IntMap.Entry entry = tmpSetSeq.get(i); + UnitSet set = entry.value; if(hideSet(set.type))continue; - table.button(new TextureRegionDrawable(set.type.fullIcon), Styles.clearTogglei, LEN, () -> selectID = hash).update(b -> b.setChecked(hash == selectID)); - if(++i % 5 == 0) table.row(); + int finalI = i; + table.table(Tex.whiteui, in -> { + in.marginLeft(6).marginRight(6); + + in.update(() -> { + if(planSpawnID == entry.key){ + if(planSpawnNum > 0){ + if(hasConsume(set, planSpawnNum))in.color.set(Pal.accent); + else in.color.set(Pal.ammo); + }else in.color.set(Pal.lightishGray); + }else if(selectID == entry.key){ + in.color.set(Pal.accent).lerp(Pal.gray, 0.5f); + }else in.color.set(Pal.gray); + }); + + in.button(new TextureRegionDrawable(set.type.fullIcon), Styles.emptyi, LEN, () -> { + selectID = entry.key; + lastSelectedInt = finalI; + }).padRight(OFFSET * 2).padLeft(4f); + in.add(set.type.localizedName).left().fill(); + in.table(ta -> { + ta.right(); + for(ItemStack stack : set.dynamicRequirements(team)){ + ta.add(new ItemImageDynamic(stack.item, () -> stack.amount * selectNum, realItems())).padRight(OFFSET / 2).left(); + } + }).growX().height(LEN).right(); + }).growX().height(LEN + OFFSET).padBottom(OFFSET).row(); } + + lastSelectedInt = 0; }).grow().row(); - t.table(in -> { - in.image().height(OFFSET / 3).growX().color(Color.lightGray); - in.add(l).fillX().height(LEN).padLeft(OFFSET).padRight(OFFSET); - in.image().height(OFFSET / 3).growX().color(Color.lightGray).row(); - }).growX().height(LEN).row(); - t.add(s).growX().height(LEN).padRight(OFFSET).padLeft(OFFSET).row(); - t.add(currentPlan).growX().fillY(); + t.add(new Stack(s, new Table(ta -> { + ta.center(); + ta.add(l); + }))).growX().height(LEN).center().row(); + + t.table(Styles.grayPanel, cur -> { + cur.image(Icon.rightOpen).padLeft(OFFSET).padRight(16f); + cur.add(currentPlan).growX().fillY().row(); + }).fillX().height(LEN).row(); + + + + t.table(t1 -> { + t1.button("@back", Icon.left, Styles.cleart, this::hide).marginLeft(OFFSET).growX().height(LEN); + t1.button("@cancel", Icon.cancel, Styles.cleart, () -> configure(IntSeq.with(1, 0, 0))).marginLeft(OFFSET).growX().height(LEN); + t1.button("@confirm", Icon.cancel, Styles.cleart, () -> configure(IntSeq.with(1, selectID, selectNum))).marginLeft(OFFSET).growX().height(LEN); + }).growX().fillY(); }).grow().row(); - cont.table(t -> { - t.button("@back", Icon.left, Styles.cleart, this::hide).growX().height(LEN); - t.button("@cancel", Icon.cancel, Styles.cleart, () -> configure(IntSeq.with(1, 0, 0))).growX().height(LEN); - t.button("@confirm", Icon.cancel, Styles.cleart, () -> configure(IntSeq.with(1, selectID, selectNum))).growX().height(LEN); - }).growX().fillY(); + addCloseListener(); + keyDown(c -> { if(c == KeyCode.backspace)configure(IntSeq.with(1, 0, 0)); if(c == KeyCode.enter)configure(IntSeq.with(1, selectID, selectNum)); + + if(c == KeyCode.down){ + if(lastSelectedInt < tmpSetSeq.size - 1){ + selectID = tmpSetSeq.get(++lastSelectedInt).key; + }else{ + selectID = tmpSetSeq.get(lastSelectedInt = 0).key; + } + } + + if(c == KeyCode.up){ + if(lastSelectedInt > 0){ + selectID = tmpSetSeq.get(--lastSelectedInt).key; + }else{ + selectID = tmpSetSeq.get(lastSelectedInt = tmpSetSeq.size - 1).key; + } + } + if(c == KeyCode.left)selectNum = Mathf.clamp(--selectNum, 1, Mathf.clamp(Units.getCap(team), 1, maxSpawnPerOne)); if(c == KeyCode.right)selectNum = Mathf.clamp(++selectNum, 1, Mathf.clamp(Units.getCap(team), 1, maxSpawnPerOne)); }); @@ -570,16 +669,16 @@ public void draw(){ Draw.z(Layer.bullet); float scl = warmup * atlasSizeScl; Lines.stroke(squareStroke * warmup, getColor(getSet())); - float rot = progress; + float rot = totalProgress; Lines.square(x, y, block.size * tilesize / 2.5f, -rot); Lines.square(x, y, block.size * tilesize / 2f, rot); for(int i = 0; i < 4; i++){ float length = tilesize * block().size / 2f + 8f; Tmp.v1.trns(i * 90 + rot, -length); Draw.rect(arrowRegion,x + Tmp.v1.x,y + Tmp.v1.y, arrowRegion.width * Draw.scl * scl, arrowRegion.height * Draw.scl * scl, i * 90 + 90 + rot); - float sin = Mathf.absin(progress, 16f, tilesize); + float sin = Mathf.absin(totalProgress, 16f, tilesize); length = tilesize * block().size / 2f + 3 + sin; - float signSize = 0.75f + Mathf.absin(progress + 8f, 8f, 0.15f); + float signSize = 0.75f + Mathf.absin(totalProgress + 8f, 8f, 0.15f); Tmp.v1.trns(i * 90, -length); Draw.rect(pointerRegion, x + Tmp.v1.x,y + Tmp.v1.y, pointerRegion.width * Draw.scl * signSize * scl, pointerRegion.height * Draw.scl * signSize * scl, i * 90 + 90); } @@ -593,13 +692,13 @@ public void draw(){ float regSize = regSize(getType()) / 3f + Draw.scl; for (int i = 0; i < 4; i++) { Tmp.v1.trns(angle, (i - 4) * tilesize * 2); - float f = (100 - (progress - 25 * i) % 100) / 100; + float f = (100 - (totalProgress - 25 * i) % 100) / 100; Draw.rect(arrowRegion, x + Tmp.v1.x, y + Tmp.v1.y, pointerRegion.width * regSize * f * scl, pointerRegion.height * regSize * f * scl, angle - 90); } } if(jammed || !Units.canCreate(team, getType())){ Draw.color(getColor(getSet())); - float signSize = 0.75f + Mathf.absin(progress + 8f, 8f, 0.15f); + float signSize = 0.75f + Mathf.absin(totalProgress + 8f, 8f, 0.15f); for (int i = 0; i < 4; i++) { Draw.rect(arrowRegion, x , y, arrowRegion.width * Draw.scl * signSize * scl, arrowRegion.height * Draw.scl * signSize * scl, 90 * i); } @@ -612,16 +711,16 @@ public void draw(){ } public void consumeItems(){ - if(!cheating())realItems().remove(ItemStack.mult(getSet().requirements(), buildingSpawnNum)); + if(!cheating())realItems().remove(ItemStack.mult(getSet().dynamicRequirements(team), buildingSpawnNum)); } public boolean hasConsume(UnitSet set, int num){ if(set == null || cheating() || (!state.rules.pvp && team == state.rules.waveTeam))return true; - return realItems().has(ItemStack.mult(set.requirements(), num * state.rules.teams.get(team).unitCostMultiplier)); + return realItems().has(ItemStack.mult(set.dynamicRequirements(team), num * state.rules.teams.get(team).unitCostMultiplier)); } public float costTime(UnitSet set, boolean buildingParma){ - return (buildingParma ? buildingSpawnNum : spawnNum) * set.costTime(); + return (buildingParma ? buildingSpawnNum : spawnNum) * set.costTime() / speedMultiplier(buildingParma ? buildingSpawnNum : spawnNum); } public boolean canSpawn(UnitSet set, boolean buildingParma) { @@ -636,10 +735,9 @@ public void startBuild(int set, int spawnNum){ if(!calls.keys().toArray().contains(set)){ if(isCalling()){ if(getSet() != null){ -// Building target = NHVars.state.jumpGateUseCoreItems && team.data().hasCore() ? team.core() : self(); - Building target = self(); + Building target = NHVars.worldData.jumpGateUsesCoreItems && team.data().hasCore() ? team.core() : self(); - for(ItemStack stack : ItemStack.mult(getSet().requirements(), buildingSpawnNum * (costTime(getSet(), true) - buildProgress) / costTime(getSet(), true))){ + for(ItemStack stack : ItemStack.mult(getSet().dynamicRequirements(team), buildingSpawnNum * (costTime(getSet(), true) - buildProgress) / costTime(getSet(), true))){ realItems().add(stack.item, Math.min(stack.amount, target.getMaximumAccepted(stack.item) - realItems().get(stack.item))); } } @@ -663,7 +761,9 @@ public void spawn(UnitSet set){ NHFx.spawn.at(x, y, regSize(set.type), team.color, this); - success = NHFunc.spawnUnit(team, target.x, target.y, angleTo(target), spawnRange, spawnReloadTime, spawnDelay, getType(), buildingSpawnNum); + success = NHFunc.spawnUnit(team, target.x, target.y, angleTo(target), spawnRange, spawnReloadTime, spawnDelay, getType(), buildingSpawnNum, s -> { + if(commandPos != null)s.commandPos.set(commandPos); + }); if(success){ buildProgress = 0; @@ -676,6 +776,8 @@ public void spawn(UnitSet set){ @Override public float range(){return range;} @Override public void write(Writes write) { + write.s(0); + write.i(spawnID); write.i(link); write.f(buildProgress); @@ -687,8 +789,13 @@ public void spawn(UnitSet set){ write.i(planSpawnID); write.i(planSpawnNum); + + TypeIO.writeVecNullable(write, commandPos); } + @Override public void read(Reads read, byte revision) { + short ver = read.s(); + spawnID = read.i(); link = read.i(); buildProgress = read.f(); @@ -700,6 +807,23 @@ public void spawn(UnitSet set){ planSpawnID = read.i(); planSpawnNum = read.i(); + + commandPos = TypeIO.readVecNullable(read); + } + + @Override + public float warmup(){ + return warmup; + } + + @Override + public float progress(){ + return buildProgress / costTime(getSet(), true); + } + + @Override + public float totalProgress(){ + return totalProgress; } @Override @@ -742,8 +866,7 @@ public boolean cheating(){ } public ItemModule realItems(){ - return items; -// return NHVars.state.jumpGateUseCoreItems && team.data().hasCore() ? team.core().items() : items; + return NHVars.worldData.jumpGateUsesCoreItems && team.data().hasCore() ? team.core().items() : items; } } @@ -779,6 +902,11 @@ public boolean equals(Object o){ return type.equals(set.type) && Arrays.equals(sortIndex, set.sortIndex); } + @Override + public String toString(){ + return "UnitSet{" + "type=" + type + ", sortIndex=" + Arrays.toString(sortIndex) + '}'; + } + @Override public int hashCode(){ int result = Objects.hash(type.name.hashCode()); @@ -788,7 +916,13 @@ public int hashCode(){ public float costTime(){return costTime;} public float costTimeVar(){return costTime / state.rules.unitBuildSpeedMultiplier;} - public ItemStack[] requirements(){ return requirements.toArray(); } + public ItemStack[] baseRequirements(){ + return requirements.toArray(); + } + + public ItemStack[] dynamicRequirements(Team team){ + return ItemStack.mult(requirements.toArray(), state.rules.unitCost(team)); + } @Override public int compareTo(@NotNull UnitSet set2){ diff --git a/src/newhorizon/expand/bullets/AdaptedLightningBulletType.java b/src/newhorizon/expand/bullets/AdaptedLightningBulletType.java new file mode 100644 index 00000000..69bdb532 --- /dev/null +++ b/src/newhorizon/expand/bullets/AdaptedLightningBulletType.java @@ -0,0 +1,43 @@ +package newhorizon.expand.bullets; + +import arc.math.Mathf; +import mindustry.content.Fx; +import mindustry.content.StatusEffects; +import mindustry.entities.Lightning; +import mindustry.entities.bullet.BulletType; +import mindustry.gen.Bullet; + +public class AdaptedLightningBulletType extends BulletType{ + public AdaptedLightningBulletType(){ + damage = 1f; + speed = 0f; + lifetime = 1; + shootEffect = hitEffect = despawnEffect = Fx.none; + despawnHit = false; + keepVelocity = false; + hittable = false; + //for stats + status = StatusEffects.shocked; + } + + @Override + protected float calculateRange(){ + return (lightningLength + lightningLengthRand/2f) * 6f; + } + + @Override + public float estimateDPS(){ + return super.estimateDPS() * Math.max(lightningLength / 10f, 1); + } + + @Override + public void draw(Bullet b){ + } + + @Override + public void init(Bullet b){ + Lightning.create(b, lightningColor, damage, b.x, b.y, b.rotation(), lightningLength + Mathf.random(lightningLengthRand)); + } + + +} diff --git a/src/newhorizon/expand/bullets/AdaptedShootHelix.java b/src/newhorizon/expand/bullets/AdaptedShootHelix.java index f5102cbe..cf980c16 100644 --- a/src/newhorizon/expand/bullets/AdaptedShootHelix.java +++ b/src/newhorizon/expand/bullets/AdaptedShootHelix.java @@ -1,24 +1,27 @@ package newhorizon.expand.bullets; import arc.math.Mathf; +import arc.util.Nullable; import mindustry.entities.pattern.ShootHelix; public class AdaptedShootHelix extends ShootHelix{ public boolean flip = false; + public float rotSpeedOffset = 0; + public float rotSpeedBegin = 1; @Override - public void shoot(int totalShots, BulletHandler handler){ + public void shoot(int totalShots, BulletHandler handler, @Nullable Runnable barrelIncrementer){ for(int i = 0; i < shots; i++){ if(flip){ for(int sign : Mathf.signs){ int finalI = i; handler.shoot(0, 0, 0, firstShotDelay + shotDelay * i, - b -> b.moveRelative(0f, Mathf.sin(b.time + offset * ((float)finalI / shots), scl, mag * sign))); + b -> b.moveRelative(0f, Mathf.sin(b.time * (rotSpeedOffset * finalI + rotSpeedBegin) + offset * ((float)finalI / shots), scl, mag * sign))); } }else{ int finalI = i; handler.shoot(0, 0, 0, firstShotDelay + shotDelay * i, - b -> b.moveRelative(0f, Mathf.sin(b.time + offset * ((float)finalI / shots), scl, mag))); + b -> b.moveRelative(0f, Mathf.sin(b.time * (rotSpeedOffset * finalI + rotSpeedBegin) + offset * ((float)finalI / shots), scl, mag))); } } } diff --git a/src/newhorizon/expand/bullets/ChainBulletType.java b/src/newhorizon/expand/bullets/ChainBulletType.java index e5e76f80..eecd25c1 100644 --- a/src/newhorizon/expand/bullets/ChainBulletType.java +++ b/src/newhorizon/expand/bullets/ChainBulletType.java @@ -1,6 +1,7 @@ package newhorizon.expand.bullets; import arc.func.Cons2; +import arc.math.Mathf; import arc.math.geom.Position; import arc.math.geom.Vec2; import arc.struct.Seq; @@ -71,9 +72,9 @@ public void init(Bullet b){ } if(!quietShoot || !points.isEmpty()){ - NHFunc.shuffle(points, NHFunc.rand(b.owner.id())); + NHFunc.shuffle(points, NHFunc.rand((long)Mathf.round(confirm.getX(), 16) + 8 << Mathf.round(confirm.getY(), 16))); points.truncate(maxHit); - points.sort(e -> - confirm.dst(e) + confirm.angleTo(e) / 32f); +// points.sort(e -> - confirm.dst(e) + confirm.angleTo(e) / 32f); points.insert(0, b); points.insert(1, target); diff --git a/src/newhorizon/expand/bullets/DelayedPointBulletType.java b/src/newhorizon/expand/bullets/DelayedPointBulletType.java index afdd022a..c0331aa0 100644 --- a/src/newhorizon/expand/bullets/DelayedPointBulletType.java +++ b/src/newhorizon/expand/bullets/DelayedPointBulletType.java @@ -31,6 +31,8 @@ public class DelayedPointBulletType extends BulletType{ protected static Color[] colors = {new Color(1, 1, 1, 0f).a(-5f), new Color(1, 1, 1, 1f), new Color(1, 1, 1, 1f)}; protected static float lengthFalloff = 0.5f; + public float errorCorrectionRadius = 16; + public float width = 8f; public float trailSpacing = 10f; @@ -88,9 +90,8 @@ public void init(Bullet b){ cdist = 0f; result = null; - float range = 8f; - Units.nearbyEnemies(b.team, px - range, py - range, range*2f, range*2f, e -> { + Units.nearbyEnemies(b.team, px - errorCorrectionRadius, py - errorCorrectionRadius, errorCorrectionRadius*2f, errorCorrectionRadius*2f, e -> { if(e.dead() || !e.checkTarget(collidesAir, collidesGround) || !e.hittable()) return; e.hitbox(Tmp.r1); diff --git a/src/newhorizon/expand/bullets/LightningLinkerBulletType.java b/src/newhorizon/expand/bullets/LightningLinkerBulletType.java index 30d000e8..97ee713d 100644 --- a/src/newhorizon/expand/bullets/LightningLinkerBulletType.java +++ b/src/newhorizon/expand/bullets/LightningLinkerBulletType.java @@ -52,6 +52,8 @@ public class LightningLinkerBulletType extends BasicBulletType{ public float effectLightningLength = -1; public float effectLightningLengthRand = -1; + public float trueHitChance = 0.66f; + public boolean drawCircle = true; public Effect slopeEffect, liHitEffect, spreadEffect; @@ -122,12 +124,14 @@ public void update(Bullet b) { super.update(b); Effect.shake(hitShake, hitShake, b); - if (b.timer(5, hitSpacing)) { + if (b.timer(4, hitSpacing)) { for(int i : Mathf.signs)slopeEffect.at(b.x + Mathf.range(size / 4f), b.y + Mathf.range(size / 4f), b.rotation(), i); spreadEffect.at(b); + PosLightning.setHitChance(trueHitChance); PosLightning.createRange(b, collidesAir, collidesGround, b, b.team, linkRange, maxHit, backColor, Mathf.chanceDelta(randomLightningChance), lightningDamage, lightningLength, PosLightning.WIDTH, boltNum, p -> { liHitEffect.at(p.getX(), p.getY(), hitColor); }); + PosLightning.setHitChanceDef(); } if(randomGenerateRange > 0f && Mathf.chance(Time.delta * randomGenerateChance) && b.lifetime - b.time > PosLightning.lifetime)PosLightning.createRandomRange(b, b.team, b, randomGenerateRange, backColor, Mathf.chanceDelta(randomLightningChance), 0, 0, boltWidth, boltNum, randomLightningNum, hitPos -> { diff --git a/src/newhorizon/expand/cutscene/CSSTexts.java b/src/newhorizon/expand/cutscene/CSSTexts.java index 76e8ab51..78607876 100644 --- a/src/newhorizon/expand/cutscene/CSSTexts.java +++ b/src/newhorizon/expand/cutscene/CSSTexts.java @@ -2,8 +2,13 @@ import static arc.Core.bundle; + +/** + * @see arc.flabel.FConfig + * */ public class CSSTexts{ public static String getBundle(String name, int textID){ + return bundle.get("nh.cutscene." + name + ".dia-" + textID); } @@ -24,8 +29,14 @@ public static String reinforcementsInbound(){ public static String incomingRaid(){ return bundle.get("nh.cutscene.incoming-raid"); } + public static String missionAccomplished(){ + return bundle.get("nh.cutscene.mission-accomplished"); + } public static String takingDamage_Heavy(){ return bundle.get("nh.cutscene.damage-taking-heavy"); } + public static String standbyHyperspace(){ + return bundle.get("nh.cutscene.standby-hyperspace"); + } } diff --git a/src/newhorizon/expand/cutscene/MapCutscene.java b/src/newhorizon/expand/cutscene/MapCutscene.java new file mode 100644 index 00000000..33786b05 --- /dev/null +++ b/src/newhorizon/expand/cutscene/MapCutscene.java @@ -0,0 +1,101 @@ +package newhorizon.expand.cutscene; + +import arc.func.Boolp; +import arc.func.Cons; +import arc.struct.ObjectMap; +import arc.struct.Seq; +import arc.util.Interval; +import mindustry.Vars; +import mindustry.gen.Building; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +public class MapCutscene{ + public ObjectMap> checkers = new ObjectMap<>(); + public ObjectMap> targetGroups = new ObjectMap<>(); + + public Interval timer = new Interval(3); + + public float reloadParam0 = 0; + public float reloadParam1 = 0; + public float reloadParam2 = 0; + public float reloadParam3 = 0; + public float reloadParam4 = 0; + + public MapCutscene(String mapName){ + this.mapName = mapName; + } + + public String mapName; + public NHCSS_Core core; + public Seq updaters = new Seq<>(); + public Seq initers = new Seq<>(); + public Seq enders = new Seq<>(); + + public Seq> drawers = new Seq<>(); + + public Runnable register; + + public void putTag(String key, String value){ + Vars.state.rules.tags.put(key, value); + } + + public void putTag(String key){ + Vars.state.rules.tags.put(key, "true"); + } + + public String getValue(String key){ + return Vars.state.rules.tags.get(key); + } + + public boolean getValueBool(String key){ + return Boolean.parseBoolean(Vars.state.rules.tags.get(key)); + } + + public void load(){ + core.loadedUpdaters = updaters.copy(); + core.loadedIniters = initers.copy(); + core.loadedEnders = enders.copy(); + } + + public void register(){ + if(register != null){ + register.run(); + } + } + + public boolean checked(String key){ + if(checkers.containsKey(key)){ + Seq boolps = checkers.get(key); + if(boolps.isEmpty())return false; + for(Boolp b : boolps){ + if(!b.get())return false; + } + return true; + }else return false; + } + + public void draw(){ + for(Cons d : drawers){ + d.get(this); + } + } + + public void write(DataOutput stream) throws IOException{ + stream.writeFloat(reloadParam0); + stream.writeFloat(reloadParam1); + stream.writeFloat(reloadParam2); + stream.writeFloat(reloadParam3); + stream.writeFloat(reloadParam4); + } + + public void read(DataInput stream) throws IOException{ + reloadParam0 = stream.readFloat(); + reloadParam1 = stream.readFloat(); + reloadParam2 = stream.readFloat(); + reloadParam3 = stream.readFloat(); + reloadParam4 = stream.readFloat(); + } +} diff --git a/src/newhorizon/expand/cutscene/NHCSS_Core.java b/src/newhorizon/expand/cutscene/NHCSS_Core.java index e4c6a207..788f9ec8 100644 --- a/src/newhorizon/expand/cutscene/NHCSS_Core.java +++ b/src/newhorizon/expand/cutscene/NHCSS_Core.java @@ -11,8 +11,12 @@ import mindustry.game.EventType; import mindustry.gen.Building; import mindustry.type.SectorPreset; +import mindustry.world.Tile; +import mindustry.world.blocks.logic.MessageBlock; import newhorizon.expand.NHVars; import newhorizon.expand.cutscene.actions.CSSActions; +import newhorizon.expand.cutscene.stateoverride.UnitOverride; +import newhorizon.expand.eventsys.types.WorldEventType; public class NHCSS_Core{ public static final String WIN_KEY = "wingame"; @@ -29,23 +33,32 @@ public static void loadRegisters(){ public NHCSS_Action.ActionBus mainBus; public Seq subBuses = new Seq<>(); - public static ObjectMap> updaters = new ObjectMap<>(); - public static ObjectMap> initers = new ObjectMap<>(); - public static ObjectMap> enders = new ObjectMap<>(); + public static ObjectMap cutscenes = new ObjectMap<>(); + public MapCutscene currentScene; public static ObjectSet skippingLanding = new ObjectSet<>(); public static final Seq NULL_ACTIONS = new Seq<>(0); - public Seq loadedActions = NULL_ACTIONS; + public Seq loadedUpdaters = NULL_ACTIONS; + public Seq loadedIniters = NULL_ACTIONS; + public Seq loadedEnders = NULL_ACTIONS; public float actReload = 0; - public static void register(ObjectMap> set, Seq runs, String... names){ - for(String t : names){ - set.put(t, runs); - } + public boolean loaded = false; + + public static void registerCutscene(String name, MapCutscene cutscene){ + cutscenes.put(name, cutscene); + } + + public static void registerCutscene(MapCutscene cutscene){ + cutscenes.put(cutscene.mapName, cutscene); } static{ + Events.on(EventType.ResetEvent.class, e -> { + core.loaded = false; + }); + Events.on(EventType.SaveWriteEvent.class, e -> { if(core.mainBus != null && !core.mainBus.complete()){ core.mainBus.skip(); @@ -56,46 +69,51 @@ public static void register(ObjectMap> set, Seq } }); - Events.on(EventType.SectorLaunchEvent.class, e -> { - if(e.sector.preset != null){ + Events.on(EventType.SectorLaunchLoadoutEvent.class, e -> { + if(!e.sector.isCaptured() && e.sector.preset != null){ if(skippingLanding.contains(e.sector.preset)){ NHCSS_UI.skipCoreLanding(); Core.app.post(NHCSS_UI::setSkippingLandingToDef); } + + if(cutscenes.containsKey(e.sector.preset.name)){ + load(e.sector.preset.name); + } } }); + Events.on(EventType.WorldLoadEndEvent.class, e -> { + WorldEventType.clearCustom(); + }); + Events.on(EventType.WorldLoadEvent.class, e -> { - core.kill(); - core = new NHCSS_Core(); - NHVars.cutscene = core; + if(core.loaded)return; + + Tile tileZero = Vars.world.tile(2, 2); - if(!Vars.state.isEditor()){ + String tagger = null; -// Vars.state.map.tags.put("cutsceneID", "new-horizon-hostile-research-station") -// -// NewHorizon.debugLog("test:" + initers.containsKey(Vars.state.map.name())); -// NewHorizon.debugLog(Vars.state.map.name()); - Core.app.post(() -> { - if(updaters.containsKey(Vars.state.map.tag(CUTSCENE_ID))){ - core.loadedActions = updaters.get(Vars.state.map.tag(CUTSCENE_ID)).copy(); - } - - if(initers.containsKey(Vars.state.map.tag(CUTSCENE_ID)))for(Runnable r : initers.get(Vars.state.map.tag(CUTSCENE_ID))){ - r.run(); - } - }); + if(tileZero.build instanceof MessageBlock.MessageBuild){ + MessageBlock.MessageBuild build = (MessageBlock.MessageBuild)tileZero.build; + String msg = build.message.toString(); + if(msg.startsWith("@CS-")){ + tagger = msg.replaceFirst("@CS-", ""); + }else if(msg.startsWith("@code:")){ + //Code support some day?? + String code = msg.replaceFirst("@code:", ""); + } } - if(core.loadedActions == null)core.loadedActions = NULL_ACTIONS; + if(tagger != null)load(tagger); + else core.loadCommon(); }); Events.on(EventType.SectorCaptureEvent.class, e -> { - if(e.sector.preset != null && Vars.state.getSector() == e.sector && enders.containsKey(Vars.state.map.tag(CUTSCENE_ID)))for(Runnable r : enders.get(Vars.state.map.tag(CUTSCENE_ID))){ + if(core.loadedEnders != null)for(Runnable r : core.loadedEnders){ r.run(); } - if(core.loadedActions != null)core.loadedActions.clear(); + if(core.loadedUpdaters != null)core.loadedUpdaters.clear(); }); } @@ -103,12 +121,51 @@ public static void registerSkipping(SectorPreset preset){ skippingLanding.add(preset); } + public static boolean enabled(){ + return !Vars.state.isEditor() && !Vars.state.isMenu(); + } + + public static void load(String name){ + core.kill(); + core = new NHCSS_Core(); + NHVars.cutscene = core; + + if(cutscenes.containsKey(name)){ + MapCutscene currentScene = cutscenes.get(name); + currentScene.core = core; + + Core.app.post(() -> { + if(enabled())currentScene.load(); + }); + + currentScene.register(); + + core.currentScene = currentScene; + } + + Core.app.post(() -> Core.app.post(() -> { + if(enabled())for(Runnable r : core.loadedIniters){ + r.run(); + } + })); + + if(core.loadedUpdaters == null)core.loadedUpdaters = NULL_ACTIONS; + core.loaded = true; + } + + public void loadCommon(){ + core.loaded = true; + core.loadedUpdaters = core.loadedEnders = core.loadedIniters = NULL_ACTIONS; + core.currentScene = null; + } + public void kill(){ mainBus = null; waitingBus.clear(); subBuses.clear(); - if(loadedActions != null)loadedActions.clear(); + if(loadedUpdaters != null) loadedUpdaters.clear(); NHCSS_UI.reset(); + UnitOverride.marked.clear(); } public void applySubBus(NHCSS_Action... actions){ @@ -130,6 +187,7 @@ public void applyMainBus(NHCSS_Action.ActionBus bus){ } public void draw(){ + if(currentScene != null)currentScene.draw(); // NHCSS_UI.draw(); } @@ -154,7 +212,7 @@ public void update(){ NHCSS_UI.update(); - for(Runnable r : loadedActions){ + if(loadedUpdaters != null)for(Runnable r : loadedUpdaters){ r.run(); } } diff --git a/src/newhorizon/expand/cutscene/NHCSS_UI.java b/src/newhorizon/expand/cutscene/NHCSS_UI.java index 4d803a79..fb5cec60 100644 --- a/src/newhorizon/expand/cutscene/NHCSS_UI.java +++ b/src/newhorizon/expand/cutscene/NHCSS_UI.java @@ -70,7 +70,9 @@ protected MarkBox newObject(){ public static boolean controlOverride = false; public static boolean cameraOverride = false; - public static final float CURTAIN_HEIGHT_SCL = 0.1185f; + public static float CURTAIN_HEIGHT_SCL(){ + return Core.graphics.isPortrait() ? 0.22f : 0.1185f; + } public static final float CURTAIN_SPEED = 0.0175f; public static Interp curtainInterp = Interp.pow2Out; @@ -110,7 +112,7 @@ public static void init(){ public void draw(){ super.draw(); - float heightC = height * CURTAIN_HEIGHT_SCL * curtainInterp.apply(curtainProgress); + float heightC = height * CURTAIN_HEIGHT_SCL() * curtainInterp.apply(curtainProgress); Draw.color(Color.black); Draw.alpha(Interp.pow3Out.apply(Mathf.curve(curtainProgress, 0, 0.75f))); @@ -162,7 +164,7 @@ public void act(float delta){ if(Vars.mobile){ textTable.update(() -> { - textTable.setHeight(height * 0.33f); + textTable.setHeight(height * CURTAIN_HEIGHT_SCL()); textTable.setWidth(width); textTable.setPosition(0, 0); }); @@ -184,7 +186,7 @@ public void act(float delta){ align(Align.topLeft); button("Skip Cutscene", Icon.play, () -> { NHCSS_Core.core.mainBus.skip(); - }).marginLeft(8f).size(320, 50f); + }).marginLeft(8f).size(320, 50f).padTop(Vars.mobile ? 60 : 0); }}); root.addChild(textTable); } @@ -400,6 +402,18 @@ public static void mark(float x, float y, float radius, float lifetime, Color co box.addSelf(); } + @HeadlessDisabled + public static void mark(float x, float y, float radius, float lifetime, Color color, MarkStyle style, Boolp removeCheck){ + if(Vars.headless)return; + + + MarkBox box = new MarkBox();//markBoxPool.obtain(); + box.init(radius, color, new Vec2(x, y), style); + box.removeCheck = removeCheck; + if(lifetime > 0)box.lifetime = lifetime; + box.addSelf(); + } + @HeadlessDisabled public static void markSignal(float x, float y, float maxDst, Color color){ if(Vars.headless || !signalInterval.get(60f))return; @@ -409,7 +423,7 @@ public static void markSignal(float x, float y, float maxDst, Color color){ float offset = 320; float scl = dst / maxDst; - NHSounds.signal.play(scl * 2f); + NHSounds.signal.at(x, y, 1, 0.55f); // MarkBox box = new MarkBox(); MarkBox box = new MarkBox();//markBoxPool.obtain(); @@ -427,7 +441,7 @@ public static void forceMarkSignal(float x, float y, float maxDst, Color color){ float offset = 320; float scl = dst / maxDst; - NHSounds.signal.play((1 - scl) * 0.46f); + NHSounds.signal.at(x, y, 1, 0.55f); MarkBox box = new MarkBox();//markBoxPool.obtain(); Tmp.v1.setToRandomDirection().scl(scl * offset + 8); @@ -557,6 +571,20 @@ public enum MarkStyle{ } }), + defaultNoLines((id, time, radius, pos, color, beyond) -> { + Tmp.c2.set(Pal.gray).a(color.a); + + float size = radius * Vars.renderer.getDisplayScale(); + + float rotationS = 45 + 90 * NHInterp.pow10.apply((time / 120) % 1); + float angle = beyond ? Angles.angle(width / 2, height / 2, pos.x, pos.y) - 90 : 0; + Lines.stroke(9f, Tmp.c2); + Lines.square(pos.x, pos.y, size + 3f, rotationS); + Lines.stroke(3f, color); + if(beyond)Draw.rect(NHContent.pointerRegion, pos, size, size, angle); + Lines.square(pos.x, pos.y, size + 3f, rotationS); + }), + fixed((id, time, radius, pos, color, beyond) -> { Tmp.c2.set(Pal.gray).a(color.a); diff --git a/src/newhorizon/expand/cutscene/actions/CSSActions.java b/src/newhorizon/expand/cutscene/actions/CSSActions.java index 9135e574..b864a9dd 100644 --- a/src/newhorizon/expand/cutscene/actions/CSSActions.java +++ b/src/newhorizon/expand/cutscene/actions/CSSActions.java @@ -1,5 +1,6 @@ package newhorizon.expand.cutscene.actions; +import arc.func.Boolp; import arc.func.Cons; import arc.func.Prov; import arc.graphics.Color; @@ -117,6 +118,14 @@ public static NHCSS_Action seq(NHCSS_Action... actions){ return new QueueAction(getContext()).initActions(actions); } + public static NHCSS_Action mark(float x, float y, float radius, float lifetime, Color color){ + return new RunnableAction(getContext(), () -> NHCSS_UI.mark(x, y, radius, lifetime, color, () -> false)); + } + + public static NHCSS_Action mark(float x, float y, float radius, float lifetime, Color color, NHCSS_UI.MarkStyle style){ + return new RunnableAction(getContext(), () -> NHCSS_UI.mark(x, y, radius, lifetime, color, () -> false)); + } + public static NHCSS_Action delay(float duration){ return new DelayAction(getContext()).setDuration(duration); } @@ -148,6 +157,10 @@ public static NHCSS_Action parallel(NHCSS_Action... actions){ return new ParallelAction(getContext(), actions); } + public static NHCSS_Action waitUntil(Boolp trigger){ + return new WaitAction(getContext(), trigger); + } + public static NHCSS_Action cameraMove(float x, float y, float duration, float scl, Interp interp){ if(Vars.headless)return new DelayAction(getContext()).setDuration(duration); CameraAction m = new CameraAction(getContext()); diff --git a/src/newhorizon/expand/cutscene/actions/WaitAction.java b/src/newhorizon/expand/cutscene/actions/WaitAction.java new file mode 100644 index 00000000..61b2fad5 --- /dev/null +++ b/src/newhorizon/expand/cutscene/actions/WaitAction.java @@ -0,0 +1,20 @@ +package newhorizon.expand.cutscene.actions; + +import arc.func.Boolp; +import newhorizon.expand.cutscene.NHCSS_Action; + +public class WaitAction extends NHCSS_Action{ + public final Boolp boolp; + + public WaitAction(ActionBus bus, Boolp boolp){ + super(bus); + this.boolp = boolp; + } + + public void update(){ + if(boolp.get()){ + life = duration; + if(!done)act(); + } + } +} diff --git a/src/newhorizon/expand/cutscene/stateoverride/UnitOverride.java b/src/newhorizon/expand/cutscene/stateoverride/UnitOverride.java index e1fcc66a..54fa2b96 100644 --- a/src/newhorizon/expand/cutscene/stateoverride/UnitOverride.java +++ b/src/newhorizon/expand/cutscene/stateoverride/UnitOverride.java @@ -1,19 +1,40 @@ package newhorizon.expand.cutscene.stateoverride; +import arc.math.Mathf; import arc.math.geom.Vec2; +import arc.struct.LongMap; import arc.struct.ObjectMap; import arc.struct.Seq; +import arc.util.Time; import arc.util.Tmp; +import mindustry.content.Fx; +import mindustry.entities.abilities.Ability; import mindustry.gen.Groups; import mindustry.gen.Healthc; import mindustry.gen.Unit; import mindustry.type.UnitType; +import newhorizon.content.NHStatusEffects; import newhorizon.expand.cutscene.actions.CutsceneAI; public class UnitOverride{ private static final Seq tmpSeq = new Seq<>(); + public static final ObjectMap> flaggedCache = new ObjectMap<>(); + public static final LongMap marked = new LongMap<>(); + + public static final Ability deathExplode = new Ability(){ + @Override + public void death(Unit unit){ + float x = unit.x, y = unit.y; + + for(int i = 0; i < 2; i++){ + Time.run(12 * i, () -> { + Fx.dynamicExplosion.at(x + Mathf.range(unit.hitSize), y + Mathf.range(unit.hitSize), unit.hitSize / 6f); + }); + } + } + }; //ALL RETURN ARE A TEMPORARY SEQ public static ObjectMap targets = new ObjectMap<>(); @@ -57,6 +78,14 @@ public static Seq matched(long flag, boolean isStatic){ return tmpSeq; } + public static void setQuiet(Unit unit){ + unit.apply(NHStatusEffects.quiet, 30f); + } + + public static void setCloak(Unit unit){ + unit.dead = true; + } + public static Seq check(Seq units){ return units.filter(Healthc::isValid); } diff --git a/src/newhorizon/expand/cutscene/stateoverride/WorldOverride.java b/src/newhorizon/expand/cutscene/stateoverride/WorldOverride.java index afdd44dd..9763555f 100644 --- a/src/newhorizon/expand/cutscene/stateoverride/WorldOverride.java +++ b/src/newhorizon/expand/cutscene/stateoverride/WorldOverride.java @@ -36,6 +36,15 @@ public static void getFov(float x, float y, Team team, float radius){ } } + public static Building getDummy(Team team, float x, float y){ + Building b = Building.create(); + b.set(x, y); + b.team(team); + b.tile = new Tile(World.toTile(x), World.toTile(y)); + + return b; + } + private static class FOVGiver extends Building implements Pool.Poolable{ public float radius; diff --git a/src/newhorizon/expand/entities/Carrier.java b/src/newhorizon/expand/entities/Carrier.java index 31f66429..67f9c18f 100644 --- a/src/newhorizon/expand/entities/Carrier.java +++ b/src/newhorizon/expand/entities/Carrier.java @@ -51,23 +51,27 @@ public class Carrier extends NHBaseEntity implements Teamc, Rotc, Scaled{ public Trail trail = new Trail(1); - protected boolean dumped = false, onMove = false, contained, adjusted, intercepted = false, complete = false; + public boolean dumped = false, onMove = false, contained, adjusted, intercepted = false, complete = false; protected float time = 0, lifetime = 540f, surviveTime = 0, surviveLifetime = 6000; - protected transient boolean onGoing = true; + public transient boolean onGoing = true; - public static void create(Unit unit, Vec2 to, float rot){ + public static Carrier create(Unit unit, Vec2 to, float rot){ Carrier c = Pools.obtain(Carrier.class, Carrier::new); c.init(unit, to, rot); c.set(unit); c.add(); + + return c; } - public static void create(Unit unit, Vec2 to){ + public static Carrier create(Unit unit, Vec2 to){ Carrier c = Pools.obtain(Carrier.class, Carrier::new); c.init(unit, to, unit.angleTo(to)); c.set(unit); c.add(); + + return c; } public void init(Unit unit, Vec2 to, float rotation){ diff --git a/src/newhorizon/expand/entities/Spawner.java b/src/newhorizon/expand/entities/Spawner.java index 5044b1aa..9521d64a 100644 --- a/src/newhorizon/expand/entities/Spawner.java +++ b/src/newhorizon/expand/entities/Spawner.java @@ -1,10 +1,12 @@ package newhorizon.expand.entities; +import arc.Events; import arc.graphics.g2d.Draw; import arc.graphics.g2d.TextureRegion; import arc.math.Interp; import arc.math.Mathf; import arc.math.geom.Position; +import arc.math.geom.Vec2; import arc.struct.Seq; import arc.util.Interval; import arc.util.Time; @@ -12,6 +14,7 @@ import arc.util.io.Reads; import arc.util.io.Writes; import mindustry.Vars; +import mindustry.ai.types.CommandAI; import mindustry.audio.SoundLoop; import mindustry.content.Fx; import mindustry.content.StatusEffects; @@ -19,6 +22,7 @@ import mindustry.entities.Effect; import mindustry.entities.Units; import mindustry.entities.units.StatusEntry; +import mindustry.game.EventType; import mindustry.game.Team; import mindustry.gen.*; import mindustry.graphics.Drawf; @@ -60,6 +64,7 @@ public class Spawner extends NHBaseEntity implements Syncc, Timedc, Rotc{ public SoundLoop soundLoop; public Unit toSpawn = Nulls.unit; + public Vec2 commandPos = new Vec2(Float.NaN, Float.NaN); public final Seq trails = Seq.with(new Trail(30), new Trail(50), new Trail(70)); public float trailWidth = 3f; @@ -77,7 +82,6 @@ public Spawner init(UnitType type, Team team, Position pos, float rotation, floa this.drawSize = type.hitSize; trailWidth = Mathf.clamp(drawSize / 15f, 1.25f, 4f); set(pos); - NHFx.spawnWave.at(x, y, drawSize * 1.1f, team.color); return this; } @@ -89,10 +93,22 @@ public Spawner setStatus(StatusEffect status, float statusDuration){ return this; } + public Spawner setFlagToApply(double flagToApply){ + this.flagToApply = flagToApply; + return this; + } + + public Spawner setFlagToApply(long flagToApply){ + this.flagToApply = Double.longBitsToDouble(flagToApply); + return this; + } + @Override public void add(){ super.add(); Groups.sync.add(this); + + NHFx.spawnWave.at(x, y, drawSize * 1.1f, team.color); } @Override @@ -169,6 +185,17 @@ public void dump(){ if(!Vars.net.client()) toSpawn.add(); toSpawn.apply(StatusEffects.unmoving, Fx.unitSpawn.lifetime); toSpawn.apply(statusEntry.effect, statusEntry.time); + if(commandPos != null && !commandPos.isNaN()){ + if(toSpawn.isCommandable()){ + toSpawn.command().commandPosition(commandPos); + }else{ + CommandAI ai = new CommandAI(); + ai.commandPosition(commandPos); + toSpawn.controller(ai); + } + } + + Events.fire(new EventType.UnitCreateEvent(toSpawn, null)); } public boolean canCreate(){ @@ -227,6 +254,8 @@ public void write(Writes write){ TypeIO.writeUnitType(write, type); TypeIO.writeTeam(write, team); TypeIO.writeStatus(write, statusEntry); + + TypeIO.writeVec2(write, commandPos); } @Override @@ -242,6 +271,8 @@ public void read(Reads read){ team = TypeIO.readTeam(read); statusEntry = TypeIO.readStatus(read); + commandPos = TypeIO.readVec2(read); + afterRead(); } @@ -270,6 +301,8 @@ public void readSync(Reads read){ type = TypeIO.readUnitType(read); team = TypeIO.readTeam(read); + if(commandPos != null)commandPos = TypeIO.readVec2(read); + else commandPos = new Vec2(Float.NaN, Float.NaN); afterSync(); } @@ -285,6 +318,7 @@ public void writeSync(Writes write){ TypeIO.writeUnitType(write, type); TypeIO.writeTeam(write, team); + TypeIO.writeVec2(write, commandPos); } @Override diff --git a/src/newhorizon/expand/entities/WorldEvent.java b/src/newhorizon/expand/entities/WorldEvent.java index 7dc3a042..2c3be13c 100644 --- a/src/newhorizon/expand/entities/WorldEvent.java +++ b/src/newhorizon/expand/entities/WorldEvent.java @@ -239,6 +239,8 @@ public void read(Reads read){ team = TypeIO.readTeam(read); type = WorldEventType.getStdType(read.str()); type.read(this, read); + + afterRead(); } @Override @@ -318,6 +320,10 @@ public boolean cheating() { return team.rules().cheat; } + public float ratio(){ + return type.progressRatio(this); + } + @Override public Team team(){ return team; diff --git a/src/newhorizon/expand/eventsys/AutoEventTrigger.java b/src/newhorizon/expand/eventsys/AutoEventTrigger.java index f88e8aa3..5ab2e456 100644 --- a/src/newhorizon/expand/eventsys/AutoEventTrigger.java +++ b/src/newhorizon/expand/eventsys/AutoEventTrigger.java @@ -4,7 +4,6 @@ import arc.func.Cons; import arc.struct.Seq; import arc.util.Interval; -import arc.util.Log; import arc.util.Time; import arc.util.io.Reads; import arc.util.io.Writes; @@ -20,6 +19,7 @@ import mindustry.world.Block; import mindustry.world.blocks.storage.CoreBlock; import newhorizon.NHGroups; +import newhorizon.content.NHInbuiltEvents; import newhorizon.expand.entities.EntityRegister; import newhorizon.expand.eventsys.types.WorldEventType; import newhorizon.util.annotation.ClientDisabled; @@ -53,8 +53,11 @@ public class AutoEventTrigger implements Entityc, Cloneable{ public static float timeScale = 0; + public static void addAll(){ + NHInbuiltEvents.autoTriggers.each(t -> t.copy().add()); + } + public static void setScale(float f){ - Log.info("Set: " + f); Core.settings.put(SPEED_SCL_KEY, f); timeScale = f; } diff --git a/src/newhorizon/expand/eventsys/types/InterventionEventType.java b/src/newhorizon/expand/eventsys/types/InterventionEventType.java index 1272fa67..8fb7b929 100644 --- a/src/newhorizon/expand/eventsys/types/InterventionEventType.java +++ b/src/newhorizon/expand/eventsys/types/InterventionEventType.java @@ -127,7 +127,7 @@ public void trigger(WorldEvent e){ float angle = source(e).angleTo(e); for(ObjectIntMap.Entry spawn : spawner.entries()){ - NHFunc.spawnUnit(team, e.x, e.y, angle, spawnRange, 150f, 15f, spawn.key, Math.min(spawn.value, Units.getCap(team) - team.data().countType(spawn.key)), status, statusDuration, flag); + NHFunc.spawnUnit(team, e.x, e.y, angle, spawnRange, 50f, 15f, spawn.key, Math.min(spawn.value, Units.getCap(team) - team.data().countType(spawn.key)), status, statusDuration, flag); } if(removeAfterTrigger)e.remove(); diff --git a/src/newhorizon/expand/eventsys/types/ObjectiveEventType.java b/src/newhorizon/expand/eventsys/types/ObjectiveEventType.java index 0d840a68..260aa9c8 100644 --- a/src/newhorizon/expand/eventsys/types/ObjectiveEventType.java +++ b/src/newhorizon/expand/eventsys/types/ObjectiveEventType.java @@ -83,8 +83,7 @@ public void trigger(WorldEvent e){ public void buildDebugTable(WorldEvent e, Table table){ table.table(Tex.pane, t -> { t.add(name + "|" + e.id).growX().fillY().row(); - t.add(e.ui).growX().fillY(); - t.row().image().growX().height(OFFSET / 3).pad(OFFSET / 2).color(Color.lightGray).row(); + t.add(e.ui).padBottom(4f).growX().fillY(); t.table(i -> { i.defaults().growX().height(LEN - OFFSET); i.button("COMPLETE", Icon.play, Styles.cleart, () -> { diff --git a/src/newhorizon/expand/eventsys/types/ReloadEventType.java b/src/newhorizon/expand/eventsys/types/ReloadEventType.java index e768a9e3..7731db33 100644 --- a/src/newhorizon/expand/eventsys/types/ReloadEventType.java +++ b/src/newhorizon/expand/eventsys/types/ReloadEventType.java @@ -30,7 +30,7 @@ public class ReloadEventType extends WorldEventType{ public float reloadTime = 600f; public Func colorFunc = e -> Color.white; - public Floatf ratio = e -> e.type.progressRatio(e); + public Floatf barRatio = e -> e.type.progressRatio(e); public Func info = WorldEvent::info; public Cons act = e -> {}; @@ -41,6 +41,7 @@ public ReloadEventType(String name){ removeAfterTrigger = true; drawable = false; + hasCoord = false; } @Override @@ -84,7 +85,7 @@ public void buildTable(WorldEvent e, Table table){ new Bar( () -> TableFunc.format(progressRatio(e) * 100) + "%", () -> color, - () -> progressRatio(e) + () -> barRatio.get(e) ) ).growX().height(LEN / 2); c.addListener(new Tooltip(t2 -> { @@ -142,6 +143,6 @@ public void infoTable(Table table){ } public void buildSpeInfo(Table table){ - + table.add("[gray]N/A"); } } diff --git a/src/newhorizon/expand/eventsys/types/WorldEventType.java b/src/newhorizon/expand/eventsys/types/WorldEventType.java index 43076c0c..b69afe25 100644 --- a/src/newhorizon/expand/eventsys/types/WorldEventType.java +++ b/src/newhorizon/expand/eventsys/types/WorldEventType.java @@ -70,6 +70,13 @@ public static void addInbuilt(WorldEventType type){ if(costumeTypes.remove(type.name) == null)throw new IllegalArgumentException("Should Be Already Added To Costume Map");; } + public static void clearCustom(){ + for(String key : costumeTypes.keys()){ + allTypes.remove(key); + costumeTypes.remove(key); + } + } + public static WorldEventType inbuilt(WorldEventType type){ addInbuilt(type); return type; @@ -97,7 +104,7 @@ public static WorldEventType inbuilt(WorldEventType type){ public Prov eventProv = WorldEvent::new; public WorldEventType(String name){ - if(allTypes.keys().toSeq().contains(name))throw new IllegalArgumentException("Existed Name For A World Event"); + if(allTypes.containsKey(name))throw new IllegalArgumentException("Existed Name For A World Event"); this.name = name; addType(this); } @@ -108,13 +115,14 @@ public T create(){ event.type = this; event.init(); - event.add(); if(initPos != -1 && hasCoord){ Tmp.p1.set(Point2.unpack(initPos)); event.set(Tmp.p1.x * tilesize, Tmp.p1.y * tilesize); } + event.add(); + return event; } diff --git a/src/newhorizon/expand/game/NHWorldData.java b/src/newhorizon/expand/game/NHWorldData.java index ac9687f3..10ae008d 100644 --- a/src/newhorizon/expand/game/NHWorldData.java +++ b/src/newhorizon/expand/game/NHWorldData.java @@ -3,13 +3,15 @@ import mindustry.Vars; import mindustry.io.SaveFileReader; import mindustry.io.SaveVersion; -import newhorizon.expand.eventsys.AutoEventTrigger; +import newhorizon.expand.cutscene.NHCSS_Core; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; public class NHWorldData implements SaveFileReader.CustomChunk{ + public static short CURRENT_VER = 1; + public static NHWorldData data; public NHWorldData(){ @@ -22,6 +24,8 @@ public NHWorldData(){ public short version = 0; public float eventReloadSpeed = -1; + public boolean jumpGateUsesCoreItems = true; + public boolean applyEventTriggers = false; public void initFromMapRules(){ @@ -29,9 +33,16 @@ public void initFromMapRules(){ @Override public void write(DataOutput stream) throws IOException{ - stream.writeShort(version); + stream.writeShort(CURRENT_VER); stream.writeFloat(eventReloadSpeed); + + stream.writeBoolean(jumpGateUsesCoreItems); + stream.writeBoolean(applyEventTriggers); + + if(NHCSS_Core.core.currentScene != null){ + NHCSS_Core.core.currentScene.write(stream); + } } @Override @@ -40,14 +51,23 @@ public void read(DataInput stream) throws IOException{ eventReloadSpeed = stream.readFloat(); + if(version > 0){ + jumpGateUsesCoreItems = stream.readBoolean(); + applyEventTriggers = stream.readBoolean(); + } + + version = CURRENT_VER; + + if(NHCSS_Core.core.currentScene != null){ + NHCSS_Core.core.currentScene.read(stream); + } + afterRead(); } public void afterRead(){ if(Vars.headless && (Float.isNaN(eventReloadSpeed) || eventReloadSpeed > 5.55f)){ eventReloadSpeed = -1; - return; } - if(!Float.isNaN(eventReloadSpeed) && eventReloadSpeed > 0)AutoEventTrigger.setScale(eventReloadSpeed); } } diff --git a/src/newhorizon/expand/units/AncientUnit.java b/src/newhorizon/expand/units/AncientUnit.java index a408d83e..2c47a26e 100644 --- a/src/newhorizon/expand/units/AncientUnit.java +++ b/src/newhorizon/expand/units/AncientUnit.java @@ -4,7 +4,9 @@ import arc.struct.Seq; import mindustry.graphics.Pal; import mindustry.type.UnitType; +import mindustry.type.ammo.ItemAmmoType; import newhorizon.content.NHColor; +import newhorizon.content.NHItems; import newhorizon.content.NHUnitTypes; public class AncientUnit extends NHUnitTypes.NHUnitType{ @@ -26,6 +28,8 @@ public AncientUnit(String name){ outlineColor = Pal.darkOutline; healColor = NHColor.ancientLightMid; lightColor = NHColor.ancientLightMid; + + ammoType = new ItemAmmoType(NHItems.zeta); } public void addEngine(float x, float y, float relativeRot, float rad, boolean flipAdd){ diff --git a/src/newhorizon/expand/units/EnergyUnit.java b/src/newhorizon/expand/units/EnergyUnit.java index ee0d5f42..35adcca3 100644 --- a/src/newhorizon/expand/units/EnergyUnit.java +++ b/src/newhorizon/expand/units/EnergyUnit.java @@ -150,7 +150,7 @@ public void draw(){ } protected void updateTeleport(){ - if(!hasEffect(NHStatusEffects.intercepted)){ + if(!hasEffect(NHStatusEffects.intercepted) && !isPlayer()){ reloadValue += Time.delta; Teamc target = Units.closestEnemy(team, x, y, teleportRange * 2f, b -> true); diff --git a/src/newhorizon/expand/units/PesterEntity.java b/src/newhorizon/expand/units/PesterEntity.java index d9e21d22..5461230e 100644 --- a/src/newhorizon/expand/units/PesterEntity.java +++ b/src/newhorizon/expand/units/PesterEntity.java @@ -386,8 +386,6 @@ public void drawBossWeapon(){ float fadeS2 = Mathf.curve(fout, 0.09f, 0.185f); float fade = bossWeaponWarmup * Mathf.curve(fout, 0, 0.025f) * NHInterp.bounce5In.apply(fadeS); - Tmp.c1.set(team.color).lerp(Color.white, Mathf.absin(4f, 0.3f));//.a(NHInterp.bounce5In.apply(fadeS)); - Tmp.v2.trns(bossWeaponProgress / 17f, Mathf.sin(bossWeaponProgress, 30f, 60f) * fout, Mathf.cos(bossWeaponProgress + 177f, 17f, 35f) * fout); Tmp.v3.set(Mathf.sin(bossWeaponProgress, 30, 15) * fout, Mathf.sin(bossWeaponProgress + Mathf.pi * 0.3f, 43, 12) * fout); @@ -450,6 +448,8 @@ public void drawBossWeapon(){ public void draw(){ super.draw(); + Tmp.c1.set(team.color).lerp(Color.white, Mathf.absin(4f, 0.3f));//.a(NHInterp.bounce5In.apply(fadeS)); + Draw.reset(); float z = Draw.z(); diff --git a/src/newhorizon/expand/units/ProbeEntity.java b/src/newhorizon/expand/units/ProbeEntity.java index ddea6028..0911d05e 100644 --- a/src/newhorizon/expand/units/ProbeEntity.java +++ b/src/newhorizon/expand/units/ProbeEntity.java @@ -13,15 +13,21 @@ import arc.util.Interval; import arc.util.Time; import arc.util.Tmp; +import arc.util.io.Reads; +import arc.util.io.Writes; import mindustry.Vars; import mindustry.audio.SoundLoop; +import mindustry.entities.units.UnitController; import mindustry.game.Team; import mindustry.gen.Building; +import mindustry.gen.Player; import mindustry.gen.Sounds; import mindustry.gen.UnitEntity; import mindustry.graphics.Drawf; import mindustry.graphics.Layer; import mindustry.graphics.Pal; +import mindustry.io.TypeIO; +import mindustry.logic.LAccess; import mindustry.type.UnitType; import newhorizon.content.NHInbuiltEvents; import newhorizon.content.NHStatusEffects; @@ -37,7 +43,7 @@ public class ProbeEntity extends UnitEntity{ public ObjectSet scanned = new ObjectSet<>(); public int scannedSize = 0; - public Team targetTeam; + public Team targetTeam = null; public float scanRange = 240; public final float SCAN_WARMUP_SPEED = 0.0075f; @@ -82,7 +88,8 @@ public void afterRead(){ super.afterRead(); scanPos.set(x, y); - targetTeam = Vars.state.rules.defaultTeam; + + if(targetTeam == null)targetTeam = Vars.state.rules.defaultTeam; } @Override @@ -90,9 +97,11 @@ public void setType(UnitType type){ super.setType(type); scanRange = type.maxRange + 160f; - targetTeam = Vars.state.rules.defaultTeam; + + if(targetTeam == null)targetTeam = Vars.state.rules.defaultTeam; } + @Override public float clipSize(){ return scanWarmup < 0.45f ? super.clipSize() : scanRange * 2f; @@ -125,7 +134,7 @@ public void updateJudging(){ BuildingConcentration.Complex complex = complexes.first(); Core.app.post(() -> { - spawnEvent(complex.centerX, complex.centerY); + spawnEvent(complex.priorityCoord.x, complex.priorityCoord.y); apply(NHStatusEffects.reinforcements, 120f); }); } @@ -293,4 +302,56 @@ public void drawScan(){ public boolean isCommandable(){ return false; } + + @Override + public void readSync(Reads read){ + targetTeam = TypeIO.readTeam(read); + + super.readSync(read); + } + + @Override + public void read(Reads read){ + targetTeam = TypeIO.readTeam(read); + + super.read(read); + } + + @Override + public void write(Writes write){ + TypeIO.writeTeam(write, targetTeam); + + super.write(write); + } + + @Override + public void writeSync(Writes write){ + TypeIO.writeTeam(write, targetTeam); + + super.writeSync(write); + } + + //borrow it for a use + public void setProp(LAccess prop, Object value) { + switch(prop) { + case team: + if (value instanceof Team) { + Team t = (Team)value; + if (!Vars.net.client()) { + UnitController var9 = this.controller; + if (var9 instanceof Player) { + Player p = (Player)var9; + p.team(t); + } + + this.team = t; + } + } + break; + case payloadType: + if (value instanceof Team) { + this.targetTeam = (Team)value; + } + } + } } diff --git a/src/newhorizon/expand/packets/ShockWaveAbility.java b/src/newhorizon/expand/units/ablility/ShockWaveAbility.java similarity index 96% rename from src/newhorizon/expand/packets/ShockWaveAbility.java rename to src/newhorizon/expand/units/ablility/ShockWaveAbility.java index 993a4a95..b1e7227f 100644 --- a/src/newhorizon/expand/packets/ShockWaveAbility.java +++ b/src/newhorizon/expand/units/ablility/ShockWaveAbility.java @@ -1,4 +1,4 @@ -package newhorizon.expand.packets; +package newhorizon.expand.units.ablility; import arc.audio.Sound; import arc.func.Cons; @@ -83,7 +83,9 @@ public void init(UnitType type){ @Override public void update(Unit unit){ - timer += Time.delta; + if(unit.disarmed)return; + + timer += Time.delta * unit.reloadMultiplier; if(maxSpeed > 0 && unit.vel().len2() > maxSpeed){ timer = 0; diff --git a/src/newhorizon/expand/weather/MatterStorm.java b/src/newhorizon/expand/weather/MatterStorm.java index 9c1c74ca..3b6dfe96 100644 --- a/src/newhorizon/expand/weather/MatterStorm.java +++ b/src/newhorizon/expand/weather/MatterStorm.java @@ -99,10 +99,11 @@ public class MatterStorm extends Weather{ }); }); - public float bulletDamage = 50f; + public float bulletDamage = 90f; public float bulletVelocityMin = 0.6f, bulletVelocityMax = 1.4f, bulletLifeMin = 0.8f, bulletLifeMax = 2f; public float bulletSpawnChance = 0.075f; public float bulletSpawnNum = 2; + public float empScale = 0.75f; public BulletType bulletType = null; public MatterStorm(String name){ @@ -257,8 +258,8 @@ public void updateEffect(WeatherState state){ } if(buildingEmp > 0){ - Groups.build.each(b -> b.block.hasPower && b.block.canOverdrive && b.timeScale() < buildingEmp, b -> { - b.applySlowdown(buildingEmp, statusDuration); + Groups.build.each(Building::isValid, b -> { + b.applySlowdown(buildingEmp, statusDuration + 15); }); } diff --git a/src/newhorizon/util/Tool_Internal.java b/src/newhorizon/util/Tool_Internal.java index 40440253..b9c9fa8d 100644 --- a/src/newhorizon/util/Tool_Internal.java +++ b/src/newhorizon/util/Tool_Internal.java @@ -222,4 +222,8 @@ public static void texturePick(){ PixmapIO.writePng(toProcess, pixmap); } } + + public static void fixSaves(){ + + } } diff --git a/src/newhorizon/util/feature/PosLightning.java b/src/newhorizon/util/feature/PosLightning.java index e250cfab..45bca021 100644 --- a/src/newhorizon/util/feature/PosLightning.java +++ b/src/newhorizon/util/feature/PosLightning.java @@ -69,6 +69,16 @@ public class PosLightning { public static final float WIDTH = 2.5f; public static final float RANGE_RAND = 5f; public static final float ROT_DST = Vars.tilesize * 0.6f; + public static float trueHitChance = 1.1f; + + public static void setHitChance(float f){ + trueHitChance = f; + } + + public static void setHitChanceDef(){ + trueHitChance = 1.1f; + } + //ProvSet the range of lightning's randX. private static float getBoltRandomRange() {return Mathf.random(1f, 7f); } @@ -79,7 +89,7 @@ public class PosLightning { if(!(e.data instanceof Vec2Seq)) return; Vec2Seq lines = e.data(); - Draw.color(e.color, Color.white, e.fout() * 0.64f); + Draw.color(e.color, Color.white, e.fout() * 0.6f); Lines.stroke(e.rotation * e.fout()); @@ -120,13 +130,9 @@ public static void createLength(Bullet owner, Team team, Position from, float le create(owner, team, from, tmp2.trns(angle, length).add(from), color, createLightning, damage, boltLen, width, boltNum, movement); } - //A create method that could set lightning number and extra movements to the final target. - public static void create(Entityc owner, Position from, Position target, Team team, Color color, boolean createLightning, float damage, int boltLen, float width, int boltNum, Cons movement) { - create(owner, team, from, target, color, createLightning, damage, boltLen, width, boltNum, movement); - } - //A create method that with a Bullet owner. public static void create(Entityc owner, Team team, Position from, Position target, Color color, boolean createLightning, float damage, int boltLen, float width, int boltNum, Cons movement) { + if(!Mathf.chance(trueHitChance))return; Position sureTarget = findInterceptedPoint(from, target, team); movement.get(sureTarget); diff --git a/src/newhorizon/util/func/BuildingConcentration.java b/src/newhorizon/util/func/BuildingConcentration.java index 6292e9fc..38b349cf 100644 --- a/src/newhorizon/util/func/BuildingConcentration.java +++ b/src/newhorizon/util/func/BuildingConcentration.java @@ -1,12 +1,18 @@ package newhorizon.util.func; +import arc.func.Boolf; import arc.math.Mathf; import arc.math.geom.Vec2; import arc.struct.GridBits; +import arc.struct.ObjectMap; +import arc.struct.ObjectSet; import arc.struct.Seq; import arc.util.Nullable; import mindustry.Vars; import mindustry.gen.Building; +import mindustry.world.blocks.defense.turrets.Turret; +import newhorizon.expand.block.special.HyperGenerator; +import newhorizon.expand.block.special.JumpGate; import org.jetbrains.annotations.NotNull; public class BuildingConcentration{ @@ -74,8 +80,22 @@ public static Seq getComplexes(int minSize, Seq buildings){ } public static class Complex implements Comparable{ + public static final ObjectSet> priorityClasses = ObjectSet.with( + JumpGate.JumpGateBuild.class, HyperGenerator.HyperGeneratorBuild.class, Turret.TurretBuild.class + ); + + public static final ObjectMap, Boolf> checkers = new ObjectMap<>(); + + static{ + checkers.put(Turret.TurretBuild.class, b -> b.block.size >= 4); + } + + public Seq priorityBuilding = new Seq<>(); + public Seq buildings; + public Vec2 priorityCoord = new Vec2(); + public Building pop(){ return buildings.pop(); } @@ -151,6 +171,14 @@ public void calculateData(){ centerY = tmp.y; for(Building b : buildings){ + if(priorityClasses.contains((Class)b.block.subclass)){ + if(checkers.containsKey(b.block.subclass)){ + if(checkers.get(b.block.subclass).get(b)){ + priorityBuilding.add(b); + } + }else priorityBuilding.add(b); + } + maxDeltaX = Math.max(maxDeltaX, Math.abs(b.x - centerX)); maxDeltaY = Math.max(maxDeltaY, Math.abs(b.y - centerY)); @@ -159,6 +187,13 @@ public void calculateData(){ } degreeOfDispersion /= buildings.size; + + if(priorityBuilding.any()){ + priorityBuilding.sort(b -> b.block.size); + priorityCoord.set(priorityBuilding.first()); + }else{ + priorityCoord.set(centerX, centerY); + } } private void getConnectedBuildingsRecursive(Building self, Seq connectedBuildings, GridBits visited, int maxSize){ diff --git a/src/newhorizon/util/func/NHFunc.java b/src/newhorizon/util/func/NHFunc.java index eb6171e3..115fd710 100644 --- a/src/newhorizon/util/func/NHFunc.java +++ b/src/newhorizon/util/func/NHFunc.java @@ -14,7 +14,6 @@ import arc.util.Time; import arc.util.Tmp; import arc.util.pooling.Pools; -import mindustry.content.StatusEffects; import mindustry.core.World; import mindustry.entities.Effect; import mindustry.entities.Fires; @@ -335,38 +334,54 @@ public static boolean ableToSpawnPoints(Seq spawnPoints, UnitType type, fl return true; } - public static boolean spawnUnit(Team team, float x, float y, float angle, float spawnRange, float spawnReloadTime, float spawnDelay, UnitType type, int spawnNum){ - return spawnUnit(team, x, y, angle, spawnRange, spawnReloadTime, spawnDelay, type, spawnNum, StatusEffects.none, 0); - } - - public static boolean spawnUnit(Team team, float x, float y, float angle, float spawnRange, float spawnReloadTime, float spawnDelay, UnitType type, int spawnNum, StatusEffect statusEffect, float statusDuration){ - return spawnUnit(team, x, y, angle, spawnRange, spawnReloadTime, spawnDelay, type, spawnNum, statusEffect, statusDuration, Double.NaN); - } - - public static boolean spawnUnit(Team team, float x, float y, float angle, float spawnRange, float spawnReloadTime, float spawnDelay, UnitType type, int spawnNum, StatusEffect statusEffect, float statusDuration, double frag){ + public static boolean spawnUnit(Team team, float x, float y, float angle, float spawnRange, float spawnReloadTime, float spawnDelay, UnitType type, int spawnNum, Cons modifier){ if(type == null)return false; clearTmp(); Seq vectorSeq = new Seq<>(); - + if(!ableToSpawnPoints(vectorSeq, type, x, y, spawnRange, spawnNum, rand.nextLong()))return false; - + int i = 0; for (Vec2 s : vectorSeq) { Spawner spawner = Pools.obtain(Spawner.class, Spawner::new); - spawner.init(type, team, s, angle, spawnReloadTime + i * spawnDelay).setStatus(statusEffect, statusDuration); - spawner.flagToApply = frag; + spawner.init(type, team, s, angle, spawnReloadTime + i * spawnDelay); + modifier.get(spawner); if(!net.client())spawner.add(); i++; } return true; } + public static boolean spawnUnit(Team team, float x, float y, float angle, float spawnRange, float spawnReloadTime, float spawnDelay, UnitType type, int spawnNum){ + return spawnUnit(team, x, y, angle, spawnRange, spawnReloadTime, spawnDelay, type, spawnNum, t -> {}); + } + + public static boolean spawnUnit(Team team, float x, float y, float angle, float spawnRange, float spawnReloadTime, float spawnDelay, UnitType type, int spawnNum, StatusEffect statusEffect, float statusDuration){ + return spawnUnit(team, x, y, angle, spawnRange, spawnReloadTime, spawnDelay, type, spawnNum, s -> { + s.setStatus(statusEffect, statusDuration); + }); + } + + public static boolean spawnUnit(Team team, float x, float y, float angle, float spawnRange, float spawnReloadTime, float spawnDelay, UnitType type, int spawnNum, StatusEffect statusEffect, float statusDuration, double frag){ + return spawnUnit(team, x, y, angle, spawnRange, spawnReloadTime, spawnDelay, type, spawnNum, s -> { + s.setStatus(statusEffect, statusDuration); + s.flagToApply = frag; + }); + } + public static void spawnSingleUnit(Team team, float x, float y, float angle, float delay, UnitType type){ Spawner spawner = Pools.obtain(Spawner.class, Spawner::new); spawner.init(type, team, vec21.set(x, y), angle, delay); if(!net.client())spawner.add(); } + public static void spawnSingleUnit(Team team, float x, float y, float angle, float delay, UnitType type, Cons modifier){ + Spawner spawner = Pools.obtain(Spawner.class, Spawner::new); + spawner.init(type, team, vec21.set(x, y), angle, delay); + modifier.get(spawner); + if(!net.client())spawner.add(); + } + public static Seq getObjects(QuadTree tree){ Seq seq = new Seq<>(); diff --git a/src/newhorizon/util/graphic/ColorWarpEffect.java b/src/newhorizon/util/graphic/ColorWarpEffect.java deleted file mode 100644 index 46b9db64..00000000 --- a/src/newhorizon/util/graphic/ColorWarpEffect.java +++ /dev/null @@ -1,49 +0,0 @@ -package newhorizon.util.graphic; - -import arc.graphics.Color; -import mindustry.content.Fx; -import mindustry.entities.Effect; - -public class ColorWarpEffect extends Effect{ - public Effect effect = Fx.none; - public Color color = Color.white.cpy(); - public float rot = -1; - - public ColorWarpEffect(){ - } - - - public ColorWarpEffect(Effect effect, Color color){ - this.effect = effect; - this.color = color; - } - - public ColorWarpEffect(Effect effect, Color color, float rot){ - this.effect = effect; - this.color = color; - this.rot = rot; - } - - public static ColorWarpEffect wrap(Effect effect, Color color){ - return new ColorWarpEffect(effect, color); - } - public static ColorWarpEffect wrap(Effect effect, Color color, float rot){ - return new ColorWarpEffect(effect, color, rot); - } - - @Override - public void init(){ - effect.init(); - clip = effect.clip; - lifetime = effect.lifetime; - } - - @Override - public void render(EffectContainer e){ - } - - @Override - public void create(float x, float y, float rotation, Color color, Object data){ - effect.create(x, y, rot > 0 ? rot : rotation, this.color, data); - } -} diff --git a/src/newhorizon/util/graphic/DrawFunc.java b/src/newhorizon/util/graphic/DrawFunc.java index 9672d5e0..1d242aea 100644 --- a/src/newhorizon/util/graphic/DrawFunc.java +++ b/src/newhorizon/util/graphic/DrawFunc.java @@ -50,6 +50,13 @@ public class DrawFunc{ private static final Seq pointPos = new Seq<>(Position.class); private static final Rand rand = new Rand(); + + + public static void drawAt(float z1, float z2, Runnable runnable){ + Draw.draw(z1, runnable); + Draw.draw(z2, runnable); + } + public static void laser(TextureRegion line, TextureRegion start, TextureRegion end, float x, float y, float x2, float y2, float scale){ float scl = 8f * scale * Draw.scl, rot = Mathf.angle(x2 - x, y2 - y); float vx = Mathf.cosDeg(rot) * scl, vy = Mathf.sinDeg(rot) * scl; diff --git a/src/newhorizon/util/graphic/EffectDrawer.java b/src/newhorizon/util/graphic/EffectDrawer.java index 8e350168..4f4e7121 100644 --- a/src/newhorizon/util/graphic/EffectDrawer.java +++ b/src/newhorizon/util/graphic/EffectDrawer.java @@ -145,7 +145,7 @@ public void drawEffect(StatusEffect effect, Unit unit, float f){ } }); - register(NHStatusEffects.phased, 25, new EffectRenderer(){ + register(NHStatusEffects.invincible, 25, new EffectRenderer(){ private final Seq lastCoord = new Seq<>(); private final Color from = NHColor.lightSkyFront, to = NHColor.deeperBlue; diff --git a/src/newhorizon/util/graphic/EffectWrapper.java b/src/newhorizon/util/graphic/EffectWrapper.java new file mode 100644 index 00000000..2ca59c14 --- /dev/null +++ b/src/newhorizon/util/graphic/EffectWrapper.java @@ -0,0 +1,61 @@ +package newhorizon.util.graphic; + +import arc.graphics.Color; +import mindustry.content.Fx; +import mindustry.entities.Effect; + +public class EffectWrapper extends Effect{ + public Effect effect = Fx.none; + public Color color = Color.white.cpy(); + public float rot = -1; + public boolean rotModifier = false; + + public EffectWrapper(){ + } + + + public EffectWrapper(Effect effect, Color color){ + this.effect = effect; + this.color = color; + } + + public EffectWrapper(Effect effect, Color color, float rot){ + this.effect = effect; + this.color = color; + this.rot = rot; + } + + + + public static EffectWrapper wrap(Effect effect, Color color){ + return new EffectWrapper(effect, color); + } + public static EffectWrapper wrap(Effect effect, Color color, float rot){ + return new EffectWrapper(effect, color, rot); + } + public static EffectWrapper wrap(Effect effect, float rot, boolean rotModifier){ + return new EffectWrapper(effect, Color.white, rot).setRotModifier(rotModifier); + } + + public EffectWrapper setRotModifier(boolean rotModifier){ + this.rotModifier = rotModifier; + return this; + } + + @Override + public void init(){ + effect.init(); + clip = effect.clip; + lifetime = effect.lifetime; + } + + @Override + public void render(EffectContainer e){ + } + + @Override + public void create(float x, float y, float rotation, Color color, Object data){ + effect.create(x, y, rot > 0 ? rotModifier ? rot + rotation : rot : rotation, this.color, data); + } + +} diff --git a/src/newhorizon/util/struct/Vec2Seq.java b/src/newhorizon/util/struct/Vec2Seq.java index e36c6bb9..9d606913 100644 --- a/src/newhorizon/util/struct/Vec2Seq.java +++ b/src/newhorizon/util/struct/Vec2Seq.java @@ -62,6 +62,10 @@ public FloatSeq coordinates(){ return coordinates; } + public boolean any(){ + return size() > 0; + } + public void add(float x, float y){ coordinates.add(x, y); } diff --git a/src/newhorizon/util/ui/DebugDialog.java b/src/newhorizon/util/ui/DebugDialog.java index 5a74a705..9ac29cd3 100644 --- a/src/newhorizon/util/ui/DebugDialog.java +++ b/src/newhorizon/util/ui/DebugDialog.java @@ -42,7 +42,6 @@ import newhorizon.content.NHSounds; import newhorizon.expand.cutscene.NHCSS_Core; import newhorizon.expand.cutscene.actions.CSSActions; -import newhorizon.expand.eventsys.AutoEventTrigger; import newhorizon.util.Tool_Internal; import newhorizon.util.func.NHInterp; import newhorizon.util.func.NHPixmap; @@ -465,9 +464,15 @@ public void draw(){ Log.info(NHGroups.autoEventTrigger.size()); }); - t.button("scale", () -> { -// new CustomUIGen().show(); - Log.info(AutoEventTrigger.timeScale); + t.button("clear", () -> { + Log.info("TRIGGERS: " + NHGroups.autoEventTrigger.size()); + Log.info("EVENTS: " + NHGroups.events.size()); + Time.run(120f, () -> { + NHGroups.events.clear(); + NHGroups.autoEventTrigger.clear(); + Log.info("A TRIGGERS: " + NHGroups.autoEventTrigger.size()); + Log.info("A EVENTS: " + NHGroups.events.size()); + }); }); /*t.button("genT", () -> { diff --git a/src/newhorizon/util/ui/FeatureLog.java b/src/newhorizon/util/ui/FeatureLog.java index 1cdad1c8..d70537eb 100644 --- a/src/newhorizon/util/ui/FeatureLog.java +++ b/src/newhorizon/util/ui/FeatureLog.java @@ -30,8 +30,6 @@ public FeatureLog(UnlockableContent content){ type = content.getContentType().toString(); this.content = content; - - } public FeatureLog(String title, String description, String type, TextureRegion icon){ diff --git a/src/newhorizon/util/ui/ItemImageDynamic.java b/src/newhorizon/util/ui/ItemImageDynamic.java new file mode 100644 index 00000000..373a28c8 --- /dev/null +++ b/src/newhorizon/util/ui/ItemImageDynamic.java @@ -0,0 +1,42 @@ +package newhorizon.util.ui; + +import arc.func.Intp; +import arc.func.Prov; +import arc.graphics.Color; +import arc.graphics.g2d.TextureRegion; +import arc.scene.ui.Image; +import arc.scene.ui.layout.Stack; +import arc.scene.ui.layout.Table; +import arc.util.Scaling; +import mindustry.core.UI; +import mindustry.graphics.Pal; +import mindustry.type.Item; +import mindustry.ui.Styles; +import mindustry.world.modules.ItemModule; + +public class ItemImageDynamic extends Stack{ + public ItemImageDynamic(TextureRegion region, Intp amountp, Prov colorProv){ + + add(new Table(o -> { + o.left(); + o.add(new Image(region)).size(32f).scaling(Scaling.fit); + })); + + add(new Table(t -> { + t.left().bottom(); + t.label(() -> { + int amount = amountp.get(); + return amount >= 1000 ? UI.formatAmount(amount) : amount + ""; + }).style(Styles.outlineLabel).color(colorProv.get()); + t.pack(); + })); + } + + public ItemImageDynamic(Item item, Intp amountp){ + this(item.uiIcon, amountp, () -> Color.lightGray); + } + + public ItemImageDynamic(Item item, Intp amountp, ItemModule module){ + this(item.uiIcon, amountp, () -> module.has(item, amountp.get()) ? Color.white : Pal.redderDust); + } +} diff --git a/src/newhorizon/util/ui/NHUIFunc.java b/src/newhorizon/util/ui/NHUIFunc.java index 407af1e5..bd2c2d21 100644 --- a/src/newhorizon/util/ui/NHUIFunc.java +++ b/src/newhorizon/util/ui/NHUIFunc.java @@ -31,6 +31,7 @@ import mindustry.graphics.Pal; import mindustry.type.Item; import mindustry.type.ItemStack; +import mindustry.ui.ItemImage; import mindustry.ui.Links; import mindustry.ui.Styles; import mindustry.ui.dialogs.BaseDialog; @@ -285,13 +286,23 @@ public UnitSetTable(JumpGate.UnitSet set, Cons stat){ table(Styles.grayPanel, t2 -> { t2.margin(6f); t2.defaults().left().padRight(OFFSET); - t2.table(Tex.clear, table2 -> TableFunc.tableImageShrink(set.type.fullIcon, LEN, table2)).size(LEN + OFFSET * 1.5f).left().padLeft(OFFSET / 2f); + t2.image(set.type.fullIcon).size(LEN + OFFSET).scaling(Scaling.fit).left().padLeft(OFFSET / 2f); t2.pane(table2 -> { + table2.left().marginLeft(12f); table2.add("[lightgray]" + Core.bundle.get("editor.spawn") + ": [accent]" + set.type.localizedName + "[lightgray] | Tier: [accent]" + set.sortIndex[1]).left().row(); table2.add("[lightgray]" + Core.bundle.get("stat.buildtime") + ": [accent]" + TableFunc.format(set.costTimeVar() / 60) + "[lightgray] " + Core.bundle.get("unit.seconds")).row(); }).growX().height(LEN).center(); + t2.pack(); + + t2.pane(items -> { + items.right(); + for(ItemStack stack : set.baseRequirements()){ + items.add(new ItemImage(stack.item.fullIcon, stack.amount)).padRight(OFFSET / 2).left(); + } + }).growX().height(LEN).center(); + t2.table(stat).fillX().height(LEN + OFFSET).right(); }).growX().fillY().padBottom(OFFSET / 2).row(); } diff --git a/src/newhorizon/util/ui/NHWorldSettingDialog.java b/src/newhorizon/util/ui/NHWorldSettingDialog.java new file mode 100644 index 00000000..b84492eb --- /dev/null +++ b/src/newhorizon/util/ui/NHWorldSettingDialog.java @@ -0,0 +1,162 @@ +package newhorizon.util.ui; + +import arc.Core; +import arc.scene.ui.CheckBox; +import arc.scene.ui.Dialog; +import arc.scene.ui.layout.Table; +import arc.struct.Seq; +import arc.util.serialization.Jval; +import mindustry.Vars; +import mindustry.ui.dialogs.BaseDialog; +import newhorizon.expand.NHVars; +import newhorizon.expand.game.NHWorldData; + +import java.lang.reflect.Field; + + +public class NHWorldSettingDialog extends BaseDialog{ + public static NHWorldData data(){ + return NHVars.worldData; + } + + public Table settings; + + public static Seq allSettings = new Seq<>(); + + public static Jval settingsJson; + + public static final String SETTINGS_KEY = "nh-world-settings"; + + static{ + Class dataClass = NHWorldData.class; + + try{ + allSettings.addAll( + new BoolSetting(dataClass.getField("jumpGateUsesCoreItems"), true), + new BoolSetting(dataClass.getField("applyEventTriggers"), false) + ); + }catch(NoSuchFieldException e){ + e.printStackTrace(); + } + } + + public NHWorldSettingDialog(){ + super("New Horizon World Settings"); + +// settings = new Table(); +// settings.left(); +// settings.defaults().growX().fillY(); +// +// Log.info(allSettings.size); +// +// settings.add("213").row(); +// +// settings.add("213").row(); + + cont.pane(new Table(t -> { + allSettings.each(e -> e.buildTable(t)); + })).margin(60f).growY().fillX(); + + addCloseButton(); + } + + @Override + public Dialog show(){ + if(Vars.editor.tags.containsKey(SETTINGS_KEY)){ + settingsJson = Jval.read(Vars.editor.tags.get(SETTINGS_KEY)); + allSettings.each(entry -> { + if(!settingsJson.has(entry.key))entry.initRules(); + }); + }else{ + settingsJson = Jval.newObject(); + allSettings.each(SettingEntry::initRules); + } + + return super.show(); + } + + @Override + public void hide(){ + Vars.editor.tags.put(SETTINGS_KEY, settingsJson.toString(Jval.Jformat.plain)); + super.hide(); + } + + public static void writeToWorldData(){ + Jval initContext = Jval.read(Vars.state.map.tags.get(SETTINGS_KEY)); + allSettings.each(e -> e.initWorldData(initContext)); + } + + public static class BoolSetting extends SettingEntry{ + public boolean def = false; + + public BoolSetting(Field dataField){ + super(dataField); + } + + public BoolSetting(Field dataField, boolean def){ + super(dataField); + this.def = def; + } + + @Override + public Boolean defData(){ + return def; + } + + @Override + public void initWorldData(Jval jval){ + try{ + dataField.set(data(), jval.getBool(dataField.getName(), def)); + }catch(IllegalAccessException e){ + e.printStackTrace(); + } + } + + @Override + public void initRules(){ + settingsJson.put(dataField.getName(), def); + } + + @Override + public void buildTable(Table table){ + String name = Core.bundle.get("nh.world-settings." + key + ".name"); + String desc = Core.bundle.getOrNull("nh.world-settings." + key + ".description"); + + table.table(set -> { + set.marginLeft(12f); + + CheckBox box = new CheckBox(name); + + box.update(() -> { + box.setChecked(settingsJson.getBool(key, def)); + }); + + box.changed(() -> { + settingsJson.put(key, !settingsJson.getBool(key, def)); + }); + + box.left(); + + set.add(box).left(); + + if(desc != null)Vars.ui.addDescTooltip(set, desc); + }).left().padBottom(6f).expandX().height(50f).row(); + } + } + + public static abstract class SettingEntry{ + public final Field dataField; + public final String key; + + public SettingEntry(Field dataField){ + this.dataField = dataField; + key = dataField.getName(); + } + + public abstract void initWorldData(Jval jval); + public abstract void initRules(); + public abstract void buildTable(Table table); + + public abstract Object defData(); + } +} diff --git a/src/newhorizon/util/ui/WorldEventDialog.java b/src/newhorizon/util/ui/WorldEventDialog.java index 800f29d4..afd199dc 100644 --- a/src/newhorizon/util/ui/WorldEventDialog.java +++ b/src/newhorizon/util/ui/WorldEventDialog.java @@ -131,7 +131,6 @@ public void buildEvent(WorldEvent event, Table target){ target.add(table).growX().fillY().row(); event.buildTable(table); if(Vars.state.rules.infiniteResources && !Vars.net.client() && buildDebug){ - table.row().image().growX().height(4).pad(4).color(Color.lightGray).row(); event.buildDebugTable(table); table.setBackground(Tex.pane); }

ht2nz=V*WI zbML@&%TkVsSpVYKeCM&4F)WNe$dbFv^EYPxrJX&0jiflInms#<&kG&q-Ea8AdD`c7 ze$!H3YdVeVGnxH-5PC^D>doLxNx44W36B2$fP^@s6C9PR@eIx$ky;U<74+Nv$hlKb zJ+*lL%rlQYapCN9Pn=&q^X?~4oj<+&^!c+FpIW~8^r{{def!yS=k6)K zEv(bFZcm*#fAQ?avuB=Ke$x{d&YeE~uHth+j4fBZ{jMiZJ#+rdg@W)`zW1JU7f+nM zaHeo#UGELZA1@$2`m9HJ<5j>tdg{W3vjq;DWLMXFbwW=)ThQg{i%Unwn|HLmYoR;Adu%}MF zOO7clUCESN3UoY5+dlHy)hI1`SZh73GL%yn9+5)|Mf-K86~c*^3P`j6<1>=|Irnu> zmN=#2`oz=cPw&_jD5DFbwG+j3j-L`a@fUr6e>EC?#r(dlr$D&BvKq`zxn03bcraVO zEdJl8*1UT)W&E~FzhHicKTmLeHL%?QCtZA9AIbcOD_@F}i5w1my07!p_5^NCd2YP~ z+WhA4eswiYYsjr)f?=8&w=SNRI~3M5Iq$hud17ugtm2lQ&nm3Z4=K;w|CEW0XBP|o zJ#*n%d6Po)yE{GS3c{bqo55K{7^`{MqmBqTvf7d;JEf!P}{(?x7K@f%<^Q|pa+vK8ayRcmo`U#(=nIdm=1bKBYx@88cE)cX$^L%;U)Mkvl6DEl diff --git a/assets/scripts/common.js b/assets/scripts/common.js new file mode 100644 index 00000000..ec8e0468 --- /dev/null +++ b/assets/scripts/common.js @@ -0,0 +1,7 @@ + + +Core.app.setClipboardText("@CS-" + Vars.editor.tags.get("name")); + +Vars.state.teams.get(Vars.state.rules.defaultTeam).units.each(cons(u => u.remove())); + +Time.run(180, run(() => Vars.state.rules.tags.clear())) \ No newline at end of file diff --git a/assets/sprites/blocks/defence/assign-overdrive.png b/assets/sprites/blocks/defence/assign-overdrive.png index 6e1249c2df66fc7992222c421deea7e516ab7f92..5457f5611e77a82ee5993af2771a2905c4dfaa46 100644 GIT binary patch delta 2082 zcmV+-2;KMb5UvoABYy|=NklM8^VHef_Gc>%Fe(0Rnf9zPiAiXE54m(B~eVRDYDB#i42I{^(XObsh&;Vvq`g8Vk5MF_e`De_}(Js!&lIv9lO(6HNwP;=z<04n)hlpsGad>S-Bl6(UR5pv7W76IJ^9jvWPe}5jnU(L88h5Tkxw~kf)VYF^; zbCe>VVvAODgc86e-@u5FOTIx$1Zi+=(GVfo1o_AZ0H}`}G4e5gmju@qjpisSK!|*R z|2)72mwf7ZImop|T7;kgrOD@>uUU2p5oY>;80iL@XuqwxB4EkY6hX=ciU=u?1i+GSAFujDGN~FO zNZTMKLhq;Bx1&=LrU{~wZ*c$K-R#KP$9H(6n1Ao~!+jBUt|qr*PIbm856B@O;KfvS z2&uQl7?Ip-u(Ouho{;o_Z(e=ddmKx?4Qgb~1~u3rT`t!XzWgX&Zqx$~PtU!_IphPh zJwc0n$~D@akg_8vK#2SlQcnsdvSuSEXQ#9X96P)MaLLCa7Fn|)kuW7Kg0vmW?g4G` z&3~JBecZqhs@5n$BTLOLGe-1iqfyP0J36Ua^)G7^Zo{4Sa78GQBIqN*MhOvYv^)TV z@wg$!X=9PKAyn}7RsU$q)W<={Mhy|T)92)=2!jwQzK$w2;dk@F&%yF?vKn%-qJ08| z1{gW93$_3NG!a5DO`z{(O*<`x@|0_k4}X9VAT_t2BZAxi*dlc4`v5Nam}VN)2Q-s9 zT3M)1*xuPC2U>EoCqi~|`Yixm@&P;^Q1yr2!Zkg?tv>`zXfbvU)vF}QACDVv{WAjC z1xt$HgKzkoOFrgYpN*8hfJ=U;{%9Y-5di~D@-f%siVy-PB|g~+ONj9J`i<$&RDbe) z;Z4&_y8kG4rbM8|Ah_QnpoXCmIXaK8-ylzO_+rd4TO=Nqqmzmq0J4E?jIxwsSp{GYK9V9rd5j2D@?!|av$-Pp>VHRNMU*1n zAeM!}O;<6baYXRl2RBp11uGoEiUFI9TS5fvwTGwY$&bka`0q8b(H3jXxRjw? z5P?FzK}-bhhuW#3E^4ia+@%Uqz>sC4s6<-{w$zgd0$!OJg2Px|AxGkE=t z)tO@-zP1EEp0&G=XMfMmV10eHb==^cci)32Pkw0~FS%+W$AMPyH}Nr$5`lu;c(6n&Wr}F=&V&nG(+} zE0=t`u9yh>qkmhy=!VW1P~)}KRFm9Jl-m4A-%m({nGKx{x+a3uw_R8fH1ER}!Mmlo zL03d5y^mN4PaX`a8S()ho;XahGIrczDU&N@MFmEzTK$3g_#GCL!gc}!-CLaLcUkXmA2mW>zA^-pY M07*qoM6N<$f)LBrbN~PV delta 2149 zcmV-r2%7h<5b+R@BYyw{b3#c}2nYxWdy&x$?}mQQ#44~3ytdL01{R>uGU(6%#{2wvnxvW5_0>5qpGFT;NV`7xSi zlI;N10Bk~kw$d#>MOs(wP^2ku|6<-bMm;Ol2)Fd@SevP5CGARzWdQ+AGl6eDntx^gZb5zwt9hVi81uFSmIVZS z`sXj%yTF=!0Gp*~Z5iH{z_x(Bvv+sG=4X=|cY%cbw(VL_(@e;^wU$sKU(yyYOJE5Q zlOGU7s3kw3B!V?GZSfGHI0Rwj1LXIPG~{#sZV7E$Jcc7ufE@V%R~C>$OTP5H8q~JM zT7;|seSed$J>RqJK18@N2T-I3c#)VlGX_EDNY1AE4~sEIln!L~5_$?pk_VLeT>L z`uuD3IG6kwQqNipFMqAKB~bnofPw{JK4JhJ`2aG{S`3Z5&pMz?YYC-xWCh5PUqb0l z34bDZk}tj1N(4+{SIdEKy)HzbCvVS7~ z^!OxOcSnG@a4QioZbhUfRT)DEBk$xvMN z9AJUHvpE{pQSve8z!hQtV!jYBmVXZ_K>U0Vi-0ZRBzILwgt)GuMHt)yVqlg4pnJ(e z5=1p57D|BsBklwk7j)@@MwOrd+M}N|DO1rEn;%y132-*ZAMFDEb$6z5s3Dh+u^0m;2 z&=DXeLQ1~G^gKoIBwy+kjO)YdMlGOiXJ+JEI^{VcNXe&=^Ji;B$kok?is*~{04fSY z8?F*a(};leLmMfQLhKVxQGY`|wJM_Svi*xW`co?JX?S0;FS3w*RIlUChnchVR{7U`w0NL?TONy5F@s{8x|maQh$}A#u7N!OY6Xr zPI+%nq{Cik6-3>M7T{Pyd@gpq6jXijn>u}y50IGyhPDLDc5up=9?jtAe|&S+%5Y)FNl+fpQ z#I)C2q%O|BDQ}g$TXXkWza<}F*%qsB38*q=d0K)O`I@r5$p=v8j05ly!IOMx9et1w zz*vU%B|;zMbL*0jPkjoQ<6lsH#3x1VoS^yG4hNcu4k`Ho>4%L>KjIT$C4vOCQ3n>G zlqK>5f(R1Nnty03!fH6;!Xht4Z5dqh!*Qu+O=JN9eON+mP_RW%v4nhpcQ+^}S9X9Z zF38&wEXb=(FrpPt$JyWhG$ zsR(4^R*wc~%eVZD6}K#pzL#QAP2z&Qt)>rn_L+)BHC~Sk;-XZ3pWhMdqp!IqX7U9M z?=Zzu`F(s_vd%o5J$M?6N=Ga$bSakhBd~gTe~DWM4f!CJ+W literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU<~whaSW-L^Y)S<;{gSR0~-u& zKRmuKapFP7q6O~9V}949{9Vsnahjo!t;5)14&x&pf%FCo<|C2{=SGFFhQtnTr4*(K U(*ARf0>hZW)78&qol`;+0EYB^)c^nh diff --git a/assets/sprites/blocks/defence/hyper-space-warper.png b/assets/sprites/blocks/defence/hyper-space-warper.png index 54c1e0b38ee2042cdac8f92b86539d02a1851bd6..10b51528c3a58d2ad6a289c60c73ec64a0095a8e 100644 GIT binary patch delta 3216 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 Cdi%!! delta 3028 zcmV;_3oG=K8QB+*BYz8^Nklg&b()BAH-nAM z^p{>mkaj3X1Q7#TPMK-jrXqsP;U9VvL9QcPi$F>~VhSQy5&%FyBA`03l?b%tBYGFX zsnQ3}4(IUx#eW$9ycNODY+EIUvDO#T`n4h+yX^qF2T;=PtOY=LSb`qhh=$0ik}v&U z(E=b+OP~c>5DC0Z=a_`PJa`4?cF&5wV|{SAeNI{c05FrEHi!!j`45kFEzNNSr!5je zds$6RIaL98;>rAJwNXH=y=#|bGY%YTvHrHK)1qhc5fN>y^`)h+)dJX=ZC91&DS|1GkML|Ow-2>_t#Sc4 zy2O9AmSFG7Rd{$*U)0fdsFy$0%pf@K;Nj6O?92f6fBI3|G&9VDK#nEIVeiV-lmAl$ zk4?U%EPw8OrG3#FF0%ls2y!=^>#QEgx0cDhudzg6o&_K{?w|$_-x)cL(ky5J^gVuY z697P71YQeC9JH82Yem38uCF3yQz={p0I(>6DDtI5fB)T`4NW~5Fw3n!LKyE~oP~-& zH3p~=pdA=`)IEfje9d>GED)zJwf(Ig1X4FkeScyA1Xq&@!k)0cmcG>c|M9DU|A?28&uUTSYR7 z#sC^ifZus`ICmW+wI-iJR9jj^GKmL)5)llq^%6l(r0Nf1?i#q`5lYGSY z-+$fND7ga*(!Rp~=lWaIr!IQ|(%merCFq%aM5{J>?H!l}pxw%pieL)lBc>#RQ}-^N z7k}x@?7uLsy+eKFR(HU~{U3f-ndNJre-=U{3g6?tZ+!e87w2~Q=Mo_77U22?)AwtZ zz}iV#@~z(m$hSScSL=Y-BU#pG4B#Y!Qh!veRs>c8EoIcmx56t^+AS>HDuNWbj*=4L zLB40*p2GG_lNSr%%EPW;&80LtQ3=CV64^ZDc z;L)$O z2av5-lw1OL8aZ?alrTsEXptjHx<^j6OCtj53fZ~cvu@-A$QP_~B8XT-YJYl0kOVn5 zfRMO@C-bN9&8>gL^?!5gAF|9LJjri~ZUq2f7eV^_onPN&*PC8Tm5G=t`2YdQq274> z=t0pmMNdj7^zLUCx()GnL09OQ2!JdM4;Jx@)AJ}wfhe_Eq~mTe1y~;P+7@o z2s#yxj)>ZMj2400Y2htT`l2ut!I|0Vh0GWPm6hyyw9So=|5{pN9{Ww82(IPpdL=Li z6hRuel8T@-gWJl)4ft>Xfz>#_onKKW51kedAxG$PP^ha-Zqf~+Tcr8^XLVAv2Pv}+vR`S!of4%iWT>sZwFUT^7n5qa!0qkGDu<&Dn*SmD2FIdj) z9n^r=O0$x^;s~vMb$RPx;fF$T7EmJG<6ub6jDUMw9Dj%W6t#5(k0oc#AyEkH^shvC z>71af1)!dGjwPtg1ZoN&i~Q0x9+rUP2BOHPK3ft1hu}yNj7dIqZL|m?$)~Ov^{7~Y zMR(8x`IfS@?w|$vh^3=qr*>F$EAq8vaz)U~VbR$!fMmq%;SM~=fBfjd#>LzB7oIFD z`MEMK-haNo;ci${1{0xmS7fgS7rX>dE&Mfk)k*BH+9nf(sV` zc+LR0Q$h|rM4&CBBy9Y#x&bc{m<3=ZKPB9ge1t^=RslsHVdo)&Q>rN2Bi}HrXdl_@ zz!C4;GAl@aOJAC2o}8J30gqXR*NOr|LI57_fq(b0oEcofu@Zb5qOXf z;C~ntiXupFB*L_R@zsrEONe3g|2|U`w%}Vx!NC2%; ztT^aN1fFf-W+j&({SMm&Sd%QZ?tpq5NU7taT!fTp%RO5laRto|i?);@?T`rT(29Hj zpZ<0`EL!?921b%$pM=PW@~2XfyZXssg(+(1#!HguI9 zu644j1pG^fX6p3pX7Eat2eJynllpErEvo99o~u9&%c^wVbJmz>9o@SD$kR>ns;w zU0l)JkasSkwEdn>q9&WlV?m1(7r=G_V+A*Opr=SC2|W6|Hg*sV0(&4+im@V@yxO`u{PfgI%F7vmz|+;wWt~$( F69D|`Cma9( delta 82 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 delta 2548 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/power/heavy-power-node.png b/assets/sprites/blocks/power/heavy-power-node.png index 4ef7da43dc063037f533092dd08faaa5f172afae..095c024c200767f47ca4c16804bcbb1a0f2af551 100644 GIT binary patch delta 886 zcmV-+1Bv{_4T1-d8Gi!+007lShYA1y01r@1R7C&)0GOJjZg7A~OH=#PXO=rJNB{r; z1$0tQQvm<}|Nk7&CQ<+Z106|3K~!jg?U~V*q#z7LG0gve^G?rzB$Y~n-MVKVmZ!0) z+`B8NpskH|6ssT zeI3}deH@WtI4H<3Tb3c?69eayh1WFXd}j#wZ0Shr)v4o#fNun*8>;o{o*Dwa+90fe ztN!Ua{0<-xSUxde@#s=l2Qfgo;x{)8FvxHMxk0F4Z8M2L623DC6|`I+2_Fpdxd8bm z=O%&Yn}6%&zu+$j9v|dKrs;hbTBm~hZWWyh+|5oKx*Rlw0)8{)w`*Sj`{(WhC*acu;#ek+KUu;Xb|3oPHQT@O&<8#)TMB-?Y;pYD;P}ZvD6=lx@mbfecKXzy6Szy zKyOao?uR<$Qv(|uw)iEV4?Uk4&hj4o4~QY*JHz7lPRBqS>>=l4x2avTh#L0z+%OL& z9}Qvo)rd@fY^eEZM(8%vRpWy5imZA4c0#R7q){=>Px# M07*qoM6N<$f?*J#NB{r; delta 1728 zcmV;x20!_N2gMDL8Gi-<0082ccQ^n528>BWK~#90?OnZU6+sj}_u@n3f`!Gc_6<@9 zsnXb_73>0HB|=`n7ZAisgxd+WHa1p*g>P`H6t@T@ZxO2_dv|B%{LjqBd=N;oJ2Pj# zZ_k|B`P&r``2O?PJ#|kcF3!(Zmh`>bU%c4bc!XAjCD@<6(0_~Z2&o85u|N6G-i$|Z zMOc#kvwwX4^7a1Y+0!s1?hZFce@B+ZL2Y}cA{_nk_TBq?0DxiGh8QxfETWYNt?U_# zu*P4Id;oy`{yJ-11ZtMmvP{IdiCh63lRpOK37RLURPkD#ptZrlOLvExFcC_2U!MLhrrjOV_Kx$` z*uAE2IgSY&@~O&D_e8YM7V^3GXzXSQ0KgB-978$xdWv8rUvjV1Zngl!uqE%2RECqr zLj*7KC21sfvjm7DpOe-if;ah+v|PJcy&w;RILHNNZ-3OZmkP{90X)dR+HJ@@q-9!w zy*e&FT;3M1TSZ{UfE2vR2appKoi|knt2e0yh#(&kA%Z2(ND)*5M3Rs26u~2}C=tXl zpa%IpLlYC+VgN<{kK32wL9{izJ%QZ~<&clKJKSX5z9dj&0QRj_jhl=Oi8{#ryn z7MiLg<$oPDyvNH1jwf&i=S+mj z-+z*JYHJkv0D`57IdDX1LB2H)v^kP|0O8Wa93mD#QE}$(aC7uif|nr%1>iS$htbo9<4KN`2qmIxijabo{EPFm)fxbx7ZFl3 zOwy(Ctwhj}4=`$iq#|&^eP<|5?@9Npd4GuzHT;s?qzBMW1Zr+oGa_php$7Q?6{jR~ z6^bAqp%tOlDs6yH=Y$a+a}m8y4s|Pl=R{D?B6KUj|AI#W8skxb#^_c6&zHT{C$f~# ztpET%BJ@l?Kt%y^Ba76!N{a{-`MC+3nu`RE1fXWew4f>!A%d2CM3e~A)4Y=B1%G*h zTMB^Erqi-C`yFLJkVzCj!Lcw zrse69g;^~`u#%666hVDj%H`?r?0 z5<(-$r=UG_Dk(rT`G^P+T9A*>h%nn9P>XzobkBiDU>=w4jnbZj)X|pgZfGw%N|sQj zge#T+J?*JlN?BaaOv}?BQHE-H`j~Jn`MpnqXyCy`ikIY0d9Rr$>9`0dAb(TMhc$f) zRzAW`O|%r8Lx~^`dDiq(L^r|VQ<7dHNXWCMuL;w6K`%DnSSyV+&C&c6E>ZGidWj9= z2dCr(*7p*#2XM#PC7uu!#JTxS1845#)Z?X)H5y8}ucrvnJt!*w)b*4IoJ0HEM?T;O(7~&vI_0_q7nFFt7CCEsd;w!S$L zF3!(Z|4#0R+M+ZyCWqRqFKXJ75~138K^(ML`ckvZX-pU&Su-O&+7qTvUh8#7HSHOO zExdXC>WK5?Q(vPw(m8mvayb3V)9&{i z^N;JC78hNpd%EVd`0s7o%wB&w>dT!WWEMXErjiVwdUvE!iGO^Yq+$ dFIdm7XI_w?#rAp|qXf{W44$rjF6*2UngDl&TT=i4 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/power/hydro-fuel-cell-glow.png b/assets/sprites/blocks/power/hydro-fuel-cell-glow.png new file mode 100644 index 0000000000000000000000000000000000000000..2f5cb5c5116f9be3a523d221db941d71ffb3042f GIT binary patch literal 3274 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/arkycite-compactor-bottom.png b/assets/sprites/blocks/production/arkycite-compactor-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..5878529ee517d2d16bc02c3e11ae6d5e38d1c005 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy$21AIbUf%J@7OY#aDyu5=a-L13g zPq7LM1PcED|NoL(lsu5dSrX(I4B~@!!2)ofpg1|5m8Y{=cUDSLV}0t6O)0^m)4axvX literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/arkycite-compactor-glow.png b/assets/sprites/blocks/production/arkycite-compactor-glow.png new file mode 100644 index 0000000000000000000000000000000000000000..7564ec3537e7216435df8daeb04aef8d1a8096b7 GIT binary patch literal 2956 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/arkycite-compactor-piston-icon.png b/assets/sprites/blocks/production/arkycite-compactor-piston-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e3daa9c557381dd73465f93f24e6e2de023e92fb GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!?1AIbUf%J@7OY#aDyu5?IzpQ(_ zF8^vx>M_PGfj|lNk|4iehW}u&w0_xdppb&6i(^Pe>+f;b>h Y!>p3P!1&~d5*vu;>FVdQ&MBb@08{lVGynhq literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/arkycite-compactor-piston-t.png b/assets/sprites/blocks/production/arkycite-compactor-piston-t.png new file mode 100644 index 0000000000000000000000000000000000000000..abd432bc9adb87aa945d0da1c8092f13676557d0 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!?1AIbUf%J@7OY#aDyu5?IzpQ(_ zF8^vx>M_PGfj|lNk|4iehW}u&w0_xdpiro%i(^PeM_PGfj|lNk|4iehW}u&w0_xdppciRi(^Pe+M_PGfj|lNk|4iehW}u&w0_xdppciRi(^PeUoUunDL*`Skpje~Uxcg6w`EEqr7v VMS}nU literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/arkycite-compactor.png b/assets/sprites/blocks/production/arkycite-compactor.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7279213efb9348f23702f85d4c50f71f2cc584 GIT binary patch literal 1019 zcmVL000SeQchC<|NsC0|NsC0Hv*f~000Aq zNklvH2D3`Q{up1l7P?=}?B<4HCw!t+;qRPF!JliOqyN zE;RUgF<%S}3{hIhmm^(6oE7oaP{)uZ9X|DBEHvafn@`NpUolqrqt}(4I!6Kn5i|5& zG&p=3qu2ZeIqsKeAW{H7+Syw z1{rpOSxAfci2+SugJ~f@G~flIK~3>Z)o=~o5?2N#5LF{I_(dub>=nmLEHo&-D9OHH zuQ*x6b=kB9R2BV9K)OxT_$NOT*hW<2?|dP+Uon^fwYnOA<%xWrcf-rb|eg*Q!s#mXaE#{Fhxcqb*wd&#Q2V0;F0pA(~f2?}@-Eg)* z7!IOfko>Xg`Pvt40XHzfm*Es0WdQuK`o-Sa4P{_}Ssp}@l?FLMXIxs)mEnvR1qT|$ z3Y%fJj>I<2P|zAOcmlgO{Yo_gI)V*;KA+5>?(yM6K{o<2g6DG?6&sflZ zB4{5Mw2uo~dJldo;Pdo<6BMRtMc_`;(n7O>@Hc8!k= zq7u%Z!(+{uZw*&fKsA1H`U3>gp!h=sFpzrFgaqhu81hkbB9iAzP+$!X-#2t9a1Acs zHAp^q#Zu*CgXW``L{)ycNw};47z}@2_YIc+PhZq&Lx4#P)6@?FCLUFVU-AMNw=oX#GJvcZU-Cq=!z!q2iqv(|>sh9Vxe1(8l3fs!HH8i+OvxnR<*o)l(ItV;p(e519T7h ipT4}%tL5IWKf+TdTQM!THS;>q_Y9t{elF{r5}E)FV{p;{ literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/dark-energy-factory-top.png b/assets/sprites/blocks/production/dark-energy-factory-top.png deleted file mode 100644 index 22c5420382aab38e92108b16a97f80c9b4eab0f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 365 zcmV-z0h0cSP)}Sc^%a@am!ytfeNS^wFzTWtiu6}yg%CmrAw*UliLcL>XkT(E00000 LNkvXXu0mjfYsi)O diff --git a/assets/sprites/blocks/production/dark-energy-factory.png b/assets/sprites/blocks/production/dark-energy-factory.png index 6cbfec1a9f50bbd14d23f6c8f24103c5050c5713..4f7fa36ec59ea0a210264062490ebb14ede6683d 100644 GIT binary patch delta 1394 zcmV-&1&#WL4TKAjBYy=;Nkl1F-s&_5Uy5(17TrtVOS7^W0nPBL;r$-Ze}|1 zARCB3VSa)bh?s0*y4kwHrWYE@4T#Ob!N4*wgOMOCM_;h_^mTPry{}&P=-urX**)FW zRbPKq{a(Fiad0@QHaGi}gVp)A`TO14*DSkF`JAQl=8DGSGJo5^e;rFiL_aeLOW}`2 zkdTt@Q`xYv5+9T|S42dF)`YvYuSo}2=i7}O)rjWLMS^czXO{R0uM)ftShl?i?4rmv z2q0QqO+aiubuC)ae(`uRqCGKe!r+4|MKe3+HsCrO$7wR zN!rZ?51J<-_ZS0#X4GJqEwI*>5};A#i7Rukp!~&T&|_5hX}- z3$X}t61IA~wc|T_9E0a7VP|)*`f~B92!ERwQ(lT8lc}s4zzutp5TD=K-K*l@k$W^C z%9W5^1b=f#Kmy6RCpUN^$2dR&pX+Ps;DzU&Ho+4C3h4LVniCO335$Xie9G?tQvva$ z=G&}Pr=*Ayh=@YbO93g0so(=Fzln&7_+i|rG^?|WNv*Fy0vddPMFJXp0QWievz7um z`5Hq@2XF91I$>>dp1-6<3dAHx6PVZJn{)GNZhuu(>YFW!qIT_D57kwJh}$u$yUdGX*;q)5=x)C%638HxlTpD|7X z(xT=P*N{>QCjoi$8VQXWpan0ttVVQtcJ9hii3BO&s;VlBut0*AB2tf0YLq}V!0OlK zN`E~DstgXRKA_#^Bmsz_=O6(oj)?EAIzs;kBnd$J_1-$r1(5Lp;ya`O%g}QKA7GJy z1WzP<1+@N}WN@qZfoT5Y@2!dCA??YN7L3~?c}iXxv6 zAk9>5oj^?iiv%8gKukhzY83wG3m@yt%~V{SKPrINs+t12o@)o>DB<+%yvkj7u)u3oF&unU zo#WjVPd7*cssv70+*u0nbcM{8m_;lhGTzbuMK)Rszz;l$5)YD;=r7h6Hc5 z)i0+f$)UEU1Qg~-(2H0JZG-n*6MsLe?cQQ|qojuMxa=%=&$X-bZ8LaO8Sps3vk@sE zEKf_zRViFfPaY;V-i^|pv~Z<>XJ*#r=4OvA?~Yb?4M0dpIV`o;QawC`gy5Tp1o!Hz zgw(zQEd@f~UJIVj?fIVJ)EBJ(=3O!!TFnJCl+$Zy%RJh-4L03=0RQx{5NiU6>JCqC ze>j2`(ct*~OMi+J{-5L78VRk6AmTvV9$wea z;DvFaDbP0fu585MO86;Phhq{J_7(WIBh;I}0ZSVqqu`3xYXATM07*qoM6N<$f=slU A9{>OV delta 1655 zcmV--28j8D3x^GmBYyw{b3#c}2nYxWd-8D6pjX(eH*MH{cz@ow*GI;;0#U8tu z+KM+2z}>S)?6HZZB;G(je7KqcxDN6FFlIKABn1Ej zyF&yMO9|N>y1f+WHB@b#BgNO#P4XUPV$A*{5#i)8;we+d&eQAm(%i;%d#(rmFd$-+vM64pH)-U;^sN5Yuq1hk53iHImvVd8#q;_C9lO z3Ao^0`R(_o&TQExPq}xa@omNv0ATakhS-=gu)4k`KG!DidrU9}Xgonm1e*UX(M_%9M{h+b^d?(Wg7Z`5>zI`D+?_aeB9v~f`H=k{g!xHBS*A31- z3TD|p>;f?n?7ql}pk0ZTiI{yh?3{%Y14t42Ab;~})J>8k9f)AAxr!eF%^bu}*kne5 zz1>SJ{`i@wv4hUOGc5)9rS$fT9kG!Bu=03Wbe@Jhm1ZMHfxX>JcSm4F#d?CZl-81$ zUQ?7jzzEQsUBG$UN@n!=VaWFY10zBn@&>VMr8b?n8*Fx}>btw0jX7^OMo*s*fg^8F zn}44pXObFdMWDzV_##|PZ4ErYh~TH9fKNfg5nhp$5f4pdP0bBx0-Km|UNk#$56 zzz<-Q2(4Dr`Ng0W!H}m?adwW8oeKLod94UOYW0x_6yc&?V#9y(p?suhEnwh}q0(8G zfh_`sJR$xDhl!=6c%Kf4VD^=H$mQjt68!|h}mb0aA)anBac|nSb@AZ?yz9C4aeTh`<_-Sq&Y&85@_Aoyghq#h&OZ6mw0{+=SpwpT zm5HT9wieL7;4lVD3a4VnLT!aakWQyX6(X7yns2B!aT*iI@86*kK1mu*R46HhmTVqq zJVCPj4hnGF$cOHgSAb~ufICkx(2@tT?|&jgg;ScsEzT1%m7*H7T221z5_=6HByS_L3}=?)Cx^$X zidG-FbAo1=Ay;Yz$pf;t(k9At#hj%TO8W3`82aLD@P3~D04juTFGcs|=i(10sJJEh z21@M#ntWZTI3Wc4T&Gec0?M}7CxI#t(2(ETy+m`?-Iw*)^HP49v~eZLODh) zOdC|vmI7xZ=LzZ<5EFqaP6(x?L+}OM+r7;7`HcbP3AutG2d+3FJ#C9!*noTDAA0kp zics3S!BAy}mVE4*JYS*Nu)9Mk0+dZ&a&1{6{0|T5r;$D0fd&8o002ovPDHLkV1lwg B1C{^) diff --git a/assets/sprites/blocks/production/fusion-core-energy-factory-bottom.png b/assets/sprites/blocks/production/fusion-core-energy-factory-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..9942952d13c9d7529b06beec55ba46b3a5deb7e5 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V2t&2aSW-L^Y*S`*r5Os*Nfup zOL{-cGxGX)XvZ{oYOwe{ycc@H|KP54hWeS-_w4QVzpFjG?efPBZ|1(2llpJ?O({oC z;{V2NN^AC+{3~AL`s3@NALmP@AHHh;82{Ml(D~+%@vmhPXByT$EwRz*{urJARsP3& zmJUthKxx}M+T*UxK+E~@xzb2KA*Tc^;x>oo@14NX3l0XR<5Y$|ngD4#me*rpZ=^_CV5}`_)q@^NANDwJqTIk>}L`sJauDPR5 zBv2?)Q61GpUgNRHU%O*vo+i0l-|qMwk9R$`7eG-IMNt$*Q4~c{6s0$ohBhFD4|@j- z*Y_`;J#DT&%^6IIkF@55ri=}VkF?~3W(?(ukF?^1CX9>~A8Ek};tfm{ACc~aOG6uQ z(YZXd0XB=tR;R^(JS=;@rPUo#5h2PLTP)<`;Y!l^oCk)48+E zcsx4)pAsLD;sg=*fROkml=z`zIoGU-2nTTC2pr=C35dH1Bga3_I-g^NolfU)e6#!e z+jp)Ov8yy9Bfu74>N!gwA_9JV{@wY!ymlq{oB3?g`8--#jlPZqL`J~rx4+)ww)oU{ zG3Oi#kq!W$1@j3_9g`|PfRHYT!W1sl!tHXW*KSp@sWc)YVDHb3V3{}f`GRuFa<172 zgO3JZz1}__5Iwv0D_DN>=)`+GR{VEww+Gc=(2JYmBRNh;ZTUkwVX!X9B|bpiu7Nr? zWlJAa@%;Clmz@gTeSE!hd}BX+SzjbjLZe%MdN$@F()AiLz;1zWMM|^~Gf+>{k1Wqfq%b4e&oWKzuDeZ(}A>|X_4rLRwI~tEi zFrCgxp*ZOVfbf{XJdaO&pWUUpqv|)|<+Ur`L>NW_PNs~2Q>T6N<6rwK@a`BB9 zIGNazWcOoctFtTSs!XUg*%R>gJ%MWdE_+;r25TIfO&fF99c4v;UD;5YAO$lLLgI7F ze!YauG2jc9BsB42(KpV0v*tYwI-u_?g#S^f43~ zdJIKMIKedYNjHJgtv)VkrLTZ6K*9x>>VtqnYG+(sLQ^bZZhj8Y)3-O>a`R&k$`1t%_rE= zn|qI{Iwu?(0o=`aRHa=Gaz#SygpAAPX6A%VN{AneD-wK}&%ReuS6>x@Ey^eU#{LpJ zUlbZsQ0K8DVYIT!nir<*ZYBawzx@r04^VCco^J~)MgsoztuqSQU5cV9Un&Zy^);>~ ziZO#V3UkqyYmV85iUi8;l1mheM!>zT_iV!`F-?K&CyvmPMpqg098`3~EC?>WKD2lj z#BoBXB~Pbw?_iCBI`;g*EZBWTTfJ>&)rQCpNa;)liyp(p_8M#6>OqJ+G9y}c+QKEidv(BcCKaR6t{ee6h?;{*w> ztP#CW*j&tuPcfkpGnO-7)*^^y}MFnAAuKOMPL7hzM|D3pSrkqBiO2%Q`AhYLlKML^vQOi<8UO$Q literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/fusion-core-energy-factory-top.png b/assets/sprites/blocks/production/fusion-core-energy-factory-top.png index b62017e2d8ea9d8f37989c3ec949e18399c28f61..97ea3f9e7065d523537616744eff8a2f29580050 100644 GIT binary patch delta 144 zcmbQix`uIrN`0}Xi(^Q|oVS+@`5F`iTn`@oeZMkSW#IyYz-I3>tyBE{91N(S;r6Xp zjQ*)<--@%>-l;vsE7#k9KeW4GjogQAkyGroWf$DapRXyakkro+ed6>hSyatH-iJov Y%!eYZEvLCnfjmwIPgg&ebxsLQ0HydZnE(I) delta 639 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 delta 1789 zcmV&1zdm7=}NKT!5er z$l!$&LI}yOS73YDh6>tC2$(=Z$u`hM7J=SC7s1e7Z@?k-QuY;ORfH+V_QGI+3HT1u zMKWSEnxF4?W~BB7fi0agXY@Y$=6}xFcz5vUX8?fF_7+Gr9)C^5X~c9m+hd*ATYh31 zxIbo>SK`DpGp3PdZ~2L7FrA*w|LF~aMq0h)C)5A{phpO$G{&RJ!mD+DxSAJ1Jwd>j zk9n_Fek2XycbxZ$8I9c>MUm{BMmWs#Me_ zWexK*v=jkO+JBKC5vM(G)d$d45&%FS5F|#f0)#98fVL1c4D21k9n3+~>Djzam|b3p z>x9YC3F^29!%w2?%&&KgyWZaSJ1W`>s7BERPzOS?CyZ6D z$Bg{~7w4zw>;3lKH`&i$f5f+(?%jWcI?l3n#Et-`R3uoK50E#QVm{^CmXR>nAKr)) z2_aaS?-VndYCbg&77)gp$6q2q8v;gL^PPOdx#m;zq6uNVc?N{an*RuzJVk^r=(^?c>RcAX&{UhgJ9ivp-^ zzJJqy5yDa>Y+*h{sfw8jriT^Xp$@Ni^TW}t&36hTffE%yL{dy)B+LPn%-F z$w819SsTLs@aBt8nbA*xMF;}`ocX>u5LyjMb0Ba=V3#~XLbyXUe|~|{guDxd(t$}$ zX_hAcW9Ly;bZeOJG~PVUwtx<=ck}&#(to6kRU~lD&mDt_1WoguN|7L%5d)}K9AQ>l zI8m3#0N9xCl!G9i69xcy|Mns2cmNs%S9~}K7w4zZmoEwgj`^h}lA+LZ!rY}P))1Wj z`tU(Dy&C2_6<0+_7iV!GteUvyI~CUjNwv-pq~^y|eKhocElM50kH7w-on$xCT7QS? zOLZ)0oy~WWLP(AUIdLIy%;!w&<%Wv2=a^ICLWuQ>lUtNxEutqs#Va9g^J5(@>`=n& z@@ipYIW`T==IE23zg>DSH6$UP5#!vIg!9YC4ysXl%)U60fcA(wBZj?zmHCqKoYXOx z2(o~XGamr4M=W&#>tB8jLhcn4Wq)=|6GF*+^d7PB0=0@A&Y+rxG$3Hi2k_>E_lGyx za5}iX3wyI2a>k@eRjAl=oodVxJOB2sce2Ns>=CmRCldT~dRc7&usjyDv?`($39Te8 zj=0MpHD$6#467ctDPbc)x+^CplRaWotpbFa<^wbs4ec3%h503^0BF6&o`0hdf@Foa zL~8p3YOb+Q0i>qqD(2iYr^a=1QZ0gNL_+Qy?K$R{G|dMvr~@n^V2;&J&zH9O07L-T z9e@@PT7m+wySo-S0$M<5T~t}#+Kg2M)r25vF=?b{eP6kazu&w_-n6eYBw@92yBBGh z&+3R_#)GUPp$9#C`5ZM0i+}kMn(h%>M+h#jrRhydv4fry=8S}{6NE62DF~c0KL$Z< zUC=r}NaZbrAi0q%dyg1KwIRHJ`%rByYAH_+0(W-K7kQ5uMYSOK#!Dek^P=)}sjmh5UR}yb0M^NkQ*hhQV3Ni<*5)_ zJjjjnLy2f0Z_fzUkw zfHn_ulL`x=N*#b*XLefJpP-SBR(>$T)CuMhKw0F=-7ZBrMl(Mcl_J3u0Ot!xAZVH| zIVV&Of*Alw#yJoy%-1;ADFwk~G*oMEfmTJ@Q+~oxRP_kZ+}NR!R&V(UBS95_#jcvx fMTbS2K7@Y(gb=8*=+B&B00000NkvXXu0mjf7MUz( diff --git a/assets/sprites/blocks/production/processor-compactor-bottom.png b/assets/sprites/blocks/production/processor-compactor-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..6de0781597a2e8f6b038a4cd704d45a1e0baaccd GIT binary patch literal 736 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU|R0!;uumf=j~m`JYh!xw}(>a z5;e^mc)!~p%y}cN@KkQYs}pi*HaZ)Y|Eqi-?bzf}el=KxbLq^i)-#Kx%lq7 z&m~9hSGV1?`I~ZxwY}WEVA{=`I;EFQhj%MkT+RuzpHXq};Z?yoxn}jX3O}1}ZSQ&T z&|Gi+L%XK+@jGg!2_6i2`e|j}^~zZ>cDJ`L=3kI3$uNiU040PgYr)Q%D^EWaelavF zwZA`W2E#k{+l43Yp5Lyj)Uc$HPcuDF{=h8-d;5CXf=SP>otq-y_?jVTn!SqK1+#`N zPx&(ix9}*G{&WsvdCTMx|8Ihj<8Fp&LeuS4=Io7S`0ng2@nGJ&?;occ>?n(8{1V5; z@Z5W0!uHoTKf?^J9F9KNENHN1pO~G*!JWGQ_cQG0Y%ylAU~V9t_{{Fy5LRz+WJl^UCe-i~Tp`(0iuc5O#lk+gx(a?(f_f3Zm!wv!(Mw{te$Q^C)3QIeOk%Ia@~51(>Z1B(+Vz@>(^Tx&iTji Y<;~N3fB0U90#h!7r>mdKI;Vst099)-?f?J) literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/processor-compactor-glow1.png b/assets/sprites/blocks/production/processor-compactor-glow1.png new file mode 100644 index 0000000000000000000000000000000000000000..22a0d67ce4fc865fc19be7ad908ca9a7f89a9b54 GIT binary patch literal 2881 zcmb`JS5(u962|{AbfhR9q$pBCF(GtWKm~z>PNW%{6j@z_EC?tqA*^@_g7gH5bb_mt z1eRWv4G`c03!-#!2_i))(h13B-|l_C=X~GHCkJaG0a*b60E7@WmM*6q z_mBB_PHT_Zok0K)c=P==4 zqNqx_{!u8@5Z77N15l&ZV544Y1h%tsMjNd?h4Q%SJ5ili?RLCpyj-g&;G{tyKZ8;fK>m1sa+PM5{-z~!a^jjBh&9$a~2%{l3UB>jEZQWFl^9b7kv zGQ)^3_L5aqn~dw)YXG8-%&>ndB~?2|-p@ony8m#(3Z}W_*B_Ix)#yk*xVdHDoq3^sGqU{a^xM!G_w6}rMI5=Bo2*^uR#1-Kx znG*A0A3u0P>XN|tg?->^Q;YblqaH^YJ^AG` z!S0LDV_nbBz75>IaFAB2^YghmwZU5_iAg(C!gO|bi!|;z8jcIn`rP)U4CHq#$8bM1UP-LE`@O*irN$Y;5db> zozRjss`{XhtK)4ZKoXviH*;6c)aopCfj>~qx+SB2#4;21C-;Ev@7gNkt)EQoc+kw` z(Vy}*?NQ(CSH{= zWrFPZT0a?3l05BHBUT!qsTC%Zwu#(p4U%!TYTNVsChkARK+q!;O9g zKfws^2de9LGJc%lB@In88=G6>*jt$Ai-p&=-TFqcR)t46kTgZ2%BY&;oj#*+Q~XEA zwz*$kXG%5OR22#mM}FDyt0eEPU3j^VTNJe4I5w4RI898$ByMHw-E^BbL1n-;eCXpA zxbeu4HrYU|(cPnU*+HZxHzHn0W}WX8-pnW^8}?7+AXm$*=}As~KwwbkL+39?CLiec z{Tix}9r}iUYIwf91xI*;5dYfN5~BG}q& zlo+~CytdM_B(4vz8hy)bNUGiwT7VA0KHv;V&*Bl@n)x*W0Kss2bV~-k6+Q9(8TT4dNS8g}7 zoLUHI|CNFE!-E@#NzO-#f?W-r$YJFN5{gLW3Vs811NC%$l^a_<&RZh}PC50-9Xh{} zt;g){;rpNp1aq+)!`DT*{-45Rrqrgj0pv>ZVybeNf9C)+{aJ0gDYkREHa!jcoXyE# zvLfRj|AFchH-8#mbmDbn+-a6zd89>sT=$Ik@aO<6?bSQ3zif2VjeVX9Xi+W-&N+%r z+Xu+%;>-B=Vme^>^YN0CKY0!dPT~tL#!kA)wy|BBsj;$=XN#{#Aznzoq~zcJ17TpfZq+Xm;=&Y$@#OFCbpVz4dXl~m zC=@uQA`ZQB^1x5uK7{|kMp&c}cIHTfbH0&UbH*@nZDl!k$4ANoJYPPt+h4e!5h7X% z58?CZ*4nI&3TtY=xf5H(-nM0Kk1v`#LYGZs3&TMVFspv$L?*|!P4@~Lp-(rVmhO;7J zRM^@ne#h^=pg!}A)+e1KBWUuVssI3BpWC?%Bqx@IQKG;{^XDq>-DwjW?(C*+({xR@ z?a<8Kg~*62K}vxY4YcV9Ud>$}poKenmbNpAU?@& z511nkp|Gh9zt*2o_d7&x$b;3Ri^^Hi9;_H{*1Ihas3QgkX@6sNrUwMB&AMg zLxxVEes4Her@*r%T{9bZ>U`*dQ039mtV)G{wepOr5ank)_73?U**YA2ceiU#S>jq1 zeVs_luPF}Eiwi;hPhv%=*RSly z)wT}A$a%<&Ba6_=#4FpywU{hL*M(;}mxK zfx8Ukjw4qaNo_MI^>uRJ3Qye1-y<^71KUoBc>Zkrmf%tnM~%Yb_%(1eHVx^bn4R~L zPF6a=9M1eGLYPLz5#+{eyj6bAlTPZsH)6XaIy zR-~>mgSGt2sIY?3#7G{CEK-b)<5&b?~vVea^Ctt`g^mY;RooA;O* z%A~oB=OL^dloM)|LQWO|O;40g^};r~m)} literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/processor-compactor-glow2.png b/assets/sprites/blocks/production/processor-compactor-glow2.png new file mode 100644 index 0000000000000000000000000000000000000000..f87715c32acb1040ce8dc6809f2debe370a0af3a GIT binary patch literal 1845 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 AX#fBK literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/processor-compactor-mid.png b/assets/sprites/blocks/production/processor-compactor-mid.png new file mode 100644 index 0000000000000000000000000000000000000000..78786e9221cf388d09e9279bfeaa16829f3d32dd GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSUp-wMLn`LHy=5rWQ2f12Y%>%j|Am@bnRrsQbawE^S(R&CiaqX|HQu z?%J*`=5(){KVnVG-fK!J8%2Jt@x73wD}&v!Kv9W@jFIFVdQ&MBb@ E03n%cga7~l literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/processor-compactor.png b/assets/sprites/blocks/production/processor-compactor.png new file mode 100644 index 0000000000000000000000000000000000000000..536944357a376c115881100d770e18b0a780646e GIT binary patch literal 4296 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 delta 37 scmZ3+w2Wzj3EKhrGe68fO|-fpGUp1@rVvrD3I-tXboFyt=akR{033r2-v9sr diff --git a/assets/sprites/blocks/production/seton-alloy-factory-liquid.png b/assets/sprites/blocks/production/seton-alloy-factory-liquid.png deleted file mode 100644 index c3acab0e149a483fe41b66ad2bac35bb8bdafa90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1454 zcmV;f1yTBmP)>y6|v2!NT>^)N~q=^`bki*&J3s>uD~j%BfpZT!d_pS0Rp zt>XvS#9$@?a2&^R9LI4S$C;GlIPMl@NAqiR2Q(bValhYhm0)wq&cJJQ2U4Iwk?Xpm z<$2k4U8f%76rGFBRut&6EO4HusyZt)Y;qN!jbt6{4+EQc}-VVcN*P?>7Lzwr$_)jhUL1 zDbU;_LTKvD=}%~UHJDYj@B80DUDx%klc51??QrRyK2>K&^ng2eoXO&k`p5-0l?OE?}^lZ&A4-@_5-MM!m$#3i%^7ySpQ?= z&Y_7TW(f*EHz0Ri7aYfN&*=P7rd9wKzSbK(&lBG7_al^0qyTOQEw`MpLmMp^=ch`* z|5+*HJkP&#5Tv`4prC2<%koYM0IiFI9Hc*r9uA-BFPf%Ou8%=DyI zTPU^gjyl0}gx+*0@e{{%&68vTuq5&sF5rFB~NQCbPPRD~jHg}?9njeBiQNC{M+ z^e0s|w|xy%38f56O{DI=MhSG5O9IU)t8KprQ*1*~2$JKouIo#?!=Pni*U&J-Xoe@} zq98OYAqS1{XHdcr1@IZDQG#{5y!}yTNIkQxwq3Cqh;~~OJ>>$^l(%S?Vj&Y%q1wD2 zL=plIYNdpMf)5EXbWLr$94nb5O;9Y0taR@y)ki9b@?@T5*^i+Zvpgk+-i zjFSrB4u=(?l)w;t7UP-ivMfIok+SE!Ez6V>^A!MK<8Z`CeVKv_9|ez4MPQkb5?V|q zsSWKtVE8r^(b(Wrf)rH(hnk_5lPQ;J6aXL#ztm}xRsp{k%)nF%h@njnjIDwh>8gO# z_O8d_{S1AeJZ1%Glf5vB>M2a60BPS`YPUl-^Vz<@J&gj;ZpQ?aS_P@uUz%aj5|sjK zzNe)j<&E+!kSgOK;pEnP|P??%`;x3m_cP)J9h6-`WUfZM(d_F5zh2AU0NW zD9?q_Dtn=IyR|YIwhN-2)EuDa*00UBh_%~;;fM0t>;)>&kh!5{Gza}NIBZk+0onuf z*r5wOtZ8-7--4klK=U14fS*snk_4M78(ImqW2mKS1(YVFrih*4N-IKBwnf&1g@an8 z0E?{P5HaENjAuy+Qd#_Msf5rLG?(lp*fK*pWOghb*i@Q&B4H_m>=j_0A0I->c+P=m zQd?m?0gFr!Kcu&c5z$ZsKfldUf|ToH{at0AMl#QSd*!uCfM1epF&1++5&{;-Zx%mvc=8EdWS z-G9?yT#sk0jesTqTZc6Kk!1ppdt})s2_JdPL;F5a_(+ejHF3l~<-x7o2WfF%GdDp1 z{^;Ty%x}T~{_yS`OlO`yzCNFBOW$AMAk)?M`YTL+GJFTpBU@SGzkG?0guljW0{lg8 z6Z7e>GJFKbaok^DU$^#Up4zfb2A}#mTgP!6$8j9TasEI402Q_$KGD!Yo&W#<07*qo IM6N<$g8M?TH2?qr diff --git a/assets/sprites/blocks/production/seton-alloy-factory-piston-icon.png b/assets/sprites/blocks/production/seton-alloy-factory-piston-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ff7d752097fd5f4ed4c6bdd275956a67b1c781 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo)}AhoAr*7p9yDYG@(wNd>YvLI fzW~T21RAb0Oh{m0l=s!R3R3Fn>gTe~DWM4f)Pxk{ literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/seton-alloy-factory-piston-t.png b/assets/sprites/blocks/production/seton-alloy-factory-piston-t.png new file mode 100644 index 0000000000000000000000000000000000000000..645ebcb72ae21a161477c32c5077e9e6e023d9b5 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo|2$nBLn`LHy^4e>& zcQdfIwf)axH*sm0n8j!B)S%_nF0bfd#W;y`f=@$={72(=zn_>%QB(J=*&=0*2@6wL z7>!~r8)oy=hI0y}%$gveaG=J90S3 zR@~tKsprgFW%crXk4SPj|AYIS0>TPv4n7St7z`Pcn2xY?pb7x30)qp;_S{)Mx0?U^ zPEHcnmb9f_|(COb@Iq&%`aj-E!{@c^XEakt zG3V_a-@HQxB5r{zcKICZPz~+beZDM3bCrjp$nVeI=Ovq1`t*NpJ@OD}00iil`|v-I zl)rv{ef0YHbIXfv2j?Bgo_s%~J0NSrceVX1MIP$fHvIQ%*l>wa@A>78mmWTwwuy0? zaJ;3{O@?YkhZzisOf8%OYRC+S3lo-i^sh@pEGn5w@2 z^@p1vTs>m8%9 z{CoMU)zZ7yT9A;ZtDnm{r-UW|)uNjO diff --git a/assets/sprites/blocks/production/seton-alloy-factory-shade.png b/assets/sprites/blocks/production/seton-alloy-factory-shade.png new file mode 100644 index 0000000000000000000000000000000000000000..4f212ad8e21cca3bdacf6a5d131369d0d0cfcab0 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo?>t=`Ln`LHy=chGpvZ8*!GTSu zqVoT|35AEhikMlcBbYa^CGZ}QYA|KUX1F#q1#F9NFh;yEe<%s` OIfJLGpUXO@geCw=lUbDj literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/seton-alloy-factory-top.png b/assets/sprites/blocks/production/seton-alloy-factory-top.png new file mode 100644 index 0000000000000000000000000000000000000000..ee91f9be0f1440b14e8c8a187dbef40204466d4d GIT binary patch literal 744 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U|R3#;uumf=k0CVygLR0tPgG; zaKC8A{l@jprQBBsLLVsq;Aqo6yfu3IH&?NM&AYl|coj~o9G$P2zT@{kwG)RFJHHEg zY8$x#%|iu`%5HH-RM%F|zdqmg&+pk={Z4MoGTbT=o}goD0c09&o)D0rV+LXxZ|sWx%2G%};olo8*r9#ee$)b`EG_6i>M5pf7v&vIQN?2x)q z2*bo0&TEI&SH(D-`(3e8sHS~)(D7Hl62vB3EeK8eYqI3;m%~0X=f1A2)Ja|4(rq>8 zbPFve zA4n}^NY!wd`O9>|(L3xae9xElh0gAD-4IZ)veC0Ibn?trgYbf#Kqf0{nqpwMFfsq6 Vle2Btvtyq@Ql74UF6*2UngDn{OD6yT literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/seton-alloy-factory.png b/assets/sprites/blocks/production/seton-alloy-factory.png index 407e1bf76bf99aaa4d8d5ffe45b88690c92376d6..edd3574c90f7ad498fde8e72f0e84205bd3f2aa3 100644 GIT binary patch delta 1812 zcmV+v2kZFq6rv80BYy_zNklC^ZyBqybBAyd|PczLH`SaA zNLof|>nSCsMH${apaK9ai=Z*svj{E7*Z%fG2#OKHQHr#QVXY;1?bR#1Q;Xxn*EUO^ zQGy*Q`9J;m1AqGcbaU&%cM={r|FbPXT4?UO9F7k5#lHn8Yf;*3HNHuC;C#pmASK^| z79!LnpMq8dGz4MfmyC`u93AY#^^F_i-|z0u#bKlc`BZqB&8FgTMD_szfqYB^tg^ZI zpMt9R&0DucHl!%M!{>WD7j8_g2pGsdAQYVbO^uGE6fIBULvr!N?b^8Xo`IwBPJgpR5XvbuD#2-r3Pm+^(plk0~d~5I$?nS zh^L+lD1Q-h70HQEgM7|*&X*Dqr2WDq*VMSXI`=#fJ0z(<46fM&0K8iKP5xgZU=6=4 zd;u_%aav<>OVCzQdJRQz4f3VeSoi{9LJ($@>ttrLsi~3yRuO8EuesL3S2hF%eD?Vl zT)9j5=IgJ_m5d>2_8OFsA4BUG$DiprAO|n<0e_YWvx?zGdTP`2=5Tvr@gzS*t+;K4 zr)?JjYLXwIsdP>9y~`*LK`qD+XhEz79^t6&q{#>t>)3-${G#Ofv+ZW-B9{@=gW>g! z8}R(u_Upef9z`vHdJ}c`-u*5o)>?p?RFuB$6NjKtgk^Y;4*)R13{eKCaP;Ky!z!KR zdw;j@m<0ao&zDvFv662NK|{hye(ANX(6s;_1okdMw*q()*Ru$y0M-BrM&J z;WC3u4Aa7WDq@vI@FpLi(p=Cgico`mfQ~2Q{x28>7#O1f1EY!nt#_Sjfm-Vp+%d}3{v(wR%sa92$rP=S8OdJ;wds^5vs@&=NInh^5zy)AlhgChT(<9%$A1q+1+6Nm z>HL#Zp1x?`4SIPxGcw$bZWYU(v&l9w^1m6ed6PJv4@GD`ijY+vbqf`;TZTglyPAwTz> z#Wr;<_io(6m+Ax!sZoG>aetd4x|Rsx8fu4ND_>{`l4e1ah9hj78!D7|9LR~;pq}P2 z!O|UqOZXBm(zEWHpS$C7dkocFTadGz^Cjnd+!Au@sHKSus%5HPB5)f#)ewQRnfk^P0N)cNIK&mToPVNJ+o#fU%umAJ zXQ^QDu-C$;l2d5SsfnTB6kZkfB(A1U@eyB^15iaFXu7$TO}#4#M^s38Z2RDT5b7PJ`cZaDVsKyRrX2KkKr8yWZ-P zpNI00rsw4G`1MWpZz;sM1psIahsRNpQyIjNL;kGbm(j0-1RU-f001RKm`Cyv79wyt zYv3Q2B9tbday23MqeYGg60Vx=e}=>3Xa=pNMR7$f$v;2+XY}_9y!5`i{Ci>XGn3~% zKkJUwmm`9-zJCq>gOnvm9#D#W%d{z!uJ42Z05&36kdJw22*ux6mLoR}g=XlBlslSM zr~2SY10JsGf7@NNDMzXLR(tzTYb2XOyS6iuQ3V!%rGaP@CdzP}!R&Pvx^>xlBT z#M#N|g$ru8mxGB??kERb@&N#@uRW^XzxfE9f7jO@RevSQUu>`DuhWyy)9BA{zvP#LXmUp} z0J>pHRK+-LEADcOT&U%9Q(YMbMIu@P9?f%_AfNg;>2Mo&9>N4^2(MwZMft>12-@ zUF|ZSmue9E9~MR;EFV1+iC}@}XIs*6x@hK&^Y)L1!|7m^QfITFBCR2QX#G_f*r`+o#( z-8qdmX#p1GyKskLemo(zGs6n8XK?#NYE(ou9F8T3m!qx7N1zBujK4Z-3Cw$%BBY>> z2Ox6D521tzex9X7kRnR}F8MKE7~1fa65-%*P`m$PX+wF%MBsL$xgum+KngMPH< zz0Es8vkei)T`Gv>0RRwtHo$at%zqUXfID>Mh`?#>ei{z>xqE|hQA_~oydfrn#>`{C zNws_*B}HgjENp2&ji&Bx-kFF|=j=soEiF#;F;eoapxPN1TKPn1Crz<{hf9#fu54Gp z5cxTizZ56^7lUYcbhI4p1J`SgnzzXZx$s9ro7c|as~^53ho0QXn42fHlz;8#lX6p> z=Y~dgq55z*!Gk5CgM*|6Ao&0QE1zD9!ila+(+0+UB3w(@SnX6)c|xBfIQGq0EkV0oa+>4=OkpXaBvK;G1Lj%)09u53!dwdAkA7Sc=1q_>0jBN$e1vACp}xTv z!6iTB>rieR^NVkYo(oT7V!x5@J1TjN zP4+R>7^wRrC`flNa2M^U7_<9KPJFoZ9YV#IB4U3A)X zWdWR7D?r>5sGSP{=@E;>Erl#0*0*rU&kg=$TL71cSS-K~xR=;EBFU4x3}F#@6AO^D zE0`lf$$dMRcWY^JVrx7ihkVUwDk%Wv!%K@$67Dm65v^XHGjpff|TU#BSkdF5;(5ZFF*I1 z8fhKGL3z#%A(EwnR9-GPtvr=RLp}gKBIDc~x+5w1me;QVgs&_cTcpYn!IFF*7I(&JU?oEA?R;Z>fOZ^Q zl6(N0JAdOeC~+I4`MsgtwGQm=(BD~x`eqe6-P-Qep$5hcIK_}906v_G@5Zh$OQoA8 zIAx+lz%;ocsN(_tLphT&Dxa(P0*90+2Zw{2^Zo=5RChk z)TxPE@9gJ(&Ve>hENg1k&wqWBNDOAXA~@4>Uj(az-!X9Vj5QAb zEg%5ne&2tSh!oMCaTFx)PD!uHp+E5R$rS zUw|rlk((7H!?qGH@d?2q;FNmVUGzn6(;y$A6(MzC+&#-MZSoNk5yoC=K21m}j6`xy z>wjaKS&U`(**h@paiuJ*l5T{NL~-m5VEpOn;uumf=j|OwzrzkZtq&V4 z+*I=zq~FyunH4aryklJ5zDmp0*XrA6i~rl3Smzz_FVX5XJ^zF9(vrN^xY!=#I5(6*Oh8#GhCMvxH#j?)@>VDAJly;K9|0c zC1B;xM^$RSpS(9(cPILjU~YiL>#L;z^8hic}X?LQvV}MvN?k1aC&bSShP&(M$6eB9Jdm> z`WLJ_JN?q^g743~Pp)6+p1E&}q_?FNlYugWF_?Hgv*1}k-qNk-r%L*snd7tCWJz?E ziQ!_wt8FEx-!jg8{8DrZcS2;*@ymC;dey9C>r5`boN&KsnreB#wp#(~ZhUVz<9O4{ zdFLUl?pU^Kjq|P+gQumYM%5g_@i$a9w_SL2%IM*xeWfwcmCkQHV(wHWztxC|-LudP e7HJF(YwH-D=6&6;fosJckf5ilpUXO@geCwaocr(q literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/vent-extractor-mid.png b/assets/sprites/blocks/production/vent-extractor-mid.png new file mode 100644 index 0000000000000000000000000000000000000000..c7473deac1951d2abb58883e89e052f8931584a7 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoGd*1#Ln`LHy|Iz;kO2?NftE&( z$$!-sG`21XlIH0BQgD4&+;@a=fB#?xstDnm{r-UW|-@Qm( literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/production/vent-extractor-rotator.png b/assets/sprites/blocks/production/vent-extractor-rotator.png new file mode 100644 index 0000000000000000000000000000000000000000..171d04f360dda816273782f1eb25dce71c6609db GIT binary patch literal 1068 zcmV+{1k?M8P)%`*f(DW%T`I8% zEQGrz0gLP03n1BLI@#*5JCtcgb+dq zA%qY@$Ytb8u8CIPub;TDUp$}BHg^nK_m^do@{bd&h@g3YSG%6z<*Oy{j|0L#JSSE6 zkmLS3Rrukf$0q{;Q6yxCM zIm3~K&?j8WIoWu$3jje+=&BO2WbiWCJV2=P1eZ1pXW95brX=j6E+@D&^@O&J-^(N{ z#E2js(PonFgYkh(3$Z#8Tw=YVDKTOTIV!VkrJqlPvhjtkL@4JT3uSS(B>dz1=jb04 zo1|0ljTxFJ=b9vI6;u{M%2FR~ijXo^?ge4ib%2lYXg3&&?mm5X?)A>c4^d;5zgH|T zd#~#{-^7r89pJ;~2@AvFh4;#a_2Ik5HfImS8y?xgiJu?%W;$I4vdJWL*|8 z6xPb&s2qZ{+oC3_AeY|r zC4xoc14ac15fd&_wmdA*8v#;cb)Q7&jR2Pw3ZM)HP^LEmq_h~TwmPiQ8v%eg5&C3& zz^DLI(~J1|Yu5W&-C0gwZ((KqQ`A)Bi#eoq zbUYXQeqA{72_>Din3m*!cPc_~6X)c_Mo@&hp0F>6>}~JkU}yF0by1AX^o31SLB7&) za$@7cdv32Fgzp;PSX~_cYJ$24gw6y3aR!h1UT6*ro{%-(`5s#eQFUsr2~~5IMYxnl z6H_XmwvC@UX3mPp-0}1-j9)dMc15K6fQBGOsWN_Qmn%keIgO_&g4!cWDKu>{#?G%P zLbm6GoAR&yUF#y4SOEjvJW5hES8h)* zk%YC*@x(sI+{+{^)QO;dh^kJ6cW;;aTZRguAE|A8LG%99o)flWe8Kwt5kd$dgb+dq mA%qY@2qA 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 Eft<8 diff --git a/assets/sprites/blocks/special/disposable-battery.png b/assets/sprites/blocks/special/disposable-battery.png deleted file mode 100644 index e912e45d0887db710b1d197126ea024a1656bfad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 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 diff --git a/assets/sprites/blocks/special/tagger.png b/assets/sprites/blocks/special/tagger.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8efb64b25b1053317030f033e5ab6f94b8bf34 GIT binary patch literal 327 zcmV-N0l5B&P)UeHouLL7<|li&vhBBGah=MjgO{PtwWDfx(HvfnrPcZ99Nd4rd5Bc~NdL zF=k)> Z0{{q2PEApYY0Lls002ovPDHLkV1n#Zd^P|8 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/turret/endofera/end-of-era-charger-l.png b/assets/sprites/blocks/turret/endofera/end-of-era-charger-l.png index 224a5a1073f8c048cee98cf4523476c86571d533..1e25df9a7f832938e6c9ff61912e8f344118b842 100644 GIT binary patch delta 27 jcmX@hd6sj6j)0eUa9%+}Van#iyZ$%YhECpSGm!-VpY{vu delta 27 jcmX@hd6sj6j)1RUOm%g2Van#iyZ*1(Yd2$~%|sRerj`t% diff --git a/assets/sprites/blocks/turret/endofera/end-of-era-charger-r.png b/assets/sprites/blocks/turret/endofera/end-of-era-charger-r.png index 84c0fdbcc2e487ac4c659f665559782e1a2a6f21..ea0d3e915bdb6b4fc0e580f17f62f00d7886cbcc 100644 GIT binary patch delta 27 jcmX@hd6sj6jzC^PgO_*k;a&d=Q#P;rG5PF9n~5v{txpY0 delta 27 jcmX@hd6sj6jzD#FwXa{y;a&d=Q#Na}zw+N`Gm!-Vq?rrS diff --git a/assets/sprites/blocks/turret/endofera/end-of-era-shooter.png b/assets/sprites/blocks/turret/endofera/end-of-era-shooter.png index 93d520167ce7f8b2a894a963f0a52d5598365877..91fde36ace60a98d179a6815d78a175288ab1844 100644 GIT binary patch delta 30 mcmbOuI!APZj=eSg=wb#hL_b3ko(V!Uc)2i${SP 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 Zn3ChR;NaXymk~#DW@U7IR6Sp^`@fcXKUM$$ delta 2519 zcmZ8jd0Z3M7Cti$I$)^;Eh5O4;DVw=3qIMymRL7hYJq}3liCH4XM?z~2{TbFv}94K zVqc+Pajht{N>K|WMPHDo2na$;k>HChTOa!pA!Obi-|yEy-u!WA?z#7#d(J)I_uZ*n z`u)nE}q2kuwS(h_|F)1~_Gnc>m^{JACR}X#lnLG>Vv%mc` zTX2(kyhul73^WD$`Q7erE*1uYAf&;tZTI>DYCWa0!Rh`9JEra+LBgdc8ODX>9A`ME zy)x?IC!|4QQChDavB7YdE|XKw-EabKyl>CcZ9}t5?uW4LgLJlil#JSD*;CRAN*3oK z7Xnc`R{*qz1S?w%a2^OG1f(9GND!#Po5lqu@-f{{zW;$;q)RKL^(1n~rrasU|zocTBqLZJRHJa#ln8L;}$N&>bt z%jt{0#A1+yWTT|Ak4#`CH$^l!SDz+tS={SGw(a_3IOYa6dNDuixQ)IVw8+pZM-)1{E!H& z&T7N6r05VyH!qWzn!VF7J+%bG>7-j)b%4)^HTrzplN!r2Y6nK&I{sYrS%w0IMSAJOGyNB$P#!C(;o>wQSncdL#DxOA_8s`^wc0I7Hb}v454UVtH`6F(DOPcJ_j@xJMGh=-&}*h`YA$r!Q}ARVp%!?>rtmF1s+?;u7|%ieIbi9%$0RD*@S+86@Sud-!r4|v;y2bL@fZ<@dS^TW$3}2AL@T^m+sEH1}Zq_|Wk>WIkNF@S_zjwkAHsfHvyx)su*F1MQwZRAXuV)c_ z?&7G2Fsx+S5O#Y$Ept~=r_ytD?OrmQ4mhhG9xP~*e!V*|Fy=rH2_eyrOlNyvtfP6^ zhX*rK81C5U%a-(767G&~G=&Xa!&XFy>|&c#+HoN?pQ#%4@Z_GfV_N#D(7|36l-R5E zI-ftw6@muC(sjimoL=vzq*`XW)SnphBAZrWv`>>>9ACR6dS*>e(Ti%Q zR^0DI80--=-eJ0T2x8}6588pieyM$6df1CA!7$ClzWKilya(476`kNtD}%dXLbI4Ge7diensGP zkKd5>&|S%r2((O2WXGGy#qZ+u zd0WOQM%?ru?Nf8;8rfv3EDh&Ax% zKewrobk+5Z7WLePysW`XBg4fI;xY>@G zJb$-pp$w7c;WDa0P@`h=`25K|$@Nk3_+}QB3t|fAsT|c$QwVD~hgP?X&6hZ%2mF`IbDz)d-r^9b#8e^L*G0hU8f@&NvEWO&B3zB^+^d8=m6#=Go1i0``p6I?y zP*RO!Pgz5Vzn@=Md=|4zt4_%*wZSw=SIJwiAMY6ThzWI`EJPbtn2K9l4V4!hJAClC z;}w&ISw1gsgO}aqd5-mJD)nf(i9d0gC#&f_!-MQyzFCdqV`r7$ZUs93lVym|^ao<~ z(a6jbCD{d|ySb+(BJP0ipmn;Oa{=hh*0(C)=*BJMNuD3u{kSMy+3mJ@BeDz~of~_p{g;7ySA01dsV!Js5cX|A1Mv^G63M#A z9YAY^qMk>?yR1O)^A)mi?!+2Y^?nE0Y277PpmUE-H>%d?sy5-Bk28qn?|Ap*H)!Wd*oYN z_KRf7&jrU9$P#Lv;k4{JtE|mH$+^8G}7V-qX^TpB28tLR#Z{otHEbCuCs@ z+z8VeO}FMcTYHd3^qRbfH*B$-dt?yRSVkk$@U2|BfJI!-@%##lwU}Lgm&I}{G5@87 z2lepxvFEMFV^`l9pf)+ie#i{!q`Q9H3Rc};NeYpowA?#P+|qi~xk1uEThQ#0XWZfN z1)lXDbsQKG4sI#&w2SHRY~PH-o&?JqFFJ!%qj`vnN0Sb@zCB~pQ_7R=DHWrCm%2z| jpXj^EOblK<&i%|Wcb7X$GWJ=Pv4*$8c81;vmK^&pahNr6 diff --git a/assets/sprites/blocks/turret/endofera/end-of-era.png b/assets/sprites/blocks/turret/endofera/end-of-era.png index 13f96a95b3cd0bf53b1078f0a997f4fc9375bbc1..290af9a142b576b3444b02fd94173d1bff1f5bef 100644 GIT binary patch literal 4564 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 I!8s)Pzu-CvumAu6 literal 4561 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/turret/hive/hive-back-l.png b/assets/sprites/blocks/turret/hive/hive-back-l.png new file mode 100644 index 0000000000000000000000000000000000000000..72dcdf7f48b19da4049d4e5f4ebc07c0a9f9476d GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVCwXAaSW-L^Y)Hy-W3OlhKKwv z2OY~!+cJsDc64zUFuCMSXp%d^xr0HpNl(<>VdWvlj2D>#A=AQ6-kK+Q{>J8qm8&#f z|DCwc{M@?oHyl7?34=778^2f$-hZ8adVlct`ilBU8+XQ%yu2UHmpE81Y`pT2-%Clr zVR=!z{fS-&2H9Cs|N3XY-~9dmucyJEVpuQCTzXi3iJL-0-xaBU3aU(uC5yg&U@sQ5 z(Wy&Wr78O_ufF5%zYQ;TvToR@df5JJu^wa2ien#^zxmdFvw!kE=A0$ZKKSR>SMT2V znE4yS+)Tqi9UmXCT$mVkSbk2I14H_PV;_!lEGX7(msf1q99;ZEkm<#}j|Z~(?Uf!~ zTvWZeYomF)H%RX6p6aUa<@$M--p3pL2|mvBhx^5e88vunHG)JjbQPIHz$AN73|t&IIOqyXWhF=6`&t z;KZ<6Tk_umR~Dv-i&wN3#9!Y(S#EI|kayDHPxtEG+n4g~XJuUT;9LB^LY8PgplxS+ z-+t3yw@tpTg<;mL=%2q|MIXCf&+Ri;R;9r$XnO7Tz5^>0rBB3uzOU6ZWwJACK;%nK z`K`(xwze@0qPn(+%~hMW+smKNn_S$;!MH}@`Hw##EL%Z-eCBoTt-Yw@sSn-}BDXF~ z;X^L5TTflCJpY!Xh+K9Iaq z{%z3>W|M$o{|iMw1ivx(+E)MDRPi(1<@ZB(js-g}aa@xCx;Sj2^uegZ><{*T^!bFO>iQ literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/turret/hive/hive-back-r.png b/assets/sprites/blocks/turret/hive/hive-back-r.png new file mode 100644 index 0000000000000000000000000000000000000000..0a32f551de41747ca873d00d4061d4235cfa6caa GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVCwXAaSW-L^Y)Hmp0J}x!$WZw z$Md2dtrkq8vK?LAPgpptPKk(=C}?@H^pr#IEwh3i<5e%QjpgZS>1FEAey`Hl zc758t`CIqSyvqSJmoQM9v-U63jBmfr?zT_fem^E&^n4)0+}Tq97ML(GmgtoJXr9Eu za$)72hx|p#0uJrR+Wx=!bM(pM{q?(j=B;M1GA{qodh{^}|GxYD{!8-lMt_`-Gwoq5dGdPomfu&U>RK3fO_p-(+qhkjv1COW zOYna$F^A<@E)zEOIWWl17Iu84Bm}fbrD=|+3sVI{kMTa^V4IJG^Dzmxm^?lh}EVk{dP>i>WGt{hSPLy#%s z-Hp8ekMef^`k>5m;mVa$_xrb>-qW{nb2G~Yk5`-CUlX)2&0*b{{V&>eLQ&BQ1}$yd zlbg#}RxWSnUa)9q`j2HUAHE&`k~Cosw+lxCqvi4E$CXyt{^4LW2`|d~zmOxSE&kA= z3vJJ0ZY0__Nv*E$-^gyEs5-q<_&}$|-hd?xeh21wALUxG$g(-&wPh{Gnm5mWy;}1{ zYkuz>c)W*kf*Dk%Q~loCIGJqFDL*2 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/turret/hive/hive-barrel-main-heat.png b/assets/sprites/blocks/turret/hive/hive-barrel-main-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..db63908c8c7e1dce61acc6cb0990a66ed90120c1 GIT binary patch literal 1441 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/turret/hive/hive-charger-l.png b/assets/sprites/blocks/turret/hive/hive-charger-l.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a56cda84ecd5d4ddad2ac76ad647bc924eb11d GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU<~neaSW-L^Y->eUuH*vwu_BX z3QGhz?y@gpncncCSwKqBWUs>^wgi^#)z9~Sd|SOxmD~F>tJ`yXCZG`@(BQi>;y3e$ z-M`!a9zTEm9)G@|;KyH|_T0G3GT}n}as6ps4h$!KEbBJ9urPTndG_Pz9S)WWE~h_s zTMBY0G+G|lk5b-|Qz^VWwE9m+$L-yB16_hS5}c!y1P&a#;-=7WkTaox$>YVVU(0Ua z7jj_o@Bh8H{$Z7?LW9aRpuwGM1REJ9y_9Wa5PBsEWW5pvvR;G4tV>zs*yney?C;5z z=jMLU^GE#PBzrMdhJ?d4**>RCauSv$G8^+s&&a%Sz~?Yqn$$7#Wr-$+yoXJCte7O` zFbEm(O7~<+EK8ixCb%rIB~v0%$_>n{0jc4E_#77*^qXaK^J3?n(O15Klz6)OxvXeUuH*vwu_BX z3QGhz?y@gpncncCSwKqBWUs>^wgi^#)z9~Sd|SOxmD~F>tJ`yXCZG`@(BQi>;y3e$ z-M4q&J%0ZBx^?+VN{?O^?!R%DWx|E{YV}57*x2 zb1F1mpZZ+24~b z&&~ay=a2ZoN%mr_3<-y8vVBgOkLaOQuAklpB~?15(2S@i{Is=r@bsg?Y<;rGF`dlz6)OxvXyG*W literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/turret/hive/hive-heat.png b/assets/sprites/blocks/turret/hive/hive-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..7acbc4cdd5408caa61e4b8d470664465cd554d41 GIT binary patch literal 1158 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVDa^IaSW-L^Y*TPzO<`M`^WUh zE4Fy7J;L}x`a#1H#y*(|4_p-lRqn|te02?28FZLez{9q{@zEtQ#-ItamK=)XGoI|z zBmMto;jYb}YgDwimG8ax_5JIuLB}kN@HuG!sfKh`ae>UnCIWR7OuXUJzd-XbuEse9jhb@?Vw_6M^b)pOOHd|KYHz9DkY zy$}vH=?2~|`^QEMv3vA0)mSF;9GG@gefPZ>4mI%x*{=EL`FmRvf*2(N{`@Jt5Wt}( z+`x47ygYwzOM(!iM#P^Q%L@)1tN0HzJX-!Ne#b4HIr{u+a!sq44L1BJez3dZ_vReS zohRED++q;X__w{~S$sqK0r8ukiYD_pPG!^x__MyT{eb_+fBPS833-y{6cEe6CH7z9 zhp}Jv#Ix5!I972vJbbi#p8caOk8}P3rF|K`1^l^e(OdD?lDBO^7sH#KKQi~JIUD?9 zc(eJ(N{5e@vv>}^U>10)T-haNAFD6Zl%As8eQZq|LrIHaO||B~qm!rb9!%DAzF?eW z%JQJWpy9LfA%k^~j{0-8CdkSEmZ*@-?+?>u+`+xaU*hog>5tS|oeEg~@cr@0NHAhx zE^X1T|IYb(_x4BeHV-!l$Q&!(>&&`%T{ee9Rbc$pxzSsGoNN%t*>rAkpfkgy(9k>H zANA)Id>82XH+TLOk%rW2-8!QJe}k&6Y!BSJ=KEN(n6fI!`k&`)-7)czx^$bu+Q%#U z{}!9FBryJ&{dcaQ-_xoSeMisFn!Y~b`wd>Ff+ML8m#zAvco|=C{{6aNFzT9|fK=qZ z^wW>lTifpGH-2*?;)?J&y?-|AUUO^R5bpVRJL~>;;|IEjZtnTcq5nz$fP7A&TK>z+ zhr{O-{xSRD81s!YamUU3vDbTdDXstp&;ebi!>1GzuUENcq}|;b;p)d9AN6kSjyGHS zmLE91?zP)q@fA;%AIu5((D!D#O~PvZnw3A^7yW(tQ2P55-CCJBN5B5LZ`F761@nZj zH{X8|)_a*e_o{8zYCrz{FHXMxz3={$?!<2~SO1iXgef%n#3pYJT4czs!CZ^~x5qpzwyd1a_F-2QSd^z!6zCt>NCH=o4bJz{O2 zsml;`DT=|&(ro>sAA6^SF>UaD?qe!zsk%j|VO~Ma|0&_(=A!>H=WOq^b<}2zVEE7A z&vAC&%F|}^?fNgzJ5o9O26M<|A&U!57o5K{Ka{9Hc9l^kv*F}oi}Rdp2~tVzzOMpK zu@{`#c}wz3$7x2j=Lc@pHE7QGC-!K4Ykc~zXo;WynZmM@wUz%TcOYkRwfFXuF8A&# UyEI)KSiUfLy85}Sb4q9e06bqJ?*IS* literal 0 HcmV?d00001 diff --git a/assets/sprites/blocks/turret/hive/hive-preview.png b/assets/sprites/blocks/turret/hive/hive-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..70b28ad22fa0f7bcec095d8c08889fa4abad8a9d GIT binary patch literal 2572 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 XF6()&Axg>C{AB?5-5f?4og4Qz_zL-7 delta 2023 zcmb7E{X5fpAOGy@J2sCq&yq9S5<@bhFqy|F9jjP{SjR&}MLIdN>3lco5Dp{CQ>?q9 zgmQLB4%s~1N)L3FQi@e7@{p$?b#m|i;r;{e*Dvqu{kq=Q^?tvu>-B!k=`QF9NeF;X zcm)Jwlt{%yX9A#hBf!Tqm{UG=(Y-+51?P7Tt1VE%DPw4mH0j{{Y}m2UNmW(#He0Ld zz}R?YL16)Po@f7)rfTtdYWpTi$jOs!U%yr&?L(`n%L`9HA&2`X;U?cVa0}a z0W9j0jW5i7DDwvtdPxalfx0#~kHcUY`6G+KAH=o3fJrE;SwG-N25alp*}uUe=?>IG zA^3D+kCNlRr0YvGv7!y1^S*b=#=9#jJysXnlnaJWsl1L0;5d$$QWT1Q^~9=}b%PCF zwOzNa%(CG~RXh*y!wA4%)~0sP z@5&}*%2!aDSqt)<{j)w3uUdLo*-M`I)zDt$l(ts20y`^O_<>wIf&^WpvMc3S8$n_~ zQN8-MoNi^$`1~Sgn_&E6c1MY54k|uO`+H4MX#j>@C1dIo#;qgqOIT67oj39eK`dA6 zm}i4?l5)s-MYqN&Utbb<`^|G^{h3;T#4fFgwAQE0PkM#|@dWCcv3gNT6LCIyjCT$8 zjH$3AFxEe**VmigGO8osW*Yt~E{^I25Do8gD8I+h06s+UmQZsX@R&qlptP6v?6p$b zX+Y3|__T1f;`F7Il-!Ar^2JQ@a(7PluJEyzzQ1*PoMh+ZhX5({$emKemUJU(d@DI+ z-fFL|dAR5DknymJ53;vnlP+XS(CAJ%dRG{h?Gdpa{pvBac0YE5+T#Srque>% z2Z!qy=%Ltpt#TQ!Wnon6WC2B2*ZO~Bb$sF#Cfo4SN?o@hl z)VR7NB$CthDaY0W_JW$bbB`Q(p+Z1~|6!vymPB((fPse3R|%X3BL>bu4}5_dOFU)L7= zVK5lqTB2>gC3U4ZuJter49xIWYYn1J6HHN52NEdpD#F5vv9Zj2Nu@Ppbt?F6JPQsE zN!#~T{TCDlse7K)rHKtkXX3vP9JEM=lN9lOF5-9Y+M7_ARj!b2W~8iJgzOyZL4kfJ z;)jGlI=z@%1^#b5^o|FbFn~}M#V}Q#ivw3Y|BuEsle3-ORr6wOFe;JzOZ*AWOs)A20L_7~~y2tyys5>th`+HJ`jy*sSS*yMZv znCg}^LPahb`e#Z|AzG_}I5y;%wr%;N(2suvHDh*j?$yC_pRDso?xt#;aDIy^Nt63F zxm52%JvOsWY_g0N#l4nc*~#twCS}4iSto-|Virnk(S1KQwp53sK&w(?>{pBaHnHo# z`7k7exWt)IpBXERt=e6YcyY{q*i!Q3?B@-*g>#pB!eGMF#QXJuwnqG!PP^pjsOup8 z2lED3(gS$x;^4Fx?hi`%%-V)qaRqPsf)>nwGazu^$T#QnOm^|_p-*r5*CMSP?9@QN z^O-zqg(4baQqMknXARLkkYnFHo~WzLk0IlV+SF!^M4N90303@GxpNyy>+2!<$|K|` zlpcAZg3kHaJvG(8RfmV6w^l7BT0PBpw`ex6k|S4S|I9%%HIVc&H)4(jWNstvS7$5_ zeZSjlOmv{6-UjK&lhW)B4*%%H#VgaI+|hN$IOIf;nfr z82TRuy;4xQ&f(U^Pe+a3qc?`Fp6xUdS$YUl-2U9=9VW6Q+5m~2(!1k$`On;0b2SOB z&1kA+NomFHEjsrvuA8oR4OXT%X-{p2wt!j(BaS^Sm$j9F|KOQgbn$zuXIT#Qwcd?i zCc9$v%_Okn?c6KoVEa zo(jsH#&Ya&R}Mz6V*o49n=l5%jO7EANWTtG0EL%*A(&raR-`0sx000;k4RV?=sghx n!2o+KfDZ_rPD diff --git a/assets/sprites/blocks/turretBase/end-of-era-base.png b/assets/sprites/blocks/turretBase/end-of-era-base.png new file mode 100644 index 0000000000000000000000000000000000000000..fba30042b3a90f02e59318b027508dc201129d34 GIT binary patch literal 4511 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 Y?zMezqstBG;srQvWoP;HFe%}`07E7?DgXcg literal 0 HcmV?d00001 diff --git a/assets/sprites/pre-processed/nucleoid-full.png b/assets/sprites/pre-processed/nucleoid-full.png index 422332f85ef1c725af421cf8edfb29d9645ab6d6..6fc1c377530ebaf5035f5f87e08b71dc915f2ee5 100644 GIT binary patch literal 93413 zcmcG$`6HBj_&)w%(l{YQAzOx2Dti${LaWjuMZ%P58Dom<45=(x+mIzWof6qfMhu3N zrLtDCO=Dy)%b0A#3_kax^L~Fmf57*9emdrPp4anwUdw%7_jO&bB9B`g5c^B+F9bov z4jr^Oi6BCi2qN5r6^38(&5YoJGIGdb?t9zX;OrHBr*13JXezQ-Z@arlbXQ{M?em|rR-4RJWtzyoIi~9H&z0)Dr!PZaNOU~R zT>0#Mi`c&8?eD&9iZt_Gedmqn)!|z+$_IYBT(l_DQmKewM{y~84t@xnbF7~2bt#`+ zoUVy_xdnRk|IdFH{PELB2+4>t@Gajg&u3;>s@WVtw*4!AOgXz{f+YDbf;2SBTPY{M z=GaSB!5=?^4;do_`4_cX=oPnB+IIH*C#k9DXx(#jHAVGGCVcLvX4jhnNK(`~0^xoO zcLfsCiqV#M1plLaMo?BZ*O0fBB7l5&jKDZQ#R|$INQerS0H1ePIYa`MoG4E zghb`_wo|Niq(qU*FBomNbFqKMYuh2@ec1L(!Jbi0G-Dwo{yristrjYP9NdQpMWF-w zk8;S(4Hnu6VkuQ=s;dJ1Q4=8$bYkb>#fJrDZ6CsNR9-6}y3Gm$kB1^*|305r$b%mV zR|IAMN|;wZ_1`m_Pu=AnRs4=1504_|H&2GW{O`d#AMvK1vO)+lfU7(nPn|e2ZFmm8 z3hm_@l}v7KBn*ARhL8-Tq?-JzM;LkPCMc_~naFKC&s=Wneb|6B-7rP~3HgmBY(8l9 z?Gtf_}HN5GJF3xQ*3~bm2 z#P598YXs>xgPDnB{l2Y~Myq%tA&eZpAanWY1Fl1&PUeeb52LL}ND;2mbSsCZX>E2I z2LE}%s_oZe;5xN#q`$xaQ*$G;dp#`oF5OXaF~ltmmV16YcVVh<)2is(5{+DvCvS$> zuBiu0!YvIE_K#$h?Rd6h1BD0^wmAk7Hi~48!3r=vgwbv}%y+kJSAU&-7~V4=QCYd8 z*C!=xzcy0Yh9&g;#i5bRRXVn5BLzDIWqqyq2^m`O>C_{Lkc~|w>q`Uyd1@gjD?z^l zqiK2tqg`+Y_N4KA{~e4uUKi&2p#>sTUd^6?nR>cLPS=St$KZUurrQJ3W&ayqz_2^c`;0ZM% z`xRH?>q<5~5go-s$;#vJ@~|(q!E>8$BEp+fAs8OUhY0+&ks=UsA4>=^i*!PsZifvm zqZf+#=I@(>gh+}IHg_oCHst&s(h)=sd#OU4-aZ)pbai)dzW-!y@g;i`X0--lYM=-G zP*XV+A%Mio>s1!0)a94We`|HQefvuEbnA$mk(2_FX`O~H2Wov?Y(CM?I-%rtNnKm9 z1A<(btQ9&rGmwaXopoj+wz*>*iGPtwiSC`I zFS>eXXU5u3in{1Pc+Co*`2O?fm5~80`c&`BfuQ-$2TiQB)YKz#Uu`o+Vl-wJ(5c!? zmQyxYt0ij;VU^_RMO3WSTDp1r`ucOT=tSYm&WAKSRG=3rsQO;zw|T4j9_D*9XZZZy zE*F`&=Ckd4ZYWq6G2@tH{=OsJE;emZx+?*qZb(q-N?BbM3cXGGdRA&`sznqldwwJL zg~iZAMs1mv_0e^f+00^r5HG39co9y3jTKIT5${WEx>1XzyZSa2*?X{zF5LF@wC@iz zaY2+<3(D#$Qy2r1RX&cvs`V}ch;}p*R$Wb|YwVk7aoMJ$N816JFvJAzQ>ElH%rJG> z%jp5-P5J^z*t>iF$niIWZr_r)jXxtks=b?>m;bg9;IoqD`qI#ZN3+?qY10{MJ7;S? zWgwyjF-52L0=g3a6(QKFb7&4Gyj^L{fo^-l2qv}&nrkR)UgH_ zWE-^*f%|fD^rHK!JNql5Aap>?I(YFQe{nRE{)#g5mE};9Q;l`+9-@w&MB~^4xJ4xa=Nd2yjp9)Ocf1j4-X+i&}i%> zh5+J#(KdC(e7`}(BQ5(8p=~e6dd|?=B-|m*Hq$+*Wcw~LIpmXSh=8>2Oe)>*%6{@V zuB;xHA%F;o7KBi_#)gLLigM`uS9_9-Qcsj#FxZEQV+xZP=P*L1hS0X4Wi9(hZr_QK zvtN>QYNO$kL=8@^Mn2RhdtXuP9Uj*1EKMn-s|$`!v|ab&aNRi5VFz);=tL+b_MLHD z__d56Oe7G(3D=ODLsU7sO;IdQx(~4p%1G}!a*dUAfuC6;C%#1(*>(U8&bg`*nV;rN zYDJ5REGE7$BLdT-h>%_Qc{juE_7+p#=VMAMwLC9l*t?9st|8UOuBB%%EdC6BhOeRU zkMAC(&7RfdT&)cZE0OI7FsqHHza~9)g3xvwVoE`(*|jUgQg+bIVm3uIrl;g+B&&jF zG`I)*Ct0^93trPCb_nA$=Ofou>0G**QlGq)LbPs<8x5>P3W6ZsybYVMKitIlTVvS6 z_|b{KNU%tS5OkZ!ZtxBnxN)kt=$&uiX})*LqB&^S?4pNVl}kenz# zYetuzw8@PjraK`id@?@W_Edx7+12PhtK%NkW9yxm_LXJBaE9zgU|_VbHGaAGrp9{y zb~XEh5QuIB%pX{?* z>8g}O{WBOJQlSIntxswpH!s43H+Hhr_2~G$iRLX$8vQ0=Zm*KD!XdgM1m(!wTDFO^ zcfjHV(>{&<>ixuGIqg|p>m{GW!Mv~1-x8ar=Q`&rruSWA>HpGok-32o(jfo6JK0y< z_+VvoXr7FuFCO>ZCv8_g{q=0+@kZ?UGUEKzG(v9B?>>8(ALdR(2sC(RGbg~IL3?CX zZ3S!0L=%rY7rZ05of=(H7dYx0p8O^zZ57OuIp9kiojDlW)56WY^F-yc6MrW68QBd` z9y%@hFfF)VA9{(3?`3{lt%7VeTR#JrYR_+je3}D;;hN~l_g3t7H{W;unxI0twF3!vP z(oP>Sk&dKd(%tLp&BV~*z;G0ly}V<)YYlsm%ajST?$vbVw>33u3D=CajD#n9 zte<7RFm!}n$=C?%H{--sN?jc}T4?W`+drBq^R!==_AEF|lqN_T<>m2Yoq2%6Hp5r@ zD|Q=o^B%qW-dC(Y`#FA3;B4C@JJVvKUaMU8hTTi%>(N-9Qw?JqLj|6S3d(l;bLv2V zcqA)*Valhy*5C}L_>M~s79vIw9=F>iKv7YVnzv^Igk8v9m0RG?8Hz@RAx|D6c!{cS zL(bJirb9fsgSK+yCnxLh&QIWq4$e(l7HNZ+^y&elB#<#0#p*gY>*91!+>U&(M?A78 zXe4&sIIm3}P+z4ttQng&2|8)sdslb)v13ZRQ_AvMLPR?g%>UKzFU^Q^ipF*`6M{w> zIXwiVayKkhIr~T!8jpv|DfXD~FivwYx4gW4ZeU?g;9?LAOC@cFq z^hbV9DIcl!r zJFMA{kBfY^R|x$yWujp%yW-iN;&pO#ozYst2hBQwD*=78XZBRsEyOMH*{_y3=}SS= zuhz3h%g1Z_3ZK@IecW_Rgp8p^Lkk*ZduTz{+`DL@<{5jx!z{Y3dkrk?C&r_Cj?>GQ z!aw&FlkH=fI}{OH1L$y8H8;2D4x>YRk;bCS1u`qXE=}EWXR*UlPhS3D>l4FtL<0{1 z;ZZj=N=lf*#VZCqW*5fO;!Nn?ost05)3R{iy;;d&?)k|=P6DQO8148+5KqP^OTC|c zb~)#b6_(O6-d*H}o%3L!9?78{!fse*}VDReOxf2cubL zVi4oPFzXb{`P(d%nK9*3Hjne)_ju(PQ|fX8u40NsI%jBc8Qc{i zW6+J0#2D7#wre&)iigd;Clw{Df-+`*(2BEHv&z?&ANa@16a4>r&yi*`Ymr$02stzppj6uO=(99h&zneWhdK z)cZ?GBX08cP9J8Ov+9HXfXxH31l!15i@ww2brP@NXNy;=*Na86&K~R#7a72hxM#CH zN3qg$m80Xo{qawW<|^f4v)2 zkLWTh_Unwd))CWb_m+g`r3FMGA2AB$&*}6LeeBRR^dRv}_$aH4o1S-Wv3Y4q>r93B zxAquZ6>au>-q;3;z|-A;Hq|KYS$-ROop#TU7me(O&2TcXNTblvy@8v%L-pO!Nu$>) z?})p+NVg;$81#}O2ObHBjNvNd@f?~v1QQ#Eu5(W2NMT73?)x-NeI+fs(QD7FhBaTX zQlELy80p!`r&{>naWCq=IV*UbWYUQQPENn{$Gekt?H$-B9x1JbuMA1S2*D4yk?PZZvjd5aWxppg(~Ua=Qs8^t z^*L+xLOtVPUC)qB5`vdFvqN%{NP&caXoLGJ4nu82XyOgXW!)^`Z)QyPFQ?p~`uyw# z=W}P>cCA zRr35EKm$uL6N>q6kPC=zcv(CERP@fX6 z(C})E!&{xdFx$frLgpkZOW4pQ`lWD=Bn?sC`1%t?XM%}l5#91V3~{4OoiI9 zU4BQHivBs9RzI=PTI^w*(c}S=+DkKE>P!p9IyR>>=fZy_&Mr-Sdeil`hK&Z-cBuyt zLf#|^2q(SttL_;*k>RPmK|7No9XPCevWA>K=**p6AH3)DK_nyzqg^Q)wtqshaNKg= zHFwUg8;n8jdRfF&K~R?P6w*VxCUF;=Y=6)=kjp8mPxwAiCf+o7FNF~u*%Qxb9dYy+ zEGEep8%vYo9(TfUhzp2no8@3(%GC>BqY#OhI1M9kSVs@tbh}?X z_Kh#<#+aX1c{k?M=u&M|?B2fcM6&8%8RQe>05_5vh1l3)WNcjSoi-RWewRgMGe%dv z$Di+#E;aYQ*Ik?!0nj2Lafz9YUZhW^2vVcIt+ z6p4ujiA;mopfIR$r_a~~^B0+HC&e;xgrEqiHb%0ySX!6Y!9OzM&i85z8&AOnaVPqk zhQEu|FyqD0Q5)^1ZXM;-o){_J6U4yx6KwGeM-+TRxv)yDh8&R>5B)6hIn$$lAl$^* zn3PsC7S%�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