Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2021-12-21 10:25:54 -05:00
14 changed files with 63 additions and 28 deletions

View File

@@ -1468,9 +1468,9 @@ block.incinerator.description = Vaporizes any item or liquid it receives.
block.power-void.description = Voids all power inputted. Sandbox only. block.power-void.description = Voids all power inputted. Sandbox only.
block.power-source.description = Infinitely outputs power. Sandbox only. block.power-source.description = Infinitely outputs power. Sandbox only.
block.item-source.description = Infinitely outputs items. Sandbox only. block.item-source.description = Infinitely outputs items. Sandbox only.
block.item-void.description = Destroys any items. Sandbox only. block.item-void.description = Destroys inputted items. Sandbox only.
block.liquid-source.description = Infinitely outputs liquids. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
block.liquid-void.description = Removes any liquids. Sandbox only. block.liquid-void.description = Destroys inputted liquids. Sandbox only.
block.payload-source.description = Infinitely outputs payloads. Sandbox only. block.payload-source.description = Infinitely outputs payloads. Sandbox only.
block.payload-void.description = Destroys any payloads. Sandbox only. block.payload-void.description = Destroys any payloads. Sandbox only.
block.copper-wall.description = Protects structures from enemy projectiles. block.copper-wall.description = Protects structures from enemy projectiles.

View File

@@ -860,7 +860,7 @@ category.items = Materialien
category.crafting = Erzeugung category.crafting = Erzeugung
category.function = Funktion category.function = Funktion
category.optional = Optionale Zusätze category.optional = Optionale Zusätze
setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.skipcoreanimation.name = Kern Start- und Lande-Animation überspringen
setting.landscape.name = Landschaft sperren setting.landscape.name = Landschaft sperren
setting.shadows.name = Schatten setting.shadows.name = Schatten
setting.blockreplace.name = Automatische Blockvorschläge setting.blockreplace.name = Automatische Blockvorschläge

View File

@@ -96,7 +96,7 @@ database.button = Database
savegame = Gravar Jogo savegame = Gravar Jogo
loadgame = Carregar Jogo loadgame = Carregar Jogo
joingame = Entrar no Jogo joingame = Entrar no Jogo
customgame = Jogo Customi-/nzado customgame = Jogo Customizado
newgame = Novo Jogo newgame = Novo Jogo
none = <nenhum> none = <nenhum>
none.found = [lightgray]<none found> none.found = [lightgray]<none found>
@@ -519,7 +519,7 @@ width = Largura:
height = Altura: height = Altura:
menu = Menu menu = Menu
play = Jogar play = Jogar
campaign = Campa-/nnha campaign = Campannha
load = Carregar load = Carregar
save = Gravar save = Gravar
fps = FPS: {0} fps = FPS: {0}
@@ -528,7 +528,7 @@ tps = TPS: {0}
memory = Mem: {0}mb memory = Mem: {0}mb
memory2 = Mem:\n {0}mb +\n {1}mb memory2 = Mem:\n {0}mb +\n {1}mb
language.restart = Por favor, reinicie seu jogo para a tradução tomar efeito. language.restart = Por favor, reinicie seu jogo para a tradução tomar efeito.
settings = Configu-/nrações settings = Configurações
tutorial = Tutorial tutorial = Tutorial
tutorial.retake = Refazer Tutorial tutorial.retake = Refazer Tutorial
editor = Editor editor = Editor

View File

