// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.workthreads; import engine.Enum; import engine.InterestManagement.InterestManager; import engine.InterestManagement.WorldGrid; import engine.gameManager.BuildingManager; import engine.gameManager.PowersManager; import engine.gameManager.SessionManager; import engine.gameManager.ZergManager; import engine.math.Vector3fImmutable; import engine.objects.*; import engine.server.MBServerStatics; import org.pmw.tinylog.Logger; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; public class BoxFlagThread implements Runnable { public final static int THREAD_DELAY = 5000; public BoxFlagThread() { } @Override public void run() { long nextPulse = System.currentTimeMillis(); while(true){ if(System.currentTimeMillis() > nextPulse) { for(PlayerCharacter pc : SessionManager.getAllActivePlayerCharacters()){ if(pc.isEnteredWorld() && pc.isActive()){ if(PlayerCharacter.checkIfBoxed(pc)) { if(pc.title.equals(CharacterTitle.BOX) == false) { pc.title = CharacterTitle.BOX; //InterestManager.reloadCharacter(pc); InterestManager.setObjectDirty(pc); } if (pc.containsEffect(1672601862) == false) {//Deathshroud PowersManager.applyPower(pc, pc, Vector3fImmutable.ZERO, 1672601862, 40, false); } }else{ if(pc.title.equals(CharacterTitle.NONE) == false) { pc.title = CharacterTitle.NONE; //InterestManager.reloadCharacter(pc); InterestManager.setObjectDirty(pc); } } } } nextPulse += THREAD_DELAY; } } } public static void startBoxFlagThread() { Thread boxFlag; boxFlag = new Thread(new BoxFlagThread()); boxFlag.setName("boxFlagThread"); boxFlag.start(); } }