osrs-tools 2.8.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/runescape/model/Item/all/Black2hSword.d.ts +3 -0
  2. package/dist/runescape/model/Item/all/Black2hSword.d.ts.map +1 -0
  3. package/dist/runescape/model/Item/all/Black2hSword.js +21 -0
  4. package/dist/runescape/model/Item/all/BlackChainbody.d.ts +3 -0
  5. package/dist/runescape/model/Item/all/BlackChainbody.d.ts.map +1 -0
  6. package/dist/runescape/model/Item/all/BlackChainbody.js +21 -0
  7. package/dist/runescape/model/Item/all/BlackKiteshield.d.ts +3 -0
  8. package/dist/runescape/model/Item/all/BlackKiteshield.d.ts.map +1 -0
  9. package/dist/runescape/model/Item/all/BlackKiteshield.js +21 -0
  10. package/dist/runescape/model/Item/all/BlackMace.d.ts +3 -0
  11. package/dist/runescape/model/Item/all/BlackMace.d.ts.map +1 -0
  12. package/dist/runescape/model/Item/all/BlackMace.js +21 -0
  13. package/dist/runescape/model/Item/all/BlackMedHelm.d.ts +3 -0
  14. package/dist/runescape/model/Item/all/BlackMedHelm.d.ts.map +1 -0
  15. package/dist/runescape/model/Item/all/BlackMedHelm.js +21 -0
  16. package/dist/runescape/model/Item/all/BlackRobe.d.ts +3 -0
  17. package/dist/runescape/model/Item/all/BlackRobe.d.ts.map +1 -0
  18. package/dist/runescape/model/Item/all/BlackRobe.js +21 -0
  19. package/dist/runescape/model/Item/all/BlackScimitar.d.ts +3 -0
  20. package/dist/runescape/model/Item/all/BlackScimitar.d.ts.map +1 -0
  21. package/dist/runescape/model/Item/all/BlackScimitar.js +21 -0
  22. package/dist/runescape/model/Item/all/BlackSword.d.ts +3 -0
  23. package/dist/runescape/model/Item/all/BlackSword.d.ts.map +1 -0
  24. package/dist/runescape/model/Item/all/BlackSword.js +21 -0
  25. package/dist/runescape/model/Item/all/BlackWarhammer.d.ts +3 -0
  26. package/dist/runescape/model/Item/all/BlackWarhammer.d.ts.map +1 -0
  27. package/dist/runescape/model/Item/all/BlackWarhammer.js +21 -0
  28. package/dist/runescape/model/Item/all/BlueWizardHat.d.ts +3 -0
  29. package/dist/runescape/model/Item/all/BlueWizardHat.d.ts.map +1 -0
  30. package/dist/runescape/model/Item/all/BlueWizardHat.js +21 -0
  31. package/dist/runescape/model/Item/all/BlueWizardRobe.d.ts +3 -0
  32. package/dist/runescape/model/Item/all/BlueWizardRobe.d.ts.map +1 -0
  33. package/dist/runescape/model/Item/all/BlueWizardRobe.js +21 -0
  34. package/dist/runescape/model/Item/all/BronzeArrow.d.ts +3 -0
  35. package/dist/runescape/model/Item/all/BronzeArrow.d.ts.map +1 -0
  36. package/dist/runescape/model/Item/all/BronzeArrow.js +21 -0
  37. package/dist/runescape/model/Item/all/DeathRune.d.ts +3 -0
  38. package/dist/runescape/model/Item/all/DeathRune.d.ts.map +1 -0
  39. package/dist/runescape/model/Item/all/DeathRune.js +21 -0
  40. package/dist/runescape/model/Item/all/DragonLongsword.d.ts +3 -0
  41. package/dist/runescape/model/Item/all/DragonLongsword.d.ts.map +1 -0
  42. package/dist/runescape/model/Item/all/DragonLongsword.js +21 -0
  43. package/dist/runescape/model/Item/all/GreenDHideBody.d.ts +1 -1
  44. package/dist/runescape/model/Item/all/GreenDHideBody.js +7 -7
  45. package/dist/runescape/model/Item/all/GreenDHideChaps.d.ts +3 -0
  46. package/dist/runescape/model/Item/all/GreenDHideChaps.d.ts.map +1 -0
  47. package/dist/runescape/model/Item/all/GreenDHideChaps.js +27 -0
  48. package/dist/runescape/model/Item/all/HardleatherBody.d.ts +3 -0
  49. package/dist/runescape/model/Item/all/HardleatherBody.d.ts.map +1 -0
  50. package/dist/runescape/model/Item/all/HardleatherBody.js +21 -0
  51. package/dist/runescape/model/Item/all/Herring.d.ts +3 -0
  52. package/dist/runescape/model/Item/all/Herring.d.ts.map +1 -0
  53. package/dist/runescape/model/Item/all/Herring.js +21 -0
  54. package/dist/runescape/model/Item/all/IronArrow.d.ts +3 -0
  55. package/dist/runescape/model/Item/all/IronArrow.d.ts.map +1 -0
  56. package/dist/runescape/model/Item/all/IronArrow.js +21 -0
  57. package/dist/runescape/model/Item/all/IronPickaxe.d.ts +3 -0
  58. package/dist/runescape/model/Item/all/IronPickaxe.d.ts.map +1 -0
  59. package/dist/runescape/model/Item/all/IronPickaxe.js +21 -0
  60. package/dist/runescape/model/Item/all/LeatherBody.d.ts +3 -0
  61. package/dist/runescape/model/Item/all/LeatherBody.d.ts.map +1 -0
  62. package/dist/runescape/model/Item/all/LeatherBody.js +21 -0
  63. package/dist/runescape/model/Item/all/LeatherCowl.d.ts +3 -0
  64. package/dist/runescape/model/Item/all/LeatherCowl.d.ts.map +1 -0
  65. package/dist/runescape/model/Item/all/LeatherCowl.js +21 -0
  66. package/dist/runescape/model/Item/all/LeatherVambraces.d.ts +3 -0
  67. package/dist/runescape/model/Item/all/LeatherVambraces.d.ts.map +1 -0
  68. package/dist/runescape/model/Item/all/LeatherVambraces.js +21 -0
  69. package/dist/runescape/model/Item/all/Longbow.d.ts +3 -0
  70. package/dist/runescape/model/Item/all/Longbow.d.ts.map +1 -0
  71. package/dist/runescape/model/Item/all/Longbow.js +21 -0
  72. package/dist/runescape/model/Item/all/OakLongbow.d.ts +3 -0
  73. package/dist/runescape/model/Item/all/OakLongbow.d.ts.map +1 -0
  74. package/dist/runescape/model/Item/all/OakLongbow.js +21 -0
  75. package/dist/runescape/model/Item/all/OakShortbow.d.ts +3 -0
  76. package/dist/runescape/model/Item/all/OakShortbow.d.ts.map +1 -0
  77. package/dist/runescape/model/Item/all/OakShortbow.js +21 -0
  78. package/dist/runescape/model/Item/all/Sardine.d.ts +3 -0
  79. package/dist/runescape/model/Item/all/Sardine.d.ts.map +1 -0
  80. package/dist/runescape/model/Item/all/Sardine.js +21 -0
  81. package/dist/runescape/model/Item/all/Shortbow.d.ts +3 -0
  82. package/dist/runescape/model/Item/all/Shortbow.d.ts.map +1 -0
  83. package/dist/runescape/model/Item/all/Shortbow.js +21 -0
  84. package/dist/runescape/model/Item/all/Shrimps.d.ts +3 -0
  85. package/dist/runescape/model/Item/all/Shrimps.d.ts.map +1 -0
  86. package/dist/runescape/model/Item/all/Shrimps.js +21 -0
  87. package/dist/runescape/model/Item/all/SoulRune.d.ts +3 -0
  88. package/dist/runescape/model/Item/all/SoulRune.d.ts.map +1 -0
  89. package/dist/runescape/model/Item/all/SoulRune.js +21 -0
  90. package/dist/runescape/model/Item/all/StaffOfEarth.d.ts +3 -0
  91. package/dist/runescape/model/Item/all/StaffOfEarth.d.ts.map +1 -0
  92. package/dist/runescape/model/Item/all/StaffOfEarth.js +21 -0
  93. package/dist/runescape/model/Item/all/StaffOfFire.d.ts +3 -0
  94. package/dist/runescape/model/Item/all/StaffOfFire.d.ts.map +1 -0
  95. package/dist/runescape/model/Item/all/StaffOfFire.js +21 -0
  96. package/dist/runescape/model/Item/all/StaffOfWater.d.ts +3 -0
  97. package/dist/runescape/model/Item/all/StaffOfWater.d.ts.map +1 -0
  98. package/dist/runescape/model/Item/all/StaffOfWater.js +21 -0
  99. package/dist/runescape/model/Item/all/SteelAxe.d.ts +3 -0
  100. package/dist/runescape/model/Item/all/SteelAxe.d.ts.map +1 -0
  101. package/dist/runescape/model/Item/all/SteelAxe.js +21 -0
  102. package/dist/runescape/model/Item/all/SteelDagger.d.ts +3 -0
  103. package/dist/runescape/model/Item/all/SteelDagger.d.ts.map +1 -0
  104. package/dist/runescape/model/Item/all/SteelDagger.js +21 -0
  105. package/dist/runescape/model/Item/all/SteelLongsword.d.ts +3 -0
  106. package/dist/runescape/model/Item/all/SteelLongsword.d.ts.map +1 -0
  107. package/dist/runescape/model/Item/all/SteelLongsword.js +21 -0
  108. package/dist/runescape/model/Item/all/SummerPie.d.ts +3 -0
  109. package/dist/runescape/model/Item/all/SummerPie.d.ts.map +1 -0
  110. package/dist/runescape/model/Item/all/SummerPie.js +21 -0
  111. package/dist/runescape/model/Item/all/TunaPotato.d.ts +3 -0
  112. package/dist/runescape/model/Item/all/TunaPotato.d.ts.map +1 -0
  113. package/dist/runescape/model/Item/all/TunaPotato.js +21 -0
  114. package/dist/runescape/model/Item/all/WizardHat.d.ts +3 -0
  115. package/dist/runescape/model/Item/all/WizardHat.d.ts.map +1 -0
  116. package/dist/runescape/model/Item/all/WizardHat.js +21 -0
  117. package/dist/runescape/model/clue/ClueScrollHelper.d.ts +1 -1
  118. package/dist/runescape/model/clue/ClueScrollHelper.d.ts.map +1 -1
  119. package/dist/runescape/model/clue/ClueScrollHelper.js +114 -197
  120. package/dist/runescape/model/clue/ClueScrollRewards.d.ts +17 -40
  121. package/dist/runescape/model/clue/ClueScrollRewards.d.ts.map +1 -1
  122. package/dist/runescape/model/clue/ClueScrollRewards.js +668 -501
  123. package/package.json +1 -1
@@ -3,6 +3,43 @@
3
3
  * Organizes all clue scroll rewards by tier with their correct rarity tiers
4
4
  * Based on official OSRS Wiki data
5
5
  */
6
+ import { Black2hSword } from "../Item/all/Black2hSword";
7
+ import { BlackChainbody } from "../Item/all/BlackChainbody";
8
+ import { BlackKiteshield } from "../Item/all/BlackKiteshield";
9
+ import { BlackMace } from "../Item/all/BlackMace";
10
+ import { BlackMedHelm } from "../Item/all/BlackMedHelm";
11
+ import { BlackRobe } from "../Item/all/BlackRobe";
12
+ import { BlackScimitar } from "../Item/all/BlackScimitar";
13
+ import { BlackSword } from "../Item/all/BlackSword";
14
+ import { BlackWarhammer } from "../Item/all/BlackWarhammer";
15
+ import { BlueWizardHat } from "../Item/all/BlueWizardHat";
16
+ import { BlueWizardRobe } from "../Item/all/BlueWizardRobe";
17
+ import { BronzeArrow } from "../Item/all/BronzeArrow";
18
+ import { DeathRune } from "../Item/all/DeathRune";
19
+ import { DragonLongsword } from "../Item/all/DragonLongsword";
20
+ import { HardleatherBody } from "../Item/all/HardleatherBody";
21
+ import { Herring } from "../Item/all/Herring";
22
+ import { IronArrow } from "../Item/all/IronArrow";
23
+ import { IronPickaxe } from "../Item/all/IronPickaxe";
24
+ import { LeatherBody } from "../Item/all/LeatherBody";
25
+ import { LeatherCowl } from "../Item/all/LeatherCowl";
26
+ import { LeatherVambraces } from "../Item/all/LeatherVambraces";
27
+ import { Longbow } from "../Item/all/Longbow";
28
+ import { OakLongbow } from "../Item/all/OakLongbow";
29
+ import { OakShortbow } from "../Item/all/OakShortbow";
30
+ import { Sardine } from "../Item/all/Sardine";
31
+ import { Shrimps } from "../Item/all/Shrimps";
32
+ import { Shortbow } from "../Item/all/Shortbow";
33
+ import { SoulRune } from "../Item/all/SoulRune";
34
+ import { StaffOfEarth } from "../Item/all/StaffOfEarth";
35
+ import { StaffOfFire } from "../Item/all/StaffOfFire";
36
+ import { StaffOfWater } from "../Item/all/StaffOfWater";
37
+ import { SteelAxe } from "../Item/all/SteelAxe";
38
+ import { SteelDagger } from "../Item/all/SteelDagger";
39
+ import { SteelLongsword } from "../Item/all/SteelLongsword";
40
+ import { SummerPie } from "../Item/all/SummerPie";
41
+ import { TunaPotato } from "../Item/all/TunaPotato";
42
+ import { WizardHat } from "../Item/all/WizardHat";
6
43
  import { AdamantPlatebody } from "../Item/all/AdamantPlatebody";
7
44
  import { AdamantPlatelegs } from "../Item/all/AdamantPlatelegs";
8
45
  import { AdamantShieldG } from "../Item/all/AdamantShieldG";
@@ -37,6 +74,7 @@ import { GildedPlatebody } from "../Item/all/GildedPlatebody";
37
74
  import { GoldenApron } from "../Item/all/GoldenApron";
38
75
  import { GoldenChefsHat } from "../Item/all/GoldenChefsHat";
39
76
  import { GreenDHideBody } from "../Item/all/GreenDHideBody";
77
+ import { GreenDHideChaps } from "../Item/all/GreenDHideChaps";
40
78
  import { HamJoint } from "../Item/all/HamJoint";
41
79
  import { IronBoots } from "../Item/all/IronBoots";
42
80
  import { IronFullHelmT } from "../Item/all/IronFullHelmT";
@@ -154,6 +192,7 @@ import { BandosStole } from "../Item/all/BandosStole";
154
192
  import { BearFeet } from "../Item/all/BearFeet";
155
193
  import { BigPirateHat } from "../Item/all/BigPirateHat";
156
194
  import { BlackBoater } from "../Item/all/BlackBoater";
195
+ import { BloodRune } from "../Item/all/BloodRune";
157
196
  import { BlackCavalier } from "../Item/all/BlackCavalier";
158
197
  import { BlackDemonMask } from "../Item/all/BlackDemonMask";
159
198
  import { BlackDragonhide } from "../Item/all/BlackDragonhide";
@@ -422,6 +461,9 @@ import { SuperRestore4 } from "../Item/all/SuperRestore4";
422
461
  import { ZamorakDHideBody } from "../Item/all/ZamorakDHideBody";
423
462
  import { ZamorakDHideBoots } from "../Item/all/ZamorakDHideBoots";
424
463
  import { ZamorakDHideShield } from "../Item/all/ZamorakDHideShield";
464
+ function withDefaultQuantity(table, quantity = 1) {
465
+ return Object.fromEntries(Object.entries(table).map(([itemName, reward]) => [itemName, { ...reward, quantity: reward.quantity ?? quantity }]));
466
+ }
425
467
  /**
426
468
  * Unique items table - rolled 1/12 chance, then 1/15 of unique portion
427
469
  * Overall rarity per item: 1/360
@@ -457,24 +499,24 @@ const BEGINNER_CABBAGE_TABLE = {
457
499
  * Source: https://oldschool.runescape.wiki/w/Reward_casket_(beginner)#Black_items_table
458
500
  */
