You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					77 lines
				
				2.5 KiB
			
		
		
			
		
	
	
					77 lines
				
				2.5 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								// • ▌ ▄ ·.  ▄▄▄·  ▄▄ • ▪   ▄▄· ▄▄▄▄·  ▄▄▄·  ▐▄▄▄  ▄▄▄ .
							 | 
						||
| 
								 | 
							
								// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
							 | 
						||
| 
								 | 
							
								// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
							 | 
						||
| 
								 | 
							
								// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
							 | 
						||
| 
								 | 
							
								// ▀▀  █▪▀▀▀ ▀  ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀  ▀  ▀ ▀▀  █▪ ▀▀▀
							 | 
						||
| 
								 | 
							
								//      Magicbane Emulator Project © 2013 - 2022
							 | 
						||
| 
								 | 
							
								//                www.magicbane.com
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								package engine.jobs;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import engine.Enum;
							 | 
						||
| 
								 | 
							
								import engine.Enum.ChatChannelType;
							 | 
						||
| 
								 | 
							
								import engine.gameManager.DbManager;
							 | 
						||
| 
								 | 
							
								import engine.job.AbstractScheduleJob;
							 | 
						||
| 
								 | 
							
								import engine.net.DispatchMessage;
							 | 
						||
| 
								 | 
							
								import engine.net.client.msg.chat.ChatSystemMsg;
							 | 
						||
| 
								 | 
							
								import engine.objects.City;
							 | 
						||
| 
								 | 
							
								import org.pmw.tinylog.Logger;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								public class ActivateBaneJob extends AbstractScheduleJob {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private final int cityUUID;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public ActivateBaneJob(int cityUUID) {
							 | 
						||
| 
								 | 
							
								        super();
							 | 
						||
| 
								 | 
							
								        this.cityUUID = cityUUID;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @Override
							 | 
						||
| 
								 | 
							
								    protected void doJob() {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        City city;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        city = (City) DbManager.getObject(Enum.GameObjectType.City, cityUUID);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (city == null)
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (city.getBane() == null) {
							 | 
						||
| 
								 | 
							
								            Logger.info( "No bane found for " + city.getCityName());
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (city.getBane().isErrant()) {
							 | 
						||
| 
								 | 
							
								            Logger.info("Removed errant bane on " + city.getCityName());
							 | 
						||
| 
								 | 
							
								            city.getBane().remove();
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (city.getBane() == null)
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (city.protectionEnforced == true)
							 | 
						||
| 
								 | 
							
								            city.protectionEnforced = false;
							 | 
						||
| 
								 | 
							
								        else {
							 | 
						||
| 
								 | 
							
								            Logger.info("Bane on " + city.getCityName() + " activated for unprotected city?");
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        Logger.info("ActivateBaneJob", "Bane on " + city.getCityName() + " is now active");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        ChatSystemMsg msg = new ChatSystemMsg(null, "[Bane Channel]  The Banecircle placed by " + city.getBane().getOwner().getGuild().getName() + " is now active! Buildings are now vulnerable to damage!");
							 | 
						||
| 
								 | 
							
								        msg.setMessageType(4); // Error message
							 | 
						||
| 
								 | 
							
								        msg.setChannel(ChatChannelType.SYSTEM.getChannelID());
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        DispatchMessage.dispatchMsgToAll(msg);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @Override
							 | 
						||
| 
								 | 
							
								    protected void _cancelJob() {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |