Thread: Easy-Elite Treasure Trail Rewards

Results 1 to 5 of 5
  1. #1 Easy-Elite Treasure Trail Rewards 
    Registered Member

    Join Date
    Mar 2011
    Age
    27
    Posts
    555
    Thanks given
    168
    Thanks received
    190
    Rep Power
    0

    Most rewards for easy-elite treasure trail rewards, might be missing some, couldn't find an accurate source for 2012 rewards.

    Rates might be to hard for a rsps, opened over 1k elite caskets before i even got a third age piece.

    Attached image

    Spoiler for sendRewards:
    Code:
    	public void openReward(int level) {
    		boolean bank = false;
    		switch (level) {
    		case 0:
    			EasyRewards.generateRewards(player);
    			break;
    		case 1:
    			MediumRewards.generateRewards(player);
    			break;
    		case 2:
    			HardRewards.generateRewards(player);
    			break;
    		case 3:
    			EliteRewards.generateRewards(player);
    			break;
    		}
    		player.getInterfaceManager().sendInterface(364);
    		player.getPackets().sendItems(141, player.getClueScrollRewards());
    		player.getPackets().sendInterSetItemsOptionsScript(364, 4, 141, 3, 4, "Examine");
    		player.getPackets().sendUnlockIComponentOptionSlots(364, 4, 0, player.getClueScrollRewards().getSize(), 0);
    		long totalValue = 0;
    		for (Item item : player.getClueScrollRewards().toArray()) {
    			if (item == null)
    				continue;
    			totalValue += EconomyPrices.getPrice(item.getId()) * item.getAmount();
    			String name = item.getDefinitions().getName().toLowerCase();
    			if (name.contains("third") || name.contains("ranger") || name.contains("robin") || name.contains("gilded")
    					|| name.contains("ornament")) {
    				World.sendWorldMessage("<img=7><col=36648b>News: " + player.getDisplayName() + " looted "
    						+ item.getName() + " from a casket.", false);
    				player.getAdventureLog().addActivity("After opening a casket, I found a " + item.getName() + ".");
    			}
    		}
    		if (player.getTreasureTrailCompleted().get(LEVEL[level]) == null) {
    			player.getTreasureTrailCompleted().put(LEVEL[level], 1);
    		} else
    			player.getTreasureTrailCompleted().put(LEVEL[level],
    					player.getTreasureTrailCompleted().get(LEVEL[level]).intValue() + 1);
    		if (player.getTreasureTrailCompleted().get(LEVEL[level]).intValue() % 50 == 0)
    			player.getAdventureLog()
    					.addActivity("I have completed "
    							+ player.getTreasureTrailCompleted().get(LEVEL[level])
    							+ " " + LEVEL[level].toLowerCase() + " treasure trails.");
    		if (player.getTreasureTrailCompleted().get(LEVEL[level]).intValue() == 100) {
    			player.getPackets().sendGameMessage(
    					"<col=ff0000>Congratulations, you have completed a completionist cape requirement;");
    			player.getPackets().sendGameMessage("<col=ff0000>Complete 100 treasure trails.");
    			player.getAdventureLog().addActivity("I completed completionist cape requirement; Complete 100 treasure trails");
    		}
    		player.sm("You have completed "
    				+ HexColours.getShortMessage(Colours.RED, "" + player.getTreasureTrailCompleted().get(LEVEL[level]))
    				+ " " + LEVEL[level].toLowerCase() + " treasure trails.");
    		player.sm("Your treasure is worth around "
    				+ HexColours.getShortMessage(Colours.RED, Utils.getFormattedNumber(totalValue, ',') + "") + " coins!");
    		player.setCloseInterfacesEvent(new Runnable() {
    
    			@Override
    			public void run() {
    				for (Item item : player.getClueScrollRewards().toArray()) {
    					if (item == null)
    						continue;
    					if (bank) {
    						player.getBank().addItem(item, true);
    						continue;
    					} else {
    						if (player.getInventory().hasFreeSlots())
    							player.getInventory().addItem(item);
    						else {
    							if (player.getInventory().containsItem(item.getId(), 1)
    									&& item.getDefinitions().isStackable())
    								player.getInventory().addItem(item);
    							else
    								World.updateGroundItem(item, player.getLastWorldTile(), player, 60, 0);
    						}
    					}
    
    				}
    				player.setClueScrollRewards(new ItemsContainer<Item>(10, true));
    			}
    		});
    	}


    Spoiler for Easy Rewards:
    Code:
    package com.rs.game.player.content.treasuretrails;
    
    import com.rs.game.item.Item;
    import com.rs.game.player.Player;
    import com.rs.utils.Utils;
    
      @suppressWarnings("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;
    
    	public enum EasyRewardStore {
    
    		/**
    		 * General Uncommon Drops
    		 */
    
    		BLACK_FULL_HELM(1165, UNCOMMON), BLACK_PLATEBODY(1125, UNCOMMON), BLACK_PLATELEGS(1077, UNCOMMON),
    		BLACK_LONGSWORD(1297, UNCOMMON), BLACK_BATTLEAXE(1367, UNCOMMON), BLACK_HATCHET(1361, UNCOMMON),
    		BLACK_DAGGER(1217, UNCOMMON), STEEL_PICKAXE(1269, UNCOMMON), COIF(1169, UNCOMMON), STUDDED_BODY(1133, UNCOMMON),
    		STUDDEN_CHAPS(1097, UNCOMMON), WILLOW_SHORTBOW(849, UNCOMMON), STAFF_OF_AIR(1381, UNCOMMON),
    		WILLOW_LONGBOW(847, UNCOMMON), AMULET_OF_MAGIC(1727, UNCOMMON), WILLOW_COMPOSITE_BOW(10280, RARE),
    
    		/**
    		 * Runes
    		 */
    
    		AIR_RUNE(556, UNCOMMON, 30, 50), MIND_RUNE(558, UNCOMMON, 30, 50), WATER_RUNE(555, UNCOMMON, 30, 50), EARTH_RUNE(557, UNCOMMON, 30, 50),
    		FIRE_RUNE(554, UNCOMMON, 30, 50), BODY_RUNE(559, UNCOMMON, 30, 50), CHAOS_RUNE(562, UNCOMMON, 5, 10), NATURE_RUNE(561, UNCOMMON, 5, 10),
    		LAW_RUNE(563, UNCOMMON, 5, 10),
    
    		/**
    		 * Noted Food
    		 */
    
    		COOKED_TROUT(334, UNCOMMON, 6, 10), COOKED_SALMON(330, UNCOMMON, 6, 10),
    
    		/**
    		 * Uniques
    		 */
    
    		AMULET_OF_MAGIC_TRIMMED(10366, RARE),
    
    		BLACK_FULL_HELM_T(2587, VERY_RARE), BLACK_PLATEBODY_T(2583, VERY_RARE), BLACK_PLATELEGS_T(2585, VERY_RARE),
    		BLACK_PLATESKIRT_T(3472, VERY_RARE), BLACK_KITESHIELD_T(2589, VERY_RARE),
    
    		BLACK_FULL_HELM_G(2595, VERY_RARE), BLACK_PLATEBODY_G(2591, VERY_RARE), BLACK_PLATELEGS_G(2593, VERY_RARE),
    		BLACK_PLATESKIRT_G(3473, VERY_RARE), BLACK_KITESHIELD_G(2597, VERY_RARE),
    
    		BLACK_SHIELD_H1(7332, VERY_RARE), BLACK_SHIELD_H2(7338, VERY_RARE), BLACK_SHIELD_H3(7344, VERY_RARE),
    		BLACK_SHIELD_H4(7350, VERY_RARE), BLACK_SHIELD_H5(7356, VERY_RARE),
    
    		BLACK_HELM_H1(10306, VERY_RARE), BLACK_HELM_H2(10308, VERY_RARE), BLACK_HELM_H3(10310, VERY_RARE),
    		BLACK_HELM_H4(10312, VERY_RARE), BLACK_HELM_H5(10314, VERY_RARE),
    
    		BLACK_PLATEBODY_H1(19167, VERY_RARE), BLACK_PLATEBODY_H2(19188, VERY_RARE),
    		BLACK_PLATEBODY_H3(19209, VERY_RARE), BLACK_PLATEBODY_H4(19230, VERY_RARE),
    		BLACK_PLATEBODY_H5(19251, VERY_RARE),
    
    		STUDDED_BODY_G(7362, VERY_RARE), STUDDED_CHAPS_G(7366, VERY_RARE), STUDDED_BODY_T(7364, VERY_RARE),
    		STUDDED_CHAPS_T(7368, VERY_RARE),
    
    		BLUE_WIZARD_SKIRT_G(7386, VERY_RARE), BLUE_WIZARD_ROBE_G(7390, VERY_RARE), BLUE_WIZARD_HAT_G(7394, VERY_RARE),
    
    		BLUE_WIZARD_SKIRT_T(7388, VERY_RARE), BLUE_WIZARD_ROBE_T(7392, VERY_RARE), BLUE_WIZARD_HAT_T(7396, VERY_RARE),
    
    		SARADOMIN_ROBE_TOP(10458, VERY_RARE), ZAMORAK_ROBE_TOP(10460, VERY_RARE), GUTHIX_ROBE_TOP(10462, VERY_RARE),
    		ARMADYL_ROBE_TOP(19380, VERY_RARE), ANCIENT_ROBE_TOP(19382, VERY_RARE), BANDOS_ROBE_TOP(19384, VERY_RARE),
    
    		SARADOMIN_ROBE_LEGS(10464, VERY_RARE), GUTHIX_ROBE_LEGS(10466, VERY_RARE), ZAMORAK_ROBE_LEGS(10468, VERY_RARE),
    		ARMADYL_ROBE_LEGS(19386, VERY_RARE), BANDOS_ROBE_LEGS(19388, VERY_RARE), ANCIENT_ROBE_LEGS(19390, VERY_RARE),
    
    		HIGHWAYMAN_MASK(2631, VERY_RARE),
    
    		BLUE_BERET(2633, VERY_RARE), BLACK_BERET(2635, VERY_RARE), WHITE_BERET(2637, VERY_RARE),
    
    		A_POWDERED_WIG(10392, VERY_RARE), SLEEPING_CAP(10398, VERY_RARE),
    
    		FLARED_TROUSERS(10394, VERY_RARE), PANTALOONS(10396, VERY_RARE), BLACK_CANE(13095, VERY_RARE),
    
    		RED_ELEGANT_SHIRT(10404, VERY_RARE), RED_ELEGANT_BLOUSE(10424, VERY_RARE), RED_ELEGANT_LEGS(10406, VERY_RARE),
    		RED_ELEGANT_SKIRT(10426, VERY_RARE),
    
    		GREEN_ELEGANT_SHIRT(10412, VERY_RARE), GREEN_ELEGANT_BLOUSE(10432, VERY_RARE),
    		GREEN_ELEGANT_LEGS(10414, VERY_RARE), GREEN_ELEGANT_SKIRT(10434, VERY_RARE),
    
    		BLUE_ELEGANT_SHIRT(10408, VERY_RARE), BLUE_ELEGANT_BLOUSE(10428, VERY_RARE),
    		BLUE_ELEGANT_LEGS(10410, VERY_RARE), BLUE_ELEGANT_SKIRT(10430, VERY_RARE),
    
    		/**
    		 * Shared Rewards
    		 */
    
    		COINS(995, UNCOMMON, 50, 200),
    				
    		RARE_COINS(995, UNCOMMON, 3000, 7000),
    			
    		VERY_RARE_COINS(995, UNCOMMON, 10000, 15000),		
    
    		PURPLE_SWEETS(10476, UNCOMMON, 2, 6),
    
    		RED_FIRELIGHTER(7329, RARE, 4, 10),
    
    		GREEN_FIRELIGHTER(7330, RARE, 4, 10),
    
    		BLUE_FIRELIGHTER(7331, RARE, 4, 10),
    
    		PURPLE_FIRELIGHTER(10326, RARE, 4, 10),
    
    		WHITE_FIRELIGHTER(10327, RARE, 4, 10),
    
    		RARE_PURPLE_SWEETS(10476, RARE, 8, 12),
    
    		SARADOMIN_PAGES(3827, 3830, RARE),
    
    		ZAMORAK_PAGES(3831, 3834, RARE),
    
    		GUTHIX_PAGES(3835, 3838, RARE),
    
    		ARMADYL_PAGES(19604, 19607, RARE),
    
    		ANCIENT_PAGES(19608, 19611, RARE),
    
    		BANDOS_PAGES(19600, 19603, RARE)
    
    		;
    
    		private int itemId;
    		private int itemId2;
    		private int amount;
    		private int min;
    		private int max;
    
    		private double chance;
    
    		private EasyRewardStore(int itemId, double chance) {
    			this(itemId, -1, chance, 1, 2);
    		}
    
    		private EasyRewardStore(int itemId, int itemId2, double chance) {
    			this(itemId, itemId2, chance, 1, 2);
    		}
    
    		private EasyRewardStore(int itemId, double chance, int amount) {
    			this(itemId, -1, chance, amount, amount);
    		}
    		
    		private EasyRewardStore(int itemId, double chance, int min, int max) {
    			this(itemId, -1, chance, min, max);
    		}
    
    		private EasyRewardStore(int itemId, int itemId2, double chance, int min, int max) {
    			this.itemId = itemId;
    			this.itemId2 = itemId2;
    			this.chance = chance;
    			this.min = min;
    			this.max = max;
    		}
    
    		public int getItemId() {
    			return itemId;
    		}
    
    		public double getChance() {
    			return chance;
    		}
    
    		public int getAmount() {
    			return amount;
    		}
    
    		public int getMin() {
    			return min;
    		}
    
    		public int getMax() {
    			return max;
    		}
    		
    		public int getItemId2() {
    			return itemId2;
    		}
    
    	}
    
    	protected static void generateRewards(final Player player) {
    		int amount = Utils.getRandom(3);
    		for (int i = 0; i <= 3 + amount; i++) {
    			EasyRewardStore reward = getRandomReward();
    			int itemAmount = Utils.random(reward.getMin(), reward.getMax());
    			int itemId = reward.getItemId2() > 0 ? Utils.random(reward.getItemId(), reward.getItemId2()) : reward.getItemId();
    			if ((reward.getChance() == RARE || reward.getChance() == VERY_RARE) && reward.getMin() <= 1)
    				itemAmount = 1;
    			player.getClueScrollRewards().add(new Item(itemId, itemAmount));
    		}
    	}
    
    	protected static EasyRewardStore[] items = EasyRewardStore.values();
    
    	protected static EasyRewardStore getRandomReward() {
    		while (true) {
    			double chance = Utils.getRandomDouble(100);
    			EasyRewardStore reward = items[Utils.getRandom(items.length - 1)];
    			if ((reward.getChance()) > chance)
    				return reward;
    			else
    				continue;
    		}
    	}
    }


    Spoiler for Medium Rewards:
    Code:
    package com.rs.game.player.content.treasuretrails;
    
    import com.rs.game.item.Item;
    import com.rs.game.player.Player;
    import com.rs.utils.Utils;
    
      @suppressWarnings("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;
    
    	public enum MediumRewardStore {
    
    		/**
    		 * General Uncommon Drops
    		 */
    
    		ADAMANT_FULL_HELM(1161, UNCOMMON), ADAMANT_PLATEBODY(1123, UNCOMMON), ADAMANT_PLATELEGS(1073, UNCOMMON),
    		ADAMANT_LONGSWORD(1301, UNCOMMON), ADAMANT_DAGGER(1211, UNCOMMON), ADAMANT_BATTLEAXE(1371, UNCOMMON),
    		ADAMANT_HATCHET(1357, UNCOMMON), ADAMANT_PICKAXE(1271, UNCOMMON), GREEN_D_HIDE_BODY(1135, UNCOMMON),
    		GREEN_D_HIDE_CHAPS(1099, UNCOMMON), YEW_SHORTBOW(857, UNCOMMON), FIRE_BATTLESTAFF(1393, UNCOMMON),
    		YEW_LONGBOW(855, UNCOMMON), AMULET_OF_POWER(1731, UNCOMMON), YEW_COMPOSITE_BOW(10282, RARE),
    		STRENGTH_AMULET_T(10364, RARE),
    
    		/**
    		 * Runes
    		 */
    
    		FIRE_RUNE(554, UNCOMMON, 50, 100), WATER_RUNE(555, UNCOMMON, 50, 100), AIR_RUNE(556, UNCOMMON, 50, 100),
    		EARTH_RUNE(557, UNCOMMON, 50, 100), MIND_RUNE(558, UNCOMMON, 50, 100), CHAOS_RUNE(562, UNCOMMON, 10, 20),
    		NATURE_RUNE(561, UNCOMMON, 10, 20), LAW_RUNE(563, UNCOMMON, 10, 20), DEATH_RUNE(560, UNCOMMON, 10, 20),
    
    		/**
    		 * Noted Food
    		 */
    
    		COOKED_LOBSTER(380, UNCOMMON, 8, 12), COOKED_SWORDFISH(374, UNCOMMON, 8, 12),
    
    		/**
    		 * Uniques
    		 */
    
    		RANGER_BOOTS(2577, VERY_RARE), WIZARD_BOOTS(2579, VERY_RARE),
    
    		ADAMANT_FULL_HELM_T(2605, VERY_RARE), ADAMANT_PLATEBODY_T(2599, VERY_RARE),
    		ADAMANT_PLATELEGS_T(2601, VERY_RARE), ADAMANT_PLATESKIRT_T(3474, VERY_RARE),
    		ADAMANT_KITESHIELD_T(2603, VERY_RARE),
    
    		ADAMANT_FULL_HELM_G(2613, VERY_RARE), ADAMANT_PLATEBODY_G(2607, VERY_RARE),
    		ADAMANT_PLATELEGS_G(2609, VERY_RARE), ADAMANT_PLATESKIRT_G(3475, VERY_RARE),
    		ADMAANT_KITESHIELD_G(2611, VERY_RARE),
    
    		ADAMANT_SHIELD_H1(10666, VERY_RARE), ADAMANT_SHIELD_H2(10669, VERY_RARE), ADAMANT_SHIELD_H3(10672, VERY_RARE),
    		ADAMANT_SHIELD_H4(10675, VERY_RARE), ADAMANT_SHIELD_H5(10678, VERY_RARE),
    
    		ADAMANT_HELM_H1(10296, VERY_RARE), ADAMANT_HELM_H2(10298, VERY_RARE), ADAMANT_HELM_H3(10300, VERY_RARE),
    		ADAMANT_HELM_H4(10302, VERY_RARE), ADAMANT_HELM_H5(10304, VERY_RARE),
    
    		ADAMANT_PLATEBODY_H1(19173, VERY_RARE), ADAMANT_PLATEBODY_H2(19194, VERY_RARE),
    		ADAMANT_PLATEBODY_H3(19215, VERY_RARE), ADAMANT_PLATEBODY_H4(19236, VERY_RARE),
    		ADAMANT_PLATEBODY_H5(19257, VERY_RARE),
    
    		GREEN_D_HIDE_BODY_G(7370, VERY_RARE), GREEN_D_HIDE_CHAPS_G(7378, VERY_RARE),
    		GREEN_D_HIDE_BODY_T(7372, VERY_RARE), GREEN_D_HIDE_CHAPS_T(7380, VERY_RARE),
    
    		SARADOMIN_MITRE(10452, VERY_RARE), GUTHIX_MITRE(10454, VERY_RARE), ZAMOKRA_MITRE(10456, VERY_RARE),
    		ARMADYL_MITRE(19374, VERY_RARE), BANDOS_MITRE(19376, VERY_RARE), ANCIENT_MITRE(19378, VERY_RARE),
    
    		SARADOMIN_CLOAK(10446, VERY_RARE), GUTHIX_CLOAK(10448, VERY_RARE), ZAMORAK_CLOAK(10450, VERY_RARE),
    		ARMADYL_CLOAK(19368, VERY_RARE), BANDOS_CLOAK(19370, VERY_RARE), ANCIENT_CLOAK(19372, VERY_RARE),
    
    		ARMADYL_STOLE(19392, VERY_RARE), BANDOS_STOLE(19394, VERY_RARE), ANCIENT_STOLE(19396, VERY_RARE),
    		ARMADYL_CROZIER(19362, VERY_RARE), BANDOS_CROZIER(19364, VERY_RARE), ANCIENT_CROZIER(19366, VERY_RARE),
    
    		RED_BOATER(7319, VERY_RARE), ORANGE_BOATER(7321, VERY_RARE), GREEN_BOATER(7323, VERY_RARE),
    		BLUE_BOATER(7325, VERY_RARE), BLACK_BOATER(7327, VERY_RARE),
    
    		RED_HEADBAND(2645, VERY_RARE), BLACK_HEADBAND(2647, VERY_RARE), BROWN_HEADBAND(2649, VERY_RARE),
    
    		ADAMANT_CANE(13097, VERY_RARE),
    
    		CAT_MASK(13113, VERY_RARE), PENGUIN_MASK(13109, VERY_RARE), WOLF_MASK(13115, VERY_RARE),
    		WHITE_UNICORN_MASK(19275, VERY_RARE), BLACK_UNICORN_MASK(19278, VERY_RARE),
    
    		PURPLE_ELEGANT_SHIRT(10416, VERY_RARE), PURPLE_ELEGANT_BLOUSE(10436, VERY_RARE),
    		PURPLE_ELEGANT_LEGS(10418, VERY_RARE), PURPLE_ELEGANT_SKIRT(10438, VERY_RARE),
    
    		BLACK_ELEGANT_SHIRT(10400, VERY_RARE), BLACK_ELEGANT_LEGS(10402, VERY_RARE),
    
    		WHITE_ELEGANT_BLOUSE(10420, VERY_RARE), WHITE_ELEGANT_SKIRT(10422, VERY_RARE),
    		
    
    		/**
    		 * Shared Rewards
    		 */
    
    		COINS(995, UNCOMMON, 200, 100),
    
    		VERY_RARE_COINS(995, UNCOMMON, 10000, 15000),
    
    		PURPLE_SWEETS(10476, UNCOMMON, 5, 10),
    
    		RED_FIRELIGHTER(7329, RARE, 4, 10),
    
    		GREEN_FIRELIGHTER(7330, RARE, 4, 10),
    
    		BLUE_FIRELIGHTER(7331, RARE, 4, 10),
    
    		PURPLE_FIRELIGHTER(10326, RARE, 4, 10),
    
    		WHITE_FIRELIGHTER(10327, RARE, 4, 10),
    
    		PURPLE_SWEETS2(10476, UNCOMMON, 8, 12),
    
    		SARADOMIN_PAGES(3827, 3830, RARE),
    
    		ZAMORAK_PAGES(3831, 3834, RARE),
    
    		GUTHIX_PAGES(3835, 3838, RARE),
    
    		ARMADYL_PAGES(19604, 19607, RARE),
    
    		ANCIENT_PAGES(19608, 19611, RARE),
    
    		BANDOS_PAGES(19600, 19603, RARE)
    
    		;
    
    		private int itemId;
    		private int itemId2;
    		private int amount;
    		private int min;
    		private int max;
    
    		private double chance;
    
    		private MediumRewardStore(int itemId, double chance) {
    			this(itemId, -1, chance, 1, 2);
    		}
    
    		private MediumRewardStore(int itemId, int itemId2, double chance) {
    			this(itemId, itemId2, chance, 1, 2);
    		}
    
    		private MediumRewardStore(int itemId, double chance, int amount) {
    			this(itemId, -1, chance, amount, amount);
    		}
    		
    		private MediumRewardStore(int itemId, double chance, int min, int max) {
    			this(itemId, -1, chance, min, max);
    		}
    
    		private MediumRewardStore(int itemId, int itemId2, double chance, int min, int max) {
    			this.itemId = itemId;
    			this.itemId2 = itemId2;
    			this.chance = chance;
    			this.min = min;
    			this.max = max;
    		}
    
    		public int getItemId() {
    			return itemId;
    		}
    
    		public double getChance() {
    			return chance;
    		}
    
    		public int getAmount() {
    			return amount;
    		}
    
    		public int getMin() {
    			return min;
    		}
    
    		public int getMax() {
    			return max;
    		}
    
    		public int getItemId2() {
    			return itemId2;
    		}
    
    	}
    
    	protected static void generateRewards(final Player player) {
    		int amount = Utils.getRandom(3);
    		for (int i = 0; i <= 2 + amount; i++) {
    			MediumRewardStore reward = getRandomReward();
    			int itemAmount = Utils.random(reward.getMin(), reward.getMax());
    			int itemId = reward.getItemId2() > 0 ? Utils.random(reward.getItemId(), reward.getItemId2()) : reward.getItemId();
    			if ((reward.getChance() == RARE || reward.getChance() == VERY_RARE) && reward.getMin() <= 1)
    				itemAmount = 1;
    			player.getClueScrollRewards().add(new Item(itemId, itemAmount));
    		}
    	}
    
    	protected static MediumRewardStore[] items = MediumRewardStore.values();
    
    	protected static MediumRewardStore getRandomReward() {
    		while (true) {
    			double chance = Utils.getRandomDouble(100);
    			MediumRewardStore reward = items[Utils.getRandom(items.length - 1)];
    			if ((reward.getChance()) > chance)
    				return reward;
    			else
    				continue;
    		}
    	}
    }


    Spoiler for Hard Rewards:
    Code:
    package com.rs.game.player.content.treasuretrails;
    
    import com.rs.game.item.Item;
    import com.rs.game.player.Player;
    import com.rs.utils.Utils;
    
      @suppressWarnings("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;
    
    	public enum HardRewardStore {
    
    		/**
    		 * General Uncommon Drops
    		 */
    
    		RUNE_FULL_HELM(1163, UNCOMMON), RUNE_PLATEBODY(1127, UNCOMMON), RUNE_PLATELEGS(1079, UNCOMMON),
    		RUNE_PLATESKIRT(1093, UNCOMMON), RUNE_KITESHIELD(1201, UNCOMMON), RUNE_LONGSWORD(1303, UNCOMMON),
    		RUNE_DAGGER(1213, UNCOMMON), RUNE_BATTLEAXE(1373, UNCOMMON), RUNE_HATCHET(1359, UNCOMMON),
    		RUNE_PICKAXE(1275, UNCOMMON), BLACK_DHIDE_BODY(2503, UNCOMMON), BLACK_DHIDE_CHAPS(2497, UNCOMMON),
    		MAGIC_SHORTBOW(861, UNCOMMON), MAGIC_LONGBOW(859, UNCOMMON), MAGIC_COMPOSITE_BOW(10284, RARE),
    
    		/**
    		 * Runes
    		 */
    
    		NATURE_RUNE(561, UNCOMMON, 30, 50), LAW_RUNE(563, UNCOMMON, 30, 50), BLOOD_RUNE(565, UNCOMMON, 20, 30),
    
    		/**
    		 * Noted Food
    		 */
    
    		COOKED_LOBSTER(380, UNCOMMON, 12, 15), COOKED_SHARK(386, UNCOMMON, 12, 15),
    
    		/**
    		 * Teleports
    		 */
    
    		BANDIT_CAMP_TELEPORT(19476, UNCOMMON, 1, 8), LUMBER_YARD_TELEPORT(19480, UNCOMMON, 1, 8),
    		PHOENIX_LAIR_TELEPORT(19478, UNCOMMON, 1, 5), TAI_BWO_WANNAI_TELEPORT(19479, UNCOMMON, 1, 5),
    
    		/**
    		 * Uniques
    		 */
    
    		AMULET_OF_GLORY_T4(10354, VERY_RARE), ROBIN_HOOD_HAT(2581, VERY_RARE), ENCHANTED_HAT(7400, VERY_RARE),
    		ENCHANTED_TOP(7399, VERY_RARE), ENCHANTED_ROBE(7398, VERY_RARE),
    
    		RUNE_FULL_HELM_T(2627, VERY_RARE), RUNE_PLATEBODY_T(2623, VERY_RARE), RUNE_PLATELEGS_T(2625, VERY_RARE),
    		RUNE_PLATESKIRT_T(3477, VERY_RARE), RUNE_KITESHIELD_T(2629, VERY_RARE),
    
    		RUNE_FULL_HELM_G(2619, VERY_RARE), RUNE_PLATEBODY_G(2615, VERY_RARE), RUNE_PLATELEGS_G(2617, VERY_RARE),
    		RUNE_PLATESKIRT_G(3476, VERY_RARE), RUNE_KITESHIELD_G(2621, VERY_RARE),
    
    		RUNE_SHIELD_H1(10667, VERY_RARE), RUNE_SHIELD_H2(10670, VERY_RARE), RUNE_SHIELD_H3(10673, VERY_RARE),
    		RUNE_SHIELD_H4(10676, VERY_RARE), RUNE_SHIELD_H5(10679, VERY_RARE),
    
    		RUNE_HELM_H1(10286, VERY_RARE), RUNE_HELM_H2(10288, VERY_RARE), RUNE_HELM_H3(10290, VERY_RARE),
    		RUNE_HELM_H4(10292, VERY_RARE), RUNE_HELM_H5(10294, VERY_RARE),
    
    		ZAMORAK_FULL_HELM(2657, VERY_RARE), ZAMORAK_PLATEBODY(2653, VERY_RARE), ZAMORAK_PLATELEGS(2655, VERY_RARE),
    		ZAMORAK_PLATESKIRT(3478, VERY_RARE), ZAMORAK_KITESHIELD(2659, VERY_RARE),
    
    		SARADOMIN_FULL_HELM(2665, VERY_RARE), SARADOMIN_PLATEBODY(2661, VERY_RARE),
    		SARADOMIN_PLATELEGS(2663, VERY_RARE), SARADOMIN_PLATESKIRT(3479, VERY_RARE),
    		SARADOMIN_KITESHIELD(2667, VERY_RARE),
    
    		GUTHIX_FULL_HELM(2673, VERY_RARE), GUTHIX_PLATEBODY(2669, VERY_RARE), GUTHIX_PLATELEGS(2671, VERY_RARE),
    		GUTHIX_PLATESKIRT(3480, VERY_RARE), GUTHIX_KITESHIELD(2675, VERY_RARE),
    
    		ANCIENT_FULL_HELM(19407, VERY_RARE), ANCIENT_PLATEBODY(19398, VERY_RARE), ANCIENT_PLATELEGS(19401, VERY_RARE),
    		ANCIENT_PLATESKIRT(19404, VERY_RARE), ANCIENT_KITESHIELD(19410, VERY_RARE),
    
    		BANDOS_FULL_HELM(19437, VERY_RARE), BANDOS_PLATEBODY(19428, VERY_RARE), BANDOS_PLATELEGS(19431, VERY_RARE),
    		BANDOS_PLATESKIRT(19434, VERY_RARE), BANDOS_KITESHIELD(19440, VERY_RARE),
    
    		ARMADYL_FULL_HELM(19422, VERY_RARE), ARMADYL_PLATEBODY(19413, VERY_RARE), ARMADYL_PLATELEGS(19416, VERY_RARE),
    		ARMADYL_PLATESKIRT(19419, VERY_RARE), ARMADYL_KITESHIELD(19425, VERY_RARE),
    
    		BLUE_DHIDE_BODY_G(7374, VERY_RARE), BLUE_DHIDE_CHAPS_G(7382, VERY_RARE), BLUE_DHIDE_BODY_T(7376, VERY_RARE),
    		BLUE_DHIDE_CHAPS_T(7384, VERY_RARE),
    
    		SARADOMIN_BRACERS(10384, VERY_RARE), SARADOMIN_BODY(10386, VERY_RARE), SARADOMIN_CHAPS(10388, VERY_RARE),
    		SARADOMIN_COIF(10390, VERY_RARE),
    
    		GUTHIX_BRACERS(10376, VERY_RARE), GUTHIX_BODY(10378, VERY_RARE), GUTHIX_CHAPS(10380, VERY_RARE),
    		GUTHIX_COIF(10382, VERY_RARE),
    
    		ZAMORAK_BRACERS(10368, VERY_RARE), ZAMORAK_BODY(10370, VERY_RARE), ZAMORAK_CHAPS(10372, VERY_RARE),
    		ZAMORAK_COIF(10374, VERY_RARE),
    
    		BANDOS_BRACERS(19451, VERY_RARE), BANDOS_BODY(19453, VERY_RARE), BANDOS_CHAPS(19455, VERY_RARE),
    		BANDOS_COIF(19457, VERY_RARE),
    
    		ANCIENT_BRACERS(19443, VERY_RARE), ANCIENT_BODY(19445, VERY_RARE), ANCIENT_CHAPS(19447, VERY_RARE),
    		ANCIENT_COIF(19449, VERY_RARE),
    
    		ARMADYL_BRACERS(19459, VERY_RARE), ARMADYL_BODY(19461, VERY_RARE), ARMADYL_CHAPS(19463, VERY_RARE),
    		ARMADYL_COIF(19465, VERY_RARE),
    
    		SARADOMIN_STOLE(10470, VERY_RARE), GUTHIX_STOLE(10472, VERY_RARE), ZAMORAK_STOLE(10474, VERY_RARE),
    		SARADOMIN_CROZIER(10440, VERY_RARE), GUTHIX_CROZIER(10442, VERY_RARE), ZAMORAK_CROZIER(10444, VERY_RARE),
    
    		PIRATES_HAT(2651, VERY_RARE), TAN_CAVALIER(2639, VERY_RARE), DARK_CAVALIER(2641, VERY_RARE),
    		BLACK_CAVALIER(2643, VERY_RARE), GREEN_DRAGON_MASK(19281, VERY_RARE), BLUE_DRAGON_MASK(19284, VERY_RARE),
    		RED_DRAGON_MASK(19287, VERY_RARE), BLACK_DRAGON_MASK(19290, VERY_RARE),
    
    		RUNE_CANE(13099, VERY_RARE),
    
    		RUNE_BODY_H1(19179, VERY_RARE), RUNE_BODY_H2(19200, VERY_RARE), RUNE_BODY_H3(19221, VERY_RARE),
    		RUNE_BODY_H4(19242, VERY_RARE), RUNE_BODY_H5(19263, VERY_RARE),
    
    		TOP_HAT(13101, VERY_RARE),
    
    		/**
    		 * Mega rare table
    		 */
    
    		GILDED_FULL_HELM(3486, MEGA_RARE), GILDED_PLATEBODY(3481, MEGA_RARE), GILDED_PLATELEGS(3483, MEGA_RARE),
    		GILDED_PLATESKIRT(3485, MEGA_RARE), GILDED_KITESHIELD(3488, MEGA_RARE),
    
    		THIRD_AGE_RANGE_TOP(10330, MEGA_RARE), THIRD_AGE_RANGE_LEGS(10332, MEGA_RARE),
    		THIRD_AGE_RANGE_COIF(10334, MEGA_RARE), THIRD_AGE_VAMBRACES(10336, MEGA_RARE),
    
    		THIRD_AGE_ROBE_TOP(10338, MEGA_RARE), THIRD_AGE_ROBE(10340, MEGA_RARE), THIRD_AGE_MAGE_HAT(10342, MEGA_RARE),
    		THIRD_AGE_AMULET(10344, MEGA_RARE),
    
    		THIRD_AGE_PLATELEGS(10346, MEGA_RARE), THIRD_AGE_PLATEBODY(10348, MEGA_RARE),
    		THIRD_AGE_FULL_HELM(10350, MEGA_RARE), THIRD_AGE_KITESHIELD(10352, MEGA_RARE),
    
    		/**
    		 * Shared Rewards
    		 */
    
    		SARADOMIN_ARROW(19152, RARE, 20, 100),
    
    		GUTHIX(19157, RARE, 20, 100),
    
    		ZAMORAK(19162, RARE, 20, 100),
    
    		COINS(995, UNCOMMON, 1000, 5000),
    
    		COINS2(995, UNCOMMON, 10000, 15000),
    
    		PURPLE_SWEETS(10476, UNCOMMON, 7, 15),
    
    		RED_FIRELIGHTER(7329, RARE, 4, 10),
    
    		GREEN_FIRELIGHTER(7330, RARE, 4, 10),
    
    		BLUE_FIRELIGHTER(7331, RARE, 4, 10),
    
    		PURPLE_FIRELIGHTER(10326, RARE, 4, 10),
    
    		WHITE_FIRELIGHTER(10327, RARE, 4, 10),
    
    		PURPLE_SWEETS2(10476, UNCOMMON, 8, 12),
    
    		SARADOMIN_PAGES(3827, 3830, RARE),
    
    		ZAMORAK_PAGES(3831, 3834, RARE),
    
    		GUTHIX_PAGES(3835, 3838, RARE),
    
    		ARMADYL_PAGES(19604, 19607, RARE),
    
    		ANCIENT_PAGES(19608, 19611, RARE),
    
    		BANDOS_PAGES(19600, 19603, RARE)
    
    		;
    
    		private int itemId;
    		private int itemId2;
    		private int amount;
    		private int min;
    		private int max;
    
    		private double chance;
    
    		private HardRewardStore(int itemId, double chance) {
    			this(itemId, -1, chance, 1, 2);
    		}
    
    		private HardRewardStore(int itemId, int itemId2, double chance) {
    			this(itemId, itemId2, chance, 1, 2);
    		}
    
    		private HardRewardStore(int itemId, double chance, int amount) {
    			this(itemId, -1, chance, amount, amount);
    		}
    		
    		private HardRewardStore(int itemId, double chance, int min, int max) {
    			this(itemId, -1, chance, min, max);
    		}
    
    		private HardRewardStore(int itemId, int itemId2, double chance, int min, int max) {
    			this.itemId = itemId;
    			this.itemId2 = itemId2;
    			this.chance = chance;
    			this.min = min;
    			this.max = max;
    		}
    
    		public int getItemId() {
    			return itemId;
    		}
    
    		public int getItemId2() {
    			return itemId2;
    		}
    
    		public double getChance() {
    			return chance;
    		}
    
    		public int getAmount() {
    			return amount;
    		}
    
    		public int getMin() {
    			return min;
    		}
    
    		public int getMax() {
    			return max;
    		}
    
    	}
    
    	protected static void generateRewards(final Player player) {
    		int amount = Utils.getRandom(3);
    		for (int i = 0; i <= 2 + amount; i++) {
    			HardRewardStore reward = getRandomReward();
    			int itemAmount = Utils.random(reward.getMin(), reward.getMax());
    			int itemId = reward.getItemId2() > 0 ? Utils.random(reward.getItemId(), reward.getItemId2())
    					: reward.getItemId();
    			if ((reward.getChance() == RARE || reward.getChance() == VERY_RARE || reward.getChance() == MEGA_RARE) && reward.getMin() <= 1)
    				itemAmount = 1;
    			player.getClueScrollRewards().add(new Item(itemId, itemAmount));
    		}
    	}
    
    	protected static HardRewardStore[] items = HardRewardStore.values();
    
    	protected static HardRewardStore getRandomReward() {
    		while (true) {
    			double chance = Utils.getRandomDouble(100);
    			HardRewardStore reward = items[Utils.getRandom(items.length - 1)];
    			if ((reward.getChance()) > chance) {
    				return reward;
    			}
    		}
    	}
    }


    Spoiler for Elite Rewards:
    Code:
    package com.rs.game.player.content.treasuretrails;
    
    import com.rs.game.item.Item;
    import com.rs.game.player.Player;
    import com.rs.utils.Utils;
    
      @suppressWarnings("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;
    
    	public enum EliteRewardStore {
    
    		/**
    		 * General Uncommon Drops
    		 */
    
    		RUNE_PLATEBODY(1127, UNCOMMON), RUNE_PLATELEGS(1079, UNCOMMON), RUNE_PLATESKIRT(1093, UNCOMMON),
    		RUNE_KITESHIELD(1201, UNCOMMON), RUNE_CROSSBOW(9185, UNCOMMON), DRAGON_DAGGER(1215, UNCOMMON),
    		DRAGON_MACE(1434, UNCOMMON), DRAGON_LONGSWORD(1305, UNCOMMON), ONYX_BOLT_TIPS(9194, UNCOMMON, 8, 12),
    
    		/**
    		 * Runes
    		 */
    
    		LAW_RUNE(563, UNCOMMON, 50, 75), DEATH_RUNE(560, UNCOMMON, 50, 75), BLOOD_RUNE(565, UNCOMMON, 50, 75),
    		SOUL_RUNE(566, UNCOMMON, 50, 75),
    
    		/**
    		 * Jewerly
    		 */
    
    		DRAGONSTONE_BRACELET(11115, UNCOMMON), DRAGONSTOE_NECKLACE(1664, UNCOMMON), DRAGONSTONE_RING(1645, UNCOMMON),
    
    		/**
    		 * Noted Food
    		 */
    
    		TUNA_POTATO(7061, UNCOMMON, 15, 20), SUMMER_PIE(7219, UNCOMMON, 15, 20),
    
    		/**
    		 * Resources
    		 */
    
    		OAK_PLANK(8779, UNCOMMON, 60, 80), TEAK_PLANK(8781, UNCOMMON, 40, 50), MAHOGANY_PLANK(8783, UNCOMMON, 20, 30),
    		RUNITE_BAR(2364, UNCOMMON, 1, 3), TOOTH_HALF_KEY(985, UNCOMMON), LOOP_HALF_KEY(987, UNCOMMON),
    		PALM_TREE_SEED(5289, UNCOMMON), YEW_SEED(5315, UNCOMMON), MAGIC_SEED(5316, UNCOMMON),
    
    		/**
    		 * Uniques
    		 */
    
    		SARADOMIN_BOW(19143, VERY_RARE), GUTHIX_BOW(19146, VERY_RARE), ZAMORAK_BOW(19149, VERY_RARE),
    
    		BRONZE_DRAGON_MASK(19296, VERY_RARE), IRON_DRAGON_MASK(19299, VERY_RARE), STEEL_DRAGON_MASK(19302, VERY_RARE),
    		MITHRIL_DRAGON_MASK(19305, VERY_RARE), FROST_DRAGON_MASK(19293, VERY_RARE),
    
    		BAT_STAFF(19327, VERY_RARE), WOLF_STAFF(19329, VERY_RARE), DRAGON_STAFF(19323, VERY_RARE),
    		CAT_STAFF(19331, VERY_RARE), PENGUIN_STAFF(19325, VERY_RARE),
    		
    		DRAGON_FULL_HELM_OR_KIT(19346, VERY_RARE),
    		DRAGON_PLATELEGS_SKIRT_OR_KIT(19348, VERY_RARE),
    		DRAGON_PLATEBODY_OR_KIT(19350, VERY_RARE),
    		DRAGON_SQ_SHIELD_OR_KIT(19352, VERY_RARE),
    		
    		DRAGON_FULL_HELM_SP_KIT(19354, VERY_RARE),
    		DRAGON_PLATELEGS_SKIRT_SP_KIT(19356, VERY_RARE),
    		DRAGON_PLATEBODY_SP_KIT(19358, VERY_RARE),
    		DRAGON_SQ_SP_KIT(19360, VERY_RARE),
    		
    		FURY_ORNAMENT_KIT(19333, VERY_RARE),
    
    		/**
    		 * Mega rare table
    		 */
    
    		THIRD_AGE_DRUIDIC_STAFF(19308, MEGA_RARE), THIRD_AGE_DRUIDIC_CLOAK(19311, MEGA_RARE),
    		THIRD_AGE_DRUIDIC_WREATH(19314, MEGA_RARE), THIRD_AGE_DRUIDIC_ROBE_TOP(19317, MEGA_RARE),
    		THIRD_AGE_DRUIDIC_ROBE(19320, MEGA_RARE),
    
    		/**
    		 * Shared Rewards
    		 */
    		
    		STARVED_EFFIGY(18778, RARE),
    
    		SARADOMIN_ARROW(19152, RARE, 20, 100),
    
    		GUTHIX(19157, RARE, 20, 100),
    
    		ZAMORAK(19162, RARE, 20, 100),
    
    		COINS(995, UNCOMMON, 10000, 15000),
    
    		COINS2(995, UNCOMMON, 20000, 30000),
    
    		PURPLE_SWEETS(10476, UNCOMMON, 9, 23),
    
    		RED_FIRELIGHTER(7329, RARE, 4, 10),
    
    		GREEN_FIRELIGHTER(7330, RARE, 4, 10),
    
    		BLUE_FIRELIGHTER(7331, RARE, 4, 10),
    
    		PURPLE_FIRELIGHTER(10326, RARE, 4, 10),
    
    		WHITE_FIRELIGHTER(10327, RARE, 4, 10),
    
    		PURPLE_SWEETS2(10476, UNCOMMON, 8, 12),
    
    		SARADOMIN_PAGES(3827, 3830, RARE),
    
    		ZAMORAK_PAGES(3831, 3834, RARE),
    
    		GUTHIX_PAGES(3835, 3838, RARE),
    
    		ARMADYL_PAGES(19604, 19607, RARE),
    
    		ANCIENT_PAGES(19608, 19611, RARE),
    
    		BANDOS_PAGES(19600, 19603, RARE)
    
    		;
    
    		private int itemId;
    		private int itemId2;
    		private int amount;
    		private int min;
    		private int max;
    
    		private double chance;
    
    		private EliteRewardStore(int itemId, double chance) {
    			this(itemId, -1, chance, 1, 2);
    		}
    
    		private EliteRewardStore(int itemId, int itemId2, double chance) {
    			this(itemId, itemId2, chance, 1, 2);
    		}
    
    		private EliteRewardStore(int itemId, double chance, int amount) {
    			this(itemId, -1, chance, amount, amount);
    		}
    		
    		private EliteRewardStore(int itemId, double chance, int min, int max) {
    			this(itemId, -1, chance, min, max);
    		}
    
    		private EliteRewardStore(int itemId, int itemId2, double chance, int min, int max) {
    			this.itemId = itemId;
    			this.itemId2 = itemId2;
    			this.chance = chance;
    			this.min = min;
    			this.max = max;
    		}
    
    		public int getItemId() {
    			return itemId;
    		}
    
    		public int getItemId2() {
    			return itemId2;
    		}
    
    		public double getChance() {
    			return chance;
    		}
    
    		public int getAmount() {
    			return amount;
    		}
    
    		public int getMin() {
    			return min;
    		}
    
    		public int getMax() {
    			return max;
    		}
    
    	}
    
    	protected static void generateRewards(final Player player) {
    		int amount = Utils.getRandom(3);
    		for (int i = 0; i <= 2 + amount; i++) {
    			EliteRewardStore reward = getRandomReward();
    			int itemAmount = Utils.random(reward.getMin(), reward.getMax());
    			int itemId = reward.getItemId2() > 0 ? Utils.random(reward.getItemId(), reward.getItemId2())
    					: reward.getItemId();
    			if ((reward.getChance() == RARE || reward.getChance() == VERY_RARE || reward.getChance() == MEGA_RARE) && reward.getMin() <= 1)
    				itemAmount = 1;
    			player.getClueScrollRewards().add(new Item(itemId, itemAmount));
    		}
    	}
    
    	protected static EliteRewardStore[] items = EliteRewardStore.values();
    
    	protected static EliteRewardStore getRandomReward() {
    		while (true) {
    			double chance = Utils.getRandomDouble(100);
    			EliteRewardStore reward = items[Utils.getRandom(items.length - 1)];
    			if ((reward.getChance()) > chance) {
    				return reward;
    			}
    		}
    	}
    }


    Avalon Developer
    Reply With Quote  
     

  2. Thankful user:


  3. #2  
    Donator

    Yuuji's Avatar
    Join Date
    Feb 2012
    Posts
    678
    Thanks given
    232
    Thanks received
    153
    Rep Power
    197
    Nice contribution Andreas, might use this c:

    Attached image
    Attached image
    Reply With Quote  
     

  4. Thankful user:


  5. #3  
    Christ is King

    Makar's Avatar
    Join Date
    Jul 2011
    Age
    29
    Posts
    2,004
    Thanks given
    545
    Thanks received
    965
    Rep Power
    427
    Here's the real RS rates by the way..

    Global Tables:
    Code:
    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;
    }
    Attached image
    The best open-source pre-eoc remake project that isn't in its early stages for once
    Darkan Client (727 Client Refactor)
    Darkan World Server
    “It would not be impossible to prove with sufficient repetition and a psychological understanding of the people concerned that a square is in fact a circle. They are mere words, and words can be molded until they clothe ideas and disguise.”
    Reply With Quote  
     

  6. #4  
    Registered Member
    Tyluur's Avatar
    Join Date
    Jun 2010
    Age
    26
    Posts
    5,103
    Thanks given
    1,818
    Thanks received
    1,767
    Rep Power
    2438
    Quote Originally Posted by Makar View Post
    Here's the real RS rates by the way..
    y r u defining drop tables in java
    Quote Originally Posted by blakeman8192 View Post
    Keep trying. Quitting is the only true failure.
    Spoiler for skrrrrr:

    Attached image
    Reply With Quote  
     

  7. #5  
    Christ is King

    Makar's Avatar
    Join Date
    Jul 2011
    Age
    29
    Posts
    2,004
    Thanks given
    545
    Thanks received
    965
    Rep Power
    427
    Quote Originally Posted by Tyluur View Post
    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:

    Code:
    {
      "names": [
        "Aberrant spectre"
      ],
      "tables": [
      	{
          "chance": 78.0, "outOf": 128.0,
          "rollTable": "herb"
        },
        {
          "chance": 19.0, "outOf": 128.0,
          "rollTable": "rare_seeds" 
        },
        {
          "chance": 5.0, "outOf": 128.0,
          "rollTable": "rdt_gem" 
        },
        {
          "chance": 3.0,
          "outOf": 128.0,
          "dropOne": false,
          "drops": [
            {
              "id": 1353,
              "min": 1,
              "max": 1
            }
          ]
        },
        {
          "chance": 1.0,
          "outOf": 128.0,
          "dropOne": false,
          "drops": [
            {
              "id": 1197,
              "min": 1,
              "max": 1
            }
          ]
        },
        {
          "chance": 1.0,
          "outOf": 128.0,
          "dropOne": false,
          "drops": [
            {
              "id": 3053,
              "min": 1,
              "max": 1
            }
          ]
        },
        {
          "chance": 1.0,
          "outOf": 128.0,
          "dropOne": false,
          "drops": [
            {
              "id": 1073,
              "min": 1,
              "max": 1
            }
          ]
        },
        {
          "chance": 1.0,
          "outOf": 128.0,
          "dropOne": false,
          "drops": [
            {
              "id": 1163,
              "min": 1,
              "max": 1
            }
          ]
        },
        {
          "chance": 1.0,
          "outOf": 128.0,
          "dropOne": false,
          "drops": [
            {
              "id": 995,
              "min": 460,
              "max": 460
            }
          ]
        },
        {
          "chance": 1.0,
          "outOf": 512.0,
          "dropOne": false,
          "drops": [
            {
              "id": 4103,
              "min": 1,
              "max": 1
            }
          ]
        }
      ]
    }
    Attached image
    The best open-source pre-eoc remake project that isn't in its early stages for once
    Darkan Client (727 Client Refactor)
    Darkan World Server
    “It would not be impossible to prove with sufficient repetition and a psychological understanding of the people concerned that a square is in fact a circle. They are mere words, and words can be molded until they clothe ideas and disguise.”
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Treasure trail rewards
    By jh_angel in forum Configuration
    Replies: 10
    Last Post: 09-16-2015, 11:41 AM
  2. ★ DeedsOfSin Progress Log - TREASURE TRAIL REWARD LOG! ★
    By Inside Sin in forum Old School RS (2007)
    Replies: 18
    Last Post: 03-28-2013, 12:48 PM
  3. Replies: 22
    Last Post: 08-19-2010, 03:25 PM
  4. Treasure Trail Codes/Base
    By Bando in forum Tutorials
    Replies: 14
    Last Post: 06-29-2009, 07:20 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •