Merge branch 'master' of https://github.com/Anuken/Mindustry into maps

This commit is contained in:
Epowerj 2022-07-11 18:39:06 -04:00
commit 4812ff47c0
39 changed files with 43 additions and 4 deletions

View file

@ -1108,6 +1108,7 @@ rules.waves = Waves
rules.attack = Attack Mode
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1093,6 +1093,7 @@ rules.waves = Хвалі
rules.attack = Рэжым атакі
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1103,6 +1103,7 @@ rules.waves = Вълни
rules.attack = Режим Атака
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1105,6 +1105,7 @@ rules.waves = Vlny
rules.attack = Režim útoku
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Vyčistit Budovy Poražených Týmů (PvP)
rules.corecapture = Dobýt Jádro Po Jeho Zničení

View file

@ -1093,6 +1093,7 @@ rules.waves = Bølger
rules.attack = Angrebsmode
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1104,6 +1104,7 @@ rules.waves = Wellen
rules.attack = Angriff-Modus
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Blöcke von erorberten Teams zerstören (PvP)
rules.corecapture = Kern nach Zerstörung einnehmen

View file

@ -1109,6 +1109,7 @@ rules.waves = Oleadas
rules.attack = Modo de ataque
rules.rtsai = IA enemiga avanzada (RTS AI)
rules.rtsminsquadsize = Tamaño mínimo de escuadrón
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Peso mínimo de ataque
rules.cleanupdeadteams = Eliminar estructuras de equipos derrotados (JcJ)
rules.corecapture = Capturar Núcleo al destruirlo

View file

@ -1093,6 +1093,7 @@ rules.waves = Kasuta lahingulaineid
rules.attack = Mänguviis "Rünnak"
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1093,6 +1093,7 @@ rules.waves = Boladak
rules.attack = Eraso modua
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1093,6 +1093,7 @@ rules.waves = Tasot
rules.attack = Hyökkäystila
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min. hyökkäysjoukon koko
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min. hyökkäyksen paino
rules.cleanupdeadteams = Siivoa voitettujen joukkueiden rakennukset (PvP)
rules.corecapture = Valtaa ydin sen tuhoutuessa

View file

@ -1093,6 +1093,7 @@ rules.waves = Waves
rules.attack = Attack Mode
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1114,6 +1114,7 @@ rules.waves = Vagues
rules.attack = Mode « Attaque »
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Détruire les structures des équipes vaincues (JcJ)
rules.corecapture = Capture du Noyau lors de sa Destruction

View file

@ -1102,6 +1102,7 @@ rules.waves = Hullámok
rules.attack = Támadás mód
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1109,6 +1109,7 @@ rules.waves = Gelombang
rules.attack = Mode Penyerangan
rules.rtsai = A.I. RTS
rules.rtsminsquadsize = Ukuran Squad Minimum
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Berat Serangan Minimum
rules.cleanupdeadteams = Bersihkan Bangunan Tim yang Kalah (PvP)
rules.corecapture = Tangkap Inti Saat Kehancuran

View file

@ -1100,6 +1100,7 @@ rules.waves = Ondate
rules.attack = Modalità Attacco
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1105,6 +1105,7 @@ rules.waves = ウェーブ
rules.attack = アタックモード
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = 敗北したチームの建設物を片付ける (PvP)
rules.corecapture = 破壊時にコアを奪取

View file

@ -1106,6 +1106,7 @@ rules.waves = 단계
rules.attack = 공격 모드
rules.rtsai = RTS AI
rules.rtsminsquadsize = 최소 부대 크기
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = 최소 공격 중량
rules.cleanupdeadteams = 패배한 팀 건물 정리하기 (PvP)
rules.corecapture = 코어 파괴 시 점령

View file

@ -1093,6 +1093,7 @@ rules.waves = Bangos
rules.attack = Puolimo Režimas
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1093,6 +1093,7 @@ rules.waves = Rondes
rules.attack = Aanval modus
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1093,6 +1093,7 @@ rules.waves = Waves
rules.attack = Attack Mode
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1105,6 +1105,7 @@ rules.waves = Fale
rules.attack = Tryb Ataku
rules.rtsai = RTS SI
rules.rtsminsquadsize = Minimalny Rozmiar Składu
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Minimalna Waga Ataku
rules.cleanupdeadteams = Usuń Budynki Pokonanej Drużyny (PvP)
rules.corecapture = Przejmij Zniszczony Rdzeń

View file

@ -1100,6 +1100,7 @@ rules.waves = Hordas
rules.attack = Modo de ataque
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1093,6 +1093,7 @@ rules.waves = Hordas
rules.attack = Modo de ataque
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1105,6 +1105,7 @@ rules.waves = Valuri
rules.attack = Modul Atac
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Îndepărtează Clădirile Echipelor Învinse (PvP)
rules.corecapture = Capturează Nucleele Distruse

View file

@ -1103,6 +1103,7 @@ rules.waves = Волны
rules.attack = Режим атаки
rules.rtsai = ИИ в реальном времени
rules.rtsminsquadsize = Минимальный размер отряда
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Очистка строений побежденных команд (PvP)

View file

@ -1105,6 +1105,7 @@ rules.waves = Talasi
rules.attack = Mod Napada
rules.rtsai = RTS AI
rules.rtsminsquadsize = Minimalna Veličina Odreda
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Minimalna Težina Napada
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Zauzmi Jezgro Po Uništenju

View file

