|
|
|
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
|
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
|
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
|
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
|
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
|
|
// Magicbane Emulator Project © 2013 - 2022
|
|
|
|
// www.magicbane.com
|
|
|
|
|
|
|
|
|
|
|
|
package engine.jobs;
|
|
|
|
|
|
|
|
import engine.gameManager.PowersManager;
|
|
|
|
import engine.job.AbstractScheduleJob;
|
|
|
|
import engine.math.Vector3fImmutable;
|
|
|
|
import engine.objects.AbstractCharacter;
|
|
|
|
import engine.objects.AbstractWorldObject;
|
|
|
|
import engine.powers.PowersBase;
|
|
|
|
|
|
|
|
public class UseItemJob extends AbstractScheduleJob {
|
|
|
|
|
|
|
|
private final AbstractCharacter ac;
|
|
|
|
private final AbstractWorldObject target;
|
|
|
|
private final PowersBase pb;
|
|
|
|
private final int trains;
|
|
|
|
private final int liveCounter;
|
|
|
|
|
|
|
|
public UseItemJob(AbstractCharacter ac, AbstractWorldObject target, PowersBase pb, int trains, int liveCounter) {
|
|
|
|
super();
|
|
|
|
this.ac = ac;
|
|
|
|
this.target = target;
|
|
|
|
this.pb = pb;
|
|
|
|
this.trains = trains;
|
|
|
|
this.liveCounter = liveCounter;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void doJob() {
|
|
|
|
PowersManager.finishApplyPower(ac, target, Vector3fImmutable.ZERO, pb, trains, liveCounter);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void _cancelJob() {
|
|
|
|
this.ac.setItemCasting(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
public PowersBase getPowersBase() {
|
|
|
|
return this.pb;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getTrains() {
|
|
|
|
return this.trains;
|
|
|
|
}
|
|
|
|
|
|
|
|
public AbstractWorldObject getTarget() {
|
|
|
|
return this.target;
|
|
|
|
}
|
|
|
|
}
|