However, that is not to say Lucina is a character without fault; her air attributes, while having some benefits in juggling and recovery, give her problems in disadvantage and sometimes in neutral. Lucina's low gravity and max fall speed give opponents plenty of time to hit her while she is trying to land onstage after being hit upwards, and her poor airspeed further telegraphs her landings. This also means she cannot use jumps to escape pressure or the ledge as freely as other characters. In neutral, the floatiness can make it easier for her jumps and aerials to be punished, and her lack of airspeed can make it difficult to overshoot her attacks to deal with evasive opponents. Additionally, although her damage per hit is good, she has few combos past very low percents and this is exacerbated by Rage. Most of Lucina's KOing attacks have high base knockback but lower knockback growth than would be expected, meaning she can struggle to kill midstage and relies more on edgeguards and ledgetraps for KOs than other characters. This further cements Lucina's gameplan of holding stage control and keeping her opponents in the corner.
Lucina is a well-rounded sword character who can excel at both rush down and zoning depending on the match-up. | |
Pros | Cons |
|
|
Normal Moves
Jab
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaJab1_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaJab2_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaJab1_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaJab2_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Tied with Up B for Lucina's fastest attack, this is a standard get-off-me tool that is generally outclassed by Lucina's tilts. While unsafe and low reward, it has a niche for quickly punishing responses out of shield such as short hops or some slow attacks. If the first hit hits shield, the second can be delayed as a mix up, though this is quite unsafe.
Jab 1
- Can be used to jab lock most characters
Jab 2
- Can be used to check if the opponent will try to drop shield or do a defensive option after jab 1
Forward Tilt
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFTilt_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFTilt_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Virtually uncontested as a grounded anti-air in Ultimate, Lucina's FTilt allows her to easily punish jump-ins, especially short hops. The move also has great utility as a whiff punisher when combined with her great dash speed, and even a burst option when pivot cancelled; indeed pivot cancel FTilt will generally replace her dash attack as her go-to burst option. At low percents, when the move does not send into tumble, it is quite low reward beyond its high base damage, though it can set up a mix up where you can cover the opponent's defensive option with dash up shield or a short hop. In shield pressure it can be used to stuff jumps or slow attacks out of shield. It is quite useful in ledgetrapping, as its long range and active frames make it ideal for covering neutral get up. At high percents, it can even be a decent late kill option near the ledge.
Though this is a versatile tool that excels in many aspects, it has relatively high endlag, and care must be taken to avoid hitting shield with it versus characters with high range out of shield options such Shulk, Chrom, and Lucina herself.Up Tilt
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUTilt_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUTilt_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Another strong anti-air in Lucina's arsenal, though this one is generally more limited to advantage state as it only hits directly above her, and most opponents will approach with jumps diagonally in neutral. It is however very effective in juggling situations, being able to combo into itself or up air to rack up high damage and keep the juggle going.
It should be noted that use of this move to catch a landing does require a bit of a read on the opponent's drift and timing, so smart players may double jump or directional airdodge away at the last second and Lucina will be unable to punish because of the relatively high endlag; if you have time to set up a falling up air instead, that may be the better option. It is also more difficult to time and generally not as effective versus characters with high fall speed that also have aerial attacks that hit below them, such as Fox or Wolf.Down Tilt
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDTilt_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDTilt_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Dash Attack
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDashAttack_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDashAttack_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Forward Smash
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFSmash_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFSmash_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Up Smash
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUSmash_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUSmash_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Down Smash
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDSmash_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDSmash_1' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDSmash_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDSmash_1' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Aerials
Neutral Aerial
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaNAir_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaNAir_1' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaNAir_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaNAir_1' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Forward Aerial
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFAir_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFAir_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Back Aerial
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaBAir_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaBAir_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Up Aerial
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUAir_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUAir_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Down Aerial
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDAir_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDAir_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Specials
Shield Breaker
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaShieldBreaker_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaShieldBreaker_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Dolphin Slash
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDolphinSlashG_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDolphinSlashA_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDolphinSlashG_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDolphinSlashA_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Counter
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaCounterCatch_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaCounterAttack_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaCounterCatch_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaCounterAttack_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Grabs & Throws
Grabs & Pummel
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaGrab_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDashGrab_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaPivotGrab_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaPummel_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaGrab_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDashGrab_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaPivotGrab_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaPummel_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Forward Throw
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFThrow_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaFThrow_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Back Throw
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaBThrow_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaBThrow_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Up Throw
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUThrow_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaUThrow_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Down Throw
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDThrow_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaDThrow_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Misc Attacks
Ledge Attack
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaLedgeAttack_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaLedgeAttack_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Getup Attack
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaGetupAttack_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaGetupAttack_1' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaGetupAttack_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaGetupAttack_1' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.- Placeholder
Trip Attack
Function: CargoSQLQuery::run Query: SELECT `images__full` AS `images` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaTripAttack_0' ORDER BY `cargo__SSBU_MoveData`.`images__full` LIMIT 100
.Function: CargoSQLQuery::run Query: SELECT `hitboxes__full` AS `hitboxes` FROM `cargo__SSBU_MoveData` WHERE moveId = 'LucinaTripAttack_0' ORDER BY `cargo__SSBU_MoveData`.`hitboxes__full` LIMIT 100
.To edit frame data, edit values in SSBU/Lucina/Data. |