Add automatic detection of condition
This commit is contained in:
parent
6957f40ff6
commit
4452398eba
13
SigCrafter/src/sig/ColorPosition.java
Normal file
13
SigCrafter/src/sig/ColorPosition.java
Normal file
@ -0,0 +1,13 @@
|
||||
package sig;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Point;
|
||||
|
||||
public class ColorPosition {
|
||||
Point p;
|
||||
Color c;
|
||||
ColorPosition(int x,int y,int r,int g, int b) {
|
||||
this.p=new Point(x,y);
|
||||
this.c=new Color(r,g,b);
|
||||
}
|
||||
}
|
@ -1,13 +1,23 @@
|
||||
package sig;
|
||||
|
||||
import java.awt.AWTException;
|
||||
import java.awt.Color;
|
||||
import java.awt.GraphicsEnvironment;
|
||||
import java.awt.Point;
|
||||
import java.awt.Robot;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import sig.skills.BasicSynthesis;
|
||||
import sig.skills.BasicTouch;
|
||||
import sig.skills.BrandOfTheElements;
|
||||
import sig.skills.ByregotsBlessing;
|
||||
import sig.skills.GreatStrides;
|
||||
import sig.skills.HastyTouch;
|
||||
import sig.skills.InnerQuiet;
|
||||
@ -45,6 +55,12 @@ public class SigCraft {
|
||||
|
||||
public static Craft BEST_CRAFT;
|
||||
|
||||
public static Robot r;
|
||||
|
||||
public static ColorPosition CRAFTING_WINDOW_PIXELS = new ColorPosition(284,68,77,77,77);
|
||||
public static ColorPosition CRAFT_START_PIXELS = new ColorPosition(334,130,74,77,74);
|
||||
public static ColorPosition READY_FOR_ACTION_PIXELS = new ColorPosition(1031,892,230,197,164);
|
||||
|
||||
//Quality = (0.37 * Control + 32.6) * (1 - 0.05 * min(max(Recipe Level - Character Level, 0), 5))
|
||||
//Good +50%, Excellent +300%
|
||||
|
||||
@ -53,23 +69,32 @@ public class SigCraft {
|
||||
public static ArrayList<Craft> SucceededCrafts = new ArrayList<Craft>();
|
||||
|
||||
public static void main(String[] args) {
|
||||
SKILLLIST.put("Rapid Synthesis",new RapidSynthesis("Rapid Synthesis",0,false,9));
|
||||
SKILLLIST.put("Basic Synthesis",new BasicSynthesis("Basic Synthesis",0,true,1));
|
||||
SKILLLIST.put("Brand of the Elements",new BrandOfTheElements("Brand of the Elements",6,true,37));
|
||||
SKILLLIST.put("Basic Touch",new BasicTouch("Basic Touch",18,true,5));
|
||||
SKILLLIST.put("Hasty Touch",new HastyTouch("Hasty Touch",0,false,9));
|
||||
SKILLLIST.put("Standard Touch",new StandardTouch("Standard Touch",32,true,18));
|
||||
|
||||
try {
|
||||
r = new Robot();
|
||||
} catch (AWTException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
SKILLLIST.put("Rapid Synthesis",new RapidSynthesis("Rapid Synthesis",0,false,9,KeyEvent.VK_SHIFT,KeyEvent.VK_4));
|
||||
SKILLLIST.put("Basic Synthesis",new BasicSynthesis("Basic Synthesis",0,true,1,KeyEvent.VK_1));
|
||||
SKILLLIST.put("Brand of the Elements",new BrandOfTheElements("Brand of the Elements",6,true,37,KeyEvent.VK_CONTROL,KeyEvent.VK_X));
|
||||
SKILLLIST.put("Basic Touch",new BasicTouch("Basic Touch",18,true,5,KeyEvent.VK_2));
|
||||
SKILLLIST.put("Hasty Touch",new HastyTouch("Hasty Touch",0,false,9,KeyEvent.VK_CONTROL,KeyEvent.VK_3));
|
||||
SKILLLIST.put("Standard Touch",new StandardTouch("Standard Touch",32,true,18,KeyEvent.VK_SHIFT,KeyEvent.VK_2));
|
||||
//SKILLLIST.add(new Skill("Byregot's Blessing",24,true,50)); //TODO We don't know how this works yet.
|
||||
SKILLLIST.put("Tricks of the Trade",new TricksOfTheTrade("Tricks of the Trade",0,true,13));
|
||||
SKILLLIST.put("Master's Mend",new MastersMend("Master's Mend",88,true,7));
|
||||
SKILLLIST.put("Waste Not",new WasteNot("Waste Not",56,true,15));
|
||||
SKILLLIST.put("Waste Not II",new WasteNotII("Waste Not II",98,true,47));
|
||||
SKILLLIST.put("Inner Quiet",new InnerQuiet("Inner Quiet",18,true,11));
|
||||
SKILLLIST.put("Veneration",new Veneration("Veneration",18,true,15));
|
||||
SKILLLIST.put("Great Strides",new GreatStrides("Great Strides",32,true,21));
|
||||
SKILLLIST.put("Innovation",new Innovation("Innovation",18,true,26));
|
||||
SKILLLIST.put("Name of the Elements",new NameOfTheElements("Name of the Elements",30,true,37));
|
||||
SKILLLIST.put("Observe",new Observe("Observe",7,true,13));
|
||||
SKILLLIST.put("Tricks of the Trade",new TricksOfTheTrade("Tricks of the Trade",0,true,13,KeyEvent.VK_CONTROL,KeyEvent.VK_2));
|
||||
SKILLLIST.put("Master's Mend",new MastersMend("Master's Mend",88,true,7,KeyEvent.VK_3));
|
||||
SKILLLIST.put("Waste Not",new WasteNot("Waste Not",56,true,15,KeyEvent.VK_CONTROL,KeyEvent.VK_1));
|
||||
SKILLLIST.put("Waste Not II",new WasteNotII("Waste Not II",98,true,47,KeyEvent.VK_CONTROL,KeyEvent.VK_4));
|
||||
SKILLLIST.put("Inner Quiet",new InnerQuiet("Inner Quiet",18,true,11,KeyEvent.VK_5));
|
||||
SKILLLIST.put("Veneration",new Veneration("Veneration",18,true,15,KeyEvent.VK_SHIFT,KeyEvent.VK_1));
|
||||
SKILLLIST.put("Great Strides",new GreatStrides("Great Strides",32,true,21,KeyEvent.VK_CONTROL,KeyEvent.VK_5));
|
||||
SKILLLIST.put("Innovation",new Innovation("Innovation",18,true,26,KeyEvent.VK_4));
|
||||
SKILLLIST.put("Name of the Elements",new NameOfTheElements("Name of the Elements",30,true,37,KeyEvent.VK_CONTROL,KeyEvent.VK_Z));
|
||||
SKILLLIST.put("Observe",new Observe("Observe",7,true,13,KeyEvent.VK_C));
|
||||
SKILLLIST.put("Byregot's Blessing",new ByregotsBlessing("Byregot's Blessing",24,true,50,KeyEvent.VK_ALT,KeyEvent.VK_2));
|
||||
|
||||
|
||||
BUFFLIST.put("Inner Quiet",new Buff("Inner Quiet",0));
|
||||
BUFFLIST.put("Veneration",new Buff("Veneration",0));
|
||||
@ -80,7 +105,125 @@ public class SigCraft {
|
||||
BUFFLIST.put("Inner Quiet",new Buff("Inner Quiet", 0));
|
||||
BUFFLIST.put("Waste Not",new Buff("Waste Not",0));
|
||||
|
||||
SetupCraft();
|
||||
//SetupCraft();
|
||||
|
||||
//284,68 77,77,77
|
||||
while (true) {
|
||||
r.delay(1000);
|
||||
try {
|
||||
Color col=null;
|
||||
LookForScreenPixels(CRAFTING_WINDOW_PIXELS);
|
||||
System.out.println("Detected crafting window...");
|
||||
PressKey(KeyEvent.VK_NUMPAD0);r.delay(300);
|
||||
PressKey(KeyEvent.VK_NUMPAD0);r.delay(300);
|
||||
PressKey(KeyEvent.VK_NUMPAD0);r.delay(300);
|
||||
PressKey(KeyEvent.VK_NUMPAD0);r.delay(300);
|
||||
//334,130 74,77,74
|
||||
LookForScreenPixels(CRAFT_START_PIXELS);
|
||||
System.out.println("Craft started...");
|
||||
//336,267 151,220,96
|
||||
LookForScreenPixels(READY_FOR_ACTION_PIXELS);
|
||||
LoadRotation_40Durability_1700Quality_1Synth_280CP_LV47();
|
||||
} catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
//break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void LoadRotation_40Durability_1700Quality_1Synth_280CP_LV47() {
|
||||
PerformSkill("Inner Quiet");
|
||||
PerformSkill("Innovation");
|
||||
PerformSkill("Waste Not II");
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Standard Touch",true);
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Standard Touch",true);
|
||||
PerformSkill("Innovation",true);
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Standard Touch",true);
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Basic Synthesis");
|
||||
}
|
||||
|
||||
private static void LoadRotation_40Durability_1900Quality_1Synth_280CP_LV45() {
|
||||
PerformSkill("Inner Quiet");
|
||||
PerformSkill("Waste Not");
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Standard Touch",true);
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Standard Touch",true);
|
||||
PerformSkill("Innovation",true);
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Standard Touch",true);
|
||||
PerformSkill("Basic Touch",true);
|
||||
PerformSkill("Basic Synthesis");
|
||||
}
|
||||
|
||||
private static void GetCondition() {
|
||||
|
||||
}
|
||||
|
||||
private static void PerformSkill(String string) {
|
||||
PerformSkill(string,false);
|
||||
}
|
||||
|
||||
private static void PerformSkill(String string,boolean checkForMaxQuality) {
|
||||
try {
|
||||
LookForScreenPixels(READY_FOR_ACTION_PIXELS);
|
||||
} catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
r.delay(100);
|
||||
Skill s = SKILLLIST.get(string);
|
||||
if (s==null) {
|
||||
System.err.println("Could not find skill "+string+"!");
|
||||
System.exit(1);
|
||||
}
|
||||
if (checkForMaxQuality&&MaxQuality()) {return;}
|
||||
if (s.modifier!=-1) {
|
||||
PressKeyWithModifier(s.modifier,s.key);
|
||||
} else {
|
||||
PressKey(s.key);
|
||||
}
|
||||
r.delay(500);
|
||||
//1031,892 115,98,82 230,197,164
|
||||
}
|
||||
|
||||
private static boolean MaxQuality() {
|
||||
Color col=null;
|
||||
try {
|
||||
col = new Color(CaptureScreen().getRGB(336, 267));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return col.getRed()==151&&col.getGreen()==220&&col.getBlue()==96;
|
||||
}
|
||||
|
||||
private static void LookForScreenPixels(ColorPosition cp) throws IOException, InterruptedException {
|
||||
Color col;
|
||||
do {
|
||||
col = new Color(CaptureScreen().getRGB(cp.p.x, cp.p.y));
|
||||
r.delay(100);
|
||||
} while (!cp.c.equals(col));
|
||||
}
|
||||
|
||||
private static BufferedImage CaptureScreen() throws IOException {
|
||||
BufferedImage screenshot = r.createScreenCapture(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds());
|
||||
//ImageIO.write(screenshot,"png",new File("screenshot.png"));
|
||||
return screenshot;
|
||||
}
|
||||
|
||||
private static void PressKey(int keycode) {
|
||||
r.keyPress(keycode);
|
||||
r.keyRelease(keycode);
|
||||
}
|
||||
|
||||
private static void PressKeyWithModifier(int modifier,int keycode) {
|
||||
r.keyPress(modifier);
|
||||
r.keyPress(keycode);
|
||||
r.keyRelease(keycode);r.delay(100);
|
||||
r.keyRelease(modifier);
|
||||
}
|
||||
|
||||
public static boolean IsThereEnoughTurns(int durability,Map<String,Buff> bufflist,int turnsRequired) {
|
||||
@ -136,18 +279,24 @@ public class SigCraft {
|
||||
System.out.println("\tUsing standard rotation for Progress. Quality CP Available: "+qualityCPRemaining);
|
||||
}
|
||||
|
||||
//Can we just straight up craft?
|
||||
List<Skill> quality_rotation1 = new ArrayList<Skill>();
|
||||
Craft c3 = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,qualityCPRemaining,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
|
||||
RunCraftCheck(new String[]{},new String[]{"Basic Touch"},new String[]{});
|
||||
|
||||
boolean combo=false;
|
||||
while (c3.craft_quality<c3.quality_goal && IsThereEnoughTurns(c3.craft_durability,c3.BuffList,PROGRESS_FINAL_STEPS)) {
|
||||
s = !combo?SKILLLIST.get("Basic Touch"):SKILLLIST.get("Standard Touch");
|
||||
s.useSkill(c3);
|
||||
quality_rotation1.add(s);
|
||||
combo=!combo;
|
||||
combo = AttemptMastersMend(PROGRESS_FINAL_STEPS, quality_rotation1, c3, combo);
|
||||
//Can we just straight up craft?
|
||||
for (int i=0;i<2;i++) {
|
||||
List<Skill> quality_rotation1 = new ArrayList<Skill>();
|
||||
Craft c3 = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,qualityCPRemaining,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
|
||||
combo=false;
|
||||
while (c3.craft_quality<c3.quality_goal && IsThereEnoughTurns(c3.craft_durability,c3.BuffList,PROGRESS_FINAL_STEPS)) {
|
||||
s = !combo?SKILLLIST.get("Basic Touch"):SKILLLIST.get("Standard Touch");
|
||||
s.useSkill(c3);
|
||||
quality_rotation1.add(s);
|
||||
combo=!combo;
|
||||
if (i==1) {combo = AttemptMastersMend(PROGRESS_FINAL_STEPS, quality_rotation1, c3, combo);}
|
||||
}
|
||||
System.out.println("Raw Quality Rotation leaves "+c3.craft_cp+" CP, "+c3.craft_durability+" durability, "+(c3.quality_goal-c3.craft_quality)+" quality from the goal.");
|
||||
if (i==0&&c3.craft_cp<=SKILLLIST.get("Master's Mend").CPCost) {break;}
|
||||
}
|
||||
System.out.println("Raw Quality Rotation leaves "+c3.craft_cp+" CP, "+c3.craft_durability+" durability, "+(c3.quality_goal-c3.craft_quality)+" quality from the goal.");
|
||||
|
||||
//Add Inner Quiet
|
||||
List<Skill> quality_rotation2 = new ArrayList<Skill>();
|
||||
@ -435,6 +584,25 @@ public class SigCraft {
|
||||
|
||||
}
|
||||
|
||||
private static void RunCraftCheck(String[] preAbilities, String[] repeatAbilities, String[] reapplyBuffs, int qualityCPRemaining, int PROGRESS_FINAL_STEPS) {
|
||||
List<Skill> rotation = new ArrayList<Skill>();
|
||||
Craft craft = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,qualityCPRemaining,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
|
||||
for (String s : preAbilities) {
|
||||
Skill ss = SKILLLIST.get(s);
|
||||
ss.useSkill(craft);
|
||||
rotation.add(ss);
|
||||
}
|
||||
while (craft.craft_quality<craft.quality_goal && IsThereEnoughTurns(craft.craft_durability,craft.BuffList,PROGRESS_FINAL_STEPS)) {
|
||||
for (String s : reapplyBuffs) {
|
||||
if (craft.BuffList.get(s.replaceAll(Pattern.quote("Waste Not II"),"Waste Not")).stackCount==0) {
|
||||
Skill ss = SKILLLIST.get(s);
|
||||
ss.useSkill(craft);
|
||||
rotation.add(ss);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean AttemptMastersMend(int PROGRESS_FINAL_STEPS, List<Skill> quality_rotation1, Craft c3,
|
||||
boolean combo) {
|
||||
Skill s;
|
||||
|
@ -5,11 +5,18 @@ public class Skill implements SkillInterface{
|
||||
public int CPCost;
|
||||
public boolean guaranteed;
|
||||
public int lvReq;
|
||||
public Skill(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
public int modifier;
|
||||
public int key;
|
||||
public Skill(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
this.name = name;
|
||||
this.CPCost = CPCost;
|
||||
this.guaranteed = guaranteed;
|
||||
this.lvReq = lvReq;
|
||||
this.modifier=modifier;
|
||||
this.key=key;
|
||||
}
|
||||
public Skill(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
this(name,CPCost,guaranteed,lvReq,-1,key);
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
|
@ -5,8 +5,12 @@ import sig.Skill;
|
||||
|
||||
public class BasicSynthesis extends Skill {
|
||||
|
||||
public BasicSynthesis(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public BasicSynthesis(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public BasicSynthesis(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,11 @@ import sig.Skill;
|
||||
|
||||
public class BasicTouch extends Skill {
|
||||
|
||||
public BasicTouch(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public BasicTouch(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq,modifier,key);
|
||||
}
|
||||
public BasicTouch(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq,key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Skill;
|
||||
|
||||
public class BrandOfTheElements extends Skill {
|
||||
|
||||
public BrandOfTheElements(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public BrandOfTheElements(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public BrandOfTheElements(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
24
SigCrafter/src/sig/skills/ByregotsBlessing.java
Normal file
24
SigCrafter/src/sig/skills/ByregotsBlessing.java
Normal file
@ -0,0 +1,24 @@
|
||||
package sig.skills;
|
||||
|
||||
import sig.Buff;
|
||||
import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class ByregotsBlessing extends Skill {
|
||||
public ByregotsBlessing(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public ByregotsBlessing(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void useSkill(Craft c) {
|
||||
super.useSkill(c);
|
||||
//TODO Actually implement it.
|
||||
c.craft_quality += 1 * (c.quality_mult+c.BuffList.get("Inner Quiet").stackCount*0.2) * (0.37*c.control+32.6)*(1-0.05*Math.min(Math.max(c.recipe_level-c.level,0),5));
|
||||
c.craft_durability -= 10 * c.durability_mult;
|
||||
if (c.BuffList.get("Inner Quiet").stackCount>0) {c.BuffList.get("Inner Quiet").stackCount++;}
|
||||
}
|
||||
}
|
@ -5,8 +5,12 @@ import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class GreatStrides extends Skill {
|
||||
public GreatStrides(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public GreatStrides(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public GreatStrides(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Skill;
|
||||
|
||||
public class HastyTouch extends Skill {
|
||||
|
||||
public HastyTouch(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public HastyTouch(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public HastyTouch(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class InnerQuiet extends Skill {
|
||||
public InnerQuiet(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public InnerQuiet(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public InnerQuiet(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class Innovation extends Skill {
|
||||
public Innovation(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public Innovation(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public Innovation(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Skill;
|
||||
|
||||
public class MastersMend extends Skill {
|
||||
|
||||
public MastersMend(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public MastersMend(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public MastersMend(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class NameOfTheElements extends Skill {
|
||||
public NameOfTheElements(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public NameOfTheElements(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public NameOfTheElements(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,8 +4,12 @@ import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class Observe extends Skill {
|
||||
public Observe(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public Observe(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public Observe(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Skill;
|
||||
|
||||
public class RapidSynthesis extends Skill {
|
||||
|
||||
public RapidSynthesis(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public RapidSynthesis(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public RapidSynthesis(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Skill;
|
||||
|
||||
public class StandardTouch extends Skill {
|
||||
|
||||
public StandardTouch(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public StandardTouch(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public StandardTouch(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -6,8 +6,12 @@ import sig.Status;
|
||||
|
||||
public class TricksOfTheTrade extends Skill {
|
||||
|
||||
public TricksOfTheTrade(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public TricksOfTheTrade(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public TricksOfTheTrade(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class Veneration extends Skill {
|
||||
public Veneration(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public Veneration(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public Veneration(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -6,8 +6,12 @@ import sig.Skill;
|
||||
|
||||
public class WasteNot extends Skill {
|
||||
|
||||
public WasteNot(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public WasteNot(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public WasteNot(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,8 +5,12 @@ import sig.Craft;
|
||||
import sig.Skill;
|
||||
|
||||
public class WasteNotII extends Skill {
|
||||
public WasteNotII(String name, int CPCost, boolean guaranteed, int lvReq) {
|
||||
super(name, CPCost, guaranteed, lvReq);
|
||||
public WasteNotII(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, modifier, key);
|
||||
}
|
||||
|
||||
public WasteNotII(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
|
||||
super(name, CPCost, guaranteed, lvReq, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user