From 2ff749bd17ffe21425e23d40f54e2eac6b98f86b Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 19 Oct 2020 11:12:40 -0400 Subject: [PATCH] Unified stat system --- core/assets/bundles/bundle.properties | 119 ++++++------- core/assets/bundles/bundle_be.properties | 86 ++++----- core/assets/bundles/bundle_cs.properties | 88 +++++----- core/assets/bundles/bundle_da.properties | 86 ++++----- core/assets/bundles/bundle_de.properties | 86 ++++----- core/assets/bundles/bundle_es.properties | 86 ++++----- core/assets/bundles/bundle_et.properties | 86 ++++----- core/assets/bundles/bundle_eu.properties | 86 ++++----- core/assets/bundles/bundle_fi.properties | 86 ++++----- core/assets/bundles/bundle_fil.properties | 86 ++++----- core/assets/bundles/bundle_fr.properties | 86 ++++----- core/assets/bundles/bundle_fr_BE.properties | 86 ++++----- core/assets/bundles/bundle_hu.properties | 86 ++++----- core/assets/bundles/bundle_in_ID.properties | 88 +++++----- core/assets/bundles/bundle_it.properties | 86 ++++----- core/assets/bundles/bundle_ja.properties | 86 ++++----- core/assets/bundles/bundle_ko.properties | 86 ++++----- core/assets/bundles/bundle_lt.properties | 86 ++++----- core/assets/bundles/bundle_nl.properties | 86 ++++----- core/assets/bundles/bundle_nl_BE.properties | 86 ++++----- core/assets/bundles/bundle_pl.properties | 86 ++++----- core/assets/bundles/bundle_pt_BR.properties | 86 ++++----- core/assets/bundles/bundle_pt_PT.properties | 86 ++++----- core/assets/bundles/bundle_ro.properties | 88 +++++----- core/assets/bundles/bundle_ru.properties | 89 +++++----- core/assets/bundles/bundle_sv.properties | 86 ++++----- core/assets/bundles/bundle_th.properties | 86 ++++----- core/assets/bundles/bundle_tk.properties | 86 ++++----- core/assets/bundles/bundle_tr.properties | 86 ++++----- core/assets/bundles/bundle_uk_UA.properties | 88 +++++----- core/assets/bundles/bundle_zh_CN.properties | 86 ++++----- core/assets/bundles/bundle_zh_TW.properties | 86 ++++----- core/src/mindustry/core/GameState.java | 2 +- .../mindustry/ctype/UnlockableContent.java | 21 ++- .../game/{Stats.java => GameStats.java} | 2 +- core/src/mindustry/input/DesktopInput.java | 2 + core/src/mindustry/io/SaveVersion.java | 2 +- core/src/mindustry/type/Item.java | 9 +- core/src/mindustry/type/Liquid.java | 11 +- core/src/mindustry/type/Planet.java | 6 - core/src/mindustry/type/SectorPreset.java | 6 - core/src/mindustry/type/UnitType.java | 24 ++- core/src/mindustry/type/Weather.java | 6 - core/src/mindustry/ui/ContentDisplay.java | 165 ------------------ .../ui/dialogs/ContentInfoDialog.java | 59 ++++++- .../mindustry/ui/dialogs/GameOverDialog.java | 2 +- core/src/mindustry/world/Block.java | 28 ++- .../world/blocks/campaign/LaunchPad.java | 2 +- .../world/blocks/defense/ForceProjector.java | 10 +- .../world/blocks/defense/MendProjector.java | 8 +- .../blocks/defense/OverdriveProjector.java | 10 +- .../blocks/defense/turrets/BaseTurret.java | 2 +- .../blocks/defense/turrets/ItemTurret.java | 6 +- .../blocks/defense/turrets/LaserTurret.java | 8 +- .../blocks/defense/turrets/LiquidTurret.java | 4 +- .../defense/turrets/PointDefenseTurret.java | 2 +- .../blocks/defense/turrets/PowerTurret.java | 2 +- .../blocks/defense/turrets/ReloadTurret.java | 2 +- .../defense/turrets/TractorBeamTurret.java | 6 +- .../world/blocks/defense/turrets/Turret.java | 10 +- .../world/blocks/distribution/Conveyor.java | 2 +- .../blocks/distribution/StackConveyor.java | 2 +- .../world/blocks/liquid/LiquidJunction.java | 2 +- .../world/blocks/logic/LogicBlock.java | 4 +- .../world/blocks/logic/LogicDisplay.java | 2 +- .../world/blocks/logic/MemoryBlock.java | 2 +- .../world/blocks/power/ImpactReactor.java | 2 +- .../blocks/power/ItemLiquidGenerator.java | 2 +- .../world/blocks/power/NuclearReactor.java | 2 +- .../world/blocks/power/PowerGenerator.java | 2 +- .../world/blocks/power/PowerNode.java | 4 +- .../world/blocks/power/ThermalGenerator.java | 2 +- .../blocks/production/AttributeSmelter.java | 2 +- .../world/blocks/production/Cultivator.java | 2 +- .../world/blocks/production/Drill.java | 26 +-- .../world/blocks/production/Fracker.java | 2 +- .../blocks/production/GenericCrafter.java | 6 +- .../blocks/production/LiquidConverter.java | 4 +- .../world/blocks/production/Pump.java | 2 +- .../world/blocks/production/Separator.java | 4 +- .../world/blocks/production/SolidPump.java | 6 +- .../world/blocks/sandbox/PowerVoid.java | 6 +- .../world/blocks/storage/CoreBlock.java | 14 +- .../world/blocks/units/Reconstructor.java | 4 +- .../world/blocks/units/RepairPoint.java | 2 +- .../world/blocks/units/UnitFactory.java | 2 +- .../mindustry/world/consumers/Consume.java | 2 +- .../world/consumers/ConsumeItemDynamic.java | 2 +- .../world/consumers/ConsumeItemFilter.java | 4 +- .../world/consumers/ConsumeItems.java | 4 +- .../world/consumers/ConsumeLiquid.java | 4 +- .../world/consumers/ConsumeLiquidFilter.java | 4 +- .../world/consumers/ConsumePower.java | 6 +- .../mindustry/world/consumers/Consumers.java | 2 +- core/src/mindustry/world/meta/BlockStat.java | 68 -------- core/src/mindustry/world/meta/Stat.java | 82 +++++++++ .../meta/{StatCategory.java => StatCat.java} | 2 +- .../meta/{BlockStats.java => Stats.java} | 55 ++++-- .../world/meta/values/BlockFilterValue.java | 37 ++++ .../world/meta/values/BlockListValue.java | 33 ++++ .../src/mindustry/desktop/steam/SStats.java | 2 +- 101 files changed, 1815 insertions(+), 1815 deletions(-) rename core/src/mindustry/game/{Stats.java => GameStats.java} (99%) delete mode 100644 core/src/mindustry/ui/ContentDisplay.java delete mode 100644 core/src/mindustry/world/meta/BlockStat.java create mode 100644 core/src/mindustry/world/meta/Stat.java rename core/src/mindustry/world/meta/{StatCategory.java => StatCat.java} (91%) rename core/src/mindustry/world/meta/{BlockStats.java => Stats.java} (55%) create mode 100644 core/src/mindustry/world/meta/values/BlockFilterValue.java create mode 100644 core/src/mindustry/world/meta/values/BlockListValue.java diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 196b6e87af..6295b8e928 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -581,50 +581,62 @@ error.title = [scarlet]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} -blocks.input = Input -blocks.output = Output -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Power Capacity -blocks.powershot = Power/Shot -blocks.damage = Damage -blocks.targetsair = Targets Air -blocks.targetsground = Targets Ground -blocks.itemsmoved = Move Speed -blocks.launchtime = Time Between Launches -blocks.shootrange = Range -blocks.size = Size -blocks.displaysize = Display Size -blocks.liquidcapacity = Liquid Capacity -blocks.powerrange = Power Range -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Power Use -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Item Capacity -blocks.memorycapacity = Memory Capacity -blocks.basepowergeneration = Base Power Generation -blocks.productiontime = Production Time -blocks.repairtime = Block Full Repair Time -blocks.speedincrease = Speed Increase -blocks.range = Range -blocks.drilltier = Drillables -blocks.drillspeed = Base Drill Speed -blocks.boosteffect = Boost Effect -blocks.maxunits = Max Active Units -blocks.health = Health -blocks.buildtime = Build Time -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Build Cost -blocks.inaccuracy = Inaccuracy -blocks.shots = Shots -blocks.reload = Shots/Second -blocks.ammo = Ammo -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time + +stat.input = Input +stat.output = Output +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities +stat.powercapacity = Power Capacity +stat.powershot = Power/Shot +stat.damage = Damage +stat.targetsair = Targets Air +stat.targetsground = Targets Ground +stat.itemsmoved = Move Speed +stat.launchtime = Time Between Launches +stat.shootrange = Range +stat.size = Size +stat.displaysize = Display Size +stat.liquidcapacity = Liquid Capacity +stat.powerrange = Power Range +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Power Use +stat.powerdamage = Power/Damage +stat.itemcapacity = Item Capacity +stat.memorycapacity = Memory Capacity +stat.basepowergeneration = Base Power Generation +stat.productiontime = Production Time +stat.repairtime = Block Full Repair Time +stat.speedincrease = Speed Increase +stat.range = Range +stat.drilltier = Drillables +stat.drillspeed = Base Drill Speed +stat.boosteffect = Boost Effect +stat.maxunits = Max Active Units +stat.health = Health +stat.buildtime = Build Time +stat.maxconsecutive = Max Consecutive +stat.buildcost = Build Cost +stat.inaccuracy = Inaccuracy +stat.shots = Shots +stat.reload = Shots/Second +stat.ammo = Ammo +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time +stat.explosiveness = Explosiveness +stat.flammability = Flammability +stat.radioactivity = Radioactivity +stat.heatcapacity = HeatCapacity +stat.viscosity = Viscosity +stat.temperature = Temperature +stat.speed = Speed +stat.buildspeed = Build Speed +stat.minespeed = Mine Speed +stat.minetier = Mine Tier + bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources @@ -875,6 +887,7 @@ content.item.name = Items content.liquid.name = Liquids content.unit.name = Units content.block.name = Blocks + item.copper.name = Copper item.lead.name = Lead item.coal.name = Coal @@ -896,23 +909,6 @@ liquid.slag.name = Slag liquid.oil.name = Oil liquid.cryofluid.name = Cryofluid -item.explosiveness = [lightgray]Explosiveness: {0}% -item.flammability = [lightgray]Flammability: {0}% -item.radioactivity = [lightgray]Radioactivity: {0}% - -unit.health = [lightgray]Health: {0} -unit.speed = [lightgray]Speed: {0} -unit.weapon = [lightgray]Weapon: {0} -unit.itemcapacity = [lightgray]Item Capacity: {0} -unit.minespeed = [lightgray]Mining Speed: {0}% -unit.minepower = [lightgray]Mining Power: {0} -unit.ability = [lightgray]Ability: {0} -unit.buildspeed = [lightgray]Building Speed: {0}% - -liquid.heatcapacity = [lightgray]Heat Capacity: {0} -liquid.viscosity = [lightgray]Viscosity: {0} -liquid.temperature = [lightgray]Temperature: {0} - unit.dagger.name = Dagger unit.mace.name = Mace unit.fortress.name = Fortress @@ -1324,5 +1320,4 @@ block.cyclone.description = A large anti-air and anti-ground turret. Fires explo block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. - +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index f62aba4377..590d8094f2 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -570,49 +570,49 @@ info.title = Інфармацыя error.title = [crimson]Адбылася памылка error.crashtitle = Адбылася памылка unit.nobuild = [scarlet]Unit can't build -blocks.input = Уваход -blocks.output = Выхад -blocks.booster = Паскаральнік -blocks.tiles = Неабходныя пліткі -blocks.affinities = Павелічэнне эфектыўнасці +stat.input = Уваход +stat.output = Выхад +stat.booster = Паскаральнік +stat.tiles = Неабходныя пліткі +stat.affinities = Павелічэнне эфектыўнасці block.unknown = [lightgray]??? -blocks.powercapacity = Умяшчальнасць энергіі -blocks.powershot = Энергія/Выстрэл -blocks.damage = Страты -blocks.targetsair = Паветраныя мэты -blocks.targetsground = Наземныя мэты -blocks.itemsmoved = Хуткасць перамяшчэння -blocks.launchtime = Інтэрвал запускаў -blocks.shootrange = Радыус дзеяння -blocks.size = Памер -blocks.displaysize = Display Size -blocks.liquidcapacity = Умяшчальнасць вадкасці -blocks.powerrange = Далёкасць перадачы энергіі -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Колькасць злучэнняў -blocks.poweruse = Спажывае энергіі -blocks.powerdamage = Энергія/страты -blocks.itemcapacity = Умяшчальнасць прадметаў -blocks.basepowergeneration = Базавая генерацыя энергіі -blocks.productiontime = Час вытворчасці -blocks.repairtime = Час поўнай рэгенерацыі -blocks.speedincrease = Павелічэнне хуткасці -blocks.range = Радыус дзеяння -blocks.drilltier = Бурит -blocks.drillspeed = Базавая хуткасць свідравання -blocks.boosteffect = паскараўся эфект -blocks.maxunits = Максімальная колькасць актыўных адзінак -blocks.health = Здароўе -blocks.buildtime = Час будаўніцтва -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Кошт будаўніцтва -blocks.inaccuracy = Роскід -blocks.shots = Стрэлы -blocks.reload = Стрэлы/секунду -blocks.ammo = Боепрыпасы -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Умяшчальнасць энергіі +stat.powershot = Энергія/Выстрэл +stat.damage = Страты +stat.targetsair = Паветраныя мэты +stat.targetsground = Наземныя мэты +stat.itemsmoved = Хуткасць перамяшчэння +stat.launchtime = Інтэрвал запускаў +stat.shootrange = Радыус дзеяння +stat.size = Памер +stat.displaysize = Display Size +stat.liquidcapacity = Умяшчальнасць вадкасці +stat.powerrange = Далёкасць перадачы энергіі +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Колькасць злучэнняў +stat.poweruse = Спажывае энергіі +stat.powerdamage = Энергія/страты +stat.itemcapacity = Умяшчальнасць прадметаў +stat.basepowergeneration = Базавая генерацыя энергіі +stat.productiontime = Час вытворчасці +stat.repairtime = Час поўнай рэгенерацыі +stat.speedincrease = Павелічэнне хуткасці +stat.range = Радыус дзеяння +stat.drilltier = Бурит +stat.drillspeed = Базавая хуткасць свідравання +stat.boosteffect = паскараўся эфект +stat.maxunits = Максімальная колькасць актыўных адзінак +stat.health = Здароўе +stat.buildtime = Час будаўніцтва +stat.maxconsecutive = Max Consecutive +stat.buildcost = Кошт будаўніцтва +stat.inaccuracy = Роскід +stat.shots = Стрэлы +stat.reload = Стрэлы/секунду +stat.ammo = Боепрыпасы +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Патрабуецца свідар лепей bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Вялікая турэль, якая можа ве block.spectre.description = Масіўная двуствольное гармата. Страляе буйнымі бранябойнымі кулямі па паветраных і наземных мэтах. block.meltdown.description = Масіўная лазерная гармата. Зараджае і страляе пастаянным лазерным прамянём ў бліжэйшых ворагаў. Патрабуецца астуджальная вадкасць для працы. block.repair-point.description = Бесперапынна лечыць бліжэйшую пашкоджаную баявую адзінку або мех у сваім радыусе. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 8bcd567380..f9f98951dc 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -572,50 +572,50 @@ info.title = Informace error.title = [scarlet]Objevila se chyba[] error.crashtitle = Objevila se chyba unit.nobuild = [scarlet]Jednotka nemůže stavět -blocks.input = Vstup -blocks.output = Výstup -blocks.booster = Posilovač -blocks.tiles = Vyžadované dlaždice -blocks.affinities = Synergie +stat.input = Vstup +stat.output = Výstup +stat.booster = Posilovač +stat.tiles = Vyžadované dlaždice +stat.affinities = Synergie block.unknown = [lightgray]???[] -blocks.powercapacity = Kapacita energie -blocks.powershot = Energie na 1 výstřel -blocks.damage = Poškození -blocks.targetsair = Zaměřuje vzdušné jednotky -blocks.targetsground = Zaměřuje pozemní jednotky -blocks.itemsmoved = Rychlost pohybu -blocks.launchtime = Čas mezi vysláním -blocks.shootrange = Dostřel -blocks.size = Velikost -blocks.displaysize = Velikost zobrazovače -blocks.liquidcapacity = Kapacita kapalin -blocks.powerrange = Rozsah energie -blocks.linkrange = Dosah napojení -blocks.instructions = Instrukce -blocks.powerconnections = Nejvyšší počet spojení -blocks.poweruse = Spotřeba energie -blocks.powerdamage = Energie na jednotku poškození -blocks.itemcapacity = Kapacita předmětů -blocks.memorycapacity = Kapacita paměti -blocks.basepowergeneration = Základní generování energie -blocks.productiontime = Čas produkce -blocks.repairtime = Čas do úplné opravy -blocks.speedincrease = Zvýšení rychlosti -blocks.range = Dosah -blocks.drilltier = Lze těžit -blocks.drillspeed = Základní rychlost vrtu -blocks.boosteffect = Účinek posílení -blocks.maxunits = Nejvýše aktivních jednotek -blocks.health = Životy -blocks.buildtime = Čas stavby -blocks.maxconsecutive = Nejvýše po sobě -blocks.buildcost = Cena stavby -blocks.inaccuracy = Nepřesnost -blocks.shots = Střely -blocks.reload = Střel za 1s -blocks.ammo = Střelivo -blocks.shieldhealth = Zdraví štítu -blocks.cooldowntime = Čas na zchladnutí +stat.powercapacity = Kapacita energie +stat.powershot = Energie na 1 výstřel +stat.damage = Poškození +stat.targetsair = Zaměřuje vzdušné jednotky +stat.targetsground = Zaměřuje pozemní jednotky +stat.itemsmoved = Rychlost pohybu +stat.launchtime = Čas mezi vysláním +stat.shootrange = Dostřel +stat.size = Velikost +stat.displaysize = Velikost zobrazovače +stat.liquidcapacity = Kapacita kapalin +stat.powerrange = Rozsah energie +stat.linkrange = Dosah napojení +stat.instructions = Instrukce +stat.powerconnections = Nejvyšší počet spojení +stat.poweruse = Spotřeba energie +stat.powerdamage = Energie na jednotku poškození +stat.itemcapacity = Kapacita předmětů +stat.memorycapacity = Kapacita paměti +stat.basepowergeneration = Základní generování energie +stat.productiontime = Čas produkce +stat.repairtime = Čas do úplné opravy +stat.speedincrease = Zvýšení rychlosti +stat.range = Dosah +stat.drilltier = Lze těžit +stat.drillspeed = Základní rychlost vrtu +stat.boosteffect = Účinek posílení +stat.maxunits = Nejvýše aktivních jednotek +stat.health = Životy +stat.buildtime = Čas stavby +stat.maxconsecutive = Nejvýše po sobě +stat.buildcost = Cena stavby +stat.inaccuracy = Nepřesnost +stat.shots = Střely +stat.reload = Střel za 1s +stat.ammo = Střelivo +stat.shieldhealth = Zdraví štítu +stat.cooldowntime = Čas na zchladnutí bar.drilltierreq = Je vyžadován lepší vrt bar.noresources = Chybějí zdroje @@ -1312,4 +1312,4 @@ block.cyclone.description = Velká protiletecká a protipozemní střílna. Pál block.spectre.description = Velká střílna s kanónem s dvěma hlavněmi. Střílí velké náboje, které pronikají brněním jak pozemních, tak vzdušných nepřátelských cílů. block.meltdown.description = Masivní laserový kanón. Nabije se a pak pálí nepřetržitý laserový paprsek na nepřátele v okolí. Vyžaduje ke své funkci chlazení. block.repair-point.description = Nepřetržitě léčí nejbližší poškozenou jednotku v poli své působnosti. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 0e9d2ce889..b65afebcd3 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build -blocks.input = Input -blocks.output = Output -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Input +stat.output = Output +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Power Capacity -blocks.powershot = Power/Shot -blocks.damage = Damage -blocks.targetsair = Targets Air -blocks.targetsground = Targets Ground -blocks.itemsmoved = Move Speed -blocks.launchtime = Time Between Launches -blocks.shootrange = Range -blocks.size = Size -blocks.displaysize = Display Size -blocks.liquidcapacity = Liquid Capacity -blocks.powerrange = Power Range -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Power Use -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Item Capacity -blocks.basepowergeneration = Base Power Generation -blocks.productiontime = Production Time -blocks.repairtime = Block Full Repair Time -blocks.speedincrease = Speed Increase -blocks.range = Range -blocks.drilltier = Drillables -blocks.drillspeed = Base Drill Speed -blocks.boosteffect = Boost Effect -blocks.maxunits = Max Active Units -blocks.health = Health -blocks.buildtime = Build Time -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Build Cost -blocks.inaccuracy = Inaccuracy -blocks.shots = Shots -blocks.reload = Shots/Second -blocks.ammo = Ammo -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Power Capacity +stat.powershot = Power/Shot +stat.damage = Damage +stat.targetsair = Targets Air +stat.targetsground = Targets Ground +stat.itemsmoved = Move Speed +stat.launchtime = Time Between Launches +stat.shootrange = Range +stat.size = Size +stat.displaysize = Display Size +stat.liquidcapacity = Liquid Capacity +stat.powerrange = Power Range +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Power Use +stat.powerdamage = Power/Damage +stat.itemcapacity = Item Capacity +stat.basepowergeneration = Base Power Generation +stat.productiontime = Production Time +stat.repairtime = Block Full Repair Time +stat.speedincrease = Speed Increase +stat.range = Range +stat.drilltier = Drillables +stat.drillspeed = Base Drill Speed +stat.boosteffect = Boost Effect +stat.maxunits = Max Active Units +stat.health = Health +stat.buildtime = Build Time +stat.maxconsecutive = Max Consecutive +stat.buildcost = Build Cost +stat.inaccuracy = Inaccuracy +stat.shots = Shots +stat.reload = Shots/Second +stat.ammo = Ammo +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large anti-air and anti-ground turret. Fires explo block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 67311e3451..5d02ed2f85 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]Ein Fehler ist aufgetreten error.crashtitle = Ein Fehler ist aufgetreten! unit.nobuild = [scarlet]Einheit kann nicht bauen! -blocks.input = Eingang -blocks.output = Ausgang -blocks.booster = Verstärkung -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Eingang +stat.output = Ausgang +stat.booster = Verstärkung +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Kapazität -blocks.powershot = Stromverbrauch/Schuss -blocks.damage = Schaden -blocks.targetsair = Visiert Lufteinheiten an -blocks.targetsground = Visiert Bodeneinheiten an -blocks.itemsmoved = Bewegungsgeschwindigkeit -blocks.launchtime = Zeit zwischen Starts -blocks.shootrange = Reichweite -blocks.size = Größe -blocks.displaysize = Display Size -blocks.liquidcapacity = Flüssigkeitskapazität -blocks.powerrange = Stromreichweite -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Maximale Stromverbindungen -blocks.poweruse = Stromverbrauch -blocks.powerdamage = Stromverbrauch/Schadenspunkt -blocks.itemcapacity = Materialkapazität -blocks.basepowergeneration = Basis-Stromerzeugung -blocks.productiontime = Produktionszeit -blocks.repairtime = Zeit zur vollständigen Reparatur -blocks.speedincrease = Geschwindigkeitserhöhung -blocks.range = Reichweite -blocks.drilltier = Abbaubare Erze -blocks.drillspeed = Bohrgeschwindigkeit -blocks.boosteffect = Verstärkungseffekt -blocks.maxunits = Max. aktive Einheiten -blocks.health = Lebenspunkte -blocks.buildtime = Baudauer -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Baukosten -blocks.inaccuracy = Ungenauigkeit -blocks.shots = Schüsse -blocks.reload = Schüsse/Sekunde -blocks.ammo = Munition -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Kapazität +stat.powershot = Stromverbrauch/Schuss +stat.damage = Schaden +stat.targetsair = Visiert Lufteinheiten an +stat.targetsground = Visiert Bodeneinheiten an +stat.itemsmoved = Bewegungsgeschwindigkeit +stat.launchtime = Zeit zwischen Starts +stat.shootrange = Reichweite +stat.size = Größe +stat.displaysize = Display Size +stat.liquidcapacity = Flüssigkeitskapazität +stat.powerrange = Stromreichweite +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Maximale Stromverbindungen +stat.poweruse = Stromverbrauch +stat.powerdamage = Stromverbrauch/Schadenspunkt +stat.itemcapacity = Materialkapazität +stat.basepowergeneration = Basis-Stromerzeugung +stat.productiontime = Produktionszeit +stat.repairtime = Zeit zur vollständigen Reparatur +stat.speedincrease = Geschwindigkeitserhöhung +stat.range = Reichweite +stat.drilltier = Abbaubare Erze +stat.drillspeed = Bohrgeschwindigkeit +stat.boosteffect = Verstärkungseffekt +stat.maxunits = Max. aktive Einheiten +stat.health = Lebenspunkte +stat.buildtime = Baudauer +stat.maxconsecutive = Max Consecutive +stat.buildcost = Baukosten +stat.inaccuracy = Ungenauigkeit +stat.shots = Schüsse +stat.reload = Schüsse/Sekunde +stat.ammo = Munition +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Besserer Bohrer Benötigt bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Ein großer Schnellfeuer-Geschützturm. block.spectre.description = Ein großer Geschützturm, der zwei starke Schüsse gleichzeitig abfeuert. block.meltdown.description = Ein großer Geschützturm, der starke Strahlen mit großer Reichweite abfeuert. block.repair-point.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 5c87f27455..6c24039d7e 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -570,49 +570,49 @@ info.title = [accent]Información error.title = [crimson]Un error ha ocurrido. error.crashtitle = Un error ha ocurrido. unit.nobuild = [scarlet]Unit can't build -blocks.input = Entrada -blocks.output = Salida -blocks.booster = Potenciador -blocks.tiles = Tiles requeridos -blocks.affinities = Afinidades +stat.input = Entrada +stat.output = Salida +stat.booster = Potenciador +stat.tiles = Tiles requeridos +stat.affinities = Afinidades block.unknown = [lightgray]??? -blocks.powercapacity = Capacidad de Energía -blocks.powershot = Energía/Disparo -blocks.damage = Daño -blocks.targetsair = Apunta al Aire -blocks.targetsground = Apunta a Tierra -blocks.itemsmoved = Velocidad de movimiento -blocks.launchtime = Tiempo entre lanzamientos -blocks.shootrange = Rango de Disparo -blocks.size = Tamaño -blocks.displaysize = Display Size -blocks.liquidcapacity = Capacidad de Líquidos -blocks.powerrange = Rango de Energía -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Conexiones maximas -blocks.poweruse = Consumo de Energía -blocks.powerdamage = Energía/Daño -blocks.itemcapacity = Capacidad de Objetos -blocks.basepowergeneration = Generación de energía base -blocks.productiontime = Tiempo de producción -blocks.repairtime = Tiempo para Reparar Bloque Completamente -blocks.speedincrease = Aumento de Velocidad -blocks.range = Rango -blocks.drilltier = Taladrables -blocks.drillspeed = Velocidad Base del Taladro -blocks.boosteffect = Efecto del Potenciador -blocks.maxunits = Máximo de Unidades Activas -blocks.health = Vida -blocks.buildtime = Tiempo de construcción -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Coste de construcción -blocks.inaccuracy = Imprecisión -blocks.shots = Disparos -blocks.reload = Recarga -blocks.ammo = Munición -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Capacidad de Energía +stat.powershot = Energía/Disparo +stat.damage = Daño +stat.targetsair = Apunta al Aire +stat.targetsground = Apunta a Tierra +stat.itemsmoved = Velocidad de movimiento +stat.launchtime = Tiempo entre lanzamientos +stat.shootrange = Rango de Disparo +stat.size = Tamaño +stat.displaysize = Display Size +stat.liquidcapacity = Capacidad de Líquidos +stat.powerrange = Rango de Energía +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Conexiones maximas +stat.poweruse = Consumo de Energía +stat.powerdamage = Energía/Daño +stat.itemcapacity = Capacidad de Objetos +stat.basepowergeneration = Generación de energía base +stat.productiontime = Tiempo de producción +stat.repairtime = Tiempo para Reparar Bloque Completamente +stat.speedincrease = Aumento de Velocidad +stat.range = Rango +stat.drilltier = Taladrables +stat.drillspeed = Velocidad Base del Taladro +stat.boosteffect = Efecto del Potenciador +stat.maxunits = Máximo de Unidades Activas +stat.health = Vida +stat.buildtime = Tiempo de construcción +stat.maxconsecutive = Max Consecutive +stat.buildcost = Coste de construcción +stat.inaccuracy = Imprecisión +stat.shots = Disparos +stat.reload = Recarga +stat.ammo = Munición +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Se requiere un mejor taladro. bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Una torre grande anti-aérea y anti-terrestre. Dispa block.spectre.description = Un cañon masivo de dos barriles. Dispara balas perforantes a objetivos de aire y tierra. block.meltdown.description = Un cañon láser masivo. Carga y dispara un rayo láser constante a enemigos cercanos. Requiere enfriamiento para operar. block.repair-point.description = Repara la unidad dañada más cercana a su alrededor. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index d5ac8cfb74..62b0002df6 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]Viga error.crashtitle = Viga unit.nobuild = [scarlet]Unit can't build -blocks.input = Sisend -blocks.output = Väljund -blocks.booster = Kiirendaja -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Sisend +stat.output = Väljund +stat.booster = Kiirendaja +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Energiamahtuvus -blocks.powershot = Energia ühikut/lasu kohta -blocks.damage = Hävituspunkte -blocks.targetsair = Sihib õhku -blocks.targetsground = Sihib maapinnale -blocks.itemsmoved = Transportimise kiirus -blocks.launchtime = Aeg lendutõusude vahel -blocks.shootrange = Ulatus -blocks.size = Suurus -blocks.displaysize = Display Size -blocks.liquidcapacity = Vedelike mahutavus -blocks.powerrange = Energia ulatus -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Energiatarve -blocks.powerdamage = Energiatarve hävituspunkti kohta -blocks.itemcapacity = Ressursside mahutavus -blocks.basepowergeneration = Energiatootlus -blocks.productiontime = Tootmisaeg -blocks.repairtime = Täieliku parandamise aeg -blocks.speedincrease = Kiiruse suurenemine -blocks.range = Ulatus -blocks.drilltier = Kaevandatav -blocks.drillspeed = Puurimise kiirus -blocks.boosteffect = Kiirendaja mõju -blocks.maxunits = Maks. aktiivseid väeüksuseid -blocks.health = Elud -blocks.buildtime = Ehitamise aeg -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Ehitamise maksumus -blocks.inaccuracy = Ebatäpsus -blocks.shots = Laske -blocks.reload = Lasku/s -blocks.ammo = Laskemoon -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Energiamahtuvus +stat.powershot = Energia ühikut/lasu kohta +stat.damage = Hävituspunkte +stat.targetsair = Sihib õhku +stat.targetsground = Sihib maapinnale +stat.itemsmoved = Transportimise kiirus +stat.launchtime = Aeg lendutõusude vahel +stat.shootrange = Ulatus +stat.size = Suurus +stat.displaysize = Display Size +stat.liquidcapacity = Vedelike mahutavus +stat.powerrange = Energia ulatus +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Energiatarve +stat.powerdamage = Energiatarve hävituspunkti kohta +stat.itemcapacity = Ressursside mahutavus +stat.basepowergeneration = Energiatootlus +stat.productiontime = Tootmisaeg +stat.repairtime = Täieliku parandamise aeg +stat.speedincrease = Kiiruse suurenemine +stat.range = Ulatus +stat.drilltier = Kaevandatav +stat.drillspeed = Puurimise kiirus +stat.boosteffect = Kiirendaja mõju +stat.maxunits = Maks. aktiivseid väeüksuseid +stat.health = Elud +stat.buildtime = Ehitamise aeg +stat.maxconsecutive = Max Consecutive +stat.buildcost = Ehitamise maksumus +stat.inaccuracy = Ebatäpsus +stat.shots = Laske +stat.reload = Lasku/s +stat.ammo = Laskemoon +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Nõuab paremat puuri bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Suur lendavate ja maapealsete väeüksuste vastane k block.spectre.description = Massiivne kaheraudne kahur, mis tulistab soomuskatteid läbistavaid mürske nii lendavate kui ka maapealsete väeüksuste pihta. block.meltdown.description = Massiivne laserkahur, mis tekitab püsiva energiakiire. Vajab töötamiseks jahutusvedelikku. block.repair-point.description = Parandab kõige lähemal asuvat liitlaste väeüksust. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 5ef1a41b71..7afde97031 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -570,49 +570,49 @@ info.title = Informazioa error.title = [crimson]Errore bat gertatu da error.crashtitle = Errore bat gertatu da unit.nobuild = [scarlet]Unit can't build -blocks.input = Sarrera -blocks.output = Irteera -blocks.booster = Indargarria -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Sarrera +stat.output = Irteera +stat.booster = Indargarria +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Energia-edukiera -blocks.powershot = Energia/tiroko -blocks.damage = Kaltea -blocks.targetsair = Airera tirokatzen du -blocks.targetsground = Lurrera tirokatzen du -blocks.itemsmoved = Garraio-abiadura -blocks.launchtime = Egozketen arteko denbora -blocks.shootrange = Irismena -blocks.size = Neurria -blocks.displaysize = Display Size -blocks.liquidcapacity = Likido-edukiera -blocks.powerrange = Energia irismena -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Gehieneko konexioak -blocks.poweruse = Energia-erabilera -blocks.powerdamage = Energia/Kaltea -blocks.itemcapacity = Elementu-edukiera -blocks.basepowergeneration = Oinarrizko energia sorrera -blocks.productiontime = Eraikitze denbora -blocks.repairtime = Blokearen konpontze denbora osoa -blocks.speedincrease = Abiadura areagotzea -blocks.range = Irismena -blocks.drilltier = Ustiagarriak -blocks.drillspeed = Oinarrizko ustiatze-abiadura -blocks.boosteffect = Indartze-efektua -blocks.maxunits = Gehieneko unitate aktiboak -blocks.health = Osasuna -blocks.buildtime = Eraikitze-denbora -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Eraikitze-kostua -blocks.inaccuracy = Zehazgabetasuna -blocks.shots = Tiroak -blocks.reload = Tiroak/segundoko -blocks.ammo = Munizioa -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Energia-edukiera +stat.powershot = Energia/tiroko +stat.damage = Kaltea +stat.targetsair = Airera tirokatzen du +stat.targetsground = Lurrera tirokatzen du +stat.itemsmoved = Garraio-abiadura +stat.launchtime = Egozketen arteko denbora +stat.shootrange = Irismena +stat.size = Neurria +stat.displaysize = Display Size +stat.liquidcapacity = Likido-edukiera +stat.powerrange = Energia irismena +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Gehieneko konexioak +stat.poweruse = Energia-erabilera +stat.powerdamage = Energia/Kaltea +stat.itemcapacity = Elementu-edukiera +stat.basepowergeneration = Oinarrizko energia sorrera +stat.productiontime = Eraikitze denbora +stat.repairtime = Blokearen konpontze denbora osoa +stat.speedincrease = Abiadura areagotzea +stat.range = Irismena +stat.drilltier = Ustiagarriak +stat.drillspeed = Oinarrizko ustiatze-abiadura +stat.boosteffect = Indartze-efektua +stat.maxunits = Gehieneko unitate aktiboak +stat.health = Osasuna +stat.buildtime = Eraikitze-denbora +stat.maxconsecutive = Max Consecutive +stat.buildcost = Eraikitze-kostua +stat.inaccuracy = Zehazgabetasuna +stat.shots = Tiroak +stat.reload = Tiroak/segundoko +stat.ammo = Munizioa +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Zulagailu hobea behar da bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Aire zein lurreko defentsarako dorre handia. Torpedo block.spectre.description = Kanoi bikoitz erraldoia. Blindajea zulatu dezaketen bala handiak tirokatzen ditu aireko zein lurreko xedeei. block.meltdown.description = Laser kanoi erraldoia. Etengabeko laser izpi bat kargatu eta jauritzen die inguruko etsaiei. Hozgarria behar du jarduteko. block.repair-point.description = Etengabe konpontzen du inguruko kaltetutako unitate hurbilena. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index ae351b8764..30a231333c 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -570,49 +570,49 @@ info.title = Informaatio error.title = [crimson]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build -blocks.input = Sisääntulo -blocks.output = Ulostulo -blocks.booster = Tehostaja -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Sisääntulo +stat.output = Ulostulo +stat.booster = Tehostaja +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Energiakapasiteetti -blocks.powershot = Energiaa/Ammus -blocks.damage = Vahinko -blocks.targetsair = Hyökkää ilmaan -blocks.targetsground = Hyökkää maahan -blocks.itemsmoved = Liikkumisnopeus -blocks.launchtime = Aika laukaisujen välillä -blocks.shootrange = Kantama -blocks.size = Koko -blocks.displaysize = Display Size -blocks.liquidcapacity = Nestekapasiteetti -blocks.powerrange = Energiakantama -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Maksimimäärä yhdistyksiä -blocks.poweruse = Energian käyttö -blocks.powerdamage = Energia/Vahinko -blocks.itemcapacity = Tavarakapasiteetti -blocks.basepowergeneration = Perus energiantuotto -blocks.productiontime = Tuotantoaika -blocks.repairtime = Kokonaisen palikan korjausaika -blocks.speedincrease = Nopeuden kasvu -blocks.range = Etäisyys -blocks.drilltier = Porattavat -blocks.drillspeed = Kanta Poran Nopeus -blocks.boosteffect = Tehostamisem vaikutus -blocks.maxunits = Maksimimäärä yksikköjä -blocks.health = Elämäpisteet -blocks.buildtime = Rakentamisaika -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Rakentamishinta -blocks.inaccuracy = Epätarkkuus -blocks.shots = Ammusta -blocks.reload = Ammusta/sekunnissa -blocks.ammo = Ammus -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Energiakapasiteetti +stat.powershot = Energiaa/Ammus +stat.damage = Vahinko +stat.targetsair = Hyökkää ilmaan +stat.targetsground = Hyökkää maahan +stat.itemsmoved = Liikkumisnopeus +stat.launchtime = Aika laukaisujen välillä +stat.shootrange = Kantama +stat.size = Koko +stat.displaysize = Display Size +stat.liquidcapacity = Nestekapasiteetti +stat.powerrange = Energiakantama +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Maksimimäärä yhdistyksiä +stat.poweruse = Energian käyttö +stat.powerdamage = Energia/Vahinko +stat.itemcapacity = Tavarakapasiteetti +stat.basepowergeneration = Perus energiantuotto +stat.productiontime = Tuotantoaika +stat.repairtime = Kokonaisen palikan korjausaika +stat.speedincrease = Nopeuden kasvu +stat.range = Etäisyys +stat.drilltier = Porattavat +stat.drillspeed = Kanta Poran Nopeus +stat.boosteffect = Tehostamisem vaikutus +stat.maxunits = Maksimimäärä yksikköjä +stat.health = Elämäpisteet +stat.buildtime = Rakentamisaika +stat.maxconsecutive = Max Consecutive +stat.buildcost = Rakentamishinta +stat.inaccuracy = Epätarkkuus +stat.shots = Ammusta +stat.reload = Ammusta/sekunnissa +stat.ammo = Ammus +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Parempi pora vaadittu bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large anti-air and anti-ground turret. Fires explo block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 86c3c0737a..0fa6608526 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [scarlet]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build -blocks.input = Input -blocks.output = Output -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Input +stat.output = Output +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Power Capacity -blocks.powershot = Power/Shot -blocks.damage = Damage -blocks.targetsair = Targets Air -blocks.targetsground = Targets Ground -blocks.itemsmoved = Move Speed -blocks.launchtime = Time Between Launches -blocks.shootrange = Range -blocks.size = Size -blocks.displaysize = Display Size -blocks.liquidcapacity = Liquid Capacity -blocks.powerrange = Power Range -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Power Use -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Item Capacity -blocks.basepowergeneration = Base Power Generation -blocks.productiontime = Production Time -blocks.repairtime = Block Full Repair Time -blocks.speedincrease = Speed Increase -blocks.range = Range -blocks.drilltier = Drillables -blocks.drillspeed = Base Drill Speed -blocks.boosteffect = Boost Effect -blocks.maxunits = Max Active Units -blocks.health = Health -blocks.buildtime = Build Time -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Build Cost -blocks.inaccuracy = Inaccuracy -blocks.shots = Shots -blocks.reload = Shots/Second -blocks.ammo = Ammo -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Power Capacity +stat.powershot = Power/Shot +stat.damage = Damage +stat.targetsair = Targets Air +stat.targetsground = Targets Ground +stat.itemsmoved = Move Speed +stat.launchtime = Time Between Launches +stat.shootrange = Range +stat.size = Size +stat.displaysize = Display Size +stat.liquidcapacity = Liquid Capacity +stat.powerrange = Power Range +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Power Use +stat.powerdamage = Power/Damage +stat.itemcapacity = Item Capacity +stat.basepowergeneration = Base Power Generation +stat.productiontime = Production Time +stat.repairtime = Block Full Repair Time +stat.speedincrease = Speed Increase +stat.range = Range +stat.drilltier = Drillables +stat.drillspeed = Base Drill Speed +stat.boosteffect = Boost Effect +stat.maxunits = Max Active Units +stat.health = Health +stat.buildtime = Build Time +stat.maxconsecutive = Max Consecutive +stat.buildcost = Build Cost +stat.inaccuracy = Inaccuracy +stat.shots = Shots +stat.reload = Shots/Second +stat.ammo = Ammo +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large anti-air and anti-ground turret. Fires explo block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index e7749d7347..925465c595 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]Une erreur s'est produite error.crashtitle = Une erreur s'est produite unit.nobuild = [scarlet]Cette unité ne peut construire -blocks.input = Entrée -blocks.output = Sortie -blocks.booster = Booster -blocks.tiles = Pré-requis -blocks.affinities = Affinités +stat.input = Entrée +stat.output = Sortie +stat.booster = Booster +stat.tiles = Pré-requis +stat.affinities = Affinités block.unknown = [lightgray]??? -blocks.powercapacity = Capacité d'énergie -blocks.powershot = Énergie/Tir -blocks.damage = Dégâts -blocks.targetsair = Cibles Aériennes -blocks.targetsground = Cibles Terrestres -blocks.itemsmoved = Vitesse de Déplacement -blocks.launchtime = Temps entre chaque lancement -blocks.shootrange = Portée de tir -blocks.size = Taille -blocks.displaysize = Display Size -blocks.liquidcapacity = Capacité liquide -blocks.powerrange = Portée électrique -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Nombre maximal de connections -blocks.poweruse = Énergie utilisée -blocks.powerdamage = Dégâts d'énergie -blocks.itemcapacity = Stockage -blocks.basepowergeneration = Production d'énergie -blocks.productiontime = Durée de production -blocks.repairtime = Durée de réparation complète du Bloc -blocks.speedincrease = Accélération -blocks.range = Portée -blocks.drilltier = Forable -blocks.drillspeed = Vitesse de forage de base -blocks.boosteffect = Effet du Boost -blocks.maxunits = Unités actives max -blocks.health = Santé -blocks.buildtime = Durée de construction -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Coût de construction -blocks.inaccuracy = Imprécision -blocks.shots = Tirs -blocks.reload = Tirs/Seconde -blocks.ammo = Munitions -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Capacité d'énergie +stat.powershot = Énergie/Tir +stat.damage = Dégâts +stat.targetsair = Cibles Aériennes +stat.targetsground = Cibles Terrestres +stat.itemsmoved = Vitesse de Déplacement +stat.launchtime = Temps entre chaque lancement +stat.shootrange = Portée de tir +stat.size = Taille +stat.displaysize = Display Size +stat.liquidcapacity = Capacité liquide +stat.powerrange = Portée électrique +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Nombre maximal de connections +stat.poweruse = Énergie utilisée +stat.powerdamage = Dégâts d'énergie +stat.itemcapacity = Stockage +stat.basepowergeneration = Production d'énergie +stat.productiontime = Durée de production +stat.repairtime = Durée de réparation complète du Bloc +stat.speedincrease = Accélération +stat.range = Portée +stat.drilltier = Forable +stat.drillspeed = Vitesse de forage de base +stat.boosteffect = Effet du Boost +stat.maxunits = Unités actives max +stat.health = Santé +stat.buildtime = Durée de construction +stat.maxconsecutive = Max Consecutive +stat.buildcost = Coût de construction +stat.inaccuracy = Imprécision +stat.shots = Tirs +stat.reload = Tirs/Seconde +stat.ammo = Munitions +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Meilleure Foreuse Requise bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Une grande tourelle qui tire rapidement des débris block.spectre.description = Une tourelle massive à double cannon et qui tire de puissantes balles perce-blindages simultanément. block.meltdown.description = Une tourelle massive chargeant et tirant de puissants rayons lasers. Nécessite un liquide de refroidissement. block.repair-point.description = Soigne en permanence l'unité endommagée la plus proche à proximité. -block.segment.description = Endommage et détruit les tirs ennemis. Cependant, les lasers ne peuvent pas être ciblés. +block.segment.description = Endommage et détruit les tirs ennemis. Cependant, les lasers ne peuvent pas être ciblés. \ No newline at end of file diff --git a/core/assets/bundles/bundle_fr_BE.properties b/core/assets/bundles/bundle_fr_BE.properties index 02fe5e58b1..869da14c46 100644 --- a/core/assets/bundles/bundle_fr_BE.properties +++ b/core/assets/bundles/bundle_fr_BE.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]Une erreur s'est produite error.crashtitle = Une erreur s'est produite unit.nobuild = [scarlet]Unit can't build -blocks.input = Ressource(s) requise(s) -blocks.output = Ressource(s) produite(s) -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Ressource(s) requise(s) +stat.output = Ressource(s) produite(s) +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]Inconnu -blocks.powercapacity = Capacité d'énergie -blocks.powershot = Énergie/Tir -blocks.damage = Damage -blocks.targetsair = Cible les unités aériennes -blocks.targetsground = Cible les unités terrestres -blocks.itemsmoved = Vitesse de déplacement -blocks.launchtime = Temps entre chaque lancement -blocks.shootrange = Portée -blocks.size = Taille -blocks.displaysize = Display Size -blocks.liquidcapacity = Capacité en liquide -blocks.powerrange = Distance de transmission -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Énergie utilisée -blocks.powerdamage = Énergie/Dégâts -blocks.itemcapacity = Stockage -blocks.basepowergeneration = Production d'énergie de base -blocks.productiontime = Temps de production -blocks.repairtime = Temps pour la réparation totale du bloc -blocks.speedincrease = Augmentation de la vitesse -blocks.range = Portée -blocks.drilltier = Forable -blocks.drillspeed = Vitesse de forage de base -blocks.boosteffect = Effet boostant -blocks.maxunits = Maximum d'unitée active -blocks.health = Santé -blocks.buildtime = Temps de construction -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Coût de construction -blocks.inaccuracy = Précision -blocks.shots = Tirs -blocks.reload = Tirs/Seconde -blocks.ammo = Munition -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Capacité d'énergie +stat.powershot = Énergie/Tir +stat.damage = Damage +stat.targetsair = Cible les unités aériennes +stat.targetsground = Cible les unités terrestres +stat.itemsmoved = Vitesse de déplacement +stat.launchtime = Temps entre chaque lancement +stat.shootrange = Portée +stat.size = Taille +stat.displaysize = Display Size +stat.liquidcapacity = Capacité en liquide +stat.powerrange = Distance de transmission +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Énergie utilisée +stat.powerdamage = Énergie/Dégâts +stat.itemcapacity = Stockage +stat.basepowergeneration = Production d'énergie de base +stat.productiontime = Temps de production +stat.repairtime = Temps pour la réparation totale du bloc +stat.speedincrease = Augmentation de la vitesse +stat.range = Portée +stat.drilltier = Forable +stat.drillspeed = Vitesse de forage de base +stat.boosteffect = Effet boostant +stat.maxunits = Maximum d'unitée active +stat.health = Santé +stat.buildtime = Temps de construction +stat.maxconsecutive = Max Consecutive +stat.buildcost = Coût de construction +stat.inaccuracy = Précision +stat.shots = Tirs +stat.reload = Tirs/Seconde +stat.ammo = Munition +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Une grande tourelle à tir rapide. block.spectre.description = Une grande tourelle qui tire deux balles puissantes à la fois. block.meltdown.description = Une grande tourelle qui tire de puissants faisceaux à longue portée. block.repair-point.description = Soigne en permanence l'unité endommagée la plus proche à proximité. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index b28d471cdd..c24c9a24ee 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build -blocks.input = Input -blocks.output = Output -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Input +stat.output = Output +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Power Capacity -blocks.powershot = Power/Shot -blocks.damage = Damage -blocks.targetsair = Targets Air -blocks.targetsground = Targets Ground -blocks.itemsmoved = Move Speed -blocks.launchtime = Time Between Launches -blocks.shootrange = Range -blocks.size = Size -blocks.displaysize = Display Size -blocks.liquidcapacity = Liquid Capacity -blocks.powerrange = Power Range -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Power Use -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Item Capacity -blocks.basepowergeneration = Base Power Generation -blocks.productiontime = Production Time -blocks.repairtime = Block Full Repair Time -blocks.speedincrease = Speed Increase -blocks.range = Range -blocks.drilltier = Drillables -blocks.drillspeed = Base Drill Speed -blocks.boosteffect = Boost Effect -blocks.maxunits = Max Active Units -blocks.health = Health -blocks.buildtime = Build Time -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Build Cost -blocks.inaccuracy = Inaccuracy -blocks.shots = Shots -blocks.reload = Shots/Second -blocks.ammo = Ammo -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Power Capacity +stat.powershot = Power/Shot +stat.damage = Damage +stat.targetsair = Targets Air +stat.targetsground = Targets Ground +stat.itemsmoved = Move Speed +stat.launchtime = Time Between Launches +stat.shootrange = Range +stat.size = Size +stat.displaysize = Display Size +stat.liquidcapacity = Liquid Capacity +stat.powerrange = Power Range +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Power Use +stat.powerdamage = Power/Damage +stat.itemcapacity = Item Capacity +stat.basepowergeneration = Base Power Generation +stat.productiontime = Production Time +stat.repairtime = Block Full Repair Time +stat.speedincrease = Speed Increase +stat.range = Range +stat.drilltier = Drillables +stat.drillspeed = Base Drill Speed +stat.boosteffect = Boost Effect +stat.maxunits = Max Active Units +stat.health = Health +stat.buildtime = Build Time +stat.maxconsecutive = Max Consecutive +stat.buildcost = Build Cost +stat.inaccuracy = Inaccuracy +stat.shots = Shots +stat.reload = Shots/Second +stat.ammo = Ammo +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large anti-air and anti-ground turret. Fires explo block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_in_ID.properties b/core/assets/bundles/bundle_in_ID.properties index d601b9e904..e9f6f933eb 100644 --- a/core/assets/bundles/bundle_in_ID.properties +++ b/core/assets/bundles/bundle_in_ID.properties @@ -572,50 +572,50 @@ info.title = Info error.title = [crimson]Sebuah kesalahan telah terjadi error.crashtitle = Sebuah kesalahan telah terjadi unit.nobuild = [scarlet]Unit tidak dapat membangun -blocks.input = Masukan -blocks.output = Pengeluaran -blocks.booster = Pendorong -blocks.tiles = Kotak yang dibutuhkan -blocks.affinities = Afinitas +stat.input = Masukan +stat.output = Pengeluaran +stat.booster = Pendorong +stat.tiles = Kotak yang dibutuhkan +stat.affinities = Afinitas block.unknown = [lightgray]??? -blocks.powercapacity = Kapasitas Tenaga -blocks.powershot = Tenaga/Tembakan -blocks.damage = Kerusakan -blocks.targetsair = Menargetkan Udara -blocks.targetsground = Menargetkan Darat -blocks.itemsmoved = Kecepatan Gerak -blocks.launchtime = Waktu Diantara Peluncuran -blocks.shootrange = Jarak -blocks.size = Ukuran -blocks.displaysize = Ukuran Tampilan -blocks.liquidcapacity = Kapasitas Zat Cair -blocks.powerrange = Jarak Tenaga -blocks.linkrange = Jarak Tautan -blocks.instructions = Instruksi -blocks.powerconnections = Koneksi Maksimal -blocks.poweruse = Penggunaan Tenaga -blocks.powerdamage = Tenaga/Pukulan -blocks.itemcapacity = Kapasitas Item -blocks.memorycapacity = Kapasitas Memori -blocks.basepowergeneration = Basis Generasi Tenaga -blocks.productiontime = Waktu Produksi -blocks.repairtime = Waktu Memperbaiki Blok Penuh -blocks.speedincrease = Tambahan Kecepatan -blocks.range = Jarak -blocks.drilltier = Sumber Daya yang Bisa di Bor -blocks.drillspeed = Basis Kecepatan Bor -blocks.boosteffect = Efek Pendorong -blocks.maxunits = Maks Unit Aktif -blocks.health = Darah -blocks.buildtime = Waktu Pembuatan -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Biaya Bangunan -blocks.inaccuracy = Jarak Melenceng -blocks.shots = Tembakan -blocks.reload = Tembakan/Detik -blocks.ammo = Amunisi -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Kapasitas Tenaga +stat.powershot = Tenaga/Tembakan +stat.damage = Kerusakan +stat.targetsair = Menargetkan Udara +stat.targetsground = Menargetkan Darat +stat.itemsmoved = Kecepatan Gerak +stat.launchtime = Waktu Diantara Peluncuran +stat.shootrange = Jarak +stat.size = Ukuran +stat.displaysize = Ukuran Tampilan +stat.liquidcapacity = Kapasitas Zat Cair +stat.powerrange = Jarak Tenaga +stat.linkrange = Jarak Tautan +stat.instructions = Instruksi +stat.powerconnections = Koneksi Maksimal +stat.poweruse = Penggunaan Tenaga +stat.powerdamage = Tenaga/Pukulan +stat.itemcapacity = Kapasitas Item +stat.memorycapacity = Kapasitas Memori +stat.basepowergeneration = Basis Generasi Tenaga +stat.productiontime = Waktu Produksi +stat.repairtime = Waktu Memperbaiki Blok Penuh +stat.speedincrease = Tambahan Kecepatan +stat.range = Jarak +stat.drilltier = Sumber Daya yang Bisa di Bor +stat.drillspeed = Basis Kecepatan Bor +stat.boosteffect = Efek Pendorong +stat.maxunits = Maks Unit Aktif +stat.health = Darah +stat.buildtime = Waktu Pembuatan +stat.maxconsecutive = Max Consecutive +stat.buildcost = Biaya Bangunan +stat.inaccuracy = Jarak Melenceng +stat.shots = Tembakan +stat.reload = Tembakan/Detik +stat.ammo = Amunisi +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Membutuhkan Bor yang Lebih Baik bar.noresources = Sumber Daya Tidak Ditemukan @@ -1310,4 +1310,4 @@ block.cyclone.description = Menara penembak beruntun besar. block.spectre.description = Menara besar yang menembak dua peluru kuat sekaligus. block.meltdown.description = Menara besar ini menembak sinar panjang yang kuat. block.repair-point.description = Terus menerus memulihkan unit terluka disekitar. -block.segment.description = Merusakkan dan menghancurkan proyektil yang datang. Proyektil laser tidak akan ditargetkan. +block.segment.description = Merusakkan dan menghancurkan proyektil yang datang. Proyektil laser tidak akan ditargetkan. \ No newline at end of file diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index c10f894851..5fc3245ed6 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]Si è verificato un errore error.crashtitle = Si è verificato un errore unit.nobuild = [scarlet]L'unità non può costruire -blocks.input = Ingresso -blocks.output = Uscita -blocks.booster = Potenziamenti -blocks.tiles = Blocchi Richiesti -blocks.affinities = Affinità +stat.input = Ingresso +stat.output = Uscita +stat.booster = Potenziamenti +stat.tiles = Blocchi Richiesti +stat.affinities = Affinità block.unknown = [lightgray]??? -blocks.powercapacity = Capacità Energetica -blocks.powershot = Danno/Colpo -blocks.damage = Danno -blocks.targetsair = Attacca Nemici Aerei -blocks.targetsground = Attacca Nemici Terreni -blocks.itemsmoved = Velocità di Movimento -blocks.launchtime = Tempo fra Decolli -blocks.shootrange = Raggio -blocks.size = Dimensioni -blocks.displaysize = Display Size -blocks.liquidcapacity = Capacità del Liquido -blocks.powerrange = Raggio Energia -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Connessioni Massime -blocks.poweruse = Utilizzo Energia -blocks.powerdamage = Energia/Danno -blocks.itemcapacity = Capacità -blocks.basepowergeneration = Generazione Energia di Base -blocks.productiontime = Tempo di Produzione -blocks.repairtime = Tempo di Riparazione Completa -blocks.speedincrease = Aumento Velocità -blocks.range = Raggio -blocks.drilltier = Scavabili -blocks.drillspeed = Velocità di Scavo Stabile -blocks.boosteffect = Effetto Boost -blocks.maxunits = Unità Attive Max -blocks.health = Salute -blocks.buildtime = Tempo di Costruzione -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Costo di Costruzione -blocks.inaccuracy = Inaccuratezza -blocks.shots = Colpi -blocks.reload = Ricarica -blocks.ammo = Munizioni -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Capacità Energetica +stat.powershot = Danno/Colpo +stat.damage = Danno +stat.targetsair = Attacca Nemici Aerei +stat.targetsground = Attacca Nemici Terreni +stat.itemsmoved = Velocità di Movimento +stat.launchtime = Tempo fra Decolli +stat.shootrange = Raggio +stat.size = Dimensioni +stat.displaysize = Display Size +stat.liquidcapacity = Capacità del Liquido +stat.powerrange = Raggio Energia +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Connessioni Massime +stat.poweruse = Utilizzo Energia +stat.powerdamage = Energia/Danno +stat.itemcapacity = Capacità +stat.basepowergeneration = Generazione Energia di Base +stat.productiontime = Tempo di Produzione +stat.repairtime = Tempo di Riparazione Completa +stat.speedincrease = Aumento Velocità +stat.range = Raggio +stat.drilltier = Scavabili +stat.drillspeed = Velocità di Scavo Stabile +stat.boosteffect = Effetto Boost +stat.maxunits = Unità Attive Max +stat.health = Salute +stat.buildtime = Tempo di Costruzione +stat.maxconsecutive = Max Consecutive +stat.buildcost = Costo di Costruzione +stat.inaccuracy = Inaccuratezza +stat.shots = Colpi +stat.reload = Ricarica +stat.ammo = Munizioni +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Miglior Trivella Richiesta bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Una grande torretta a fuoco rapido. block.spectre.description = Una grande torretta che spara due potenti proiettili contemporaneamente. block.meltdown.description = Una grande torretta che spara un potente laser a lungo raggio. block.repair-point.description = Cura continuamente l'unità danneggiata più vicina. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index fdb915ff96..68c766e79b 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -570,49 +570,49 @@ info.title = 情報 error.title = [crimson]エラーが発生しました error.crashtitle = エラーが発生しました unit.nobuild = [scarlet]ユニットを構築できません -blocks.input = 搬入 -blocks.output = 搬出 -blocks.booster = ブースト -blocks.tiles = 必要なタイル -blocks.affinities = 親和性 +stat.input = 搬入 +stat.output = 搬出 +stat.booster = ブースト +stat.tiles = 必要なタイル +stat.affinities = 親和性 block.unknown = [lightgray]??? -blocks.powercapacity = 電力容量 -blocks.powershot = 電力/ショット -blocks.damage = ダメージ -blocks.targetsair = 対空攻撃 -blocks.targetsground = 対地攻撃 -blocks.itemsmoved = 輸送速度 -blocks.launchtime = 発射の待機時間 -blocks.shootrange = 範囲 -blocks.size = 大きさ -blocks.displaysize = Display Size -blocks.liquidcapacity = 液体容量 -blocks.powerrange = 電力範囲 -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = 最大接続数 -blocks.poweruse = 電力使用量 -blocks.powerdamage = 電力/ダメージ -blocks.itemcapacity = アイテム容量 -blocks.basepowergeneration = 基本発電量 -blocks.productiontime = 製造速度 -blocks.repairtime = ブロックの完全修復速度 -blocks.speedincrease = 速度向上 -blocks.range = 範囲 -blocks.drilltier = ドリル -blocks.drillspeed = 基本採掘速度 -blocks.boosteffect = ブースト効果 -blocks.maxunits = 最大ユニット数 -blocks.health = 耐久値 -blocks.buildtime = 建設時間 -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = 建設費用 -blocks.inaccuracy = 誤差 -blocks.shots = ショット -blocks.reload = リロード速度 -blocks.ammo = 弾薬 -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = 電力容量 +stat.powershot = 電力/ショット +stat.damage = ダメージ +stat.targetsair = 対空攻撃 +stat.targetsground = 対地攻撃 +stat.itemsmoved = 輸送速度 +stat.launchtime = 発射の待機時間 +stat.shootrange = 範囲 +stat.size = 大きさ +stat.displaysize = Display Size +stat.liquidcapacity = 液体容量 +stat.powerrange = 電力範囲 +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = 最大接続数 +stat.poweruse = 電力使用量 +stat.powerdamage = 電力/ダメージ +stat.itemcapacity = アイテム容量 +stat.basepowergeneration = 基本発電量 +stat.productiontime = 製造速度 +stat.repairtime = ブロックの完全修復速度 +stat.speedincrease = 速度向上 +stat.range = 範囲 +stat.drilltier = ドリル +stat.drillspeed = 基本採掘速度 +stat.boosteffect = ブースト効果 +stat.maxunits = 最大ユニット数 +stat.health = 耐久値 +stat.buildtime = 建設時間 +stat.maxconsecutive = Max Consecutive +stat.buildcost = 建設費用 +stat.inaccuracy = 誤差 +stat.shots = ショット +stat.reload = リロード速度 +stat.ammo = 弾薬 +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = より高性能なドリルを使用してください bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = 大型の連射型ターレットです。 block.spectre.description = 一度に2発の強力な弾を放つ大型のターレットです。 block.meltdown.description = 強力な長距離攻撃が可能な大型のターレットです。 block.repair-point.description = 近くの負傷したユニットを修復します。 -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index f03ff17264..82bb299642 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -570,49 +570,49 @@ info.title = 정보 error.title = [scarlet]오류가 발생했습니다. error.crashtitle = 오류가 발생했습니다 unit.nobuild = [scarlet]이 유닛은 건설할 수 없습니다. -blocks.input = 입력 -blocks.output = 출력 -blocks.booster = 가속 -blocks.tiles = 필요한 타일 -blocks.affinities = 친화력 +stat.input = 입력 +stat.output = 출력 +stat.booster = 가속 +stat.tiles = 필요한 타일 +stat.affinities = 친화력 block.unknown = [lightgray]??? -blocks.powercapacity = 전력 용량 -blocks.powershot = 전력/발 -blocks.damage = 공격력 -blocks.targetsair = 공중 공격 -blocks.targetsground = 지상 공격 -blocks.itemsmoved = 이동 속도 -blocks.launchtime = 출격 간격 -blocks.shootrange = 사거리 -blocks.size = 크기 -blocks.displaysize = Display Size -blocks.liquidcapacity = 액체 용량 -blocks.powerrange = 전력 범위 -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = 최대 연결 수 -blocks.poweruse = 전력 사용 -blocks.powerdamage = 전력/데미지 -blocks.itemcapacity = 저장 용량 -blocks.basepowergeneration = 기본 전력 생성량 -blocks.productiontime = 제작 시간 -blocks.repairtime = 전체 블록 수리시간 -blocks.speedincrease = 속도 증가 -blocks.range = 사거리 -blocks.drilltier = 드릴 -blocks.drillspeed = 기본 드릴 속도 -blocks.boosteffect = 가속 효과 -blocks.maxunits = 최대 활성 유닛수 -blocks.health = 체력 -blocks.buildtime = 건설 시간 -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = 건설 재료 -blocks.inaccuracy = 오차각 -blocks.shots = 공격 속도 -blocks.reload = 발/초 -blocks.ammo = 탄약 -blocks.shieldhealth = 보호막 체력 -blocks.cooldowntime = Cooldown Time +stat.powercapacity = 전력 용량 +stat.powershot = 전력/발 +stat.damage = 공격력 +stat.targetsair = 공중 공격 +stat.targetsground = 지상 공격 +stat.itemsmoved = 이동 속도 +stat.launchtime = 출격 간격 +stat.shootrange = 사거리 +stat.size = 크기 +stat.displaysize = Display Size +stat.liquidcapacity = 액체 용량 +stat.powerrange = 전력 범위 +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = 최대 연결 수 +stat.poweruse = 전력 사용 +stat.powerdamage = 전력/데미지 +stat.itemcapacity = 저장 용량 +stat.basepowergeneration = 기본 전력 생성량 +stat.productiontime = 제작 시간 +stat.repairtime = 전체 블록 수리시간 +stat.speedincrease = 속도 증가 +stat.range = 사거리 +stat.drilltier = 드릴 +stat.drillspeed = 기본 드릴 속도 +stat.boosteffect = 가속 효과 +stat.maxunits = 최대 활성 유닛수 +stat.health = 체력 +stat.buildtime = 건설 시간 +stat.maxconsecutive = Max Consecutive +stat.buildcost = 건설 재료 +stat.inaccuracy = 오차각 +stat.shots = 공격 속도 +stat.reload = 발/초 +stat.ammo = 탄약 +stat.shieldhealth = 보호막 체력 +stat.cooldowntime = Cooldown Time bar.drilltierreq = 더 좋은 드릴이 필요 bar.noresources = 자원 부족 @@ -1302,4 +1302,4 @@ block.cyclone.description = 대공 및 대지 포탑. 근처 유닛에게 폭발 block.spectre.description = 거대한 이중 배럴 대포. 공중 및 지상 목표물에 큰 관통 철갑탄을 발사합니다. block.meltdown.description = 거대한 레이저 대포. 근처의 적에게 지속적인 레이버 빔을 충전하여 발사합니다. 냉각수가 있어야 작동합니다. block.repair-point.description = 주변에서 가장 가까운 유닛을 지속적으로 치료합니다. -block.segment.description = 날아오는 발사체를 요격합니다. 레이저는 목표 대상이 아닙니다. +block.segment.description = 날아오는 발사체를 요격합니다. 레이저는 목표 대상이 아닙니다. \ No newline at end of file diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index a318c53f5f..2ebd273b5a 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -570,49 +570,49 @@ info.title = Informacija error.title = [crimson]Įvyko klaida error.crashtitle = Įvyko klaida unit.nobuild = [scarlet]Unit can't build -blocks.input = Įeiga -blocks.output = Išeiga -blocks.booster = Stiprintuvas -blocks.tiles = Privalomi -blocks.affinities = Affinities +stat.input = Įeiga +stat.output = Išeiga +stat.booster = Stiprintuvas +stat.tiles = Privalomi +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Energijos Talpumas -blocks.powershot = Energija per šūvį -blocks.damage = Žala -blocks.targetsair = Šaudo į oro taikinius -blocks.targetsground = Šaudo į žemės taikinius -blocks.itemsmoved = Judėjimo Greitis -blocks.launchtime = Laikas Tarp Paleidimų -blocks.shootrange = Atstumas -blocks.size = Dydis -blocks.displaysize = Display Size -blocks.liquidcapacity = Skysčių Talpumas -blocks.powerrange = Energijos Skleidimo Atstumas -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Maks. Jungčių Kiekis -blocks.poweruse = Energijos Suvartojimas -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Daiktų Talpumas -blocks.basepowergeneration = Bazinis Energijos Generavimas -blocks.productiontime = Gamybos Laikas -blocks.repairtime = Pilnas bloko sutaisymo laikas -blocks.speedincrease = Greičio Padidėjimas -blocks.range = Atstumas -blocks.drilltier = Gręžiama -blocks.drillspeed = Bazinis Grąžto Greitis -blocks.boosteffect = Pastiprinimo Efektas -blocks.maxunits = Maks. Aktyvių Vienetų Kiekis -blocks.health = Gyvybės -blocks.buildtime = Statymo Laikas -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Statymo Kaina -blocks.inaccuracy = Netikslumas -blocks.shots = Šūviai -blocks.reload = Šūviai per sekundę -blocks.ammo = Šoviniai -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Energijos Talpumas +stat.powershot = Energija per šūvį +stat.damage = Žala +stat.targetsair = Šaudo į oro taikinius +stat.targetsground = Šaudo į žemės taikinius +stat.itemsmoved = Judėjimo Greitis +stat.launchtime = Laikas Tarp Paleidimų +stat.shootrange = Atstumas +stat.size = Dydis +stat.displaysize = Display Size +stat.liquidcapacity = Skysčių Talpumas +stat.powerrange = Energijos Skleidimo Atstumas +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Maks. Jungčių Kiekis +stat.poweruse = Energijos Suvartojimas +stat.powerdamage = Power/Damage +stat.itemcapacity = Daiktų Talpumas +stat.basepowergeneration = Bazinis Energijos Generavimas +stat.productiontime = Gamybos Laikas +stat.repairtime = Pilnas bloko sutaisymo laikas +stat.speedincrease = Greičio Padidėjimas +stat.range = Atstumas +stat.drilltier = Gręžiama +stat.drillspeed = Bazinis Grąžto Greitis +stat.boosteffect = Pastiprinimo Efektas +stat.maxunits = Maks. Aktyvių Vienetų Kiekis +stat.health = Gyvybės +stat.buildtime = Statymo Laikas +stat.maxconsecutive = Max Consecutive +stat.buildcost = Statymo Kaina +stat.inaccuracy = Netikslumas +stat.shots = Šūviai +stat.reload = Šūviai per sekundę +stat.ammo = Šoviniai +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Privalomas Geresnis Grąžtas bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Didelis bokštas puolantis, tiek žemę, tiek orą. block.spectre.description = Milžiniškas dvivamzdis bokštas. Šaudo didelius, kiaurai per šarvus einančius šovinius į taikinius esančius ant žemės ir ore. block.meltdown.description = Milžiniška lazerinė patranka. Užsikrauna ir šaudo lazerinius spindulius į aplinkinius priešus. Veikimui reikalingas aušinimo skystis. block.repair-point.description = Pastoviai gydo artimiausius netoliese esančius vienetus. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 634b6eb00e..41d6e8a8fc 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -570,49 +570,49 @@ info.title = Informatie error.title = [crimson]Een fout is opgetreden error.crashtitle = Een fout is opgetreden unit.nobuild = [scarlet]Unit can't build -blocks.input = Input -blocks.output = Output -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Input +stat.output = Output +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Stroomcapaciteit -blocks.powershot = Stroom/Schot -blocks.damage = Schade -blocks.targetsair = Luchtdoelwitten -blocks.targetsground = Gronddoelwitten -blocks.itemsmoved = Beweegingssnelheid -blocks.launchtime = Tijd tussen lanceringen -blocks.shootrange = Bereik -blocks.size = Formaat -blocks.displaysize = Display Size -blocks.liquidcapacity = Vloeistofcapaciteit -blocks.powerrange = Stroombereik -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Maximale Hoeveelheid Connecties -blocks.poweruse = Stroomverbruik -blocks.powerdamage = Stroom/Schade -blocks.itemcapacity = Materiaalcapaciteit -blocks.basepowergeneration = Standaard Stroom Generatie -blocks.productiontime = Productie Tijd -blocks.repairtime = Volledige Blok Repareertijd -blocks.speedincrease = Snelheidsverhoging -blocks.range = Bereik -blocks.drilltier = Valt te delven -blocks.drillspeed = Standaard mine snelheid -blocks.boosteffect = Boost Effect -blocks.maxunits = Maximaal Actieve Units -blocks.health = Levenspunten -blocks.buildtime = Bouwtijd -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Bouwkosten -blocks.inaccuracy = Onnauwkeurigheid -blocks.shots = Shoten -blocks.reload = Schoten/Seconde -blocks.ammo = Ammunitie -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Stroomcapaciteit +stat.powershot = Stroom/Schot +stat.damage = Schade +stat.targetsair = Luchtdoelwitten +stat.targetsground = Gronddoelwitten +stat.itemsmoved = Beweegingssnelheid +stat.launchtime = Tijd tussen lanceringen +stat.shootrange = Bereik +stat.size = Formaat +stat.displaysize = Display Size +stat.liquidcapacity = Vloeistofcapaciteit +stat.powerrange = Stroombereik +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Maximale Hoeveelheid Connecties +stat.poweruse = Stroomverbruik +stat.powerdamage = Stroom/Schade +stat.itemcapacity = Materiaalcapaciteit +stat.basepowergeneration = Standaard Stroom Generatie +stat.productiontime = Productie Tijd +stat.repairtime = Volledige Blok Repareertijd +stat.speedincrease = Snelheidsverhoging +stat.range = Bereik +stat.drilltier = Valt te delven +stat.drillspeed = Standaard mine snelheid +stat.boosteffect = Boost Effect +stat.maxunits = Maximaal Actieve Units +stat.health = Levenspunten +stat.buildtime = Bouwtijd +stat.maxconsecutive = Max Consecutive +stat.buildcost = Bouwkosten +stat.inaccuracy = Onnauwkeurigheid +stat.shots = Shoten +stat.reload = Schoten/Seconde +stat.ammo = Ammunitie +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Betere miner nodig bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large rapid fire turret. block.spectre.description = A large turret which shoots two powerful bullets at once. block.meltdown.description = A large turret which shoots powerful long-range beams. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index ce59b257f7..4f2ed1fdcd 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build -blocks.input = Input -blocks.output = Output -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Input +stat.output = Output +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Power Capacity -blocks.powershot = Power/Shot -blocks.damage = Damage -blocks.targetsair = Targets Air -blocks.targetsground = Targets Ground -blocks.itemsmoved = Move Speed -blocks.launchtime = Time Between Launches -blocks.shootrange = Range -blocks.size = Size -blocks.displaysize = Display Size -blocks.liquidcapacity = Liquid Capacity -blocks.powerrange = Power Range -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Power Use -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Item Capacity -blocks.basepowergeneration = Base Power Generation -blocks.productiontime = Production Time -blocks.repairtime = Block Full Repair Time -blocks.speedincrease = Speed Increase -blocks.range = Range -blocks.drilltier = Drillables -blocks.drillspeed = Base Drill Speed -blocks.boosteffect = Boost Effect -blocks.maxunits = Max Active Units -blocks.health = Health -blocks.buildtime = Build Time -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Build Cost -blocks.inaccuracy = Inaccuracy -blocks.shots = Shots -blocks.reload = Shots/Second -blocks.ammo = Ammo -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Power Capacity +stat.powershot = Power/Shot +stat.damage = Damage +stat.targetsair = Targets Air +stat.targetsground = Targets Ground +stat.itemsmoved = Move Speed +stat.launchtime = Time Between Launches +stat.shootrange = Range +stat.size = Size +stat.displaysize = Display Size +stat.liquidcapacity = Liquid Capacity +stat.powerrange = Power Range +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Power Use +stat.powerdamage = Power/Damage +stat.itemcapacity = Item Capacity +stat.basepowergeneration = Base Power Generation +stat.productiontime = Production Time +stat.repairtime = Block Full Repair Time +stat.speedincrease = Speed Increase +stat.range = Range +stat.drilltier = Drillables +stat.drillspeed = Base Drill Speed +stat.boosteffect = Boost Effect +stat.maxunits = Max Active Units +stat.health = Health +stat.buildtime = Build Time +stat.maxconsecutive = Max Consecutive +stat.buildcost = Build Cost +stat.inaccuracy = Inaccuracy +stat.shots = Shots +stat.reload = Shots/Second +stat.ammo = Ammo +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large rapid fire turret. block.spectre.description = A large turret which shoots two powerful bullets at once. block.meltdown.description = A large turret which shoots powerful long-range beams. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index f0c67c6a88..80502bb870 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -570,49 +570,49 @@ info.title = Informacje error.title = [crimson]Wystąpił błąd error.crashtitle = Wystąpił błąd unit.nobuild = [scarlet]Jednostka nie może budować -blocks.input = Wejście -blocks.output = Wyjście -blocks.booster = Wzmacniacz -blocks.tiles = Wymagane Pola -blocks.affinities = Uwydajnienie +stat.input = Wejście +stat.output = Wyjście +stat.booster = Wzmacniacz +stat.tiles = Wymagane Pola +stat.affinities = Uwydajnienie block.unknown = [lightgray]??? -blocks.powercapacity = Pojemność mocy -blocks.powershot = moc/strzał -blocks.damage = Obrażenia -blocks.targetsair = Namierzanie wrogów powietrznych -blocks.targetsground = Namierzanie wrogów lądowych -blocks.itemsmoved = Prędkość poruszania się -blocks.launchtime = Czas pomiędzy wystrzeleniami -blocks.shootrange = Zasięg -blocks.size = Rozmiar -blocks.displaysize = Display Size -blocks.liquidcapacity = Pojemność cieczy -blocks.powerrange = Zakres mocy -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Maksymalna ilość połączeń -blocks.poweruse = Zużycie prądu -blocks.powerdamage = Moc/Zniszczenia -blocks.itemcapacity = Pojemność przedmiotów -blocks.basepowergeneration = Podstawowa generacja mocy -blocks.productiontime = Czas produkcji -blocks.repairtime = Czas pełnej naprawy bloku -blocks.speedincrease = Zwiększenie prędkości -blocks.range = Zasięg -blocks.drilltier = Co może wykopać -blocks.drillspeed = Podstawowa szybkość kopania -blocks.boosteffect = Efekt wzmocnienia -blocks.maxunits = Maksymalna ilość jednostek -blocks.health = Zdrowie -blocks.buildtime = Czas budowy -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Koszt budowy -blocks.inaccuracy = Niecelność -blocks.shots = Strzały -blocks.reload = Strzałów/sekundę -blocks.ammo = Amunicja -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Pojemność mocy +stat.powershot = moc/strzał +stat.damage = Obrażenia +stat.targetsair = Namierzanie wrogów powietrznych +stat.targetsground = Namierzanie wrogów lądowych +stat.itemsmoved = Prędkość poruszania się +stat.launchtime = Czas pomiędzy wystrzeleniami +stat.shootrange = Zasięg +stat.size = Rozmiar +stat.displaysize = Display Size +stat.liquidcapacity = Pojemność cieczy +stat.powerrange = Zakres mocy +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Maksymalna ilość połączeń +stat.poweruse = Zużycie prądu +stat.powerdamage = Moc/Zniszczenia +stat.itemcapacity = Pojemność przedmiotów +stat.basepowergeneration = Podstawowa generacja mocy +stat.productiontime = Czas produkcji +stat.repairtime = Czas pełnej naprawy bloku +stat.speedincrease = Zwiększenie prędkości +stat.range = Zasięg +stat.drilltier = Co może wykopać +stat.drillspeed = Podstawowa szybkość kopania +stat.boosteffect = Efekt wzmocnienia +stat.maxunits = Maksymalna ilość jednostek +stat.health = Zdrowie +stat.buildtime = Czas budowy +stat.maxconsecutive = Max Consecutive +stat.buildcost = Koszt budowy +stat.inaccuracy = Niecelność +stat.shots = Strzały +stat.reload = Strzałów/sekundę +stat.ammo = Amunicja +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Wymagane Lepsze Wiertło bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Duża szybkostrzelna wieża. block.spectre.description = Duże działo dwulufowe, które strzela potężnymi pociskami przebijającymi pancerz w jednostki naziemne i powietrzne. block.meltdown.description = Duże działo laserowe, które strzela potężnymi wiązkami dalekiego zasięgu. Wymaga chłodzenia. block.repair-point.description = Bez przerw naprawia najbliższą uszkodzoną jednostkę w jego zasięgu. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index c2d8b20dcf..7f2659d839 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -570,49 +570,49 @@ info.title = [accent]Informação error.title = [crimson]Ocorreu um Erro. error.crashtitle = Ocorreu um Erro unit.nobuild = [scarlet]Unit can't build -blocks.input = Entrada -blocks.output = Saída -blocks.booster = Apoio -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Entrada +stat.output = Saída +stat.booster = Apoio +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Capacidade de Energia -blocks.powershot = Energia/tiro -blocks.damage = Dano -blocks.targetsair = Mira no ar -blocks.targetsground = Mira no chão -blocks.itemsmoved = Velocidade de movimento -blocks.launchtime = Tempo entre Disparos. -blocks.shootrange = Alcance -blocks.size = Tamanho -blocks.displaysize = Display Size -blocks.liquidcapacity = Capacidade de Líquido -blocks.powerrange = Alcance da Energia -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Conexões Máximas -blocks.poweruse = Uso de energia -blocks.powerdamage = Dano/Poder -blocks.itemcapacity = Capacidade de Itens -blocks.basepowergeneration = Geração de poder base -blocks.productiontime = Tempo de produção -blocks.repairtime = Tempo de reparo total do bloco -blocks.speedincrease = Aumento de velocidade -blocks.range = Distância -blocks.drilltier = Brocas -blocks.drillspeed = Velocidade base da Broca -blocks.boosteffect = Efeito do Impulso -blocks.maxunits = Máximo de unidades ativas -blocks.health = Saúde -blocks.buildtime = Tempo de construção -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Custo de construção -blocks.inaccuracy = Imprecisão -blocks.shots = Tiros -blocks.reload = Tiros por segundo -blocks.ammo = Munição -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Capacidade de Energia +stat.powershot = Energia/tiro +stat.damage = Dano +stat.targetsair = Mira no ar +stat.targetsground = Mira no chão +stat.itemsmoved = Velocidade de movimento +stat.launchtime = Tempo entre Disparos. +stat.shootrange = Alcance +stat.size = Tamanho +stat.displaysize = Display Size +stat.liquidcapacity = Capacidade de Líquido +stat.powerrange = Alcance da Energia +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Conexões Máximas +stat.poweruse = Uso de energia +stat.powerdamage = Dano/Poder +stat.itemcapacity = Capacidade de Itens +stat.basepowergeneration = Geração de poder base +stat.productiontime = Tempo de produção +stat.repairtime = Tempo de reparo total do bloco +stat.speedincrease = Aumento de velocidade +stat.range = Distância +stat.drilltier = Brocas +stat.drillspeed = Velocidade base da Broca +stat.boosteffect = Efeito do Impulso +stat.maxunits = Máximo de unidades ativas +stat.health = Saúde +stat.buildtime = Tempo de construção +stat.maxconsecutive = Max Consecutive +stat.buildcost = Custo de construção +stat.inaccuracy = Imprecisão +stat.shots = Tiros +stat.reload = Tiros por segundo +stat.ammo = Munição +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Broca melhor necessária. bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Uma grande torre que dispara balas explosivas que se block.spectre.description = Um grande canhão massivo. Dispara grandes tiros perfuradores de blindagem em inimigos aéreos e terrestres. block.meltdown.description = Um grande canhão laser massivo. Carrega e dispara um poderoso e persistente feixe nos seus inimigos. Requer uma refrigeração para ser operada. block.repair-point.description = Continuamente repara a unidade danificada mais proxima. -block.segment.description = Destrói projéteis inimigos. Projéteis de laser não são afetados. +block.segment.description = Destrói projéteis inimigos. Projéteis de laser não são afetados. \ No newline at end of file diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 0b6948191b..c4b5070b3a 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -570,49 +570,49 @@ info.title = [accent]Informação error.title = [crimson]Ocorreu um Erro. error.crashtitle = Ocorreu um Erro unit.nobuild = [scarlet]Unit can't build -blocks.input = Entrada -blocks.output = Saida -blocks.booster = Booster -blocks.tiles = Telhas Requeridas -blocks.affinities = Afinidades +stat.input = Entrada +stat.output = Saida +stat.booster = Booster +stat.tiles = Telhas Requeridas +stat.affinities = Afinidades block.unknown = [lightgray]??? -blocks.powercapacity = Capacidade de Energia -blocks.powershot = Energia/tiro -blocks.damage = Dano -blocks.targetsair = Mirar no ar -blocks.targetsground = Mirar no chão -blocks.itemsmoved = Velocidade de movimento -blocks.launchtime = Tempo entre tiros -blocks.shootrange = Alcance -blocks.size = Tamanho -blocks.displaysize = Display Size -blocks.liquidcapacity = Capacidade de Líquido -blocks.powerrange = Alcance da Energia -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Uso de energia -blocks.powerdamage = Dano/Poder -blocks.itemcapacity = Capacidade de Itens -blocks.basepowergeneration = Geração de poder base -blocks.productiontime = Tempo de produção -blocks.repairtime = Tempo de reparo total do bloco -blocks.speedincrease = Aumento de velocidade -blocks.range = Distância -blocks.drilltier = Furáveis -blocks.drillspeed = Velocidade da broca base -blocks.boosteffect = Efeito do Boost -blocks.maxunits = Máximo de unidades ativas -blocks.health = Saúde -blocks.buildtime = Tempo de construção -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Custo de construção -blocks.inaccuracy = Imprecisão -blocks.shots = Tiros -blocks.reload = Tiros por segundo -blocks.ammo = Munição -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Capacidade de Energia +stat.powershot = Energia/tiro +stat.damage = Dano +stat.targetsair = Mirar no ar +stat.targetsground = Mirar no chão +stat.itemsmoved = Velocidade de movimento +stat.launchtime = Tempo entre tiros +stat.shootrange = Alcance +stat.size = Tamanho +stat.displaysize = Display Size +stat.liquidcapacity = Capacidade de Líquido +stat.powerrange = Alcance da Energia +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Uso de energia +stat.powerdamage = Dano/Poder +stat.itemcapacity = Capacidade de Itens +stat.basepowergeneration = Geração de poder base +stat.productiontime = Tempo de produção +stat.repairtime = Tempo de reparo total do bloco +stat.speedincrease = Aumento de velocidade +stat.range = Distância +stat.drilltier = Furáveis +stat.drillspeed = Velocidade da broca base +stat.boosteffect = Efeito do Boost +stat.maxunits = Máximo de unidades ativas +stat.health = Saúde +stat.buildtime = Tempo de construção +stat.maxconsecutive = Max Consecutive +stat.buildcost = Custo de construção +stat.inaccuracy = Imprecisão +stat.shots = Tiros +stat.reload = Tiros por segundo +stat.ammo = Munição +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Broca melhor necessária. bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Uma grande torre de tiro rapido. block.spectre.description = Uma grande torre que da dois tiros poderosos ao mesmo tempo. block.meltdown.description = Uma grande torre que atira dois raios poderosos ao mesmo tempo. block.repair-point.description = Continuamente repara a unidade danificada mais proxima. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 053fbdc7d7..aa9fd2f18d 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -569,50 +569,50 @@ error.title = [scarlet]A apărut o eroare. error.crashtitle = A apărut o eroare. unit.nobuild = [scarlet]Unitatea nu poate construi. lastaccessed = [lightgray]Ultima Accesare: {0} -blocks.input = Necesită -blocks.output = Produce -blocks.booster = Booster -blocks.tiles = Teren Necesar -blocks.affinities = Efecte Teren +stat.input = Necesită +stat.output = Produce +stat.booster = Booster +stat.tiles = Teren Necesar +stat.affinities = Efecte Teren block.unknown = [lightgray]??? -blocks.powercapacity = Capacitate electrică -blocks.powershot = Electricitate/Glonț -blocks.damage = Forță -blocks.targetsair = Lovește Aeronave -blocks.targetsground = Lovește Artilerie -blocks.itemsmoved = Viteza de Mișcare a Materialelor -blocks.launchtime = Timp între Lansări -blocks.shootrange = Rază -blocks.size = Mărime -blocks.displaysize = Mărimea Monitorului Logic -blocks.liquidcapacity = Capacitate Lichid -blocks.powerrange = Raza Electrică -blocks.linkrange = Raza Legăturilor -blocks.instructions = Instrucțiuni -blocks.powerconnections = Maxim Conexiuni -blocks.poweruse = Consum Electricitate -blocks.powerdamage = Electricitate/Forța Glonțului -blocks.itemcapacity = Capacitate Materiale -blocks.memorycapacity = Capacitate Memorie -blocks.basepowergeneration = Generare Electricitate (Bază) -blocks.productiontime = Timp Producție -blocks.repairtime = Durata Reparării Blocului -blocks.speedincrease = Creștere Viteză -blocks.range = Rază -blocks.drilltier = Minabile -blocks.drillspeed = Viteză Burghiu (Bază) -blocks.boosteffect = Efect de Boost -blocks.maxunits = Maxim Unități Active -blocks.health = Viață -blocks.buildtime = Timp Construcție -blocks.maxconsecutive = Maxim Consecutive -blocks.buildcost = Cost Construcție -blocks.inaccuracy = Inacuratețe -blocks.shots = Lovituri -blocks.reload = Lovituri/Secundă -blocks.ammo = Muniție -blocks.shieldhealth = Viața Scutului -blocks.cooldowntime = Timp de Reîncărcare +stat.powercapacity = Capacitate electrică +stat.powershot = Electricitate/Glonț +stat.damage = Forță +stat.targetsair = Lovește Aeronave +stat.targetsground = Lovește Artilerie +stat.itemsmoved = Viteza de Mișcare a Materialelor +stat.launchtime = Timp între Lansări +stat.shootrange = Rază +stat.size = Mărime +stat.displaysize = Mărimea Monitorului Logic +stat.liquidcapacity = Capacitate Lichid +stat.powerrange = Raza Electrică +stat.linkrange = Raza Legăturilor +stat.instructions = Instrucțiuni +stat.powerconnections = Maxim Conexiuni +stat.poweruse = Consum Electricitate +stat.powerdamage = Electricitate/Forța Glonțului +stat.itemcapacity = Capacitate Materiale +stat.memorycapacity = Capacitate Memorie +stat.basepowergeneration = Generare Electricitate (Bază) +stat.productiontime = Timp Producție +stat.repairtime = Durata Reparării Blocului +stat.speedincrease = Creștere Viteză +stat.range = Rază +stat.drilltier = Minabile +stat.drillspeed = Viteză Burghiu (Bază) +stat.boosteffect = Efect de Boost +stat.maxunits = Maxim Unități Active +stat.health = Viață +stat.buildtime = Timp Construcție +stat.maxconsecutive = Maxim Consecutive +stat.buildcost = Cost Construcție +stat.inaccuracy = Inacuratețe +stat.shots = Lovituri +stat.reload = Lovituri/Secundă +stat.ammo = Muniție +stat.shieldhealth = Viața Scutului +stat.cooldowntime = Timp de Reîncărcare bar.drilltierreq = Burghiu Mai Bun Necesar bar.noresources = Resurse lipsă @@ -1311,4 +1311,4 @@ block.cyclone.description = O mare armă anti-artilerie și anti-aer. Trage cu g block.spectre.description = O armă masivă cu două țevi. Trage cu gloanțe mari care găuresc armurile țintelor aeriene și artileriei. block.meltdown.description = O armă cu laser masivă. Trage cu un laser continuu la inamicii din apropiere. Necesită răcitor pt a opera. block.repair-point.description = Repară încontinuu cea mai deteriorată unitate din vecinătate. -block.segment.description = Deteriorează și distruge proiectilele din apropiere. Laserele nu sunt afectate. +block.segment.description = Deteriorează și distruge proiectilele din apropiere. Laserele nu sunt afectate. \ No newline at end of file diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 1e12db9ee4..078a1cf6f4 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -576,50 +576,50 @@ error.title = [scarlet]Произошла ошибка error.crashtitle = Произошла ошибка unit.nobuild = [scarlet]Боевая единица не может строить lastaccessed = [lightgray]Последняя конфигурация от {0} -blocks.input = Вход -blocks.output = Выход -blocks.booster = Ускоритель -blocks.tiles = Необходимые плитки -blocks.affinities = Увеличение эффективности +stat.input = Вход +stat.output = Выход +stat.booster = Ускоритель +stat.tiles = Необходимые плитки +stat.affinities = Увеличение эффективности block.unknown = [lightgray]??? -blocks.powercapacity = Вместимость энергии -blocks.powershot = Энергия/Выстрел -blocks.damage = Урон -blocks.targetsair = Воздушные цели -blocks.targetsground = Наземные цели -blocks.itemsmoved = Скорость перемещения -blocks.launchtime = Интервал запусков -blocks.shootrange = Радиус действия -blocks.size = Размер -blocks.displaysize = Размер дисплея -blocks.liquidcapacity = Вместимость жидкости -blocks.powerrange = Дальность передачи энергии -blocks.linkrange = Дальность связи -blocks.instructions = Инструкции -blocks.powerconnections = Количество соединений -blocks.poweruse = Потребляет энергии -blocks.powerdamage = Энергия/урон -blocks.itemcapacity = Вместимость предметов -blocks.memorycapacity = Размер памяти -blocks.basepowergeneration = Базовая генерация энергии -blocks.productiontime = Время производства -blocks.repairtime = Время полной регенерации -blocks.speedincrease = Увеличение скорости -blocks.range = Радиус действия -blocks.drilltier = Бурит -blocks.drillspeed = Базовая скорость бурения -blocks.boosteffect = Ускоряющий эффект -blocks.maxunits = Максимальное количество активных единиц -blocks.health = Прочность -blocks.buildtime = Время строительства -blocks.maxconsecutive = Макс. последовательность -blocks.buildcost = Стоимость строительства -blocks.inaccuracy = Разброс -blocks.shots = Выстрелы -blocks.reload = Выстрелы/секунду -blocks.ammo = Боеприпасы -blocks.shieldhealth = Прочность щита -blocks.cooldowntime = Время восстановления +stat.powercapacity = Вместимость энергии +stat.powershot = Энергия/Выстрел +stat.damage = Урон +stat.targetsair = Воздушные цели +stat.targetsground = Наземные цели +stat.itemsmoved = Скорость перемещения +stat.launchtime = Интервал запусков +stat.shootrange = Радиус действия +stat.size = Размер +stat.displaysize = Размер дисплея +stat.liquidcapacity = Вместимость жидкости +stat.powerrange = Дальность передачи энергии +stat.linkrange = Дальность связи +stat.instructions = Инструкции +stat.powerconnections = Количество соединений +stat.poweruse = Потребляет энергии +stat.powerdamage = Энергия/урон +stat.itemcapacity = Вместимость предметов +stat.memorycapacity = Размер памяти +stat.basepowergeneration = Базовая генерация энергии +stat.productiontime = Время производства +stat.repairtime = Время полной регенерации +stat.speedincrease = Увеличение скорости +stat.range = Радиус действия +stat.drilltier = Бурит +stat.drillspeed = Базовая скорость бурения +stat.boosteffect = Ускоряющий эффект +stat.maxunits = Максимальное количество активных единиц +stat.health = Прочность +stat.buildtime = Время строительства +stat.maxconsecutive = Макс. последовательность +stat.buildcost = Стоимость строительства +stat.inaccuracy = Разброс +stat.shots = Выстрелы +stat.reload = Выстрелы/секунду +stat.ammo = Боеприпасы +stat.shieldhealth = Прочность щита +stat.cooldowntime = Время восстановления bar.drilltierreq = Требуется бур получше bar.noresources = Недостаточно ресурсов @@ -1321,5 +1321,4 @@ block.cyclone.description = Большая турель, которая може block.spectre.description = Массивная двуствольная пушка. Стреляет крупными бронебойными снарядами по воздушным и наземным целям. block.meltdown.description = Массивная лазерная пушка. Заряжает и стреляет постоянным лазерным лучом в ближайших врагов. Требуется охлаждающая жидкость для работы. block.repair-point.description = Непрерывно лечит ближайшую поврежденную боевую единицу или мех в своём радиусе. -block.segment.description = Повреждает и разрушает приближающиеся снаряды. Не взаимодействует с лазерными лучами. - +block.segment.description = Повреждает и разрушает приближающиеся снаряды. Не взаимодействует с лазерными лучами. \ No newline at end of file diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 0d29e6a89e..8d3942eccb 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -570,49 +570,49 @@ info.title = Info error.title = [crimson]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build -blocks.input = Inmatning -blocks.output = Utmatning -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Inmatning +stat.output = Utmatning +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Power Capacity -blocks.powershot = Power/Shot -blocks.damage = Skada -blocks.targetsair = Targets Air -blocks.targetsground = Targets Ground -blocks.itemsmoved = Move Speed -blocks.launchtime = Time Between Launches -blocks.shootrange = Range -blocks.size = Storlek -blocks.displaysize = Display Size -blocks.liquidcapacity = Liquid Capacity -blocks.powerrange = Power Range -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Power Use -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Item Capacity -blocks.basepowergeneration = Base Power Generation -blocks.productiontime = Production Time -blocks.repairtime = Block Full Repair Time -blocks.speedincrease = Speed Increase -blocks.range = Range -blocks.drilltier = Drillables -blocks.drillspeed = Base Drill Speed -blocks.boosteffect = Boost Effect -blocks.maxunits = Max Active Units -blocks.health = Health -blocks.buildtime = Build Time -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Build Cost -blocks.inaccuracy = Inaccuracy -blocks.shots = Skott -blocks.reload = Shots/Second -blocks.ammo = Ammunition -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Power Capacity +stat.powershot = Power/Shot +stat.damage = Skada +stat.targetsair = Targets Air +stat.targetsground = Targets Ground +stat.itemsmoved = Move Speed +stat.launchtime = Time Between Launches +stat.shootrange = Range +stat.size = Storlek +stat.displaysize = Display Size +stat.liquidcapacity = Liquid Capacity +stat.powerrange = Power Range +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Power Use +stat.powerdamage = Power/Damage +stat.itemcapacity = Item Capacity +stat.basepowergeneration = Base Power Generation +stat.productiontime = Production Time +stat.repairtime = Block Full Repair Time +stat.speedincrease = Speed Increase +stat.range = Range +stat.drilltier = Drillables +stat.drillspeed = Base Drill Speed +stat.boosteffect = Boost Effect +stat.maxunits = Max Active Units +stat.health = Health +stat.buildtime = Build Time +stat.maxconsecutive = Max Consecutive +stat.buildcost = Build Cost +stat.inaccuracy = Inaccuracy +stat.shots = Skott +stat.reload = Shots/Second +stat.ammo = Ammunition +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Bättre Borr Krävs bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large anti-air and anti-ground turret. Fires explo block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 6a89ac29ca..b86d8e7182 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -570,49 +570,49 @@ info.title = ข้อมูล error.title = [crimson]มีบางอย่างผิดพลาดเกิดขึ้น error.crashtitle = มีบางอย่างผิดพลาดเกิดขึ้น unit.nobuild = [scarlet]Unit can't build -blocks.input = นำเข้า -blocks.output = ส่งออก -blocks.booster = บูสเตอร์ -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = นำเข้า +stat.output = ส่งออก +stat.booster = บูสเตอร์ +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = ความจุพลังงาน -blocks.powershot = หน่วยพลังงาน/นัด -blocks.damage = ดาเมจ -blocks.targetsair = ยิงอากาศยาน -blocks.targetsground = ยิงภาคพื้นดิน -blocks.itemsmoved = ความเร็วเคลื่อนที่ -blocks.launchtime = เวลาระหว่างการส่ง -blocks.shootrange = ระยะยิง -blocks.size = ขนาด -blocks.displaysize = Display Size -blocks.liquidcapacity = จุของเหลว -blocks.powerrange = ระยะพลังงาน -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = จำนวนการเชื่อมต่อสูงสุด -blocks.poweruse = ใช้พลังงาน -blocks.powerdamage = หน่วยพลังงาน/ดาเมจ -blocks.itemcapacity = จุไอเท็ม -blocks.basepowergeneration = กำเนิดพลังงานพื้นฐาน -blocks.productiontime = เวลาที่ใช้ในการผลิต -blocks.repairtime = เวลาที่ใช้ในการซ่อมแซมให้สมบูรณ์ -blocks.speedincrease = เพิ่มความเร็ว -blocks.range = ระยะ -blocks.drilltier = ขุดได้ -blocks.drillspeed = ความเร็วขุดพื้นฐาน -blocks.boosteffect = แอฟเฟ็คของบูสต์ -blocks.maxunits = จำนวนยูนิตสูงสุด -blocks.health = เลือด -blocks.buildtime = เวลาในการสร้าง -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = ใช้ -blocks.inaccuracy = ความคลาดเคลื่อน -blocks.shots = นัด -blocks.reload = นัด/วินาที -blocks.ammo = กระสุน -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = ความจุพลังงาน +stat.powershot = หน่วยพลังงาน/นัด +stat.damage = ดาเมจ +stat.targetsair = ยิงอากาศยาน +stat.targetsground = ยิงภาคพื้นดิน +stat.itemsmoved = ความเร็วเคลื่อนที่ +stat.launchtime = เวลาระหว่างการส่ง +stat.shootrange = ระยะยิง +stat.size = ขนาด +stat.displaysize = Display Size +stat.liquidcapacity = จุของเหลว +stat.powerrange = ระยะพลังงาน +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = จำนวนการเชื่อมต่อสูงสุด +stat.poweruse = ใช้พลังงาน +stat.powerdamage = หน่วยพลังงาน/ดาเมจ +stat.itemcapacity = จุไอเท็ม +stat.basepowergeneration = กำเนิดพลังงานพื้นฐาน +stat.productiontime = เวลาที่ใช้ในการผลิต +stat.repairtime = เวลาที่ใช้ในการซ่อมแซมให้สมบูรณ์ +stat.speedincrease = เพิ่มความเร็ว +stat.range = ระยะ +stat.drilltier = ขุดได้ +stat.drillspeed = ความเร็วขุดพื้นฐาน +stat.boosteffect = แอฟเฟ็คของบูสต์ +stat.maxunits = จำนวนยูนิตสูงสุด +stat.health = เลือด +stat.buildtime = เวลาในการสร้าง +stat.maxconsecutive = Max Consecutive +stat.buildcost = ใช้ +stat.inaccuracy = ความคลาดเคลื่อน +stat.shots = นัด +stat.reload = นัด/วินาที +stat.ammo = กระสุน +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = จำเป็นต้องใช้เครื่องขุดที่ดีกว่า bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = ป้อมปืนต่อต้านอาก block.spectre.description = ปืนใหญ่ลำกล้องคูขนาดยักษ์. ยิงกระสุนเจาะเกราะใส่ศัตรูทั้งบนอากาศและภาดพื้นดิน. block.meltdown.description = ปืนใหญ่เลเซอร์ขนาดยักษ์. ชาร์จแล้วยิงลำแสงเลเซอร์ใส่ศัตรูที่อยู่ใกล้. จำเป็นต้องใช้สารหล่อเย็น. block.repair-point.description = ซ่อมแซมยูนิตที่อยู่ในรัศมีอย่างต่อเนื่อง. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index edfae05b29..cfac48c897 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -570,49 +570,49 @@ info.title = [accent]Bilgi error.title = [crimson]Bir hata olustu error.crashtitle = Bir hata olustu unit.nobuild = [scarlet]Unit can't build -blocks.input = Input -blocks.output = Output -blocks.booster = Booster -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Input +stat.output = Output +stat.booster = Booster +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Guc kapasitesi -blocks.powershot = Guc/Saldiri hizi -blocks.damage = Damage -blocks.targetsair = Havayi hedef alir mi? -blocks.targetsground = Targets Ground -blocks.itemsmoved = Move Speed -blocks.launchtime = Time Between Launches -blocks.shootrange = Menzil -blocks.size = Buyukluk -blocks.displaysize = Display Size -blocks.liquidcapacity = Sivi kapasitesi -blocks.powerrange = Menzil -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Max Connections -blocks.poweruse = Guc kullanimi -blocks.powerdamage = Power/Damage -blocks.itemcapacity = Esya kapasitesi -blocks.basepowergeneration = Base Power Generation -blocks.productiontime = Production Time -blocks.repairtime = Block Full Repair Time -blocks.speedincrease = Speed Increase -blocks.range = Range -blocks.drilltier = Kazilabilirler -blocks.drillspeed = Ana kazma hizi -blocks.boosteffect = Boost Effect -blocks.maxunits = Max Active Units -blocks.health = Can -blocks.buildtime = Build Time -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = Build Cost -blocks.inaccuracy = sekme -blocks.shots = vuruslar -blocks.reload = Yeniden doldurma -blocks.ammo = Ammo -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Guc kapasitesi +stat.powershot = Guc/Saldiri hizi +stat.damage = Damage +stat.targetsair = Havayi hedef alir mi? +stat.targetsground = Targets Ground +stat.itemsmoved = Move Speed +stat.launchtime = Time Between Launches +stat.shootrange = Menzil +stat.size = Buyukluk +stat.displaysize = Display Size +stat.liquidcapacity = Sivi kapasitesi +stat.powerrange = Menzil +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Max Connections +stat.poweruse = Guc kullanimi +stat.powerdamage = Power/Damage +stat.itemcapacity = Esya kapasitesi +stat.basepowergeneration = Base Power Generation +stat.productiontime = Production Time +stat.repairtime = Block Full Repair Time +stat.speedincrease = Speed Increase +stat.range = Range +stat.drilltier = Kazilabilirler +stat.drillspeed = Ana kazma hizi +stat.boosteffect = Boost Effect +stat.maxunits = Max Active Units +stat.health = Can +stat.buildtime = Build Time +stat.maxconsecutive = Max Consecutive +stat.buildcost = Build Cost +stat.inaccuracy = sekme +stat.shots = vuruslar +stat.reload = Yeniden doldurma +stat.ammo = Ammo +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = A large rapid fire turret. block.spectre.description = A large turret which shoots two powerful bullets at once. block.meltdown.description = A large turret which shoots powerful long-range beams. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 1fd6a6618e..395e062453 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -570,49 +570,49 @@ info.title = Bilgi error.title = [crimson]Bir hata oldu error.crashtitle = Bir hata oldu unit.nobuild = [scarlet]Unit can't build -blocks.input = Giriş -blocks.output = Çıkış -blocks.booster = Güçlendirici -blocks.tiles = Required Tiles -blocks.affinities = Affinities +stat.input = Giriş +stat.output = Çıkış +stat.booster = Güçlendirici +stat.tiles = Required Tiles +stat.affinities = Affinities block.unknown = [lightgray]??? -blocks.powercapacity = Enerji Kapasitesi -blocks.powershot = Enerji/Atış -blocks.damage = Hasar -blocks.targetsair = Havayı Hedefler Mi -blocks.targetsground = Yeri Hedefler Mi -blocks.itemsmoved = Hareket Hızı -blocks.launchtime = Fırlatmalar Arasındaki Süre -blocks.shootrange = Menzil -blocks.size = Boyut -blocks.displaysize = Display Size -blocks.liquidcapacity = Sıvı Kapasitesi -blocks.powerrange = Enerji Menzili -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = Bağlantı sayısı -blocks.poweruse = Enerji Kullanımı -blocks.powerdamage = Enerji/Hasar -blocks.itemcapacity = Eşya Kapasitesi -blocks.basepowergeneration = Temel Enerji Üretimi -blocks.productiontime = Üretim Süresi -blocks.repairtime = Tamir Tamir Edilme Süresi -blocks.speedincrease = Hız Artışı -blocks.range = Menzil -blocks.drilltier = Kazılabilenler -blocks.drillspeed = Temel Matkap Hızı -blocks.boosteffect = Hızlandırma Efekti -blocks.maxunits = Maksimum Aktif Birim -blocks.health = Can -blocks.buildtime = İnşaat Süresi -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = İnşaat Fiyatı -blocks.inaccuracy = İskalama Oranı -blocks.shots = Atışlar -blocks.reload = Atışlar/Sn -blocks.ammo = Mermi -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = Enerji Kapasitesi +stat.powershot = Enerji/Atış +stat.damage = Hasar +stat.targetsair = Havayı Hedefler Mi +stat.targetsground = Yeri Hedefler Mi +stat.itemsmoved = Hareket Hızı +stat.launchtime = Fırlatmalar Arasındaki Süre +stat.shootrange = Menzil +stat.size = Boyut +stat.displaysize = Display Size +stat.liquidcapacity = Sıvı Kapasitesi +stat.powerrange = Enerji Menzili +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = Bağlantı sayısı +stat.poweruse = Enerji Kullanımı +stat.powerdamage = Enerji/Hasar +stat.itemcapacity = Eşya Kapasitesi +stat.basepowergeneration = Temel Enerji Üretimi +stat.productiontime = Üretim Süresi +stat.repairtime = Tamir Tamir Edilme Süresi +stat.speedincrease = Hız Artışı +stat.range = Menzil +stat.drilltier = Kazılabilenler +stat.drillspeed = Temel Matkap Hızı +stat.boosteffect = Hızlandırma Efekti +stat.maxunits = Maksimum Aktif Birim +stat.health = Can +stat.buildtime = İnşaat Süresi +stat.maxconsecutive = Max Consecutive +stat.buildcost = İnşaat Fiyatı +stat.inaccuracy = İskalama Oranı +stat.shots = Atışlar +stat.reload = Atışlar/Sn +stat.ammo = Mermi +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = Daha İyi Matkap Gerekli bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = Büyük bir anti hava ve anti kara tareti. Yakının block.spectre.description = Dev bir çift namlulu top. Hava ve kara birimlerine iri, zırh delici mermiler atar. block.meltdown.description = Dev bir lazer topu. Yüklenip yakındaki düşmanlara uzun süreli lazer ışınları yollar. Çalışması için soğutucu gerekir. block.repair-point.description = Kendisine en yakın hasarlı birimi tamir eder. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 05deecc5b3..dfc4bae48b 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -565,50 +565,50 @@ info.title = Інформація error.title = [crimson]Виникла помилка error.crashtitle = Виникла помилка unit.nobuild = [scarlet]Ця одиниця не може будувати -blocks.input = Ввід -blocks.output = Вивід -blocks.booster = Прискорювач -blocks.tiles = Необхідні плитки -blocks.affinities = Збільшення ефективності +stat.input = Ввід +stat.output = Вивід +stat.booster = Прискорювач +stat.tiles = Необхідні плитки +stat.affinities = Збільшення ефективності block.unknown = [lightgray]??? -blocks.powercapacity = Місткість енергії -blocks.powershot = Енергія за постріл -blocks.damage = Шкода -blocks.targetsair = Повітряні противники -blocks.targetsground = Наземні противники -blocks.itemsmoved = Швидкість переміщення -blocks.launchtime = Час між запусками -blocks.shootrange = Радіус дії -blocks.size = Розмір -blocks.displaysize = Розмір дисплею -blocks.liquidcapacity = Рідинна місткість -blocks.powerrange = Радіус передачі енергії -blocks.linkrange = Радіус з’єднання -blocks.instructions = Інструкції -blocks.powerconnections = Максимальна кількість з’єднань -blocks.poweruse = Енергії використовує -blocks.powerdamage = Енергії за од. шкоди -blocks.itemcapacity = Місткість предметів -blocks.memorycapacity = Ємність пам’яті -blocks.basepowergeneration = Базова генерація енергії -blocks.productiontime = Час виробництва -blocks.repairtime = Час повного відновлення блоку -blocks.speedincrease = Збільшення швидкості -blocks.range = Радіус дії -blocks.drilltier = Видобуває -blocks.drillspeed = Базова швидкість буріння -blocks.boosteffect = Прискорювальний ефект -blocks.maxunits = Максимальна кількість активних одиниць -blocks.health = Здоров’я -blocks.buildtime = Час будування -blocks.maxconsecutive = Максимальна послідовність -blocks.buildcost = Вартість будування -blocks.inaccuracy = Розкид -blocks.shots = Постріли -blocks.reload = Постріли/секунду -blocks.ammo = Боєприпаси -blocks.shieldhealth = Міцність щита -blocks.cooldowntime = Тривалість охолодження +stat.powercapacity = Місткість енергії +stat.powershot = Енергія за постріл +stat.damage = Шкода +stat.targetsair = Повітряні противники +stat.targetsground = Наземні противники +stat.itemsmoved = Швидкість переміщення +stat.launchtime = Час між запусками +stat.shootrange = Радіус дії +stat.size = Розмір +stat.displaysize = Розмір дисплею +stat.liquidcapacity = Рідинна місткість +stat.powerrange = Радіус передачі енергії +stat.linkrange = Радіус з’єднання +stat.instructions = Інструкції +stat.powerconnections = Максимальна кількість з’єднань +stat.poweruse = Енергії використовує +stat.powerdamage = Енергії за од. шкоди +stat.itemcapacity = Місткість предметів +stat.memorycapacity = Ємність пам’яті +stat.basepowergeneration = Базова генерація енергії +stat.productiontime = Час виробництва +stat.repairtime = Час повного відновлення блоку +stat.speedincrease = Збільшення швидкості +stat.range = Радіус дії +stat.drilltier = Видобуває +stat.drillspeed = Базова швидкість буріння +stat.boosteffect = Прискорювальний ефект +stat.maxunits = Максимальна кількість активних одиниць +stat.health = Здоров’я +stat.buildtime = Час будування +stat.maxconsecutive = Максимальна послідовність +stat.buildcost = Вартість будування +stat.inaccuracy = Розкид +stat.shots = Постріли +stat.reload = Постріли/секунду +stat.ammo = Боєприпаси +stat.shieldhealth = Міцність щита +stat.cooldowntime = Тривалість охолодження bar.drilltierreq = Потребується кращий бур bar.noresources = Бракує ресурсів @@ -1300,4 +1300,4 @@ block.cyclone.description = Велика протиповітряна та пр block.spectre.description = Масивна двоствольна гармата. Стріляє великими бронебійними кулями в повітряні та наземні цілі. block.meltdown.description = Масивна лазерна гармата. Заряджає і стріляє лазерним променем у найближчих противників. Для роботи потрібен теплоносій. block.repair-point.description = Безперервно ремонтує найближчу пошкоджену бойову одиницю. -block.segment.description = Пошкоджує та руйнує вхідні снаряди. Окрім лазерних. +block.segment.description = Пошкоджує та руйнує вхідні снаряди. Окрім лазерних. \ No newline at end of file diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 5c5c529ae2..5744d3d0fd 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -570,49 +570,49 @@ info.title = [accent]详情 error.title = [crimson]发生了一个错误 error.crashtitle = 发生了一个错误 unit.nobuild = [scarlet]单位未能建造 -blocks.input = 输入 -blocks.output = 输出 -blocks.booster = 增强物品/液体 -blocks.tiles = 所需地型 -blocks.affinities = 相关 +stat.input = 输入 +stat.output = 输出 +stat.booster = 增强物品/液体 +stat.tiles = 所需地型 +stat.affinities = 相关 block.unknown = [lightgray]??? -blocks.powercapacity = 能量容量 -blocks.powershot = 能量/发射 -blocks.damage = 伤害 -blocks.targetsair = 攻击空中单位 -blocks.targetsground = 攻击地面单位 -blocks.itemsmoved = 移动速度 -blocks.launchtime = 发射间隔时间 -blocks.shootrange = 范围 -blocks.size = 尺寸 -blocks.displaysize = 显示尺寸 -blocks.liquidcapacity = 液体容量 -blocks.powerrange = 能量范围 -blocks.linkrange = 连接范围 -blocks.instructions = 指令数量 -blocks.powerconnections = 最多连接 -blocks.poweruse = 使用能量 -blocks.powerdamage = 功率/损伤 -blocks.itemcapacity = 物品容量 -blocks.basepowergeneration = 基础能源输出 -blocks.productiontime = 生产时间 -blocks.repairtime = 建筑完全修复时间 -blocks.speedincrease = 提速 -blocks.range = 范围 -blocks.drilltier = 可钻探矿物 -blocks.drillspeed = 基础钻探速度 -blocks.boosteffect = 增强效果 -blocks.maxunits = 最大单位数量 -blocks.health = 生命值 -blocks.buildtime = 建造时间 -blocks.maxconsecutive = 最大连续 -blocks.buildcost = 建造花费 -blocks.inaccuracy = 误差 -blocks.shots = 发射数 -blocks.reload = 每秒发射数 -blocks.ammo = 弹药 -blocks.shieldhealth = 盾容 -blocks.cooldowntime = 冷却时间 +stat.powercapacity = 能量容量 +stat.powershot = 能量/发射 +stat.damage = 伤害 +stat.targetsair = 攻击空中单位 +stat.targetsground = 攻击地面单位 +stat.itemsmoved = 移动速度 +stat.launchtime = 发射间隔时间 +stat.shootrange = 范围 +stat.size = 尺寸 +stat.displaysize = 显示尺寸 +stat.liquidcapacity = 液体容量 +stat.powerrange = 能量范围 +stat.linkrange = 连接范围 +stat.instructions = 指令数量 +stat.powerconnections = 最多连接 +stat.poweruse = 使用能量 +stat.powerdamage = 功率/损伤 +stat.itemcapacity = 物品容量 +stat.basepowergeneration = 基础能源输出 +stat.productiontime = 生产时间 +stat.repairtime = 建筑完全修复时间 +stat.speedincrease = 提速 +stat.range = 范围 +stat.drilltier = 可钻探矿物 +stat.drillspeed = 基础钻探速度 +stat.boosteffect = 增强效果 +stat.maxunits = 最大单位数量 +stat.health = 生命值 +stat.buildtime = 建造时间 +stat.maxconsecutive = 最大连续 +stat.buildcost = 建造花费 +stat.inaccuracy = 误差 +stat.shots = 发射数 +stat.reload = 每秒发射数 +stat.ammo = 弹药 +stat.shieldhealth = 盾容 +stat.cooldowntime = 冷却时间 bar.drilltierreq = 需要更好的钻头 bar.noresources = 缺失资源 @@ -1302,4 +1302,4 @@ block.cyclone.description = 大型炮塔,对空对地,发射在敌人周围 block.spectre.description = 超大型炮塔,对空对地,一次射出两颗强大的破甲弹。 block.meltdown.description = 超大型激光炮塔,充能之后持续发射光束,需要冷却剂。 block.repair-point.description = 持续治疗其附近受损最严重的单位。 -block.segment.description = 摧毁袭来的除激光以外的子弹或导弹. +block.segment.description = 摧毁袭来的除激光以外的子弹或导弹. \ No newline at end of file diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 85efa9a527..e495f4b768 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -570,49 +570,49 @@ info.title = 資訊 error.title = [crimson]發生錯誤 error.crashtitle = 發生錯誤 unit.nobuild = [scarlet]單位不能建造 -blocks.input = 輸入 -blocks.output = 輸出 -blocks.booster = 強化 -blocks.tiles = 需求方塊 -blocks.affinities = 親和方塊 +stat.input = 輸入 +stat.output = 輸出 +stat.booster = 強化 +stat.tiles = 需求方塊 +stat.affinities = 親和方塊 block.unknown = [lightgray]??? -blocks.powercapacity = 蓄電量 -blocks.powershot = 能量/射擊 -blocks.damage = 傷害 -blocks.targetsair = 攻擊空中目標 -blocks.targetsground = 攻擊地面目標 -blocks.itemsmoved = 移動速度 -blocks.launchtime = 發射間隔 -blocks.shootrange = 範圍 -blocks.size = 尺寸 -blocks.displaysize = Display Size -blocks.liquidcapacity = 液體容量 -blocks.powerrange = 輸出範圍 -blocks.linkrange = Link Range -blocks.instructions = Instructions -blocks.powerconnections = 最大連接數 -blocks.poweruse = 能量使用 -blocks.powerdamage = 能量/傷害 -blocks.itemcapacity = 物品容量 -blocks.basepowergeneration = 基礎能量生產 -blocks.productiontime = 生產時間 -blocks.repairtime = 方塊完全修復時間 -blocks.speedincrease = 速度提升 -blocks.range = 範圍 -blocks.drilltier = 可鑽取礦物 -blocks.drillspeed = 基本鑽取速度 -blocks.boosteffect = 提升效應 -blocks.maxunits = 最大活躍單位 -blocks.health = 耐久度 -blocks.buildtime = 建設時間 -blocks.maxconsecutive = Max Consecutive -blocks.buildcost = 建造成本 -blocks.inaccuracy = 誤差 -blocks.shots = 射擊數 -blocks.reload = 射擊次數/秒 -blocks.ammo = 彈藥 -blocks.shieldhealth = Shield Health -blocks.cooldowntime = Cooldown Time +stat.powercapacity = 蓄電量 +stat.powershot = 能量/射擊 +stat.damage = 傷害 +stat.targetsair = 攻擊空中目標 +stat.targetsground = 攻擊地面目標 +stat.itemsmoved = 移動速度 +stat.launchtime = 發射間隔 +stat.shootrange = 範圍 +stat.size = 尺寸 +stat.displaysize = Display Size +stat.liquidcapacity = 液體容量 +stat.powerrange = 輸出範圍 +stat.linkrange = Link Range +stat.instructions = Instructions +stat.powerconnections = 最大連接數 +stat.poweruse = 能量使用 +stat.powerdamage = 能量/傷害 +stat.itemcapacity = 物品容量 +stat.basepowergeneration = 基礎能量生產 +stat.productiontime = 生產時間 +stat.repairtime = 方塊完全修復時間 +stat.speedincrease = 速度提升 +stat.range = 範圍 +stat.drilltier = 可鑽取礦物 +stat.drillspeed = 基本鑽取速度 +stat.boosteffect = 提升效應 +stat.maxunits = 最大活躍單位 +stat.health = 耐久度 +stat.buildtime = 建設時間 +stat.maxconsecutive = Max Consecutive +stat.buildcost = 建造成本 +stat.inaccuracy = 誤差 +stat.shots = 射擊數 +stat.reload = 射擊次數/秒 +stat.ammo = 彈藥 +stat.shieldhealth = Shield Health +stat.cooldowntime = Cooldown Time bar.drilltierreq = 需要更好的鑽頭 bar.noresources = Missing Resources @@ -1302,4 +1302,4 @@ block.cyclone.description = 一種對空和對地的大型砲塔。向附近單 block.spectre.description = 一種雙炮管的巨型砲塔。向空中及地面敵人發射大型的穿甲彈。 block.meltdown.description = 一種巨型激光砲塔。充能並發射持續性的激光光束。需要冷卻液以運作。 block.repair-point.description = 持續治療附近最近的受損單位。 -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. \ No newline at end of file diff --git a/core/src/mindustry/core/GameState.java b/core/src/mindustry/core/GameState.java index 7d39da5176..41f14074c8 100644 --- a/core/src/mindustry/core/GameState.java +++ b/core/src/mindustry/core/GameState.java @@ -23,7 +23,7 @@ public class GameState{ /** The current game rules. */ public Rules rules = new Rules(); /** Statistics for this save/game. Displayed after game over. */ - public Stats stats = new Stats(); + public GameStats stats = new GameStats(); /** Global attributes of the environment, calculated by weather. */ public Attributes envAttrs = new Attributes(); /** Sector information. Only valid in the campaign. */ diff --git a/core/src/mindustry/ctype/UnlockableContent.java b/core/src/mindustry/ctype/UnlockableContent.java index 21b72374ec..727fad8bed 100644 --- a/core/src/mindustry/ctype/UnlockableContent.java +++ b/core/src/mindustry/ctype/UnlockableContent.java @@ -10,11 +10,14 @@ import mindustry.game.EventType.*; import mindustry.graphics.*; import mindustry.type.*; import mindustry.ui.*; +import mindustry.world.meta.*; import static mindustry.Vars.*; /** Base interface for an unlockable content type. */ public abstract class UnlockableContent extends MappableContent{ + /** Stat storage for this content. Initialized on demand. */ + public Stats stats = new Stats(); /** Localized, formal name. Never null. Set to internal name if not found in bundle. */ public String localizedName; /** Localized description. May be null. */ @@ -38,6 +41,20 @@ public abstract class UnlockableContent extends MappableContent{ return minfo.mod == null ? description : description + "\n" + Core.bundle.format("mod.display", minfo.mod.meta.displayName()); } + /** Checks stat initialization state. Call before displaying stats. */ + public void checkStats(){ + if(!stats.intialized){ + setStats(); + stats.intialized = true; + } + } + + /** Intializes stats on demand. Should only be called once. Only called before something is displayed. */ + @CallSuper + public void setStats(){ + stats.intialized = true; + } + /** Generate any special icons for this content. Called asynchronously.*/ @CallSuper public void createIcons(MultiPacker packer){ @@ -73,7 +90,9 @@ public abstract class UnlockableContent extends MappableContent{ } /** This should show all necessary info about this content in the specified table. */ - public abstract void displayInfo(Table table); + public void display(Table table){ + + } /** Called when this content is unlocked. Use this to unlock other related content. */ public void onUnlock(){ diff --git a/core/src/mindustry/game/Stats.java b/core/src/mindustry/game/GameStats.java similarity index 99% rename from core/src/mindustry/game/Stats.java rename to core/src/mindustry/game/GameStats.java index b963223518..8108f2ddad 100644 --- a/core/src/mindustry/game/Stats.java +++ b/core/src/mindustry/game/GameStats.java @@ -6,7 +6,7 @@ import mindustry.type.*; //TODO more stats: //- units constructed -public class Stats{ +public class GameStats{ /** Total items delivered to global resoure counter. Campaign only. */ public ObjectIntMap itemsDelivered = new ObjectIntMap<>(); /** Enemy (red team) units destroyed. */ diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index f305d661fc..906d96d56e 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -352,6 +352,8 @@ public class DesktopInput extends InputHandler{ table.button(Icon.map, Styles.clearPartiali, () -> { ui.planet.show(); }).visible(() -> state.isCampaign()).tooltip("@planetmap"); + + table.add(); } void pollInput(){ diff --git a/core/src/mindustry/io/SaveVersion.java b/core/src/mindustry/io/SaveVersion.java index e153b74587..b76a5156e8 100644 --- a/core/src/mindustry/io/SaveVersion.java +++ b/core/src/mindustry/io/SaveVersion.java @@ -105,7 +105,7 @@ public abstract class SaveVersion extends SaveFileReader{ state.wave = map.getInt("wave"); state.wavetime = map.getFloat("wavetime", state.rules.waveSpacing); - state.stats = JsonIO.read(Stats.class, map.get("stats", "{}")); + state.stats = JsonIO.read(GameStats.class, map.get("stats", "{}")); state.rules = JsonIO.read(Rules.class, map.get("rules", "{}")); if(state.rules.spawns.isEmpty()) state.rules.spawns = defaultWaves.get(); lastReadBuild = map.getInt("build", -1); diff --git a/core/src/mindustry/type/Item.java b/core/src/mindustry/type/Item.java index 9329efb47e..d245902a39 100644 --- a/core/src/mindustry/type/Item.java +++ b/core/src/mindustry/type/Item.java @@ -1,11 +1,10 @@ package mindustry.type; import arc.graphics.*; -import arc.scene.ui.layout.*; import arc.struct.*; import mindustry.ctype.*; -import mindustry.ui.*; import mindustry.world.blocks.environment.*; +import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -36,8 +35,10 @@ public class Item extends UnlockableContent{ } @Override - public void displayInfo(Table table){ - ContentDisplay.displayItem(table, this); + public void setStats(){ + stats.addPercent(Stat.explosiveness, explosiveness); + stats.addPercent(Stat.flammability, flammability); + stats.addPercent(Stat.radioactivity, radioactivity); } @Override diff --git a/core/src/mindustry/type/Liquid.java b/core/src/mindustry/type/Liquid.java index 19e77a9987..3c4fe8eaf7 100644 --- a/core/src/mindustry/type/Liquid.java +++ b/core/src/mindustry/type/Liquid.java @@ -1,11 +1,10 @@ package mindustry.type; import arc.graphics.*; -import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.ctype.*; -import mindustry.ui.*; +import mindustry.world.meta.*; public class Liquid extends UnlockableContent{ /** Color used in pipes and on the ground. */ @@ -46,8 +45,12 @@ public class Liquid extends UnlockableContent{ } @Override - public void displayInfo(Table table){ - ContentDisplay.displayLiquid(table, this); + public void setStats(){ + stats.addPercent(Stat.explosiveness, explosiveness); + stats.addPercent(Stat.flammability, flammability); + stats.addPercent(Stat.temperature, temperature); + stats.addPercent(Stat.heatCapacity, heatCapacity); + stats.addPercent(Stat.viscosity, viscosity); } @Override diff --git a/core/src/mindustry/type/Planet.java b/core/src/mindustry/type/Planet.java index ad7fb066be..4550ae6805 100644 --- a/core/src/mindustry/type/Planet.java +++ b/core/src/mindustry/type/Planet.java @@ -5,7 +5,6 @@ import arc.func.*; import arc.graphics.*; import arc.math.*; import arc.math.geom.*; -import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; import arc.util.noise.*; @@ -259,11 +258,6 @@ public class Planet extends UnlockableContent{ return true; } - @Override - public void displayInfo(Table table){ - - } - @Override public ContentType getContentType(){ return ContentType.planet; diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index f08374fa70..0e9b90fb30 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -2,7 +2,6 @@ package mindustry.type; import arc.func.*; import arc.graphics.g2d.*; -import arc.scene.ui.layout.*; import mindustry.ctype.*; import mindustry.game.*; import mindustry.gen.*; @@ -39,11 +38,6 @@ public class SectorPreset extends UnlockableContent{ return true; } - //neither of these are implemented, as zones are not displayed in a normal fashion... yet - @Override - public void displayInfo(Table table){ - } - @Override public ContentType getContentType(){ return ContentType.sector; diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 5c48f8165e..55c1784fd3 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -29,6 +29,7 @@ import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.units.*; import mindustry.world.consumers.*; import mindustry.world.meta.*; +import mindustry.world.meta.values.*; import static mindustry.Vars.*; @@ -42,7 +43,7 @@ public class UnitType extends UnlockableContent{ public Prov defaultController = () -> !flying ? new GroundAI() : new FlyingAI(); public float speed = 1.1f, boostMultiplier = 1f, rotateSpeed = 5f, baseRotateSpeed = 5f; public float drag = 0.3f, accel = 0.5f, landShake = 0f, rippleScale = 1f, fallSpeed = 0.018f; - public float health = 200f, range = -1, armor = 0f; + public float health = 200f, range = -1, armor = 0f, maxRange = -1f; public float crashDamageMultiplier = 1f; public boolean targetAir = true, targetGround = true; public boolean faceTarget = true, rotateShooting = true, isCounted = true, lowAltitude = false; @@ -190,10 +191,21 @@ public class UnitType extends UnlockableContent{ } } - @Override - public void displayInfo(Table table){ - ContentDisplay.displayUnit(table, this); + public void setStats(){ + Unit inst = constructor.get(); + + stats.add(Stat.health, health); + stats.add(Stat.speed, speed); + stats.add(Stat.itemCapacity, health); + stats.add(Stat.range, (int)(maxRange / tilesize), StatUnit.blocks); + //TODO abilities, maybe try something like DPS + + if(inst instanceof Minerc && mineTier >= 1){ + stats.addPercent(Stat.mineSpeed, mineSpeed); + stats.add(Stat.mineTier, new BlockFilterValue(b -> b instanceof Floor f && f.itemDrop != null && f.itemDrop.hardness <= mineTier && !f.playerUnmineable)); + } + if(inst instanceof Builderc) stats.addPercent(Stat.buildSpeed, buildSpeed); } @CallSuper @@ -219,8 +231,10 @@ public class UnitType extends UnlockableContent{ //set up default range if(range < 0){ range = Float.MAX_VALUE; + maxRange = 0f; for(Weapon weapon : weapons){ range = Math.min(range, weapon.bullet.range() + hitSize /2f); + maxRange = Math.max(maxRange, weapon.bullet.range() + hitSize /2f); } } @@ -324,7 +338,7 @@ public class UnitType extends UnlockableContent{ if(stacks != null){ ItemStack[] out = new ItemStack[stacks.length]; for(int i = 0; i < out.length; i++){ - out[i] = new ItemStack(stacks[i].item, UI.roundAmount((int)(Math.pow(stacks[i].amount, 1.1) * 50))); + out[i] = new ItemStack(stacks[i].item, UI.roundAmount((int)(Math.pow(stacks[i].amount, 1) * 50))); } return out; diff --git a/core/src/mindustry/type/Weather.java b/core/src/mindustry/type/Weather.java index 8fb30aecb6..86e44c0174 100644 --- a/core/src/mindustry/type/Weather.java +++ b/core/src/mindustry/type/Weather.java @@ -4,7 +4,6 @@ import arc.func.*; import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; -import arc.scene.ui.layout.*; import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; @@ -91,11 +90,6 @@ public abstract class Weather extends UnlockableContent{ } - @Override - public void displayInfo(Table table){ - //do not - } - @Override public boolean isHidden(){ return true; diff --git a/core/src/mindustry/ui/ContentDisplay.java b/core/src/mindustry/ui/ContentDisplay.java deleted file mode 100644 index 6eefedcd53..0000000000 --- a/core/src/mindustry/ui/ContentDisplay.java +++ /dev/null @@ -1,165 +0,0 @@ -package mindustry.ui; - -import arc.*; -import arc.graphics.*; -import arc.scene.ui.layout.*; -import arc.struct.*; -import arc.util.*; -import mindustry.gen.*; -import mindustry.graphics.*; -import mindustry.type.*; -import mindustry.world.*; -import mindustry.world.meta.*; - -public class ContentDisplay{ - - public static void displayBlock(Table table, Block block){ - - table.table(title -> { - int size = 8 * 6; - - title.image(block.icon(Cicon.xlarge)).size(size); - title.add("[accent]" + block.localizedName).padLeft(5); - }); - - table.row(); - - table.image().height(3).color(Color.lightGray).pad(8).padLeft(0).padRight(0).fillX(); - - table.row(); - - if(block.description != null){ - table.add(block.displayDescription()).padLeft(5).padRight(5).width(400f).wrap().fillX(); - table.row(); - - table.image().height(3).color(Color.lightGray).pad(8).padLeft(0).padRight(0).fillX(); - table.row(); - } - - BlockStats stats = block.stats; - - for(StatCategory cat : stats.toMap().keys()){ - OrderedMap> map = stats.toMap().get(cat); - - if(map.size == 0) continue; - - table.add("@category." + cat.name()).color(Pal.accent).fillX(); - table.row(); - - for(BlockStat stat : map.keys()){ - table.table(inset -> { - inset.left(); - inset.add("[lightgray]" + stat.localized() + ":[] ").left(); - Seq arr = map.get(stat); - for(StatValue value : arr){ - value.display(inset); - inset.add().size(10f); - } - - }).fillX().padLeft(10); - table.row(); - } - } - } - - public static void displayItem(Table table, Item item){ - - table.table(title -> { - title.image(item.icon(Cicon.xlarge)).size(8 * 6); - title.add("[accent]" + item.localizedName).padLeft(5); - }); - - table.row(); - - table.image().height(3).color(Color.lightGray).pad(15).padLeft(0).padRight(0).fillX(); - - table.row(); - - if(item.description != null){ - table.add(item.displayDescription()).padLeft(5).padRight(5).width(400f).wrap().fillX(); - table.row(); - - table.image().height(3).color(Color.lightGray).pad(15).padLeft(0).padRight(0).fillX(); - table.row(); - } - - table.left().defaults().fillX(); - - table.add(Core.bundle.format("item.explosiveness", (int)(item.explosiveness * 100))); - table.row(); - table.add(Core.bundle.format("item.flammability", (int)(item.flammability * 100))); - table.row(); - table.add(Core.bundle.format("item.radioactivity", (int)(item.radioactivity * 100))); - table.row(); - } - - public static void displayLiquid(Table table, Liquid liquid){ - - table.table(title -> { - title.image(liquid.icon(Cicon.xlarge)).size(8 * 6); - title.add("[accent]" + liquid.localizedName).padLeft(5); - }); - - table.row(); - - table.image().height(3).color(Color.lightGray).pad(15).padLeft(0).padRight(0).fillX(); - - table.row(); - - if(liquid.description != null){ - table.add(liquid.displayDescription()).padLeft(5).padRight(5).width(400f).wrap().fillX(); - table.row(); - - table.image().height(3).color(Color.lightGray).pad(15).padLeft(0).padRight(0).fillX(); - table.row(); - } - - table.left().defaults().fillX(); - - table.add(Core.bundle.format("item.explosiveness", (int)(liquid.explosiveness * 100))); - table.row(); - table.add(Core.bundle.format("item.flammability", (int)(liquid.flammability * 100))); - table.row(); - table.add(Core.bundle.format("liquid.heatcapacity", (int)(liquid.heatCapacity * 100))); - table.row(); - table.add(Core.bundle.format("liquid.temperature", (int)(liquid.temperature * 100))); - table.row(); - table.add(Core.bundle.format("liquid.viscosity", (int)(liquid.viscosity * 100))); - table.row(); - } - - public static void displayUnit(Table table, UnitType unit){ - table.table(title -> { - title.image(unit.icon(Cicon.xlarge)).size(8 * 6).scaling(Scaling.fit); - title.add("[accent]" + unit.localizedName).padLeft(5); - }); - - table.row(); - - table.image().height(3).color(Color.lightGray).pad(15).padLeft(0).padRight(0).fillX(); - - table.row(); - - if(unit.description != null){ - table.add(unit.displayDescription()).padLeft(5).padRight(5).width(400f).wrap().fillX(); - table.row(); - - table.image().height(3).color(Color.lightGray).pad(15).padLeft(0).padRight(0).fillX(); - table.row(); - } - - table.left().defaults().fillX(); - - Unit inst = unit.constructor.get(); - - //TODO more stats - table.add(Core.bundle.format("unit.health", unit.health)).row(); - table.add(Core.bundle.format("unit.speed", Strings.fixed(unit.speed, 1))).row(); - table.add(Core.bundle.format("unit.itemcapacity", unit.itemCapacity)).row(); - - if(inst instanceof Minerc) table.add(Core.bundle.format("unit.minespeed", (int)(unit.mineSpeed * 100f))).row(); - if(inst instanceof Builderc) table.add(Core.bundle.format("unit.buildspeed", (int)(unit.buildSpeed * 100f))).row(); - - table.row(); - } -} diff --git a/core/src/mindustry/ui/dialogs/ContentInfoDialog.java b/core/src/mindustry/ui/dialogs/ContentInfoDialog.java index 0ee1960f9f..89cf556cb1 100644 --- a/core/src/mindustry/ui/dialogs/ContentInfoDialog.java +++ b/core/src/mindustry/ui/dialogs/ContentInfoDialog.java @@ -1,8 +1,14 @@ package mindustry.ui.dialogs; +import arc.graphics.*; import arc.scene.ui.*; import arc.scene.ui.layout.*; +import arc.struct.*; +import arc.util.*; import mindustry.ctype.*; +import mindustry.graphics.*; +import mindustry.ui.*; +import mindustry.world.meta.*; public class ContentInfoDialog extends BaseDialog{ @@ -18,11 +24,62 @@ public class ContentInfoDialog extends BaseDialog{ Table table = new Table(); table.margin(10); - content.displayInfo(table); + //initialize stats if they haven't been yet + content.checkStats(); + + table.table(title1 -> { + int size = 8 * 6; + + title1.image(content.icon(Cicon.xlarge)).size(size).scaling(Scaling.fit); + title1.add("[accent]" + content.localizedName).padLeft(5); + }); + + table.row(); + + table.image().height(3).color(Color.lightGray).pad(8).padLeft(0).padRight(0).fillX(); + + table.row(); + + if(content.description != null){ + table.add(content.displayDescription()).padLeft(5).padRight(5).width(400f).wrap().fillX(); + table.row(); + + table.image().height(3).color(Color.lightGray).pad(8).padLeft(0).padRight(0).fillX(); + table.row(); + } + + Stats stats = content.stats; + + for(StatCat cat : stats.toMap().keys()){ + OrderedMap> map = stats.toMap().get(cat); + + if(map.size == 0) continue; + + //TODO check + if(stats.useCategories){ + table.add("@category." + cat.name()).color(Pal.accent).fillX(); + table.row(); + } + + for(Stat stat : map.keys()){ + table.table(inset -> { + inset.left(); + inset.add("[lightgray]" + stat.localized() + ":[] ").left(); + Seq arr = map.get(stat); + for(StatValue value : arr){ + value.display(inset); + inset.add().size(10f); + } + + }).fillX().padLeft(10); + table.row(); + } + } ScrollPane pane = new ScrollPane(table); cont.add(pane); show(); } + } diff --git a/core/src/mindustry/ui/dialogs/GameOverDialog.java b/core/src/mindustry/ui/dialogs/GameOverDialog.java index b9967e6564..ceea590826 100644 --- a/core/src/mindustry/ui/dialogs/GameOverDialog.java +++ b/core/src/mindustry/ui/dialogs/GameOverDialog.java @@ -2,7 +2,7 @@ package mindustry.ui.dialogs; import arc.*; import mindustry.game.EventType.*; -import mindustry.game.Stats.*; +import mindustry.game.GameStats.*; import mindustry.game.*; import mindustry.type.*; import mindustry.ui.*; diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 6ccd5855d2..f977a24743 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -51,7 +51,6 @@ public class Block extends UnlockableContent{ public float liquidCapacity = 10f; public float liquidPressure = 1f; - public final BlockStats stats = new BlockStats(); public final BlockBars bars = new BlockBars(); public final Consumers consumes = new Consumers(); @@ -321,23 +320,26 @@ public class Block extends UnlockableContent{ return update || destructible; } + @Override public void setStats(){ - stats.add(BlockStat.size, "@x@", size, size); - stats.add(BlockStat.health, health, StatUnit.none); + super.setStats(); + + stats.add(Stat.size, "@x@", size, size); + stats.add(Stat.health, health, StatUnit.none); if(canBeBuilt()){ - stats.add(BlockStat.buildTime, buildCost / 60, StatUnit.seconds); - stats.add(BlockStat.buildCost, new ItemListValue(false, requirements)); + stats.add(Stat.buildTime, buildCost / 60, StatUnit.seconds); + stats.add(Stat.buildCost, new ItemListValue(false, requirements)); } if(instantTransfer){ - stats.add(BlockStat.maxConsecutive, 2, StatUnit.none); + stats.add(Stat.maxConsecutive, 2, StatUnit.none); } consumes.display(stats); - // Note: Power stats are added by the consumers. - if(hasLiquids) stats.add(BlockStat.liquidCapacity, liquidCapacity, StatUnit.liquidUnits); - if(hasItems && itemCapacity > 0) stats.add(BlockStat.itemCapacity, itemCapacity, StatUnit.items); + //Note: Power stats are added by the consumers. + if(hasLiquids) stats.add(Stat.liquidCapacity, liquidCapacity, StatUnit.liquidUnits); + if(hasItems && itemCapacity > 0) stats.add(Stat.itemCapacity, itemCapacity, StatUnit.items); } public void setBars(){ @@ -634,11 +636,6 @@ public class Block extends UnlockableContent{ } } - @Override - public void displayInfo(Table table){ - ContentDisplay.displayBlock(table, this); - } - @Override public ContentType getContentType(){ return ContentType.block; @@ -669,9 +666,10 @@ public class Block extends UnlockableContent{ if(consumes.has(ConsumeType.item)) hasItems = true; if(consumes.has(ConsumeType.liquid)) hasLiquids = true; - setStats(); setBars(); + stats.useCategories = true; + consumes.init(); if(!outputsPower && consumes.hasPower() && consumes.getPower().buffered){ diff --git a/core/src/mindustry/world/blocks/campaign/LaunchPad.java b/core/src/mindustry/world/blocks/campaign/LaunchPad.java index 726e14cd8a..ff069acc48 100644 --- a/core/src/mindustry/world/blocks/campaign/LaunchPad.java +++ b/core/src/mindustry/world/blocks/campaign/LaunchPad.java @@ -42,7 +42,7 @@ public class LaunchPad extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.launchTime, launchTime / 60f, StatUnit.seconds); + stats.add(Stat.launchTime, launchTime / 60f, StatUnit.seconds); } @Override diff --git a/core/src/mindustry/world/blocks/defense/ForceProjector.java b/core/src/mindustry/world/blocks/defense/ForceProjector.java index 3b90533745..46fb01d7d5 100644 --- a/core/src/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/mindustry/world/blocks/defense/ForceProjector.java @@ -61,11 +61,11 @@ public class ForceProjector extends Block{ @Override public void setStats(){ super.setStats(); - stats.add(BlockStat.shieldHealth, breakage, StatUnit.none); - stats.add(BlockStat.cooldownTime, (int) (breakage / cooldownBrokenBase / 60f), StatUnit.seconds); - stats.add(BlockStat.powerUse, basePowerDraw * 60f, StatUnit.powerSecond); - stats.add(BlockStat.boostEffect, phaseRadiusBoost / tilesize, StatUnit.blocks); - stats.add(BlockStat.boostEffect, phaseShieldBoost, StatUnit.shieldHealth); + stats.add(Stat.shieldHealth, breakage, StatUnit.none); + stats.add(Stat.cooldownTime, (int) (breakage / cooldownBrokenBase / 60f), StatUnit.seconds); + stats.add(Stat.powerUse, basePowerDraw * 60f, StatUnit.powerSecond); + stats.add(Stat.boostEffect, phaseRadiusBoost / tilesize, StatUnit.blocks); + stats.add(Stat.boostEffect, phaseShieldBoost, StatUnit.shieldHealth); } @Override diff --git a/core/src/mindustry/world/blocks/defense/MendProjector.java b/core/src/mindustry/world/blocks/defense/MendProjector.java index 2bc50d6d7a..cf71928f26 100644 --- a/core/src/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/mindustry/world/blocks/defense/MendProjector.java @@ -44,11 +44,11 @@ public class MendProjector extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.repairTime, (int)(100f / healPercent * reload / 60f), StatUnit.seconds); - stats.add(BlockStat.range, range / tilesize, StatUnit.blocks); + stats.add(Stat.repairTime, (int)(100f / healPercent * reload / 60f), StatUnit.seconds); + stats.add(Stat.range, range / tilesize, StatUnit.blocks); - stats.add(BlockStat.boostEffect, phaseRangeBoost / tilesize, StatUnit.blocks); - stats.add(BlockStat.boostEffect, (phaseBoost + healPercent) / healPercent, StatUnit.timesSpeed); + stats.add(Stat.boostEffect, phaseRangeBoost / tilesize, StatUnit.blocks); + stats.add(Stat.boostEffect, (phaseBoost + healPercent) / healPercent, StatUnit.timesSpeed); } @Override diff --git a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java index ae3c10f3fd..7cadaede81 100644 --- a/core/src/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/mindustry/world/blocks/defense/OverdriveProjector.java @@ -51,13 +51,13 @@ public class OverdriveProjector extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.speedIncrease, (int)(100f * speedBoost), StatUnit.percent); - stats.add(BlockStat.range, range / tilesize, StatUnit.blocks); - stats.add(BlockStat.productionTime, useTime / 60f, StatUnit.seconds); + stats.add(Stat.speedIncrease, (int)(100f * speedBoost), StatUnit.percent); + stats.add(Stat.range, range / tilesize, StatUnit.blocks); + stats.add(Stat.productionTime, useTime / 60f, StatUnit.seconds); if(hasBoost){ - stats.add(BlockStat.boostEffect, phaseRangeBoost / tilesize, StatUnit.blocks); - stats.add(BlockStat.boostEffect, (int)((speedBoost + speedBoostPhase) * 100f), StatUnit.percent); + stats.add(Stat.boostEffect, phaseRangeBoost / tilesize, StatUnit.blocks); + stats.add(Stat.boostEffect, (int)((speedBoost + speedBoostPhase) * 100f), StatUnit.percent); } } diff --git a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java index 824492cff5..e10b1612e9 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/BaseTurret.java @@ -48,7 +48,7 @@ public abstract class BaseTurret extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.shootRange, range / tilesize, StatUnit.blocks); + stats.add(Stat.shootRange, range / tilesize, StatUnit.blocks); } public class BaseTurretBuild extends Building implements Ranged{ diff --git a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java index 521e6dc19b..8544ca2cce 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -35,8 +35,8 @@ public class ItemTurret extends Turret{ public void setStats(){ super.setStats(); - stats.remove(BlockStat.itemCapacity); - stats.add(BlockStat.ammo, new AmmoListValue<>(ammoTypes)); + stats.remove(Stat.itemCapacity); + stats.add(Stat.ammo, new AmmoListValue<>(ammoTypes)); consumes.add(new ConsumeItemFilter(i -> ammoTypes.containsKey(i)){ @Override public void build(Building tile, Table table){ @@ -54,7 +54,7 @@ public class ItemTurret extends Turret{ } @Override - public void display(BlockStats stats){ + public void display(Stats stats){ //don't display } }); diff --git a/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java b/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java index c47a279414..3aefcdd33c 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/LaserTurret.java @@ -33,11 +33,11 @@ public class LaserTurret extends PowerTurret{ public void setStats(){ super.setStats(); - stats.remove(BlockStat.booster); - stats.add(BlockStat.input, new BoosterListValue(reloadTime, consumes.get(ConsumeType.liquid).amount, coolantMultiplier, false, l -> consumes.liquidfilters.get(l.id))); - stats.remove(BlockStat.damage); + stats.remove(Stat.booster); + stats.add(Stat.input, new BoosterListValue(reloadTime, consumes.get(ConsumeType.liquid).amount, coolantMultiplier, false, l -> consumes.liquidfilters.get(l.id))); + stats.remove(Stat.damage); //damages every 5 ticks, at least in meltdown's case - stats.add(BlockStat.damage, shootType.damage * 60f / 5f, StatUnit.perSecond); + stats.add(Stat.damage, shootType.damage * 60f / 5f, StatUnit.perSecond); } public class LaserTurretBuild extends PowerTurretBuild{ diff --git a/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java index 11d6213aa5..15716b4a94 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -36,7 +36,7 @@ public class LiquidTurret extends Turret{ public void setStats(){ super.setStats(); - stats.add(BlockStat.ammo, new AmmoListValue<>(ammoTypes)); + stats.add(Stat.ammo, new AmmoListValue<>(ammoTypes)); consumes.add(new ConsumeLiquidFilter(i -> ammoTypes.containsKey(i), 1f){ @Override public boolean valid(Building entity){ @@ -49,7 +49,7 @@ public class LiquidTurret extends Turret{ } @Override - public void display(BlockStats stats){ + public void display(Stats stats){ } }); diff --git a/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java b/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java index e4b7b68628..0184f9ff7a 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/PointDefenseTurret.java @@ -48,7 +48,7 @@ public class PointDefenseTurret extends ReloadTurret{ public void setStats(){ super.setStats(); - stats.add(BlockStat.reload, 60f / reloadTime, StatUnit.none); + stats.add(Stat.reload, 60f / reloadTime, StatUnit.none); } public class PointDefenseBuild extends ReloadTurretBuild{ diff --git a/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java b/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java index 85e5243e2f..bf365f4439 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/PowerTurret.java @@ -16,7 +16,7 @@ public class PowerTurret extends Turret{ @Override public void setStats(){ super.setStats(); - stats.add(BlockStat.damage, shootType.damage, StatUnit.none); + stats.add(Stat.damage, shootType.damage, StatUnit.none); } @Override diff --git a/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java index b53c2feb03..33538771a1 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ReloadTurret.java @@ -21,7 +21,7 @@ public abstract class ReloadTurret extends BaseTurret{ super.setStats(); if(acceptCoolant){ - stats.add(BlockStat.booster, new BoosterListValue(reloadTime, consumes.get(ConsumeType.liquid).amount, coolantMultiplier, true, l -> consumes.liquidfilters.get(l.id))); + stats.add(Stat.booster, new BoosterListValue(reloadTime, consumes.get(ConsumeType.liquid).amount, coolantMultiplier, true, l -> consumes.liquidfilters.get(l.id))); } } diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index b40c738a35..debe26f7e6 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -50,9 +50,9 @@ public class TractorBeamTurret extends BaseTurret{ public void setStats(){ super.setStats(); - stats.add(BlockStat.targetsAir, targetAir); - stats.add(BlockStat.targetsGround, targetGround); - stats.add(BlockStat.damage, damage * 60f, StatUnit.perSecond); + stats.add(Stat.targetsAir, targetAir); + stats.add(Stat.targetsGround, targetGround); + stats.add(Stat.damage, damage * 60f, StatUnit.perSecond); } public class TractorBeamBuild extends BaseTurretBuild{ diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 7040f83759..2361c429af 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -101,13 +101,13 @@ public abstract class Turret extends ReloadTurret{ public void setStats(){ super.setStats(); - stats.add(BlockStat.inaccuracy, (int)inaccuracy, StatUnit.degrees); - stats.add(BlockStat.reload, 60f / reloadTime * shots, StatUnit.none); - stats.add(BlockStat.targetsAir, targetAir); - stats.add(BlockStat.targetsGround, targetGround); + stats.add(Stat.inaccuracy, (int)inaccuracy, StatUnit.degrees); + stats.add(Stat.reload, 60f / reloadTime * shots, StatUnit.none); + stats.add(Stat.targetsAir, targetAir); + stats.add(Stat.targetsGround, targetGround); if(acceptCoolant){ - stats.add(BlockStat.booster, new BoosterListValue(reloadTime, consumes.get(ConsumeType.liquid).amount, coolantMultiplier, true, l -> consumes.liquidfilters.get(l.id))); + stats.add(Stat.booster, new BoosterListValue(reloadTime, consumes.get(ConsumeType.liquid).amount, coolantMultiplier, true, l -> consumes.liquidfilters.get(l.id))); } } diff --git a/core/src/mindustry/world/blocks/distribution/Conveyor.java b/core/src/mindustry/world/blocks/distribution/Conveyor.java index 60ab45f159..9ad1f01bea 100644 --- a/core/src/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/mindustry/world/blocks/distribution/Conveyor.java @@ -52,7 +52,7 @@ public class Conveyor extends Block implements Autotiler{ super.setStats(); //have to add a custom calculated speed, since the actual movement speed is apparently not linear - stats.add(BlockStat.itemsMoved, displayedSpeed, StatUnit.itemsSecond); + stats.add(Stat.itemsMoved, displayedSpeed, StatUnit.itemsSecond); } @Override diff --git a/core/src/mindustry/world/blocks/distribution/StackConveyor.java b/core/src/mindustry/world/blocks/distribution/StackConveyor.java index 3327c62c15..f3c400ad9b 100644 --- a/core/src/mindustry/world/blocks/distribution/StackConveyor.java +++ b/core/src/mindustry/world/blocks/distribution/StackConveyor.java @@ -53,7 +53,7 @@ public class StackConveyor extends Block implements Autotiler{ public void setStats(){ super.setStats(); - stats.add(BlockStat.itemsMoved, Mathf.round(itemCapacity * speed * 60), StatUnit.itemsSecond); + stats.add(Stat.itemsMoved, Mathf.round(itemCapacity * speed * 60), StatUnit.itemsSecond); } @Override diff --git a/core/src/mindustry/world/blocks/liquid/LiquidJunction.java b/core/src/mindustry/world/blocks/liquid/LiquidJunction.java index 09e5b70bb0..80881e2c17 100644 --- a/core/src/mindustry/world/blocks/liquid/LiquidJunction.java +++ b/core/src/mindustry/world/blocks/liquid/LiquidJunction.java @@ -14,7 +14,7 @@ public class LiquidJunction extends LiquidBlock{ @Override public void setStats(){ super.setStats(); - stats.remove(BlockStat.liquidCapacity); + stats.remove(Stat.liquidCapacity); } @Override diff --git a/core/src/mindustry/world/blocks/logic/LogicBlock.java b/core/src/mindustry/world/blocks/logic/LogicBlock.java index 0f2fce78ba..e1b5c857e4 100644 --- a/core/src/mindustry/world/blocks/logic/LogicBlock.java +++ b/core/src/mindustry/world/blocks/logic/LogicBlock.java @@ -117,8 +117,8 @@ public class LogicBlock extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.linkRange, range / 8, StatUnit.blocks); - stats.add(BlockStat.instructions, instructionsPerTick * 60, StatUnit.perSecond); + stats.add(Stat.linkRange, range / 8, StatUnit.blocks); + stats.add(Stat.instructions, instructionsPerTick * 60, StatUnit.perSecond); } @Override diff --git a/core/src/mindustry/world/blocks/logic/LogicDisplay.java b/core/src/mindustry/world/blocks/logic/LogicDisplay.java index cb062259b8..505791e1b0 100644 --- a/core/src/mindustry/world/blocks/logic/LogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/LogicDisplay.java @@ -38,7 +38,7 @@ public class LogicDisplay extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.displaySize, "@x@", displaySize, displaySize); + stats.add(Stat.displaySize, "@x@", displaySize, displaySize); } public class LogicDisplayBuild extends Building{ diff --git a/core/src/mindustry/world/blocks/logic/MemoryBlock.java b/core/src/mindustry/world/blocks/logic/MemoryBlock.java index d215238ced..0329744168 100644 --- a/core/src/mindustry/world/blocks/logic/MemoryBlock.java +++ b/core/src/mindustry/world/blocks/logic/MemoryBlock.java @@ -18,7 +18,7 @@ public class MemoryBlock extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.memoryCapacity, memoryCapacity, StatUnit.none); + stats.add(Stat.memoryCapacity, memoryCapacity, StatUnit.none); } public class MemoryBuild extends Building{ diff --git a/core/src/mindustry/world/blocks/power/ImpactReactor.java b/core/src/mindustry/world/blocks/power/ImpactReactor.java index a24fecf2b4..f5dc985d1e 100644 --- a/core/src/mindustry/world/blocks/power/ImpactReactor.java +++ b/core/src/mindustry/world/blocks/power/ImpactReactor.java @@ -55,7 +55,7 @@ public class ImpactReactor extends PowerGenerator{ super.setStats(); if(hasItems){ - stats.add(BlockStat.productionTime, itemDuration / 60f, StatUnit.seconds); + stats.add(Stat.productionTime, itemDuration / 60f, StatUnit.seconds); } } diff --git a/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java index 2d82bfa4c7..12b3f6d691 100644 --- a/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -72,7 +72,7 @@ public class ItemLiquidGenerator extends PowerGenerator{ super.setStats(); if(hasItems){ - stats.add(BlockStat.productionTime, itemDuration / 60f, StatUnit.seconds); + stats.add(Stat.productionTime, itemDuration / 60f, StatUnit.seconds); } } diff --git a/core/src/mindustry/world/blocks/power/NuclearReactor.java b/core/src/mindustry/world/blocks/power/NuclearReactor.java index 2553426092..85fe183993 100644 --- a/core/src/mindustry/world/blocks/power/NuclearReactor.java +++ b/core/src/mindustry/world/blocks/power/NuclearReactor.java @@ -56,7 +56,7 @@ public class NuclearReactor extends PowerGenerator{ super.setStats(); if(hasItems){ - stats.add(BlockStat.productionTime, itemDuration / 60f, StatUnit.seconds); + stats.add(Stat.productionTime, itemDuration / 60f, StatUnit.seconds); } } diff --git a/core/src/mindustry/world/blocks/power/PowerGenerator.java b/core/src/mindustry/world/blocks/power/PowerGenerator.java index 24053e70a7..ae9453d675 100644 --- a/core/src/mindustry/world/blocks/power/PowerGenerator.java +++ b/core/src/mindustry/world/blocks/power/PowerGenerator.java @@ -12,7 +12,7 @@ import mindustry.world.meta.*; public class PowerGenerator extends PowerDistributor{ /** The amount of power produced per tick in case of an efficiency of 1.0, which represents 100%. */ public float powerProduction; - public BlockStat generationType = BlockStat.basePowerGeneration; + public Stat generationType = Stat.basePowerGeneration; public PowerGenerator(String name){ super(name); diff --git a/core/src/mindustry/world/blocks/power/PowerNode.java b/core/src/mindustry/world/blocks/power/PowerNode.java index 5d033c99b7..042b03099e 100644 --- a/core/src/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/mindustry/world/blocks/power/PowerNode.java @@ -124,8 +124,8 @@ public class PowerNode extends PowerBlock{ public void setStats(){ super.setStats(); - stats.add(BlockStat.powerRange, laserRange, StatUnit.blocks); - stats.add(BlockStat.powerConnections, maxNodes, StatUnit.none); + stats.add(Stat.powerRange, laserRange, StatUnit.blocks); + stats.add(Stat.powerConnections, maxNodes, StatUnit.none); } @Override diff --git a/core/src/mindustry/world/blocks/power/ThermalGenerator.java b/core/src/mindustry/world/blocks/power/ThermalGenerator.java index e29b7a6bdb..154bd02a0c 100644 --- a/core/src/mindustry/world/blocks/power/ThermalGenerator.java +++ b/core/src/mindustry/world/blocks/power/ThermalGenerator.java @@ -22,7 +22,7 @@ public class ThermalGenerator extends PowerGenerator{ public void setStats(){ super.setStats(); - stats.add(BlockStat.tiles, attribute, floating); + stats.add(Stat.tiles, attribute, floating); } @Override diff --git a/core/src/mindustry/world/blocks/production/AttributeSmelter.java b/core/src/mindustry/world/blocks/production/AttributeSmelter.java index 987b14e63b..c2650ab030 100644 --- a/core/src/mindustry/world/blocks/production/AttributeSmelter.java +++ b/core/src/mindustry/world/blocks/production/AttributeSmelter.java @@ -37,7 +37,7 @@ public class AttributeSmelter extends GenericSmelter{ public void setStats(){ super.setStats(); - stats.add(BlockStat.affinities, attribute, boostScale); + stats.add(Stat.affinities, attribute, boostScale); } public class AttributeSmelterBuild extends SmelterBuild{ diff --git a/core/src/mindustry/world/blocks/production/Cultivator.java b/core/src/mindustry/world/blocks/production/Cultivator.java index 2dc97d82f6..a5aede4e25 100644 --- a/core/src/mindustry/world/blocks/production/Cultivator.java +++ b/core/src/mindustry/world/blocks/production/Cultivator.java @@ -42,7 +42,7 @@ public class Cultivator extends GenericCrafter{ public void setStats(){ super.setStats(); - stats.add(BlockStat.affinities, attribute); + stats.add(Stat.affinities, attribute); } @Override diff --git a/core/src/mindustry/world/blocks/production/Drill.java b/core/src/mindustry/world/blocks/production/Drill.java index 7b86f1d1f5..ef4ab64b27 100644 --- a/core/src/mindustry/world/blocks/production/Drill.java +++ b/core/src/mindustry/world/blocks/production/Drill.java @@ -16,7 +16,9 @@ import mindustry.graphics.*; import mindustry.type.*; import mindustry.ui.*; import mindustry.world.*; +import mindustry.world.blocks.environment.*; import mindustry.world.meta.*; +import mindustry.world.meta.values.*; import static mindustry.Vars.*; @@ -135,29 +137,11 @@ public class Drill extends Block{ public void setStats(){ super.setStats(); - stats.add(BlockStat.drillTier, table -> { - Seq list = content.blocks().select(b -> b.isFloor() && b.asFloor().itemDrop != null && b.asFloor().itemDrop.hardness <= tier); + stats.add(Stat.drillTier, new BlockFilterValue(b -> b instanceof Floor f && f.itemDrop != null && f.itemDrop.hardness <= tier)); - table.table(l -> { - l.left(); - - for(int i = 0; i < list.size; i++){ - Block item = list.get(i); - - l.image(item.icon(Cicon.small)).size(8 * 3).padRight(2).padLeft(2).padTop(3).padBottom(3); - l.add(item.localizedName).left().padLeft(1).padRight(4); - if(i % 5 == 4){ - l.row(); - } - } - }); - - - }); - - stats.add(BlockStat.drillSpeed, 60f / drillTime * size * size, StatUnit.itemsSecond); + stats.add(Stat.drillSpeed, 60f / drillTime * size * size, StatUnit.itemsSecond); if(liquidBoostIntensity != 1){ - stats.add(BlockStat.boostEffect, liquidBoostIntensity * liquidBoostIntensity, StatUnit.timesSpeed); + stats.add(Stat.boostEffect, liquidBoostIntensity * liquidBoostIntensity, StatUnit.timesSpeed); } } diff --git a/core/src/mindustry/world/blocks/production/Fracker.java b/core/src/mindustry/world/blocks/production/Fracker.java index b1ea3a5b34..d2dbd5bf69 100644 --- a/core/src/mindustry/world/blocks/production/Fracker.java +++ b/core/src/mindustry/world/blocks/production/Fracker.java @@ -21,7 +21,7 @@ public class Fracker extends SolidPump{ public void setStats(){ super.setStats(); - stats.add(BlockStat.productionTime, itemUseTime / 60f, StatUnit.seconds); + stats.add(Stat.productionTime, itemUseTime / 60f, StatUnit.seconds); } @Override diff --git a/core/src/mindustry/world/blocks/production/GenericCrafter.java b/core/src/mindustry/world/blocks/production/GenericCrafter.java index 4fcb3b1f1a..c992be7d78 100644 --- a/core/src/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/mindustry/world/blocks/production/GenericCrafter.java @@ -43,14 +43,14 @@ public class GenericCrafter extends Block{ } super.setStats(); - stats.add(BlockStat.productionTime, craftTime / 60f, StatUnit.seconds); + stats.add(Stat.productionTime, craftTime / 60f, StatUnit.seconds); if(outputItem != null){ - stats.add(BlockStat.output, outputItem); + stats.add(Stat.output, outputItem); } if(outputLiquid != null){ - stats.add(BlockStat.output, outputLiquid.liquid, outputLiquid.amount, false); + stats.add(Stat.output, outputLiquid.liquid, outputLiquid.amount, false); } } diff --git a/core/src/mindustry/world/blocks/production/LiquidConverter.java b/core/src/mindustry/world/blocks/production/LiquidConverter.java index 84868d9b61..8a9725d42d 100644 --- a/core/src/mindustry/world/blocks/production/LiquidConverter.java +++ b/core/src/mindustry/world/blocks/production/LiquidConverter.java @@ -26,8 +26,8 @@ public class LiquidConverter extends GenericCrafter{ @Override public void setStats(){ super.setStats(); - stats.remove(BlockStat.output); - stats.add(BlockStat.output, outputLiquid.liquid, outputLiquid.amount * craftTime, false); + stats.remove(Stat.output); + stats.add(Stat.output, outputLiquid.liquid, outputLiquid.amount * craftTime, false); } public class LiquidConverterBuild extends GenericCrafterBuild{ diff --git a/core/src/mindustry/world/blocks/production/Pump.java b/core/src/mindustry/world/blocks/production/Pump.java index fa2f67999f..c4a6313129 100644 --- a/core/src/mindustry/world/blocks/production/Pump.java +++ b/core/src/mindustry/world/blocks/production/Pump.java @@ -26,7 +26,7 @@ public class Pump extends LiquidBlock{ @Override public void setStats(){ super.setStats(); - stats.add(BlockStat.output, 60f * pumpAmount * size * size, StatUnit.liquidSecond); + stats.add(Stat.output, 60f * pumpAmount * size * size, StatUnit.liquidSecond); } @Override diff --git a/core/src/mindustry/world/blocks/production/Separator.java b/core/src/mindustry/world/blocks/production/Separator.java index bcf66984e3..d9b355cc70 100644 --- a/core/src/mindustry/world/blocks/production/Separator.java +++ b/core/src/mindustry/world/blocks/production/Separator.java @@ -41,14 +41,14 @@ public class Separator extends Block{ super.setStats(); - stats.add(BlockStat.output, new ItemFilterValue(item -> { + stats.add(Stat.output, new ItemFilterValue(item -> { for(ItemStack i : results){ if(item == i.item) return true; } return false; })); - stats.add(BlockStat.productionTime, craftTime / 60f, StatUnit.seconds); + stats.add(Stat.productionTime, craftTime / 60f, StatUnit.seconds); } public class SeparatorBuild extends Building{ diff --git a/core/src/mindustry/world/blocks/production/SolidPump.java b/core/src/mindustry/world/blocks/production/SolidPump.java index 3b29665fde..d49a6499ac 100644 --- a/core/src/mindustry/world/blocks/production/SolidPump.java +++ b/core/src/mindustry/world/blocks/production/SolidPump.java @@ -53,10 +53,10 @@ public class SolidPump extends Pump{ public void setStats(){ super.setStats(); - stats.remove(BlockStat.output); - stats.add(BlockStat.output, result, 60f * pumpAmount, true); + stats.remove(Stat.output); + stats.add(Stat.output, result, 60f * pumpAmount, true); if(attribute != null){ - stats.add(baseEfficiency > 0.0001f ? BlockStat.affinities : BlockStat.tiles, attribute); + stats.add(baseEfficiency > 0.0001f ? Stat.affinities : Stat.tiles, attribute); } } diff --git a/core/src/mindustry/world/blocks/sandbox/PowerVoid.java b/core/src/mindustry/world/blocks/sandbox/PowerVoid.java index c423ba6caf..e97622c609 100644 --- a/core/src/mindustry/world/blocks/sandbox/PowerVoid.java +++ b/core/src/mindustry/world/blocks/sandbox/PowerVoid.java @@ -11,8 +11,8 @@ public class PowerVoid extends PowerBlock{ } @Override - public void init(){ - super.init(); - stats.remove(BlockStat.powerUse); + public void setStats(){ + super.setStats(); + stats.remove(Stat.powerUse); } } diff --git a/core/src/mindustry/world/blocks/storage/CoreBlock.java b/core/src/mindustry/world/blocks/storage/CoreBlock.java index f93d907d47..039c7cc3cf 100644 --- a/core/src/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/mindustry/world/blocks/storage/CoreBlock.java @@ -77,12 +77,16 @@ public class CoreBlock extends StorageBlock{ public void setStats(){ super.setStats(); - stats.add(BlockStat.buildTime, 0, StatUnit.seconds); + stats.add(Stat.buildTime, 0, StatUnit.seconds); + } - bars.add("capacity", (CoreBuild e) -> - new Bar( - () -> Core.bundle.format("bar.capacity", UI.formatAmount(e.storageCapacity)), - () -> Pal.items, + @Override + public void setBars(){ + super.setBars(); + + bars.add("capacity", (CoreBuild e) -> new Bar( + () -> Core.bundle.format("bar.capacity", UI.formatAmount(e.storageCapacity)), + () -> Pal.items, () -> e.items.total() / ((float)e.storageCapacity * content.items().count(i -> i.unlockedNow())) )); } diff --git a/core/src/mindustry/world/blocks/units/Reconstructor.java b/core/src/mindustry/world/blocks/units/Reconstructor.java index ed21b6dc11..9374e0d801 100644 --- a/core/src/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/mindustry/world/blocks/units/Reconstructor.java @@ -63,8 +63,8 @@ public class Reconstructor extends UnitBlock{ public void setStats(){ super.setStats(); - stats.add(BlockStat.productionTime, constructTime / 60f, StatUnit.seconds); - stats.add(BlockStat.output, table -> { + stats.add(Stat.productionTime, constructTime / 60f, StatUnit.seconds); + stats.add(Stat.output, table -> { table.row(); for(var upgrade : upgrades){ float size = 8*3; diff --git a/core/src/mindustry/world/blocks/units/RepairPoint.java b/core/src/mindustry/world/blocks/units/RepairPoint.java index abcc4bf738..789f7a8901 100644 --- a/core/src/mindustry/world/blocks/units/RepairPoint.java +++ b/core/src/mindustry/world/blocks/units/RepairPoint.java @@ -42,7 +42,7 @@ public class RepairPoint extends Block{ @Override public void setStats(){ super.setStats(); - stats.add(BlockStat.range, repairRadius / tilesize, StatUnit.blocks); + stats.add(Stat.range, repairRadius / tilesize, StatUnit.blocks); } @Override diff --git a/core/src/mindustry/world/blocks/units/UnitFactory.java b/core/src/mindustry/world/blocks/units/UnitFactory.java index 52a3af85c7..500385966e 100644 --- a/core/src/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/mindustry/world/blocks/units/UnitFactory.java @@ -87,7 +87,7 @@ public class UnitFactory extends UnitBlock{ public void setStats(){ super.setStats(); - stats.remove(BlockStat.itemCapacity); + stats.remove(Stat.itemCapacity); } @Override diff --git a/core/src/mindustry/world/consumers/Consume.java b/core/src/mindustry/world/consumers/Consume.java index 410d041a03..3066dbb9bb 100644 --- a/core/src/mindustry/world/consumers/Consume.java +++ b/core/src/mindustry/world/consumers/Consume.java @@ -69,5 +69,5 @@ public abstract class Consume{ public abstract boolean valid(Building entity); - public abstract void display(BlockStats stats); + public abstract void display(Stats stats); } diff --git a/core/src/mindustry/world/consumers/ConsumeItemDynamic.java b/core/src/mindustry/world/consumers/ConsumeItemDynamic.java index a2dd079c20..0c18e77741 100644 --- a/core/src/mindustry/world/consumers/ConsumeItemDynamic.java +++ b/core/src/mindustry/world/consumers/ConsumeItemDynamic.java @@ -73,7 +73,7 @@ public class ConsumeItemDynamic extends Consume{ } @Override - public void display(BlockStats stats){ + public void display(Stats stats){ //should be handled by the block } } diff --git a/core/src/mindustry/world/consumers/ConsumeItemFilter.java b/core/src/mindustry/world/consumers/ConsumeItemFilter.java index e9e98041c4..93d70a46f3 100644 --- a/core/src/mindustry/world/consumers/ConsumeItemFilter.java +++ b/core/src/mindustry/world/consumers/ConsumeItemFilter.java @@ -70,7 +70,7 @@ public class ConsumeItemFilter extends Consume{ } @Override - public void display(BlockStats stats){ - stats.add(booster ? BlockStat.booster : BlockStat.input, new ItemFilterValue(filter)); + public void display(Stats stats){ + stats.add(booster ? Stat.booster : Stat.input, new ItemFilterValue(filter)); } } diff --git a/core/src/mindustry/world/consumers/ConsumeItems.java b/core/src/mindustry/world/consumers/ConsumeItems.java index 01909e2a14..f43746db87 100644 --- a/core/src/mindustry/world/consumers/ConsumeItems.java +++ b/core/src/mindustry/world/consumers/ConsumeItems.java @@ -63,7 +63,7 @@ public class ConsumeItems extends Consume{ } @Override - public void display(BlockStats stats){ - stats.add(booster ? BlockStat.booster : BlockStat.input, new ItemListValue(items)); + public void display(Stats stats){ + stats.add(booster ? Stat.booster : Stat.input, new ItemListValue(items)); } } diff --git a/core/src/mindustry/world/consumers/ConsumeLiquid.java b/core/src/mindustry/world/consumers/ConsumeLiquid.java index 90f3bf0687..839b59c607 100644 --- a/core/src/mindustry/world/consumers/ConsumeLiquid.java +++ b/core/src/mindustry/world/consumers/ConsumeLiquid.java @@ -45,7 +45,7 @@ public class ConsumeLiquid extends ConsumeLiquidBase{ } @Override - public void display(BlockStats stats){ - stats.add(booster ? BlockStat.booster : BlockStat.input, liquid, amount * timePeriod, timePeriod == 60); + public void display(Stats stats){ + stats.add(booster ? Stat.booster : Stat.input, liquid, amount * timePeriod, timePeriod == 60); } } diff --git a/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java b/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java index 962023488b..851cf75fd2 100644 --- a/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java +++ b/core/src/mindustry/world/consumers/ConsumeLiquidFilter.java @@ -49,7 +49,7 @@ public class ConsumeLiquidFilter extends ConsumeLiquidBase{ } @Override - public void display(BlockStats stats){ - stats.add(booster ? BlockStat.booster : BlockStat.input, new LiquidFilterValue(filter, amount * timePeriod, timePeriod == 60f)); + public void display(Stats stats){ + stats.add(booster ? Stat.booster : Stat.input, new LiquidFilterValue(filter, amount * timePeriod, timePeriod == 60f)); } } diff --git a/core/src/mindustry/world/consumers/ConsumePower.java b/core/src/mindustry/world/consumers/ConsumePower.java index 2dc55dbb11..67b23d6c4c 100644 --- a/core/src/mindustry/world/consumers/ConsumePower.java +++ b/core/src/mindustry/world/consumers/ConsumePower.java @@ -54,11 +54,11 @@ public class ConsumePower extends Consume{ } @Override - public void display(BlockStats stats){ + public void display(Stats stats){ if(buffered){ - stats.add(BlockStat.powerCapacity, capacity, StatUnit.none); + stats.add(Stat.powerCapacity, capacity, StatUnit.none); }else{ - stats.add(BlockStat.powerUse, usage * 60f, StatUnit.powerSecond); + stats.add(Stat.powerUse, usage * 60f, StatUnit.powerSecond); } } diff --git a/core/src/mindustry/world/consumers/Consumers.java b/core/src/mindustry/world/consumers/Consumers.java index 4ce410aa04..a811a24d52 100644 --- a/core/src/mindustry/world/consumers/Consumers.java +++ b/core/src/mindustry/world/consumers/Consumers.java @@ -109,7 +109,7 @@ public class Consumers{ return optionalResults; } - public void display(BlockStats stats){ + public void display(Stats stats){ for(Consume c : map){ if(c != null){ c.display(stats); diff --git a/core/src/mindustry/world/meta/BlockStat.java b/core/src/mindustry/world/meta/BlockStat.java deleted file mode 100644 index 05e45acbfe..0000000000 --- a/core/src/mindustry/world/meta/BlockStat.java +++ /dev/null @@ -1,68 +0,0 @@ -package mindustry.world.meta; - -import arc.*; - -import java.util.*; - -/** Describes one type of stat for a block. */ -public enum BlockStat{ - health(StatCategory.general), - size(StatCategory.general), - displaySize(StatCategory.general), - buildTime(StatCategory.general), - buildCost(StatCategory.general), - memoryCapacity(StatCategory.general), - - itemCapacity(StatCategory.items), - itemsMoved(StatCategory.items), - launchTime(StatCategory.items), - maxConsecutive(StatCategory.items), - - liquidCapacity(StatCategory.liquids), - - powerCapacity(StatCategory.power), - powerUse(StatCategory.power), - powerDamage(StatCategory.power), - powerRange(StatCategory.power), - powerConnections(StatCategory.power), - basePowerGeneration(StatCategory.power), - - tiles(StatCategory.crafting), - input(StatCategory.crafting), - output(StatCategory.crafting), - productionTime(StatCategory.crafting), - drillTier(StatCategory.crafting), - drillSpeed(StatCategory.crafting), - maxUnits(StatCategory.crafting), - linkRange(StatCategory.crafting), - instructions(StatCategory.crafting), - - speedIncrease(StatCategory.shooting), - repairTime(StatCategory.shooting), - range(StatCategory.shooting), - shootRange(StatCategory.shooting), - inaccuracy(StatCategory.shooting), - shots(StatCategory.shooting), - reload(StatCategory.shooting), - powerShot(StatCategory.shooting), - targetsAir(StatCategory.shooting), - targetsGround(StatCategory.shooting), - damage(StatCategory.shooting), - ammo(StatCategory.shooting), - shieldHealth(StatCategory.shooting), - cooldownTime(StatCategory.shooting), - - booster(StatCategory.optional), - boostEffect(StatCategory.optional), - affinities(StatCategory.optional); - - public final StatCategory category; - - BlockStat(StatCategory category){ - this.category = category; - } - - public String localized(){ - return Core.bundle.get("blocks." + name().toLowerCase(Locale.ROOT)); - } -} diff --git a/core/src/mindustry/world/meta/Stat.java b/core/src/mindustry/world/meta/Stat.java new file mode 100644 index 0000000000..bb872f98c4 --- /dev/null +++ b/core/src/mindustry/world/meta/Stat.java @@ -0,0 +1,82 @@ +package mindustry.world.meta; + +import arc.*; + +import java.util.*; + +/** Describes one type of stat for content. */ +public enum Stat{ + health, + size, + displaySize, + buildTime, + buildCost, + memoryCapacity, + explosiveness, + flammability, + radioactivity, + heatCapacity, + viscosity, + temperature, + speed, + buildSpeed, + mineSpeed, + mineTier, + + itemCapacity(StatCat.items), + itemsMoved(StatCat.items), + launchTime(StatCat.items), + maxConsecutive(StatCat.items), + + liquidCapacity(StatCat.liquids), + + powerCapacity(StatCat.power), + powerUse(StatCat.power), + powerDamage(StatCat.power), + powerRange(StatCat.power), + powerConnections(StatCat.power), + basePowerGeneration(StatCat.power), + + tiles(StatCat.crafting), + input(StatCat.crafting), + output(StatCat.crafting), + productionTime(StatCat.crafting), + drillTier(StatCat.crafting), + drillSpeed(StatCat.crafting), + maxUnits(StatCat.crafting), + linkRange(StatCat.crafting), + instructions(StatCat.crafting), + + speedIncrease(StatCat.shooting), + repairTime(StatCat.shooting), + range(StatCat.shooting), + shootRange(StatCat.shooting), + inaccuracy(StatCat.shooting), + shots(StatCat.shooting), + reload(StatCat.shooting), + powerShot(StatCat.shooting), + targetsAir(StatCat.shooting), + targetsGround(StatCat.shooting), + damage(StatCat.shooting), + ammo(StatCat.shooting), + shieldHealth(StatCat.shooting), + cooldownTime(StatCat.shooting), + + booster(StatCat.optional), + boostEffect(StatCat.optional), + affinities(StatCat.optional); + + public final StatCat category; + + Stat(StatCat category){ + this.category = category; + } + + Stat(){ + this.category = StatCat.general; + } + + public String localized(){ + return Core.bundle.get("stat." + name().toLowerCase(Locale.ROOT)); + } +} diff --git a/core/src/mindustry/world/meta/StatCategory.java b/core/src/mindustry/world/meta/StatCat.java similarity index 91% rename from core/src/mindustry/world/meta/StatCategory.java rename to core/src/mindustry/world/meta/StatCat.java index e6c91b04bb..8dfd42d3c5 100644 --- a/core/src/mindustry/world/meta/StatCategory.java +++ b/core/src/mindustry/world/meta/StatCat.java @@ -3,7 +3,7 @@ package mindustry.world.meta; import arc.*; /** A specific category for a stat. */ -public enum StatCategory{ +public enum StatCat{ general, power, liquids, diff --git a/core/src/mindustry/world/meta/BlockStats.java b/core/src/mindustry/world/meta/Stats.java similarity index 55% rename from core/src/mindustry/world/meta/BlockStats.java rename to core/src/mindustry/world/meta/Stats.java index ff93a217a9..68f96ff260 100644 --- a/core/src/mindustry/world/meta/BlockStats.java +++ b/core/src/mindustry/world/meta/Stats.java @@ -2,54 +2,71 @@ package mindustry.world.meta; import arc.struct.ObjectMap.*; import arc.struct.*; +import arc.util.*; import mindustry.*; import mindustry.type.*; import mindustry.world.*; import mindustry.world.meta.values.*; /** Hold and organizes a list of block stats. */ -public class BlockStats{ - private final OrderedMap>> map = new OrderedMap<>(); +public class Stats{ + /** Whether to display stats with categories. If false, categories are completely ignored during display. */ + public boolean useCategories = false; + /** Whether these stats are initialized yet. */ + public boolean intialized = false; + + @Nullable + private OrderedMap>> map; private boolean dirty; /** Adds a single float value with this stat, formatted to 2 decimal places. */ - public void add(BlockStat stat, float value, StatUnit unit){ + public void add(Stat stat, float value, StatUnit unit){ add(stat, new NumberValue(value, unit)); } + /** Adds a single float value with this stat and no unit. */ + public void add(Stat stat, float value){ + add(stat, value, StatUnit.none); + } + + /** Adds an integer percent stat value. Value is assumed to be in the 0-1 range. */ + public void addPercent(Stat stat, float value){ + add(stat, new NumberValue((int)(value * 100), StatUnit.percent)); + } + /** Adds a single y/n boolean value. */ - public void add(BlockStat stat, boolean value){ + public void add(Stat stat, boolean value){ add(stat, new BooleanValue(value)); } /** Adds an item value. */ - public void add(BlockStat stat, Item item){ + public void add(Stat stat, Item item){ add(stat, new ItemListValue(new ItemStack(item, 1))); } /** Adds an item value. */ - public void add(BlockStat stat, ItemStack item){ + public void add(Stat stat, ItemStack item){ add(stat, new ItemListValue(item)); } /** Adds an item value. */ - public void add(BlockStat stat, Liquid liquid, float amount, boolean perSecond){ + public void add(Stat stat, Liquid liquid, float amount, boolean perSecond){ add(stat, new LiquidValue(liquid, amount, perSecond)); } - public void add(BlockStat stat, Attribute attr){ + public void add(Stat stat, Attribute attr){ add(stat, attr, false, 1f); } - public void add(BlockStat stat, Attribute attr, float scale){ + public void add(Stat stat, Attribute attr, float scale){ add(stat, attr, false, scale); } - public void add(BlockStat stat, Attribute attr, boolean floating){ + public void add(Stat stat, Attribute attr, boolean floating){ add(stat, attr, floating, 1f); } - public void add(BlockStat stat, Attribute attr, boolean floating, float scale){ + public void add(Stat stat, Attribute attr, boolean floating, float scale){ for(Block block : Vars.content.blocks()){ if(!block.isFloor() || block.asFloor().attributes.get(attr) == 0 || (block.asFloor().isLiquid && !floating)) continue; add(stat, new FloorEfficiencyValue(block.asFloor(), block.asFloor().attributes.get(attr) * scale)); @@ -57,12 +74,14 @@ public class BlockStats{ } /** Adds a single string value with this stat. */ - public void add(BlockStat stat, String format, Object... args){ + public void add(Stat stat, String format, Object... args){ add(stat, new StringValue(format, args)); } /** Adds a stat value. */ - public void add(BlockStat stat, StatValue value){ + public void add(Stat stat, StatValue value){ + if(map == null) map = new OrderedMap<>(); + if(!map.containsKey(stat.category)){ map.put(stat.category, new OrderedMap<>()); } @@ -73,7 +92,9 @@ public class BlockStats{ } /** Removes a stat, if it exists. */ - public void remove(BlockStat stat){ + public void remove(Stat stat){ + if(map == null) map = new OrderedMap<>(); + if(!map.containsKey(stat.category) || !map.get(stat.category).containsKey(stat)){ throw new RuntimeException("No stat entry found: \"" + stat + "\" in block."); } @@ -83,11 +104,13 @@ public class BlockStats{ dirty = true; } - public OrderedMap>> toMap(){ + public OrderedMap>> toMap(){ + if(map == null) map = new OrderedMap<>(); + //sort stats by index if they've been modified if(dirty){ map.orderedKeys().sort(); - for(Entry>> entry : map.entries()){ + for(Entry>> entry : map.entries()){ entry.value.orderedKeys().sort(); } diff --git a/core/src/mindustry/world/meta/values/BlockFilterValue.java b/core/src/mindustry/world/meta/values/BlockFilterValue.java new file mode 100644 index 0000000000..3c4d0fe56e --- /dev/null +++ b/core/src/mindustry/world/meta/values/BlockFilterValue.java @@ -0,0 +1,37 @@ +package mindustry.world.meta.values; + +import arc.func.*; +import arc.scene.ui.layout.*; +import arc.struct.*; +import mindustry.ui.*; +import mindustry.world.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.*; + +public class BlockFilterValue implements StatValue{ + public final Boolf pred; + + public BlockFilterValue(Boolf pred){ + this.pred = pred; + } + + @Override + public void display(Table table){ + Seq list = content.blocks().select(pred); + + table.table(l -> { + l.left(); + + for(int i = 0; i < list.size; i++){ + Block item = list.get(i); + + l.image(item.icon(Cicon.small)).size(8 * 3).padRight(2).padLeft(2).padTop(3).padBottom(3); + l.add(item.localizedName).left().padLeft(1).padRight(4); + if(i % 5 == 4){ + l.row(); + } + } + }); + } +} diff --git a/core/src/mindustry/world/meta/values/BlockListValue.java b/core/src/mindustry/world/meta/values/BlockListValue.java new file mode 100644 index 0000000000..a1cd5adffe --- /dev/null +++ b/core/src/mindustry/world/meta/values/BlockListValue.java @@ -0,0 +1,33 @@ +package mindustry.world.meta.values; + +import arc.scene.ui.layout.*; +import arc.struct.*; +import mindustry.ui.*; +import mindustry.world.*; +import mindustry.world.meta.*; + +public class BlockListValue implements StatValue{ + public final Seq list; + + public BlockListValue(Seq list){ + this.list = list; + } + + @Override + public void display(Table table){ + + table.table(l -> { + l.left(); + + for(int i = 0; i < list.size; i++){ + Block item = list.get(i); + + l.image(item.icon(Cicon.small)).size(8 * 3).padRight(2).padLeft(2).padTop(3).padBottom(3); + l.add(item.localizedName).left().padLeft(1).padRight(4); + if(i % 5 == 4){ + l.row(); + } + } + }); + } +} diff --git a/desktop/src/mindustry/desktop/steam/SStats.java b/desktop/src/mindustry/desktop/steam/SStats.java index 925c670223..9338aafc5b 100644 --- a/desktop/src/mindustry/desktop/steam/SStats.java +++ b/desktop/src/mindustry/desktop/steam/SStats.java @@ -7,7 +7,7 @@ import mindustry.*; import mindustry.content.*; import mindustry.entities.units.*; import mindustry.game.EventType.*; -import mindustry.game.Stats.*; +import mindustry.game.GameStats.*; import mindustry.gen.*; import mindustry.type.*;