|  |  |  | // • ▌ ▄ ·.  ▄▄▄·  ▄▄ • ▪   ▄▄· ▄▄▄▄·  ▄▄▄·  ▐▄▄▄  ▄▄▄ .
 | 
					
						
							|  |  |  | // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
 | 
					
						
							|  |  |  | // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
 | 
					
						
							|  |  |  | // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
 | 
					
						
							|  |  |  | // ▀▀  █▪▀▀▀ ▀  ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀  ▀  ▀ ▀▀  █▪ ▀▀▀
 | 
					
						
							|  |  |  | //      Magicbane Emulator Project © 2013 - 2022
 | 
					
						
							|  |  |  | //                www.magicbane.com
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package engine.jobs;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import engine.gameManager.PowersManager;
 | 
					
						
							|  |  |  | import engine.job.AbstractScheduleJob;
 | 
					
						
							|  |  |  | import engine.net.client.msg.PerformActionMsg;
 | 
					
						
							|  |  |  | import engine.objects.PlayerCharacter;
 | 
					
						
							|  |  |  | import engine.powers.PowersBase;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | public class UsePowerJob extends AbstractScheduleJob {
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     private final PlayerCharacter pc;
 | 
					
						
							|  |  |  |     private final PerformActionMsg msg;
 | 
					
						
							|  |  |  |     private final int token;
 | 
					
						
							|  |  |  |     private final PowersBase pb;
 | 
					
						
							|  |  |  |     private final int casterLiveCounter;
 | 
					
						
							|  |  |  |     private final int targetLiveCounter;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public UsePowerJob(PlayerCharacter pc, PerformActionMsg msg, int token, PowersBase pb, int casterLiveCounter, int targetLiveCounter) {
 | 
					
						
							|  |  |  |         super();
 | 
					
						
							|  |  |  |         this.pc = pc;
 | 
					
						
							|  |  |  |         this.msg = msg;
 | 
					
						
							|  |  |  |         this.token = token;
 | 
					
						
							|  |  |  |         this.pb = pb;
 | 
					
						
							|  |  |  |         this.casterLiveCounter = casterLiveCounter;
 | 
					
						
							|  |  |  |         this.targetLiveCounter = targetLiveCounter;
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     @Override
 | 
					
						
							|  |  |  |     public void doJob() {
 | 
					
						
							|  |  |  |         PowersManager.finishUsePower(this.msg, this.pc, casterLiveCounter, targetLiveCounter);
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     @Override
 | 
					
						
							|  |  |  |     protected void _cancelJob() {
 | 
					
						
							|  |  |  |         //cast stopped early, reset recycle timer
 | 
					
						
							|  |  |  |         PowersManager.finishRecycleTime(this.msg, this.pc, true);
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public PowersBase getPowersBase() {
 | 
					
						
							|  |  |  |         return this.pb;
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public int getToken() {
 | 
					
						
							|  |  |  |         return this.token;
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public PerformActionMsg getMsg() {
 | 
					
						
							|  |  |  |         return this.msg;
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | }
 |