diff --git a/core/src/mindustry/game/Teams.java b/core/src/mindustry/game/Teams.java index 9fb472bf50..c9a38fcb17 100644 --- a/core/src/mindustry/game/Teams.java +++ b/core/src/mindustry/game/Teams.java @@ -8,6 +8,7 @@ import arc.struct.*; import arc.util.*; import mindustry.*; import mindustry.ai.*; +import mindustry.annotations.Annotations.*; import mindustry.gen.*; import mindustry.type.*; import mindustry.world.*; @@ -359,6 +360,10 @@ public class Teams{ //TODO this may cause a lot of packet spam, optimize? Call.setTeam(build, Team.derelict); + if(build.getPayload() instanceof UnitPayload){ + Call.destroyPayload(build); + } + if(Mathf.chance(0.25)){ Time.run(Mathf.random(0f, 60f * 6f), build::kill); } @@ -425,6 +430,14 @@ public class Teams{ } } + @Remote(called = Loc.server, unreliable = true) + public static void destroyPayload(Building build){ + if(build != null && build.getPayload() instanceof UnitPayload && build.takePayload() instanceof UnitPayload unit){ + unit.dump(); + unit.unit.killed(); + } + } + /** Represents a block made by this team that was destroyed somewhere on the map. * This does not include deconstructed blocks.*/ public static class BlockPlan{