• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Shields: Everything you need to know about them

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
This was a great read. I wish I read this when I first started getting back into this game. Is there any data you're missing?
Also, are you sure that the first shield HP isn't healed after frame 10? I didn't check throroughly, but I did find the code where the game checks the frame counter to see if it's below 10. You don't need to test every single move for shieldstun chart, because we already know the formula and that staleness effects it too. I could make a shieldstun chart based on damage if you want.
 

Sangoku

Smash Master
Joined
Apr 25, 2010
Messages
3,931
Location
Geneva, Switzerland
Oh I thought you knew the existence of this thread. Sorry, I should have linked it lol. So yeah, I haven't touched it for a long time, that's why a lot of things are missing and since nobody knew formulas back then, I had no other choice but to count manually a lot of things. Concerning the first HP healed I am unsure now, but I remember it seemed kinda funky. Might have to recheck to be sure. If you can make a shieldstun chart easily/quickly, then yeah I'd be grateful and I'd add it to the OP, but if it's troublesome for you, I would understand (you are already doing so much work while we're all idle lol).
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
It's a pretty easy pattern to follow. Damage is the damage after factoring in staleness, but it doesn't include the shield bonus damage, so Fox's laser would count as 6 damage and not 7. Also electric attacks don't increase hitlag for either person when the person getting hit is shielding.
Code:
Damage    Shield Hitlag
1          5
2          5
3          6
4          6
5          6
6          7
7          7
8          7
9          8
10         8
11         8
12         9
13         9
14         9
15        10
16        10
17        10
18        11
19        11
20        11
21        12
22        12
23        12
24        13
25        13
26        13
27        14
28        14
29        14
30        15
Edit: So I went back and looked at how the shield recovery works. Basically each player has a counter variable that keeps track of the frame count for shield recovery. By default, the value starts at 10 when you start the match. When your shield health is below 55, it then starts subtracting the frame counter by 1 each frame (while you're not holding the shield button). Lets say that you start shielding while the counter was at 4, as soon as you let go of the shield button, it will start subtracting from where you left off. So the counter will go to 3 in the next frame. When the counter reaches 0, you recover 1 shield HP and the counter goes back to 10. This means that the first shield HP actually takes 1-10 frames, depending on where you left off.
 
Last edited:

Sangoku

Smash Master
Joined
Apr 25, 2010
Messages
3,931
Location
Geneva, Switzerland
Oh it's that easy? Thanks lol I'll complete it when I have more time.

Ah you should have written a new post with the first HP explanation, I almost missed it! Thanks a lot, I don't think I would have found it by myself.

Editted the OP to add that.
 

mixa

Banned via Warnings
Joined
Jun 6, 2012
Messages
2,005
Location
Isle of ゆぅ
So when you hit a shield, there's the shield hitlag, where both characters are frozen, then after that there's the shield hitstun, which is the time the shield stays up after the hitlag. Considering that definition, Madao's table is for shield hitlag, not shield stun.

For shield stun, I found this (4th column). I'm not getting those exact numbers on the U version, though. For a move that deals 3% I got 8 instead of 9, for one that deals 20% I got 36 and not 38.
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
Lol I didn't know there was a shield hitstun in addition to shield hitlag. I'll look into it.
That site you linked is nice. I wish we had that info for our version :( .

Edit: I found the shield stun variable and formula. For NTSC it's ceil( ceil(damage * staleness) * 1.62 + 4 ) .
 
Last edited:

mixa

Banned via Warnings
Joined
Jun 6, 2012
Messages
2,005
Location
Isle of ゆぅ
Haha, ok. Thanks and sorry for the dumb question.


And I think I'm gonna say you have to round it down. 'For a move that deals 3% I got 8 instead of 9'.
3 * 1.62 + 4 = 8.9 = 9
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
I didn't do extensive frame by frame testing, but I did read the assembly code. My quick tests also confirmed the formula.
I'll update my table later, it's too messy for me to upload it.
Here are the addresses for shieldstun for player1 and 2
Code:
<CheatEntry>
      <ID>392</ID>
      <Description>"Player 1 Shield Stun"</Description>
      <Color>80000008</Color>
      <VariableType>Float</VariableType>
      <Address>A1C804</Address>
      <Offsets>
        <Offset>808EC5B4</Offset>
      </Offsets>
</CheatEntry>
 
<CheatEntry>
      <ID>394</ID>
      <Description>"Player 2 Shield Stun"</Description>
      <Color>80000008</Color>
      <VariableType>Float</VariableType>
      <Address>A1C804</Address>
      <Offsets>
        <Offset>808EC5B4</Offset>
        <Offset>808EBA80</Offset>
      </Offsets>
</CheatEntry>
I just did some frame by frame play and the counting is tricky. The formula I posted is correct, but there's 1 or 2 extra frame delay (I'm guessing letting go animation). I counted 9 + let go animation when i did Samus' charge shot at charge state 0 (which does 3 damage). Basically the frame count is some floating point number that gets checked every frame after getting hit while the shield is on. If the number > 0, you stay frozen.
 
Last edited:

mixa

Banned via Warnings
Joined
Jun 6, 2012
Messages
2,005
Location
Isle of ゆぅ
http://imgur.com/a/EUcqk#0 -- I would've numbered the frames, but I don't know how to quickly do it.

16 frames there.

#0
#1–6
: white bright shield. hitlag starts. 6 frames.
#7–14 : shield stun starts. 8 frames.
#15 : link's jump animation starts (is out of shield stun)


The way I count it, I buffer up while on shield. You can also buffer jump for 2 frames.
There's something else you can buffer for 1 frame, but I forget.

And thanks for the address.
 
Last edited:

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
I still don't get how you are getting 8 frames. It must be your counting method. What you can test is, you see how when you do 3 damage, you get 8.86 for shield stun? Do frame by frame while freezing the value at 0.86 and you should be stuck still, because it stays stuck as long as the value is > 0.0

If I happen to be wrong, maybe there's a character difference. I was shielding as DK.
 

mixa

Banned via Warnings
Joined
Jun 6, 2012
Messages
2,005
Location
Isle of ゆぅ
So you're saying you can't jump out on frame 9 like I did in those pics, only on frame 10? I got 8 with DK too.
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
So you're saying you can't jump out on frame 9 like I did in those pics, only on frame 10? I got 8 with DK too.
Lol I think you might be right that it rounds down instead of up. I need to pay more attention to details from now on lol. The reason I believed it rounded up was because I didn't factor in the timing of when the game subtracts the frame count by 1. I just tried freezing a number < 1, and I didn't get stuck. I swear input buffer still confuses me lol. Can you do me a favor and test attacks with various damages?
 

mixa

Banned via Warnings
Joined
Jun 6, 2012
Messages
2,005
Location
Isle of ゆぅ
I tested 8 different values and it seems to work.

Code:
Damage  Shield Stun
1%      5
2%      7
3%      8
4%      10
5%      12
6%      13
7%      15
8%      16
9%      18
10%     20
11%     21
12%     23
13%     25
14%     26
15%     28
16%     29
17%     31
18%     33
19%     34
20%     36
21%     38
22%     39
23%     41
24%     42
25%     44
26%     46
27%     47
28%     49
29%     50
30%     52
31%     54
32%     55
33%     57
34%     59
35%     60
36%     62


Hm, I want to learn how to make decent tables without the table feature (which has disappeared).
 
Last edited:

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
I tested 8 different values and it seems to work.

Hm, I want to learn how to make decent tables without the table feature (which has disappeared).
Nice work :) . So did you just apply the math or did you test the other numbers too? Excel is a quick way to generate data based on formulas. Lol I wrote down all the damage and knockback data of every single attack (damage, base knockback, ground & aerial target flag, knockback scaling, fixed knockback, angle, and shield damage), I should have included clang :( but maybe later I'll add it in, So if someone wanted, I could probably paste the numbers into excel and have it generate all the formula based numbers for me. This is for shield damage, and other things. Just let me know.

Sangoku was able to make tables, just look at his first post in this thread.
 

mixa

Banned via Warnings
Joined
Jun 6, 2012
Messages
2,005
Location
Isle of ゆぅ
I just applied the math and copy pasted it from excel.

So the tables Sangoku made back in the day are now working? Huh. I'd rather not depend on smashboards' formatting table.
How did you align the numbers like this?
 

Madao

Moderator
Moderator
Joined
Jun 27, 2013
Messages
873
I'm pretty sure I just copied the numbers to notepad++ then used alt shift to vertically select the rows and filled in spaces all at once. The reason I used the code box is to allow me to format text better (like multiple spaces).
 

MCG

Smash Apprentice
Joined
Nov 11, 2013
Messages
95
You can either use BB Codes that are going to change every week or so it seems

Code:
[TABLE="head"]
Damage|Shield Stun
1%|5
2%|7
3%|8
4%|10
5%|12
6%|13
7%|15
8%|16
9%|18
10%|20
11%|21
12%|23
13%|25
14%|26
15%|28
16%|29
17%|31
18%|33
[/TABLE]
Or if you don't want to add the spaces manually you can use a bash command called "column". This site allows you to execute bash commands from a website (it's very basic and simple). Copy your text that you want to convert to a table into the input.txt tab. Use a space as a seperator and don't forget to add an empty line at the end of the file (otherwise you'll get an error (column: line too long)). Copy this
Code:
#!/bin/bash

