// 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"),
        ],
    ),
    Staff: (
        primary: "common.abilities.staff.firebomb",
        secondary: "common.abilities.staff.flamethrower",
        abilities: [
            (Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"),
        ],
    ),
    Sceptre: (
        primary: "common.abilities.sceptre.healingbeam",
        secondary: "common.abilities.sceptre.healingbomb",
        abilities: [],
    ),
    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.basic",
        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(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(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: [],
    ),
    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: [],
    ),
})
