NEWS.SRC 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. ;
  2. ;
  3. ; *** HIT JUDGE NEWS ***
  4. ;
  5. ;
  6. XDEF INIT_NEWS,NEWS
  7. XREF ?A5
  8. SECT HK3,,C
  9. INCLUDE LABEL.INC
  10. INIT_NEWS:
  11. CLR.W TARGET_X(A6)
  12. CLR.W TARGET_Y(A6)
  13. RTS
  14. NEWS:
  15. MOVE.L ANOTHER_PLAYER+HERO_OFFSET(A6),A1
  16. LEA.L HERO_OFFSET(A6),A2
  17. ; TST.B SPECIAL_USE(A6)
  18. ; BNE TAMA_NEWS
  19. MOVE.W ACT_CTRL(A1),D0
  20. CMP.W #20H,D0
  21. BCC.S NEWS_2
  22. NON_ATTACK:
  23. CLR.W TARGET_X(A6)
  24. CLR.W TARGET_Y(A6)
  25. RTS
  26. NEWS_2:
  27. TST.B TARGET_X(A6)
  28. BEQ NEWS_21
  29. TST.B TARGET_X+1(A6)
  30. BNE NNN_1
  31. MOVEP.W WORK_N0(A1),D1
  32. CLR.B D1
  33. BTST.B #4,ACT_FLAG(A5,D1.W)
  34. BEQ NNN_END
  35. MOVE.B #1,TARGET_X+1(A6)
  36. RTS
  37. NNN_1:
  38. MOVEP.W WORK_N0(A1),D1
  39. CLR.B D1
  40. BTST.B #4,ACT_FLAG(A5,D1.W)
  41. BNE.S NNN_END
  42. MOVE.B #2,TARGET_X+1(A6)
  43. CLR.B TARGET_Y(A6)
  44. NNN_END:
  45. RTS
  46. NEWS_21:
  47. MOVE.B D0,TARGET_X(A6)
  48. LEA.L ATTACK_ATTR1(PC),A0
  49. TST.W HERO_TYPE(A1)
  50. BEQ.S NEWS_3
  51. LEA.L ATTACK_ATTR2(PC),A0
  52. NEWS_3:
  53. ADD.W D0,D0
  54. ADD.W D0,D0
  55. LEA.L -80H(A0,D0.W),A0
  56. MOVE.B (A0),D0
  57. BEQ NON_ATTACK
  58. BMI MOVE_ATTACK
  59. NML_ATTACK:
  60. MOVEP.W WORK_N2(A3),D3
  61. CLR.B D3
  62. MOVE.W 2(A0),D4
  63. BSR NML_SUB
  64. BCC.S NON_ATTACK
  65. MOVE.B 1(A0),TARGET_Y+1(A6)
  66. MOVE.B #1,TARGET_Y(A6)
  67. RTS
  68. NML_SUB:
  69. MOVEP.W WORK_N0(A1),D0
  70. CLR.B D0
  71. BTST.B #ACTAT_FLIP,ACT_ATTR(A5,D0.W)
  72. BEQ.S NML_ATTACK_1
  73. NEG.W D4
  74. MOVE.W HIT_RIGHT(A5,D3.W),D2
  75. ADD.W X_POSITION(A1),D4
  76. CMP.W D2,D4
  77. RTS
  78. NML_ATTACK_1:
  79. MOVE.W HIT_LEFT(A5,D3.W),D2
  80. ADD.W X_POSITION(A1),D4
  81. CMP.W D4,D2
  82. RTS
  83. MOVE_ATTACK:
  84. CMP.B #0FFH,D0
  85. BEQ HISSATU
  86. ;
  87. MOVE.W 2(A0),D1
  88. MOVEP.W WORK_N0(A1),D0
  89. CLR.B D0
  90. BTST.B #ACTAT_FLIP,ACT_ATTR(A5,D0.W)
  91. BEQ.S MOVE_AT_1
  92. NEG.W D1
  93. MOVE_AT_1:
  94. ADD.W X_POSITION(A1),D1
  95. SUB.W X_POSITION(A2),D1
  96. BMI MI_LEFT
  97. MOVE.W VX(A5,D0.W),D2
  98. BMI NON_ATTACK
  99. BEQ NML_ATTACK
  100. MOVE_AT_2:
  101. EXT.L D1
  102. DIVS D2,D1
  103. MOVE.B D1,TARGET_Y+1(A6)
  104. MOVE.B #1,TARGET_Y(A6)
  105. RTS
  106. MI_LEFT:
  107. MOVE.W VX(A5,D0.W),D2
  108. BGT NON_ATTACK
  109. BEQ NML_ATTACK
  110. BRA.S MOVE_AT_2
  111. HISSATU:
  112. MOVE.W #100H,TARGET_Y(A6)
  113. RTS
  114. ATTACK MACRO TYPE,TIME,OFS
  115. DC.B TYPE,TIME
  116. DC.W OFS
  117. ENDM
  118. ATTACK_ATTR1:
  119. ;P1
  120. ATTACK 01,01,15+61 P1
  121. ATTACK 01,04,29+75 P2
  122. ATTACK 01,01,15+61 P1
  123. ATTACK 01,02,27+58 P3
  124. ATTACK 01,11,32+55 P4
  125. ATTACK 01,11,32+55 P4
  126. ATTACK 01,05,26+31 P5
  127. ATTACK 01,03,31+70 DP
  128. ATTACK 80H,02,26+37 JP
  129. ATTACK 0,0,0
  130. ATTACK 0,0,0
  131. ATTACK 0,0,0
  132. ATTACK 0,0,0
  133. ATTACK 0,0,0
  134. ATTACK 0,0,0
  135. ATTACK 0,0,0
  136. ATTACK 01,06,80 K1
  137. ATTACK 01,23,94 K2
  138. ATTACK 01,06,80 K1
  139. ATTACK 01,43,56 K3
  140. ATTACK 01,04,106 K4
  141. ATTACK 01,04,106 K4
  142. ATTACK 0,0,0
  143. ATTACK 01,04,104 DK
  144. ATTACK 80H,03,71 JK
  145. ATTACK 80H,03,89 JB
  146. ATTACK 81H,18,-104 JT
  147. ATTACK 0,0,0
  148. ATTACK 0,0,0
  149. ATTACK 0,0,0
  150. ATTACK 0,0,0
  151. ATTACK 0,0,0
  152. ATTACK 0FFH,0,0 KOO
  153. ATTACK 0FFH,38,102 HIEN
  154. ATTACK 01,01,110 ZAIRETU
  155. ATTACK 0FFH,0,0 HAOO
  156. ATTACK_ATTR2:
  157. ATTACK 01,01,19+63 P1
  158. ATTACK 01,01,115 P2
  159. ATTACK 01,01,19+63 P1
  160. ATTACK 01,08,77 P3
  161. ATTACK 01,05,73 P4
  162. ATTACK 01,05,73 P4
  163. ATTACK 01,05,32+34 P5
  164. ATTACK 01,03,101 DP
  165. ATTACK 80H,03,89 JP
  166. ATTACK 0,0,0
  167. ATTACK 0,0,0
  168. ATTACK 0,0,0
  169. ATTACK 0,0,0
  170. ATTACK 0,0,0
  171. ATTACK 0,0,0
  172. ATTACK 0,0,0
  173. ATTACK 01,05,81 K1
  174. ATTACK 01,05,99 K2
  175. ATTACK 01,05,81 K1
  176. ATTACK 01,11,127 K3
  177. ATTACK 01,03,105 K4
  178. ATTACK 01,03,105 K4
  179. ATTACK 0,0,0
  180. ATTACK 01,04,103 DK
  181. ATTACK 80H,03,86 JK
  182. ATTACK 80H,11,90 JB
  183. ATTACK 82H,18,-86 JT
  184. ATTACK 0,0,0
  185. ATTACK 0,0,0
  186. ATTACK 0,0,0
  187. ATTACK 0,0,0
  188. ATTACK 0,0,0
  189. ATTACK 0FFH,0,0 KOO
  190. ATTACK 0FFH,38,102 HIEN
  191. ATTACK 01,01,110 ZAIRETU
  192. ATTACK 0FFH,0,0 HAOO
  193. INCLUDE WORK.INC
  194.