459
501
  const BEGINNER_BLACK_ITEMS_TABLE = {
460
- "Black 2h sword": { item: BlackAxe, rarity: 805 }, // Placeholder
502
+ "Black 2h sword": { item: Black2hSword, rarity: 805 },
461
503
  "Black axe": { item: BlackAxe, rarity: 805 },
462
504
  "Black battleaxe": { item: BlackBattleaxe, rarity: 805 },
463
- "Black chainbody": { item: BlackDagger, rarity: 805 }, // Placeholder
505
+ "Black chainbody": { item: BlackChainbody, rarity: 805 },
464
506
  "Black dagger": { item: BlackDagger, rarity: 805 },
465
507
  "Black full helm": { item: BlackFullHelm, rarity: 805 },
466
- "Black kiteshield": { item: BlackPickaxe, rarity: 805 }, // Placeholder
508
+ "Black kiteshield": { item: BlackKiteshield, rarity: 805 },
467
509
  "Black longsword": { item: BlackLongsword, rarity: 805 },
468
- "Black mace": { item: BlackBattleaxe, rarity: 805 }, // Placeholder
469
- "Black med helm": { item: BlackFullHelm, rarity: 805 }, // Placeholder
510
+ "Black mace": { item: BlackMace, rarity: 805 },
511
+ "Black med helm": { item: BlackMedHelm, rarity: 805 },
470
512
  "Black pickaxe": { item: BlackPickaxe, rarity: 805 },
471
513
  "Black platebody": { item: BlackPlatebody, rarity: 805 },
472
514
  "Black plateskirt": { item: BlackPlatelegs, rarity: 805 }, // Placeholder
473
515
  "Black platelegs": { item: BlackPlatelegs, rarity: 805 },
474
516
  "Black sq shield": { item: BlackPickaxe, rarity: 805 }, // Placeholder
475
- "Black scimitar": { item: BlackLongsword, rarity: 805 }, // Placeholder
476
- "Black sword": { item: BlackLongsword, rarity: 805 }, // Placeholder
477
- "Black warhammer": { item: BlackBattleaxe, rarity: 805 }, // Placeholder
517
+ "Black scimitar": { item: BlackScimitar, rarity: 805 },
518
+ "Black sword": { item: BlackSword, rarity: 805 },
519
+ "Black warhammer": { item: BlackWarhammer, rarity: 805 },
478
520
  };
479
521
  /**
480
522
  * Common items table - 440/492 of all rolls
@@ -483,35 +525,35 @@ const BEGINNER_BLACK_ITEMS_TABLE = {
483
525
  */
