@ -17,7 +17,7 @@ import java.util.List;
import java.util.Map ;
import java.util.regex.Pattern ;
import sig.skills.Basic Synthesis ;
import sig.skills.Careful Synthesis ;
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 < 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 , 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 ( "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 . get Blue ( ) = = 96 ;
return col . getRGB ( ) = = HUNDRED_PERCENT_QUALITY . c . getR GB ( ) ;
}
private static void LookForScreenPixels ( ColorPosition . . . cp ) throws IOException , InterruptedException {