Advertisement
Guest User

Untitled

a guest
Jul 29th, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DIDefCheck:
  2. push r1
  3. push r0
  4. push {r2-r7}
  5. mov r0,0x0
  6. ldr r6,=0x03003FC8
  7. ldrb r6,[r6]
  8. cmp r6,0x0
  9. beq DIDefBonusEnd
  10. ldr r0,=0x030013B0 ;(r5=030013D0)
  11. ldr r0,[r0] ;r0=UnitArray
  12. ldrb r0,[r0] ;r0=UnitID
  13. mov r2,0x5C
  14. mul r0,r2
  15. ldr r2,=0x085D5ABC
  16. add r0,r0,r2
  17. ldrb r0,[r0,0xE] ;r0=UnitRange
  18. mov r6,r0
  19.  
  20. ldr r0,[r5] ;r5=UnitData
  21. ldr r1,=0x02022690
  22. sub r0,r0,r1
  23. ldr r1,=0x300
  24. swi 0x6 ;r0=PlayerID
  25. mov r2,0x3C
  26. mul r0,r2
  27. ldr r2,=0x020232DD
  28. add r0,r0,r2 ;r0=COIDAddress
  29. ldrb r5,[r0] ;r5=COID - used later
  30. ldrb r1,[r0,0x1] ;r1=COStatus
  31. ldr r4,=0x085D66B0
  32. mov r2,0x10
  33. mov r3,0x04
  34. mul r5,r2 ;r5=r5*0x10
  35. mul r1,r3 ;r1=r1*0x04
  36. add r5,r5,r4
  37. add r5,r5,r1 ;r5=SkillBitAddress
  38. mov r2,r5 ;r2=SkillBitAddress - used later
  39. ldrb r5,[r5] ;r5=SkillBitNum
  40.  
  41. mov r0,r6
  42. cmp r0,0x01
  43. bgt IndirectDefBonus
  44. DirectDefBonus:
  45. mov r0,r5
  46. mov r1,0x02
  47. and r0,r1
  48. cmp r0,0x00
  49. beq DIDefBonusEnd
  50. mov r1,0x1
  51. ldsb r2,[r2,r1] ;r2=Bonus
  52. mov r0,r2 ;r0=Bonus
  53. ldr r1,=DIDefBonusEnd
  54. bx r1
  55. IndirectDefBonus:
  56. mov r0,r5
  57. mov r1,0x04
  58. and r0,r1
  59. cmp r0,0x00
  60. beq DIDefBonusEnd
  61. mov r1,0x1
  62. ldsb r2,[r2,r1] ;r2=Bonus
  63. mov r0,r2 ;r0=Bonus
  64. ldr r1,=DIDefBonusEnd
  65. bx r1
  66. DIDefBonusEnd:
  67. pop {r2-r7}
  68. mov r1,r0 ;move bonus to r1
  69. pop r0
  70. add r0,r0,r1 ;add bonus
  71. pop r1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement