From 8d80645850126bd5d25ca6e3fc7c7bf6fa799d53 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Fri, 2 Jun 2023 23:58:17 -0500 Subject: [PATCH] Implemented Lv53+62 rotations --- SigCrafter/condition_stats.txt | 6 +- SigCrafter/run | 4 +- SigCrafter/src/sig/SigCraft.java | 334 +++--------------- .../src/sig/skills/CarefulSynthesis.java | 24 ++ 4 files changed, 79 insertions(+), 289 deletions(-) create mode 100644 SigCrafter/src/sig/skills/CarefulSynthesis.java diff --git a/SigCrafter/condition_stats.txt b/SigCrafter/condition_stats.txt index 81605fa..8c98ef6 100644 --- a/SigCrafter/condition_stats.txt +++ b/SigCrafter/condition_stats.txt @@ -1,3 +1,3 @@ -862 -154 -28 +14830 +3087 +451 diff --git a/SigCrafter/run b/SigCrafter/run index d4ca111..3450ca0 100755 --- a/SigCrafter/run +++ b/SigCrafter/run @@ -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 \ No newline at end of file diff --git a/SigCrafter/src/sig/SigCraft.java b/SigCrafter/src/sig/SigCraft.java index 1feb589..3dfbb03 100644 --- a/SigCrafter/src/sig/SigCraft.java +++ b/SigCrafter/src/sig/SigCraft.java @@ -17,7 +17,7 @@ import java.util.List; import java.util.Map; import java.util.regex.Pattern; -import sig.skills.BasicSynthesis; +import sig.skills.CarefulSynthesis; import sig.skills.BasicTouch; import sig.skills.BrandOfTheElements; import sig.skills.ByregotsBlessing; @@ -40,7 +40,7 @@ import sig.utils.FileUtils; public class SigCraft { public static int LEVEL = 100; 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 CONTROL = 185; public static int PROGRESS_GOAL = 143; @@ -54,7 +54,8 @@ public class SigCraft { public static boolean STAT_TRACKING = true; final static NumberFormat displayFormat = new DecimalFormat("#0.0"); - public static List 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 VALID_TOUCH_ACTIONS = Arrays.asList("Basic Touch","Standard Touch","Hasty Touch","Byregot's Blessing","Brand of the Elements","Precise Touch"); public static Map BUFFLIST = new HashMap(); public static Map SKILLLIST = new HashMap(); @@ -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("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)); + + //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("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("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.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)); @@ -115,7 +122,7 @@ public class SigCraft { 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)); + 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)); @@ -136,6 +143,7 @@ public class SigCraft { //284,68 77,77,77 while (true) { + //for (int i=0;i<17;i++){ r.delay(100); //System.out.println("Waiting..."); //LookForScreenPixels(CRAFT_START_PIXELS); @@ -160,15 +168,8 @@ public class SigCraft { LookForScreenPixels(READY_FOR_ACTION_PIXELS); CONDITION_CHECK = true; UpdateCondition(); - //LoadRotation_40Durability_800Quality_1Synth_280CP_LV50(); - //LoadRotation_40Durability_1200Quality_1Synth_282CP_LV47(); - //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(); + LoadRotation_40Durability_1600Quality_1Synth_311CP_LV62(); + //LoadRotation_40Durability_1600Quality_1Synth_311CP_LV53(); 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"); 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() { - 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; + 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"); - CONDITION_CHECK = false;UpdateCondition(); PerformSkill("Waste Not II"); UseRegularTouch(); UseRegularTouch(); UseRegularTouch(); - UseRegularTouch(); - UseRegularTouch(); + PerformSkill("Innovation",true); UseRegularTouch(); PerformSkill("Great Strides",true); + /*if (CURRENT_CONDITION==Condition.NORMAL){ + PerformSkill("Observe"); + }*/ PerformSkill("Byregot's Blessing",true); - PerformSkill("Basic Synthesis"); + PerformSkill("Careful Synthesis"); } - private static void LoadRotation_40Durability_1700Quality_1Synth_278CP_LV47() { - LEVEL=47; + private static void LoadRotation_40Durability_1600Quality_1Synth_311CP_LV53(){ 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(); 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); - 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(); + PerformSkill("Great Strides",true); + /*if (CURRENT_CONDITION==Condition.NORMAL){ + PerformSkill("Observe"); + }*/ + PerformSkill("Byregot's Blessing",true); PerformSkill("Veneration"); 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() { - boolean isHundredPercent=false; - try { - 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 (MaxQuality()){ + return; } - 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_cp>=18) { - if (LEVEL>=53){ - UpdateCondition(); - } - if (LEVEL>=53&&(CURRENT_CONDITION==Condition.GOOD||CURRENT_CONDITION==Condition.EXCELLENT)){ - PerformSkill("Precise Touch",true); - } else - if (IsCombo()) { - PerformSkill("Standard Touch",true); - } else { - PerformSkill("Basic Touch",true); - } + 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 (LEVEL>=53&&(CURRENT_CONDITION==Condition.GOOD||CURRENT_CONDITION==Condition.EXCELLENT)){ + PerformSkill("Precise Touch",true); + } else + if (IsCombo()) { + PerformSkill("Standard Touch",true); } 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() { - 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() { @@ -528,7 +294,9 @@ public class SigCraft { } private static void PerformSkill(String string,boolean checkForMaxQuality) { - + if (checkForMaxQuality&&MaxQuality()) { + return; + } if (CURRENT_CONDITION==Condition.EXCELLENT&& !VALID_TOUCH_ACTIONS.contains(string)) { UseRegularTouch(); @@ -539,9 +307,6 @@ public class SigCraft { e.printStackTrace(); } r.delay(40); - if (checkForMaxQuality&&MaxQuality()) { - return; - } if (VALID_TOUCH_ACTIONS.contains(string)&&!IsThereEnoughTurns(CURRENT_CRAFT.craft_durability,CURRENT_CRAFT.BuffList,1)) {return;} //System.out.println(" Still enough Turns."); Skill s = SKILLLIST.get(string); @@ -558,7 +323,6 @@ public class SigCraft { s.useSkill(CURRENT_CRAFT); System.out.println(" Durability: "+CURRENT_CRAFT.craft_durability+" CP:"+CURRENT_CRAFT.craft_cp); } - r.delay(300); UpdateCondition(); if (CONDITION_CHECK) { System.out.println("Condition is now: "+CURRENT_CONDITION); @@ -569,12 +333,12 @@ public class SigCraft { private static boolean MaxQuality() { Color col=null; 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); } catch (IOException e) { 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 { diff --git a/SigCrafter/src/sig/skills/CarefulSynthesis.java b/SigCrafter/src/sig/skills/CarefulSynthesis.java new file mode 100644 index 0000000..4e3a032 --- /dev/null +++ b/SigCrafter/src/sig/skills/CarefulSynthesis.java @@ -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); + } + +}