@[Only registered and activated users can see links. Click Here To Register...]ressWarnings("serial")
public class EasyRewards extends TreasureTrailsManager {
public static final double VERY_RARE = 0.225;
public static final double RARE = 0.75;
public static final double COMMON = 75.0;
public static final double UNCOMMON = 15.0;
@[Only registered and activated users can see links. Click Here To Register...]ressWarnings("serial")
public class MediumRewards extends TreasureTrailsManager {
public static final double VERY_RARE = 0.225;
public static final double RARE = 0.75;
public static final double COMMON = 75.0;
public static final double UNCOMMON = 15.0;
@[Only registered and activated users can see links. Click Here To Register...]ressWarnings("serial")
public class HardRewards extends TreasureTrailsManager {
public static final double MEGA_RARE = 0.015;
public static final double VERY_RARE = 0.225;
public static final double RARE = 0.75;
public static final double COMMON = 75.0;
public static final double UNCOMMON = 15.0;
@[Only registered and activated users can see links. Click Here To Register...]ressWarnings("serial")
public class EliteRewards extends TreasureTrailsManager {
public static final double MEGA_RARE = 0.030;
public static final double VERY_RARE = 0.225;
public static final double RARE = 0.75;
public static final double COMMON = 75.0;
public static final double UNCOMMON = 15.0;
private static WeightedTable BISCUITS_SWEETS = new WeightedTable(new Drop(10476, 2, 27), new Drop(19467, 2, 27));
private static WeightedTable TELEPORT_SCROLLS = new WeightedTable(new Drop(19475, 5, 16), new Drop(19476, 5, 16), new Drop(19477, 5, 16), new Drop(19478, 5, 16), new Drop(19479, 5, 16), new Drop(19480, 5, 16));
private static WeightedTable FIRELIGHTERS = new WeightedTable(new Drop(7329, 3, 15), new Drop(7330, 3, 15), new Drop(7331, 3, 15), new Drop(10326, 3, 15), new Drop(10327, 3, 15));
private static WeightedTable GOD_PAGES = new WeightedTable(new Drop(3827, 1), new Drop(3828, 1), new Drop(3829, 1), new Drop(3830, 1), new Drop(3831, 1), new Drop(3832, 1), new Drop(3833, 1), new Drop(3834, 1), new Drop(3835, 1), new Drop(3836, 1), new Drop(3837, 1), new Drop(3838, 1), new Drop(19600, 1), new Drop(19601, 1), new Drop(19602, 1), new Drop(19603, 1), new Drop(19604, 1), new Drop(19605, 1), new Drop(19606, 1), new Drop(19607, 1), new Drop(19608, 1), new Drop(19609, 1), new Drop(19610, 1), new Drop(19611, 1));
private static WeightedTable GOD_ARROWS = new WeightedTable(new Drop(19152, 20, 100), new Drop(19157, 20, 100), new Drop(19162, 20, 100));
Easy clues: 2-4 reward rolls per clue
Easy standard (11/12 per easy roll):
Code:
private static DropSet EASY_STANDARD = new WeightedSet(
TELEPORT_SCROLLS,
BISCUITS_SWEETS,
FIRELIGHTERS,
GOD_PAGES,
GOD_ARROWS,
new WeightedTable(new Drop(995, 50, 200)),
new WeightedTable(new Drop(334, 6, 10)),
new WeightedTable(new Drop(330, 6, 10)),
new WeightedTable(new Drop(556, 30, 50)),
new WeightedTable(new Drop(554, 30, 50)),
new WeightedTable(new Drop(555, 30, 50)),
new WeightedTable(new Drop(557, 30, 50)),
new WeightedTable(new Drop(558, 30, 50)),
new WeightedTable(new Drop(559, 30, 50)),
new WeightedTable(new Drop(563, 5, 10)),
new WeightedTable(new Drop(562, 5, 10)),
new WeightedTable(new Drop(561, 5, 10)),
new WeightedTable(new Drop(1125)),
new WeightedTable(new Drop(1297)),
new WeightedTable(new Drop(1165)),
new WeightedTable(new Drop(1077)),
new WeightedTable(new Drop(1367)),
new WeightedTable(new Drop(1361)),
new WeightedTable(new Drop(1269)),
new WeightedTable(new Drop(1217)),
new WeightedTable(new Drop(1381)),
new WeightedTable(new Drop(1097)),
new WeightedTable(new Drop(1133)),
new WeightedTable(new Drop(849)),
new WeightedTable(new Drop(1169)),
new WeightedTable(new Drop(1727), new Drop(1727), new Drop(1727), new Drop(1727), new Drop(1727), new Drop(1727), new Drop(1727), new Drop(1727), new Drop(1727), new Drop(10366)),
new WeightedTable(new Drop(847), new Drop(847), new Drop(847), new Drop(847), new Drop(847), new Drop(847), new Drop(847), new Drop(847), new Drop(847), new Drop(10280))
);
Easy rare (1/12 per easy roll):
Code:
private static DropSet EASY_RARE = new WeightedSet(new WeightedTable(new Drop(10280)), new WeightedTable(new Drop(2583)), new WeightedTable(new Drop(2585)), new WeightedTable(new Drop(2587)), new WeightedTable(new Drop(2589)), new WeightedTable(new Drop(3472)), new WeightedTable(new Drop(2591)), new WeightedTable(new Drop(2593)), new WeightedTable(new Drop(2595)), new WeightedTable(new Drop(2597)), new WeightedTable(new Drop(3473)), new WeightedTable(new Drop(7332)), new WeightedTable(new Drop(7338)), new WeightedTable(new Drop(7344)), new WeightedTable(new Drop(7350)), new WeightedTable(new Drop(7356)), new WeightedTable(new Drop(10306)), new WeightedTable(new Drop(10308)), new WeightedTable(new Drop(10310)), new WeightedTable(new Drop(10312)), new WeightedTable(new Drop(10314)), new WeightedTable(new Drop(2633)), new WeightedTable(new Drop(2635)), new WeightedTable(new Drop(2637)), new WeightedTable(new Drop(2631)), new WeightedTable(new Drop(7388)), new WeightedTable(new Drop(7392)), new WeightedTable(new Drop(7396)), new WeightedTable(new Drop(7386)), new WeightedTable(new Drop(7390)), new WeightedTable(new Drop(7394)), new WeightedTable(new Drop(7364)), new WeightedTable(new Drop(7368)), new WeightedTable(new Drop(7362)), new WeightedTable(new Drop(7366)), new WeightedTable(new Drop(10408)), new WeightedTable(new Drop(10410)), new WeightedTable(new Drop(10428)), new WeightedTable(new Drop(10430)), new WeightedTable(new Drop(10404)), new WeightedTable(new Drop(10406)), new WeightedTable(new Drop(10424)), new WeightedTable(new Drop(10426)), new WeightedTable(new Drop(10412)), new WeightedTable(new Drop(10414)), new WeightedTable(new Drop(10432)), new WeightedTable(new Drop(10434)), new WeightedTable(new Drop(10316)), new WeightedTable(new Drop(10318)), new WeightedTable(new Drop(10320)), new WeightedTable(new Drop(10322)), new WeightedTable(new Drop(10324)), new WeightedTable(new Drop(10394)), new WeightedTable(new Drop(10398)), new WeightedTable(new Drop(10392)), new WeightedTable(new Drop(10396)), new WeightedTable(new Drop(10458)), new WeightedTable(new Drop(10462)), new WeightedTable(new Drop(10466)), new WeightedTable(new Drop(10460)), new WeightedTable(new Drop(10468)), new WeightedTable(new Drop(10366)), new WeightedTable(new Drop(13095)), new WeightedTable(new Drop(13105)));
Medium clues: 3-5 reward rolls per clue
Medium standard (10/11 per medium roll):
Code:
private static DropSet MEDIUM_STANDARD = new WeightedSet(
TELEPORT_SCROLLS,
BISCUITS_SWEETS,
FIRELIGHTERS,
GOD_PAGES,
GOD_ARROWS,
new WeightedTable(new Drop(995, 200, 1000)),
new WeightedTable(new Drop(374, 8, 12)),
new WeightedTable(new Drop(380, 8, 12)),
new WeightedTable(new Drop(556, 50, 100)),
new WeightedTable(new Drop(554, 50, 100)),
new WeightedTable(new Drop(555, 50, 100)),
new WeightedTable(new Drop(557, 50, 100)),
new WeightedTable(new Drop(558, 50, 100)),
new WeightedTable(new Drop(559, 50, 50)),
new WeightedTable(new Drop(563, 10, 20)),
new WeightedTable(new Drop(562, 10, 20)),
new WeightedTable(new Drop(561, 10, 20)),
new WeightedTable(new Drop(1301)),
new WeightedTable(new Drop(1161)),
new WeightedTable(new Drop(1073)),
new WeightedTable(new Drop(1371)),
new WeightedTable(new Drop(1357)),
new WeightedTable(new Drop(1271)),
new WeightedTable(new Drop(1211)),
new WeightedTable(new Drop(1123)),
new WeightedTable(new Drop(1393)),
new WeightedTable(new Drop(1099)),
new WeightedTable(new Drop(1135)),
new WeightedTable(new Drop(857)),
new WeightedTable(new Drop(1731), new Drop(1731), new Drop(1731), new Drop(1731), new Drop(1731), new Drop(1731), new Drop(1731), new Drop(1731), new Drop(1731), new Drop(10364)),
new WeightedTable(new Drop(855), new Drop(855), new Drop(855), new Drop(855), new Drop(855), new Drop(855), new Drop(855), new Drop(855), new Drop(855), new Drop(10282))
);
Medium rare (1/11 per medium roll):
Code:
private static DropSet MEDIUM_RARE = new WeightedSet(new WeightedTable(new Drop(10282)), new WeightedTable(new Drop(2599)), new WeightedTable(new Drop(2601)), new WeightedTable(new Drop(2603)), new WeightedTable(new Drop(2605)), new WeightedTable(new Drop(3474)), new WeightedTable(new Drop(2607)), new WeightedTable(new Drop(2609)), new WeightedTable(new Drop(2611)), new WeightedTable(new Drop(2613)), new WeightedTable(new Drop(3475)), new WeightedTable(new Drop(2577)), new WeightedTable(new Drop(2579)), new WeightedTable(new Drop(2645)), new WeightedTable(new Drop(2647)), new WeightedTable(new Drop(2649)), new WeightedTable(new Drop(7319)), new WeightedTable(new Drop(7321)), new WeightedTable(new Drop(7323)), new WeightedTable(new Drop(7325)), new WeightedTable(new Drop(7327)), new WeightedTable(new Drop(7372)), new WeightedTable(new Drop(7380)), new WeightedTable(new Drop(7370)), new WeightedTable(new Drop(7378)), new WeightedTable(new Drop(10400)), new WeightedTable(new Drop(10402)), new WeightedTable(new Drop(10420)), new WeightedTable(new Drop(10422)), new WeightedTable(new Drop(10416)), new WeightedTable(new Drop(10418)), new WeightedTable(new Drop(10436)), new WeightedTable(new Drop(10438)), new WeightedTable(new Drop(10452)), new WeightedTable(new Drop(10454)), new WeightedTable(new Drop(10456)), new WeightedTable(new Drop(10446)), new WeightedTable(new Drop(10448)), new WeightedTable(new Drop(10450)), new WeightedTable(new Drop(19380)), new WeightedTable(new Drop(19386)), new WeightedTable(new Drop(19384)), new WeightedTable(new Drop(19388)), new WeightedTable(new Drop(19382)), new WeightedTable(new Drop(19390)), new WeightedTable(new Drop(13109)), new WeightedTable(new Drop(13107)), new WeightedTable(new Drop(13111)), new WeightedTable(new Drop(13113)), new WeightedTable(new Drop(13115)), new WeightedTable(new Drop(10364)), new WeightedTable(new Drop(13097)), new WeightedTable(new Drop(13103, 1)));
Hard clues: 4-6 reward rolls per clue
Hard standard (12/13 per hard roll):
Code:
private static DropSet HARD_STANDARD = new WeightedSet(
TELEPORT_SCROLLS,
BISCUITS_SWEETS,
FIRELIGHTERS,
GOD_PAGES,
GOD_ARROWS,
new WeightedTable(new Drop(995, 1000, 5000)),
new WeightedTable(new Drop(380, 12, 15)),
new WeightedTable(new Drop(386, 12, 15)),
new WeightedTable(new Drop(563, 30, 50)),
new WeightedTable(new Drop(565, 20, 30)),
new WeightedTable(new Drop(561, 30, 50)),
new WeightedTable(new Drop(1303)),
new WeightedTable(new Drop(1163)),
new WeightedTable(new Drop(1079)),
new WeightedTable(new Drop(1373)),
new WeightedTable(new Drop(1359)),
new WeightedTable(new Drop(1275)),
new WeightedTable(new Drop(1213)),
new WeightedTable(new Drop(1127)),
new WeightedTable(new Drop(1093)),
new WeightedTable(new Drop(1201)),
new WeightedTable(new Drop(2497)),
new WeightedTable(new Drop(2503)),
new WeightedTable(new Drop(861)),
new WeightedTable(new Drop(859), new Drop(859), new Drop(859), new Drop(859), new Drop(859), new Drop(859), new Drop(859), new Drop(859), new Drop(859), new Drop(10284))
);
Hard rare (1/13 per hard roll):
Code:
private static DropSet HARD_RARE = new WeightedSet(
new WeightedTable(125, new Drop(10284)),
new WeightedTable(125, new Drop(2623)),
new WeightedTable(125, new Drop(2625)),
new WeightedTable(125, new Drop(2627)),
new WeightedTable(125, new Drop(2629)),
new WeightedTable(125, new Drop(3477)),
new WeightedTable(125, new Drop(2615)),
new WeightedTable(125, new Drop(2617)),
new WeightedTable(125, new Drop(2619)),
new WeightedTable(125, new Drop(2621)),
new WeightedTable(125, new Drop(3476)),
new WeightedTable(125, new Drop(2657)),
new WeightedTable(125, new Drop(2653)),
new WeightedTable(125, new Drop(2655)),
new WeightedTable(125, new Drop(2659)),
new WeightedTable(125, new Drop(2665)),
new WeightedTable(125, new Drop(2661)),
new WeightedTable(125, new Drop(2663)),
new WeightedTable(125, new Drop(2667)),
new WeightedTable(125, new Drop(2673)),
new WeightedTable(125, new Drop(2669)),
new WeightedTable(125, new Drop(2671)),
new WeightedTable(125, new Drop(2675)),
new WeightedTable(125, new Drop(3480)),
new WeightedTable(125, new Drop(3479)),
new WeightedTable(125, new Drop(3478)),
new WeightedTable(125, new Drop(7374)),
new WeightedTable(125, new Drop(7382)),
new WeightedTable(125, new Drop(7376)),
new WeightedTable(125, new Drop(7384)),
new WeightedTable(125, new Drop(2651)),
new WeightedTable(125, new Drop(2581)),
new WeightedTable(125, new Drop(2639)),
new WeightedTable(125, new Drop(2641)),
new WeightedTable(125, new Drop(2643)),
new WeightedTable(125, new Drop(7336)),
new WeightedTable(125, new Drop(7342)),
new WeightedTable(125, new Drop(7348)),
new WeightedTable(125, new Drop(7354)),
new WeightedTable(125, new Drop(7360)),
new WeightedTable(125, new Drop(10286)),
new WeightedTable(125, new Drop(10288)),
new WeightedTable(125, new Drop(10290)),
new WeightedTable(125, new Drop(10292)),
new WeightedTable(125, new Drop(10294)),
new WeightedTable(125, new Drop(10362)),
new WeightedTable(125, new Drop(10452)),
new WeightedTable(125, new Drop(10454)),
new WeightedTable(125, new Drop(10456)),
new WeightedTable(125, new Drop(19374)),
new WeightedTable(125, new Drop(19376)),
new WeightedTable(125, new Drop(19378)),
new WeightedTable(125, new Drop(10470)),
new WeightedTable(125, new Drop(10472)),
new WeightedTable(125, new Drop(10474)),
new WeightedTable(125, new Drop(19372)),
new WeightedTable(125, new Drop(10450)),
new WeightedTable(125, new Drop(10448)),
new WeightedTable(125, new Drop(10446)),
new WeightedTable(125, new Drop(19368)),
new WeightedTable(125, new Drop(19370)),
new WeightedTable(125, new Drop(10440)),
new WeightedTable(125, new Drop(10442)),
new WeightedTable(125, new Drop(10444)),
new WeightedTable(125, new Drop(19380)),
new WeightedTable(125, new Drop(19386)),
new WeightedTable(125, new Drop(19384)),
new WeightedTable(125, new Drop(19388)),
new WeightedTable(125, new Drop(19382)),
new WeightedTable(125, new Drop(19390)),
new WeightedTable(125, new Drop(10460)),
new WeightedTable(125, new Drop(10468)),
new WeightedTable(125, new Drop(10462)),
new WeightedTable(125, new Drop(10466)),
new WeightedTable(125, new Drop(10458)),
new WeightedTable(125, new Drop(10464)),
new WeightedTable(125, new Drop(10368)),
new WeightedTable(125, new Drop(10370)),
new WeightedTable(125, new Drop(10372)),
new WeightedTable(125, new Drop(10374)),
new WeightedTable(125, new Drop(10376)),
new WeightedTable(125, new Drop(10378)),
new WeightedTable(125, new Drop(10380)),
new WeightedTable(125, new Drop(10382)),
new WeightedTable(125, new Drop(10384)),
new WeightedTable(125, new Drop(10386)),
new WeightedTable(125, new Drop(10388)),
new WeightedTable(125, new Drop(10390)),
new WeightedTable(125, new Drop(19272)),
new WeightedTable(125, new Drop(19275)),
new WeightedTable(125, new Drop(19278)),
new WeightedTable(125, new Drop(19281)),
new WeightedTable(125, new Drop(19284)),
new WeightedTable(125, new Drop(19287)),
new WeightedTable(125, new Drop(13101)),
new WeightedTable(125, new Drop(13099)),
new WeightedTable(6, new Drop(3481), new Drop(3483), new Drop(3485), new Drop(3486), new Drop(3488)),
new WeightedTable(3, new Drop(10330), new Drop(10332), new Drop(10334), new Drop(10336), new Drop(10338), new Drop(10340), new Drop(10342), new Drop(10344), new Drop(10346), new Drop(10348), new Drop(10350), new Drop(10352))
);
Elite clues: 4-6 reward rolls per clue
Elite standard (24/25 per elite roll):
Code:
private static DropSet ELITE_STANDARD = new WeightedSet(
TELEPORT_SCROLLS,
BISCUITS_SWEETS,
FIRELIGHTERS,
GOD_PAGES,
GOD_ARROWS,
new WeightedTable(new Drop(995, 2500, 50000)),
new WeightedTable(new Drop(5289)),
new WeightedTable(new Drop(5288)),
new WeightedTable(new Drop(5315)),
new WeightedTable(new Drop(5303, 2)),
new WeightedTable(new Drop(5302, 2)),
new WeightedTable(new Drop(3025, 9)),
new WeightedTable(new Drop(2453, 9)),
new WeightedTable(new Drop(2435, 9)),
new WeightedTable(new Drop(1445, 8)),
new WeightedTable(new Drop(10163, 15)),
new WeightedTable(new Drop(2364, 5)),
new WeightedTable(new Drop(238, 10)),
new WeightedTable(new Drop(24373, 15)),
new WeightedTable(new Drop(9194, 12)),
new WeightedTable(new Drop(1632, 2)),
new WeightedTable(new Drop(1392, 8)),
new WeightedTable(new Drop(8783, 40)),
new WeightedTable(new Drop(1149)),
new WeightedTable(new Drop(1127))
);
Elite rare (1/25 per elite roll):
Code:
private static DropSet ELITE_RARE = new WeightedSet(
new WeightedTable(200, new Drop(19362)),
new WeightedTable(200, new Drop(19364)),
new WeightedTable(200, new Drop(19366)),
new WeightedTable(200, new Drop(19392)),
new WeightedTable(200, new Drop(19394)),
new WeightedTable(200, new Drop(19396)),
new WeightedTable(200, new Drop(19323)),
new WeightedTable(200, new Drop(19325)),
new WeightedTable(200, new Drop(19327)),
new WeightedTable(200, new Drop(19329)),
new WeightedTable(200, new Drop(19331)),
new WeightedTable(200, new Drop(19333)),
new WeightedTable(200, new Drop(19346)),
new WeightedTable(200, new Drop(19348)),
new WeightedTable(200, new Drop(19350)),
new WeightedTable(200, new Drop(19352)),
new WeightedTable(200, new Drop(19354)),
new WeightedTable(200, new Drop(19356)),
new WeightedTable(200, new Drop(19358)),
new WeightedTable(200, new Drop(19360)),
new WeightedTable(200, new Drop(19398)),
new WeightedTable(200, new Drop(19401)),
new WeightedTable(200, new Drop(19404)),
new WeightedTable(200, new Drop(19407)),
new WeightedTable(200, new Drop(19410)),
new WeightedTable(200, new Drop(19413)),
new WeightedTable(200, new Drop(19416)),
new WeightedTable(200, new Drop(19419)),
new WeightedTable(200, new Drop(19422)),
new WeightedTable(200, new Drop(19425)),
new WeightedTable(200, new Drop(19428)),
new WeightedTable(200, new Drop(19431)),
new WeightedTable(200, new Drop(19434)),
new WeightedTable(200, new Drop(19437)),
new WeightedTable(200, new Drop(19440)),
new WeightedTable(200, new Drop(19443)),
new WeightedTable(200, new Drop(19445)),
new WeightedTable(200, new Drop(19447)),
new WeightedTable(200, new Drop(19449)),
new WeightedTable(200, new Drop(19451)),
new WeightedTable(200, new Drop(19453)),
new WeightedTable(200, new Drop(19455)),
new WeightedTable(200, new Drop(19457)),
new WeightedTable(200, new Drop(19459)),
new WeightedTable(200, new Drop(19461)),
new WeightedTable(200, new Drop(19463)),
new WeightedTable(200, new Drop(19465)),
new WeightedTable(50, new Drop(19290), new Drop(19293), new Drop(19296), new Drop(19299), new Drop(19302), new Drop(19305)),
new WeightedTable(10, new Drop(19143), new Drop(19149), new Drop(19146)),
new WeightedTable(3, new Drop(19308), new Drop(19311), new Drop(19314), new Drop(19317), new Drop(19320))
);
Generating rewards:
Code:
public static Item[] generateRewards(Player player, int level) {
ArrayList<Item> rewards = new ArrayList<Item>();
if (level == EASY) {
for (int i = 0;i < Utils.randomInclusive(2, 4);i++) {
if (Utils.random(12) == 0) {
Utils.add(rewards, DropTable.calculateDrops(player, EASY_RARE));
} else {
Utils.add(rewards, DropTable.calculateDrops(player, EASY_STANDARD));
}
}
} else if (level == MEDIUM) {
for (int i = 0;i < Utils.randomInclusive(3, 5);i++) {
if (Utils.random(11) == 0) {
Utils.add(rewards, DropTable.calculateDrops(player, MEDIUM_RARE));
} else {
Utils.add(rewards, DropTable.calculateDrops(player, MEDIUM_STANDARD));
}
}
} else if (level == HARD) {
for (int i = 0;i < Utils.randomInclusive(4, 6);i++) {
if (Utils.random(13) == 0) {
Utils.add(rewards, DropTable.calculateDrops(player, HARD_RARE));
} else {
Utils.add(rewards, DropTable.calculateDrops(player, HARD_STANDARD));
}
}
} else if (level == ELITE) {
for (int i = 0;i < Utils.randomInclusive(4, 6);i++) {
if (Utils.random(25) == 0) {
Utils.add(rewards, DropTable.calculateDrops(player, ELITE_RARE));
} else {
Utils.add(rewards, DropTable.calculateDrops(player, ELITE_STANDARD));
}
}
}
Item[] rewArr = new Item[rewards.size()];
for (int i = 0;i < rewArr.length;i++) {
rewArr[i] = rewards.get(i);
}
return rewArr;
}
12-20-2019, 06:42 AM
Tyluur
Quote:
Originally Posted by Makar[Only registered and activated users can see links. Click Here To Register...]
Here's the real RS rates by the way..
y r u defining drop tables in java
12-20-2019, 10:40 PM
Makar
Quote:
Originally Posted by Tyluur[Only registered and activated users can see links. Click Here To Register...]
y r u defining drop tables in java
The tables are in JSON. I am following the convention of the post lol. This is general graardor for example: