Averages up top:
Damage: 2499 (6248 kill point)
HP: 7022
Mario
6832 HP (97%)
Move 13
Dual Slinger: 2 hits of 485 damage (40% crit: 682), can target different opponents or the same opponent twice. 1128 avg damage. Range 27 m. With Jump Fire, damage is multiplied by 1.5 for 1692.
Hero Sight: For one enemy phase, any enemy moving within Mario's weapon range will be struck by an attack which deals 1.55x damage (1748 average). Can trigger up to twice, even against the same enemy if said enemy moves a lot. 1-turn cooldown (i.e. none).
Dash: 405 damage
Stomp: 405 damage, requires Team Jump, can be used up to 3 times on the same or different enemies.
Jump Fire: Requires Team Jump. Mario can use his attack command while in the middle of jumping, dealing 1.5x damage (as noted above). This still takes his attack action (and action point). If he attacks this way, his movement is not ended, and he can continue to move until the end of the turn.
Optimum player phase damage: 3312
-Including two successful Hero Sight shots: 6806
Without team jump: 1533
-Including two successful Hero Sight shots: 5029
Comments: Lives and dies by Hero Sight. Ranged attackers won't need to move to hit him, so it's useless against them, but it's a big push for his damage against foes who need to close to melee, potentially lett him one-round average before they hit him. He also really wants you to allow Team Jump.
Rabbid Peach
6146 HP (88%)
Move 13
Triple Troll: 3 hits of 244 damage (60% crit: 348), +40% damage on last hit. 1042 avg damage. Range 21 m (can raise to 27). Ignore partial cover.
Heal: 40% [44%] healing to self and all allies in range, 1.5x if target's HP is below 30%. 2-turn cooldown.
Dash: 405 damage (x3)
Healing Jump: Rabbid Peach heals self and nearby allies for 10% of max HP when she uses Team Jump
Healing Sponge: All healing effects are 1.1x on Rabbid Peach.
Can raise Healing Jump to 15% and Heal Sponge to 20% at the cost of damage (lower crit rate to 20%, lose bonus on 3rd hit of Triple Troll = 24% less damage)
Optimum player phase damage: 2257
-with a healing-focused setup: 2007
Comments: She can alternate healing 55% (or 77% if at low HP) and 11%. If she gives up damages these figures become effectively full and 18%. You need ~42% damage to her (~37% to average) to overwhelm the former, ~59% to her (~52% to average) overwhelm the latter. Very vulnerable to all forms of healer-busting, though (status, spiking damage, etc.), since her damage is only a low 3RKO, or a 4RKO if she optimizes her healing.
Rabbid Luigi
6832 HP (97%)
Move 17
Discruptor: 605 damage. (60% crit: 851). 752 avg damage. Range 15 m, can hit multiple targets, ignores partial cover.
Weaken: Inflicts weaken for one turn. -70% damage dealt and +30% damage received, affects all enemies within 23 m. 2-turn cooldown.
Dash: 405 (x2), inflicts Weaken with the same effects as above.
Optimum player phase damage: 1562
-against those vulnerable to Weaken: 2031 on odd-numbered turns, 1909 on even-numbered turns, average 1970
Comments: Rabbid Luigi isn't as annoying to face as in the first game, but he's still pretty annoying! Weaken reduces ALL damage dealt by 70%, so if Rabbid Luigi goes first he's a mega-tank. Losing quickdraws is terrible for him, though, since his damage is too low to win many slugfests if his opponent gets a good opening hit in. And like all low-offence, high-durability types, he's extremely vulnerable to status and healing.
Luigi
5460 HP (78%)
Move 17
Sharpshooter: 1625 damage (20% crit: 2565). Range 31 m (can buff to 37), -50% damage if enemy is within ~15 m, -25% damage if enemy is within ~23 m.
Steely Stare: For one enemy phase, any enemy moving within Luigi's weapon range will be struck by an attack which deals 1.2x damage (1950). Can trigger up to three times, even against the same enemy if said enemy moves a lot. Unlike Mario's, the reaction shot passes through obstacles. 2-turn cooldown.
Dash: 405
Note that Luigi needs team jump support to actually get to long range. If you ban team jump, his damage should be reduced by 25%.
An enemy charging Luigi will likely not take all three hits at long range damage; they'll close to medium range by the third certainly, maybe even the second. For simpliciy I'd say this just offsets the extra damage he might obtain from criticals.
Luigi can arguably get more dashes via team jump but it'll cost him damage/HP elsewhere and it's pretty hard to make good use of this compared to even other team-jump-related abilities if he wants to maintain his damage. IMO he's already using his team jump to just get to weapon range.
Optimum player phase damage: 2030
-Including three successful Steely Stare shots: 7880 (every other turn)
Without team jump: 1624
-Including two successful Hero Sight shots: 7474 (every other turn)
Comments: Luigi's pretty clearly better than Mario in-game due to range, ghost bullet, and more competition for techniques from sparks, so it's weird to see him looking mostly worse in the DL. His Steely Stare is better than Mario's, to the point that an intelligent enemy should just not move that turn. Some enemies may not have to move to hit him, though (albeit with his high range, he hopes you don't see it as too many; he sucks against such foes). But yeah, he's ultimately a 4RKOer who can keep his opponent from moving every other turn (which buys him time against slower opponents so they only get one attack off). Interesting at least! Spoiled by healers/buffers and anyone who can hit him at long range. Better than his form in the first game, almost surely.
Rabbid Mario
9226 HP (131%)
Move 19
The Dukes: 2060 damage (15% crit: 2923). Range 9 m, ignores/no damage to cover, hits all enemies in a wide cone. Rabbid Mario can continue to move after attacking.
Counter Blow: Counters attacks (not movement damage) for one turn. Can counter up to two attacks, range 23 m, counter is normal damage + 50% of damage received. 2-turn cooldown.
Dash: 405 (x2)
Optimum player phase damage: 2870
Can increase the range of Counter Blow and/or give it a third charge at a cost elsehwere in the build.
Comments: The HP average and kill point are kinda close so you can take his counter blow damage boost literally. So his gameplan is simple: reflect a whole bunch of damage and kill in one or two attacks of his own. Since his HP is high this is reasonably likely to work.
Peach
7518 HP (107%)
Move 17
Boom-brella: 1055 damage (5% crit: 1510). Range 21 m. -20% dmg if used at longer range (greater than ~10 m)
Team Barrier: Peach creates a barrier on herself and all allies in range. Blocks 4 hits this turn. 3-turn cooldown.
Dash: 405 damage (x2)
Optimum damage: 1865
Comments: Her damage isn't very good (4RKO), but at least she's effectively invincible one turn out of three? Yeah that's not going very far. The cast's worst dueller, probably one of her worst forms DL-wise.
Edge
6832 HP (97%)
Move 13
Flying Blade: Each hit beyond the first deals 5% more base damage. 2 hits of 325 damage (60% crit: 474 base). 850 avg damage. Range 25 m, ignore partial cover and hits enemies on a line, more hits against larger targets
Stormblade: For one enemy phase, any enemy moving within 7 mf of Edge will be trigger a 1-hit attack which deals 1.95x damage (809). Can trigger once (can be twice instead with sacrifices elsewhere), even against the same enemy if said enemy moves a lot. If triggered, hits ALL enemies in range, not just the triggering one. This reaction pierces obstacles. Edge reduces damage by 50% while the stance is in effect. 3-turn cooldown.
Dash: 405 damage (x4). Dash damage is raised by 20% of base (up to 60%) for each dash beyond the first, so effective multiplier is 5.2. [Edge's movement range increases by 3 m each time this is used, reaching a game-best 25 m, but this is just a cool in-game thing.]
Optimum player phase damage: 2956
-every third turn, against an enemy who triggers Stormblade once: 3765
Comments: Stormblade can be improved in a few ways but I don't think it's worth it since it would need range boosts to really merit any hype for actually getting off two attacks. Anyway 50% damage reduction on one turn gives her a nice boost in slugfests, which she'll usually try to win by her second attack. If she needs a third then she's giving opponents a lot of time and her damage reduction becomes less significant relatively.
Rabbid Rosalina
6832 HP (97%)
Move 15 (can buff to 17 at the cost of damage or Ennui duration)
Kaboomer: 15 hits of 112 damage, (80% crit: 155). 2196 avg damage. The earlier hits do less damage, the later hits do more. Range 21 m. Destroys cover with the first 1-4 shots or so if the enemy has any.
Ennui: Inflicts Ennui on all enemies within range for 2 turns, 11 m (can raise to 17 m at the cost of damage or Ennui duration), 4-turn cooldown.
Dash: 729 damage, inflicts ennui for 2 turns.
Notes: Ennui prevents the enemy from moving, acting, or reacting. It is lifted with time, or after taking damage. Note that enemies under the ennui status take 30% extra damage. And yes, Rabbid Rosalina can dash into an ennui'd enemy and reapply Ennui, so anyone vulnerable to dash gets completely locked down by this.
Optimum player phase damage: 2925
-With Ennui's damage boost factored in: 3802 on turns Ennui proper is used, 3584 otherwise, 3-turn average 3657
Comments: Be immune to ennui or die. In-game very little immunes ennui, so I have a hard time not respecting this in the DL. If it's blocked her damage is quite solid (and helps secure her status as game MVP even if "giant AOE 2-turn stop that works on everything" wasn't enough) but she surely won't win many fights at her ranking.
Bowser
7518 HP (107%)
Move 13
Bowzooka: 690 damage (20% crit: 1533). Hits an AOE and shatters cover in range. Pretty sure this ignores partial cover even though the game doesn't say so.
Rabbid Mechakoopas: Summon 5 mechakoopas. Each immediately moves towards the nearest enemy (and will move again at the start of subsequent playe phases) and will explode upon reaching it, doing 389 damage each to a cover-ignoring AOE. If destroyed by enemy attacks first (they have 1 HP), also explodes. Any PC can pick up a mechakoopa and move it to a different location if desired. 2-turn cooldown.
Dash: 405 damage
Team Jump Thump: 650 damage to an AOE centred around Bowser's landing spot. Requiers team jump.
Notes: Rabbid Mechakoopas can be enhanced to inflict burn. Burn causes the enemy to run around madly taking extra damage, and makes the entire attack fire-elemental. Because the "run around madly" can take them out of range of further mechakoopa blasts, and the possible disadvantages of fire elemental, I have not considered it by default.
Optimum player phase damage: 3690 on mechakoopa turns, 1745 otherwise, 2718 average.
-without team jump: 3040/1095, 2068 average
Comments: Almost every character in the first game did more damage on certain turns, in this game it's really only Bowser, outside of reactions. Mechakoopas in-game are very cool for the way they can be used to manipulate AI, here they're just a respectable damage push. In practice he's a bit above average in both damage and durability.
Averages
Damage
Rabbid Rosalina with Ennui factored in 3657
1. Mario 3312
2. Edge 2956
3. Rabbid Rosalina 2925
4. Rabbid Mario 2870
5. Bowser 2718
6. Rabbid Peach 2257
Bowser without Team Jump 2068
7. Luigi 2030
Rabbid Luigi with Weaken factored in 1970
8. Peach 1865
Luigi without Team Jump 1624
9. Rabbid Luigi 1562
Mario without Team Jump 1533
AVERAGE / 2.5x KILL POINT: 2499 / 6248
with debuffs factored in: 2626 / 6565
with no Team Jump: 2184 / 5460
with debuffs and no Team Jump: 2311 / 5778
In theory I should also add damage comparisons for when move damage is blocked (affects everyone, but Mario and Edge suffer the most), since that does come up in-game, but lazy.
HP
1. Rabbid Mario 9226
2t. Peach, Bowser 7518
4t. Mario, Rabbid Luigi, Edge, Rabbid Rosalina 6832
8. Rabbid Peach 6146
9. Luigi 5460
AVERAGE: 7022