Changes to save importing, player sync fix, autosave on death fix

This commit is contained in:
Anuken
2018-01-09 13:19:36 -05:00
parent 4c16011480
commit 8e676494e3
19 changed files with 77 additions and 53 deletions

View File

@@ -24,7 +24,7 @@ public interface Syncable {
public static final SyncType<Player> player = new SyncType<Player>() {
@Override
public float[] write(Player entity) {
return new float[]{entity.x, entity.y, entity.angle, entity.health};
return new float[]{entity.x, entity.y, entity.angle, entity.health, entity.dashing ? 1f : -1f};
}
@Override
@@ -32,6 +32,7 @@ public interface Syncable {
entity.getInterpolator().target.set(data[0], data[1]);
entity.getInterpolator().targetrot = data[2];
entity.health = (int)data[3];
entity.dashing = data[4] > 0;
}
@Override
@@ -46,6 +47,11 @@ public interface Syncable {
Effects.effect(Fx.dashsmoke, entity.x + Angles.x(), entity.y + Angles.y());
}
if(entity.dashing && Timers.get(entity, "dashfx", 3)){
Angles.translation(entity.angle + 180, 3f);
Effects.effect(Fx.dashsmoke, entity.x + Angles.x(), entity.y + Angles.y());
}
entity.x = Mathf.lerpDelta(entity.x, i.target.x, 0.4f);
entity.y = Mathf.lerpDelta(entity.y, i.target.y, 0.4f);
entity.angle = Mathf.lerpAngDelta(entity.angle, i.targetrot, 0.6f);