@@ -264,6 +264,10 @@ public class ContentLoader{
return getByID(ContentType.item, id); return getByID(ContentType.item, id);
} }
public Item item(String name){
return getByName(ContentType.item, name);
}
public Seq<Liquid> liquids(){ public Seq<Liquid> liquids(){
return getBy(ContentType.liquid); return getBy(ContentType.liquid);
} }
@@ -272,6 +276,10 @@ public class ContentLoader{
return getByID(ContentType.liquid, id); return getByID(ContentType.liquid, id);
} }
public Liquid liquid(String name){
return getByName(ContentType.liquid, name);
}
public Seq<BulletType> bullets(){ public Seq<BulletType> bullets(){
return getBy(ContentType.bullet); return getBy(ContentType.bullet);
} }
@@ -284,10 +292,18 @@ public class ContentLoader{
return getBy(ContentType.status); return getBy(ContentType.status);
} }
public StatusEffect statusEffect(String name){
return getByName(ContentType.status, name);
}
public Seq<SectorPreset> sectors(){ public Seq<SectorPreset> sectors(){
return getBy(ContentType.sector); return getBy(ContentType.sector);
} }
public SectorPreset sector(String name){
return getByName(ContentType.sector, name);
}
public Seq<UnitType> units(){ public Seq<UnitType> units(){
return getBy(ContentType.unit); return getBy(ContentType.unit);
} }
@@ -296,7 +312,15 @@ public class ContentLoader{
return getByID(ContentType.unit, id); return getByID(ContentType.unit, id);
} }
public UnitType unit(String name){
return getByName(ContentType.unit, name);
}
public Seq<Planet> planets(){ public Seq<Planet> planets(){
return getBy(ContentType.planet); return getBy(ContentType.planet);
} }
}
public Planet planet(String name){
return getByName(ContentType.planet, name);
}
}

View File