484
526
  const BEGINNER_COMMON_ITEMS_TABLE = {
485
527
  // Weapons
486
- Shortbow: { item: WillowShortbow, rarity: 45 }, // Placeholder
487
- Longbow: { item: WillowLongbow, rarity: 45 }, // Placeholder
488
- "Oak shortbow": { item: WillowShortbow, rarity: 45 }, // Placeholder
489
- "Oak longbow": { item: WillowLongbow, rarity: 45 }, // Placeholder
490
- "Iron pickaxe": { item: SteelPickaxe, rarity: 45 }, // Placeholder
528
+ Shortbow: { item: Shortbow, rarity: 45 },
529
+ Longbow: { item: Longbow, rarity: 45 },
530
+ "Oak shortbow": { item: OakShortbow, rarity: 45 },
531
+ "Oak longbow": { item: OakLongbow, rarity: 45 },
532
+ "Iron pickaxe": { item: IronPickaxe, rarity: 45 },
491
533
  "Staff of air": { item: StaffOfAir, rarity: 45 },
492
- "Staff of water": { item: StaffOfAir, rarity: 45 }, // Placeholder
493
- "Staff of earth": { item: StaffOfAir, rarity: 45 }, // Placeholder
494
- "Staff of fire": { item: StaffOfAir, rarity: 45 }, // Placeholder
534
+ "Staff of water": { item: StaffOfWater, rarity: 45 },
535
+ "Staff of earth": { item: StaffOfEarth, rarity: 45 },
536
+ "Staff of fire": { item: StaffOfFire, rarity: 45 },
495
537
  // Steel armor
496
538
  "Steel full helm": { item: SteelFullHelm, rarity: 45 },
497
539
  "Steel platebody": { item: SteelPlatebody, rarity: 45 },
498
540
  "Steel platelegs": { item: SteelPlatelegs, rarity: 45 },
499
541
  "Steel plateskirt": { item: SteelPlatelegs, rarity: 45 }, // Placeholder
500
- "Steel longsword": { item: BlackLongsword, rarity: 45 }, // Placeholder
501
- "Steel dagger": { item: BlackDagger, rarity: 45 }, // Placeholder
502
- "Steel axe": { item: BlackAxe, rarity: 45 }, // Placeholder
542
+ "Steel longsword": { item: SteelLongsword, rarity: 45 },
543
+ "Steel dagger": { item: SteelDagger, rarity: 45 },
544
+ "Steel axe": { item: SteelAxe, rarity: 45 },
503
545
  "Steel battleaxe": { item: BlackBattleaxe, rarity: 45 },
504
546
  // Leather armor
505
- "Leather cowl": { item: Coif, rarity: 45 }, // Placeholder
506
- "Leather body": { item: Coif, rarity: 45 }, // Placeholder
547
+ "Leather cowl": { item: LeatherCowl, rarity: 45 },
548
+ "Leather body": { item: LeatherBody, rarity: 45 },
507
549
  "Leather chaps": { item: StuddedChaps, rarity: 45 }, // Placeholder
508
- "Leather vambraces": { item: Coif, rarity: 45 }, // Placeholder
509
- "Hardleather body": { item: StudiedBody, rarity: 45 }, // Placeholder
550
+ "Leather vambraces": { item: LeatherVambraces, rarity: 45 },
551
+ "Hardleather body": { item: HardleatherBody, rarity: 45 },
510
552
  // Wizard robes
511
- "Blue wizard hat": { item: Coif, rarity: 45 }, // Placeholder
512
- "Blue wizard robe": { item: StudiedBody, rarity: 45 }, // Placeholder
513
- "Wizard hat": { item: Coif, rarity: 45 }, // Placeholder
514
- "Black robe": { item: StudiedBody, rarity: 45 }, // Placeholder
553
+ "Blue wizard hat": { item: BlueWizardHat, rarity: 45 },
554
+ "Blue wizard robe": { item: BlueWizardRobe, rarity: 45 },
555
+ "Wizard hat": { item: WizardHat, rarity: 45 },
556
+ "Black robe": { item: BlackRobe, rarity: 45 },
515
557
  // Runes - quantities vary (15-35 or 2-9 or 2-7 noted)
516
558
  "Air rune": { item: AirRune, rarity: 45 },
517
559
  "Mind rune": { item: MindRune, rarity: 45 },
@@ -523,12 +565,12 @@ const BEGINNER_COMMON_ITEMS_TABLE = {
523
565
  "Nature rune": { item: NatureRune, rarity: 45 },
524
566
  "Law rune": { item: LawRune, rarity: 45 },
525
567
  // Ammunition
526
- "Bronze arrow": { item: WillowShortbow, rarity: 45 }, // Placeholder
527
- "Iron arrow": { item: WillowShortbow, rarity: 45 }, // Placeholder
568
+ "Bronze arrow": { item: BronzeArrow, rarity: 45 },
569
+ "Iron arrow": { item: IronArrow, rarity: 45 },
528
570
  // Food
529
- Shrimps: { item: Salmon, rarity: 45 }, // Placeholder
530
- Sardine: { item: Salmon, rarity: 45 }, // Placeholder
531
- Herring: { item: Salmon, rarity: 45 }, // Placeholder
571
+ Shrimps: { item: Shrimps, rarity: 45 },
572
+ Sardine: { item: Sardine, rarity: 45 },
573
+ Herring: { item: Herring, rarity: 45 },
532
574
  };
533
575
  /**
534
576
  * Beginner rewards organized by table structure
@@ -774,7 +816,7 @@ export const EASY_REWARDS = {
774
816
  * Overall unique probability: 1/10 per reward roll
775
817
  * Source: https://oldschool.runescape.wiki/w/Reward_casket_(medium)#Medium_clue_uniques
776
818
  */
777
- const MEDIUM_UNIQUE_ITEMS = {
819
+ const MEDIUM_UNIQUE_ITEMS_BASE = {
778
820
  "Gnomish firelighter": { item: GnomishFirelighter, rarity: 341 },
779
821
  "Yew comp bow": { item: RainBow, rarity: 341 },
780
822
  "Strength amulet (t)": { item: AmuletOfMagicT, rarity: 341 },
@@ -874,97 +916,119 @@ const MEDIUM_UNIQUE_ITEMS = {
874
916
  "Wolf cloak": { item: WolfCloak, rarity: 1133 },
875
917
  "Black unicorn mask": { item: BlackUnicornMask, rarity: 2266 },
876
918
  "White unicorn mask": { item: WhiteUnicornMask, rarity: 2266 },
919
+ "Purple elegant shirt": { item: RedElegantShirt, rarity: 2266 },
920
+ "Purple elegant blouse": { item: RedElegantShirt, rarity: 2266 },
921
+ "Purple elegant legs": { item: RedElegantShirt, rarity: 2266 },
922
+ "Purple elegant skirt": { item: RedElegantShirt, rarity: 2266 },
923
+ "Black elegant shirt": { item: RedElegantShirt, rarity: 2266 },
924
+ "White elegant blouse": { item: RedElegantShirt, rarity: 2266 },
925
+ "Black elegant legs": { item: RedElegantShirt, rarity: 2266 },
926
+ "White elegant skirt": { item: RedElegantShirt, rarity: 2266 },
927
+ "Pink elegant shirt": { item: RedElegantShirt, rarity: 2266 },
928
+ "Pink elegant blouse": { item: RedElegantShirt, rarity: 2266 },
929
+ "Pink elegant legs": { item: RedElegantShirt, rarity: 2266 },
930
+ "Pink elegant skirt": { item: RedElegantShirt, rarity: 2266 },
931
+ "Gold elegant shirt": { item: RedElegantShirt, rarity: 2266 },
932
+ "Gold elegant blouse": { item: RedElegantShirt, rarity: 2266 },
933
+ "Gold elegant legs": { item: RedElegantShirt, rarity: 2266 },
934
+ "Gold elegant skirt": { item: RedElegantShirt, rarity: 2266 },
877
935
  };
936
+ const MEDIUM_UNIQUE_ITEMS = withDefaultQuantity(MEDIUM_UNIQUE_ITEMS_BASE);
878
937
  /**
879
938
  * Medium tier standard table
880
939
  * Weapons, armor, runes, food at 1/34.1 base rarity
881
940
  */
882
941
  const MEDIUM_STANDARD_TABLE = {
883
- "Adamant full helm": { item: AdamantShieldG, rarity: 34 },
884
- "Adamant platebody": { item: AdamantPlatebody, rarity: 34 },
885
- "Adamant platelegs": { item: AdamantPlatelegs, rarity: 34 },
886
- "Adamant longsword": { item: BlackLongsword, rarity: 34 },
887
- "Adamant dagger": { item: BlackDagger, rarity: 34 },
888
- "Adamant battleaxe": { item: BlackBattleaxe, rarity: 34 },
889
- "Adamant axe": { item: BlackAxe, rarity: 34 },
890
- "Adamant pickaxe": { item: AdamantPickaxe, rarity: 34 },
891
- "Green d'hide body": { item: GreenDHideBody, rarity: 34 },
892
- "Green d'hide chaps": { item: GreenDHideBody, rarity: 34 },
893
- "Yew shortbow": { item: WillowShortbow, rarity: 34 },
894
- "Fire battlestaff": { item: StaffOfAir, rarity: 34 },
895
- "Yew longbow": { item: WillowLongbow, rarity: 38 },
896
- "Amulet of power": { item: AmuletOfMagic, rarity: 38 },
897
- "Air rune": { item: AirRune, rarity: 34 },
898
- "Mind rune": { item: MindRune, rarity: 34 },
899
- "Water rune": { item: WaterRune, rarity: 34 },
900
- "Earth rune": { item: EarthRune, rarity: 34 },
901
- "Fire rune": { item: FireRune, rarity: 34 },
902
- "Chaos rune": { item: ChaosRune, rarity: 34 },
903
- "Nature rune": { item: NatureRune, rarity: 34 },
904
- "Law rune": { item: LawRune, rarity: 34 },
905
- Lobster: { item: HamJoint, rarity: 34 },
906
- Swordfish: { item: Salmon, rarity: 34 },
942
+ "Adamant full helm": { item: AdamantShieldG, rarity: 34.1, quantity: 1 },
943
+ "Adamant platebody": { item: AdamantPlatebody, rarity: 34.1, quantity: 1 },
944
+ "Adamant platelegs": { item: AdamantPlatelegs, rarity: 34.1, quantity: 1 },
945
+ "Adamant longsword": { item: BlackLongsword, rarity: 34.1, quantity: 1 },
946
+ "Adamant dagger": { item: BlackDagger, rarity: 34.1, quantity: 1 },
947
+ "Adamant battleaxe": { item: BlackBattleaxe, rarity: 34.1, quantity: 1 },
948
+ "Adamant axe": { item: BlackAxe, rarity: 34.1, quantity: 1 },
949
+ "Adamant pickaxe": { item: AdamantPickaxe, rarity: 34.1, quantity: 1 },
950
+ "Green d'hide body": { item: GreenDHideBody, rarity: 34.1, quantity: 1 },
951
+ "Green d'hide chaps": { item: GreenDHideChaps, rarity: 34.1, quantity: 1 },
952
+ "Yew shortbow": { item: WillowShortbow, rarity: 34.1, quantity: 1 },
953
+ "Fire battlestaff": { item: StaffOfAir, rarity: 34.1, quantity: 1 },
954
+ "Yew longbow": { item: WillowLongbow, rarity: 37.89, quantity: 1 },
955
+ "Amulet of power": { item: AmuletOfMagic, rarity: 37.89, quantity: 1 },
956
+ "Air rune": { item: AirRune, rarity: 34.1, quantityMin: 50, quantityMax: 100 },
957
+ "Mind rune": { item: MindRune, rarity: 34.1, quantityMin: 50, quantityMax: 100 },
958
+ "Water rune": { item: WaterRune, rarity: 34.1, quantityMin: 50, quantityMax: 100 },
959
+ "Earth rune": { item: EarthRune, rarity: 34.1, quantityMin: 50, quantityMax: 100 },
960
+ "Fire rune": { item: FireRune, rarity: 34.1, quantityMin: 50, quantityMax: 100 },
961
+ "Chaos rune": { item: ChaosRune, rarity: 34.1, quantityMin: 10, quantityMax: 20 },
962
+ "Nature rune": { item: NatureRune, rarity: 34.1, quantityMin: 10, quantityMax: 20 },
963
+ "Law rune": { item: LawRune, rarity: 34.1, quantityMin: 10, quantityMax: 20 },
964
+ "Death rune": { item: DeathRune, rarity: 34.1, quantityMin: 10, quantityMax: 20 },
965
+ Lobster: { item: HamJoint, rarity: 34.1, quantityMin: 8, quantityMax: 12, noted: true },
966
+ Swordfish: { item: Salmon, rarity: 34.1, quantityMin: 8, quantityMax: 12, noted: true },
907
967
  };
908
968
  /**
909
969
  * Medium tier shared treasure trail items
910
970
  * Coins, purple sweets, scrolls, teleports, blessings, pages at various rarities
911
971
  */
912
972
  const MEDIUM_SHARED_ITEMS = {
913
- Coins: { item: Coins, rarity: 34 },
914
- "Purple sweets": { item: PurpleSweets, rarity: 97 },
915
- "Red firelighter": { item: RedFirelighter, rarity: 189 },
916
- "Green firelighter": { item: GreenFirelighter, rarity: 189 },
917
- "Blue firelighter": { item: BlueFirelighter, rarity: 189 },
918
- "Purple firelighter": { item: PurpleFirelighter, rarity: 189 },
919
- "White firelighter": { item: WhiteFirelighter, rarity: 189 },
920
- "Charge dragonstone jewellery scroll": { item: MasterScrollBookEmpty, rarity: 429 },
921
- "Nardah teleport": { item: MasterScrollBookEmpty, rarity: 429 },
922
- "Mos le'harmless teleport": { item: MasterScrollBookEmpty, rarity: 429 },
923
- "Mort'ton teleport": { item: MasterScrollBookEmpty, rarity: 429 },
924
- "Feldip hills teleport": { item: MasterScrollBookEmpty, rarity: 429 },
925
- "Lunar isle teleport": { item: MasterScrollBookEmpty, rarity: 429 },
926
- "Digsite teleport": { item: MasterScrollBookEmpty, rarity: 429 },
927
- "Piscatoris teleport": { item: MasterScrollBookEmpty, rarity: 429 },
928
- "Pest control teleport": { item: MasterScrollBookEmpty, rarity: 429 },
929
- "Tai bwo wannai teleport": { item: MasterScrollBookEmpty, rarity: 429 },
930
- "Lumberyard teleport": { item: MasterScrollBookEmpty, rarity: 429 },
931
- "Iorwerth camp teleport": { item: MasterScrollBookEmpty, rarity: 429 },
932
- "Holy blessing": { item: HolyBlessing, rarity: 682 },
933
- "Unholy blessing": { item: UnholyBlessing, rarity: 682 },
934
- "Peaceful blessing": { item: PeacefulBlessing, rarity: 682 },
935
- "War blessing": { item: WarBlessing, rarity: 682 },
936
- "Honourable blessing": { item: HonourableBlessing, rarity: 682 },
937
- "Ancient blessing": { item: AncientBlessing, rarity: 682 },
938
- "Master scroll book (empty)": { item: MasterScrollBookEmpty, rarity: 750 },
939
- "Saradomin page 1": { item: SaradominPage1, rarity: 818 },
940
- "Saradomin page 2": { item: SaradominPage2, rarity: 818 },
941
- "Saradomin page 3": { item: SaradominPage3, rarity: 818 },
942
- "Saradomin page 4": { item: SaradominPage4, rarity: 818 },
943
- "Zamorak page 1": { item: ZamorakPage1, rarity: 818 },
944
- "Zamorak page 2": { item: ZamorakPage2, rarity: 818 },
945
- "Zamorak page 3": { item: ZamorakPage3, rarity: 818 },
946
- "Zamorak page 4": { item: ZamorakPage4, rarity: 818 },
947
- "Guthix page 1": { item: GuthixPage1, rarity: 818 },
948
- "Guthix page 2": { item: GuthixPage2, rarity: 818 },
949
- "Guthix page 3": { item: GuthixPage3, rarity: 818 },
950
- "Guthix page 4": { item: GuthixPage4, rarity: 818 },
951
- "Bandos page 1": { item: BandosPage1, rarity: 818 },
952
- "Bandos page 2": { item: BandosPage2, rarity: 818 },
953
- "Bandos page 3": { item: BandosPage3, rarity: 818 },
954
- "Bandos page 4": { item: BandosPage4, rarity: 818 },
955
- "Armadyl page 1": { item: ArmadylPage1, rarity: 818 },
956
- "Armadyl page 2": { item: ArmadylPage2, rarity: 818 },
957
- "Armadyl page 3": { item: ArmadylPage3, rarity: 818 },
958
- "Armadyl page 4": { item: ArmadylPage4, rarity: 818 },
959
- "Ancient page 1": { item: AncientPage1, rarity: 818 },
960
- "Ancient page 2": { item: AncientPage2, rarity: 818 },
973
+ "Coins (200-1000)": { item: Coins, rarity: 34.1, quantityMin: 200, quantityMax: 1000 },
974
+ "Purple sweets (5-10)": { item: PurpleSweets, rarity: 34.1, quantityMin: 5, quantityMax: 10 },
975
+ "Coins (10k-15k)": { item: Coins, rarity: 97.43, quantityMin: 10000, quantityMax: 15000 },
976
+ "Purple sweets (8-12)": { item: PurpleSweets, rarity: 97.43, quantityMin: 8, quantityMax: 12 },
977
+ "Red firelighter": { item: RedFirelighter, rarity: 189.4, quantityMin: 4, quantityMax: 10 },
978
+ "Green firelighter": { item: GreenFirelighter, rarity: 189.4, quantityMin: 4, quantityMax: 10 },
979
+ "Blue firelighter": { item: BlueFirelighter, rarity: 189.4, quantityMin: 4, quantityMax: 10 },
980
+ "Purple firelighter": { item: PurpleFirelighter, rarity: 189.4, quantityMin: 4, quantityMax: 10 },
981
+ "White firelighter": { item: WhiteFirelighter, rarity: 189.4, quantityMin: 4, quantityMax: 10 },
982
+ "Charge dragonstone jewellery scroll": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
983
+ "Nardah teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
984
+ "Mos le'harmless teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
985
+ "Mort'ton teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
986
+ "Feldip hills teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
987
+ "Lunar isle teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
988
+ "Digsite teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
989
+ "Piscatoris teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
990
+ "Pest control teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
991
+ "Tai bwo wannai teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
992
+ "Lumberyard teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
993
+ "Iorwerth camp teleport": { item: MasterScrollBookEmpty, rarity: 428.7, quantityMin: 5, quantityMax: 15 },
994
+ "Holy blessing": { item: HolyBlessing, rarity: 682, quantity: 1 },
995
+ "Unholy blessing": { item: UnholyBlessing, rarity: 682, quantity: 1 },
996
+ "Peaceful blessing": { item: PeacefulBlessing, rarity: 682, quantity: 1 },
997
+ "War blessing": { item: WarBlessing, rarity: 682, quantity: 1 },
998
+ "Honourable blessing": { item: HonourableBlessing, rarity: 682, quantity: 1 },
999
+ "Ancient blessing": { item: AncientBlessing, rarity: 682, quantity: 1 },
1000
+ "Master scroll book (empty)": { item: MasterScrollBookEmpty, rarity: 750.2, quantity: 1 },
1001
+ "Saradomin page 1": { item: SaradominPage1, rarity: 818.4, quantity: 1 },
1002
+ "Saradomin page 2": { item: SaradominPage2, rarity: 818.4, quantity: 1 },
1003
+ "Saradomin page 3": { item: SaradominPage3, rarity: 818.4, quantity: 1 },
1004
+ "Saradomin page 4": { item: SaradominPage4, rarity: 818.4, quantity: 1 },
1005
+ "Zamorak page 1": { item: ZamorakPage1, rarity: 818.4, quantity: 1 },
1006
+ "Zamorak page 2": { item: ZamorakPage2, rarity: 818.4, quantity: 1 },
1007
+ "Zamorak page 3": { item: ZamorakPage3, rarity: 818.4, quantity: 1 },
1008
+ "Zamorak page 4": { item: ZamorakPage4, rarity: 818.4, quantity: 1 },
1009
+ "Guthix page 1": { item: GuthixPage1, rarity: 818.4, quantity: 1 },
1010
+ "Guthix page 2": { item: GuthixPage2, rarity: 818.4, quantity: 1 },
1011
+ "Guthix page 3": { item: GuthixPage3, rarity: 818.4, quantity: 1 },
1012
+ "Guthix page 4": { item: GuthixPage4, rarity: 818.4, quantity: 1 },
1013
+ "Bandos page 1": { item: BandosPage1, rarity: 818.4, quantity: 1 },
1014
+ "Bandos page 2": { item: BandosPage2, rarity: 818.4, quantity: 1 },
1015
+ "Bandos page 3": { item: BandosPage3, rarity: 818.4, quantity: 1 },
1016
+ "Bandos page 4": { item: BandosPage4, rarity: 818.4, quantity: 1 },
1017
+ "Armadyl page 1": { item: ArmadylPage1, rarity: 818.4, quantity: 1 },
1018
+ "Armadyl page 2": { item: ArmadylPage2, rarity: 818.4, quantity: 1 },
1019
+ "Armadyl page 3": { item: ArmadylPage3, rarity: 818.4, quantity: 1 },
1020
+ "Armadyl page 4": { item: ArmadylPage4, rarity: 818.4, quantity: 1 },
1021
+ "Ancient page 1": { item: AncientPage1, rarity: 818.4, quantity: 1 },
1022
+ "Ancient page 2": { item: AncientPage2, rarity: 818.4, quantity: 1 },
1023
+ "Ancient page 3": { item: AncientPage1, rarity: 818.4, quantity: 1 },
1024
+ "Ancient page 4": { item: AncientPage2, rarity: 818.4, quantity: 1 },
961
1025
  };
962
1026
  /**
963
1027
  * Medium tier master clue scroll
964
1028
  * 1/30 chance when opening a medium casket
965
1029
  */
966
1030
  const MEDIUM_MASTER_CLUE = {
967
- "Clue scroll (master)": { item: Coins, rarity: 30 },
1031
+ "Clue scroll (master)": { item: Coins, rarity: 30, quantity: 1 },
968
1032
  };
969
1033
  /**
970
1034
  * Medium clue rewards with table-based structure
@@ -974,13 +1038,13 @@ export const MEDIUM_REWARDS = {
974
1038
  tables: [
975
1039
  {
976
1040
  name: "unique",
977
- weight: 341, // ~10% of rolls hit unique items (1/10 per roll)
1041
+ weight: 1, // 1/10 per roll
978
1042
  items: MEDIUM_UNIQUE_ITEMS,
979
1043
  description: "Medium clue unique items (100+ items at 1/341 base)",
980
1044
  },
981
1045
  {
982
1046
  name: "standard",
983
- weight: 306, // Standard weapons, armor, runes, food (1/34.1 base)
1047
+ weight: 9, // 9/10 per roll
984
1048
  items: MEDIUM_STANDARD_TABLE,
985
1049
  description: "Standard weapons, armor, runes, food (1/34.1 base)",
986
1050
  },
@@ -1009,8 +1073,8 @@ export const MEDIUM_REWARDS = {
1009
1073
  * Hard tier unique items
1010
1074
  * Major rare table items at 1/1,625 or 1/12,765 rarity
1011
1075
  */
1012
- const HARD_UNIQUE_ITEMS = {
1013
- "Magic comp bow": { item: RainBow, rarity: 271 },
1076
+ const HARD_UNIQUE_ITEMS_BASE = {
1077
+ "Magic comp bow": { item: RainBow, rarity: 270.8 },
1014
1078
  "Amulet of glory (t4)": { item: AmuletOfMagicT, rarity: 1625 },
1015
1079
  "Robin hood hat": { item: RobinHoodHat, rarity: 1625 },
1016
1080
  "Enchanted hat": { item: EnchantedHat, rarity: 1625 },
@@ -1094,11 +1158,19 @@ const HARD_UNIQUE_ITEMS = {
1094
1158
  "Armadyl chaps": { item: ArmadylChaps, rarity: 1625 },
1095
1159
  "Armadyl bracers": { item: ArmadylBracers, rarity: 1625 },
1096
1160
  "Armadyl d'hide boots": { item: ArmadylDHideBoots, rarity: 1625 },
1161
+ "Saradomin stole": { item: SaradominMitre, rarity: 1625 },
1162
+ "Saradomin crozier": { item: AncientCrozier, rarity: 1625 },
1163
+ "Guthix stole": { item: GuthixMitre, rarity: 1625 },
1164
+ "Guthix crozier": { item: AncientCrozier, rarity: 1625 },
1165
+ "Zamorak stole": { item: ZamorakMitre, rarity: 1625 },
1166
+ "Zamorak crozier": { item: AncientCrozier, rarity: 1625 },
1097
1167
  "Ancient coif": { item: AncientCoif, rarity: 1625 },
1098
1168
  "Ancient d'hide body": { item: AncientDHideBody, rarity: 1625 },
1099
1169
  "Ancient chaps": { item: AncientChaps, rarity: 1625 },
1100
1170
  "Ancient bracers": { item: AncientBracers, rarity: 1625 },
1101
1171
  "Ancient d'hide boots": { item: AncientDHideBoots, rarity: 1625 },
1172
+ "Zombie head (Treasure Trails)": { item: PiratesHat, rarity: 1625 },
1173
+ "Cyclops head": { item: PiratesHat, rarity: 1625 },
1102
1174
  "Pirate's hat": { item: PiratesHat, rarity: 1625 },
1103
1175
  "Red cavalier": { item: RedCavalier, rarity: 1625 },
1104
1176
  "White cavalier": { item: WhiteCavalier, rarity: 1625 },
@@ -1106,10 +1178,19 @@ const HARD_UNIQUE_ITEMS = {
1106
1178
  "Tan cavalier": { item: TanCavalier, rarity: 1625 },
1107
1179
  "Dark cavalier": { item: DarkCavalier, rarity: 1625 },
1108
1180
  "Black cavalier": { item: BlackCavalier, rarity: 1625 },
1181
+ "Pith helmet": { item: PiratesHat, rarity: 1625 },
1182
+ "Explorer backpack": { item: Briefcase, rarity: 1625 },
1109
1183
  "Green dragon mask": { item: GreenDragonMask, rarity: 1625 },
1110
1184
  "Blue dragon mask": { item: BlueDragonMask, rarity: 1625 },
1111
1185
  "Red dragon mask": { item: RedDragonMask, rarity: 1625 },
1112
1186
  "Black dragon mask": { item: BlackDragonMask, rarity: 1625 },
1187
+ Nunchaku: { item: Katana, rarity: 1625 },
1188
+ "Rune cane": { item: AdamantCane, rarity: 1625 },
1189
+ "Dual sai": { item: Katana, rarity: 1625 },
1190
+ "Thieving bag": { item: Briefcase, rarity: 1625 },
1191
+ "Rune defender ornament kit": { item: DragonDefenderOrnamentKit, rarity: 1625 },
1192
+ "Berserker necklace ornament kit": { item: TortureOrnamentKit, rarity: 1625 },
1193
+ "Tzhaar-ket-om ornament kit": { item: TormentedOrnamentKit, rarity: 1625 },
1113
1194
  "Rune platebody (h1)": { item: RunePlatebody, rarity: 8125 },
1114
1195
  "Rune platebody (h2)": { item: RunePlatebody, rarity: 8125 },
1115
1196
  "Rune platebody (h3)": { item: RunePlatebody, rarity: 8125 },
@@ -1122,84 +1203,89 @@ const HARD_UNIQUE_ITEMS = {
1122
1203
  "Armadyl d'hide shield": { item: ArmadylDHideShield, rarity: 9750 },
1123
1204
  "Ancient d'hide shield": { item: AncientDHideShield, rarity: 9750 },
1124
1205
  };
1206
+ const HARD_UNIQUE_ITEMS = withDefaultQuantity(HARD_UNIQUE_ITEMS_BASE);
1125
1207
  /**
1126
1208
  * Hard tier standard table
1127
1209
  * Common weapons, armor, runes, food at 1/27.1 base rarity
1128
1210
  */
1129
1211
  const HARD_STANDARD_TABLE = {
1130
- "Rune full helm": { item: RuneFullHelm, rarity: 27 },
1131
- "Rune platebody": { item: RunePlatebody, rarity: 27 },
1132
- "Rune platelegs": { item: RunePlatelegs, rarity: 27 },
1133
- "Rune plateskirt": { item: RunePlatelegs, rarity: 27 },
1134
- "Rune kiteshield": { item: RuneKiteshield, rarity: 27 },
1135
- "Rune longsword": { item: BlackLongsword, rarity: 27 },
1136
- "Rune dagger": { item: BlackDagger, rarity: 27 },
1137
- "Rune battleaxe": { item: BlackBattleaxe, rarity: 27 },
1138
- "Rune axe": { item: BlackAxe, rarity: 27 },
1139
- "Rune pickaxe": { item: RunePickaxe, rarity: 27 },
1140
- "Black d'hide body": { item: BlackFullHelm, rarity: 27 },
1141
- "Black d'hide chaps": { item: BlueDHideChaps, rarity: 27 },
1142
- "Magic shortbow": { item: WillowShortbow, rarity: 27 },
1143
- "Magic longbow": { item: WillowLongbow, rarity: 30 },
1144
- "Nature rune": { item: NatureRune, rarity: 27 },
1145
- "Law rune": { item: LawRune, rarity: 27 },
1146
- "Blood rune": { item: FireRune, rarity: 27 },
1147
- Lobster: { item: HamJoint, rarity: 27 },
1148
- Shark: { item: Salmon, rarity: 27 },
1212
+ "Rune full helm": { item: RuneFullHelm, rarity: 27.1, quantity: 1 },
1213
+ "Rune platebody": { item: RunePlatebody, rarity: 27.1, quantity: 1 },
1214
+ "Rune platelegs": { item: RunePlatelegs, rarity: 27.1, quantity: 1 },
1215
+ "Rune plateskirt": { item: RunePlatelegs, rarity: 27.1, quantity: 1 },
1216
+ "Rune kiteshield": { item: RuneKiteshield, rarity: 27.1, quantity: 1 },
1217
+ "Rune longsword": { item: BlackLongsword, rarity: 27.1, quantity: 1 },
1218
+ "Rune dagger": { item: BlackDagger, rarity: 27.1, quantity: 1 },
1219
+ "Rune battleaxe": { item: BlackBattleaxe, rarity: 27.1, quantity: 1 },
1220
+ "Rune axe": { item: BlackAxe, rarity: 27.1, quantity: 1 },
1221
+ "Rune pickaxe": { item: RunePickaxe, rarity: 27.1, quantity: 1 },
1222
+ "Black d'hide body": { item: BlackFullHelm, rarity: 27.1, quantity: 1 },
1223
+ "Black d'hide chaps": { item: BlueDHideChaps, rarity: 27.1, quantity: 1 },
1224
+ "Magic shortbow": { item: WillowShortbow, rarity: 27.1, quantity: 1 },
1225
+ "Magic longbow": { item: WillowLongbow, rarity: 30.1, quantity: 1 },
1226
+ "Nature rune": { item: NatureRune, rarity: 27.1, quantityMin: 30, quantityMax: 50 },
1227
+ "Law rune": { item: LawRune, rarity: 27.1, quantityMin: 30, quantityMax: 50 },
1228
+ "Blood rune": { item: BloodRune, rarity: 27.1, quantityMin: 20, quantityMax: 30 },
1229
+ Lobster: { item: HamJoint, rarity: 27.1, quantityMin: 12, quantityMax: 15, noted: true },
1230
+ Shark: { item: Salmon, rarity: 27.1, quantityMin: 12, quantityMax: 15, noted: true },
1149
1231
  };
1150
1232
  /**
1151
1233
  * Hard tier shared treasure trail items
1152
1234
  * Coins, purple sweets, scrolls, teleports, blessings, pages
1153
1235
  */
1154
1236
  const HARD_SHARED_ITEMS = {
1155
- Coins: { item: Coins, rarity: 27 },
1156
- "Purple sweets": { item: PurpleSweets, rarity: 77 },
1157
- "Red firelighter": { item: RedFirelighter, rarity: 135 },
1158
- "Green firelighter": { item: GreenFirelighter, rarity: 135 },
1159
- "Blue firelighter": { item: BlueFirelighter, rarity: 135 },
1160
- "Purple firelighter": { item: PurpleFirelighter, rarity: 135 },
1161
- "White firelighter": { item: WhiteFirelighter, rarity: 135 },
1162
- "Charge dragonstone jewellery scroll": { item: MasterScrollBookEmpty, rarity: 341 },
1163
- "Nardah teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1164
- "Mos le'harmless teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1165
- "Mort'ton teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1166
- "Feldip hills teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1167
- "Lunar isle teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1168
- "Digsite teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1169
- "Piscatoris teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1170
- "Pest control teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1171
- "Tai bwo wannai teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1172
- "Lumberyard teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1173
- "Iorwerth camp teleport": { item: MasterScrollBookEmpty, rarity: 341 },
1174
- "Holy blessing": { item: HolyBlessing, rarity: 542 },
1175
- "Unholy blessing": { item: UnholyBlessing, rarity: 542 },
1176
- "Peaceful blessing": { item: PeacefulBlessing, rarity: 542 },
1177
- "War blessing": { item: WarBlessing, rarity: 542 },
1178
- "Honourable blessing": { item: HonourableBlessing, rarity: 542 },
1179
- "Ancient blessing": { item: AncientBlessing, rarity: 542 },
1180
- "Master scroll book (empty)": { item: MasterScrollBookEmpty, rarity: 596 },
1181
- "Saradomin page 1": { item: SaradominPage1, rarity: 650 },
1182
- "Saradomin page 2": { item: SaradominPage2, rarity: 650 },
1183
- "Saradomin page 3": { item: SaradominPage3, rarity: 650 },
1184
- "Saradomin page 4": { item: SaradominPage4, rarity: 650 },
1185
- "Zamorak page 1": { item: ZamorakPage1, rarity: 650 },
1186
- "Zamorak page 2": { item: ZamorakPage2, rarity: 650 },
1187
- "Zamorak page 3": { item: ZamorakPage3, rarity: 650 },
1188
- "Zamorak page 4": { item: ZamorakPage4, rarity: 650 },
1189
- "Guthix page 1": { item: GuthixPage1, rarity: 650 },
1190
- "Guthix page 2": { item: GuthixPage2, rarity: 650 },
1191
- "Guthix page 3": { item: GuthixPage3, rarity: 650 },
1192
- "Guthix page 4": { item: GuthixPage4, rarity: 650 },
1193
- "Bandos page 1": { item: BandosPage1, rarity: 650 },
1194
- "Bandos page 2": { item: BandosPage2, rarity: 650 },
1195
- "Bandos page 3": { item: BandosPage3, rarity: 650 },
1196
- "Bandos page 4": { item: BandosPage4, rarity: 650 },
1197
- "Armadyl page 1": { item: ArmadylPage1, rarity: 650 },
1198
- "Armadyl page 2": { item: ArmadylPage2, rarity: 650 },
1199
- "Armadyl page 3": { item: ArmadylPage3, rarity: 650 },
1200
- "Armadyl page 4": { item: ArmadylPage4, rarity: 650 },
1201
- "Ancient page 1": { item: AncientPage1, rarity: 650 },
1202
- "Ancient page 2": { item: AncientPage2, rarity: 650 },
1237
+ "Coins (1k-5k)": { item: Coins, rarity: 27.1, quantityMin: 1000, quantityMax: 5000 },
1238
+ "Purple sweets (7-15)": { item: PurpleSweets, rarity: 27.1, quantityMin: 7, quantityMax: 15 },
1239
+ "Coins (10k-15k)": { item: Coins, rarity: 77.4, quantityMin: 10000, quantityMax: 15000 },
1240
+ "Purple sweets (8-12)": { item: PurpleSweets, rarity: 77.4, quantityMin: 8, quantityMax: 12 },
1241
+ "Red firelighter": { item: RedFirelighter, rarity: 135.4, quantityMin: 9, quantityMax: 15 },
1242
+ "Green firelighter": { item: GreenFirelighter, rarity: 135.4, quantityMin: 9, quantityMax: 15 },
1243
+ "Blue firelighter": { item: BlueFirelighter, rarity: 135.4, quantityMin: 9, quantityMax: 15 },
1244
+ "Purple firelighter": { item: PurpleFirelighter, rarity: 135.4, quantityMin: 9, quantityMax: 15 },
1245
+ "White firelighter": { item: WhiteFirelighter, rarity: 135.4, quantityMin: 9, quantityMax: 15 },
1246
+ "Charge dragonstone jewellery scroll": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1247
+ "Nardah teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1248
+ "Mos le'harmless teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1249
+ "Mort'ton teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1250
+ "Feldip hills teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1251
+ "Lunar isle teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1252
+ "Digsite teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1253
+ "Piscatoris teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1254
+ "Pest control teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1255
+ "Tai bwo wannai teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1256
+ "Lumberyard teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1257
+ "Iorwerth camp teleport": { item: MasterScrollBookEmpty, rarity: 340.5, quantityMin: 5, quantityMax: 15 },
1258
+ "Holy blessing": { item: HolyBlessing, rarity: 541.7, quantity: 1 },
1259
+ "Unholy blessing": { item: UnholyBlessing, rarity: 541.7, quantity: 1 },
1260
+ "Peaceful blessing": { item: PeacefulBlessing, rarity: 541.7, quantity: 1 },
1261
+ "War blessing": { item: WarBlessing, rarity: 541.7, quantity: 1 },
1262
+ "Honourable blessing": { item: HonourableBlessing, rarity: 541.7, quantity: 1 },
1263
+ "Ancient blessing": { item: AncientBlessing, rarity: 541.7, quantity: 1 },
1264
+ "Master scroll book (empty)": { item: MasterScrollBookEmpty, rarity: 595.8, quantity: 1 },
1265
+ "Saradomin page 1": { item: SaradominPage1, rarity: 650, quantity: 1 },
1266
+ "Saradomin page 2": { item: SaradominPage2, rarity: 650, quantity: 1 },
1267
+ "Saradomin page 3": { item: SaradominPage3, rarity: 650, quantity: 1 },
1268
+ "Saradomin page 4": { item: SaradominPage4, rarity: 650, quantity: 1 },
1269
+ "Zamorak page 1": { item: ZamorakPage1, rarity: 650, quantity: 1 },
1270
+ "Zamorak page 2": { item: ZamorakPage2, rarity: 650, quantity: 1 },
1271
+ "Zamorak page 3": { item: ZamorakPage3, rarity: 650, quantity: 1 },
1272
+ "Zamorak page 4": { item: ZamorakPage4, rarity: 650, quantity: 1 },
1273
+ "Guthix page 1": { item: GuthixPage1, rarity: 650, quantity: 1 },
1274
+ "Guthix page 2": { item: GuthixPage2, rarity: 650, quantity: 1 },
1275
+ "Guthix page 3": { item: GuthixPage3, rarity: 650, quantity: 1 },
1276
+ "Guthix page 4": { item: GuthixPage4, rarity: 650, quantity: 1 },
1277
+ "Bandos page 1": { item: BandosPage1, rarity: 650, quantity: 1 },
1278
+ "Bandos page 2": { item: BandosPage2, rarity: 650, quantity: 1 },
1279
+ "Bandos page 3": { item: BandosPage3, rarity: 650, quantity: 1 },
1280
+ "Bandos page 4": { item: BandosPage4, rarity: 650, quantity: 1 },
1281
+ "Armadyl page 1": { item: ArmadylPage1, rarity: 650, quantity: 1 },
1282
+ "Armadyl page 2": { item: ArmadylPage2, rarity: 650, quantity: 1 },
1283
+ "Armadyl page 3": { item: ArmadylPage3, rarity: 650, quantity: 1 },
1284
+ "Armadyl page 4": { item: ArmadylPage4, rarity: 650, quantity: 1 },
1285
+ "Ancient page 1": { item: AncientPage1, rarity: 650, quantity: 1 },
1286
+ "Ancient page 2": { item: AncientPage2, rarity: 650, quantity: 1 },
1287
+ "Ancient page 3": { item: AncientPage1, rarity: 650, quantity: 1 },
1288
+ "Ancient page 4": { item: AncientPage2, rarity: 650, quantity: 1 },
1203
1289
  };
1204
1290
  /**
1205
1291
  * Hard tier mega-rare items (gilded + 3rd age)
@@ -1207,37 +1293,43 @@ const HARD_SHARED_ITEMS = {
1207
1293
  * 3rd age: 1/211,250 per roll
1208
1294
  */
1209
1295
  const HARD_MEGA_RARE_ITEMS = {
1210
- "Gilded full helm": { item: GildedFullHelm, rarity: 35750 },
1211
- "Gilded platebody": { item: GildedPlatebody, rarity: 35750 },
1212
- "Gilded platelegs": { item: GildedLegs, rarity: 35750 },
1213
- "Gilded plateskirt": { item: GildedLegs, rarity: 35750 },
1214
- "Gilded kiteshield": { item: GildedKiteshield, rarity: 35750 },
1215
- "Gilded med helm": { item: GildedMedHelm, rarity: 35750 },
1216
- "Gilded chainbody": { item: GildedChainbody, rarity: 35750 },
1217
- "Gilded sq shield": { item: GildedSqShield, rarity: 35750 },
1218
- "Gilded 2h sword": { item: Gilded2hSword, rarity: 35750 },
1219
- "Gilded spear": { item: GildedSpear, rarity: 35750 },
1220
- "Gilded hasta": { item: GildedHasta, rarity: 35750 },
1221
- "3rd age full helmet": { item: ThirdAgeFullHelmet, rarity: 211250 },
1222
- "3rd age platebody": { item: ThirdAgePlatebody, rarity: 211250 },
1223
- "3rd age platelegs": { item: ThirdAgePlatelegs, rarity: 211250 },
1224
- "3rd age plateskirt": { item: ThirdAgePlatelegs, rarity: 211250 },
1225
- "3rd age kiteshield": { item: ThirdAgeKiteshield, rarity: 211250 },
1226
- "3rd age range coif": { item: ThirdAgeRangeCoif, rarity: 211250 },
1227
- "3rd age range top": { item: ThirdAgeRangeTop, rarity: 211250 },
1228
- "3rd age range legs": { item: ThirdAgeRangeLegs, rarity: 211250 },
1229
- "3rd age vambraces": { item: ThirdAgeVambraces, rarity: 211250 },
1230
- "3rd age mage hat": { item: ThirdAgeMageHat, rarity: 211250 },
1231
- "3rd age robe top": { item: ThirdAgeRobeTop, rarity: 211250 },
1232
- "3rd age robe": { item: ThirdAgeRobe, rarity: 211250 },
1233
- "3rd age amulet": { item: AmuletOfMagic, rarity: 211250 },
1296
+ "Super energy(4)": { item: SuperRestore4, rarity: 16250, quantity: 15, noted: true },
1297
+ "Super restore(4)": { item: SuperRestore4, rarity: 16250, quantity: 15, noted: true },
1298
+ "Antifire potion(4)": { item: ExtendedAntifire4, rarity: 16250, quantity: 15, noted: true },
1299
+ "Super attack(4)": { item: SuperRestore4, rarity: 16250, quantity: 5, noted: true },
1300
+ "Super strength(4)": { item: SuperRestore4, rarity: 16250, quantity: 5, noted: true },
1301
+ "Super defence(4)": { item: SuperRestore4, rarity: 16250, quantity: 5, noted: true },
1302
+ "Gilded full helm": { item: GildedFullHelm, rarity: 35750, quantity: 1 },
1303
+ "Gilded platebody": { item: GildedPlatebody, rarity: 35750, quantity: 1 },
1304
+ "Gilded platelegs": { item: GildedLegs, rarity: 35750, quantity: 1 },
1305
+ "Gilded plateskirt": { item: GildedLegs, rarity: 35750, quantity: 1 },
1306
+ "Gilded kiteshield": { item: GildedKiteshield, rarity: 35750, quantity: 1 },
1307
+ "Gilded med helm": { item: GildedMedHelm, rarity: 35750, quantity: 1 },
1308
+ "Gilded chainbody": { item: GildedChainbody, rarity: 35750, quantity: 1 },
1309
+ "Gilded sq shield": { item: GildedSqShield, rarity: 35750, quantity: 1 },
1310
+ "Gilded 2h sword": { item: Gilded2hSword, rarity: 35750, quantity: 1 },
1311
+ "Gilded spear": { item: GildedSpear, rarity: 35750, quantity: 1 },
1312
+ "Gilded hasta": { item: GildedHasta, rarity: 35750, quantity: 1 },
1313
+ "3rd age full helmet": { item: ThirdAgeFullHelmet, rarity: 211250, quantity: 1 },
1314
+ "3rd age platebody": { item: ThirdAgePlatebody, rarity: 211250, quantity: 1 },
1315
+ "3rd age platelegs": { item: ThirdAgePlatelegs, rarity: 211250, quantity: 1 },
1316
+ "3rd age plateskirt": { item: ThirdAgePlatelegs, rarity: 211250, quantity: 1 },
1317
+ "3rd age kiteshield": { item: ThirdAgeKiteshield, rarity: 211250, quantity: 1 },
1318
+ "3rd age range coif": { item: ThirdAgeRangeCoif, rarity: 211250, quantity: 1 },
1319
+ "3rd age range top": { item: ThirdAgeRangeTop, rarity: 211250, quantity: 1 },
1320
+ "3rd age range legs": { item: ThirdAgeRangeLegs, rarity: 211250, quantity: 1 },
1321
+ "3rd age vambraces": { item: ThirdAgeVambraces, rarity: 211250, quantity: 1 },
1322
+ "3rd age mage hat": { item: ThirdAgeMageHat, rarity: 211250, quantity: 1 },
1323
+ "3rd age robe top": { item: ThirdAgeRobeTop, rarity: 211250, quantity: 1 },
1324
+ "3rd age robe": { item: ThirdAgeRobe, rarity: 211250, quantity: 1 },
1325
+ "3rd age amulet": { item: AmuletOfMagic, rarity: 211250, quantity: 1 },
1234
1326
  };
1235
1327
  /**
1236
1328
  * Hard tier master clue scroll
1237
1329
  * 1/15 chance when opening a hard casket
1238
1330
  */
1239
1331
  const HARD_MASTER_CLUE = {
1240
- "Clue scroll (master)": { item: Coins, rarity: 15 },
1332
+ "Clue scroll (master)": { item: Coins, rarity: 15, quantity: 1 },
1241
1333
  };
1242
1334
  /**
1243
1335
  * Hard clue rewards with table-based structure
@@ -1247,13 +1339,16 @@ export const HARD_REWARDS = {
1247
1339
  tables: [
1248
1340
  {
1249
1341
  name: "unique",
1250
- weight: 1625, // Hard clue unique items (~1/12.5 per roll)
1251
- items: HARD_UNIQUE_ITEMS,
1342
+ weight: 1, // ~1/13 primary roll branch for unique outcomes
1343
+ items: {
1344
+ ...HARD_UNIQUE_ITEMS,
1345
+ ...HARD_MEGA_RARE_ITEMS,
1346
+ },
1252
1347
  description: "Hard clue unique items (100+ at various rarities)",
1253
1348
  },
1254
1349
  {
1255
1350
  name: "standard",
1256
- weight: 706, // Standard weapons, armor, runes, food (~1/27.1 base)
1351
+ weight: 12, // ~12/13 primary roll branch for standard/shared outcomes
1257
1352
  items: HARD_STANDARD_TABLE,
1258
1353
  description: "Standard weapons, armor, runes, food",
1259
1354
  },
@@ -1290,202 +1385,211 @@ export const HARD_REWARDS = {
1290
1385
  * Major rare table at 1/1,275 rarity
1291
1386
  */
1292
1387
  const ELITE_UNIQUE_ITEMS = {
1293
- "Dragon full helm ornament kit": { item: DragonFullHelmOrnamentKit, rarity: 1275 },
1294
- "Dragon chainbody ornament kit": { item: DragonChainbodyOrnamentKit, rarity: 1275 },
1295
- "Dragon legs/skirt ornament kit": { item: DragonLegsSkirtOrnamentKit, rarity: 1275 },
1296
- "Dragon sq shield ornament kit": { item: DragonSqShieldOrnamentKit, rarity: 1275 },
1297
- "Dragon scimitar ornament kit": { item: DragonScimitarOrnamentKit, rarity: 1275 },
1298
- "Fury ornament kit": { item: FuryOrnamentKit, rarity: 1275 },
1299
- "Light infinity colour kit": { item: LightInfinityColourKit, rarity: 1275 },
1300
- "Dark infinity colour kit": { item: DarkInfinityColourKit, rarity: 1275 },
1301
- "Royal crown": { item: RoyalCrown, rarity: 1275 },
1302
- "Royal gown top": { item: RoyalGownTop, rarity: 1275 },
1303
- "Royal gown bottom": { item: RoyalGownBottom, rarity: 1275 },
1304
- "Royal sceptre": { item: RoyalSceptre, rarity: 1275 },
1305
- "Musketeer hat": { item: MusketeerHat, rarity: 1275 },
1306
- "Musketeer tabard": { item: MusketeerTabard, rarity: 1275 },
1307
- "Musketeer pants": { item: MusketeerPants, rarity: 1275 },
1308
- "Black d'hide body (g)": { item: BlackFullHelm, rarity: 1275 },
1309
- "Black d'hide body (t)": { item: BlackFullHelm, rarity: 1275 },
1310
- "Black d'hide chaps (g)": { item: BlueDHideChaps, rarity: 1275 },
1311
- "Black d'hide chaps (t)": { item: BlueDHideChaps, rarity: 1275 },
1312
- "Ranger's tunic": { item: RangerTunic, rarity: 1275 },
1313
- "Ranger gloves": { item: RangerGloves, rarity: 1275 },
1314
- "Holy wraps": { item: HolyWraps, rarity: 1275 },
1315
- "Bronze dragon mask": { item: BronzeDragonMask, rarity: 1275 },
1316
- "Iron dragon mask": { item: IronDragonMask, rarity: 1275 },
1317
- "Steel dragon mask": { item: SteelDragonMask, rarity: 1275 },
1318
- "Mithril dragon mask": { item: MithrilDragonMask, rarity: 1275 },
1319
- "Adamant dragon mask": { item: AdamantDragonMask, rarity: 1275 },
1320
- "Rune dragon mask": { item: RuneDragonMask, rarity: 1275 },
1321
- Katana: { item: Katana, rarity: 1275 },
1322
- "Dragon cane": { item: DragonCane, rarity: 1275 },
1323
- "Bucket helm": { item: BucketHelm, rarity: 1275 },
1324
- "Blacksmith's helm": { item: BlacksmithsHelm, rarity: 1275 },
1325
- Deerstalker: { item: Deerstalker, rarity: 1275 },
1326
- Afro: { item: Afro, rarity: 1275 },
1327
- "Big pirate hat": { item: BigPirateHat, rarity: 1275 },
1328
- "Top hat": { item: TopHat, rarity: 1275 },
1329
- Monocle: { item: Monocle, rarity: 1275 },
1330
- Briefcase: { item: Briefcase, rarity: 1275 },
1331
- "Sagacious spectacles": { item: SagaciousSpectacles, rarity: 1275 },
1332
- "Ranger's tights": { item: RangerLegs, rarity: 1275 },
1333
- "Uri's hat": { item: UrisHat, rarity: 1275 },
1334
- "Giant boot": { item: GiantBoot, rarity: 1275 },
1335
- "Fremennik kilt": { item: FremennikKilt, rarity: 1275 },
1336
- "Dark bow tie": { item: DarkBowTie, rarity: 12750 },
1337
- "Dark tuxedo jacket": { item: DarkTuxedoJacket, rarity: 12750 },
1338
- "Dark tuxedo cuffs": { item: DarkTuxedoCuffs, rarity: 12750 },
1339
- "Dark trousers": { item: DarkTrousers, rarity: 12750 },
1340
- "Dark tuxedo shoes": { item: DarkTuxedoShoes, rarity: 12750 },
1341
- "Light bow tie": { item: LightBowTie, rarity: 12750 },
1342
- "Light tuxedo jacket": { item: LightTuxedoJacket, rarity: 12750 },
1343
- "Light tuxedo cuffs": { item: LightTuxedoCuffs, rarity: 12750 },
1344
- "Light trousers": { item: LightTrousers, rarity: 12750 },
1345
- "Light tuxedo shoes": { item: LightTuxedoShoes, rarity: 12750 },
1388
+ "Dragon full helm ornament kit": { item: DragonFullHelmOrnamentKit, rarity: 1275, quantity: 1 },
1389
+ "Dragon chainbody ornament kit": { item: DragonChainbodyOrnamentKit, rarity: 1275, quantity: 1 },
1390
+ "Dragon legs/skirt ornament kit": { item: DragonLegsSkirtOrnamentKit, rarity: 1275, quantity: 1 },
1391
+ "Dragon sq shield ornament kit": { item: DragonSqShieldOrnamentKit, rarity: 1275, quantity: 1 },
1392
+ "Dragon scimitar ornament kit": { item: DragonScimitarOrnamentKit, rarity: 1275, quantity: 1 },
1393
+ "Fury ornament kit": { item: FuryOrnamentKit, rarity: 1275, quantity: 1 },
1394
+ "Light infinity colour kit": { item: LightInfinityColourKit, rarity: 1275, quantity: 1 },
1395
+ "Dark infinity colour kit": { item: DarkInfinityColourKit, rarity: 1275, quantity: 1 },
1396
+ "Royal crown": { item: RoyalCrown, rarity: 1275, quantity: 1 },
1397
+ "Royal gown top": { item: RoyalGownTop, rarity: 1275, quantity: 1 },
1398
+ "Royal gown bottom": { item: RoyalGownBottom, rarity: 1275, quantity: 1 },
1399
+ "Royal sceptre": { item: RoyalSceptre, rarity: 1275, quantity: 1 },
1400
+ "Musketeer hat": { item: MusketeerHat, rarity: 1275, quantity: 1 },
1401
+ "Musketeer tabard": { item: MusketeerTabard, rarity: 1275, quantity: 1 },
1402
+ "Musketeer pants": { item: MusketeerPants, rarity: 1275, quantity: 1 },
1403
+ "Black d'hide body (g)": { item: BlackFullHelm, rarity: 1275, quantity: 1 },
1404
+ "Black d'hide body (t)": { item: BlackFullHelm, rarity: 1275, quantity: 1 },
1405
+ "Black d'hide chaps (g)": { item: BlueDHideChaps, rarity: 1275, quantity: 1 },
1406
+ "Black d'hide chaps (t)": { item: BlueDHideChaps, rarity: 1275, quantity: 1 },
1407
+ "Ranger's tunic": { item: RangerTunic, rarity: 1275, quantity: 1 },
1408
+ "Ranger gloves": { item: RangerGloves, rarity: 1275, quantity: 1 },
1409
+ "Holy wraps": { item: HolyWraps, rarity: 1275, quantity: 1 },
1410
+ "Bronze dragon mask": { item: BronzeDragonMask, rarity: 1275, quantity: 1 },
1411
+ "Iron dragon mask": { item: IronDragonMask, rarity: 1275, quantity: 1 },
1412
+ "Steel dragon mask": { item: SteelDragonMask, rarity: 1275, quantity: 1 },
1413
+ "Mithril dragon mask": { item: MithrilDragonMask, rarity: 1275, quantity: 1 },
1414
+ "Adamant dragon mask": { item: AdamantDragonMask, rarity: 1275, quantity: 1 },
1415
+ "Rune dragon mask": { item: RuneDragonMask, rarity: 1275, quantity: 1 },
1416
+ "Arceuus scarf": { item: ArceuusHood, rarity: 1275, quantity: 1 },
1417
+ "Hosidius scarf": { item: HosidiusHood, rarity: 1275, quantity: 1 },
1418
+ "Lovakengj scarf": { item: LovakengjHood, rarity: 1275, quantity: 1 },
1419
+ "Piscarilius scarf": { item: PiscariliusHood, rarity: 1275, quantity: 1 },
1420
+ "Shayzien scarf": { item: ShayzienHood, rarity: 1275, quantity: 1 },
1421
+ Katana: { item: Katana, rarity: 1275, quantity: 1 },
1422
+ "Dragon cane": { item: DragonCane, rarity: 1275, quantity: 1 },
1423
+ "Bucket helm": { item: BucketHelm, rarity: 1275, quantity: 1 },
1424
+ "Blacksmith's helm": { item: BlacksmithsHelm, rarity: 1275, quantity: 1 },
1425
+ Deerstalker: { item: Deerstalker, rarity: 1275, quantity: 1 },
1426
+ Afro: { item: Afro, rarity: 1275, quantity: 1 },
1427
+ "Big pirate hat": { item: BigPirateHat, rarity: 1275, quantity: 1 },
1428
+ "Top hat": { item: TopHat, rarity: 1275, quantity: 1 },
1429
+ Monocle: { item: Monocle, rarity: 1275, quantity: 1 },
1430
+ Briefcase: { item: Briefcase, rarity: 1275, quantity: 1 },
1431
+ "Sagacious spectacles": { item: SagaciousSpectacles, rarity: 1275, quantity: 1 },
1432
+ "Ranger's tights": { item: RangerLegs, rarity: 1275, quantity: 1 },
1433
+ "Uri's hat": { item: UrisHat, rarity: 1275, quantity: 1 },
1434
+ "Giant boot": { item: GiantBoot, rarity: 1275, quantity: 1 },
1435
+ "Fremennik kilt": { item: FremennikKilt, rarity: 1275, quantity: 1 },
1436
+ "Dark bow tie": { item: DarkBowTie, rarity: 12750, quantity: 1 },
1437
+ "Dark tuxedo jacket": { item: DarkTuxedoJacket, rarity: 12750, quantity: 1 },
1438
+ "Dark tuxedo cuffs": { item: DarkTuxedoCuffs, rarity: 12750, quantity: 1 },
1439
+ "Dark trousers": { item: DarkTrousers, rarity: 12750, quantity: 1 },
1440
+ "Dark tuxedo shoes": { item: DarkTuxedoShoes, rarity: 12750, quantity: 1 },
1441
+ "Light bow tie": { item: LightBowTie, rarity: 12750, quantity: 1 },
1442
+ "Light tuxedo jacket": { item: LightTuxedoJacket, rarity: 12750, quantity: 1 },
1443
+ "Light tuxedo cuffs": { item: LightTuxedoCuffs, rarity: 12750, quantity: 1 },
1444
+ "Light trousers": { item: LightTrousers, rarity: 12750, quantity: 1 },
1445
+ "Light tuxedo shoes": { item: LightTuxedoShoes, rarity: 12750, quantity: 1 },
1346
1446
  };
1347
1447
  /**
1348
1448
  * Elite tier standard table
1349
1449
  * Rune equipment, dragon weapons, runes, jewellery, food, resources at 1/32.3 base
1350
1450
  */
1351
1451
  const ELITE_STANDARD_TABLE = {
1352
- "Rune platebody": { item: RunePlatebody, rarity: 32 },
1353
- "Rune platelegs": { item: RunePlatelegs, rarity: 32 },
1354
- "Rune plateskirt": { item: RunePlatelegs, rarity: 32 },
1355
- "Rune kiteshield": { item: RuneKiteshield, rarity: 32 },
1356
- "Rune crossbow": { item: RuneCrossbow, rarity: 32 },
1357
- "Dragon dagger": { item: DragonDagger, rarity: 32 },
1358
- "Dragon mace": { item: DragonMace, rarity: 32 },
1359
- "Dragon longsword": { item: BlackLongsword, rarity: 32 },
1360
- "Onyx bolt tips": { item: OnyxBoltTips, rarity: 32 },
1361
- "Law rune": { item: LawRune, rarity: 32 },
1362
- "Death rune": { item: FireRune, rarity: 32 },
1363
- "Blood rune": { item: FireRune, rarity: 32 },
1364
- "Soul rune": { item: FireRune, rarity: 32 },
1365
- "Dragonstone bracelet": { item: DragonstoneBracelet, rarity: 32 },
1366
- "Dragon necklace": { item: DragonNecklace, rarity: 32 },
1367
- "Dragonstone ring": { item: DragonstoneRing, rarity: 32 },
1368
- "Tuna potato": { item: HamJoint, rarity: 32 },
1369
- "Summer pie": { item: HamJoint, rarity: 32 },
1370
- "Oak plank": { item: OakPlank, rarity: 32 },
1371
- "Teak plank": { item: TeakPlank, rarity: 32 },
1372
- "Mahogany plank": { item: MahoganyPlank, rarity: 32 },
1373
- "Runite bar": { item: RuniteBar, rarity: 32 },
1374
- "Tooth half of key": { item: ToothHalfOfKey, rarity: 65 },
1375
- "Loop half of key": { item: LoopHalfOfKey, rarity: 65 },
1376
- "Palm tree seed": { item: PalmTreeSeed, rarity: 97 },
1377
- "Yew seed": { item: YewSeed, rarity: 97 },
1378
- "Magic seed": { item: MagicSeed, rarity: 97 },
1452
+ "Rune platebody": { item: RunePlatebody, rarity: 32.3, quantity: 1 },
1453
+ "Rune platelegs": { item: RunePlatelegs, rarity: 32.3, quantity: 1 },
1454
+ "Rune plateskirt": { item: RunePlatelegs, rarity: 32.3, quantity: 1 },
1455
+ "Rune kiteshield": { item: RuneKiteshield, rarity: 32.3, quantity: 1 },
1456
+ "Rune crossbow": { item: RuneCrossbow, rarity: 32.3, quantity: 1 },
1457
+ "Dragon dagger": { item: DragonDagger, rarity: 32.3, quantity: 1 },
1458
+ "Dragon mace": { item: DragonMace, rarity: 32.3, quantity: 1 },
1459
+ "Dragon longsword": { item: DragonLongsword, rarity: 32.3, quantity: 1 },
1460
+ "Onyx bolt tips": { item: OnyxBoltTips, rarity: 32.3, quantityMin: 8, quantityMax: 12 },
1461
+ "Law rune": { item: LawRune, rarity: 32.3, quantityMin: 50, quantityMax: 75 },
1462
+ "Death rune": { item: DeathRune, rarity: 32.3, quantityMin: 50, quantityMax: 75 },
1463
+ "Blood rune": { item: BloodRune, rarity: 32.3, quantityMin: 50, quantityMax: 75 },
1464
+ "Soul rune": { item: SoulRune, rarity: 32.3, quantityMin: 50, quantityMax: 75 },
1465
+ "Dragonstone bracelet": { item: DragonstoneBracelet, rarity: 32.3, quantity: 1 },
1466
+ "Dragon necklace": { item: DragonNecklace, rarity: 32.3, quantity: 1 },
1467
+ "Dragonstone ring": { item: DragonstoneRing, rarity: 32.3, quantity: 1 },
1468
+ "Tuna potato": { item: TunaPotato, rarity: 32.3, quantityMin: 15, quantityMax: 20, noted: true },
1469
+ "Summer pie": { item: SummerPie, rarity: 32.3, quantityMin: 15, quantityMax: 20, noted: true },
1470
+ "Oak plank": { item: OakPlank, rarity: 32.3, quantityMin: 60, quantityMax: 80, noted: true },
1471
+ "Teak plank": { item: TeakPlank, rarity: 32.3, quantityMin: 40, quantityMax: 50, noted: true },
1472
+ "Mahogany plank": { item: MahoganyPlank, rarity: 32.3, quantityMin: 20, quantityMax: 30, noted: true },
1473
+ "Runite bar": { item: RuniteBar, rarity: 32.3, quantityMin: 1, quantityMax: 3, noted: true },
1474
+ "Tooth half of key": { item: ToothHalfOfKey, rarity: 64.6, quantity: 1 },
1475
+ "Loop half of key": { item: LoopHalfOfKey, rarity: 64.6, quantity: 1 },
1476
+ "Palm tree seed": { item: PalmTreeSeed, rarity: 96.9, quantity: 1 },
1477
+ "Yew seed": { item: YewSeed, rarity: 96.9, quantity: 1 },
1478
+ "Magic seed": { item: MagicSeed, rarity: 96.9, quantity: 1 },
1379
1479
  };
1380
1480
  /**
1381
1481
  * Elite tier mega-rare items (gilded + 3rd age + special)
1382
1482
  */
1383
1483
  const ELITE_MEGA_RARE_ITEMS = {
1384
- "Ring of nature": { item: RingOfNature, rarity: 14663 },
1385
- "Crystal key": { item: CrystalKey, rarity: 14663 },
1386
- "Lava dragon mask": { item: LavaDragonMask, rarity: 14663 },
1387
- Battlestaff: { item: StaffOfAir, rarity: 14663 },
1388
- "Extended antifire(4)": { item: ExtendedAntifire4, rarity: 14663 },
1389
- "Super restore(4)": { item: SuperRestore4, rarity: 14663 },
1390
- "Saradomin brew(4)": { item: SaradominBrew4, rarity: 14663 },
1391
- "Ranging potion(4)": { item: RangingPotion4, rarity: 14663 },
1392
- "Gilded scimitar": { item: GildedScimitar, rarity: 14663 },
1393
- "Gilded boots": { item: GildedBoots, rarity: 14663 },
1394
- "Gilded coif": { item: GildedCoif, rarity: 14663 },
1395
- "Gilded d'hide vambraces": { item: HideVambraces, rarity: 14663 },
1396
- "Gilded d'hide body": { item: GildedDHideBody, rarity: 14663 },
1397
- "Gilded d'hide chaps": { item: GildedDHideChaps, rarity: 14663 },
1398
- "Gilded pickaxe": { item: GildedPickaxe, rarity: 14663 },
1399
- "Gilded axe": { item: GildedAxe, rarity: 14663 },
1400
- "Gilded spade": { item: GildedSpade, rarity: 14663 },
1401
- "Gilded full helm": { item: GildedFullHelm, rarity: 32258 },
1402
- "Gilded platebody": { item: GildedPlatebody, rarity: 32258 },
1403
- "Gilded platelegs": { item: GildedLegs, rarity: 32258 },
1404
- "Gilded plateskirt": { item: GildedLegs, rarity: 32258 },
1405
- "Gilded kiteshield": { item: GildedKiteshield, rarity: 32258 },
1406
- "Gilded med helm": { item: GildedMedHelm, rarity: 32258 },
1407
- "Gilded chainbody": { item: GildedChainbody, rarity: 32258 },
1408
- "Gilded sq shield": { item: GildedSqShield, rarity: 32258 },
1409
- "Gilded 2h sword": { item: Gilded2hSword, rarity: 32258 },
1410
- "Gilded spear": { item: GildedSpear, rarity: 32258 },
1411
- "Gilded hasta": { item: GildedHasta, rarity: 32258 },
1412
- "3rd age full helmet": { item: ThirdAgeFullHelmet, rarity: 249262 },
1413
- "3rd age platebody": { item: ThirdAgePlatebody, rarity: 249262 },
1414
- "3rd age platelegs": { item: ThirdAgePlatelegs, rarity: 249262 },
1415
- "3rd age plateskirt": { item: ThirdAgePlatelegs, rarity: 249262 },
1416
- "3rd age kiteshield": { item: ThirdAgeKiteshield, rarity: 249262 },
1417
- "3rd age range coif": { item: ThirdAgeRangeCoif, rarity: 249262 },
1418
- "3rd age range top": { item: ThirdAgeRangeTop, rarity: 249262 },
1419
- "3rd age range legs": { item: ThirdAgeRangeLegs, rarity: 249262 },
1420
- "3rd age vambraces": { item: ThirdAgeVambraces, rarity: 249262 },
1421
- "3rd age mage hat": { item: ThirdAgeMageHat, rarity: 249262 },
1422
- "3rd age robe top": { item: ThirdAgeRobeTop, rarity: 249262 },
1423
- "3rd age robe": { item: ThirdAgeRobe, rarity: 249262 },
1424
- "3rd age amulet": { item: AmuletOfMagic, rarity: 249262 },
1425
- "3rd age longsword": { item: ThirdAgeLongsword, rarity: 249262 },
1426
- "3rd age wand": { item: ThirdAgeWand, rarity: 249262 },
1427
- "3rd age cloak": { item: ThirdAgeCloak, rarity: 249262 },
1428
- "3rd age bow": { item: ThirdAgeBow, rarity: 249262 },
1484
+ "Ring of nature": { item: RingOfNature, rarity: 14663, quantity: 1 },
1485
+ "Crystal key": { item: CrystalKey, rarity: 14663, quantity: 1 },
1486
+ "Lava dragon mask": { item: LavaDragonMask, rarity: 14663, quantity: 1 },
1487
+ Battlestaff: { item: StaffOfAir, rarity: 14663, quantity: 100, noted: true },
1488
+ "Extended antifire(4)": { item: ExtendedAntifire4, rarity: 14663, quantity: 30, noted: true },
1489
+ "Super restore(4)": { item: SuperRestore4, rarity: 14663, quantity: 30, noted: true },
1490
+ "Saradomin brew(4)": { item: SaradominBrew4, rarity: 14663, quantity: 30, noted: true },
1491
+ "Ranging potion(4)": { item: RangingPotion4, rarity: 14663, quantity: 30, noted: true },
1492
+ "Gilded scimitar": { item: GildedScimitar, rarity: 14663, quantity: 1 },
1493
+ "Gilded boots": { item: GildedBoots, rarity: 14663, quantity: 1 },
1494
+ "Gilded coif": { item: GildedCoif, rarity: 14663, quantity: 1 },
1495
+ "Gilded d'hide vambraces": { item: HideVambraces, rarity: 14663, quantity: 1 },
1496
+ "Gilded d'hide body": { item: GildedDHideBody, rarity: 14663, quantity: 1 },
1497
+ "Gilded d'hide chaps": { item: GildedDHideChaps, rarity: 14663, quantity: 1 },
1498
+ "Gilded pickaxe": { item: GildedPickaxe, rarity: 14663, quantity: 1 },
1499
+ "Gilded axe": { item: GildedAxe, rarity: 14663, quantity: 1 },
1500
+ "Gilded spade": { item: GildedSpade, rarity: 14663, quantity: 1 },
1501
+ "Gilded full helm": { item: GildedFullHelm, rarity: 32258, quantity: 1 },
1502
+ "Gilded platebody": { item: GildedPlatebody, rarity: 32258, quantity: 1 },
1503
+ "Gilded platelegs": { item: GildedLegs, rarity: 32258, quantity: 1 },
1504
+ "Gilded plateskirt": { item: GildedLegs, rarity: 32258, quantity: 1 },
1505
+ "Gilded kiteshield": { item: GildedKiteshield, rarity: 32258, quantity: 1 },
1506
+ "Gilded med helm": { item: GildedMedHelm, rarity: 32258, quantity: 1 },
1507
+ "Gilded chainbody": { item: GildedChainbody, rarity: 32258, quantity: 1 },
1508
+ "Gilded sq shield": { item: GildedSqShield, rarity: 32258, quantity: 1 },
1509
+ "Gilded 2h sword": { item: Gilded2hSword, rarity: 32258, quantity: 1 },
1510
+ "Gilded spear": { item: GildedSpear, rarity: 32258, quantity: 1 },
1511
+ "Gilded hasta": { item: GildedHasta, rarity: 32258, quantity: 1 },
1512
+ "3rd age full helmet": { item: ThirdAgeFullHelmet, rarity: 249262, quantity: 1 },
1513
+ "3rd age platebody": { item: ThirdAgePlatebody, rarity: 249262, quantity: 1 },
1514
+ "3rd age platelegs": { item: ThirdAgePlatelegs, rarity: 249262, quantity: 1 },
1515
+ "3rd age plateskirt": { item: ThirdAgePlatelegs, rarity: 249262, quantity: 1 },
1516
+ "3rd age kiteshield": { item: ThirdAgeKiteshield, rarity: 249262, quantity: 1 },
1517
+ "3rd age range coif": { item: ThirdAgeRangeCoif, rarity: 249262, quantity: 1 },
1518
+ "3rd age range top": { item: ThirdAgeRangeTop, rarity: 249262, quantity: 1 },
1519
+ "3rd age range legs": { item: ThirdAgeRangeLegs, rarity: 249262, quantity: 1 },
1520
+ "3rd age vambraces": { item: ThirdAgeVambraces, rarity: 249262, quantity: 1 },
1521
+ "3rd age mage hat": { item: ThirdAgeMageHat, rarity: 249262, quantity: 1 },
1522
+ "3rd age robe top": { item: ThirdAgeRobeTop, rarity: 249262, quantity: 1 },
1523
+ "3rd age robe": { item: ThirdAgeRobe, rarity: 249262, quantity: 1 },
1524
+ "3rd age amulet": { item: AmuletOfMagic, rarity: 249262, quantity: 1 },
1525
+ "3rd age longsword": { item: ThirdAgeLongsword, rarity: 249262, quantity: 1 },
1526
+ "3rd age wand": { item: ThirdAgeWand, rarity: 249262, quantity: 1 },
1527
+ "3rd age cloak": { item: ThirdAgeCloak, rarity: 249262, quantity: 1 },
1528
+ "3rd age bow": { item: ThirdAgeBow, rarity: 249262, quantity: 1 },
1429
1529
  };
1430
1530
  /**
1431
1531
  * Elite tier shared treasure trail items
1432
1532
  */
1433
1533
  const ELITE_SHARED_ITEMS = {
1434
- Coins: { item: Coins, rarity: 32 },
1435
- "Purple sweets": { item: PurpleSweets, rarity: 92 },
1436
- "Red firelighter": { item: RedFirelighter, rarity: 162 },
1437
- "Green firelighter": { item: GreenFirelighter, rarity: 162 },
1438
- "Blue firelighter": { item: BlueFirelighter, rarity: 162 },
1439
- "Purple firelighter": { item: PurpleFirelighter, rarity: 162 },
1440
- "White firelighter": { item: WhiteFirelighter, rarity: 162 },
1441
- "Charge dragonstone jewellery scroll": { item: MasterScrollBookEmpty, rarity: 203 },
1442
- "Nardah teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1443
- "Mos le'harmless teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1444
- "Mort'ton teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1445
- "Feldip hills teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1446
- "Lunar isle teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1447
- "Digsite teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1448
- "Piscatoris teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1449
- "Pest control teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1450
- "Tai bwo wannai teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1451
- "Lumberyard teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1452
- "Iorwerth camp teleport": { item: MasterScrollBookEmpty, rarity: 203 },
1453
- "Master scroll book (empty)": { item: MasterScrollBookEmpty, rarity: 355 },
1454
- "Holy blessing": { item: HolyBlessing, rarity: 646 },
1455
- "Unholy blessing": { item: UnholyBlessing, rarity: 646 },
1456
- "Peaceful blessing": { item: PeacefulBlessing, rarity: 646 },
1457
- "War blessing": { item: WarBlessing, rarity: 646 },
1458
- "Honourable blessing": { item: HonourableBlessing, rarity: 646 },
1459
- "Ancient blessing": { item: AncientBlessing, rarity: 646 },
1460
- "Saradomin page 1": { item: SaradominPage1, rarity: 775 },
1461
- "Saradomin page 2": { item: SaradominPage2, rarity: 775 },
1462
- "Saradomin page 3": { item: SaradominPage3, rarity: 775 },
1463
- "Saradomin page 4": { item: SaradominPage4, rarity: 775 },
1464
- "Zamorak page 1": { item: ZamorakPage1, rarity: 775 },
1465
- "Zamorak page 2": { item: ZamorakPage2, rarity: 775 },
1466
- "Zamorak page 3": { item: ZamorakPage3, rarity: 775 },
1467
- "Zamorak page 4": { item: ZamorakPage4, rarity: 775 },
1468
- "Guthix page 1": { item: GuthixPage1, rarity: 775 },
1469
- "Guthix page 2": { item: GuthixPage2, rarity: 775 },
1470
- "Guthix page 3": { item: GuthixPage3, rarity: 775 },
1471
- "Guthix page 4": { item: GuthixPage4, rarity: 775 },
1472
- "Bandos page 1": { item: BandosPage1, rarity: 775 },
1473
- "Bandos page 2": { item: BandosPage2, rarity: 775 },
1474
- "Bandos page 3": { item: BandosPage3, rarity: 775 },
1475
- "Bandos page 4": { item: BandosPage4, rarity: 775 },
1476
- "Armadyl page 1": { item: ArmadylPage1, rarity: 775 },
1477
- "Armadyl page 2": { item: ArmadylPage2, rarity: 775 },
1478
- "Armadyl page 3": { item: ArmadylPage3, rarity: 775 },
1479
- "Armadyl page 4": { item: ArmadylPage4, rarity: 775 },
1480
- "Ancient page 1": { item: AncientPage1, rarity: 775 },
1481
- "Ancient page 2": { item: AncientPage2, rarity: 775 },
1534
+ "Coins (20k-30k)": { item: Coins, rarity: 32.3, quantityMin: 20000, quantityMax: 30000 },
1535
+ "Purple sweets (9-23)": { item: PurpleSweets, rarity: 32.3, quantityMin: 9, quantityMax: 23 },
1536
+ "Coins (10k-15k)": { item: Coins, rarity: 92.3, quantityMin: 10000, quantityMax: 15000 },
1537
+ "Purple sweets (8-12)": { item: PurpleSweets, rarity: 92.3, quantityMin: 8, quantityMax: 12 },
1538
+ "Red firelighter": { item: RedFirelighter, rarity: 161.5, quantityMin: 9, quantityMax: 15 },
1539
+ "Green firelighter": { item: GreenFirelighter, rarity: 161.5, quantityMin: 9, quantityMax: 15 },
1540
+ "Blue firelighter": { item: BlueFirelighter, rarity: 161.5, quantityMin: 9, quantityMax: 15 },
1541
+ "Purple firelighter": { item: PurpleFirelighter, rarity: 161.5, quantityMin: 9, quantityMax: 15 },
1542
+ "White firelighter": { item: WhiteFirelighter, rarity: 161.5, quantityMin: 9, quantityMax: 15 },
1543
+ "Charge dragonstone jewellery scroll": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1544
+ "Nardah teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1545
+ "Mos le'harmless teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1546
+ "Mort'ton teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1547
+ "Feldip hills teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1548
+ "Lunar isle teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1549
+ "Digsite teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1550
+ "Piscatoris teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1551
+ "Pest control teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1552
+ "Tai bwo wannai teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1553
+ "Lumberyard teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1554
+ "Iorwerth camp teleport": { item: MasterScrollBookEmpty, rarity: 203, quantityMin: 5, quantityMax: 15 },
1555
+ "Master scroll book (empty)": { item: MasterScrollBookEmpty, rarity: 355.2, quantity: 1 },
1556
+ "Holy blessing": { item: HolyBlessing, rarity: 645.8, quantity: 1 },
1557
+ "Unholy blessing": { item: UnholyBlessing, rarity: 645.8, quantity: 1 },
1558
+ "Peaceful blessing": { item: PeacefulBlessing, rarity: 645.8, quantity: 1 },
1559
+ "War blessing": { item: WarBlessing, rarity: 645.8, quantity: 1 },
1560
+ "Honourable blessing": { item: HonourableBlessing, rarity: 645.8, quantity: 1 },
1561
+ "Ancient blessing": { item: AncientBlessing, rarity: 645.8, quantity: 1 },
1562
+ "Saradomin page 1": { item: SaradominPage1, rarity: 775, quantity: 1 },
1563
+ "Saradomin page 2": { item: SaradominPage2, rarity: 775, quantity: 1 },
1564
+ "Saradomin page 3": { item: SaradominPage3, rarity: 775, quantity: 1 },
1565
+ "Saradomin page 4": { item: SaradominPage4, rarity: 775, quantity: 1 },
1566
+ "Zamorak page 1": { item: ZamorakPage1, rarity: 775, quantity: 1 },
1567
+ "Zamorak page 2": { item: ZamorakPage2, rarity: 775, quantity: 1 },
1568
+ "Zamorak page 3": { item: ZamorakPage3, rarity: 775, quantity: 1 },
1569
+ "Zamorak page 4": { item: ZamorakPage4, rarity: 775, quantity: 1 },
1570
+ "Guthix page 1": { item: GuthixPage1, rarity: 775, quantity: 1 },
1571
+ "Guthix page 2": { item: GuthixPage2, rarity: 775, quantity: 1 },
1572
+ "Guthix page 3": { item: GuthixPage3, rarity: 775, quantity: 1 },
1573
+ "Guthix page 4": { item: GuthixPage4, rarity: 775, quantity: 1 },
1574
+ "Bandos page 1": { item: BandosPage1, rarity: 775, quantity: 1 },
1575
+ "Bandos page 2": { item: BandosPage2, rarity: 775, quantity: 1 },
1576
+ "Bandos page 3": { item: BandosPage3, rarity: 775, quantity: 1 },
1577
+ "Bandos page 4": { item: BandosPage4, rarity: 775, quantity: 1 },
1578
+ "Armadyl page 1": { item: ArmadylPage1, rarity: 775, quantity: 1 },
1579
+ "Armadyl page 2": { item: ArmadylPage2, rarity: 775, quantity: 1 },
1580
+ "Armadyl page 3": { item: ArmadylPage3, rarity: 775, quantity: 1 },
1581
+ "Armadyl page 4": { item: ArmadylPage4, rarity: 775, quantity: 1 },
1582
+ "Ancient page 1": { item: AncientPage1, rarity: 775, quantity: 1 },
1583
+ "Ancient page 2": { item: AncientPage2, rarity: 775, quantity: 1 },
1584
+ "Ancient page 3": { item: AncientPage1, rarity: 775, quantity: 1 },
1585
+ "Ancient page 4": { item: AncientPage2, rarity: 775, quantity: 1 },
1482
1586
  };
1483
1587
  /**
1484
1588
  * Elite tier master clue scroll
1485
1589
  * 1/5 chance when opening an elite casket (doesn't take up a reward slot)
1486
1590
  */
1487
1591
  const ELITE_MASTER_CLUE = {
1488
- "Clue scroll (master)": { item: Coins, rarity: 5 },
1592
+ "Clue scroll (master)": { item: Coins, rarity: 5, quantity: 1 },
1489
1593
  };
1490
1594
  /**
1491
1595
  * Elite clue rewards with table-based structure
@@ -1495,13 +1599,16 @@ export const ELITE_REWARDS = {
1495
1599
  tables: [
1496
1600
  {
1497
1601
  name: "unique",
1498
- weight: 1275, // Elite clue unique items (~1/26 per roll)
1499
- items: ELITE_UNIQUE_ITEMS,
1602
+ weight: 1, // ~1/25 primary roll branch for unique outcomes
1603
+ items: {
1604
+ ...ELITE_UNIQUE_ITEMS,
1605
+ ...ELITE_MEGA_RARE_ITEMS,
1606
+ },
1500
1607
  description: "Elite clue unique items (50+ at various rarities)",
1501
1608
  },
1502
1609
  {
1503
1610
  name: "standard",
1504
- weight: 621, // Standard equipment (~1/32.3 base)
1611
+ weight: 24, // ~24/25 primary roll branch for standard/shared outcomes
1505
1612
  items: ELITE_STANDARD_TABLE,
1506
1613
  description: "Standard rune equipment, dragon weapons, runes, jewellery, food, resources",
1507
1614
  },
@@ -1538,138 +1645,195 @@ export const ELITE_REWARDS = {
1538
1645
  * Major rare table at various rarities (1/851 to 1/25,530)
1539
1646
  */
1540
1647
  export const MASTER_UNIQUE_ITEMS = {
1541
- "Occult ornament kit": { item: OccultOrnamentKit, rarity: 851 },
1542
- "Torture ornament kit": { item: TortureOrnamentKit, rarity: 851 },
1543
- "Anguish ornament kit": { item: AnguishOrnamentKit, rarity: 851 },
1544
- "Tormented ornament kit": { item: TormentedOrnamentKit, rarity: 851 },
1545
- "Dragon defender ornament kit": { item: DragonDefenderOrnamentKit, rarity: 851 },
1546
- "Hood of darkness": { item: HoodOfDarkness, rarity: 851 },
1547
- "Robe top of darkness": { item: RobeTopOfDarkness, rarity: 851 },
1548
- "Gloves of darkness": { item: GlovesOfDarkness, rarity: 851 },
1549
- "Robe bottom of darkness": { item: RobeBottomOfDarkness, rarity: 851 },
1550
- "Boots of darkness": { item: BootsOfDarkness, rarity: 851 },
1551
- "Samurai kasa": { item: SamuraiKasa, rarity: 851 },
1552
- "Samurai shirt": { item: SamuraiShirt, rarity: 851 },
1553
- "Samurai gloves": { item: SamuraiGloves, rarity: 851 },
1554
- "Samurai greaves": { item: SamuraiGreaves, rarity: 851 },
1555
- "Samurai boots": { item: SamuraiBoots, rarity: 851 },
1556
- "Arceuus hood": { item: ArceuusHood, rarity: 851 },
1557
- "Hosidius hood": { item: HosidiusHood, rarity: 851 },
1558
- "Lovakengj hood": { item: LovakengjHood, rarity: 851 },
1559
- "Piscarilius hood": { item: PiscariliusHood, rarity: 851 },
1560
- "Shayzien hood": { item: ShayzienHood, rarity: 851 },
1561
- "Old demon mask": { item: OldDemonMask, rarity: 851 },
1562
- "Lesser demon mask": { item: LesserDemonMask, rarity: 851 },
1563
- "Greater demon mask": { item: GreaterDemonMask, rarity: 851 },
1564
- "Black demon mask": { item: BlackDemonMask, rarity: 851 },
1565
- "Jungle demon mask": { item: JungleDemonMask, rarity: 851 },
1566
- "Left eye patch": { item: LeftEyePatch, rarity: 851 },
1567
- "Bowl wig": { item: BowlWig, rarity: 851 },
1568
- "Ale of the gods": { item: AleOfTheGods, rarity: 851 },
1569
- "Obsidian cape (r)": { item: CapeOfSkulls, rarity: 851 },
1570
- "Fancy tiara": { item: FancyTiara, rarity: 851 },
1571
- "Half moon spectacles": { item: HalfMoonSpectacles, rarity: 851 },
1572
- "Armadyl godsword ornament kit": { item: ArmadylGodswordOrnamentKit, rarity: 3404 },
1573
- "Bandos godsword ornament kit": { item: BandosGodswordOrnamentKit, rarity: 3404 },
1574
- "Saradomin godsword ornament kit": { item: SaradominGodswordOrnamentKit, rarity: 3404 },
1575
- "Zamorak godsword ornament kit": { item: ZamorakGodswordOrnamentKit, rarity: 3404 },
1576
- "Dragon platebody ornament kit": { item: DragonPlatebodyOrnamentKit, rarity: 12765 },
1577
- "Ankou mask": { item: AnkouMask, rarity: 12765 },
1578
- "Ankou top": { item: AnkouTop, rarity: 12765 },
1579
- "Ankou gloves": { item: AnkouGloves, rarity: 12765 },
1580
- "Ankou's leggings": { item: SLeggings, rarity: 12765 },
1581
- "Ankou socks": { item: AnkouSocks, rarity: 12765 },
1582
- "Mummy's head": { item: SHead, rarity: 12765 },
1583
- "Mummy's body": { item: MummysBody, rarity: 12765 },
1584
- "Mummy's hands": { item: MummysHands, rarity: 12765 },
1585
- "Mummy's legs": { item: SLegs, rarity: 12765 },
1586
- "Mummy's feet": { item: SFeet, rarity: 12765 },
1587
- "Dragon kiteshield ornament kit": { item: DragonKiteshieldOrnamentKit, rarity: 25530 },
1648
+ "Occult ornament kit": { item: OccultOrnamentKit, rarity: 851, quantity: 1 },
1649
+ "Torture ornament kit": { item: TortureOrnamentKit, rarity: 851, quantity: 1 },
1650
+ "Anguish ornament kit": { item: AnguishOrnamentKit, rarity: 851, quantity: 1 },
1651
+ "Tormented ornament kit": { item: TormentedOrnamentKit, rarity: 851, quantity: 1 },
1652
+ "Dragon defender ornament kit": { item: DragonDefenderOrnamentKit, rarity: 851, quantity: 1 },
1653
+ "Hood of darkness": { item: HoodOfDarkness, rarity: 851, quantity: 1 },
1654
+ "Robe top of darkness": { item: RobeTopOfDarkness, rarity: 851, quantity: 1 },
1655
+ "Gloves of darkness": { item: GlovesOfDarkness, rarity: 851, quantity: 1 },
1656
+ "Robe bottom of darkness": { item: RobeBottomOfDarkness, rarity: 851, quantity: 1 },
1657
+ "Boots of darkness": { item: BootsOfDarkness, rarity: 851, quantity: 1 },
1658
+ "Samurai kasa": { item: SamuraiKasa, rarity: 851, quantity: 1 },
1659
+ "Samurai shirt": { item: SamuraiShirt, rarity: 851, quantity: 1 },
1660
+ "Samurai gloves": { item: SamuraiGloves, rarity: 851, quantity: 1 },
1661
+ "Samurai greaves": { item: SamuraiGreaves, rarity: 851, quantity: 1 },
1662
+ "Samurai boots": { item: SamuraiBoots, rarity: 851, quantity: 1 },
1663
+ "Arceuus hood": { item: ArceuusHood, rarity: 851, quantity: 1 },
1664
+ "Hosidius hood": { item: HosidiusHood, rarity: 851, quantity: 1 },
1665
+ "Lovakengj hood": { item: LovakengjHood, rarity: 851, quantity: 1 },
1666
+ "Piscarilius hood": { item: PiscariliusHood, rarity: 851, quantity: 1 },
1667
+ "Shayzien hood": { item: ShayzienHood, rarity: 851, quantity: 1 },
1668
+ "Old demon mask": { item: OldDemonMask, rarity: 851, quantity: 1 },
1669
+ "Lesser demon mask": { item: LesserDemonMask, rarity: 851, quantity: 1 },
1670
+ "Greater demon mask": { item: GreaterDemonMask, rarity: 851, quantity: 1 },
1671
+ "Black demon mask": { item: BlackDemonMask, rarity: 851, quantity: 1 },
1672
+ "Jungle demon mask": { item: JungleDemonMask, rarity: 851, quantity: 1 },
1673
+ "Left eye patch": { item: LeftEyePatch, rarity: 851, quantity: 1 },
1674
+ "Bowl wig": { item: BowlWig, rarity: 851, quantity: 1 },
1675
+ "Ale of the gods": { item: AleOfTheGods, rarity: 851, quantity: 1 },
1676
+ "Obsidian cape (r)": { item: CapeOfSkulls, rarity: 851, quantity: 1 },
1677
+ "Fancy tiara": { item: FancyTiara, rarity: 851, quantity: 1 },
1678
+ "Half moon spectacles": { item: HalfMoonSpectacles, rarity: 851, quantity: 1 },
1679
+ "Armadyl godsword ornament kit": { item: ArmadylGodswordOrnamentKit, rarity: 3404, quantity: 1 },
1680
+ "Bandos godsword ornament kit": { item: BandosGodswordOrnamentKit, rarity: 3404, quantity: 1 },
1681
+ "Saradomin godsword ornament kit": { item: SaradominGodswordOrnamentKit, rarity: 3404, quantity: 1 },
1682
+ "Zamorak godsword ornament kit": { item: ZamorakGodswordOrnamentKit, rarity: 3404, quantity: 1 },
1683
+ "Dragon platebody ornament kit": { item: DragonPlatebodyOrnamentKit, rarity: 12765, quantity: 1 },
1684
+ "Ankou mask": { item: AnkouMask, rarity: 12765, quantity: 1 },
1685
+ "Ankou top": { item: AnkouTop, rarity: 12765, quantity: 1 },
1686
+ "Ankou gloves": { item: AnkouGloves, rarity: 12765, quantity: 1 },
1687
+ "Ankou's leggings": { item: SLeggings, rarity: 12765, quantity: 1 },
1688
+ "Ankou socks": { item: AnkouSocks, rarity: 12765, quantity: 1 },
1689
+ "Mummy's head": { item: SHead, rarity: 12765, quantity: 1 },
1690
+ "Mummy's body": { item: MummysBody, rarity: 12765, quantity: 1 },
1691
+ "Mummy's hands": { item: MummysHands, rarity: 12765, quantity: 1 },
1692
+ "Mummy's legs": { item: SLegs, rarity: 12765, quantity: 1 },
1693
+ "Mummy's feet": { item: SFeet, rarity: 12765, quantity: 1 },
1694
+ "Dragon kiteshield ornament kit": { item: DragonKiteshieldOrnamentKit, rarity: 25530, quantity: 1 },
1588
1695
  };
1589
1696
  /**
1590
1697
  * Master tier standard table
1591
1698
  * Dragon weapons, runes, food, resources at 1/30.3 base
1592
1699
  */
1593
1700
  export const MASTER_STANDARD_TABLE = {
1594
- "Dragon dagger": { item: DragonDagger, rarity: 30 },
1595
- "Dragon mace": { item: DragonMace, rarity: 30 },
1596
- "Dragon longsword": { item: BlackLongsword, rarity: 30 },
1597
- "Dragon scimitar": { item: DragonScimitar, rarity: 30 },
1598
- "Dragon battleaxe": { item: DragonBattleaxe, rarity: 30 },
1599
- "Dragon halberd": { item: DragonHalberd, rarity: 30 },
1600
- "Nature rune": { item: NatureRune, rarity: 30 },
1601
- "Death rune": { item: FireRune, rarity: 30 },
1602
- "Blood rune": { item: FireRune, rarity: 30 },
1603
- "Soul rune": { item: FireRune, rarity: 30 },
1604
- "Onyx bolts (e)": { item: OnyxBoltsE, rarity: 30 },
1605
- "Manta ray": { item: Salmon, rarity: 30 },
1606
- "Wine of zamorak": { item: WineOfZamorak, rarity: 30 },
1607
- "Limpwurt root": { item: LimpwurtRoot, rarity: 30 },
1608
- "Grimy ranarr weed": { item: GrimyRanarrWeed, rarity: 30 },
1609
- "Grimy toadflax": { item: GrimyToadflax, rarity: 30 },
1610
- "Grimy snapdragon": { item: GrimySnapdragon, rarity: 30 },
1611
- "Runite ore": { item: RuniteOre, rarity: 30 },
1612
- "Runite bar": { item: RuniteBar, rarity: 30 },
1613
- "Black dragonhide": { item: BlackDragonhide, rarity: 30 },
1701
+ "Dragon dagger": { item: DragonDagger, rarity: 30.3, quantity: 1 },
1702
+ "Dragon mace": { item: DragonMace, rarity: 30.3, quantity: 1 },
1703
+ "Dragon longsword": { item: DragonLongsword, rarity: 30.3, quantity: 1 },
1704
+ "Dragon scimitar": { item: DragonScimitar, rarity: 30.3, quantity: 1 },
1705
+ "Dragon battleaxe": { item: DragonBattleaxe, rarity: 30.3, quantity: 1 },
1706
+ "Dragon halberd": { item: DragonHalberd, rarity: 30.3, quantity: 1 },
1707
+ "Nature rune": { item: NatureRune, rarity: 30.3, quantityMin: 100, quantityMax: 200 },
1708
+ "Death rune": { item: DeathRune, rarity: 30.3, quantityMin: 100, quantityMax: 200 },
1709
+ "Blood rune": { item: BloodRune, rarity: 30.3, quantityMin: 100, quantityMax: 200 },
1710
+ "Soul rune": { item: SoulRune, rarity: 30.3, quantityMin: 100, quantityMax: 200 },
1711
+ "Onyx bolts (e)": { item: OnyxBoltsE, rarity: 30.3, quantityMin: 15, quantityMax: 25 },
1712
+ "Manta ray": { item: Salmon, rarity: 30.3, quantityMin: 15, quantityMax: 25, noted: true },
1713
+ "Wine of zamorak": { item: WineOfZamorak, rarity: 30.3, quantityMin: 35, quantityMax: 50, noted: true },
1714
+ "Limpwurt root": { item: LimpwurtRoot, rarity: 30.3, quantityMin: 40, quantityMax: 60, noted: true },
1715
+ "Grimy ranarr weed": { item: GrimyRanarrWeed, rarity: 30.3, quantityMin: 5, quantityMax: 10, noted: true },
1716
+ "Grimy toadflax": { item: GrimyToadflax, rarity: 30.3, quantityMin: 25, quantityMax: 35, noted: true },
1717
+ "Grimy snapdragon": { item: GrimySnapdragon, rarity: 30.3, quantityMin: 5, quantityMax: 10, noted: true },
1718
+ "Runite ore": { item: RuniteOre, rarity: 30.3, quantityMin: 5, quantityMax: 8, noted: true },
1719
+ "Runite bar": { item: RuniteBar, rarity: 30.3, quantityMin: 5, quantityMax: 7, noted: true },
1720
+ "Black dragonhide": { item: BlackDragonhide, rarity: 30.3, quantityMin: 5, quantityMax: 25, noted: true },
1721
+ "Tooth half of key": { item: ToothHalfOfKey, rarity: 60.6, quantity: 1 },
1722
+ "Loop half of key": { item: LoopHalfOfKey, rarity: 60.6, quantity: 1 },
1723
+ "Palm tree seed": { item: PalmTreeSeed, rarity: 91, quantityMin: 1, quantityMax: 2 },
1724
+ "Yew seed": { item: YewSeed, rarity: 91, quantityMin: 1, quantityMax: 2 },
1725
+ "Magic seed": { item: MagicSeed, rarity: 91, quantityMin: 1, quantityMax: 2 },
1614
1726
  };
1615
1727
  /**
1616
1728
  * Master tier mega-rare items (gilded + 3rd age + special)
1617
1729
  */
1618
1730
  export const MASTER_MEGA_RARE_ITEMS = {
1619
- "Bucket helm (g)": { item: BucketHelmG, rarity: 13616 },
1620
- "Ring of coins": { item: RingOfCoins, rarity: 13616 },
1621
- Cabbage: { item: Cabbage, rarity: 13616 },
1622
- "Anti-venom+(4)": { item: AntiVenomPlus4, rarity: 13616 },
1623
- Torstol: { item: Torstol, rarity: 13616 },
1624
- "Gilded scimitar": { item: GildedScimitar, rarity: 13616 },
1625
- "Gilded boots": { item: GildedBoots, rarity: 13616 },
1626
- "Gilded coif": { item: GildedCoif, rarity: 13616 },
1627
- "Gilded d'hide vambraces": { item: HideVambraces, rarity: 13616 },
1628
- "Gilded d'hide body": { item: GildedDHideBody, rarity: 13616 },
1629
- "Gilded d'hide chaps": { item: GildedDHideChaps, rarity: 13616 },
1630
- "Gilded pickaxe": { item: GildedPickaxe, rarity: 13616 },
1631
- "Gilded axe": { item: GildedAxe, rarity: 13616 },
1632
- "Gilded spade": { item: GildedSpade, rarity: 13616 },
1633
- "Gilded full helm": { item: GildedFullHelm, rarity: 149776 },
1634
- "Gilded platebody": { item: GildedPlatebody, rarity: 149776 },
1635
- "Gilded platelegs": { item: GildedLegs, rarity: 149776 },
1636
- "Gilded plateskirt": { item: GildedLegs, rarity: 149776 },
1637
- "Gilded kiteshield": { item: GildedKiteshield, rarity: 149776 },
1638
- "Gilded med helm": { item: GildedMedHelm, rarity: 149776 },
1639
- "Gilded chainbody": { item: GildedChainbody, rarity: 149776 },
1640
- "Gilded sq shield": { item: GildedSqShield, rarity: 149776 },
1641
- "Gilded 2h sword": { item: Gilded2hSword, rarity: 149776 },
1642
- "Gilded spear": { item: GildedSpear, rarity: 149776 },
1643
- "Gilded hasta": { item: GildedHasta, rarity: 149776 },
1644
- "3rd age full helmet": { item: ThirdAgeFullHelmet, rarity: 313168 },
1645
- "3rd age platebody": { item: ThirdAgePlatebody, rarity: 313168 },
1646
- "3rd age platelegs": { item: ThirdAgePlatelegs, rarity: 313168 },
1647
- "3rd age plateskirt": { item: ThirdAgePlatelegs, rarity: 313168 },
1648
- "3rd age kiteshield": { item: ThirdAgeKiteshield, rarity: 313168 },
1649
- "3rd age range coif": { item: ThirdAgeRangeCoif, rarity: 313168 },
1650
- "3rd age range top": { item: ThirdAgeRangeTop, rarity: 313168 },
1651
- "3rd age range legs": { item: ThirdAgeRangeLegs, rarity: 313168 },
1652
- "3rd age vambraces": { item: ThirdAgeVambraces, rarity: 313168 },
1653
- "3rd age mage hat": { item: ThirdAgeMageHat, rarity: 313168 },
1654
- "3rd age robe top": { item: ThirdAgeRobeTop, rarity: 313168 },
1655
- "3rd age robe": { item: ThirdAgeRobe, rarity: 313168 },
1656
- "3rd age amulet": { item: AmuletOfMagic, rarity: 313168 },
1657
- "3rd age druidic robe top": { item: ThirdAgeDruidicRobeTop, rarity: 313168 },
1658
- "3rd age druidic robe bottoms": { item: ThirdAgeDruidicRobeBottoms, rarity: 313168 },
1659
- "3rd age druidic cloak": { item: ThirdAgeDruidicCloak, rarity: 313168 },
1660
- "3rd age longsword": { item: ThirdAgeLongsword, rarity: 313168 },
1661
- "3rd age bow": { item: ThirdAgeBow, rarity: 313168 },
1662
- "3rd age wand": { item: ThirdAgeWand, rarity: 313168 },
1663
- "3rd age druidic staff": { item: ThirdAgeDruidicStaff, rarity: 313168 },
1664
- "3rd age cloak": { item: ThirdAgeCloak, rarity: 313168 },
1665
- "3rd age pickaxe": { item: ThirdAgePickaxe, rarity: 313168 },
1666
- "3rd age axe": { item: ThirdAgeAxe, rarity: 313168 },
1731
+ "Bucket helm (g)": { item: BucketHelmG, rarity: 13616, quantity: 1 },
1732
+ "Ring of coins": { item: RingOfCoins, rarity: 13616, quantity: 1 },
1733
+ Cabbage: { item: Cabbage, rarity: 13616, quantity: 3 },
1734
+ "Anti-venom+(4)": { item: AntiVenomPlus4, rarity: 13616, quantity: 15, noted: true },
1735
+ Torstol: { item: Torstol, rarity: 13616, quantity: 50, noted: true },
1736
+ "Gilded scimitar": { item: GildedScimitar, rarity: 13616, quantity: 1 },
1737
+ "Gilded boots": { item: GildedBoots, rarity: 13616, quantity: 1 },
1738
+ "Gilded coif": { item: GildedCoif, rarity: 13616, quantity: 1 },
1739
+ "Gilded d'hide vambraces": { item: HideVambraces, rarity: 13616, quantity: 1 },
1740
+ "Gilded d'hide body": { item: GildedDHideBody, rarity: 13616, quantity: 1 },
1741
+ "Gilded d'hide chaps": { item: GildedDHideChaps, rarity: 13616, quantity: 1 },
1742
+ "Gilded pickaxe": { item: GildedPickaxe, rarity: 13616, quantity: 1 },
1743
+ "Gilded axe": { item: GildedAxe, rarity: 13616, quantity: 1 },
1744
+ "Gilded spade": { item: GildedSpade, rarity: 13616, quantity: 1 },
1745
+ "Gilded full helm": { item: GildedFullHelm, rarity: 149776, quantity: 1 },
1746
+ "Gilded platebody": { item: GildedPlatebody, rarity: 149776, quantity: 1 },
1747
+ "Gilded platelegs": { item: GildedLegs, rarity: 149776, quantity: 1 },
1748
+ "Gilded plateskirt": { item: GildedLegs, rarity: 149776, quantity: 1 },
1749
+ "Gilded kiteshield": { item: GildedKiteshield, rarity: 149776, quantity: 1 },
1750
+ "Gilded med helm": { item: GildedMedHelm, rarity: 149776, quantity: 1 },
1751
+ "Gilded chainbody": { item: GildedChainbody, rarity: 149776, quantity: 1 },
1752
+ "Gilded sq shield": { item: GildedSqShield, rarity: 149776, quantity: 1 },
1753
+ "Gilded 2h sword": { item: Gilded2hSword, rarity: 149776, quantity: 1 },
1754
+ "Gilded spear": { item: GildedSpear, rarity: 149776, quantity: 1 },
1755
+ "Gilded hasta": { item: GildedHasta, rarity: 149776, quantity: 1 },
1756
+ "3rd age full helmet": { item: ThirdAgeFullHelmet, rarity: 313168, quantity: 1 },
1757
+ "3rd age platebody": { item: ThirdAgePlatebody, rarity: 313168, quantity: 1 },
1758
+ "3rd age platelegs": { item: ThirdAgePlatelegs, rarity: 313168, quantity: 1 },
1759
+ "3rd age plateskirt": { item: ThirdAgePlatelegs, rarity: 313168, quantity: 1 },
1760
+ "3rd age kiteshield": { item: ThirdAgeKiteshield, rarity: 313168, quantity: 1 },
1761
+ "3rd age range coif": { item: ThirdAgeRangeCoif, rarity: 313168, quantity: 1 },
1762
+ "3rd age range top": { item: ThirdAgeRangeTop, rarity: 313168, quantity: 1 },
1763
+ "3rd age range legs": { item: ThirdAgeRangeLegs, rarity: 313168, quantity: 1 },
1764
+ "3rd age vambraces": { item: ThirdAgeVambraces, rarity: 313168, quantity: 1 },
1765
+ "3rd age mage hat": { item: ThirdAgeMageHat, rarity: 313168, quantity: 1 },
1766
+ "3rd age robe top": { item: ThirdAgeRobeTop, rarity: 313168, quantity: 1 },
1767
+ "3rd age robe": { item: ThirdAgeRobe, rarity: 313168, quantity: 1 },
1768
+ "3rd age amulet": { item: AmuletOfMagic, rarity: 313168, quantity: 1 },
1769
+ "3rd age druidic robe top": { item: ThirdAgeDruidicRobeTop, rarity: 313168, quantity: 1 },
1770
+ "3rd age druidic robe bottoms": { item: ThirdAgeDruidicRobeBottoms, rarity: 313168, quantity: 1 },
1771
+ "3rd age druidic cloak": { item: ThirdAgeDruidicCloak, rarity: 313168, quantity: 1 },
1772
+ "3rd age longsword": { item: ThirdAgeLongsword, rarity: 313168, quantity: 1 },
1773
+ "3rd age bow": { item: ThirdAgeBow, rarity: 313168, quantity: 1 },
1774
+ "3rd age wand": { item: ThirdAgeWand, rarity: 313168, quantity: 1 },
1775
+ "3rd age druidic staff": { item: ThirdAgeDruidicStaff, rarity: 313168, quantity: 1 },
1776
+ "3rd age cloak": { item: ThirdAgeCloak, rarity: 313168, quantity: 1 },
1777
+ "3rd age pickaxe": { item: ThirdAgePickaxe, rarity: 313168, quantity: 1 },
1778
+ "3rd age axe": { item: ThirdAgeAxe, rarity: 313168, quantity: 1 },
1667
1779
  };
1668
1780
  /**
1669
1781
  * Master tier shared treasure trail items
1670
1782
  */
1671
1783
  const MASTER_SHARED_ITEMS = {
1672
- Coins: { item: Coins, rarity: 30 },
1784
+ "Coins (20k-35k)": { item: Coins, rarity: 30.3, quantityMin: 20000, quantityMax: 35000 },
1785
+ "Purple sweets (14-33)": { item: PurpleSweets, rarity: 30.3, quantityMin: 14, quantityMax: 33 },
1786
+ "Coins (10k-15k)": { item: Coins, rarity: 86.6, quantityMin: 10000, quantityMax: 15000 },
1787
+ "Purple sweets (8-12)": { item: PurpleSweets, rarity: 86.6, quantityMin: 8, quantityMax: 12 },
1788
+ "Red firelighter": { item: RedFirelighter, rarity: 151.6, quantityMin: 20, quantityMax: 38 },
1789
+ "Green firelighter": { item: GreenFirelighter, rarity: 151.6, quantityMin: 20, quantityMax: 38 },
1790
+ "Blue firelighter": { item: BlueFirelighter, rarity: 151.6, quantityMin: 20, quantityMax: 38 },
1791
+ "Purple firelighter": { item: PurpleFirelighter, rarity: 151.6, quantityMin: 20, quantityMax: 38 },
1792
+ "White firelighter": { item: WhiteFirelighter, rarity: 151.6, quantityMin: 20, quantityMax: 38 },
1793
+ "Charge dragonstone jewellery scroll": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1794
+ "Nardah teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1795
+ "Mos le'harmless teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1796
+ "Mort'ton teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1797
+ "Feldip hills teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1798
+ "Lunar isle teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1799
+ "Digsite teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1800
+ "Piscatoris teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1801
+ "Pest control teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1802
+ "Tai bwo wannai teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1803
+ "Lumberyard teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1804
+ "Iorwerth camp teleport": { item: MasterScrollBookEmpty, rarity: 190.6, quantityMin: 5, quantityMax: 15 },
1805
+ "Master scroll book (empty)": { item: MasterScrollBookEmpty, rarity: 333.5, quantity: 1 },
1806
+ "Coins (15k-30k)": { item: Coins, rarity: 381, quantityMin: 15000, quantityMax: 30000 },
1807
+ "Holy blessing": { item: HolyBlessing, rarity: 606.4, quantity: 1 },
1808
+ "Unholy blessing": { item: UnholyBlessing, rarity: 606.4, quantity: 1 },
1809
+ "Peaceful blessing": { item: PeacefulBlessing, rarity: 606.4, quantity: 1 },
1810
+ "War blessing": { item: WarBlessing, rarity: 606.4, quantity: 1 },
1811
+ "Honourable blessing": { item: HonourableBlessing, rarity: 606.4, quantity: 1 },
1812
+ "Ancient blessing": { item: AncientBlessing, rarity: 606.4, quantity: 1 },
1813
+ "Saradomin page 1": { item: SaradominPage1, rarity: 702.6, quantity: 1 },
1814
+ "Saradomin page 2": { item: SaradominPage2, rarity: 702.6, quantity: 1 },
1815
+ "Saradomin page 3": { item: SaradominPage3, rarity: 702.6, quantity: 1 },
1816
+ "Saradomin page 4": { item: SaradominPage4, rarity: 702.6, quantity: 1 },
1817
+ "Zamorak page 1": { item: ZamorakPage1, rarity: 702.6, quantity: 1 },
1818
+ "Zamorak page 2": { item: ZamorakPage2, rarity: 702.6, quantity: 1 },
1819
+ "Zamorak page 3": { item: ZamorakPage3, rarity: 702.6, quantity: 1 },
1820
+ "Zamorak page 4": { item: ZamorakPage4, rarity: 702.6, quantity: 1 },
1821
+ "Guthix page 1": { item: GuthixPage1, rarity: 702.6, quantity: 1 },
1822
+ "Guthix page 2": { item: GuthixPage2, rarity: 702.6, quantity: 1 },
1823
+ "Guthix page 3": { item: GuthixPage3, rarity: 702.6, quantity: 1 },
1824
+ "Guthix page 4": { item: GuthixPage4, rarity: 702.6, quantity: 1 },
1825
+ "Bandos page 1": { item: BandosPage1, rarity: 702.6, quantity: 1 },
1826
+ "Bandos page 2": { item: BandosPage2, rarity: 702.6, quantity: 1 },
1827
+ "Bandos page 3": { item: BandosPage3, rarity: 702.6, quantity: 1 },
1828
+ "Bandos page 4": { item: BandosPage4, rarity: 702.6, quantity: 1 },
1829
+ "Armadyl page 1": { item: ArmadylPage1, rarity: 702.6, quantity: 1 },
1830
+ "Armadyl page 2": { item: ArmadylPage2, rarity: 702.6, quantity: 1 },
1831
+ "Armadyl page 3": { item: ArmadylPage3, rarity: 702.6, quantity: 1 },
1832
+ "Armadyl page 4": { item: ArmadylPage4, rarity: 702.6, quantity: 1 },
1833
+ "Ancient page 1": { item: AncientPage1, rarity: 702.6, quantity: 1 },
1834
+ "Ancient page 2": { item: AncientPage2, rarity: 702.6, quantity: 1 },
1835
+ "Ancient page 3": { item: AncientPage1, rarity: 702.6, quantity: 1 },
1836
+ "Ancient page 4": { item: AncientPage2, rarity: 702.6, quantity: 1 },
1673
1837
  };
1674
1838
  /**
1675
1839
  * Master tier master clue scroll
@@ -1686,13 +1850,16 @@ export const MASTER_REWARDS = {
1686
1850
  tables: [
1687
1851
  {
1688
1852
  name: "unique",
1689
- weight: 851, // Master clue unique items
1690
- items: MASTER_UNIQUE_ITEMS,
1853
+ weight: 1, // ~1/23 primary roll branch for unique outcomes
1854
+ items: {
1855
+ ...MASTER_UNIQUE_ITEMS,
1856
+ ...MASTER_MEGA_RARE_ITEMS,
1857
+ },
1691
1858
  description: "Master clue unique items (40+ at various rarities)",
1692
1859
  },
1693
1860
  {
1694
1861
  name: "standard",
1695
- weight: 638, // Standard dragon weapons and resources (~1/30.3 base)
1862
+ weight: 22, // ~22/23 primary roll branch for standard/shared outcomes
1696
1863
  items: MASTER_STANDARD_TABLE,
1697
1864
  description: "Dragon weapons, runes, food, resources",
1698
1865
  },