User:Moxian/Sandbox: Difference between revisions

From Dustloop Wiki
No edit summary
No edit summary
Line 2: Line 2:
{{#lst:{{BASEPAGENAME}}/Data|Links}}
{{#lst:{{BASEPAGENAME}}/Data|Links}}


<div style="float:left; margin-right:25px;">
{{TOC limit|4}}
</div>
{{Combo Notation
| game=GGST
}}
== External Resources ==
[https://docs.google.com/document/d/1_3oU1wZ3ezNVxbRq9OgmgidFXsotOWOH9qHyUIQ7UFQ/edit# Combo Doc]
[https://youtu.be/JEa-2CNmk9Q Patch 1.1 Combo Video]
==Combo List==
*All damage values are damage dealt to Ky.
<!--Please test or re-test combo damage against Ky, as he has a 1.00 defense mod while Sol's is 0.98.-->
* Damage values listed for combos with interchangeable combo parts assume the highest damage variation unless otherwise stated.
* Damage is listed as follows: Dmg (50%T Dmg) [100%T Dmg] based on Giovanna's Tension at the start of the combo.
* See the [[GGST/Giovanna/Combos#Combo_Theory|Combo Theory]] section for information regarding 5K juggle enders and OTG/oki information.


===Beginner Combos===
===Beginner Combos===
Line 26: Line 9:
|+Beginner Combos
|+Beginner Combos
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = (66) {{clr|P|5P}}/{{clr|P|2P}}/{{clr|K|5K}}/{{clr|K|2K}} > {{clr|P|6P}} (> {{clr|K|214K}})
|combo = (66) {{clr|P|5P}}/{{clr|P|2P}}/{{clr|K|5K}}/{{clr|K|2K}} > {{clr|P|6P}} (> {{clr|K|214K}})
|position = Anywhere
|position = Anywhere
Line 41: Line 24:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo =  {{clr|P|6P}}/{{clr|K|5K}}/{{clr|K|2K}}/{{clr|H|5H}}/{{clr|D|2D}} > {{clr|K|214K}}
|combo =  {{clr|P|6P}}/{{clr|K|5K}}/{{clr|K|2K}}/{{clr|H|5H}}/{{clr|D|2D}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 54: Line 37:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > dl {{clr|S|f.S}} / {{clr|S|2S}} > {{clr|H|5H}} > {{clr|K|214K}}
|combo = {{clr|S|c.S}} > dl {{clr|S|f.S}} / {{clr|S|2S}} > {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 67: Line 50:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, {{clr|K|5K}} > {{clr|K|214K}}, OTG
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, {{clr|K|5K}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 80: Line 63:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo =  {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, {{clr|S|c.S}} > {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|combo =  {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, {{clr|S|c.S}} > {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|position = Corner
|position = Corner
Line 93: Line 76:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|f.S}} / {{clr|S|2S}} > {{clr|H|5H}} > {{clr|K|214K}}
|combo = {{clr|S|f.S}} / {{clr|S|2S}} > {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 106: Line 89:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|5[D]}}8 {{clr|H|j.H}} > {{clr|S|j.S}} > jc > {{clr|S|j.S}} > {{clr|H|j.HH}}
|combo = {{clr|D|5[D]}}8 {{clr|H|j.H}} > {{clr|S|j.S}} > jc > {{clr|S|j.S}} > {{clr|H|j.HH}}
|position = Anywhere  
|position = Anywhere  
Line 126: Line 109:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = (66) {{clr|P|5P}} > {{clr|P|6P}} (> {{clr|K|214K}})
|combo = (66) {{clr|P|5P}} > {{clr|P|6P}} (> {{clr|K|214K}})
|position = Anywhere
|position = Anywhere
Line 140: Line 123:
}}  
}}  
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|P|5P}}/{{clr|P|2P}} > {{clr|P|5P}} > {{clr|S|623S}}
|combo = {{clr|P|5P}}/{{clr|P|2P}} > {{clr|P|5P}} > {{clr|S|623S}}
|position = Anywhere
|position = Anywhere
Line 152: Line 135:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|P|6P}} (AA) > {{clr|K|214K}}
|combo = {{clr|P|6P}} (AA) > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 163: Line 146:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|K|5K}}/{{clr|K|2K}} > {{clr|K|214K}}
|combo = {{clr|K|5K}}/{{clr|K|2K}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 174: Line 157:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = (66) {{clr|K|5K}}/{{clr|K|2K}} > {{clr|P|6P}} > {{clr|K|214K}}, OTG
|combo = (66) {{clr|K|5K}}/{{clr|K|2K}} > {{clr|P|6P}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 189: Line 172:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > {{clr|S|f.S}}/{{clr|H|5H}} > {{clr|K|214K}}, OTG
|combo = {{clr|S|c.S}} > {{clr|S|f.S}}/{{clr|H|5H}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 201: Line 184:
}}  
}}  
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > {{clr|S|2S}} > {{clr|H|2H}} > {{clr|K|214K}}, OTG
|combo = {{clr|S|c.S}} > {{clr|S|2S}} > {{clr|H|2H}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 211: Line 194:
}}  
}}  
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > dl.{{clr|S|f.S(3)}} > {{clr|H|5H}} > {{clr|K|214K}}
|combo = {{clr|S|c.S}} > dl.{{clr|S|f.S(3)}} > {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 223: Line 206:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, (66) {{clr|K|5K}} > {{clr|K|214K}}, OTG
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, (66) {{clr|K|5K}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 237: Line 220:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}} , 66 {{clr|K|5K}} > {{clr|H|6HH}} > dl. {{clr|H|H}}
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}} , 66 {{clr|K|5K}} > {{clr|H|6HH}} > dl. {{clr|H|H}}
|position = Anywhere
|position = Anywhere
Line 249: Line 232:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = 66 {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, 66 {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|K|5K}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|combo = 66 {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, 66 {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|K|5K}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|position = Midscreen
|position = Midscreen
Line 260: Line 243:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = 66 {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, microwalk > {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, OTG
|combo = 66 {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, microwalk > {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 270: Line 253:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|S|c.S}} > {{clr|D|5[D]}}, {{clr|K|5K}} > {{clr|H|6HHH}}
|combo = CH {{clr|S|c.S}} > {{clr|D|5[D]}}, {{clr|K|5K}} > {{clr|H|6HHH}}
|position = Anywhere
|position = Anywhere
Line 283: Line 266:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH  {{clr|S|c.S}} > {{clr|D|5[D]}}, 66 {{clr|K|5K}} > {{clr|K|214K}} > {{clr|K|5K}} > {{clr|K|214K}}, OTG? <!-- i can't land the otg in practice other than via f.s (which is lol), but i'm kinda not great  at microdashing, so might be a skill issue.. -->
|combo = CH  {{clr|S|c.S}} > {{clr|D|5[D]}}, 66 {{clr|K|5K}} > {{clr|K|214K}} > {{clr|K|5K}} > {{clr|K|214K}}, OTG? <!-- i can't land the otg in practice other than via f.s (which is lol), but i'm kinda not great  at microdashing, so might be a skill issue.. -->
|position = Anywhere
|position = Anywhere
Line 296: Line 279:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} CH > {{clr|D|5[D]}}, microwalk > {{clr|S|c.S}} > {{clr|K|214K}} > {{clr|K|5K}} > {{clr|H|6HHH}}
|combo = {{clr|S|c.S}} CH > {{clr|D|5[D]}}, microwalk > {{clr|S|c.S}} > {{clr|K|214K}} > {{clr|K|5K}} > {{clr|H|6HHH}}
|position = Anywhere
|position = Anywhere
Line 308: Line 291:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} CH > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > adc > {{clr|S|j.s}} > {{clr|H|j.H}} > {{clr|H|5H}} > {{clr|K|214K}} > {{clr|D|5[D]}}
|combo = {{clr|S|c.S}} CH > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > adc > {{clr|S|j.s}} > {{clr|H|j.H}} > {{clr|H|5H}} > {{clr|K|214K}} > {{clr|D|5[D]}}
|position = Midscreen
|position = Midscreen
Line 320: Line 303:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} CH > jc > {{clr|H|j.H}} > AD > {{clr|D|j.D}} > 66 > {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|H|j.H}} > {{clr|S|c.S}} > {{clr|D|5[D]}}
|combo = {{clr|S|c.S}} CH > jc > {{clr|H|j.H}} > AD > {{clr|D|j.D}} > 66 > {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|H|j.H}} > {{clr|S|c.S}} > {{clr|D|5[D]}}
|position = Midscreen
|position = Midscreen
Line 332: Line 315:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}}~66 > BRC > {{clr|S|623S}} > dash > {{clr|K|5K}} > jc > dl {{clr|H|j.H}} > dl {{clr|D|j.D}}, (66 {{clr|K|5K}} > {{clr|K|214K}}, OTG)/({{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}})
|combo = {{clr|S|c.S}}~66 > BRC > {{clr|S|623S}} > dash > {{clr|K|5K}} > jc > dl {{clr|H|j.H}} > dl {{clr|D|j.D}}, (66 {{clr|K|5K}} > {{clr|K|214K}}, OTG)/({{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}})
|position = Anywhere / Midscreen-Corner
|position = Anywhere / Midscreen-Corner
Line 341: Line 324:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, {{clr|S|c.S}} > {{clr|S|f.S(3)}} > {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, {{clr|S|c.S}} > {{clr|S|f.S(3)}} > {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|position = Corner
|position = Corner
Line 353: Line 336:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, ({{clr|K|5K}}), {{clr|S|c.S}} > {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|combo = {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, ({{clr|K|5K}}), {{clr|S|c.S}} > {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|position = Corner
|position = Corner
Line 366: Line 349:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|c.S}} CH > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|S|c.S}} > {{clr|H|j.H}} > {{clr|D|j.D}} > adc > {{clr|H|j.H}} > {{clr|D|5[D]}}
|combo = {{clr|S|c.S}} CH > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|S|c.S}} > {{clr|H|j.H}} > {{clr|D|j.D}} > adc > {{clr|H|j.H}} > {{clr|D|5[D]}}
|position = Corner
|position = Corner
Line 383: Line 366:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|S|f.S}}(3)/{{clr|S|2S}}(2) > {{clr|H|5H}} > {{clr|K|214K}}
|combo = {{clr|S|f.S}}(3)/{{clr|S|2S}}(2) > {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 395: Line 378:
}}  
}}  
|-  
|-  
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|S|f.S(1)}} / CH {{clr|S|2S(1)}} > {{clr|H|5H}} > {{clr|K|236K}} , {{clr|K|5K}} > {{clr|K|214K}}
|combo = CH {{clr|S|f.S(1)}} / CH {{clr|S|2S(1)}} > {{clr|H|5H}} > {{clr|K|236K}} , {{clr|K|5K}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 411: Line 394:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|H|5H}} > {{clr|K|214K}}
|combo = {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 423: Line 406:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|H|5H}} > {{clr|H|632146H}}
|combo = {{clr|H|5H}} > {{clr|H|632146H}}
|position = Anywhere
|position = Anywhere
Line 434: Line 417:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|H|5H}} CH > {{clr|K|236K}}, {{clr|S|f.S}} > {{clr|H|5H}} > {{clr|K|214K}}
|combo = {{clr|H|5H}} CH > {{clr|K|236K}}, {{clr|S|f.S}} > {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 445: Line 428:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|H|6HH}} > {{clr|H|j.236236H}}
|combo = {{clr|H|6HH}} > {{clr|H|j.236236H}}
|position = Anywhere
|position = Anywhere
Line 455: Line 438:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|H|6H}} > {{clr|S|623S}} 66PRC, {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, {{clr|S|c.S}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|combo = {{clr|H|6H}} > {{clr|S|623S}} 66PRC, {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|236K}}, {{clr|S|c.S}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|position = Midscreen to Corner
|position = Midscreen to Corner
Line 471: Line 454:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|S|623S}} > 66 > {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|S|c.S}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > AD > {{clr|H|j.H}}
|combo = CH {{clr|S|623S}} > 66 > {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|S|c.S}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > AD > {{clr|H|j.H}}
|position = Corner
|position = Corner
Line 485: Line 468:
}}  
}}  
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|S|623S}} > 66 > {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|K|5K}} > {{clr|D|5[D]}}
|combo = CH {{clr|S|623S}} > 66 > {{clr|K|5K}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}} > {{clr|K|5K}} > {{clr|D|5[D]}}
|position = Midscreen
|position = Midscreen
Line 502: Line 485:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|K|214K}} , (66) {{clr|K|5K}} > {{clr|K|214K}} , OTG
|combo = CH {{clr|K|214K}} , (66) {{clr|K|5K}} > {{clr|K|214K}} , OTG
|position = Anywhere
|position = Anywhere
Line 518: Line 501:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|K|214K}} , 66 {{clr|K|5K}} > {{clr|H|6HHH}}
|combo = CH {{clr|K|214K}} , 66 {{clr|K|5K}} > {{clr|H|6HHH}}
|position = Anywhere
|position = Anywhere
Line 537: Line 520:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|K|236K}} , {{clr|K|5K}}/{{clr|K|2K}} > {{clr|K|214K}}
|combo = {{clr|K|236K}} , {{clr|K|5K}}/{{clr|K|2K}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 553: Line 536:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|K|236K}} , 66 {{clr|P|5P}} > {{clr|P|6P}}
|combo = {{clr|K|236K}} , 66 {{clr|P|5P}} > {{clr|P|6P}}
|position = Anywhere
|position = Anywhere
Line 567: Line 550:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|K|236K}} , {{clr|H|6HHH}}
|combo = CH {{clr|K|236K}} , {{clr|H|6HHH}}
|position = Anywhere
|position = Anywhere
Line 581: Line 564:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|K|236K}} , {{clr|S|2S(2)}} > {{clr|H|5H}} > {{clr|K|214K}}
|combo = CH {{clr|K|236K}} , {{clr|S|2S(2)}} > {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 595: Line 578:
}}  
}}  
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = CH {{clr|K|236K}} , {{clr|S|c.S}} > dl. {{clr|S|2S(2)}} > {{clr|H|5H}} > {{clr|K|214K}}
|combo = CH {{clr|K|236K}} , {{clr|S|c.S}} > dl. {{clr|S|2S(2)}} > {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 613: Line 596:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|2D}} > {{clr|K|214K}}, OTG
|combo = {{clr|D|2D}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 625: Line 608:
}}  
}}  
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = (close) {{clr|D|2D}} > {{clr|K|214K}}, {{clr|K|5K}} > {{clr|K|214K}}, OTG
|combo = (close) {{clr|D|2D}} > {{clr|K|214K}}, {{clr|K|5K}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 636: Line 619:
}}  
}}  
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|2D}} CH > {{clr|K|214K}}, 66 {{clr|K|5K}}, {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, OTG
|combo = {{clr|D|2D}} CH > {{clr|K|214K}}, 66 {{clr|K|5K}}, {{clr|S|c.S}} > {{clr|H|2H}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 647: Line 630:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|5[D]}}8, {{clr|H|j.H}} > jc > {{clr|S|j.S}} > {{clr|H|j.HH}}
|combo = {{clr|D|5[D]}}8, {{clr|H|j.H}} > jc > {{clr|S|j.S}} > {{clr|H|j.HH}}
|position = Anywhere
|position = Anywhere
Line 658: Line 641:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|5[D]}}8, {{clr|H|j.H}} > {{clr|S|j.S}} > jc > {{clr|H|j.H}} > {{clr|S|j.S}} > {{clr|H|j.H}} > {{clr|S|j.S}} > jc > {{clr|H|j.HH}}
|combo = {{clr|D|5[D]}}8, {{clr|H|j.H}} > {{clr|S|j.S}} > jc > {{clr|H|j.H}} > {{clr|S|j.S}} > {{clr|H|j.H}} > {{clr|S|j.S}} > jc > {{clr|H|j.HH}}
|position = Anywhere
|position = Anywhere
Line 669: Line 652:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|5D}} > 66RRC, {{clr|S|c.S}} > jc > dl {{clr|H|j.H}} > dl {{clr|D|j.D}}, 66 {{clr|K|5K}} > {{clr|K|214K}}, OTG
|combo = {{clr|D|5D}} > 66RRC, {{clr|S|c.S}} > jc > dl {{clr|H|j.H}} > dl {{clr|D|j.D}}, 66 {{clr|K|5K}} > {{clr|K|214K}}, OTG
|position = Anywhere
|position = Anywhere
Line 681: Line 664:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|5D}} > 66RRC, {{clr|S|c.S}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}}, {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|combo = {{clr|D|5D}} > 66RRC, {{clr|S|c.S}} > jc > {{clr|H|j.H}} > {{clr|D|j.D}}, {{clr|H|5H}} > {{clr|K|214K}} WS, {{clr|D|5[D]}}
|position = Corner
|position = Corner
Line 697: Line 680:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|D|6D}} > RRC, {{clr|D|j.D}} > AD > {{clr|D|j.D}}, {{clr|H|5H}} > {{clr|K|214K}} WS {{clr|D|5[D]}}
|combo = {{clr|D|6D}} > RRC, {{clr|D|j.D}} > AD > {{clr|D|j.D}}, {{clr|H|5H}} > {{clr|K|214K}} WS {{clr|D|5[D]}}
|position = Midscreen/Corner
|position = Midscreen/Corner
Line 715: Line 698:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|H|j.H}}, {{clr|S|c.S}} > dl {{clr|H|5H}} > {{clr|K|214K}}
|combo = {{clr|H|j.H}}, {{clr|S|c.S}} > dl {{clr|H|5H}} > {{clr|K|214K}}
|position = Anywhere
|position = Anywhere
Line 727: Line 710:
}}
}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|K|j.K}} Cross-up > {{clr|S|j.214S}}, OTG
|combo = {{clr|K|j.K}} Cross-up > {{clr|S|j.214S}}, OTG
|position = Anywhere but Corner
|position = Anywhere but Corner
Line 742: Line 725:
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
{| class="wikitable sortable" border="1" style="min-width: 1000px; style="margin: 1em auto 1em auto;text-align: center"
|-
|-
{{GGST-ComboTableHeader}}
{{:User:Moxian/SandboxTemplate}}
|-
|-
{{GGST-ComboTableRow
{{:User:Moxian/SandboxTemplate2
|combo = {{clr|H|j.H}}, {{clr|D|j.D(1)}}, jc, {{clr|H|j.H}}, {{clr|D|j.D(2)}}
|combo = {{clr|H|j.H}}, {{clr|D|j.D(1)}}, jc, {{clr|H|j.H}}, {{clr|D|j.D(2)}}
|position = Anywhere
|position = Anywhere

Revision as of 00:01, 19 August 2022

 Giovanna

Moxian/Data


Beginner Combos

These routes are basic bread and butter combos for players looking to get started with Giovanna. They prioritize simplicity over damage, tension gain, or corner carry so feel free to modify them.

Beginner Combos
No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

Standard Combos

These routes are more complete versions of combos above, with additional routes and conversions for specific situations.

5P/2P/6P/5K/2K/j.K Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

c.S Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

f.S/2S Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p


5H/2H/6H Combos

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

623S (Sol Nascente) Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

214K (Sepultura) Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

236K (Trovão) Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

Dust Combos

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

Throw Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

Jump-in Starters

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p

Air-to-air Combos

No results
Damage GuardHow this attack can be blocked. StartupThe number of frames between inputting an attack and when the attack becomes active. Includes first active frame. ActiveThe number of frames for which a move has hitboxes. Occurs after Startup. RecoveryThe number of frames after a move's active frames during which the character cannot act assuming the move is not canceled. On-BlockThe difference between the attacker's recovery and the period that the opponent is in blockstun. This Frame Advantage value is based off the fact that the very first active frame touches the opponent. Invuln

Add a description to this move using the |description= field

Describe what the move is used for.

Explain the basics of why the initial purpose of the move is worth knowing or worth doing. Mention downsides that are important to know. If the move is particularly important it might have a spot on the stategy page—an important anti-air will likely be mentioned in the neutral section, or an important combo move will be mentioned in the combo theory.

local p = {}

local currentFrame = 0

local wikitext = "

"

function p.drawFrameData(frame)

 -- Startup is the first active frame. Sets to true if empty. Otherwise it's false.
 local startupIsFirstActive
 if frame.args['startupIsFirstActive'] == nil then
   startupIsFirstActive = true
 else
   startupIsFirstActive = false
 end
 
 -- Startup of move, substract 1 if startupIsFirstActive
 local startup = frame.args['startup']
 if tonumber(startup) ~= nil then
   if startupIsFirstActive and tonumber(startup) > 0 then
     startup = tonumber(startup) - 1
   end
 end
 
 -- Active of move
 local active = frame.args['active']
 -- Inactive of move
 local inactive = frame.args['inactive']
 -- Recovery of move
 local recovery = frame.args['recovery']
 -- Special Recovery of move
 local specialRecovery = frame.args['specialRecovery']
 -- How many frames into active frames the inactive period occurs
 local offset = frame.args['offset']
 -- Display projectile spawn bar after startup?
 local isProjectile = frame.args['isProjectile']
 
 drawFrame(startup,  "startup")
 if isProjectile ~= nil then
wikitext = wikitext .. "
"
 end
 -- Alternate way of inputting multihits
 if offset ~= nil then
   drawFrame(offset,   "active")
   drawFrame(inactive, "inactive")
   drawFrame(active-offset,   "active")
 else
   drawFrame(active,   "active")
 end
 
 local index = 2
 while tonumber(frame.args['active' .. index]) ~= nil or tonumber(frame.args['inactive' .. index]) ~= nil do
   drawFrame(frame.args['active' .. index], "active")
   drawFrame(frame.args['inactive' .. index], "inactive")
   index = index + 1
 end
 
 drawFrame(recovery, "recovery")
 drawFrame(specialRecovery, "specialRecovery")
wikitext = wikitext .. "

"

 return wikitext

end

function drawFrame(frames, frameType)

 if tonumber(frames) ~= nil then
   for i=1, tonumber(frames) do
     currentFrame = currentFrame + 1

wikitext = wikitext .. "

"

   end
 end

end

return p


Combo Theory

5K Juggle Enders

  • Any 214K as a combo ender can be substituted with 632146H for the increased damage. Midscreen you will get worse oki, but if this breaks the wall you will get the extra damage and wallbreak oki.
5K Juggle Enders
Combo Position Works on: Difficulty Video Notes
..., 66 5K > 214K, OTG Anywhere Everyone [1] Very Easy - Standard 5K juggle ender. Gives Giovanna a hard knockdown at the end of her extended juggles to do an OTG or start her offense with a conventional meaty.
..., 66 5K > 6HHH Anywhere Everyone [3] Medium Youtube Alternate 5K juggle ender. Gives Giovanna increased damage and corner carry at the cost of worse oki. Works anywhere if you delay the 6H followups.
..., 66 5K > 6H(H),214K Anywhere - [4] Hard - Standard 5K juggle ender with 6H extension. Gives Giovanna the damage benefits of the previous enders at the cost of being much tougher to execute. If substituting 214K with super, 6H > 632146H will be more damage and an easier link while 6HH > 632146H will be a harder link with slightly less damage, but greater carry.

OTG and Okizeme

Any combo ending in "OTG" means you are in range to hit the opponent off the ground with a button. From this she can dash up into an OTG 5K or c.S for a safe jump, OTG them with a different button, or wait for the opponents wakeup to hit them meaty. See Giovanna's Strategy Page for more information

Safe Jumps:

  • 66 c.S OTG > IAD j.H: Standard safe jump. Easier to time but loses to 7f reversals
  • 66 5K OTG > IAD j.H: 5K safe jump. Harder to connect due to 5K's limited vertical range, but beats 7f Reversals.

Common RC Routes

  • To extend your confirms into extra damage/corner carry, you may want to spend 50% meter and use the routes below. Note that these routes assume minimum scaling/wall damage, so the opponent may wallsplat before the points mentioned.
  • For RC confirms from high juggles such as 623S or c.S > 2H > 214K, PRC can be used instead of RRC, although there's little benefit to that.
Common RC Routes
Combo Position Works on: Difficulty Video Notes
... > 66RRC, dl 66 5K, c.S > 2H > 214K > OTG Anywhere Everyone [2] Easy - Standard midscreen RRC combo.
... > 88RRC, (land) dl j.D > AD > j.D > 5H > 214K WS, 5[D] Midscreen to Corner Everyone [2] Easy Youtube Midscreen to corner RRC confirm. Must reach corner by the second hit of AD > j.D.
... > 66RRC, dl 66 c.S > 2H > 236K, c.S > 5H WS, 5[D] Corner Everyone [2] Easy - Standard corner RRC combo.
... > RRC > 66 > [4] dl c.S > 2H > 236K, 66 5K, c.S > 5H > 214K WS, 5[D] Back to Corner Everyone [2] Easy Youtube Sideswap RC combo. If you're too close to the corner after 236K, walk back more. If you get f.S after 236K instead of c.S, walk back less. Video example wallsticks before 214K.

Navigation

 Giovanna

Moxian/Data