Implemented Lv53 Precise Touch mechanics

main
sigonasr2 2 years ago
parent cfb735c044
commit 67d621fde1
  1. 6
      SigCrafter/condition_stats.txt
  2. 38
      SigCrafter/src/sig/SigCraft.java
  3. 30
      SigCrafter/src/sig/skills/PreciseTouch.java

@ -1,3 +1,3 @@
143
26
4
862
154
28

@ -28,6 +28,7 @@ import sig.skills.Innovation;
import sig.skills.MastersMend;
import sig.skills.NameOfTheElements;
import sig.skills.Observe;
import sig.skills.PreciseTouch;
import sig.skills.RapidSynthesis;
import sig.skills.StandardTouch;
import sig.skills.TricksOfTheTrade;
@ -102,6 +103,7 @@ public class SigCraft {
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));
@ -160,7 +162,8 @@ public class SigCraft {
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_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();
@ -279,6 +282,7 @@ public class SigCraft {
}
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");
@ -293,6 +297,7 @@ public class SigCraft {
}
private static void LoadRotation_40Durability_1900Quality_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");
@ -310,6 +315,7 @@ public class SigCraft {
}
private static void LoadRotation_40Durability_1700Quality_1Synth_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");
@ -330,6 +336,7 @@ public class SigCraft {
}
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");
@ -350,6 +357,7 @@ public class SigCraft {
}
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();
@ -368,6 +376,27 @@ public class SigCraft {
}
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");
@ -387,6 +416,7 @@ public class SigCraft {
}
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;
@ -424,6 +454,12 @@ public class SigCraft {
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 {

@ -0,0 +1,30 @@
package sig.skills;
import sig.Craft;
import sig.Skill;
public class PreciseTouch extends Skill {
public PreciseTouch(String name, int CPCost, boolean guaranteed, int lvReq, int modifier, int key) {
super(name, CPCost, guaranteed, lvReq, modifier, key);
}
public PreciseTouch(String name, int CPCost, boolean guaranteed, int lvReq, int key) {
super(name, CPCost, guaranteed, lvReq, key);
}
@Override
public void useSkill(Craft c) {
if (c.SkillList.size()>0&&c.SkillList.get(c.SkillList.size()-1).name.equalsIgnoreCase("Basic Touch")) {
CPCost = 18;
} else {
CPCost = 32;
}
c.craft_quality += 1.25 * c.quality_mult * (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;
super.useSkill(c);
if (c.BuffList.get("Inner Quiet").stackCount>0) {c.BuffList.get("Inner Quiet").stackCount++;}
super.updateBuffs(c);
}
}
Loading…
Cancel
Save