// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.jobs; import engine.Enum; import engine.gameManager.CombatManager; import engine.job.AbstractJob; import engine.objects.AbstractCharacter; import engine.objects.PlayerCharacter; public class AttackJob extends AbstractJob { private final AbstractCharacter source; private final int slot; private final boolean success; public AttackJob(AbstractCharacter source, int slot, boolean success) { super(); this.source = source; this.slot = slot; this.success = success; } @Override public void doJob() { if(this.source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){ PlayerCharacter pc = (PlayerCharacter)source; if(pc.combatTarget != null && pc.combatTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){ PlayerCharacter target = (PlayerCharacter)pc.combatTarget; if(!pc.canSee(target)) { return; } } } CombatManager.doCombat(this.source, slot); } public boolean success() { return this.success; } protected void _cancelJob() { } }