forked from MagicBane/Server
				
			
				 5 changed files with 90 additions and 39 deletions
			
			
		| @ -0,0 +1,73 @@@@ -0,0 +1,73 @@ | ||||
| // • ▌ ▄ ·.  ▄▄▄·  ▄▄ • ▪   ▄▄· ▄▄▄▄·  ▄▄▄·  ▐▄▄▄  ▄▄▄ .
 | ||||
| // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
 | ||||
| // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
 | ||||
| // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
 | ||||
| // ▀▀  █▪▀▀▀ ▀  ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀  ▀  ▀ ▀▀  █▪ ▀▀▀
 | ||||
| //      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(); | ||||
|     } | ||||
| } | ||||
| @ -1,24 +0,0 @@@@ -1,24 +0,0 @@ | ||||
| package engine.workthreads; | ||||
| 
 | ||||
| import engine.gameManager.PowersManager; | ||||
| 
 | ||||
| import java.util.ArrayList; | ||||
| 
 | ||||
| public class PowersThread implements Runnable { | ||||
| 
 | ||||
|     public PowersThread(){ | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void run() { | ||||
|         while(true){ | ||||
|             ArrayList<PowersManager.PowerQueObject> purge = new ArrayList<>(); | ||||
|             for(PowersManager.PowerQueObject pqo : PowersManager.static_power_que){ | ||||
|                 purge.add(pqo); | ||||
|                 PowersManager.usePower(pqo.msg,pqo.origin,pqo.sendCastToSelf); | ||||
|             } | ||||
|             PowersManager.static_power_que.removeAll(purge); | ||||
|         } | ||||
|     } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue