Perfect woodcutting success rates
This commit is contained in:
+36
@@ -138,6 +138,10 @@ public enum WoodcuttingNode {
|
|||||||
double experience,rate;
|
double experience,rate;
|
||||||
byte identifier;
|
byte identifier;
|
||||||
boolean farming;
|
boolean farming;
|
||||||
|
double baseLow = 64;
|
||||||
|
double baseHigh = 200;
|
||||||
|
double tierModLow = 32;
|
||||||
|
double tierModHigh = 100;
|
||||||
WoodcuttingNode(int full, int empty,byte identifier){
|
WoodcuttingNode(int full, int empty,byte identifier){
|
||||||
this.full = full;
|
this.full = full;
|
||||||
this.empty = empty;
|
this.empty = empty;
|
||||||
@@ -177,6 +181,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 37.5;
|
experience = 37.5;
|
||||||
level = 15;
|
level = 15;
|
||||||
rewardAmount = 10;
|
rewardAmount = 10;
|
||||||
|
baseLow = 32;
|
||||||
|
baseHigh = 100;
|
||||||
|
tierModLow = 16;
|
||||||
|
tierModHigh = 50;
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
reward = 1519;
|
reward = 1519;
|
||||||
@@ -185,6 +193,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 67.8;
|
experience = 67.8;
|
||||||
level = 30;
|
level = 30;
|
||||||
rewardAmount = 20;
|
rewardAmount = 20;
|
||||||
|
baseLow = 16;
|
||||||
|
baseHigh = 50;
|
||||||
|
tierModLow = 8;
|
||||||
|
tierModHigh = 25;
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
reward = 6333;
|
reward = 6333;
|
||||||
@@ -193,6 +205,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 85.0;
|
experience = 85.0;
|
||||||
level = 35;
|
level = 35;
|
||||||
rewardAmount = 25;
|
rewardAmount = 25;
|
||||||
|
baseLow = 15;
|
||||||
|
baseHigh = 46;
|
||||||
|
tierModLow = 8;
|
||||||
|
tierModHigh = 23.5;
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
reward = 1517;
|
reward = 1517;
|
||||||
@@ -201,6 +217,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 100.0;
|
experience = 100.0;
|
||||||
level = 45;
|
level = 45;
|
||||||
rewardAmount = 30;
|
rewardAmount = 30;
|
||||||
|
baseLow = 8;
|
||||||
|
baseHigh = 25;
|
||||||
|
tierModLow = 4;
|
||||||
|
tierModHigh = 12.5;
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
reward = 3239;
|
reward = 3239;
|
||||||
@@ -209,6 +229,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 82.5;
|
experience = 82.5;
|
||||||
level = 45;
|
level = 45;
|
||||||
rewardAmount = 30;
|
rewardAmount = 30;
|
||||||
|
baseLow = 18;
|
||||||
|
baseHigh = 26;
|
||||||
|
tierModLow = 10;
|
||||||
|
tierModHigh = 14;
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
reward = 6332;
|
reward = 6332;
|
||||||
@@ -217,6 +241,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 125.0;
|
experience = 125.0;
|
||||||
level = 50;
|
level = 50;
|
||||||
rewardAmount = 35;
|
rewardAmount = 35;
|
||||||
|
baseLow = 8;
|
||||||
|
baseHigh = 25;
|
||||||
|
tierModLow = 4;
|
||||||
|
tierModHigh = 12.5;
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
reward = 10810;
|
reward = 10810;
|
||||||
@@ -225,6 +253,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 140.2;
|
experience = 140.2;
|
||||||
level = 54;
|
level = 54;
|
||||||
rewardAmount = 35;
|
rewardAmount = 35;
|
||||||
|
baseLow = 6;
|
||||||
|
baseHigh = 30;
|
||||||
|
tierModLow = 3;
|
||||||
|
tierModHigh = 13.5;
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
reward = 12581;
|
reward = 12581;
|
||||||
@@ -249,6 +281,10 @@ public enum WoodcuttingNode {
|
|||||||
experience = 250.0;
|
experience = 250.0;
|
||||||
level = 75;
|
level = 75;
|
||||||
rewardAmount = 50;
|
rewardAmount = 50;
|
||||||
|
baseLow = 2;
|
||||||
|
baseHigh = 6;
|
||||||
|
tierModLow = 1;
|
||||||
|
tierModHigh = 3;
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
reward = 1513;
|
reward = 1513;
|
||||||
|
|||||||
+9
-5
@@ -116,7 +116,7 @@ public class WoodcuttingSkillPulse extends Pulse {
|
|||||||
player.getDialogueInterpreter().sendDialogues(2574, FacialExpression.FURIOUS, RandomFunction.random(2) == 1 ? "You'll blow my cover! I'm meant to be hidden!" : "Will you stop that?");
|
player.getDialogueInterpreter().sendDialogues(2574, FacialExpression.FURIOUS, RandomFunction.random(2) == 1 ? "You'll blow my cover! I'm meant to be hidden!" : "Will you stop that?");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!checkReward()) {
|
if (!checkReward(SkillingTool.getHatchet(player))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -316,11 +316,15 @@ public class WoodcuttingSkillPulse extends Pulse {
|
|||||||
*
|
*
|
||||||
* @return {@code True} if so.
|
* @return {@code True} if so.
|
||||||
*/
|
*/
|
||||||
private boolean checkReward() {
|
private boolean checkReward(SkillingTool tool) {
|
||||||
int skill = Skills.WOODCUTTING;
|
int skill = Skills.WOODCUTTING;
|
||||||
int level = 1 + player.getSkills().getLevel(skill) + player.getFamiliarManager().getBoost(skill);
|
int level = player.getSkills().getLevel(skill) + player.getFamiliarManager().getBoost(skill);
|
||||||
double hostRatio = Math.random() * (100.0 * resource.getRate());
|
double hostRatio = RandomFunction.randomDouble(100.0);
|
||||||
double clientRatio = Math.random() * ((level - resource.getLevel()) * (1.0 + SkillingTool.getHatchet(player).getRatio()));
|
double lowMod = tool == SkillingTool.BLACK_AXE ? resource.tierModLow / 2 : resource.tierModLow;
|
||||||
|
double low = resource.baseLow + (tool.ordinal() * lowMod);
|
||||||
|
double highMod = tool == SkillingTool.BLACK_AXE ? resource.tierModHigh / 2 : resource.tierModHigh;
|
||||||
|
double high = resource.baseHigh + (tool.ordinal() * highMod);
|
||||||
|
double clientRatio = RandomFunction.getSkillSuccessChance(low,high,level);
|
||||||
return hostRatio < clientRatio;
|
return hostRatio < clientRatio;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user