New map format, completely broke loading or playing
This commit is contained in:
@@ -3,17 +3,31 @@ package io.anuke.mindustry.entities;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.ucore.entities.BulletEntity;
|
||||
import io.anuke.ucore.entities.Entity;
|
||||
import io.anuke.ucore.util.Timer;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
public class Bullet extends BulletEntity{
|
||||
public Timer timer = new Timer(3);
|
||||
public Team team;
|
||||
|
||||
public Bullet(BulletType type, Unit owner, float x, float y, float angle){
|
||||
super(type, owner, angle);
|
||||
set(x, y);
|
||||
this.type = type;
|
||||
this.team = owner.team;
|
||||
set(x, y);
|
||||
}
|
||||
|
||||
public Bullet(BulletType type, Entity owner, Team team, float x, float y, float angle){
|
||||
super(type, owner, angle);
|
||||
this.team = team;
|
||||
this.type = type;
|
||||
set(x, y);
|
||||
}
|
||||
|
||||
public Bullet(BulletType type, Bullet parent, float x, float y, float angle){
|
||||
this(type, parent.owner, parent.team, x, y, angle);
|
||||
}
|
||||
|
||||
public void draw(){
|
||||
@@ -39,14 +53,6 @@ public class Bullet extends BulletEntity{
|
||||
return true;
|
||||
}
|
||||
|
||||
public Unit owner(){
|
||||
return (Unit)owner;
|
||||
}
|
||||
|
||||
public Team team(){
|
||||
return ((Unit)owner).team;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(){
|
||||
super.update();
|
||||
@@ -58,7 +64,7 @@ public class Bullet extends BulletEntity{
|
||||
if (tile == null) return false;
|
||||
tile = tile.target();
|
||||
|
||||
if (tile.entity != null && tile.entity.collide(this) && !tile.entity.dead && tile.entity.tile.getTeam() != team()) {
|
||||
if (tile.entity != null && tile.entity.collide(this) && !tile.entity.dead && tile.entity.tile.getTeam() != team) {
|
||||
tile.entity.collision(this);
|
||||
remove();
|
||||
type.hit(this);
|
||||
|
||||
@@ -121,7 +121,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
Effects.effect(Fx.shellsmoke, b);
|
||||
Effects.effect(Fx.shellexplosion, b);
|
||||
|
||||
DamageArea.damage(b.team(), b.x, b.y, 25f, (int)(damage * 2f/3f));
|
||||
DamageArea.damage(b.team, b.x, b.y, 25f, (int)(damage * 2f/3f));
|
||||
}
|
||||
},
|
||||
flak = new BulletType(2.9f, 8) {
|
||||
@@ -148,7 +148,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
public void hit(Bullet b, float hitx, float hity) {
|
||||
Effects.effect(shellsmoke, b);
|
||||
for(int i = 0; i < 3; i ++){
|
||||
Bullet bullet = new Bullet(flakspark, b.owner(), hitx, hity, b.angle() + Mathf.range(120f));
|
||||
Bullet bullet = new Bullet(flakspark, b, hitx, hity, b.angle() + Mathf.range(120f));
|
||||
bullet.add();
|
||||
}
|
||||
}
|
||||
@@ -201,7 +201,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
Effects.effect(Fx.shellsmoke, b);
|
||||
Effects.effect(Fx.shockwaveSmall, b);
|
||||
|
||||
DamageArea.damage(b.team(), b.x, b.y, 50f, (int)(damage * 2f/3f));
|
||||
DamageArea.damage(b.team, b.x, b.y, 50f, (int)(damage * 2f/3f));
|
||||
}
|
||||
},
|
||||
yellowshell = new BulletType(1.2f, 20){
|
||||
@@ -232,7 +232,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
Effects.effect(Fx.shellsmoke, b);
|
||||
Effects.effect(Fx.shockwaveSmall, b);
|
||||
|
||||
DamageArea.damage(b.team(), b.x, b.y, 25f, (int)(damage * 2f/3f));
|
||||
DamageArea.damage(b.team, b.x, b.y, 25f, (int)(damage * 2f/3f));
|
||||
}
|
||||
},
|
||||
blast = new BulletType(1.1f, 90){
|
||||
@@ -255,7 +255,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
//TODO remove translation() usage
|
||||
Angles.circleVectors(30, 6f, (nx, ny) -> {
|
||||
float ang = Mathf.atan2(nx, ny);
|
||||
Bullet o = new Bullet(blastshot, b.owner(), b.x + nx, b.y + ny, ang).add();
|
||||
Bullet o = new Bullet(blastshot, b, b.x + nx, b.y + ny, ang).add();
|
||||
o.damage = b.damage/9;
|
||||
});
|
||||
}
|
||||
@@ -370,7 +370,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
|
||||
Effects.effect(Fx.clusterbomb, b);
|
||||
|
||||
DamageArea.damage(b.team(), b.x, b.y, 35f, damage);
|
||||
DamageArea.damage(b.team, b.x, b.y, 35f, damage);
|
||||
}
|
||||
},
|
||||
vulcan = new BulletType(4.5f, 12) {
|
||||
@@ -419,7 +419,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
|
||||
public void hit(Bullet b, float hitx, float hity) {
|
||||
for(int i = 0; i < 4; i ++){
|
||||
Bullet bullet = new Bullet(scrap, b.owner(), b.x, b.y, b.angle() + Mathf.range(80f));
|
||||
Bullet bullet = new Bullet(scrap, b, b.x, b.y, b.angle() + Mathf.range(80f));
|
||||
bullet.add();
|
||||
}
|
||||
}
|
||||
@@ -449,7 +449,7 @@ public abstract class BulletType extends BaseBulletType<Bullet>{
|
||||
}
|
||||
|
||||
public void init(Bullet b) {
|
||||
DamageArea.damageLine(b.team(), Fx.beamhit, b.x, b.y, b.angle(), length, damage);
|
||||
DamageArea.damageLine(b.team, Fx.beamhit, b.x, b.y, b.angle(), length, damage);
|
||||
}
|
||||
|
||||
public void draw(Bullet b) {
|
||||
|
||||
Reference in New Issue
Block a user