Files
2006Scape/2006Redone Server/src/redone/game/content/minigames/TreasureTrails.java
T
2019-06-18 15:04:35 -04:00

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);
}
}