Skip to content

Rewards

fantastruco edited this page Aug 15, 2026 · 5 revisions

Reward System

After a valid co-op victory, each winning Player receives an independent reward roll. Normal RCT Trainer rewards remain separate.

Reward Bags use five rarities: Common, Uncommon, Rare, Epic and Legendary.

Set enabled = false in rewards.toml to disable the complete CobbleCoop challenge reward system. This stops new bags, bag opening, bonus EXP, pity and reward announcements, and hides the Reward Chances panel. Normal Pokemon EXP and normal RCT Trainer loot remain active.

How the result is chosen

  1. The original average level of the Trainer team selects a level band.
  2. Active handicaps create a reward score.
  3. That score improves the weight of higher rarities.
  4. Personal Epic and Legendary pity is applied.
  5. Anti-farm protection decides the final bag and bonus EXP eligibility.

The Reward Chances table in the battle setup uses the server's real settings and the current Player's pity.

Team levels and fairness

CobbleCoop uses the combined selected team average after battle level handicaps. One high-level carry cannot be hidden behind several very weak Pokemon because levels.carryGap protects the effective average.

Player Level and Same Level award points only when they remove real levels. A naturally stronger Trainer can also add bounded challenge points. This lets a low-level team accept a difficult fight and lets a high-level team earn better chances by genuinely scaling itself down.

Handicap reward points

Every key under [handicapMaximumPoints] is the maximum score that handicap can contribute.

  • A boolean handicap awards either zero or its full configured value.
  • A list uses the active option order. Easier positions receive a fraction and the hardest position receives the configured maximum.
  • Player and Trainer level points are recalculated from the real selected teams when the battle starts.
  • Pokemon, move, ability and held item randomizers award zero by default because a random result may help or weaken the Trainer.

Set one handicap value to 0 when it should not improve Reward chances.

Reward configuration

Location:

config/cobblecoop/rewards/rewards.toml

The generated file includes comments for every option. The current default values are summarized below.

General switch

Setting Default Meaning
enabled true Enables Reward Bags, bonus EXP, pity, announcements and the setup forecast.

When disabled, existing Reward Bags are kept but cannot be opened. Re-enable the system to use them.

Tier selection defaults

Setting Default Meaning
bagsPerVictory 1 Bags rolled independently for each winning Player.
levelUpperBounds [25, 50, 75] End of the Low, Mid and High Trainer bands.
maximumRewardScore 100 Maximum score used by rarity calculations.
rarityWeightGrowthPerPoint 0.03 Higher-tier weight growth per reward point.

Set bagsPerVictory = 0 to stop new automatic bags. Existing bags can still be opened.

Tier weight defaults

Weights are always ordered as Common, Uncommon, Rare, Epic and Legendary. A zero locks that rarity for the complete level band.

Trainer band Default weights
Level 1-25 [7500, 2000, 480, 19, 1]
Level 26-50 [3500, 4500, 1700, 290, 10]
Level 51-75 [1000, 3500, 4000, 1400, 100]
Level 76-100 [300, 1700, 4000, 3200, 800]

Soft pity

Pity is personal and stored separately for Low, Mid, High and Endgame Trainer bands. It changes probability but never guarantees a rarity.

Setting Default
epicRange [4, 20] eligible misses
legendaryRange [10, 40] eligible misses
epicCap [1.0, 7.0, 22.0, 40.0] percent
legendaryCap [0.1, 0.75, 3.0, 12.0] percent

The four cap positions are Low, Mid, High and Endgame. A normal chance already above a cap is not reduced. Debug battles, failed rolls, reduced repeated rewards and invalid battles do not build pity.

Bonus experience

Setting Default Meaning
percentPerPoint 1.0 Additional battle EXP percent per reward point.
maximumBonusPercent 100.0 Maximum bonus after protection is applied.
carryGap 15 Maximum protected distance from the strongest selected Pokemon.
reductionStep 5.0 Real Player levels removed per reward point.
challengeStep 3.0 Trainer advantage levels per reward point.

Anti-farm protection

Setting Default Meaning
fullRewardMaxLevelAdvantage 5 Player advantage that still receives full rewards.
noRewardLevelAdvantage 20 Advantage where bags and bonus EXP reach zero.
repeatResetHours 24 Time before the Trainer history resets.
repeatRewardMultiplier 0.35 Multiplier after each rewarded victory.
maximumRewardedVictories 3 Eligible wins before the hard repeat limit.

With the defaults, repeated chances are 100%, 35% and 12.25%. Further wins receive no challenge bag until the history resets. Set maximumRewardedVictories = 0 to remove only the hard limit while keeping the multiplier.

Announcements

announcements.announceHighTiers = true announces Epic and Legendary bags to online Players. Set it to false for a quieter server.

Bag contents

rewards.toml does not choose the items inside a bag. Use a Reward Datapack to change items, amounts, item weights, Luck quality and loot rolls.

Clone this wiki locally