Fixed instant-win wave missions / Fixed units clipping off screen
This commit is contained in:
@@ -53,8 +53,11 @@ public class Mechs implements ContentList{
|
|||||||
@Override
|
@Override
|
||||||
public void updateAlt(Player player){
|
public void updateAlt(Player player){
|
||||||
|
|
||||||
if(player.isShooting && player.timer.get(Player.timerAbility, buildTime) && getDrones(player) < maxDrones && !TutorialSector.supressDrone()){
|
if(player.isShooting && getDrones(player) < maxDrones && !TutorialSector.supressDrone()){
|
||||||
if(!Net.client()) {
|
player.timer.get(Player.timerAbility, buildTime);
|
||||||
|
|
||||||
|
if(player.timer.getTime(Player.timerAbility) > buildTime/2f){
|
||||||
|
if(!Net.client()){
|
||||||
AlphaDrone drone = (AlphaDrone) UnitTypes.alphaDrone.create(player.getTeam());
|
AlphaDrone drone = (AlphaDrone) UnitTypes.alphaDrone.create(player.getTeam());
|
||||||
drone.leader = player;
|
drone.leader = player;
|
||||||
drone.set(player.x, player.y);
|
drone.set(player.x, player.y);
|
||||||
@@ -63,6 +66,7 @@ public class Mechs implements ContentList{
|
|||||||
Effects.effect(UnitFx.unitLand, player);
|
Effects.effect(UnitFx.unitLand, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int getDrones(Player player){
|
int getDrones(Player player){
|
||||||
int sum = 0;
|
int sum = 0;
|
||||||
|
|||||||
@@ -41,7 +41,10 @@ public class Logic extends Module{
|
|||||||
@Override
|
@Override
|
||||||
public void init(){
|
public void init(){
|
||||||
EntityQuery.init();
|
EntityQuery.init();
|
||||||
EntityQuery.collisions().setCollider(tilesize, world::solid);
|
EntityQuery.collisions().setCollider(tilesize, (x, y) -> {
|
||||||
|
Tile tile = world.tile(x, y);
|
||||||
|
return tile != null && tile.solid();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void play(){
|
public void play(){
|
||||||
|
|||||||
@@ -324,8 +324,8 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{
|
|||||||
if(target != null) behavior();
|
if(target != null) behavior();
|
||||||
|
|
||||||
if(!isWave && !isFlying()){
|
if(!isWave && !isFlying()){
|
||||||
x = Mathf.clamp(x, 0, world.width() * tilesize);
|
x = Mathf.clamp(x, tilesize/2f, world.width() * tilesize - tilesize/2f);
|
||||||
y = Mathf.clamp(y, 0, world.height() * tilesize);
|
y = Mathf.clamp(y, tilesize/2f, world.height() * tilesize - tilesize/2f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class AlphaDrone extends FlyingUnit {
|
|||||||
target = leader;
|
target = leader;
|
||||||
|
|
||||||
if(last == null){
|
if(last == null){
|
||||||
circle(leader.isShooting ? 50f : 0f);
|
circle(leader.isShooting ? 60f : 0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
target = last;
|
target = last;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.anuke.mindustry.io;
|
package io.anuke.mindustry.io;
|
||||||
|
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import com.badlogic.gdx.utils.ObjectSet;
|
||||||
import io.anuke.mindustry.content.blocks.Blocks;
|
import io.anuke.mindustry.content.blocks.Blocks;
|
||||||
import io.anuke.mindustry.content.blocks.StorageBlocks;
|
import io.anuke.mindustry.content.blocks.StorageBlocks;
|
||||||
import io.anuke.mindustry.entities.traits.SaveTrait;
|
import io.anuke.mindustry.entities.traits.SaveTrait;
|
||||||
@@ -214,6 +215,7 @@ public abstract class SaveFileVersion{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void readEntities(DataInputStream stream) throws IOException{
|
public void readEntities(DataInputStream stream) throws IOException{
|
||||||
|
ObjectSet<EntityGroup<?>> set = new ObjectSet<>();
|
||||||
byte groups = stream.readByte();
|
byte groups = stream.readByte();
|
||||||
|
|
||||||
for(int i = 0; i < groups; i++){
|
for(int i = 0; i < groups; i++){
|
||||||
@@ -222,8 +224,13 @@ public abstract class SaveFileVersion{
|
|||||||
byte typeid = stream.readByte();
|
byte typeid = stream.readByte();
|
||||||
SaveTrait trait = (SaveTrait) TypeTrait.getTypeByID(typeid).get();
|
SaveTrait trait = (SaveTrait) TypeTrait.getTypeByID(typeid).get();
|
||||||
trait.readSave(stream);
|
trait.readSave(stream);
|
||||||
|
set.add(trait.targetGroup());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(EntityGroup<?> group : set){
|
||||||
|
group.updateEvents();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public MappableContent[][] readContentHeader(DataInputStream stream) throws IOException{
|
public MappableContent[][] readContentHeader(DataInputStream stream) throws IOException{
|
||||||
|
|||||||
@@ -88,9 +88,7 @@ public class Sectors{
|
|||||||
|
|
||||||
public Difficulty getDifficulty(Sector sector){
|
public Difficulty getDifficulty(Sector sector){
|
||||||
if(sector.difficulty == 0){
|
if(sector.difficulty == 0){
|
||||||
//yes, this means hard tutorial difficulty
|
return Difficulty.normal;
|
||||||
//(((have fun)))
|
|
||||||
return Difficulty.hard;
|
|
||||||
}else if(sector.difficulty < 4){
|
}else if(sector.difficulty < 4){
|
||||||
return Difficulty.normal;
|
return Difficulty.normal;
|
||||||
}else if(sector.difficulty < 9){
|
}else if(sector.difficulty < 9){
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package io.anuke.mindustry.maps.missions;
|
package io.anuke.mindustry.maps.missions;
|
||||||
|
|
||||||
import com.badlogic.gdx.math.GridPoint2;
|
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
import io.anuke.mindustry.Vars;
|
import io.anuke.mindustry.Vars;
|
||||||
import io.anuke.mindustry.game.GameMode;
|
import io.anuke.mindustry.game.GameMode;
|
||||||
@@ -11,9 +10,7 @@ import io.anuke.mindustry.maps.Sector;
|
|||||||
import io.anuke.mindustry.maps.generation.Generation;
|
import io.anuke.mindustry.maps.generation.Generation;
|
||||||
import io.anuke.ucore.util.Bundles;
|
import io.anuke.ucore.util.Bundles;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.state;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
import static io.anuke.mindustry.Vars.waveTeam;
|
|
||||||
import static io.anuke.mindustry.Vars.world;
|
|
||||||
|
|
||||||
public class WaveMission extends MissionWithStartingCore{
|
public class WaveMission extends MissionWithStartingCore{
|
||||||
private final int target;
|
private final int target;
|
||||||
|
|||||||
Reference in New Issue
Block a user