Merge branch 'master' of https://github.com/Anuken/Mindustry into 7.0-features
This commit is contained in:
@@ -287,7 +287,7 @@ save.corrupted = [accent]Datei beschädigt oder ungültig!
|
|||||||
empty = <leer>
|
empty = <leer>
|
||||||
on = An
|
on = An
|
||||||
off = Aus
|
off = Aus
|
||||||
save.search = Search saved games...
|
save.search = Spiele durchsuchen...
|
||||||
save.autosave = Automatisches Speichern: {0}
|
save.autosave = Automatisches Speichern: {0}
|
||||||
save.map = Karte: {0}
|
save.map = Karte: {0}
|
||||||
save.wave = Welle: {0}
|
save.wave = Welle: {0}
|
||||||
@@ -381,11 +381,11 @@ editor.newmap = Neue Karte
|
|||||||
editor.center = Zur Mitte
|
editor.center = Zur Mitte
|
||||||
editor.search = Karten durchsuchen...
|
editor.search = Karten durchsuchen...
|
||||||
editor.filters = Karten filtern
|
editor.filters = Karten filtern
|
||||||
editor.filters.mode = Gamemodes:
|
editor.filters.mode = Spielmodi:
|
||||||
editor.filters.type = Map Type:
|
editor.filters.type = Kartentyp:
|
||||||
editor.filters.search = Search In:
|
editor.filters.search = Suchen nach:
|
||||||
editor.filters.author = Author
|
editor.filters.author = Autor
|
||||||
editor.filters.description = Description
|
editor.filters.description = Beschreibung
|
||||||
workshop = Workshop
|
workshop = Workshop
|
||||||
waves.title = Wellen
|
waves.title = Wellen
|
||||||
waves.remove = Entfernen
|
waves.remove = Entfernen
|
||||||
@@ -419,7 +419,7 @@ wavemode.health = Lebenspunkte
|
|||||||
editor.default = [lightgray]<Standard>
|
editor.default = [lightgray]<Standard>
|
||||||
details = Details
|
details = Details
|
||||||
edit = Bearbeiten
|
edit = Bearbeiten
|
||||||
variables = Vars
|
variables = Variablen
|
||||||
editor.name = Name:
|
editor.name = Name:
|
||||||
editor.spawn = Spawnbereich
|
editor.spawn = Spawnbereich
|
||||||
editor.removeunit = Bereich entfernen
|
editor.removeunit = Bereich entfernen
|
||||||
@@ -1300,7 +1300,7 @@ block.plated-conduit.name = Gepanzerter Kanal
|
|||||||
block.phase-conduit.name = Phasenkanal
|
block.phase-conduit.name = Phasenkanal
|
||||||
block.liquid-router.name = Flüssigkeits-Verteiler
|
block.liquid-router.name = Flüssigkeits-Verteiler
|
||||||
block.liquid-tank.name = Flüssigkeitstank
|
block.liquid-tank.name = Flüssigkeitstank
|
||||||
block.liquid-container.name = Liquid Container
|
block.liquid-container.name = Flüssigkeitsbehälter
|
||||||
block.liquid-junction.name = Flüssigkeits-Kreuzung
|
block.liquid-junction.name = Flüssigkeits-Kreuzung
|
||||||
block.bridge-conduit.name = Kanalbrücke
|
block.bridge-conduit.name = Kanalbrücke
|
||||||
block.rotary-pump.name = Rotierende Pumpe
|
block.rotary-pump.name = Rotierende Pumpe
|
||||||
@@ -1347,16 +1347,16 @@ block.disassembler.name = Großer Trenner
|
|||||||
block.silicon-crucible.name = Silizium Schmelztiegel
|
block.silicon-crucible.name = Silizium Schmelztiegel
|
||||||
block.overdrive-dome.name = Beschleunigungs-Maschine
|
block.overdrive-dome.name = Beschleunigungs-Maschine
|
||||||
block.interplanetary-accelerator.name = Interplanetarischer Beschleuniger
|
block.interplanetary-accelerator.name = Interplanetarischer Beschleuniger
|
||||||
block.constructor.name = Constructor
|
block.constructor.name = Konstruktor
|
||||||
block.constructor.description = Fabricates structures up to 2x2 tiles in size.
|
block.constructor.description = Erstellt Blöcke, die höchstens 2x2 groß sind.
|
||||||
block.large-constructor.name = Large Constructor
|
block.large-constructor.name = Großer Konstruktor
|
||||||
block.large-constructor.description = Fabricates structures up to 4x4 tiles in size.
|
block.large-constructor.description = Erstellt Blöcke, die höchstens 4x4 groß sind.
|
||||||
block.deconstructor.name = Deconstructor
|
block.deconstructor.name = Dekonstruktor
|
||||||
block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost.
|
block.deconstructor.description = Zerstört Einheiten und Blöcke. Gibt 100% der Baumaterialien zurück.
|
||||||
block.payload-loader.name = Payload Loader
|
block.payload-loader.name = Frachtlader
|
||||||
block.payload-loader.description = Load liquids and items into blocks.
|
block.payload-loader.description = Lädt Blöcke und Items in Blöcke.
|
||||||
block.payload-unloader.name = Payload Unloader
|
block.payload-unloader.name = Frachtentlader
|
||||||
block.payload-unloader.description = Unloads liquids and items from blocks.
|
block.payload-unloader.description = Entlädt Blöcke und Items aus Blöcken.
|
||||||
|
|
||||||
block.switch.name = Schalter
|
block.switch.name = Schalter
|
||||||
block.micro-processor.name = Mikroprozessor
|
block.micro-processor.name = Mikroprozessor
|
||||||
@@ -1511,8 +1511,8 @@ block.impulse-pump.description = Eine Pumpe.
|
|||||||
block.conduit.description = Transportiert Flüssigkeiten. Wird mit Extraktoren, Pumpen oder anderen Kanälen benutzt.
|
block.conduit.description = Transportiert Flüssigkeiten. Wird mit Extraktoren, Pumpen oder anderen Kanälen benutzt.
|
||||||
block.pulse-conduit.description = Transportiert Flüssigkeiten. Transportiert Flüssigkeiten schneller und speichert mehr als ein Leitungsrohr.
|
block.pulse-conduit.description = Transportiert Flüssigkeiten. Transportiert Flüssigkeiten schneller und speichert mehr als ein Leitungsrohr.
|
||||||
block.plated-conduit.description = Transportiert Flüssigkeiten. Nimmt keine Flüssigkeiten von der Seite an.\nHat keine Lecks.
|
block.plated-conduit.description = Transportiert Flüssigkeiten. Nimmt keine Flüssigkeiten von der Seite an.\nHat keine Lecks.
|
||||||
block.liquid-router.description = Verteilt Flüssigkeiten auf bis zu drei Richtungen. Speicher außerdem eine kleine Menge an Flüssigkeit.
|
block.liquid-router.description = Verteilt Flüssigkeiten auf bis zu drei Richtungen. Speichert außerdem eine kleine Menge an Flüssigkeit.
|
||||||
block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router.
|
block.liquid-container.description = Speichert etwas Flüssigkeit. Hat Ausgänge an allen Seiten, ähnlich einem Flüssigkeitsverteiler.
|
||||||
block.liquid-tank.description = Speichert eine große Menge an Flüssigkeiten. Ähnlich wie ein Flüssigkeitsverteiler.
|
block.liquid-tank.description = Speichert eine große Menge an Flüssigkeiten. Ähnlich wie ein Flüssigkeitsverteiler.
|
||||||
block.liquid-junction.description = Fungiert als Brücke über zwei kreuzende Kanäle.
|
block.liquid-junction.description = Fungiert als Brücke über zwei kreuzende Kanäle.
|
||||||
block.bridge-conduit.description = Transportiert Flüssigkeiten über Terrain oder über Blöcke.
|
block.bridge-conduit.description = Transportiert Flüssigkeiten über Terrain oder über Blöcke.
|
||||||
@@ -1778,7 +1778,7 @@ lenum.itemdrop = Items abwerfen.
|
|||||||
lenum.itemtake = Items aus einem Block nehmen.
|
lenum.itemtake = Items aus einem Block nehmen.
|
||||||
lenum.paydrop = Lässt einen Block / eine Einheit wieder fallen.
|
lenum.paydrop = Lässt einen Block / eine Einheit wieder fallen.
|
||||||
lenum.paytake = Hebt einen Block / eine kleine Einheit auf.
|
lenum.paytake = Hebt einen Block / eine kleine Einheit auf.
|
||||||
lenum.payenter = Enter/land on the payload block the unit is on.
|
lenum.payenter = Betritt den Fracht-Block, auf dem sich die Einheit befindet.
|
||||||
lenum.flag = Zahl, mit der eine Einheit identifiziert werden kann.
|
lenum.flag = Zahl, mit der eine Einheit identifiziert werden kann.
|
||||||
lenum.mine = Erz von einer Position abbauen.
|
lenum.mine = Erz von einer Position abbauen.
|
||||||
lenum.build = Einen Block bauen.
|
lenum.build = Einen Block bauen.
|
||||||
|
|||||||
@@ -468,8 +468,15 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
unit.remove();
|
unit.remove();
|
||||||
|
|
||||||
//needs new ID as it is now a payload
|
//needs new ID as it is now a payload
|
||||||
|
if(net.client()){
|
||||||
unit.id = EntityGroup.nextId();
|
unit.id = EntityGroup.nextId();
|
||||||
|
}else{
|
||||||
|
//server-side, this needs to be delayed until next frame because otherwise the packets sent out right after this event would have the wrong unit ID, leading to ghosts
|
||||||
|
Core.app.post(() -> unit.id = EntityGroup.nextId());
|
||||||
|
}
|
||||||
|
|
||||||
grabber.get(new UnitPayload(unit));
|
grabber.get(new UnitPayload(unit));
|
||||||
Fx.unitDrop.at(unit);
|
Fx.unitDrop.at(unit);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ public class ParticleEffect extends Effect{
|
|||||||
public float spin = 0f;
|
public float spin = 0f;
|
||||||
/** Controls the initial and final sprite sizes. */
|
/** Controls the initial and final sprite sizes. */
|
||||||
public float sizeFrom = 2f, sizeTo = 0f;
|
public float sizeFrom = 2f, sizeTo = 0f;
|
||||||
|
/** Whether the rotation adds with the parent */
|
||||||
|
public boolean useRotation = true;
|
||||||
/** Rotation offset. */
|
/** Rotation offset. */
|
||||||
public float offset = 0;
|
public float offset = 0;
|
||||||
/** Sprite to draw. */
|
/** Sprite to draw. */
|
||||||
@@ -53,10 +55,11 @@ public class ParticleEffect extends Effect{
|
|||||||
public void render(EffectContainer e){
|
public void render(EffectContainer e){
|
||||||
if(tex == null) tex = Core.atlas.find(region);
|
if(tex == null) tex = Core.atlas.find(region);
|
||||||
|
|
||||||
|
float realRotation = (useRotation ? e.rotation : baseRotation);
|
||||||
float rawfin = e.fin();
|
float rawfin = e.fin();
|
||||||
float fin = e.fin(interp);
|
float fin = e.fin(interp);
|
||||||
float rad = sizeInterp.apply(sizeFrom, sizeTo, rawfin) * 2;
|
float rad = sizeInterp.apply(sizeFrom, sizeTo, rawfin) * 2;
|
||||||
float ox = e.x + Angles.trnsx(e.rotation, offsetX, offsetY), oy = e.y + Angles.trnsy(e.rotation, offsetX, offsetY);
|
float ox = e.x + Angles.trnsx(realRotation, offsetX, offsetY), oy = e.y + Angles.trnsy(realRotation, offsetX, offsetY);
|
||||||
|
|
||||||
Draw.color(colorFrom, colorTo, fin);
|
Draw.color(colorFrom, colorTo, fin);
|
||||||
Color lightColor = this.lightColor == null ? Draw.getColor() : this.lightColor;
|
Color lightColor = this.lightColor == null ? Draw.getColor() : this.lightColor;
|
||||||
@@ -68,7 +71,7 @@ public class ParticleEffect extends Effect{
|
|||||||
rand.setSeed(e.id);
|
rand.setSeed(e.id);
|
||||||
for(int i = 0; i < particles; i++){
|
for(int i = 0; i < particles; i++){
|
||||||
float l = length * fin + baseLength;
|
float l = length * fin + baseLength;
|
||||||
rv.trns(e.rotation + rand.range(cone), !randLength ? l : rand.random(l));
|
rv.trns(realRotation + rand.range(cone), !randLength ? l : rand.random(l));
|
||||||
float x = rv.x, y = rv.y;
|
float x = rv.x, y = rv.y;
|
||||||
|
|
||||||
Lines.lineAngle(ox + x, oy + y, Mathf.angle(x, y), len);
|
Lines.lineAngle(ox + x, oy + y, Mathf.angle(x, y), len);
|
||||||
@@ -78,10 +81,10 @@ public class ParticleEffect extends Effect{
|
|||||||
rand.setSeed(e.id);
|
rand.setSeed(e.id);
|
||||||
for(int i = 0; i < particles; i++){
|
for(int i = 0; i < particles; i++){
|
||||||
float l = length * fin + baseLength;
|
float l = length * fin + baseLength;
|
||||||
rv.trns(e.rotation + rand.range(cone), !randLength ? l : rand.random(l));
|
rv.trns(realRotation + rand.range(cone), !randLength ? l : rand.random(l));
|
||||||
float x = rv.x, y = rv.y;
|
float x = rv.x, y = rv.y;
|
||||||
|
|
||||||
Draw.rect(tex, ox + x, oy + y, rad, rad, e.rotation + offset + e.time * spin);
|
Draw.rect(tex, ox + x, oy + y, rad, rad, realRotation + offset + e.time * spin);
|
||||||
Drawf.light(ox + x, oy + y, rad * lightScl, lightColor, lightOpacity * Draw.getColor().a);
|
Drawf.light(ox + x, oy + y, rad * lightScl, lightColor, lightOpacity * Draw.getColor().a);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -231,8 +231,8 @@ public class JsonIO{
|
|||||||
UnitType unit = Vars.content.getByName(ContentType.unit, str);
|
UnitType unit = Vars.content.getByName(ContentType.unit, str);
|
||||||
return
|
return
|
||||||
item != null ? item :
|
item != null ? item :
|
||||||
block != null ? block :
|
|
||||||
liquid != null ? liquid :
|
liquid != null ? liquid :
|
||||||
|
block != null ? block :
|
||||||
unit;
|
unit;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ public class MendProjector extends Block{
|
|||||||
float f = 1f - (Time.time / 100f) % 1f;
|
float f = 1f - (Time.time / 100f) % 1f;
|
||||||
|
|
||||||
Draw.color(baseColor, phaseColor, phaseHeat);
|
Draw.color(baseColor, phaseColor, phaseHeat);
|
||||||
Draw.alpha(heat * Mathf.absin(Time.time, 10f, 1f) * 0.5f);
|
Draw.alpha(heat * Mathf.absin(Time.time, 50f / Mathf.PI2, 1f) * 0.5f);
|
||||||
Draw.rect(topRegion, x, y);
|
Draw.rect(topRegion, x, y);
|
||||||
Draw.alpha(1f);
|
Draw.alpha(1f);
|
||||||
Lines.stroke((2f * f + 0.2f) * heat);
|
Lines.stroke((2f * f + 0.2f) * heat);
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ public class OverdriveProjector extends Block{
|
|||||||
float f = 1f - (Time.time / 100f) % 1f;
|
float f = 1f - (Time.time / 100f) % 1f;
|
||||||
|
|
||||||
Draw.color(baseColor, phaseColor, phaseHeat);
|
Draw.color(baseColor, phaseColor, phaseHeat);
|
||||||
Draw.alpha(heat * Mathf.absin(Time.time, 10f, 1f) * 0.5f);
|
Draw.alpha(heat * Mathf.absin(Time.time, 50f / Mathf.PI2, 1f) * 0.5f);
|
||||||
Draw.rect(topRegion, x, y);
|
Draw.rect(topRegion, x, y);
|
||||||
Draw.alpha(1f);
|
Draw.alpha(1f);
|
||||||
Lines.stroke((2f * f + 0.1f) * heat);
|
Lines.stroke((2f * f + 0.1f) * heat);
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Chaotic Neutral",
|
"name": "Chaotic Neutral",
|
||||||
"address": ["Chaotic-Neutral.ddns.net:1111", "Chaotic-Neutral.ddns.net:2222", "Chaotic-Neutral.ddns.net:7777"]
|
"address": ["c-n.ddns.net:1111", "c-n.ddns.net:2222", "c-n.ddns.net:3333", "c-n.ddns.net:4444"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Ranked",
|
"name": "Ranked",
|
||||||
@@ -59,10 +59,6 @@
|
|||||||
"name": "Obvilion Network",
|
"name": "Obvilion Network",
|
||||||
"address": ["obvilion.ru", "obvilion.ru:7001", "obvilion.ru:7002", "obvilion.ru:7003"]
|
"address": ["obvilion.ru", "obvilion.ru:7001", "obvilion.ru:7002", "obvilion.ru:7003"]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Mindustry PLAY",
|
|
||||||
"address": ["92.63.100.160"]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Nydus",
|
"name": "Nydus",
|
||||||
"address": ["v6.mindustry.nydus.app:6566"]
|
"address": ["v6.mindustry.nydus.app:6566"]
|
||||||
@@ -101,7 +97,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Mindustry Español",
|
"name": "Mindustry Español",
|
||||||
"address": ["panel.mindustry.me:2011", "mindustry.me:2034", "mindustry.me:2035"]
|
"address": ["panel.mindustry.me:2011", "yeeth.mindustry.me:6573", "panel.mindustry.me:2000", "panel.mindustry.me:2026"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CreateDustry",
|
"name": "CreateDustry",
|
||||||
|
|||||||
Reference in New Issue
Block a user