column input.txt -t
Into the main.sh tab. And hit Execute Script. Your table should be aligned, just copy and paste into [CODE][/CODE].
 

MCG

Smash Apprentice
Joined
Nov 11, 2013
Messages
95
I did some frame by frame testing on ending lag for shields. I don't know if it's mentionned in the previous pages nor do I think it will offer much to the average player but it's interesting to know.

Basically, for every character, when you press z and let go, there are 3 different scenarios depending on how long you pressed z.

Every character not named yoshi :
If you press z for 1, 2, or 3 frames and let go, your shield will last 8 frames and you'll have an ending lag of 6 frames.
If you press z for 4, 5, 6, or 7 frames and let go, your shield will also last 8 frames but you'll have an ending lag of 7, 8, 9, or 10 frames respectively. E.g. you press z for 5 frames, you get 8 frames shielding and 8 frames of ending lag.
If you press z for over 7 frames and let go, your shield will last the amount of frames you pressed z and you'll always have an ending lag of 11 frames.

For yoshi:
If you press z for 1, 2, or 3 frames and let go, you'll have 3 frames parrying and you'll have an ending lag of 15 frames.
If you press z for 4, 5, 6, 7, 8, 9, or 10 frames and let go, you'll have 3 frames parrying, the shield will last 8 frames and you'll have an ending lag of 8, 9, 10, 11, 12, 13, 14 frames.
If you press z for over 10 frames, you get 3 frames parrying, shield will last (amount of frames you pressed z - 3) and you'll always have an ending lag of 15 frames.

To recap.

Not yoshi

Scenario|Z pressed during|shield|ending lag
A|[1,3]|8|6
B|[4,7]|8|Z+3 (i.e. [7,10])
C|[8,∞[|Z (i.e. [8,∞[)|11

Yoshi

Scenario|Z pressed during|green frames|shield|ending lag
A|[1,3]|3|0|15
B|[4,10]|3|8|Z+4 (i.e. [8,14])
C|[11,∞[|3|Z-3 (i.e. [8,∞[)|15
Note that yoshi's smallest ending lag is when Z is pressed between (and including) 4 and 10 frames.

If you use shielding during tech chase to slow down your velocity, the frame advantage you'll get depends on how long you hold Z and which scenario it corresponds to.
 
Last edited:
Top Bottom