Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2023-01-09 22:17:27 -05:00
4 changed files with 48 additions and 21 deletions

View File

@@ -150,12 +150,12 @@ mod.incompatiblemod = [red]Несумісно
mod.blacklisted = [red]Не підтримується mod.blacklisted = [red]Не підтримується
mod.unmetdependencies = [red]Відсутні залежності mod.unmetdependencies = [red]Відсутні залежності
mod.erroredcontent = [scarlet]Помилки під час завантаження mod.erroredcontent = [scarlet]Помилки під час завантаження
mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. mod.requiresversion.details = Необхідна версія гри: [accent]{0}[]\nВаша гра застаріла. Мод потребує новішу версію гри (можливо бета- чи альфа-версію) для роботи.mod.outdatedv7.details = Ця модифікація не сумісна з останньою версією гри. Розробник модифікації має оновити її та додати [accent]minGameVersion: 136[] у свій [accent]mod.json[] файл.
mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file.
mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. mod.blacklisted.details = Цю модифікацію було вручну внесено у чорний список за постійні збої або інші проблеми з цією версією гри. Не використовуйте її.
mod.missingdependencies.details = This mod is missing dependencies: {0} mod.missingdependencies.details = This mod is missing dependencies: {0}
mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them. mod.erroredcontent.details = Ця модифікація спричинила помилки при завантаженні. Попросіть автора виправити їх.
mod.requiresversion = Requires game version: [red]{0} mod.requiresversion = Необхідна версія гри: [red]{0}
mod.errors = Виникли помилки під час завантаження змісту. mod.errors = Виникли помилки під час завантаження змісту.
mod.noerrorplay = [red]Ви маєте модифікації з помилками.[] Або вимкніть проблемні модифікації, або виправте їх. mod.noerrorplay = [red]Ви маєте модифікації з помилками.[] Або вимкніть проблемні модифікації, або виправте їх.
mod.nowdisabled = [red]Модифікації «{0}» не вистачає залежних модифікацій:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити спочатку.\nЦя модифікація буде автоматично вимкнена. mod.nowdisabled = [red]Модифікації «{0}» не вистачає залежних модифікацій:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити спочатку.\nЦя модифікація буде автоматично вимкнена.
@@ -357,8 +357,8 @@ pausebuilding = [accent][[{0}][] для призупинення будуван
resumebuilding = [scarlet][[{0}][] для продовження будування resumebuilding = [scarlet][[{0}][] для продовження будування
enablebuilding = [scarlet][[{0}][] для увімкнення будування enablebuilding = [scarlet][[{0}][] для увімкнення будування
showui = Користувацький інтерфейс приховано.\nНатисніть [accent][[{0}][], щоби показати його знову. showui = Користувацький інтерфейс приховано.\nНатисніть [accent][[{0}][], щоби показати його знову.
commandmode.name = [accent]Command Mode commandmode.name = [accent]Режим командування
commandmode.nounits = [no units] commandmode.nounits = [одиниць немає]
wave = [accent]Хвиля {0} wave = [accent]Хвиля {0}
wave.cap = [accent]Хвиля {0}/{1} wave.cap = [accent]Хвиля {0}/{1}
wave.waiting = [lightgray]Наступна хвиля\nчерез {0} wave.waiting = [lightgray]Наступна хвиля\nчерез {0}
@@ -797,11 +797,11 @@ sector.lake.description = Шлакове озеро в цьому секторі
sector.intersect.description = Сканування показує, що цей сектор буде атаковано з кількох сторін невдовзі після приземлення.Швидко підготуйте захист і розширте його якнайшвидше.\nВам знадобляться [accent]Мехи[] для подолання нерівної місцевості. sector.intersect.description = Сканування показує, що цей сектор буде атаковано з кількох сторін невдовзі після приземлення.Швидко підготуйте захист і розширте його якнайшвидше.\nВам знадобляться [accent]Мехи[] для подолання нерівної місцевості.
sector.atlas.description = Цей сектор містить різноманітну місцевість і потребує різноманітних одиниць для ефективної атаки.\nМодернізовані одиниці також можуть знадобитися, щоби подолати деякі складніші бази противника, виявлені тут.\nДослідіть [accent]Електролізер[] і [accent]Танковий рефабрикатор[]. sector.atlas.description = Цей сектор містить різноманітну місцевість і потребує різноманітних одиниць для ефективної атаки.\nМодернізовані одиниці також можуть знадобитися, щоби подолати деякі складніші бази противника, виявлені тут.\nДослідіть [accent]Електролізер[] і [accent]Танковий рефабрикатор[].
sector.split.description = Мінімальна ворожа присутність в цьому секторі робить його ідеальним для тестування нових транспортних технологій. sector.split.description = Мінімальна ворожа присутність в цьому секторі робить його ідеальним для тестування нових транспортних технологій.
sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. sector.basin.description = У цьому секторі виявлено велику присутність ворога.\nШвидко створюйте одиниці та захоплюйте ворожі ядра, щоби закріпитися.
sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. sector.marsh.description = У цьому секторі багато аркіциту, але мало отворів.\nСпоруджуйте [accent]камери хімічного згоряння[], щоби виробляти енергію.
sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. sector.peaks.description = Гірська місцевість в цьому секторі робить більшість одиниць непотрібними. Знадобиться присутність повітряних одиниць.\nБудьте уважні до ворожої ППО. Можливо, вдасться вивести з ладу деякі з цих установок, націлившись на їхні допоміжні будівлі.
sector.ravine.description = An important transportation route for the enemy. No cores detected in the sector, but expect a variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. sector.ravine.description = Важливий транспортний маршрут для ворога. У секторі не виявлено ядер, але очікується присутність різноманітних сил противника.\nВиробіть [accent]кінетичний сплав[]. Побудуйте башти [accent]уражач[].
sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. sector.caldera-erekir.description = Виявлені в цьому секторі ресурси розкидані по декількох островах.\nДослідіть і розгорніть перевезення на базі дронів.
sector.stronghold.description = Великий ворожий табір в цьому секторі охороняє значні поклади [accent]торію[].\nВикористайте його для розвитку одиниць вищого рівня і башт. sector.stronghold.description = Великий ворожий табір в цьому секторі охороняє значні поклади [accent]торію[].\nВикористайте його для розвитку одиниць вищого рівня і башт.
sector.crevice.description = Ворог відправить запеклі штурмові сили, щоби знищити вашу базу в цьому секторі.\nРозробка [accent]карбіду[] і [accent]генератора піролізу[] може бути необхідною для виживання. sector.crevice.description = Ворог відправить запеклі штурмові сили, щоби знищити вашу базу в цьому секторі.\nРозробка [accent]карбіду[] і [accent]генератора піролізу[] може бути необхідною для виживання.
sector.siege.description = У цьому секторі є два паралельні каньйони, які змусять вести двосторонню атаку.\nДослідіть [accent]ціаноген[], щоб отримати можливість створювати ще сильніші танкові частини.\nУвага: виявлено ворожі ракети дальнього радіусу дії. Ракети можуть бути збиті до входження в атмосферу. sector.siege.description = У цьому секторі є два паралельні каньйони, які змусять вести двосторонню атаку.\nДослідіть [accent]ціаноген[], щоб отримати можливість створювати ще сильніші танкові частини.\nУвага: виявлено ворожі ракети дальнього радіусу дії. Ракети можуть бути збиті до входження в атмосферу.
@@ -2374,5 +2374,5 @@ lenum.within = Чи знаходиться одиниця біля позиці
lenum.boost = Почати чи зупинити політ. lenum.boost = Почати чи зупинити політ.
#Don't translate these yet! #Don't translate these yet!
onset.commandmode = Утримуйте [accent]Shift[] щоб увійти в [accent]режим командування[].\n[accent]Зажміть ЛКМ і потягніть,[] щоб обрати одиниці.\n[accent]Використовуйте ПКМ[], щоби наказати обраним одиницям рухатися чи атакувати. onset.commandmode = Утримуйте [accent]Shift[], щоб увійти в [accent]режим командування[].\n[accent]Зажміть ЛКМ і потягніть,[] щоб обрати одиниці.\n[accent]Використовуйте ПКМ[], щоби наказати обраним одиницям рухатися чи атакувати.
onset.commandmode.mobile = Натисніть кнопку [accent]Командувати[] щоб увійти [accent]в режим командування[].\nУтримуйте палець і [accent]потягніть[], щоб обрати одиниці.\n[accent] Зробіть коротке натискання[], щоби наказати обраним одиницям рухатися чи атакувати. onset.commandmode.mobile = Натисніть кнопку [accent]Командувати[], щоб увійти [accent]в режим командування[].\nУтримуйте палець і [accent]потягніть[], щоб обрати одиниці.\n[accent] Зробіть коротке натискання[], щоби наказати обраним одиницям рухатися чи атакувати.

View File

@@ -45,14 +45,19 @@ public abstract class DrawPart{
public static class PartMove{ public static class PartMove{
public PartProgress progress = PartProgress.warmup; public PartProgress progress = PartProgress.warmup;
public float x, y, rot; public float x, y, gx, gy, rot;
public PartMove(PartProgress progress, float x, float y, float rot){ public PartMove(PartProgress progress, float x, float y, float gx, float gy, float rot){
this.progress = progress; this.progress = progress;
this.x = x; this.x = x;
this.y = y; this.y = y;
this.gx = gx;
this.gy = gy;
this.rot = rot; this.rot = rot;
} }
public PartMove(PartProgress progress, float x, float y, float rot){
this(progress, x, y, 0, 0, rot);
}
public PartMove(){ public PartMove(){
} }

View File

@@ -29,13 +29,15 @@ public class RegionPart extends DrawPart{
public boolean heatLight = false; public boolean heatLight = false;
/** Progress function for determining position/rotation. */ /** Progress function for determining position/rotation. */
public PartProgress progress = PartProgress.warmup; public PartProgress progress = PartProgress.warmup;
/** Progress function for scaling. */
public PartProgress growProgress = PartProgress.warmup;
/** Progress function for heat alpha. */ /** Progress function for heat alpha. */
public PartProgress heatProgress = PartProgress.heat; public PartProgress heatProgress = PartProgress.heat;
public Blending blending = Blending.normal; public Blending blending = Blending.normal;
public float layer = -1, layerOffset = 0f, heatLayerOffset = 1f, turretHeatLayer = Layer.turretHeat; public float layer = -1, layerOffset = 0f, heatLayerOffset = 1f, turretHeatLayer = Layer.turretHeat;
public float outlineLayerOffset = -0.001f; public float outlineLayerOffset = -0.001f;
public float x, y, rotation; public float x, y, xScl = 1f, yScl = 1f, rotation;
public float moveX, moveY, moveRot; public float moveX, moveY, growX, growY, moveRot;
public float heatLightOpacity = 0.3f; public float heatLightOpacity = 0.3f;
public @Nullable Color color, colorTo, mixColor, mixColorTo; public @Nullable Color color, colorTo, mixColor, mixColorTo;
public Color heatColor = Pal.turretHeat.cpy(); public Color heatColor = Pal.turretHeat.cpy();
@@ -65,8 +67,9 @@ public class RegionPart extends DrawPart{
Draw.z(Draw.z() + layerOffset); Draw.z(Draw.z() + layerOffset);
float prevZ = Draw.z(); float prevZ = Draw.z();
float prog = progress.getClamp(params); float prog = progress.getClamp(params), sclProg = growProgress.getClamp(params);
float mx = moveX * prog, my = moveY * prog, mr = moveRot * prog + rotation; float mx = moveX * prog, my = moveY * prog, mr = moveRot * prog + rotation,
gx = growX * sclProg, gy = growY * sclProg;
if(moves.size > 0){ if(moves.size > 0){
for(int i = 0; i < moves.size; i++){ for(int i = 0; i < moves.size; i++){
@@ -75,10 +78,15 @@ public class RegionPart extends DrawPart{
mx += move.x * p; mx += move.x * p;
my += move.y * p; my += move.y * p;
mr += move.rot * p; mr += move.rot * p;
gx += move.gx;
gy += move.gy;
} }
} }
int len = mirror && params.sideOverride == -1 ? 2 : 1; int len = mirror && params.sideOverride == -1 ? 2 : 1;
float preXscl = Draw.xscl, preYscl = Draw.yscl;
Draw.xscl *= xScl + gx;
Draw.yscl *= yScl + gy;
for(int s = 0; s < len; s++){ for(int s = 0; s < len; s++){
//use specific side if necessary //use specific side if necessary
@@ -153,6 +161,8 @@ public class RegionPart extends DrawPart{
} }
} }
} }
Draw.scl(preXscl, preYscl);
} }
@Override @Override

View File

@@ -1,4 +1,12 @@
[ [
{
"name": "Explosive corp",
"address": ["94.103.91.96:4545", "94.103.91.96:4848"]
},
{
"name": "RCM",
"address": ["rcrms.ru:6567"]
},
{ {
"name": "generic mindustry", "name": "generic mindustry",
"address": ["212.192.29.92:25554", "212.192.29.24:25298"] "address": ["212.192.29.92:25554", "212.192.29.24:25298"]
@@ -13,7 +21,7 @@
}, },
{ {
"name": "SMoke of Anarchy", "name": "SMoke of Anarchy",
"address": ["smokeofanarchy.ru, backup.smokeofanarchy.ru"] "address": ["smokeofanarchy.ru", "backup.smokeofanarchy.ru"]
}, },
{ {
"name": "Mindustry.pl", "name": "Mindustry.pl",
@@ -41,7 +49,7 @@
}, },
{ {
"name": "Omega Hub", "name": "Omega Hub",
"address": ["omegahub.xyz", "rush.omegahub.xyz", "annexation.omegahub.xyz", "2r2t.omegahub.xyz", "3r3t.omegahub.xyz", "campaign.omegahub.xyz", "rapid.omegahub.xyz", "survivalattack.omegahub.xyz", "castlewars.omegahub.xyz", "skyblock.omegahub.xyz", "skywarsranked.omegahub.xyz", "colonization.omegahub.xyz"] "address": ["n1.mindustry.me:6608", "n7.mindustry.me:6567", "n7.mindustry.me:6570", "n1.mindustry.me:6568", "n1.mindustry.me:6671", "n1.mindustry.me:6570", "n1.mindustry.me:6573", "n1.mindustry.me:6610", "n1.mindustry.me:6567", "n1.mindustry.me:6599", "n1.mindustry.me:6774", "n1.mindustry.me:6571"]
}, },
{ {
"name": "KMWStudios", "name": "KMWStudios",
@@ -126,5 +134,9 @@
{ {
"name": "Hungarian", "name": "Hungarian",
"address": ["play.hudustry.tk"] "address": ["play.hudustry.tk"]
},
{
"name": "SubZero",
"address": ["mintyserver.net"]
} }
] ]