mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-21 09:02:07 -07:00
Perfect woodcutting success rates
This commit is contained in:
parent
85f4c973f5
commit
7ae63a5910
2 changed files with 45 additions and 5 deletions
|
|
@ -138,6 +138,10 @@ public enum WoodcuttingNode {
|
|||
double experience,rate;
|
||||
byte identifier;
|
||||
boolean farming;
|
||||
double baseLow = 64;
|
||||
double baseHigh = 200;
|
||||
double tierModLow = 32;
|
||||
double tierModHigh = 100;
|
||||
WoodcuttingNode(int full, int empty,byte identifier){
|
||||
this.full = full;
|
||||
this.empty = empty;
|
||||
|
|
@ -177,6 +181,10 @@ public enum WoodcuttingNode {
|
|||
experience = 37.5;
|
||||
level = 15;
|
||||
rewardAmount = 10;
|
||||
baseLow = 32;
|
||||
baseHigh = 100;
|
||||
tierModLow = 16;
|
||||
tierModHigh = 50;
|
||||
break;
|
||||
case 8:
|
||||
reward = 1519;
|
||||
|
|
@ -185,6 +193,10 @@ public enum WoodcuttingNode {
|
|||
experience = 67.8;
|
||||
level = 30;
|
||||
rewardAmount = 20;
|
||||
baseLow = 16;
|
||||
baseHigh = 50;
|
||||
tierModLow = 8;
|
||||
tierModHigh = 25;
|
||||
break;
|
||||
case 9:
|
||||
reward = 6333;
|
||||
|
|
@ -193,6 +205,10 @@ public enum WoodcuttingNode {
|
|||
experience = 85.0;
|
||||
level = 35;
|
||||
rewardAmount = 25;
|
||||
baseLow = 15;
|
||||
baseHigh = 46;
|
||||
tierModLow = 8;
|
||||
tierModHigh = 23.5;
|
||||
break;
|
||||
case 10:
|
||||
reward = 1517;
|
||||
|
|
@ -201,6 +217,10 @@ public enum WoodcuttingNode {
|
|||
experience = 100.0;
|
||||
level = 45;
|
||||
rewardAmount = 30;
|
||||
baseLow = 8;
|
||||
baseHigh = 25;
|
||||
tierModLow = 4;
|
||||
tierModHigh = 12.5;
|
||||
break;
|
||||
case 11:
|
||||
reward = 3239;
|
||||
|
|
@ -209,6 +229,10 @@ public enum WoodcuttingNode {
|
|||
experience = 82.5;
|
||||
level = 45;
|
||||
rewardAmount = 30;
|
||||
baseLow = 18;
|
||||
baseHigh = 26;
|
||||
tierModLow = 10;
|
||||
tierModHigh = 14;
|
||||
break;
|
||||
case 12:
|
||||
reward = 6332;
|
||||
|
|
@ -217,6 +241,10 @@ public enum WoodcuttingNode {
|
|||
experience = 125.0;
|
||||
level = 50;
|
||||
rewardAmount = 35;
|
||||
baseLow = 8;
|
||||
baseHigh = 25;
|
||||
tierModLow = 4;
|
||||
tierModHigh = 12.5;
|
||||
break;
|
||||
case 13:
|
||||
reward = 10810;
|
||||
|
|
@ -225,6 +253,10 @@ public enum WoodcuttingNode {
|
|||
experience = 140.2;
|
||||
level = 54;
|
||||
rewardAmount = 35;
|
||||
baseLow = 6;
|
||||
baseHigh = 30;
|
||||
tierModLow = 3;
|
||||
tierModHigh = 13.5;
|
||||
break;
|
||||
case 14:
|
||||
reward = 12581;
|
||||
|
|
@ -249,6 +281,10 @@ public enum WoodcuttingNode {
|
|||
experience = 250.0;
|
||||
level = 75;
|
||||
rewardAmount = 50;
|
||||
baseLow = 2;
|
||||
baseHigh = 6;
|
||||
tierModLow = 1;
|
||||
tierModHigh = 3;
|
||||
break;
|
||||
case 17:
|
||||
reward = 1513;
|
||||
|
|
|
|||
|
|
@ -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?");
|
||||
return true;
|
||||
}
|
||||
if (!checkReward()) {
|
||||
if (!checkReward(SkillingTool.getHatchet(player))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -316,11 +316,15 @@ public class WoodcuttingSkillPulse extends Pulse {
|
|||
*
|
||||
* @return {@code True} if so.
|
||||
*/
|
||||
private boolean checkReward() {
|
||||
private boolean checkReward(SkillingTool tool) {
|
||||
int skill = Skills.WOODCUTTING;
|
||||
int level = 1 + player.getSkills().getLevel(skill) + player.getFamiliarManager().getBoost(skill);
|
||||
double hostRatio = Math.random() * (100.0 * resource.getRate());
|
||||
double clientRatio = Math.random() * ((level - resource.getLevel()) * (1.0 + SkillingTool.getHatchet(player).getRatio()));
|
||||
int level = player.getSkills().getLevel(skill) + player.getFamiliarManager().getBoost(skill);
|
||||
double hostRatio = RandomFunction.randomDouble(100.0);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue