({
    Roll(Cost): {Roll(ImmuneMelee): None},
    Roll(Strength): {Roll(ImmuneMelee): None},
    Roll(Duration): {Roll(ImmuneMelee): None},
    Sword(TsDamage): {Sword(TsCombo): None},
    Sword(TsRegen): {Sword(TsCombo): None},
    Sword(TsSpeed): {Sword(TsCombo): None},
    Sword(DDrain): {Sword(DDamage): Some(1)},
    Sword(DCost): {Sword(DDamage): Some(1)},
    Sword(DSpeed): {Sword(DDamage): Some(1)},
    Sword(DInfinite): {Sword(DDamage): Some(1)},
    Sword(DScaling): {Sword(DDamage): Some(1)},
    Sword(SDamage): {Sword(UnlockSpin): None},
    Sword(SSpeed): {Sword(UnlockSpin): None},
    Sword(SCost): {Sword(UnlockSpin): None},
    Sword(SSpins): {Sword(UnlockSpin): None},
    Axe(DsDamage): {Axe(DsCombo): None},
    Axe(DsSpeed): {Axe(DsCombo): None},
    Axe(DsRegen): {Axe(DsCombo): None},
    Axe(SHelicopter): {Axe(SInfinite): None},
    Axe(SDamage): {Axe(SInfinite): None},
    Axe(SSpeed): {Axe(SInfinite): None},
    Axe(SCost): {Axe(SInfinite): None},
    Axe(LDamage): {Axe(UnlockLeap): None},
    Axe(LKnockback): {Axe(UnlockLeap): None},
    Axe(LCost): {Axe(UnlockLeap): None},
    Axe(LDistance): {Axe(UnlockLeap): None},
    Hammer(SsDamage): {Hammer(SsKnockback): Some(1)},
    Hammer(SsRegen): {Hammer(SsKnockback): Some(1)},
    Hammer(SsSpeed): {Hammer(SsKnockback): Some(1)},
    Hammer(CDamage): {Hammer(CKnockback): Some(1)},
    Hammer(CDrain): {Hammer(CKnockback): Some(1)},
    Hammer(CSpeed): {Hammer(CKnockback): Some(1)},
    Hammer(LDamage): {Hammer(UnlockLeap): None},
    Hammer(LCost): {Hammer(UnlockLeap): None},
    Hammer(LDistance): {Hammer(UnlockLeap): None},
    Hammer(LKnockback): {Hammer(UnlockLeap): None},
    Hammer(LRange): {Hammer(UnlockLeap): None},
    Bow(BRegen): {Bow(BDamage): Some(1)},
    Bow(CKnockback): {Bow(CDamage): Some(1)},
    Bow(CProjSpeed): {Bow(CDamage): Some(1)},
    Bow(CDrain): {Bow(CDamage): Some(1)},
    Bow(CSpeed): {Bow(CDamage): Some(1)},
    Bow(CMove): {Bow(CDamage): Some(1)},
    Bow(RDamage): {Bow(UnlockRepeater): None},
    Bow(RGlide): {Bow(UnlockRepeater): None},
    Bow(RArrows): {Bow(UnlockRepeater): None},
    Bow(RCost): {Bow(UnlockRepeater): None},
    Staff(BDamage): {Staff(BExplosion): None},
    Staff(BRegen): {Staff(BExplosion): None},
    Staff(BRadius): {Staff(BExplosion): None},
    Staff(FRange): {Staff(FDamage): Some(1)},
    Staff(FDrain): {Staff(FDamage): Some(1)},
    Staff(FVelocity): {Staff(FDamage): Some(1)},
    Staff(SDamage): {Staff(UnlockShockwave): None},
    Staff(SKnockback): {Staff(UnlockShockwave): None},
    Staff(SRange): {Staff(UnlockShockwave): None},
    Staff(SCost): {Staff(UnlockShockwave): None},
    Sceptre(BDamage): {Sceptre(BHeal): Some(1)},
    Sceptre(BRange): {Sceptre(BHeal): Some(1)},
    Sceptre(BLifesteal): {Sceptre(BHeal): Some(1)},
    Sceptre(BRegen): {Sceptre(BHeal): Some(1)},
    Sceptre(BCost): {Sceptre(BHeal): Some(1)},
    Sceptre(PDamage): {Sceptre(PHeal): Some(1)},
    Sceptre(PRadius): {Sceptre(PHeal): Some(1)},
    Sceptre(PCost): {Sceptre(PHeal): Some(1)},
    Sceptre(PProjSpeed): {Sceptre(PHeal): Some(1)},
})