5815 lines
126 KiB
NASM
Executable File
5815 lines
126 KiB
NASM
Executable File
**************************************************************
|
||
*
|
||
* Software: Jamie Rivett
|
||
* Initiated: 10/12/93
|
||
*
|
||
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
||
*
|
||
**************************************************************
|
||
|
||
.file "dnkseq2.asm"
|
||
.title "Krusty the Clown animation sequences"
|
||
.width 132
|
||
.option b,d,l,t
|
||
.mnolist
|
||
|
||
|
||
.include "macros.h"
|
||
.include "mproc.equ" ;Mproc equates
|
||
.include "sys.equ"
|
||
.include "display.equ"
|
||
.include "game.equ"
|
||
.include "plyr.equ"
|
||
.include "anim.equ"
|
||
.include "sound.h"
|
||
.include "ring.equ"
|
||
|
||
.include "doinkimg.h"
|
||
.include "miscimg.glo"
|
||
.include "damage.equ"
|
||
.INCLUDE "SWEAT.EQU"
|
||
.include "miscimg.glo"
|
||
|
||
|
||
|
||
******************************************************************************
|
||
* EXTERNAL REFERENCES
|
||
|
||
.ref MOVE_NAME_ANNC,face_inside,set_tbukl_airmode
|
||
.ref setup_freetoss,free_toss_check
|
||
.ref CALL_ANI_AVERAGE_MOVE,CALL_NASTY_MOVE
|
||
.ref CALL_THROWN_OUT,DO_BLOCKED
|
||
.ref DO_OTHERNONO,FIND_AND_KILL_ENDLESS
|
||
.ref DO_CROWD_CHEER,HIT_THE_MAT,SMALL_BOUNCE
|
||
.ref CALL_MISSES,CALL_SETUP,CALL_SPECIAL_MOVE
|
||
.ref am_I_dead,start_run_anim,PSTATUS,royal_rumble,NUM_OPPS
|
||
|
||
.ref set_target_offsets,check_raisearm_bit
|
||
.ref get_opp_process,set_tbukl_confine
|
||
.ref get_leap
|
||
.ref shake_all_ropes,tbukl_flip
|
||
|
||
.ref DO_GRUNT,KILL_PIN_HIM
|
||
.ref calc_line_x
|
||
.ref choose_2or4
|
||
.ref tgt_ground,process_ptrs
|
||
|
||
.ref hrt_hitonground_anim
|
||
.ref rzr_hitonground_anim
|
||
.ref und_hitonground_anim
|
||
.ref yok_hitonground_anim
|
||
.ref shn_hitonground_anim
|
||
.ref bam_hitonground_anim
|
||
.ref lex_hitonground_anim
|
||
|
||
.ref dnk_4_combo_earslap_anim,hit_nearest
|
||
.ref DO_COMBO_MESS,tbukl_flip,change_anim1a
|
||
.ref DO_DOINK_PUSH,announce_rnd_winner
|
||
.ref create_impact_salt,PCNT,dnk_3_head_held_anim
|
||
.ref no_bk_xvel,lex_tossed_anim,impact_sound
|
||
.ref start_run_flung
|
||
|
||
D4PN5L
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long 0
|
||
.long D4PN5L04
|
||
.long D4PN5L05
|
||
|
||
|
||
******************************************************************************
|
||
* SYMBOLS DEFINED IN THIS FILE
|
||
|
||
******************************************************************************
|
||
* EQUATES FOR THIS FILE
|
||
|
||
TSEC equ 53
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* NORMAL #2 PUNCH
|
||
|
||
SUBR dnk_2_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2PU3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2PU3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2PU3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,5 ;type, #ticks 'til attack on
|
||
|
||
WL 1,D2PU3A+FR2
|
||
WL 2,D2PU3A+FR3
|
||
WL 1,D2PU3A+FR4
|
||
|
||
; WLWWWW ANI_SNOT,doink_pie,0,0,0,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH,22,86,55,9 ;mode,x,y,w,h
|
||
WL 1,D2PU3A+FR4
|
||
WL 2,D2PU3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,D2PU3A+FR5
|
||
#no_hit
|
||
WL 2,D2PU3A+FR6
|
||
WL 3,D2PU3A+FR7 ;4
|
||
WL 2,D2PU3A+FR8 ;4
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* NORMAL #4 PUNCH
|
||
|
||
SUBR dnk_4_punch_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4PU3C+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4PU3C+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4PU3C+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_PUNCH,5 ;type, #ticks 'til attack on
|
||
|
||
WL 1,D4PU3C+FR2
|
||
WL 2,D4PU3C+FR3
|
||
WL 1,D4PU3C+FR4
|
||
|
||
; WLWWWW ANI_SNOT,doink_pie,0,0,0,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUNCH,22,86,55,9 ;mode,x,y,w,h
|
||
WL 1,D4PU3C+FR4
|
||
WL 2,D4PU3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 3,D4PU3C+FR5
|
||
|
||
#no_hit2
|
||
WL 2,D4PU3C+FR6
|
||
WL 3,D4PU3C+FR7
|
||
WL 2,D4PU3C+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* BOXING GLOVE #2 PUNCH
|
||
|
||
SUBR dnk_2_box_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_BOXPUNCH,15
|
||
WL 3,D2RG3B+FR6
|
||
WL 3,D2RG3B+FR7
|
||
WL 3,D2RG3B+FR8
|
||
WL 3,D2RG3B+FR9
|
||
WL 3,D2RG3B+FR10
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BOXPUNCH,37,84,66,15 ;mode,x,y,w,h
|
||
WL 4,D2RG3B+FR11
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
|
||
; WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit ;range,vel,addr
|
||
;#no_hit
|
||
WL 10,D2RG3B+FR11
|
||
|
||
WL 2,D2PU3A+FR6
|
||
WL 3,D2PU3A+FR7
|
||
WL 2,D2PU3A+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
WL 8,D2RG3B+FR11
|
||
|
||
#missed
|
||
WL 3,D2RG3B+FR11
|
||
|
||
WL 2,D2PU3A+FR6
|
||
WL 3,D2PU3A+FR7
|
||
WL 2,D2PU3A+FR8
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#* BOXING GLOVE #4 PUNCH
|
||
|
||
SUBR dnk_4_box_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_BOXPUNCH,15
|
||
WL 3,D4RG3A+FR6
|
||
WL 3,D4RG3A+FR7
|
||
WL 3,D4RG3A+FR9
|
||
WL 3,D4RG3A+FR10
|
||
WL 3,D4RG3A+FR11
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BOXPUNCH,37,84,66,15 ;mode,x,y,w,h
|
||
WL 4,D4RG3A+FR12
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
|
||
; WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2 ;range,vel,addr
|
||
;#no_hit2
|
||
WL 10,D4RG3A+FR12
|
||
|
||
WL 2,D4PU3C+FR6
|
||
WL 3,D4PU3C+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
WL 8,D4RG3A+FR12
|
||
#missed
|
||
WL 3,D4RG3A+FR12
|
||
|
||
WL 2,D4PU3C+FR6
|
||
WL 3,D4PU3C+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR dnk_combo_box_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_BOXPUNCH,15
|
||
WL 3,D4RG3A+FR6
|
||
WL 3,D4RG3A+FR7
|
||
WL 3,D4RG3A+FR9
|
||
WL 3,D4RG3A+FR10
|
||
WL 3,D4RG3A+FR11
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BOXPUNCH,37,84,66,15 ;mode,x,y,w,h
|
||
WL 4,D4RG3A+FR12
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missedc
|
||
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit3 ;range,vel,addr
|
||
#no_hit3
|
||
WL 10,D4RG3A+FR12
|
||
|
||
WL 2,D4PU3C+FR6
|
||
WL 3,D4PU3C+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedbc
|
||
WL 15,D4RG3A+FR12
|
||
#missedc
|
||
WL 5,D4RG3A+FR12
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 2,D4PU3C+FR6
|
||
WL 3,D4PU3C+FR7
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 HEADBUTT
|
||
|
||
SUBR dnk_2_butt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2BC3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_HDBUTT,5
|
||
WL 1,D2BC3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2BC3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL 1,D2BC3A+FR2
|
||
WL 2,D2BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,79,27,24 ;mode,x,y,w,h
|
||
WL 3,D2BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,D2BC3A+FR5
|
||
#no_hit
|
||
WL 4,D2BC3A+FR5
|
||
WL 4,D2BC3A+FR6
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 HEADBUTT
|
||
|
||
SUBR dnk_4_butt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4BC3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
.word ANI_STARTATTACK,AT_HDBUTT,5
|
||
WL 1,D4BC3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4BC3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL 1,D4BC3A+FR2
|
||
WL 2,D4BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,79,27,24 ;mode,x,y,w,h
|
||
WL 3,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,D4BC3A+FR5
|
||
#no_hit2
|
||
WL 4,D4BC3A+FR5
|
||
WL 4,D4BC3A+FR6
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 HEADBUTTS - In close
|
||
|
||
SUBR dnk_2_butts_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_SET_RPTCOUNT,3 ;5 times
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
#rpt
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
.word ANI_STARTATTACK,AT_HDBUTT,6
|
||
WL 2,D2BC3A+FR1
|
||
WL 2,D2BC3A+FR2
|
||
WL 2,D2BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT_STAY,21,79,27,24 ;mode,x,y,w,h
|
||
WL 2,D2BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,D2BC3A+FR5
|
||
#no_hit
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
.word ANI_SET_ATTACH
|
||
.word ANI_DEBRISAT,200,2,0,100,0 ;%chance, tbl index, x,y,z off
|
||
WL ANI_CODE,impact_sound
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
.word ANI_DETACH
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#ex
|
||
.word ANI_DEC_RPTCOUNT
|
||
|
||
WL 3,D2BC3A+FR5
|
||
WL 3,D2BC3A+FR6
|
||
|
||
WL ANI_IF_RPTCOUNT,#rpt
|
||
|
||
WL ANI_CHANGEANIM,dnk_2_butt_anim
|
||
|
||
#ex
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
|
||
|
||
WL 3,D2BC3A+FR5
|
||
WL 3,D2BC3A+FR6
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
WLLL ANI_SETOPPVELS,50000h,18000h,0h ;x,y,z vels
|
||
; WL 4,D2BC3A+FR5
|
||
#missed
|
||
WL 2,D2BC3A+FR5
|
||
WL 2,D2BC3A+FR6
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#* #4 HEADBUTT
|
||
|
||
SUBR dnk_4_butts_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_SET_RPTCOUNT,3 ;5 times
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
#rpt
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
.word ANI_STARTATTACK,AT_HDBUTT,6
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 2,D4BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT_STAY,21,79,27,24 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 6,D4BC3A+FR5
|
||
#no_hit2
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
.word ANI_SET_ATTACH
|
||
.word ANI_DEBRISAT,200,2,0,100,0 ;%chance, tbl index, x,y,z off
|
||
WL ANI_CODE,impact_sound
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
.word ANI_DETACH
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#ex
|
||
.word ANI_DEC_RPTCOUNT
|
||
|
||
WL 3,D4BC3A+FR5
|
||
WL 3,D4BC3A+FR6
|
||
|
||
WL ANI_IF_RPTCOUNT,#rpt
|
||
|
||
WL ANI_CHANGEANIM,dnk_4_butt_anim
|
||
#ex
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
|
||
|
||
WL 3,D4BC3A+FR5
|
||
WL 3,D4BC3A+FR6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
WLLL ANI_SETOPPVELS,50000h,18000h,0h ;x,y,z vels
|
||
; WL 4,D4BC3A+FR5
|
||
#missed
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
* #4 COMBO HEADBUTT
|
||
|
||
SUBR dnk_4_combo_butt_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_SET_YVEL,10000h
|
||
.word ANI_STARTATTACK,AT_HDBUTT,5
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 1,D4BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,39,67,44 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_STARTATTACK,AT_HDBUTT,9
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
WL ANI_SET_YVEL,10000h
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 1,D4BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,39,67,44 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_STARTATTACK,AT_HDBUTT,9
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
WL ANI_SET_YVEL,10000h
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 1,D4BC3A+FR3
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,39,67,44 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_STARTATTACK,AT_HDBUTT,9
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
WL ANI_SET_YVEL,10000h
|
||
WL 2,D4BC3A+FR1
|
||
WL 2,D4BC3A+FR2
|
||
WL 1,D4BC3A+FR3
|
||
|
||
.word ANI_ATTACK_ON, AMODE_HDBUTT,21,39,67,44 ;mode,x,y,w,h
|
||
WL 2,D4BC3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
.word ANI_DETACH
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NEXT_CHECK_3
|
||
WL ANI_CHANGEANIM,dnk_combo_box_anim
|
||
|
||
#NEXT_CHECK_3
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NEXT_CHECK_2
|
||
WL ANI_CHANGEANIM,dnk_combo_knee_fall_anim
|
||
|
||
#NEXT_CHECK_2
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NEXT_CHECK
|
||
WL ANI_CHANGEANIM,dnk_4_combo_hiptoss_anim
|
||
|
||
#NEXT_CHECK
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#miss
|
||
WL ANI_CHANGEANIM,dnk_4_combo_earslap_anim
|
||
|
||
#miss
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 2,D4BC3A+FR5
|
||
WL 2,D4BC3A+FR6
|
||
|
||
.word ANI_DETACH
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* NORMAL #2 KICK
|
||
|
||
SUBR dnk_2_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2KM3B+FR1 ;4
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2KM3B+FR1 ;4
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2KM3B+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_KICK,5
|
||
WL 1,D2KM3B+FR2
|
||
WL 2,D2KM3B+FR3
|
||
|
||
WL 2,D2KM3B+FR4 ;4
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,62,68,16 ;mode,x,y,w,h
|
||
WL 1,D2KM3B+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 2,D2KM3B+FR4
|
||
|
||
#no_hit
|
||
WL ANI_IFNOTSTATUS,#nopause
|
||
WL 2,D2KM3B+FR4
|
||
#nopause
|
||
|
||
WL 2,D2KM3B+FR4
|
||
WL 3,D2KM3B+FR5
|
||
WL 2,D2KM3B+FR6
|
||
WL 3,D2KM3B+FR7
|
||
WL 2,D2KM3B+FR8
|
||
WL 3,D2KM3B+FR9
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* NORMAL #4 KICK
|
||
|
||
SUBR dnk_4_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4KM3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4KM3A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4KM3A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_KICK,5
|
||
WL 1,D4KM3A+FR3
|
||
WL 2,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,62,68,16 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 2,D4KM3A+FR5
|
||
|
||
#no_hit2
|
||
WL ANI_IFNOTSTATUS,#nopause2
|
||
WL 2,D4KM3A+FR5
|
||
#nopause2
|
||
|
||
WL 2,D4KM3A+FR5
|
||
WL 3,D4KM3A+FR6
|
||
WL 2,D4KM3A+FR7
|
||
WL 3,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 3,D4KM3A+FR10
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_combo_kick_anim
|
||
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_KICK,7
|
||
WL 2,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WL 2,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,16,68,66 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
WL ANI_SET_YVEL,30000h
|
||
|
||
.word ANI_STARTATTACK,AT_KICK,13
|
||
WL 2,D4KM3A+FR5
|
||
WL 1,D4KM3A+FR6
|
||
WL 1,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 1,D4KM3A+FR10
|
||
|
||
WL 1,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WL 2,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,16,68,66 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
.word ANI_STARTATTACK,AT_KICK,11
|
||
WL 1,D4KM3A+FR5
|
||
|
||
WL 1,D4KM3A+FR6
|
||
WL 1,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 1,D4KM3A+FR10
|
||
|
||
|
||
WL 1,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WL 1,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,16,68,66 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_DETACH
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
.word ANI_STARTATTACK,AT_KICK,11
|
||
WL 1,D4KM3A+FR5
|
||
|
||
WL 1,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 1,D4KM3A+FR10
|
||
|
||
|
||
WL 1,D4KM3A+FR2
|
||
WL 1,D4KM3A+FR3
|
||
WL 1,D4KM3A+FR4
|
||
|
||
WL 2,D4KM3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KICK,20,16,68,66 ;mode,x,y,w,h
|
||
WL 1,D4KM3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
|
||
.word ANI_DETACH
|
||
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 1,D4KM3A+FR5
|
||
|
||
WL 1,D4KM3A+FR8
|
||
WL 2,D4KM3A+FR9
|
||
WL 1,D4KM3A+FR10
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NEXT_CHECK_2
|
||
WL ANI_CHANGEANIM,dnk_combo_box_anim
|
||
|
||
#NEXT_CHECK_2
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NEXT_CHECK
|
||
WL ANI_CHANGEANIM,dnk_combo_knee_fall_anim
|
||
|
||
#NEXT_CHECK
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#miss
|
||
WL ANI_CHANGEANIM,dnk_4_combo_spin_kick_anim
|
||
|
||
#miss
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_DETACH
|
||
WL 3,D4KM3A+FR5
|
||
WL 3,D4KM3A+FR6
|
||
WL 3,D4KM3A+FR7
|
||
WL 3,D4KM3A+FR8
|
||
WL 3,D4KM3A+FR9
|
||
WL 3,D4KM3A+FR10
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 SPIN KICK
|
||
|
||
SUBR dnk_2_spin_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_SPINKIK,15
|
||
WL 3,D2KB3A+FR9
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 11,999,50,50,90000h,TGT_HEAD,79,87,-30
|
||
WL 2,D2KB3A+FR8
|
||
WL 3,D2KB3A+FR7
|
||
WL 3,D2KB3A+FR6
|
||
WL 3,D2KB3A+FR5
|
||
|
||
; .word ANI_ATTACK_ON, AMODE_SPINKICK,59,87,21,20 ;mode,x,y,w,h
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,46,76,42,42 ;mode,x,y,w,h
|
||
|
||
WL 4,D2KB3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
WL ANI_SET_YVEL,50000h
|
||
WL ANI_GOTO,#nopause
|
||
#no_hit
|
||
WL ANI_IFNOTSTATUS,#nopause
|
||
.word ANI_ZEROVELS
|
||
WL ANI_SET_YVEL,30000h
|
||
WLW ANI_SET_XVEL,30000h,AM_HIT_REL
|
||
#nopause
|
||
WL 1,D2KB3A+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
; WL ANI_CODE,skick_delay
|
||
; WL ANI_IFNOTSTATUS,#none
|
||
; WL 15,D2KB3A+FR4
|
||
;#none
|
||
|
||
WL 4,D2KB3A+FR3
|
||
WL 4,D2KB3A+FR2
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR skick_delay
|
||
|
||
move @royal_rumble,a0
|
||
jrnz #ok
|
||
|
||
|
||
|
||
|
||
; move @PSTATUS,a0
|
||
; subk 3,a0
|
||
; jrz #cont
|
||
; move @NUM_OPPS,a0
|
||
; subk 1,a0
|
||
; jrnz #ok
|
||
;#cont
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
move *a13(LAST_SKICK),a14,L
|
||
move @PCNT,a0,L ;use 32-bit PCNT!
|
||
move a0,*a13(LAST_SKICK),L
|
||
sub a14,a0
|
||
cmpi 2*60,a0
|
||
jrge #ok
|
||
|
||
;This blocked fling attempt is too close (in terms of time) to most recent grab
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#ok move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 SPIN KICK - Against TB attacks
|
||
|
||
SUBR dnk_2_spin_kick_TB_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_SETPLYRMODE,MODE_INAIR2
|
||
.word ANI_STARTATTACK,AT_LEAPING,15
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
WL 2,D2KB3A+FR9
|
||
WL ANI_SET_YVEL,70000h
|
||
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
|
||
WL 2,D2KB3A+FR8
|
||
WL 2,D2KB3A+FR7
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,8,19,68,60 ;mode,x,y,w,h
|
||
WL 2,D2KB3A+FR6
|
||
WL 2,D2KB3A+FR5
|
||
WL 8,D2KB3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
WL 4,D2KB3A+FR3
|
||
WL 4,D2KB3A+FR2
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 SPIN KICK
|
||
|
||
SUBR dnk_4_spin_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
.word ANI_STARTATTACK,AT_SPINKIK,15
|
||
WL 3,D4KB3A+FR9
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
|
||
LEAPATOPP 11,999,50,50,90000h,TGT_HEAD,81,90,30
|
||
WL 2,D4KB3A+FR8
|
||
WL 3,D4KB3A+FR7
|
||
WL 3,D4KB3A+FR6
|
||
WL 3,D4KB3A+FR5
|
||
|
||
; .word ANI_ATTACK_ON, AMODE_SPINKICK,59,82,26,13 ;mode,x,y,w,h
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,50,70,50,28 ;mode,x,y,w,h
|
||
WL 4,D4KB3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
WL ANI_SET_YVEL,50000h
|
||
WL ANI_GOTO,#nopause2
|
||
#no_hit2
|
||
WL ANI_IFNOTSTATUS,#nopause2
|
||
.word ANI_ZEROVELS
|
||
WL ANI_SET_YVEL,30000h
|
||
WLW ANI_SET_XVEL,30000h,AM_HIT_REL
|
||
#nopause2
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
; WL ANI_CODE,skick_delay
|
||
; WL ANI_IFNOTSTATUS,#none
|
||
; WL 15,D4KB3A+FR5
|
||
;#none
|
||
|
||
WL 4,D4KB3A+FR4
|
||
WL 4,D4KB3A+FR3
|
||
WL 4,D4KB3A+FR2
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*
|
||
* #4 SPIN KICK
|
||
|
||
SUBR dnk_4_spin_kick_TB_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
.word ANI_SETPLYRMODE,MODE_INAIR2
|
||
.word ANI_STARTATTACK,AT_SPINKIK,15
|
||
WL 2,D4KB3A+FR9
|
||
WL ANI_SET_YVEL,70000h
|
||
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
|
||
WL 2,D4KB3A+FR8
|
||
WL 2,D4KB3A+FR7
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,82,26,13 ;mode,x,y,w,h
|
||
WL 2,D4KB3A+FR6
|
||
WL 2,D4KB3A+FR5
|
||
WL 8,D4KB3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
WL 3,D4KB3A+FR4
|
||
WL 3,D4KB3A+FR3
|
||
WL 3,D4KB3A+FR2
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_combo_spin_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_STARTATTACK,AT_SPINKIK,9
|
||
WL 2,D2KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,79,87,-30
|
||
WL 2,D2KB3A+FR8
|
||
WL 2,D2KB3A+FR7
|
||
WL 2,D2KB3A+FR6
|
||
WL 1,D2KB3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,37,41,70 ;mode,x,y,w,h
|
||
WL 2,D2KB3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin2
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,40000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_FACE_REL
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_STARTATTACK,AT_SPINKIK,16
|
||
WL 2,D2KB3A+FR3
|
||
WL 2,D2KB3A+FR2
|
||
WL 2,D4KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
|
||
WL 2,D4KB3A+FR9
|
||
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,81,90,30
|
||
WL 2,D4KB3A+FR8
|
||
WL 2,D4KB3A+FR7
|
||
WL 1,D4KB3A+FR6
|
||
WL 2,D4KB3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,37,41,70 ;mode,x,y,w,h
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin4
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,40000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_ABS
|
||
|
||
WL 2,D4KB3A+FR5
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_STARTATTACK,AT_SPINKIK,14
|
||
WL 2,D4KB3A+FR4
|
||
WL 1,D4KB3A+FR3
|
||
WL 2,D4KB3A+FR2
|
||
|
||
;end kick 4
|
||
|
||
WL 1,D2KB3A+FR9
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,79,87,-30
|
||
WL 1,D2KB3A+FR8
|
||
WL 1,D2KB3A+FR7
|
||
WL 1,D2KB3A+FR6
|
||
WL 1,D2KB3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,37,41,70 ;mode,x,y,w,h
|
||
WL 2,D2KB3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin2
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,18000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,10000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_ABS
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_STARTATTACK,AT_SPINKIK,12
|
||
WL 1,D2KB3A+FR3
|
||
WL 2,D2KB3A+FR2
|
||
WL 1,D4KB3A+FR9
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
|
||
LEAPATOPP 8,999,45,50,90000h,TGT_HEAD,81,90,30
|
||
WL 1,D4KB3A+FR8
|
||
WL 2,D4KB3A+FR7
|
||
WL 1,D4KB3A+FR6
|
||
WL 1,D4KB3A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_SPINKICK,59,37,41,70 ;mode,x,y,w,h
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#miss_combo_spin4
|
||
.WORD ANI_INC_COMBO
|
||
; .word ANI_SET_ATTACH
|
||
WLLL ANI_SETOPPVELS,0,18000h,0h ;x,y,z vels
|
||
WLW ANI_SET_ZVEL,10000h,AM_FACE_REL
|
||
WLW ANI_SET_XVEL,0h,AM_ABS
|
||
|
||
WL 1,D4KB3A+FR5
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 1,D4KB3A+FR4
|
||
WL 2,D4KB3A+FR3
|
||
WL 1,D4KB3A+FR2
|
||
|
||
;end kick 4
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NEXT_CHECK_3
|
||
WL ANI_CHANGEANIM,dnk_combo_box_anim
|
||
|
||
#NEXT_CHECK_3
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NEXT_CHECK_2
|
||
WL ANI_CHANGEANIM,dnk_combo_knee_fall_anim
|
||
|
||
#NEXT_CHECK_2
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NEXT_CHECK
|
||
WL ANI_CHANGEANIM,dnk_4_combo_hiptoss_anim
|
||
#NEXT_CHECK
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#miss_combo_spin4
|
||
WL ANI_CHANGEANIM,dnk_4_combo_earslap_anim
|
||
|
||
#miss_combo_spin2
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 2,D2KB3A+FR3
|
||
WL 2,D2KB3A+FR2
|
||
WL 2,D4KB3A+FR9
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#miss_combo_spin4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 2,D4KB3A+FR4
|
||
WL 2,D4KB3A+FR3
|
||
WL 2,D4KB3A+FR2
|
||
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 KNEE
|
||
|
||
SUBR dnk_2_knee_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_KNEE,6
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2KM3D+FR1 ;D2NM3A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2KM3D+FR1 ;D2NM3A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2KM3D+FR1 ;D2NM3A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL 2,D2KM3D+FR1 ;D2NM3A+FR3
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 21,999,36,30,90000h,TGT_CHEST,46,74,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,5,41,48,36 ;mode,x,y,w,h
|
||
WL 3,D2NM3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
|
||
WL ANI_SET_YVEL,60000h
|
||
WLW ANI_SET_ZVEL,10000h,AM_ABS
|
||
WL 1,D2NM3A+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont
|
||
#no_hit
|
||
; WL ANI_IFNOTSTATUS,#nodrft
|
||
; WLW ANI_SET_ZVEL,0C000h,AM_ABS
|
||
;#nodrft
|
||
WL 8,D2NM3A+FR4
|
||
; .word ANI_ZERO_XZVELS
|
||
; WL 14,D2NM3A+FR4 ;8
|
||
; WL 1,D2NM3A+FR4 ;8
|
||
#cont
|
||
WL 3,D2NM3A+FR5
|
||
WL 3,D2NM3A+FR6
|
||
WL 3,D2NM3A+FR7
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 KNEE
|
||
|
||
;For when knee knocks you on your butt
|
||
|
||
SUBR dnk_4_knee_fall_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
.word ANI_STARTATTACK,AT_BIGKNEE,6
|
||
WL 3,D4NM3B+FR3
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 21,999,36,20,90000h,TGT_CHEST,46,74,0
|
||
; LEAPATOPP 15,999,86,20,90000h,TGT_CHEST,26,74,0
|
||
|
||
;This knee will knock the guy down!
|
||
WL 1,D4NM3B+FR4
|
||
.word ANI_ATTACK_ON, AMODE_BIGKNEE,-5,41,70,36 ;mode,x,y,w,h
|
||
WL 3,D4NM3B+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
; WLW ANI_SET_ZVEL,-10000h,AM_ABS
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit3
|
||
WL ANI_SET_YVEL,60000h
|
||
; WLW ANI_SET_ZVEL,-4000h,AM_ABS
|
||
WL 1,D4NM3B+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
#no_hit3
|
||
WL 8,D4NM3B+FR4
|
||
; WL 15h,D4NM3B+FR4
|
||
; .word ANI_ZERO_XZVELS
|
||
; WL 3,D4NM3B+FR4 ;8
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
|
||
SUBR dnk_combo_knee_fall_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_BIGKNEE,19
|
||
WL 4,D4NM3B+FR3
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 15,999,86,20,90000h,TGT_CHEST,26,74,0
|
||
|
||
;This knee will knock the guy down!
|
||
.word ANI_ATTACK_ON, AMODE_BIGKNEE,-5,41,90,36 ;mode,x,y,w,h
|
||
WL 3,D4NM3B+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WLW ANI_SET_ZVEL,-20000h,AM_ABS
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit4
|
||
WL ANI_SET_YVEL,60000h
|
||
WL 1,D4NM3B+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
#no_hit4
|
||
WL 1ah,D4NM3B+FR4
|
||
.word ANI_ZERO_XZVELS
|
||
WL 3,D4NM3B+FR4 ;8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
|
||
|
||
SUBR dnk_4_knee_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_KNEE,6
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4NM3B+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4NM3B+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4NM3B+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL 2,D4NM3B+FR3
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
; LEAPATOPP 21,999,36,20,90000h,TGT_CHEST,46,74,0
|
||
|
||
.word ANI_ATTACK_ON, AMODE_KNEE,5,41,40,36 ;mode,x,y,w,h
|
||
WL 3,D4NM3B+FR4
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
|
||
WL ANI_SET_YVEL,60000h
|
||
WLW ANI_SET_ZVEL,-4000h,AM_ABS
|
||
WL 1,D4NM3B+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_GOTO,#cont2
|
||
#no_hit2
|
||
WL 8,D4NM3B+FR4
|
||
; WL 12h,D4NM3B+FR4
|
||
; .word ANI_ZERO_XZVELS
|
||
; WL 14,D4NM3B+FR4 ;8
|
||
; .word ANI_WAITHITGND
|
||
; .word ANI_ZEROVELS
|
||
#cont2
|
||
WL 3,D4NM3B+FR5
|
||
WL 3,D4NM3B+FR6
|
||
WL 3,D4NM3B+FR7
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #3 FLYING KICK
|
||
|
||
#yoff1 equ 40
|
||
|
||
SUBR dnk_combo_flying_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 3,D3DC3C+FR1
|
||
|
||
; WL ANI_CODE,get_leap
|
||
; WL ANI_IFSTATUS,#no_xvelc
|
||
|
||
;#normc
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 19,999,150,65,90000h,TGT_HEAD,30,100,0
|
||
.word ANI_STARTATTACK,AT_LEAPING,21
|
||
|
||
; WL ANI_GOTO,#contc
|
||
;
|
||
;#no_xvelc
|
||
; .word ANI_ZERO_XZVELS
|
||
; WL ANI_SET_YVEL,64000h
|
||
;#contc
|
||
WL 3,D3DC3C+FR2
|
||
|
||
.word ANI_OFFSET,0,#yoff1,0 ;x,y,z
|
||
WL 3,D3DC3C+FR3
|
||
WL 6,D3DC3C+FR4
|
||
|
||
.word ANI_CLR_STATUS
|
||
|
||
.word ANI_ATTACK_ON, AMODE_FLYKICK,53,23,27,29 ;mode,x,y,w,h
|
||
WL 3,D3DC3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL 4,D3DC3C+FR6
|
||
|
||
WL 3,D3DC3C+FR7
|
||
WL 3,D3DC3C+FR8
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
WL ANI_IFSTATUS,#gotc
|
||
;Missed him
|
||
WL 4,D3DC3C+FR9
|
||
.word ANI_BOUNCE,3
|
||
WL 4,D3DC3C+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 2,D3DC3C+FR9
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
#gotc
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
WL 2,D3DC3C+FR9
|
||
WL 2,D3DC3C+FR9
|
||
WL 4,D3DC3C+FR9
|
||
WL 4,D3DC3C+FR10
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_OFFSET,5,0,0 ;x,y,z
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D2GD2A+FR4
|
||
WL 3,D2GD2A+FR6
|
||
WL 3,D2GD2A+FR7
|
||
;Check for a flip here
|
||
WL 2,D2GD2A+FR9
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 1,D2GD2A+FR9
|
||
WL 3,D2GD2A+FR10
|
||
|
||
.word ANI_SAFE_TIME,30
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D2GD2A+FR10
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR dnk_flying_kick_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WL 3,D3DC3C+FR1
|
||
|
||
;If opponent is on ground, just jump in place
|
||
WL ANI_CODE,#ckongrnd
|
||
WL ANI_IFNOTSTATUS,#norm
|
||
WL ANI_CHANGEANIM,dnk_belly_anim
|
||
#norm
|
||
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 19,999,155,65,90000h,TGT_HEAD,30,100,0
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
.word ANI_STARTATTACK,AT_LEAPING,11
|
||
WL ANI_CODE,no_bk_xvel
|
||
|
||
WL 3,D3DC3C+FR2
|
||
.word ANI_OFFSET,0,#yoff1,0 ;x,y,z
|
||
WL 3,D3DC3C+FR3
|
||
WL 6,D3DC3C+FR4
|
||
|
||
.word ANI_ATTACK_ON, AMODE_FLYKICK,53,23,27,29 ;mode,x,y,w,h
|
||
WL 3,D3DC3C+FR5
|
||
.word ANI_ATTACK_OFF
|
||
WL 4,D3DC3C+FR6
|
||
WL 3,D3DC3C+FR7
|
||
WL 3,D3DC3C+FR8
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
WL ANI_IFSTATUS,#got
|
||
;Missed him
|
||
WL 4,D3DC3C+FR9
|
||
.word ANI_BOUNCE,3
|
||
WL 4,D3DC3C+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 2,D3DC3C+FR9
|
||
|
||
#got
|
||
WL 2,D3DC3C+FR9
|
||
#cont2
|
||
WL 2,D3DC3C+FR9
|
||
WL 3,D3DC3C+FR9
|
||
WL 3,D3DC3C+FR10
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_OFFSET,5,0,0 ;x,y,z
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D2GD2A+FR4
|
||
WL 3,D2GD2A+FR6
|
||
WL 3,D2GD2A+FR7
|
||
;Check for a flip here
|
||
WL 2,D2GD2A+FR9
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D2GD2A+FR9
|
||
WL 3,D2GD2A+FR10
|
||
|
||
.word ANI_SAFE_TIME,30
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss1
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D2GD2A+FR10
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss1
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss1
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#ckongrnd
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(PLYRMODE),a0
|
||
cmpi MODE_ONGROUND,a0
|
||
jrz #inplace
|
||
rets
|
||
|
||
#inplace
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* BODY HIT
|
||
|
||
SUBR dnk_4_body_hit_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_DEBRIS,100,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_SET_YVEL,48000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
WL ANI_CODE,ckzpos
|
||
WL 4,D3AM3A+FR1
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
|
||
WL 4,D3AM3A+FR2
|
||
WL 4,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 3,D3AM3A+FR4
|
||
WL 3,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 2,D3AM3A+FR7
|
||
WL 2,D3AM3A+FR8
|
||
|
||
.word ANI_CHECKWORD,USR_VAR1
|
||
WL ANI_IFNOTSTATUS,#reg
|
||
|
||
WL 6,D4SW4C+FR1
|
||
WL 6,D4SW4C+FR2
|
||
WL 6,D4SW4C+FR3
|
||
WL 6,D4SW4C+FR4
|
||
WL 6,D4SW4C+FR5
|
||
WL 6,D4SW4C+FR6
|
||
WL 6,D4SW4C+FR5
|
||
WL 6,D4SW4C+FR4
|
||
WL 6,D4SW4C+FR3
|
||
WL 6,D4SW4C+FR2
|
||
|
||
#reg
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_body_hit_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WL ANI_SET_YVEL,48000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
|
||
.word ANI_DEBRIS,100,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 4,D3AM3A+FR1
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
|
||
WL 4,D3AM3A+FR2
|
||
WL 6,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 4,D3AM3A+FR4
|
||
WL 6,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 3,D3AM3A+FR7
|
||
WL 3,D3AM3A+FR8
|
||
.word ANI_OFFSET,0,-1,0 ;x,y,z
|
||
WL 1,D4SW4C+FR1
|
||
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
|
||
;Hit by a knee!
|
||
SUBR dnk_2_knee_hit_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_SET_YVEL,78000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,8000h,AM_ABS
|
||
|
||
WL ANI_CODE,ckzpos
|
||
.word ANI_DEBRIS,100,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 4,D3AM3A+FR1
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
|
||
WL 4,D3AM3A+FR2
|
||
WL 4,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 3,D3AM3A+FR4
|
||
WL 3,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 2,D3AM3A+FR7
|
||
WL 2,D3AM3A+FR8
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_knee_hit_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WL ANI_SET_YVEL,78000h
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
|
||
WL ANI_CODE,ckzpos
|
||
.word ANI_DEBRIS,100,0,6,72,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 4,D3AM3A+FR1
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
|
||
WL 4,D3AM3A+FR2
|
||
WL 14,D3AM3A+FR3
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZERO_XZVELS
|
||
WL 4,D3AM3A+FR4
|
||
WL 6,D3AM3A+FR5
|
||
WL 3,D3AM3A+FR6
|
||
WL 3,D3AM3A+FR7
|
||
WL 3,D3AM3A+FR8
|
||
; .word ANI_OFFSET,-9,-1,0 ;x,y,z
|
||
.word ANI_OFFSET,0,-1,0 ;x,y,z
|
||
WL 1,D4SW4C+FR1
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
|
||
;Being held by head, hit by a quick knee!
|
||
SUBR dnk_quick_knee_hit_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_OFFSET,0,0,2 ;x,y,z
|
||
WL 4,D3HP3A+FR1
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
|
||
WL 4,D3HP3A+FR2
|
||
WL 4,D3HP3A+FR3
|
||
WL 4,D3HP3A+FR4
|
||
WL 4,D3HP3A+FR5
|
||
.word ANI_WAITHITGND
|
||
|
||
WL ANI_CODE,am_I_dead
|
||
;If I'm dead, goto fall back
|
||
WL ANI_IFNOTSTATUS,#nodead
|
||
|
||
WL ANI_CHANGEANIM,dnk_fall_back_anim
|
||
|
||
#nodead
|
||
WL ANI_CHANGEANIM,dnk_3_head_held_anim
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* FALL BACK
|
||
|
||
SUBR dnk_fall_back_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZERO_XZVELS
|
||
WL ANI_MIN_YVEL,70000h
|
||
WLW ANI_SET_ZVEL,10000h,AM_FACE_REL
|
||
|
||
.word ANI_SCROLL_CTRL,DNK_TBUKLY-60
|
||
|
||
WL ANI_CODE,ckzpos
|
||
|
||
WWL ANI_SETLONG,DEBRIS_X,[96,-09] ;Y,X of head
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYC_SWEAT,SWEAT_PER,0
|
||
WL 3,D3UC3A+FR1
|
||
WWL ANI_SETLONG,DEBRIS_X,[95,-32] ;Y,X of head
|
||
WL 3,D3UC3A+FR2
|
||
WWL ANI_SETLONG,DEBRIS_X,[91,-41] ;Y,X of head
|
||
WL 3,D3UC3A+FR3
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WWL ANI_SETLONG,DEBRIS_X,[36,-45] ;Y,X of head
|
||
WL 3,D3UC3A+FR4
|
||
WWL ANI_SETLONG,DEBRIS_X,[29,-48] ;Y,X of head
|
||
WL 2,D3UC3A+FR5
|
||
WWL ANI_SETLONG,DEBRIS_X,[19,-48] ;Y,X of head
|
||
WL 2,D3UC3A+FR6
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_DEBRIS,100,1,-8,12,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
.word ANI_FRICTION,3000h
|
||
WWL ANI_SETLONG,DEBRIS_X,[05,-47] ;Y,X of head
|
||
WL 2,D3UC3A+FR8
|
||
.word ANI_BOUNCE,5
|
||
WL 1,D3UC3A+FR8
|
||
WWL ANI_SETLONG,DEBRIS_X,[09,-41] ;Y,X of head
|
||
WL 5,D3UC3A+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WWL ANI_SETLONG,DEBRIS_X,[07,-48] ;Y,X of head
|
||
WL 3,D3UC3A+FR10
|
||
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
|
||
WL 3,D3UC3A+FR11
|
||
|
||
.word ANI_XFLIP
|
||
WL 1,D3SA3A+FR9
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
|
||
;Stay on ground for awhile... Maybe this will be table driven
|
||
WL 6,D3SA3A+FR9
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
SUBR ckzpos
|
||
|
||
;If falling near the front or rear ropes, slide toward middle
|
||
;of the ring to allow opponent to walk around him.
|
||
move *a13(OBJ_ZPOSINT),a0
|
||
cmpi 510h,a0
|
||
jrgt #slideup
|
||
cmpi 442h,a0
|
||
jrgt #ok
|
||
|
||
;slide down scrn
|
||
movi 24000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
#slideup
|
||
movi -24000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
#ok
|
||
rets
|
||
|
||
#* FALL BACK
|
||
|
||
SUBR dnk_fall_back2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_SET_YVEL,20000h
|
||
WLW ANI_SET_ZVEL,18000h,AM_ABS
|
||
WL ANI_CODE,ckzpos
|
||
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYC_SWEAT,SWEAT_PER,0
|
||
WL 3,D3UC3A+FR1
|
||
WL 3,D3UC3A+FR2
|
||
WL 3,D3UC3A+FR3
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WL 3,D3UC3A+FR4
|
||
WL 2,D3UC3A+FR5
|
||
WL 2,D3UC3A+FR6
|
||
; WL 2,D3UC3A+FR7
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_DEBRIS,100,1,-8,12,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
.word ANI_ZEROVELS
|
||
WLW ANI_SET_ZVEL,18000h,AM_ABS
|
||
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
|
||
|
||
.word ANI_OFFSET,-25,0,0 ;x,y,z
|
||
WL 3,D3FD3E+FR2
|
||
WL 3,D3FD3E+FR3
|
||
WL 3,D3FD3E+FR4
|
||
WL 3,D3FD3E+FR5
|
||
WL 3,D3FD3E+FR6
|
||
WL 3,D3FD3E+FR7
|
||
WL 3,D3FD3E+FR8
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
.word ANI_OFFSET,-22,0,0 ;x,y,z
|
||
|
||
WL 4,D3GS3X+FR8
|
||
WL 4,D3GS3X+FR9
|
||
WL 4,D3GS3X+FR10
|
||
;Stay on ground for awhile... Maybe this will be table driven
|
||
WL 20,D3GS3X+FR8 ;Face down
|
||
; WL 3,D3SA3A+FR9
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* FALL FROM TURNBUCKLE
|
||
|
||
SUBR dnk_fall_back_tbukl_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
|
||
WL 3,D3UC3A+FR1
|
||
WL 3,D3UC3A+FR2
|
||
WL 3,D3UC3A+FR3
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WL 3,D3UC3A+FR4
|
||
WL 2,D3UC3A+FR5
|
||
WL 2,D3UC3A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_DAMAGE,D_HITCONCRETE
|
||
|
||
.word ANI_DEBRIS,100,1,-8,12,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,40
|
||
; .word ANI_FRICTION,3000h
|
||
WL 2,D3UC3A+FR8
|
||
.word ANI_BOUNCE,3
|
||
WL 1,D3UC3A+FR8
|
||
WL 5,D3UC3A+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WL 3,D3UC3A+FR10
|
||
WL 3,D3UC3A+FR11
|
||
|
||
.word ANI_XFLIP
|
||
WL 1,D3SA3A+FR9
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
WL 3,D3SA3A+FR9
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
;chooses 2 or 4 right away
|
||
|
||
SUBR dnk_faceup_getup_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
WL ANI_CODE,choose_2or4
|
||
WL ANI_IFNOTSTATUS,dnk_2_faceup_getup_anim
|
||
WL ANI_CHANGEANIM,dnk_4_faceup_getup_anim
|
||
|
||
SUBR dnk_4_faceup_getup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
; .word ANI_CLR_STARS
|
||
; .word ANI_CLR_DAMAGE
|
||
|
||
WL 1,D3SA3A+FR9
|
||
WL 2,D3GU4A+FR2
|
||
WL 3,D3GU4A+FR3
|
||
WL 2,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 2,D3GU4A+FR6
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
WL 2,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,50
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss2
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D3GU4A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss2
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss2
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_2_faceup_getup_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
; .word ANI_CLR_STARS
|
||
; .word ANI_CLR_DAMAGE
|
||
|
||
|
||
; WL 1,D3SA3A+FR9
|
||
WL 2,D3RL1B+FR2
|
||
WL 2,D3RL1B+FR3
|
||
WL 2,D3RL1B+FR4
|
||
WL 2,D3RL1B+FR5
|
||
WL 2,D3RL1B+FR6
|
||
|
||
WL 3,D2GD2A+FR4
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
WL 2,D2GD2A+FR6
|
||
WL 3,D2GD2A+FR7
|
||
;Check for a flip here
|
||
WL 2,D2GD2A+FR9
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 1,D2GD2A+FR9
|
||
WL 3,D2GD2A+FR10
|
||
|
||
.word ANI_SAFE_TIME,50
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss3
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D2GD2A+FR10
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss3
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss3
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #4 HEAD HIT
|
||
|
||
SUBR dnk_4_head_hit_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
|
||
|
||
; WL ANI_CODE,#tryblood
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
|
||
|
||
WL 3,D3AH3B+FR1
|
||
WL 3,D3AH3B+FR2
|
||
WL 2,D3AH3B+FR3
|
||
WL 2,D3AH3B+FR5
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
;#tryblood
|
||
; move a13,a11
|
||
; CREATE0 react_bloodnguts_gen
|
||
; rets
|
||
|
||
#* #2 HEAD HIT
|
||
|
||
SUBR dnk_2_head_hit_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
|
||
|
||
WL 3,D2AH2A+FR1
|
||
WL 3,D2AH2A+FR2
|
||
WL 3,D2AH2A+FR3
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#* #4 HEAD HIT - From spin kick & backhand slap
|
||
|
||
SUBR dnk_4_head_hit2_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,-20000h,AM_ABS
|
||
WL ANI_SET_YVEL,40000h
|
||
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
|
||
WL 3,D3AH3B+FR1
|
||
.word ANI_DEBRIS,200,2,-23,102,0 ;%chance, tbl index, x,y,z off
|
||
WL 3,D3AH3B+FR2
|
||
.word ANI_WAITHITGND
|
||
WL 3,D3AH3B+FR3
|
||
.word ANI_ZEROVELS
|
||
WL 3,D3AH3B+FR5
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_head_hit4_anim
|
||
;From earslap
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WL ANI_SET_YVEL,50000h
|
||
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
|
||
WL 4,D3AH3B+FR2
|
||
WL 4,D3AH3B+FR3
|
||
WL 4,D3AH3B+FR5
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#* #2 HEAD HIT - From spin kick & backhand slap
|
||
|
||
SUBR dnk_2_head_hit2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,20000h,AM_ABS
|
||
WL ANI_SET_YVEL,40000h
|
||
|
||
WL 3,D2AH2A+FR1
|
||
.word ANI_DEBRIS,200,2,-23,102,0 ;%chance, tbl index, x,y,z off
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
|
||
WL 4,D2AH2A+FR2
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 3,D2AH2A+FR3
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HEAD HIT2 (HANDS ON FACE)
|
||
|
||
SUBR dnk_head_hit2_anim
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
|
||
.word ANI_FRICTION,3000h
|
||
WL 3,D3AE3B+FR1
|
||
WL 3,D3AE3B+FR2
|
||
WL 3,D3AE3B+FR3
|
||
WL 3,D3AE3B+FR4
|
||
WL 2,D3AE3B+FR5
|
||
WL 2,D3AE3B+FR6
|
||
WL 2,D3AE3B+FR7
|
||
WL 2,D3AE3B+FR8
|
||
|
||
WL ANI_CODE,am_I_dead
|
||
;If I'm dead, goto fall back
|
||
WL ANI_IFNOTSTATUS,#nodead
|
||
|
||
WL ANI_CHANGEANIM,dnk_fall_back_anim
|
||
|
||
#nodead
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_head_hit2s_anim
|
||
;Salt hits me in face
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
; WL 4,D3AE3B+FR1
|
||
WL ANI_CODE,create_impact_salt
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 4,D3AE3B+FR4
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FRICTION,4000h
|
||
WL 50,D3AE3B+FR4
|
||
.word ANI_ZEROVELS
|
||
WL 3,D3AE3B+FR5
|
||
WL 3,D3AE3B+FR6
|
||
WL 3,D3AE3B+FR7
|
||
WL 3,D3AE3B+FR8
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
#*
|
||
|
||
SUBR dnk_head_hit3_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,28000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,50000h
|
||
.word ANI_FRICTION,3000h
|
||
; WL 4,D3AE3B+FR1
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 18,D3AE3B+FR4
|
||
WL 2,D3AE3B+FR5
|
||
.word ANI_ZEROVELS
|
||
WL 2,D3AE3B+FR5
|
||
WL 3,D3AE3B+FR6
|
||
WL 3,D3AE3B+FR7
|
||
WL 3,D3AE3B+FR8
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* HEAD HIT2 (ENDS IN DIZZY)
|
||
|
||
SUBR dnk_head_dead_dizzy_anim
|
||
;This is a head hit dizzy seq which causes the player to fall down after a time
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 4,D3AE3B+FR1
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 4,D3AE3B+FR4
|
||
WL 4,D3AE3B+FR5
|
||
WL 4,D3AE3B+FR6
|
||
WL 4,D3AE3B+FR7
|
||
WL 4,D3AE3B+FR8
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
|
||
* HEAD HIT2 (ENDS IN DIZZY)
|
||
|
||
SUBR dnk_head_hit_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WLW ANI_SET_XVEL,-60000h,AM_HIT_REL
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 4,D3AE3B+FR1
|
||
WL 4,D3AE3B+FR2
|
||
WL 4,D3AE3B+FR3
|
||
WL 4,D3AE3B+FR4
|
||
WL 4,D3AE3B+FR5
|
||
WL 4,D3AE3B+FR6
|
||
WL 4,D3AE3B+FR7
|
||
WL 4,D3AE3B+FR8
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2,4 FLYING CLOTHESLINE
|
||
|
||
SUBR dnk_fly_cline_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_OVERLAP|MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_STARTATTACK,AT_LEAPING,3
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WL 3,D3RC3A+FR1
|
||
.word ANI_OFFSET,5,0,0 ;x,y,z
|
||
WL 3,D3RC3A+FR2
|
||
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
|
||
|
||
WL ANI_SET_YVEL,64000h
|
||
WLW ANI_SET_XVEL,5c000h,AM_FACE_REL ;64
|
||
.word ANI_OFFSET,9,45,0 ;x,y,z
|
||
WL 3,D3RC3A+FR3
|
||
.word ANI_ATTACK_ON, AMODE_CLINE,25,6,23,37 ;mode,x,y,w,h ;31
|
||
WL 3,D3RC3A+FR4
|
||
WL 3,D3RC3A+FR5
|
||
WL 3,D3RC3A+FR6
|
||
WL 3,D3RC3A+FR7
|
||
WL 4,D3RC3A+FR8
|
||
.word ANI_ATTACK_OFF
|
||
WL 5,D3RC3A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WLW ANI_SET_XVEL,50000h,AM_FACE_REL
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_BOUNCE,4
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 3,D3RC3A+FR8
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 10,D3RC3A+FR9
|
||
|
||
WL ANI_IFSTATUS,#gothim
|
||
;He missed, have him stay on ground for awhile!
|
||
WL ANI_CODE,CALL_MISSES
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
;Do a little damage when missing!
|
||
; .word ANI_DAMAGE,2 ;Damage myself
|
||
; WL 30,D3RC3A+FR9
|
||
WL 3,D3RC3A+FR9
|
||
;#done
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
#gothim
|
||
.word ANI_DRAW_NAME,24
|
||
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
|
||
|
||
WL 2,D3RL1B+FR7
|
||
WL 2,D3RL1B+FR9
|
||
WL 2,D3RL1B+FR11
|
||
|
||
;Perhaps we should turn off collisions when getting up!?
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_OVERLAP|MODE_NOAUTOFLIP|MODE_NOCOLLIS
|
||
|
||
WL 2,D3GU4A+FR2
|
||
WL 2,D3GU4A+FR3
|
||
WL 2,D3GU4A+FR4
|
||
WL 2,D3GU4A+FR5
|
||
WL 2,D3GU4A+FR6
|
||
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
WL 2,D3GU4A+FR7
|
||
WL 2,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,30
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss4
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D3GU4A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss4
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss4
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
; SUBR ck_dizzy
|
||
;
|
||
; calla check_dizzy
|
||
; jrz #not_dizzy
|
||
; move *a13(ANIMODE),a1
|
||
; ori MODE_STATUS,a1
|
||
; move a1,*a13(ANIMODE)
|
||
; rets
|
||
;
|
||
;#not_dizzy
|
||
; move *a13(ANIMODE),a1
|
||
; andni MODE_STATUS,a1
|
||
; move a1,*a13(ANIMODE)
|
||
; rets
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2,4 BELLY FLOP FROM RUNNING MODE ONTO FALLEN OPPONENT
|
||
|
||
SUBR dnk_belly_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_OVERLAP|MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_CODE,get_leap
|
||
WL ANI_IFNOTSTATUS,#normal
|
||
|
||
WL ANI_CODE,#close
|
||
WL ANI_IFSTATUS,#no_xvel
|
||
|
||
#normal
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 30,200,100,90,90000h,TGT_GROIN,0,0,-10
|
||
.word ANI_STARTATTACK,AT_LEAPING,30
|
||
; .word ANI_STARTATTACK,AT_BUTTSTOMP,30
|
||
|
||
WL ANI_GOTO,#cont
|
||
|
||
#no_xvel
|
||
.word ANI_ZERO_XZVELS
|
||
WL ANI_SET_YVEL,74000h
|
||
|
||
WL 5,D4JD4A+FR4
|
||
.word ANI_OFFSET,0,45,0 ;x,y,z
|
||
WL 5,D4FM4A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BUTTSTOMP,-18,4,50,23 ;mode,x,y,w,h
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
#miss WL ANI_CODE,shake_all_ropes
|
||
.word ANI_BOUNCE,5
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKER,15
|
||
WL 5,D4FM4A+FR7
|
||
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL ANI_GOTO,#cont4
|
||
|
||
#cont WL 5,D4JD4A+FR4
|
||
.word ANI_OFFSET,0,45,0 ;x,y,z
|
||
WL 5,D4FM4A+FR5
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BUTTSTOMP,-18,4,50,23 ;mode,x,y,w,h
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#miss
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKER,15
|
||
|
||
|
||
WL 5,D4FM4A+FR7
|
||
|
||
#cont4 WL 8,D4FM4A+FR9
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_FACEDOWN
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,50
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss5
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D3GU4A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss5
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss5
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#close
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
calla get_opp_process ;closest opponent process
|
||
move *a0(OBJ_XPOSINT),a0
|
||
MOVE *a13(OBJ_XPOSINT),a14
|
||
sub a0,a14
|
||
abs a14
|
||
cmpi 30h,a14
|
||
jrgt #inplace
|
||
rets
|
||
|
||
#inplace
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 ELBOW DROP
|
||
|
||
SUBR dnk_2_lbowdrop_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2PJ2A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2PJ2A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D2PJ2A+FR3
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_LBDROP,19
|
||
WL 3,D2PJ2A+FR4
|
||
|
||
.word ANI_OFFSET,0,50,0 ;x,y,z
|
||
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 16,999,160,140,90000h,TGT_USER,-3,0,-30
|
||
WL ANI_CODE,#zero_x
|
||
|
||
WL 3,D2PJ2A+FR6
|
||
WL 3,D2PJ2A+FR8
|
||
WL 10,D2PJ2A+FR10
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
;Perhaps even shake ropes
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,18
|
||
|
||
; .word ANI_ATTACK_ON_Z, AMODE_LBOWDROP,-15,7,10,30,21,40 ;mode,x,y,z,w,h,d
|
||
.word ANI_ATTACK_ON, AMODE_LBOWDROP,-15,7,30,21 ;mode,x,y,z,w,h,d
|
||
|
||
WL 2,D2PJ2A+FR11
|
||
WL 2,D2PJ2A+FR12
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_IFSTATUS,#gothim2
|
||
.word ANI_BOUNCE,3
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
WL ANI_CODE,CALL_MISSES
|
||
|
||
;He missed, have him stay on ground for awhile!
|
||
WL 40,D2PJ2A+FR12
|
||
.word ANI_WAITHITGND
|
||
WL ANI_GOTO,#cont
|
||
#gothim2
|
||
.word ANI_DRAW_NAME,18
|
||
.word ANI_BOUNCE,4
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 15,D2PJ2A+FR12
|
||
|
||
#cont WL 3,D5GD3A+FR5
|
||
|
||
WL 3,D5GD3A+FR6
|
||
WL 3,D5GD3A+FR7
|
||
WL 3,D5GD3A+FR8
|
||
WL 3,D5GD3A+FR9
|
||
WL 3,D5GD3A+FR10
|
||
.word ANI_FACEUP
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* #4 ELBOW DROP
|
||
|
||
SUBR dnk_4_lbowdrop_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4PJ4A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4PJ4A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4PJ4A+FR2
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_LBDROP,19
|
||
WL 3,D4PJ4A+FR3
|
||
|
||
.word ANI_OFFSET,0,31h,0 ;x,y,z
|
||
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 16,999,160,140,90000h,TGT_USER,-3,0,30
|
||
|
||
WL ANI_CODE,#zero_x
|
||
|
||
WL 3,D4PJ4A+FR4
|
||
WL 3,D4PJ4A+FR6
|
||
WL 10,D4PJ4A+FR7
|
||
.word ANI_WAITHITGND
|
||
#land
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_ZERO_XZVELS
|
||
;Perhaps even shake ropes
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,18
|
||
|
||
; .word ANI_ATTACK_ON_Z, AMODE_LBOWDROP,-6,22,16,25,27,30 ;mode,x,y,z,w,h,d
|
||
.word ANI_ATTACK_ON, AMODE_LBOWDROP,-6,0,25,27 ;mode,x,y,z,w,h,d
|
||
|
||
WL 1,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFSTATUS,#gothim4
|
||
.word ANI_BOUNCE,3
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
;He missed, have him stay on ground for awhile!
|
||
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 40,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
WL ANI_GOTO,#land2
|
||
|
||
#gothim4
|
||
.word ANI_DRAW_NAME,18
|
||
.word ANI_BOUNCE,4
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 15,D4PJ4A+FR10
|
||
#land2
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_XFLIP
|
||
.word ANI_OFFSET,10,0,0 ;x,y,z
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 4,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,50
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss6
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D3GU4A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss6
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
;Elbow drop #4 from turnbuckle
|
||
SUBR dnk_4_blbowdrop_anim
|
||
|
||
;If jumping toward an in ring opponent & near the edge of ring, turn on
|
||
;the confine bit!
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCONFINE|MODE_NOGRAVITY
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
|
||
.word ANI_OFFSET,11,4,0 ;x,y,z
|
||
|
||
WL 2,D4PJ4A+FR2
|
||
WL 2,D4PJ4A+FR3
|
||
|
||
.word ANI_OFFSET,0,31h,0 ;x,y,z
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 38,190,190,190,90000h,TGT_CHEST,-3,-3,50
|
||
.word ANI_GRAVITY_ON
|
||
; .word ANI_SETPLYRMODE,MODE_INAIR2
|
||
WL ANI_CODE,set_tbukl_airmode
|
||
.word ANI_STARTATTACK,AT_LEAPING,25
|
||
|
||
.word ANI_SHAKECORNER ;Shake corner ropes
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
|
||
WL 3,D4PJ4A+FR4
|
||
WL 3,D4PJ4A+FR6
|
||
|
||
WL 6,D4PJ4A+FR7
|
||
WL ANI_CODE,set_tbukl_confine
|
||
WL 4,D4PJ4A+FR7
|
||
.word ANI_ATTACK_ON_Z,AMODE_BLBOWDROP,-46,0,16,92,34,30
|
||
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
|
||
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
|
||
.word ANI_ATTACK_ON_Z,AMODE_BLBOWDROP,-46,28,16,92,34,30
|
||
#opp_onground
|
||
WL 1,D4PJ4A+FR7
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
;Perhaps even shake ropes
|
||
.word ANI_SHAKEALL,1
|
||
.word ANI_SHAKER,25
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
WL 1,D4PJ4A+FR10
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_9,2,2
|
||
WL ANI_IFSTATUS,#gothimb
|
||
.word ANI_BOUNCE,4 ;Bigger bounce
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
;He missed, have him stay on ground for awhile!
|
||
|
||
; WL ANI_CODE,tbukl_miss_damage
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 25,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL ANI_GOTO,#tag
|
||
|
||
|
||
#gothimb
|
||
.word ANI_DRAW_NAME,18
|
||
.word ANI_BOUNCE,4
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 15,D4PJ4A+FR10
|
||
.word ANI_WAITHITGND
|
||
#tag .word ANI_XFLIP
|
||
.word ANI_OFFSET,-10,0,0 ;x,y,z
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 4,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,50
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss7
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D3GU4A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss7
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss7
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* #4 HAMMER POUND OF FALLEN OPPONENT
|
||
|
||
SUBR dnk_4_hammer_anim
|
||
;Fix attack boxes! No z
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_STARTATTACK,AT_HAMMER1,12
|
||
WL 3,D4HM4A+FR1
|
||
WL 3,D4HM4A+FR2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 6,190,90,50,90000h,TGT_GROIN,95,82,13h ;13
|
||
|
||
.word ANI_SET_RPTCOUNT,4 ;5 times
|
||
|
||
WL 6,D4HM4A+FR3 ;16
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 2,D4HM4A+FR4
|
||
WL 3,D4HM4A+FR5
|
||
WL 2,D4HM4A+FR6
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 3,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
|
||
WL ANI_IFNOTSTATUS,#tagmiss
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
;He got him, shake screen
|
||
.word ANI_DAMAGEOPP,D_HAMMER1,RD_HAMMER1
|
||
.word ANI_DRAW_NAME,25
|
||
|
||
;Immobilize player for 30 ticks without meter on!
|
||
.word ANI_IMMOBILIZE,30
|
||
.word ANI_SHAKER,25
|
||
|
||
WL ANI_CODE,CALL_NASTY_MOVE
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#missedb
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#dnk_quick_hammer
|
||
|
||
#missedb
|
||
#tagmiss
|
||
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#dnk_quick_hammer
|
||
.word ANI_CLR_BUTCOUNT
|
||
.word ANI_STARTATTACK,AT_HAMMER1,27
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
WL 3,D4HM4A+FR1
|
||
WL 3,D4HM4A+FR2
|
||
WL 3,D4HM4A+FR3
|
||
WL 3,D4HM4A+FR4
|
||
WL 3,D4HM4A+FR5
|
||
WL 3,D4HM4A+FR6
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 3,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#tagmiss
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
;Immobilize player for 30 ticks without meter on!
|
||
.word ANI_IMMOBILIZE,30
|
||
|
||
.word ANI_SHAKER,25
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,2,#failed
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#dnk_quick_hammer
|
||
WL 20,D4HM4A+FR7
|
||
#failed
|
||
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
dnk_combo_hammer_anim
|
||
.word ANI_SET_RPTCOUNT,3 ;5 times
|
||
.word ANI_IMMOBILIZE,30
|
||
; .word ANI_STARTATTACK,AT_HAMMER1,23
|
||
WL 4,D4HM4A+FR1
|
||
WL 4,D4HM4A+FR2
|
||
WL 4,D4HM4A+FR3 ;16
|
||
WL 3,D4HM4A+FR4
|
||
WL 4,D4HM4A+FR5
|
||
WL 4,D4HM4A+FR6
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 4,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed2
|
||
.WORD ANI_INC_COMBO
|
||
.word ANI_IMMOBILIZE,30
|
||
.word ANI_SHAKER,25
|
||
|
||
dnk_repeat_combo_hammer_anim
|
||
.word ANI_CLR_BUTCOUNT
|
||
; .word ANI_STARTATTACK,AT_HAMMER1,15
|
||
WL 2,D4HM4A+FR8
|
||
WL 1,D4HM4A+FR9
|
||
WL 2,D4HM4A+FR10
|
||
WL 2,D4HM4A+FR1
|
||
WL 1,D4HM4A+FR2
|
||
WL 2,D4HM4A+FR3
|
||
WL 2,D4HM4A+FR4
|
||
WL 1,D4HM4A+FR5
|
||
WL 2,D4HM4A+FR6
|
||
.word ANI_ATTACK_ON, AMODE_HAMMER,31,3,88,73 ;mode,x,y,w,h
|
||
WL 2,D4HM4A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_IFNOTSTATUS,#missed2
|
||
.WORD ANI_INC_COMBO
|
||
|
||
;Immobilize player for 30 ticks without meter on!
|
||
.word ANI_IMMOBILIZE,30
|
||
|
||
.word ANI_SHAKER,25
|
||
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,2,#missed2
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,dnk_repeat_combo_hammer_anim
|
||
|
||
#missed2
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
WL 3,D4HM4A+FR8
|
||
WL 3,D4HM4A+FR9
|
||
WL 3,D4HM4A+FR10
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
|
||
#set_target
|
||
|
||
calla get_opp_process
|
||
move a0,a11
|
||
|
||
move *a13(CLOSEST_XDIST),a0
|
||
cmpi >40,a0
|
||
jrlt #drop
|
||
|
||
;We are to side of fallen opponent, we must float toward
|
||
;his head or his knees
|
||
|
||
;Take into account my flip as well as my opponents flip!
|
||
move *a13(OBJ_CONTROL),a14
|
||
andi M_FLIPH,a14
|
||
move *a11(OBJ_CONTROL),a0
|
||
andi M_FLIPH,a0
|
||
cmp a0,a14
|
||
jrnz #head
|
||
|
||
movi TGT_KNEES,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#head
|
||
movi TGT_HEAD,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#drop
|
||
;Just drop straight down
|
||
movi TGT_CHEST,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
#zero_x
|
||
move *a13(CLOSEST_XDIST),a0
|
||
cmpi >40,a0
|
||
jrgt #ok ;Is he to the side?
|
||
|
||
;Don't float if dropping straight down
|
||
clr a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
#ok rets
|
||
|
||
#get_off
|
||
;Get off from fallen opponent
|
||
movi [3,0],a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
movi [2,0],a0
|
||
move a0,*a13(OBJ_YVEL),L
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 STOMP ON FALLEN OPPONENT
|
||
|
||
SUBR dnk_2_stomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D3MP3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D3MP3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D3MP3A+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
.word ANI_STARTATTACK,AT_STOMP,15
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 13,999,160,140,90000h,TGT_USER,20,0,-30
|
||
|
||
WL 3,D3MP3A+FR2
|
||
WL 2,D3MP3A+FR3
|
||
WL 3,D3MP3A+FR4
|
||
WL 2,D3MP3A+FR5
|
||
WL 3,D3MP3A+FR6
|
||
|
||
.word ANI_ATTACK_ON_Z, AMODE_STOMP,7,7,-20,20,33,30 ;mode,x,y,z,w,h,d
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
WL 3+4,D3MP3A+FR7
|
||
.word ANI_ATTACK_OFF
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_IFSTATUS,#gothim
|
||
WL 3,D3MP3A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#gothim
|
||
WL ANI_CODE,#get_off
|
||
WL 2,D3MP3A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* #4 STOMP ON FALLEN OPPONENT
|
||
|
||
SUBR dnk_4_stomp_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4MP4D+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4MP4D+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
WL 1,D4MP4D+FR1
|
||
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
|
||
|
||
WL ANI_CODE,#set_target
|
||
WL ANI_CODE,tgt_ground
|
||
.word ANI_STARTATTACK,AT_STOMP,15
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 13,999,160,140,90000h,TGT_USER,32,0,30
|
||
|
||
WL 3,D4MP4D+FR2
|
||
WL 3,D4MP4D+FR3
|
||
WL 7,D4MP4D+FR4
|
||
|
||
;#cont4
|
||
; WL 3,D4MP4D+FR5
|
||
|
||
; .word ANI_ATTACK_ON_Z, AMODE_STOMP,2,1,40,19,27,30 ;mode,x,y,z,w,h,d
|
||
.word ANI_ATTACK_ON_Z, AMODE_STOMP,22,8,40,35,22,30 ;mode,x,y,z,w,h,d
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
WL 7,D4MP4D+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
; WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_IFSTATUS,#gothim4
|
||
WL 3,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
#gothim4
|
||
WL ANI_CODE,#get_off4
|
||
WL 2,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
;Stomp #4 from top of turnbuckle
|
||
SUBR dnk_4_bstomp_anim
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOCOLLIS|MODE_NOGRAVITY|MODE_OVERLAP
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_XFLIP ;make an ANI_FACEOUT and ANI_FACEIN
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
|
||
WL 3,D4JD4A+FR1
|
||
WL 3,D4JD4A+FR2
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 16+20,190,190,190,90000h,TGT_CHEST,39+8,7+4,20
|
||
.word ANI_GRAVITY_ON
|
||
; .word ANI_SETPLYRMODE,MODE_INAIR2
|
||
WL ANI_CODE,set_tbukl_airmode
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,36
|
||
|
||
.word ANI_SHAKECORNER ;Shake corner ropes
|
||
|
||
;Check x vel to make sure we aren't going to land on ropes!
|
||
; WL ANI_CODE,check_xvel
|
||
|
||
.word ANI_OFFSET,8,4,0 ;x,y,z
|
||
WL ANI_IFNOTSTATUS,#nooff
|
||
.word ANI_OFFSET,-16,0,0 ;x,y,z
|
||
|
||
#nooff
|
||
WL 3,D4MP4D+FR2
|
||
WL 3,D4MP4D+FR3
|
||
|
||
WL 6,D4MP4D+FR4
|
||
WL ANI_CODE,set_tbukl_confine
|
||
WL 9,D4MP4D+FR4
|
||
|
||
WL 1eh-15,D4MP4D+FR4
|
||
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-46,0,0,92,34,30
|
||
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
|
||
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-46,28,0,72,34,30
|
||
#opp_onground
|
||
WL 3,D4MP4D+FR6
|
||
|
||
.word ANI_WAITHITGND
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_SHAKER,30
|
||
.word ANI_SHAKEALL,1
|
||
WL ANI_CODE,shake_all_ropes
|
||
|
||
; WL 1,D4MP4D+FR7
|
||
|
||
.word ANI_BOUNCE,6
|
||
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
|
||
WL 6,D4MP4D+FR6
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL 9,D4MP4D+FR7
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_9,2,2
|
||
WL ANI_IFSTATUS,#gothimb4
|
||
WL 3,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
; WL ANI_CODE,tbukl_miss_damage
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
SUBR check_xvel
|
||
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
|
||
;don't mess with anything if opponent is ouside the ring
|
||
move *a13(CLOSEST_NUM),a0
|
||
X32 a0
|
||
addi process_ptrs,a0
|
||
move *a0,a0,L
|
||
move *a0(INRING),a0,W
|
||
jrnz #ok
|
||
|
||
move *a13(OBJ_XPOSINT),a0
|
||
cmpi RING_X_MID,a0
|
||
jrgt #onrgt
|
||
|
||
;Check to make sure opponent is in ring!
|
||
move *a13(OBJ_XVEL),a0,L
|
||
jrnn #ok
|
||
; cmpi [0,8000h],a0
|
||
; jrge #ok
|
||
;Will land on ropes
|
||
movi [1,8000h],a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
#onrgt
|
||
;Check to make sure opponent is in ring!
|
||
move *a13(OBJ_XVEL),a0,L
|
||
jrn #ok
|
||
; cmpi -[0,8000h],a0
|
||
; jrle #ok
|
||
;Will land on ropes
|
||
movi -[1,8000h],a0
|
||
move a0,*a13(OBJ_XVEL),L
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
#ok
|
||
rets
|
||
|
||
#gothimb4
|
||
WLW ANI_SET_ZVEL,-50000h,AM_ABS
|
||
; WL ANI_CODE,#getoff4
|
||
|
||
WL 5,D4MP4D+FR7
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#set_target
|
||
|
||
calla get_opp_process
|
||
move a0,a11
|
||
|
||
move *a13(STICK_VAL_CUR),a0
|
||
btst MOVE_LEFT_BIT,a0
|
||
jrnz #lft
|
||
btst MOVE_RIGHT_BIT,a0
|
||
jrnz #rgt
|
||
;No stick
|
||
;Randomize between head/chest/groin/knees
|
||
; movk 3,a0
|
||
; calla RNDRNG0
|
||
; X16 a0
|
||
; addi #targets,a0
|
||
; move *a0,a0
|
||
|
||
movi TGT_CHEST,a0
|
||
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
;Go to chest or if opponent is flipped, go to head!
|
||
#lft
|
||
move *a11(OBJ_CONTROL),a14
|
||
btst B_FLIPH,a14
|
||
jrz #chest
|
||
#head
|
||
movi TGT_HEAD,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
;Go to head or if opponent is flipped, go to chest!
|
||
#rgt
|
||
move *a11(OBJ_CONTROL),a14
|
||
btst B_FLIPH,a14
|
||
jrz #head
|
||
#chest
|
||
movi TGT_KNEES,a0
|
||
calla set_target_offsets
|
||
rets
|
||
|
||
; or set *a13(TGT_XOFF), *a13(TGT_YOFF) & *a13(TGT_ZOFF) manually
|
||
|
||
#targets
|
||
.word TGT_HEAD ;0
|
||
.word TGT_CHEST ;1
|
||
.word TGT_GROIN ;2
|
||
.word TGT_KNEES ;3
|
||
|
||
|
||
#get_off
|
||
movi [4,0],a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
movi [2,0],a0
|
||
move a0,*a13(OBJ_YVEL),L
|
||
rets
|
||
|
||
#get_off4
|
||
movi -[2,0],a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
movi [1,0],a0
|
||
move a0,*a13(OBJ_YVEL),L
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
|
||
SUBR dnk_knockdwn_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_XFLIP
|
||
|
||
WL 2,D3GU4A+FR9
|
||
WL 2,D3GU4A+FR7
|
||
WL 2,D3GU4A+FR5
|
||
WL ANI_SET_YVEL,39000h
|
||
WL 2,D3SA3A+FR2
|
||
.word ANI_DEBRIS,200,1,0,8,0 ;%chance, tbl index, x,y,z off
|
||
WL 3,D3SA3A+FR3
|
||
WL 6,D3SA3A+FR4
|
||
WL 3,D3SA3A+FR5
|
||
WL 3,D3SA3A+FR7
|
||
WL 2,D3SA3A+FR8
|
||
WL 6,D3SA3A+FR9
|
||
|
||
|
||
;FIX!!! Add to other wrestlers
|
||
|
||
WL ANI_CODE,am_I_dead
|
||
;If I'm dead, goto fall back
|
||
WL ANI_IFNOTSTATUS,#nodead
|
||
|
||
.word ANI_SETPLYRMODE,MODE_DEAD
|
||
.word ANI_END
|
||
|
||
#nodead
|
||
|
||
|
||
;#done
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HITS ON GROUND
|
||
|
||
SUBR dnk_hitonground_xflip_anim
|
||
.word ANI_XFLIP
|
||
;fall through
|
||
|
||
SUBR dnk_hitonground_anim
|
||
|
||
;We need to take stars away on hits...
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_SET_YVEL,39000h
|
||
|
||
.word ANI_DEBRIS,50,1,0,8,0 ;%chance, tbl index, x,y,z off
|
||
|
||
WL 2,D3SA3A+FR2
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPITUP_SWEAT,SWEAT_PER,0
|
||
WL 3,D3SA3A+FR3
|
||
WL 6,D3SA3A+FR4
|
||
WL 3,D3SA3A+FR5
|
||
WL 3,D3SA3A+FR7
|
||
WL 2,D3SA3A+FR8
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WL 1,D3SA3A+FR9
|
||
|
||
SUBR dnk_liedown_anim
|
||
WL 1,D3SA3A+FR9
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
SUBR dnk_up_anim
|
||
|
||
;We need to take stars away on hits...
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.WORD ANI_XFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL 10,D3OS3A+FR3
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* CLIMB UP TURNBUCKLES
|
||
|
||
SUBR dnk_climb_up_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP | MODE_NOCONFINE | MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SCROLL_CTRL,DNK_TBUKLY
|
||
WL ANI_SET_YVEL,4000h ;27000
|
||
.word ANI_OFFSET,-8+13,-3+4,-16 ;x,y,z
|
||
WL 4,D2CT2A+FR2
|
||
.word ANI_OFFSET,0,15h,0 ;x,y,z
|
||
WL 4,D2CT2A+FR7
|
||
.word ANI_SHAKEROPES,1
|
||
.word ANI_OFFSET,4,4,0 ;x,y,z
|
||
WL 4,D2CT2A+FR9
|
||
.word ANI_OFFSET,6,14,0 ;x,y,z
|
||
WL 4,D2CT2A+FR12
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_OFFSET,0,6,0 ;x,y,z
|
||
WL 4,D2CT2B+FR2
|
||
.word ANI_OFFSET,10,18h,0 ;x,y,z
|
||
WL 4,D2CT2B+FR4
|
||
.word ANI_OFFSET,-2,19,0 ;x,y,z
|
||
WL 4,D2CT2B+FR6
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONTURNBKL
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY|MODE_UNINT|MODE_OVERLAP
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
|
||
.word ANI_OFFSET,2,0,0 ;x,y,z
|
||
WL ANI_CODE,tbukl_flip
|
||
#repeat WL 5,D2CT2C+FR1
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR3
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR5
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR7
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR9
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR11
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR13
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR15
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR17
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR19
|
||
WL ANI_CODE,tbukl_flip
|
||
WL 5,D2CT2C+FR21
|
||
WL ANI_CODE,tbukl_flip
|
||
WL ANI_GOTO,#repeat
|
||
|
||
* CLIMB DOWN TURNBUCKLES
|
||
|
||
SUBR dnk_climb_down_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP | MODE_NOCONFINE | MODE_NOGRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,face_inside
|
||
|
||
.word ANI_OFFSET,0,2,0 ;x,y,z
|
||
WL 5,D2CT2B+FR6
|
||
.word ANI_OFFSET,0,-13-3,0 ;x,y,z
|
||
WL 5,D2CT2B+FR4
|
||
|
||
WL ANI_SET_YVEL,-4000h
|
||
|
||
.word ANI_OFFSET,-8,-26-3,0 ;x,y,z
|
||
WL 4,D2CT2B+FR2
|
||
.word ANI_OFFSET,0,-5-3,0 ;x,y,z
|
||
.word ANI_SHAKEROPES,1
|
||
WL 4,D2CT2A+FR12
|
||
.word ANI_OFFSET,0,-10-3,0 ;x,y,z
|
||
WL 4,D2CT2A+FR9
|
||
.word ANI_OFFSET,0,-10-3,0 ;x,y,z
|
||
WL 4,D2CT2A+FR7
|
||
.word ANI_OFFSET,-9,-9-3,0 ;x,y,z
|
||
WL 4,D2CT2A+FR2
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_WAITHITGND
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
;#*****************************************************************************
|
||
;*
|
||
;* SECOND WIND
|
||
;
|
||
; SUBR dnk_2ndwind_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_ZEROVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; WL 3,D4SW4B+FR1
|
||
; WL 3,D4SW4B+FR2
|
||
;
|
||
; WL 3,D4SW4E+FR1
|
||
; WL 3,D4SW4E+FR2
|
||
; WL 3,D4SW4E+FR3
|
||
; WL 3,D4SW4E+FR4
|
||
; WL 3,D4SW4E+FR5
|
||
;
|
||
; WL 3,D4SW4E+FR1
|
||
; WL 3,D4SW4E+FR2
|
||
; WL 3,D4SW4E+FR3
|
||
; WL 3,D4SW4E+FR4
|
||
; WL 3,D4SW4E+FR5
|
||
;
|
||
; WL 3,D4SW4F+FR1
|
||
; WL 3,D4SW4F+FR2
|
||
; WL 3,D4SW4F+FR3
|
||
; WL 3,D4SW4F+FR4
|
||
; WL 3,D4SW4F+FR5
|
||
; WL 3,D4SW4F+FR6
|
||
; WL 3,D4SW4F+FR7
|
||
;
|
||
; WL 3,D4SW4F+FR1
|
||
; WL 3,D4SW4F+FR2
|
||
; WL 3,D4SW4F+FR3
|
||
; WL 3,D4SW4F+FR4
|
||
; WL 3,D4SW4F+FR5
|
||
; WL 3,D4SW4F+FR6
|
||
; WL 3,D4SW4F+FR7
|
||
;
|
||
; .word ANI_SETMODE,MODE_NORMAL
|
||
;
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* BUTT DROP FROM TOP OF TURNBUCKLE
|
||
|
||
SUBR dnk_diveofftb_anim
|
||
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS|MODE_NOGRAVITY|MODE_OVERLAP|MODE_NOCONFINE
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOGRAVITY|MODE_OVERLAP|MODE_NOCONFINE
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
.word ANI_SCROLL_CTRL,SC_RESTORE
|
||
|
||
.word ANI_STARTATTACK,AT_LEAPING,43
|
||
WL 4,D4JD4A+FR1
|
||
WL 4,D4JD4A+FR2 ;D4FM4A+FR1
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 35,190,190,190,90000h,TGT_CHEST,-15,0,-10
|
||
|
||
.word ANI_GRAVITY_ON
|
||
; .word ANI_SETPLYRMODE,MODE_INAIR2
|
||
WL ANI_CODE,set_tbukl_airmode
|
||
|
||
.word ANI_SHAKECORNER ;Shake corner ropes
|
||
|
||
WL 3,D4JD4A+FR4
|
||
|
||
.word ANI_OFFSET,0,45,0 ;x,y,z
|
||
|
||
WL 3,D4FM4A+FR5
|
||
WL 3,D4FM4A+FR6
|
||
WL ANI_CODE,set_tbukl_confine
|
||
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-24,0,-30,86,34,60 ;mode,x,y,z,w,h,d
|
||
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
|
||
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
|
||
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-24,28,-30,60,34,60
|
||
#opp_onground
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ADD_MOVE,MOVE_C_9,2,2
|
||
WL ANI_IFSTATUS,#hit
|
||
|
||
#missed
|
||
; WL ANI_CODE,tbukl_miss_damage
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL ANI_CODE,shake_all_ropes
|
||
WL ANI_CHANGEANIM,dnk_hitonground_xflip_anim
|
||
|
||
#hit WLW ANI_SET_ZVEL,20000h,AM_ABS
|
||
|
||
#cont WL ANI_CODE,shake_all_ropes
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
|
||
;bounce
|
||
.word ANI_SHAKER,18
|
||
.word ANI_BOUNCE,6
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WL 5,D4FM4A+FR7
|
||
|
||
WL 1,D4FM4A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
WL 5,D4FM4A+FR7
|
||
WL 8,D4FM4A+FR9
|
||
|
||
.word ANI_XFLIP
|
||
.word ANI_FACEDOWN
|
||
|
||
;Getting up, set no_collis
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOCOLLIS|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
|
||
;Check for a flip here
|
||
WL 1,D3GU4A+FR7
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
WL 2,D3GU4A+FR7
|
||
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SAFE_TIME,30
|
||
|
||
WL ANI_CODE,free_toss_check
|
||
WL ANI_IFNOTSTATUS,#no_freetoss8
|
||
.word ANI_ATTACK_ON,AMODE_HITCHECK,37,88,63,9
|
||
WL 1,D3GU4A+FR9
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#no_freetoss8
|
||
|
||
;Opponent standing too close -- free toss
|
||
WL ANI_CODE,setup_freetoss
|
||
WL ANI_CHANGEANIM,dnk_4_push_anim
|
||
#no_freetoss8
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* GRAB & FLING OPPONENT (INTO A RUN)
|
||
|
||
SUBR dnk_2_grabfling_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,10
|
||
WL 2,D1TT5Z+FR2
|
||
WL 2,D1TT5Z+FR3
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR dnk_4_grabfling_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
.word ANI_STARTATTACK,AT_PUPPET,8
|
||
#cont
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,50,20,40,90000h,TGT_CHEST,40,0,25
|
||
WL ANI_SET_YVEL,0000h
|
||
WL 5,D4GF3A+FR1
|
||
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET_NOFLAIL,33,56,44,18 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,6,D4GF3A+FR2
|
||
.word ANI_ZERO_XZVELS
|
||
WWL ANI_WAITHITOPP,2,D4GF3A+FR3
|
||
.word ANI_ATTACK_OFF
|
||
WL ANI_IFNOTSTATUS,#missedb
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
;got him
|
||
|
||
WL ANI_CODE,DO_GRUNT
|
||
WL ANI_CODE,CALL_SETUP
|
||
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
; attacker sequence
|
||
.word ANI_SETOPPFACING
|
||
WWLLW ANI_SUPERSLAVE2,10,D4GF3A+FR3,#puppet_tbl,0
|
||
.word ANI_WAITHITGND
|
||
WWLLW ANI_SUPERSLAVE2,6,D4GF3A+FR4,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,4,D4GF3A+FR5,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,4,D4GF3A+FR6,#puppet_tbl,3
|
||
WWLLW ANI_SUPERSLAVE2,4,D4GF3A+FR7,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,4,D4GF3A+FR8,#puppet_tbl,5
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
|
||
WL ANI_SLAVEANIM,#strt_run_tbl
|
||
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_DETACH
|
||
WL 10,D4GF3A+FR9 ;16
|
||
.word ANI_OFFSET,-10,0,0 ;x,y,z
|
||
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#missedb
|
||
WL ANI_CODE,fling_delay
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL 25,D4GF3A+FR3
|
||
|
||
#missed
|
||
WL ANI_CODE,CALL_MISSES
|
||
WL 6,D4GF3A+FR3
|
||
WL 3,D4GF3A+FR2
|
||
WL 3,D4GF3A+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR fling_delay
|
||
|
||
move *a13(LAST_FLING),a14,L
|
||
move @PCNT,a0,L ;use 32-bit PCNT!
|
||
move a0,*a13(LAST_FLING),L
|
||
sub a14,a0
|
||
cmpi 3*60,a0
|
||
jrge #ok
|
||
|
||
;This blocked fling attempt is too close (in terms of time) to most recent grab
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#ok move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
|
||
.ref H4YR3A,H3RN3A
|
||
.ref R4YR3A,R3RN3D
|
||
.ref U4YR3B,U3RN3A
|
||
.ref Y4YR3A,Y3RN3C
|
||
.ref S4YR3A,S3RN3A
|
||
.ref B4YR3A,B3RN3A
|
||
.ref L4YR3B,L3RN3B
|
||
|
||
#Bret
|
||
LWWW H4YR3A+FR1,53,7,1
|
||
LWWW H4YR3A+FR2,49,9,1
|
||
LWWW H4YR3A+FR3,48,9,1
|
||
LWWW H4YR3A+FR5,43,11,1
|
||
LWWW H3RN3A+FR1,15,5,0
|
||
LWWW H3RN3A+FR2,-14,8,0
|
||
#Razor
|
||
LWWW R4YR3A+FR1,32,17,0
|
||
LWWW R4YR3A+FR2,21,20,0
|
||
LWWW R4YR3A+FR3,1,11,0
|
||
LWWW R4YR3A+FR4,4,15,0
|
||
LWWW R3RN3D+FR10,9,16,0
|
||
LWWW R3RN3D+FR11,-4,16,0
|
||
#Taker
|
||
LWWW U4YR3B+FR2,34,18,0
|
||
LWWW U4YR3B+FR3,37,16,0
|
||
LWWW U4YR3B+FR4,29,24,0
|
||
LWWW U4YR3B+FR5,27,24,0
|
||
LWWW U3RN3A+FR2,-11,15,0
|
||
LWWW U3RN3A+FR2,-25,14,0
|
||
#Yokozuna
|
||
LWWW Y4YR3A+FR1,59,11,1
|
||
LWWW Y4YR3A+FR4,37,13,1
|
||
LWWW Y4YR3A+FR5,32,11,1
|
||
LWWW Y4YR3A+FR7,5,3,1
|
||
LWWW Y3RN3C+FR7,18,13,0
|
||
LWWW Y3RN3C+FR8,8,12,0
|
||
#Shawn
|
||
LWWW S4YR3A+FR2,38,5,1
|
||
LWWW S4YR3A+FR3,52,-3,1
|
||
LWWW S4YR3A+FR5,21,11,1
|
||
LWWW S4YR3A+FR6,19,10,1
|
||
LWWW S3RN3A+FR2,16,11,0
|
||
LWWW S3RN3A+FR3,4,11,0
|
||
#BamBam
|
||
LWWW B4YR3A+FR3,32,15,0
|
||
LWWW B4YR3A+FR4,43,11,0
|
||
LWWW B4YR3A+FR5,53,12,0
|
||
LWWW B4YR3A+FR7,9,9,0
|
||
LWWW B3RN3A+FR1,6,19,0
|
||
LWWW B3RN3A+FR2,3,17,0
|
||
#Doink
|
||
LWWW D4YR3B+FR1,64,16,1
|
||
LWWW D4YR3B+FR2,60,20,1
|
||
LWWW D4YR3B+FR3,47,19,1
|
||
LWWW D4YR3B+FR4,38,20,1
|
||
LWWW D3RN3B+FR3,23,20,0
|
||
LWWW D3RN3B+FR4,-8,18,0
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
LWWW L4YR3B+FR1,66,16,1
|
||
LWWW L4YR3B+FR2,54,10,1
|
||
LWWW L4YR3B+FR3,38,13,1
|
||
LWWW L4YR3B+FR4,13,11,1
|
||
LWWW L3RN3B+FR2,0,19,0
|
||
LWWW L3RN3B+FR3,10,13,0
|
||
|
||
#strt_run_tbl
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
.long start_run_flung,start_run_flung,start_run_flung
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HELD OVERHEAD ANIMATION
|
||
|
||
SUBR dnk_heldoh_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ATTACHED
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOGRAVITY
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETWORD,USR_VAR1,0 ;loop count
|
||
|
||
WL ANI_CODE,DO_OTHERNONO
|
||
#loop
|
||
WL 3,D4MF4A+FR1
|
||
WL 3,D4MF4A+FR2
|
||
WL 3,D4MF4A+FR3
|
||
WL 3,D4MF4A+FR4
|
||
WL 3,D4MF4A+FR5
|
||
WL 3,D4MF4A+FR6
|
||
WL 3,D4MF4A+FR7
|
||
WL 3,D4MF4A+FR8
|
||
WL 3,D4MF4A+FR9
|
||
|
||
WL ANI_CODE,#inc_loop
|
||
WL ANI_IFNOTSTATUS,#loop
|
||
|
||
;Fall out of overhead hold by reversing thru pickup frames
|
||
.word ANI_DETACH
|
||
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL|MODE_OVERLAP
|
||
.word ANI_SETPLYRMODE,MODE_INAIR
|
||
|
||
WL ANI_CODE,FIND_AND_KILL_ENDLESS
|
||
|
||
WL ANI_SET_YVEL,10000h
|
||
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
|
||
WLW ANI_SET_ZVEL,10000h,AM_ABS
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 2,D4MF4A+FR6
|
||
.word ANI_OFFSET,-20,-50,0 ;x,y,z
|
||
WL 4,D3GS3X+FR5
|
||
WL 4,D3GS3X+FR4
|
||
WL 4,D3GS3X+FR3
|
||
WL 4,D3GS3X+FR1
|
||
.word ANI_WAITHITGND
|
||
WL 2,D2ST2B+FR3
|
||
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
;Loop 4 times, then break out!
|
||
#inc_loop
|
||
move *a13(USR_VAR1),a0
|
||
inc a0
|
||
move a0,*a13(USR_VAR1)
|
||
cmpi 3,a0
|
||
jrgt #breakout
|
||
|
||
; move *a13(ATTACH_PROC),a0,L
|
||
; jrz #breakout
|
||
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#breakout
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
;#*****************************************************************************
|
||
;*
|
||
;* #2 BLOCK
|
||
;
|
||
; SUBR dnk_2_block_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
; .word ANI_ZERO_XZVELS
|
||
; .word ANI_SETSPEED,100h
|
||
; .word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
; .word ANI_SET_WRESTLER_XFLIP
|
||
;
|
||
; WL ANI_CODE,block_if_safe
|
||
; WL 2,D2BK3C+FR1
|
||
; WL 1,D2BK3C+FR2
|
||
; .word ANI_SETPLYRMODE,MODE_BLOCK
|
||
;
|
||
; WL 1,D2BK3C+FR2
|
||
;#blk2 WL 2,D2BK3C+FR3
|
||
; .word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
|
||
; .word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
|
||
; .word ANI_SETMODE,MODE_NOAUTOFLIP ;uninterruptable
|
||
; .word ANI_SETFACING
|
||
; WL 2,D2BK3C+FR2
|
||
; WL 2,D2BK3C+FR1
|
||
; .word ANI_SETPLYRMODE,MODE_NORMAL
|
||
;
|
||
; SUBR dnk_2_hitblock_anim
|
||
;
|
||
; .word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
; .word ANI_FRICTION,4000h
|
||
; .word ANI_SETSPEED,100h
|
||
;
|
||
; WL ANI_CODE,DO_BLOCKED
|
||
; WL 4,D2BK3C+FR7
|
||
; WL 4,D2BK3C+FR5
|
||
; WL ANI_GOTO,#blk2
|
||
|
||
* #4 BLOCK
|
||
|
||
SUBR dnk_4_block_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
.word ANI_ZERO_XZVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_SETPLYRMODE,MODE_BLOCK
|
||
; WL ANI_CODE,block_if_safe
|
||
WL 2,D4BK3A+FR1
|
||
WL 1,D4BK3A+FR2
|
||
; .word ANI_SETPLYRMODE,MODE_BLOCK
|
||
WL 1,D4BK3A+FR2
|
||
#blk4 WL 2,D4BK3A+FR3
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT|MODE_FRICTION
|
||
; .word ANI_ZERO_XZVELS
|
||
.word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETFACING
|
||
WL 2,D4BK3A+FR2
|
||
WL 2,D4BK3A+FR1
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_hitblock_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
.word ANI_FRICTION,5000h
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_CODE,DO_BLOCKED
|
||
WL 2,D4BK3A+FR7
|
||
WL 2,D4BK3A+FR6
|
||
WL ANI_GOTO,#blk4
|
||
|
||
SUBR dnk_4_hitblock2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
|
||
.word ANI_FRICTION,4000h
|
||
.word ANI_SETSPEED,100h
|
||
WL ANI_CODE,DO_BLOCKED
|
||
WL ANI_SET_YVEL,38000h
|
||
WL 3,D4BK3A+FR6
|
||
WL 3,D4BK3A+FR7
|
||
WL 3,D4BK3A+FR6
|
||
WL 3,D4BK3A+FR7
|
||
WL 3,D4BK3A+FR6
|
||
WL 3,D4BK3A+FR7
|
||
|
||
WL ANI_GOTO,#blk4
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* HIP TOSS RUNNING OPPONENT
|
||
|
||
SUBR dnk_2_hiptoss2_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,6
|
||
; WL 2,D1TT5Z+FR2
|
||
; WL 2,D1TT5Z+FR3
|
||
|
||
SUBR dnk_4_hiptoss2_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS ;uninterruptable
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,2
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,60,55,40,90000h,TGT_CHEST,40,0,0
|
||
WL ANI_SET_YVEL,0
|
||
|
||
WL 2,D3HT3Q+FR1
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET_TOSS,33,46,44,38 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,8,D3HT3Q+FR1
|
||
.word ANI_ZERO_XZVELS
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR dnk_2_hiptoss_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,10
|
||
; WL 2,D1TT5Z+FR2
|
||
; WL 2,D1TT5Z+FR3
|
||
|
||
SUBR dnk_4_hiptoss_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,10
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,40,40,40,90000h,TGT_CHEST,40,0,0
|
||
WL ANI_SET_YVEL,0000h
|
||
|
||
WL 4,D3HT3Q+FR1
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET_TOSS,33,46,44,38 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,4,D3HT3Q+FR1
|
||
.word ANI_ZERO_XZVELS
|
||
.word ANI_ATTACK_OFF
|
||
WL 4,D3HT3Q+FR1
|
||
#cont
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
|
||
|
||
#got_him
|
||
.ref MAKE_HIM_SCREAM
|
||
WL ANI_CODE,MAKE_HIM_SCREAM
|
||
WL ANI_CODE,DO_GRUNT
|
||
.word ANI_DRAW_NAME,3
|
||
WL ANI_CODE,CALL_SPECIAL_MOVE
|
||
|
||
.word ANI_ATTACHZ,0,0,2 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
; attacker sequence
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR1,#puppet_tbl,0
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
; .word ANI_WAITHITGND
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR2,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR3,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR4,#puppet_tbl,3
|
||
.WORD ANI_ADD_MOVE,MOVE_C_1,2,2
|
||
WWWL ANI_IFROPE,RC_BACK,XTOSSDIST_CLOSE,#throw_him_out
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR5,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR6,#puppet_tbl,5
|
||
WWLLW ANI_SUPERSLAVE2,4,D3HT3Q+FR7,#puppet_tbl,6
|
||
WWLLW ANI_SUPERSLAVE2,1,D3HT3Q+FR8,#puppet_tbl,7
|
||
|
||
;impact
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_DAMAGEOPP,D_HIPTOSS,RD_HIPTOSS
|
||
|
||
WL ANI_SLAVEANIM,#rollout_tbl
|
||
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
.word ANI_DETACH
|
||
|
||
WL 10,D3HT3Q+FR8
|
||
WL 3,D3HT3Q+FR7
|
||
WL 3,D3HT3Q+FR6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#missedb
|
||
; WL ANI_CODE,ck_hiptoss
|
||
; WL ANI_IFNOTSTATUS,#got_him
|
||
|
||
WL 10,D3HT3Q+FR1
|
||
;Delay longer if 2nd hiptoss in quick succession!
|
||
WL ANI_CODE,hiptoss_delay
|
||
WL ANI_IFNOTSTATUS,#missed
|
||
WL 24,D3HT3Q+FR1
|
||
#missed
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
|
||
WL 8,D3HT3Q+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
; SUBR ck_hiptoss
|
||
;;Check to see if guy I just tried to hip toss has safe time
|
||
;;or is pulling down & away
|
||
;
|
||
; move *a13(WHOIHIT),a0,L
|
||
; move *a0(SAFE_TIME),a14
|
||
; jrnz #ano
|
||
;
|
||
;;If stick is down & away - skip toss
|
||
; move *a0(STICK_VAL_CUR),a14
|
||
; andi 0ch,a14
|
||
; jrz #ok
|
||
; move *a0(NEW_FACING_DIR),a1
|
||
; andi 0ch,a1
|
||
; cmp a14,a1
|
||
; jrz #ok
|
||
;
|
||
; move *a0(STICK_VAL_CUR),a14
|
||
; cmpi 4,a1
|
||
; jrz #fclft
|
||
; cmpi >6,a14
|
||
; jrnz #ok
|
||
;;Pulling down & away!
|
||
;;Don't allow hiptoss
|
||
;#ano move *a13(ANIMODE),a1
|
||
; ori MODE_STATUS,a1
|
||
; move a1,*a13(ANIMODE)
|
||
; rets
|
||
;
|
||
;#fclft cmpi >a,a14
|
||
; jrz #ano
|
||
;
|
||
;#ok move *a13(ANIMODE),a1
|
||
; andni MODE_STATUS,a1
|
||
; move a1,*a13(ANIMODE)
|
||
; rets
|
||
|
||
SUBR hiptoss_delay
|
||
|
||
move *a13(LAST_HIPTOSS),a14,L
|
||
move @PCNT,a0,L ;use 32-bit PCNT!
|
||
move a0,*a13(LAST_HIPTOSS),L
|
||
sub a14,a0
|
||
cmpi 3*60,a0
|
||
jrge #oka
|
||
|
||
;This blocked fling attempt is too close (in terms of time) to most recent grab
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#oka move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#throw_him_out
|
||
WLLL ANI_ATTACHVEL,-0a0000h,90000h,0h ;x,y,z
|
||
WL ANI_CODE,CALL_THROWN_OUT
|
||
WL ANI_SLAVEANIM,#flyout_tbl
|
||
WL ANI_OPPOFFSET,release_table
|
||
.word ANI_DETACH
|
||
wl 3,D3HT3Q+FR5
|
||
WL 3,D3HT3Q+FR6
|
||
WL 3,D3HT3Q+FR7
|
||
WL 3,D3HT3Q+FR8
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,15
|
||
|
||
WL 3,D3HT3Q+FR8
|
||
WL 3,D3HT3Q+FR7
|
||
WL 3,D3HT3Q+FR6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
release_table
|
||
; X Y
|
||
.word 40,24 ;Bret
|
||
.word 32,8 ;Razor
|
||
.word 32,20 ;Taker
|
||
.word 32,16 ;Yokozuna
|
||
.word 28,12 ;Shawn
|
||
.word 16,8 ;BamBam
|
||
.word 32,16 ;Doink
|
||
.word 0,0 ;Adam
|
||
.word 32,16 ;Lex
|
||
|
||
#flyout_tbl
|
||
REFLONG hrt_flyout_anim
|
||
REFLONG rzr_flyout_anim
|
||
REFLONG und_flyout_anim
|
||
REFLONG yok_flyout_anim
|
||
REFLONG shn_flyout_anim
|
||
REFLONG bam_flyout_anim
|
||
REFLONG dnk_flyout_anim
|
||
.long 0
|
||
REFLONG lex_flyout_anim
|
||
|
||
|
||
SUBR dnk_4_combo_hiptoss_anim
|
||
|
||
.word ANI_SET_RPTCOUNT,4 ;5 times
|
||
re_enter_combo_hiptoss
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
.word ANI_STARTATTACK,AT_PUPPET,2
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 8,40,40,40,90000h,TGT_CHEST,40,0,0
|
||
WL ANI_SET_YVEL,0000h
|
||
|
||
WL 2,D3HT3Q+FR1
|
||
.word ANI_ATTACK_ON, AMODE_PUPPET,33,0,44,60 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,6,D3HT3Q+FR1
|
||
.word ANI_ZERO_XZVELS
|
||
WWL ANI_WAITHITOPP,4,D3HT3Q+FR1
|
||
.word ANI_ATTACK_OFF
|
||
.word ANI_CLR_BUTCOUNT
|
||
|
||
WL ANI_IFNOTSTATUS,#missedc
|
||
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
|
||
|
||
;got him
|
||
|
||
.WORD ANI_INC_COMBO
|
||
|
||
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
|
||
.word ANI_SETOPPMODE,MODE_GHOST
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
|
||
|
||
; attacker sequence
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR1,#puppet_tbl,0
|
||
.word ANI_WAITHITGND
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR2,#puppet_tbl,1
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR3,#puppet_tbl,2
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR4,#puppet_tbl,3
|
||
WWWL ANI_IFROPE,RC_BACK,XTOSSDIST_CLOSE,#throw_him_out_c
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR5,#puppet_tbl,4
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR6,#puppet_tbl,5
|
||
WWLLW ANI_SUPERSLAVE2,3,D3HT3Q+FR7,#puppet_tbl,6
|
||
WWLLW ANI_SUPERSLAVE2,1,D3HT3Q+FR8,#puppet_tbl,7
|
||
|
||
;impact
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_DAMAGEOPP,D_HIPTOSS,RD_HIPTOSS
|
||
|
||
WL ANI_SLAVEANIM,#rollout_tbl
|
||
|
||
.word ANI_CLROPPMODE,MODE_GHOST
|
||
|
||
WLLL ANI_SETOPPVELS,0,80000h,0h ;x,y,z vels
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
|
||
.word ANI_DETACH
|
||
|
||
; WL 15,D3HT3Q+FR8
|
||
WL 4,D3HT3Q+FR8
|
||
WL 4,D3HT3Q+FR7
|
||
WL 4,D3HT3Q+FR6
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IFNOT_RPTCOUNT,CHECK_FOR_NEXT
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NEXT_CHECK
|
||
WL ANI_GOTO,yes_do_combo_again
|
||
|
||
CHECK_FOR_NEXT
|
||
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NEXT_CHECK
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,yes_do_combo_again
|
||
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NEXT_CHECK2A
|
||
.WORD ANI_INC_COMBO
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_IMMOBILIZE,120
|
||
WL 4,D3HT3Q+FR6
|
||
.WORD ANI_XFLIP
|
||
WL ANI_CHANGEANIM,dnk_2_stomp_anim
|
||
|
||
#NEXT_CHECK2A
|
||
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NEXT_CHECK
|
||
.WORD ANI_XFLIP
|
||
WL ANI_CHANGEANIM,dnk_combo_hammer_anim
|
||
|
||
#NEXT_CHECK
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
yes_do_combo_again
|
||
.WORD ANI_XFLIP
|
||
WL ANI_CHANGEANIM,re_enter_combo_hiptoss
|
||
|
||
#missedbc
|
||
WL 10,D3HT3Q+FR1
|
||
#missedc
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
|
||
WL 20,D3HT3Q+FR1
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETFACING
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#throw_him_out_c
|
||
WLLL ANI_ATTACHVEL,-090000h,90000h,0h ;x,y,z
|
||
WL ANI_CODE,CALL_THROWN_OUT
|
||
WL ANI_SLAVEANIM,#flyout_tbl
|
||
WL ANI_OPPOFFSET,release_table
|
||
WL ANI_CODE,DO_COMBO_MESS
|
||
.WORD ANI_CLEAR_COMBO
|
||
.word ANI_DETACH
|
||
wl 3,D3HT3Q+FR5
|
||
WL 4,D3HT3Q+FR6
|
||
WL 4,D3HT3Q+FR7
|
||
WL 4,D3HT3Q+FR8
|
||
|
||
; .word ANI_SOUND,0C1h ;plywood crash #3
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,10
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
#puppet_tbl
|
||
.long #Bret
|
||
.long #Razor
|
||
.long #Taker
|
||
.long #Yokozuna
|
||
.long #Shawn
|
||
.long #BamBam
|
||
.long #Doink
|
||
.long #Adam
|
||
.long #Lex
|
||
|
||
#Bret
|
||
.ref H2AH3A,H3FR3A,H2CP3A,H2AM3A
|
||
LWWW H2AH3A+FR5,72,10,0
|
||
LWWW H2AM3A+FR1,58,17,0
|
||
LWWW H2AM3A+FR7,47,8,0
|
||
LWWW H3FR3A+FR2,29,25,0
|
||
LWWW H3FR3A+FR3,14,59,0
|
||
LWWW H3FR3A+FR4,-26,62,0
|
||
LWWW H3FR3A+FR5,-75,-6,0
|
||
LWWW H2CP3A+FR8,-149,-47,1
|
||
.long 0
|
||
#Razor
|
||
.ref R3TD3A,R3GU2A
|
||
LWWW R3TD3A+FR1,56,6,0
|
||
LWWW R3TD3A+FR3,45,6,0
|
||
LWWW R3TD3A+FR4,37,19,0
|
||
LWWW R3TD3A+FR5,36,47,0
|
||
LWWW R3TD3A+FR6,15,62,0
|
||
LWWW R3TD3A+FR7,-25,65,0
|
||
LWWW R3TD3A+FR8,-73,9,0
|
||
LWWW R3GU2A+FR1,-155,-43,1
|
||
.long 0
|
||
#Taker
|
||
.ref U3AE4A,U4AM4C,U3FH3A,U3CP3B
|
||
LWWW U3AE4A+FR1,73,22,0
|
||
LWWW U4AM4C+FR4,52,18,0 ;15
|
||
LWWW U3FH3A+FR1,55,20,1 ;15
|
||
LWWW U3FH3A+FR2,32,45,1 ;40
|
||
LWWW U3FH3A+FR3,18,60,1 ;54
|
||
LWWW U3FH3A+FR4,-30,68,1 ;63
|
||
LWWW U3FH3A+FR5,-92,18,1
|
||
LWWW U3CP3B+FR1,-175,-40,1
|
||
.long 0
|
||
#Yokozuna
|
||
.ref Y4AE4A,Y3FL3W,Y3FD3A,Y3MS3Z
|
||
LWWW Y4AE4A+FR1,81,10,0
|
||
LWWW Y3MS3Z+FR2,56,18,0
|
||
LWWW Y3FL3W+FR3,36,24,0
|
||
LWWW Y3FL3W+FR4,37,55,0
|
||
LWWW Y3FL3W+FR5,17,68,0
|
||
LWWW Y3FL3W+FR6,-43,68,0
|
||
LWWW Y3FL3W+FR7,-90,11,0
|
||
LWWW Y3FD3A+FR7,-130,-17,0
|
||
.long 0
|
||
#Shawn
|
||
.ref S3OS3X
|
||
LWWW S3OS3X+FR2,58,7,1
|
||
LWWW S3OS3X+FR4,27,18,1
|
||
LWWW S3OS3X+FR5,22,16,1
|
||
LWWW S3OS3X+FR6,26,64,1
|
||
LWWW S3OS3X+FR7,20,79,1
|
||
LWWW S3OS3X+FR8,-13,78,1
|
||
LWWW S3OS3X+FR9,-98,20,1
|
||
LWWW S3OS3X+FR10,-144,-38,1
|
||
.long 0
|
||
#BamBam
|
||
.ref B4TD3B
|
||
LWWW B4TD3B+FR1,53,2,0
|
||
LWWW B4TD3B+FR3,39,4,0
|
||
LWWW B4TD3B+FR4,42,16,0
|
||
LWWW B4TD3B+FR5,33,59,0
|
||
LWWW B4TD3B+FR6,23,88,0
|
||
LWWW B4TD3B+FR7,-28,73,0
|
||
LWWW B4TD3B+FR8,-68,16,0
|
||
LWWW B4TD3B+FR9,-117,-28,0
|
||
.long 0
|
||
#Doink
|
||
LWWW D3AE3B+FR8,69,8,0
|
||
LWWW D3PM4C+FR2,37,7,0
|
||
LWWW D3OS3A+FR1,56,10,0
|
||
LWWW D3OS3A+FR3,37,26,0
|
||
LWWW D3OS3A+FR4,23,41,0
|
||
LWWW D3OS3A+FR6,-23,52,0
|
||
LWWW D3FD3E+FR2,-73,-18,0
|
||
LWWW D3SA3A+FR2,-137,-40,1
|
||
.long 0
|
||
#Adam
|
||
.long 0
|
||
#Lex
|
||
.ref L4AM4B,L3FH3A,L3CP3B
|
||
LWWW L4AM4B+FR3,64,-10,0
|
||
LWWW L3FH3A+FR1,46,14,0
|
||
LWWW L3FH3A+FR2,42,14,0 ;8
|
||
LWWW L3FH3A+FR3,31,35,0
|
||
LWWW L3FH3A+FR4,24,46,0
|
||
LWWW L3FH3A+FR5,-15,49,0
|
||
LWWW L3FH3A+FR6,-69,1,0
|
||
LWWW L3CP3B+FR1,-152,-39,1
|
||
.long 0
|
||
|
||
|
||
#rollout_tbl
|
||
.long hrt_tossed_anim,rzr_tossed_anim
|
||
.long und_tossed_anim
|
||
.long yok_tossed_anim
|
||
.long shn_tossed_anim,bam_tossed_anim
|
||
.long dnk_tossed_anim,0,lex_tossed_anim
|
||
|
||
.ref hrt_tossed_anim,rzr_tossed_anim
|
||
.ref und_tossed_anim
|
||
.ref yok_tossed_anim
|
||
.ref shn_tossed_anim,bam_tossed_anim
|
||
.ref lex_tossed_anim
|
||
|
||
;#rollout_tbl
|
||
; REFLONG und_tossed_anim
|
||
; REFLONG yok_tossed_anim
|
||
; REFLONG shn_tossed_anim,bam_tossed_anim
|
||
; REFLONG dnk_tossed_anim
|
||
; .long 0
|
||
; REFLONG lex_tossed_anim
|
||
|
||
;FIX!! Make throw out of ring if close to ropes
|
||
#*****************************************************************************
|
||
*
|
||
* FLIP/FALL FROM HIPTOSS
|
||
|
||
SUBR dnk_tossed_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,ckzpos
|
||
|
||
.word ANI_SETPLYRMODE,MODE_ONGROUND
|
||
|
||
.word ANI_DEBRIS,100,1,0,8,0 ;%chance, tbl index, x,y,z off
|
||
.word ANI_GETUP,STAY_TIME
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,30000h
|
||
WL 4,D3SA3A+FR3
|
||
; WL ANI_SET_YVEL,30000h
|
||
; WL 3,D3SA3A+FR3
|
||
WL 4,D3SA3A+FR4
|
||
WL 4,D3SA3A+FR5
|
||
WL 4,D3SA3A+FR7
|
||
WL 4,D3SA3A+FR8
|
||
WL 1,D3SA3A+FR9
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
|
||
; WL 3,D3SA3A+FR3
|
||
; WL 3,D3SA3A+FR4
|
||
; WL 3,D3SA3A+FR5
|
||
; WL 3,D3SA3A+FR7
|
||
; WL 3,D3SA3A+FR8
|
||
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
;FIX!! Make throw out of ring if close to ropes
|
||
#*****************************************************************************
|
||
*
|
||
* FLIP/FALL FROM BAM BAM DUCK TOSS
|
||
|
||
SUBR dnk_tossed2_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,ckzpos
|
||
|
||
WLW ANI_SET_XVEL,60000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,30000h
|
||
.word ANI_OFFSET,20,20,0 ;x,y,z
|
||
WL 4,D3OS3A+FR6
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,2
|
||
.word ANI_SHAKER,30
|
||
.word ANI_GETUP,STAY_TIME
|
||
.word ANI_DAMAGE,D_HIPTOSS
|
||
|
||
WL 3,D3FD3E+FR2
|
||
.word ANI_XFLIP
|
||
.word ANI_OFFSET,20,0,0 ;x,y,z
|
||
WL 3,D3SA3A+FR9
|
||
|
||
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
|
||
WL ANI_SET_YVEL,50000h
|
||
WL 3,D3SA3A+FR3
|
||
WL 3,D3SA3A+FR4
|
||
WL 3,D3SA3A+FR5
|
||
WL 3,D3SA3A+FR7
|
||
WL 3,D3SA3A+FR8
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
.word ANI_ZEROVELS
|
||
|
||
WL 3,D3SA3A+FR9
|
||
#done
|
||
.word ANI_WAITROLL
|
||
WL ANI_CHANGEANIM,dnk_faceup_getup_anim
|
||
|
||
|
||
#************
|
||
*
|
||
* #4 PUSH
|
||
|
||
SUBR dnk_4_push_anim
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
WL ANI_SETFLAG,M_PUSH
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_PUSH,9
|
||
WL 3,D4PS3A+FR1
|
||
WL 3,D4PS3A+FR2
|
||
WL 3,D4PS3A+FR3
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_ATTACK_ON, AMODE_PUSH,37,88,63,9 ;mode,x,y,w,h
|
||
WL 3,D4PS3A+FR4
|
||
.word ANI_ATTACK_OFF
|
||
|
||
WWL ANI_SLIDE_BACK,40h,-70000h,#no_hit ;range,vel,addr
|
||
WL 15,D4PS3A+FR4
|
||
#no_hit
|
||
WL 3,D4PS3A+FR4
|
||
|
||
WL ANI_IFSTATUS,#hit
|
||
;If missed on push, hold a little longer
|
||
WL 5,D4PS3A+FR4
|
||
#hit
|
||
WL 3,D4PS3A+FR5
|
||
WL 3,D4PS3A+FR6
|
||
WL 3,D4PS3A+FR7
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
******************************************************************************
|
||
*
|
||
* #2 RUNNING BOUNCE OFF OF OPPONENT
|
||
|
||
SUBR dnk_2_bncoff_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 3,D2AH2A+FR1
|
||
WL 15,D2AH2A+FR2
|
||
WL 4,D2AH2A+FR3
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 RUNNING BOUNCE OFF OF OPPONENT
|
||
|
||
SUBR dnk_4_bncoff_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_FRICTION,3000h
|
||
|
||
WL 3,D3AH3B+FR1
|
||
WL 3,D3AH3B+FR2
|
||
WL 14,D3AH3B+FR3
|
||
WL 2,D3AH3B+FR5
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
|
||
* #4 RUNNING BOUNCE OFF OF OPPONENT
|
||
|
||
;Bounce off but stay dizzy!
|
||
|
||
SUBR dnk_4_bncoff_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WL 3,D3AH3B+FR1
|
||
WL 3,D3AH3B+FR2
|
||
WL 14,D3AH3B+FR3
|
||
WL 2,D3AH3B+FR5
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
|
||
******************************************************************************
|
||
*
|
||
* #4 LOSE BALANCE
|
||
|
||
SUBR dnk_4_losebal_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WLW ANI_SET_XVEL,-60000h,AM_HIT_REL
|
||
|
||
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
|
||
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
|
||
|
||
WL 3,D4LB4A+FR2
|
||
WL 3,D4LB4A+FR3
|
||
WL 3,D4LB4A+FR4
|
||
WL ANI_CODE,DO_DOINK_PUSH
|
||
WL 3,D4LB4A+FR5
|
||
WL 3,D4LB4B+FR1
|
||
WL 3,D4LB4B+FR2
|
||
WL 3,D4LB4B+FR3
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
SUBR dnk_4_losebal_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
|
||
.word ANI_FRICTION,3000h
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_SETPLYRMODE,MODE_DIZZY
|
||
|
||
WLW ANI_SET_XVEL,-50000h,AM_HIT_REL
|
||
|
||
WL 3,D4LB4A+FR2
|
||
WL 3,D4LB4A+FR3
|
||
WL 3,D4LB4A+FR4
|
||
WL 3,D4LB4A+FR5
|
||
WL 3,D4LB4B+FR1
|
||
WL 3,D4LB4B+FR2
|
||
WL 3,D4LB4B+FR3
|
||
|
||
; .word ANI_SETPLYRMODE,MODE_DIZZY
|
||
WL ANI_CHANGEANIM,dnk_dizzy_anim
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #2 BIG BOOT
|
||
*
|
||
|
||
SUBR dnk_2_bigboot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_BIGBOOT,9
|
||
WL 3,D3SK3X+FR1
|
||
WL 3,D3SK3X+FR2
|
||
WL 3,D3SK3X+FR3
|
||
WL ANI_CODE,#clrcnt
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BIGBOOT,57,66,32,46 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,15,D3SK3X+FR4 ;2
|
||
#lp0
|
||
.word ANI_STARTATTACK,AT_BIGBOOT,5
|
||
WL 2,D3SK3X+FR4
|
||
WL ANI_CODE,#holdup
|
||
WL ANI_IFSTATUS,#lp0
|
||
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_IFNOTSTATUS,#missed1
|
||
.word ANI_DRAW_NAME,27
|
||
#missed1
|
||
WL 3,D3SK3X+FR5
|
||
WL 3,D3SK3X+FR6
|
||
WL 3,D3SK3X+FR7
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
* #4 BIG BOOT
|
||
|
||
SUBR dnk_4_bigboot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
|
||
.word ANI_SET_WRESTLER_XFLIP
|
||
|
||
.word ANI_STARTATTACK,AT_BIGBOOT,9
|
||
WL 3,D3SK3X+FR1
|
||
WL 3,D3SK3X+FR2
|
||
WL 3,D3SK3X+FR3
|
||
WL ANI_CODE,#clrcnt
|
||
|
||
.word ANI_ATTACK_ON, AMODE_BIGBOOT,34,78,46,25 ;mode,x,y,w,h
|
||
WWL ANI_WAITHITOPP,15,D3SK3X+FR4 ;2
|
||
#lp
|
||
WL 2,D3SK3X+FR4
|
||
|
||
WL ANI_CODE,#holdup
|
||
WL ANI_IFSTATUS,#lp
|
||
|
||
; .word ANI_WAITRELEASE,PLAYER_KICK_BIT
|
||
|
||
.word ANI_ATTACK_OFF
|
||
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
|
||
WL ANI_IFNOTSTATUS,#missed2
|
||
.word ANI_DRAW_NAME,27
|
||
#missed2
|
||
|
||
WL 3,D3SK3X+FR5
|
||
WL 3,D3SK3X+FR6
|
||
WL 3,D3SK3X+FR7
|
||
WL 3,D3SK3X+FR8
|
||
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#clrcnt
|
||
;We are re-using BUT_COUNT in the player process
|
||
clr a0
|
||
move a0,*a13(BUT_COUNT)
|
||
|
||
rets
|
||
|
||
#holdup
|
||
move *a13(BUT_COUNT),a0
|
||
inc a0
|
||
move a0,*a13(BUT_COUNT)
|
||
|
||
;Max time to hold up in air (*2 ticks)
|
||
cmpi 25,a0
|
||
jrgt #button_up
|
||
|
||
move *a13(BUT_VAL_CUR),a0
|
||
btst PLAYER_SKICK_BIT,a0 ;still down?
|
||
jrz #button_up
|
||
|
||
;Still holding...
|
||
|
||
move *a13(ANIMODE),a1
|
||
ori MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#button_up
|
||
move *a13(ANIMODE),a1
|
||
andni MODE_STATUS,a1
|
||
move a1,*a13(ANIMODE)
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* DIZZY
|
||
|
||
SUBR dnk_dizzy_anim
|
||
|
||
.word ANI_SETMODE,MODE_NOAUTOFLIP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_START_DIZZY,0 ;0=Standing dizzy
|
||
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
|
||
|
||
#loop
|
||
WL 6,D4SW4C+FR1
|
||
WL 6,D4SW4C+FR2
|
||
WL 6,D4SW4C+FR3
|
||
WL 6,D4SW4C+FR4
|
||
WL 6,D4SW4C+FR5
|
||
WL 6,D4SW4C+FR6
|
||
WL 6,D4SW4C+FR5
|
||
WL 6,D4SW4C+FR4
|
||
WL 6,D4SW4C+FR3
|
||
WL 6,D4SW4C+FR2
|
||
WL ANI_GOTO,#loop
|
||
|
||
|
||
#****************************************************************************
|
||
*
|
||
* PIN OPPONENT AND RAISE ARM IN VICTORY
|
||
|
||
;Need to have this guy walk toward fallen opponent so he
|
||
;can get closer!
|
||
|
||
;This pin must be started only when opponent is on the ground!
|
||
|
||
SUBR dnk_2_pin_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
;Rotate!
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
|
||
SUBR dnk_4_pin_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
LEAPATOPP 25,999,80h,50h,90000h,TGT_CHEST|TGT_GROUND,0,57,-15
|
||
WL ANI_CODE,hit_nearest
|
||
|
||
WL 3,D4PN5A+FR1
|
||
WL 3,D4PN5A+FR2
|
||
.word ANI_OFFSET,0,57,0 ;x,y,z
|
||
WL 21,D4PN5A+FR3 ;19
|
||
.word ANI_ZEROVELS
|
||
|
||
WLW ANI_ATTCHIMAGE,D4PN5L+FR4,10 ;image, zoff (priority)
|
||
WL 3,D4PN5A+FR4
|
||
|
||
WL ANI_CODE,grnd_hit
|
||
WL ANI_CODE,HIT_THE_MAT
|
||
.word ANI_SHAKEALL,2
|
||
|
||
WL ANI_CODE,DO_CROWD_CHEER
|
||
|
||
.word ANI_BOUNCE,4
|
||
WLW ANI_ATTCHIMAGE,D4PN5L+FR5,10 ;image, zoff (priority)
|
||
WL 4,D4PN5A+FR5
|
||
.word ANI_WAITHITGND
|
||
WL ANI_CODE,SMALL_BOUNCE
|
||
|
||
WL 4,D4PN5A+FR5
|
||
WL ANI_CODE,win_announce
|
||
WLW ANI_ATTCHIMAGE,0,0 ;Turn it off
|
||
|
||
WL 40,D4PN5A+FR6
|
||
|
||
.word ANI_LOOP
|
||
.word ANI_DETACH
|
||
|
||
;Do another ground hit on opponent
|
||
WL ANI_CODE,grnd_hit
|
||
|
||
WL ANI_SET_YVEL,42000h
|
||
WLW ANI_SET_ZVEL,22000h,AM_ABS
|
||
WL 4,D5GD4A+FR1
|
||
WL 4,D5GD4A+FR2
|
||
.word ANI_OFFSET,-10,0,0 ;x,y,z
|
||
WL 6,D3GU4A+FR7
|
||
WL 5,D3GU4A+FR8
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 5,D3GU4A+FR9
|
||
|
||
; WL 8+10,D5WN5B+FR1
|
||
WL 8-2,D5WN5B+FR2
|
||
WL 8-2,D5WN5B+FR3
|
||
WL 8-2,D5WN5B+FR4
|
||
WL 8-2,D5WN5B+FR5
|
||
|
||
#loop WL 6,D5WN5Z+FR1
|
||
WL 6,D5WN5Z+FR2
|
||
WL 6,D5WN5Z+FR3
|
||
WL 6,D5WN5B+FR5
|
||
|
||
; WL 6,D5WN5Z+FR4
|
||
WL ANI_GOTO,#loop
|
||
|
||
|
||
******************************************************************************
|
||
* RAISE ARM IN VICTORY FROM A STANCE
|
||
|
||
SUBR dnk_2_raise_arm_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,DO_CROWD_CHEER
|
||
WL ANI_CODE,win_announce
|
||
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
WL ANI_GOTO,#cont
|
||
|
||
SUBR dnk_4_raise_arm_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETSPEED,100h
|
||
|
||
WL ANI_CODE,DO_CROWD_CHEER
|
||
WL ANI_CODE,win_announce
|
||
|
||
#cont WL 6,D5WN5B+FR2
|
||
WL 6,D5WN5B+FR3
|
||
WL 6,D5WN5B+FR4
|
||
WL 6,D5WN5B+FR5
|
||
|
||
#loop2 WL 6,D5WN5Z+FR1
|
||
WL 6,D5WN5Z+FR2
|
||
WL 6,D5WN5Z+FR3
|
||
WL 6,D5WN5B+FR5
|
||
|
||
WL ANI_CODE,check_raisearm_bit
|
||
WL ANI_IFSTATUS,#wakeup
|
||
WL ANI_GOTO,#loop2
|
||
|
||
#wakeup ;pinned guy did a buckoff - snap out of it.
|
||
.word ANI_SET_RPTCOUNT,-10 ;set count to rnd from 0 to 10
|
||
#loop3 WL 6,D5WN5Z+FR1
|
||
WL 6,D5WN5Z+FR2
|
||
WL 6,D5WN5Z+FR3
|
||
WL 6,D5WN5B+FR5
|
||
.word ANI_DEC_RPTCOUNT
|
||
WL ANI_IF_RPTCOUNT,#loop3
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_FACEDOWN
|
||
.word ANI_END
|
||
|
||
|
||
SUBR win_announce
|
||
|
||
PUSH a10
|
||
move a13,a10
|
||
CREATE ANNC_PID,announce_rnd_winner
|
||
.if DEBUG
|
||
move a13,*a0(PDATA),L ;#CREATOR (pdata)
|
||
movi $,a14
|
||
move a14,*a0(PDATA+20h),L ;#ORIGIN
|
||
.endif
|
||
CALLA KILL_PIN_HIM
|
||
PULL a10
|
||
|
||
rets
|
||
|
||
|
||
***********************
|
||
* FOR USE ONLY IN PINS!
|
||
|
||
SUBR grnd_hit
|
||
|
||
;use CLOSEST instead of WHOIHIT, since you don't actually attack
|
||
; during the pins.
|
||
|
||
;Un! DO use WHOIHIT, as this is set in all the pin_anims before this
|
||
; function is called.
|
||
|
||
PUSH a13
|
||
move *a13(WHOIHIT),a13,L
|
||
|
||
; move *a13(CLOSEST_NUM),a13
|
||
; X32 a13
|
||
; addi process_ptrs,a13
|
||
; move *a13,a13,L
|
||
|
||
move *a13(WRESTLERNUM),a0
|
||
move a0,a1
|
||
sll 5,a0
|
||
addi #hit_t,a0
|
||
move *a0,a0,L
|
||
calla change_anim1a
|
||
PULL a13
|
||
|
||
;align on target's z, unless we're taker
|
||
move *a13(WRESTLERNUM),a0
|
||
subk 2,a0
|
||
jrz #z
|
||
move *a13(WHOIHIT),a0,L
|
||
|
||
;set pinner Z to victim Z+1, then set victim's Z to
|
||
move *a0(OBJ_ZPOS),a14,L
|
||
addi [1,0],a14
|
||
move a14,*a13(OBJ_ZPOS),L
|
||
subi [2,0],a14
|
||
move a14,*a0(OBJ_ZPOS),L
|
||
#z rets
|
||
|
||
#hit_t
|
||
.long hrt_hitonground_anim ;0 Bret Hart
|
||
.long rzr_hitonground_anim ;1 Razor Ramon
|
||
.long und_hitonground_anim ;2 Undertaker
|
||
.long yok_hitonground_anim ;3 Yokozuna
|
||
.long shn_hitonground_anim ;4 Shawn Michaels
|
||
.long bam_hitonground_anim ;5 Bam Bam
|
||
.long dnk_hitonground_anim ;6 Doink
|
||
.long 0 ;7 spare
|
||
.long lex_hitonground_anim ;8 Lex Luger
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* GET BUCKED OFF A PINNED OPPONENT
|
||
|
||
SUBR dnk_buckoff_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
WLW ANI_ATTCHIMAGE,0,0
|
||
WL 4,D4PN5A+FR6
|
||
WL 1,D4PN5A+FR3
|
||
WL ANI_CODE,set_buckoff_vels
|
||
.word ANI_WAITHITGND
|
||
.word ANI_ZEROVELS
|
||
WL 4,D4PN5A+FR4
|
||
WL 10,D4PN5A+FR5
|
||
|
||
;now stand up
|
||
WL 3,D5GD4A+FR1
|
||
WL 3,D5GD4A+FR2
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
**********
|
||
* Jump toward the center.
|
||
|
||
SUBR set_buckoff_vels
|
||
|
||
movi 20000h,a0
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrle #xok
|
||
neg a0
|
||
#xok move a0,*a13(OBJ_XVEL),L
|
||
|
||
movi 40000h,a0
|
||
move *a13(OBJ_ZPOSINT),a14
|
||
cmpi RING_Z_CENTER,a14
|
||
jrle #zok
|
||
neg a0
|
||
#zok move a0,*a13(OBJ_ZVEL),L
|
||
|
||
movi 50000h,a0
|
||
move a0,*a13(OBJ_YVEL),L
|
||
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* #3 CLIMB THROUGH ROPES
|
||
|
||
SUBR dnk_climbthru_side_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,SET_DIR_FACE
|
||
.word ANI_SETFACING
|
||
.WORD ANI_SET_WRESTLER_XFLIP
|
||
|
||
WLW ANI_SET_XVEL,3000h,AM_FACE_REL
|
||
.word ANI_OFFSET,13,0,0
|
||
WL 3,D3CR3D+FR1
|
||
.word ANI_BENDROPE,0
|
||
WL 2,D3CR3D+FR2
|
||
WL 3,D3CR3D+FR3
|
||
WL 2,D3CR3D+FR4
|
||
WL 3,D3CR3D+FR5
|
||
|
||
.word ANI_BENDROPE,2
|
||
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
|
||
|
||
WL 2,D3CR3D+FR6
|
||
.word ANI_BENDROPE,2
|
||
WL 3,D3CR3D+FR7
|
||
WL 2,D3CR3D+FR8
|
||
.word ANI_BENDROPE,3
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
|
||
WL 3,D3CR3D+FR9
|
||
WL 2,D3CR3D+FR10
|
||
.word ANI_ZEROVELS
|
||
.word ANI_BENDROPE,-1
|
||
.word ANI_OFFSET,43,-3,0
|
||
WL 3,D3CR3D+FR11
|
||
|
||
;now jump off...
|
||
WL 3,D4JD4A+FR1 ;D4FM4A+FR1
|
||
WL 3,D4JD4A+FR2
|
||
|
||
.word ANI_SET_IDIOT
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
|
||
WL ANI_SET_YVEL,60000h
|
||
|
||
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
|
||
|
||
WL 3,D4JD4A+FR4
|
||
.word ANI_WAITHITGND
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
|
||
|
||
.word ANI_ROPE_Z,R_TOP,RZ_NORM
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
|
||
|
||
.word ANI_ZEROVELS
|
||
WL 2,D4JD4A+FR6
|
||
WL 2,D4JD4A+FR7
|
||
WL 4,D4JD4A+FR8
|
||
WL 2,D4JD4A+FR10
|
||
WL 2,D4JD4A+FR11
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_CLEAR_CLIMB
|
||
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbin_side_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
WL ANI_CODE,SET_DIR_FACE
|
||
.word ANI_SETFACING
|
||
.WORD ANI_SET_WRESTLER_XFLIP
|
||
|
||
;jump in
|
||
WL 3,D4JD4A+FR1
|
||
WL 3,D4JD4A+FR2
|
||
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
|
||
WL ANI_CODE,#set_trgt
|
||
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
|
||
.word ANI_LEAPATPOS,14h,200,0,0,0 ;#ticks,dist,xoff,yoff,zoff
|
||
|
||
WL 3,D4JD4A+FR4
|
||
.word ANI_WAITHITGND
|
||
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
|
||
.word ANI_ZEROVELS
|
||
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
|
||
|
||
WL 3,D4JD4A+FR6
|
||
WL 2,D4JD4A+FR7
|
||
WL 2,D4JD4A+FR11
|
||
|
||
WLW ANI_SET_XVEL,3000h,AM_FACE_REL
|
||
|
||
;climb through
|
||
WL 3,D3CR3D+FR1
|
||
.word ANI_BENDROPE,0
|
||
WL 2,D3CR3D+FR2
|
||
WL 3,D3CR3D+FR3
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
|
||
WL 2,D3CR3D+FR4
|
||
WL 3,D3CR3D+FR5
|
||
|
||
.word ANI_BENDROPE,2
|
||
|
||
WL 2,D3CR3D+FR6
|
||
.word ANI_BENDROPE,2
|
||
WL 3,D3CR3D+FR7
|
||
WL 2,D3CR3D+FR8
|
||
.word ANI_BENDROPE,3
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
|
||
WL 3,D3CR3D+FR9
|
||
WL 2,D3CR3D+FR10
|
||
.word ANI_BENDROPE,-1
|
||
.word ANI_OFFSET,43,-3,0
|
||
WL 3,D3CR3D+FR11
|
||
.word ANI_ZEROVELS
|
||
|
||
.word ANI_OFFSET,-5,0,0
|
||
; WL ANI_CODE,clr_climb
|
||
.word ANI_CLEAR_CLIMB
|
||
|
||
;done
|
||
|
||
.word ANI_ROPE_Z,R_TOP,RZ_NORM
|
||
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
|
||
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
|
||
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
#set_trgt
|
||
movi RING_X_CENTER-0f8h-50,a0 ;Jump onto left side apron
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft
|
||
;On right side
|
||
movi RING_X_CENTER+0f8h+50,a0 ;Jump onto right side apron
|
||
#onlft
|
||
move a0,*a13(TGT_XOFF)
|
||
|
||
movi RING_Z_CENTER,a0
|
||
move a0,*a13(TGT_ZOFF)
|
||
|
||
movi MAT_Y,a0
|
||
move a0,*a13(TGT_YOFF)
|
||
|
||
rets
|
||
|
||
SUBR SET_DIR_FACE
|
||
|
||
;this is now used for both climbins and climbouts. If we're outside,
|
||
; use an identical version, but with the a0's switched.
|
||
move *a13(INRING),a14
|
||
jrz #method2
|
||
|
||
MOVI 10,A0
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft1
|
||
MOVI 6,A0
|
||
#onlft1
|
||
MOVE A0,*A13(NEW_FACING_DIR)
|
||
RETS
|
||
|
||
#method2
|
||
MOVI 6,A0
|
||
move *a13(OBJ_XPOSINT),a14
|
||
cmpi RING_X_CENTER,a14
|
||
jrlt #onlft2
|
||
MOVI 10,A0
|
||
#onlft2
|
||
MOVE A0,*A13(NEW_FACING_DIR)
|
||
RETS
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbthru_bot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;Must rotate toward ropes!
|
||
;Do a different sequence
|
||
|
||
;lie down
|
||
WL ANI_CODE,#ckspin
|
||
WL ANI_IFSTATUS,#dir4
|
||
|
||
;Facing #2, spin first!
|
||
WL 3,D1TT5Z+FR2
|
||
WL 3,D1TT5Z+FR3
|
||
#dir4
|
||
WL 3,D3GU4A+FR9
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR2
|
||
|
||
;roll over once
|
||
WLW ANI_SET_ZVEL,70000h,AM_ABS
|
||
|
||
WL 3,D3SA3A+FR9
|
||
WL 3,D3RL1B+FR2
|
||
WL 3,D3RL1B+FR3
|
||
|
||
WL 3,D3RL1B+FR4
|
||
WL 3,D3RL1B+FR5
|
||
WL 3,D3RL1B+FR6
|
||
WL 3,D3RL1B+FR7
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
|
||
.word ANI_SET_IDIOT
|
||
;climb through
|
||
WL 3,D2CR1A+FR3
|
||
WL 3,D2CR1A+FR2
|
||
WL 3,D2CR1A+FR1
|
||
.word ANI_OFFSET,0,-37h,0 ;x,y,z
|
||
WL 1,D2ST2B+FR3
|
||
|
||
.word ANI_CLEAR_CLIMB
|
||
.word ANI_FACEUP
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#ckspin
|
||
move *a13(FACING_DIR),a14
|
||
btst 0,a14
|
||
jrnz #faceup
|
||
|
||
move *a13(ANIMODE),a0
|
||
ori MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
RETS
|
||
#faceup
|
||
move *a13(ANIMODE),a0
|
||
ANDI 0FFFFH-MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
rets
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbin_bot_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;climb in
|
||
.word ANI_GRAVITY_OFF
|
||
.word ANI_OFFSET,0,37h,-60
|
||
WL 3,D2CR1A+FR1
|
||
WL 3,D2CR1A+FR2
|
||
WL 3,D2CR1A+FR3
|
||
|
||
;roll
|
||
WLW ANI_SET_ZVEL,-70000h,AM_ABS
|
||
.word ANI_FRICTION,3000h
|
||
WL 3,D3RL1B+FR7
|
||
WL 3,D3RL1B+FR6
|
||
WL 3,D3RL1B+FR5
|
||
WL 3,D3RL1B+FR4
|
||
WL 3,D3RL1B+FR3
|
||
WL 3,D3RL1B+FR2
|
||
.word ANI_ZEROVELS
|
||
.word ANI_GRAVITY_ON
|
||
|
||
;get up
|
||
WL 3,D3GU4A+FR2
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
; WL ANI_CODE,clr_climb
|
||
.word ANI_CLEAR_CLIMB
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_ZEROVELS
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbthru_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;lie down
|
||
WL ANI_CODE,#set_zvel1
|
||
WL ANI_IFSTATUS,#dir4
|
||
;Facing #2
|
||
WL 3,D2GD2A+FR9
|
||
WL 3,D2GD2A+FR7
|
||
WL 3,D2GD2A+FR6
|
||
WL 3,D2GD2A+FR4
|
||
WL ANI_CODE,#set_zvel3
|
||
WL ANI_GOTO,#cont
|
||
|
||
#dir4
|
||
WL 3,D3GU4A+FR9
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR2
|
||
|
||
;roll over once
|
||
WL ANI_CODE,#set_zvel2
|
||
WL 3,D3RL1B+FR11
|
||
#cont
|
||
WL 3,D3RL1B+FR10
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
WL 3,D3RL1B+FR9
|
||
WL 3,D3RL1B+FR8
|
||
WL 3,D3RL1B+FR7
|
||
|
||
.word ANI_SET_IDIOT
|
||
;climb through
|
||
.word ANI_OFFSET,0,-61,0
|
||
.word ANI_ZEROVELS
|
||
WL 3,D2CR1A+FR8
|
||
WL 3,D2CR1A+FR9
|
||
WL 3,D2CR1A+FR10
|
||
WL 3,D2CR1A+FR11
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_CLEAR_CLIMB
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
#set_zvel1
|
||
move *a13(FACING_DIR),a14
|
||
btst 0,a14
|
||
jrz #facedwn
|
||
move *a13(ANIMODE),a0
|
||
ANDI 0FFFFH-MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
rets
|
||
|
||
#facedwn
|
||
move *a13(ANIMODE),a0
|
||
ori MODE_STATUS,a0
|
||
move a0,*a13(ANIMODE)
|
||
rets
|
||
|
||
#set_zvel2
|
||
movi -6c000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
#set_zvel3
|
||
movi -7c000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
;Zombies use this to roll through the top without standing back up.
|
||
|
||
SUBR dnk_rollthru_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
|
||
;roll over once
|
||
WLW ANI_SET_ZVEL,-6C000h,AM_ABS
|
||
WL 3,D3RL1B+FR11
|
||
WL 3,D3RL1B+FR10
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
|
||
WL 3,D3RL1B+FR9
|
||
WL 3,D3RL1B+FR8
|
||
WL 3,D3RL1B+FR7
|
||
|
||
;climb through
|
||
.word ANI_OFFSET,0,-61,0
|
||
.word ANI_ZEROVELS
|
||
WL 3,D2CR1A+FR8
|
||
WL 3,D2CR1A+FR9
|
||
WL 3,D2CR1A+FR10
|
||
WL 3,D2CR1A+FR11
|
||
|
||
.word ANI_ZERO_XZVELS
|
||
|
||
.word ANI_FACEDOWN
|
||
.word ANI_SETMODE,MODE_NORMAL
|
||
.word ANI_END
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_climbin_top_anim
|
||
|
||
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
|
||
.word ANI_SETPLYRMODE,MODE_NORMAL
|
||
.word ANI_SETSPEED,100h
|
||
.word ANI_ZEROVELS
|
||
|
||
;climb in
|
||
WL 3,D2CR1A+FR11
|
||
WL 3,D2CR1A+FR10
|
||
WL 3,D2CR1A+FR9
|
||
WL 3,D2CR1A+FR8
|
||
.word ANI_OFFSET,0,61,0
|
||
|
||
;roll over
|
||
WL ANI_CODE,#set_zvel2
|
||
WL 3,D3RL1B+FR8
|
||
WL 3,D3RL1B+FR9
|
||
WL 3,D3RL1B+FR10
|
||
WL 3,D3RL1B+FR11
|
||
|
||
WL 3,D3SA3A+FR9
|
||
|
||
.word ANI_ZEROVELS
|
||
|
||
;get up
|
||
WL 3,D3GU4A+FR2
|
||
WL 3,D3GU4A+FR3
|
||
WL 3,D3GU4A+FR4
|
||
WL 3,D3GU4A+FR5
|
||
WL 3,D3GU4A+FR6
|
||
WL 3,D3GU4A+FR7
|
||
WL 3,D3GU4A+FR8
|
||
WL 3,D3GU4A+FR9
|
||
|
||
; WL ANI_CODE,clr_climb
|
||
.word ANI_CLEAR_CLIMB
|
||
; .word ANI_OFFSET,0,0,100
|
||
|
||
.word ANI_SETMODE,MODE_NOCONFINE
|
||
.word ANI_END
|
||
|
||
|
||
#set_zvel2
|
||
movi 42000h,a0
|
||
move a0,*a13(OBJ_ZVEL),L
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBR dnk_roll_frames
|
||
|
||
.word 7 ;speed
|
||
.long 50000h ;z velocity
|
||
.long 10000h*10/255 ;inv multiply (0-255 -> 0-10)
|
||
|
||
.long D3SA3A+FR9 ;0
|
||
.long D3RL1B+FR2 ;1
|
||
.long D3RL1B+FR3 ;2
|
||
.long D3RL1B+FR4 ;3
|
||
.long D3RL1B+FR5 ;4
|
||
.long D3RL1B+FR6 ;5
|
||
.long D3RL1B+FR7 ;6
|
||
.long D3RL1B+FR8 ;7
|
||
.long D3RL1B+FR9 ;8
|
||
.long D3RL1B+FR10 ;9
|
||
.long D3RL1B+FR11 ;10
|
||
.long 0,0,0,0,0,0
|
||
|
||
|
||
******************************************************************************
|
||
|
||
.end
|
||
|