Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2025-02-05 18:52:09 -05:00
5 changed files with 24 additions and 19 deletions

View File

@@ -499,14 +499,14 @@ waves.units.show = Показать все
wavemode.counts = количество единиц wavemode.counts = количество единиц
wavemode.totals = всего единиц wavemode.totals = всего единиц
wavemode.health = всего прочности wavemode.health = всего прочности
all = All all = всего
editor.default = [lightgray]<По умолчанию> editor.default = [lightgray]<По умолчанию>
details = Подробности... details = Подробности...
edit = Редактировать... edit = Редактировать...
variables = Переменные variables = Переменные
logic.clear.confirm = Are you sure you want to clear all code from this processor? logic.clear.confirm = Are you sure you want to clear all code from this processor?
logic.globals = Built-in Variables logic.globals = Встроенные переменные
editor.name = Название: editor.name = Название:
editor.spawn = Создать боевую единицу editor.spawn = Создать боевую единицу
editor.removeunit = Удалить боевую единицу editor.removeunit = Удалить боевую единицу
@@ -594,7 +594,7 @@ filter.clear = Очистить
filter.option.ignore = Игнорировать filter.option.ignore = Игнорировать
filter.scatter = Сеятель filter.scatter = Сеятель
filter.terrain = Ландшафт filter.terrain = Ландшафт
filter.logic = Logic filter.logic = Логика
filter.option.scale = Масштаб фильтра filter.option.scale = Масштаб фильтра
filter.option.chance = Шанс filter.option.chance = Шанс
@@ -781,8 +781,8 @@ sector.curlost = Сектор потерян
sector.missingresources = [scarlet]Недостаточно ресурсов для высадки sector.missingresources = [scarlet]Недостаточно ресурсов для высадки
sector.attacked = Сектор [accent]{0}[white] атакован! sector.attacked = Сектор [accent]{0}[white] атакован!
sector.lost = Сектор [accent]{0}[white] потерян! sector.lost = Сектор [accent]{0}[white] потерян!
sector.capture = Sector [accent]{0}[white]Captured! sector.capture = Сектор [accent]{0}[white] захвачен!
sector.capture.current = Sector Captured! sector.capture.current = Сектор захвачен!
sector.changeicon = Изменить иконку sector.changeicon = Изменить иконку
sector.noswitch.title = Перемещение между секторами sector.noswitch.title = Перемещение между секторами
sector.noswitch = Вы не можете переключаться между секторами, пока существующий сектор находится под атакой.\n\nСектор: [accent]{0}[] на [accent]{1}[] sector.noswitch = Вы не можете переключаться между секторами, пока существующий сектор находится под атакой.\n\nСектор: [accent]{0}[] на [accent]{1}[]
@@ -794,10 +794,10 @@ threat.high = Высокая
threat.extreme = Экстремальная threat.extreme = Экстремальная
threat.eradication = Истребляющая threat.eradication = Истребляющая
difficulty.casual = Casual difficulty.casual = Casual
difficulty.easy = Easy difficulty.easy = Лёгкая
difficulty.normal = Normal difficulty.normal = Нормальная
difficulty.hard = Hard difficulty.hard = Сложная
difficulty.eradication = Eradication difficulty.eradication = Истребляющая
planets = Планеты planets = Планеты
@@ -1163,7 +1163,7 @@ category.items = Предметы
category.crafting = Ввод/вывод category.crafting = Ввод/вывод
category.function = Действие category.function = Действие
category.optional = Дополнительные улучшения category.optional = Дополнительные улучшения
setting.alwaysmusic.name = Always Play Music setting.alwaysmusic.name = Всегда играть музыку
setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals.
setting.skipcoreanimation.name = Пропускать анимацию запуска/приземления ядра setting.skipcoreanimation.name = Пропускать анимацию запуска/приземления ядра
setting.landscape.name = Только альбомный (горизонтальный) режим setting.landscape.name = Только альбомный (горизонтальный) режим
@@ -1413,12 +1413,13 @@ rules.title.teams = Команды
rules.title.planet = Планета rules.title.planet = Планета
rules.lighting = Освещение rules.lighting = Освещение
rules.fog = Туман войны rules.fog = Туман войны
rules.invasions = Enemy Sector Invasions rules.invasions = Вторжения врагов на сектора
rules.legacylaunchpads = Legacy Launch Pad Mechanics rules.legacylaunchpads = Legacy Launch Pad Mechanics
rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0.
landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled)
rules.showspawns = Show Enemy Spawns rules.showspawns = Показывать появление врагов
rules.randomwaveai = Unpredictable Wave AI rules.randomwaveai = Непредсказуемый ИИ волн
rules.fire = Огонь rules.fire = Огонь
rules.anyenv = <Любая> rules.anyenv = <Любая>
rules.explosions = Урон от взрывов блоков/единиц rules.explosions = Урон от взрывов блоков/единиц

