Fixed breakable cores / Fixed sector sandbox / Fixed ship warp speed

This commit is contained in:
Anuken
2018-10-13 11:33:49 -04:00
parent cab585225d
commit ed95e38257
5 changed files with 14 additions and 6 deletions

View File

@@ -8,6 +8,7 @@ import com.badlogic.gdx.math.Vector2;
import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.content.fx.Fx;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Unit;
import io.anuke.mindustry.entities.effect.GroundEffectEntity; import io.anuke.mindustry.entities.effect.GroundEffectEntity;
import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect;
@@ -143,7 +144,12 @@ public class Renderer extends RendererModule{
Vector2 position = averagePosition(); Vector2 position = averagePosition();
if(players[0].isDead()){ if(players[0].isDead()){
smoothCamera(position.x + 0.0001f, position.y + 0.0001f, 0.08f); TileEntity core = players[0].getClosestCore();
if(core != null){
smoothCamera(core.x, core.y, 0.08f);
}else{
smoothCamera(position.x + 0.0001f, position.y + 0.0001f, 0.08f);
}
}else if(!mobile){ }else if(!mobile){
setCamera(position.x + 0.0001f, position.y + 0.0001f); setCamera(position.x + 0.0001f, position.y + 0.0001f);
} }

View File

@@ -209,6 +209,7 @@ public class World extends Module{
public void loadSector(Sector sector){ public void loadSector(Sector sector){
currentSector = sector; currentSector = sector;
state.difficulty = sectors.getDifficulty(sector); state.difficulty = sectors.getDifficulty(sector);
state.mode = sector.currentMission().getMode();
Timers.mark(); Timers.mark();
Timers.mark(); Timers.mark();
@@ -254,6 +255,8 @@ public class World extends Module{
return; return;
} }
endMapLoad();
if(!headless && state.teams.get(players[0].getTeam()).cores.size == 0){ if(!headless && state.teams.get(players[0].getTeam()).cores.size == 0){
ui.showError("$text.map.nospawn"); ui.showError("$text.map.nospawn");
threads.runDelay(() -> state.set(State.menu)); threads.runDelay(() -> state.set(State.menu));
@@ -261,8 +264,6 @@ public class World extends Module{
}else{ }else{
invalidMap = false; invalidMap = false;
} }
endMapLoad();
} }
public void notifyChanged(Tile tile){ public void notifyChanged(Tile tile){

View File

@@ -534,7 +534,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
isBoosting = true; isBoosting = true;
} }
float speed = isBoosting ? mech.boostSpeed : mech.speed; float speed = isBoosting && !mech.flying ? mech.boostSpeed : mech.speed;
//fraction of speed when at max load //fraction of speed when at max load
float carrySlowdown = 0.7f; float carrySlowdown = 0.7f;

View File

@@ -429,10 +429,11 @@ public class Tile implements PosTrait, TargetTrait{
entity.power = new PowerModule(); entity.power = new PowerModule();
entity.power.graph.add(this); entity.power.graph.add(this);
} }
if(!world.isGenerating()){ if(!world.isGenerating()){
entity.updateProximity(); entity.updateProximity();
} }
}else if(!(block instanceof BlockPart)){ }else if(!(block instanceof BlockPart) && !world.isGenerating()){
//since the entity won't update proximity for us, update proximity for all nearby tiles manually //since the entity won't update proximity for us, update proximity for all nearby tiles manually
for(GridPoint2 p : Geometry.d4){ for(GridPoint2 p : Geometry.d4){
Tile tile = world.tile(x + p.x, y + p.y); Tile tile = world.tile(x + p.x, y + p.y);

View File

@@ -29,6 +29,7 @@ import io.anuke.ucore.core.Timers;
import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Lines; import io.anuke.ucore.graphics.Lines;
import io.anuke.ucore.util.EnumSet; import io.anuke.ucore.util.EnumSet;
import io.anuke.ucore.util.Log;
import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Mathf;
import java.io.DataInputStream; import java.io.DataInputStream;
@@ -82,7 +83,6 @@ public class CoreBlock extends StorageBlock{
@Override @Override
public void onProximityUpdate(Tile tile) { public void onProximityUpdate(Tile tile) {
//add cores
state.teams.get(tile.getTeam()).cores.add(tile); state.teams.get(tile.getTeam()).cores.add(tile);
} }