// Maps a tool kind to a set of abilities
// A set of abilities is a primary, a secondary, and a vec of all extra abilities
({
    Sword: (
        primary: "common.abilities.sword.triplestrike",
        secondary: "common.abilities.sword.dash",
        abilities: [
            (Some(Sword(UnlockSpin)), "common.abilities.sword.spin"),
        ],
    ),
    Axe: (
        primary: "common.abilities.axe.doublestrike",
        secondary: "common.abilities.axe.spin",
        abilities: [
            (Some(Axe(UnlockLeap)), "common.abilities.axe.leap"),
        ],
    ),
    Hammer: (
        primary: "common.abilities.hammer.singlestrike",
        secondary: "common.abilities.hammer.charged",
        abilities: [
            (Some(Hammer(UnlockLeap)), "common.abilities.hammer.leap"),
        ],
    ),
    Bow: (
        primary: "common.abilities.bow.basic",
        secondary: "common.abilities.bow.charged",
        abilities: [
            (Some(Bow(UnlockRepeater)), "common.abilities.bow.repeater"),
        ],
    ),
    Spear: (
        primary: "common.abilities.spear.doublestrike",
        secondary: "common.abilities.spear.dash",
        abilities: [],

    ),
    HammerSimple: (
        primary: "common.abilities.hammersimple.doublestrike",
        secondary: "common.abilities.hammersimple.doublestrike",
        abilities: [],
    ),
    AxeSimple: (
        primary: "common.abilities.axesimple.doublestrike",
        secondary: "common.abilities.axesimple.dash",
        abilities: [],
    ),
    SwordSimple: (
        primary: "common.abilities.swordsimple.doublestrike",
        secondary: "common.abilities.swordsimple.dash",
        abilities: [
        ],
    ),
    StaffSimple: (
        primary: "common.abilities.staffsimple.firebomb",
        secondary: "common.abilities.staffsimple.flamethrower",
        abilities: [],
    ),
    BowSimple: (
        primary: "common.abilities.bowsimple.basic",
        secondary: "common.abilities.bowsimple.basic",
        abilities: [
        ],
    ),
    Staff: (
        primary: "common.abilities.staff.firebomb",
        secondary: "common.abilities.staff.flamethrower",
        abilities: [
            (Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"),
        ],
    ),
    Sceptre: (
        primary: "common.abilities.sceptre.lifestealbeam",
        secondary: "common.abilities.sceptre.healingbeam",
        abilities: [
            (Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"),
        ],
    ),
    Dagger: (
        primary: "common.abilities.dagger.tempbasic",
        secondary: "common.abilities.dagger.tempbasic",
        abilities: [],
    ),
    Shield: (
        primary: "common.abilities.shield.tempbasic",
        secondary: "common.abilities.shield.block",
        abilities: [],
    ),
    Unique(StoneGolemFist): (
        primary: "common.abilities.unique.stonegolemfist.singlestrike",
        secondary: "common.abilities.unique.stonegolemfist.shockwave",
        abilities: [
            (None, "common.abilities.unique.stonegolemfist.spin"),
        ],
    ),
    Unique(BeastClaws): (
        primary: "common.abilities.unique.beastclaws.basic",
        secondary: "common.abilities.unique.beastclaws.basic",
        abilities: [],
    ),
    Unique(WendigoMagic): (
        primary: "common.abilities.unique.wendigomagic.frostbomb",
        secondary: "common.abilities.unique.wendigomagic.singlestrike",
        abilities: [],
    ),
    Unique(TidalClaws): (
        primary: "common.abilities.staff.flamethrower",
        secondary: "common.abilities.unique.wendigomagic.singlestrike",
        abilities: [],
    ),
    Unique(QuadMedQuick): (
        primary: "common.abilities.unique.quadmedquick.triplestrike",
        secondary: "common.abilities.unique.quadmedquick.dash",
        abilities: [],
    ),
    Unique(QuadMedJump): (
        primary: "common.abilities.unique.quadmedjump.leap",
        secondary: "common.abilities.unique.quadmedjump.doublestrike",
        abilities: [
            (None, "common.abilities.unique.quadmedjump.quickleap"),
        ],
    ),
    Unique(QuadMedCharge): (
        primary: "common.abilities.unique.quadmedcharge.doublestrike",
        secondary: "common.abilities.unique.quadmedcharge.dash",
        abilities: [],
    ),
    Unique(QuadMedHoof): (
        primary: "common.abilities.unique.quadmedhoof.basic",
        secondary: "common.abilities.unique.quadmedhoof.basic",
        abilities: [],
    ),
    Unique(QuadMedBasic): (
        primary: "common.abilities.unique.quadmedbasic.singlestrike",
        secondary: "common.abilities.unique.quadmedbasic.triplestrike",
        abilities: [],
    ),
    Unique(QuadLowRanged): (
        primary: "common.abilities.unique.quadlowranged.singlestrike",
        secondary: "common.abilities.unique.quadlowranged.firebomb",
        abilities: [],
    ),
    Unique(QuadLowBreathe): (
        primary: "common.abilities.unique.quadlowbreathe.flamethrower",
        secondary: "common.abilities.unique.quadlowbreathe.triplestrike",
        abilities: [
            (None, "common.abilities.unique.quadlowbreathe.dash"),
        ],
    ),
    Unique(QuadLowTail): (
        primary: "common.abilities.unique.quadlowtail.charged",
        secondary: "common.abilities.unique.quadlowtail.triplestrike",
        abilities: [],
    ),
    Unique(QuadLowQuick): (
        primary: "common.abilities.unique.quadlowquick.dash",
        secondary: "common.abilities.unique.quadlowquick.quadstrike",
        abilities: [],
    ),
    Unique(QuadLowBasic): (
        primary: "common.abilities.unique.quadlowbasic.triplestrike",
        secondary: "common.abilities.unique.quadlowbasic.singlestrike",
        abilities: [],
    ),
    Unique(QuadLowBeam): (
        primary: "common.abilities.unique.quadlowbeam.healingbeam",
        secondary: "common.abilities.unique.quadlowbreathe.triplestrike",
        abilities: [
    (None, "common.abilities.unique.quadlowbreathe.dash"),
        ],
    ),
    Unique(QuadSmallBasic): (
        primary: "common.abilities.unique.quadsmallbasic.singlestrike",
        secondary: "common.abilities.unique.quadsmallbasic.singlestrike",
        abilities: [],
    ),
    Unique(TheropodBasic): (
        primary: "common.abilities.unique.theropodbasic.triplestrike",
        secondary: "common.abilities.unique.theropodbasic.triplestrike",
        abilities: [],
    ),
    Unique(TheropodBird): (
        primary: "common.abilities.unique.theropodbird.triplestrike",
        secondary: "common.abilities.unique.theropodbird.triplestrike",
        abilities: [],
    ),
    Unique(TheropodCharge): (
        primary: "common.abilities.unique.theropodbird.triplestrike",
        secondary: "common.abilities.unique.theropodbasic.dash",
        abilities: [],
    ),
    Unique(ObjectTurret): (
        primary: "common.abilities.unique.turret.arrows",
        secondary: "common.abilities.unique.turret.arrows",
        abilities: [],
    ),
    Debug: (
        primary: "common.abilities.debug.forwardboost",
        secondary: "common.abilities.debug.upboost",
        abilities: [
            (None, "common.abilities.debug.possess"),
        ],
    ),
    Farming: (
        primary: "common.abilities.farming.basic",
        secondary: "common.abilities.farming.basic",
        abilities: [],
    ),
    Empty: (
        primary: "common.abilities.empty.basic",
        secondary: "common.abilities.empty.basic",
        abilities: [],
    ),
})
