wwf-wrestlemania/LEXSEQ2.ASM

3307 lines
74 KiB
NASM
Raw Permalink Normal View History

2021-04-06 15:21:54 -07:00
**************************************************************
*
* Software: Jamie Rivett
* Initiated: 7/15/94
*
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
*
**************************************************************
.file "lexseq2.asm"
.title "routine punches and kicks"
.width 132
.option b,d,l,t
.mnolist
.include "macros.h"
.include "mproc.equ" ;Mproc equates
.include "sys.equ"
.include "game.equ"
.include "plyr.equ"
.include "anim.equ"
.include "sound.h"
.include "ring.equ"
.include "leximg.h"
.include "damage.equ"
.INCLUDE "SWEAT.EQU"
******************************************************************************
* EXTERNAL REFERENCES
.ref DO_CROWD_CHEER,set_tbukl_confine,grnd_hit,check_raisearm_bit
.ref SET_DIR_FACE,no_bk_xvel,start_run_anim,CALL_MISSES
.ref am_I_dead,lex_faceup_getup_anim,lex_dizzy_anim
.ref check_xvel,DO_GRUNT,HIT_THE_MAT,SMALL_BOUNCE
.ref CALL_ANI_AVERAGE_MOVE,set_tbukl_airmode
.ref DO_COMBO_MESS,hit_nearest
.ref lex_combo_sliding_elbow_anim
.ref lex_combo_hiptoss_anim
.ref lex_combo_backbreak_anim
.REF CALL_BONE_BREAK
#*****************************************************************************
*
* #2 COMBO PUNCH
SUBR lex_combo_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.WORD ANI_CLEAR_COMBO
WL 2,L2PU2B+FR1
.word ANI_STARTATTACK,AT_PUNCH,6
WL 2,L2PU2B+FR2
WL 2,L2PU2B+FR3
.WORD ANI_INC_COMBO
.word ANI_ATTACK_ON,AMODE_PUNCH,28,52,44,44
WL 2,L2PU2B+FR4
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit2
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,30000h
WL 2,L2PU2B+FR4
WL 2,L2PU2B+FR5
WL 2,L2PU2B+FR7
WL 2,L2PU2B+FR8
WL 2,L2PU2B+FR9
WL 2,L4PU3B+FR1
.word ANI_STARTATTACK,AT_PUNCH,6
WL 2,L4PU3B+FR2
WL 2,L4PU3B+FR3
.word ANI_ATTACK_ON,AMODE_PUNCH,28,52,44,44
WL 2,L4PU3B+FR4
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit4
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,30000h
WL 2,L4PU3B+FR4
WL 2,L4PU3B+FR5
WL 2,L4PU3B+FR6
WL 2,L4PU3B+FR8
WL 2,L4PU3B+FR9
.word ANI_SET_RPTCOUNT,2 ;3 times
#punch_loop
.word ANI_CLR_BUTCOUNT
WL 1,L2PU2B+FR1
WL 1,L2PU2B+FR2
WL 1,L2PU2B+FR3
.word ANI_ATTACK_ON,AMODE_PUNCH,28,82,44,24
WL 2,L2PU2B+FR4
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit2
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 1,L2PU2B+FR4
WL 2,L2PU2B+FR5
WL 1,L2PU2B+FR7
WL 1,L2PU2B+FR8
WL 1,L2PU2B+FR9
WL 1,L4PU3B+FR1
.word ANI_STARTATTACK,AT_PUNCH,6
WL 2,L4PU3B+FR2
WL 1,L4PU3B+FR3
.word ANI_ATTACK_ON,AMODE_PUNCH,28,82,44,24
WL 2,L4PU3B+FR4
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit4
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 1,L4PU3B+FR4
WL 2,L4PU3B+FR5
WL 1,L4PU3B+FR6
WL 1,L4PU3B+FR8
WL 1,L4PU3B+FR9
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#punch_loop
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#no_clobber
WL ANI_CHANGEANIM,lex_combo_clobber_anim
#no_clobber
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#no_knee
WL ANI_CHANGEANIM,lex_combo_knee_fall_anim
#no_knee
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#exit
WL ANI_CHANGEANIM,lex_combo_butt_anim
#exit
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit4
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,L4PU3B+FR5
WL 3,L4PU3B+FR6
WL 3,L4PU3B+FR8
WL 3,L4PU3B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit2
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,L2PU2B+FR5
WL 3,L2PU2B+FR7
WL 3,L2PU2B+FR8
WL 3,L2PU2B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 NORMAL PUNCH
SUBR lex_2_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.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,L2PU2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2PU2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2PU2B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_PUNCH,6
WL 1,L2PU2B+FR2
WL 2,L2PU2B+FR3
.word ANI_ATTACK_ON,AMODE_PUNCH,28,82,44,24
WL 3,L2PU2B+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,L2PU2B+FR4
#no_hit
WL 3,L2PU2B+FR5
WL 2,L2PU2B+FR7
WL 3,L2PU2B+FR8
WL 2,L2PU2B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 NORMAL PUNCH
SUBR lex_4_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.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,L4PU3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4PU3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4PU3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_PUNCH,6
WL 1,L4PU3B+FR2
WL 2,L4PU3B+FR3
.word ANI_ATTACK_ON,AMODE_PUNCH,28,82,44,24
WL 3,L4PU3B+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 3,L4PU3B+FR4
#no_hit2
WL 3,L4PU3B+FR5
WL 2,L4PU3B+FR6
WL 3,L4PU3B+FR8
WL 2,L4PU3B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 PUSH
SUBR lex_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,L4PS3A+FR1
WL 3,L4PS3A+FR2
WL 3,L4PS3A+FR3
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ATTACK_ON, AMODE_PUSH,11,47,91,50 ;mode,x,y,w,h
WL 3,L4PS3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,40h,-70000h,#no_hit ;range,vel,addr
WL 15,L4PS3A+FR4
#no_hit
WL 3,L4PS3A+FR4
WL ANI_IFSTATUS,#hit
;If missed on push, hold a little longer
WL 5,L4PS3A+FR4
#hit
WL 3,L4PS3A+FR3
WL 3,L4PS3A+FR2
WL 3,L4PS3A+FR1
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
******************************************************************************
*
* #4 LOSE BALANCE
SUBR lex_4_losebal_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_FRICTION,3000h
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
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,L3PB3A+FR3
WL 3,L3PB3A+FR4
.REF DO_LEX_PUSH
WL ANI_CODE,DO_LEX_PUSH
WL 3,L3PB3A+FR5
WL 3,L3PB3A+FR6
WL 3,L3PB3A+FR7
WL 3,L3PB3A+FR8
WL 3,L3PB3A+FR9
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 combo FALLEN OPPONENT
SUBR lex_combo_ground_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WL 3,L2PT2B+FR1
WL 3,L2PT2B+FR2
;if we're going to miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,-4,-6,-40,37,36,50
WL 1,L2PT2B+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat_stomp
WL ANI_SET_YVEL,80000h
.word ANI_SET_RPTCOUNT,3 ;5 times
#ground_loop
WL 3,L2PT2B+FR3
WL 3,L2PT2B+FR4
WL 1,L2PT2B+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,L2PT2B+FR6
WL 3,L2PT2B+FR7
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-4,-6,-40,37,36,50
WL 1,L2PT2B+FR8
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#hit
WL ANI_GOTO,#missed
#leapat_stomp
;too far. leap at the chest.
.word ANI_TARGET,TGT_CHEST,TGT_KNEES,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,112,96,90000h,TGT_USER,13,0,-40
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_LBDROP,16
WL 3,L2PT2B+FR3
WL 3,L2PT2B+FR4
WL 1,L2PT2B+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L2PT2B+FR6
WL 2,L2PT2B+FR7
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-4,-6,-40,37,36,50
WL 1,L2PT2B+FR8
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#hit
WL ANI_GOTO,#missed
#hit
.word ANI_INC_COMBO
.word ANI_IMMOBILIZE,75
.word ANI_SHAKER,18
.word ANI_SHAKEALL,1
WL 5,L2PT2B+FR8
WL 2,L2PT2B+FR9
WL 2,L2PT2B+FR10
WL 2,L2PT2B+FR11
.word ANI_DEC_RPTCOUNT
WL ANI_IFNOT_RPTCOUNT,#exit_ground
WL ANI_SET_YVEL,20000h
WL ANI_GOTO,#ground_loop
#exit_ground
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_CODE,CALL_MISSES
WL 7,L2PT2B+FR8
WL 3,L2PT2B+FR9
WL 3,L2PT2B+FR10
WL 3,L2PT2B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 PUNCH FALLEN OPPONENT
SUBR lex_2_ground_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2PT2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2PT2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2PT2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_LBDROP,11
WL 3,L2PT2B+FR2
;if we're going to miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,-4,-6,-40,37,36,50
WL 1,L2PT2B+FR2
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFNOTSTATUS,#leapat_stomp
WL ANI_SET_YVEL,20000h
WL 3,L2PT2B+FR3
WL 3,L2PT2B+FR4
WL 1,L2PT2B+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L2PT2B+FR6
WL 2,L2PT2B+FR7
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-4,-6,-40,37,36,50
WL 1,L2PT2B+FR8
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#hit
WL ANI_GOTO,#missed
#leapat_stomp
;too far. leap at the chest.
.word ANI_TARGET,TGT_CHEST,TGT_KNEES,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,90000h,TGT_USER,13,0,-40
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_LBDROP,16
WL 3,L2PT2B+FR3
WL 3,L2PT2B+FR4
WL 1,L2PT2B+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L2PT2B+FR6
WL 2,L2PT2B+FR7
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-4,-6,-40,37,36,50
WL 1,L2PT2B+FR8
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#hit
WL ANI_GOTO,#missed
#hit
.word ANI_SHAKER,25
.word ANI_SHAKEALL,1
WL 3,L2PT2B+FR8
WL 3,L2PT2B+FR9
WL 3,L2PT2B+FR10
WL 3,L2PT2B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
WL ANI_CODE,CALL_MISSES
WL 3,L2PT2B+FR8
WL 3,L2PT2B+FR9
WL 3,L2PT2B+FR10
WL 3,L2PT2B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 PUNCH FALLEN OPPONENT
SUBR lex_4_ground_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4PT4B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4PT4B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4PT4B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_STOMP,18
WL 3,L4PT4B+FR2
WL 2,L4PT4B+FR3
;if we're going to miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,-3,-1,-10,29,28,50
WL 1,L4PT4B+FR3
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFNOTSTATUS,#leapat_stomp
WL ANI_SET_YVEL,20000h
WL 3,L4PT4B+FR4
WL 3,L4PT4B+FR5
.word ANI_WAITHITGND ;just in case OFFSET left us in air
WL 3,L4PT4B+FR6
WL 3,L4PT4B+FR7
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-3,-1,-10,29,28,50
WL 1,L4PT4B+FR8
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#hit
WL ANI_GOTO,#missed
#leapat_stomp
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,90000h,TGT_USER,15,0,50
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_STOMP,16
WL 3,L4PT4B+FR4
WL 3,L4PT4B+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L4PT4B+FR6
WL 2,L4PT4B+FR7
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-3,-1,-10,29,28,50
WL 1,L4PT4B+FR8
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#hit
WL ANI_GOTO,#missed
#hit
.word ANI_SHAKER,18
.word ANI_SHAKEALL,1
WL 3,L4PT4B+FR8
WL 3,L4PT4B+FR9
WL 3,L4PT4B+FR10
WL 3,L4PT4B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
WL ANI_CODE,CALL_MISSES
WL 3,L4PT4B+FR8
WL 3,L4PT4B+FR9
WL 3,L4PT4B+FR10
WL 3,L4PT4B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #3 CLOBBER - Super punch / same as slap
SUBR lex_3_clobber_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUNCH,18
WL 3,L4PT3B+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 13,999,50h,50,90000h,TGT_HEAD,75,101,0
WL ANI_CODE,no_bk_xvel
WL 3,L4PT3B+FR2
WL 9,L4PT3B+FR3
WL 3,L4PT3B+FR4
WL ANI_CODE,#stop_debris
.word ANI_ATTACK_ON, AMODE_URN,31,63,56,38 ;mode,x,y,w,h
WL 3,L4PT3B+FR5
WL ANI_CODE,HIT_THE_MAT
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#blocked
WL ANI_CODE,#restore_debris
.ref create_impact
WL ANI_CODE,create_impact
WL ANI_CODE,HIT_THE_MAT
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL 3,L4PT3B+FR6
WL ANI_CODE,CALL_BONE_BREAK
; .word ANI_SOUND,9Bh ;neck break (5-7 ticks late)
WL 5,L4PT3B+FR7
.ref spunch_delay
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none0
WL 15,L4PT3B+FR7
#none0
WL 3,L4PT3B+FR8
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missed
WL ANI_CODE,CALL_MISSES
#blocked
WL ANI_CODE,#restore_debris
WL 3,L4PT3B+FR6
WL 10,L4PT3B+FR7
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none
WL 15,L4PT3B+FR7
#none
WL 3,L4PT3B+FR8
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
******************************************************************
SUBR lex_combo_clobber_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUNCH,18
WL 3,L4PT3B+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 13,999,50h,50,90000h,TGT_HEAD,75,101,0
WL ANI_CODE,no_bk_xvel
WL 3,L4PT3B+FR2
WL 9,L4PT3B+FR3
WL 3,L4PT3B+FR4
WL ANI_CODE,#stop_debris
.word ANI_ATTACK_ON, AMODE_BIGKNEE,31,63,56,38 ;mode,x,y,w,h
WL 3,L4PT3B+FR5
WL ANI_CODE,HIT_THE_MAT
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#blockedc
.WORD ANI_INC_COMBO
WL ANI_CODE,#restore_debris
.ref create_impact
WL ANI_CODE,create_impact
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL 3,L4PT3B+FR6
WL ANI_CODE,CALL_BONE_BREAK
; .word ANI_SOUND,9Bh ;neck break (5-7 ticks late)
WL 5,L4PT3B+FR7
WL 3,L4PT3B+FR8
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedc
WL ANI_CODE,CALL_MISSES
#blockedc
WL ANI_CODE,#restore_debris
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,L4PT3B+FR6
WL 10,L4PT3B+FR7
WL 3,L4PT3B+FR8
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
******************************************************************
.bss #kp_debris,16
.ref no_debris
#stop_debris
move @no_debris,a0
move a0,@#kp_debris
movk 1,a0
move a0,@no_debris
rets
#restore_debris
move @#kp_debris,a0
move a0,@no_debris
rets
#*
* #4 HAMMER POUND OF FALLEN OPPONENT
SUBR lex_hammer_anim
.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
.word ANI_SET_RPTCOUNT,4 ;5 times
; .ref create_bucket_salt
; WL ANI_CODE,create_bucket_salt
; WWL ANI_SETLONG,DEBRIS_X,[115,-6] ;Y,X of head
; WL 3,L4HM3A+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 7,170,60,50,90000h,TGT_GROIN,95,62,13h ;13
WL ANI_SET_YVEL,34000h
; WWL ANI_SETLONG,DEBRIS_X,[81,-25] ;Y,X of head
WL 3,L4HM3A+FR2
; WWL ANI_SETLONG,DEBRIS_X,[84,-23] ;Y,X of head
WL 3,L4HM3A+FR3 ;16
; WWL ANI_SETLONG,DEBRIS_X,[99,-24] ;Y,X of head
WL 3,L4HM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
; WWL ANI_SETLONG,DEBRIS_X,[143,3] ;Y,X of head
WL 3,L4HM3A+FR5
; WWL ANI_SETLONG,DEBRIS_X,[122,79] ;Y,X of head
WL 2,L4HM3A+FR6
.word ANI_ATTACK_ON,AMODE_HAMMER,32,-8,92,146 ;mode,x,y,w,h
; WWL ANI_SETLONG,DEBRIS_X,[64,101] ;Y,X of head
WL 2,L4HM3A+FR6
; WWL ANI_SETLONG,DEBRIS_X,[5,90] ;Y,X of head
WL 3,L4HM3A+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,45
.ref CALL_NASTY_MOVE
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
; WWL ANI_SETLONG,DEBRIS_X,[6,83] ;Y,X of head
WL 3,L4HM3A+FR8
; WWL ANI_SETLONG,DEBRIS_X,[35,74] ;Y,X of head
WL 3,L4HM3A+FR9
; WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
.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
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR8
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR9
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4PT3B+FR1
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
; WL 3,L4HM3A+FR1
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR2
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR3
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR4
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR5
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 1,L4HM3A+FR6
.word ANI_ATTACK_ON,AMODE_HAMMER,32,-8,92,73 ;mode,x,y,w,h
WL 2,L4HM3A+FR6
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+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,45
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,2,#failed
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#dnk_quick_hammer
#failed
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR8
; WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,L4HM3A+FR9
; WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#***********************************************
SUBR lex_combo_hammer_anim
.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
.word ANI_SET_RPTCOUNT,4 ;5 times
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 7,170,60,30,90000h,TGT_GROIN,95,62,0;13h ;13
WL ANI_SET_YVEL,34000h
WL 3,L4HM3A+FR2
WL 3,L4HM3A+FR3 ;16
WL 3,L4HM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,L4HM3A+FR5
WL 2,L4HM3A+FR6
.word ANI_ATTACK_ON, AMODE_HAMMER,21,-10,88,73 ;mode,x,y,w,h
WL 2,L4HM3A+FR6
WL 3,L4HM3A+FR7
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#tagmiss
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;He got him, shake screen
.WORD ANI_INC_COMBO
.word ANI_DAMAGEOPP,D_HAMMER1,RD_HAMMER1
;Immobilize player for 30 ticks without meter on!
.word ANI_IMMOBILIZE,30
.word ANI_SHAKER,25
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#missedb
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#dnk_quick_hammer
#missedb
#tagmiss
WL 3,L4HM3A+FR8
WL 3,L4HM3A+FR9
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.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 2,L4HM3A+FR8
WL 2,L4HM3A+FR9
WL 2,L4PT3B+FR1
WL 2,L4HM3A+FR2
WL 2,L4HM3A+FR3
WL 2,L4HM3A+FR4
WL 2,L4HM3A+FR5
WL 1,L4HM3A+FR6
.word ANI_ATTACK_ON, AMODE_HAMMER,21,-10,88,73 ;mode,x,y,w,h
WL 1,L4HM3A+FR6
WL 2,L4HM3A+FR7
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#tagmiss
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
.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,KICKB_COUNT,2,#failed
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#dnk_quick_hammer
#failed
WL 3,L4HM3A+FR8
WL 3,L4HM3A+FR9
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 CLOBBER (same art as #2 punch fallen, except for the puffin)
SUBR lex_2_clobber_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUNCH,18
WL 2,L2PT2B+FR1
WL 2,L2PT2B+FR2
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 11,999,112,96,90000h,TGT_CHEST|TGT_GROUND,28,0,-30
WL ANI_CODE,no_bk_xvel
WL 3,L2PT2B+FR3
;18 ticks is too long to wait for a hit box, so we check for
; a hit at 9, and if we get one, we freeze the victim so we'll
; hit at 18.
; .word ANI_ATTACK_ON_Z,AMODE_HITCHECK,4,12,-40,30,94,50
; WL 1,L2PT2B+FR4
; .word ANI_ATTACK_OFF
; WL ANI_IFBLOCKED,#no_freeze
; WL ANI_IFNOTSTATUS,#no_freeze
; .word ANI_IMMOBILIZE,9
;#no_freeze
WL 2,L2PT2B+FR4
WL 2,L2PT2B+FR5
WL 2,L2PT2B+FR6
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
; .word ANI_IMMOBILIZE,55-11-10
.word ANI_ZEROVELS
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP2,4,12,-40,30,94,50
WL 1,L2PT2B+FR7
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFBLOCKED,#blocked
.word ANI_IMMOBILIZE,55-11-10
.word ANI_OFFSET,0,0,10
.word ANI_SHAKER,40
.word ANI_SHAKEALL,1
WL 2,L2PT2B+FR7
WL ANI_CODE,CALL_BONE_BREAK
; .word ANI_SOUND,9Bh ;neck break (5-7 ticks late)
WL 8,L2PT2B+FR8
WL 2,L2PT2B+FR9
WL 2,L2PT2B+FR10
WL 2,L2PT2B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
WL ANI_CODE,CALL_MISSES
#blocked
WL 2,L2PT2B+FR7
WL 6,L2PT2B+FR8
WL 2,L2PT2B+FR9
WL 2,L2PT2B+FR10
WL 2,L2PT2B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 CLOBBER (same art as #4 punch fallen)
SUBR lex_4_clobber_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUNCH,21
WL 2,L4PT4B+FR1
WL 2,L4PT4B+FR2
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 11,999,112,96,90000h,TGT_CHEST|TGT_GROUND,24,0,30
WL ANI_CODE,no_bk_xvel
WL 3,L4PT4B+FR3
;18 ticks is too long to wait for a hit box, so we check for
; a hit at 9, and if we get one, we freeze the victim so we'll
; hit at 18.
; .word ANI_ATTACK_ON_Z,AMODE_HITCHECK,4,12,-10,30,94,50
; WL 1,L4PT4B+FR4
; .word ANI_ATTACK_OFF
; WL ANI_IFBLOCKED,#no_freeze
; WL ANI_IFNOTSTATUS,#no_freeze
; .word ANI_IMMOBILIZE,9
;#no_freeze
WL 2,L4PT4B+FR4
WL 2,L4PT4B+FR5
WL 2,L4PT4B+FR6
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
; .word ANI_IMMOBILIZE,55-11-10
.word ANI_ZEROVELS
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP2,4,12,-10,30,94,50
WL 1,L4PT4B+FR7
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFBLOCKED,#blocked
.word ANI_IMMOBILIZE,55-11-10
.word ANI_OFFSET,0,0,-10
.word ANI_SHAKER,40
.word ANI_SHAKEALL,1
WL 2,L4PT4B+FR7
WL ANI_CODE,CALL_BONE_BREAK
; .word ANI_SOUND,9Bh ;neck break (5-7 ticks late)
WL 8,L4PT4B+FR8
WL 2,L4PT4B+FR9
WL 2,L4PT4B+FR10
WL 2,L4PT4B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
WL ANI_CODE,CALL_MISSES
#blocked
WL 2,L4PT4B+FR7
WL 6,L4PT4B+FR8
WL 2,L4PT4B+FR9
WL 2,L4PT4B+FR10
WL 2,L4PT4B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #combo CLOBBER (same art as #4 punch fallen)
SUBR lex_combo_ground_clobber_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUNCH,21
WL 3,L4PT4B+FR1
WL 3,L4PT4B+FR2
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 12,999,112,96,90000h,TGT_CHEST|TGT_GROUND,24,0,30
WL ANI_CODE,no_bk_xvel
WL 3,L4PT4B+FR3
;18 ticks is too long to wait for a hit box, so we check for
; a hit at 9, and if we get one, we freeze the victim so we'll
; hit at 18.
.word ANI_SET_RPTCOUNT,3 ;5 times
#ground_clobber_loop
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,4,2,-10,30,100,50
WL 1,L4PT4B+FR4
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#no_freeze
WL ANI_IFNOTSTATUS,#no_freeze
.word ANI_IMMOBILIZE,9
#no_freeze
WL 2,L4PT4B+FR4
WL 3,L4PT4B+FR5
WL 3,L4PT4B+FR6
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
.word ANI_IMMOBILIZE,55-11
.word ANI_ZEROVELS
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP2,4,2,-10,30,100,50
WL 1,L4PT4B+FR7
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#blocked
.word ANI_INC_COMBO
.word ANI_OFFSET,0,0,-10
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL 2,L4PT4B+FR7
WL ANI_CODE,CALL_BONE_BREAK
; .word ANI_SOUND,9Bh ;neck break (5-7 ticks late)
WL 8,L4PT4B+FR8
WL 4,L4PT4B+FR9
WL 4,L4PT4B+FR10
WL 4,L4PT4B+FR11
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#ground_clobber_loop
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
WL ANI_CODE,CALL_MISSES
#blocked
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 2,L4PT4B+FR7
WL 8,L4PT4B+FR8
WL 3,L4PT4B+FR9
WL 3,L4PT4B+FR10
WL 3,L4PT4B+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 HEADBUTT
SUBR lex_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,L2BC3E+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2BC3E+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2BC3E+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2BC3E+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_HDBUTT,2
WL 2,L2BC3E+FR4
.word ANI_ATTACK_ON, AMODE_HDBUTT,8,85,30,18 ;mode,x,y,w,h
WL 3,L2BC3E+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,L2BC3E+FR5
#no_hit
WL 3,L2BC3E+FR5
WL 3,L2BC3E+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 HEADBUTT
SUBR lex_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_8,2,2
#rpt
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_HDBUTT,6
WL 2,L2BC3E+FR3
WL 2,L2BC3E+FR4
.word ANI_ATTACK_ON, AMODE_HDBUTT_STAY,8,85,35,18 ;mode,x,y,w,h
WL 2,L2BC3E+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,L2BC3E+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
.ref impact_sound
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,L2BC3E+FR5
WL 3,L2BC3E+FR6
WL ANI_IF_RPTCOUNT,#rpt
WL ANI_CHANGEANIM,lex_2_butt_anim
#ex
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
WL 3,L2BC3E+FR5
WL 3,L2BC3E+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
WLLL ANI_SETOPPVELS,50000h,18000h,0h ;x,y,z vels
#missed
WL 2,L2BC3E+FR5
WL 2,L2BC3E+FR6
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#************
*
* #COMBO HEADBUTT
SUBR lex_combo_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
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
WL 2,L4BC3D+FR1
WL 1,L4BC3D+FR3
WL 1,L4BC3D+FR3
WL 2,L4BC3D+FR4
.word ANI_ATTACK_ON, AMODE_HDBUTT,8,55,50,38 ;mode,x,y,w,h
WL 1,L4BC3D+FR5
WLW ANI_SET_XVEL,0000h,AM_FACE_REL
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit
.WORD ANI_INC_COMBO
WLLL ANI_SETOPPVELS,0000H,10000h,0h ;x,y,z vels
WL ANI_SET_YVEL,20000h
WL 6,L4BC3D+FR5
WL 4,L4BC3D+FR5
WL 4,L4BC3D+FR6
.word ANI_SET_RPTCOUNT,3 ;3 times
#butt_loop
.word ANI_CLR_BUTCOUNT
WL 1,L4BC3D+FR1
WL 1,L4BC3D+FR3
WL 1,L4BC3D+FR3
WL 1,L4BC3D+FR4
.word ANI_ATTACK_ON, AMODE_HDBUTT,8,55,50,38 ;mode,x,y,w,h
WL 1,L4BC3D+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit
.WORD ANI_INC_COMBO
WLLL ANI_SETOPPVELS,0000H,10000h,0h ;x,y,z vels
WL ANI_SET_YVEL,20000h
WL 3,L4BC3D+FR5
WL 2,L4BC3D+FR5
WL 2,L4BC3D+FR6
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#butt_loop
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#no_clobber
WL ANI_CHANGEANIM,lex_combo_clobber_anim
#no_clobber
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#no_back
WL ANI_CHANGEANIM,lex_combo_backbreak_anim
#no_back
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#exit
WL ANI_CHANGEANIM,lex_combo_hiptoss_anim
#exit
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 4,L4BC3D+FR5
WL 4,L4BC3D+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEADBUTT
SUBR lex_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,L4BC3D+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4BC3D+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4BC3D+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_HDBUTT,2
WL 2,L4BC3D+FR4
.word ANI_ATTACK_ON, AMODE_HDBUTT,8,85,30,18 ;mode,x,y,w,h
WL 3,L4BC3D+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,L4BC3D+FR5
#no_hit
WL 3,L4BC3D+FR5
WL 3,L4BC3D+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEADBUTT
SUBR lex_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_8,2,2
#rpt
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_HDBUTT,6
WL 2,L4BC3D+FR3
WL 2,L4BC3D+FR4
.word ANI_ATTACK_ON, AMODE_HDBUTT_STAY,8,85,30,18 ;mode,x,y,w,h
WL 2,L4BC3D+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,L4BC3D+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,L4BC3D+FR5
WL 3,L4BC3D+FR6
WL ANI_IF_RPTCOUNT,#rpt
WL ANI_CHANGEANIM,lex_4_butt_anim
#ex
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
WL 2,L4BC3D+FR5
WL 2,L4BC3D+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
#missed
WL 2,L4BC3D+FR5
WL 2,L4BC3D+FR6
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #COMBO KICK
SUBR lex_combo_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_CLEAR_COMBO
WL 2,L2KM3A+FR1
WL 1,L2KM3A+FR2
WL 2,L2KM3A+FR2
WL 2,L2KM3A+FR3
WL 2,L2KM3A+FR4
.WORD ANI_INC_COMBO
.word ANI_ATTACK_ON, AMODE_KICK,27,39,68,40 ;mode,x,y,w,h
WL 1,L2KM3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit2
WLLL ANI_SETOPPVELS,0000H,10000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,30000h
WL 3,L2KM3A+FR5
WL 3,L2KM3A+FR5
WL 2,L2KM3A+FR6
WL 2,L2KM3A+FR7
WL 3,L2KM3A+FR8
WL 3,L2KM3A+FR9
WL 2,L4KM3B+FR1
WL 1,L4KM3B+FR2
WL 2,L4KM3B+FR2
WL 2,L4KM3B+FR3
WL 2,L4KM3B+FR4
.word ANI_ATTACK_ON, AMODE_KICK,27,39,68,40 ;mode,x,y,w,h
WL 1,L4KM3B+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit4
WLLL ANI_SETOPPVELS,0000H,10000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,30000h
WL 3,L4KM3B+FR5
WL 3,L4KM3B+FR5
WL 2,L4KM3B+FR6
WL 2,L4KM3B+FR7
WL 3,L4KM3B+FR8
WL 3,L4KM3B+FR9
.word ANI_SET_RPTCOUNT,2 ;3 times
#kick_loop
.word ANI_CLR_BUTCOUNT
WL 1,L2KM3A+FR2
WL 1,L2KM3A+FR3
WL 1,L2KM3A+FR4
.word ANI_ATTACK_ON, AMODE_KICK,27,39,68,40 ;mode,x,y,w,h
WL 1,L2KM3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit2
WLLL ANI_SETOPPVELS,0000H,30000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,38000h
WL 1,L2KM3A+FR5
WL 2,L2KM3A+FR5
WL 1,L2KM3A+FR6
WL 1,L2KM3A+FR7
WL 2,L2KM3A+FR8
WL 1,L2KM3A+FR9
WL 1,L4KM3B+FR2
WL 1,L4KM3B+FR3
WL 1,L4KM3B+FR4
.word ANI_ATTACK_ON, AMODE_KICK,27,39,68,40 ;mode,x,y,w,h
WL 1,L4KM3B+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit4
WLLL ANI_SETOPPVELS,0000H,30000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,38000h
WL 1,L4KM3B+FR5
WL 2,L4KM3B+FR5
WL 1,L4KM3B+FR6
WL 1,L4KM3B+FR7
WL 2,L4KM3B+FR8
WL 1,L4KM3B+FR9
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#kick_loop
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#no_clobber
WL ANI_CHANGEANIM,lex_combo_clobber_anim
#no_clobber
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#no_knee
WL ANI_CHANGEANIM,lex_combo_knee_fall_anim
#no_knee
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#no_hit4
WL ANI_CHANGEANIM,lex_combo_sliding_elbow_anim
#no_hit4
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,L4KM3B+FR5
WL 2,L4KM3B+FR6
WL 2,L4KM3B+FR7
WL 3,L4KM3B+FR8
WL 3,L4KM3B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit2
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,L2KM3A+FR5
WL 2,L2KM3A+FR6
WL 2,L2KM3A+FR7
WL 3,L2KM3A+FR8
WL 3,L2KM3A+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 KICK - Against TB attacks
SUBR lex_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,12
WL 2,L2KM3A+FR2
WL ANI_SET_YVEL,70000h
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
WL 3,L2KM3A+FR3
WL 3,L2KM3A+FR4
.word ANI_ATTACK_ON, AMODE_SPINKICK,27,59,68,20 ;mode,x,y,w,h
WL 10,L2KM3A+FR5
.word ANI_ATTACK_OFF
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_NORMAL
WL 2,L2KM3A+FR6
WL 2,L2KM3A+FR7
WL 3,L2KM3A+FR8
WL 3,L2KM3A+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 KICK
SUBR lex_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,L2KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2KM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_KICK,6
WL 2,L2KM3A+FR2
WL 2,L2KM3A+FR3
WL 2,L2KM3A+FR4
.word ANI_ATTACK_ON, AMODE_KICK,27,59,68,20 ;mode,x,y,w,h
WL 2,L2KM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,L2KM3A+FR5
#no_hit
WL 2,L2KM3A+FR5
WL 2,L2KM3A+FR6
WL 2,L2KM3A+FR7
WL 2,L2KM3A+FR8
WL 2,L2KM3A+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 KICK
SUBR lex_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,L4KM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4KM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4KM3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_KICK,6
WL 2,L4KM3B+FR2
WL 2,L4KM3B+FR3
WL 2,L4KM3B+FR4
.word ANI_ATTACK_ON, AMODE_KICK,27,59,68,20 ;mode,x,y,w,h
WL 2,L4KM3B+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 3,L4KM3B+FR5
#no_hit2
WL 2,L4KM3B+FR5
WL 2,L4KM3B+FR6
WL 2,L4KM3B+FR7
WL 2,L4KM3B+FR8
WL 2,L4KM3B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #3 SUPER KICK & FLYING KICK (same art, different leap)
#xoff equ 10
#yoff equ 4
SUBR lex_flying_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_LEAPING,15
WL 3,L4KB3C+FR1
.word ANI_OFFSET,#xoff,#yoff,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,145,65,90000h,TGT_HEAD,66,84,0
WL ANI_CODE,no_bk_xvel
WL 2,L4KB3C+FR2
WL 7,L4KB3C+FR3
WL 2,L4KB3C+FR4
.word ANI_ATTACK_ON,AMODE_FLYKICK,6,64,74,40
WWL ANI_WAITHITOPP,7,L4KB3C+FR5
WL ANI_GOTO,#atk_off
SUBR lex_super_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_LEAPING,15
WL 3,L4KB3C+FR1
.word ANI_OFFSET,#xoff,#yoff,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 10,999,80,45,90000h,TGT_CHEST,66,0,-20
WL ANI_SET_YVEL,48000h
WL 3,L4KB3C+FR2
WL 5,L4KB3C+FR3
WL 2,L4KB3C+FR4
.word ANI_ATTACK_ON,AMODE_KICK,6,54,76,46
WL 3,L4KB3C+FR5
#atk_off
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#wait
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFBLOCKED,#blocked
#hit
.word ANI_ZERO_XZVELS
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
WL ANI_SET_YVEL,30000h
WLW ANI_SET_ZVEL,28000h,AM_ABS
WL ANI_GOTO,#wait
#no_slide
#blocked
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
WLW ANI_SET_ZVEL,20000h,AM_ABS
WL ANI_SET_YVEL,28000h
; WL ANI_GOTO,#wait
#wait ;land.
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L4KB3C+FR6
WL 2,L4KB3C+FR7
WL 2,L4KB3C+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 STOMP ON FALLEN OPPONENT
SUBR lex_2_stomp_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 3,L2MP2A+FR2
;if we're going to miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,7,-2,-40,23,32,50
WL 1,L2MP2A+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat_stomp
.word ANI_STARTATTACK,AT_STOMP,12
WL 3,L2MP2A+FR3
WL 3,L2MP2A+FR5
WL 3,L2MP2A+FR6
.word ANI_ATTACK_ON_Z,AMODE_STOMP,3,-6,-40,31,40,50
WL 3,L2MP2A+FR7
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFSTATUS,#hit
WL ANI_CODE,CALL_MISSES
#hit
WL 3,L2MP2A+FR8
WL 3,L2MP2A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#leapat_stomp
.word ANI_TARGET,TGT_GROIN,TGT_CHEST,ATM_CLOSEST
;too far. leap at the chest.
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 14,999,160,140,90000h,TGT_USER,17,0,-50
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_STOMP,14
WL 3,L2MP2A+FR3
WL 3,L2MP2A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L2MP2A+FR6
.word ANI_ATTACK_ON_Z,AMODE_STOMP,3,-6,-40,31,40,50
WL 3,L2MP2A+FR7
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#leapat_hit
WL ANI_CODE,CALL_MISSES
#leapat_hit
WL 3,L2MP2A+FR8
WL 3,L2MP2A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 STOMP ON FALLEN OPPONENT
SUBR lex_4_stomp_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4MP3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4MP3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4MP3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
;if we're going to miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,1,-9,-10,31,30,50
WL 1,L4MP3A+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat_stomp
.word ANI_STARTATTACK,AT_STOMP,14
WL 3,L4MP3A+FR3
WL 3,L4MP3A+FR4
WL 3,L4MP3A+FR5
WL 2,L4MP3A+FR6
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-3,-13,-10,39,38,50
WL 4,L4MP3A+FR7
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFSTATUS,#hit
WL ANI_CODE,CALL_MISSES
#hit
WL 3,L4MP3A+FR9
WL 3,L4MP3A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#leapat_stomp
.word ANI_TARGET,TGT_KNEES,TGT_CHEST,ATM_CLOSEST
;too far. leap at the chest.
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 14,999,160,140,90000h,TGT_USER,13,0,50
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_STOMP,14
WL 3,L4MP3A+FR3
WL 3,L4MP3A+FR4
WL 3,L4MP3A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L4MP3A+FR6
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-3,-13,-10,39,38,50
WL 4,L4MP3A+FR7
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#leapat_hit
WL ANI_CODE,CALL_MISSES
#leapat_hit
WL 3,L4MP3A+FR9
WL 3,L4MP3A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #3 FLYING GROUND-PUNCH
#yoff equ 25
SUBR lex_flying_ground_punch_anim
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
WL 3,L3PJ3F+FR1
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_FARTHEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 25,200,150,90,90000h,TGT_USER,56,#yoff,50
.word ANI_SETPLYRMODE,MODE_INAIR
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_BUTTSTOMP,25
.word ANI_OFFSET,0,#yoff,0
WL 3,L3PJ3F+FR3
WL 3,L3PJ3F+FR4
WL 3,L3PJ3F+FR5
WL 4,L3PJ3F+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,L3PJ3F+FR7
.word ANI_ATTACK_ON_Z,AMODE_BUTTSTOMP,5,-11,-10,50,34,70
WL 1,L3PJ3F+FR9
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_9,2,2
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL ANI_CODE,HIT_THE_MAT
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 4,L3PJ3F+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,L3PJ3F+FR10
WL 3,L3GU4B+FR8
WL 3,L3GU4B+FR9
WL 3,L3GU4B+FR10
.word ANI_ZEROVELS
WL ANI_CODE,SMALL_BOUNCE
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* BUTT-KICKIN' TWO-FISTED OVERHEAD PUNCH TURNBUCKLE LEAP ATTACK SEQUENCE
#yoff equ 25
SUBR lex_buckle_leap_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCONFINE|MODE_NOGRAVITY
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING
.word ANI_SET_WRESTLER_XFLIP
.word ANI_SCROLL_CTRL,SC_RESTORE
WL 3,L3PJ3F+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 31,190,190,190,90000h,TGT_GROIN,25,11+#yoff,50
; .word ANI_SETPLYRMODE,MODE_INAIR2
WL ANI_CODE,set_tbukl_airmode
.word ANI_GRAVITY_ON
.word ANI_SHAKECORNER
.word ANI_STARTATTACK,AT_BSTOMP,31
;Check x vel to make sure we aren't going to land on ropes!
WL ANI_CODE,check_xvel
.word ANI_OFFSET,0,#yoff,0
WL 3,L3PJ3F+FR3
WL 3,L3PJ3F+FR4
WL 3,L3PJ3F+FR5
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
;attack box dimensions depends on opp mode
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-28,0,-10,94,42,70
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-28,58,-10,94,42,70
;opp_standing
WL 1,L3PJ3F+FR6
WL ANI_CODE,set_tbukl_confine
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
WL 2,L3PJ3F+FR7
WL 2,L3PJ3F+FR9
WL ANI_CODE,CALL_BONE_BREAK
; .word ANI_SOUND,9Bh ;neck break (5-7 ticks late)
WL 2,L3PJ3F+FR9
WL ANI_GOTO,#common
#opp_onground
WL 1,L3PJ3F+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_ATTACK_OFF
#missed
; WL ANI_CODE,tbukl_miss_damage
WL 2,L3PJ3F+FR7
WL 4,L3PJ3F+FR9
#common
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL ANI_CODE,HIT_THE_MAT
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL ANI_IFSTATUS,#hit
;missed
WL ANI_CODE,CALL_MISSES
.word ANI_BOUNCE,5
WL ANI_GOTO,#avoid_hit_call
#hit
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
#avoid_hit_call
WL 4,L3PJ3F+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,L3PJ3F+FR10
WL 3,L3GU4B+FR8
WL 3,L3GU4B+FR9
WL 3,L3GU4B+FR10
.word ANI_ZEROVELS
WL ANI_CODE,SMALL_BOUNCE
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 KNEE & #3 KNEE TO HEAD
* #4 KNEE & KNEE FALL
SUBR lex_combo_knee_fall_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
WL 3,L4NM3B+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 8,999,20h,20,90000h,TGT_CHEST,20,50,0
WL 3,L4NM3B+FR2
.word ANI_ATTACK_ON,AMODE_BIGKNEE,14,30,48,54
WL 3,L4NM3B+FR3
.word ANI_ATTACK_OFF
WL ANI_SET_YVEL,60000h
WLW ANI_SET_ZVEL,10000h,AM_ABS
.word ANI_INC_COMBO
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,L4NM3B+FR4
WL 3,L4NM3B+FR5
WL 3,L4NM3B+FR6
WL 3,L4NM3B+FR7
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 KNEE & KNEE FALL
SUBR lex_3_knee_to_head_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL 2,L4NM3B+FR1
WL 2,L4NM3B+FR2
.word ANI_ATTACK_ON,AMODE_KNEE,14,30,48,54
WL ANI_GOTO,#atk
SUBR lex_4_knee_fall_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,3
WL 3,L4NM3B+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 12h,999,20h,20,90000h,TGT_CHEST,20,50,0
WL 3,L4NM3B+FR2
.word ANI_ATTACK_ON,AMODE_BIGKNEE,14,30,48,54
WL ANI_GOTO,#atk
SUBR lex_4_knee2_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
WL 1,L4NM3B+FR1
WL ANI_GOTO,#cont2a
SUBR lex_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
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4NM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4NM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,L4NM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
#cont2a
.word ANI_STARTATTACK,AT_KNEE,3
WL 3,L4NM3B+FR2
.word ANI_ATTACK_ON,AMODE_KNEE,14,30,48,54
#atk
WL ANI_SET_YVEL,30000h
WL 3,L4NM3B+FR3
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
WL ANI_SET_YVEL,60000h
WLW ANI_SET_ZVEL,10000h,AM_ABS
#no_slide
WL 3,L4NM3B+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,L4NM3B+FR4
WL 3,L4NM3B+FR5
WL 3,L4NM3B+FR6
WL 3,L4NM3B+FR7
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* GRAB & FLING OPPONENT (INTO A RUN)
SUBR lex_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,L1TT5A+FR4
WL 2,L1TT5A+FR5
WL ANI_GOTO,#cont
SUBR lex_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,L4GF3B+FR1
.word ANI_ATTACK_ON, AMODE_PUPPET_NOFLAIL,33,56,54,18 ;mode,x,y,w,h
WWL ANI_WAITHITOPP,6,L4GF3B+FR2
.word ANI_ZERO_XZVELS
WWL ANI_WAITHITOPP,2,L4GF3B+FR3
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedb
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;got him
WL ANI_CODE,DO_GRUNT
.ref CALL_SETUP
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
WWLLW ANI_SUPERSLAVE2,10,L4GF3B+FR3,#puppet_tbl,0
WWLLW ANI_SUPERSLAVE2,6,L4GF3B+FR4,#puppet_tbl,1
WWLLW ANI_SUPERSLAVE2,4,L4GF3B+FR5,#puppet_tbl,2
WWLLW ANI_SUPERSLAVE2,4,L4GF3B+FR6,#puppet_tbl,3
WWLLW ANI_SUPERSLAVE2,4,L4GF3B+FR7,#puppet_tbl,4
WWLLW ANI_SUPERSLAVE2,4,L4GF3B+FR8,#puppet_tbl,5
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,L4GF3B+FR8
.word ANI_OFFSET,-3,0,0 ;x,y,z
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
.ref fling_delay
WL ANI_CODE,fling_delay
WL ANI_IFNOTSTATUS,#missed
WL 25,L4GF3B+FR3
#missed
WL ANI_CODE,CALL_MISSES
WL 6,L4GF3B+FR3
WL 3,L4GF3B+FR2
WL 3,L4GF3B+FR1
.word ANI_FACEDOWN
.word ANI_SETMODE,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
.ref H4YR3A,H3RN3A
.ref R4YR3A,R3RN3D
.ref U4YR3B,U3RN3A
.ref Y4YR3A,Y3RN3C
.ref S4YR3A,S3RN3A
.ref B4YR3A,B3RN3A
.ref L4YR3B,L3RN3B
.ref D4YR3B,D3RN3B
#Bret
LWWW H4YR3A+FR1,56,8,1
LWWW H4YR3A+FR2,48,9,1
LWWW H4YR3A+FR3,40,4,1
LWWW H4YR3A+FR5,19,4,1
LWWW H3RN3A+FR1,-4,-5,0
LWWW H3RN3A+FR2,-21,-5,0
#Razor
LWWW R4YR3A+FR1,36,20,0
LWWW R4YR3A+FR2,22,22,0
LWWW R4YR3A+FR3,2,6,0
LWWW R4YR3A+FR4,-15,4,0
LWWW R3RN3D+FR10,-15,4,0
LWWW R3RN3D+FR11,-21,7,0
#Taker
LWWW U4YR3B+FR2,42,19,0
LWWW U4YR3B+FR3,43,16,0
LWWW U4YR3B+FR4,22,17,0
LWWW U4YR3B+FR5,5,13,0
LWWW U3RN3A+FR2,-14,5,0
LWWW U3RN3A+FR2,-36,4,0
#Yokozuna
LWWW Y4YR3A+FR1,56,15,1
LWWW Y4YR3A+FR4,30,17,1
LWWW Y4YR3A+FR5,16,11,1
LWWW Y4YR3A+FR7,-26,-4,1
LWWW Y3RN3C+FR7,8,4,0
LWWW Y3RN3C+FR8,7,2,0
#Shawn
LWWW S4YR3A+FR2,50,5,1
LWWW S4YR3A+FR3,61,-4,1
LWWW S4YR3A+FR5,15,3,1
LWWW S4YR3A+FR6,-12,-1,1
LWWW S3RN3A+FR1,-3,-5,0
LWWW S3RN3A+FR2,-32,-6,0
#BamBam
LWWW B4YR3A+FR3,33,13,0
LWWW B4YR3A+FR4,43,8,0
LWWW B4YR3A+FR5,41,4,0
LWWW B4YR3A+FR7,-6,-2,0
LWWW B3RN3A+FR1,10,5,0
LWWW B3RN3A+FR2,-8,6,0
#Doink
LWWW D4YR3B+FR1,69,16,1
LWWW D4YR3B+FR2,58,20,1
LWWW D4YR3B+FR3,39,14,1
LWWW D4YR3B+FR4,16,12,1
LWWW D3RN3B+FR3,5,9,0
LWWW D3RN3B+FR4,-16,8,0
#Adam
.long 0
#Lex
LWWW L4YR3B+FR1,63,16,1
LWWW L4YR3B+FR2,43,9,1
LWWW L4YR3B+FR3,18,7,1
LWWW L4YR3B+FR4,-25,0,1
LWWW L3RN3B+FR2,-8,7,0
LWWW L3RN3B+FR3,-14,1,0
#strt_run_tbl
.ref 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
.long start_run_flung,start_run_flung,start_run_flung
#*****************************************************************************
*
* #4 BIG BOOT
SUBR lex_4_bigboot_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
WL 3,L4KM3B+FR1
.word ANI_STARTATTACK,AT_BIGBOOT,13
WL 3,L4KM3B+FR2
WL 3,L4KM3B+FR3
WL 2,L4KM3B+FR4
WL ANI_CODE,#clrcnt
.word ANI_ATTACK_ON,AMODE_BIGBOOT,18,56,78,48
WWL ANI_WAITHITOPP,15,L4KM3B+FR5
#lp
.word ANI_STARTATTACK,AT_BIGBOOT,5
WL 2,L4KM3B+FR5
WL ANI_CODE,#holdup
WL ANI_IFSTATUS,#lp
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
.word ANI_DRAW_NAME,27
#missed
WL 3,L4KM3B+FR6
WL 3,L4KM3B+FR7
WL 3,L4KM3B+FR8
WL 3,L4KM3B+FR9
.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
******************************************************************************
*
* #2 RUNNING BOUNCE OFF OF OPPONENT
SUBR lex_2_bncoff_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_FRICTION,3000h
WL 3,L2AH2A+FR3
WL 15,L2AH2A+FR4
WL 4,L2AH2A+FR5
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 RUNNING BOUNCE OFF OF OPPONENT
SUBR lex_4_bncoff_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_FRICTION,3000h
WL 3,L4AH4A+FR1
WL 3,L4AH4A+FR2
WL 14,L4AH4A+FR3
WL 2,L4AH4A+FR4
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 RUNNING BOUNCE OFF OF OPPONENT
;Bounce off but stay dizzy!
SUBR lex_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,L4AH4A+FR1
WL 3,L4AH4A+FR2
WL 14,L4AH4A+FR3
WL 2,L4AH4A+FR4
; .word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CHANGEANIM,lex_dizzy_anim
; .word ANI_END
#*****************************************************************************
SUBR lex_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
.word ANI_OFFSET,16,0,0
WL 3,L4CR3B+FR1
.word ANI_BENDROPE,2
.word ANI_OFFSET,4,0,0 ;*****
WL 2,L4CR3B+FR2
.word ANI_OFFSET,4,0,0 ;*****
WL 3,L4CR3B+FR3
.word ANI_OFFSET,4,0,0 ;*****
WL 2,L4CR3B+FR4
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
.word ANI_OFFSET,5,0,0 ;*****
WL 3,L4CR3B+FR5
.word ANI_OFFSET,4,0,0 ;*****
WL 2,L4CR3B+FR6
.word ANI_BENDROPE,2
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
.word ANI_OFFSET,6,0,0 ;*****
WL 3,L4CR3B+FR7
.word ANI_OFFSET,4,0,0 ;*****
WL 2,L4CR3B+FR8
.word ANI_OFFSET,9,0,0 ;*****
WL 3,L4CR3B+FR9
.word ANI_BENDROPE,-1
.word ANI_OFFSET,7,0,0 ;*****
WL 2,L4CR3B+FR10
.word ANI_OFFSET,8,-3,0
WL 3,L4CR3B+FR11
;now jump off...
; WL 3,L4JD4A+FR1 ;D4FM4A+FR1
WL 3,L4JD4A+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,L4JD4A+FR3
.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,L4JD4A+FR4
WL 2,L4JD4A+FR6
WL 2,L4JD4A+FR7
WL 4,L4JD4A+FR8
.word ANI_FACEDOWN
.word ANI_CLEAR_CLIMB
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR lex_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,L4JD4A+FR1
WL 3,L4JD4A+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,L4JD4A+FR3
.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,L4JD4A+FR4
WL 3,L4JD4A+FR6
WL 2,L4JD4A+FR7
WL 2,L4JD4A+FR8
.word ANI_OFFSET,10,0,0 ;*****
;climb through
WL 3,L4CR3B+FR1
.word ANI_BENDROPE,0
.word ANI_OFFSET,4,0,0 ;*****
WL 2,L4CR3B+FR2
.word ANI_BENDROPE,2
.word ANI_OFFSET,4,0,0 ;*****
WL 3,L4CR3B+FR3
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_OFFSET,4,0,0 ;*****
WL 2,L4CR3B+FR4
.word ANI_OFFSET,6,0,0 ;*****
WL 3,L4CR3B+FR5
.word ANI_OFFSET,6,0,0 ;*****
WL 2,L4CR3B+FR6
.word ANI_OFFSET,6,0,0 ;*****
WL 3,L4CR3B+FR7
.word ANI_OFFSET,6,0,0 ;*****
WL 2,L4CR3B+FR8
.word ANI_BENDROPE,3
.word ANI_OFFSET,6,0,0 ;*****
WL 3,L4CR3B+FR9
.word ANI_OFFSET,5,0,0 ;*****
WL 2,L4CR3B+FR10
.word ANI_BENDROPE,-1
.word ANI_OFFSET,5,-3,0
WL 3,L4CR3B+FR11
.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-60,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+60,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 lex_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,L1TT5A+FR2
WL 3,L1TT5A+FR4
#dir4
WL 3,L3GU4A+FR10
WL 3,L3GU4A+FR9
WL 3,L3GU4A+FR8
WL 3,L3GU4A+FR7
WL 3,L3GU4A+FR6
WL 3,L3GU4A+FR5
WL 3,L3GU4A+FR4
WL 3,L3GU4A+FR2
WL 3,L3GU4A+FR1
;roll over once
WLW ANI_SET_ZVEL,90000h,AM_ABS
WL 3,L3RL1A+FR11
WL 3,L3RL1A+FR10
WL 3,L3RL1A+FR9
WL 3,L3RL1A+FR8
WL 3,L3RL1A+FR7
WL 3,L3RL1A+FR6
WL 3,L3RL1A+FR5
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
;climb through
.word ANI_SET_IDIOT
WL ANI_CODE,NOT_IN_RING
.word ANI_OFFSET,0,-37h,0 ;x,y,z
WL 3,L2PJ3C+FR5
WL 3,L2PJ3C+FR3
WL 3,L2PJ3C+FR2
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_CLEAR_CLIMB
.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)
#faceup
rets
NOT_IN_RING
MOVK 1,A0
MOVE A0,*A13(INRING)
RETS
#*****************************************************************************
SUBR lex_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
WL 3,L2PJ3C+FR2
WL 3,L2PJ3C+FR3
WL 3,L2PJ3C+FR5
.word ANI_OFFSET,0,37h,-60
;roll
WLW ANI_SET_ZVEL,-70000h,AM_ABS
.word ANI_FRICTION,3000h
WL 3,L3RL1A+FR6
WL 3,L3RL1A+FR7
WL 3,L3RL1A+FR8
WL 3,L3RL1A+FR9
WL 3,L3RL1A+FR10
WL 3,L3RL1A+FR11
.word ANI_ZEROVELS
.word ANI_GRAVITY_ON
;get up
WL 3,L3GU4A+FR1
WL 3,L3GU4A+FR2
WL 3,L3GU4A+FR3
WL 3,L3GU4A+FR4
WL 3,L3GU4A+FR5
WL 3,L3GU4A+FR6
WL 3,L3GU4A+FR7
WL 3,L3GU4A+FR8
WL 3,L3GU4A+FR9
WL 3,L3GU4A+FR10
.word ANI_CLEAR_CLIMB
.word ANI_FACEDOWN
.word ANI_ZEROVELS
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR lex_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,L1TT5A+FR2
WL 3,L1TT5A+FR4
#dir4
WL 3,L3GU4A+FR10
WL 3,L3GU4A+FR9
WL 3,L3GU4A+FR8
WL 3,L3GU4A+FR7
WL 3,L3GU4A+FR6
WL 3,L3GU4A+FR5
WL 3,L3GU4A+FR4
WL 3,L3GU4A+FR3
WL 3,L3GU4A+FR2
WL 3,L3GU4A+FR1
;roll over once
WL ANI_CODE,#set_zvel2
WL 3,L3RL1A+FR11
#cont
WL 3,L3RL1A+FR1
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,L3RL1A+FR2
WL 3,L3RL1A+FR3
WL 3,L3RL1A+FR4
.word ANI_SET_IDIOT
;climb through
.word ANI_OFFSET,0,-61,0
.word ANI_ZEROVELS
WL 3,L3DC3B+FR3
WL 3,L3DC3B+FR2
WL 3,L3DC3B+FR1
.word ANI_ZERO_XZVELS
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_CLEAR_CLIMB
.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 -50000h,a0
move a0,*a13(OBJ_ZVEL),L
rets
#*****************************************************************************
SUBR lex_rollthru_top_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
;roll over once
WLW ANI_SET_ZVEL,-50000h,AM_ABS
WL 3,L3RL1A+FR11
#cont
WL 3,L3RL1A+FR1
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,L3RL1A+FR2
WL 3,L3RL1A+FR3
WL 3,L3RL1A+FR4
.word ANI_SET_IDIOT
;climb through
.word ANI_OFFSET,0,-61,0
.word ANI_ZEROVELS
WL 3,L3DC3B+FR3
WL 3,L3DC3B+FR2
WL 3,L3DC3B+FR1
.word ANI_ZERO_XZVELS
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR lex_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,L3DC3B+FR1
WL 3,L3DC3B+FR2
WL 3,L3DC3B+FR3
.word ANI_OFFSET,0,61,0
;roll over
WL ANI_CODE,#set_zvel2
WL 3,L3RL1A+FR3
WL 3,L3RL1A+FR2
WL 3,L3RL1A+FR1
WL 3,L3RL1A+FR11
.word ANI_ZEROVELS
;get up
WL 3,L3GU4A+FR1
WL 3,L3GU4A+FR2
WL 3,L3GU4A+FR3
WL 3,L3GU4A+FR4
WL 3,L3GU4A+FR5
WL 3,L3GU4A+FR6
WL 3,L3GU4A+FR7
WL 3,L3GU4A+FR8
WL 3,L3GU4A+FR9
WL 3,L3GU4A+FR10
.word ANI_CLEAR_CLIMB
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#set_zvel2
movi 52000h,a0
move a0,*a13(OBJ_ZVEL),L
rets
#*****************************************************************************
*
SUBR lex_knockdwn_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETSPEED,100h
.word ANI_XFLIP
WL 2,L3GU4A+FR10
WL 2,L3GU4A+FR7
WL 2,L3GU4A+FR5
WL ANI_SET_YVEL,39000h
WL 3,L3CP3X+FR2
WL 3,L3CP3X+FR3
WL 3,L3CP3X+FR4
WL 3,L3CP3X+FR5
WL 3,L3CP3X+FR6
WL 3,L3CP3X+FR7
WL 3,L3CP3X+FR1
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
.word ANI_WAITROLL
WL ANI_CHANGEANIM,lex_faceup_getup_anim
#****************************************************************************
*
* PIN OPPONENT AND RAISE ARM IN VICTORY
SUBR lex_2_pin_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
;Rotate!
WL 2,L1TT5A+FR4
WL 2,L1TT5A+FR5
WL 2,L1TT5A+FR6
SUBR lex_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,L3PN5B+FR2
.word ANI_OFFSET,0,20,0 ;x,y,z
WL 19,L3PN5B+FR5
.word ANI_ZEROVELS
WL 3,L3PN5B+FR9
WL 3,L3PN5B+FR8
WL ANI_CODE,DO_CROWD_CHEER
WL ANI_CODE,grnd_hit
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_BOUNCE,2
WL 3,L3PN5B+FR8
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_OFFSET,0,0,20 ;x,y,z
WL 3,L3PN5B+FR9
.ref win_announce
WL ANI_CODE,win_announce
WL 40,L3PN5B+FR10
.word ANI_LOOP
;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,L3PN5D+FR1
WL 4,L3PN5D+FR2
WL 4,L3PN5D+FR3
WL 4,L3PN5D+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,L3PN5D+FR5
WL 4,L3PN5D+FR6
WL 5,L4FX5B+FR2
WL 5,L4FX5B+FR3
WL 5,L4FX5B+FR4
WL 5,L4FX5B+FR5
WL 5,L4FX5B+FR6
WL 5,L4FX5B+FR7
WL 5,L4FX5B+FR8
WL 5,L4FX5B+FR9
WL 5,L4FX5B+FR10
WL 5,L4FX5B+FR11
WL 5,L4FX5B+FR10
WL 5,L4FX5B+FR9
WL 5,L4FX5B+FR8
WL 5,L4FX5B+FR7
WL 5,L4FX5B+FR6
WL 5,L4FX5B+FR5
WL 5,L4FX5B+FR4
WL 5,L4FX5B+FR5
WL 5,L4FX5B+FR6
WL 5,L4FX5B+FR7
WL 5,L4FX5B+FR8
WL 5,L4FX5B+FR9
WL 5,L4FX5B+FR10
WL 5,L4FX5B+FR11
#lp WL 4,L4FX5B+FR10
WL 4,L4FX5B+FR9
WL 4,L4FX5B+FR8
WL 4,L4FX5B+FR9
WL 4,L4FX5B+FR10
WL 4,L4FX5B+FR11
WL ANI_GOTO,#lp
#*****************************************************************************
*
* #2 RAISE ARM IN VICTORY FROM A STANCE
SUBR lex_2_raise_arm_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
;Rotate!
WL 2,L1TT5A+FR4
WL 2,L1TT5A+FR5
WL 2,L1TT5A+FR6
WL ANI_CODE,DO_CROWD_CHEER
WL ANI_CODE,win_announce
WL 6,L4SW5A+FR2
WL 6,L4SW5A+FR3
WL 6,L4SW5A+FR4
WL 6,L4SW5A+FR5
WL 6,L4SW5A+FR6
WL 6,L4SW5A+FR7
WL 6,L4SW5A+FR8
WL 6,L4SW5A+FR9
WL 6,L4SW5A+FR10
.word ANI_SET_RPTCOUNT,30
#lp0 WL 2,L4SW5A+FR9
WL 2,L4SW5A+FR10
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#lp0
WL 6,L4SW5A+FR9
WL 6,L4SW5A+FR8
WL 6,L4SW5A+FR7
WL 6,L4SW5A+FR6
WL 6,L4SW5A+FR5
WL 6,L4SW5A+FR4
WL 6,L4SW5A+FR3
.word ANI_SET_RPTCOUNT,-4 ;set count to rnd from 0 to 4
#lp1 WL 55,L4SW5A+FR3
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#lp1
WL ANI_CODE,check_raisearm_bit
WL ANI_IFSTATUS,#wakeup
;don't wake up.
#floop WL 1000,L4SW5A+FR2
WL ANI_GOTO,#floop
#wakeup .word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_FACEDOWN
.word ANI_END
#*****************************************************************************
*
* #4 RAISE ARM
SUBR lex_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
; WL 5,L4FX5B+FR1
WL 5,L4FX5B+FR2
WL 5,L4FX5B+FR3
WL 5,L4FX5B+FR4
WL 5,L4FX5B+FR5
WL 5,L4FX5B+FR6
WL 5,L4FX5B+FR7
WL 5,L4FX5B+FR8
WL 5,L4FX5B+FR9
WL 5,L4FX5B+FR10
WL 5,L4FX5B+FR11
WL 5,L4FX5B+FR10
WL 5,L4FX5B+FR9
WL 5,L4FX5B+FR8
WL 5,L4FX5B+FR7
WL 5,L4FX5B+FR6
WL 5,L4FX5B+FR5
WL 5,L4FX5B+FR4
WL 5,L4FX5B+FR5
WL 5,L4FX5B+FR6
WL 5,L4FX5B+FR7
WL 5,L4FX5B+FR8
WL 5,L4FX5B+FR9
WL 5,L4FX5B+FR10
WL 5,L4FX5B+FR11
.word ANI_SET_RPTCOUNT,-8
#lp0 WL 4,L4FX5B+FR10
WL 4,L4FX5B+FR9
WL 4,L4FX5B+FR8
WL 4,L4FX5B+FR9
WL 4,L4FX5B+FR10
WL 4,L4FX5B+FR11
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#lp0
WL ANI_CODE,check_raisearm_bit
WL ANI_IFSTATUS,#wakeup
.word ANI_SET_RPTCOUNT,1000
WL ANI_GOTO,#lp0
#wakeup WL 5,L4FX5B+FR10
WL 5,L4FX5B+FR9
WL 5,L4FX5B+FR8
WL 5,L4FX5B+FR7
WL 5,L4FX5B+FR6
WL 5,L4FX5B+FR5
WL 5,L4FX5B+FR4
WL 5,L4FX5B+FR3
WL 5,L4FX5B+FR2
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_FACEDOWN
.word ANI_END
#*****************************************************************************
*
* GET BUCKED OFF A PINNED OPPONENT
SUBR lex_buckoff_anim
.ref set_buckoff_vels
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WL 4,L3PN5B+FR10
WL 1,L3PN5B+FR5
WL ANI_CODE,set_buckoff_vels
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,L3PN5B+FR9
WL 12,L3PN5B+FR8
WL ANI_SET_YVEL,42000h
WLW ANI_SET_ZVEL,22000h,AM_ABS
WL 4,L3PN5D+FR1
WL 4,L3PN5D+FR2
WL 4,L3PN5D+FR3
WL 4,L3PN5D+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,L3PN5D+FR5
WL 4,L3PN5D+FR6
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
******************************************************************************
.end