• 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!

The Big PSA List thread *updated 02/16/10*

leafbarrett

Smash Lord
Joined
Jun 8, 2009
Messages
1,388
Location
USA
I dunno if this is the right place to mention this, but in PSA, the voice SFX and attack SFX seem to be separately grouped. For example, Lucario's voice clips are in the 900s, while his attack SFX are in the 1600s.
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
Heh, I think I figured out how to check if your rising or falling. For a while I thought it was "Not 16" and saw nothing discernable about rising or falling.

However, using OSA2 Raw Dump, its not 16, but 2716. I believe these thousand number situations are a definite form of requirement, and might be movement based?

Either way, here is the raw dump for those who want to test the code:
PSA Commands:
000A0100 0000DDAC If 2716
07010000 00000000 Controller 01
120A0100 0000DDB4 Bit set RA-Bit 2
000F0000 00000000 End If

Vars:
Variables:
00000006 00002716
------------------
------------------
00000005 22000002
------------------
------------------
 

kenshinx

Smash Rookie
Joined
Mar 8, 2010
Messages
5
Does anyone know how to check if the character is re-spawing or is dead, or has just died. I need to turn off Marth's Sword Trail when he is re-spawning. I can see it follow him(while he is invisible) to the top of the stage otherwise. I see nothing in the Events section of PSA about Death. There's damage, but no death Event.
 

kenshinx

Smash Rookie
Joined
Mar 8, 2010
Messages
5
Strange, that didn't work. Unless I entered in the wrong code?

Code:
If Not Bit Is Set LA-Bit[0]
Sword Trail Code Here
End If
I wonder what LA-Bit[0] really is checking for. The instant you die? The re-spawn period? Thank you for the help by the way.
 

Wind Owl

Smash Lord
Joined
Feb 1, 2008
Messages
1,856
Location
Suburbs of Philadelphia, PA
You only checked it once.

