diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 661d227d81..0eda6f78f2 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -965,13 +965,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field -ability.statusfield = {0} Status Field -ability.unitspawn = {0} Factory +ability.statusfield = Status Field +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc -ability.suppressionfield = Repair Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.suppressionfield = Repair Suppression +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index ddce94449b..58972e4441 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -939,12 +939,15 @@ stat.healing = Аднаўленне ability.forcefield = Сіловое Поле ability.repairfield = Поле Рамонту ability.statusfield = Поле Статусу -ability.unitspawn = {0} Завод +ability.unitspawn = Завод ability.shieldregenfield = Васстанўляюяае Поле Шчыта ability.movelightning = Рух Маланкі ability.shieldarc = Шчытавая Дуга ability.suppressionfield = Regen Suppression Field -ability.energyfield = Энэргетычнае Поле: [accent]{0}[] пашкоджанні ~ [accent]{1}[] блокі / [accent]{2}[] целі +ability.energyfield = Энэргетычнае Поле +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Даступны Толькі Перанос Рэсурсаў У Ядро bar.drilltierreq = Патрабуецца свідар лепей diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index bf938533a4..63ac23c352 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -950,12 +950,16 @@ stat.healing = Healing ability.forcefield = Енергийно Поле ability.repairfield = Възстановяващо Поле ability.statusfield = Подсилващо Поле -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Възстановяващо броня Поле ability.movelightning = Подвижна светкавица ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Необходимо е по-добро Свредло diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index da640483a1..1051f887dd 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -953,13 +953,16 @@ stat.healing = Reparador ability.forcefield = Camp de força ability.repairfield = Repara el camp de força -ability.statusfield = Estat del camp: {0} -ability.unitspawn = Fàbrica de {0} +ability.statusfield = Estat del camp +ability.unitspawn = Fàbrica ability.shieldregenfield = Regenerador de camps de força ability.movelightning = Moviment llampec ability.shieldarc = Escut de descàrregues ability.suppressionfield = Regen Suppression Field -ability.energyfield = Camp de força: [accent]{0}[] de dany ~ [accent]{1}[] blocs / [accent]{2}[] objectius +ability.energyfield = Camp de força +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Només es permet depositar al nucli. bar.drilltierreq = Cal una perforadora millor. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 7283b9ec35..720f1b1839 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -951,12 +951,16 @@ stat.healing = Léčí se ability.forcefield = Silové pole ability.repairfield = Opravit pole ability.statusfield = Stav pole -ability.unitspawn = {0} továrna +ability.unitspawn = továrna ability.shieldregenfield = Silově opravné pole ability.movelightning = Pohybující se blesk ability.shieldarc = Štítovy Oblouk ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energetické pole: [accent]{0}[] poškození ~ [accent]{1}[] dlaždic / [accent]{2}[] cílu +ability.energyfield = Energetické pole +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Pouze Ukládání do Jádra je povoleno bar.drilltierreq = Je vyžadován lepší vrt diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 548a31e73b..f47f9fdc1b 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -940,12 +940,16 @@ stat.healing = Healing ability.forcefield = Kraftfelt ability.repairfield = Reparationsfelt ability.statusfield = Statusfelt -ability.unitspawn = {0} Fabrik +ability.unitspawn = Fabrik ability.shieldregenfield = Skjold-regenereringsfelt ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Kræver bedre bor diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index bfb985a34b..5fdcacaa08 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -962,13 +962,17 @@ stat.healing = Heilung ability.forcefield = Kraftfeld ability.repairfield = Heilungsfeld -ability.statusfield = {0} Statusfeld -ability.unitspawn = {0} Fabrik +ability.statusfield = Statusfeld +ability.unitspawn = Fabrik ability.shieldregenfield = Schildregenerationsfeld ability.movelightning = Bewegungsblitze ability.shieldarc = Lichtbogenschild ability.suppressionfield = Heilungsunterdrückungsfeld -ability.energyfield = Energiefeld: [accent]{0}[] Schaden ~ [accent]{1}[] Blöcke / [accent]{2}[] Ziele +ability.energyfield = Energiefeld +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Nur Kernablage möglich bar.drilltierreq = Besserer Bohrer benötigt diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index a07ff366f1..77fb72e720 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -959,13 +959,16 @@ stat.healing = Curación ability.forcefield = Área de Escudo ability.repairfield = Área de Reparación -ability.statusfield = Área de Potenciación {0} -ability.unitspawn = Fábrica de {0} +ability.statusfield = Área de Potenciación +ability.unitspawn = Fábrica ability.shieldregenfield = Área de Regeneración de Armaduras ability.movelightning = Movimiento Relámpago ability.shieldarc = Sector de Escudo ability.suppressionfield = Área de Bloqueo de Regeneración -ability.energyfield = Campo de Energía: [accent]{0}[] daño ~ [accent]{1}[] bloques / [accent]{2}[] objetivos +ability.energyfield = Campo de Energía +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Sólo se permite depositar en el núcleo bar.drilltierreq = Requiere un taladro mejor diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 17480e5df6..9ebe469b2a 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -940,12 +940,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Nõuab paremat puuri diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 520314b17b..b95a306e99 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -942,12 +942,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Zulagailu hobea behar da diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 4f0d6f4971..3d249be316 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -939,12 +939,16 @@ stat.healing = Parantuu ability.forcefield = Voimakenttä ability.repairfield = Korjauskenttä ability.statusfield = Statuskenttä -ability.unitspawn = {0} Tehdas +ability.unitspawn = Tehdas ability.shieldregenfield = Kilvenvahvistuskenttä ability.movelightning = Salamointi liikkuessa ability.shieldarc = Kilpikaari ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energiakenttä: [accent]{0}[] vahinko ~ [accent]{1}[] palikkaa / [accent]{2}[] kohdetta +ability.energyfield = Energiakenttä +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Sijoittaminen sallittua vain ytimeen bar.drilltierreq = Parempi pora vaadittu diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index c67e7638c6..7bea2112f2 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -939,12 +939,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 9b1d3b9710..be73c2cbf7 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -965,13 +965,16 @@ stat.healing = Guérison ability.forcefield = Champ de Force ability.repairfield = Champ de Réparation -ability.statusfield = Champ d'Amélioration {0} -ability.unitspawn = Usine de {0} +ability.statusfield = Champ d'Amélioration +ability.unitspawn = Usine ability.shieldregenfield = Champ de régénération de bouclier ability.movelightning = Déplacement éclair ability.shieldarc = Arc de Bouclier ability.suppressionfield = Champ de Suppression de Soins -ability.energyfield = Champ d'énergie: [accent]{0}[] dégâts ~ [accent]{1}[] blocs / [accent]{2}[] cibles +ability.energyfield = Champ d'énergie +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé bar.drilltierreq = Meilleure Foreuse Requise diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 67487e6d91..434783c9da 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -949,12 +949,16 @@ stat.healing = Healing ability.forcefield = Erőtér ability.repairfield = Javító mező ability.statusfield = Status Field -ability.unitspawn = {0} Gyár +ability.unitspawn = Gyár ability.shieldregenfield = Pajzsos regeneráló mező ability.movelightning = Világítás ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Erősebb Drill szükséges diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 6a782c2621..71a3b05a41 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -959,13 +959,16 @@ stat.healing = Menyembuhkan ability.forcefield = Bidang Kekuatan ability.repairfield = Bidang Perbaikan -ability.statusfield = {0} Bidang Status -ability.unitspawn = {0} Pabrik +ability.statusfield = Bidang Status +ability.unitspawn = Pabrik ability.shieldregenfield = Bidang Regenerasi Perisai ability.movelightning = Pergerakan Petir ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Bidang Tenaga: [accent]{0}[] kerusakan ~ [accent]{1}[] blok / [accent]{2}[] target +ability.energyfield = Bidang Tenaga +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Hanya Penyetoran Inti yang Diizinkan bar.drilltierreq = Membutuhkan Bor yang Lebih Baik diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index c418f50b0f..34790de0e5 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -946,12 +946,16 @@ stat.healing = Rigenerazione ability.forcefield = Campo di Forza ability.repairfield = Campo Riparativo ability.statusfield = Campo di Stato -ability.unitspawn = {0} Fabbrica +ability.unitspawn = Fabbrica ability.shieldregenfield = Campo di Rigenerazione Scudo ability.movelightning = Movimento Fulminante ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Campo energetico: [accent]{0}[] danno ~ [accent]{1}[] blocchi / [accent]{2}[] obbiettivi +ability.energyfield = Campo energetico +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Concesso solo il deposito al nucleo bar.drilltierreq = Miglior Trivella Richiesta diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 71b4259d91..0eb9d948a0 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -951,13 +951,17 @@ stat.healing = 治癒 ability.forcefield = フォースフィールド ability.repairfield = リペアフィールド -ability.statusfield = {0} ステータスフィールド -ability.unitspawn = {0} 生産 +ability.statusfield = ステータスフィールド +ability.unitspawn = 生産 ability.shieldregenfield = シールドリペアフィールド ability.movelightning = ムーブメントライトニング ability.shieldarc = シールドアーク ability.suppressionfield = リジェネ抑制フィールド -ability.energyfield = エネルギー範囲: [accent]{0}[] ダメージ ~ [accent]{1}[] ブロック / [accent]{2}[] ターゲット +ability.energyfield = エネルギー範囲 +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = コアにのみ搬入できます。 bar.drilltierreq = より高性能なドリルを使用してください diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index a4b496316f..4fba3d7808 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -951,13 +951,16 @@ stat.healing = 회복량 ability.forcefield = 보호막 필드 ability.repairfield = 수리 필드 -ability.statusfield = {0} 상태이상 필드 -ability.unitspawn = {0} 공장 +ability.statusfield = 상태이상 필드 +ability.unitspawn = 공장 ability.shieldregenfield = 방어막 복구 필드 ability.movelightning = 가속 전격 ability.shieldarc = 방어막 아크 ability.suppressionfield = 재생성 억제 필드 -ability.energyfield = 에너지 필드: [accent]{1}[]타일 내 [accent]{2}[]개 목표물에게 [accent]{0}[]피해량 +ability.energyfield = 에너지 필드 +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = 코어에만 투입할 수 있습니다 bar.drilltierreq = 더 좋은 드릴 필요 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 7a7f91357f..99b5569e12 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -940,12 +940,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Privalomas Geresnis Grąžtas diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 5c98aa2db3..f5b1c44df2 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -952,12 +952,16 @@ stat.healing = Genezing ability.forcefield = Krachtveld ability.repairfield = Reparatieveld ability.statusfield = Statusveld -ability.unitspawn = {0} Fabriek +ability.unitspawn = Fabriek ability.shieldregenfield = Schild Regeneratie Veld ability.movelightning = Beweging Bliksem ability.shieldarc = Schild Boog ability.suppressionfield = Regeneratie Onderdrukkingsveld -ability.energyfield = Energieveld: [accent]{0}[] schade ~ [accent]{1}[] blokken / [accent]{2}[] doelen +ability.energyfield = Energieveld +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Alleen materialen in de Core toegestaan. bar.drilltierreq = Betere boor nodig diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index e9c4a8add7..94bfa19d44 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -940,12 +940,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 4327f854e4..fc1c30c440 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -950,12 +950,16 @@ stat.healing = Leczy ability.forcefield = Pole Siłowe ability.repairfield = Pole Naprawy ability.statusfield = Pole Statusu -ability.unitspawn = Fabryka Jednostek {0} +ability.unitspawn = Fabryka Jednostek ability.shieldregenfield = Strefa Tarczy Regenerującej ability.movelightning = Pioruny Poruszania ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Pole Energii: [accent]{0}[] obrażenia ~ [accent]{1}[] bloki / [accent]{2}[] cele +ability.energyfield = Pole Energii +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia bar.drilltierreq = Wymagane Lepsze Wiertło diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 3e60872ce5..3103d81d81 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -960,13 +960,16 @@ stat.healing = Reparo ability.forcefield = Campo de Força ability.repairfield = Campo de Reparação -ability.statusfield = Campo de Status {0} -ability.unitspawn = Fábrica de {0} +ability.statusfield = Campo de Status +ability.unitspawn = Fábrica ability.shieldregenfield = Raio de Regeneração do Escudo ability.movelightning = Raio de Movimento ability.shieldarc = Arco do Escudo ability.suppressionfield = Regen Suppression Field -ability.energyfield = Campo de Energia: dano [accent]{0}[] ~ blocos [accent]{1}[] / alvos [accent]{2}[] +ability.energyfield = Campo de Energia +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Somente depósito no núcleo permitido bar.drilltierreq = Broca melhor necessária. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index c79d52479d..407f15efcc 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -940,12 +940,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Broca melhor necessária. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 4adb90280b..fed67e4f74 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -951,13 +951,17 @@ stat.healing = Reparare ability.forcefield = Câmp de Forță ability.repairfield = Câmp de Reparare -ability.statusfield = {0} Câmp de Stare -ability.unitspawn = Fabrică de {0} +ability.statusfield = Câmp de Stare +ability.unitspawn = Fabrică ability.shieldregenfield = Câmp Regenerare Scut ability.movelightning = Mișcare Fulger ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Câmp de Energie: [accent]{0}[] forță pe ~ [accent]{1}[] blocuri / [accent]{2}[] ținte +ability.energyfield = Câmp de Energie +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Burghiu Mai Bun Necesar diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 2affcbab92..33aca558f4 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -952,13 +952,16 @@ stat.healing = Ремонт ability.forcefield = Силовое поле ability.repairfield = Ремонтирующее поле -ability.statusfield = {0} Усиливающее поле -ability.unitspawn = Завод единиц «{0}» +ability.statusfield = Усиливающее поле +ability.unitspawn = Завод единиц � ability.shieldregenfield = Поле восстановления щита ability.movelightning = Молнии при движении ability.shieldarc = Дуговой щит ability.suppressionfield = Поле подавления регенерации -ability.energyfield = Энергетическое поле: [accent]{0}[] урона ~ [accent]{1}[] блоков / [accent]{2}[] целей +ability.energyfield = Энергетическое поле +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Доступен перенос только в ядро bar.drilltierreq = Требуется бур получше diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 46a399b166..5aff19ac17 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -953,13 +953,17 @@ stat.healing = Popravlja ability.forcefield = Polje Sile ability.repairfield = Polje Popravke -ability.statusfield = {0} Statusno Polje -ability.unitspawn = {0} Fabrika +ability.statusfield = Statusno Polje +ability.unitspawn = Fabrika ability.shieldregenfield = Brzina Obnove Štita ability.movelightning = Munje Pri Kretanju ability.shieldarc = Elektrolučni Štit ability.suppressionfield = Polje Prigušivanja Popravki -ability.energyfield = Energetsko Polje: [accent]{0}[] štete ~ [accent]{1}[] polja / [accent]{2}[] maksimalnih meta +ability.energyfield = Energetsko Polje +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Dozvoljeno Dostavljanje Samo Unutar Jezgra bar.drilltierreq = Bolja Bušilica Potrebna diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index d3c5675c96..4d46e8e57e 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -940,12 +940,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Bättre Borr Krävs diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 4d03becace..bd95468a95 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -953,13 +953,16 @@ stat.healing = การรักษา ability.forcefield = โล่พลังงาน ability.repairfield = สนามซ่อมแซม -ability.statusfield = {0} สนามเอฟเฟกต์ -ability.unitspawn = โรงงานผลิต [accent]{0} +ability.statusfield = สนามเอฟเฟกต์ +ability.unitspawn = โรงงานผลิต ability.shieldregenfield = สนามรักษาโล่ ability.movelightning = ปล่อยสายฟ้าเมื่อเคลื่อนที่ ability.shieldarc = โล่พลังงานโค้ง ability.suppressionfield = สนามระงับการฟื้นฟู -ability.energyfield = สนามพลังงาน: [accent]{0}[] ดาเมจ ~ [accent]{1}[] บล็อก / [accent]{2}[] เป้าหมาย +ability.energyfield = สนามพลังงาน +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = ขนย้ายทรัพยากรลงแกนกลางได้เท่านั้น bar.drilltierreq = ต้องมีเครื่องขุดที่ดีกว่านี้ diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 34eb702202..b0c76085dd 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -940,12 +940,16 @@ stat.healing = Healing ability.forcefield = Force Field ability.repairfield = Repair Field ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.unitspawn = Factory ability.shieldregenfield = Shield Regen Field ability.movelightning = Movement Lightning ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = Energy Field: [accent]{0}[] damage ~ [accent]{1}[] blocks / [accent]{2}[] targets +ability.energyfield = Energy Field +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration + bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 61c37638fb..d51c4a1830 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -951,12 +951,15 @@ stat.healing = Tamir Eder ability.forcefield = Güç Kalkanı ability.repairfield = Onarma Alanı ability.statusfield = Hızlandırma Alanı -ability.unitspawn = {0} Birliği Fabrikası +ability.unitspawn = Birliği Fabrikası ability.shieldregenfield = Kalkan Yenileme Alanı ability.movelightning = Hareket Enerjisi ability.shieldarc = Arc Kalkan ability.suppressionfield = Tamir Engelleme Alanı -ability.energyfield = Güç Kalkanı: [accent]{0}[] hasar ~ [accent]{1}[] blok / [accent]{2}[] hedef +ability.energyfield = Güç Kalkanı +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün bar.drilltierreq = Daha Güçlü Matkap Gerekli diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 34000e0606..4b2e8d686c 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -961,13 +961,16 @@ stat.healing = Відновлювання ability.forcefield = Щитове поле ability.repairfield = Ремонтувальне поле -ability.statusfield = {0} Поле підсилення -ability.unitspawn = Завод одиниць «{0}» +ability.statusfield = Поле підсилення +ability.unitspawn = Завод одиниць � ability.shieldregenfield = Щитовідновлювальне поле ability.movelightning = Блискавки під час руху ability.shieldarc = Щитова дуга ability.suppressionfield = Поле пригнічення відновлення -ability.energyfield = Енергетичне поле: [accent]{0}[] шкоди ~ [accent]{1}[] блоків / [accent]{2}[] цілей +ability.energyfield = Енергетичне поле +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Передача предметів дозволена лише до ядра bar.drilltierreq = Потрібен ліпший бур diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 1d389d3160..0d8660c88f 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -954,13 +954,16 @@ stat.healing = Sửa chữa ability.forcefield = Tạo khiên ability.repairfield = Sửa chữa/Xây dựng -ability.statusfield = {0} Vùng gia tốc -ability.unitspawn = Sản xuất {0} +ability.statusfield = Vùng gia tốc +ability.unitspawn = Sản xuất ability.shieldregenfield = Tạo khiên nhỏ ability.movelightning = Phóng điện khi di chuyển ability.shieldarc = Khiên Vòng Cung ability.suppressionfield = Trường sửa chữa -ability.energyfield = Trường điện từ: [accent]{0}[] sát thương ~ [accent]{1}[] khối / [accent]{2}[] mục tiêu +ability.energyfield = Trường điện từ +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = Chỉ có thể đưa vào căn cứ bar.drilltierreq = Cần máy khoan tốt hơn diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 389306a073..77b17d15c8 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -962,13 +962,16 @@ stat.healing = 治疗 ability.forcefield = 力墙场 ability.repairfield = 修复场 -ability.statusfield = {0}状态场 -ability.unitspawn = {0}单位工厂 +ability.statusfield = 状态场 +ability.unitspawn = 单位工厂 ability.shieldregenfield = 护盾再生场 ability.movelightning = 闪电助推器 ability.shieldarc = 弧形护盾 ability.suppressionfield = 修复压制场 -ability.energyfield = 能量场:[accent]{0}[]伤害~[accent]{1}[]格/[accent]{2}[]目标 +ability.energyfield = 能量场: +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = 仅核心可丢入资源 bar.drilltierreq = 需要更高级的钻头 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 022be8b53d..de74b42cba 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -958,13 +958,16 @@ stat.healing = 治癒 ability.forcefield = 防護罩 ability.repairfield = 維修力場 -ability.statusfield = {0}狀態力場 -ability.unitspawn = {0}工廠 +ability.statusfield = 狀態力場 +ability.unitspawn = 工廠 ability.shieldregenfield = 護盾充能力場 ability.movelightning = 移動閃電 ability.shieldarc = Shield Arc ability.suppressionfield = Regen Suppression Field -ability.energyfield = 能量場: [accent]{0}[] 傷害 ~ [accent]{1}[] 方格 / [accent]{2}[] 目標數 +ability.energyfield = 能量場: +ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} +ability.regen = Regeneration bar.onlycoredeposit = 僅允許向核心放置物品 bar.drilltierreq = 需要更好的鑽頭 diff --git a/core/src/mindustry/entities/abilities/Ability.java b/core/src/mindustry/entities/abilities/Ability.java index 8a3cb2e7f8..5a6b025417 100644 --- a/core/src/mindustry/entities/abilities/Ability.java +++ b/core/src/mindustry/entities/abilities/Ability.java @@ -15,6 +15,8 @@ public abstract class Ability implements Cloneable{ public void draw(Unit unit){} public void death(Unit unit){} public void init(UnitType type){} + public void displayBars(Unit unit, Table bars){} + public void addStats(Table t){} public Ability copy(){ try{ @@ -25,10 +27,6 @@ public abstract class Ability implements Cloneable{ } } - public void displayBars(Unit unit, Table bars){ - - } - /** @return localized ability name; mods should override this. */ public String localized(){ var type = getClass(); diff --git a/core/src/mindustry/entities/abilities/ArmorPlateAbility.java b/core/src/mindustry/entities/abilities/ArmorPlateAbility.java index 9dcd7dec54..bfe776d737 100644 --- a/core/src/mindustry/entities/abilities/ArmorPlateAbility.java +++ b/core/src/mindustry/entities/abilities/ArmorPlateAbility.java @@ -4,9 +4,11 @@ import arc.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; +import arc.scene.ui.layout.Table; import arc.util.*; import mindustry.gen.*; import mindustry.graphics.*; +import mindustry.world.meta.*; public class ArmorPlateAbility extends Ability{ public TextureRegion plateRegion; @@ -25,6 +27,11 @@ public class ArmorPlateAbility extends Ability{ unit.healthMultiplier += warmup * healthMultiplier; } + @Override + public void addStats(Table t){ + t.add("[lightgray]" + Stat.healthMultiplier.localized() + ": [white]" + Math.round(healthMultiplier * 100f) + 100 + "%"); + } + @Override public void draw(Unit unit){ if(warmup > 0.001f){ diff --git a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java index e12a5959d0..acd47475bc 100644 --- a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java +++ b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java @@ -5,15 +5,16 @@ import arc.audio.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; +import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; -import mindustry.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.game.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; +import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -31,6 +32,7 @@ public class EnergyFieldAbility extends Ability{ public float healPercent = 3f; /** Multiplies healing to units of the same type by this amount. */ public float sameTypeHealMult = 1f; + public boolean displayHeal = true; public float layer = Layer.bullet - 0.001f, blinkScl = 20f, blinkSize = 0.1f; public float effectRadius = 5f, sectorRad = 0.14f, rotateSpeed = 0.5f; @@ -50,8 +52,25 @@ public class EnergyFieldAbility extends Ability{ } @Override - public String localized(){ - return Core.bundle.format("ability.energyfield", damage, range / Vars.tilesize, maxTargets); + public void addStats(Table t){ + t.add(Core.bundle.format("bullet.damage", damage)); + t.row(); + t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized()); + t.row(); + t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); + t.row(); + t.add(Core.bundle.format("ability.energyfield.maxtargets", maxTargets)); + + if(displayHeal){ + t.row(); + t.add(Core.bundle.format("bullet.healpercent", Strings.autoFixed(healPercent, 2))); + t.row(); + t.add(Core.bundle.format("ability.energyfield.sametypehealmultiplier", Math.round(sameTypeHealMult * 100f))); + } + if(status != StatusEffects.none){ + t.row(); + t.add(status.emoji() + " " + status.localizedName); + } } @Override diff --git a/core/src/mindustry/entities/abilities/ForceFieldAbility.java b/core/src/mindustry/entities/abilities/ForceFieldAbility.java index 4c0ff993c2..81264ac05c 100644 --- a/core/src/mindustry/entities/abilities/ForceFieldAbility.java +++ b/core/src/mindustry/entities/abilities/ForceFieldAbility.java @@ -12,6 +12,9 @@ import mindustry.content.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.ui.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.*; public class ForceFieldAbility extends Ability{ /** Shield radius. */ @@ -68,6 +71,18 @@ public class ForceFieldAbility extends Ability{ ForceFieldAbility(){} + @Override + public void addStats(Table t){ + t.add("[lightgray]" + Stat.health.localized() + ": [white]" + Math.round(max)); + t.row(); + t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(radius / tilesize, 2) + " " + StatUnit.blocks.localized()); + t.row(); + t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(regen * 60f, 2) + StatUnit.perSecond.localized()); + t.row(); + t.add("[lightgray]" + Stat.cooldownTime.localized() + ": [white]" + Strings.autoFixed(cooldown / 60f, 2) + " " + StatUnit.seconds.localized()); + t.row(); + } + @Override public void update(Unit unit){ if(unit.shield < max){ diff --git a/core/src/mindustry/entities/abilities/MoveEffectAbility.java b/core/src/mindustry/entities/abilities/MoveEffectAbility.java index 35487bafe1..48e2ba709c 100644 --- a/core/src/mindustry/entities/abilities/MoveEffectAbility.java +++ b/core/src/mindustry/entities/abilities/MoveEffectAbility.java @@ -30,6 +30,7 @@ public class MoveEffectAbility extends Ability{ } public MoveEffectAbility(){ + display = false; } @Override diff --git a/core/src/mindustry/entities/abilities/RegenAbility.java b/core/src/mindustry/entities/abilities/RegenAbility.java index 65f4a54e65..0a7bca80c9 100644 --- a/core/src/mindustry/entities/abilities/RegenAbility.java +++ b/core/src/mindustry/entities/abilities/RegenAbility.java @@ -1,7 +1,10 @@ package mindustry.entities.abilities; +import arc.Core; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.gen.*; +import mindustry.world.meta.*; public class RegenAbility extends Ability{ /** Amount healed as percent per tick. */ @@ -9,6 +12,18 @@ public class RegenAbility extends Ability{ /** Amount healed as a flat amount per tick. */ public float amount = 0f; + @Override + public void addStats(Table t){ + if(amount > 0.01f){ + t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(amount * 60f, 2) + StatUnit.perSecond.localized()); + t.row(); + } + + if(percentAmount > 0.01f){ + t.add(Core.bundle.format("bullet.healpercent", Strings.autoFixed(percentAmount * 60f, 2)) + StatUnit.perSecond.localized()); //stupid but works + } + } + @Override public void update(Unit unit){ unit.heal((unit.maxHealth * percentAmount / 100f + amount) * Time.delta); diff --git a/core/src/mindustry/entities/abilities/RepairFieldAbility.java b/core/src/mindustry/entities/abilities/RepairFieldAbility.java index 600e3ee5ef..fb42cc7018 100644 --- a/core/src/mindustry/entities/abilities/RepairFieldAbility.java +++ b/core/src/mindustry/entities/abilities/RepairFieldAbility.java @@ -1,9 +1,13 @@ package mindustry.entities.abilities; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.gen.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.tilesize; public class RepairFieldAbility extends Ability{ public float amount = 1, reload = 100, range = 60; @@ -22,6 +26,13 @@ public class RepairFieldAbility extends Ability{ this.range = range; } + @Override + public void addStats(Table t){ + t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(amount * 60f / reload, 2) + StatUnit.perSecond.localized()); + t.row(); + t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); + } + @Override public void update(Unit unit){ timer += Time.delta; diff --git a/core/src/mindustry/entities/abilities/ShieldArcAbility.java b/core/src/mindustry/entities/abilities/ShieldArcAbility.java index 9e9f570933..548a123899 100644 --- a/core/src/mindustry/entities/abilities/ShieldArcAbility.java +++ b/core/src/mindustry/entities/abilities/ShieldArcAbility.java @@ -13,6 +13,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; import mindustry.ui.*; +import mindustry.world.meta.*; public class ShieldArcAbility extends Ability{ private static Unit paramUnit; @@ -66,6 +67,16 @@ public class ShieldArcAbility extends Ability{ /** State. */ protected float widthScale, alpha; + @Override + public void addStats(Table t){ + t.add("[lightgray]" + Stat.health.localized() + ": [white]" + Math.round(max)); + t.row(); + t.add("[lightgray]" + Stat.repairSpeed.localized() + ": [white]" + Strings.autoFixed(regen * 60f, 2) + StatUnit.perSecond.localized()); + t.row(); + t.add("[lightgray]" + Stat.cooldownTime.localized() + ": [white]" + Strings.autoFixed(cooldown / 60f, 2) + " " + StatUnit.seconds.localized()); + t.row(); + } + @Override public void update(Unit unit){ if(data < max){ diff --git a/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java b/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java index 232464ab00..51d1f79175 100644 --- a/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java +++ b/core/src/mindustry/entities/abilities/ShieldRegenFieldAbility.java @@ -1,9 +1,14 @@ package mindustry.entities.abilities; +import arc.Core; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.gen.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.tilesize; public class ShieldRegenFieldAbility extends Ability{ public float amount = 1, max = 100f, reload = 100, range = 60; @@ -23,6 +28,16 @@ public class ShieldRegenFieldAbility extends Ability{ this.range = range; } + @Override + public void addStats(Table t){ + t.add("[lightgray]" + Core.bundle.get("waves.shields") + ": [white]" + Math.round(max)); //extremely stupid usage + t.row(); + t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); + t.row(); + t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized()); + t.row(); + } + @Override public void update(Unit unit){ timer += Time.delta; diff --git a/core/src/mindustry/entities/abilities/SpawnDeathAbility.java b/core/src/mindustry/entities/abilities/SpawnDeathAbility.java index 613f09b727..8aac58776a 100644 --- a/core/src/mindustry/entities/abilities/SpawnDeathAbility.java +++ b/core/src/mindustry/entities/abilities/SpawnDeathAbility.java @@ -1,6 +1,7 @@ package mindustry.entities.abilities; import arc.math.*; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.*; import mindustry.gen.*; @@ -24,6 +25,11 @@ public class SpawnDeathAbility extends Ability{ public SpawnDeathAbility(){ } + @Override + public void addStats(Table t){ + t.add((randAmount > 0 ? amount + "-" + (amount + randAmount) : amount) + " " + unit.emoji() + " " + unit.localizedName); + } + @Override public void death(Unit unit){ if(!Vars.net.client()){ diff --git a/core/src/mindustry/entities/abilities/StatusFieldAbility.java b/core/src/mindustry/entities/abilities/StatusFieldAbility.java index 4d90de75cf..7bc7bcb375 100644 --- a/core/src/mindustry/entities/abilities/StatusFieldAbility.java +++ b/core/src/mindustry/entities/abilities/StatusFieldAbility.java @@ -1,16 +1,19 @@ package mindustry.entities.abilities; -import arc.*; import arc.math.*; +import arc.scene.ui.layout.Table; import arc.util.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.gen.*; import mindustry.type.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.tilesize; public class StatusFieldAbility extends Ability{ public StatusEffect effect; - public float duration = 60, reload = 100, range = 20; + public float duration = 60, reload = 100, range = 20; // public boolean onShoot = false; public Effect applyEffect = Fx.none; public Effect activeEffect = Fx.overdriveWave; @@ -29,8 +32,12 @@ public class StatusFieldAbility extends Ability{ } @Override - public String localized(){ - return Core.bundle.format("ability.statusfield", effect.emoji()); + public void addStats(Table t){ + t.add("[lightgray]" + Stat.reload.localized() + ": [white]" + Strings.autoFixed(60f / reload, 2) + " " + StatUnit.perSecond.localized()); + t.row(); + t.add("[lightgray]" + Stat.shootRange.localized() + ": [white]" + Strings.autoFixed(range / tilesize, 2) + " " + StatUnit.blocks.localized()); + t.row(); + t.add(effect.emoji() + " " + effect.localizedName); } @Override diff --git a/core/src/mindustry/entities/abilities/UnitSpawnAbility.java b/core/src/mindustry/entities/abilities/UnitSpawnAbility.java index 22555d3b3a..f4e0f5ecb0 100644 --- a/core/src/mindustry/entities/abilities/UnitSpawnAbility.java +++ b/core/src/mindustry/entities/abilities/UnitSpawnAbility.java @@ -3,6 +3,7 @@ package mindustry.entities.abilities; import arc.*; import arc.graphics.g2d.*; import arc.math.*; +import arc.scene.ui.layout.*; import arc.util.*; import mindustry.*; import mindustry.content.*; @@ -11,6 +12,7 @@ import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; +import mindustry.world.meta.*; import static mindustry.Vars.*; @@ -32,6 +34,13 @@ public class UnitSpawnAbility extends Ability{ public UnitSpawnAbility(){ } + @Override + public void addStats(Table t){ + t.add("[lightgray]" + Stat.buildTime.localized() + ": [white]" + Strings.autoFixed(spawnTime / 60f, 2) + " " + StatUnit.seconds.localized()); + t.row(); + t.add(unit.emoji() + " " + unit.localizedName); + } + @Override public void update(Unit unit){ timer += Time.delta * state.rules.unitBuildSpeed(unit.team); diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index d4a708d4cf..aba1ab89d5 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -603,13 +603,7 @@ public class UnitType extends UnlockableContent implements Senseable{ stats.add(Stat.range, (int)(maxRange / tilesize), StatUnit.blocks); if(abilities.any()){ - var unique = new ObjectSet(); - - for(Ability a : abilities){ - if(a.display && unique.add(a.localized())){ - stats.add(Stat.abilities, a.localized()); - } - } + stats.add(Stat.abilities, StatValues.abilities(abilities)); } stats.add(Stat.flying, flying); diff --git a/core/src/mindustry/world/meta/StatValues.java b/core/src/mindustry/world/meta/StatValues.java index 7258dbb89a..f7c32b3a25 100644 --- a/core/src/mindustry/world/meta/StatValues.java +++ b/core/src/mindustry/world/meta/StatValues.java @@ -12,6 +12,7 @@ import arc.util.*; import mindustry.*; import mindustry.content.*; import mindustry.ctype.*; +import mindustry.entities.abilities.*; import mindustry.entities.bullet.*; import mindustry.gen.*; import mindustry.maps.*; @@ -348,7 +349,7 @@ public class StatValues{ public static StatValue weapons(UnitType unit, Seq weapons){ return table -> { table.row(); - for(int i = 0; i < weapons.size;i ++){ + for(int i = 0; i < weapons.size; i++){ Weapon weapon = weapons.get(i); if(weapon.flipSprite || !weapon.hasStats(unit)){ @@ -370,6 +371,23 @@ public class StatValues{ }; } + public static StatValue abilities(Seq abilities){ + return table -> { + table.row(); + table.table(t -> abilities.each(ability -> { + if(ability.display){ + t.row(); + t.table(Styles.grayPanel, a -> { + a.add("[accent]" + ability.localized()).padBottom(4); + a.row(); + a.left().top().defaults().left(); + ability.addStats(a); + }).pad(5).margin(10).growX(); + } + })); + }; + } + public static StatValue ammo(ObjectMap map){ return ammo(map, 0, false); }