wwf-wrestlemania/HRTSEQ2.ASM

3409 lines
73 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: 5/17/94
*
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
*
**************************************************************
.file "hrtseq2.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 "bretimg.h"
.include "bamimg.h"
.include "damage.equ"
******************************************************************************
* EXTERNAL REFERENCES
;DOINK
.ref D4YR3B,D3RN3B
;BRET
.ref hrt_facedown_getup_anim,hrt_4_faceup_getup2_anim
.ref hrt_combo_rake_face_anim,hrt_hitonground_facedown_anim
;RAZOR
.ref R4YR3A,R3RN3D
;TAKER
.ref U4YR3B,U3RN3A
;YOKO
.ref Y4YR3A,Y3RN3C
;SHAWN
.ref hrt_3_pile_driver_anim
.ref S4YR3A,S3RN3A
;BAM BAM
.ref B4YR3A,B3RN3A
;LEX
.ref L4YR3B,L3RN3B
;MISC
.ref start_run_anim,CALL_MISSES,start_run_flung,process_ptrs
.ref no_bk_xvel,check_xvel,DO_CROWD_CHEER,hit_nearest
.ref SET_DIR_FACE,DO_GRUNT,check_raisearm_bit
.ref CALL_SPECIAL_MOVE,CALL_ANI_AVERAGE_MOVE
.ref CALL_OTHER_AVERAGE,ckzpos,set_tbukl_confine
.ref HIT_THE_MAT,SMALL_BOUNCE,hrt_faceup_getup_anim
.ref DO_COMBO_MESS,hrt_combo_hiptoss_anim
.ref hrt_combo_roll_uppercut_anim
.ref set_tbukl_airmode
******************************************************************************
* SYMBOLS DEFINED IN THIS FILE
******************************************************************************
* EQUATES FOR THIS FILE
#*****************************************************************************
*
* #2 COMBO PUNCH
SUBR hrt_combo_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.WORD ANI_CLEAR_COMBO
WL 2,H4PL3X+FR1
.word ANI_STARTATTACK,AT_PUNCH,6
WL 2,H4PL3X+FR2
WL 2,H4PL3X+FR3
.word ANI_CLR_STATUS
.word ANI_ATTACK_ON_Z, AMODE_PUNCH,30,51,0,80,45,45 ;mode,x,y,z,w,h,d
WL 2,H4PL3X+FR4
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
.word ANI_INC_COMBO
WL 1,H4PL3X+FR4
WL 2,H4PL3X+FR5
WL 2,H4PL3X+FR6
WL 2,H4PL3X+FR7
WL 2,H4PL3X+FR8
WL 2,H4PL3X+FR1
.word ANI_STARTATTACK,AT_PUNCH,6
WL 2,H4PL3X+FR2
WL 2,H4PL3X+FR3
.word ANI_CLR_STATUS
.word ANI_INC_COMBO
.word ANI_ATTACK_ON_Z, AMODE_PUNCH,30,51,0,80,45,45 ;mode,x,y,z,w,h,d
WL 2,H4PL3X+FR4
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
.word ANI_INC_COMBO
WL 1,H4PL3X+FR4
WL 2,H4PL3X+FR5
WL 2,H4PL3X+FR6
WL 2,H4PL3X+FR7
WL 2,H4PL3X+FR8
.word ANI_SET_RPTCOUNT,3 ;1 times
#punch_loop
.word ANI_CLR_BUTCOUNT
WL 1,H4PL3X+FR1
.word ANI_STARTATTACK,AT_PUNCH,6
WL 1,H4PL3X+FR2
WL 1,H4PL3X+FR3
.word ANI_ATTACK_ON_Z, AMODE_PUNCH,30,51,0,80,45,45 ;mode,x,y,z,w,h,d
WL 2,H4PL3X+FR4
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
.word ANI_INC_COMBO
WL 1,H4PL3X+FR4
WL 2,H4PL3X+FR5
WL 2,H4PL3X+FR6
WL 1,H4PL3X+FR7
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#punch_loop
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#no_dropkick
WL ANI_CHANGEANIM,hrt_combo_flying_kick_anim
#no_dropkick
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#no_knee
WL ANI_CHANGEANIM,hrt_combo_knee_fall_anim
#no_knee
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#exit_move
WL ANI_CHANGEANIM,hrt_combo_rake_face_anim
#exit_move
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 1,H4PL3X+FR4
WL 2,H4PL3X+FR5
WL 2,H4PL3X+FR6
WL 2,H4PL3X+FR7
WL 2,H4PL3X+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 NORMAL PUNCH
SUBR hrt_2_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2PL3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2PL3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2PL3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_PUNCH,5
WL 1,H2PL3B+FR2
WL 2,H2PL3B+FR3
.word ANI_ATTACK_ON_Z, AMODE_PUNCH,30,91,-45,50,15,45 ;mode,x,y,z,w,h,d
WL 3,H2PL3B+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,H2PL3B+FR4
#no_hit
WL 2,H2PL3B+FR5
WL 2,H2PL3B+FR6
WL 2,H2PL3B+FR7
WL 2,H2PL3B+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
SUBR hrt_4_super_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_UPRCUT,12
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 0ch,999,52h,55,90000h,TGT_CHEST,10,101,10
WL ANI_CODE,no_bk_xvel
WL ANI_SET_YVEL,30000h
WL 2,H4UP3C+FR1
WL 6,H4UP3C+FR2
WL 2,H4UP3C+FR3
WL 2,H4UP3C+FR4
WL 2,H4UP3C+FR5
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_ON,AMODE_UPRCUT,-6,40,64,90
WL 3,H4UP3C+FR6
.word ANI_ATTACK_OFF
.word ANI_ADD_MOVE,MOVE_C_2,2,2
WL ANI_IFBLOCKED,#blocked
WL ANI_IFNOTSTATUS,#missed
.ref impact_sound
WL ANI_CODE,impact_sound
.ref MAKE_HIM_SCREAM
WL ANI_CODE,MAKE_HIM_SCREAM
WL ANI_CODE,CALL_OTHER_AVERAGE
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
WL ANI_SET_YVEL,40000h
WL 12,H4UP3C+FR7
WL 3,H4UP3C+FR8
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,H4UP3C+FR9
WL 3,H4UP3C+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#blocked
#no_slide
WL 12,H4UP3C+FR7
WL 3,H4UP3C+FR8
WL 3,H4UP3C+FR9
WL 3,H4UP3C+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
WL 12,H4UP3C+FR7
WL 3,H4UP3C+FR8
WL 3,H4UP3C+FR9
WL 3,H4UP3C+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 NORMAL PUNCH
SUBR hrt_4_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4PL3X+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4PL3X+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4PL3X+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_PUNCH,5
WL 1,H4PL3X+FR2
WL 2,H4PL3X+FR3
.word ANI_ATTACK_ON_Z, AMODE_PUNCH,30,91,0,50,15,45 ;mode,x,y,z,w,h,d
WL 3,H4PL3X+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 3,H4PL3X+FR4
#no_hit2
WL 2,H4PL3X+FR5
WL 2,H4PL3X+FR6
WL 2,H4PL3X+FR7
WL 2,H4PL3X+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* UPPERCUT
SUBR hrt_2_uppercut_anim
SUBR hrt_4_uppercut_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_UPRCUT,10
WL 1,H4UP3C+FR1
WL 1,H4UP3C+FR2
WL 2,H4UP3C+FR3
WL 1,H4UP3C+FR4
WL 2,H4UP3C+FR5
.word ANI_ATTACK_ON,AMODE_UPRCUT,-6,22,64,100
WL 3,H4UP3C+FR6
.word ANI_ATTACK_OFF
.word ANI_ADD_MOVE,MOVE_C_2,2,2
WL ANI_IFBLOCKED,#blocked
WL ANI_IFNOTSTATUS,#missed
WL ANI_CODE,MAKE_HIM_SCREAM
.ref impact_sound
WL ANI_CODE,impact_sound
WL ANI_CODE,CALL_OTHER_AVERAGE
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
WL ANI_SET_YVEL,40000h
WL 12,H4UP3C+FR7
WL 3,H4UP3C+FR8
WL 3,H4UP3C+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,H4UP3C+FR10
WL 3,H4UP3C+FR11
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#blocked
#missed
#no_slide
WL 12,H4UP3C+FR7
WL 4,H4UP3C+FR8
WL 3,H4UP3C+FR9
WL 3,H4UP3C+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 PUSH
SUBR hrt_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,H4PS3A+FR1
WL 3,H4PS3A+FR2
WL 3,H4PS3A+FR3
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ATTACK_ON, AMODE_PUSH,11,83,70,20 ;mode,x,y,w,h
WL 3,H4PS3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,40h,-70000h,#no_hit ;range,vel,addr
WL 15,H4PS3A+FR4
#no_hit
WL 3,H4PS3A+FR4
WL ANI_IFSTATUS,#hit
;If missed on push, hold a little longer
WL 5,H4PS3A+FR4
#hit
WL 3,H4PS3A+FR5
WL 3,H4PS3A+FR6
WL 3,H4PS3A+FR7
WL 3,H4PS3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 PUNCH FALLEN OPPONENT
SUBR hrt_2_ground_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_STARTATTACK,AT_LBDROP,6
WL 2,H2PF2B+FR1
WL 2,H2PF2B+FR2
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,5-10,-8,-40,32,32,50
WL 1,H2PF2B+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat
WL 2,H2PF2B+FR3
WL 3,H2PF2B+FR4
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP2,5,-8,-40,32,32,50
WL 4,H2PF2B+FR5
.word ANI_ATTACK_OFF
WL ANI_GOTO,#common
#leapat
.word ANI_TARGET,TGT_HEAD,TGT_GROIN,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,40000h,TGT_USER,13,0,-30
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_LBDROP,14
WL 10,H2PF2B+FR3
WL 4,H2PF2B+FR4
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP2,5,-8,-40,32,32,50
WL 1,H2PF2B+FR5
.word ANI_ATTACK_OFF
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#common
.WORD ANI_ADD_MOVE,MOVE_C_1,2,2
WL ANI_IFNOTSTATUS,#missed
.word ANI_SHAKER,15
.word ANI_SHAKEALL,1
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
WL 2,H2PF2B+FR5
WL 3,H2PF2B+FR6
WL 2,H2PF2B+FR7
WL 3,H2PF2B+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 PUNCH FALLEN OPPONENT
SUBR hrt_4_ground_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_STARTATTACK,AT_LBDROP,6
WL 2,H4PF4B+FR1
WL 2,H4PF4B+FR2
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,5,-6,-10,36,30,50
WL 1,H4PF4B+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat
WL 2,H4PF4B+FR3
WL 3,H4PF4B+FR4
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP2,5,-6,-10,36,30,50
WL 4,H4PF4B+FR5
.word ANI_ATTACK_OFF
WL ANI_GOTO,#common
#leapat
.word ANI_TARGET,TGT_HEAD,TGT_GROIN,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,40000h,TGT_USER,0,0,30
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_LBDROP,14
WL 1,H4PF4B+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,H4PF4B+FR4
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP2,5,-6,-10,36,30,50
WL 2,H4PF4B+FR5
.word ANI_ATTACK_OFF
#common
.WORD ANI_ADD_MOVE,MOVE_C_1,2,2
WL ANI_IFNOTSTATUS,#missed
.word ANI_SHAKER,15
.word ANI_SHAKEALL,1
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
WL 2,H4PF4B+FR5
WL 3,H4PF4B+FR6
WL 2,H4PF4B+FR7
WL 3,H4PF4B+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 HEADBUTT
SUBR hrt_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,H2BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_HDBUTT,3
WL 2,H2BC3A+FR2
WL 2,H2BC3A+FR3
.word ANI_ATTACK_ON,AMODE_HDBUTT,19,75,35,24 ;mode,x,y,w,h
WL 3,H2BC3A+FR4
.word ANI_ATTACK_OFF
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
#missedb
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,H2BC3A+FR5
#missed
#no_hit
WL 2,H2BC3A+FR5
WL 2,H2BC3A+FR6
WL 2,H2BC3A+FR7
WL 2,H2BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #2 SUPER PUNCH/HEAD BUTT
SUBR hrt_2_super_punch2_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,H2BC3A+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 11,999,4eh,50,90000h,TGT_HEAD,40,101,-10
.word ANI_STARTATTACK,AT_HDBUTT,3
WL 3,H2BC3A+FR2
WL 8,H2BC3A+FR3
.word ANI_ATTACK_ON,AMODE_URN,19,75,35,24 ;mode,x,y,w,h
WL 3,H2BC3A+FR4
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
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
#missedb
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,H2BC3A+FR5
#missed
#no_hit
.ref spunch_delay
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none
WL 20,H2BC3A+FR5
#none
WL 2,H2BC3A+FR5
WL 2,H2BC3A+FR6
WL 2,H2BC3A+FR7
WL 2,H2BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 SUPER PUNCH/HEAD BUTT
SUBR hrt_4_super_punch2_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,H4BC3A+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 11,999,4eh,50,90000h,TGT_HEAD,40,101,10
.word ANI_STARTATTACK,AT_HDBUTT,3
WL 9,H4BC3A+FR2
WL 2,H4BC3A+FR3
.word ANI_ATTACK_ON, AMODE_URN,19,75,35,24 ;mode,x,y,w,h
WL 3,H4BC3A+FR4
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
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
#missedb
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,38000h
WL 6,H4BC3A+FR5
#missed
#no_hit2
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none
WL 20,H4BC3A+FR5
#none
WL 2,H4BC3A+FR5
WL 2,H4BC3A+FR6
WL 2,H4BC3A+FR7
WL 2,H4BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEADBUTT
SUBR hrt_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,H4BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
.word ANI_STARTATTACK,AT_HDBUTT,3
WL 2,H4BC3A+FR2
WL 2,H4BC3A+FR3
.word ANI_ATTACK_ON, AMODE_HDBUTT,19,75,35,24 ;mode,x,y,w,h
WL 3,H4BC3A+FR4
.word ANI_ATTACK_OFF
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
#missedb
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,38000h
WL 6,H4BC3A+FR5
#missed
#no_hit2
WL 2,H4BC3A+FR5
WL 2,H4BC3A+FR6
WL 2,H4BC3A+FR7
WL 2,H4BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 HEADBUTTS - In close
SUBR hrt_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_ADD_MOVE,MOVE_C_8,2,2
.word ANI_SET_RPTCOUNT,3 ;5 times
#rpt
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_HDBUTT,6
WL 2,H2BC3A+FR1
WL 2,H2BC3A+FR2
WL 2,H2BC3A+FR3
.word ANI_ATTACK_ON,AMODE_HDBUTT_STAY,19,75,35,24 ;mode,x,y,w,h
WL 2,H2BC3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,H2BC3A+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 2,H2BC3A+FR5
WL 2,H2BC3A+FR6
WL 2,H2BC3A+FR7
WL ANI_IF_RPTCOUNT,#rpt
WL ANI_CHANGEANIM,hrt_4_uppercut_anim
#ex
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
WL 2,H2BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
WLLL ANI_SETOPPVELS,50000h,18000h,0h ;x,y,z vels
; WL 4,H2BC3A+FR5
#missed
WL 2,H2BC3A+FR5
WL 2,H2BC3A+FR6
WL 2,H2BC3A+FR7
WL 2,H2BC3A+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#* #4 HEADBUTT
SUBR hrt_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_ADD_MOVE,MOVE_C_8,2,2
.word ANI_SET_RPTCOUNT,3 ;5 times
#rpt
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_HDBUTT,6
WL 2,H4BC3A+FR1
WL 2,H4BC3A+FR2
WL 2,H4BC3A+FR3
.word ANI_ATTACK_ON, AMODE_HDBUTT_STAY,19,75,35,24 ;mode,x,y,w,h
WL 2,H4BC3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,38000h
WL 6,H4BC3A+FR5
#no_hit2
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
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 2,H4BC3A+FR5
WL 2,H4BC3A+FR6
WL 2,H4BC3A+FR7
WL ANI_IF_RPTCOUNT,#rpt
WL ANI_CHANGEANIM,hrt_4_uppercut_anim
#ex
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
WL 2,H4BC3A+FR8
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedb
WLLL ANI_SETOPPVELS,50000h,18000h,0h ;x,y,z vels
; WL 4,H4BC3A+FR5
#missed
WL 2,H4BC3A+FR5
WL 2,H4BC3A+FR6
WL 2,H4BC3A+FR7
WL 2,H4BC3A+FR8
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#************
*
* COMBO HEADBUTT
SUBR hrt_combo_butt_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WLW ANI_SET_XVEL,20000h,AM_FACE_REL
WL 2,H4BC3A+FR1
.word ANI_STARTATTACK,AT_HDBUTT,3
WL 2,H4BC3A+FR2
WL 2,H4BC3A+FR3
.word ANI_ATTACK_ON, AMODE_HDBUTT,19,55,55,34 ;mode,x,y,w,h
WL 1,H4BC3A+FR4
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
.word ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 2,H4BC3A+FR4
WL 4,H4BC3A+FR5
WL 2,H4BC3A+FR5
WL 3,H4BC3A+FR6
WL 2,H4BC3A+FR7
WL 3,H4BC3A+FR8
.word ANI_STARTATTACK,AT_HDBUTT,3
WL 2,H4BC3A+FR2
WL 2,H4BC3A+FR3
.word ANI_ATTACK_ON, AMODE_HDBUTT,19,55,55,34 ;mode,x,y,w,h
WL 1,H4BC3A+FR4
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
.word ANI_INC_COMBO
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
WL ANI_SET_YVEL,18000h
WL 2,H4BC3A+FR4
WL 3,H4BC3A+FR5
WL 2,H4BC3A+FR5
WL 2,H4BC3A+FR6
WL 2,H4BC3A+FR7
WL 2,H4BC3A+FR8
.word ANI_SET_RPTCOUNT,3 ;1 times
#butt_loop
.word ANI_CLR_BUTCOUNT
WLW ANI_SET_XVEL,0e000h,AM_FACE_REL
.word ANI_STARTATTACK,AT_HDBUTT,3
WL 1,H4BC3A+FR2
WL 1,H4BC3A+FR3
.word ANI_ATTACK_ON, AMODE_HDBUTT,19,55,55,34 ;mode,x,y,w,h
WL 1,H4BC3A+FR4
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
.word ANI_INC_COMBO
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
WL ANI_SET_YVEL,18000h
WL 1,H4BC3A+FR4
WL 2,H4BC3A+FR5
WL 1,H4BC3A+FR5
WL 2,H4BC3A+FR6
WL 1,H4BC3A+FR7
WL 1,H4BC3A+FR8
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#butt_loop
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#no_dropkick
WL ANI_CHANGEANIM,hrt_combo_flying_kick_anim
#no_dropkick
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#no_knee
WL ANI_CHANGEANIM,hrt_combo_knee_fall_anim
#no_knee
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#last_check
WL ANI_CHANGEANIM,hrt_combo_roll_uppercut_anim
#last_check
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#exit_move
WL ANI_CHANGEANIM,hrt_combo_hiptoss_anim
#exit_move
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missed
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_CODE,CALL_MISSES
WL 2,H4BC3A+FR5
WL 2,H4BC3A+FR6
WL 2,H4BC3A+FR7
WL 2,H4BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 KICK
SUBR hrt_2_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2KM3A+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_KICK,5
WL 2,H2KM3A+FR3
WL 2,H2KM3A+FR4
.word ANI_ATTACK_ON,AMODE_KICK,23,73,50,17 ;mode,x,y,w,h
WL 3,H2KM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 2,H2KM3A+FR5
#no_hit
WL 2,H2KM3A+FR5
;one more tick if blocked, three more if hit, none if missed.
.word ANI_HMBWAIT,7,0,0
WL 3,H2KM3A+FR6
WL 3,H2KM3A+FR8
WL 3,H2KM3A+FR9
WL 3,H2KM3A+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 KICK
SUBR hrt_combo_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_KICK,6
WL 2,H4KM3B+FR2
WL 2,H2KM3A+FR3
WL 2,H2KM3A+FR4
.word ANI_CLR_STATUS
.word ANI_INC_COMBO
.word ANI_ATTACK_ON,AMODE_KICK,23,53,50,27 ;mode,x,y,w,h
WL 2,H2KM3A+FR5
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
.word ANI_INC_COMBO
WL 4,H2KM3A+FR5
WL 2,H2KM3A+FR6
WL 2,H2KM3A+FR8
WL 2,H4KM3B+FR9
WL 2,H4KM3B+FR10
WLW ANI_SET_XVEL,0e000h,AM_FACE_REL
.word ANI_STARTATTACK,AT_KICK,6
WL 2,H4KM3B+FR2
WL 2,H2KM3A+FR3
WL 2,H2KM3A+FR4
.word ANI_CLR_STATUS
.word ANI_ATTACK_ON,AMODE_KICK,23,53,50,27 ;mode,x,y,w,h
WL 2,H2KM3A+FR5
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
.word ANI_INC_COMBO
WL 4,H2KM3A+FR5
WL 2,H2KM3A+FR6
WL 2,H2KM3A+FR8
WL 2,H4KM3B+FR9
WL 2,H4KM3B+FR10
.word ANI_SET_RPTCOUNT,3 ;1 times
#kick_loop
.word ANI_CLR_BUTCOUNT
WLW ANI_SET_XVEL,0e000h,AM_FACE_REL
.word ANI_STARTATTACK,AT_KICK,6
WL 1,H4KM3B+FR2
WL 2,H2KM3A+FR3
WL 1,H2KM3A+FR4
.word ANI_CLR_STATUS
.word ANI_ATTACK_ON,AMODE_KICK,23,53,50,27 ;mode,x,y,w,h
WL 1,H2KM3A+FR5
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
.word ANI_INC_COMBO
WL 2,H2KM3A+FR5
WL 1,H2KM3A+FR6
WL 2,H2KM3A+FR8
WL 1,H4KM3B+FR9
WL 2,H4KM3B+FR10
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#kick_loop
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#no_knee
WL ANI_CHANGEANIM,hrt_combo_knee_fall_anim
#no_knee
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#no_dropkick
WL ANI_CHANGEANIM,hrt_combo_flying_kick_anim
#no_dropkick
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#exit_move
WL ANI_CHANGEANIM,hrt_combo_butt_anim
#exit_move
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 4,H2KM3A+FR5
WL 2,H2KM3A+FR6
WL 2,H2KM3A+FR8
WL 2,H4KM3B+FR9
WL 2,H4KM3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 KICK
SUBR hrt_4_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4KM3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4KM3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2KM3A+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_KICK,5
WL 2,H2KM3A+FR3
WL 2,H2KM3A+FR4
.word ANI_ATTACK_ON,AMODE_KICK,23,73,50,17 ;mode,x,y,w,h
WL 3,H2KM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 2,H2KM3A+FR5
#no_hit
WL 2,H2KM3A+FR5
;one more tick if blocked, three more if hit, none if missed.
.word ANI_HMBWAIT,7,0,0
WL 3,H2KM3A+FR6
WL 3,H2KM3A+FR8
WL 3,H4KM3B+FR9
WL 3,H4KM3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 Jump kick
SUBR hrt_4_jump_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_LEAPING,12
; .ref BAMFRE_P
; WLWW ANI_SHADOWTRAIL,BAMFRE_P,3,12 ;pal,rate,lifespan
WL 3,H4KM3D+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 10,999,105,50,90000h,TGT_HEAD,70,90,10
WL 3,H4KM3D+FR2
WL 3,H4KM3D+FR3
WL 4,H4KM3D+FR4
.word ANI_ATTACK_ON, AMODE_FLYKICK,15,69,64,38 ;mode,x,y,w,h
WL 3,H4KM3D+FR5
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
WWL ANI_SLIDE_BACK,30h,-70000h,#no_slide
WL ANI_SET_YVEL,30000h
#no_slide
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb
.word ANI_SHAKER,35
WL 3,H4KM3D+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,H4KM3D+FR7
WL 3,H4KM3D+FR8
WL 3,H4KM3D+FR9
.word ANI_SHADOWTRAIL,0 ;off
.word ANI_FACEUP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
WL 3,H4KM3D+FR5
;fall through
#missed
WL 6,H4KM3D+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,H4KM3D+FR7
WL 3,H4KM3D+FR8
WL 3,H4KM3D+FR9
; .word ANI_SHADOWTRAIL,0 ;off
.word ANI_FACEUP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 KICK
SUBR hrt_2_super_kick_anim
SUBR hrt_4_super_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_STARTATTACK,AT_LEAPING,15
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 2,H4KM3C+FR1
.word ANI_OFFSET,5,0,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 10,999,80-5,45,90000h,TGT_CHEST,64-10,0,-20
WL ANI_SET_YVEL,48000h
.word ANI_SETPLYRMODE,MODE_INAIR
WL 4,H4KM3C+FR1
WL 4,H4KM3C+FR2
WL 2,H4KM3C+FR3
.word ANI_ATTACK_ON,AMODE_SUPER_KICK,5,54,70,34
WWL ANI_WAITHITOPP,3,H4KM3C+FR4
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#blocked
WWL ANI_SLIDE_BACK,30h,-70000h,#norm
;hit and slide
WL ANI_SET_YVEL,30000h
WLW ANI_SET_ZVEL,28000h,AM_ABS
WL ANI_GOTO,#missed
#norm
WLW ANI_SET_XVEL,-8000h,AM_FACE_REL
WLW ANI_SET_ZVEL,28000h,AM_ABS
WL ANI_SET_YVEL,20000h
WL ANI_GOTO,#missed
;hit + no slide or blocked
#blocked
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
WLW ANI_SET_ZVEL,28000h,AM_ABS
WL ANI_SET_YVEL,20000h
WWL ANI_SLIDE_BACK,30h,-70000h,#norm
;missed
#missed
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.ref skick_delay
WL ANI_CODE,skick_delay
WL ANI_IFNOTSTATUS,#none
WL 20,H4KM3C+FR4
#none
WL 2,H4KM3C+FR5
WL 2,H4KM3C+FR6
WL 2,H4KM3C+FR7
WL 2,H4KM3C+FR8
WL 2,H4KM3C+FR9
.word ANI_FACEUP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 KICK - Against TB attacks
SUBR hrt_kick_TB_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_STARTATTACK,AT_LEAPING,15
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_SETPLYRMODE,MODE_INAIR2
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL ANI_SET_YVEL,70000h
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
.word ANI_OFFSET,5,0,0
WL 3,H4KM3C+FR1
WL 3,H4KM3C+FR2
.word ANI_ATTACK_ON,AMODE_SPINKICK,5,54,70,34
WL 2,H4KM3C+FR3
WL 8,H4KM3C+FR4
.word ANI_ATTACK_OFF
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_NORMAL
WL 2,H4KM3C+FR5
WL 2,H4KM3C+FR6
WL 2,H4KM3C+FR7
WL 2,H4KM3C+FR8
WL 2,H4KM3C+FR9
.word ANI_FACEUP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #3 FLYING KICK
#yoff equ 57
SUBR hrt_flying_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.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 2,H3DC3A+FR1
WL 2,H3DC3A+FR2
.word ANI_OFFSET,0,#yoff,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 15,999,160,65,90000h,TGT_HEAD,5,45,0
WL ANI_CODE,no_bk_xvel
WL 7,H3DC3A+FR3
WL 3,H3DC3A+FR4
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
.word ANI_ATTACK_ON,AMODE_FLYKICK,-3,26,61,21 ;mode,x,y,w,h
WL 3,H3DC3A+FR5
.word ANI_ATTACK_OFF
; WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
; WL ANI_GOTO,#hit
;#missedb
; .word ANI_ZERO_XZVELS
;#hit
WLW ANI_SET_ZVEL,0,AM_ABS
WL 3,H3DC3A+FR5
WL 1,H3DC3A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKER,25
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 2,H3DC3A+FR8
WL 2,H3DC3A+FR9
.word ANI_XFLIP
.word ANI_SETFACING
WL ANI_CHANGEANIM,hrt_facedown_getup_anim
#*****************************************************************************
*
* #3 FLYING KICK
#yoff equ 57
SUBR hrt_combo_flying_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_STARTATTACK,AT_LEAPING,25
WL 3,H3DC3A+FR1
WL 3,H3DC3A+FR2
.word ANI_OFFSET,0,#yoff,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,150,65,90000h,TGT_HEAD,50,32,0
WL ANI_CODE,no_bk_xvel
WL 12,H3DC3A+FR3
WL 2,H3DC3A+FR4
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
.word ANI_ATTACK_ON,AMODE_FLYKICK,-3,26,61,21 ;mode,x,y,w,h
WL 3,H3DC3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#missed
WL ANI_IFNOTSTATUS,#missed
.word ANI_INC_COMBO
#missed
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 5,H3DC3A+FR5
WL 1,H3DC3A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 3,H3DC3A+FR8
WL 3,H3DC3A+FR9
.word ANI_XFLIP
.word ANI_SETFACING
WL ANI_CHANGEANIM,hrt_facedown_getup_anim
******************************************************************************
*
* #3 FLYING KICK - headhold uppercut version
SUBR hrt_flying_kick2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_STARTATTACK,AT_LEAPING,25
WL 3,H3DC3A+FR2
.word ANI_OFFSET,0,#yoff,0
WL ANI_SET_YVEL,48000h
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
WL 9,H3DC3A+FR3
WL 2,H3DC3A+FR4
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
.word ANI_ATTACK_ON,AMODE_FLYKICK,-3,26,61,21 ;mode,x,y,w,h
WL 3,H3DC3A+FR5
.word ANI_ATTACK_OFF
WL 5,H3DC3A+FR5
WL 1,H3DC3A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 3,H3DC3A+FR8
WL 3,H3DC3A+FR9
.word ANI_XFLIP
.word ANI_SETFACING
WL ANI_CHANGEANIM,hrt_facedown_getup_anim
#*****************************************************************************
*
* #2 STOMP ON FALLEN OPPONENT
SUBR hrt_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,H2MP2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2MP2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2MP2B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 3,H2MP2B+FR2
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,7,-10,-40,28,31,50
WL 1,H2MP2B+FR2
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#no_leapat
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,40000h,TGT_USER,22,0,-30
WL ANI_CODE,no_bk_xvel
#no_leapat
.word ANI_STARTATTACK,AT_STOMP,5
WL 3,H2MP2B+FR3
WL 1,H2MP2B+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_ATTACK_ON_Z,AMODE_STOMP2,7,-10,-40,28,31,50
WL 1,H2MP2B+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
WL 3,H2MP2B+FR5
WL 3,H2MP2B+FR6
WL 3,H2MP2B+FR7
WL 3,H2MP2B+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 STOMP ON FALLEN OPPONENT
SUBR hrt_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,H4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 3,H4MP4A+FR2
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,7,-12,-10,29,35,50
WL 1,H4MP4A+FR2
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#no_leapat
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,40000h,TGT_USER,21,0,30
WL ANI_CODE,no_bk_xvel
#no_leapat
.word ANI_STARTATTACK,AT_STOMP,5
WL 3,H4MP4A+FR3
WL 1,H4MP4A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_ATTACK_ON_Z,AMODE_STOMP2,7,-12,-10,29,35,50
WL 1,H4MP4A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
.word ANI_SHAKER,20
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_SHAKEALL,1
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
WL 3,H4MP4A+FR5
WL 3,H4MP4A+FR6
WL 3,H4MP4A+FR7
WL 3,H4MP4A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* RUNNING GROUND PUNCH
#yoff equ 50
SUBR hrt_running_ground_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_SETPLYRMODE,MODE_NORMAL
WL 2,H4JK4C+FR1
WL 2,H4JK4C+FR2
.word ANI_TARGET,TGT_HEAD,TGT_CHEST,ATM_FARTHEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 26,200,100,90,90000h,TGT_USER,-22,#yoff,30
.word ANI_STARTATTACK,AT_STOMP,26
.word ANI_SETPLYRMODE,MODE_INAIR
WL ANI_CODE,no_bk_xvel
.word ANI_OFFSET,0,#yoff,0
WL 3,H4JK4C+FR3
WL 3,H4JK4C+FR4
WL 3,H4JK4C+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL ANI_CODE,HIT_THE_MAT
.word ANI_ATTACK_ON,AMODE_BUTTSTOMP,-50,-6,36,23
WL 2,H4JK4C+FR6
.word ANI_ATTACK_OFF
.word ANI_BOUNCE,3
WL 5,H4JK4C+FR7
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WL ANI_IFSTATUS,#hit
WL ANI_CODE,CALL_MISSES
WL ANI_GOTO,#AVOID_HIT_CALL
#hit
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
#AVOID_HIT_CALL
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 4,H4JK4C+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
WL ANI_CHANGEANIM,hrt_4_faceup_getup2_anim
#*****************************************************************************
*
* TURNBUCKLE ELBOW SLAM
#xoff equ 19
#yoff equ 37
SUBR hrt_tbukl_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,H4JP4C+FR1
WL 3,H4JP4C+FR2
.word ANI_OFFSET,#xoff,#yoff,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 36,210,210,210,90000h,TGT_CHEST,22,-9,20
.word ANI_STARTATTACK,AT_BSTOMP,36
; .word ANI_SETPLYRMODE,MODE_INAIR2
WL ANI_CODE,set_tbukl_airmode
.word ANI_GRAVITY_ON
.word ANI_SHAKECORNER
WL ANI_CODE,check_xvel
WL 3,H4JP4C+FR3
WL 3,H4JP4C+FR4
.word ANI_ADD_MOVE,MOVE_C_6,2,2
;attack box dimensions (that means size) depends on opp mode
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,0,-1+5,-10,36,52,70
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,0,-1+15,-10,36,52,70
#opp_onground
WL 6,H4JP4C+FR5
WL ANI_CODE,set_tbukl_confine
WWL ANI_WAITHITOPP,24,H4JP4C+FR5
; .word ANI_ZERO_XZVELS
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_ATTACK_OFF
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL ANI_CODE,HIT_THE_MAT
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL ANI_IFNOTSTATUS,#missed
;hit
.word ANI_DRAW_NAME,18
.word ANI_BOUNCE,5
WL 1,H4JP4C+FR6
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKER,18
.word ANI_ZEROVELS
WL ANI_GOTO,#common
#missed
; WL ANI_CODE,tbukl_miss_damage
WL ANI_CODE,CALL_MISSES
WL ANI_CHANGEANIM,hrt_hitonground_facedown_anim
#common
WL 4,H4JP4C+FR6
.word ANI_FACEDOWN
.word ANI_OFFSET,10,0,-5
WL ANI_CHANGEANIM,hrt_4_faceup_getup2_anim
;#*****************************************************************************
;*
;* #2 BIG BOOT
;
; SUBR hrt_2_bigboot_anim
;
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
; .word ANI_SETSPEED,100h
; .word ANI_ZEROVELS
;
; .word ANI_SETFACING ;ANI_XFLIP <- not primary anim
; .word ANI_SET_WRESTLER_XFLIP
;
; WL 3,H2KM3A+FR1
; .word ANI_STARTATTACK,AT_BIGBOOT,12
; WL 3,H2KM3A+FR3
; WL ANI_CODE,#clrcnt
; WL 3,H2KM3A+FR4
;
; .word ANI_ATTACK_ON, AMODE_BIGBOOT,23,73,50,17 ;mode,x,y,w,h
; WWL ANI_WAITHITOPP,15,H2KM3A+FR5
;#lp0
; .word ANI_STARTATTACK,AT_BIGBOOT,5
; WL 2,H2KM3A+FR5
; WL ANI_CODE,#holdup
; WL ANI_IFSTATUS,#lp0
;
; .word ANI_ATTACK_OFF
; .WORD ANI_ADD_MOVE,MOVE_C_7,2,2
; WL ANI_IFNOTSTATUS,#miss
; .word ANI_DRAW_NAME,27
;#miss
; WL 3,H2KM3A+FR6
; WL 3,H2KM3A+FR8
; WL 3,H2KM3A+FR9
; WL 3,H2KM3A+FR11
;
; .word ANI_SETMODE,MODE_NORMAL
; .word ANI_END
;
; SUBR hrt_4_bigboot_anim
;
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
; .word ANI_SETSPEED,100h
; .word ANI_ZEROVELS
;
; .word ANI_SETFACING ;ANI_XFLIP <- not primary anim
; .word ANI_SET_WRESTLER_XFLIP
;
; .word ANI_STARTATTACK,AT_BIGBOOT,12
; WL 3,H4KM3B+FR2
; WL 3,H2KM3A+FR3
; WL ANI_CODE,#clrcnt
; WL 3,H2KM3A+FR4
;
; .word ANI_ATTACK_ON, AMODE_BIGBOOT,23,73,50,17 ;mode,x,y,w,h
; WWL ANI_WAITHITOPP,15,H2KM3A+FR5
;#lp1
; WL 2,H2KM3A+FR5
; WL ANI_CODE,#holdup
; WL ANI_IFSTATUS,#lp1
;
; .word ANI_ATTACK_OFF
; WL ANI_IFNOTSTATUS,#missz
; .WORD ANI_ADD_MOVE,MOVE_C_7,2,2
; .word ANI_DRAW_NAME,27
;#missz
; WL 3,H2KM3A+FR6
; WL 3,H2KM3A+FR8
; WL 3,H4KM3B+FR9
; WL 3,H4KM3B+FR10
;
; .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 KNEE
SUBR hrt_2_knee_anim
;The artwork is labeled wrong... 2=4, It is okay!
.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,5
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H4NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_OFFSET,23,0,0 ;x,y,z
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
; LEAPATOPP 21,999,36,30,90000h,TGT_CHEST,46,100,0
WL 2,H4NM3A+FR3
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_ATTACK_ON, AMODE_KNEE,11,44,51,49 ;mode,x,y,w,h
WL 2,H4NM3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,50000h
WLW ANI_SET_ZVEL,4000h,AM_ABS
WL 3,H4NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#cont
#no_hit
; WL ANI_IFNOTSTATUS,#nodrft
; WLW ANI_SET_ZVEL,4000h,AM_ABS
;#nodrft
WL 6,H4NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#cont
WL 3,H4NM3A+FR5
WL 3,H4NM3A+FR6
WL 3,H4NM3A+FR7
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 KNEE
SUBR hrt_4_knee_to_head_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL 2,H2NM3A+FR2
.word ANI_OFFSET,23,0,0 ;x,y,z
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 21,999,36,30,90000h,TGT_CHEST,46,100,-10
WL ANI_GOTO,#skip_run_check
SUBR hrt_4_knee_anim
;The artwork is labeled wrong... 2=4, It is okay!
.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,5
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,H2NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_OFFSET,23,0,0 ;x,y,z
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
; LEAPATOPP 21,999,36,30,90000h,TGT_CHEST,46,100,-10
#skip_run_check
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_STARTATTACK,AT_KNEE,3
WL 2,H2NM3A+FR3
.word ANI_ATTACK_ON, AMODE_KNEE,11,44,51,49 ;mode,x,y,w,h
WL 3,H2NM3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,50000h
WLW ANI_SET_ZVEL,-8000h,AM_ABS
WL 1,H2NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#cont
#no_hit
; WL ANI_IFNOTSTATUS,#nodrft
; WLW ANI_SET_ZVEL,-4000h,AM_ABS
;#nodrft
WL 6,H2NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#cont
WL 10,H2NM3A+FR4
WL 3,H2NM3A+FR5
WL 3,H2NM3A+FR6
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 KNEE FALL
SUBR hrt_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,H2NM3A+FR2
.word ANI_OFFSET,23,0,0 ;x,y,z
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 10,999,20h,20,90000h,TGT_CHEST,40,20,-10
.word ANI_STARTATTACK,AT_KNEE,18
WL 3,H2NM3A+FR3
.word ANI_ATTACK_ON,AMODE_BIGKNEE,11,30,80,49 ;mode,x,y,w,h
WL 3,H2NM3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,50000h
WLW ANI_SET_ZVEL,-8000h,AM_ABS
WL 1,H2NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#cont
#no_hit
WL ANI_IFNOTSTATUS,#nodrft
.word ANI_INC_COMBO
WLW ANI_SET_ZVEL,-4000h,AM_ABS
#nodrft
WL 1,H2NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#cont
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,H4NM3A+FR5
WL 3,H4NM3A+FR6
WL 3,H4NM3A+FR7
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 KNEE FALL
SUBR hrt_4_knee_fall_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL 3,H2NM3A+FR2
.word ANI_OFFSET,23,0,0 ;x,y,z
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 15,999,20h,20,90000h,TGT_CHEST,40,74,-10
.word ANI_STARTATTACK,AT_KNEE,3
WL 3,H2NM3A+FR3
.word ANI_ATTACK_ON,AMODE_BIGKNEE,11,44,51,49 ;mode,x,y,w,h
WL 3,H2NM3A+FR4
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,50000h
WLW ANI_SET_ZVEL,-8000h,AM_ABS
WL 1,H2NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#cont
#no_hit
WL ANI_IFNOTSTATUS,#nodrft
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WLW ANI_SET_ZVEL,-4000h,AM_ABS
#nodrft
WL 1,H2NM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#cont
WL 3,H4NM3A+FR5
WL 3,H4NM3A+FR6
WL 3,H4NM3A+FR7
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* knee - knee - knee - piledriver
SUBR hrt_knees_to_head_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SET_RPTCOUNT,3 ;2 times
.word ANI_STARTATTACK,AT_HDKNEES,8
WL 2,H4KM3C+FR1
#rpt
WL ANI_SET_YVEL,30000h
.word ANI_CLR_BUTCOUNT
WL 3,H4KM3C+FR2
WL 2,H4KM3C+FR3
.word ANI_ATTACK_ON,AMODE_HEADKNEES,4,34,70,54
WL 4,H4KM3C+FR4
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFNOTSTATUS,#missed
WL 3,H4KM3C+FR6
WL 3,H4KM3C+FR7
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#exit
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#rpt
.word ANI_CLR_BUTCOUNT
WL 3,H4KM3C+FR2
WL 2,H4KM3C+FR3
.word ANI_ATTACK_ON,AMODE_HEADKNEES,4,54,70,34
WL 3,H4KM3C+FR4
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
WWWL ANI_IF_BUTCOUNT_GE,SKICKB_COUNT,1,#do_pile
#exit
#missed
.word ANI_DETACH
WL 3,H4KM3C+FR6
WL 3,H4KM3C+FR7
WL 3,H4KM3C+FR8
WL 3,H4KM3C+FR9
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#do_pile
WL 3,H4KM3C+FR6
WL 3,H4KM3C+FR7
WL 3,H4KM3C+FR8
WL 3,H4KM3C+FR9
.word ANI_DETACH
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
WL ANI_CHANGEANIM,hrt_3_pile_driver_anim
#*****************************************************************************
*
* uppercut - uppercut - uppercut - flying kick
SUBR hrt_uppercuts_to_head_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
.word ANI_SET_RPTCOUNT,3 ;2 times
.word ANI_CLR_BUTCOUNT
.word ANI_OFFSET,5,0,0
WL 2,H4UP3C+FR1
.word ANI_OFFSET,5,0,0
WL 2,H4UP3C+FR2
.word ANI_OFFSET,5,0,0
WL 2,H4UP3C+FR3
WL 2,H4UP3C+FR4
WL 2,H4UP3C+FR5
.word ANI_SOUND,43h
.word ANI_ATTACK_ON,AMODE_HEADKNEES,-6,22,64,100
WWL ANI_WAITHITOPP,3,H4UP3C+FR6
.word ANI_ATTACK_OFF
.word ANI_ADD_MOVE,MOVE_C_8,2,2
WL ANI_IFNOTSTATUS,#missed
WL ANI_CODE,impact_sound
.word ANI_SET_ATTACH
WL ANI_OPPOFFSET,#release_offsets
WLLL ANI_SETOPPVELS,0,38000h,0h ;x,y,z vels
.word ANI_DEBRISAT,400,1,10,50,0 ;%chance, tbl index, x,y,z off
.word ANI_DETACH
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#exit
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#rpt
WL ANI_GOTO,#cont
#rpt
.word ANI_CLR_BUTCOUNT
.word ANI_OFFSET,4,0,0
WL 2,H4UP3C+FR7
.word ANI_OFFSET,4,0,0
WL 2,H4UP3C+FR8
.word ANI_OFFSET,4,0,0
WL 2,H4UP3C+FR9
.word ANI_OFFSET,4,0,0
WL 2,H4UP3C+FR3
WL 2,H4UP3C+FR4
WL 2,H4UP3C+FR5
.word ANI_SOUND,43h
.word ANI_ATTACK_ON,AMODE_HEADKNEES,-6,22,64,100
WWL ANI_WAITHITOPP,3,H4UP3C+FR6
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
WL ANI_CODE,impact_sound
.word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,38000h,0h ;x,y,z vels
.word ANI_DEBRISAT,250,1,10,50,0 ;%chance, tbl index, x,y,z off
; .word ANI_DETACH
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#exit
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#rpt
;Completed multiple uppercuts, allow flings, etc.
.word ANI_SET_ATTACH
.word ANI_SETOPP_PLYRMODE,MODE_NORMAL
.word ANI_DETACH
#cont
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_HDKNEES,10
WL 2,H4UP3C+FR7
WL 2,H4UP3C+FR8
WL 2,H4UP3C+FR9
WL 2,H4UP3C+FR3
WL 2,H4UP3C+FR4
WL 2,H4UP3C+FR5
.word ANI_SOUND,43h
.word ANI_ATTACK_ON,AMODE_HEADKNEES,6,48,64,64
WL 2,H4UP3C+FR6
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
WL ANI_CODE,impact_sound
WL ANI_CODE,#go_high
WWWL ANI_IF_BUTCOUNT_GE,SPUNCHB_COUNT,1,#do_flykick
#missed
#exit
.word ANI_DETACH
WL 2,H4UP3C+FR7
WL 2,H4UP3C+FR8
WL 2,H4UP3C+FR9
WL 2,H4UP3C+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#release_offsets
; X Y
.word 0,30 ;Bret
.word 0,30 ;Razor
.word 0,30 ;Taker
.word 0,30 ;Yokozuna
.word 0,30 ;Shawn
.word 0,30 ;BamBam
.word 0,30 ;Doink
.word 0,30 ;Adam
.word 0,30 ;Lex
#do_flykick
WL ANI_CODE,CALL_SPECIAL_MOVE
WL 2,H4UP3C+FR7
WL 2,H4UP3C+FR8
WL 2,H4UP3C+FR9
WL 2,H4UP3C+FR10
.word ANI_DETACH
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
WL ANI_CHANGEANIM,hrt_flying_kick2_anim
#go_high
move *a13(CLOSEST_NUM),a14
X32 a14
addi process_ptrs,a14
move *a14,a14,L
move *a14(WRESTLERNUM),a0
cmpi 3,a0 ;Yoko too fat
jrz #x
movi 50000h,a0 ;Go higher for last hit!
move a0,*a14(OBJ_YVEL),L
#x rets
#*****************************************************************************
*
* GRAB & FLING OPPONENT (INTO A RUN)
SUBR hrt_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,H1TL5A+FR3
WL 2,H1TL5A+FR4
WL ANI_GOTO,#cont
SUBR hrt_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,H3HT3X+FR1
.word ANI_ATTACK_ON, AMODE_PUPPET_NOFLAIL,31h,56,44,18 ;mode,x,y,w,h
WWL ANI_WAITHITOPP,6,H3GF7B+FR2
.word ANI_ZERO_XZVELS
WWL ANI_WAITHITOPP,2,H3GF7B+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedb
WL ANI_IFBLOCKED,#missedb
;got him
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
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,H3GF7B+FR2,#puppet_tbl,0
WWLLW ANI_SUPERSLAVE2,6,H3GF7B+FR3,#puppet_tbl,1
WWLLW ANI_SUPERSLAVE2,4,H3GF7B+FR4,#puppet_tbl,2
WWLLW ANI_SUPERSLAVE2,4,H3GF7B+FR5,#puppet_tbl,3
WWLLW ANI_SUPERSLAVE2,4,H3GF7B+FR6,#puppet_tbl,4
WWLLW ANI_SUPERSLAVE2,4,H3GF7B+FR7,#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 6,H3GF7B+FR8
WL 4,H3GF7B+FR9
.word ANI_OFFSET,-10,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,H3GF7B+FR2
#missed
WL ANI_CODE,CALL_MISSES
WL 8,H3GF7B+FR2
WL 4,H3HT3X+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
#Bret
LWWW H4YR3A+FR1,48,11,1
LWWW H4YR3A+FR2,39,6,1
LWWW H4YR3A+FR3,31,7,1
LWWW H4YR3A+FR5,14,15,1
LWWW H3RN3A+FR1,9,18,0
LWWW H3RN3A+FR2,-18,20,0
#Razor
LWWW R4YR3A+FR1,41,16,0
LWWW R4YR3A+FR2,30,9,0
LWWW R4YR3A+FR3,1,4,0
LWWW R4YR3A+FR4,-23,11,0
LWWW R3RN3D+FR10,14,25,0
LWWW R3RN3D+FR11,-18,27,0
#Taker
LWWW U4YR3B+FR2,25,18,0
LWWW U4YR3B+FR3,27,8,0
LWWW U4YR3B+FR4,15,14,0
LWWW U4YR3B+FR5,0,18,0
LWWW U3RN3A+FR2,-12,29,0
LWWW U3RN3A+FR2,-52,29,0
#Yokozuna
LWWW Y4YR3A+FR1,45,13,1
LWWW Y4YR3A+FR4,20,8,1
LWWW Y4YR3A+FR5,9,8,1
LWWW Y4YR3A+FR7,-17,4,1
LWWW Y3RN3C+FR7,28,26,0
LWWW Y3RN3C+FR8,5,26,0
#Shawn
LWWW S4YR3A+FR2,28,4,1
LWWW S4YR3A+FR3,42,-11,1
LWWW S4YR3A+FR5,9,4,1
LWWW S4YR3A+FR6,2,7,1
LWWW S3RN3A+FR2,11,22,0
LWWW S3RN3A+FR3,-18,25,0
#BamBam
LWWW B4YR3A+FR3,38,12,0
LWWW B4YR3A+FR4,45,1,0
LWWW B4YR3A+FR5,49,3,0
LWWW B4YR3A+FR7,-15,5,0
LWWW B3RN3A+FR1,26,28,0
LWWW B3RN3A+FR2,-7,30,0
#Doink
LWWW D4YR3B+FR1,50,13,1
LWWW D4YR3B+FR2,46,10,1
LWWW D4YR3B+FR3,28,10,1
LWWW D4YR3B+FR4,13,16,1
LWWW D3RN3B+FR3,19,29,0
LWWW D3RN3B+FR4,-20,30,0
#Adam
.long 0
#Lex
LWWW L4YR3B+FR1,56,12,1
LWWW L4YR3B+FR2,41,0,1
LWWW L4YR3B+FR3,13,6,1
LWWW L4YR3B+FR4,-21,8,1
LWWW L3RN3B+FR2,11,31,0
LWWW L3RN3B+FR3,-4,28,0
#strt_run_tbl
.long start_run_flung,start_run_flung,start_run_flung
.long start_run_flung,start_run_flung,start_run_flung
.long start_run_flung,start_run_flung,start_run_flung
.long start_run_flung,start_run_flung,start_run_flung
#*****************************************************************************
SUBR hrt_roll_frames
.word 7 ;speed
.long 50000h ;z velocity
.long 10000h*12/255 ;inv multiply (0-255 -> 0-12)
.long H3RL1A+FR1 ;0
.long H3RL1A+FR13 ;1
.long H3RL1A+FR12 ;2
.long H3RL1A+FR11 ;3
.long H3RL1A+FR10 ;4
.long H3RL1A+FR9 ;5
.long H3RL1A+FR8 ;6
.long H3RL1A+FR7 ;7
.long H3RL1A+FR6 ;8
.long H3RL1A+FR5 ;9
.long H3RL1A+FR4 ;10
.long H3RL1A+FR3 ;11
.long H3RL1A+FR2 ;12
.long 0,0,0,0,0,0
;#*****************************************************************************
;
; SUBR hrt_leap_test
;
; .word ANI_SETMODE,MODE_NORMAL
; .word ANI_END
;FIX!! Make throw out of ring if close to ropes
#*****************************************************************************
*
* FLIP/FALL FROM HIPTOSS
SUBR hrt_tossed_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
WL ANI_CODE,ckzpos
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_GETUP,STAY_TIME
WL ANI_CODE,HIT_THE_MAT
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
WL ANI_SET_YVEL,50000h
WL 4,H2CP3A+FR1
WL 4,H2CP3A+FR2
WL 4,H2CP3A+FR3
WL 4,H2CP3A+FR4
WL 4,H2CP3A+FR5
WL 4,H2CP3A+FR6
WL 4,H2CP3A+FR7
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 3,H2CP3A+FR8
.word ANI_WAITROLL
WL ANI_CHANGEANIM,hrt_faceup_getup_anim
; .word ANI_END
;FIX!! Make throw out of ring if close to ropes
#*****************************************************************************
*
* FLIP/FALL FROM BAM BAM DUCK TOSS
SUBR hrt_tossed2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
WL ANI_CODE,ckzpos
WLW ANI_SET_XVEL,60000h,AM_HIT_REL
WL ANI_SET_YVEL,30000h
.word ANI_OFFSET,20,20,0 ;x,y,z
WL 4,H3FR3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_SHAKER,30
.word ANI_GETUP,STAY_TIME
.word ANI_DAMAGE,D_HIPTOSS
WL 4,H3FR3A+FR5
.word ANI_XFLIP
.word ANI_OFFSET,15,0,0 ;x,y,z
WL 3,H2CP3A+FR8
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
WL ANI_SET_YVEL,50000h
WL 4,H2CP3A+FR1
WL 4,H2CP3A+FR2
WL 4,H2CP3A+FR3
WL 4,H2CP3A+FR4
WL 4,H2CP3A+FR5
WL 4,H2CP3A+FR6
WL 4,H2CP3A+FR7
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 1,H2CP3A+FR8
.word ANI_WAITROLL
WL ANI_CHANGEANIM,hrt_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
*
SUBR hrt_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,H3GU4A+FR10
WL 2,H3GU4A+FR8
WL 2,H3GU4A+FR3
WL ANI_SET_YVEL,39000h
WL 3,H2CP3A+FR1
.word ANI_DEBRIS,400,1,0,8,0 ;%chance, tbl index, x,y,z off
WL 3,H2CP3A+FR2
WL 3,H2CP3A+FR3
WL 3,H2CP3A+FR4
WL 3,H2CP3A+FR5
WL 3,H2CP3A+FR6
WL 3,H2CP3A+FR7
WL 3,H2CP3A+FR8
.ref am_I_dead
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,hrt_faceup_getup_anim
#*****************************************************************************
SUBR hrt_climbthru_side_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOCOLLIS
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WL ANI_CODE,SET_DIR_FACE
.word ANI_SETFACING
.WORD ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,3000h,AM_FACE_REL
.word ANI_OFFSET,16,0,0
WL 3,H4CR3D+FR1
WL 3,H4CR3D+FR2
.word ANI_BENDROPE,0
.word ANI_OFFSET,3,0,0 ;*****
WL 3,H4CR3D+FR3
WL 3,H4CR3D+FR4
.word ANI_BENDROPE,2
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
.word ANI_OFFSET,5,0,0 ;*****
WL 3,H4CR3D+FR5
.word ANI_BENDROPE,2
.word ANI_OFFSET,4+6,0,0 ;*****
WL 3,H4CR3D+FR8
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_BENDROPE,3
.word ANI_OFFSET,10,0,0 ;*****
WL 3,H4CR3D+FR9
.word ANI_ZEROVELS
.word ANI_BENDROPE,-1
.word ANI_OFFSET,5,0,0 ;*****
WL 3,H4CR3D+FR10
.word ANI_OFFSET,10,-3,0
WL 3,H4CR3D+FR11
.word ANI_OFFSET,2,0,0 ;*****
WL 3,H4CR3D+FR12
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
;now jump off...
; WL 3,H4JD4B+FR1
; WL 2,H4JD4B+FR2
; WL 3,H4JD4B+FR3
WL 2,H4JD4B+FR4
WL 3,H4JD4B+FR5
WL 2,H4JD4B+FR6
.word ANI_SET_IDIOT
WWL ANI_SETLONG,OBJ_GRAVITY,0f000h
WL ANI_SET_YVEL,50000h
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
WL 3,H4JD4B+FR7
.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 3,H4JD4B+FR8
WL 2,H4JD4B+FR9
; WL 2,H4JD4B+FR10
WL 2,H4JD4B+FR11
.word ANI_FACEDOWN
.word ANI_CLEAR_CLIMB
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR hrt_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,H4JD4B+FR1
; WL 2,H4JD4B+FR2
; WL 3,H4JD4B+FR3
WL 2,H4JD4B+FR4
WL 3,H4JD4B+FR5
WL 2,H4JD4B+FR6
WWL ANI_SETLONG,OBJ_GRAVITY,0f000h
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 4,H4JD4B+FR7
.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
.word ANI_OFFSET,13,0,0 ;*****
WL 2,H4JD4B+FR8
WL 2,H4JD4B+FR9
; WL 2,H4JD4B+FR10
WL 2,H4JD4B+FR11
WLW ANI_SET_XVEL,3000h,AM_FACE_REL
;climb through
WL 2,H4CR3D+FR1
.word ANI_OFFSET,3,0,0 ;*****
WL 2,H4CR3D+FR2
.word ANI_BENDROPE,0
.word ANI_OFFSET,3,0,0 ;*****
WL 2,H4CR3D+FR3
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_OFFSET,3,0,0 ;*****
WL 2,H4CR3D+FR4
.word ANI_OFFSET,3,0,0 ;*****
WL 2,H4CR3D+FR5
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
.word ANI_BENDROPE,2
.word ANI_OFFSET,5+8,0,0 ;*****
WL 2,H4CR3D+FR8
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_OFFSET,5,0,0 ;*****
WL 2,H4CR3D+FR9
.word ANI_OFFSET,5,0,0 ;*****
WL 2,H4CR3D+FR10
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_BENDROPE,-1
.word ANI_OFFSET,10,-3,0
WL 2,H4CR3D+FR11
WL 2,H4CR3D+FR12
.word ANI_ZEROVELS
; WL ANI_CODE,clr_climb
.word ANI_CLEAR_CLIMB
;done
.word ANI_ROPE_Z,R_TOP,RZ_NORM
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#set_trgt
movi RING_X_CENTER-0f8h-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 hrt_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 3,H3GU4A+FR10
WL 3,H3GU4A+FR9
WL 3,H3GU4A+FR8
WL 3,H3GU4A+FR7
WL 3,H3GU4A+FR6
WL 3,H3GU4A+FR5
WL 3,H3GU4A+FR4
WL 3,H3GU4A+FR2
WL 3,H3GU4A+FR1
;roll over once
WLW ANI_SET_ZVEL,80000h,AM_ABS
WL 3,H3RL1A+FR13
WL 3,H3RL1A+FR12
WL 3,H3RL1A+FR11
WL 3,H3RL1A+FR10
WL 3,H3RL1A+FR9
WL 3,H3RL1A+FR8
WL 3,H3RL1A+FR7
WL 3,H3RL1A+FR6
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
.word ANI_SET_IDIOT
;climb through
.WORD ANI_XFLIP
WL ANI_CODE,NOT_IN_RING
.word ANI_OFFSET,0,-37h,0 ;x,y,z
WL 3,H4KM3B+FR7
WL 3,H4KM3B+FR8
WL 3,H4KM3B+FR9
.WORD ANI_XFLIP
.word ANI_FACEUP
.word ANI_CLEAR_CLIMB
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#ckspin
move *a13(FACING_DIR),a14
btst 0,a14
jrnz #faceup
move *a13(ANIMODE),a0
ori MODE_STATUS,a0
move a0,*a13(ANIMODE)
RETS
#faceup
move *a13(ANIMODE),a0
ANDI 0FFFFH-MODE_STATUS,a0
move a0,*a13(ANIMODE)
rets
NOT_IN_RING
MOVK 1,A0
MOVE A0,*A13(INRING)
RETS
#*****************************************************************************
SUBR hrt_climbin_bot_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
;climb in
.word ANI_GRAVITY_OFF
.WORD ANI_XFLIP
WL 3,H4KM3B+FR9
WL 3,H4KM3B+FR8
WL 3,H4KM3B+FR7
.word ANI_OFFSET,0,37h,-60
.WORD ANI_XFLIP
;roll
WLW ANI_SET_ZVEL,-70000h,AM_ABS
.word ANI_FRICTION,3000h
WL 3,H3RL1A+FR6
WL 3,H3RL1A+FR7
WL 3,H3RL1A+FR8
WL 3,H3RL1A+FR9
WL 3,H3RL1A+FR10
WL 3,H3RL1A+FR11
.word ANI_ZEROVELS
.word ANI_GRAVITY_ON
;get up
WL 3,H3GU4A+FR1
WL 3,H3GU4A+FR2
WL 3,H3GU4A+FR3
WL 3,H3GU4A+FR4
WL 3,H3GU4A+FR5
WL 3,H3GU4A+FR6
WL 3,H3GU4A+FR7
WL 3,H3GU4A+FR8
WL 3,H3GU4A+FR9
WL 3,H3GU4A+FR10
; WL ANI_CODE,clr_climb
.word ANI_CLEAR_CLIMB
.word ANI_FACEDOWN
.word ANI_ZEROVELS
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR hrt_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, spin first!
WL 3,H1TT5A+FR3
WL 3,H1TT5A+FR4
#dir4
WL 3,H3GU4A+FR10
WL 3,H3GU4A+FR9
WL 3,H3GU4A+FR8
WL 3,H3GU4A+FR7
WL 3,H3GU4A+FR6
WL 3,H3GU4A+FR5
WL 3,H3GU4A+FR4
WL 3,H3GU4A+FR3
WL 3,H3GU4A+FR2
WL 3,H3GU4A+FR1
;roll over once
WL ANI_CODE,#set_zvel2
#cont
WL 3,H3RL1A+FR13
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,H3RL1A+FR1
WL 3,H3RL1A+FR2
WL 3,H3RL1A+FR3
WL 3,H3RL1A+FR4
.word ANI_SET_IDIOT
;climb through
.word ANI_OFFSET,0,-61,0
.word ANI_ZEROVELS
WL 3,H3MS3Z+FR4
WL 3,H3MS3Z+FR3
WL 3,H3MS3Z+FR2
.word ANI_ZERO_XZVELS
.word ANI_CLEAR_CLIMB
.WORD ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#set_zvel1
move *a13(FACING_DIR),a14
btst 0,a14
jrz #facedwn
move *a13(ANIMODE),a0
ANDI 0FFFFH-MODE_STATUS,a0
move a0,*a13(ANIMODE)
rets
#facedwn
move *a13(ANIMODE),a0
ori MODE_STATUS,a0
move a0,*a13(ANIMODE)
rets
#set_zvel2
movi -50000h,a0
move a0,*a13(OBJ_ZVEL),L
rets
#*****************************************************************************
SUBR hrt_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,H3RL1A+FR13
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,H3RL1A+FR1
WL 3,H3RL1A+FR2
WL 3,H3RL1A+FR3
WL 3,H3RL1A+FR4
;climb through
.word ANI_OFFSET,0,-61,0
.word ANI_ZEROVELS
WL 3,H3MS3Z+FR4
WL 3,H3MS3Z+FR3
WL 3,H3MS3Z+FR2
.word ANI_ZERO_XZVELS
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR hrt_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,H3MS3Z+FR2
WL 3,H3MS3Z+FR3
WL 3,H3MS3Z+FR4
.word ANI_OFFSET,0,61,0
;roll over
WL ANI_CODE,#set_zvel2
WL 3,H3RL1A+FR3
WL 3,H3RL1A+FR2
WL 3,H3RL1A+FR1
WL 3,H3RL1A+FR13
.word ANI_ZEROVELS
;get up
WL 3,H3GU4A+FR1
WL 3,H3GU4A+FR2
WL 3,H3GU4A+FR3
WL 3,H3GU4A+FR4
WL 3,H3GU4A+FR5
WL 3,H3GU4A+FR6
WL 3,H3GU4A+FR7
WL 3,H3GU4A+FR8
WL 3,H3GU4A+FR9
WL 3,H3GU4A+FR10
; WL ANI_CODE,clr_climb
.word ANI_CLEAR_CLIMB
.WORD ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#set_zvel2
movi 52000h,a0
move a0,*a13(OBJ_ZVEL),L
rets
#****************************************************************************
*
* PIN OPPONENT AND RAISE ARM IN VICTORY
;Need to have this guy walk toward fallen opponent so he
;can get closer!
;This pin must be started only when opponent is on the ground!
SUBR hrt_2_pin_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
;Rotate!
WL 3,H1TL5A+FR3 ;2.5
WL 3,H1TL5A+FR4 ;3.5
SUBR hrt_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 29,999,80h,50h,90000h,TGT_CHEST|TGT_GROUND,0,57,-15
WL ANI_CODE,hit_nearest
WL 3,H3PN5A+FR1
WL 4,H3PN5A+FR2
WL 4,H3PN5A+FR3
.word ANI_OFFSET,0,48,0 ;x,y,z
WL 18,H3PN5A+FR4
; .word ANI_WAITHITGND
; .word ANI_ATTACK_ON_Z,AMODE_STOMP,-40,-8,0,76,20,30 ;mode,x,y,z,w,h,d
.word ANI_ZEROVELS
WL 5,H3PN5A+FR7
WL ANI_CODE,DO_CROWD_CHEER
; .word ANI_ATTACK_OFF
WL ANI_CODE,grnd_hit
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_BOUNCE,4
WL 4,H3PN5A+FR8
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
WL 4,H3PN5A+FR8
.ref win_announce
WL ANI_CODE,win_announce
; .word ANI_SET_ATTACH
; .word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
WL 40,H3PN5A+FR8
;???? IS THIS WHERE IT GOES ?
.word ANI_LOOP
;Do another ground hit on opponent
.ref grnd_hit
WL ANI_CODE,grnd_hit
WL ANI_SET_YVEL,42000h
WLW ANI_SET_ZVEL,22000h,AM_ABS
WL 3,H3GU4A+FR6
WL 3,H3GU4A+FR7
WL 3,H3GU4A+FR8
WL 3,H3GU4A+FR9
WL 3,H3GU4A+FR10
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 5,H4SL4C+FR1
WL 5,H4SL4C+FR2
WL 5,H4SL4C+FR3
.word ANI_SET_RPTCOUNT,3
#lp0 WL 5,H4SL4C+FR4
WL 5,H4SL4C+FR5
WL 5,H4SL4C+FR6
WL 5,H4SL4C+FR5
WL 5,H4SL4C+FR4
WL 5,H4SL4C+FR7
WL 5,H4SL4C+FR8
WL 5,H4SL4C+FR9
WL 5,H4SL4C+FR8
WL 5,H4SL4C+FR7
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#lp0
WL 5,H4SL4C+FR4
WL 5,H4SL4C+FR5
WL 5,H4SL4C+FR6
WL 5,H4SL4C+FR5
WL 5,H4SL4C+FR4
WL 5,H4SL4C+FR7
WL 1000,H4SL4C+FR3
; WL 5,H4SL4C+FR2
; WL 1000,H4SL4C+FR1
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
******************************************************************************
* RAISE ARM IN VICTORY FROM A STANCE
SUBR hrt_2_raise_arm_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_CROWD_CHEER
WL ANI_CODE,win_announce
WL 3,H1TL5A+FR3 ;2.5
WL 3,H1TL5A+FR4 ;3.5
WL ANI_GOTO,#cont
SUBR hrt_4_raise_arm_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_CROWD_CHEER
WL ANI_CODE,win_announce
#cont WL 5,H4SL4C+FR1
WL 5,H4SL4C+FR2
WL 5,H4SL4C+FR3
.word ANI_SET_RPTCOUNT,-4
#lp1 WL 5,H4SL4C+FR4
WL 5,H4SL4C+FR5
WL 5,H4SL4C+FR6
WL 5,H4SL4C+FR5
WL 5,H4SL4C+FR4
WL 5,H4SL4C+FR7
WL 5,H4SL4C+FR8
WL 5,H4SL4C+FR9
WL 5,H4SL4C+FR8
WL 5,H4SL4C+FR7
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#lp1
WL ANI_CODE,check_raisearm_bit
WL ANI_IFSTATUS,#wakeup
.word ANI_SET_RPTCOUNT,1000
WL ANI_GOTO,#lp1
#wakeup WL 5,H4SL4C+FR3
WL 5,H4SL4C+FR2
WL 5,H4SL4C+FR1
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_FACEDOWN
.word ANI_END
#*****************************************************************************
*
* GET BUCKED OFF A PINNED OPPONENT
SUBR hrt_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,H3PN5A+FR8
WL 1,H3PN5A+FR4
WL ANI_CODE,set_buckoff_vels
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 12,H3PN5A+FR7
;now stand up
WL ANI_SET_YVEL,42000h
WLW ANI_SET_ZVEL,22000h,AM_ABS
WL 3,H3GU4A+FR6
WL 3,H3GU4A+FR7
WL 3,H3GU4A+FR8
WL 3,H3GU4A+FR9
WL 3,H3GU4A+FR10
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
******************************************************************************
.end