Implemented Lv53+62 rotations

main
sigonasr2 2 years ago
parent 67d621fde1
commit 8d80645850
  1. 6
      SigCrafter/condition_stats.txt
  2. 4
      SigCrafter/run
  3. 334
      SigCrafter/src/sig/SigCraft.java
  4. 24
      SigCrafter/src/sig/skills/CarefulSynthesis.java

@ -1,3 +1,3 @@
862 14830
154 3087
28 451

@ -1,2 +1,4 @@
javac src/sig/*.java src/sig/skills/*.java -d bin cd src
javac sig/*.java sig/skills/*.java -d ../bin
cd ..
java -cp bin sig/SigCraft java -cp bin sig/SigCraft

@ -17,7 +17,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import sig.skills.BasicSynthesis; import sig.skills.CarefulSynthesis;
import sig.skills.BasicTouch; import sig.skills.BasicTouch;
import sig.skills.BrandOfTheElements; import sig.skills.BrandOfTheElements;
import sig.skills.ByregotsBlessing; import sig.skills.ByregotsBlessing;
@ -40,7 +40,7 @@ import sig.utils.FileUtils;
public class SigCraft { public class SigCraft {
public static int LEVEL = 100; public static int LEVEL = 100;
public static int RECIPE_LEVEL = 41; public static int RECIPE_LEVEL = 41;
public static int CP = 280; public static int CP = 311;
public static int BASE_PROGRESS = 57; public static int BASE_PROGRESS = 57;
public static int CONTROL = 185; public static int CONTROL = 185;
public static int PROGRESS_GOAL = 143; public static int PROGRESS_GOAL = 143;
@ -54,7 +54,8 @@ public class SigCraft {
public static boolean STAT_TRACKING = true; public static boolean STAT_TRACKING = true;
final static NumberFormat displayFormat = new DecimalFormat("#0.0"); final static NumberFormat displayFormat = new DecimalFormat("#0.0");
public static List<String> VALID_TOUCH_ACTIONS = Arrays.asList("Basic Touch","Standard Touch","Hasty Touch","Byregot's Blessing","Brand of the Elements"); //WHEN A TOUCH ACTION IS ADDED YOU MUST UPDATE THIS LIST AS WELL!
public static List<String> VALID_TOUCH_ACTIONS = Arrays.asList("Basic Touch","Standard Touch","Hasty Touch","Byregot's Blessing","Brand of the Elements","Precise Touch");
public static Map<String,Buff> BUFFLIST = new HashMap<String,Buff>(); public static Map<String,Buff> BUFFLIST = new HashMap<String,Buff>();
public static Map<String,Skill> SKILLLIST = new HashMap<String,Skill>(); public static Map<String,Skill> SKILLLIST = new HashMap<String,Skill>();
@ -98,12 +99,18 @@ public class SigCraft {
} }
SKILLLIST.put("Rapid Synthesis",new RapidSynthesis("Rapid Synthesis",0,false,9,KeyEvent.VK_SHIFT,KeyEvent.VK_4)); 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("Basic Synthesis",new CarefulSynthesis("Basic Synthesis",0,true,1,KeyEvent.VK_1));
SKILLLIST.put("Careful Synthesis",new CarefulSynthesis("Careful Synthesis",7,true,62,KeyEvent.VK_Z));
SKILLLIST.put("Brand of the Elements",new BrandOfTheElements("Brand of the Elements",6,true,37,KeyEvent.VK_CONTROL,KeyEvent.VK_X)); SKILLLIST.put("Brand of the Elements",new BrandOfTheElements("Brand of the Elements",6,true,37,KeyEvent.VK_CONTROL,KeyEvent.VK_X));
//TOUCH ACTIONS
// !!IMPORTANT!! WHEN YOU ADD A TOUCH ACTION YOU MUST UPDATE THE VALID TOUCH ACTIONS LIST ABOVE TO AVOID AN INFINITE LOOP ON EXCELLENT PROCS!!!!
SKILLLIST.put("Basic Touch",new BasicTouch("Basic Touch",18,true,5,KeyEvent.VK_2)); 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("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.put("Standard Touch",new StandardTouch("Standard Touch",32,true,18,KeyEvent.VK_SHIFT,KeyEvent.VK_2));
SKILLLIST.put("Precise Touch",new PreciseTouch("Precise Touch",18,true,53,KeyEvent.VK_ALT,KeyEvent.VK_2)); SKILLLIST.put("Precise Touch",new PreciseTouch("Precise Touch",18,true,53,KeyEvent.VK_ALT,KeyEvent.VK_2));
//
//SKILLLIST.add(new Skill("Byregot's Blessing",24,true,50)); //TODO We don't know how this works yet. //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,KeyEvent.VK_CONTROL,KeyEvent.VK_2)); 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("Master's Mend",new MastersMend("Master's Mend",88,true,7,KeyEvent.VK_3));
@ -115,7 +122,7 @@ public class SigCraft {
SKILLLIST.put("Innovation",new Innovation("Innovation",18,true,26,KeyEvent.VK_4)); 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("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("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)); SKILLLIST.put("Byregot's Blessing",new ByregotsBlessing("Byregot's Blessing",24,true,50,KeyEvent.VK_ALT,KeyEvent.VK_3));
BUFFLIST.put("Inner Quiet",new Buff("Inner Quiet",0)); BUFFLIST.put("Inner Quiet",new Buff("Inner Quiet",0));
@ -136,6 +143,7 @@ public class SigCraft {
//284,68 77,77,77 //284,68 77,77,77
while (true) { while (true) {
//for (int i=0;i<17;i++){
r.delay(100); r.delay(100);
//System.out.println("Waiting..."); //System.out.println("Waiting...");
//LookForScreenPixels(CRAFT_START_PIXELS); //LookForScreenPixels(CRAFT_START_PIXELS);
@ -160,15 +168,8 @@ public class SigCraft {
LookForScreenPixels(READY_FOR_ACTION_PIXELS); LookForScreenPixels(READY_FOR_ACTION_PIXELS);
CONDITION_CHECK = true; CONDITION_CHECK = true;
UpdateCondition(); UpdateCondition();
//LoadRotation_40Durability_800Quality_1Synth_280CP_LV50(); LoadRotation_40Durability_1600Quality_1Synth_311CP_LV62();
//LoadRotation_40Durability_1200Quality_1Synth_282CP_LV47(); //LoadRotation_40Durability_1600Quality_1Synth_311CP_LV53();
//LoadRotation_40Durability_1200Quality_1Synth_wVeneration_280CP_LV47();
LoadRotation_40Durability_1200Quality_1Synth_wVeneration_280CP_LV53();
//LoadRotation_40Durability_1700Quality_1Synth_278CP_LV47();
//LoadRotation_40Durability_1700Quality_1Synth_wVeneration_278CP_LV47();
//LoadRotation_40Durability_1900Quality_1Synth_280CP_LV45();
//LoadRotation_40Durability_1900Quality_1Synth_280CP_LV50();
//LoadRotation_40Durability_2300Quality_1Synth_282CP_LV50();
System.out.println("Rotation: "+CURRENT_CRAFT.getRotationString()); System.out.println("Rotation: "+CURRENT_CRAFT.getRotationString());
FileUtils.writetoFile(new String[]{Integer.toString(NORMAL_COUNT),Integer.toString(GOOD_COUNT),Integer.toString(EXCELLENT_COUNT),},"condition_stats.txt"); FileUtils.writetoFile(new String[]{Integer.toString(NORMAL_COUNT),Integer.toString(GOOD_COUNT),Integer.toString(EXCELLENT_COUNT),},"condition_stats.txt");
int TOTAL_COUNT = NORMAL_COUNT+GOOD_COUNT+EXCELLENT_COUNT; int TOTAL_COUNT = NORMAL_COUNT+GOOD_COUNT+EXCELLENT_COUNT;
@ -180,302 +181,67 @@ public class SigCraft {
} }
} }
private static void LoadRotation_40Durability_2300Quality_1Synth_282CP_LV50() { private static void LoadRotation_40Durability_1600Quality_1Synth_311CP_LV62(){
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
PerformSkill("Inner Quiet");
boolean tricksUsed = false;
tricksUsed=CheckForRecoveryCP()||tricksUsed;
PerformSkill("Waste Not II");
while (CURRENT_CRAFT.craft_durability>10&&!MaxQuality()) {
if (CURRENT_CONDITION==Condition.EXCELLENT) {
PerformSkill("Basic Touch",true);
PerformSkill("Innovation",true);
while (CURRENT_CRAFT.craft_durability>10&&CURRENT_CRAFT.BuffList.get("Waste Not").stackCount>=3) {
UseRegularTouch();
}
PerformSkill("Great Strides",true);
PerformSkill("Byregot's Blessing",true);
PerformSkill("Basic Synthesis");
return;
}
PerformSkill("Hasty Touch",true);
}
PerformSkill("Master's Mend",true);
//tricksUsed=CheckForRecoveryCP()||tricksUsed;
PerformSkill("Hasty Touch",true);
tricksUsed=CheckForRecoveryCP()||tricksUsed;
PerformSkill("Hasty Touch",true);
if (CheckForRecoveryCP()) {
if (!tricksUsed) {
tricksUsed=true;
UseRegularTouch();
}
}
PerformSkill("Innovation",true);
if (CURRENT_CRAFT.craft_cp>=84) {
UseRegularTouch();
} else {
CheckForRecoveryCP();PerformSkill("Hasty Touch",true);
}
PerformSkill("Great Strides",true);
if (CURRENT_CRAFT.craft_cp>=24) {
while (CURRENT_CRAFT.BuffList.get("Great Strides").stackCount>=2&&CURRENT_CRAFT.BuffList.get("Innovation").stackCount>=2&&CURRENT_CRAFT.craft_cp>=31&&CURRENT_CONDITION!=Condition.GOOD&&CURRENT_CONDITION!=Condition.EXCELLENT) {
PerformSkill("Observe",true);
}
PerformSkill("Byregot's Blessing",true);
} else {
UseRegularTouch();
}
PerformSkill("Basic Synthesis");
}
private static void LoadRotation_40Durability_2300Quality_2Synth_282CP_LV50() {
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
PerformSkill("Inner Quiet");
boolean tricksUsed = false;
tricksUsed=CheckForRecoveryCP()||tricksUsed;
PerformSkill("Waste Not II");
while (CURRENT_CRAFT.craft_durability>10&&!MaxQuality()) {
PerformSkill("Hasty Touch",true);
}
PerformSkill("Master's Mend",true);
//tricksUsed=CheckForRecoveryCP()||tricksUsed;
PerformSkill("Hasty Touch",true);
tricksUsed=CheckForRecoveryCP()||tricksUsed;
PerformSkill("Hasty Touch",true);
if (tricksUsed) {
PerformSkill("Hasty Touch",true);
}
if (CheckForRecoveryCP()) {
if (!tricksUsed) {
tricksUsed=true;
PerformSkill("Hasty Touch",true);
}
}
PerformSkill("Great Strides",true);
if (CheckForRecoveryCP()) {
if (!tricksUsed) {
tricksUsed=true;
PerformSkill("Hasty Touch",true);
}
}
PerformSkill("Innovation",true);
if (CURRENT_CRAFT.craft_cp>=24) {
PerformSkill("Byregot's Blessing",true);
} else {
UseRegularTouch();
}
if (tricksUsed) {
PerformSkill("Veneration");
}
if (CURRENT_CRAFT.craft_cp>=18) {
tricksUsed=true;
PerformSkill("Hasty Touch",true);
}
PerformSkill("Basic Synthesis");
if (!tricksUsed) {
PerformSkill("Basic Synthesis");
}
}
private static void LoadRotation_40Durability_800Quality_1Synth_280CP_LV50() {
LEVEL=50;
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
PerformSkill("Inner Quiet");
CONDITION_CHECK = false;UpdateCondition();
PerformSkill("Waste Not II");
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
PerformSkill("Great Strides",true);
PerformSkill("Byregot's Blessing",true);
PerformSkill("Basic Synthesis");
}
private static void LoadRotation_40Durability_1900Quality_1Synth_280CP_LV50() {
LEVEL=50;
DURABILITY=40; DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST); CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
PerformSkill("Inner Quiet");
CONDITION_CHECK = false;UpdateCondition();
PerformSkill("Waste Not II"); PerformSkill("Waste Not II");
UseRegularTouch(); UseRegularTouch();
UseRegularTouch(); UseRegularTouch();
UseRegularTouch(); UseRegularTouch();
UseRegularTouch(); PerformSkill("Innovation",true);
UseRegularTouch();
UseRegularTouch(); UseRegularTouch();
PerformSkill("Great Strides",true); PerformSkill("Great Strides",true);
/*if (CURRENT_CONDITION==Condition.NORMAL){
PerformSkill("Observe");
}*/
PerformSkill("Byregot's Blessing",true); PerformSkill("Byregot's Blessing",true);
PerformSkill("Basic Synthesis"); PerformSkill("Careful Synthesis");
} }
private static void LoadRotation_40Durability_1700Quality_1Synth_278CP_LV47() { private static void LoadRotation_40Durability_1600Quality_1Synth_311CP_LV53(){
LEVEL=47;
DURABILITY=40; DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST); CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
PerformSkill("Inner Quiet");
CONDITION_CHECK = false;UpdateCondition();
PerformSkill("Innovation");
PerformSkill("Waste Not II"); PerformSkill("Waste Not II");
UseRegularTouch(); UseRegularTouch();
UseRegularTouch(); UseRegularTouch();
UseRegularTouch(); UseRegularTouch();
UseRegularTouch();
CONDITION_CHECK = true;UpdateCondition();
PerformSkill("Innovation",true);
CONDITION_CHECK = false;UpdateCondition();
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
PerformSkill("Basic Synthesis");
}
private static void LoadRotation_40Durability_1700Quality_1Synth_wVeneration_278CP_LV47() {
LEVEL=47;
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
PerformSkill("Inner Quiet");
CONDITION_CHECK = false;UpdateCondition();
PerformSkill("Innovation");
PerformSkill("Waste Not II");
UseRegularTouch();
UseRegularTouch();
CONDITION_CHECK = true;UpdateCondition();
PerformSkill("Innovation",true); PerformSkill("Innovation",true);
CONDITION_CHECK = false;UpdateCondition();
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
PerformSkill("Veneration");
PerformSkill("Basic Synthesis");
}
private static void LoadRotation_40Durability_1200Quality_1Synth_282CP_LV47() {
LEVEL=47;
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
CONDITION_CHECK = false;UpdateCondition();
PerformSkill("Inner Quiet");
PerformSkill("Innovation");
PerformSkill("Waste Not II");
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
//PerformSkill("Innovation",true);
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
PerformSkill("Basic Synthesis");
}
private static void LoadRotation_40Durability_1200Quality_1Synth_wVeneration_280CP_LV47() {
LEVEL=47;
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
//PerformSkill("Inner Quiet");
CONDITION_CHECK = false;UpdateCondition();
PerformSkill("Waste Not II");
PerformSkill("Innovation");
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
//PerformSkill("Innovation",true);
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
PerformSkill("Veneration");
PerformSkill("Basic Synthesis");
}
private static void LoadRotation_40Durability_1200Quality_1Synth_wVeneration_280CP_LV53() {
LEVEL=53;
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
//PerformSkill("Inner Quiet");
CONDITION_CHECK = false;UpdateCondition();
PerformSkill("Waste Not II");
PerformSkill("Innovation");
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
UseRegularTouch();
//PerformSkill("Innovation",true);
UseRegularTouch();
UseRegularTouch();
UseRegularTouch(); UseRegularTouch();
PerformSkill("Great Strides",true);
/*if (CURRENT_CONDITION==Condition.NORMAL){
PerformSkill("Observe");
}*/
PerformSkill("Byregot's Blessing",true);
PerformSkill("Veneration"); PerformSkill("Veneration");
PerformSkill("Basic Synthesis"); PerformSkill("Basic Synthesis");
} }
private static void LoadRotation_40Durability_1900Quality_1Synth_280CP_LV45() {
LEVEL=45;
DURABILITY=40;
CURRENT_CRAFT = new Craft(CONTROL,LEVEL,CP,BASE_PROGRESS,PROGRESS_GOAL,QUALITY_GOAL,GUARANTEED,DURABILITY,CRAFT_PROGRESS,CRAFT_QUALITY,DURABILITY,CP,1,1,1,RECIPE_LEVEL,Status.NORMAL,BUFFLIST);
boolean combo=false;
PerformSkill("Inner Quiet");
CheckForRecoveryCP();PerformSkill("Innovation");
CheckForRecoveryCP();PerformSkill("Waste Not");
while (!MaxQuality()) {
if (CURRENT_CONDITION==Condition.EXCELLENT) {
UseRegularTouch();
} else
if (CURRENT_CRAFT.BuffList.get("Waste Not").stackCount!=0) {
if (!IsThereEnoughTurns(CURRENT_CRAFT.craft_durability,CURRENT_CRAFT.BuffList,1)) {
break;
}
UseRegularTouch();
} else {
CheckForRecoveryCP();PerformSkill("Innovation");
CheckForRecoveryCP();PerformSkill("Waste Not");
}
//System.out.println(IsThereEnoughTurns(CURRENT_CRAFT.craft_durability,CURRENT_CRAFT.BuffList,2));
}
PerformSkill("Basic Synthesis");
}
private static void UseRegularTouch() { private static void UseRegularTouch() {
boolean isHundredPercent=false; if (MaxQuality()){
try { return;
Color col = new Color(CaptureScreen().getRGB(HUNDRED_PERCENT_QUALITY.p.x,HUNDRED_PERCENT_QUALITY.p.y));
if (col.getRGB()==HUNDRED_PERCENT_QUALITY.c.getRGB()) {
isHundredPercent=true;
}
} catch (IOException e) {
e.printStackTrace();
} }
if (!isHundredPercent){ if ((CURRENT_CRAFT.craft_durability>5&&CURRENT_CRAFT.BuffList.get("Waste Not").stackCount>0)||(CURRENT_CRAFT.craft_durability>10&&CURRENT_CRAFT.BuffList.get("Waste Not").stackCount==0)) {
if ((CURRENT_CRAFT.craft_durability>5&&CURRENT_CRAFT.BuffList.get("Waste Not").stackCount>0)||(CURRENT_CRAFT.craft_durability>10&&CURRENT_CRAFT.BuffList.get("Waste Not").stackCount==0)) { if (CURRENT_CRAFT.craft_cp>=18) {
if (CURRENT_CRAFT.craft_cp>=18) { if (LEVEL>=53&&(CURRENT_CONDITION==Condition.GOOD||CURRENT_CONDITION==Condition.EXCELLENT)){
if (LEVEL>=53){ PerformSkill("Precise Touch",true);
UpdateCondition(); } else
} if (IsCombo()) {
if (LEVEL>=53&&(CURRENT_CONDITION==Condition.GOOD||CURRENT_CONDITION==Condition.EXCELLENT)){ PerformSkill("Standard Touch",true);
PerformSkill("Precise Touch",true);
} else
if (IsCombo()) {
PerformSkill("Standard Touch",true);
} else {
PerformSkill("Basic Touch",true);
}
} else { } else {
PerformSkill("Hasty Touch",true); PerformSkill("Basic Touch",true);
} }
} else {
PerformSkill("Hasty Touch",true);
} }
} else {
System.out.println("100% has been reached, touch will be skipped...");
} }
} }
private static boolean IsCombo() { private static boolean IsCombo() {
return CURRENT_CRAFT.SkillList.get(CURRENT_CRAFT.SkillList.size()-1).name.equals("Basic Touch"); if (CURRENT_CRAFT.SkillList.size()>0) {
return CURRENT_CRAFT.SkillList.get(CURRENT_CRAFT.SkillList.size()-1).name.equals("Basic Touch");
} else {
return false;
}
} }
private static boolean CheckForRecoveryCP() { private static boolean CheckForRecoveryCP() {
@ -528,7 +294,9 @@ public class SigCraft {
} }
private static void PerformSkill(String string,boolean checkForMaxQuality) { private static void PerformSkill(String string,boolean checkForMaxQuality) {
if (checkForMaxQuality&&MaxQuality()) {
return;
}
if (CURRENT_CONDITION==Condition.EXCELLENT&& if (CURRENT_CONDITION==Condition.EXCELLENT&&
!VALID_TOUCH_ACTIONS.contains(string)) { !VALID_TOUCH_ACTIONS.contains(string)) {
UseRegularTouch(); UseRegularTouch();
@ -539,9 +307,6 @@ public class SigCraft {
e.printStackTrace(); e.printStackTrace();
} }
r.delay(40); r.delay(40);
if (checkForMaxQuality&&MaxQuality()) {
return;
}
if (VALID_TOUCH_ACTIONS.contains(string)&&!IsThereEnoughTurns(CURRENT_CRAFT.craft_durability,CURRENT_CRAFT.BuffList,1)) {return;} if (VALID_TOUCH_ACTIONS.contains(string)&&!IsThereEnoughTurns(CURRENT_CRAFT.craft_durability,CURRENT_CRAFT.BuffList,1)) {return;}
//System.out.println(" Still enough Turns."); //System.out.println(" Still enough Turns.");
Skill s = SKILLLIST.get(string); Skill s = SKILLLIST.get(string);
@ -558,7 +323,6 @@ public class SigCraft {
s.useSkill(CURRENT_CRAFT); s.useSkill(CURRENT_CRAFT);
System.out.println(" Durability: "+CURRENT_CRAFT.craft_durability+" CP:"+CURRENT_CRAFT.craft_cp); System.out.println(" Durability: "+CURRENT_CRAFT.craft_durability+" CP:"+CURRENT_CRAFT.craft_cp);
} }
r.delay(300);
UpdateCondition(); UpdateCondition();
if (CONDITION_CHECK) { if (CONDITION_CHECK) {
System.out.println("Condition is now: "+CURRENT_CONDITION); System.out.println("Condition is now: "+CURRENT_CONDITION);
@ -569,12 +333,12 @@ public class SigCraft {
private static boolean MaxQuality() { private static boolean MaxQuality() {
Color col=null; Color col=null;
try { try {
col = new Color(CaptureScreen().getRGB(336, 267)); col = new Color(CaptureScreen().getRGB(HUNDRED_PERCENT_QUALITY.p.x,HUNDRED_PERCENT_QUALITY.p.y));
//System.out.println(col); //System.out.println(col);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
return col.getRed()==151&&col.getGreen()==220&&col.getBlue()==96; return col.getRGB()==HUNDRED_PERCENT_QUALITY.c.getRGB();
} }
private static void LookForScreenPixels(ColorPosition...cp) throws IOException, InterruptedException { private static void LookForScreenPixels(ColorPosition...cp) throws IOException, InterruptedException {

@ -0,0 +1,24 @@
package sig.skills;
import sig.Craft;
import sig.Skill;
public class CarefulSynthesis extends Skill {
public CarefulSynthesis(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
super(name, CPCost, guaranteed, lvReq, modifier, key);
}
public CarefulSynthesis(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
super(name, CPCost, guaranteed, lvReq, key);
}
@Override
public void useSkill(Craft c) {
c.craft_progress += c.base_progress * c.progress_mult * 1.2;
c.craft_durability -= 10 * c.durability_mult;
super.useSkill(c);
super.updateBuffs(c);
}
}
Loading…
Cancel
Save