Handle disconnect solely in TransitionService

This commit is contained in:
P0nk
2024-09-13 22:59:55 +02:00
parent 719b079cbc
commit f41268cdde
14 changed files with 85 additions and 275 deletions

View File

@@ -49,7 +49,7 @@ public class DcCommand extends Command {
victim = player.getMap().getCharacterByName(chrName);
if (victim != null) {
try {//sometimes bugged because the map = null
ctx.transitionService().disconnect(victim.getClient(), true, false);
ctx.transitionService().disconnect(victim.getClient(), true);
player.getMap().removePlayer(victim);
} catch (Exception e) {
e.printStackTrace();
@@ -62,6 +62,6 @@ public class DcCommand extends Command {
if (player.gmLevel() < victim.gmLevel()) {
victim = player;
}
ctx.transitionService().disconnect(victim.getClient(), false, false);
ctx.transitionService().disconnect(victim.getClient(), false);
}
}

View File

@@ -78,7 +78,7 @@ public class BanCommand extends Command {
c.sendPacket(PacketCreator.getGMEffect(4, (byte) 0));
final Character rip = target;
TimerManager.getInstance().schedule(
() -> ctx.transitionService().disconnect(rip.getClient(), false, false),
() -> ctx.transitionService().disconnect(rip.getClient(), false),
TimeUnit.SECONDS.toMillis(5)
);
Server.getInstance().broadcastMessage(c.getWorld(), PacketCreator.serverNotice(6, "[RIP]: " + ign + " has been banned."));

View File

@@ -41,7 +41,7 @@ public class DCAllCommand extends Command {
for (World world : Server.getInstance().getWorlds()) {
for (Character chr : world.getPlayerStorage().getAllCharacters()) {
if (!chr.isGM()) {
ctx.transitionService().disconnect(chr.getClient(), false, false);
ctx.transitionService().disconnect(chr.getClient(), false);
}
}
}