DMG_SET.SRC 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471
  1. ;
  2. ;
  3. ; *** HERO DAMAGE CONTOROL ***
  4. ;
  5. ;
  6. XDEF H1_DAMAGE_SET,H1_DEAD_SET
  7. XDEF H2_DAMAGE_SET,H2_DEAD_SET
  8. XDEF E1_DAMAGE_SET,E1_DEAD_SET
  9. XDEF E2_DAMAGE_SET,E2_DEAD_SET
  10. XDEF E3_DAMAGE_SET,E3_DEAD_SET
  11. XDEF E4_DAMAGE_SET,E4_DEAD_SET
  12. XDEF E5_DAMAGE_SET,E5_DEAD_SET
  13. XDEF E6_DAMAGE_SET,E6_DEAD_SET
  14. XDEF E7_DAMAGE_SET,E7_DEAD_SET
  15. XDEF E8_DAMAGE_SET,E8_DEAD_SET
  16. XDEF ALL_DEAD_SOUND,RIKI_SOUND_CUT
  17. XREF ?A5
  18. ;by SUB
  19. XREF SET_SOUND
  20. ;by GAME_SUB
  21. XREF RANDOM_EFFECT
  22. SECT HERO,,C
  23. INCLUDE LABEL.INC
  24. INCLUDE HFLAG.INC
  25. INCLUDE HERO_STP.INC
  26. INCLUDE ACT_No.INC
  27. INCLUDE ACT_GRP.INC
  28. INCLUDE CTRL_No.INC
  29. INCLUDE SMACRO.INC
  30. INCLUDE SCODE.INC
  31. ;
  32. ;
  33. ; *** DAMAGE PROGRAM ***
  34. ;
  35. ;
  36. EFFECT_CUT:
  37. CMP.B #RIKI_STEP,STEP1(A6)
  38. BEQ.S RIKI_SOUND_CUT
  39. CMP.B #COM_STEP,STEP1(A6)
  40. BEQ COM_SOUND_CUT
  41. RTS
  42. RIKI_SOUND_CUT:
  43. MOVE.W HERO_TYPE(A6),D0
  44. ADD.W D0,D0
  45. MOVE.W RIKI_CUT_CODE(PC,D0.W),D0
  46. JSR.S SET_SOUND
  47. RTS
  48. RIKI_CUT_CODE:
  49. DC.W S_RYO_STOP1
  50. DC.W S_ROBART_STOP1
  51. DC.W S_TODO_OYAZI_STOP1
  52. DC.W S_JACK_BIG_STOP1
  53. DC.W S_LIE_STOP1
  54. DC.W S_KING_STOP1
  55. DC.W S_MICKY_STOP1
  56. DC.W S_JON_STOP1
  57. DC.W S_JACK_BIG_STOP1
  58. DC.W S_TODO_OYAZI_STOP1
  59. COM_SOUND_CUT:
  60. MOVE.W HERO_TYPE(A6),D0
  61. ADD.W D0,D0
  62. TST.B COUNTRY_CODE(A5)
  63. BEQ.S COM_SOUND_CUT_1
  64. ADDQ.W #1,D0
  65. COM_SOUND_CUT_1:
  66. ADD.W D0,D0
  67. MOVE.W COM_CUT_CODE(PC,D0.W),D0
  68. JSR.S SET_SOUND
  69. RTS
  70. COM_CUT_CODE;:
  71. DC.W S_RYO_STOP2
  72. DC.W S_RYO_STOP2
  73. DC.W S_ROBART_STOP2
  74. DC.W S_ROBART_STOP2
  75. DC.W S_TODO_STOP2
  76. DC.W S_TODO_STOP2
  77. DC.W S_JACK_STOP2
  78. DC.W S_JACK_STOP2
  79. DC.W S_LIE_STOP2
  80. DC.W S_LIE_STOP2
  81. DC.W S_KING_STOP2
  82. DC.W S_KING_STOP2
  83. DC.W S_MICKY_STOP2
  84. DC.W S_MICKY_STOP2
  85. DC.W S_JON_STOP2
  86. DC.W S_JON_STOP3
  87. DC.W S_BIG_STOP2
  88. DC.W S_BIG_STOP2
  89. DC.W S_OYAZI_STOP2
  90. DC.W S_OYAZI_STOP2
  91. DSN MACRO C1,C2
  92. DC.W S_\1,S_\2
  93. ENDM
  94. DAM_CONV:
  95. ;LIVE
  96. ;normal
  97. DC.B 00,01,02,03,05,06,07,08 face
  98. DC.B 10,11,12,13,10,11,12,13 body
  99. DC.B 15,16,17,18,15,16,17,18 foot
  100. DC.B 15,16,17,18,15,16,17,18 foot
  101. ;sit
  102. DC.B 20,21,22,23,20,21,22,23
  103. DC.B 20,21,22,23,20,21,22,23
  104. DC.B 20,21,22,23,20,21,22,23
  105. DC.B 20,21,22,23,20,21,22,23
  106. ;jump
  107. DC.B 25,25,26,26,25,25,26,26
  108. DC.B 25,25,26,26,25,25,26,26
  109. DC.B 25,25,26,26,25,25,26,26
  110. DC.B 25,25,26,26,25,25,26,26
  111. ;DEAD
  112. ;normal
  113. DC.B 04,04,28,28,09,09,29,29 face
  114. DC.B 14,14,30,30,14,14,30,30 body
  115. DC.B 19,19,31,31,19,19,31,31 foot
  116. DC.B 19,19,19,19,19,19,19,19 foot
  117. ;sit
  118. DC.B 24,24,32,32,24,24,32,32
  119. DC.B 24,24,32,32,24,24,32,32
  120. DC.B 24,24,32,32,24,24,32,32
  121. DC.B 24,24,32,32,24,24,32,32
  122. ;jump
  123. DC.B 27,27,27,27,27,27,27,27
  124. DC.B 27,27,27,27,27,27,27,27
  125. DC.B 27,27,27,27,27,27,27,27
  126. DC.B 27,27,27,27,27,27,27,27
  127. DAMAGE_JUDGE:
  128. ; position 0 face
  129. ; 1 body
  130. ; 2 foot
  131. ; 3 dummy
  132. ; direction 0 temae
  133. ; 1 oku
  134. ; level 0
  135. ; 1
  136. ; 2
  137. ; 3
  138. ; condition 0 normal
  139. ; 1 sitdown
  140. ; 2 jump
  141. ; 3 dummy
  142. ;
  143. ; out) D1 d0,1 level
  144. ; d2 direction
  145. ; d3,4 position
  146. ; d5,6 condition
  147. MOVE.L ANOTHER_PLAYER(A6),A0
  148. BSR JUMP_ATTACK_STOP
  149. MOVEQ.L #0,D1
  150. BSR DJ_COND
  151. BSR DJ_POSITION
  152. BSR DJ_DIRECTION
  153. BSR DJ_LEVEL
  154. BSR DJ_SPECIAL
  155. BSR DJ_LOCK_DEC
  156. RTS
  157. DJ_LOCK_DEC:
  158. TST.B DAMAGE_LOCK(A0)
  159. BLE.S DJ_LOCK_DEC_1
  160. SUBQ.B #1,DAMAGE_LOCK(A0)
  161. DJ_LOCK_DEC_1:
  162. RTS
  163. DJ_SPECIAL:
  164. MOVEQ.L #0,D0
  165. MOVE.B DEF_DAMAGE_ACT_TYPE(A6),D0
  166. ADD.W D0,D0
  167. ADD.W D0,D0
  168. JMP DJSP_TBL(PC,D0.W)
  169. DJSP_TBL:
  170. RTS
  171. NOP
  172. JMP DJSP_LOCK_OFF(PC)
  173. JMP DJSP_RET100(PC)
  174. JMP DJSP_RET100(PC)
  175. JMP DJSP_RET100(PC)
  176. DJSP_RET100:
  177. MOVEQ.L #0FH,D0
  178. AND.B DEF_HIT_TYPE_No(A6),D0
  179. CMP.B #3,D0
  180. BNE.S DJSP_RET100_1
  181. DJSP_RET100_NON:
  182. RTS
  183. DJSP_RET100_1:
  184. ADDQ.L #8,SP
  185. CMP.B #RET100_STEP,STEP1(A6)
  186. BEQ.S DJSP_RET100_NON
  187. MOVE.W #S_100RETU,D0
  188. JSR.S SET_SOUND
  189. BSET.B #BHS_JUMP,HERO_STATE(A6)
  190. MOVEQ.L #1,D1
  191. MOVEP.W WORK_N0(A0),D0
  192. CLR.B D0
  193. AND.B ACT_ATTR(A5,D0.W),D1
  194. EOR.B #1,D1
  195. MOVE.W #11111110B,D2
  196. AND.B ACT_ATTR(A4),D2
  197. OR.B D1,D2
  198. MOVE.B D2,ACT_ATTR(A4)
  199. MOVE.W HERO_TYPE(A6),D1
  200. ADD.W D1,D1
  201. MOVE.W RET100_ACT(PC,D1.W),HERO_ACT_No(A6)
  202. MOVE.B #RET100_STEP,STEP1(A6)
  203. MOVE.B #1,MASTER_REQUEST(A4)
  204. ADD.W D1,D1
  205. MOVE.L RET100_POS(PC,D1.W),ADRS1(A4)
  206. RTS
  207. RET100_ACT:
  208. DC.W C_H1_DAM_100
  209. DC.W C_H2_DAM_100
  210. DC.W C_E1_DAM_100
  211. DC.W C_E2_DAM_100
  212. DC.W C_E3_DAM_100
  213. DC.W C_E4_DAM_100
  214. DC.W C_E5_DAM_100
  215. DC.W C_E6_DAM_100
  216. DC.W C_E7_DAM_100
  217. DC.W C_E8_DAM_100
  218. RET100_POS:
  219. DC.L RET100_H1
  220. DC.L RET100_H2
  221. DC.L RET100_E1
  222. DC.L RET100_E2
  223. DC.L RET100_E3
  224. DC.L RET100_E4
  225. DC.L RET100_E5
  226. DC.L RET100_E6
  227. DC.L RET100_E7
  228. DC.L RET100_H1
  229. RET100_H1:
  230. DC.W 64,3 0
  231. DC.W 64,33 1
  232. DC.W 43,66 2
  233. DC.W 64,3 3
  234. DC.W 64,33 4
  235. DC.W 43,66 5
  236. DC.W 74,3 6
  237. DC.W 75,33 7
  238. DC.W 53,66 8
  239. DC.W 48,0 9
  240. RET100_H2:
  241. DC.W 64,3 0
  242. DC.W 64,33 1
  243. DC.W 53,66 2
  244. DC.W 64,3 3
  245. DC.W 64,33 4
  246. DC.W 53,66 5
  247. DC.W 74,3 6
  248. DC.W 74,33 7
  249. DC.W 59,67 8
  250. DC.W 48,0 9
  251. RET100_E1:
  252. DC.W 64,3 0
  253. DC.W 64,33 1
  254. DC.W 53,66 2
  255. DC.W 64,3 3
  256. DC.W 64,33 4
  257. DC.W 53,66 5
  258. DC.W 74,3 6
  259. DC.W 75,33 7
  260. DC.W 52,66 8
  261. DC.W 48,0 9
  262. RET100_E2:
  263. DC.W 64,3 0
  264. DC.W 64,33 1
  265. DC.W 43,66 2
  266. DC.W 64,3 3
  267. DC.W 64,33 4
  268. DC.W 43,66 5
  269. DC.W 74,3 6
  270. DC.W 75,33 7
  271. DC.W 52,66 8
  272. DC.W 48,0 9
  273. RET100_E3:
  274. DC.W 64,11 0
  275. DC.W 64,41 1
  276. DC.W 43,74 2
  277. DC.W 64,11 3
  278. DC.W 64,41 4
  279. DC.W 43,74 5
  280. DC.W 74,11 6
  281. DC.W 75,41 7
  282. DC.W 52,76 8
  283. DC.W 48,0 9
  284. RET100_E4:
  285. DC.W 64,3 0
  286. DC.W 64,33 1
  287. DC.W 43,66 2
  288. DC.W 64,3 3
  289. DC.W 64,33 4
  290. DC.W 43,66 5
  291. DC.W 74,3 6
  292. DC.W 75,33 7
  293. DC.W 52,66 8
  294. DC.W 48,0 9
  295. RET100_E5:
  296. DC.W 64,-14 0
  297. DC.W 64,16 1
  298. DC.W 43,50 2
  299. DC.W 64,-14 3
  300. DC.W 64,16 4
  301. DC.W 43,50 5
  302. DC.W 74,-14 6
  303. DC.W 75,16 7
  304. DC.W 52,50 8
  305. DC.W 48,0 9
  306. RET100_E6:
  307. DC.W 64,0 0
  308. DC.W 64,30 1
  309. DC.W 43,63 2
  310. DC.W 64,0 3
  311. DC.W 64,30 4
  312. DC.W 43,63 5
  313. DC.W 74,0 6
  314. DC.W 75,30 7
  315. DC.W 52,63 8
  316. DC.W 48,0 9
  317. RET100_E7:
  318. DC.W 85,-9 0
  319. DC.W 86,21 1
  320. DC.W 63,54 2
  321. DC.W 85,-9 3
  322. DC.W 86,21 4
  323. DC.W 63,54 5
  324. DC.W 95,-9 6
  325. DC.W 96,21 7
  326. DC.W 73,54 8
  327. DC.W 48,0 9
  328. DJSP_LOCK_OFF:
  329. TST.B DAMAGE_LOCK(A0)
  330. BNE.S DJSP_LOCK_OFF_1
  331. OR.B #00000011B,D1 for jump damage
  332. MOVEQ.L #0FH,D0
  333. AND.B DEF_HIT_TYPE_No(A6),D0
  334. CMP.B #3,D0
  335. BNE.S DJSP_LOCK_OFF_1
  336. SUBQ.B #1,D1
  337. MOVE.B #32,DAMAGE_LEVEL2(A6)
  338. DJSP_LOCK_OFF_1:
  339. RTS
  340. JUMP_ATTACK_STOP:
  341. MOVE.W ACT_CTRL(A0),D0
  342. CMP.W #28H,D0 jump punch
  343. BEQ.S JAS_OFF
  344. CMP.W #38H,D0 jump kick
  345. BEQ.S JAS_OFF
  346. CMP.W #3AH,D0 triangle kick
  347. BEQ.S JAS_OFF
  348. RTS
  349. JAS_OFF:
  350. MOVE.W JUMP_VX(A0),D1
  351. ROR.W #1,D1
  352. AND.W #1,D1
  353. MOVEP.W WORK_N0(A0),D0
  354. CLR.B D0
  355. MOVE.B ACT_ATTR(A5,D0.W),D2
  356. AND.B #1,D2
  357. EOR.B D2,D1
  358. BNE.S JAS_OFF_1
  359. CLR.W JUMP_VX(A0)
  360. CLR.W JUMP_AX(A0)
  361. CLR.L VX(A0)
  362. JAS_OFF_1:
  363. RTS
  364. DJ_COND:
  365. TST.L Z_POSITION(A6)
  366. BGT.S DJ_COND_JUMP
  367. BTST.B #BHS_JUMP,HERO_STATE(A6)
  368. BNE.S DJ_COND_JUMP
  369. BTST.B #5,ACT_FLAG(A4) offset jump
  370. BNE.S DJ_COND_JUMP
  371. BTST.B #BHS_DOWN,HERO_STATE(A6)
  372. BNE.S DJ_COND_SIT
  373. RTS
  374. DJ_COND_JUMP:
  375. MOVEQ.L #01000000B,D1
  376. RTS
  377. DJ_COND_SIT:
  378. MOVEQ.L #00100000B,D1
  379. RTS
  380. DJ_POSITION:
  381. MOVEQ.L #0FH,D0
  382. AND.B DEF_HIT_TYPE_No(A6),D0
  383. BEQ.S DJ_POS_BODY
  384. CMP.B #1,D0
  385. BNE.S DJ_POS_BODY
  386. RTS
  387. DJ_POS_BODY:
  388. ADD.W #00001000B,D1
  389. MOVE.W TARGET_Y(A6),D0
  390. SUB.W Z_POSITION(A6),D0
  391. ; SUB.W HERO_LOWER(A6),D0
  392. CMP.W #40H,D0
  393. BGE.S DJ_POS_BODY_1
  394. ADD.W #00001000B,D1
  395. DJ_POS_BODY_1:
  396. RTS
  397. DJ_DIRECTION:
  398. BTST.B #0,DEF_HIT_LR(A6)
  399. BNE.S DJ_DIRECTION_1
  400. ADD.W #00000100B,D1
  401. DJ_DIRECTION_1:
  402. RTS
  403. DJ_LEVEL:
  404. TST.B DAMAGE_LOCK(A0)
  405. BNE.S DJ_LEVEL_LOCK
  406. CMP.B #8,DAMAGE_LEVEL(A6)
  407. BCS.S DJ_LEVEL_1
  408. ADDQ.W #1,D1
  409. CMP.B #16,DAMAGE_LEVEL(A6)
  410. BCS.S DJ_LEVEL_1
  411. ADDQ.W #1,D1
  412. CMP.B #24,DAMAGE_LEVEL(A6)
  413. BCS.S DJ_LEVEL_1
  414. ADDQ.W #1,D1
  415. DJ_LEVEL_1:
  416. BSR DJ_NEXT
  417. RTS
  418. DJ_LEVEL_LOCK:
  419. MOVE.B #1,NON_ADC(A6)
  420. BCLR.B #BHS_DAMAGE,HERO_STATE(A6)
  421. AND.B #7EH,HIT_OFF(A6)
  422. ; SUBQ.B #1,DAMAGE_LOCK(A0)
  423. DJ_NEXT:
  424. MOVEP.W WORK_N0(A0),D0
  425. CLR.B D0
  426. MOVE.B ACT_No(A5,D0.W),D7
  427. AND.B #11000000B,D7
  428. CMP.B #01000000B,D7
  429. BNE.S DJ_LEVEL_LOCK_2
  430. MOVE.L ADRS1(A5,D0.W),A1
  431. MOVE.W (A1)+,HERO_ACT_No(A0)
  432. MOVE.L A1,ADRS1(A5,D0.W)
  433. MOVE.B #-1,MASTER_REQUEST(A5,D0.W)
  434. DJ_LEVEL_LOCK_2:
  435. RTS
  436. DMST_SET:
  437. MOVE.W REG_D4(A5),ACT_CTRL(A6)
  438. MOVE.B #CG_DAMAGE,ACT_GROUP(A6)
  439. JSR EFFECT_CUT(PC)
  440. RTS
  441. GARD_DAMAGE:
  442. MOVEQ.L #00000011B,D0
  443. AND.W D1,D0
  444. CMP.B #3,D0
  445. BNE.S GARD_DAMAGE_1
  446. RTS
  447. GARD_DAMAGE_1:
  448. ADDQ.L #4,SP
  449. MOVE.B #1,ACT_DEC(A4)
  450. MOVE.W ACT_No(A4),ADC_ACT_No(A6)
  451. MOVE.B ACT_COUNT(A4),ADC_ACT_COUNT(A6)
  452. MOVE.B #10000000B,ADC_COMMAND(A6)
  453. MOVEQ.L #0,D0
  454. CMP.B #8,DAMAGE_LEVEL2(A6)
  455. BCS.S GARD_LEVEL_1
  456. ADDQ.W #1,D0
  457. CMP.B #16,DAMAGE_LEVEL2(A6)
  458. BCS.S GARD_LEVEL_1
  459. ADDQ.W #1,D0
  460. CMP.B #24,DAMAGE_LEVEL2(A6)
  461. BCS.S GARD_LEVEL_1
  462. ADDQ.W #1,D0
  463. GARD_LEVEL_1:
  464. MOVE.W HERO_TYPE(A6),D1
  465. ADD.W D1,D1
  466. ADD.W D1,D1
  467. ADD.W D0,D1
  468. ADD.W D1,D1
  469. MOVE.B GDB_DATA(PC,D1.W),D0
  470. MOVE.B D0,ADC_VZ(A6)
  471. ADD.B #12,D0
  472. MOVE.B D0,ACT_TIMER(A4)
  473. MOVE.B GDB_DATA+1(PC,D1.W),(A5)
  474. MOVE.W (A5),ADC_VX(A6)
  475. MOVE.B #DAMAGE3_STEP,STEP1(A6)
  476. RTS
  477. GDB_DATA:
  478. DC.B 6,-4,14,-4,16,-4,16,-4 H1
  479. DC.B 6,-4,14,-4,16,-4,16,-4 H2
  480. DC.B 6,-4,14,-4,16,-4,16,-4 E1
  481. DC.B 10,-2,18,-2,22,-2,22,-2 E2
  482. DC.B 6,-4,14,-4,16,-4,16,-4 E3
  483. DC.B 6,-4,14,-4,16,-4,16,-4 E6
  484. DC.B 6,-4,14,-4,16,-4,16,-4 E5
  485. DC.B 6,-4,14,-4,16,-4,16,-4 E6
  486. DC.B 10,-2,18,-2,22,-2,22,-2 E7
  487. DC.B 6,-4,14,-4,16,-4,16,-4 E8
  488. H1_DAMAGE_SET:
  489. JSR DMST_SET(PC)
  490. JSR DAMAGE_JUDGE(PC)
  491. BSR ALL_DAMAGE_SOUND
  492. MOVEQ.L #0FH,D0
  493. AND.B DEF_HIT_TYPE_No(A6),D0
  494. CMP.B #3,D0
  495. BNE.S H1_DS_1
  496. JSR GARD_DAMAGE(PC)
  497. H1_DS_1:
  498. MOVE.B #1,MASTER_REQUEST(A4)
  499. CLR.B ACT_FLAG(A4)
  500. MOVE.B #1,ACT_DEC(A4)
  501. LEA.L DAM_CONV(PC),A1
  502. LEA.L DH1_ACT_DATA(PC),A2
  503. JSR ALL_DAM_ACT_SET(PC)
  504. RTS
  505. H1_DEAD_SET:
  506. MOVE.B #1,MASTER_REQUEST(A4)
  507. CLR.B ACT_FLAG(A4)
  508. MOVE.B #1,ACT_DEC(A4)
  509. JSR DAMAGE_JUDGE(PC)
  510. BSR ALL_DAMAGE_SOUND
  511. BSR ALL_DEAD_SOUND
  512. LEA.L DAM_CONV+60H(PC),A1
  513. LEA.L DH1_ACT_DATA(PC),A2
  514. JSR ALL_DAM_ACT_SET(PC)
  515. RTS
  516. DH1_ACT_DATA:
  517. ;normal
  518. DC.W C_H1_DAM_HLS 00
  519. DC.W C_H1_DAM_HLM 01
  520. DC.W C_H1_DAM_HLL 02
  521. DC.W C_H1_DAM_HLJ+8000H 03
  522. DC.W C_H1_DAM_OUT 04
  523. DC.W C_H1_DAM_HRS 05
  524. DC.W C_H1_DAM_HRM 06
  525. DC.W C_H1_DAM_HRL 07
  526. DC.W C_H1_DAM_HRJ+8000H 08
  527. DC.W C_H1_DAM_OUT 09
  528. DC.W C_H1_DAM_MS 10
  529. DC.W C_H1_DAM_MM 11
  530. DC.W C_H1_DAM_ML 12
  531. DC.W C_H1_DAM_MJ+8000H 13
  532. DC.W C_H1_DAM_OUT 14
  533. DC.W C_H1_DAM_HLS 15
  534. DC.W C_H1_DAM_HLM 16
  535. DC.W C_H1_DAM_LLL 17
  536. DC.W C_H1_DAM_HLJ+8000H 18
  537. DC.W C_H1_DAM_OUT 19
  538. ;sit
  539. DC.W C_H1_DAM_DS 20
  540. DC.W C_H1_DAM_DM 21
  541. DC.W C_H1_DAM_DL 22
  542. DC.W C_H1_DAM_MJ+8000H 23
  543. DC.W C_H1_DAM_OUT 24
  544. ;jump
  545. DC.W C_H1_DAM_J+8000H 25
  546. DC.W C_H1_DAM_J+8000H 26
  547. DC.W C_H1_DAM_J 27
  548. DC.W C_H1_DAM_HLJ 28
  549. DC.W C_H1_DAM_HRJ 29
  550. DC.W C_H1_DAM_MJ 30
  551. DC.W C_H1_DAM_HLJ 31
  552. DC.W C_H1_DAM_MJ 32
  553. ALL_DAM_ACT_SET:
  554. CLR.B DOWN_DMG(A6)
  555. MOVE.B 0(A1,D1.W),D0
  556. ADD.W D0,D0
  557. MOVE.W 0(A2,D0.W),D0
  558. BPL.S ALL_DAM_ACT_SET_1
  559. MOVE.B #1,DOWN_DMG(A6)
  560. AND.W #7FFFH,D0
  561. ALL_DAM_ACT_SET_1:
  562. MOVE.W D0,HERO_ACT_No(A6)
  563. MOVE.B #DAMAGE2_STEP,STEP1(A6)
  564. MOVE.B #1,MASTER_REQUEST(A4)
  565. RTS
  566. ALL_DEAD_SOUND:
  567. MOVE.W #S_PUNCH13,D0
  568. JSR.S SET_SOUND
  569. MOVE.W #S_PUNCH14,D0
  570. JSR.S SET_SOUND
  571. RTS
  572. ALL_DAMAGE_SOUND:
  573. TST.B DEF_HIT_LR(A6)
  574. BPL.S ADS_000
  575. MOVE.W #S_ST_PUNCH,D0
  576. JSR.S SET_SOUND
  577. ADS_000:
  578. MOVEQ.L #00011100B,D0
  579. AND.W D1,D0
  580. TST.B BEFOR_ATTACK(A0)
  581. BEQ.S H1_DSND_1
  582. ADDQ.W #2,D0
  583. H1_DSND_1:
  584. ADD.W D0,D0
  585. MOVE.W H1_DS_DATA(PC,D0.W),D0
  586. JSR.S SET_SOUND
  587. RTS
  588. H1_DS_DATA:
  589. ;face
  590. DSN PUNCH1,PUNCH2
  591. DSN PUNCH7,PUNCH8
  592. DSN PUNCH2,PUNCH1
  593. DSN PUNCH8,PUNCH7
  594. ;body
  595. DSN PUNCH3,PUNCH4
  596. DSN PUNCH9,PUNCH10
  597. DSN PUNCH4,PUNCH3
  598. DSN PUNCH10,PUNCH9
  599. ;foot
  600. DSN PUNCH5,PUNCH6
  601. DSN PUNCH11,PUNCH12
  602. DSN PUNCH6,PUNCH5
  603. DSN PUNCH12,PUNCH11
  604. DSN PUNCH5,PUNCH6
  605. DSN PUNCH11,PUNCH10
  606. DSN PUNCH6,PUNCH5
  607. DSN PUNCH12,PUNCH11
  608. H2_DAMAGE_SET:
  609. JSR DMST_SET(PC)
  610. JSR DAMAGE_JUDGE(PC)
  611. BSR ALL_DAMAGE_SOUND
  612. MOVEQ.L #0FH,D0
  613. AND.B DEF_HIT_TYPE_No(A6),D0
  614. CMP.B #3,D0
  615. BNE.S H2_DS_1
  616. JSR GARD_DAMAGE(PC)
  617. H2_DS_1:
  618. MOVE.B #1,MASTER_REQUEST(A4)
  619. CLR.B ACT_FLAG(A4)
  620. MOVE.B #1,ACT_DEC(A4)
  621. LEA.L DAM_CONV(PC),A1
  622. LEA.L DH2_ACT_DATA(PC),A2
  623. JSR ALL_DAM_ACT_SET(PC)
  624. RTS
  625. H2_DEAD_SET:
  626. MOVE.B #1,MASTER_REQUEST(A4)
  627. CLR.B ACT_FLAG(A4)
  628. MOVE.B #1,ACT_DEC(A4)
  629. JSR DAMAGE_JUDGE(PC)
  630. BSR ALL_DAMAGE_SOUND
  631. BSR ALL_DEAD_SOUND
  632. LEA.L DAM_CONV+60H(PC),A1
  633. LEA.L DH2_ACT_DATA(PC),A2
  634. JSR ALL_DAM_ACT_SET(PC)
  635. RTS
  636. DH2_ACT_DATA:
  637. ;normal
  638. DC.W C_H2_DAM_HLS 00
  639. DC.W C_H2_DAM_HLM 01
  640. DC.W C_H2_DAM_HLL 02
  641. DC.W C_H2_DAM_HLJ+8000H 03
  642. DC.W C_H2_DAM_OUT 04
  643. DC.W C_H2_DAM_HRS 05
  644. DC.W C_H2_DAM_HRM 06
  645. DC.W C_H2_DAM_HRL 07
  646. DC.W C_H2_DAM_HRJ+8000H 08
  647. DC.W C_H2_DAM_OUT 09
  648. DC.W C_H2_DAM_MS 10
  649. DC.W C_H2_DAM_MM 11
  650. DC.W C_H2_DAM_ML 12
  651. DC.W C_H2_DAM_MJ+8000H 13
  652. DC.W C_H2_DAM_OUT 14
  653. DC.W C_H2_DAM_HLS 15
  654. DC.W C_H2_DAM_HLM 16
  655. DC.W C_H2_DAM_HLL 17
  656. DC.W C_H2_DAM_HLJ+8000H 18
  657. DC.W C_H2_DAM_OUT 19
  658. ;sit
  659. DC.W C_H2_DAM_DS 20
  660. DC.W C_H2_DAM_DM 21
  661. DC.W C_H2_DAM_DL 22
  662. DC.W C_H2_DAM_MJ+8000H 23
  663. DC.W C_H2_DAM_OUT 24
  664. ;jump
  665. DC.W C_H2_DAM_J+8000H 25
  666. DC.W C_H2_DAM_J+8000H 26
  667. DC.W C_H2_DAM_J 27
  668. DC.W C_H2_DAM_HLJ 28
  669. DC.W C_H2_DAM_HRJ 29
  670. DC.W C_H2_DAM_MJ 30
  671. DC.W C_H2_DAM_HLJ 31
  672. DC.W C_H2_DAM_MJ 32
  673. E1_DAMAGE_SET:
  674. JSR DMST_SET(PC)
  675. JSR DAMAGE_JUDGE(PC)
  676. BSR ALL_DAMAGE_SOUND
  677. MOVEQ.L #0FH,D0
  678. AND.B DEF_HIT_TYPE_No(A6),D0
  679. CMP.B #3,D0
  680. BNE.S E1_DS_1
  681. JSR GARD_DAMAGE(PC)
  682. E1_DS_1:
  683. MOVE.B #1,MASTER_REQUEST(A4)
  684. CLR.B ACT_FLAG(A4)
  685. MOVE.B #1,ACT_DEC(A4)
  686. LEA.L DAM_CONV(PC),A1
  687. LEA.L DE1_ACT_DATA(PC),A2
  688. JSR ALL_DAM_ACT_SET(PC)
  689. RTS
  690. E1_DEAD_SET:
  691. MOVE.B #1,MASTER_REQUEST(A4)
  692. CLR.B ACT_FLAG(A4)
  693. MOVE.B #1,ACT_DEC(A4)
  694. JSR DAMAGE_JUDGE(PC)
  695. BSR ALL_DAMAGE_SOUND
  696. BSR ALL_DEAD_SOUND
  697. LEA.L DAM_CONV+60H(PC),A1
  698. LEA.L DE1_ACT_DATA(PC),A2
  699. JSR ALL_DAM_ACT_SET(PC)
  700. RTS
  701. DE1_ACT_DATA:
  702. ;normal
  703. DC.W C_E1_DAM_HLS 00
  704. DC.W C_E1_DAM_HLM 01
  705. DC.W C_E1_DAM_HLL 02
  706. DC.W C_E1_DAM_HLJ+8000H 03
  707. DC.W C_E1_DAM_OUT 04
  708. DC.W C_E1_DAM_HRS 05
  709. DC.W C_E1_DAM_HRM 06
  710. DC.W C_E1_DAM_HRL 07
  711. DC.W C_E1_DAM_HRJ+8000H 08
  712. DC.W C_E1_DAM_OUT 09
  713. DC.W C_E1_DAM_MS 10
  714. DC.W C_E1_DAM_MM 11
  715. DC.W C_E1_DAM_ML 12
  716. DC.W C_E1_DAM_MJ+8000H 13
  717. DC.W C_E1_DAM_OUT 14
  718. DC.W C_E1_DAM_LS 15
  719. DC.W C_E1_DAM_LM 16
  720. DC.W C_E1_DAM_LL 17
  721. DC.W C_E1_DAM_LJ+8000H 18
  722. DC.W C_E1_DAM_OUT 19
  723. ;sit
  724. DC.W C_E1_DAM_DS 20
  725. DC.W C_E1_DAM_DM 21
  726. DC.W C_E1_DAM_DL 22
  727. DC.W C_E1_DAM_MJ+8000H 23
  728. DC.W C_E1_DAM_OUT 24
  729. ;jump
  730. DC.W C_E1_DAM_J+8000H 25
  731. DC.W C_E1_DAM_J+8000H 26
  732. DC.W C_E1_DAM_J 27
  733. DC.W C_E1_DAM_HLJ 28
  734. DC.W C_E1_DAM_HRJ 29
  735. DC.W C_E1_DAM_MJ 30
  736. DC.W C_E1_DAM_LJ 31
  737. DC.W C_E1_DAM_MJ 32
  738. E2_DAMAGE_SET:
  739. JSR DMST_SET(PC)
  740. JSR DAMAGE_JUDGE(PC)
  741. BSR ALL_DAMAGE_SOUND
  742. MOVEQ.L #0FH,D0
  743. AND.B DEF_HIT_TYPE_No(A6),D0
  744. CMP.B #3,D0
  745. BNE.S E2_DS_1
  746. JSR GARD_DAMAGE(PC)
  747. E2_DS_1:
  748. MOVE.B #1,MASTER_REQUEST(A4)
  749. CLR.B ACT_FLAG(A4)
  750. MOVE.B #1,ACT_DEC(A4)
  751. LEA.L DAM_CONV(PC),A1
  752. LEA.L DE2_ACT_DATA(PC),A2
  753. JSR ALL_DAM_ACT_SET(PC)
  754. RTS
  755. E2_DEAD_SET:
  756. MOVE.B #1,MASTER_REQUEST(A4)
  757. CLR.B ACT_FLAG(A4)
  758. MOVE.B #1,ACT_DEC(A4)
  759. JSR DAMAGE_JUDGE(PC)
  760. BSR ALL_DAMAGE_SOUND
  761. BSR ALL_DEAD_SOUND
  762. LEA.L DAM_CONV+60H(PC),A1
  763. LEA.L DE2_ACT_DATA(PC),A2
  764. JSR ALL_DAM_ACT_SET(PC)
  765. RTS
  766. DE2_ACT_DATA:
  767. ;normal
  768. DC.W C_E2_DAM_HLS 00
  769. DC.W C_E2_DAM_HLM 01
  770. DC.W C_E2_DAM_HLL 02
  771. DC.W C_E2_DAM_J+8000H 03
  772. DC.W C_E2_DAM_HLD 04
  773. DC.W C_E2_DAM_HRS 05
  774. DC.W C_E2_DAM_HRM 06
  775. DC.W C_E2_DAM_HRL 07
  776. DC.W C_E2_DAM_J+8000H 08
  777. DC.W C_E2_DAM_HRD 09
  778. DC.W C_E2_DAM_MS 10
  779. DC.W C_E2_DAM_MM 11
  780. DC.W C_E2_DAM_ML 12
  781. DC.W C_E2_DAM_J+8000H 13
  782. DC.W C_E2_DAM_MD 14
  783. DC.W C_E2_DAM_HLS 15
  784. DC.W C_E2_DAM_HLM 16
  785. DC.W C_E2_DAM_LLL 17
  786. DC.W C_E2_DAM_J+8000H 18
  787. DC.W C_E2_DAM_HLD 19
  788. ;sit
  789. DC.W C_E2_DAM_HRS 20
  790. DC.W C_E2_DAM_HRM 21
  791. DC.W C_E2_DAM_HRL 22
  792. DC.W C_E2_DAM_J+8000H 23
  793. DC.W C_E2_DAM_HRD 24
  794. ;jump
  795. DC.W C_E2_DAM_J+8000H 25
  796. DC.W C_E2_DAM_J+8000H 26
  797. DC.W C_E2_DAM_J 27
  798. DC.W C_E2_DAM_J 28
  799. DC.W C_E2_DAM_J 29
  800. DC.W C_E2_DAM_J 30
  801. DC.W C_E2_DAM_J 31
  802. DC.W C_E2_DAM_J 32
  803. E3_DAMAGE_SET:
  804. JSR DMST_SET(PC)
  805. JSR DAMAGE_JUDGE(PC)
  806. BSR ALL_DAMAGE_SOUND
  807. MOVEQ.L #0FH,D0
  808. AND.B DEF_HIT_TYPE_No(A6),D0
  809. CMP.B #3,D0
  810. BNE.S E3_DS_1
  811. JSR GARD_DAMAGE(PC)
  812. E3_DS_1:
  813. MOVE.B #1,MASTER_REQUEST(A4)
  814. CLR.B ACT_FLAG(A4)
  815. MOVE.B #1,ACT_DEC(A4)
  816. LEA.L DAM_CONV(PC),A1
  817. LEA.L DE3_ACT_DATA(PC),A2
  818. JSR ALL_DAM_ACT_SET(PC)
  819. RTS
  820. E3_DEAD_SET:
  821. MOVE.B #1,MASTER_REQUEST(A4)
  822. CLR.B ACT_FLAG(A4)
  823. MOVE.B #1,ACT_DEC(A4)
  824. JSR DAMAGE_JUDGE(PC)
  825. BSR ALL_DAMAGE_SOUND
  826. BSR ALL_DEAD_SOUND
  827. LEA.L DAM_CONV+60H(PC),A1
  828. LEA.L DE3_ACT_DATA(PC),A2
  829. JSR ALL_DAM_ACT_SET(PC)
  830. RTS
  831. DE3_ACT_DATA:
  832. ;normal
  833. DC.W C_E3_DAM_HRS 00
  834. DC.W C_E3_DAM_HRM 01
  835. DC.W C_E3_DAM_HRL 02
  836. DC.W C_E3_DAM_J+8000H 03
  837. DC.W C_E3_DAM_J 04
  838. DC.W C_E3_DAM_HLS 05
  839. DC.W C_E3_DAM_HLM 06
  840. DC.W C_E3_DAM_HLL 07
  841. DC.W C_E3_DAM_J+8000H 08
  842. DC.W C_E3_DAM_J 09
  843. DC.W C_E3_DAM_MS 10
  844. DC.W C_E3_DAM_MM 11
  845. DC.W C_E3_DAM_ML 12
  846. DC.W C_E3_DAM_J+8000H 13
  847. DC.W C_E3_DAM_J 14
  848. DC.W C_E3_DAM_LS 15
  849. DC.W C_E3_DAM_LM 16
  850. DC.W C_E3_DAM_LL 17
  851. DC.W C_E3_DAM_LJ+8000H 18
  852. DC.W C_E3_DAM_LJ 19
  853. ;sit
  854. DC.W C_E3_DAM_LS 20
  855. DC.W C_E3_DAM_LM 21
  856. DC.W C_E3_DAM_LL 22
  857. DC.W C_E3_DAM_DL+8000H 23
  858. DC.W C_E3_DAM_LJ 24
  859. ;jump
  860. DC.W C_E3_DAM_J+8000H 25
  861. DC.W C_E3_DAM_J+8000H 26
  862. DC.W C_E3_DAM_J 27
  863. DC.W C_E3_DAM_J 28
  864. DC.W C_E3_DAM_J 29
  865. DC.W C_E3_DAM_J 30
  866. DC.W C_E3_DAM_LJ 31
  867. DC.W C_E3_DAM_DL 32
  868. E4_DAMAGE_SET:
  869. JSR DMST_SET(PC)
  870. JSR DAMAGE_JUDGE(PC)
  871. BSR ALL_DAMAGE_SOUND
  872. MOVEQ.L #0FH,D0
  873. AND.B DEF_HIT_TYPE_No(A6),D0
  874. CMP.B #3,D0
  875. BNE.S E4_DS_1
  876. JSR GARD_DAMAGE(PC)
  877. E4_DS_1:
  878. MOVE.B #1,MASTER_REQUEST(A4)
  879. CLR.B ACT_FLAG(A4)
  880. MOVE.B #1,ACT_DEC(A4)
  881. LEA.L DAM_CONV(PC),A1
  882. LEA.L DE4_ACT_DATA(PC),A2
  883. JSR ALL_DAM_ACT_SET(PC)
  884. RTS
  885. E4_DEAD_SET:
  886. MOVE.B #1,MASTER_REQUEST(A4)
  887. CLR.B ACT_FLAG(A4)
  888. MOVE.B #1,ACT_DEC(A4)
  889. JSR DAMAGE_JUDGE(PC)
  890. BSR ALL_DAMAGE_SOUND
  891. BSR ALL_DEAD_SOUND
  892. LEA.L DAM_CONV+60H(PC),A1
  893. LEA.L DE4_ACT_DATA(PC),A2
  894. BSR HADAKA_CHECK
  895. JSR ALL_DAM_ACT_SET(PC)
  896. RTS
  897. HADAKA_CHECK:
  898. MOVE.L ANOTHER_PLAYER(A6),A0
  899. MOVE.W WIN_ROUND+PLAYER_OFFSET(A0),D2
  900. TST.W HERO_LIFE(A0)
  901. BEQ NON_HADAKA
  902. ADDQ.W #1,D2
  903. MOVE.W ROUND_No(A5),D4
  904. ADDQ.W #1,D4
  905. CMP.W WIN_ROUND+PLAYER_OFFSET(A6),D2
  906. BLS NON_HADAKA
  907. MOVE.W MAX_ROUND(A5),D0
  908. CMP.W D0,D4
  909. BHS HCK_1
  910. CMP.W WINNER_ROUND(A5),D2
  911. BHS HCK_1
  912. SUB.W WIN_ROUND+PLAYER_OFFSET(A6),D2
  913. SUB.W D4,D0
  914. CMP.W D0,D2
  915. BLS NON_HADAKA
  916. HCK_1:
  917. TST.B DEF_HIT_TYPE_No(A6)
  918. BMI TO_HADAKA
  919. CMP.W #40H,ACT_CTRL(A0)
  920. BCC TO_HADAKA
  921. NON_HADAKA:
  922. RTS
  923. TO_HADAKA:
  924. ADDQ.L #4,SP
  925. MOVE.W #1,KING_MUNE(A5)
  926. MOVE.B 0(A1,D1.W),D0
  927. ADD.W D0,D0
  928. MOVE.W 0(A2,D0.W),D1
  929. MOVE.W #C_E4_DAM_DOWNH,D0
  930. CMP.W #C_E4_DAM_J,D1
  931. BNE.S TO_HADAKA_1
  932. MOVE.W #C_E4_DAM_JH,D0
  933. TO_HADAKA_1:
  934. MOVE.W D0,HERO_ACT_No(A6)
  935. MOVE.B #DAMAGE2_STEP,STEP1(A6)
  936. MOVE.B #1,MASTER_REQUEST(A4)
  937. RTS
  938. DE4_ACT_DATA:
  939. ;normal
  940. DC.W C_E4_DAM_HS 00
  941. DC.W C_E4_DAM_HM 01
  942. DC.W C_E4_DAM_HL 02
  943. DC.W C_E4_DAM_J+8000H 03
  944. DC.W C_E4_DAM_HD 04
  945. DC.W C_E4_DAM_HS 05
  946. DC.W C_E4_DAM_HM 06
  947. DC.W C_E4_DAM_HL 07
  948. DC.W C_E4_DAM_J+8000H 08
  949. DC.W C_E4_DAM_HD 09
  950. DC.W C_E4_DAM_MS 10
  951. DC.W C_E4_DAM_MM 11
  952. DC.W C_E4_DAM_ML 12
  953. DC.W C_E4_DAM_J+8000H 13
  954. DC.W C_E4_DAM_MD 14
  955. DC.W C_E4_DAM_HS 15
  956. DC.W C_E4_DAM_HM 16
  957. DC.W C_E4_DAM_LL 17
  958. DC.W C_E4_DAM_J+8000H 18
  959. DC.W C_E4_DAM_HD 19
  960. ;sit
  961. DC.W C_E4_DAM_DS 20
  962. DC.W C_E4_DAM_DM 21
  963. DC.W C_E4_DAM_DL 22
  964. DC.W C_E4_DAM_J+8000H 23
  965. DC.W C_E4_DAM_DD 24
  966. ;jump
  967. DC.W C_E4_DAM_J+8000H 25
  968. DC.W C_E4_DAM_J+8000H 26
  969. DC.W C_E4_DAM_J 27
  970. DC.W C_E4_DAM_J 28
  971. DC.W C_E4_DAM_J 29
  972. DC.W C_E4_DAM_J 30
  973. DC.W C_E4_DAM_J 31
  974. DC.W C_E4_DAM_J 32
  975. E5_DAMAGE_SET:
  976. JSR DMST_SET(PC)
  977. JSR DAMAGE_JUDGE(PC)
  978. BSR ALL_DAMAGE_SOUND
  979. MOVEQ.L #0FH,D0
  980. AND.B DEF_HIT_TYPE_No(A6),D0
  981. CMP.B #3,D0
  982. BNE.S E5_DS_1
  983. JSR GARD_DAMAGE(PC)
  984. E5_DS_1:
  985. MOVE.B #1,MASTER_REQUEST(A4)
  986. CLR.B ACT_FLAG(A4)
  987. MOVE.B #1,ACT_DEC(A4)
  988. LEA.L DAM_CONV(PC),A1
  989. LEA.L DE5_ACT_DATA(PC),A2
  990. JSR ALL_DAM_ACT_SET(PC)
  991. RTS
  992. E5_DEAD_SET:
  993. MOVE.B #1,MASTER_REQUEST(A4)
  994. CLR.B ACT_FLAG(A4)
  995. MOVE.B #1,ACT_DEC(A4)
  996. JSR DAMAGE_JUDGE(PC)
  997. BSR ALL_DAMAGE_SOUND
  998. BSR ALL_DEAD_SOUND
  999. LEA.L DAM_CONV+60H(PC),A1
  1000. LEA.L DE5_ACT_DATA(PC),A2
  1001. JSR ALL_DAM_ACT_SET(PC)
  1002. RTS
  1003. DE5_ACT_DATA:
  1004. ;normal
  1005. DC.W C_E5_DAM_HLS 00
  1006. DC.W C_E5_DAM_HLM 01
  1007. DC.W C_E5_DAM_HLL 02
  1008. DC.W C_E5_DAM_HJ+8000H 03
  1009. DC.W C_E5_DAM_HD 04
  1010. DC.W C_E5_DAM_HRS 05
  1011. DC.W C_E5_DAM_HRM 06
  1012. DC.W C_E5_DAM_HRL 07
  1013. DC.W C_E5_DAM_HJ+8000H 08
  1014. DC.W C_E5_DAM_HD 09
  1015. DC.W C_E5_DAM_MS 10
  1016. DC.W C_E5_DAM_MM 11
  1017. DC.W C_E5_DAM_ML 12
  1018. DC.W C_E5_DAM_MJ+8000H 13
  1019. DC.W C_E5_DAM_MD 14
  1020. DC.W C_E5_DAM_HLS 15
  1021. DC.W C_E5_DAM_HLS 16
  1022. DC.W C_E5_DAM_LLL 17
  1023. DC.W C_E5_DAM_L+8000H 18
  1024. DC.W C_E5_DAM_HD 19
  1025. ;sit
  1026. DC.W C_E5_DAM_HLS 20
  1027. DC.W C_E5_DAM_HLM 21
  1028. DC.W C_E5_DAM_HLL 22
  1029. DC.W C_E5_DAM_L+8000H 23
  1030. DC.W C_E5_DAM_HD 24
  1031. ;jump
  1032. DC.W C_E5_DAM_HJ+8000H 25
  1033. DC.W C_E5_DAM_HJ+8000H 26
  1034. DC.W C_E5_DAM_HJ 27
  1035. DC.W C_E5_DAM_HJ 28
  1036. DC.W C_E5_DAM_HJ 29
  1037. DC.W C_E5_DAM_MJ 30
  1038. DC.W C_E5_DAM_HJ 31
  1039. DC.W C_E5_DAM_MJ 32
  1040. E6_DAMAGE_SET:
  1041. JSR DMST_SET(PC)
  1042. JSR DAMAGE_JUDGE(PC)
  1043. BSR ALL_DAMAGE_SOUND
  1044. MOVEQ.L #0FH,D0
  1045. AND.B DEF_HIT_TYPE_No(A6),D0
  1046. CMP.B #3,D0
  1047. BNE.S E6_DS_1
  1048. JSR GARD_DAMAGE(PC)
  1049. E6_DS_1:
  1050. MOVE.B #1,MASTER_REQUEST(A4)
  1051. CLR.B ACT_FLAG(A4)
  1052. MOVE.B #1,ACT_DEC(A4)
  1053. LEA.L DAM_CONV(PC),A1
  1054. LEA.L DE6_ACT_DATA(PC),A2
  1055. JSR ALL_DAM_ACT_SET(PC)
  1056. RTS
  1057. E6_DEAD_SET:
  1058. MOVE.B #1,MASTER_REQUEST(A4)
  1059. CLR.B ACT_FLAG(A4)
  1060. MOVE.B #1,ACT_DEC(A4)
  1061. JSR DAMAGE_JUDGE(PC)
  1062. BSR ALL_DAMAGE_SOUND
  1063. BSR ALL_DEAD_SOUND
  1064. LEA.L DAM_CONV+60H(PC),A1
  1065. LEA.L DE6_ACT_DATA(PC),A2
  1066. JSR ALL_DAM_ACT_SET(PC)
  1067. RTS
  1068. DE6_ACT_DATA:
  1069. ;normal
  1070. DC.W C_E6_DAM_HS 00
  1071. DC.W C_E6_DAM_HM 01
  1072. DC.W C_E6_DAM_HL 02
  1073. DC.W C_E6_DAM_HJ+8000H 03
  1074. DC.W C_E6_DAM_OUT 04
  1075. DC.W C_E6_DAM_HS 05
  1076. DC.W C_E6_DAM_HM 06
  1077. DC.W C_E6_DAM_HL 07
  1078. DC.W C_E6_DAM_HJ+8000H 08
  1079. DC.W C_E6_DAM_OUT 09
  1080. DC.W C_E6_DAM_MS 10
  1081. DC.W C_E6_DAM_MM 11
  1082. DC.W C_E6_DAM_ML 12
  1083. DC.W C_E6_DAM_MJ+8000H 13
  1084. DC.W C_E6_DAM_OUT 14
  1085. DC.W C_E6_DAM_LS 15
  1086. DC.W C_E6_DAM_LM 16
  1087. DC.W C_E6_DAM_LL 17
  1088. DC.W C_E6_DAM_LJ+8000H 18
  1089. DC.W C_E6_DAM_OUT 19
  1090. ;sit
  1091. DC.W C_E6_DAM_DS 20
  1092. DC.W C_E6_DAM_DM 21
  1093. DC.W C_E6_DAM_DL 22
  1094. DC.W C_E6_DAM_DJ+8000H 23
  1095. DC.W C_E6_DAM_OUT 24
  1096. ;jump
  1097. DC.W C_E6_DAM_J+8000H 25
  1098. DC.W C_E6_DAM_J+8000H 26
  1099. DC.W C_E6_DAM_J 27
  1100. DC.W C_E6_DAM_HJ 28
  1101. DC.W C_E6_DAM_HJ 29
  1102. DC.W C_E6_DAM_MJ 30
  1103. DC.W C_E6_DAM_LJ 31
  1104. DC.W C_E6_DAM_DJ 32
  1105. E7_DAMAGE_SET:
  1106. JSR DMST_SET(PC)
  1107. JSR DAMAGE_JUDGE(PC)
  1108. BSR ALL_DAMAGE_SOUND
  1109. MOVEQ.L #0FH,D0
  1110. AND.B DEF_HIT_TYPE_No(A6),D0
  1111. CMP.B #3,D0
  1112. BNE.S E7_DS_1
  1113. JSR GARD_DAMAGE(PC)
  1114. E7_DS_1:
  1115. MOVE.B #1,MASTER_REQUEST(A4)
  1116. CLR.B ACT_FLAG(A4)
  1117. MOVE.B #1,ACT_DEC(A4)
  1118. LEA.L DAM_CONV(PC),A1
  1119. LEA.L DE7_ACT_DATA(PC),A2
  1120. JSR ALL_DAM_ACT_SET(PC)
  1121. RTS
  1122. E7_DEAD_SET:
  1123. MOVE.B #1,MASTER_REQUEST(A4)
  1124. CLR.B ACT_FLAG(A4)
  1125. MOVE.B #1,ACT_DEC(A4)
  1126. JSR DAMAGE_JUDGE(PC)
  1127. BSR ALL_DAMAGE_SOUND
  1128. BSR ALL_DEAD_SOUND
  1129. LEA.L DAM_CONV+60H(PC),A1
  1130. LEA.L DE7_ACT_DATA(PC),A2
  1131. JSR ALL_DAM_ACT_SET(PC)
  1132. RTS
  1133. DE7_ACT_DATA:
  1134. ;normal
  1135. DC.W C_E7_DAM_HS 00
  1136. DC.W C_E7_DAM_HM 01
  1137. DC.W C_E7_DAM_HL 02
  1138. DC.W C_E7_DAM_HJ+8000H 03
  1139. DC.W C_E7_DAM_HD 04
  1140. DC.W C_E7_DAM_HS 05
  1141. DC.W C_E7_DAM_HM 06
  1142. DC.W C_E7_DAM_HL 07
  1143. DC.W C_E7_DAM_HJ+8000H 08
  1144. DC.W C_E7_DAM_HD 09
  1145. DC.W C_E7_DAM_MS 10
  1146. DC.W C_E7_DAM_MM 11
  1147. DC.W C_E7_DAM_ML 12
  1148. DC.W C_E7_DAM_MJ+8000H 13
  1149. DC.W C_E7_DAM_MD 14
  1150. DC.W C_E7_DAM_LS 15
  1151. DC.W C_E7_DAM_LM 16
  1152. DC.W C_E7_DAM_LL 17
  1153. DC.W C_E7_DAM_LJ+8000H 18
  1154. DC.W C_E7_DAM_LD 19
  1155. ;sit
  1156. DC.W C_E7_DAM_MS 20
  1157. DC.W C_E7_DAM_MM 21
  1158. DC.W C_E7_DAM_ML 22
  1159. DC.W C_E7_DAM_MJ+8000H 23
  1160. DC.W C_E7_DAM_MD 24
  1161. ;jump
  1162. DC.W C_E7_DAM_JS+8000H 25
  1163. DC.W C_E7_DAM_JL+8000H 26
  1164. DC.W C_E7_DAM_JL 27
  1165. DC.W C_E7_DAM_HJ 28
  1166. DC.W C_E7_DAM_HJ 29
  1167. DC.W C_E7_DAM_MJ 30
  1168. DC.W C_E7_DAM_LJ 31
  1169. DC.W C_E7_DAM_MJ 32
  1170. E8_DAMAGE_SET:
  1171. JSR DMST_SET(PC)
  1172. JSR DAMAGE_JUDGE(PC)
  1173. BSR ALL_DAMAGE_SOUND
  1174. MOVEQ.L #0FH,D0
  1175. AND.B DEF_HIT_TYPE_No(A6),D0
  1176. CMP.B #3,D0
  1177. BNE.S E8_DS_1
  1178. JSR GARD_DAMAGE(PC)
  1179. E8_DS_1:
  1180. MOVE.B #1,MASTER_REQUEST(A4)
  1181. CLR.B ACT_FLAG(A4)
  1182. MOVE.B #1,ACT_DEC(A4)
  1183. LEA.L DAM_CONV(PC),A1
  1184. LEA.L DE8_ACT_DATA(PC),A2
  1185. JSR ALL_DAM_ACT_SET(PC)
  1186. RTS
  1187. E8_DEAD_SET:
  1188. CLR.W HERO_LIFE(A6)
  1189. MOVE.B #1,MASTER_REQUEST(A4)
  1190. CLR.B ACT_FLAG(A4)
  1191. MOVE.B #1,ACT_DEC(A4)
  1192. JSR DAMAGE_JUDGE(PC)
  1193. BSR ALL_DAMAGE_SOUND
  1194. CMP.W #12,STORY_STAGE(A5)
  1195. BEQ.S E8DS_1
  1196. BSR ALL_DEAD_SOUND
  1197. E8DS_1:
  1198. LEA.L DAM_CONV+60H(PC),A1
  1199. LEA.L DE8_ACT_DATA(PC),A2
  1200. JSR ALL_DAM_ACT_SET(PC)
  1201. RTS
  1202. DE8_ACT_DATA:
  1203. ;normal
  1204. DC.W C_E8_DAM_HLS 00
  1205. DC.W C_E8_DAM_HLM 01
  1206. DC.W C_E8_DAM_HLL 02
  1207. DC.W C_E8_DAM_HLJ+8000H 03
  1208. DC.W C_E8_DAM_OUT 04
  1209. DC.W C_E8_DAM_HRS 05
  1210. DC.W C_E8_DAM_HRM 06
  1211. DC.W C_E8_DAM_HRL 07
  1212. DC.W C_E8_DAM_HRJ+8000H 08
  1213. DC.W C_E8_DAM_OUT 09
  1214. DC.W C_E8_DAM_MS 10
  1215. DC.W C_E8_DAM_MM 11
  1216. DC.W C_E8_DAM_ML 12
  1217. DC.W C_E8_DAM_MJ+8000H 13
  1218. DC.W C_E8_DAM_OUT 14
  1219. DC.W C_E8_DAM_HLS 15
  1220. DC.W C_E8_DAM_HLM 16
  1221. DC.W C_E8_DAM_LLL 17
  1222. DC.W C_E8_DAM_HLJ+8000H 18
  1223. DC.W C_E8_DAM_OUT 19
  1224. ;sit
  1225. DC.W C_E8_DAM_DS 20
  1226. DC.W C_E8_DAM_DM 21
  1227. DC.W C_E8_DAM_DL 22
  1228. DC.W C_E8_DAM_MJ+8000H 23
  1229. DC.W C_E8_DAM_OUT 24
  1230. ;jump
  1231. DC.W C_E8_DAM_J+8000H 25
  1232. DC.W C_E8_DAM_J+8000H 26
  1233. DC.W C_E8_DAM_J 27
  1234. DC.W C_E8_DAM_HLJ 28
  1235. DC.W C_E8_DAM_HRJ 29
  1236. DC.W C_E8_DAM_MJ 30
  1237. DC.W C_E8_DAM_HLJ 31
  1238. DC.W C_E8_DAM_MJ 32
  1239. INCLUDE WORK.INC
  1240.