diff --git a/Server/data/configs/clue_rewards.json b/Server/data/configs/clue_rewards.json new file mode 100644 index 000000000..bbe03ffe6 --- /dev/null +++ b/Server/data/configs/clue_rewards.json @@ -0,0 +1,2182 @@ +{ + "rare": [ + { + "minAmount": 1, + "weight": 50, + "id": 10362, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 30, + "id": 3486, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 30, + "id": 3481, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 30, + "id": 3483, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 30, + "id": 3485, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 30, + "id": 3488, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10330, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10332, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10334, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10336, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10338, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10340, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10342, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10344, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10346, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10348, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10350, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": 10, + "id": 10352, + "maxAmount": 1 + } + ], + "medium": [ + { + "minAmount": 1, + "weight": "5", + "id": 2605, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2599, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2601, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2603, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3474, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2613, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2607, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2609, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3475, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2611, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2647, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2645, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2649, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2577, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2579, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7319, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7321, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7323, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7325, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7327, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7372, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7380, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7370, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7378, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13103, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13097, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10282, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13109, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13107, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13111, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13113, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13115, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10364, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10420, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10422, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10400, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10402, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10416, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10418, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10436, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10438, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10296, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10298, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10300, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10302, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10304, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10666, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10669, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10672, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10675, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10678, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10446, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10448, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10450, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10452, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10454, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10456, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1161, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1123, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1073, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1091, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1199, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1183, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1111, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1211, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1271, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1287, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1301, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1317, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1357, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1371, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1430, + "maxAmount": 1 + }, + { + "minAmount": 10, + "weight": "5", + "id": 4823, + "maxAmount": 40 + }, + { + "minAmount": 1, + "weight": "5", + "id": 9183, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1393, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1099, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1135, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 857, + "maxAmount": 1 + }, + { + "minAmount": 10, + "weight": "5", + "id": 8781, + "maxAmount": 43 + }, + { + "minAmount": 6, + "weight": "5", + "id": 374, + "maxAmount": 23 + }, + { + "minAmount": 15, + "weight": "5", + "id": 380, + "maxAmount": 43 + }, + { + "minAmount": 500, + "weight": "5", + "id": 995, + "maxAmount": 7000 + }, + { + "minAmount": 15, + "weight": "5", + "id": 10326, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7329, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7331, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7330, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 10327, + "maxAmount": 40 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10476, + "maxAmount": 27 + }, + { + "minAmount": 1, + "weight": "5", + "id": 556, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 554, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 557, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 555, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3827, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3828, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3829, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3830, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3831, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3832, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3833, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3834, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3835, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3836, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3837, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3838, + "maxAmount": 1 + } + ], + "hard": [ + { + "minAmount": 1, + "weight": "5", + "id": 10284, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13101, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13099, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10470, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10472, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10474, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10440, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10442, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10444, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2627, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2623, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2625, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3477, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2629, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2619, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2615, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2617, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3476, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2621, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2673, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2669, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2671, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3480, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2675, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2657, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2653, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2655, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3478, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2659, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2665, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2661, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2663, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3479, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2667, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10286, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10667, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10288, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10670, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10290, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10673, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10292, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10676, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10294, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10679, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7376, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7384, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7374, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7382, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10374, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10368, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10370, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10372, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10382, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10376, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10378, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10380, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10390, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10384, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10386, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10388, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2651, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2581, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2639, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2641, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2643, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1163, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1127, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1079, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1093, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1201, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1185, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1213, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1275, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1289, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1303, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1319, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1359, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1373, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1432, + "maxAmount": 1 + }, + { + "minAmount": 10, + "weight": "5", + "id": 4824, + "maxAmount": 43 + }, + { + "minAmount": 6, + "weight": "5", + "id": 9144, + "maxAmount": 23 + }, + { + "minAmount": 1, + "weight": "5", + "id": 9185, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2497, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2503, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 861, + "maxAmount": 2 + }, + { + "minAmount": 1, + "weight": "5", + "id": 859, + "maxAmount": 2 + }, + { + "minAmount": 6, + "weight": "5", + "id": 8783, + "maxAmount": 27 + }, + { + "minAmount": 16, + "weight": "5", + "id": 380, + "maxAmount": 38 + }, + { + "minAmount": 7, + "weight": "5", + "id": 386, + "maxAmount": 32 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7398, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7399, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7400, + "maxAmount": 1 + }, + { + "minAmount": 500, + "weight": "5", + "id": 995, + "maxAmount": 7000 + }, + { + "minAmount": 15, + "weight": "5", + "id": 10326, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7329, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7331, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7330, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 10327, + "maxAmount": 40 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10476, + "maxAmount": 27 + }, + { + "minAmount": 1, + "weight": "5", + "id": 556, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 554, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 557, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 555, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3827, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3828, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3829, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3830, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3831, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3832, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3833, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3834, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3835, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3836, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3837, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3838, + "maxAmount": 1 + } + ], + "easy": [ + { + "minAmount": 1, + "weight": "5", + "id": 2633, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2635, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2637, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2587, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2583, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2585, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3472, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2589, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2595, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2591, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2593, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3473, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2597, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10306, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10308, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10310, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10312, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10314, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7332, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7338, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7344, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7350, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7356, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 2631, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7392, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7396, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7388, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7390, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7386, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7394, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7362, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7366, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7364, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 7368, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10404, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10406, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10424, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10426, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10408, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10410, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10428, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10430, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10412, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10414, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10432, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10434, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10316, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10318, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10320, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10322, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10324, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10392, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10394, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10396, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10398, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10366, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10458, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10464, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10462, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10466, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10460, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10468, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13095, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 13105, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10280, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1077, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1089, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1107, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1125, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1151, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1165, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1179, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1195, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1217, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1283, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1297, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1313, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1327, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1341, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1361, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1367, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1426, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3098, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 4821, + "maxAmount": 1 + }, + { + "minAmount": 4, + "weight": "5", + "id": 8779, + "maxAmount": 38 + }, + { + "minAmount": 1, + "weight": "5", + "id": 850, + "maxAmount": 4 + }, + { + "minAmount": 4, + "weight": "5", + "id": 334, + "maxAmount": 19 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1169, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1059, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1061, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1063, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1095, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1129, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1167, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1131, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 858, + "maxAmount": 4 + }, + { + "minAmount": 3, + "weight": "5", + "id": 330, + "maxAmount": 23 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1441, + "maxAmount": 3 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1443, + "maxAmount": 3 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1270, + "maxAmount": 3 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1097, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 1133, + "maxAmount": 1 + }, + { + "minAmount": 500, + "weight": "5", + "id": 995, + "maxAmount": 7000 + }, + { + "minAmount": 15, + "weight": "5", + "id": 10326, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7329, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7331, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 7330, + "maxAmount": 40 + }, + { + "minAmount": 15, + "weight": "5", + "id": 10327, + "maxAmount": 40 + }, + { + "minAmount": 1, + "weight": "5", + "id": 10476, + "maxAmount": 27 + }, + { + "minAmount": 1, + "weight": "5", + "id": 556, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 554, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 557, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 555, + "maxAmount": 228 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3827, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3828, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3829, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3830, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3831, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3832, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3833, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3834, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3835, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3836, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3837, + "maxAmount": 1 + }, + { + "minAmount": 1, + "weight": "5", + "id": 3838, + "maxAmount": 1 + } + ] +} diff --git a/Server/src/main/java/core/game/content/ttrail/ClueLevel.java b/Server/src/main/java/core/game/content/ttrail/ClueLevel.java index 54d03960f..63b874a5c 100644 --- a/Server/src/main/java/core/game/content/ttrail/ClueLevel.java +++ b/Server/src/main/java/core/game/content/ttrail/ClueLevel.java @@ -18,585 +18,136 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import api.IfaceSettingsBuilder; + +import rs09.game.system.config.ClueRewardParser; + /** * A clue scroll level. - * - * @author Vexia */ public enum ClueLevel { - - EASY(new Item(2714), 1 << 16 | 5, - new ChanceItem(Items.BLUE_BERET_2633, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_BERET_2635, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.WHITE_BERET_2637, 1, 1, DropFrequency.UNCOMMON), - // black - // t - new ChanceItem(Items.BLACK_FULL_HELMT_2587, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_PLATEBODY_T_2583, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_PLATELEGS_T_2585, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_PLATESKIRT_T_3472, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_KITESHIELD_T_2589, 1, 1, DropFrequency.UNCOMMON), - // black - // g - new ChanceItem(Items.BLACK_FULL_HELMG_2595, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_PLATEBODY_G_2591, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_PLATELEGS_G_2593, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_PLATESKIRT_G_3473, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_KITESHIELD_G_2597, 1, 1, DropFrequency.UNCOMMON), - //black h helms - new ChanceItem(Items.BLACK_HELM_H1_10306, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_HELM_H2_10308, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_HELM_H3_10310, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_HELM_H4_10312, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_HELM_H5_10314, 1, 1, DropFrequency.UNCOMMON), - //black h shields - new ChanceItem(Items.BLACK_SHIELDH1_7332, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_SHIELDH2_7338, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_SHIELDH3_7344, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_SHIELDH4_7350, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_SHIELDH5_7356, 1, 1, DropFrequency.UNCOMMON), - // highway - // man - // mask - new ChanceItem(Items.HIGHWAYMAN_MASK_2631, 1, 1, DropFrequency.UNCOMMON), - // wizard t - new ChanceItem(Items.WIZARD_ROBE_T_7392, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.WIZARD_HAT_T_7396, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLUE_SKIRT_T_7388, 1, 1, DropFrequency.UNCOMMON), - // wizard - // g - new ChanceItem(Items.WIZARD_ROBE_G_7390, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLUE_SKIRT_G_7386, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.WIZARD_HAT_G_7394, 1, 1, DropFrequency.UNCOMMON), - // studded - // g - new ChanceItem(Items.STUDDED_BODY_G_7362, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.STUDDED_CHAPS_G_7366, 1, 1, DropFrequency.UNCOMMON), - // studded - // t - new ChanceItem(Items.STUDDED_BODY_T_7364, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.STUDDED_CHAPS_T_7368, 1, 1, DropFrequency.UNCOMMON), - // red - // ele - // shirt - new ChanceItem(Items.RED_ELE_SHIRT_10404, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RED_ELE_LEGS_10406, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RED_ELE_BLOUSE_10424, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RED_ELE_SKIRT_10426, 1, 1, DropFrequency.UNCOMMON), - // blue - // ele - // shirt - new ChanceItem(Items.BLUE_ELE_SHIRT_10408, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLUE_ELE_LEGS_10410, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLUE_ELE_BLOUSE_10428, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLUE_ELE_SKIRT_10430, 1, 1, DropFrequency.UNCOMMON), - // green - // ele - // shirt - new ChanceItem(Items.GREEN_ELE_SHIRT_10412, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GREEN_ELE_LEGS_10414, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GREEN_ELE_BLOUSE_10432, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GREEN_ELE_SKIRT_10434, 1, 1, DropFrequency.UNCOMMON), - // bob - // the - // cat - new ChanceItem(Items.BOB_SHIRT_10316, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.BOB_SHIRT_10318, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.BOB_SHIRT_10320, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.BOB_SHIRT_10322, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.BOB_SHIRT_10324, 1, 1, DropFrequency.RARE), - // emote - // enhancers - new ChanceItem(Items.A_POWDERED_WIG_10392, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.FLARED_TROUSERS_10394, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.PANTALOONS_10396, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SLEEPING_CAP_10398, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.AMULET_OF_MAGICT_10366, 1, 1, DropFrequency.UNCOMMON), - // vestment - // robes(sara, - // guthix, - // zammy) - new ChanceItem(Items.SARADOMIN_ROBE_TOP_10458, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.SARADOMIN_ROBE_LEGS_10464, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GUTHIX_ROBE_TOP_10462, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GUTHIX_ROBE_LEGS_10466, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ZAMORAK_ROBE_TOP_10460, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ZAMORAK_ROBE_LEGS_10468, 1, 1, DropFrequency.UNCOMMON), - // black - // cane - new ChanceItem(Items.BLACK_CANE_13095, 1, 1, DropFrequency.UNCOMMON), - // spikey - // helmet - new ChanceItem(Items.SPIKED_HELMET_13105, 1, 1, DropFrequency.RARE), - //comp bow - new ChanceItem(Items.WILLOW_COMP_BOW_10280, 1, 1, DropFrequency.UNCOMMON), - //other common crap - new ChanceItem(Items.BLACK_PLATELEGS_1077, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_PLATESKIRT_1089, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_CHAINBODY_1107, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_PLATEBODY_1125, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_MED_HELM_1151, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_FULL_HELM_1165, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_SQ_SHIELD_1179, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_KITESHIELD_1195, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_DAGGER_1217, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_SWORD_1283, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_LONGSWORD_1297, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_2H_SWORD_1313, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_SCIMITAR_1327, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_WARHAMMER_1341, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_AXE_1361, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_BATTLEAXE_1367, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_MACE_1426, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_CLAWS_3098, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_NAILS_4821, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.OAK_PLANK_8779, 4, 38, DropFrequency.COMMON), - new ChanceItem(Items.WILLOW_SHORTBOW_850, 1, 4, DropFrequency.COMMON), - new ChanceItem(Items.TROUT_334, 4, 19, DropFrequency.COMMON), - new ChanceItem(Items.COIF_1169, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.LEATHER_GLOVES_1059, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.LEATHER_BOOTS_1061, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.LEATHER_VAMBRACES_1063, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.LEATHER_CHAPS_1095, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.LEATHER_BODY_1129, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.LEATHER_COWL_1167, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.HARDLEATHER_BODY_1131, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.YEW_SHORTBOW_858, 1, 4, DropFrequency.COMMON), - new ChanceItem(Items.SALMON_330, 3, 23, DropFrequency.COMMON), - new ChanceItem(Items.EARTH_TALISMAN_1441, 1, 3, DropFrequency.COMMON), - new ChanceItem(Items.FIRE_TALISMAN_1443, 1, 3, DropFrequency.COMMON), - new ChanceItem(Items.STEEL_PICKAXE_1270, 1, 3, DropFrequency.COMMON), - new ChanceItem(Items.STUDDED_CHAPS_1097, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.STUDDED_BODY_1133, 1, 1, DropFrequency.COMMON)), - - MEDIUM(new Item(2717), 1 << 16 | 6, - // Trimmed - // addy - // shit - new ChanceItem(Items.ADAM_FULL_HELMT_2605, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_PLATEBODY_T_2599, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_PLATELEGS_T_2601, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_KITESHIELD_T_2603, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_PLATESKIRT_T_3474, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_FULL_HELMG_2613, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_PLATEBODY_G_2607, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_PLATELEGS_G_2609, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_PLATESKIRT_G_3475, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAM_KITESHIELD_G_2611, 1, 1, DropFrequency.UNCOMMON), - // Headbands - new ChanceItem(Items.BLACK_HEADBAND_2647, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RED_HEADBAND_2645, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BROWN_HEADBAND_2649, 1, 1, DropFrequency.UNCOMMON), - // Boots - new ChanceItem(Items.RANGER_BOOTS_2577, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.WIZARD_BOOTS_2579, 1, 1, DropFrequency.UNCOMMON), - // Boaters - new ChanceItem(Items.RED_BOATER_7319, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ORANGE_BOATER_7321, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GREEN_BOATER_7323, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLUE_BOATER_7325, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLACK_BOATER_7327, 1, 1, DropFrequency.UNCOMMON), - // Trimmed - // Dragonhide - // shit - new ChanceItem(Items.DHIDE_BODY_T_7372, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.DHIDE_CHAPS_T_7380, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.DHIDE_BODYG_7370, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.DHIDE_CHAPS_G_7378, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.PITH_HELMET_13103, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_CANE_13097, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.YEW_COMP_BOW_10282, 1, 1, DropFrequency.UNCOMMON), - // animal - // masks - new ChanceItem(Items.PENGUIN_MASK_13109, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.SHEEP_MASK_13107, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.BAT_MASK_13111, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.CAT_MASK_13113, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.WOLF_MASK_13115, 1, 1, DropFrequency.UNCOMMON), - // ammy - // of - // strength - // (t) - new ChanceItem(Items.STRENGTH_AMULETT_10364, 1, 1, DropFrequency.UNCOMMON), - // white ele - new ChanceItem(Items.WHITE_ELE_BLOUSE_10420, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.WHITE_ELE_SKIRT_10422, 1, 1, DropFrequency.UNCOMMON), - // black - // ele - new ChanceItem(Items.BLACK_ELE_SHIRT_10400, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.BLACK_ELE_LEGS_10402, 1, 1, DropFrequency.RARE), - // purple - // ele - new ChanceItem(Items.PURPLE_ELE_SHIRT_10416, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.PURPLE_ELE_LEGS_10418, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.PURPLE_ELE_BLOUSE_10436, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.PURPLE_ELE_SKIRT_10438, 1, 1, DropFrequency.UNCOMMON), - // addy - // heraldic - // helms - new ChanceItem(Items.ADAMANT_HELM_H1_10296, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_HELM_H2_10298, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_HELM_H3_10300, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_HELM_H4_10302, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_HELM_H5_10304, 1, 1, DropFrequency.UNCOMMON), - // addy - // heraldic - // shield - new ChanceItem(Items.ADAMANT_SHIELDH1_10666, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_SHIELDH2_10669, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_SHIELDH3_10672, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_SHIELDH4_10675, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ADAMANT_SHIELDH5_10678, 1, 1, DropFrequency.UNCOMMON), - // cloaks - new ChanceItem(Items.SARADOMIN_CLOAK_10446, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GUTHIX_CLOAK_10448, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ZAMORAK_CLOAK_10450, 1, 1, DropFrequency.UNCOMMON), - //mitres - new ChanceItem(Items.SARADOMIN_MITRE_10452, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GUTHIX_MITRE_10454, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ZAMORAK_MITRE_10456, 1, 1, DropFrequency.UNCOMMON), - - new ChanceItem(Items.ADAMANT_FULL_HELM_1161, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_PLATEBODY_1123, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_PLATELEGS_1073, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_PLATESKIRT_1091, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_KITESHIELD_1199, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_SQ_SHIELD_1183, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_CHAINBODY_1111, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_DAGGER_1211, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_PICKAXE_1271, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_SWORD_1287, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_LONGSWORD_1301, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_2H_SWORD_1317, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_AXE_1357, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_BATTLEAXE_1371, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_MACE_1430, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANTITE_NAILS_4823, 10, 40, DropFrequency.COMMON), - new ChanceItem(Items.ADAMANT_CROSSBOW_9183, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.FIRE_BATTLESTAFF_1393, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.GREEN_DHIDE_CHAPS_1099, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.GREEN_DHIDE_BODY_1135, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.YEW_SHORTBOW_857, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.TEAK_PLANK_8781, 10, 43, DropFrequency.COMMON), - new ChanceItem(Items.SWORDFISH_374, 6, 23, DropFrequency.COMMON), - new ChanceItem(Items.LOBSTER_380, 15, 43, DropFrequency.COMMON)), - - HARD(new Item(2720), 1 << 16 | 8, - new ChanceItem(Items.MAGIC_COMP_BOW_10284, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.TOP_HAT_13101, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_CANE_13099, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.SARADOMIN_STOLE_10470, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GUTHIX_STOLE_10472, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ZAMORAK_STOLE_10474, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.SARADOMIN_CROZIER_10440, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.GUTHIX_CROZIER_10442, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ZAMORAK_CROZIER_10444, 1, 1, DropFrequency.UNCOMMON), - // Trimmed - // rune - // shit - new ChanceItem(Items.RUNE_FULL_HELM_T_2627, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_PLATEBODY_T_2623, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_PLATELEGS_T_2625, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_PLATESKIRT_T_3477, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_KITESHIELD_T_2629, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_FULL_HELMG_2619, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_PLATEBODY_G_2615, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_PLATELEGS_G_2617, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_PLATESKIRT_G_3476, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_KITESHIELD_G_2621, 1, 1, DropFrequency.UNCOMMON), - // God - // armour - // shit - new ChanceItem(Items.GUTHIX_FULL_HELM_2673, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_PLATEBODY_2669, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_PLATELEGS_2671, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_PLATESKIRT_3480, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_KITESHIELD_2675, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_FULL_HELM_2657, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_PLATEBODY_2653, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_PLATELEGS_2655, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_PLATESKIRT_3478, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_KITESHIELD_2659, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_FULL_HELM_2665, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_PLATEBODY_2661, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_PLATELEGS_2663, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_PLATESKIRT_3479, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_KITESHIELD_2667, 1, 1, DropFrequency.RARE), - // heraldic - // shit - new ChanceItem(Items.RUNE_HELM_H1_10286, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_SHIELDH1_10667, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_HELM_H2_10288, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_SHIELDH2_10670, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_HELM_H3_10290, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_SHIELDH3_10673, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_HELM_H4_10292, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_SHIELDH4_10676, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_HELM_H5_10294, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.RUNE_SHIELDH5_10679, 1, 1, DropFrequency.UNCOMMON), - // Blue - // dragonhide - // trimmed - new ChanceItem(Items.DHIDE_BODY_T_7376, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.DHIDE_CHAPS_T_7384, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.DHIDE_BODY_G_7374, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.DHIDE_CHAPS_G_7382, 1, 1, DropFrequency.COMMON), - // God - // dhide - new ChanceItem(Items.ZAMORAK_COIF_10374, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_BRACERS_10368, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_DHIDE_10370, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_CHAPS_10372, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_COIF_10382, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_BRACERS_10376, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_DRAGONHIDE_10378, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_CHAPS_10380, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_COIF_10390, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_BRACERS_10384, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_DHIDE_10386, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_CHAPS_10388, 1, 1, DropFrequency.RARE), - // Hats - new ChanceItem(Items.PIRATES_HAT_2651, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ROBIN_HOOD_HAT_2581, 1, 1, DropFrequency.UNCOMMON), - // Cavaliers - new ChanceItem(Items.TAN_CAVALIER_2639, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.DARK_CAVALIER_2641, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_CAVALIER_2643, 1, 1, DropFrequency.COMMON), - //rune crap - new ChanceItem(Items.RUNE_FULL_HELM_1163, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_PLATEBODY_1127, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_PLATELEGS_1079, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_PLATESKIRT_1093, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_KITESHIELD_1201, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_SQ_SHIELD_1185, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_DAGGER_1213, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_PICKAXE_1275, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_SWORD_1289, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_LONGSWORD_1303, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_2H_SWORD_1319, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_AXE_1359, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_BATTLEAXE_1373, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_MACE_1432, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_NAILS_4824, 10, 43, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_BOLTS_9144, 6, 23, DropFrequency.COMMON), - new ChanceItem(Items.RUNE_CROSSBOW_9185, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_DHIDE_CHAPS_2497, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.BLACK_DHIDE_BODY_2503, 1, 1, DropFrequency.COMMON), - new ChanceItem(Items.MAGIC_SHORTBOW_861, 1, 2, DropFrequency.COMMON), - new ChanceItem(Items.MAGIC_LONGBOW_859, 1, 2, DropFrequency.COMMON), - //planks - new ChanceItem(Items.MAHOGANY_PLANK_8783, 6, 27, DropFrequency.COMMON), - //food - new ChanceItem(Items.LOBSTER_380, 16, 38, DropFrequency.COMMON), - new ChanceItem(Items.SHARK_386, 7, 32, DropFrequency.COMMON), - //enchanted robes - new ChanceItem(Items.ENCHANTED_ROBE_7398, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ENCHANTED_TOP_7399, 1, 1, DropFrequency.UNCOMMON), - new ChanceItem(Items.ENCHANTED_HAT_7400, 1, 1, DropFrequency.UNCOMMON)), - + EASY(Items.CASKET_2714, 1, 5), + MEDIUM(Items.CASKET_2717, 1, 6), + HARD(Items.CASKET_2720, 1, 8), + UNKNOWN(0, 0, 0) ; - /** - * The default rewards. - */ - private static final ChanceItem[] DEFAULT_REWARDS = new ChanceItem[] { - new ChanceItem(Items.COINS_995, 500, 7000, DropFrequency.COMMON), - new ChanceItem(Items.PURPLE_FIRELIGHTER_10326, 15, 40, DropFrequency.UNCOMMON), - new ChanceItem(Items.RED_FIRELIGHTER_7329, 15, 40, DropFrequency.UNCOMMON), - new ChanceItem(Items.BLUE_FIRELIGHTER_7331, 15, 40, DropFrequency.UNCOMMON), - new ChanceItem(Items.GREEN_FIRELIGHTER_7330, 15, 40, DropFrequency.UNCOMMON), - new ChanceItem(Items.WHITE_FIRELIGHTER_10327, 15, 40, DropFrequency.UNCOMMON), - new ChanceItem(Items.PURPLE_SWEETS_10476, 1, 27, DropFrequency.UNCOMMON), - new ChanceItem(Items.AIR_RUNE_556, 1, 228, DropFrequency.COMMON), - new ChanceItem(Items.FIRE_RUNE_554, 1, 228, DropFrequency.COMMON), - new ChanceItem(Items.EARTH_RUNE_557, 1, 228, DropFrequency.COMMON), - new ChanceItem(Items.WATER_RUNE_555, 1, 228, DropFrequency.COMMON), - new ChanceItem(Items.SARADOMIN_PAGE_1_3827, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_PAGE_2_3828, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_PAGE_3_3829, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.SARADOMIN_PAGE_4_3830, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_PAGE_1_3831, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_PAGE_2_3832, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_PAGE_3_3833, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.ZAMORAK_PAGE_4_3834, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_PAGE_1_3835, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_PAGE_2_3836, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_PAGE_3_3837, 1, 1, DropFrequency.RARE), - new ChanceItem(Items.GUTHIX_PAGE_4_3838, 1, 1, DropFrequency.RARE) - }; + public int casketId, minSteps, maxSteps; - /** - * The super rare items. - */ - private static final WeightedChanceItem[] SUPER_RARE = new WeightedChanceItem[] { - //1 Trimmed Glory = 50 = to hit 15% - new WeightedChanceItem(Items.AMULET_OF_GLORYT_10362, 1, 1, 50), - //5 Gilded Items = 150 = to hit 9% - new WeightedChanceItem(Items.GILDED_FULL_HELM_3486, 1, 1, 30), - new WeightedChanceItem(Items.GILDED_PLATEBODY_3481, 1, 1, 30), - new WeightedChanceItem(Items.GILDED_PLATELEGS_3483, 1, 1, 30), - new WeightedChanceItem(Items.GILDED_PLATESKIRT_3485, 1, 1, 30), - new WeightedChanceItem(Items.GILDED_KITESHIELD_3488, 1, 1, 30), - //12 3rd Age = 120 = to hit 3% - new WeightedChanceItem(Items.THIRD_AGE_RANGE_TOP_10330, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_RANGE_LEGS_10332, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_RANGE_COIF_10334, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_VAMBRACES_10336, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_ROBE_TOP_10338, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_ROBE_10340, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_MAGE_HAT_10342, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_AMULET_10344, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_PLATELEGS_10346, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_PLATEBODY_10348, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_FULL_HELMET_10350, 1, 1, 10), - new WeightedChanceItem(Items.THIRD_AGE_KITESHIELD_10352, 1, 1, 10) }; - - /** - * The casket. - */ - private final Item casket; - - /** - * The length hash of the level. - */ - private final int lengthHash; - - /** - * The reward items. - */ - private final ChanceItem[] rewards; - - /** - * Constructs a new {@Code ClueLevel} {@Code Object} - * - * @param casket - * the casket. - * @param lengthHash - * the hash. - * @param rewards - * the rewards. - */ - private ClueLevel(Item casket, int lengthHash, ChanceItem... rewards) { - this.casket = casket; - this.lengthHash = lengthHash; - this.rewards = rewards; + private ClueLevel(int casketId, int minSteps, int maxSteps) { + this.casketId = casketId; + this.minSteps = minSteps; + this.maxSteps = maxSteps; } - /** - * Opens a cakset for the player. - * - * @param player - * the player. - * @param casket - * the casket. - */ - public void open(Player player, Item casket) { - if (casket != null) { - if (!player.getInventory().containsItem(casket)) { - return; - } + private static ClueLevel getLevelForCasket(Item casket) { + switch (casket.getId()) { + case Items.CASKET_2714: + return ClueLevel.EASY; + case Items.CASKET_2717: + return ClueLevel.MEDIUM; + case Items.CASKET_2720: + return ClueLevel.HARD; } - if (TreasureTrailManager.getInstance(player).isCompleted() || GameWorld.getSettings().isDevMode()) { - final List rewards = getLoot(player); - player.getInterfaceManager().open(new Component(364).setCloseEvent(new CloseEvent() { - private boolean given; - @Override - public boolean close(Player player, Component c) { - if (!given) { - for (Item item : rewards) { - player.getInventory().add(item, player); - } - given = true; - } - return true; + return ClueLevel.UNKNOWN; + } + + public static void open(Player player, Item casket) { + if (casket == null || !player.getInventory().containsItem(casket)) { + return; + } + + TreasureTrailManager playerTrails = TreasureTrailManager.getInstance(player); + + boolean trailCompleted = playerTrails.isCompleted(); + boolean isDevMode = GameWorld.getSettings().isDevMode(); + + ClueLevel clueLevel = getLevelForCasket(casket); + + if (trailCompleted || isDevMode) { + List rewards = rollLoot(player, clueLevel); + + player.getInterfaceManager().open(new Component(364)); + + if (player.getInventory().remove(casket)) { + long rewardValue = 0L; + + for (Item reward : rewards) { + api.ContentAPIKt.addItemOrDrop(player, reward.getId(), reward.getAmount()); + rewardValue += reward.getValue(); } - })); - if (casket != null) { - player.getInventory().remove(casket); + + playerTrails.incrementClues(clueLevel); + playerTrails.clearTrail(); + + player.sendMessage("Well done, you've completed the Treasure Trail!"); + player.sendMessage( + getChatColor(clueLevel) + + "You have completed " + + playerTrails.getCompletedClues(clueLevel) + + " " + + clueLevel.getName().toLowerCase() + + " clues." + ); + + player.sendMessage( + "Your clue is worth approximately " + + NumberFormat.getInstance().format(rewardValue) + + " coins!" + ); + + int clueIfaceSettings = new IfaceSettingsBuilder().enableAllOptions().build(); + player.getPacketDispatch().sendIfaceSettings(clueIfaceSettings, 4, 364, 0, 6); + InterfaceContainer.generateItems( + player, + rewards.toArray(new Item[] {}), + new String[] {""}, + 364, 4, 3, 3 + ); } - TreasureTrailManager.getInstance(player).incrementClues(this); - TreasureTrailManager.getInstance(player).clearTrail(); - player.sendMessage("Well done, you've completed the Treasure Trail!"); - player.sendMessage(getChatColor(this) + "You have completed " + TreasureTrailManager.getInstance(player).getCompletedClues(this) + " " + this.getName().toLowerCase() + " Treasure Trails."); - long value = 0; - for (Item item : rewards) { - value += item.getValue(); - } - player.sendMessage("Your clue is worth approximately " + NumberFormat.getInstance().format(value) + " coins!"); - player.getPacketDispatch().sendIfaceSettings(1278, 4, 364, 0, 6); - InterfaceContainer.generateItems(player, rewards.toArray(new Item[] {}), new String[] { "" }, 364, 4, 3, 3); return; } - Item clue = ClueScrollPlugin.getClue(this); - if (clue == null) { - player.sendMessage("Error! Clue not found! Report to admin."); - return; - } - if (casket != null) { - player.getInventory().replace(clue, casket.getSlot()); + + Item newClue = ClueScrollPlugin.getClue(clueLevel); + + if (casket != null && player.getInventory().remove(casket)) { + player.getInventory().replace(newClue, casket.getSlot()); } else { - player.getInventory().add(clue); + player.getInventory().add(newClue); } - TreasureTrailManager.getInstance(player).setClueId(clue.getId()); - player.getDialogueInterpreter().sendItemMessage(clue, "You've found another clue!"); + + playerTrails.setClueId(newClue.getId()); + player.getDialogueInterpreter().sendItemMessage(newClue, "You've found another clue!"); } - /** - * Gets the rewards.ds. - * - * @return the rewar - */ - public List getLoot(Player player) { - List items = new ArrayList<>(20); - List ids = new ArrayList<>(20); - items.addAll(Arrays.asList(DEFAULT_REWARDS)); - items.addAll(Arrays.asList(this.getRewards())); - List rewards = new ArrayList<>(20); - int size = RandomFunction.random(1, 6); - if (this == HARD) { - size = RandomFunction.random(4, 6); - } - Item item = null; - for (int i = 0; i < size; i++) { - rewards.addAll(RandomFunction.rollChanceTable(false,items)); - } - /* - int rand = 1400;// 2000 - if (this == HARD && rand == 11) - */ - //Super Rare Table - if (this == HARD && RandomFunction.random(100) == 50) { - rewards.remove(0); - rewards.add(RandomFunction.rollWeightedChanceTable(SUPER_RARE).asItem()); - } - return rewards; - } + public static List rollLoot(Player player, ClueLevel level) { + ArrayList loot = new ArrayList(); + int itemCount = RandomFunction.random(1,6); - /** - * Gets a reward item. - * - * @return the item. - */ - public Item getReward(List items) { - Collections.shuffle(items); - return RandomFunction.getChanceItem(items.toArray(new ChanceItem[] {})).getRandomItem(); - } + if (level == ClueLevel.HARD) { + itemCount = Math.max(itemCount, RandomFunction.random(4,6)); + } - /** - * Gets the clue level for the casket. - * - * @param node - * the node. - * @return the level. - */ - public static ClueLevel forCasket(Item node) { - for (ClueLevel level : values()) { - if (node.getId() == level.getCasket().getId()) { - return level; + for (; itemCount > 0; itemCount--) { + switch (level) { + case EASY: + loot.addAll(ClueRewardParser.getEasyTable().roll()); + break; + case MEDIUM: + loot.addAll(ClueRewardParser.getMedTable().roll()); + break; + case HARD: + loot.addAll(ClueRewardParser.getHardTable().roll()); + break; } } - return null; + + if (level == ClueLevel.HARD && RandomFunction.random(100) == 50) { + loot.addAll(ClueRewardParser.getRareTable().roll()); + } + + return loot; } /** @@ -619,7 +170,7 @@ public enum ClueLevel { * @return the length. */ public int getMaximumLength() { - return lengthHash & 0xFFFF; + return maxSteps; } /** @@ -628,16 +179,7 @@ public enum ClueLevel { * @return the length. */ public int getMinimumLength() { - return lengthHash >> 16 & 0xFFFF; - } - - /** - * Gets the brewards. - * - * @return the rewards - */ - public ChanceItem[] getRewards() { - return rewards; + return minSteps; } /** @@ -646,16 +188,7 @@ public enum ClueLevel { * @return the casket */ public Item getCasket() { - return casket; - } - - /** - * Gets the blengthHash. - * - * @return the lengthHash - */ - public int getLengthHash() { - return lengthHash; + return new Item(casketId); } /** diff --git a/Server/src/main/java/core/game/content/ttrail/TreasureTrailPlugin.java b/Server/src/main/java/core/game/content/ttrail/TreasureTrailPlugin.java index 7ebe56b16..6379cf050 100644 --- a/Server/src/main/java/core/game/content/ttrail/TreasureTrailPlugin.java +++ b/Server/src/main/java/core/game/content/ttrail/TreasureTrailPlugin.java @@ -68,7 +68,7 @@ public final class TreasureTrailPlugin extends OptionHandler { if (!player.getInventory().containsItem(node.asItem())) { return true; } - ClueLevel.forCasket((Item) node).open(player, (Item) node); + ClueLevel.open(player, (Item) node); break; case "look through": player.getInterfaceManager().open(new Component(365)); diff --git a/Server/src/main/kotlin/rs09/game/system/config/ClueRewardParser.kt b/Server/src/main/kotlin/rs09/game/system/config/ClueRewardParser.kt new file mode 100644 index 000000000..7bdc9be62 --- /dev/null +++ b/Server/src/main/kotlin/rs09/game/system/config/ClueRewardParser.kt @@ -0,0 +1,53 @@ +package rs09.game.system.config + +import org.json.simple.JSONArray +import org.json.simple.JSONObject +import org.json.simple.parser.JSONParser + +import rs09.ServerConstants +import rs09.game.content.global.WeightBasedTable +import rs09.game.content.global.WeightedItem + +import java.io.FileReader + +class ClueRewardParser { + companion object { + @JvmStatic var easyTable = WeightBasedTable() + @JvmStatic var medTable = WeightBasedTable() + @JvmStatic var hardTable = WeightBasedTable() + @JvmStatic var rareTable = WeightBasedTable() + } + + + val parser = JSONParser() + var reader: FileReader? = null + + fun load() { + reader = FileReader(ServerConstants.CONFIG_PATH + "clue_rewards.json") + + val rawData = parser.parse(reader) as JSONObject + easyTable = parseClueTable(rawData["easy"] as JSONArray) + medTable = parseClueTable(rawData["medium"] as JSONArray) + hardTable = parseClueTable(rawData["hard"] as JSONArray) + rareTable = parseClueTable(rawData["rare"] as JSONArray) + } + + private fun parseClueTable(data: JSONArray) : WeightBasedTable { + val table = WeightBasedTable() + + for (element in data) { + val itemData = element as JSONObject + + table.add(WeightedItem( + itemData["id"].toString().toInt(), + itemData["minAmount"].toString().toInt(), + itemData["maxAmount"].toString().toInt(), + itemData["weight"].toString().toDouble(), + false + )) + + } + + return table + } +} diff --git a/Server/src/main/kotlin/rs09/game/system/config/ConfigParser.kt b/Server/src/main/kotlin/rs09/game/system/config/ConfigParser.kt index 91031154a..8213b4fd6 100644 --- a/Server/src/main/kotlin/rs09/game/system/config/ConfigParser.kt +++ b/Server/src/main/kotlin/rs09/game/system/config/ConfigParser.kt @@ -27,6 +27,7 @@ class ConfigParser : Commands { MusicConfigLoader().load() RangedConfigLoader().load() CustomVarbitParser().load() + ClueRewardParser().load() } fun reloadConfigs(callback: () -> Unit) {