Various blocks added / Crater map updated / Fixed status effect bugs

This commit is contained in:
Anuken
2019-01-23 20:08:28 -05:00
parent 895725df64
commit 9dd6a77c76
142 changed files with 1382 additions and 1194 deletions
@@ -32,8 +32,8 @@ public class Blocks implements ContentList{
public static Block
//environment
air, part, spawn, space, metalfloor, deepwater, water, tar, stone, craters, blackstone, dirt, sand, ice, snow,
grass, shrub, rock, icerock, blackrock, rocks,
air, part, spawn, space, metalfloor, deepwater, water, tar, stone, craters, charr, blackstone, dirt, sand, ice, snow,
grass, shrub, rock, icerock, blackrock, rocks, pine,
//crafting
siliconSmelter, plastaniumCompressor, phaseWeaver, surgeSmelter, pyratiteMixer, blastMixer, cryofluidMixer,
@@ -156,6 +156,10 @@ public class Blocks implements ContentList{
minimapColor = Color.valueOf("323232");
}};
charr = new Floor("char"){{
minimapColor = Color.valueOf("323232");
}};
blackstone = new Floor("blackstone"){{
minimapColor = Color.valueOf("252525");
playerUnmineable = true;
@@ -208,6 +212,11 @@ public class Blocks implements ContentList{
variants = 2;
}};
pine = new StaticWall("pine"){{
//fillsTile = false;
variants = 0;
}};
//endregion
//region crafting
@@ -10,6 +10,7 @@ import io.anuke.arc.math.Mathf;
import io.anuke.arc.util.Time;
import io.anuke.arc.util.Tmp;
import io.anuke.mindustry.entities.Damage;
import io.anuke.mindustry.entities.Unit;
import io.anuke.mindustry.entities.bullet.*;
import io.anuke.mindustry.entities.effect.Fire;
import io.anuke.mindustry.entities.effect.Lightning;
@@ -48,7 +49,7 @@ public class Bullets implements ContentList{
fireball, basicFlame, fuseShot, driverBolt, healBullet, frag,
//bombs
bombExplosive, bombIncendiary, bombOil;
bombExplosive, bombIncendiary, bombOil, explode;
@Override
public void load(){
@@ -413,6 +414,8 @@ public class Bullets implements ContentList{
lifetime = 35f;
pierce = true;
drag = 0.05f;
statusDuration = 60f * 4;
shootEffect = Fx.shootSmallFlame;
hitEffect = Fx.hitFlameSmall;
despawnEffect = Fx.none;
status = StatusEffects.burning;
@@ -639,5 +642,34 @@ public class Bullets implements ContentList{
}
}
};
explode = new BombBulletType(2f, 3f, "clear"){{
hitEffect = Fx.pulverize;
lifetime = 20f;
speed = 1f;
splashDamageRadius = 60f;
splashDamage = 30f;
}
@Override
public void init(Bullet b){
if(b.getOwner() instanceof Unit){
Unit unit = (Unit)b.getOwner();
unit.damage(unit.maxHealth() + 1);
}
b.time(b.lifetime());
}
@Override
public void hit(Bullet b, float x, float y){
super.hit(b, x, y);
for(int i = 0; i < 3; i++){
Tile tile = world.tileWorld(x + Mathf.range(8f), y + Mathf.range(8f));
Puddle.deposit(tile, Liquids.oil, 5f);
}
}
};
}
}
+2 -2
View File
@@ -665,10 +665,10 @@ public class Fx implements ContentList{
Draw.reset();
});
shootSmallFlame = new Effect(30f, e -> {
shootSmallFlame = new Effect(32f, e -> {
Draw.color(Palette.lightFlame, Palette.darkFlame, Color.GRAY, e.fin());
Angles.randLenVectors(e.id, 8, e.finpow() * 36f, e.rotation, 10f, (x, y) -> {
Angles.randLenVectors(e.id, 8, e.finpow() * 44f, e.rotation, 10f, (x, y) -> {
Fill.circle(e.x + x, e.y + y, 0.65f + e.fout() * 1.5f);
});
@@ -9,7 +9,7 @@ public class UnitTypes implements ContentList{
public static UnitType
spirit, phantom,
wraith, ghoul, revenant,
dagger, titan, fortress;
dagger, crawler, titan, fortress;
@Override
public void load(){
@@ -33,6 +33,16 @@ public class UnitTypes implements ContentList{
health = 130;
}};
crawler = new UnitType("crawler", Crawler.class, Crawler::new){{
maxVelocity = 1.1f;
speed = 0.22f;
drag = 0.4f;
hitsize = 8f;
mass = 1.75f;
weapon = Weapons.suicideBomb;
health = 100;
}};
titan = new UnitType("titan", Titan.class, Titan::new){{
maxVelocity = 0.8f;
speed = 0.18f;
@@ -5,7 +5,7 @@ import io.anuke.mindustry.type.Weapon;
public class Weapons implements ContentList{
public static Weapon blaster, blasterSmall, glaiveBlaster, droneBlaster, healBlaster, healBlasterDrone, chainBlaster, shockgun,
swarmer, bomber, bomberTrident, flakgun, flamethrower, missiles, artillery, laserBurster, healBlasterDrone2;
swarmer, bomber, bomberTrident, flakgun, flamethrower, missiles, artillery, laserBurster, healBlasterDrone2, suicideBomb;
@Override
public void load(){
@@ -127,6 +127,12 @@ public class Weapons implements ContentList{
ammo = Bullets.artilleryUnit;
}};
suicideBomb = new Weapon("bomber"){{
reload = 12f;
ejectEffect = Fx.none;
ammo = Bullets.explode;
}};
bomber = new Weapon("bomber"){{
length = 0f;
width = 2f;
+35 -1
View File
@@ -59,6 +59,8 @@ public class Zones implements ContentList{
}};
craters = new Zone("craters", new MapGenerator("craters", 1){{ distortion = 1.44f; }}){{ //TODO implement
alwaysUnlocked = true;
deployCost = ItemStack.with(Items.copper, 300);
startingItems = ItemStack.with(Items.copper, 200);
conditionWave = 15;
@@ -68,7 +70,39 @@ public class Zones implements ContentList{
rules = () -> new Rules(){{
waves = true;
waveTimer = true;
waveSpacing = 60 * 80;
waveSpacing = 60 * 60;
spawns = Array.with(
new SpawnGroup(UnitTypes.dagger){{
unitScaling = 2;
}},
new SpawnGroup(UnitTypes.crawler){{
begin = 5;
unitAmount = 2;
spacing = 2;
unitScaling = 2;
}},
new SpawnGroup(UnitTypes.dagger){{
begin = 10;
unitScaling = 1;
}},
new SpawnGroup(UnitTypes.crawler){{
begin = 15;
unitScaling = 1;
}},
new SpawnGroup(UnitTypes.dagger){{
begin = 20;
unitScaling = 1;
}},
new SpawnGroup(UnitTypes.crawler){{
begin = 25;
unitScaling = 1;
}}
);
}};
}};