From 8f611cd4e676338f37343a2e14e97bf8c90c5a84 Mon Sep 17 00:00:00 2001 From: Austin Mayes Date: Sat, 18 May 2019 23:38:08 -0500 Subject: [PATCH] Drop flags on match end --- PGM/src/main/java/tc/oc/pgm/flag/Flag.java | 2 +- PGM/src/main/java/tc/oc/pgm/flag/state/Carried.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/PGM/src/main/java/tc/oc/pgm/flag/Flag.java b/PGM/src/main/java/tc/oc/pgm/flag/Flag.java index 32360fb..e580987 100644 --- a/PGM/src/main/java/tc/oc/pgm/flag/Flag.java +++ b/PGM/src/main/java/tc/oc/pgm/flag/Flag.java @@ -365,7 +365,7 @@ public class Flag extends TouchableGoal implements Listener { // Check again, in case startCountdown transitioned. In that case, the nested // transition will have already called these events if necessary. - if(this.state == newState) { + if(this.state == newState && match.isRunning()) { getMatch().callEvent(new GoalStatusChangeEvent(this)); if(isCompleted()) { getMatch().callEvent(new GoalCompleteEvent(this, diff --git a/PGM/src/main/java/tc/oc/pgm/flag/state/Carried.java b/PGM/src/main/java/tc/oc/pgm/flag/state/Carried.java index 38b65a0..fefa68f 100644 --- a/PGM/src/main/java/tc/oc/pgm/flag/state/Carried.java +++ b/PGM/src/main/java/tc/oc/pgm/flag/state/Carried.java @@ -167,6 +167,10 @@ public class Carried extends Spawned implements Missing { @Override public void tickRunning() { + if (flag.getMatch().isFinished()) { + this.flag.transition(new Returned(this.flag, this.post, this.carrier.getEntityLocation())); + return; + } super.tickRunning(); BaseComponent message = this.getMessage(); @@ -308,6 +312,11 @@ public class Carried extends Spawned implements Missing { public void onEvent(CoarsePlayerMoveEvent event) { super.onEvent(event); + if(flag.getMatch().isFinished()) { + dropFlag(); + return; + } + if(this.isCarrier(event.getPlayer())) { final Location playerLoc = event.getBlockTo(); if((dropLocations.isEmpty() || !dropLocations.peekLast().equals(playerLoc)) &&