wwf-wrestlemania/LEXSEQ2.ASM

3307 lines
74 KiB
NASM
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

**************************************************************
*
* 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