mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-06 00:32:01 +00:00
109 lines
3.6 KiB
Java
109 lines
3.6 KiB
Java
package redone.game.content.minigames;
|
|
|
|
import redone.game.players.Client;
|
|
import redone.util.Misc;
|
|
|
|
public class TreasureTrails {
|
|
|
|
public static int lowLevelReward[] = { 1077, 1125, 1165, 1195, 1297, 1367,
|
|
853, 7390, 7392, 7394, 7396, 7386, 7388, 1099, 1135, 1065, 851 };
|
|
public static int mediemLevelReward[] = { 1073, 1123, 1161, 1199, 1301,
|
|
1371, 857, 2577, 2579, 2487, 2493, 2499, 2631, 855 };
|
|
public static int highLevelReward[] = { 1079, 1093, 1113, 1127, 1147, 1163,
|
|
1185, 1201, 1275, 1303, 1319, 1333, 1359, 1373, 2491, 2497, 2503,
|
|
861, 859, 2581, 2651, 1079, 1093, 1113, 1127, 1147, 1163, 1185,
|
|
1201, 1275, 1303, 1319, 1333, 1359, 1373, 2491, 2497, 2503, 861,
|
|
859, 2581, 2651, };
|
|
|
|
public static int lowLevelStacks[] = { 995, 380, 561, 886, };
|
|
public static int mediumLevelStacks[] = { 995, 374, 561, 563, 890, };
|
|
public static int highLevelStacks[] = { 995, 386, 561, 563, 560, 892 };
|
|
public static int allStacks[] = { 995, 380, 561, 886, 374, 561, 563, 890,
|
|
386, 561, 563, 560, 892 };
|
|
|
|
public static void addClueReward(Client c, int clueLevel) {
|
|
int chanceReward = Misc.random(2);
|
|
if (clueLevel == 0) {
|
|
switch (chanceReward) {
|
|
case 0:
|
|
displayReward(c, lowLevelReward[Misc.random(16)], 1,
|
|
lowLevelReward[Misc.random(16)], 1,
|
|
lowLevelStacks[Misc.random(3)], 1 + Misc.random(150));
|
|
break;
|
|
case 1:
|
|
displayReward(c, lowLevelReward[Misc.random(16)], 1,
|
|
lowLevelStacks[Misc.random(3)], 1 + Misc.random(150),
|
|
-1, 1);
|
|
break;
|
|
case 2:
|
|
displayReward(c, lowLevelReward[Misc.random(16)], 1, -1, 1, -1,
|
|
1);
|
|
break;
|
|
}
|
|
} else if (clueLevel == 1) {
|
|
switch (chanceReward) {
|
|
case 0:
|
|
displayReward(c, mediemLevelReward[Misc.random(13)], 1,
|
|
mediemLevelReward[Misc.random(13)], 1,
|
|
mediumLevelStacks[Misc.random(4)], 1 + Misc.random(200));
|
|
break;
|
|
case 1:
|
|
displayReward(c, mediemLevelReward[Misc.random(13)], 1,
|
|
mediumLevelStacks[Misc.random(4)],
|
|
1 + Misc.random(200), -1, 1);
|
|
break;
|
|
case 2:
|
|
displayReward(c, mediemLevelReward[Misc.random(13)], 1, -1, 1,
|
|
-1, 1);
|
|
break;
|
|
}
|
|
} else if (clueLevel == 2) {
|
|
switch (chanceReward) {
|
|
case 0:
|
|
displayReward(c, highLevelReward[Misc.random(52)], 1,
|
|
highLevelReward[Misc.random(52)], 1,
|
|
highLevelStacks[Misc.random(5)], 1 + Misc.random(350));
|
|
break;
|
|
case 1:
|
|
displayReward(c, highLevelReward[Misc.random(52)], 1,
|
|
highLevelStacks[Misc.random(5)], 1 + Misc.random(350),
|
|
-1, 1);
|
|
break;
|
|
case 2:
|
|
displayReward(c, highLevelReward[Misc.random(52)], 1, -1, 1,
|
|
-1, 1);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void displayReward(Client c, int item, int amount, int item2,
|
|
int amount2, int item3, int amount3) {
|
|
int[] items = { item, item2, item3 };
|
|
int[] amounts = { amount, amount2, amount3 };
|
|
c.outStream.createFrameVarSizeWord(53);
|
|
c.outStream.writeWord(6963);
|
|
c.outStream.writeWord(items.length);
|
|
for (int i = 0; i < items.length; i++) {
|
|
if (c.playerItemsN[i] > 254) {
|
|
c.outStream.writeByte(255);
|
|
c.outStream.writeDWord_v2(amounts[i]);
|
|
} else {
|
|
c.outStream.writeByte(amounts[i]);
|
|
}
|
|
if (items[i] > 0) {
|
|
c.outStream.writeWordBigEndianA(items[i] + 1);
|
|
} else {
|
|
c.outStream.writeWordBigEndianA(0);
|
|
}
|
|
}
|
|
c.outStream.endFrameVarSizeWord();
|
|
c.flushOutStream();
|
|
c.getItemAssistant().addItem(item, amount);
|
|
c.getItemAssistant().addItem(item2, amount2);
|
|
c.getItemAssistant().addItem(item3, amount3);
|
|
c.getPlayerAssistant().showInterface(6960);
|
|
}
|
|
|
|
}
|