Jump to content

AVOID PASS BLOCK BUG...only correct during non-cutscenes


bruddog

Recommended Posts

LDY #$08                         ; LOAD PLAYER ID

LDA ($3E),Y                      ;

JSR L_DD8D                       ; GET ACTUAL PLAYER AND TEAM(A=PLAYER ID) RET X=TEAM A= PLAYER()

LDY #$89                         ; LOAD AVOID PASS BLOCK SKILL INDEX

JSR L_DDAA                       ; GET SKILL RATING(Y=SKILL TO GET) RETURNS SKILL INDEX IN Y

Y REGISTER HOLDS THE CORRECT SKILL INDEX

LDA $B6                          ; Load random with 8 possible values

AND #$20                         ;

BNE L_21_AD3E                    ; 35% to check for block with cutscene

WITH NO CUT-SCENE THE Y REGISTER STILL HOLDS THE CORRECT PASS BLOCK INDEX

       ; PASS BLOCK CHECK NO CUTSCENE

LDA $3D              ; LOAD random number

CMP AVOID_PASS_BLOCK_VALUES,Y  ; iS random > pass block values

....

....

BUG OCCURS BELOW THE Y REGISTER WHICH HELD THE AVOID PASS BLOCK INDEX HAS BEEN OVERWRITTEN AND IS

NEVER RELOADED

; PASS BLOCK CHECK WITH CUT-SCENE

LDY #$08     ; LOAD PLAYER ID

LDA ($AE),Y                      ;

CLC                            ; CONVERT PLAYER ID TO DEFENDER NOTATION

ADC #$0B        ;                 

AND #$1F                         ; MASK out P1/P2 bit to convert to defender notation 0B=RE, 0C=NT, etc

STA $0680                        ; STORE DEFENDER BLOCKING PASS FOR CUTSCENE

SINCE THE Y REGISTER IS NEVER RELOADED WITH THE QB'S CORRECT SKILL OUR SKILL INDEX IS Y= 08 FROM ABOVE WHICH IS

EQUAL TO A 56 RATING.

LDA $3D                   ; LOAD RANDOM NUM

CMP AVOID_PASS_BLOCK_VALUES,Y   ; random > pass block

Link to comment
Share on other sites

The formatting looks shitty...unreadable on mobile basically....  but hopefully people can follow along on a desktop. Basically the game overwrites the register holding the skill value for an avoid pass block if a cutscene is triggered. 


 


A cutscene is triggered about 35% of the time for avoid pass block based a pre-determined random number.


Link to comment
Share on other sites

Well in the above code the cutscene hasn't even been played yet. So just removing the cutscene won't work. 


 


1. Reloading the skill value in the "check for pass block and do cutscene path"


 


2. Not letting it branch to that path at all and thus no pass block, or pass block miss cutscene would be played.


Link to comment
Share on other sites

  • 4 weeks later...
  • 6 months later...
  • 7 months later...
  • 1 year later...

Based on the info I've read from others on here I made a probability chart for reference.  Odds may not be exact.   Please excuse the crudity of this model. If something does not look right let me know and I can update. 

 

It the cut scene does not come up below are the APB odds.  " If the cut scene does come up it uses 50APB" or 20.3%

 

Updated the below chart based on Bruddog's HSTL discord post. Thanks Bruddog!

 

image.thumb.png.fb469eeb793ef196ef0f4eb0fa89e82a.png

Edited by Darth RockMan
Upated info...
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...