mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-02-11 03:08:38 +07:00
Bugfixes
This commit is contained in:
parent
6b3039dba2
commit
870f06218b
@ -45,10 +45,7 @@ public class UnitTypes implements ContentList{
|
|||||||
public static @EntityDef({Unitc.class, Builderc.class, Minerc.class, Trailc.class}) UnitType alpha, beta, gamma;
|
public static @EntityDef({Unitc.class, Builderc.class, Minerc.class, Trailc.class}) UnitType alpha, beta, gamma;
|
||||||
|
|
||||||
//water
|
//water
|
||||||
public static @EntityDef({Unitc.class, WaterMovec.class, Commanderc.class}) UnitType risse, minke;
|
public static @EntityDef({Unitc.class, WaterMovec.class, Commanderc.class}) UnitType risse, minke, bryde;
|
||||||
|
|
||||||
//water + payload
|
|
||||||
public static @EntityDef({Unitc.class, WaterMovec.class, Commanderc.class, Payloadc.class}) UnitType bryde;
|
|
||||||
|
|
||||||
//special block unit type
|
//special block unit type
|
||||||
public static @EntityDef({Unitc.class, BlockUnitc.class}) UnitType block;
|
public static @EntityDef({Unitc.class, BlockUnitc.class}) UnitType block;
|
||||||
@ -776,7 +773,6 @@ public class UnitTypes implements ContentList{
|
|||||||
trailX = 7f;
|
trailX = 7f;
|
||||||
trailY = -9f;
|
trailY = -9f;
|
||||||
trailScl = 1.5f;
|
trailScl = 1.5f;
|
||||||
payloadCapacity = 4;
|
|
||||||
|
|
||||||
abilities.add(new HealFieldAbility(22f, 60f * 4, 70f), new ShieldFieldAbility(20f, 40f, 60f * 4, 60f));
|
abilities.add(new HealFieldAbility(22f, 60f * 4, 70f), new ShieldFieldAbility(20f, 40f, 60f * 4, 60f));
|
||||||
|
|
||||||
|
@ -539,6 +539,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
return base();
|
return base();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public @Nullable Payload getPayload(){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/** Tries to take the payload. Returns null if no payload is present. */
|
/** Tries to take the payload. Returns null if no payload is present. */
|
||||||
public @Nullable Payload takePayload(){
|
public @Nullable Payload takePayload(){
|
||||||
return null;
|
return null;
|
||||||
|
@ -12,7 +12,7 @@ import mindustry.world.blocks.payloads.*;
|
|||||||
|
|
||||||
/** An entity that holds a payload. */
|
/** An entity that holds a payload. */
|
||||||
@Component
|
@Component
|
||||||
abstract class PayloadComp implements Posc, Rotc{
|
abstract class PayloadComp implements Posc, Rotc, Hitboxc{
|
||||||
@Import float x, y, rotation;
|
@Import float x, y, rotation;
|
||||||
|
|
||||||
Seq<Payload> payloads = new Seq<>();
|
Seq<Payload> payloads = new Seq<>();
|
||||||
|
@ -129,10 +129,13 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
if(tile.block().buildVisibility != BuildVisibility.hidden && tile.block().size <= 2){
|
if(tile.block().buildVisibility != BuildVisibility.hidden && tile.block().size <= 2){
|
||||||
pay.pickup(tile);
|
pay.pickup(tile);
|
||||||
}else{ //pick up block payload
|
}else{ //pick up block payload
|
||||||
Payload taken = tile.takePayload();
|
Payload current = tile.getPayload();
|
||||||
if(taken != null){
|
if(current != null && current.canBeTaken(pay)){
|
||||||
pay.addPayload(taken);
|
Payload taken = tile.takePayload();
|
||||||
Fx.unitPickup.at(tile);
|
if(taken != null){
|
||||||
|
pay.addPayload(taken);
|
||||||
|
Fx.unitPickup.at(tile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -88,6 +88,11 @@ public class PayloadConveyor extends Block{
|
|||||||
blocked = (next != null && next.solid()) || (this.next != null && (this.next.rotation() + 2)%4 == rotation());
|
blocked = (next != null && next.solid()) || (this.next != null && (this.next.rotation() + 2)%4 == rotation());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Payload getPayload(){
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateTile(){
|
public void updateTile(){
|
||||||
progress = Time.time() % moveTime;
|
progress = Time.time() % moveTime;
|
||||||
|
@ -33,6 +33,11 @@ public class BlockPayload implements Payload{
|
|||||||
tile.setBlock(entity.block(), entity.team(), rotation, () -> entity);
|
tile.setBlock(entity.block(), entity.team(), rotation, () -> entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canBeTaken(Payloadc picker){
|
||||||
|
return entity.block.size <= 2;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean fits(){
|
public boolean fits(){
|
||||||
return entity.block().size < 3;
|
return entity.block().size < 3;
|
||||||
|
@ -27,6 +27,11 @@ public interface Payload{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @return whether the unit can pick up this payload. */
|
||||||
|
default boolean canBeTaken(Payloadc picker){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/** writes the payload for saving. */
|
/** writes the payload for saving. */
|
||||||
void write(Writes write);
|
void write(Writes write);
|
||||||
|
|
||||||
|
@ -20,6 +20,11 @@ public class UnitPayload implements Payload{
|
|||||||
return unit.hitSize <= 16f;
|
return unit.hitSize <= 16f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canBeTaken(Payloadc picker){
|
||||||
|
return unit.hitSize < picker.hitSize();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(Writes write){
|
public void write(Writes write){
|
||||||
write.b(payloadUnit);
|
write.b(payloadUnit);
|
||||||
|
@ -65,6 +65,11 @@ public class PayloadAcceptor extends Block{
|
|||||||
updatePayload();
|
updatePayload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Payload getPayload(){
|
||||||
|
return payload;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Payload takePayload(){
|
public Payload takePayload(){
|
||||||
T t = payload;
|
T t = payload;
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=bb0d60276c0471b920a636d3d32ea838e73be8c2
|
archash=a49c1c1da93e43d0afe43e565fc3a0800a5137a5
|
||||||
|
Loading…
Reference in New Issue
Block a user