Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken 2023-03-09 05:25:41 -05:00
commit ca2b51d4fe
47 changed files with 1050 additions and 963 deletions

View file

@ -993,6 +993,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

File diff suppressed because it is too large Load diff

View file

@ -979,6 +979,7 @@ bullet.splashdamage = [stat]{0}[lightgray] щети на площ ~[stat] {1}[li
bullet.incendiary = [stat]Подпалване
bullet.homing = [stat]Самонасочване
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x светкавица ~ [stat]{1}[lightgray] щети
bullet.buildingdamage = [stat]{0}%[lightgray] щети на сгради

View file

@ -101,7 +101,7 @@ database = Base de dades del nucli
database.button = Base de dades
savegame = Desa la partida
loadgame = Carrega una partida
joingame = Unir-se a una partida
joingame = Uneix-me a una partida
customgame = Partida personalitzada
newgame = Partida nova
none = <cap>
@ -149,15 +149,15 @@ mod.incompatiblemod = [red]Incompatible
mod.blacklisted = [red]Unsupported
mod.unmetdependencies = [red]Depèndencies sense resoldre
mod.erroredcontent = [scarlet]Errors del contingut
mod.circulardependencies = [red]Circular Dependencies
mod.incompletedependencies = [red]Incomplete Dependencies
mod.circulardependencies = [red]Dependències circulars
mod.incompletedependencies = [red]Dependències incompletes
mod.requiresversion.details = Requereix la versió: [accent]{0}[]\nCal actualitzar la vostra versió del joc. El mod necessita una versió nova (potser una distribució alfa o beta) per a funcionar.
mod.outdatedv7.details = Aquest mod és incompatible amb lúltima versió del joc. Lautor lha dactualitzar i afegir [accent]minGameVersion: 136[] al seu fitxer [accent]mod.json[].
mod.blacklisted.details = Aquest mod sha afegit manualment a la llista negra perquè causa problemes amb aquesta versió del joc. No el feu servir.
mod.missingdependencies.details = A aquest mod li falten dependències: {0}
mod.erroredcontent.details = Aquesta partida ha causat errors mentre es carregava. Pregunteu a lautor del mod si pot arreglar-ho.
mod.circulardependencies.details = This mod has dependencies that depends on each other.
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
mod.circulardependencies.details = Aquest mod depèn dun segon mod que, al seu torn, depèn del mod anterior. No es permeten dependències circulars.
mod.incompletedependencies.details = Aquest mod no es pot carregar perquè té una dependència no vàlida o que no es pot trobar: {0}.
mod.requiresversion = Cal la versió [red]{0}[] del joc.
mod.errors = Shan produït errors quan es carregava el contingut.
mod.noerrorplay = [scarlet]Sexecuten mods amb errors.[] Desactiveu els mods afectats o arregleu les errades abans de jugar.
@ -335,7 +335,7 @@ command.repair = Repara
command.rebuild = Reconstrueix
command.assist = Assisteix al jugador
command.move = Mou
command.boost = Boost
command.boost = Sobrevola
openlink = Obre lenllaç
copylink = Copia lenllaç
back = Enrere
@ -983,6 +983,7 @@ bullet.splashdamage = [stat]{0}[lightgray] de dany a làrea ~[stat] {1}[light
bullet.incendiary = [stat]incendiari
bullet.homing = [stat]munició guiada
bullet.armorpierce = [stat]perforador darmadures
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]× de bales de fragmentació:
bullet.lightning = [stat]{0}[lightgray]× llampec ~ [stat]{1}[lightgray] de dany
bullet.buildingdamage = [stat]{0}%[lightgray] de dany a les estructures
@ -1465,7 +1466,7 @@ block.distributor.name = Distrïbudor
block.sorter.name = Classificador
block.inverted-sorter.name = Classificador invers
block.message.name = Missatge
block.reinforced-message.name = Missatge reforçat
block.reinforced-message.name = Missatge destacat
block.world-message.name = Missatge mundial
block.illuminator.name = Il·luminador
block.overflow-gate.name = Porta de desbordament
@ -1877,7 +1878,7 @@ liquid.neoplasm.details = Neoplasma. Una massa incontrolable de cèl·lules sint
block.derelict = \uf77e [lightgray]En ruïnes
block.armored-conveyor.description = Mou objectes. Pels laterals només accepta entrades des daltres cintes transportadores.
block.illuminator.description = Emet llum.
block.message.description = Emmagatzema un missatge. Els aliats ho poden fer servir per a comunicar-se.
block.message.description = Emmagatzema un missatge. Els aliats el poden fer servir per a comunicar-se.
block.reinforced-message.description = Emmagatzema un missatge que serveix per a què els aliats es puguin comunicar.
block.world-message.description = Un bloc de missatge que es far servir per a fer mapes. No es pot destruir.
block.graphite-press.description = Comprimeix carbó fins obtenir-ne grafit.

View file

@ -981,6 +981,7 @@ bullet.splashdamage = [stat]{0}[lightgray] plošného poškození ~[stat] {1}[li
bullet.incendiary = [stat]zápalný
bullet.homing = [stat]samonaváděcí
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag střel:
bullet.lightning = [stat]{0}[lightgray]x jiskření ~ [stat]{1}[lightgray] poškození
bullet.buildingdamage = [stat]{0}%[lightgray] poškození budov

View file

@ -969,6 +969,7 @@ bullet.splashdamage = [stat]{0}[lightgray] områdeskade ~[stat] {1}[lightgray] f
bullet.incendiary = [stat]brændfarlig
bullet.homing = [stat]målsøgende
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -992,6 +992,7 @@ bullet.splashdamage = [stat]{0}[lightgray] Flächenschaden ~[stat] {1}[lightgray
bullet.incendiary = [stat]entzündend
bullet.homing = [stat]zielsuchend
bullet.armorpierce = [stat]panzerbrechend
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x Splittergeschosse:
bullet.lightning = [stat]{0}[lightgray]x Blitz ~ [stat]{1}[lightgray] Schaden
bullet.buildingdamage = [stat]{0}%[lightgray]Blockschaden

View file

@ -989,6 +989,7 @@ bullet.splashdamage = [stat]{0}[lightgray] daño en área ~[stat] {1}[lightgray]
bullet.incendiary = [stat]incendiaria
bullet.homing = [stat]rastreadora
bullet.armorpierce = [stat]perforación de armadura
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x proyectiles fragmentados:
bullet.lightning = [stat]{0}[lightgray]x rayos ~ [stat]{1}[lightgray] daño
bullet.buildingdamage = [stat]{0}%[lightgray] daño a estructuras

View file

@ -969,6 +969,7 @@ bullet.splashdamage = [stat]{0}[lightgray] hävituspunkti ~[stat] {1}[lightgray]
bullet.incendiary = [stat]süttiv
bullet.homing = [stat]isesihtiv
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -971,6 +971,7 @@ bullet.splashdamage = [stat]{0}[lightgray] ingurune-kaltea ~[stat] {1}[lightgray
bullet.incendiary = [stat]su-eragilea
bullet.homing = [stat]gidatua
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -968,6 +968,7 @@ bullet.splashdamage = [stat]{0}[lightgray] Aluevahinko ~[stat] {1}[lightgray] pa
bullet.incendiary = [stat]sytyttävä
bullet.homing = [stat]itseohjautuva
bullet.armorpierce = [stat]haarniskan läpäisevä
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x sirpaleammuksia:
bullet.lightning = [stat]{0}[lightgray]x salama ~ [stat]{1}[lightgray] vahinkoa
bullet.buildingdamage = [stat]{0}%[lightgray] vahinko rakennuksiin

View file

@ -968,6 +968,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -993,6 +993,7 @@ bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgra
bullet.incendiary = [stat]incendiaire
bullet.homing = [stat]autoguidé
bullet.armorpierce = [stat]perceur d'armure
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x Balle à fragmentation :
bullet.lightning = [stat]{0}[lightgray]x foudre ~ [stat]{1}[lightgray] dégâts
bullet.buildingdamage = [stat]{0}%[lightgray] des dégâts aux bâtiments

View file

@ -978,6 +978,7 @@ bullet.splashdamage = [stat]{0}[lightgray] területi sebzés ~[stat] {1}[lightgr
bullet.incendiary = [stat]gyújtó
bullet.homing = [stat]nyomkövető
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] épület sebzés

View file

@ -989,6 +989,7 @@ bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgra
bullet.incendiary = [stat]membakar
bullet.homing = [stat]mengejar
bullet.armorpierce = [stat]menembus baju besi
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x pecahan:
bullet.lightning = [stat]{0}[lightgray]x petir ~ [stat]{1}[lightgray] kerusakan
bullet.buildingdamage = [stat]{0}%[lightgray] kerusakan bangunan

View file

@ -975,6 +975,7 @@ bullet.splashdamage = [stat]{0}[lightgray] danno ad area ~[stat] {1}[lightgray]
bullet.incendiary = [stat]incendiario
bullet.homing = [stat]autoguidato
bullet.armorpierce = [stat]perforazione alle armature
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frammentazione:
bullet.lightning = [stat]{0}[lightgray]x fulmine ~ [stat]{1}[lightgray] danno
bullet.buildingdamage = [stat]{0}%[lightgray] danno alle costruzioni

View file

@ -981,6 +981,7 @@ bullet.splashdamage = [stat]{0}[lightgray] 範囲ダメージ 約[stat] {1}[ligh
bullet.incendiary = [stat]焼夷弾
bullet.homing = [stat]追尾弾
bullet.armorpierce = [stat]アーマー貫通
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x ライトニング ~ [stat]{1}[lightgray] ダメージ
bullet.buildingdamage = [stat]{0}%[lightgray] 対物ダメージ

View file

@ -981,6 +981,7 @@ bullet.splashdamage = [stat]{0}[lightgray] 범위 피해량 ~ [stat]{1}[lightgra
bullet.incendiary = [stat]방화[]
bullet.homing = [stat]유도[]
bullet.armorpierce = [stat]방어 관통
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]개 파편 탄환:[][]
bullet.lightning = [stat]{0}[lightgray]x 전격 ~ [stat]{1}[lightgray] 피해량[][][][]
bullet.buildingdamage = [stat]{0}%[lightgray] 건물 피해량[][]

View file

@ -969,6 +969,7 @@ bullet.splashdamage = [stat]{0}[lightgray] zonos žalos ~[stat] {1}[lightgray] b
bullet.incendiary = [stat]uždegantis
bullet.homing = [stat]sekimas
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -981,6 +981,7 @@ bullet.splashdamage = [stat]{0}[lightgray] gebied scade ~[stat] {1}[lightgray] t
bullet.incendiary = [stat]brandstichtend
bullet.homing = [stat]doelzoekend
bullet.armorpierce = [stat]pantserdoorborend
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x fragment kogels:
bullet.lightning = [stat]{0}[lightgray]x bliksem ~ [stat]{1}[lightgray] schade
bullet.buildingdamage = [stat]{0}%[lightgray] gebouwschade

View file

@ -969,6 +969,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -979,6 +979,7 @@ bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[ligh
bullet.incendiary = [stat]zapalający
bullet.homing = [stat]naprowadzający
bullet.armorpierce = [stat]przebijający pancerz
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x pociski odłamkowe:
bullet.lightning = [stat]{0}[lightgray]x błyskawice ~ [stat]{1}[lightgray] Obrażenia
bullet.buildingdamage = [stat]{0}%[lightgray] obrażeń budynkom

View file

@ -990,6 +990,7 @@ bullet.splashdamage = [stat]{0}[lightgray] de dano em área ~[stat] {1}[lightgra
bullet.incendiary = [stat]Incendiário
bullet.homing = [stat]Guiado
bullet.armorpierce = [stat]pentração de armadura
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x balas de fragmentação:
bullet.lightning = [stat]{0}[lightgray]x raio ~ [stat]{1}[lightgray] dano
bullet.buildingdamage = [stat]{0}%[lightgray] dano em construção

View file

@ -969,6 +969,7 @@ bullet.splashdamage = [stat]{0}[lightgray] Dano em área ~[stat] {1}[lightgray]
bullet.incendiary = [stat]Incendiário
bullet.homing = [stat]Guiado
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -981,6 +981,7 @@ bullet.splashdamage = [stat]{0}[lightgray] forță pe raza ~[stat] {1}[lightgray
bullet.incendiary = [stat]incendiar
bullet.homing = [stat]cu radar
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x fragmente:
bullet.lightning = [stat]{0}[lightgray]x fulgere ~ [stat]{1}[lightgray] forță
bullet.buildingdamage = [stat]{0}%[lightgray] forță/clădire

View file

@ -335,7 +335,7 @@ command.repair = Ремонтировать
command.rebuild = Восстанавливать
command.assist = Помогать игроку
command.move = Двигаться
command.boost = Подняться
command.boost = Лететь
openlink = Открыть ссылку
copylink = Скопировать ссылку
back = Назад
@ -982,6 +982,7 @@ bullet.splashdamage = [stat]{0}[lightgray] урона в радиусе ~[stat]
bullet.incendiary = [stat]зажигательный
bullet.homing = [stat]самонаводящийся
bullet.armorpierce = [stat]бронебойный
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x осколочный(ых) снаряд(ов):
bullet.lightning = [stat]{0}[lightgray]x молнии ~ [stat]{1}[lightgray] урона
bullet.buildingdamage = [stat]{0}%[lightgray] урона по постройкам
@ -1183,14 +1184,14 @@ mode.editor.name = Редактор
mode.pvp.name = PvP
mode.pvp.description = Сражайтесь против других игроков.\n[gray]Для игры требуется как минимум 2 ядра разного цвета на карте.
mode.attack.name = Атака
mode.attack.description = Уничтожьте вражескую базу.\n[gray]Для игры требуется красное ядро на карте.
mode.attack.description = Уничтожьте вражескую базу.\n[gray]Для игры требуется вражеское ядро на карте.
mode.custom = Пользовательские правила
rules.infiniteresources = Бесконечные ресурсы
rules.onlydepositcore = Разрешен перенос только в ядро
rules.reactorexplosions = Взрывы реакторов
rules.coreincinerates = Ядро сжигает избыток ресурсов
rules.disableworldprocessors = Отключить мировые процессоры
rules.schematic = Схемы разрешены
rules.schematic = Разрешить схемы
rules.wavetimer = Интервал волн
rules.wavesending = Отправка волн
rules.waves = Волны
@ -1203,7 +1204,7 @@ rules.rtsminattackweight = Минимальный вес для атаки
rules.cleanupdeadteams = Очистка строений побежденных команд (PvP)
rules.corecapture = Захват ядра после уничтожения
rules.polygoncoreprotection = Полигональная защита ядер
rules.placerangecheck = Проверка диапазона размещения
rules.placerangecheck = Запретить размещение турелей возле вражеских построек
rules.enemyCheat = Бесконечные ресурсы ИИ
rules.blockhealthmultiplier = Множитель прочности блоков
rules.blockdamagemultiplier = Множитель урона блоков
@ -1218,7 +1219,7 @@ rules.unitcap = Начальный лимит единиц
rules.limitarea = Ограничить область карты
rules.enemycorebuildradius = Радиус защиты враж. ядер:[lightgray] (блок.)
rules.wavespacing = Интервал волн:[lightgray] (сек)
rules.initialwavespacing = Начальное расстояние между волнами:[lightgray] (сек)
rules.initialwavespacing = Время до первой волны:[lightgray] (сек)
rules.buildcostmultiplier = Множитель затрат на строительство
rules.buildspeedmultiplier = Множитель скорости строительства
rules.deconstructrefundmultiplier = Множитель возврата ресурсов при разборке
@ -2180,7 +2181,7 @@ lst.getlink = Получает соединение процессора по и
lst.control = Контролирует блок.
lst.radar = Обнаруживает единицы вокруг постройки с заданным радиусом.
lst.sensor = Получает данные из постройки или единицы.
lst.set = Устанавливает переменную.
lst.set = Задаёт значение переменной.
lst.operation = Совершает операцию над 1-2 переменными.
lst.end = Переходит к началу стека операций.
lst.wait = Ждёт определённое количество секунд.
@ -2201,7 +2202,7 @@ lst.setrate = Устанавливает скорость выполнения
lst.fetch = Ищет единицы, ядра, игроков или зданий по индексу.\nИндексы начинаются с 0 и заканчиваются возвращаемым числом.
lst.packcolor = Упаковывает компоненты RGBA [0, 1] в один номер для рисования или установки правил.
lst.setrule = Устанавливает игровое правило.
lst.flushmessage = Отображает сообщение на экране из текстового буфера.\nБудет ожидать окончание предыдущего сообщения.
lst.flushmessage = Отображает сообщение из текстового буфера на экране игрока.\nБудет ожидать окончание предыдущего сообщения.
lst.cutscene = Управляет камерой игрока.
lst.setflag = Устанавливает глобальный флаг, который может быть прочитан всеми процессорами.
lst.getflag = Проверяет, установлен ли глобальный флаг.

View file

@ -983,6 +983,7 @@ bullet.splashdamage = [stat]{0}[lightgray] oblasna šteta ~[stat] {1}[lightgray]
bullet.incendiary = [stat]zapaljiv
bullet.homing = [stat]samonavođenje
bullet.armorpierce = [stat]proboj oklopa
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x šrapnela:
bullet.lightning = [stat]{0}[lightgray]x munja ~ [stat]{1}[lightgray] štete
bullet.buildingdamage = [stat]{0}%[lightgray] šteta za strukture

View file

@ -969,6 +969,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -982,6 +982,7 @@ bullet.splashdamage = [stat]{0}[lightgray] ดาเมจกระจาย ~[s
bullet.incendiary = [stat]ติดไฟ
bullet.homing = [stat]ติดตามตัว
bullet.armorpierce = [stat]เจาะเกราะ
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x กระจาย กระสุน:
bullet.lightning = [stat]{0}[lightgray]x สายฟ้า ~ [stat]{1}[lightgray] ดาเมจ
bullet.buildingdamage = [lightgray]ดาเมจต่อสิ่งก่อสร้าง [stat]{0}%[lightgray]

View file

@ -969,6 +969,7 @@ bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
bullet.incendiary = [stat]incendiary
bullet.homing = [stat]homing
bullet.armorpierce = [stat]armor piercing
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x frag bullets:
bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage
bullet.buildingdamage = [stat]{0}%[lightgray] building damage

View file

@ -980,6 +980,7 @@ bullet.splashdamage = [stat]{0} [lightgray]alan hasarı ~[stat] {1} [lightgray]k
bullet.incendiary = [stat]yakıcı
bullet.homing = [stat]güdümlü
bullet.armorpierce = [stat]zırh delici
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x parçalı mermiler:
bullet.lightning = [stat]{0}[lightgray]x elektrik ~ [stat]{1}[lightgray] hasarı
bullet.buildingdamage = [stat]{0}%[lightgray] inşaa hasarı

View file

@ -990,6 +990,7 @@ bullet.splashdamage = [stat]{0}[lightgray] шкода по ділянці ~[stat
bullet.incendiary = [stat]запальний
bullet.homing = [stat]самонаведення
bullet.armorpierce = [stat]бронебійність
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x шкода по ділянці від снарядів:
bullet.lightning = [stat]{0}[lightgray]x блискавки ~ [stat]{1}[lightgray] шкоди
bullet.buildingdamage = [stat]{0}%[lightgray] шкода по будівлям

File diff suppressed because it is too large Load diff

View file

@ -992,6 +992,7 @@ bullet.splashdamage = [stat]{0}[lightgray]范围伤害~[stat] {1}[lightgray]格
bullet.incendiary = [stat]燃烧
bullet.homing = [stat]追踪
bullet.armorpierce = [stat]穿甲
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x分裂子弹
bullet.lightning = [stat]{0}[lightgray]x闪电~[stat]{1}[lightgray]伤害
bullet.buildingdamage = [stat]{0}%[lightgray]对建筑伤害

View file

@ -988,6 +988,7 @@ bullet.splashdamage = [stat]{0}[lightgray]範圍傷害 ~[stat] {1}[lightgray]格
bullet.incendiary = [stat]燃燒
bullet.homing = [stat]追蹤
bullet.armorpierce = [stat]穿甲
bullet.interval = [stat]{0}/sec[lightgray] interval bullets:
bullet.frags = [stat]{0}[lightgray]x 集束子彈:
bullet.lightning = [stat]{0}[lightgray]x 電弧 ~ [stat]{1}[lightgray] 傷害
bullet.buildingdamage = [stat]{0}%[lightgray] 建築傷害

View file

@ -193,7 +193,7 @@ public class Control implements ApplicationListener, Loadable{
if(!settings.getBool("skipcoreanimation") && !state.rules.pvp){
coreDelay = coreLandDuration;
//delay player respawn so animation can play.
player.deathTimer = -80f;
player.deathTimer = Player.deathDelay - coreLandDuration;
//TODO this sounds pretty bad due to conflict
if(settings.getInt("musicvol") > 0){
Musics.land.stop();

View file

@ -93,13 +93,13 @@ public class ForceFieldAbility extends Ability{
checkRadius(unit);
if(unit.shield > 0){
Draw.z(Layer.shields);
Draw.color(unit.team.color, Color.white, Mathf.clamp(alpha));
if(Vars.renderer.animateShields){
Draw.z(Layer.shields + 0.001f * alpha);
Fill.poly(unit.x, unit.y, sides, realRad, rotation);
}else{
Draw.z(Layer.shields);
Lines.stroke(1.5f);
Draw.alpha(0.09f);
Fill.poly(unit.x, unit.y, sides, radius, rotation);

View file

@ -177,6 +177,8 @@ public class BulletType extends Content implements Cloneable{
public float intervalSpread = 0f;
/** Angle offset for interval bullets. */
public float intervalAngle = 0f;
/** Use a negative value to disable interval bullet delay. */
public float intervalDelay = -1f;
/** Color used for hit/despawn effects. */
public Color hitColor = Color.white;
@ -557,7 +559,7 @@ public class BulletType extends Content implements Cloneable{
}
public void updateBulletInterval(Bullet b){
if(intervalBullet != null && b.timer.get(2, bulletInterval)){
if(intervalBullet != null && b.time >= intervalDelay && b.timer.get(2, bulletInterval)){
float ang = b.rotation();
for(int i = 0; i < intervalBullets; i++){
intervalBullet.create(b, b.x, b.y, ang + Mathf.range(intervalRandomSpread) + intervalAngle + ((i - (intervalBullets - 1f)/2f) * intervalSpread));

View file

@ -79,7 +79,11 @@ public class ContentParser{
put(Interp.class, (type, data) -> field(Interp.class, data));
put(Blending.class, (type, data) -> field(Blending.class, data));
put(CacheLayer.class, (type, data) -> field(CacheLayer.class, data));
put(Attribute.class, (type, data) -> Attribute.get(data.asString()));
put(Attribute.class, (type, data) -> {
String attr = data.asString();
if(Attribute.exists(attr)) return Attribute.get(attr);
return Attribute.add(attr);
});
put(BuildVisibility.class, (type, data) -> field(BuildVisibility.class, data));
put(Schematic.class, (type, data) -> {
Object result = fieldOpt(Loadouts.class, data);

View file

@ -30,6 +30,8 @@ public class ForceProjector extends Block{
public float phaseRadiusBoost = 80f;
public float phaseShieldBoost = 400f;
public float radius = 101.7f;
public int sides = 6;
public float shieldRotation = 0f;
public float shieldHealth = 700f;
public float cooldownNormal = 1.75f;
public float cooldownLiquid = 1.5f;
@ -46,7 +48,7 @@ public class ForceProjector extends Block{
protected static ForceBuild paramEntity;
protected static Effect paramEffect;
protected static final Cons<Bullet> shieldConsumer = bullet -> {
if(bullet.team != paramEntity.team && bullet.type.absorbable && Intersector.isInsideHexagon(paramEntity.x, paramEntity.y, paramEntity.realRadius() * 2f, bullet.x, bullet.y)){
if(bullet.team != paramEntity.team && bullet.type.absorbable && Intersector.isInRegularPolygon(((ForceProjector)(paramEntity.block)).sides, paramEntity.x, paramEntity.y, paramEntity.realRadius() * 2f, ((ForceProjector)(paramEntity.block)).shieldRotation, bullet.x, bullet.y)){
bullet.absorb();
paramEffect.at(bullet);
paramEntity.hit = 1f;
@ -109,10 +111,10 @@ public class ForceProjector extends Block{
Draw.color(Pal.gray);
Lines.stroke(3f);
Lines.poly(x * tilesize + offset, y * tilesize + offset, 6, radius);
Lines.poly(x * tilesize + offset, y * tilesize + offset, sides, radius, shieldRotation);
Draw.color(player.team().color);
Lines.stroke(1f);
Lines.poly(x * tilesize + offset, y * tilesize + offset, 6, radius);
Lines.poly(x * tilesize + offset, y * tilesize + offset, sides, radius, shieldRotation);
Draw.color();
}
@ -241,18 +243,18 @@ public class ForceProjector extends Block{
if(!broken){
float radius = realRadius();
Draw.z(Layer.shields);
Draw.color(team.color, Color.white, Mathf.clamp(hit));
if(renderer.animateShields){
Fill.poly(x, y, 6, radius);
Draw.z(Layer.shields + 0.001f * hit);
Fill.poly(x, y, sides, radius, shieldRotation);
}else{
Draw.z(Layer.shields);
Lines.stroke(1.5f);
Draw.alpha(0.09f + Mathf.clamp(0.08f * hit));
Fill.poly(x, y, 6, radius);
Fill.poly(x, y, sides, radius, shieldRotation);
Draw.alpha(1f);
Lines.poly(x, y, 6, radius);
Lines.poly(x, y, sides, radius, shieldRotation);
Draw.reset();
}
}

View file

@ -42,6 +42,9 @@ public class BeamDrill extends Block{
/** How many times faster the drill will progress when boosted by an optional consumer. */
public float optionalBoostIntensity = 2.5f;
/** Multipliers of drill speed for each item. Defaults to 1. */
public ObjectFloatMap<Item> drillMultipliers = new ObjectFloatMap<>();
public Color sparkColor = Color.valueOf("fd9e81"), glowColor = Color.white;
public float glowIntensity = 0.2f, pulseIntensity = 0.07f;
public float glowScl = 3f;
@ -161,7 +164,7 @@ public class BeamDrill extends Block{
}
if(item != null){
float width = drawPlaceText(Core.bundle.formatFloat("bar.drillspeed", 60f / drillTime * count, 2), x, y, valid);
float width = drawPlaceText(Core.bundle.formatFloat("bar.drillspeed", 60f / getDrillTime(item) * count, 2), x, y, valid);
if(!multiple){
float dx = x * tilesize + offset - width/2f - 4f, dy = y * tilesize + offset + size * tilesize / 2f + 5, s = iconSmall / 4f;
Draw.mixcol(Color.darkGray, 1f);
@ -194,6 +197,10 @@ public class BeamDrill extends Block{
return false;
}
public float getDrillTime(Item item){
return drillTime / drillMultipliers.get(item, 1f);
}
public class BeamDrillBuild extends Building{
public Tile[] facing = new Tile[size];
public Point2[] lasers = new Point2[size];
@ -227,6 +234,7 @@ public class BeamDrill extends Block{
updateFacing();
float multiplier = Mathf.lerp(1f, optionalBoostIntensity, optionalEfficiency);
float drillTime = getDrillTime(lastItem);
boostWarmup = Mathf.lerpDelta(boostWarmup, optionalEfficiency, 0.1f);
lastDrillSpeed = (facingAmount * multiplier * timeScale) / drillTime;

View file

@ -31,9 +31,6 @@ public class BurstDrill extends Drill{
public Sound drillSound = Sounds.drillImpact;
public float drillSoundVolume = 0.6f, drillSoundPitchRand = 0.1f;
/** Multipliers of drill speed for each item. Defaults to 1. */
public ObjectFloatMap<Item> drillMultipliers = new ObjectFloatMap<>();
public BurstDrill(String name){
super(name);

View file

@ -59,6 +59,9 @@ public class Drill extends Block{
/** Chance the update effect will appear. */
public float updateEffectChance = 0.02f;
/** Multipliers of drill speed for each item. Defaults to 1. */
public ObjectFloatMap<Item> drillMultipliers = new ObjectFloatMap<>();
public boolean drawRim = false;
public boolean drawSpinSprite = true;
public Color heatColor = Color.valueOf("ff5512");
@ -160,7 +163,7 @@ public class Drill extends Block{
}
public float getDrillTime(Item item){
return drillTime + hardnessDrillMultiplier * item.hardness;
return (drillTime + hardnessDrillMultiplier * item.hardness) / drillMultipliers.get(item, 1f);
}
@Override

View file

@ -395,7 +395,7 @@ public class CoreBlock extends StorageBlock{
if(renderer.getLandTime() >= 1f){
tile.getLinkedTiles(t -> {
if(Mathf.chance(0.4f)){
Fx.coreLandDust.at(t.worldx(), t.worldy(), angleTo(t) + Mathf.range(30f), Tmp.c1.set(t.floor().mapColor).mul(1.5f + Mathf.range(0.15f)));
Fx.coreLandDust.at(t.worldx(), t.worldy(), angleTo(t.worldx(), t.worldy()) + Mathf.range(30f), Tmp.c1.set(t.floor().mapColor).mul(1.5f + Mathf.range(0.15f)));
}
});

View file

@ -47,6 +47,11 @@ public class Attribute{
return map.getThrow(name, () -> new IllegalArgumentException("Unknown Attribute type: " + name));
}
/** @return Whether an attribute exists. */
public static boolean exists(String name){
return map.containsKey(name);
}
/** Automatically registers this attribute for use. Do not call after mod init. */
public static Attribute add(String name){
Attribute a = new Attribute(all.length, name);

View file

@ -339,7 +339,7 @@ public class StatValues{
}
table.table(bt -> {
bt.left().defaults().padRight(3).left();
bt.left().top().defaults().padRight(3).left();
if(type.damage > 0 && (type.collides || type.splashDamage <= 0)){
if(type.continuousDamage() > 0){
@ -407,11 +407,40 @@ public class StatValues{
sep(bt, (type.status.minfo.mod == null ? type.status.emoji() : "") + "[stat]" + type.status.localizedName + (type.status.reactive ? "" : "[lightgray] ~ [stat]" + ((int)(type.statusDuration / 60f)) + "[lightgray] " + Core.bundle.get("unit.seconds")));
}
if(type.fragBullet != null){
sep(bt, Core.bundle.format("bullet.frags", type.fragBullets));
if(type.intervalBullet != null){
bt.row();
ammo(ObjectMap.of(t, type.fragBullet), indent + 1, false).display(bt);
Table ic = new Table();
ammo(ObjectMap.of(t, type.intervalBullet), indent + 1, false).display(ic);
Collapser coll = new Collapser(ic, true);
coll.setDuration(0.1f);
bt.table(it -> {
it.left().defaults().left();
it.add(Core.bundle.format("bullet.interval", Strings.autoFixed(type.intervalBullets / type.bulletInterval * 60, 2)));
it.button(Icon.downOpen, Styles.emptyi, () -> coll.toggle(false)).update(i -> i.getStyle().imageUp = (!coll.isCollapsed() ? Icon.upOpen : Icon.downOpen)).size(8).padLeft(16f).expandX();
});
bt.row();
bt.add(coll);
}
if(type.fragBullet != null){
bt.row();
Table fc = new Table();
ammo(ObjectMap.of(t, type.fragBullet), indent + 1, false).display(fc);
Collapser coll = new Collapser(fc, true);
coll.setDuration(0.1f);
bt.table(ft -> {
ft.left().defaults().left();
ft.add(Core.bundle.format("bullet.frags", type.fragBullets));
ft.button(Icon.downOpen, Styles.emptyi, () -> coll.toggle(false)).update(i -> i.getStyle().imageUp = (!coll.isCollapsed() ? Icon.upOpen : Icon.downOpen)).size(8).padLeft(16f).expandX();
});
bt.row();
bt.add(coll);
}
}).padTop(compact ? 0 : -9).padLeft(indent * 8).left().get().background(compact ? null : Tex.underline);

View file

@ -57,7 +57,7 @@
},
{
"name": "XCore",
"address": ["130.61.52.25", "130.61.52.25:6568", "130.61.52.25:6569", "130.61.52.25:6570"]
"address": ["130.61.52.25", "130.61.52.25:6568", "130.61.52.25:6569", "130.61.52.25:6570", "130.61.52.25:6572"]
},
{
"name": "Darkdustry",