@ -1093,6 +1093,7 @@ rules.waves = Vågor
rules.attack = Attack Mode
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1105,6 +1105,7 @@ rules.waves = คลื่น
rules.attack = โหมดการโจมตี
rules.rtsai = RTS AI
rules.rtsminsquadsize = ขนาดกองทัพเล็กที่สุด
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = ขนาดน้ำหนักการโจมตีน้อยที่สุด
rules.cleanupdeadteams = ลบล้างสิ่งก่อสร้างศัตรูที่พ่ายแพ้ (PvP)
rules.corecapture = ยืดแกนกลางเมื่อทำลาย

View file

@ -1093,6 +1093,7 @@ rules.waves = Waves
rules.attack = Attack Mode
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP)
rules.corecapture = Capture Core On Destruction

View file

@ -1105,6 +1105,7 @@ rules.waves = Dalgalar
rules.attack = Saldırı Modu
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Gurup Boyutu
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Saldırı Boyutu
rules.cleanupdeadteams = Kaybeden Takımın Bloklarını Temizle (PvP)
rules.corecapture = Yıkımca Çekirdeği Elegeçir

View file

@ -1109,6 +1109,7 @@ rules.waves = Хвилі
rules.attack = Режим атаки
rules.rtsai = ШІ зі стратегій реального часу
rules.rtsminsquadsize = Мінімальний розмір загону
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Мінімальна ударна вага
rules.cleanupdeadteams = Очистити будівлі переможеної команди (PvP)
rules.corecapture = Захоплення ядра після знищення

View file

@ -1105,6 +1105,7 @@ rules.waves = Đợt
rules.attack = Chế độ tấn công
rules.rtsai = RTS AI
rules.rtsminsquadsize = Min Squad Size
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = Min Attack Weight
rules.cleanupdeadteams = Xóa công trình của đội bị đánh bại (PvP)
rules.corecapture = Chiếm căn cứ khi phá hủy

View file

@ -1104,6 +1104,7 @@ rules.waves = 波次
rules.attack = 进攻模式
rules.rtsai = RTS AI对手
rules.rtsminsquadsize = 进攻队伍的最小规模
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = 进攻的最低强度
rules.cleanupdeadteams = 清除已战败队伍的建筑PvP模式
rules.corecapture = 摧毁核心时将其俘获

View file

@ -1109,6 +1109,7 @@ rules.waves = 波次
rules.attack = 攻擊模式
rules.rtsai = RTS AI
rules.rtsminsquadsize = 最小隊伍規模
rules.rtsmaxsquadsize = Max Squad Size
rules.rtsminattackweight = 最小攻擊力
rules.cleanupdeadteams = 移除戰敗玩家的建築(對戰)
rules.corecapture = 佔領摧毀的核心

View file

@ -109,6 +109,9 @@ public class RtsAI{
if(unit.isCommandable() && !unit.command().hasCommand() && used.add(unit.id)){
squad.clear();
data.tree().intersect(unit.x - squadRadius/2f, unit.y - squadRadius/2f, squadRadius, squadRadius, squad);
squad.truncate(data.team.rules().rtsMaxSquad);
//remove overlapping squads
squad.removeAll(u -> (u != unit && used.contains(u.id)) || !u.isCommandable() || u.command().hasCommand());
//mark used so other squads can't steal them

View file

@ -2,6 +2,7 @@ package mindustry.entities.abilities;
import arc.graphics.*;
import arc.util.*;
import mindustry.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.gen.*;
@ -34,7 +35,7 @@ public class MoveEffectAbility extends Ability{
@Override
public void update(Unit unit){
counter += Time.delta;
if(unit.vel.len2() >= minVelocity * minVelocity && (counter >= interval)){
if(unit.vel.len2() >= minVelocity * minVelocity && (counter >= interval) && !unit.inFogTo(Vars.player.team())){
Tmp.v1.trns(unit.rotation - 90f, x, y);
counter %= interval;
effect.at(Tmp.v1.x + unit.x, Tmp.v1.y + unit.y, (rotateEffect ? unit.rotation : effectParam) + rotation, teamColor ? unit.team.color : color, parentizeEffects ? unit : null);

View file

@ -234,6 +234,8 @@ public class Rules{
public boolean rtsAi;
/** Minimum size of attack squads. */
public int rtsMinSquad = 4;
/** Maximum size of attack squads. */
public int rtsMaxSquad = 1000;
/** Minimum "advantage" needed for a squad to attack. Higher -> more cautious. */
public float rtsMinWeight = 1.2f;

View file

@ -269,6 +269,7 @@ public class CustomRulesDialog extends BaseDialog{
check("@rules.rtsai", b -> teams.rtsAi = b, () -> teams.rtsAi, () -> team != rules.defaultTeam);
numberi("@rules.rtsminsquadsize", f -> teams.rtsMinSquad = f, () -> teams.rtsMinSquad, () -> teams.rtsAi, 0, 100);
numberi("@rules.rtsmaxsquadsize", f -> teams.rtsMaxSquad = f, () -> teams.rtsMaxSquad, () -> teams.rtsAi, 1, 1000);
number("@rules.rtsminattackweight", f -> teams.rtsMinWeight = f, () -> teams.rtsMinWeight, () -> teams.rtsAi);
check("@rules.infiniteresources", b -> teams.infiniteResources = b, () -> teams.infiniteResources);

View file

@ -10,9 +10,7 @@ import mindustry.type.*;
import mindustry.world.consumers.*;
import mindustry.world.meta.*;
/**
* A generator that just takes in certain items or liquids. Basically SingleTypeGenerator, but not unreliable garbage.
*/
/** A generator that just takes in certain items or liquids. */
public class ConsumeGenerator extends PowerGenerator{
/** The time in number of ticks during which a single item will produce power. */
public float itemDuration = 120f;