User:CanvasK
A man with too much time on his hands and an unusual obsession with spirits. 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 ¯\_(ツ)_/¯)).
Apparently I have ownership of the clean-up project. If you see me spamming Recent Changes, that's what it is about.
To-do
- 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
- 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
GIFs
- Kazuya
- Taunts; recorded
- OSA; recorded
- Idle; recorded
- Victory pose; recorded
- Specials; recorded
- Command inputs; WGF, EWGF, and Dragon Uppercut recorded and converted
Pages to keep updated with DLC
- Spirit, total count
- List of spirits (complete list), new entries
- List of spirits (disambiguation), update counts
- Primary spirit, new entries when applicable
- Support spirit, new entries when applicable
- List of Spirits (<whatever> series) (usually Others), new entries
- Downloadable content (SSBU)/List of DLC Spirits, new entries
- Various fighter pages, new entries when applicable
- List of Spirit Board events
- Rematch, max score
Quick links
Facility test data | Spirit translations | Unused spirit effects | Spirit changelog |
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: FFmpeg and Gifsicle (optional). Both of these programs are free command-line tools. Below is a command that will work for most situations:
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[p];[s1][p]paletteuse" -loop 0 <output_file>
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"
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[p];[s1][p]paletteuse is to skirt around GIFs limited 256 color limit, either by dithering or creating a new set of 256 colors at a certain point -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[p];[s1][p]paletteuse" -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.
You are effectively done at this point. Afterwards Gifsicle can be used to reduce the filesize.
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
To avoid doing multiple lines, we can "pipe" the FFmpeg output into Gifsicle's input:
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[p];[s1][p]paletteuse" -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[p];[s1][p]paletteuse" -loop 0 -f gif - | gifsicle -O3 --lossy > "MinMinOnScreenAppearanceSSBU.gif"
This will take care of almost everything you need for GIFs. See FFmpeg's and Gifsicle's documentation for more details and other commands. And remember, it is pronounced GIF not GIF.
WebM test
This is a comparison of WebM and GIF
WebM: 60 fps, full color-space, 1.07 MiB/1.12 MB (1,122,784 bytes)
GIF: 15 fps, 256 colors, 3.53 MiB/3.70 MB (3,707,356 bytes)
Pros of WebM:
- Smaller file size
- Higher potential frame rate
- Larger color space
Cons of WebM:
- Not as many browsers support it
- Doesn't autoplay; May be a good thing considering point #4
Doesn't autoloopLoops if the time is <15 seconds- Much greater CPU usage
Handy Regex
Remove duplicate text in links when a suffix would work:
Search: \[\[([^\|]+)\|\1([^\]]+)\]\]
Replace: [[$1]]$2
Simple section/anchor link (Template:H2):
Search: \[\[([^\#]+)\#([^\]]+)\|\2\]\]
Replace: {{h2|$1|$2}}
Bracket simplifier (Template:B):
Search: \[\[([^\)]+) \(([^\]]+)\)\|\1\]\]
Replace: {{b|$1|$2}}
3 param Template:S to Template:IW:
Search: {{s\|([^}]+)\|([^}]+)\|([^}]+)}}
Replace: {{iw|$1|$2|$3}}
Rollover/hover text (Template:Rollover):
Search: <span class="explain" title="([^>]+)">([^<]+)</span>
Replace: {{rollover|$2|$1|?}}
"\…" 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
Max speed
Primary Ability | Abilities | Style | Total | |||
---|---|---|---|---|---|---|
Max Dash |
Weight ↓ | Trade-Off Speed ↑ | Undamaged Speed ↑ | Undamaged Speed ↑ | Ninja (Ground Speed) | 6.272 |
1.4 | 1.4 | 2.0 | 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. Current hypothesis is a result of the running animation length or perhaps root bone movement.
Min speed
Primary Ability | Abilities | Style | Total | |||
---|---|---|---|---|---|---|
Min Dash |
Weight ↑ ↑ (Support) | Slow Super Armor | Gravity (Ground Speed) | 0.09 | ||
0.6 | 0.3 | 0.5 |
Max jump
Primary Ability | Abilities | Style | Total | |||
---|---|---|---|---|---|---|
Max Jump |
Lightweight | Lightweight | Jump ↑ (Support, Jump Height) | Gravity (Jump) | 4.32 | |
1.6 | 1.8 | 1.5 | ||||
Max Short-Hop |
Lightweight | Lightweight | Jump ↑ (Support, Jump Speed) | Gravity (Jump) | 3.42 | |
1.9 | 1.2 | 1.5 |
Min jump
Primary Ability | Abilities | Style | Total | |||
---|---|---|---|---|---|---|
Min Jump |
Weight ↑ ↑ (Support) | Slow Super Armor | Runner (Jump) | 0.18 | ||
0.6 | 0.5 | 0.6 |
Spirit Experience
This is the results of testing experience.
The amount of experience a Spirit needs to reach lv.99 is based on its max power, rank, number of slots, if it is enhanceable, and if it is neutral or not. Power does not refer to 'Team Power'; power is attack+defense, team power is power modified by styles and skills.
Max Experience
The equation is:
max_exp = Power * slot_multiplier + class_exp
If the Spirit is neutral, divide the result by 2.
Slot Multiplier
- 0 slots: 0.5
- 1 slot : 0.55
- 2 slots: 0.605
- 3 slots: 0.6655
If the Spirit is enhanceable, multiply this value by 1.5.
Class Experience
For non-enhanceable:
- 1: 12000
- 2: 20000
- 3: 40000
- 4: 60000
For enhanceable:
- Starts at class 1:
- 2: 22000
- 3: 32000
- 4: 42000
- Starts at class 2:
- 3: 30000
- 4: 40000
- Starts at class 3:
- 4: 50000
Experience Growth
With max_exp
determined it is possible to find the experience needed to reach any level.
Exp at any level = max_exp × (ratio^(level - 1) - 1)/(ratio^(98) - 1)
Exp to the next level = max_exp × (ratio^(level - 1))/(ratio^(98) - 1) × (ratio - 1)
Ratio
Ratio is based on class.
- 1: 1.03
- 2: 1.035
- 3: 1.04
- 4: 1.04
Exceptions
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
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 first step to the function is to combine all of the related multipliers (Fist to fist, sword to sword, generic to generic, etc.) to get the raw_combined_mult
(terms are my own, not official). This includes both positive (>1.0×) and negative multipliers (<1.0×) from traits, skills, and styles.
Next step, if the multiplier is for sword or generic, is to go through the following:
IF raw_combined_mult < 1.3: do nothing IF raw_combined_mult > 1.3 AND raw_combined_mult < 1.5: final_combined_mult = raw_combined_mult * 0.5 + 0.65 IF raw_combined_mult > 1.5: final_combined_mult = raw_combined_mult * 0.2 + 1.2
The final_combined_mult
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, Chest
- Toadette
- Kamek
- Honey Queen
- Kammy Koopa
- Funky Kong
- Candy Kong
- Wrinkly Kong
- Link (The Legend of Zelda)
- Ganon
- Saria
- Impa
- Darunia
- Beedle
- Linebeck
- Alfonzo & Engineer Link
- Kraid
- Marx
- Susie
- Chef Kawasaki
- Peppy Hare
- ROB 64
- Slowpoke
- Gyarados
- Lapras
- Solgaleo
- Lunala
- Dr. Stewart
- Pico
- Anna
- Ryoma
- Medusa
- Dyntos
- Kat & Ana
- Hal Emmerich
- Cardboard Box
- Charlie
- Timmy & Tommy
- Copper & Booker
- Kapp'n
- Kapp'n (Wild World)
- Cyrus & Reese
- Auto
- 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
- Diskun
- Lip
- Ray Mk II
- Bomberman
- Rathalos
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