CanvasK

Joined December 15, 2019
10,280 bytes added ,  2 months ago
m
→‎To-do: These guys here for now
(Something I've been coding up. Thinking of doing the same with other stats)
m (→‎To-do: These guys here for now)
 
(74 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A man with too much time on his hands and an unusual obsession with [[Spirit]]s. I know next to nothing about competitive Smash, so don't expect any edits or answers regarding it. Feel free to use information on this page and my sub-pages for the mainspace. If you use the information for non-wiki uses give credit, I guess (I doubt anyone else has worked out this boring and tedious info (Though I don't actively track usage so ¯\_(ツ)_/¯)).
A man with too much time on his hands and an unusual obsession with consistency and testing.


=To-do=
I know next to nothing about competitive Smash, so don't expect any edits or answers regarding it. Feel free to use information on this page and my sub-pages for the mainspace.
 
Apparently I have ownership of the [[User:CanvasK/Project Clean-Up|clean-up project]]. I recommend everyone look through it to get an idea of the scope and to help clean it up.
 
==To-do==
*Finish hitlag testing
*Some gif lists have inconsistent names, let's fix that
*Clean up [[:Category:Animated images]]
 
*Attempt to find HRC thresholds for different angles, if they exist
*Find when WoL music changes
*Update spirit effect translations
*Spirit Battle condition translations, at least for Japanese
*Keep an eye on Spirit Battles. Someones gotta
*Keep an eye on Spirit Battles. Someones gotta
**Look into making a python script for collecting (WIP thanks to SnorlaxMonster's help)
**Python script is functional, still quite a bit of manual work but at least it doesn't take 3 days. Thanks to SnorlaxMonster for getting me on track
 
 
:These are only here so they don't appear in the Unused Files list. This will be removed when they get a proper home
{{SRHead|Bowser|s=20px}}{{SRHead|Young Link|s=20px}}{{SRHead|Yoshi|s=20px}}{{SRHead|Wolf|s=20px}}{{SRHead|Wario|s=20px}}{{SRHead|Super Sonic|s=20px}}{{SRHead|Sonic|s=20px}}{{SRHead|Slippy|s=20px}}{{SRHead|Sheik|s=20px}}{{SRHead|Samus|s=20px}}{{SRHead|Polygon|s=20px}}{{SRHead|Pikachu|s=20px}}{{SRHead|Peppy|s=20px}}{{SRHead|Ness|s=20px}}{{SRHead|Mewtwo|s=20px}}{{SRHead|Metal Mario|s=20px}}{{SRHead|Marth|s=20px}}{{SRHead|Mario|s=20px}}{{SRHead|Marina|s=20px}}{{SRHead|Mad Piano|s=20px}}{{SRHead|Luigi|s=20px}}{{SRHead|Lucas|s=20px}}{{SRHead|Link|s=20px}}{{SRHead|Kirby|s=20px}}{{SRHead|King Dedede|s=20px}}{{SRHead|Jigglypuff|s=20px}}{{SRHead|Goemon|s=20px}}{{SRHead|Giga Bowser|s=20px}}{{SRHead|Ganondorf|s=20px}}{{SRHead|Fox|s=20px}}{{SRHead|Falco|s=20px}}{{SRHead|Dr. Mario|s=20px}}{{SRHead|Donkey Kong|s=20px}}{{SRHead|Dark Samus|s=20px}}{{SRHead|Conker|s=20px}}{{SRHead|Captain Falcon|s=20px}}{{SRHead|Ebisumaru|s=20px}}{{SRHead|Metal Luigi|s=20px}}{{SRHead|Dragon King|s=20px}}{{SRHead|Banjo & Kazooie|s=20px}}
 
 
===GIFs===
*A lot of attacks. May just scorched earth it since almost all of them are "misleading".
<!--===Effects===
<!--===Effects===
There's at least 50. Where to even start?
There's at least 50. Where to even start?
===Types===
===Types===
Done-->
Done-->
==Pages to keep updated with DLC==
 
===Pages to keep updated with DLC===
*[[Spirit]], total count
*[[Spirit]], total count
*[[List of spirits (complete_list)]], new entries
*[[List of spirits (complete list)]], new entries
*[[List of spirits (disambiguation)]], update counts (to-do: adjust spreadsheet to speed up and minimize mistakes)
*[[List of spirits (disambiguation)]], update counts
*[[Primary spirit]], new entries when applicable
*[[Primary spirit]], new entries when applicable
*[[Support spirit]], new entries when applicable
*[[Support spirit]], new entries when applicable
Line 20: Line 41:
*[[Rematch]], max score
*[[Rematch]], max score


=Quick links=
==Quick links==
{| style="border-spacing: 20px 0px;"
{| style="border-spacing: 20px 0px;"
|[[/Facilities|Facility test data]]
|[[/Facilities|Facility test data]]
Line 30: Line 51:
|[[User:CanvasK/SpiritBattleTable|SpiritBattleTable]]-->
|[[User:CanvasK/SpiritBattleTable|SpiritBattleTable]]-->
|}
|}
==How to GIF==
There's a lot of sites that make GIFs, however most of them either lack control, add watermarks, or both; ezgif.com has decent control and no watermarks and I recommend it if you don't want to go through with the process below. There are two things that will be needed to make your own GIFs without websites or expensive editing programs: [https://www.ffmpeg.org/ FFmpeg] and [https://www.lcdf.org/gifsicle/ Gifsicle] (optional). Both of these programs are free command-line tools. Below is a command that will work for most situations:
<pre>ffmpeg -ss <start_time> -t <duration> -i <video_file> -vf "crop=<c_width>:<c_height>:<c_topleft_x>:<c_topleft_y>,fps=<framerate>,scale=<width>:<height>:flags=lanczos,split[s0][s1];[s0]palettegen=stats_mode=diff[p];[s1][p]paletteuse=dither=bayer" -loop 0 <output_file></pre>
Note: if "ffmpeg" or "gifsicle" aren't recognized as commands, find the location of the executable and use that. Example ffmpeg -> "C:\ffmpeg-4.2.2-win64-static\bin\ffmpeg.exe"
<pre>
start_time    = The first frame of the video. Can either be seconds or [HH:]MM:SS[.ms] format
duration      = How far after start_time to go
video_file    = Source file
output_file  = Output file
c_...        = Cropping. The width and height and the top-left corner coordinates
framerate    = The frames per second (fps) of the output. Due to GIF specifications, 50 fps is the technical max framerate possible
width, height = The width and height of the output. Either can be set to -1 to automatically change with the other. iw*x and ih*y can also be used to scale, example iw*.5 = 50% width
Any of the inputs (except video_file and output_file) can be removed if they are unneeded
split[s0][s1];[s0]palettegen=stats_mode=diff[p];[s1][p]paletteuse=dither=bayer is to skirt around GIFs limited 256 color limit, either by dithering or creating a new set of 256 colors at a certain point. Optional, tends to increase filesize
-loop 0 forces looping. Never tried without it so I don't know what happens without it
Example: ffmpeg -ss 4.0 -t 2.8333 -i "Min Min.mp4" -vf "fps=15,scale=600:-1:flags=lanczos,split[s0][s1];[s0]palettegen=stats_mode=diff[p];[s1][p]paletteuse=dither=bayer" -loop 0 "MinMinOnScreenAppearanceSSBU.gif"
Use "Min Min.mp4", start 4 seconds in, go for 2.8333 seconds, play at 15 fps, scale width to 600, output to MinMinOnScreenAppearanceSSBU.gif.
</pre>
You are effectively done at this point. Afterwards Gifsicle can be used to reduce the filesize.
<pre>
gifsicle -b <gif_file> -O3 --lossy > <output_file>
gif_file    = Source file
output_file = Output file
-O3 lets Gifsicle determine how to optimize the file
--lossy means some data will may be lost. This isn't a concern because GIF's 256 color limit makes it barely noticeable
</pre>
To avoid doing multiple lines, we can "pipe" the FFmpeg output into Gifsicle's input:
<pre>
ffmpeg -ss <start_time> -t <duration> -i <video_file> -vf "crop=<c_width>:<c_height>:<c_topleft_x>:<c_topleft_y>,fps=<framerate>,scale=<width>:<height>:flags=lanczos,split[s0][s1];[s0]palettegen=stats_mode=diff[p];[s1][p]paletteuse=dither=bayer" -loop 0 -f gif - | gifsicle -O3 --lossy > <output_file>
-f gif tells FFmpeg that the file will be a GIF, which is necessary for Gifsicle to process
Example: Example: ffmpeg -ss 4.0 -t 2.8333 -i "Min Min.mp4" -vf "fps=15,scale=600:-1:flags=lanczos,split[s0][s1];[s0]palettegen=stats_mode=diff[p];[s1][p]paletteuse=dither=bayer" -loop 0 -f gif - | gifsicle -O3 --lossy > "MinMinOnScreenAppearanceSSBU.gif"
</pre>
This will take care of almost everything you need for GIFs. See [https://ffmpeg.org/ffmpeg.html FFmpeg's] and [https://www.lcdf.org/gifsicle/man.html Gifsicle's] documentation for more details and other commands. And remember, it is pronounced GIF not GIF.
===Formats===
;Victory Poses
*<CHAR>VictoryPose<d>SSBU
**d: 1=left, 2=up, 3=right
*25 FPS, 600x338px
*Start is 30f before fade (check histogram for new spikes)
*4 seconds with palettegen, around 8 seconds for extended animations without palettegen
**Mirror match for extended to include clapping animation
;On-screen appearances
*<CHAR>OnScreenAppearanceSSBU
*15 FPS, 600x338px
*Start is 6f after the black start screen
*2.83333 seconds
*Mirror match on Omega Battlefield. Stationary camera to prevent jumping around; better compression, smoother, and allows the full animation to be shown
;Moves
*<CHAR> <MOVE NAME/DIRECTION> <variation num?> SSBU
*25 FPS; 480x270px (480-30x until <10MB)
*Start is 12f before move's first frame
*End is 12f after move ends or opponent stops moving, whichever is longer
*Mirror match on Omega relevant stage
;Taunts/Idle poses
*SSBU<CHAR>Idle/Taunt<d>
**d: 1=up, 2=side, 3=down
*25 FPS, 600x338
*Minimum 6f before and after, mess with the values until it is smooth
*Character should face the direction that makes their body point towards the screen
*Camera zoomed a little larger than a Battlefield platform
*Relevant Battlefield


=WebM test=
==WebM test==
This is a comparison of WebM and GIF
This is a comparison of WebM and GIF


[[File:GunnerOnScreenAppearanceSSBU.webm|400px]]{{clear}}
[[File:GunnerOnScreenAppearanceSSBU.webm|400px]]{{clr}}
WebM: 60 fps, full color-space, 1.07 MiB/1.12 MB (1,122,784 bytes)
WebM: 60 fps, full color-space, 1.07 MiB/1.12 MB (1,122,784 bytes)


[[File:GunnerOnScreenAppearanceSSBU.gif|400px]]{{clear}}
[[File:GunnerOnScreenAppearanceSSBU.gif|400px]]{{clr}}
GIF: 15 fps, 256 colors, 3.82 MiB/4.01 MB (4,012,511 bytes) (Can be reduced to 3.53 MiB (3,707,356 bytes) if optimized and re-uploaded)
GIF: 15 fps, 256 colors, 3.53 MiB/3.70 MB (3,707,356 bytes)


Pros of WebM:
Pros of WebM:
Line 52: Line 140:
#Much greater CPU usage
#Much greater CPU usage


=Handy Regex=
==Handy Regex==
Remove duplicate text in links when a suffix would work:<br/>
Search: \[\[{{color|red|<nowiki>([^\|]+)</nowiki>}}\|{{color|red|\1}}{{color|blue|([^\]]+)}}\]\]<br/>
Replace: <nowiki>[[</nowiki>{{color|red|$1}}]]{{color|blue|$2}}
 
Simple section/anchor link ([[Template:H2]]): <br/>
Simple section/anchor link ([[Template:H2]]): <br/>
Search: \[\['''{{color|red|(.*?)}}'''\#'''{{color|blue|(.*?)}}'''\|{{color|blue|\2}}\]\] <br/>
Search: \[\[{{color|red|([^\#]+)}}\#{{color|blue|([^\]]+)}}\|{{color|blue|\2}}\]\] <br/>
Replace: <nowiki>{{</nowiki>h2|'''{{color|red|$1}}'''|'''{{color|blue|$2}}'''<nowiki>}}</nowiki>
Replace: <nowiki>{{</nowiki>h2|{{color|red|$1}}|{{color|blue|$2}}<nowiki>}}</nowiki>


Bracket simplifier ([[Template:B]]): <br/>
Bracket simplifier ([[Template:B]]): <br/>
Search: \[\['''{{color|red|(.*?)}}''' \('''{{color|blue|(.*?)}}'''\)\|{{color|red|\1}}\]\] <br/>
Search: \[\[{{color|red|([^\)]+)}} \({{color|blue|([^\]]+)}}\)\|{{color|red|\1}}\]\] <br/>
Replace: <nowiki>{{</nowiki>b|'''{{color|red|$1}}'''|'''{{color|blue|$2}}'''<nowiki>}}</nowiki>
Replace: <nowiki>{{</nowiki>b|{{color|red|$1}}|{{color|blue|$2}}<nowiki>}}</nowiki>
 
3 param [[Template:S]] to [[Template:IW]]: <br/>
Search: <nowiki>{{</nowiki>s\|{{color|red|<nowiki>([^}]+)</nowiki>}}\|{{color|blue|<nowiki>([^}]+)</nowiki>}}\|{{color|green|<nowiki>([^}]+)</nowiki>}}<nowiki>}}</nowiki> <br/>
Replace: <nowiki>{{</nowiki>iw|{{color|red|$1}}|{{color|blue|$2}}|{{color|green|$3}}<nowiki>}}</nowiki>


Rollover/hover text ([[Template:Rollover]]): <br/>
Rollover/hover text ([[Template:Rollover]]): <br/>
Search: <nowiki><span</nowiki> class="explain" title="'''{{color|red|(.*?)}}'''">'''{{color|blue|(.*?)}}'''<nowiki></span></nowiki> <br/>
Search: <nowiki><span</nowiki> class="explain" title="{{color|red|([^>]+)}}">{{color|blue|([^<]+)}}<nowiki></span></nowiki> <br/>
Replace: <nowiki>{{</nowiki>rollover|'''{{color|blue|$2}}'''|'''{{color|red|$1}}'''|?<nowiki>}}</nowiki>
Replace: <nowiki>{{</nowiki>rollover|{{color|blue|$2}}|{{color|red|$1}}|?<nowiki>}}</nowiki>
<!--
Spirit type ([[Template:SpiritType]]): <br/>
Search: \[\[File:SpiritType{{color|red|([^\.]+)}}\.png.*\|\1\]\] <br/>
Replace <nowiki>{{</nowiki>SpiritType|{{color|red|$1}}<nowiki>}}</nowiki>


"()" defines a capture group. "." matches any character. "*" matches 0-infinite of the prior character; ".*" matches 0-infinite of any character. "?" makes the search "ungreedy", forcing it to stop at the first match instead of a later/last match. "\#" references a capture group in the search field, counting up from left to right. "$#" references a capture group in the replace field, counting up from left to right.
Spirit type (variable size): <br/>
Search: \[\[File:SpiritType{{color|red|([^\.]+)}}\.png\|{{color|blue|([^p]+)}}px.*\|\1\]\] <br/>
Replace:<nowiki>{{</nowiki>SpiritType|{{color|red|$1}}|s={{color|blue|$2}}<nowiki>}}</nowiki>-->


"\…" is used to escape characters, preventing the regex from interpreting them as part of the regex command. "(…)" defines a capture group. "." matches any character. "*" matches 0-infinite of the prior character; ".*" matches 0-infinite of any character. "[…]" defines a set of characters. "^" is a NOT operator; "[^…]" equates to not these characters. "\1,2,3,..." references a capture group in the search field, counting up from left to right. "$1,2,3,..." references a capture group in the replace field, counting up from left to right.


=Extreme Spirit Teams=
==Extreme Spirit Teams==
==Max speed==
===[[/Max speed|Max speed]]===
{|class="wikitable"
{|class="wikitable"
!
!Primary Ability
!Primary Ability
!colspan=3|Abilities
!Style
!Style
!colspan=3|Abilities
!Total
!Total
|-
|-
!rowspan=2|Max<br/>Run/walk
|Weight ↓
|Weight ↓
|Ninja (Ground Speed)
|Trade-Off Speed ↑
|Trade-Off Speed ↑
|Undamaged Speed ↑
|Undamaged Speed ↑
|Undamaged Speed ↑
|Undamaged Speed ↑
|Ninja
|rowspan=2|6.272
|rowspan=2|6.272
|-
|-
|1.4
|1.4
|1.4
|colspan=2|2.0
|1.6
|1.6
|-
!rowspan=2|No contradiction
|Weight ↓
|Lightweight
|Undamaged Speed ↑
|Undamaged Speed ↑
|Ninja
|rowspan=2|5.824
|-
|1.4
|1.4
|1.3
|colspan=2|2.0
|colspan=2|2.0
|1.6
|-
!rowspan=2|Always on
|Weight ↓
|Lightweight
|Trade-Off Speed ↑
|Trade-Off Speed ↑
|Ninja
|rowspan=2|5.2416
|-
|1.4
|1.3
|colspan=2|1.8
|1.6
|}
|}
Oddly, Little Mac and Captain Falcon run at nearly the same speed as Sonic with this team. Piranha Plant and Terry have the same base speed and same speed without Undamaged Speed ↑ being active, but with it being active Terry is significantly faster. I'll have to check the other parameters to see if some abilities unevenly affect other values.
 
==Min speed==
===Min speed===
{|class="wikitable"
{|class="wikitable"
!
!Primary Ability
!Primary Ability
!colspan=3|Abilities
!Style
!Style
!colspan=3|Abilities
!Total
!Total
|-
|-
!rowspan=2|Min<br/>Dash
|Weight ↑ ↑ (Support)
|Weight ↑ ↑ (Support)
|Gravity (Ground Speed)
|colspan=2|Slow Super Armor
|colspan=2|Slow Super Armor
|{{bg|#DDD}}|
|{{bg|#DDD}}|
|Gravity (Ground Speed)
|rowspan=2|0.09
|rowspan=2|0.09
|-
|-
|0.6
|0.6
|colspan=2|0.3
|{{bg|#DDD}}|
|0.5
|0.5
|colspan=2|0.3
|}
 
===Max jump===
{|class="wikitable"
!
!Primary Ability
!colspan=3|Abilities
!Style
!Total
|-
!rowspan=2|Max<br/>Jump
|Lightweight
|Lightweight
|colspan=2|Jump ↑ (Support, Jump Height)
|Gravity (Jump)
|rowspan=2|4.32
|-
|colspan=2|1.6
|colspan=2|1.8
|1.5
|-
!rowspan=2|Max<br/>Short-Hop
|Lightweight
|colspan=2|Lightweight
|Jump ↑ (Support, Jump Speed)
|Gravity (Jump)
|rowspan=2|3.42
|-
|colspan=3|1.9
|1.2
|1.5
|}
 
===Min jump===
{|class="wikitable"
!
!Primary Ability
!colspan=3|Abilities
!Style
!Total
|-
!rowspan=2|Min<br/>Jump
|Weight ↑ ↑ (Support)
|colspan=2|Slow Super Armor
|{{bg|#DDD}}|
|Runner (Jump)
|rowspan=2|0.18
|-
|0.6
|colspan=2|0.5
|{{bg|#DDD}}|
|{{bg|#DDD}}|
|0.6
|}
|}


=Spirit Experience=
==Spirit Experience==
This is the results of testing experience.
This is the results of testing experience.


Line 145: Line 330:
With <code>max_exp</code> determined it is possible to find the experience needed to reach any level.
With <code>max_exp</code> determined it is possible to find the experience needed to reach any level.


Exp at any level = <code>max_exp × (ratio^(level - 1) - 1)/(ratio^(98) - 1)</code><br>
Exp at any level = <code>max_exp × (ratio^(level - 1) - 1)/(ratio^(98) - 1)</code>
 
<math>\mbox{max exp} * \frac{\mbox{ratio}^{\mbox{level}-1}-1}{\mbox{ratio}^{98}-1}</math>
 
Exp to the next level = <code>max_exp × (ratio^(level - 1))/(ratio^(98) - 1) × (ratio - 1)</code>
Exp to the next level = <code>max_exp × (ratio^(level - 1))/(ratio^(98) - 1) × (ratio - 1)</code>
<math>\mbox{max exp} * (\mbox{ratio}-1) * \frac{\mbox{ratio}^{\mbox{level}-1}}{\mbox{ratio}^{98}-1}</math>


====Ratio====
====Ratio====
Line 158: Line 348:
Between versions 1.0.0 and 1.1.0 Baby Mario (Superstar Mario), Tiki (Naga's Voice), K.K. Slider, Soma Cruz, and Dr. Kawashima (Concentration Training) had their stats changed without their max experience being updated. This causes them to require less experience than normal. Link (Link's Awakening) is also an exception, but instead requires more experience than normal (24276 vs 22851). Possible explanations are that his Power was 1.5× higher at one point or he was enhance-able from class 2 to 4.
Between versions 1.0.0 and 1.1.0 Baby Mario (Superstar Mario), Tiki (Naga's Voice), K.K. Slider, Soma Cruz, and Dr. Kawashima (Concentration Training) had their stats changed without their max experience being updated. This causes them to require less experience than normal. Link (Link's Awakening) is also an exception, but instead requires more experience than normal (24276 vs 22851). Possible explanations are that his Power was 1.5× higher at one point or he was enhance-able from class 2 to 4.


=Limiter=
==Limiter==
The "Limiter", as I call it, is a hidden function involving Spirits and their damage multipliers. It only affects damage multipliers related to Sword types, Throw types (not attacks, types... I think), and 'Generic', 'Generic' being a term I use for damage multipliers that affect everything.
The "Limiter", as I call it, is a hidden function involving Spirits and their damage multipliers. It only affects damage multipliers related to Sword types, Throw types (not attacks, types... I think), and 'Generic', 'Generic' being a term I use for damage multipliers that affect everything.


Line 173: Line 363:
</pre>
</pre>
The <code>final_combined_mult</code> is what is used when an attack hits. Critical Hit ↑, Metal Killer, and Giant Killer do not use generic, they act outside everything similar to the 1v1 multiplier. Skills that will easily get you to experience the limiter are Trade-Off Attacks ↑ and Poison Power Up. Poison Power Up has a multiplier of 2.0×, but the limiter causes it to come out as 1.6×. Trade-Off Attacks ↑ has a multiplier of 1.23×, requiring an additional multiplier of 1.057× to reach the limiter. Trade-Off Attacks ↑ (1.23×) + Trade-Off Abilities ↑ (1.18×) will give 1.3757× instead of 1.4514×.
The <code>final_combined_mult</code> is what is used when an attack hits. Critical Hit ↑, Metal Killer, and Giant Killer do not use generic, they act outside everything similar to the 1v1 multiplier. Skills that will easily get you to experience the limiter are Trade-Off Attacks ↑ and Poison Power Up. Poison Power Up has a multiplier of 2.0×, but the limiter causes it to come out as 1.6×. Trade-Off Attacks ↑ has a multiplier of 1.23×, requiring an additional multiplier of 1.057× to reach the limiter. Trade-Off Attacks ↑ (1.23×) + Trade-Off Abilities ↑ (1.18×) will give 1.3757× instead of 1.4514×.
==Lists==
===World of Light exclusive===
The following spirits must be obtained in World of Light. Some can be gotten in other ways, but they must be gotten in World of Light first. '''Boss''', ''Master'', <u>Chest</u>
<div style="column-count:5;-moz-column-count:5;-webkit-column-count:5">
*''Toadette''
*Kamek
*''Honey Queen''
*Kammy Koopa
*''Funky Kong''
*Candy Kong
*<u>Wrinkly Kong</u>
*Link (The Legend of Zelda)
*'''Ganon'''
*Saria
*Impa
*''Darunia''
*''Beedle''
*''Linebeck''
*Alfonzo & Engineer Link
*''Kraid''
*'''Marx'''
*Susie
*Chef Kawasaki
*''Peppy Hare''
*ROB 64
*''Slowpoke''
*<u>Gyarados</u>
*Lapras
*Solgaleo
*Lunala
*''Dr. Stewart''
*Pico
*''Anna''
*''Ryoma''
*Medusa
*''Dyntos''
*''Kat & Ana''
*Hal Emmerich
*<u>{{rollover|Cardboard Box|Can be found at Timmy and Tommy's, which is part of World of Light|?}}</u>
*''Charlie''
*''Timmy & Tommy''
*''Copper & Booker''
*Kapp'n
*Kapp'n (Wild World)
*Cyrus & Reese
*<u>Auto</u>
*''Gravity Man''
*MegaMan.EXE
*ProtoMan.EXE
*''Wii Balance Board''
*''Doc Louis''
*''Riki (Xenoblade Chronicles)''
*Mythra
*''Zangief''
*Balrog
*Vega
*Sagat
*''Sheldon''
*''Cap'n Cuttlefish''
*Great Zapfish
*Mummy
*The Creature & Flea Man
*Death
*Werewolf
*'''Dracula'''
*'''Dracula (2nd Form)'''
*'''Master Hand'''
*'''Crazy Hand'''
*'''Giga Bowser'''
*'''Galleom'''
*'''Galeem'''
*'''Dharkon'''
*<u>Diskun</u>
*Lip
*<u>Ray Mk II</u>
*Bomberman
*'''Rathalos'''
</div>
===New file criteria===
*Must be a primary spirit
*Must be an Advanced-class
*Must have 1 or 2 slots
*Can't be enhanceable
*Can't be summonable
*Can't be a challenge reward
*Can't be exclusive to World of Light
*Can't be from a paid DLC Spirit Board
===Shop criteria===
*Can't be a fighter spirit of a fighter that hasn't been unlocked
*Can't be summonable
*Can't be a challenge reward
*Can't be exclusive to World of Light
===Spirit Board criteria===
===Classic Mode reward===
30,344

edits