diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 2f9f520307..a2098265a6 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nIf the success result variable is [accent]@wait[],\nwill wait until the previous message finishes.\nOtherwise, outputs whether displaying the message succeeded. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 4eb49384e3..7c540f7f1d 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index c50ef5e841..95c1b5cc76 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -2488,6 +2488,7 @@ lst.explosion = Създава експлозия на избрано място lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Поставяне на правило за игра. lst.flushmessage = Извежда съобщение на екрана от текстовия буфер.\nИзчаква до приключването на предишното съобщение. lst.cutscene = Манипулира камерата на играча. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 847f06fbd4..2cc2771af6 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -2488,6 +2488,7 @@ lst.explosion = Crea una explosió en una posició. lst.setrate = Estableix la velocitat d’execució del processador en instruccions/tic. lst.fetch = Cerca unitats, nuclis, jugadors o estructures mitjançant el seu índex.\nEls índexs van des del 0 fins al total del nombre d’elements. lst.packcolor = Empaqueta els components RGBA [0, 1] en un sol nombre per a dibuixar o establir regles. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Estableix una regla de la partida. lst.flushmessage = Mostra un missatge a la pantalla a partir dels continguts de la cua de text.\nEsperarà fins que acabi el missatge anterior. lst.cutscene = Manipula la càmera del jugador. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 18fb886347..0bc5bd515f 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 673cc5359b..2d7af2122f 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 1c0aae63c0..fd56c0fb0c 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -2488,6 +2488,7 @@ lst.explosion = Erstellt an einer beliebigen Stelle eine Explosion. lst.setrate = Setzt die Ausführungsgeschwindigkeit von Prozessoren in Anweisungen/tick. lst.fetch = Finde Einheiten, Kerne, Spieler oder Blöcke nach Zahl.\nZahlen fangen bei 0 an und hören bei dem jeweiligen Count auf. lst.packcolor = Kombiniere [0, 1] RGBA Komponenten zu einer Zahl. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Setze eine Spielregel. lst.flushmessage = Zeige eine Nachricht aus dem Textspeicher auf dem Bildschirm.\nWartet, bis die vorherige Nachricht wieder verschwindet. lst.cutscene = Verschiebe die Spielerkamera. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 6446872b96..c2167d1371 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -2488,6 +2488,7 @@ lst.explosion = Crea una explosión en una localización. lst.setrate = Establece la velocidad de ejecución de los procesadores lógicos en formato instrucción/tick. lst.fetch = Busca unidades, núcleos, jugadores o estructuras por índice.\nLos índices comienzan en 0 y finalizan devolviendo el total que se ha contado. lst.packcolor = Agrupa los componentes RGBA [0, 1] en un solo número para dibujar gráficos o establecer reglas. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Establece una regla de la partida. lst.flushmessage = Muestra un mensaje en pantalla desde la lista de espera de texto.\nEsperará a que finalice el mensaje anterior. lst.cutscene = Manipula la cámara del jugador. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 4c9540e207..ccdeb2a02f 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index eb8bf185bc..a5e2d30886 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 4bd39a1e4d..f457b166ea 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -2488,6 +2488,7 @@ lst.explosion = Luo räjähdys tietyssä sijainnissa. lst.setrate = Aseta prosessorin suoritusnopeus ohjeessa/sekunti. lst.fetch = Etsi yksiköitä, ytimiä, pelaajia tai rakennuksia luettelon perusteella.\nLuettelo alkaa nollasta ja päättyy osiensa lukumäärän. lst.packcolor = Pakkaa [0, 1] RGBA -komponentteja yhteen numeroon piirtämistä tai sääntöjen asettamista varten. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Aseta pelisääntö. lst.flushmessage = Näytä näytöllä viesti tekstipuskurista.\nOdottaa, kunnes edellinen viesti loppuu. lst.cutscene = Hallitse pelaajan kameraa. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 6245bdc27a..a4242fc278 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 6ceedf5a38..cb158cfe19 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -2488,6 +2488,7 @@ lst.explosion = Crée une explosion à un emplacement. lst.setrate = Définit la vitesse d'exécution d'un processeur en instructions/tick. lst.fetch = Cherche les unités, noyaux, joueurs ou constructions par index. Commence à 0 et termine par le nombre retourné. lst.packcolor = Compresse les composants RGBA [0, 1] en un seul nombre pour les opérations de dessins ou les changements de règles. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Change une règle du jeu. lst.flushmessage = Affiche un message sur l'écran depuis la mémoire tampon de texte.\nAttendra la fin du message précédent avant l'affichage du nouveau. lst.cutscene = Manipule la caméra du joueur. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index fcb156181b..a6008a2733 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -2488,6 +2488,7 @@ lst.explosion = Robbanás létrehozása az adott helyen. lst.setrate = A processzor végrehajtási sebességének beállítása utasítás/órajelciklusban. lst.fetch = Egységek, támaszpontok, játékosok, vagy épületek lekérdezése index szerint.\nAz indexek 0-tól indulnak és a visszaadott számuknál végződnek. lst.packcolor = Egyetlen számba tömöríti a [0, 1] RGBA komponenseket a rajzoláshoz vagy szabálymeghatározáshoz. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Játékszabály beállítása. lst.flushmessage = Üzenet megjelenítése a képernyőn a szövegpufferből. Ha a sikeres válasz változója [accent]@wait[],\nakkor, megvárja, amíg az előző üzenet befejeződik.\nMáskülönben a kimenet független attól, hogy az üzenet megjelenítése sikeres volt-e. lst.cutscene = A játékos kamerájának mozgatása. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index cb1e1aadef..9eec13d42f 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -2488,6 +2488,7 @@ lst.explosion = Membuat sebuah ledakan pada lokasi yang ditentukan. lst.setrate = Menentukan kecepatan eksekusi prosesor dalam instruksi per tick. lst.fetch = Mencari unit, inti, pemain atau bangunan dari indeks.\nIndeks dimulai dari 0 dan berakhir pada jumlah yang dikembalikan. lst.packcolor = Memadatkan [0, 1] komponen RGBA menjadi satu angka untuk menggambar atau rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Menentukan suatu peraturan permainan. lst.flushmessage = Tampilkan sebuah pesan di layar dari antrian teks.\nAkan menunggu hingga pesan sebelumnya selesai. lst.cutscene = Mengendalikan kamera pemain. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 512d175046..9a1ba71c60 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 1e0261ee1b..c09dc24d25 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -2488,6 +2488,7 @@ lst.explosion = ある場所で爆発を起こします。 lst.setrate = プロセッサーの実行速度を1命令/tickで設定します。 lst.fetch = ユニット、コア、プレイヤー、建物を番号で検索します。\n番号は0から始まり、返された回数で終わります。 lst.packcolor = [0, 1] RGBA 成分を1つの数値にまとめて、描画やルール設定に利用します。 +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = ゲームルールを設定します。 lst.flushmessage = テキストバッファから画面にメッセージを表示します。\n前のメッセージが終了するまで待ちます。 lst.cutscene = プレイヤーのカメラを操作します。 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 31cd72e290..66eca86845 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -2488,6 +2488,7 @@ lst.explosion = 특정 위치에 폭발을 생성합니다. lst.setrate = 프로세서 실행 속도를 틱당 연산량으로 설정합니다. lst.fetch = 유닛, 코어, 플레이어 또는 건물을 엔티티 번호로 조회합니다.\n번호는 0에서 시작하여 엔티티 번호-1에서 끝납니다. lst.packcolor = 그리기 혹은 규칙 설정을 위해 [0, 1] RGBA 단일 요소로 묶습니다. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = 게임 규칙을 설정합니다. lst.flushmessage = 텍스트 버퍼로부터 화면에 메세지를 표시합니다.\n이전 메세지가 완료될 때까지 기다립니다. lst.cutscene = 플레이어 카메라를 조작합니다. diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index b679966484..a5777616ee 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 29ccf62387..388d43d9ba 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 85ea38f1e6..4ce0a9690e 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index 174702b2a6..260a82bd89 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -2488,6 +2488,7 @@ lst.explosion = Stwórz eksplozję w lokalizacji. lst.setrate = Ustaw szybkość wykonywania procesora w instrukcjach/tick. lst.fetch = Wyszukaj jednostki, rdzenie, graczy lub budynki według indeksu.\nIndeksy zaczynają się od 0 i kończą na ich zwróconej liczbie. lst.packcolor = Spakuj [0, 1] komponenty RGBA w jedną liczbę do rysowania lub ustawiania reguł. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Ustaw zasady gry. lst.flushmessage = Wyświetl wiadomość na ekranie z bufora tekstowego.\nPoczeka najpierw na zakończenie wyświetlania poprzedniej wiadomości. lst.cutscene = Manipuluj kamerą gracza. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index df5e1e007f..f407bafac1 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -2488,6 +2488,7 @@ lst.explosion = Crie uma explosão em um local. lst.setrate = Defina a velocidade de execução do processador em instruções/tick. lst.fetch = Pesquise unidades, núcleos, jogadores ou edifícios por índice.\nOs índices começam em 0 e terminam na contagem retornada. lst.packcolor = Empacote [0, 1] componentes RGBA em um único número para desenho ou configuração de regra. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Defina uma regra do jogo. lst.flushmessage = Exibe uma mensagem na tela do buffer de texto.\nAguardará até que a mensagem anterior termine. lst.cutscene = Manipule a câmera do jogador. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index c0ff8b00cd..ae76623896 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -2488,6 +2488,7 @@ lst.explosion = Crie uma explosão em um local. lst.setrate = Defina a velocidade de execução do processador em instruções/tick. lst.fetch = Pesquise unidades, núcleos, jogadores ou edifícios por índice.\nOs índices começam em 0 e terminam na contagem retornada. lst.packcolor = Empacote [0, 1] componentes RGBA em um único número para desenho ou configuração de regra. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Defina uma regra do jogo. lst.flushmessage = Exibe uma mensagem na tela do buffer de texto.\nAguardará até que a mensagem anterior termine. lst.cutscene = Manipule a câmera do jogador. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 32d6c54eea..621169d964 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 334f91c675..bf71eebfa9 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -2488,6 +2488,7 @@ lst.explosion = Создает взрыв на локации. lst.setrate = Устанавливает скорость выполнения процессора в инструкциях/тиках. lst.fetch = Ищет единицы, ядра, игроков или зданий по индексу.\nИндексы начинаются с 0 и заканчиваются возвращаемым числом. lst.packcolor = Упаковывает компоненты RGBA [0, 1] в один номер для рисования или установки правил. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Устанавливает игровое правило. lst.flushmessage = Отображает сообщение из текстового буфера на экране игрока.\nБудет ожидать окончание предыдущего сообщения. lst.cutscene = Управляет камерой игрока. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 65b77a0e2f..46b6a00aa3 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -2488,6 +2488,7 @@ lst.explosion = Izazovi eksploziju na mestu. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Postavi pravilo igre. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 164f75d3c5..ffe6dbeaae 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 302192c2b2..f7b8ebb662 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -2488,6 +2488,7 @@ lst.explosion = สร้างระเบิดที่ตำแหน่ง lst.setrate = ตั้งค่าความเร็วการสั่งเป็นคำสั่งใน คำสั่ง/ติก lst.fetch = ค้นหายูนิต แกนกลาง ผู้เล่น หรือสิ่งก่อสร้างตามดัชนี\nดัชนีเริ่มที่ 0 และจบที่ค่าที่จะส่งกลับ lst.packcolor = แพ็ค [0, 1] ส่วนประกอบ RGBA มาเป็นเลขบรรทัดเดียวสำหรับการวาดหรือการตั้งค่ากฎ +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = ตั้งค่ากฎของเกม lst.flushmessage = แสดงข้อความบนหน้าจอจากบัฟเฟอร์ข้อความ\nถ้าตัวแปรผลลัพธ์ออกมาเป็น [accent]@wait[]\nจะรอจนกว่าข้อความก่อนหน้าจะเสร็จสิ้น\nนอกจากนั้น จะส่งออกว่าการแสดงผลข้อความสำเร็จหรือไม่ lst.cutscene = ควบคุมมุมกล้องของผู้เล่น diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 7eaba0119e..a498bf910f 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -2488,6 +2488,7 @@ lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Set a game rule. lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. lst.cutscene = Manipulate the player camera. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index be08900451..3c6b3fbce8 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -2488,6 +2488,7 @@ lst.explosion = Bir Noktada Patlama oluştur. lst.setrate = İşlemci Hızını Ayarla (işlem/tick) lst.fetch = Numara ile Merkez, Birim veya Oyuncu Ara.\nNumaralar, 0dan başlar ve birim sayısında biter. lst.packcolor = Derle [0, 1] RGBA bileşenleri, çizim veya kural belirleme için tek bir sayıya dönüştürülür. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Bir Oyun Kuralı Ata. lst.flushmessage = Ekranda bir yazı göster.\nBir önceki yazı kaybolana kadar bekler. lst.cutscene = Oyuncu Kamerasını hareket ettir. diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index d80f18ce8d..2188523398 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -2488,6 +2488,7 @@ lst.explosion = Створює вибух у певному місці. lst.setrate = Установлює швидкість виконання процесора в інструкціях за такт. lst.fetch = Пошук одиниць, ядер, гравців або будівель за індексом.\nІндекси починаються з 0 і закінчуються на поверненій кількості. lst.packcolor = Упаковує [0, 1] компоненти RGBA в єдине число для малювання або встановлення правил. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Установлює ігрове правило. lst.flushmessage = Показує повідомлення на екрані з текстового буфера.\nЧекатиме, поки не закінчиться попереднє повідомлення. lst.cutscene = Керує камерою гравця. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 26b81436f2..b6cd5e027d 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -2488,6 +2488,7 @@ lst.explosion = Tạo ra một vụ nổ tại một vị trí. lst.setrate = Đặt tốc độ thực thi khối xử lý theo chỉ lệnh/tích-tắc. lst.fetch = Tra cứu các đơn vị, lõi, người chơi hoặc công trình bằng chỉ số.\nCác chỉ số bắt đầu từ 0 và kết thúc tại số lượng đếm của chúng. lst.packcolor = Đóng gói màu thành phần RGBA [0, 1] thành một số đơn dùng cho vẽ hoặc thiết lập quy tắc. +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = Thiết đặt một quy tắc trò chơi. lst.flushmessage = Hiển thị một tin nhắn trên màn hình từ bộ đệm văn bản.\nNếu giá trị [accent]thành công[] (success) trả về là [accent]@wait[],\nsẽ đợi cho đến khi tin nhắn trước đó hoàn tất.\nNgược lại, xuất ra liệu rằng tin nhắn đã hiển thị thành công. lst.cutscene = Điều khiển máy quay của người chơi. diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 5a02fda15f..a2b1686e48 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -2488,6 +2488,7 @@ lst.explosion = 在某个位置生成爆炸。 lst.setrate = 在指令/时间刻的时间下设置处理器处理速度。 lst.fetch = 按索引查找单位、核心、玩家或建筑物\n索引从 0 开始,以其返回的计数结束。 lst.packcolor = 将 [0,1] 范围内的 RGBA 分量整合成单个数字,用于绘图或规则设置。 +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = 设置地图规则。 lst.flushmessage = 在屏幕中央投影文字缓存区的内容\n会等待上一个文字显示结束。 lst.cutscene = 控制玩家游戏视角。 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index d98986ca61..6ecba66c23 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -2488,6 +2488,7 @@ lst.explosion = 在某一位置製造爆炸 lst.setrate = 以指令/每時刻設置處理器速度 lst.fetch = 按索引查找單位、核心、玩家或建築物\n索引從 0 開始,以返回的計數結束 lst.packcolor = 將 [0, 1] 範圍內的 RGBA 分量合爲單個數字,用於繪圖或設置規則 +lst.unpackcolor = Unpack RGBA components from a color that was packed using Pack Color. lst.setrule = 設置遊戲規則 lst.flushmessage = 从文本緩存中讀取並於屏幕上顯示一條消息\n會等待上一條消息結束 lst.cutscene = 控制玩家鏡頭 diff --git a/core/src/mindustry/entities/comp/BuilderComp.java b/core/src/mindustry/entities/comp/BuilderComp.java index 866717c452..65bacbbd2c 100644 --- a/core/src/mindustry/entities/comp/BuilderComp.java +++ b/core/src/mindustry/entities/comp/BuilderComp.java @@ -147,7 +147,7 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{ if(hasAll){ Call.beginPlace(self(), current.block, team, current.x, current.y, current.rotation); - if(current.block.instantBuild){ + if(!net.client() && current.block.instantBuild){ if(plans.size > 0){ plans.removeFirst(); } @@ -188,7 +188,7 @@ abstract class BuilderComp implements Posc, Statusc, Teamc, Rotc{ //otherwise, update it. if(current.breaking){ entity.deconstruct(self(), core, bs); - }else if(entity.current != null && entity.current.unlockedNowHost()){ //only allow building unlocked blocks + }else if(entity.current != null && (state.isEditor() || (state.rules.waves && team == state.rules.waveTeam && entity.current.isVisible()) || (entity.current.unlockedNowHost() && entity.current.environmentBuildable() && entity.current.isPlaceable()))){ //only allow building unlocked blocks entity.construct(self(), core, bs, current.config); } diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index 540a171a49..950226b0c1 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -35,7 +35,7 @@ import static mindustry.logic.GlobalVars.*; @Component(base = true) abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, Itemsc, Rotc, Unitc, Weaponsc, Drawc, Syncc, Shieldc, Displayable, Ranged, Minerc, Builderc, Senseable, Settable{ private static final Vec2 tmp1 = new Vec2(), tmp2 = new Vec2(); - static final float warpDst = 30f; + static final float warpDst = 20f; @Import boolean dead, disarmed; @Import float x, y, rotation, maxHealth, drag, armor, hitSize, health, shield, ammo, dragMultiplier, armorOverride, speedMultiplier; @@ -647,6 +647,9 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I if(y > top) dy -= (y - top)/warpDst; velAddNet(dx * Time.delta, dy * Time.delta); + float margin = tilesize * 2f; + x = Mathf.clamp(x, left - margin, right - tilesize + margin); + y = Mathf.clamp(y, bot - margin, top - tilesize + margin); } //clamp position if not flying @@ -771,7 +774,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I //move down elevation -= type.fallSpeed * Time.delta; - if(isGrounded() || health <= -maxHealth){ + if(isGrounded() || health <= -maxHealth * type.wreckHealthMultiplier){ Call.unitDestroy(id); } } @@ -866,7 +869,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I //if this unit crash landed (was flying), damage stuff in a radius if(type.flying && !spawnedByCore && type.createWreck && state.rules.unitCrashDamage(team) > 0){ var shields = indexer.getEnemy(team, BlockFlag.shield); - float crashDamage = Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * 5f * state.rules.unitCrashDamage(team); + float crashDamage = Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * 2.5f * state.rules.unitCrashDamage(team); if(shields.isEmpty() || !shields.contains(b -> b instanceof ExplosionShield s && s.absorbExplosion(x, y, crashDamage))){ Damage.damage(team, x, y, Mathf.pow(hitSize, 0.94f) * 1.25f, crashDamage, true, false, true); } diff --git a/core/src/mindustry/game/MapObjectives.java b/core/src/mindustry/game/MapObjectives.java index 7e7d5af4af..36773e7c51 100644 --- a/core/src/mindustry/game/MapObjectives.java +++ b/core/src/mindustry/game/MapObjectives.java @@ -1242,6 +1242,7 @@ public class MapObjectives implements Iterable, Eachable r = str); + fields(table, g, str -> g = str); + fields(table, b, str -> b = str); + fields(table, a, str -> a = str); + + row(table); + + table.add(" = unpack "); + + fields(table, value, str -> value = str); + } + + @Override + public LInstruction build(LAssembler builder){ + return new UnpackColorI(builder.var(r), builder.var(g), builder.var(b), builder.var(a), builder.var(value)); + } + + @Override + public LCategory category(){ + return LCategory.operation; + } + } + @RegisterStatement("end") public static class EndStatement extends LStatement{ @Override @@ -1605,6 +1634,8 @@ public class LStatements{ case mapArea -> { table.add(" = "); + row(table); + fields(table, "x", p1, s -> p1 = s); fields(table, "y", p2, s -> p2 = s); row(table); @@ -1624,7 +1655,7 @@ public class LStatements{ case ban, unban -> { table.add(" block/unit "); - field(table, value, s -> value = s); + fields(table, value, s -> value = s); } default -> { table.add(" = "); diff --git a/core/src/mindustry/logic/LogicDialog.java b/core/src/mindustry/logic/LogicDialog.java index 047e54c99c..f5b09226f3 100644 --- a/core/src/mindustry/logic/LogicDialog.java +++ b/core/src/mindustry/logic/LogicDialog.java @@ -295,7 +295,8 @@ public class LogicDialog extends BaseDialog{ for(Prov prov : LogicIO.allStatements){ LStatement example = prov.get(); - if(example instanceof InvalidStatement || example.hidden() || (example.privileged() && !privileged) || (example.nonPrivileged() && privileged) || (!text.isEmpty() && !example.name().toLowerCase(Locale.ROOT).contains(text))) continue; + if(example instanceof InvalidStatement || example.hidden() || (example.privileged() && !privileged) || (example.nonPrivileged() && privileged) || + (!text.isEmpty() && !example.name().toLowerCase(Locale.ROOT).contains(text) && !example.typeName().toLowerCase(Locale.ROOT).contains(text))) continue; if(matched[0] == null){ matched[0] = prov; diff --git a/core/src/mindustry/logic/LogicOp.java b/core/src/mindustry/logic/LogicOp.java index 994dfdc1a4..3181e3b4c3 100644 --- a/core/src/mindustry/logic/LogicOp.java +++ b/core/src/mindustry/logic/LogicOp.java @@ -36,10 +36,12 @@ public enum LogicOp{ len("len", true, (x, y) -> Mathf.dst((float)x, (float)y)), noise("noise", true, (x, y) -> Simplex.raw2d(0, x, y)), abs("abs", a -> Math.abs(a)), //not a method reference because it fails to compile for some reason + sign("sign", Math::signum), log("log", Math::log), log10("log10", Math::log10), floor("floor", Math::floor), ceil("ceil", Math::ceil), + round("round", Math::round), sqrt("sqrt", Math::sqrt), rand("rand", d -> GlobalVars.rand.nextDouble() * d), diff --git a/core/src/mindustry/maps/Map.java b/core/src/mindustry/maps/Map.java index be740c3891..36877c4124 100644 --- a/core/src/mindustry/maps/Map.java +++ b/core/src/mindustry/maps/Map.java @@ -239,7 +239,7 @@ public class Map implements Comparable, Publishable{ int modes = Boolean.compare(Gamemode.pvp.valid(this), Gamemode.pvp.valid(map)); if(modes != 0) return modes; - return name().compareTo(map.name()); + return Strings.stripColors(name()).compareTo(Strings.stripColors(map.name())); } @Override diff --git a/core/src/mindustry/maps/SectorDamage.java b/core/src/mindustry/maps/SectorDamage.java index 0050ecf667..c3bea3c0a6 100644 --- a/core/src/mindustry/maps/SectorDamage.java +++ b/core/src/mindustry/maps/SectorDamage.java @@ -27,23 +27,24 @@ public class SectorDamage{ private static final boolean rubble = true; /** @return calculated capture progress of the enemy */ - public static float getDamage(SectorInfo info){ - return getDamage(info, info.wavesPassed); + public static float getDamage(Sector sector){ + return getDamage(sector, sector.info.wavesPassed); } /** @return calculated capture progress of the enemy */ - public static float getDamage(SectorInfo info, int wavesPassed){ - return getDamage(info, wavesPassed, false); + public static float getDamage(Sector sector, int wavesPassed){ + return getDamage(sector, wavesPassed, false); } /** @return maximum waves survived, up to maxRetWave. */ - public static int getWavesSurvived(SectorInfo info){ - return (int)getDamage(info, maxRetWave, true); + public static int getWavesSurvived(Sector sector){ + return (int)getDamage(sector, maxRetWave, true); } /** @return calculated capture progress of the enemy if retWave is false, otherwise return the maximum waves survived as int. * if it survives all the waves, returns maxRetWave. */ - public static float getDamage(SectorInfo info, int wavesPassed, boolean retWave){ + public static float getDamage(Sector sector, int wavesPassed, boolean retWave){ + var info = sector.info; float health = info.sumHealth; int wave = info.wave; float waveSpace = info.waveSpacing; @@ -64,18 +65,20 @@ public class SectorDamage{ for(int i = waveBegin; i <= waveEnd; i++){ float enemyDps = 0f, enemyHealth = 0f; - for(SpawnGroup group : state.rules.spawns){ - //calculate the amount of spawn points used - //if there's a spawn position override, there is only one potential place they spawn - //assume that all overridden positions are valid, should always be true in properly designed campaign maps - int spawnCount = group.spawn != -1 ? 1 : group.type.flying ? airSpawns : groundSpawns; + if(sector.save != null || sector.isBeingPlayed()){ + for(SpawnGroup group : (sector.isBeingPlayed() ? state.rules.spawns : sector.save.meta.rules.spawns)){ + //calculate the amount of spawn points used + //if there's a spawn position override, there is only one potential place they spawn + //assume that all overridden positions are valid, should always be true in properly designed campaign maps + int spawnCount = group.spawn != -1 ? 1 : group.type.flying ? airSpawns : groundSpawns; - float healthMult = 1f + Mathf.clamp(group.type.armor / 20f); - StatusEffect effect = (group.effect == null ? StatusEffects.none : group.effect); - int spawned = group.getSpawned(i) * spawnCount; - if(spawned <= 0) continue; - enemyHealth += spawned * (group.getShield(i) + group.type.health * effect.healthMultiplier * healthMult); - enemyDps += spawned * group.type.dpsEstimate * effect.damageMultiplier; + float healthMult = 1f + Mathf.clamp(group.type.armor / 20f); + StatusEffect effect = (group.effect == null ? StatusEffects.none : group.effect); + int spawned = group.getSpawned(i) * spawnCount; + if(spawned <= 0) continue; + enemyHealth += spawned * (group.getShield(i) + group.type.health * effect.healthMultiplier * healthMult); + enemyDps += spawned * group.type.dpsEstimate * effect.damageMultiplier; + } } float efficiency = health / info.sumHealth; @@ -106,7 +109,7 @@ public class SectorDamage{ if(timeDestroyEnemy > timeDestroyBase){ health = 0f; //return current wave if simulating - if(retWave) return i - waveBegin; + if(retWave) return Math.max(i - waveBegin - 1, waveBegin); break; } @@ -132,7 +135,7 @@ public class SectorDamage{ /** Applies wave damage based on sector parameters. */ public static void applyCalculatedDamage(){ //calculate base damage fraction - float damage = getDamage(state.rules.sector.info); + float damage = getDamage(state.rules.sector); //scaled damage has a power component to make it seem a little more realistic (as systems fail, enemy capturing gets easier and easier) float scaled = Mathf.pow(damage, 1.2f); @@ -187,7 +190,8 @@ public class SectorDamage{ } /** Calculates damage simulation parameters before a game is saved. */ - public static void writeParameters(SectorInfo info){ + public static void writeParameters(Sector sector){ + var info = sector.info; Building core = state.rules.defaultTeam.core(); Seq spawns = new Seq<>(); spawner.eachGroundSpawn((x, y) -> spawns.add(world.tile(x, y))); @@ -370,7 +374,7 @@ public class SectorDamage{ info.curEnemyDps = curEnemyDps*cmult; info.curEnemyHealth = curEnemyHealth*cmult; - info.wavesSurvived = getWavesSurvived(info); + info.wavesSurvived = getWavesSurvived(sector); } public static void apply(float fraction){ diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 6f2b6d784b..071c5f923b 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -93,6 +93,8 @@ public class UnitType extends UnlockableContent implements Senseable{ buildRange = Vars.buildingRange, /** multiplier for damage this (flying) unit deals when crashing on enemy things */ crashDamageMultiplier = 1f, + /** multiplier for health that this flying unit has for its wreck, based on its max health. */ + wreckHealthMultiplier = 0.25f, /** a VERY ROUGH estimate of unit DPS; initialized in init() */ dpsEstimate = -1, /** graphics clipping size; <0 to calculate automatically */ diff --git a/desktop/src/mindustry/desktop/DesktopLauncher.java b/desktop/src/mindustry/desktop/DesktopLauncher.java index 9e18ce5a54..5fd21d90f1 100644 --- a/desktop/src/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/mindustry/desktop/DesktopLauncher.java @@ -30,6 +30,8 @@ import static mindustry.Vars.*; public class DesktopLauncher extends ClientLauncher{ public final static long discordID = 610508934456934412L; + public final String[] args; + boolean useDiscord = !OS.hasProp("nodiscord"), loadError = false; Throwable steamError; @@ -72,6 +74,8 @@ public class DesktopLauncher extends ClientLauncher{ } public DesktopLauncher(String[] args){ + this.args = args; + Version.init(); boolean useSteam = Version.modifier.contains("steam"); testMobile = Seq.with(args).contains("-testMobile");