@@ -14,7 +14,7 @@ import mindustry.gen.*;
public class MoveLightningAbility extends Ability{ public class MoveLightningAbility extends Ability{
/** Lightning damage */ /** Lightning damage */
public float damage = 35f; public float damage = 35f;
/** Chance of firing every tick. Set >= 1 to always fire lightning every tick at max speed. */ /** Chance of firing every tick. Set >= 1 to always fire lightning every tick at max speed */
public float chance = 0.15f; public float chance = 0.15f;
/** Length of the lightning. <= 0 to disable */ /** Length of the lightning. <= 0 to disable */
public int length = 12; public int length = 12;
@@ -24,8 +24,10 @@ public class MoveLightningAbility extends Ability{
public Color color = Color.valueOf("a9d8ff"); public Color color = Color.valueOf("a9d8ff");
/** Shifts where the lightning spawns along the Y axis */ /** Shifts where the lightning spawns along the Y axis */
public float offset = 0f; public float offset = 0f;
/** Offset along the X axis. */ /** Offset along the X axis */
public float width = 0f; public float width = 0f;
/** Whether the spawn side alternates */
public boolean alternate = true;
/** Jittering heat sprite like the shield on v5 Javelin */ /** Jittering heat sprite like the shield on v5 Javelin */
public String heatRegion = "error"; public String heatRegion = "error";
/** Bullet type that is fired. Can be null */ /** Bullet type that is fired. Can be null */
@@ -36,6 +38,8 @@ public class MoveLightningAbility extends Ability{
public Effect shootEffect = Fx.sparkShoot; public Effect shootEffect = Fx.sparkShoot;
public boolean parentizeEffects; public boolean parentizeEffects;
public Sound shootSound = Sounds.spark; public Sound shootSound = Sounds.spark;
protected float side = 1f;
MoveLightningAbility(){} MoveLightningAbility(){}
@@ -64,10 +68,10 @@ public class MoveLightningAbility extends Ability{
public void update(Unit unit){ public void update(Unit unit){
float scl = Mathf.clamp((unit.vel().len() - minSpeed) / (maxSpeed - minSpeed)); float scl = Mathf.clamp((unit.vel().len() - minSpeed) / (maxSpeed - minSpeed));
if(Mathf.chance(Time.delta * chance * scl)){ if(Mathf.chance(Time.delta * chance * scl)){
float x = unit.x + Angles.trnsx(unit.rotation, offset, width), y = unit.y + Angles.trnsy(unit.rotation, offset, width); float x = unit.x + Angles.trnsx(unit.rotation, offset, width * side), y = unit.y + Angles.trnsy(unit.rotation, offset, width * side);
shootEffect.at(x, y, unit.rotation, color, parentizeEffects ? unit : null); shootEffect.at(x, y, unit.rotation, color, parentizeEffects ? unit : null);
shootSound.at(unit); shootSound.at(x, y);
if(length > 0){ if(length > 0){
Lightning.create(unit.team, color, damage, x + unit.vel.x, y + unit.vel.y, unit.rotation, length); Lightning.create(unit.team, color, damage, x + unit.vel.x, y + unit.vel.y, unit.rotation, length);
@@ -76,6 +80,8 @@ public class MoveLightningAbility extends Ability{
if(bullet != null){ if(bullet != null){
bullet.create(unit, unit.team, x, y, unit.rotation + bulletAngle + Mathf.range(bulletSpread)); bullet.create(unit, unit.team, x, y, unit.rotation + bulletAngle + Mathf.range(bulletSpread));
} }
if(alternate) side *= -1f;
} }
} }

View File

@@ -302,11 +302,13 @@ public class Administration{
public boolean adminPlayer(String id, String usid){ public boolean adminPlayer(String id, String usid){
PlayerInfo info = getCreateInfo(id); PlayerInfo info = getCreateInfo(id);
var wasAdmin = info.admin;
info.adminUsid = usid; info.adminUsid = usid;
info.admin = true; info.admin = true;
save(); save();
return true; return wasAdmin;
} }
/** /**

View File

@@ -13,7 +13,7 @@ public class Liquid extends UnlockableContent{
public @Nullable Color barColor; public @Nullable Color barColor;
/** Color used to draw lights. Note that the alpha channel is used to dictate brightness. */ /** Color used to draw lights. Note that the alpha channel is used to dictate brightness. */
public Color lightColor = Color.clear.cpy(); public Color lightColor = Color.clear.cpy();
/** 0-1, 0 is completely inflammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable. */ /** 0-1, 0 is completely not flammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable. */
public float flammability; public float flammability;
/** temperature: 0.5 is 'room' temperature, 0 is very cold, 1 is molten hot */ /** temperature: 0.5 is 'room' temperature, 0 is very cold, 1 is molten hot */
public float temperature = 0.5f; public float temperature = 0.5f;

View File

@@ -41,7 +41,8 @@ public class LanguageDialog extends BaseDialog{
"be", "Беларуская", "be", "Беларуская",
"bg", "Български", "bg", "Български",
"ru", "Русский", "ru", "Русский",
"uk_UA", "Українська (Україна)", "sr", "Српски",
"uk_UA", "Українська",
"th", "ไทย", "th", "ไทย",
"zh_CN", "简体中文", "zh_CN", "简体中文",
"zh_TW", "正體中文", "zh_TW", "正體中文",

View File

@@ -169,7 +169,7 @@ public class Drill extends Block{
return new TextureRegion[]{region, rotatorRegion, topRegion}; return new TextureRegion[]{region, rotatorRegion, topRegion};
} }
void countOre(Tile tile){ protected void countOre(Tile tile){
returnItem = null; returnItem = null;
returnCount = 0; returnCount = 0;

View File

@@ -19,8 +19,8 @@ public enum StatUnit{
degrees, degrees,
seconds, seconds,
minutes, minutes,
perSecond, perSecond(false),
perMinute, perMinute(false),
perShot(false), perShot(false),
timesSpeed(false), timesSpeed(false),
percent(false), percent(false),

View File

@@ -330,7 +330,7 @@ public class StatValues{
} }
if(type.status != StatusEffects.none){ if(type.status != StatusEffects.none){
sep(bt, (type.minfo.mod == null ? type.status.emoji() : "") + "[stat]" + type.status.localizedName); sep(bt, (type.status.minfo.mod == null ? type.status.emoji() : "") + "[stat]" + type.status.localizedName);
} }
if(type.fragBullet != null){ if(type.fragBullet != null){

View File

@@ -576,7 +576,9 @@ public class ServerControl implements ApplicationListener{
if(arg.length == 1){ if(arg.length == 1){
info("'@' is currently @.", c.name(), c.get()); info("'@' is currently @.", c.name(), c.get());
}else{ }else{
if(c.isBool()){ if (arg[1].equals("default")){
c.set(c.defaultValue);
}else if(c.isBool()){
c.set(arg[1].equals("on") || arg[1].equals("true")); c.set(arg[1].equals("on") || arg[1].equals("true"));
}else if(c.isNum()){ }else if(c.isNum()){
try{ try{

View File

@@ -53,7 +53,7 @@
}, },
{ {
"name": "Omega", "name": "Omega",
"address": ["yeeth.mindustry.me:2004","185.86.230.61:25570"] "address": ["yeeth.mindustry.me:6568"]
}, },
{ {
"name": "Obvilion Network", "name": "Obvilion Network",
@@ -97,11 +97,11 @@
}, },
{ {
"name": "Mindustry Español", "name": "Mindustry Español",
"address": ["panel.mindustry.me:2011", "yeeth.mindustry.me:6573", "panel.mindustry.me:2000", "panel.mindustry.me:2026"] "address": ["yeeth.mindustry.me:6578", "yeeth.mindustry.me:6573", "yeeth.mindustry.me:6577", "yeeth.mindustry.me:6576"]
}, },
{ {
"name": "CreateDustry", "name": "CreateDustry",
"address": ["144.76.120.74:18645"] "address": ["129.151.66.139:26032"]
}, },
{ {
"name": "NukeDustry", "name": "NukeDustry",

View File

@@ -3,10 +3,6 @@
"name": "mindustry.pl", "name": "mindustry.pl",
"address": ["0.baseduser.eu.org:6000", "0.baseduser.eu.org:6666", "0.baseduser.eu.org:6966"] "address": ["0.baseduser.eu.org:6000", "0.baseduser.eu.org:6666", "0.baseduser.eu.org:6966"]
}, },
{
"name": "SkaarjDustry",
"address": ["skaarjproject.duckdns.org"]
},
{ {
"name": "C.A.M.S.", "name": "C.A.M.S.",
"address": ["baseduser.eu.org:6569", "v7.thedimas.pp.ua", "yeeth.mindustry.me:7000", "yeeth.mindustry.me:4000", "yeeth.mindustry.me:2000", "yeeth.mindustry.me:3000"] "address": ["baseduser.eu.org:6569", "v7.thedimas.pp.ua", "yeeth.mindustry.me:7000", "yeeth.mindustry.me:4000", "yeeth.mindustry.me:2000", "yeeth.mindustry.me:3000"]
@@ -17,7 +13,7 @@
}, },
{ {
"name": "Omega", "name": "Omega",
"address": ["yeeth.mindustry.me", "yeeth.mindustry.me:2006", "yeeth.mindustry.me:2003","yeeth.mindustry.me:2002", "yeeth.mindustry.me:2001", "yeeth.mindustry.me:2007", "yeeth.mindustry.me:2005"] "address": ["yeeth.mindustry.me:5002", "yeeth.mindustry.me:5003", "yeeth.mindustry.me:5004","yeeth.mindustry.me:5005", "yeeth.mindustry.me:5006", "yeeth.mindustry.me:5007", "yeeth.mindustry.me", "yeeth.mindustry.me:4006"]
}, },
{ {
"name": "MeowLand", "name": "MeowLand",
@@ -74,5 +70,9 @@
{ {
"name": "LostDustry", "name": "LostDustry",
"address": ["lostdustry.northeurope.cloudapp.azure.com:6568", "lostdustry.northeurope.cloudapp.azure.com:6569", "lostdustry.northeurope.cloudapp.azure.com:6570"] "address": ["lostdustry.northeurope.cloudapp.azure.com:6568", "lostdustry.northeurope.cloudapp.azure.com:6569", "lostdustry.northeurope.cloudapp.azure.com:6570"]
} },
{
"name": "ALEX",
"address": ["dogemindustry.ddns.net:25588"]
}
] ]