Too many things to list in a single line commit log

This commit is contained in:
Anuken
2019-03-20 22:40:47 -04:00
parent e2126a2693
commit 886b62bbad
149 changed files with 1530 additions and 1253 deletions

View File

@@ -35,9 +35,9 @@ public class Blocks implements ContentList{
public static Block
//environment
air, part, spawn, deepwater, water, tar, stone, craters, charr, sand, ice, snow,
air, part, spawn, deepwater, water, tar, stone, craters, charr, sand, darksand, ice, snow,
holostone, rocks, sporerocks, icerocks, cliffs, sporePine, pine, whiteTree, whiteTreeDead, sporeCluster,
iceSnow, sandWater, duneRocks, sandRocks, moss, sporeMoss, shale, shaleRocks, shaleBoulder, grass, salt,
iceSnow, sandWater, darksandWater, duneRocks, sandRocks, moss, sporeMoss, shale, shaleRocks, shaleBoulder, grass, salt,
metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor5, ignarock, magmarock, hotrock, snowrocks, rock, snowrock,
//ores
@@ -72,7 +72,7 @@ public class Blocks implements ContentList{
coreShard, coreFoundation, coreNucleus, vault, container, unloader, launchPad,
//turrets
duo, scatter, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown,
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown,
//units
spiritFactory, phantomFactory, wraithFactory, ghoulFactory, revenantFactory, daggerFactory, crawlerFactory, titanFactory,
@@ -172,11 +172,27 @@ public class Blocks implements ContentList{
cacheLayer = CacheLayer.water;
}};
darksandWater = new Floor("darksand-water"){{
liquidColor = Color.valueOf("596ab8");
speedMultiplier = 0.8f;
variants = 0;
status = StatusEffects.wet;
statusDuration = 50f;
liquidDrop = Liquids.water;
isLiquid = true;
cacheLayer = CacheLayer.water;
}};
sand = new Floor("sand"){{
itemDrop = Items.sand;
playerUnmineable = true;
}};
darksand = new Floor("darksand"){{
itemDrop = Items.sand;
playerUnmineable = true;
}};
holostone = new Floor("holostone"){{
edgeStyle = "blocky";
}};
@@ -1101,8 +1117,23 @@ public class Blocks implements ContentList{
health = 260*size*size;
}};
scorch = new ItemTurret("scorch"){{
requirements(Category.turret, ItemStack.with(Items.copper, 50, Items.graphite, 45));
ammo(
Items.coal, Bullets.basicFlame,
Items.pyratite, Bullets.pyraFlame
);
recoil = 0f;
reload = 4f;
range = 53f;
shootCone = 50f;
targetAir = false;
ammoUseEffect = Fx.none;
health = 400;
}};
hail = new ArtilleryTurret("hail"){{
requirements(Category.turret, ItemStack.with(Items.copper, 60, Items.graphite, 35));
requirements(Category.turret, ItemStack.with(Items.copper, 80, Items.graphite, 35));
ammo(
Items.graphite, Bullets.artilleryDense,
Items.silicon, Bullets.artilleryHoming,
@@ -1169,7 +1200,7 @@ public class Blocks implements ContentList{
arc = new PowerTurret("arc"){{
requirements(Category.turret, ItemStack.with(Items.copper, 70, Items.lead, 70));
shootType = Bullets.arc;
reload = 20f;
reload = 25f;
shootCone = 40f;
rotatespeed = 8f;
powerUsed = 1f / 2f;

View File

@@ -46,7 +46,7 @@ public class Bullets implements ContentList{
waterShot, cryoShot, slagShot, oilShot,
//environment, misc.
fireball, basicFlame, fuseShot, driverBolt, healBullet, frag, eruptorShot,
fireball, basicFlame, pyraFlame, fuseShot, driverBolt, healBullet, frag, eruptorShot,
//bombs
bombExplosive, bombIncendiary, bombOil, explode;
@@ -454,10 +454,11 @@ public class Bullets implements ContentList{
}
};
basicFlame = new BulletType(2.3f, 5){
basicFlame = new BulletType(2.5f, 5){
{
ammoMultiplier = 3f;
hitSize = 7f;
lifetime = 35f;
lifetime = 40f;
pierce = true;
drag = 0.05f;
statusDuration = 60f * 4;
@@ -472,6 +473,25 @@ public class Bullets implements ContentList{
}
};
pyraFlame = new BulletType(2.7f, 8){
{
ammoMultiplier = 4f;
hitSize = 7f;
lifetime = 40f;
pierce = true;
drag = 0.05f;
statusDuration = 60f * 6;
shootEffect = Fx.shootPyraFlame;
hitEffect = Fx.hitFlameSmall;
despawnEffect = Fx.none;
status = StatusEffects.burning;
}
@Override
public void draw(Bullet b){
}
};
lancerLaser = new BulletType(0.001f, 140){
Color[] colors = {Pal.lancerLaser.cpy().mul(1f, 1f, 1f, 0.4f), Pal.lancerLaser, Color.WHITE};
float[] tscales = {1f, 0.7f, 0.5f, 0.2f};
@@ -644,7 +664,7 @@ public class Bullets implements ContentList{
}
};
arc = new BulletType(0.001f, 20){{
arc = new BulletType(0.001f, 21){{
lifetime = 1;
despawnEffect = Fx.none;
hitEffect = Fx.hitLancer;
@@ -655,7 +675,7 @@ public class Bullets implements ContentList{
@Override
public void init(Bullet b){
Lightning.create(b.getTeam(), Pal.lancerLaser, damage, b.x, b.y, b.rot(), 14);
Lightning.create(b.getTeam(), Pal.lancerLaser, damage, b.x, b.y, b.rot(), 15);
}
};

View File

@@ -32,7 +32,7 @@ public class Fx implements ContentList{
plasticExplosion, artilleryTrail, incendTrail, missileTrail, absorb, flakExplosionBig, plasticExplosionFlak, burning, fire,
fireSmoke, steam, fireballsmoke, ballfire, freezing, melting, wet, oily, overdriven, dropItem, shockwave,
bigShockwave, nuclearShockwave, explosion, blockExplosion, blockExplosionSmoke, shootSmall, shootHeal, shootSmallSmoke, shootBig, shootBig2, shootBigSmoke,
shootBigSmoke2, shootSmallFlame, shootLiquid, shellEjectSmall, shellEjectMedium,
shootBigSmoke2, shootSmallFlame, shootPyraFlame, shootLiquid, shellEjectSmall, shellEjectMedium,
shellEjectBig, lancerLaserShoot, lancerLaserShootSmoke, lancerLaserCharge, lancerLaserChargeBegin, lightningCharge, lightningShoot,
unitSpawn, spawnShockwave, magmasmoke, impactShockwave, impactcloud, impactsmoke, dynamicExplosion;
@@ -221,7 +221,7 @@ public class Fx implements ContentList{
Draw.color(Pal.lightFlame, Pal.darkFlame, e.fin());
Lines.stroke(0.5f + e.fout());
Angles.randLenVectors(e.id, 5, e.fin() * 15f, e.rotation, 50f, (x, y) -> {
Angles.randLenVectors(e.id, 2, e.fin() * 15f, e.rotation, 50f, (x, y) -> {
float ang = Mathf.angle(x, y);
Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f);
});
@@ -736,6 +736,16 @@ public class Fx implements ContentList{
Draw.reset();
});
shootPyraFlame = new Effect(33f, e -> {
Draw.color(Pal.lightPyraFlame, Pal.darkPyraFlame, Color.GRAY, e.fin());
Angles.randLenVectors(e.id, 10, e.finpow() * 50f, e.rotation, 10f, (x, y) -> {
Fill.circle(e.x + x, e.y + y, 0.65f + e.fout() * 1.6f);
});
Draw.reset();
});
shootLiquid = new Effect(40f, e -> {
Draw.color(e.color, Color.WHITE, e.fout() / 6f + Mathf.randomSeedRange(e.id, 0.1f));

View File

@@ -64,22 +64,26 @@ public class TechTree implements ContentList{
});
});
node(arc, () -> {
node(wave, () -> {
});
node(lancer, () -> {
node(meltdown, () -> {
node(scorch, () -> {
node(arc, () -> {
node(wave, () -> {
});
node(shockMine, () -> {
node(lancer, () -> {
node(meltdown, () -> {
});
node(shockMine, () -> {
});
});
});
});
node(copperWall, () -> {
node(copperWallLarge);
node(titaniumWall, () -> {

View File

@@ -110,6 +110,8 @@ public enum EditorTool{
return;
}
boolean alt = isAlt();
int width = editor.width();
int height = editor.height();
@@ -117,7 +119,13 @@ public enum EditorTool{
Tile write = editor.tile(px, py);
if(isfloor){
write.setFloor((Floor)draw);
if(alt && !(draw instanceof OreBlock)){
Block ore = write.ore();
write.setFloor((Floor)draw);
write.setOre(ore);
}else{
write.setFloor((Floor)draw);
}
}else{
write.setBlock(draw);
}

View File

@@ -84,7 +84,7 @@ public class MapGenerateDialog extends FloatingDialog{
add(new Image("icon-refresh"){{
setScaling(Scaling.none);
}});
visible(() -> generating);
visible(() -> generating && !updateEditorOnChange);
}}).size(mobile ? 300f : 400f).padRight(6);
t.pane(p -> filterTable = p).width(300f).get().setScrollingDisabled(true, false);
}).grow();

View File

@@ -6,16 +6,18 @@ import io.anuke.mindustry.editor.generation.FilterOption.SliderOption;
import io.anuke.mindustry.world.Block;
import static io.anuke.mindustry.editor.generation.FilterOption.floorsOnly;
import static io.anuke.mindustry.editor.generation.FilterOption.wallsOnly;
public class RiverNoiseFilter extends GenerateFilter{
float scl = 40, threshold = 0f, threshold2 = 0.1f;
Block floor = Blocks.water, floor2 = Blocks.deepwater;
Block floor = Blocks.water, floor2 = Blocks.deepwater, block = Blocks.sandRocks;
{
options(
new SliderOption("scale", () -> scl, f -> scl = f, 1f, 500f),
new SliderOption("threshold", () -> threshold, f -> threshold = f, 0f, 1f),
new SliderOption("threshold2", () -> threshold2, f -> threshold2 = f, 0f, 1f),
new BlockOption("block", () -> block, b -> block = b, wallsOnly),
new BlockOption("floor", () -> floor, b -> floor = b, floorsOnly),
new BlockOption("floor2", () -> floor2, b -> floor2 = b, floorsOnly)
);
@@ -28,6 +30,10 @@ public class RiverNoiseFilter extends GenerateFilter{
if(noise >= threshold){
in.floor = floor;
if(in.srcblock.solid){
in.block = block;
}
if(noise >= threshold2){
in.floor = floor2;
}

View File

@@ -22,6 +22,9 @@ public class Pal{
lightFlame = Color.valueOf("ffdd55"),
darkFlame = Color.valueOf("db401c"),
lightPyraFlame = Color.valueOf("ffb855"),
darkPyraFlame = Color.valueOf("db661c"),
turretHeat = Color.valueOf("ab3400"),
lightOrange = Color.valueOf("f68021"),

View File

@@ -7,7 +7,6 @@ import io.anuke.arc.files.FileHandle;
import io.anuke.arc.graphics.Texture;
import io.anuke.arc.util.Disposable;
import io.anuke.arc.util.Log;
import io.anuke.arc.util.Time;
import io.anuke.arc.util.serialization.Json;
import io.anuke.mindustry.game.SpawnGroup;
import io.anuke.mindustry.io.MapIO;
@@ -65,7 +64,6 @@ public class Maps implements Disposable{
/** Load all maps. Should be called at application start. */
public void load(){
Time.mark();
try{
for(String name : defaultMapNames){
FileHandle file = Core.files.internal("maps/" + name + "." + mapExtension);
@@ -76,7 +74,11 @@ public class Maps implements Disposable{
}
loadCustomMaps();
Log.info("Time to load maps: {0}", Time.elapsed());
}
public void reload(){
dispose();
load();
}
/** Save a custom map to the directory. This updates all values and stored data necessary.

View File

@@ -179,6 +179,8 @@ public class SettingsMenuDialog extends SettingsDialog{
graphics.sliderPref("fpscap", 125, 5, 125, 5, s -> (s > 120 ? Core.bundle.get("setting.fpscap.none") : Core.bundle.format("setting.fpscap.text", s)));
if(!mobile){
graphics.sliderPref("antialias", 0, 0, 5, 1, s -> (s == 0 ? 0 : (1 << s)) + "x");
graphics.checkPref("vsync", true, b -> Core.graphics.setVSync(b));
graphics.checkPref("fullscreen", false, b -> {
if(b){