Skip to content
Snippets Groups Projects
Commit d877d7ee authored by Melledy's avatar Melledy
Browse files

Remove player from challenge if they are leaving the scene

parent cb15a5de
Branches
Tags
No related merge requests found
......@@ -23,7 +23,8 @@ public class DungeonChallenge {
private int challengeIndex;
private int challengeId;
private boolean isSuccess;
private boolean success;
private boolean progress;
private int score;
private int objective = 0;
......@@ -60,11 +61,15 @@ public class DungeonChallenge {
}
public boolean isSuccess() {
return isSuccess;
return success;
}
public void setSuccess(boolean isSuccess) {
this.isSuccess = isSuccess;
this.success = isSuccess;
}
public boolean inProgress() {
return progress;
}
public int getScore() {
......@@ -72,10 +77,12 @@ public class DungeonChallenge {
}
public void start() {
this.progress = true;
getScene().broadcastPacket(new PacketDungeonChallengeBeginNotify(this));
}
public void finish() {
this.progress = false;
getScene().broadcastPacket(new PacketDungeonChallengeFinishNotify(this));
if (this.isSuccess()) {
......
......@@ -25,6 +25,7 @@ import emu.grasscutter.scripts.data.SceneBlock;
import emu.grasscutter.scripts.data.SceneGadget;
import emu.grasscutter.scripts.data.SceneGroup;
import emu.grasscutter.scripts.data.ScriptArgs;
import emu.grasscutter.server.packet.send.PacketDungeonChallengeFinishNotify;
import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify;
import emu.grasscutter.server.packet.send.PacketLifeStateChangeNotify;
import emu.grasscutter.server.packet.send.PacketSceneEntityAppearNotify;
......@@ -212,6 +213,11 @@ public class Scene {
}
public synchronized void removePlayer(Player player) {
// Remove from challenge if leaving
if (this.getChallenge() != null && this.getChallenge().inProgress()) {
player.sendPacket(new PacketDungeonChallengeFinishNotify(this.getChallenge()));
}
// Remove player from scene
getPlayers().remove(player);
player.setScene(null);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment