SHARE
TWEET

Hextator

a guest Feb 3rd, 2010 137 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //////////////////////////////
  2. 0x80249198 - Reads index of selected badge(?)
  3. 0x80270180 - Badge ID used to index an array here that is a sorted copy of Mario's badges
  4.         Each entry in the array is a 2 byte item ID (items and badges, etc. are
  5.         all apart of the same "list") just like the actual badge array
  6. 0x800E7884 - After calling the below
  7. 0x800E9D48 - Returns number of HP Plus badges equipped in V0 (arguments are unknown)
  8.  
  9. .org                            0x800EA074
  10. BEQL    V1,     V0,             0x800EA07C
  11. ADDIU   A1,     A1,     0x0001  ;Increments number of badges equipped
  12. ;-------------------------------;of the current kind being checked
  13. .org                            0x800EA07C
  14.  
  15. V0 is the "effect value" of the current badge type being checked and V1 is the "effect value"
  16. of the badge currently being tested against V0 from the array of equipped badges,
  17. which is located at 0x8010F498 and contains 0x40 2 byte entries
  18. The "effect value" is an unsigned byte value obtained by using the badge ID to index an array
  19. of structs located at 0x800878F8 which are in this format:
  20.  
  21. typedef struct {
  22.         byte[2] unk_bytes_1;
  23.         u8 effectVal;
  24.         byte[29] unk_bytes_2;
  25. } badge_data; // Size == 32
  26.  
  27. 0x800E9DBC
  28. Usually 0x84430208
  29. Change to 0x24030114 to make the game think 64 Lucky Day badges are equipped
  30.  
  31. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  32.  
  33. .org                            0x80263B60
  34. LH      V0,     0x0208  (A1)    ;Reads a badge ID from the array of equipped
  35. ;-------------------------------;badges and increments Mario's attack power by 1
  36. ;-------------------------------;if the loaded badge is a Power Plus badge
  37. ;-------------------------------;(obviously this instruction is part of a loop)
  38.  
  39. .org                            0x800E9FC8
  40. J                               0x800EA074
  41. ADDIU   V0,     R0,     0x0048  ;Comparing to Lucky Day's "effect value"
  42.  
  43. 0x800299FC - Seems to be the routine that returns randomly generated percentages
  44.         Takes an int argument such that the output is between 0 and that argument
  45.  
  46. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  47.  
  48. .org                            0x802773B8
  49. JAL                             0x800299FC
  50. ADDIU   A0,     R0,     0x0064  ;
  51. SLTI    V0,     V0,     0x0014  ;Lucky Day's effectiveness chance
  52. BEQ     V0,     R0,             0x802773D4
  53. ;-------------------------------;Above instruction's value is 0x10400003
  54.  
  55. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56.  
  57. Always Dodge (requires Lucky Day):
  58. D12773C4 1040
  59. 812773C4 2400
  60.  
  61. Lucky Day Effect Always On (don't need Lucky Day):
  62. D10E9FCC 2402
  63. 810E9FCC 0060
  64. D10E9FCE 0048
  65. 810E9FCE 1025
  66.  
  67. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  68.  
  69. .org                            0x80277390
  70. JAL                             0x800299FC
  71. ADDIU   A0,     R0,     0x0064  ;
  72. SLTI    V0,     V0,     0x001E  ;Close Call's effectiveness chance
  73. BNEL    V0,     R0,             0x802773D0
  74. ADDIU   S1,     R0,     0x0005  ;
  75.  
  76. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77.  
  78. .org                            0x80277358
  79. JAL                             0x800299FC
  80. ADDIU   A0,     R0,     0x0064  ;
  81. SLTI    V0,     V0,     0x000A  ;Pretty Lucky's effectiveness chance
  82. BNEL    V0,     R0,             0x802773D0
  83. ADDIU   S1,     R0,     0x0005  ;
  84.  
  85. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86.  
  87. Lucky Day's effect ID is 0x48
  88. Close Call's effect ID is 0x47
  89. Pretty Lucky's effect ID is 0x42
  90. - Apparently Close Call only works if it's one of the first 56 badges you equip?!
  91.         (The loop only goes through the first 0x38 elements of the equipped badges array
  92.         when checking for Close Call equips)
  93. - The badges all stack the way you'd expect: A separate check is done for each type
  94.         (not each badge) to see if they successfully dodge the attack. If any succeed,
  95.         they all do, meaning Mario's dodge rate is 1 - .9(P).8(L).7(C), where
  96.         P, L and C are 1 (and 0 otherwise) if Mario is wearing Pretty Lucky,
  97.         Lucky Day and Close Call (in Danger mode), respectively.
  98.         The maximum dodge rate therefore is 49.6%
  99. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top