Jump to content

Diving time based on HP


bruddog

Recommended Posts

This hack changes the dive animation time based on the players HP. The normal dive animation time is 7 frames. This will subtract a frame for every HP notch above 50 up to a minimum of 2 frame. And increase the dive animation time to a maximum of 14 for a 6 HP player. This might use the same space as various other hacks so move the location or bank switch and change the code if needed. 


 


LDY #$1C

LDA ($AE),Y                           // get player HP

LSR                                        // divide by 2

LSR                                        // divide by 2

AND #$0F                              // make sure its 0-15 value

CLC                                       // CLC just in case

CMP #$0C                             // check is HP is >=81            

BCS  SET to TWO                  // if HP >= 81 set dive animation to TWO

EOR #$FF

ADC #$0F                               // convert to negative number and add 1+ 14 to get dive animation time. 50HP= normal 7

JSR  $DACB

RTS

 

 

SET TO TWO    

LDA #$02 

JSR  $DACB

RTS

 

 


SET 0x2AAA8 20EOBFEAEA


SET 0x2BFF0 A01CB1AE4A4A290F18C90BB00849FF690F20CBDA60A90220CBDA60


 


Link to comment
Share on other sites

Man, this is SWEET!  I didn't even think about this as a way to make HP more relevant, but it makes perfect sense (especially with the way I rate players where their Madden tackling rating = HP for all defensive players, except DL).


 


So, if I wanted to make the quickest possible dive = 02, and the slowest possible dive = 12, what would I need to change?


Link to comment
Share on other sites

What to do if want to use QUICKNESS for this instead of HP?


 


Also, need tutorial on this: quote"This might use the same space as various other hacks so move the location or bank switch and change the code if needed. "


Edited by buck
Link to comment
Share on other sites

Wanting to use quickness changes and lengthens the code quite a bit since it isn't stored in the player ram area. But it can be done.

Jstout and cxrom have posted examples of how to bank switch but i can post it again here at some point. It would also require changing the hack since the bank switch itself takes up a decent amount of code.

Link to comment
Share on other sites

Wanting to use quickness changes and lengthens the code quite a bit since it isn't stored in the player ram area. But it can be done.

Jstout and cxrom have posted examples of how to bank switch but i can post it again here at some point. It would also require changing the hack since the bank switch itself takes up a decent amount of code.

 

thanks.  makes more sense to me to use Quickness instead of HP.  cool idea either way.  nice job.

Link to comment
Share on other sites

I wanted to avoid RS so that great corners that sucked or or avg at tackling wouldn't be great at dive tackling with this hack. I agree HP is not quite right but there are only so many attributes.

RP then? Great corners get high RS but low RP?
Link to comment
Share on other sites

I personally think that HP is the perfect attribute -- should to be related to how well you can tackle.  The only issue I have though, is if you use bruddog's other HP hacks, then you're basically confined to using LB's all the time because you'll probably never be able to make a tackle with a DB unless the RB is exceptionally weak.  After testing this today, I think the spread should be a little tighter -- from 09 to 03.  When chasing down a RB from behind a DB's dive never works.  And then maybe factor in a little less HP in the grapple hacks to allow for more randomness.  For instance:


09=19 HP or below


08=25-31 HP


07=38-44 HP


06=50-56 HP


05=63-69 HP


04=75-81 HP


03=88 HP or above


Link to comment
Share on other sites

  • 1 year later...

This might use the same space as various other hacks so move the location or bank switch and change the code if needed. 

 

This is a great hack.

 

I'm trying to move the 2nd string to 0x2CF2E (just a bunch of FF's there).

 

I thought I did that by changing the 1st line to 0x201ECFEAEA ("switch the bytes, then -10..."), but that just caused a crash... on the ROM I'm using, and on the OG ROM as well. Not sure why, though. That method has worked for me before. What am I doing wrong now?

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.

×
×
  • Create New...