package ender; import haven.Fightview; import haven.Fightview.Relation; public class SkillAvailability { public boolean isActive(){ return false; } public boolean isAvailable(){ return false; } public static class Combat extends SkillAvailability{ public static final int NOP = 12345; private int reqIP = NOP; private int minINT = NOP; private int maxINT = NOP; private int minBAL = NOP; private int maxBAL = NOP; private int minATK = NOP; private int maxATK = NOP; private int minDEF = NOP; private int maxDEF = NOP; public Combat(int IP){ super(); reqIP = IP; } public Combat() { super(); } @Override public boolean isActive() { return (Fightview.instance != null)&&(Fightview.instance.current != null); } @Override public boolean isAvailable() { Fightview fv; Relation rel; if((fv = Fightview.instance) == null){return false;} if((rel = fv.current) == null){return false;} if((reqIP != NOP)&&(rel.ip < reqIP)){ return false; } if((minINT != NOP)&&(rel.intns < minINT)){ return false; } if((maxINT != NOP)&&(rel.intns > maxINT)){ return false; } if((minBAL != NOP)&&(rel.bal < minBAL)){ return false; } if((maxBAL != NOP)&&(rel.bal > maxBAL)){ return false; } if((minATK != NOP)&&(fv.off < minATK)){ return false; } if((maxATK != NOP)&&(fv.off > maxATK)){ return false; } if((minDEF != NOP)&&(fv.def < minDEF)){ return false; } if((maxDEF != NOP)&&(fv.def > maxDEF)){ return false; } return true; } public synchronized Combat minIP(int reqIP) { this.reqIP = reqIP; return this; } public synchronized Combat minINT(int minINT) { this.minINT = minINT; return this; } public synchronized Combat maxINT(int maxINT) { this.maxINT = maxINT; return this; } public synchronized Combat minBAL(int reqBAL) { this.minBAL = reqBAL; return this; } public synchronized Combat minATK(int minATK) { this.minATK = 100*minATK; return this; } public synchronized Combat maxATK(int maxATK) { this.maxATK = 100*maxATK; return this; } public synchronized Combat minDEF(int minDEF) { this.minDEF = 100*minDEF; return this; } public synchronized Combat maxDEF(int maxDEF) { this.maxDEF = 100*maxDEF; return this; } } }