View File

@@ -45,9 +45,9 @@ public class LExecutor{
public LInstruction[] instructions = {}; public LInstruction[] instructions = {};
/** Non-constant variables used for network sync */ /** Non-constant variables used for network sync */
public LVar[] vars = {}; public LVar[] vars = {};
public LVar counter, unit, thisv, ipt; public LVar counter, unit, thisv, ipt;
public int[] binds; public int[] binds;
public boolean yield; public boolean yield;
@@ -226,7 +226,7 @@ public class LExecutor{
cache.found = false; cache.found = false;
outFound.setnum(0); outFound.setnum(0);
} }
if(res != null && res.build != null && if(res != null && res.build != null &&
(unit.within(res.build.x, res.build.y, Math.max(unit.range(), buildingRange)) || res.build.team == exec.team)){ (unit.within(res.build.x, res.build.y, Math.max(unit.range(), buildingRange)) || res.build.team == exec.team)){
cache.build = res.build; cache.build = res.build;
@@ -1512,6 +1512,7 @@ public class LExecutor{
case dropZoneRadius -> state.rules.dropZoneRadius = value.numf() * 8f; case dropZoneRadius -> state.rules.dropZoneRadius = value.numf() * 8f;
case unitCap -> state.rules.unitCap = Math.max(value.numi(), 0); case unitCap -> state.rules.unitCap = Math.max(value.numi(), 0);
case lighting -> state.rules.lighting = value.bool(); case lighting -> state.rules.lighting = value.bool();
case canGameOver -> state.rules.canGameOver = value.bool();
case mapArea -> { case mapArea -> {
int x = p1.numi(), y = p2.numi(), w = p3.numi(), h = p4.numi(); int x = p1.numi(), y = p2.numi(), w = p3.numi(), h = p4.numi();
if(!checkMapArea(x, y, w, h, false)){ if(!checkMapArea(x, y, w, h, false)){
@@ -1963,7 +1964,7 @@ public class LExecutor{
public void run(LExecutor exec){ public void run(LExecutor exec){
Sound sound = Sounds.getSound(id.numi()); Sound sound = Sounds.getSound(id.numi());
if(sound == null || sound == Sounds.swish) sound = Sounds.none; //no. if(sound == null || sound == Sounds.swish) sound = Sounds.none; //no.
if(positional){ if(positional){
sound.at(World.unconv(x.numf()), World.unconv(y.numf()), pitch.numf(), Math.min(volume.numf(), 2f), limit.bool()); sound.at(World.unconv(x.numf()), World.unconv(y.numf()), pitch.numf(), Math.min(volume.numf(), 2f), limit.bool());
}else{ }else{

View File

@@ -13,6 +13,7 @@ public enum LogicRule{
unitCap, unitCap,
mapArea, mapArea,
lighting, lighting,
canGameOver,
ambientLight, ambientLight,
solarMultiplier, solarMultiplier,
dragMultiplier, dragMultiplier,

View File

@@ -40,6 +40,7 @@ public class GenericCrafter extends Block{
public Effect craftEffect = Fx.none; public Effect craftEffect = Fx.none;
public Effect updateEffect = Fx.none; public Effect updateEffect = Fx.none;
public float updateEffectChance = 0.04f; public float updateEffectChance = 0.04f;
public float updateEffectSpread = 4f;
public float warmupSpeed = 0.019f; public float warmupSpeed = 0.019f;
/** Only used for legacy cultivator blocks. */ /** Only used for legacy cultivator blocks. */
public boolean legacyReadWarmup = false; public boolean legacyReadWarmup = false;
@@ -233,7 +234,7 @@ public class GenericCrafter extends Block{
} }
if(wasVisible && Mathf.chanceDelta(updateEffectChance)){ if(wasVisible && Mathf.chanceDelta(updateEffectChance)){
updateEffect.at(x + Mathf.range(size * 4f), y + Mathf.range(size * 4)); updateEffect.at(x + Mathf.range(size * updateEffectSpread), y + Mathf.range(size * updateEffectSpread));
} }
}else{ }else{
warmup = Mathf.approachDelta(warmup, 0f, warmupSpeed); warmup = Mathf.approachDelta(warmup, 0f, warmupSpeed);

View File

@@ -223,7 +223,8 @@
"address": [ "address": [
"mindustry.icu", "mindustry.icu",
"sx.mindustry.icu", "sx.mindustry.icu",
"9k38.igla.pics" "9k38.igla.pics",
"frp-oak.com:26979"
] ]
}, },
{ {