diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 07fa97b3a0..abd78ad4eb 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1243,7 +1243,7 @@ stat.reactive = Reacts stat.immunities = Immunities stat.healing = Healing stat.status = Status Effect -stat.efficiency = [stat]{0}% Efficiency +stat.efficiency = {0}% Efficiency stat.chance = [stat]{0}%[lightgray] chance of [white] stat.hitsize = Hitbox Size stat.resettime = Reset Time @@ -1304,6 +1304,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Efficiency: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Batteries: {0}/{1} bar.powerbalance = Power: {0}/s diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index af3328c5d9..1660df36f8 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Грузаёмістасць Адзінкі Дасягнут bar.drillspeed = Хуткасць бурэння: {0}/с bar.pumpspeed = Хуткасць выкачванне: {0}/с bar.efficiency = Эфектыўнасць: {0}% +bar.yield = Yield: +{0}% bar.boost = Моц Узлёту: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Энергія: {0}/с diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index 62ca0d4f33..17fe168d7f 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Капацитета на преносвачите е дос bar.drillspeed = Скорост на свредлото: {0}/сек bar.pumpspeed = Скорост на помпата: {0}/сек bar.efficiency = Ефективност: {0}% +bar.yield = Yield: +{0}% bar.boost = Усилване: +{0}% bar.powerbuffer = Енегрия в батерията: {0}/{1} bar.powerbalance = Енергия: {0}/сек diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index a008039229..49c7b25849 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = S’ha assolit el límit de càrrega d’unitats. bar.drillspeed = Velocitat de perforació: {0}/s bar.pumpspeed = Velocitat de bombeig: {0}/s bar.efficiency = Eficiència: {0} % +bar.yield = Yield: +{0}% bar.boost = Potenciador: +{0} % bar.powerbuffer = Energia de la bateria: {0}/{1} bar.powerbalance = Potència: {0}/s diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 0a2395e855..333f4795cb 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Strop nákladové jednotky dosažen. bar.drillspeed = Rychlost vrtu: {0}/s bar.pumpspeed = Rychlost pumpy: {0}/s bar.efficiency = Účinnost: {0}% +bar.yield = Yield: +{0}% bar.boost = Posílení: +{0}% bar.powerbuffer = Energie v bateriích: {0}/{1} bar.powerbalance = Energie: {0} diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 5fc0ba071d..47cd3f7eb7 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Borehastighed: {0}/s bar.pumpspeed = Pumpehastighed: {0}/s bar.efficiency = Effektivitet: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Strøm: {0}/s diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index f76d365a51..e75a9bc224 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Frachteinheiten-Limit erreicht bar.drillspeed = Bohrgeschwindigkeit: {0}/s bar.pumpspeed = Pumpengeschwindigkeit: {0}/s bar.efficiency = Effizienz: {0}% +bar.yield = Yield: +{0}% bar.boost = Beschleunigung: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Strom: {0}/s diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 9f90bdaee2..ac7a2079e7 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Se alcanzó el límite de carga de unidades bar.drillspeed = Velocidad del taladro: {0}/s bar.pumpspeed = Velocidad de bombeado: {0}/s bar.efficiency = Eficiencia: {0}% +bar.yield = Yield: +{0}% bar.boost = Aceleración: +{0}% bar.powerbuffer = Poder en baterías: {0}/{1} bar.powerbalance = Energía: {0}/s diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index d7f6b37c2e..1df944d6d5 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Puurimise kiirus: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Kasutegur: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Bilanss: {0}/s diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 495d265669..cb07c8e498 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Ustiatze-abiadura: {0}/s bar.pumpspeed = Ponpatze abiadura: {0}/s bar.efficiency = Eraginkortasuna: {0}% +bar.yield = Yield: +{0}% bar.boost = Bultzada: +{0}% bar.powerbuffer = Bateriaren energia: {0}/{1} bar.powerbalance = Energia: {0}/s diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 4d69ebafa3..985f6e832f 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Kuljetusyksikköjen enimmäismäärä saavutettu bar.drillspeed = Poran nopeus: {0}/s bar.pumpspeed = Pumpun nopeus: {0}/s bar.efficiency = Tehokkuus: {0}% +bar.yield = Yield: +{0}% bar.boost = Tehostus: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energia: {0}/s diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 6d8038eb6c..d6d01f9613 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Naabot ng Limit ng Cargo Unit bar.drillspeed = Bilis ng Drill: {0}/s bar.pumpspeed = Bilis ng Pump: {0}/s bar.efficiency = Kahusayan: {0}% +bar.yield = Yield: +{0}% bar.boost = Palakas: +{0}% bar.powerbuffer = Battery: {0}/{1} bar.powerbalance = Kuryente: {0}/s diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 7e46563b4d..66ba09793c 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Limite de Transporteurs Atteinte bar.drillspeed = Vitesse de Forage: {0}/s bar.pumpspeed = Vitesse de Pompage: {0}/s bar.efficiency = Efficacité: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Énergie: {0}/s diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 1efa78f228..740e8944e4 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Az egység raktere megtelt bar.drillspeed = Termelés: {0}/mp bar.pumpspeed = Termelés: {0}/mp bar.efficiency = Hatásfok: {0}% +bar.yield = Yield: +{0}% bar.boost = Erősítés: +{0}% bar.powerbuffer = Akkumulátorok: {0}/{1} bar.powerbalance = Áram: {0}/mp diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 6c63e09beb..b573bebf5b 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Kapasitas Unit Kargo Telah Mencapai Batas bar.drillspeed = Kecepatan Bor: {0}/d bar.pumpspeed = Kecepatan Pompa: {0}/d bar.efficiency = Efisiensi: {0}% +bar.yield = Yield: +{0}% bar.boost = Pendorongan: +{0}% bar.powerbuffer = Tenaga Baterai: {0}/{1} bar.powerbalance = Tenaga: {0}/d diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 82979926a6..b1b9f6487a 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Limite Unità di Carico Raggiunto bar.drillspeed = Velocità Trivella: {0}/s bar.pumpspeed = Velocità Pompa: {0}/s bar.efficiency = Efficienza: {0}% +bar.yield = Yield: +{0}% bar.boost = Potenziamento: +{0}% bar.powerbuffer = Batterie: {0}/{1} bar.powerbalance = Energia: {0}/s diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index c7e76ab607..6ff969c7f9 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = 貨物ユニットの容量の上限に達しました bar.drillspeed = 採掘速度: {0}/秒 bar.pumpspeed = 吸液速度: {0}/s bar.efficiency = 効率: {0}% +bar.yield = Yield: +{0}% bar.boost = ブースト: +{0}% bar.powerbuffer = バッテリー電力: {0}/{1} bar.powerbalance = 電力均衡: {0}/秒 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 64772574ef..603e333a7d 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = 화물 용량 최대치 도달 bar.drillspeed = 드릴 속도: {0}/s bar.pumpspeed = 펌프 속도: {0}/s bar.efficiency = 효율: {0}% +bar.yield = Yield: +{0}% bar.boost = 가속: +{0}% bar.powerbuffer = 배터리 전력: {0}/{1} bar.powerbalance = 전력: {0}/s diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index b5c5695c36..4f3d05b182 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Grąžto Greitis: {0}/s bar.pumpspeed = Pompos Greitis: {0}/s bar.efficiency = Efektyvumas: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energija: {0}/s diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 1cd5ae5f71..d9b31a8923 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Vracht eenheid limiet bereikt bar.drillspeed = Delvingssnelheid: {0}/s bar.pumpspeed = Pompsnelheid: {0}/s bar.efficiency = Rendement: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Stroom: {0} diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index d583eb65d5..df4bac4154 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Efficiency: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Power: {0}/s diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index c2328b6497..ccd46af300 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Osiągnieto Limit Ładunku Jednostki bar.drillspeed = Prędkość wiertła: {0}/s bar.pumpspeed = Prędkość pompy: {0}/s bar.efficiency = Efektywność: {0}% +bar.yield = Yield: +{0}% bar.boost = Przyspieszenie: +{0}% bar.powerbuffer = Moc baterii: {0}/{1} bar.powerbalance = Moc: {0} diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index e0bea24c59..de5dcd99a5 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Limite da carga de unidade atingido bar.drillspeed = Velocidade da Broca: {0}/s bar.pumpspeed = Velocidade da Bomba: {0}/s bar.efficiency = Eficiência: {0}% +bar.yield = Yield: +{0}% bar.boost = Impulso: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energia: {0} diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 54758e5e85..23c07e6166 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Limite de Carga Atingido bar.drillspeed = Velocidade da Broca: {0}/s bar.pumpspeed = Velocidade da Bomba: {0}/s bar.efficiency = Eficiência: {0}% +bar.yield = Yield: +{0}% bar.boost = Impulso: +{0}% bar.powerbuffer = Batteries: {0}/{1} bar.powerbalance = Energia: {0}/s diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index c7d8ee30ec..4ac13bebcf 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Viteză Minare: {0}/s bar.pumpspeed = Viteză Pompare: {0}/s bar.efficiency = Eficiență: {0}% +bar.yield = Yield: +{0}% bar.boost = Efect Grăbire: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Electricitate: {0}/s diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index b4c96a58dd..ec115c2bce 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Достигнут предел грузовой единиц bar.drillspeed = Скорость бурения: {0}/с bar.pumpspeed = Скорость выкачивания: {0}/с bar.efficiency = Эффективность: {0}% +bar.yield = Yield: +{0}% bar.boost = Ускорение: +{0}% bar.powerbuffer = Энергия в аккумуляторах: {0}/{1} bar.powerbalance = Энергия: {0}/с diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 6faf52a70a..0ee76817de 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Dostigli Ste Maksimalni Broj Tovarnih Jedinica bar.drillspeed = Brzina Bušenja: {0}/s bar.pumpspeed = Brzina Pumpanja: {0}/s bar.efficiency = Efikasnost: {0}% +bar.yield = Yield: +{0}% bar.boost = Pojačanje: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energija: {0}/s diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index df410c762b..66526fc023 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Effektivitet: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Power: {0}/s diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 2596c3c944..ca01bdfd98 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = ถึงขีดจำกัดยูนิตขนส่ bar.drillspeed = ความเร็วการขุด: {0}/วิ bar.pumpspeed = ความเร็วการปั้ม: {0}/วิ bar.efficiency = ประสิทธิภาพ: {0}% +bar.yield = Yield: +{0}% bar.boost = การเร่ง: +{0}% bar.powerbuffer = พลังงานแบตเตอรี่: {0}/{1} bar.powerbalance = พลังงาน: {0}/วิ diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index dccf3708e7..3e943313b2 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Efficiency: {0}% +bar.yield = Yield: +{0}% bar.boost = Boost: +{0}% bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Power: {0} diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 65a684ce1c..8228d5cddd 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Kargo Birim Kapasitesine Ulaşıldı bar.drillspeed = Matkap Hızı: {0}/s bar.pumpspeed = Pompa Hızı: {0}/s bar.efficiency = Verim: {0}% +bar.yield = Yield: +{0}% bar.boost = Hızlanış: +{0}% bar.powerbuffer = Pil Gücü: {0}/{1} bar.powerbalance = Enerji: {0}/sn diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 304715f04a..7b28c12ab3 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Досягнуто межі одиниць для ванта bar.drillspeed = Швидкість буріння: {0} за сек. bar.pumpspeed = Швидкість викачування: {0} за сек. bar.efficiency = Ефективність: {0}% +bar.yield = Yield: +{0}% bar.boost = Підсилення: +{0}% bar.powerbuffer = Енергія: {0}/{1} bar.powerbalance = Енергія: {0} за сек. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 4cc89fffed..fcefe4b41e 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = Đã đạt tải trọng tối đa bar.drillspeed = Tốc độ khoan: {0}/giây bar.pumpspeed = Tốc độ bơm: {0}/giây bar.efficiency = Hiệu suất: {0}% +bar.yield = Yield: +{0}% bar.boost = Tăng tốc: +{0}% bar.powerbuffer = Pin: {0}/{1} bar.powerbalance = Năng lượng: {0}/giây diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 32e21c5af2..3d3858a384 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = 达到货运单位上限 bar.drillspeed = 挖掘速度:{0}/秒 bar.pumpspeed = 泵送速度:{0}/秒 bar.efficiency = 效率:{0}% +bar.yield = Yield: +{0}% bar.boost = 超速:+{0}% bar.powerbuffer = 电池电力:{0}/{1} bar.powerbalance = 电力:{0}/秒 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 6c81f3f38c..877dba7242 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1299,6 +1299,7 @@ bar.cargounitcap = 達到單位容量上限 bar.drillspeed = 鑽頭速度:{0}/秒 bar.pumpspeed = 液體泵送速度:{0}/秒 bar.efficiency = 效率:{0}% +bar.yield = Yield: +{0}% bar.boost = 速度加成:+{0}% bar.powerbuffer = 蓄電量:{0}/{1} bar.powerbalance = 能量變化:{0} diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index dd96500391..94c11e82fa 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1093,6 +1093,7 @@ public class Blocks{ hasLiquids = false; itemCapacity = 30; boostScale = 0.15f; + outputScale = 0.15f; drawer = new DrawMulti(new DrawDefault(), new DrawFlame(Color.valueOf("ffef99"))); ambientSound = Sounds.loopSmelter; ambientSoundVolume = 0.07f; diff --git a/core/src/mindustry/world/blocks/production/AttributeCrafter.java b/core/src/mindustry/world/blocks/production/AttributeCrafter.java index 0cff4eb1b7..1054174ad8 100644 --- a/core/src/mindustry/world/blocks/production/AttributeCrafter.java +++ b/core/src/mindustry/world/blocks/production/AttributeCrafter.java @@ -1,6 +1,7 @@ package mindustry.world.blocks.production; import arc.*; +import arc.struct.*; import mindustry.game.*; import mindustry.graphics.*; import mindustry.ui.*; @@ -11,12 +12,15 @@ import mindustry.world.meta.*; public class AttributeCrafter extends GenericCrafter{ public Attribute attribute = Attribute.heat; public float baseEfficiency = 1f; - public float boostScale = 1f; public float maxBoost = 1f; public float minEfficiency = -1f; - public float displayEfficiencyScale = 1f; public boolean displayEfficiency = true; + public boolean displayScaledOutput = true; public boolean scaleLiquidConsumption = false; + /** Scaled output (yield) multiplier, scales with attribute. <=0 to disable. */ + public float outputScale = 0f; + /** Scaled efficiency (speed) multiplier, scales with attribute. <=0 to disable. */ + public float boostScale = 1f; public AttributeCrafter(String name){ super(name); @@ -26,23 +30,39 @@ public class AttributeCrafter extends GenericCrafter{ public void drawPlace(int x, int y, int rotation, boolean valid){ super.drawPlace(x, y, rotation, valid); - if(!displayEfficiency) return; + if((!displayEfficiency || boostScale <= 0f) && (!displayScaledOutput || outputScale <= 0f)) return; - drawPlaceText(Core.bundle.format("bar.efficiency", - (int)((baseEfficiency + Math.min(maxBoost, boostScale * sumAttribute(attribute, x, y))) * 100f)), x, y, valid); + drawPlaceText( + (displayEfficiency && boostScale > 0f ? + Core.bundle.format("bar.efficiency", + (int)((baseEfficiency + Math.min(maxBoost, boostScale * sumAttribute(attribute, x, y))) * 100f)) + : "") + + (displayScaledOutput && outputScale > 0f ? "\n" + + Core.bundle.format("bar.yield", + (int)(Math.min(maxBoost, outputScale * sumAttribute(attribute, x, y)) * 100f)) + : ""), x, y, valid); } @Override public void setBars(){ super.setBars(); - if(!displayEfficiency) return; + if((!displayEfficiency || boostScale <= 0f) && (!displayScaledOutput || outputScale <= 0f)) return; - addBar("efficiency", (AttributeCrafterBuild entity) -> + if(displayEfficiency && boostScale > 0f){ + addBar("efficiency", (AttributeCrafterBuild entity) -> new Bar( - () -> Core.bundle.format("bar.efficiency", (int)(entity.efficiencyMultiplier() * 100 * displayEfficiencyScale)), + () -> Core.bundle.format("bar.efficiency", (int)(entity.efficiencyMultiplier() * 100)), () -> Pal.lightOrange, entity::efficiencyMultiplier)); + } + if(displayScaledOutput && outputScale > 0f){ + addBar("yield", (AttributeCrafterBuild entity) -> + new Bar( + () -> Core.bundle.format("bar.yield", (int)((entity.outputMultiplier() - baseEfficiency) * 100)), + () -> Pal.lightOrange, + entity::outputMultiplier)); + } } @Override @@ -54,8 +74,12 @@ public class AttributeCrafter extends GenericCrafter{ @Override public void setStats(){ super.setStats(); - - stats.add(baseEfficiency <= 0.0001f ? Stat.tiles : Stat.affinities, attribute, floating, boostScale * size * size, !displayEfficiency); + if(outputScale > 0f){ + stats.add(baseEfficiency <= 0.0001f ? Stat.tiles : + Stat.affinities, attribute, floating, boostScale * size * size, outputScale * size * size, Seq.with(outputItems), craftTime, !displayEfficiency); + }else{ + stats.add(baseEfficiency <= 0.0001f ? Stat.tiles : Stat.affinities, attribute, floating, boostScale * size * size, !displayEfficiency); + } } public class AttributeCrafterBuild extends GenericCrafterBuild{ @@ -66,6 +90,10 @@ public class AttributeCrafter extends GenericCrafter{ return super.getProgressIncrease(base) * efficiencyMultiplier(); } + public float outputMultiplier(){ + return baseEfficiency + Math.min(maxBoost, outputScale * attrsum) + attribute.env(); + } + public float efficiencyMultiplier(){ return baseEfficiency + Math.min(maxBoost, boostScale * attrsum) + attribute.env(); } @@ -75,6 +103,11 @@ public class AttributeCrafter extends GenericCrafter{ return scaleLiquidConsumption ? efficiencyMultiplier() : super.efficiencyScale(); } + @Override + public float scaleOutput(float amount){ + return outputScale > 0f ? amount * outputMultiplier() : amount; + } + @Override public void pickedUp(){ attrsum = 0f; diff --git a/core/src/mindustry/world/blocks/production/GenericCrafter.java b/core/src/mindustry/world/blocks/production/GenericCrafter.java index 0fc1ef457b..4c40a18753 100644 --- a/core/src/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/mindustry/world/blocks/production/GenericCrafter.java @@ -4,6 +4,7 @@ import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; import arc.struct.*; +import arc.struct.*; import arc.util.*; import arc.util.io.*; import mindustry.content.*; @@ -120,6 +121,7 @@ public class GenericCrafter extends Block{ if(outputItems == null && outputItem != null){ outputItems = new ItemStack[]{outputItem}; } + if(outputLiquids == null && outputLiquid != null){ outputLiquids = new LiquidStack[]{outputLiquid}; } @@ -139,9 +141,8 @@ public class GenericCrafter extends Block{ public void afterPatch(){ super.afterPatch(); - outputsLiquid = outputLiquids != null; - if(outputItems != null) hasItems = true; + outputsLiquid = outputLiquids != null; if(outputLiquids != null) hasLiquids = true; } @@ -187,6 +188,7 @@ public class GenericCrafter extends Block{ public float progress; public float totalProgress; public float warmup; + public @Nullable float[] outputAccumulator = outputItems != null && outputItems.length > 0 ? new float[outputItems.length] : null; @Override public void draw(){ @@ -203,7 +205,7 @@ public class GenericCrafter extends Block{ public boolean shouldConsume(){ if(outputItems != null){ for(var output : outputItems){ - if(items.get(output.item) + output.amount > itemCapacity){ + if(items.get(output.item) + scaleOutput(output.amount) > itemCapacity){ return false; } } @@ -274,7 +276,7 @@ public class GenericCrafter extends Block{ if(outputLiquids != null){ max = 0f; for(var s : outputLiquids){ - float value = (liquidCapacity - liquids.get(s.liquid)) / (s.amount * edelta()); + float value = (liquidCapacity - liquids.get(s.liquid)) / (scaleOutput(s.amount) * edelta()); scaling = Math.min(scaling, value); max = Math.max(max, value); } @@ -298,12 +300,27 @@ public class GenericCrafter extends Block{ return totalProgress; } + /** Allows scaling the crafter's output dynamically. */ + public float scaleOutput(float amount){ + return amount; + } + public void craft(){ consume(); if(outputItems != null){ - for(var output : outputItems){ - for(int i = 0; i < output.amount; i++){ + //instantiated here instead of created() because of outputItems runtime changes + if(outputAccumulator == null || outputAccumulator.length != outputItems.length){ + outputAccumulator = new float[outputItems.length]; + } + for(int i = 0; i < outputItems.length; i++){ + ItemStack output = outputItems[i]; + + outputAccumulator[i] += scaleOutput(output.amount); + int floored = Mathf.floor(outputAccumulator[i]); + outputAccumulator[i] -= floored; + + for(int j = 0; j < floored; j++){ offload(output.item); } } diff --git a/core/src/mindustry/world/meta/StatValues.java b/core/src/mindustry/world/meta/StatValues.java index c210293c5f..fa6eb0a8b9 100644 --- a/core/src/mindustry/world/meta/StatValues.java +++ b/core/src/mindustry/world/meta/StatValues.java @@ -237,6 +237,11 @@ public class StatValues{ /** Displays an item with a specified amount. */ private static Stack stack(TextureRegion region, int amount, @Nullable UnlockableContent content, boolean tooltip){ + return stack(region, (float)amount, content, tooltip); + } + + /** Displays an item with a specified amount. */ + private static Stack stack(TextureRegion region, float amount, @Nullable UnlockableContent content, boolean tooltip){ Stack stack = new Stack(); stack.add(new Table(o -> { @@ -247,7 +252,7 @@ public class StatValues{ if(amount != 0){ stack.add(new Table(t -> { t.left().bottom(); - t.add(amount >= 1000 ? UI.formatAmount(amount) : amount + "").name("stack amount").style(Styles.outlineLabel); + t.add(amount >= 1000 || Mathf.equal(amount, (int)amount) ? UI.formatAmount((int)amount) : amount + "").name("stack amount").style(Styles.outlineLabel); t.pack(); })); } @@ -274,6 +279,10 @@ public class StatValues{ return stack(item.uiIcon, amount, item, tooltip); } + public static Stack stack(UnlockableContent item, float amount, boolean tooltip){ + return stack(item.uiIcon, amount, item, tooltip); + } + public static Stack stack(Item item){ return stack(item.uiIcon, 0, item); } @@ -305,6 +314,13 @@ public class StatValues{ return t; } + public static Table displayItem(Item item, float amount, float timePeriod, boolean showName){ + Table t = new Table(); + t.add(stack(item, amount, !showName)); + t.add((showName ? item.localizedName + "\n" : "") + "[lightgray]" + Strings.autoFixed(amount / (timePeriod / 60f), 3) + StatUnit.perSecond.localized()).padLeft(8).padRight(5).style(Styles.outlineLabel); + return t; + } + /** Displays the item with a "/sec" qualifier based on the time period, in ticks. */ public static Table displayItemPercent(Item item, int percent, boolean showName){ Table t = new Table(); @@ -331,6 +347,10 @@ public class StatValues{ return blocks(attr, floating, scale, startZero, true); } + public static StatValue blocks(Attribute attr, boolean floating, float scale1, float scale2, @Nullable Seq outputs, float timePeriod, boolean startZero){ + return blocks(attr, floating, scale1, scale2, outputs, timePeriod, startZero, true); + } + public static StatValue blocks(Attribute attr, boolean floating, float scale, boolean startZero, boolean checkFloors){ return table -> table.table(c -> { Runnable[] rebuild = {null}; @@ -375,6 +395,74 @@ public class StatValues{ }); }); } + + public static StatValue blocks(Attribute attr, boolean floating, float scaleEff, float scaleAmount, @Nullable Seq outputs, float timePeriod, boolean startZero, boolean checkFloors){ + return table -> { + if(table.getCells().size > 0) table.getCells().peek().growX(); + table.row(); + + table.table(c -> { + Runnable[] rebuild = {null}; + Map[] lastMap = {null}; + + rebuild[0] = () -> { + c.clearChildren(); + c.left(); + + if(state.isGame()){ + var blocks = Vars.content.blocks() + .select(block -> (!checkFloors || block instanceof Floor) && indexer.isBlockPresent(block) && block.attributes.get(attr) != 0 && !((block instanceof Floor f && f.isDeep()) && !floating)) + .with(s -> s.sort(f -> f.attributes.get(attr))); + + if(blocks.any()){ + for(var block : blocks){ + c.table(Styles.grayPanel, b -> { + float efficiency = 1f + block.attributes.get(attr) * scaleEff; + + b.image(block.uiIcon).size(40f).pad(10f).left().scaling(Scaling.fit); + b.table(center -> { + center.left(); + + if(outputs != null && outputs.any()){ + for(ItemStack output : outputs){ + float scaled = output.amount * (1f + block.attributes.get(attr) * scaleAmount); + + center.table(it -> { + it.left(); + it.add(displayItem(output.item, scaled, timePeriod / efficiency , true)).left().padLeft(6f); + }).padRight(8f); + } + }else{ + center.add("@none"); + } + }).left().grow(); + b.add((efficiency < 1f ? "[negstat]" : "[stat]") + Core.bundle.format("stat.efficiency", fixValue(efficiency * 100f))).right().pad(10f).padRight(15f); + + }).growX().pad(5).row(); + } + }else{ + c.add("@none.inmap"); + } + }else{ + c.add("@stat.showinmap"); + } + }; + + rebuild[0].run(); + + //rebuild when map changes. + c.update(() -> { + Map current = state.isGame() ? state.map : null; + + if(current != lastMap[0]){ + rebuild[0].run(); + lastMap[0] = current; + } + }); + }).growX().colspan(table.getColumns()).row(); + }; + } + public static StatValue content(Seq list){ return content(list, i -> true); } @@ -490,7 +578,7 @@ public class StatValues{ c.table(Styles.grayPanel, b -> { b.image(item.uiIcon).size(40).pad(10f).left().scaling(Scaling.fit); b.add(item.localizedName + (timePeriod > 0 ? "\n[lightgray]" + Strings.autoFixed(time, time < 0.01f ? 4 : 2) + StatUnit.perSecond.localized() : "")).left().grow(); - b.add(Core.bundle.format("stat.efficiency", fixValue(efficiency.get(item) * 100f))).right().pad(10f).padRight(15f); + b.add("[stat]" + Core.bundle.format("stat.efficiency", fixValue(efficiency.get(item) * 100f))).right().pad(10f).padRight(15f); }).growX().pad(5).row(); } }).growX().colspan(table.getColumns()).row(); @@ -505,7 +593,7 @@ public class StatValues{ for(Liquid liquid : content.liquids().select(l -> filter.get(l) && l.unlockedNow() && !l.isHidden())){ c.table(Styles.grayPanel, b -> { b.add(displayLiquid(liquid, amount, true)).pad(10f).left().grow(); - b.add(Core.bundle.format("stat.efficiency", fixValue(efficiency.get(liquid) * 100f))).right().pad(10f).padRight(15f); + b.add("[stat]" + Core.bundle.format("stat.efficiency", fixValue(efficiency.get(liquid) * 100f))).right().pad(10f).padRight(15f); }).growX().pad(5).row(); } }).growX().colspan(table.getColumns()).row(); diff --git a/core/src/mindustry/world/meta/Stats.java b/core/src/mindustry/world/meta/Stats.java index 8a1bd0d5da..ba304dbe17 100644 --- a/core/src/mindustry/world/meta/Stats.java +++ b/core/src/mindustry/world/meta/Stats.java @@ -85,6 +85,10 @@ public class Stats{ add(stat, StatValues.blocks(attr, floating, scale, startZero)); } + public void add(Stat stat, Attribute attr, boolean floating, float scale1, float scale2, @Nullable Seq outputs, float timePeriod, boolean startZero){ + add(stat, StatValues.blocks(attr, floating, scale1, scale2, outputs, timePeriod, startZero)); + } + /** Adds a single string value with this stat. */ public void add(Stat stat, String format, Object... args){ add(stat, StatValues.string(format, args));