Implemented ground mech boosting
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.g2d.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.func.*;
|
||||
import arc.graphics.g2d.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.struct.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.graphics.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.func.*;
|
||||
import arc.util.io.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
@@ -14,10 +14,11 @@ import static mindustry.Vars.net;
|
||||
abstract class FlyingComp implements Posc, Velc, Healthc, Hitboxc{
|
||||
private static final Vec2 tmp1 = new Vec2(), tmp2 = new Vec2();
|
||||
|
||||
@Import float x, y, drag;
|
||||
@Import float x, y;
|
||||
@Import Vec2 vel;
|
||||
|
||||
float elevation;
|
||||
private transient boolean wasFlying;
|
||||
transient float drownTime;
|
||||
transient float splashTimer;
|
||||
|
||||
@@ -26,13 +27,17 @@ abstract class FlyingComp implements Posc, Velc, Healthc, Hitboxc{
|
||||
}
|
||||
|
||||
boolean isFlying(){
|
||||
return elevation >= 0.001f;
|
||||
return elevation >= 0.09f;
|
||||
}
|
||||
|
||||
boolean canDrown(){
|
||||
return isGrounded();
|
||||
}
|
||||
|
||||
void landed(){
|
||||
|
||||
}
|
||||
|
||||
void wobble(){
|
||||
x += Mathf.sin(Time.time() + id() * 99, 25f, 0.05f) * Time.delta() * elevation;
|
||||
y += Mathf.cos(Time.time() + id() * 99, 25f, 0.05f) * Time.delta() * elevation;
|
||||
@@ -53,6 +58,16 @@ abstract class FlyingComp implements Posc, Velc, Healthc, Hitboxc{
|
||||
public void update(){
|
||||
Floor floor = floorOn();
|
||||
|
||||
if(isFlying() != wasFlying){
|
||||
if(wasFlying){
|
||||
if(tileOn() != null){
|
||||
Fx.unitLand.at(x, y, floorOn().isLiquid ? 1f : 0.5f, floorOn().mapColor);
|
||||
}
|
||||
}
|
||||
|
||||
wasFlying = isFlying();
|
||||
}
|
||||
|
||||
if(isGrounded() && floor.isLiquid){
|
||||
if((splashTimer += Mathf.dst(deltaX(), deltaY())) >= 7f){
|
||||
floor.walkEffect.at(x, y, 0, floor.mapColor);
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.func.*;
|
||||
import arc.math.geom.QuadTree.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.async.PhysicsProcess.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.geom.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.util.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.graphics.*;
|
||||
import arc.math.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.*;
|
||||
import arc.Graphics.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.util.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.graphics.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.*;
|
||||
import arc.math.*;
|
||||
@@ -125,8 +125,19 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
||||
teamIndex.updateCount(team(), -1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void landed(){
|
||||
if(type.landShake > 0f){
|
||||
Effects.shake(type.landShake, type.landShake, this);
|
||||
}
|
||||
|
||||
type.landed(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(){
|
||||
type.update(this);
|
||||
|
||||
drag(type.drag * (isGrounded() ? (floorOn().dragMultiplier) : 1f));
|
||||
|
||||
//apply knockback based on spawns
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.geom.*;
|
||||
import arc.util.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.content.*;
|
||||
@@ -1,4 +1,4 @@
|
||||
package mindustry.entities.def;
|
||||
package mindustry.entities.comp;
|
||||
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
Reference in New Issue
Block a user