Honestly I don't really know how to trigger it every time you die, because you can only ever check it at a certain point (or in an infinite loop or change action). You'd have to put it in every action or something (lol don't)

There's probably a "death" action somewhere that triggers the SFX etc, but no one knows where it is.
 

kenshinx

Smash Rookie
Joined
Mar 8, 2010
Messages
5
You only checked it once.

Honestly I don't really know how to trigger it every time you die, because you can only ever check it at a certain point (or in an infinite loop or change action). You'd have to put it in every action or something (lol don't)

There's probably a "death" action somewhere that triggers the SFX etc, but no one knows where it is.
I got it. I was being lazy by making the boolean sword trail parameter false instead of true. This caused the sword trail to continue after the animation was done. This also lead to the desired effect of having a sword trail on almost every animation. I changed it back to true and added the sword trail code to many of the SubAction's GFX sections. Works like a charm now :).

Thank you for the replies.

P.S. Where is fighter.pac? (At first I thought you were talking about generic Fit<Character>.pac, but it seems that is not the case.)
 

.Fade

Smash Journeyman
Joined
Jul 27, 2009
Messages
345
I think there should be a Flags page on the WikiSA, that describes all of its functions in-depth.
 

.Fade

Smash Journeyman
Joined
Jul 27, 2009
Messages
345
I was thinking of making one. Can you throw one together from Magus' posts and whatever, and I'll format it?
1st Digit: Priority
X-------
3 - Standard Priority. Clashes with other Priority 3 attacks.
2 - Superior Priority. Cannot be interrupted by Priority 3 attacks. Clashes with Priority 2 attacks.
1 - Transcendent Priority - Does not clash, therefore cannot be interrupted.
0 - Does not connect.

4th Digit: Target State
---X----
1 - Offensive collision bubble will only be in effect if opponent is grounded.
2 - Offensive collision bubble will only be in effect if opponent is in the air.
3 - Offensive collision bubble will appear regardless of opponent's state.

7th Digit: GFX/SFX [Unconfirmed] + Effect Type
------X-
This is typically 0, 4, or 8, plus the effect type value. For example, say the 7th digit is 8, and you give the attack the darkness effect [13]. The result for the 7th and 8th digits would be 80 + 13, which would = 93 for the last two digits.

7th and 8th Digit: Effect Type
------XX
00 - Normal Hit
01 - None
02 - Slash
03 - Electricity
04 - Ice
05 - Flame
06 - Coin
07 - Reverse [Cape]
08 - Slip*
09 - Sleep*
0A - None
0B - Impale [DK's Side B]*
0C - Stun
0E - Poison [Flower]
0F - None
10 - None
11 - Slash 2
12 - Normal Hit 2
13 - Darkness
14 - Stun [similar to hitlag]
15 - Aura
16 - Impale 2
17 - Dizzy
18 - No Flinch
*These effects only work if the opponent is on the ground. If the opponent is in the air, they act as normal hits.
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
So I finally deciphered those elusive commands, such as 2716 or 271C or things of that nature. They aren't priority, they are status's.

02060100 PARAM1 - VALUE Set's the status
02080100 PARAM1- VALUE Clears the status

An example. During dash, the change to running happens at different times per character. If you look at the dump in fighter.pac, you see the following:

Code:
BLAHBLAH
[COLOR="Red"]Change Action(Priority) - Priority=0x2719, ID=0x4, Requirement=Compare, Variable=IC-Basic[1011], Comparison=0x4, Variable=IC-Basic[3126], 
!Status-08! 02080100 - 0x2719, [/COLOR]
Change Action(Priority) - Priority=0x2710, ID=0x0, Requirement=Animation End, 
Change Action(Priority) - Priority=0x271A, ID=0x8C, Requirement=Unknown(0x2714), Variable=0x2, 
Additional Requirement - Requirement=Not Bit is Set, Variable=RA-Bit[19], 
Subroutine - Offset=@A6E4, 
Change Subaction - Dash
Now, measuring in game, G&W changes to run on frame 9 of dash. Guess whats in his pac:

Dash
Aysnch timer = 8
02060100 - 0-2719

Immensely useful for these stubborn fighter.pac functions, Enjoy :)
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
Fun fact, tripping is programmed by these status commands, 271A LOL
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
Waaaiit wait wait wait. Wait. ...wait.

...I don't think I get it. <.<

What exactly does the status influence? Does having a "status" cleared means it doesn't Change Action until it is later "set"? I can see that in many instances, the status is cleared immediately after the corresponding Change Action, though sometimes it occurs later in the action.

An example I see is in Link's Up+B, there is a Change Action 117 (the special hi charge action) that activates on Animation end with "status" 27A2. Then, later in the same action, if Link is not on the ground, it clears 27A2, thus disabling the ability to change action to 117, I take it.

Am I properly understanding this?

Good work though! Even if I'm kind of dense at the moment.
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
Waaaiit wait wait wait. Wait. ...wait.

...I don't think I get it. <.<

What exactly does the status influence? Does having a "status" cleared means it doesn't Change Action until it is later "set"? I can see that in many instances, the status is cleared immediately after the corresponding Change Action, though sometimes it occurs later in the action.

An example I see is in Link's Up+B, there is a Change Action 117 (the special hi charge action) that activates on Animation end with "status" 27A2. Then, later in the same action, if Link is not on the ground, it clears 27A2, thus disabling the ability to change action to 117, I take it.

Am I properly understanding this?

Good work though! Even if I'm kind of dense at the moment.
Exactly. Imagine these as a new form of Bit variables, which might even be smart variables (that clear or set on their own depending on situations).

We'll need to learn more about each one in a case by case basis.
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
Exactly. Imagine these as a new form of Bit variables, which might even be smart variables (that clear or set on their own depending on situations).

We'll need to learn more about each one in a case by case basis.
Ah! Excellent! This is going to go a long way clarifying previously obscure and confusing code. Nice find!
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
I think these allow you to "force a action switch" or "disable a action switch" as well.


I have put these in as "Allow Change Action" and "Disable Change Action" with one parameter: StatusID :p
 

[TSON]

Hella.
Joined
May 7, 2008
Messages
3,422
Location
Macomb, MI
NNID
oTSONo
That's already there, it's "Terminate Instance". Transformations (Zelda/Sheik for example) use that as well.
 

Wind Owl

Smash Lord
Joined
Feb 1, 2008
Messages
1,856
Location
Suburbs of Philadelphia, PA
P.S. Where is fighter.pac? (At first I thought you were talking about generic Fit<Character>.pac, but it seems that is not the case.)
It's its own file in the fighter directory of the Brawl ISO. It can only be read with OpenSA2 and can only be modified via GCT codes.
I made a mistake. Apparently there is a copy of Fighter.pac within common3*.pac, and the one in the /fighter/ directory is never actually used by the game.
 

Amazing Ampharos

Balanced Brawl Designer
Writing Team
Joined
Jan 31, 2008
Messages
4,582
Location
Kansas City, MO
2E isn't just sleep counter expired; it's also used for the time-based termination of grounding and freeze I believe. I'll copy from an appropriate WBR topic here.

Thanks a lot! I looked at neighboring action IDs, and I was able to figure some stuff out from that.

C7 is being grounded. C8 is the idle state for while you're grounded. C9 is exiting the grounded state. The general change action commands show that C7 goes to either C8 or C9 depending on situation (like it goes right to C9 in the air), and C8 goes to C9 so I'm just concluding this is how it works based on what I know from elsewhere. A fighter.pac injection should best target C7 for reliable results.

CA is indeed the main frozen action. CB appears to be exiting the frozen state since CA leads into CB.

In both cases, requirement 2E is used to determine the transitions. That requirement must be "timer is at zero" or something to that effect.

I see nothing obvious linking to or out of EC; EC itself has five lines of code, four of which are undocumented (the last being item visibility). This would have been all but impossible to find just looking at fighter.pac.

I'll go update the action ID topic with these (and the other day, I updated it with the teetering on edge actions; I think someone previously had found them, but I stumbled on them myself in a failed search for freezing and grounding). The list is kinda cobbled together in a lot of ways; if anyone has any improvements, I'd be happy to implement them.

http://www.smashboards.com/showthread.php?t=239768
 
Top Bottom