User:CanvasK: Difference between revisions

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
(→‎WebM test: Porple changed another thing. The odd resizing I was experiencing on mobile appears to be fixed too! This man was up at 2 am trying to change things for literally the only webm on the site)
No edit summary
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 [[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 ¯\_(ツ)_/¯)).
=Quick links=
{| style="border-spacing: 20px 0px;"
|[[User:CanvasK/Facilities|Facility test data]]
|[[User:CanvasK/Spirit translations|Spirit translations]]
|[[User:CanvasK/Unused spirit effects|Unused spirit effects]]
|[[User:CanvasK/Spirit changelog|Spirit changelog]]
<!--|-
|[[User:CanvasK/SpiritBattleRow|SpiritBattleRow]]
|[[User:CanvasK/SpiritBattleTable|SpiritBattleTable]]-->
|}
=WebM test=
=WebM test=
This is a comparison of WebM and GIF
This is a comparison of WebM and GIF
Line 13: Line 25:
#Higher potential frame rate
#Higher potential frame rate
#Larger color space
#Larger color space
<!--#I get to show off and play with my new toy-->


Cons of WebM:
Cons of WebM:
Line 20: Line 33:
#Much greater CPU usage
#Much greater CPU usage


=Quick links=
=Handy Regex=
{| style="border-spacing: 20px 0px;"
Simple section/anchor link ([[Template:H2]]): <br/>
|[[User:CanvasK/Facilities|Facility test data]]
Search: \[\['''{{color|red|(.*?)}}'''\#'''{{color|blue|(.*?)}}'''\|{{color|blue|\2}}\]\] <br/>
|[[User:CanvasK/Spirit translations|Spirit translations]]
Replace: <nowiki>{{</nowiki>h2|'''{{color|red|$1}}'''|'''{{color|blue|$2}}'''<nowiki>}}</nowiki>
|[[User:CanvasK/Unused spirit effects|Unused spirit effects]]
 
|[[User:CanvasK/Spirit changelog|Spirit changelog]]
Bracket simplifier ([[Template:B]]): <br/>
<!--|-
Search: \[\['''{{color|red|(.*?)}}''' \('''{{color|blue|(.*?)}}'''\)\|{{color|red|\1}}\]\] <br/>
|[[User:CanvasK/SpiritBattleRow|SpiritBattleRow]]
Replace: <nowiki>{{</nowiki>b|'''{{color|red|$1}}'''|'''{{color|blue|$2}}'''<nowiki>}}</nowiki>
|[[User:CanvasK/SpiritBattleTable|SpiritBattleTable]]-->
 
|}
Rollover/hover text ([[Template:Rollover]]): <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>
 
"(…)" 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.


=To-do=
=To-do=
*Keep an eye on Spirit Battles. Someones gotta
*Keep an eye on Spirit Battles. Someones gotta
**Look into making a python script for collecting
**Look into making a python script for collecting (WIP thanks to SnorlaxMonster's help)
<!--===Effects===
<!--===Effects===
There's at least 50. Where to even start?
There's at least 50. Where to even start?

Revision as of 17:19, August 29, 2020

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 ¯\_(ツ)_/¯)).

Quick links

Facility test data Spirit translations Unused spirit effects Spirit changelog

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)

GunnerOnScreenAppearanceSSBU.gif

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)

Pros of WebM:

  1. Smaller file size
  2. Higher potential frame rate
  3. Larger color space

Cons of WebM:

  1. Not as many browsers support it
  2. Doesn't autoplay; May be a good thing considering point #4
  3. Doesn't autoloop Loops if the time is <15 seconds
  4. Much greater CPU usage

Handy Regex

Simple section/anchor link (Template:H2):
Search: \[\[(.*?)\#(.*?)\|\2\]\]
Replace: {{h2|$1|$2}}

Bracket simplifier (Template:B):
Search: \[\[(.*?) \((.*?)\)\|\1\]\]
Replace: {{b|$1|$2}}

Rollover/hover text (Template:Rollover):
Search: <span class="explain" title="(.*?)">(.*?)</span>
Replace: {{rollover|$2|$1|?}}

"(…)" 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.

To-do

  • Keep an eye on Spirit Battles. Someones gotta
    • Look into making a python script for collecting (WIP thanks to SnorlaxMonster's help)

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×.