Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -78,13 +78,12 @@ schematic.tagexists = Такой тег уже существует.
|
||||
|
||||
stats = Статистика
|
||||
stat.wave = Волн отражено:[accent] {0}
|
||||
stat.unitsCreated = Единиц создано:[accent] {0}
|
||||
stat.enemiesDestroyed = Врагов уничтожено:[accent] {0}
|
||||
stat.built = Строений построено:[accent] {0}
|
||||
stat.destroyed = Строений уничтожено:[accent] {0}
|
||||
stat.deconstructed = Строений разобрано:[accent] {0}
|
||||
stat.delivered = Ресурсов запущено:
|
||||
stat.playtime = Время игры:[accent] {0}
|
||||
stat.rank = Финальный ранг: [accent]{0}
|
||||
|
||||
globalitems = [accent]Общие предметы
|
||||
map.delete = Вы действительно хотите удалить карту «[accent]{0}[]»?
|
||||
@@ -392,6 +391,8 @@ waves.load = Загрузить из буфера обмена
|
||||
waves.invalid = Неверные волны в буфере обмена.
|
||||
waves.copied = Волны скопированы.
|
||||
waves.none = Враги не были определены.\nОбратите внимание, что пустые волны будут автоматически заменены обычной волной.
|
||||
waves.units.hide = Скрыть все
|
||||
waves.units.show = Показать все
|
||||
|
||||
#these are intentionally in lower case
|
||||
wavemode.counts = количество единиц
|
||||
@@ -444,6 +445,7 @@ editor.overwrite = [accent]Внимание!\nЭто перезапишет уж
|
||||
editor.overwrite.confirm = [scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать?\n«[accent]{0}[]»
|
||||
editor.exists = Карта с таким именем уже существует.
|
||||
editor.selectmap = Выберите карту для загрузки:
|
||||
editor.cliffs = Стены на скалы
|
||||
|
||||
toolmode.replace = Заменить
|
||||
toolmode.replace.description = Рисует только\nна сплошных блоках.
|
||||
@@ -649,6 +651,7 @@ status.overclock.name = Разгон
|
||||
status.shocked.name = Шок
|
||||
status.blasted.name = Разрыв
|
||||
status.unmoving.name = Обездвиживание
|
||||
status.boss.name = Страж
|
||||
|
||||
settings.language = Язык
|
||||
settings.data = Игровые данные
|
||||
@@ -1137,6 +1140,7 @@ block.core-shard.name = Ядро: «Осколок»
|
||||
block.core-foundation.name = Ядро: «Штаб»
|
||||
block.core-nucleus.name = Ядро: «Атом»
|
||||
block.deep-water.name = Глубоководье
|
||||
block.deep-tainted-water.name = Загрязнённое глубоководье
|
||||
block.shallow-water.name = Вода
|
||||
block.tainted-water.name = Загрязнённая вода
|
||||
block.darksand-tainted-water.name = Тёмный песок с загрязнённой водой
|
||||
@@ -1374,6 +1378,7 @@ hint.coreUpgrade = Ядра могут быть улучшены путем [acc
|
||||
hint.presetLaunch = В серые [accent]секторы с посадочными зонами[], такие как [accent]Ледяной лес[], можно запускаться из любого места. Они не требуют захвата близлежащей территории.\n\n[accent]Нумерованные секторы[], такие как этот, [accent]не обязательны[] для прохождения.
|
||||
hint.coreIncinerate = После того, как ядро будет заполнено предметом до отказа, любые лишние входящие предметы этого типа будут [accent]сожжены[].
|
||||
hint.coopCampaign = Во время игры в [accent]кампанию по сети[], произведённые на текущей карте предметы будут также отправлены [accent]на ваши локальные секторы[].\n\nЛюбое исследование со стороны хоста также будет перенесено.
|
||||
hint.presetDifficulty = У этого сектора [scarlet]высокий уровень угрозы[].\nЗапуск на такие сектора [accent]не рекомендуется[] без достаточных технологий и подготовки.
|
||||
|
||||
item.copper.description = Используется во всех типах построек и боеприпасов.
|
||||
item.copper.details = Медь. Аномально широко распространённый металл на Серпуло. Структурно слабый, если не укреплён.
|
||||
|
||||
@@ -362,13 +362,13 @@ public class Fx{
|
||||
|
||||
Fill.circle(e.x, e.y, e.fin() * 10);
|
||||
Drawf.light(e.x, e.y, e.fin() * 20f, Pal.heal, 0.7f);
|
||||
}),
|
||||
}).followParent(true),
|
||||
|
||||
greenLaserChargeSmall = new Effect(40f, 100f, e -> {
|
||||
color(Pal.heal);
|
||||
stroke(e.fin() * 2f);
|
||||
Lines.circle(e.x, e.y, e.fout() * 50f);
|
||||
}),
|
||||
}).followParent(true),
|
||||
|
||||
greenCloud = new Effect(80f, e -> {
|
||||
color(Pal.heal);
|
||||
|
||||
@@ -446,6 +446,7 @@ public class UnitTypes implements ContentList{
|
||||
x = y = 0f;
|
||||
|
||||
firstShotDelay = Fx.greenLaserChargeSmall.lifetime - 1f;
|
||||
parentizeEffects = true;
|
||||
|
||||
reload = 155f;
|
||||
recoil = 0f;
|
||||
@@ -535,6 +536,7 @@ public class UnitTypes implements ContentList{
|
||||
shootStatusDuration = 60f * 2f;
|
||||
shootStatus = StatusEffects.unmoving;
|
||||
firstShotDelay = Fx.greenLaserCharge.lifetime;
|
||||
parentizeEffects = true;
|
||||
|
||||
bullet = new LaserBulletType(){{
|
||||
length = 460f;
|
||||
|
||||
@@ -91,6 +91,8 @@ public class Weapon implements Cloneable{
|
||||
public boolean ignoreRotation = false;
|
||||
/** min velocity required for this weapon to shoot */
|
||||
public float minShootVelocity = -1f;
|
||||
/** should the shoot effects follow the unit (effects need followParent set to true for this to work) */
|
||||
public boolean parentizeEffects;
|
||||
/** internal value used for alternation - do not change! */
|
||||
public int otherSide = -1;
|
||||
/** sound used for shooting */
|
||||
@@ -333,7 +335,7 @@ public class Weapon implements Cloneable{
|
||||
Angles.shotgun(shots, spacing, rotation, f -> mount.bullet = bullet(unit, shootX, shootY, f + Mathf.range(inaccuracy), lifeScl));
|
||||
}
|
||||
|
||||
boolean parentize = ammo.keepVelocity;
|
||||
boolean parentize = ammo.keepVelocity || parentizeEffects;
|
||||
|
||||
if(delay){
|
||||
Time.run(firstShotDelay, () -> {
|
||||
|
||||
Reference in New Issue
Block a user