wwf-wrestlemania/BAMSEQ2.ASM

5344 lines
116 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 "bamseq2.asm"
.title "Bam Bam Bigelo animation sequences"
.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 "bamimg.h"
.include "damage.equ"
.INCLUDE "SWEAT.EQU"
******************************************************************************
* EXTERNAL REFERENCES
.ref MOVE_NAME_ANNC,hit_nearest,WORLDTLX,set_tbukl_airmode
.ref free_toss_check,setup_freetoss
.ref DO_WAIL,CALL_ANI_AVERAGE_MOVE,DO_BLOCKED
.ref create_impact,create_impact2,create_impact_salt
.ref SET_DIR_FACE,start_run_anim,HIT_THE_MAT,SMALL_BOUNCE
.ref choose_2or4,no_bk_xvel,CALL_MISSES,CALL_NASTY_MOVE
.ref DO_CROWD_CHEER,check_xvel,BAMBLU_P,pal_getf
.ref am_I_dead,win_announce,create_impact3
.ref bam_pogo_anim,bam_3_pile_driver_anim,DO_GRUNT
.ref bam_3_head_held_anim,set_tbukl_confine
.ref bam_combo_pogo_anim,grnd_hit,fix_bnc_flip
.ref bam_fireball,CALL_SPECIAL_MOVE,ckzpos
.ref bam_4_graboh_anim,DO_COMBO_MESS,bam_combo_graboh_anim
.ref hit_puppet_even_if_dead,check_raisearm_bit
.ref skick_delay,spunch_delay,bam_combo_pile_driver_anim
.ref DO_FLAME_HIT_SND,create_impact_flykick,CALL_SETUP
.ref set_buckoff_vels,hiptoss_delay,lex_tossed2_anim
.ref fling_delay,DO_FLAME_SND,impact_sound,start_run_flung
******************************************************************************
* SYMBOLS DEFINED IN THIS FILE
******************************************************************************
* EQUATES FOR THIS FILE
#*****************************************************************************
SUBR bam_2_fpunch_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_DETACH
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SET_RPTCOUNT,2 ;1 times
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
#loop
.word ANI_CLR_BUTCOUNT
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
; LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,50,105,10
LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,30,105,10
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_PUNCH,10
WL 2,B2FH3Z+FR1
WL 3,B2FH3Z+FR2
WL 3,B2FH3Z+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B2FH3Z+FR4
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,59,68 ;mode,x,y,w,h
WL 3,B2FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#blocked
WL ANI_IFSTATUS,#gotim
;missed
WL 3,B2FH3Z+FR6
WL 20,B2FH3Z+FR7
WL ANI_CODE,CALL_MISSES
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#gotim
.word ANI_IMMOBILIZE,20
#blocked
WL ANI_CODE,DO_FLAME_HIT_SND
WL ANI_CODE,CALL_NASTY_MOVE
.word ANI_STARTATTACK,AT_PUNCH,6
WL ANI_CODE,#set_opp_xy
WL 2,B2FH3Z+FR6
WL 3,B2FH3Z+FR7
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
; LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,40,105,-10
LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,20,105,-10
.word ANI_STARTATTACK,AT_PUNCH,10
WL 2,B4FH3Z+FR1
WL 3,B4FH3Z+FR2
WL 3,B4FH3Z+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B4FH3Z+FR4
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,59,68 ;mode,x,y,w,h
WL 3,B4FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#blocked2
WL ANI_IFSTATUS,#gotim2
;missed
WL 3,B4FH3Z+FR6
WL 20,B4FH3Z+FR7
WL ANI_CODE,CALL_MISSES
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#gotim2
.word ANI_IMMOBILIZE,20
#blocked2
WL ANI_CODE,#set_opp_xy
WL 2,B4FH3Z+FR6
WL 3,B4FH3Z+FR7
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,4,#fail
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#loop
.word ANI_DRAW_NAME,15
#fail
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR bam_4_fpunch_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_NORMAL
.word ANI_DETACH
.word ANI_SET_RPTCOUNT,2 ;3 times
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
#loop2
.word ANI_STARTATTACK,AT_PUNCH,10
.word ANI_CLR_BUTCOUNT
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
; LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,50,105,-10
LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,30,105,-10
WL ANI_CODE,no_bk_xvel
WL 2,B4FH3Z+FR1
WL 3,B4FH3Z+FR2
WL 3,B4FH3Z+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B4FH3Z+FR4
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,59,68 ;mode,x,y,w,h
WL 3,B4FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#blocked2a
WL ANI_IFSTATUS,#gotim2a
;missed
WL 3,B4FH3Z+FR6
WL 20,B4FH3Z+FR7
WL ANI_CODE,CALL_MISSES
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#gotim2a
.word ANI_IMMOBILIZE,20
#blocked2a
WL ANI_CODE,DO_FLAME_HIT_SND
.word ANI_STARTATTACK,AT_PUNCH,15
WL ANI_CODE,CALL_NASTY_MOVE
WL ANI_CODE,#set_opp_xy
WL 2,B4FH3Z+FR6
WL 3,B4FH3Z+FR7
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
; LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,40,105,10
LEAPATOPP 08h,999,54h,45,90000h,TGT_HEAD,20,105,10
WL 2,B2FH3Z+FR1
WL 3,B2FH3Z+FR2
WL 3,B2FH3Z+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B2FH3Z+FR4
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,59,68 ;mode,x,y,w,h
WL 3,B2FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#blockeda
WL ANI_IFSTATUS,#gotima
;missed
WL 3,B2FH3Z+FR6
WL 20,B2FH3Z+FR7
WL ANI_CODE,CALL_MISSES
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#gotima
.word ANI_IMMOBILIZE,20
#blockeda
WL ANI_CODE,#set_opp_xy
WL 2,B2FH3Z+FR6
WL 3,B2FH3Z+FR7
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,4,#fail2
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#loop
.word ANI_DRAW_NAME,15
#fail2
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#set_opp_xy
move *a13(WHOIHIT),a0,L
movi [2,0],a14
move a14,*a0(OBJ_YVEL),L
movi -[2,0],a1
move *a0(NEW_FACING_DIR),a14
btst MOVE_RIGHT_BIT,a14
jrnz #abs ;right
neg a1 ;left
#abs
move a1,*a0(OBJ_XVEL),L
calla create_impact3
rets
SUBR bam_combo_fpunch
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_DETACH
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SET_RPTCOUNT,2 ;3 times
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
.word ANI_STARTATTACK,AT_PUNCH,8
WL ANI_CODE,DO_FLAME_SND
WL 2,B2FH3Z+FR1
WL 2,B2FH3Z+FR2
WL 2,B2FH3Z+FR3
WL 2,B2FH3Z+FR4
WLW ANI_SET_XVEL,0h,AM_FACE_REL
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,79,68 ;mode,x,y,w,h
WL 2,B2FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#MISSED_2
WL ANI_CODE,DO_FLAME_HIT_SND
WL ANI_CODE,create_impact
.WORD ANI_INC_COMBO
.word ANI_STARTATTACK,AT_PUNCH,12
WL ANI_SET_YVEL,18000h
.word ANI_SET_ATTACH
WWWL ANI_IFROPE,RC_FRONT,100,#AVOID_VELSB
WLLL ANI_SETOPPVELS,10000H,10000h,0h ;x,y,z vels
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
#AVOID_VELSB
WL 2,B2FH3Z+FR6
WL 2,B2FH3Z+FR7
WL 2,B4FH3Z+FR1
WL 2,B4FH3Z+FR2
WL 2,B4FH3Z+FR3
WL 2,B4FH3Z+FR4
.word ANI_CLR_STATUS
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,79,68 ;mode,x,y,w,h
WL 2,B4FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#MISSED_4
WWWL ANI_IFROPE,RC_FRONT,100,#AVOID_VELS2B
WLLL ANI_SETOPPVELS,10000H,10000h,0h ;x,y,z vels
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
#AVOID_VELS2B
WL ANI_CODE,create_impact
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 2,B4FH3Z+FR6
WL 2,B4FH3Z+FR7
#loop_c
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_PUNCH,8
WL ANI_CODE,DO_FLAME_SND
WL 2,B2FH3Z+FR1
WL 2,B2FH3Z+FR2
WL 2,B2FH3Z+FR3
WL 2,B2FH3Z+FR4
WLW ANI_SET_XVEL,0h,AM_FACE_REL
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,79,68 ;mode,x,y,w,h
WL 2,B2FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#MISSED_2
WL ANI_CODE,DO_FLAME_HIT_SND
WL ANI_CODE,create_impact
.WORD ANI_INC_COMBO
.word ANI_STARTATTACK,AT_PUNCH,12
WL ANI_SET_YVEL,18000h
.word ANI_SET_ATTACH
WWWL ANI_IFROPE,RC_FRONT,100,#AVOID_VELS
WLLL ANI_SETOPPVELS,10000H,10000h,0h ;x,y,z vels
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
#AVOID_VELS
WL 2,B2FH3Z+FR6
WL 2,B2FH3Z+FR7
WL 2,B4FH3Z+FR1
WL 2,B4FH3Z+FR2
WL 2,B4FH3Z+FR3
WL 2,B4FH3Z+FR4
.word ANI_CLR_STATUS
.word ANI_ATTACK_ON, AMODE_FIRE_PUNCH,7,44,79,68 ;mode,x,y,w,h
WL 2,B4FH3Z+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#MISSED_4
WWWL ANI_IFROPE,RC_FRONT,100,#AVOID_VELS2
WLLL ANI_SETOPPVELS,10000H,10000h,0h ;x,y,z vels
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
#AVOID_VELS2
WL ANI_CODE,create_impact
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 2,B4FH3Z+FR6
WL 2,B4FH3Z+FR7
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#loop_c
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#CHECK_ANOTHER_2
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_combo_hiptoss_anim
#CHECK_ANOTHER_2
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#CHECK_ANOTHER
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_flying_kick_no_xvel
#CHECK_ANOTHER
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#CHECK_ANOTHER_BUT2
WL ANI_CHANGEANIM,bam_combo_slap_anim
#CHECK_ANOTHER_BUT2
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#MISSED_4B
WL ANI_CHANGEANIM,bam_combo_pogo_anim
#MISSED_4
WL 3,B4FH3Z+FR6
WL 3,B4FH3Z+FR7
#MISSED_4B
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_CODE,CALL_MISSES
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#MISSED_2
WL 3,B2FH3Z+FR6
WL 3,B2FH3Z+FR7
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_CODE,CALL_MISSES
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 NORMAL PUNCH
SUBR bam_2_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2PU3C+FR4
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2PU3C+FR4
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2PU3C+FR5
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_PUNCH,7
WL 1,B2PU3C+FR5
WL 2,B2PU3C+FR6
.word ANI_ATTACK_ON, AMODE_PUNCH,28,92,56,10 ;mode,x,y,w,h
WL 3,B2PU3C+FR7
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,B2PU3C+FR7
#no_hit
WL 1,B2PU3C+FR7
WL 2,B2PU3C+FR8
WL 2,B2PU3C+FR9
WL 2,B2PU3C+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 NORMAL PUNCH
SUBR bam_4_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4PU3D+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4PU3D+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4PU3D+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_PUNCH,7
WL 1,B4PU3D+FR3
WL 2,B4PU3D+FR4
.word ANI_ATTACK_ON, AMODE_PUNCH,28,92,56,10 ;mode,x,y,w,h
WL 3,B4PU3D+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,B4PU3D+FR5
#no_hit
WL 1,B4PU3D+FR5
WL 2,B4PU3D+FR6
WL 2,B4PU3D+FR7
WL 2,B4PU3D+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR bam_combo_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.WORD ANI_CLEAR_COMBO
WL 2,B4PU3D+FR2
.word ANI_STARTATTACK,AT_PUNCH,7
WL 2,B4PU3D+FR3
WL 2,B4PU3D+FR4
WL 2,B4PU3D+FR5
.WORD ANI_INC_COMBO
.word ANI_ATTACK_ON, AMODE_PUNCH,28,42,56,60 ;mode,x,y,w,h
WL 2,B4PU3D+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit4
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 2,B4PU3D+FR5
WL 2,B2PU3C+FR4
.word ANI_STARTATTACK,AT_PUNCH,7
WL 2,B2PU3C+FR5
WL 2,B2PU3C+FR6
WL 2,B2PU3C+FR7
.word ANI_ATTACK_ON, AMODE_PUNCH,28,92,56,10 ;mode,x,y,w,h
WL 2,B2PU3C+FR7
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit2
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 2,B2PU3C+FR7
.word ANI_SET_RPTCOUNT,3 ;3 times
#p_loop
.word ANI_CLR_BUTCOUNT
WL 2,B4PU3D+FR2
.word ANI_STARTATTACK,AT_PUNCH,7
WL 1,B4PU3D+FR3
WL 2,B4PU3D+FR4
WL 1,B4PU3D+FR5
.word ANI_ATTACK_ON, AMODE_PUNCH,28,42,56,60 ;mode,x,y,w,h
WL 2,B4PU3D+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit4
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 1,B4PU3D+FR5
WL 2,B2PU3C+FR4
.word ANI_STARTATTACK,AT_PUNCH,7
WL 1,B2PU3C+FR5
WL 2,B2PU3C+FR6
WL 1,B2PU3C+FR7
.word ANI_ATTACK_ON, AMODE_PUNCH,28,92,56,10 ;mode,x,y,w,h
WL 2,B2PU3C+FR7
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit2
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,18000h
WL 1,B2PU3C+FR7
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#p_loop
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#CHECK_NEXT2
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_combo_hiptoss_anim
#CHECK_NEXT2
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#CHECK_NEXT1
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_flying_kick_no_xvel
#CHECK_NEXT1
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#no_hit2
WL ANI_CHANGEANIM,bam_combo_superkick_anim
#no_hit2
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 2,B2PU3C+FR7
WL 3,B2PU3C+FR8
WL 2,B2PU3C+FR9
WL 2,B2PU3C+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit4
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 2,B4PU3D+FR5
WL 3,B4PU3D+FR6
WL 2,B4PU3D+FR7
WL 2,B4PU3D+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 PUSH
SUBR bam_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,B4PS3A+FR2
WL 3,B4PS3A+FR3
WL 3,B4PS3A+FR4
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ATTACK_ON, AMODE_PUSH,36,85,49,17 ;mode,x,y,w,h
WL 3,B4PS3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,40h,-70000h,#no_hit ;range,vel,addr
WL 15,B4PS3A+FR5
#no_hit
WL 3,B4PS3A+FR5
WL ANI_IFSTATUS,#hit
WL 5,B4PS3A+FR5
#hit
WL 3,B4PS3A+FR4
WL 3,B4PS3A+FR3
WL 3,B4PS3A+FR2
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
;#fireball
; move a13,a11
; CREATE0 bam_fireball
; rets
******************************************************************************
*
* #2 RUNNING BOUNCE OFF OF OPPONENT
SUBR bam_2_bncoff_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_FRICTION,3000h
WL 3,B2AH2A+FR2
WL 15,B2AH2A+FR3
WL 3,B2AH2A+FR4
WL 3,B2AH2A+FR5
WL 3,B2AH2A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 RUNNING BOUNCE OFF OF OPPONENT
SUBR bam_4_bncoff_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_FRICTION,3000h
WL 3,B4AH4A+FR2
WL 3,B4AH4A+FR3
WL 14,B4AH4A+FR4
WL 2,B4AH4A+FR5
WL 2,B4AH4A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 RUNNING BOUNCE OFF OF OPPONENT
;Bounce off but stay dizzy!
SUBR bam_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,B4AH4A+FR2
WL 3,B4AH4A+FR3
WL 14,B4AH4A+FR4
WL 2,B4AH4A+FR5
WL 2,B4AH4A+FR6
; .word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CHANGEANIM,bam_dizzy_anim
; .word ANI_END
******************************************************************************
*
* #4 LOSE BALANCE
SUBR bam_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
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,B4LB4B+FR1
WL 3,B4LB4B+FR2
WL 3,B4LB4B+FR3
WL 3,B4LB4B+FR4
WL 3,B4LB4B+FR5
WL 3,B4LB4B+FR6
WL 3,B4LB4B+FR7
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 ELBOW DROP
#yoff equ 50
SUBR bam_2_lbowdrop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_STARTATTACK,AT_LBDROP,-1
WL 3,B2PJ3A+FR3
WL 3,B2PJ3A+FR4
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
;if we're gonna miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,19,-6,-40,33,31,50
WL 1,B2PJ3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#no_leapat
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_CLOSEST
LEAPATOPP 20,999,160,140,90000h,TGT_USER,35,0+#yoff,-40
.word ANI_SETPLYRMODE,MODE_INAIR
WL ANI_CODE,no_bk_xvel
#no_leapat
WL 3,B2PJ3A+FR5
WL 3,B2PJ3A+FR6
.word ANI_OFFSET,0,#yoff,0
WL 4,B2PJ3A+FR7
WL 4,B2PJ3A+FR8
.word ANI_WAITHITGND
.word ANI_SHAKER,25
WL ANI_CODE,HIT_THE_MAT
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP,19,-6,-40,33,31,50
WL 1,B2PJ3A+FR9
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
WL ANI_IFNOTSTATUS,#missed
.word ANI_SHAKEALL,2
WL ANI_SET_YVEL,40000h
WLW ANI_SET_ZVEL,18000h,AM_ABS
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
.word ANI_DRAW_NAME,18
WL 3,B2PJ3A+FR9
WL 4,B2PJ3A+FR10
.word ANI_SETMODE,MODE_NORMAL
WL ANI_CHANGEANIM,bam_2_faceup_getup2_anim
#*****************************************************************************
*
* #4 ELBOW DROP
#yoff equ 40
SUBR bam_combo_lbowdrop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_STARTATTACK,AT_LBDROP,-1
WL 3,B3PJ3B+FR3
WL 3,B3PJ3B+FR4
;if we're gonna miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,19,-6,-40,33,31,50
WL 1,B3PJ3B+FR5
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#no_leapatc
.word ANI_TARGET,TGT_CHEST,TGT_GROIN,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 20,999,112,96,90000h,TGT_USER,32,#yoff,40
WL ANI_CODE,no_bk_xvel
#no_leapatc
WL 2,B3PJ3B+FR5
.word ANI_OFFSET,0,#yoff,0
WL 3,B3PJ3B+FR6
WL 3,B3PJ3B+FR7
WL 3,B3PJ3B+FR8
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP,12,-9,-10,42,42,50
WL 1,B3PJ3B+FR9
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
WL ANI_IFNOTSTATUS,#missedc
.word ANI_SHAKER,20
.word ANI_SHAKEALL,2
;bounce off the guy
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,40000h
WLW ANI_SET_ZVEL,-18000h,AM_ABS
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#hitc
#missedc
WL ANI_CODE,CALL_MISSES
#hitc
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,B3PJ3B+FR9
WL 4,B3GU4A+FR4
.word ANI_SETMODE,MODE_NORMAL
WL ANI_CHANGEANIM,bam_4_faceup_getup2_anim
SUBR bam_4_lbowdrop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_STARTATTACK,AT_LBDROP,-1
WL 3,B3PJ3B+FR3
WL 3,B3PJ3B+FR4
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
;if we're gonna miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,19,-6,-40,33,31,50
WL 1,B3PJ3B+FR5
.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 20,999,160,140,90000h,TGT_USER,32,#yoff,40
WL ANI_CODE,no_bk_xvel
#no_leapat
WL 2,B3PJ3B+FR5
.word ANI_OFFSET,0,#yoff,0
WL 3,B3PJ3B+FR6
WL 3,B3PJ3B+FR7
WL 3,B3PJ3B+FR8
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SHAKER,25
WL ANI_CODE,HIT_THE_MAT
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP,12,-9,-10,42,42,50
WL 1,B3PJ3B+FR9
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_2,2,2
WL ANI_IFNOTSTATUS,#missed
.word ANI_SHAKEALL,2
;bounce off the guy
WL ANI_SET_YVEL,40000h
WLW ANI_SET_ZVEL,-18000h,AM_ABS
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
.word ANI_DRAW_NAME,18
WL 3,B3PJ3B+FR9
WL 3,B3GU4A+FR4
.word ANI_SETMODE,MODE_NORMAL
WL ANI_CHANGEANIM,bam_4_faceup_getup2_anim
#*****************************************************************************
*
* #3 FLYING BUTT-DROP
#yoff equ 51
SUBR bam_combo_butt_drop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_STARTATTACK,AT_BUTTSTOMP,38
WL 4,B3JK3A+FR4
WL 4,B3JK3A+FR5
; .word ANI_TARGET,TGT_HEAD,TGT_GROIN,ATM_FARTHEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 30,999,112,96,90000h,TGT_CHEST,9,3+#yoff,-20
.word ANI_SETPLYRMODE,MODE_INAIR
WL ANI_CODE,no_bk_xvel
WL 4,B3JK3A+FR6
.word ANI_OFFSET,0,#yoff,0
WL 4,B3JK3A+FR7
.word ANI_ATTACK_ON,AMODE_BUTTSTOMP,-25,-7+5,55,23
WWL ANI_WAITHITOPP,26,B3JK3A+FR8
.word ANI_ATTACK_OFF
.word ANI_SHAKER,35
.word ANI_SHAKEALL,1
WL ANI_CODE,HIT_THE_MAT
WL ANI_IFNOTSTATUS,#missc
.WORD ANI_INC_COMBO
.word ANI_ZEROVELS
WL ANI_SET_YVEL,50000h
WLW ANI_SET_ZVEL,18000h,AM_ABS
WL 4,B3JK3A+FR9
WL 4,B3JK3A+FR8
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,SMALL_BOUNCE
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 4,B3JK3A+FR9
WL 4,B3JK3A+FR10
.word ANI_OFFSET,15,9,0
.word ANI_FACEUP
.word ANI_XFLIP
WL ANI_CHANGEANIM,bam_2_faceup_getup2_anim
#missc ;missed
WL ANI_CODE,CALL_MISSES
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,B3JK3A+FR9
WL 4,B3JK3A+FR10
.word ANI_OFFSET,15,9,0
.word ANI_FACEUP
.word ANI_XFLIP
WL ANI_CHANGEANIM,bam_2_faceup_getup2_anim
SUBR bam_3_butt_drop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_SETPLYRMODE,MODE_INAIR
.word ANI_STARTATTACK,AT_BUTTSTOMP,38
WL 2,B3JK3A+FR4
WL 2,B3JK3A+FR5
.word ANI_TARGET,TGT_CHEST,TGT_CHEST,ATM_FARTHEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 30,999,112,96,90000h,TGT_USER,9,3+#yoff,-20
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_SETPLYRMODE,MODE_INAIR
WL ANI_CODE,no_bk_xvel
WL 4,B3JK3A+FR6
.word ANI_OFFSET,0,#yoff,0
WL 4,B3JK3A+FR7
.word ANI_ATTACK_ON,AMODE_BUTTSTOMP,-25,-7+5,55,23
WWL ANI_WAITHITOPP,26,B3JK3A+FR8
.word ANI_ATTACK_OFF
.word ANI_SHAKER,35
.word ANI_SHAKEALL,1
WL ANI_CODE,HIT_THE_MAT
WL ANI_IFNOTSTATUS,#miss
#hit
.word ANI_ZEROVELS
WL ANI_SET_YVEL,50000h
WLW ANI_SET_ZVEL,18000h,AM_ABS
WL 4,B3JK3A+FR9
WL 4,B3JK3A+FR8
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,SMALL_BOUNCE
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
.word ANI_DRAW_NAME,14
WL 3,B3JK3A+FR9
WL 3,B3JK3A+FR10
.word ANI_OFFSET,15,9,0
.word ANI_FACEUP
.word ANI_XFLIP
WL ANI_CHANGEANIM,bam_2_faceup_getup2_anim
#miss ;missed
WL ANI_CODE,CALL_MISSES
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,B3JK3A+FR9
WL 3,B3JK3A+FR10
.word ANI_OFFSET,15,9,0
.word ANI_FACEUP
.word ANI_XFLIP
WL ANI_CHANGEANIM,bam_2_faceup_getup2_anim
#*****************************************************************************
*
* TURNBUCKLE BELLYFLOP
SUBR bam_bellyflop_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
.ref BAMFRE_P
WLWW ANI_SHADOWTRAIL,BAMFRE_P,3,12 ;pal,rate,lifespan
.word ANI_STARTATTACK,AT_LEAPING,44
WL 3,B4FK4B+FR3
WL 3,B4FK4B+FR4
.word ANI_OFFSET,17,40,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 36,190,190,190,90000h,TGT_CHEST,18,0,20
; .word ANI_SETPLYRMODE,MODE_INAIR2
WL ANI_CODE,set_tbukl_airmode
.word ANI_GRAVITY_ON
.word ANI_SHAKECORNER
WL ANI_CODE,check_xvel
.WORD ANI_ADD_MOVE,MOVE_C_9,2,2
WL 4,B4FK4B+FR5
WL 4,B4FK4B+FR6
WL 4,B4FK4B+FR7
WL ANI_CODE,set_tbukl_confine
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-36,0,-30,110,38,60
WWL ANI_IFOPPMODE,MODE_ONGROUND,#opp_onground
WWL ANI_IFOPPMODE,MODE_DEAD,#opp_onground
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-36,28,-30,110,38,60
#opp_onground
WWL ANI_WAITHITOPP,30,B4FK4B+FR8
.word ANI_ATTACK_OFF
.word ANI_SETPLYRMODE,MODE_INAIR ;no steering once you hit.
WL ANI_IFSTATUS,#hit
;missed
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SHADOWTRAIL,0 ;off
WL ANI_CODE,HIT_THE_MAT
WL ANI_CODE,CALL_MISSES
; WL ANI_CODE,tbukl_miss_damage
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SHAKER,40
.word ANI_SHAKEALL,2
WL 4,B4FK4B+FR9
WL 4,B4FK4B+FR10
.word ANI_BOUNCE,4
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
WL ANI_CHANGEANIM,bam_4_faceup_getup3_anim
#hit
WL 4,B4FK4F+FR9
WL 4,B4FK4F+FR10
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHADOWTRAIL,0 ;off
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_ZEROVELS
.word ANI_SHAKER,20
.word ANI_SHAKEALL,3
.word ANI_DRAW_NAME,21
;FIX!!!
;Jason will do... Don't jerk opponent onto grnd if he is up in air
;This should already be working?!?
;Put in belly flop agnst inair guy here...
WL ANI_CODE,#attach_victim
WL ANI_SLAVEANIM,#release_table
.word ANI_SOUND,0A3h
.word ANI_DETACH
.word ANI_SETMODE,MODE_UNINT|MODE_INVISIBLE|MODE_NOSHADOW|MODE_NOCOLLIS
.word ANI_PAUSE,40
;reappear
WL ANI_CODE,#set_new_position
.word ANI_SETMODE,MODE_UNINT|MODE_NOSHADOW|MODE_NOCOLLIS|MODE_NOCONFINE
.word ANI_SOUND,0ABh
WL 4,B4RS4A+FR1
WL 4,B4RS4A+FR2
WL 4,B4RS4A+FR3
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
WL 4,B4RS4A+FR4
WL 4,B4RS4A+FR5
WL 4,B4RS4A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
;attach victim just as if we'd puppeted him
SUBRP #attach_victim
move *a13(WHOIHIT),a14,L
PUSH a13
move a13,a10
move a14,a13
calla hit_puppet_even_if_dead ;pretend collision
PULL a13
rets
SUBRP #set_new_position
movi #init_positions,a0
#lp1 move *a0(#NXT),a14,W
jrn #usea0 ;if last entry, use by default.
;use current entry if:
; X >= WORLDTLX+25 and
; X <= WORLDTLX+400-25
move *a0(#XPOS),a1
move @WORLDTLX,a14,L
sra 16,a14
addk 25,a14
cmp a14,a1
jrlt #nxt1
addi 350,a14
cmp a14,a1
jrle #usea0
#nxt1 addi #SIZE,a0
jruc #lp1
#usea0 move *a0(#XPOS),*a13(OBJ_XPOSINT)
move *a0(#ZPOS),*a13(OBJ_ZPOSINT)
move *a0(#YPOS),*a13(OBJ_YPOSINT)
move *a0(#YPOS),*a13(GROUND_Y)
move *a0(#INRING),*a13(INRING)
rets
;possible reappear positions. hunt until you find one that's
; onscreen, then use it. If none of them are onscreen (should
; never happen,) use the last entry in the table.
STRUCT 0
WORD #XPOS
WORD #ZPOS
WORD #YPOS
WORD #INRING
LABEL #SIZE
WORD #NXT ;first element of NEXT entry. check for -1.
;XPOSINT, ZPOSINT, YPOSINT/GROUND_Y, INRING
#init_positions
.word RING_X_CENTER,RING_Z_CENTER,MAT_Y,0 ;center
.word RING_TOP_LEFT,RING_Z_CENTER,MAT_Y,0 ;center left
.word RING_TOP_RIGHT,RING_Z_CENTER,MAT_Y,0 ;center right
.word RING_BOT_LEFT,RING_BOT,MAT_Y,0 ;bottom left
.word RING_BOT_RIGHT,RING_BOT,MAT_Y,0 ;bottom right
;various outside points.
.word 675,1184,0,1, 1475,921,0,1
.word 965,683,0,1, 1253,656,0,1
.word 814,1648,0,1, 1415,1608,0,1
.word 1097,1648,0,1, 659,696,0,1
.word 528,1657,0,1, 1652,1615,0,1
.word 1709,699,0,1, 1791,1174,0,1
.word 1874,1548,0,1
.word RING_X_CENTER,RING_Z_CENTER,MAT_Y,0 ;center
.word -1
SUBR burn_tbl
SUBRP #release_table
.long xxx_burn_anim,xxx_burn_anim,xxx_burn_anim
.long xxx_burn_anim,xxx_burn_anim,xxx_burn_anim
.long xxx_burn_anim,xxx_burn_anim,xxx_burn_anim
#*****************************************************************************
*
* BURN FROM BAM BAM FLAMING TURNBUCKLE SPLASH (generic - everyone uses this)
SUBR xxx_burn_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WL ANI_CODE,#hit_ground
WL ANI_CODE,#set_pal
WL 6,B4FK4F+FR11
WL 6,B4FK4F+FR12
WL 5,B4FK4F+FR13
WL 5,B4FK4F+FR14
.word ANI_SET_RPTCOUNT,2
#loop
WL 4,BURNBODY+FR1
WL 4,BURNBODY+FR2
WL 4,BURNBODY+FR3
WL 4,BURNBODY+FR4
WL 4,BURNBODY+FR5
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#loop
;done looping
WL ANI_CODE,#restore_pal
WL ANI_CODE,am_I_dead
WL ANI_IFNOTSTATUS,#nodead
WL ANI_CHANGEANIM_TBL,#convulse
#nodead
WL ANI_CHANGEANIM_TBL,#liedown_table
;Immediately snap to ground when the burn begins.
SUBRP #hit_ground
move *a13(GROUND_Y),*a13(OBJ_YPOSINT)
rets
SUBRP #set_pal
movi BAMBLU_P,a0
calla pal_getf
move *a13(OBJ_PAL),*a13(MY_PAL),W
move a0,*a13(OBJ_PAL),W
;set the TEMP_PAL bit
move *a13(STATUS_FLAGS),a14
ori M_TEMP_PAL,a14
move a14,*a13(STATUS_FLAGS)
rets
SUBRP #restore_pal
move *a13(MY_PAL),*a13(OBJ_PAL),W
;clear TEMP_PAL bit
move *a13(STATUS_FLAGS),a14
andni M_TEMP_PAL,a14
move a14,*a13(STATUS_FLAGS)
rets
#liedown_table
REFLONG hrt_liedown_anim ;0 Bret Hart
REFLONG rzr_liedown_anim ;1 Razor Ramon
REFLONG und_liedown_anim ;2 Undertaker
REFLONG yok_liedown_anim ;3 Yokozuna
REFLONG shn_liedown_anim ;4 Shawn Michaels
REFLONG bam_liedown_anim ;5 Bam Bam
REFLONG dnk_liedown_anim ;6 Doink
.long 0
REFLONG lex_liedown_anim ;8 Lex Luger
#convulse
REFLONG hrt_hitonground_anim ;0 Bret Hart
REFLONG rzr_hitonground_anim ;1 Razor Ramon
REFLONG und_hitonground_anim ;2 Undertaker
REFLONG yok_hitonground_anim ;3 Yokozuna
REFLONG shn_hitonground_anim ;4 Shawn Michaels
REFLONG bam_hitonground_anim ;5 Bam Bam
REFLONG dnk_hitonground_anim ;6 Doink
.long 0 ;7 spare
REFLONG lex_hitonground_anim ;8 Lex Luger
#*****************************************************************************
*
* #2 HEADBUTT
SUBR bam_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,B2BC3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2BC3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2BC3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_STARTATTACK,AT_HDBUTT,12
WL 3,B2BC3A+FR3
WL 3,B2BC3A+FR4
WL 3,B2BC3A+FR5
WL 3,B2BC3A+FR6
.word ANI_ATTACK_ON, AMODE_HDBUTT,5,79,40,19 ;mode,x,y,w,h
WL 3,B2BC3A+FR7
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,B2BC3A+FR7
#no_hit
WL 5,B2BC3A+FR7
WL 3,B2BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 HEADBUTT
SUBR bam_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,B4BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4BC3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_STARTATTACK,AT_HDBUTT,12
WL 3,B4BC3A+FR2
WL 3,B4BC3A+FR3
WL 3,B4BC3A+FR4
WL 3,B4BC3A+FR5
.word ANI_ATTACK_ON, AMODE_HDBUTT,5,79,40,19 ;mode,x,y,w,h
WL 3,B4BC3A+FR6
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,38000h
WL 6,B4BC3A+FR6
#no_hit2
WL 5,B4BC3A+FR6
WL 3,B4BC3A+FR7
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 HEADBUTTS - In close
SUBR bam_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_7,2,2
.word ANI_SET_RPTCOUNT,3 ;5 times
#rpt
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_HDBUTT,6
WL 2,B2BC3A+FR2
WL 1,B2BC3A+FR3
WL 2,B2BC3A+FR4
WL 1,B2BC3A+FR5
WL 2,B2BC3A+FR6
.word ANI_ATTACK_ON, AMODE_HDBUTT_STAY,5,79,40,19 ;mode,x,y,w,h
WL 2,B2BC3A+FR7
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,38000h
WL 6,B2BC3A+FR7
#no_hit
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,create_impact
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,B2BC3A+FR7
WL 2,B2BC3A+FR8
WL ANI_IF_RPTCOUNT,#rpt
WL ANI_CHANGEANIM,bam_2_knee_anim
#ex
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
WL 3,B2BC3A+FR7
WL 3,B2BC3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
WLLL ANI_SETOPPVELS,50000h,18000h,0h ;x,y,z vels
; WL 3,B2BC3A+FR7
#missed
WL 2,B2BC3A+FR7
WL 2,B2BC3A+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#* #4 HEADBUTT
SUBR bam_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_7,2,2
#rpt
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_HDBUTT,6
WL 2,B4BC3A+FR1
WL 1,B4BC3A+FR2
WL 2,B4BC3A+FR3
WL 1,B4BC3A+FR4
WL 2,B4BC3A+FR5
.word ANI_ATTACK_ON, AMODE_HDBUTT_STAY,5,79,40,19 ;mode,x,y,w,h
WL 2,B4BC3A+FR6
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
WL ANI_CODE,create_impact
.word ANI_SET_ATTACH
.word ANI_DEBRISAT,100,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
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,38000h
WL 6,B4BC3A+FR6
#no_hit2
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#ex
.word ANI_DEC_RPTCOUNT
WL 2,B4BC3A+FR6
WL 2,B4BC3A+FR7
WL ANI_IF_RPTCOUNT,#rpt
WL ANI_CHANGEANIM,bam_4_knee_anim
#ex
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,40000h,38000h,0h ;x,y,z vels
WL 3,B4BC3A+FR6
WL 3,B4BC3A+FR7
.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 3,B4BC3A+FR6
#missed
WL 2,B4BC3A+FR6
WL 2,B4BC3A+FR7
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 KICK - Against TB attacks
SUBR bam_kick_TB_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_SETPLYRMODE,MODE_INAIR2
.word ANI_STARTATTACK,AT_LEAPING,12
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL 3,B2KM3B+FR2
WL ANI_SET_YVEL,70000h
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
WL 2,B2KM3B+FR2
WL 2,B2KM3B+FR3
WL 2,B2KM3B+FR4
.word ANI_ATTACK_ON, AMODE_SPINKICK,35,65,66,43 ;mode,x,y,w,h
WL 10,B2KM3B+FR5
.word ANI_ATTACK_OFF
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_NORMAL
WL 3,B2KM3B+FR6
WL 2,B2KM3B+FR7
WL 3,B2KM3B+FR8
WL 2,B2KM3B+FR9
WL 3,B2KM3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 KICK
SUBR bam_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,B2KM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2KM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2KM3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_KICK,5
WL 1,B2KM3B+FR2
WL 2,B2KM3B+FR3
WL 2,B2KM3B+FR4
WL ANI_SET_YVEL,20000h
.word ANI_ATTACK_ON, AMODE_KICK,35,65,66,43 ;mode,x,y,w,h
WL 6,B2KM3B+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 6,B2KM3B+FR5
#no_hit2
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,B2KM3B+FR6
WL 2,B2KM3B+FR7
WL 3,B2KM3B+FR8
WL 2,B2KM3B+FR9
WL 3,B2KM3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 KICK
SUBR bam_4_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,B4KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4KM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_KICK,5
WL 1,B4KM3A+FR2
WL 2,B4KM3A+FR3
WL 2,B4KM3A+FR4
WL ANI_SET_YVEL,20000h
.word ANI_ATTACK_ON, AMODE_KICK,37,62,62,35 ;mode,x,y,w,h
WL 6,B4KM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 6,B4KM3A+FR5
#no_hit2
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,B4KM3A+FR6
WL 2,B4KM3A+FR7
WL 3,B4KM3A+FR8
WL 2,B4KM3A+FR9
WL 3,B4KM3A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #2 SUPER KARATE KICK
SUBR bam_2_superkick_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,B2BG3A+FR1
* #4 SUPER KARATE KICK
SUBR bam_4_superkick_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,10
WL 2,B4KM3E+FR1
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 8,999,65-5,40,90000h,TGT_HEAD,64,82,10
; WLW ANI_SET_ZVEL,0h,AM_ABS
WL ANI_SET_YVEL,30000h
.word ANI_FRICTION,4000h
WL 4,B4KM3E+FR2
WL 3,B4KM3E+FR3
.word ANI_ATTACK_ON, AMODE_SUPER_KICK,12,58,60,40 ;mode,x,y,w,h
WL 2,B4KM3E+FR5
WLW ANI_SET_ZVEL,0h,AM_ABS
WL 5,B4KM3E+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;hit
WL ANI_CODE,create_impact2
WL ANI_CODE,DO_FLAME_HIT_SND
WL ANI_CODE,CALL_NASTY_MOVE
.word ANI_ZEROVELS
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 7,B4KM3E+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#no_hit2
WL ANI_CODE,CALL_MISSES
.word ANI_WAITHITGND
WL 3,B4KM3E+FR5
WL ANI_CODE,skick_delay
WL ANI_IFNOTSTATUS,#none
WL 20,B4KM3E+FR5
#none
WL 2,B4KM3E+FR6
WL 3,B4KM3E+FR7
WL 2,B4KM3E+FR7
WL 3,B4KM3E+FR8
WL 2,B4KM3E+FR9
WL 3,B4KM3E+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedb
WWL ANI_SLIDE_BACK,30h,-70000h,#missed
WL ANI_SET_YVEL,30000h
WL 7,B4KM3E+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#missed
WL ANI_CODE,CALL_MISSES
WL 3,B4KM3E+FR5
.word ANI_WAITHITGND
WL ANI_CODE,skick_delay
WL ANI_IFNOTSTATUS,#none2
WL 20,B4KM3E+FR5
#none2
WL 3,B4KM3E+FR6
WL 2,B4KM3E+FR7
WL 3,B4KM3E+FR8
WL 2,B4KM3E+FR9
WL 3,B4KM3E+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR bam_combo_superkick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_STARTATTACK,AT_KICK,10
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
WL ANI_CODE,DO_FLAME_SND
WL 2,B4KM3E+FR1
WL 2,B4KM3E+FR2
WL 2,B4KM3E+FR3
.word ANI_ATTACK_ON, AMODE_KICK,12,28,60,60 ;mode,x,y,w,h
WL 1,B4KM3E+FR5
WLW ANI_SET_XVEL,0000h,AM_ABS
WLW ANI_SET_ZVEL,0h,AM_FACE_REL
WL 2,B4KM3E+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedc ;Yes, I hit blocker
WL ANI_CODE,DO_FLAME_HIT_SND
.WORD ANI_INC_COMBO
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,20000h,0h ;x,y,z vels
WL ANI_CODE,create_impact2
WL 2,B4KM3E+FR5
WL 2,B4KM3E+FR6
WL 2,B4KM3E+FR7
WL 2,B4KM3E+FR8
WL 2,B4KM3E+FR9
WL 2,B4KM3E+FR10
.word ANI_SET_RPTCOUNT,3 ;3 times
#k_loop
.word ANI_CLR_BUTCOUNT
.word ANI_STARTATTACK,AT_KICK,10
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
WL ANI_CODE,DO_FLAME_SND
WL 1,B4KM3E+FR1
WL 1,B4KM3E+FR2
WL 2,B4KM3E+FR3
.word ANI_ATTACK_ON, AMODE_KICK,12,28,60,60 ;mode,x,y,w,h
WL 1,B4KM3E+FR5
WLW ANI_SET_XVEL,0000h,AM_ABS
WLW ANI_SET_ZVEL,0h,AM_FACE_REL
WL 1,B4KM3E+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedc ;Yes, I hit blocker
WL ANI_CODE,DO_FLAME_HIT_SND
.WORD ANI_INC_COMBO
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,20000h,0h ;x,y,z vels
WL ANI_CODE,create_impact2
WL 1,B4KM3E+FR5
WL 1,B4KM3E+FR6
WL 1,B4KM3E+FR7
WL 1,B4KM3E+FR8
WL 1,B4KM3E+FR9
WL 1,B4KM3E+FR10
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#k_loop
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#CHECK_NEXT2
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_combo_hiptoss_anim
#CHECK_NEXT2
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#CHECK_NEXT1A
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_flying_kick_no_xvel
#CHECK_NEXT1A
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#CHECK_NEXT1
WL ANI_CHANGEANIM,bam_combo_pogo_anim
#CHECK_NEXT1
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NOT_HIT_AT_ALL
WLW ANI_SET_XVEL,8000h,AM_FACE_REL
WL ANI_CHANGEANIM,bam_combo_slap_anim_no_vel
#NOT_HIT_AT_ALL
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_DETACH
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedc
WL ANI_CODE,CALL_MISSES
WL 3,B4KM3E+FR5
.word ANI_WAITHITGND
WL 3,B4KM3E+FR6
WL 3,B4KM3E+FR7
WL 3,B4KM3E+FR8
WL 3,B4KM3E+FR9
WL 3,B4KM3E+FR10
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_DETACH
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 & #4 TURBO KICK
SUBR bam_4_jumpkick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
;;; .word ANI_SLOWMO,2
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_LEAPING,19
WL 3,B4KM3H+FR2
WL 3,B4KM3H+FR3
WL 3,B4KM3H+FR4
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 10,999,100,54,90000h,TGT_HEAD,70,100,20
WL ANI_CODE,no_bk_xvel
WL 4,B4KM3H+FR5
WL 3,B4KM3H+FR6
WL 3,B4KM3H+FR7
.word ANI_ATTACK_ON, AMODE_JUMPKICK,49,87,34,20 ;mode,x,y,w,h
WL 3,B4KM3H+FR9
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_OFF
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 6,B4KM3H+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 6,B4KM3H+FR9
WL 3,B4KM3H+FR10
WL 3,B4KM3H+FR11
WL 3,B4KM3H+FR12
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedb
WL 6,B4KM3H+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#missed
WL 6,B4KM3H+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,B4KM3H+FR10
WL 3,B4KM3H+FR11
WL 3,B4KM3H+FR12
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #3 FLYING KICK
SUBR bam_flying_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_STARTATTACK,AT_LEAPING,20
WL 3,B3DC3B+FR4
; ; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 14,999,145,65,90000h,TGT_HEAD,57,75,0
WL ANI_CODE,no_bk_xvel
WL 4,B3DC3B+FR5
WL 5,B3DC3B+FR6
.word ANI_OFFSET,0,50,0 ;x,y,z
WL 3,B3DC3B+FR7
; .word ANI_ATTACK_ON, AMODE_FLYKICK,53,-10,27,49 ;mode,x,y,w,h
.word ANI_ATTACK_ON,AMODE_FLYKICK,-34,16,110,36
WL 3,B3DC3B+FR8
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
WL ANI_IFNOTSTATUS,#hit
;A hit
WL ANI_CODE,create_impact_flykick
WL ANI_GOTO,#hit
#missedb
; .word ANI_ZERO_XZVELS
WLW ANI_SET_ZVEL,0,AM_ABS
#hit
WL 3,B3DC3B+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_BOUNCE,3
WL 3,B3DC3B+FR11
; WL 3,B3DC3B+FR9
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
; WL 2,B3DC3B+FR9
WL 5,B3DC3B+FR11
.word ANI_XFLIP
.word ANI_OFFSET,5,0,0 ;x,y,z
WL 3,B3GU2A+FR5
WL 2,B3GU2A+FR6
WL 3,B3GU2A+FR7
WL 2,B3GU2A+FR8
WL 3,B3GU2A+FR9
;Check for a flip here
WL 1,B3GU2A+FR10
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 1,B3GU2A+FR10
WL 2,B3GU2A+FR10
WL 3,B3GU2A+FR11
WL 2,B3GU2A+FR12
WL 3,B3GU2A+FR13
.word ANI_SAFE_TIME,30
WL ANI_CODE,free_toss_check
WL ANI_IFNOTSTATUS,#no_freetoss
.word ANI_ATTACK_ON,AMODE_HITCHECK,36,85,49,17
WL 1,B3GU2A+FR13
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_freetoss
;Opponent standing too close -- free toss
WL ANI_CODE,setup_freetoss
WL ANI_CHANGEANIM,bam_4_push_anim
#no_freetoss
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBRP bam_flying_kick_no_xvel
.word ANI_STARTATTACK,AT_LEAPING,20
WLW ANI_SET_XVEL,20000h,AM_FACE_REL
WL ANI_SET_YVEL,44000h
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL 4,B3DC3B+FR5
WL 7,B3DC3B+FR6
.word ANI_OFFSET,0,50,0 ;x,y,z
WL 3,B3DC3B+FR7
.word ANI_CLR_STATUS
.word ANI_ATTACK_ON, AMODE_FLYKICK,53,-10,27,49 ;mode,x,y,w,h
WL 3,B3DC3B+FR8
.word ANI_ATTACK_OFF
.WORD ANI_INC_COMBO
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,B3DC3B+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_BOUNCE,3
WL 3,B3DC3B+FR11
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
WL 5,B3DC3B+FR11
.word ANI_XFLIP
.word ANI_OFFSET,5,0,0 ;x,y,z
WL 3,B3GU2A+FR5
WL 3,B3GU2A+FR6
WL 3,B3GU2A+FR7
WL 3,B3GU2A+FR8
WL 3,B3GU2A+FR9
;Check for a flip here
WL 1,B3GU2A+FR10
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 2,B3GU2A+FR10
WL 3,B3GU2A+FR10
WL 3,B3GU2A+FR11
WL 3,B3GU2A+FR12
WL 3,B3GU2A+FR13
.word ANI_SAFE_TIME,30
WL ANI_CODE,free_toss_check
WL ANI_IFNOTSTATUS,#no_freetoss1
.word ANI_ATTACK_ON,AMODE_HITCHECK,36,85,49,17
WL 1,B3GU2A+FR13
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_freetoss1
;Opponent standing too close -- free toss
WL ANI_CODE,setup_freetoss
WL ANI_CHANGEANIM,bam_4_push_anim
#no_freetoss1
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 STOMP ON FALLEN OPPONENT
SUBR bam_2_stomp_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_STARTATTACK,AT_STOMP,12
WL 2,B2MP2A+FR2
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,13,0,-40,22,28,50
WL 1,B2MP2A+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat_stomp
WL 3,B2MP2A+FR3
WL 3,B2MP2A+FR4
WL 3,B2MP2A+FR5
.word ANI_ATTACK_ON_Z,AMODE_STOMP,13,0,-40,22,28,50
WL 1,B2MP2A+FR6
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
WL 3,B2MP2A+FR6
WL 3,B2MP2A+FR7
WL 3,B2MP2A+FR8
WL 3,B2MP2A+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#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,40000h,TGT_USER,24,0,-30
WL ANI_CODE,no_bk_xvel
WL 4,B2MP2A+FR3
WL 4,B2MP2A+FR4
WL 4,B2MP2A+FR5
.word ANI_ATTACK_ON_Z,AMODE_STOMP,13,0,-40,22,28,50
WL 1,B2MP2A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#l_missed
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL ANI_SET_YVEL,40000h
WLW ANI_SET_ZVEL,13000h,AM_ABS
WL ANI_GOTO,#l_hit
#l_missed
WL ANI_CODE,CALL_MISSES
#l_hit
WL 3,B2MP2A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,B2MP2A+FR7
WL 3,B2MP2A+FR8
WL 3,B2MP2A+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 STOMP ON FALLEN OPPONENT
SUBR bam_4_stomp_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 2,B4MP4A+FR2
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,-3,-5,-10,46,35,50
WL 1,B4MP4A+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat
.word ANI_STARTATTACK,AT_STOMP,8
WL 3,B4MP4A+FR3
WL 3,B4MP4A+FR4
WL 2,B4MP4A+FR5
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-3,-5,-10,46,35,50
WL 1,B4MP4A+FR6
.word ANI_ATTACK_OFF
WL ANI_GOTO,#common
#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,12,0,30
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_STOMP,16
WL 3,B4MP4A+FR3
WL 3,B4MP4A+FR4
WL 3,B4MP4A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-3,-5,-10,46,35,50
WL 1,B4MP4A+FR6
.word ANI_ATTACK_OFF
#common
WL ANI_IFNOTSTATUS,#missed
.word ANI_SHAKER,25
.word ANI_SHAKEALL,1
WL ANI_GOTO,#hit
#missed
WL ANI_CODE,CALL_MISSES
#hit
WL 3,B4MP4A+FR6
WL 3,B4MP4A+FR7
WL 3,B4MP4A+FR8
WL 3,B4MP4A+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
;#*****************************************************************************
;*
;* #2 BIG BOOT
;* #4 BIG BOOT
;
; SUBR bam_4_bigboot_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_ADD_MOVE,MOVE_C_7,2,2
; .word ANI_STARTATTACK,AT_BIGBOOT,12
; WL 2,B4KM3A+FR1
; WL 2,B4KM3A+FR2
; WL 2,B4KM3A+FR3
; WL 2,B4KM3A+FR4
;
; WL ANI_CODE,#clrcnt
; WL ANI_SET_YVEL,20000h
; .word ANI_ATTACK_ON, AMODE_BIGBOOT,37,62,62,35 ;mode,x,y,w,h
; WWL ANI_WAITHITOPP,10,B4KM3A+FR5
;; .word ANI_WAITHITGND
;; .word ANI_ZEROVELS
;#lp0
; .word ANI_STARTATTACK,AT_BIGBOOT,5
; WL 2,B4KM3A+FR5
; WL ANI_CODE,#holdup
; WL ANI_IFSTATUS,#lp0
; .word ANI_ATTACK_OFF
; WL ANI_IFNOTSTATUS,#missed
; .word ANI_DRAW_NAME,27
;#missed
;
; WL 3,B4KM3A+FR6
; WL 3,B4KM3A+FR7
; WL 3,B4KM3A+FR8
; WL 3,B4KM3A+FR9
; WL 3,B4KM3A+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 bam_2_knee_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_KNEE,6
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2NM3A+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2NM3A+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B2NM3A+FR3
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 21,999,36,30,90000h,TGT_CHEST,56,74+10,0
WL 3,B2NM3A+FR4
.word ANI_ATTACK_ON, AMODE_KNEE,34,31,52,51 ;mode,x,y,w,h
WL 3,B2NM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,60000h
WLW ANI_SET_ZVEL,10000h,AM_ABS
WL 3,B2NM3A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#cont
#no_hit
WL ANI_IFNOTSTATUS,#nodrft
WLW ANI_SET_ZVEL,10000h,AM_ABS
WL 15,B2NM3A+FR5
.word ANI_ZERO_XZVELS
#nodrft
WL 1,B2NM3A+FR5
.word ANI_WAITHITGND
.word ANI_ZERO_XZVELS
WL 3,B2NM3A+FR5
#cont
WL 3,B2NM3A+FR6
WL 3,B2NM3A+FR7
WL 3,B2NM3A+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 KNEE
SUBR bam_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
.word ANI_STARTATTACK,AT_KNEE,6
WL 1,B4NM3A+FR2
WL ANI_GOTO,#cont2a
SUBR bam_4_knee_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_KNEE,6
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,B4NM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
#cont2a
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 21,999,36,20,90000h,TGT_CHEST,46,74+10,0
WL 3,B4NM3A+FR3
WL 3,B4NM3A+FR4
.word ANI_ATTACK_ON, AMODE_KNEE,29,32,46,40 ;mode,x,y,w,h
WL 3,B4NM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,60000h
WLW ANI_SET_ZVEL,-10000h,AM_ABS
WL 3,B4NM3A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#cont2
#no_hit2
WL 1,B4NM3A+FR5
.word ANI_WAITHITGND
.word ANI_ZERO_XZVELS
#cont2
WL 3,B4NM3A+FR5
WL 3,B4NM3A+FR4
WL 3,B4NM3A+FR3
WL 3,B4NM3A+FR2
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* GRAB & FLING OPPONENT (INTO A RUN)
SUBR bam_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,B1TT5Z+FR2
WL 2,B1TT5Z+FR3
WL ANI_GOTO,#cont
SUBR bam_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,B4GF3A+FR1
.word ANI_ATTACK_ON, AMODE_PUPPET_NOFLAIL,33,56,44,18 ;mode,x,y,w,h
WWL ANI_WAITHITOPP,6,B4GF3A+FR2
.word ANI_ZERO_XZVELS
WWL ANI_WAITHITOPP,2,B4GF3A+FR3
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedb
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;got him
WL ANI_CODE,DO_GRUNT
WL ANI_CODE,CALL_SETUP
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
.word ANI_SETOPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
; attacker sequence
WWLLW ANI_SUPERSLAVE2,10,B4GF3A+FR4,#puppet_tbl,0
WWLLW ANI_SUPERSLAVE2,5,B4GF3A+FR5,#puppet_tbl,1
WWLLW ANI_SUPERSLAVE2,4,B4GF3A+FR6,#puppet_tbl,2
WWLLW ANI_SUPERSLAVE2,3,B4GF3A+FR7,#puppet_tbl,3
WWLLW ANI_SUPERSLAVE2,3,B4GF3A+FR8,#puppet_tbl,4
WWLLW ANI_SUPERSLAVE2,3,B4GF3A+FR9,#puppet_tbl,5
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL ANI_SLAVEANIM,#strt_run_tbl
.word ANI_CLROPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_DETACH
WL 6,B4GF3A+FR9
WL 4,B4GF3A+FR11
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
WL ANI_CODE,fling_delay
WL ANI_IFNOTSTATUS,#missed
WL 25,B4GF3A+FR3
#missed
WL ANI_CODE,CALL_MISSES
WL 6,B4GF3A+FR3
WL 3,B4GF3A+FR2
WL 3,B4GF3A+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 D4YR3B,D3RN3B
.ref L4YR3B,L3RN3B
#Bret
LWWW H4YR3A+FR1,54,5,1
LWWW H4YR3A+FR2,44,7,1
LWWW H4YR3A+FR3,34,12,1
LWWW H4YR3A+FR5,16,8,1
LWWW H3RN3A+FR1,10,-10,0
LWWW H3RN3A+FR2,-45,-8,0
#Razor
LWWW R4YR3A+FR1,37,14,0
LWWW R4YR3A+FR2,21,18,0
LWWW R4YR3A+FR3,-9,14,0
LWWW R4YR3A+FR4,-28,10,0
LWWW R3RN3D+FR10,16,3,0
LWWW R3RN3D+FR11,-29,2,0
#Taker
LWWW U4YR3B+FR2,42,18,0
LWWW U4YR3B+FR3,37,15,0
LWWW U4YR3B+FR4,15,26,0
LWWW U4YR3B+FR5,4,19,0
LWWW U3RN3A+FR1,17,4,0
LWWW U3RN3A+FR2,-31,1,0
#Yokozuna
LWWW Y4YR3A+FR1,54,10,1
LWWW Y4YR3A+FR4,25,13,1
LWWW Y4YR3A+FR5,14,17,1
LWWW Y4YR3A+FR7,-10,1,1
LWWW Y3RN3C+FR7,34,3,0
LWWW Y3RN3C+FR8,2,0,0
#Shawn
LWWW S4YR3A+FR2,36,4,1
LWWW S4YR3A+FR3,45,-4,1
LWWW S4YR3A+FR5,8,14,1
LWWW S4YR3A+FR6,-4,6,1
LWWW S3RN3A+FR2,18,-4,0
LWWW S3RN3A+FR3,-19,-5,0
#BamBam
LWWW B4YR3A+FR3,46,11,0
LWWW B4YR3A+FR4,53,7,0
LWWW B4YR3A+FR5,46,13,0
LWWW B4YR3A+FR7,-21,3,0
LWWW B3RN3A+FR1,16,0,0
LWWW B3RN3A+FR2,-41,0,0
#Doink
LWWW D4YR3B+FR1,71,9,1
LWWW D4YR3B+FR2,60,13,1
LWWW D4YR3B+FR3,38,17,1
LWWW D4YR3B+FR4,8,12,1
LWWW D3RN3B+FR3,27,3,0
LWWW D3RN3B+FR4,-35,-1,0
#Adam
.long 0
#Lex
LWWW L4YR3B+FR1,67,10,1
LWWW L4YR3B+FR2,43,5,1
LWWW L4YR3B+FR3,20,12,1
LWWW L4YR3B+FR4,-27,5,1
LWWW L3RN3B+FR2,27,1,0
LWWW L3RN3B+FR3,-19,-3,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
#*****************************************************************************
*
* #2 HEAD HIT
SUBR bam_2_head_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WL 3,B2AH2A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,B2AH2A+FR2
WL 2,B2AH2A+FR3
WL 3,B2AH2A+FR4
WL 2,B2AH2A+FR5
WL 3,B2AH2A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEAD HIT
SUBR bam_4_head_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,B4AH4A+FR1
WL 2,B4AH4A+FR2
WL 3,B4AH4A+FR3
WL 2,B4AH4A+FR4
WL 3,B4AH4A+FR5
WL 2,B4AH4A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #2 HEAD HIT - From spin kick
SUBR bam_2_head_hit2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
WLW ANI_SET_ZVEL,20000h,AM_HIT_REL
WL ANI_SET_YVEL,40000h
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WL 3,B2AH2A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,B2AH2A+FR2
WL 1,B2AH2A+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B2AH2A+FR4
WL 2,B2AH2A+FR5
WL 2,B2AH2A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEAD HIT - From spin kick
SUBR bam_4_head_hit2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
WLW ANI_SET_ZVEL,-20000h,AM_ABS
WL ANI_SET_YVEL,40000h
.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,B4AH4A+FR1
WL 3,B4AH4A+FR2
WL 1,B4AH4A+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B4AH4A+FR4
WL 2,B4AH4A+FR5
WL 2,B4AH4A+FR6
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR bam_4_head_hit4_anim
;From earslap
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
; WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
; WLW ANI_SET_ZVEL,-20000h,AM_ABS
WL ANI_SET_YVEL,40000h
.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 4,B4AH4A+FR3
; .word ANI_WAITHITGND
; .word ANI_ZEROVELS
WL 3,B4AH4A+FR4
WL 3,B4AH4A+FR5
WL 3,B4AH4A+FR6
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* HEAD HIT2 (HANDS ON FACE)
SUBR bam_head_hit2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
.word ANI_FRICTION,3000h
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WL 3,B3AE3A+FR2
WL 2,B3AE3A+FR3
WL 3,B3AE3A+FR4
WL 2,B3AE3A+FR5
WL 3,B3AE3A+FR6
WL 2,B3AE3A+FR7
WL 3,B3AE3A+FR8
WL 2,B3AE3A+FR9
WL 3,B3AE3A+FR10
WL 2,B3AE3A+FR11
WL 2,B3AE3A+FR12
WL ANI_CODE,am_I_dead
;If I'm dead, goto fall back
WL ANI_IFNOTSTATUS,#nodead
WL ANI_CHANGEANIM,bam_fall_back_anim
; .word ANI_END
#nodead
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR bam_head_hit2s_anim
;Salt hits me in face
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL ANI_CODE,create_impact_salt
WL 4,B3AE3A+FR2
WL 4,B3AE3A+FR3
WL 4,B3AE3A+FR4
WL 4,B3AE3A+FR5
WL 4,B3AE3A+FR6
.word ANI_WAITHITGND
.word ANI_FRICTION,4000h
WL 50,B3AE3A+FR6
.word ANI_ZEROVELS
WL 3,B3AE3A+FR7
WL 3,B3AE3A+FR8
WL 3,B3AE3A+FR9
WL 3,B3AE3A+FR10
WL 3,B3AE3A+FR11
WL 3,B3AE3A+FR12
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* HEAD HIT2 (ENDS IN DIZZY)
SUBR bam_head_hit_dizzy_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,-60000h,AM_HIT_REL
.word ANI_FRICTION,3000h
.word ANI_SETPLYRMODE,MODE_DIZZY
WL 4,B3AE3A+FR2
WL 4,B3AE3A+FR3
WL 4,B3AE3A+FR4
WL 4,B3AE3A+FR5
WL 4,B3AE3A+FR6
WL 4,B3AE3A+FR7
WL 4,B3AE3A+FR8
WL 4,B3AE3A+FR9
WL 4,B3AE3A+FR10
WL 4,B3AE3A+FR11
WL 4,B3AE3A+FR12
; .word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CHANGEANIM,bam_dizzy_anim
; .word ANI_END
#*****************************************************************************
*
* #2 BODY HIT
SUBR bam_2_body_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,48000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
WL ANI_CODE,ckzpos
WL 3,B2AM2A+FR1
WL 3,B2AM2A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,B2AM2A+FR3
WL 1,B2AM2A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B2AM2A+FR5
WL 2,B2AM2A+FR6
WL 2,B2AM2A+FR7
WL 2,B2AM2A+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 BODY HIT
SUBR bam_4_body_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,48000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
WL ANI_CODE,ckzpos
WL 3,B4AM4A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,B4AM4A+FR2
WL 3,B4AM4A+FR3
WL 1,B4AM4A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B4AM4A+FR5
WL 2,B4AM4A+FR6
WL 2,B4AM4A+FR7
WL 2,B4AM4A+FR8
.word ANI_CHECKWORD,USR_VAR1
WL ANI_IFNOTSTATUS,#reg
WL 8,B4TI4A+FR1
WL 8,B4TI4A+FR2
WL 8,B4TI4A+FR3
WL 8,B4TI4A+FR4
WL 8,B4TI4A+FR5
WL 8,B4TI4A+FR6
WL 8,B4TI4A+FR7
WL 8,B4TI4A+FR6
WL 8,B4TI4A+FR5
WL 8,B4TI4A+FR4
WL 8,B4TI4A+FR3
WL 8,B4TI4A+FR2
#reg
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 BODY HIT - DIZZY
SUBR bam_4_body_hit_dizzy_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,48000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
.word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CODE,ckzpos
WL 3,B4AM4A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,B4AM4A+FR2
WL 3,B4AM4A+FR3
WL 1,B4AM4A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,B4AM4A+FR5
WL 3,B4AM4A+FR6
WL 3,B4AM4A+FR7
WL 3,B4AM4A+FR8
.word ANI_FACEDOWN
; .word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CHANGEANIM,bam_dizzy_anim
; .word ANI_END
SUBR bam_2_knee_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,78000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
WLW ANI_SET_ZVEL,8000h,AM_ABS
WL ANI_CODE,ckzpos
WL 3,B2AM2A+FR1
WL 3,B2AM2A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,B2AM2A+FR3
WL 1,B2AM2A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B2AM2A+FR5
WL 2,B2AM2A+FR6
WL 2,B2AM2A+FR7
WL 2,B2AM2A+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR bam_4_knee_hit_dizzy_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,78000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
WLW ANI_SET_ZVEL,-8000h,AM_ABS
.word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CODE,ckzpos
WL 3,B4AM4A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,B4AM4A+FR2
WL 3,B4AM4A+FR3
WL 1,B4AM4A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,B4AM4A+FR5
WL 3,B4AM4A+FR6
WL 3,B4AM4A+FR7
WL 3,B4AM4A+FR8
.word ANI_FACEDOWN
; .word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CHANGEANIM,bam_dizzy_anim
; .word ANI_END
* #4 BODY HIT
SUBR bam_4_knee_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,78000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
WLW ANI_SET_ZVEL,-8000h,AM_ABS
WL ANI_CODE,ckzpos
WL 3,B4AM4A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,B4AM4A+FR2
WL 3,B4AM4A+FR3
WL 1,B4AM4A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,B4AM4A+FR5
WL 2,B4AM4A+FR6
WL 2,B4AM4A+FR7
WL 2,B4AM4A+FR8
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR bam_quick_knee_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,B4AM4A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,B4AM4A+FR2
WL 3,B4AM4A+FR3
WL 3,B4AM4A+FR4
WL 3,B4AM4A+FR5
WL 3,B4AM4A+FR6
WL 3,B4AM4A+FR7
WL 3,B4AM4A+FR8
.word ANI_FACEDOWN
WL ANI_CODE,am_I_dead
;If I'm dead, goto fall back
WL ANI_IFNOTSTATUS,#nodead
WL ANI_CHANGEANIM,bam_fall_back_anim
; .word ANI_END
#nodead
WL ANI_CHANGEANIM,bam_3_head_held_anim
; .word ANI_END
#*****************************************************************************
*
* HITS ON GROUND
SUBR bam_hitonground_xflip_anim
.word ANI_XFLIP
;fall through
SUBR bam_hitonground_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETSPEED,100h
WL 1,B3CP3B+FR1
WL ANI_SET_YVEL,39000h
.word ANI_DEBRIS,50,1,0,8,0 ;%chance, tbl index, x,y,z off
WL 2,B3CP3B+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPITUP_SWEAT,SWEAT_PER,0
WL 3,B3CP3B+FR2
WL 3,B3CP3B+FR3
WL 2,B3CP3B+FR4
WL 3,B3CP3B+FR5
WL 2,B3CP3B+FR6
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 2,B3CP3B+FR7
SUBR bam_liedown_anim
WL 1,B3RL1A+FR1 ;1st frame of roll
.word ANI_WAITROLL
WL ANI_CHANGEANIM,bam_faceup_getup_anim
; .word ANI_END
SUBR bam_up_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.WORD ANI_XFLIP
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETSPEED,100h
WL 10,B4TD3B+FR4
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 3,B3CP3B+FR7
WL 2,B3RL1A+FR1 ;1st frame of roll
.word ANI_WAITROLL
WL ANI_CHANGEANIM,bam_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
*
* FALL BACK
SUBR bam_fall_back_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_ZERO_XZVELS
WL ANI_MIN_YVEL,68000h
WLW ANI_SET_ZVEL,10000h,AM_FACE_REL
.word ANI_SCROLL_CTRL,BAM_TBUKLY
WL ANI_CODE,ckzpos
WWL ANI_SETLONG,DEBRIS_X,[106,-29] ;Y,X of head
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYC_SWEAT,SWEAT_PER,0
WL 4,B4UC3B+FR1
.word ANI_OFFSET,0,52,0
WWL ANI_SETLONG,DEBRIS_X,[44,-42] ;Y,X of head
WL 4,B4UC3B+FR2
WWL ANI_SETLONG,DEBRIS_X,[37,-45] ;Y,X of head
WL 4,B4UC3B+FR3
WWL ANI_SETLONG,DEBRIS_X,[24,-50] ;Y,X of head
WL 4,B4UC3B+FR4
WWL ANI_SETLONG,DEBRIS_X,[16,-54] ;Y,X of head
WL 4,B4UC3B+FR5
.word ANI_WAITHITGND
.word ANI_DEBRIS,50,1,0,8,0 ;%chance, tbl index, x,y,z off
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,1
.word ANI_SHAKER,50
.word ANI_FRICTION,2000h
WWL ANI_SETLONG,DEBRIS_X,[14,-54] ;Y,X of head
WL 2,B4UC3B+FR6
.word ANI_BOUNCE,5
WL 2,B4UC3B+FR6
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WWL ANI_SETLONG,DEBRIS_X,[14,-54] ;Y,X of head
WL 4,B4UC3B+FR7
WWL ANI_SETLONG,DEBRIS_X,[14,-54] ;Y,X of head
WL 4,B4UC3B+FR8
.word ANI_OFFSET,8,0,5 ;x,y,z
.word ANI_XFLIP
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL 1,B3RL1A+FR1
.word ANI_WAITROLL
WL ANI_CHANGEANIM,bam_faceup_getup_anim
; .word ANI_END
SUBR bam_fall_back2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,18000h
WLW ANI_SET_ZVEL,18000h,AM_ABS
WL ANI_CODE,ckzpos
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYC_SWEAT,SWEAT_PER,0
WL 4,B4UC3B+FR1
.word ANI_OFFSET,0,52,0
WL 4,B4UC3B+FR2
WL 4,B4UC3B+FR3
WL 4,B4UC3B+FR4
WL 4,B4UC3B+FR5
.word ANI_WAITHITGND
.word ANI_DEBRIS,100,1,0,8,0 ;%chance, tbl index, x,y,z off
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,1
.word ANI_SHAKER,50
.word ANI_ZEROVELS
WLW ANI_SET_ZVEL,18000h,AM_ABS
WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
WL 4,B3FD3C+FR1
WL 4,B3FD3C+FR2
WL 4,B3FD3C+FR3
WL 4,B3FD3C+FR4
WL 4,B3FD3C+FR5
.word ANI_OFFSET,-35,0,0 ;x,y,z
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
WL ANI_CODE,HIT_THE_MAT
WL 3,B3MS3X+FR1
WL 3,B3MS3X+FR2
WL 3,B3MS3X+FR3
WL 20,B3RL1A+FR7
WL ANI_CHANGEANIM,bam_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
*
* FALL FROM TURNBUCKLE
SUBR bam_fall_back_tbukl_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
.word ANI_SETSPEED,100h
WL 4,B4UC3B+FR1
.word ANI_OFFSET,0,52,0
WL 4,B4UC3B+FR2
WL 4,B4UC3B+FR3
WL 4,B4UC3B+FR4
WL 4,B4UC3B+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_DAMAGE,D_HITCONCRETE
.word ANI_DEBRIS,100,1,0,8,0 ;%chance, tbl index, x,y,z off
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,1
.word ANI_SHAKER,45
; .word ANI_FRICTION,2000h
WL 2,B4UC3B+FR6
; .word ANI_BOUNCE,5
WL 2,B4UC3B+FR6
; .word ANI_WAITHITGND
; WL ANI_CODE,SMALL_BOUNCE
; .word ANI_ZEROVELS
WL 4,B4UC3B+FR7
WL 4,B4UC3B+FR8
.word ANI_OFFSET,8,0,5 ;x,y,z
.word ANI_XFLIP
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 4,B3RL1A+FR1
.word ANI_WAITROLL
WL ANI_CHANGEANIM,bam_faceup_getup_anim
#*****************************************************************************
*
SUBR bam_faceup_getup_anim
WL ANI_CODE,choose_2or4
WL ANI_IFSTATUS,bam_4_faceup_getup_anim
WL ANI_CHANGEANIM,bam_2_faceup_getup_anim
SUBR bam_2_faceup_getup_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
; .word ANI_CLR_STARS
; .word ANI_CLR_DAMAGE
WL 3,B3GU2A+FR1
WL ANI_GOTO,#common2
SUBR bam_2_faceup_getup2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
; .word ANI_CLR_STARS
; .word ANI_CLR_DAMAGE
#common2
WL 3,B3GU2A+FR2
WL 2,B3GU2A+FR3
WL 3,B3GU2A+FR4
WL 2,B3GU2A+FR5
WL 3,B3GU2A+FR6
WL 2,B3GU2A+FR7
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
WL 3,B3GU2A+FR8
WL 2,B3GU2A+FR9
;Check for a flip here
WL 1,B3GU2A+FR10
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 2,B3GU2A+FR10
WL 2,B3GU2A+FR11
WL 3,B3GU2A+FR12
.word ANI_SAFE_TIME,50
WL ANI_CODE,free_toss_check
WL ANI_IFNOTSTATUS,#no_freetoss2
.word ANI_ATTACK_ON,AMODE_HITCHECK,36,85,49,17
WL 1,B3GU2A+FR12
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_freetoss2
;Opponent standing too close -- free toss
WL ANI_CODE,setup_freetoss
WL ANI_CHANGEANIM,bam_4_push_anim
#no_freetoss2
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR bam_4_faceup_getup_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
; .word ANI_CLR_STARS
; .word ANI_CLR_DAMAGE
WL 3,B3GU4A+FR1
WL 2,B3GU4A+FR2
WL 3,B3GU4A+FR3
WL ANI_GOTO,#common4
SUBR bam_4_faceup_getup2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
; .word ANI_CLR_STARS
; .word ANI_CLR_DAMAGE
#common4
WL 2,B3GU4A+FR4
WL 3,B3GU4A+FR5
WL 2,B3GU4A+FR6
#frame7
WL 3,B3GU4A+FR7
WL 2,B3GU4A+FR8
WL 3,B3GU4A+FR9
;Check for a flip here
WL 1,B3GU4A+FR10
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 2,B3GU4A+FR10
WL 2,B3GU4A+FR11
WL 3,B3GU4A+FR12
.word ANI_SAFE_TIME,50
WL ANI_CODE,free_toss_check
WL ANI_IFNOTSTATUS,#no_freetoss3
.word ANI_ATTACK_ON,AMODE_HITCHECK,36,85,49,17
WL 1,B3GU4A+FR12
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_freetoss3
;Opponent standing too close -- free toss
WL ANI_CODE,setup_freetoss
WL ANI_CHANGEANIM,bam_4_push_anim
#no_freetoss3
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR bam_4_faceup_getup3_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
; .word ANI_CLR_STARS
; .word ANI_CLR_DAMAGE
WL ANI_GOTO,#frame7
#*****************************************************************************
*
* DIZZY
SUBR bam_dizzy_anim
.word ANI_SETMODE,MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_START_DIZZY,0 ;0=Standing dizzy
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
#loop
WL 8,B4TI4A+FR1
WL 8,B4TI4A+FR2
WL 8,B4TI4A+FR3
WL 8,B4TI4A+FR4
WL 8,B4TI4A+FR5
WL 8,B4TI4A+FR6
WL 8,B4TI4A+FR7
WL 8,B4TI4A+FR6
WL 8,B4TI4A+FR5
WL 8,B4TI4A+FR4
WL 8,B4TI4A+FR3
WL 8,B4TI4A+FR2
WL ANI_GOTO,#loop
#*****************************************************************************
SUBR bam_roll_frames
.word 7 ;speed
.long 50000h ;z velocity
.long 10000h*10/255 ;inv multiply (0-255 -> 0-10)
.long B3RL1A+FR1 ;0
.long B3RL1A+FR2 ;1
.long B3RL1A+FR3 ;2
.long B3RL1A+FR4 ;3
.long B3RL1A+FR5 ;4
.long B3RL1A+FR6 ;5
.long B3RL1A+FR7 ;6
.long B3RL1A+FR8 ;7
.long B3RL1A+FR9 ;8
.long B3RL1A+FR10 ;9
.long B3RL1A+FR11 ;10
.long 0,0,0,0,0,0
#*****************************************************************************
*
* Get tossed out of ring from Shawn's Frankensteiner
*
SUBR bam_rxn2_fsteiner_anim
.word ANI_END
#*****************************************************************************
*
* #2 BLOCK
; SUBR bam_2_block_anim
;
; .word ANI_SETMODE,MODE_UNINT ;uninterruptable
; .word ANI_ZERO_XZVELS
; .word ANI_SETSPEED,100h
;
; .word ANI_SETFACING ;ANI_XFLIP <- not primary anim
; .word ANI_SET_WRESTLER_XFLIP
;;Rotate toward opponent if needed!
;
; WL ANI_CODE,block_if_safe
; WL 3,B2BK3B+FR1
; .word ANI_SETPLYRMODE,MODE_BLOCK
; WL 3,B2BK3B+FR2
;#blk2 WL 3,B2BK3B+FR3
; .word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
; .word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
; .word ANI_SETMODE,MODE_NOAUTOFLIP ;uninterruptable
; .word ANI_SETFACING
; WL 3,B2BK3B+FR2
; WL 3,B2BK3B+FR1
; .word ANI_SETPLYRMODE,MODE_NORMAL
; .word ANI_END
;
; SUBR bam_2_hitblock_anim
;
; .word ANI_SETMODE,MODE_UNINT ;uninterruptable
; .word ANI_FRICTION,4000h
; .word ANI_SETSPEED,100h
;
; WL ANI_CODE,DO_BLOCKED
; WL 2,B2BK3B+FR4
; WL 2,B2BK3B+FR5
; WL 2,B2BK3B+FR4
; WL ANI_GOTO,#blk2
* #4 BLOCK
SUBR bam_4_block_anim
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
.word ANI_ZERO_XZVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
;Rotate toward opponent if needed!
; WL ANI_CODE,block_if_safe
.word ANI_SETPLYRMODE,MODE_BLOCK
WL 2,B4BK3D+FR2
WL 1,B4BK3D+FR3
; .word ANI_SETPLYRMODE,MODE_BLOCK
WL 1,B4BK3D+FR3
#blk4 WL 2,B4BK3D+FR4
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT|MODE_FRICTION
; .word ANI_ZERO_XZVELS
.word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
.word ANI_SETMODE,MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETFACING
WL 2,B4BK3D+FR3
WL 2,B4BK3D+FR2
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR bam_4_hitblock_anim
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
.word ANI_FRICTION,5000h
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_BLOCKED
WL 1,B4BK3D+FR6
WL 1,B4BK3D+FR7
WL 1,B4BK3D+FR8
WL 1,B4BK3D+FR7
WL 1,B4BK3D+FR6
WL ANI_GOTO,#blk4
SUBR bam_4_hitblock2_anim
.word ANI_SETMODE,MODE_UNINT ;uninterruptable
.word ANI_FRICTION,4000h
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_BLOCKED
WL ANI_SET_YVEL,38000h
WL 3,B4BK3D+FR6
WL 3,B4BK3D+FR7
WL 3,B4BK3D+FR8
WL 3,B4BK3D+FR7
WL 3,B4BK3D+FR6
WL 3,B4BK3D+FR7
WL 3,B4BK3D+FR6
WL ANI_GOTO,#blk4
#*****************************************************************************
*
* THROWN FROM RING (shn_bslm, shn_frnk, lex_vsup)
SUBR bam_flyout_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
.word ANI_SETPLYRMODE,MODE_INAIR
.word ANI_SETSPEED,100h
.word ANI_SET_IDIOT
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
WL ANI_CODE,DO_WAIL
WL 7,B4TD3B+FR5
WL 7,B4TD3B+FR6
WL 7,B4TD3B+FR7
#cont WL 1,B4TD3B+FR8
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_SHAKER,60
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_DAMAGE,D_HIPTOSS
; .word ANI_SETWORD,DELAY_METER,0
; .word ANI_GETUP,500
.word ANI_OFFSET,10,0,0
WL 3,B4TD3B+FR9
WL ANI_CHANGEANIM,bam_hitonground_xflip_anim
SUBR bam_flyout2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
.word ANI_SETPLYRMODE,MODE_INAIR
.word ANI_SETSPEED,100h
.word ANI_SET_IDIOT
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
WL ANI_CODE,DO_WAIL
WL ANI_GOTO,#cont
;FIX!! Make throw out of ring if close to ropes
#*****************************************************************************
*
* FLIP/FALL FROM HIPTOSS
SUBR bam_tossed_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
.word ANI_XFLIP
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
.word ANI_OFFSET,15,0,0 ;x,y,z
WL 1,B3CP3B+FR1
WL ANI_SET_YVEL,50000h
WL 3,B3CP3B+FR1
WL 4,B3CP3B+FR2
WL 4,B3CP3B+FR3
WL 4,B3CP3B+FR4
WL 4,B3CP3B+FR5
WL 4,B3CP3B+FR6
WL 4,B3CP3B+FR7
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 3,B3RL1A+FR1 ;1st frame of roll
.word ANI_WAITROLL
WL ANI_CHANGEANIM,bam_faceup_getup_anim
; .word ANI_END
;FIX!! Make throw out of ring if close to ropes
#*****************************************************************************
*
* FLIP/FALL FROM BAM BAM DUCK TOSS
SUBR bam_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,B4TD3B+FR7
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_SHAKER,30
.word ANI_GETUP,STAY_TIME
.word ANI_DAMAGE,D_HIPTOSS
WL 3,B4TD3B+FR8
WL 3,B4TD3B+FR9
.word ANI_XFLIP
WLW ANI_SET_XVEL,20000h,AM_HIT_REL
WL ANI_SET_YVEL,50000h
.word ANI_OFFSET,15,0,0 ;x,y,z
WL 4,B3CP3B+FR1
WL 4,B3CP3B+FR2
WL 4,B3CP3B+FR3
WL 4,B3CP3B+FR4
WL 4,B3CP3B+FR5
WL 4,B3CP3B+FR6
WL 4,B3CP3B+FR7
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 3,B3RL1A+FR1 ;1st frame of roll
.word ANI_WAITROLL
WL ANI_CHANGEANIM,bam_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
*
SUBR bam_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,B3GU4A+FR12
WL 2,B3GU4A+FR10
WL 2,B3GU4A+FR7
WL ANI_SET_YVEL,39000h
WL 3,B3CP3B+FR1
WL 3,B3CP3B+FR2
WL 3,B3CP3B+FR3
WL 3,B3CP3B+FR4
WL 3,B3CP3B+FR5
WL 3,B3CP3B+FR6
WL 3,B3CP3B+FR7
WL 4,B3RL1A+FR1 ;1st frame of roll
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,bam_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
SUBR bam_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,3800h,AM_FACE_REL
.word ANI_OFFSET,16,0,0
WL 2,B4CR7A+FR2
.word ANI_BENDROPE,0
.word ANI_OFFSET,3,0,0 ;*****
WL 3,B4CR7A+FR3
.word ANI_OFFSET,3,0,0 ;*****
WL 2,B4CR7A+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,B4CR7A+FR5
.word ANI_OFFSET,3,0,0 ;*****
WL 2,B4CR7A+FR6
.word ANI_BENDROPE,2
.word ANI_OFFSET,3,0,0 ;*****
WL 3,B4CR7A+FR7
.word ANI_OFFSET,4,0,0 ;*****
WL 2,B4CR7A+FR8
.word ANI_BENDROPE,3
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
.word ANI_OFFSET,5,0,0 ;*****
WL 3,B4CR7A+FR9
.word ANI_OFFSET,5,0,0 ;*****
WL 2,B4CR7A+FR10
.word ANI_ZEROVELS
.word ANI_BENDROPE,-1
.word ANI_OFFSET,10,-3,0
WL 3,B4CR7A+FR11
.word ANI_OFFSET,2,0,0 ;*****
WL 2,B4CR7A+FR12
.word ANI_SET_IDIOT
;now jump off...
; WL 2,B2JD4A+FR1 ;D4FM4A+FR1
WL 3,B2JD4A+FR2
WL 3,B2JD4A+FR3
WL ANI_SET_YVEL,60000h
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
WL 3,B2JD4A+FR4
.word ANI_WAITHITGND
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_ROPE_Z,R_TOP,RZ_NORM
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_ZEROVELS
WL 3,B2JD4A+FR6
; WL 2,B2JD4A+FR7
WL 3,B2JD4A+FR8
; WL 2,B2JD4A+FR9
.word ANI_FACEDOWN
.word ANI_CLEAR_CLIMB
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR bam_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 2,B2JD4A+FR1
WL 3,B2JD4A+FR2
WL 3,B2JD4A+FR3
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 2,B2JD4A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.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,B2JD4A+FR6
; WL 2,B2JD4A+FR7
.word ANI_OFFSET,13,0,0 ;*****
WL 3,B2JD4A+FR8
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
WLW ANI_SET_XVEL,3000h,AM_FACE_REL
;climb through
.word ANI_OFFSET,3,0,0 ;*****
WL 2,B4CR7A+FR2
.word ANI_BENDROPE,0
.word ANI_OFFSET,3,0,0 ;*****
WL 3,B4CR7A+FR3
.word ANI_OFFSET,3,0,0 ;*****
WL 2,B4CR7A+FR4
.word ANI_OFFSET,3,0,0 ;*****
WL 3,B4CR7A+FR5
.word ANI_BENDROPE,2
.word ANI_OFFSET,3,0,0 ;*****
WL 2,B4CR7A+FR6
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
.word ANI_BENDROPE,2
.word ANI_OFFSET,5,0,0 ;*****
WL 3,B4CR7A+FR7
.word ANI_OFFSET,5,0,0 ;*****
WL 2,B4CR7A+FR8
.word ANI_BENDROPE,3
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_OFFSET,5,0,0 ;*****
WL 3,B4CR7A+FR9
.word ANI_OFFSET,5,0,0 ;*****
WL 2,B4CR7A+FR10
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_BENDROPE,-1
.word ANI_OFFSET,10,-3,0
WL 3,B4CR7A+FR11
WL 2,B4CR7A+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 bam_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,B3GU2A+FR13
WL 3,B3GU2A+FR12
WL 3,B3GU2A+FR11
WL 3,B3GU2A+FR10
WL 3,B3GU2A+FR9
WL 3,B3GU2A+FR8
WL 3,B3GU2A+FR7
WL 3,B3GU2A+FR6
WL 3,B3GU2A+FR5
WL 3,B3GU2A+FR4
WL 3,B3GU2A+FR2
WL 3,B3GU2A+FR1
;roll over once
WLW ANI_SET_ZVEL,0A8000h,AM_ABS
WL 3,B3RL1A+FR1
WL 3,B3RL1A+FR2
WL 3,B3RL1A+FR3
WL 3,B3RL1A+FR4
WL 3,B3RL1A+FR5
WL 3,B3RL1A+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,20,-37h,0 ;x,y,z
WL 3,B2KM3E+FR6
WL 3,B2KM3E+FR3
WL 3,B2KM3E+FR2
.WORD ANI_XFLIP
.word ANI_CLEAR_CLIMB
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#ckspin
move *a13(FACING_DIR),a14
btst 0,a14
jrnz #faceup
move *a13(ANIMODE),a0
ori MODE_STATUS,a0
move a0,*a13(ANIMODE)
RETS
#faceup
move *a13(ANIMODE),a0
ANDI 0FFFFH-MODE_STATUS,a0
move a0,*a13(ANIMODE)
rets
NOT_IN_RING
MOVK 1,A0
MOVE A0,*A13(INRING)
RETS
#*****************************************************************************
SUBR bam_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,B2KM3E+FR2
WL 3,B2KM3E+FR3
WL 3,B2KM3E+FR6
.word ANI_OFFSET,-20,37h,-60
;roll
WLW ANI_SET_ZVEL,-70000h,AM_ABS
.word ANI_FRICTION,3000h
WL 3,B3RL1A+FR11
WL 3,B3RL1A+FR10
WL 3,B3RL1A+FR9
WL 3,B3RL1A+FR8
WL 3,B3RL1A+FR7
WL 3,B3RL1A+FR6
.word ANI_ZEROVELS
.word ANI_GRAVITY_ON
;get up
WL 3,B3GU2A+FR1
WL 3,B3GU2A+FR2
WL 3,B3GU2A+FR3
WL 3,B3GU2A+FR4
WL 3,B3GU2A+FR5
WL 3,B3GU2A+FR6
WL 3,B3GU2A+FR7
WL 3,B3GU2A+FR8
WL 3,B3GU2A+FR9
WL 3,B3GU2A+FR10
WL 3,B3GU2A+FR11
WL 3,B3GU2A+FR12
WL 3,B3GU2A+FR13
; WL ANI_CODE,clr_climb
.word ANI_CLEAR_CLIMB
.WORD ANI_FACEDOWN
.word ANI_ZEROVELS
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR bam_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,B1TT5Z+FR2
WL 3,B1TT5Z+FR3
#dir4
WL 3,B3GU4A+FR12
WL 3,B3GU4A+FR11
WL 3,B3GU4A+FR10
WL 3,B3GU4A+FR9
WL 3,B3GU4A+FR8
WL 3,B3GU4A+FR7
WL 3,B3GU4A+FR6
WL 3,B3GU4A+FR5
WL 3,B3GU4A+FR4
WL 3,B3GU4A+FR3
WL 3,B3GU4A+FR2
WL 3,B3GU4A+FR1
;roll over once
WL ANI_CODE,#set_zvel2
WL 3,B3RL1A+FR11
WL 3,B3RL1A+FR10
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,B3RL1A+FR9
WL 3,B3RL1A+FR8
WL 3,B3RL1A+FR7
.word ANI_SET_IDIOT
;climb through
.word ANI_ZEROVELS
.word ANI_OFFSET,0,-61,0
.WORD ANI_XFLIP
WL 3,B4KM3E+FR2
WL 3,B4KM3E+FR1
.WORD ANI_XFLIP
.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 bam_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,B3RL1A+FR11
WL 3,B3RL1A+FR10
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,B3RL1A+FR9
WL 3,B3RL1A+FR8
WL 3,B3RL1A+FR7
;climb through
.word ANI_ZEROVELS
.word ANI_OFFSET,0,-61,0
.WORD ANI_XFLIP
WL 3,B4KM3E+FR2
WL 3,B4KM3E+FR1
.WORD ANI_XFLIP
.word ANI_ZERO_XZVELS
.WORD ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR bam_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,B4KM3E+FR1
WL 3,B4KM3E+FR2
WL 3,B4KM3E+FR4
.word ANI_OFFSET,0,61,0
.WORD ANI_XFLIP
;roll over
WL ANI_CODE,#set_zvel2
WL 3,B3RL1A+FR8
WL 3,B3RL1A+FR9
WL 3,B3RL1A+FR10
WL 3,B3RL1A+FR11
.word ANI_ZEROVELS
;get up
WL 3,B3GU4A+FR1
WL 3,B3GU4A+FR2
WL 3,B3GU4A+FR3
WL 3,B3GU4A+FR4
WL 3,B3GU4A+FR5
WL 3,B3GU4A+FR6
WL 3,B3GU4A+FR7
WL 3,B3GU4A+FR8
WL 3,B3GU4A+FR9
WL 3,B3GU4A+FR10
WL 3,B3GU4A+FR11
WL 3,B3GU4A+FR12
; WL ANI_CODE,clr_climb
.word ANI_CLEAR_CLIMB
.WORD ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#set_zvel2
movi 50000h,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 bam_2_pin_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
;Rotate!
WL 3,B1TT5Z+FR2 ;2.5
WL 3,B1TT5Z+FR3 ;3.5
SUBR bam_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,B2PN5A+FR3
.word ANI_OFFSET,0,34,0 ;x,y,z
WL 22,B2PN5A+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
; WLW ANI_ATTCHIMAGE,D4PN5L+FR4,10 ;image, zoff (priority)
WL 3,B2PN5A+FR5
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
; WLW ANI_ATTCHIMAGE,D4PN5L+FR5,10 ;image, zoff (priority)
WL 3,B2PN5A+FR6
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
WL 4,B2PN5A+FR7
WL ANI_CODE,win_announce
; WLW ANI_ATTCHIMAGE,0,0 ;Turn it off
; WL 40,D4PN5A+FR6
; .word ANI_SET_ATTACH
; .word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
; .word ANI_OFFSET,0,0,20 ;x,y,z
WL 40,B2PN5A+FR5
.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,B5RV5A+FR1
WL 4,B5RV5A+FR2
WL 4,B5RV5A+FR3
WL 4,B5RV5A+FR4
WL 4,B5RV5A+FR5
WL 4,B5RV5A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,B4WC4B+FR1
WL 4,B4WC4B+FR2
WL 4,B4SW4B+FR3
WL 4,B4SW4B+FR4
WL 4,B4SW4B+FR5
WL 4,B4SW4B+FR6
WL 4,B4SW4B+FR7
WL 4,B4SW4B+FR8
WL 4,B4SW4B+FR3
WL 4,B4SW4B+FR4
WL 4,B4SW4B+FR5
WL 4,B4SW4B+FR6
WL 4,B4SW4B+FR7
WL 4,B4SW4B+FR8
WL 4,B4SW4B+FR3
WL 4,B4SW4B+FR4
WL 4,B4SW4B+FR5
WL 4,B4SW4B+FR6
WL 4,B4SW4B+FR7
WL 4,B4SW4B+FR8
WL 4,B4WC4B+FR2
WL 4,B4WC4B+FR1
WL 4,B5RV5A+FR8
#floop WL 1000,B5RV5A+FR7
WL ANI_GOTO,#floop
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
******************************************************************************
* RAISE ARM IN VICTORY FROM A STANCE
SUBR bam_2_raise_arm_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
;Rotate!
WL ANI_CODE,DO_CROWD_CHEER
WL ANI_CODE,win_announce
WL 3,B1TT5Z+FR2 ;2.5
WL 3,B1TT5Z+FR3 ;3.5
WL ANI_GOTO,#cont
SUBR bam_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 4,B4SW4B+FR3
WL 4,B4SW4B+FR4
WL 4,B4SW4B+FR5
WL 4,B4SW4B+FR6
WL 4,B4SW4B+FR7
WL 4,B4SW4B+FR8
WL 4,B4SW4B+FR3
WL 4,B4SW4B+FR4
WL 4,B4SW4B+FR5
WL 4,B4SW4B+FR6
WL 4,B4SW4B+FR7
WL 4,B4SW4B+FR8
WL 4,B4SW4B+FR3
WL 4,B4SW4B+FR4
WL 4,B4SW4B+FR5
WL 4,B4SW4B+FR6
WL 4,B4SW4B+FR7
WL 4,B4SW4B+FR8
WL 4,B4SW4B+FR3
WL 4,B4SW4B+FR4
WL 4,B4SW4B+FR5
WL 4,B4SW4B+FR6
WL 4,B4SW4B+FR7
WL 4,B4SW4B+FR8
.word ANI_SET_RPTCOUNT,-6 ;set count to rnd from 0 to 6
#lp WL 4,B4ST4Z+FR1
WL 4,B4ST4Z+FR2
WL 4,B4ST4Z+FR3
WL 4,B4ST4Z+FR4
WL 4,B4ST4Z+FR5
WL 4,B4ST4Z+FR6
WL 4,B4ST4Z+FR7
WL 4,B4ST4Z+FR8
WL 4,B4ST4Z+FR9
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#lp
WL ANI_CODE,check_raisearm_bit
WL ANI_IFSTATUS,#wakeup
;don't wake up.
.word ANI_SET_RPTCOUNT,1000
WL ANI_GOTO,#lp
#wakeup
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_FACEDOWN
.word ANI_END
#*****************************************************************************
*
* GET BUCKED OFF A PINNED OPPONENT
SUBR bam_buckoff_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WL 4,B2PN5A+FR5
WL ANI_CODE,set_buckoff_vels
WL 4,B2PN5A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,B2PN5A+FR6
WL 12,B2PN5A+FR7
;now stand up
WL 3,B5RV5A+FR1
WL 3,B5RV5A+FR2
WL 3,B5RV5A+FR3
WL 3,B5RV5A+FR4
WL 3,B5RV5A+FR5
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* HIP TOSS RUNNING OPPONENT
SUBR bam_combo_hiptoss_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_STARTATTACK,AT_PUPPET,6
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 6,40,40,40,90000h,TGT_CHEST,20,0,0
WL ANI_SET_YVEL,0000h
WL 2,B3DR3B+FR1
.word ANI_ATTACK_ON, AMODE_PUPPET,16,40,62,42 ;mode,x,y,w,h
WL 2,B3DR3B+FR2
.word ANI_ZERO_XZVELS
WWL ANI_WAITHITOPP,6,B3DR3B+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
;got him
.WORD ANI_INC_COMBO
WL ANI_CODE,DO_GRUNT
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
.word ANI_SETOPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
; attacker sequence
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR3,#puppet_tbl,0
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR4,#puppet_tbl,1
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR5,#puppet_tbl,2
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR6,#puppet_tbl,3
WL ANI_SET_YVEL,20000h
WWWL ANI_IFROPE,RC_BACK,XTOSSDIST,#throw_him_out_c
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR7,#puppet_tbl,4
WL ANI_SLAVEANIM,#rollout_tbl
.word ANI_CLROPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_DETACH
WL 10,B3DR3B+FR8
WL 6,B3DR3B+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 6,B3DR3B+FR10
.word ANI_FACEDOWN
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedbc
WL 15,B3DR3B+FR3
#missedc
WL 10,B3DR3B+FR3
WL 4,B3DR3B+FR2
WL 4,B3DR3B+FR1
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_CODE,CALL_MISSES
.word ANI_FACEDOWN
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#throw_him_out_c
WLLL ANI_ATTACHVEL,-080000h,0a0000h,0h ;x,y,z
WL ANI_SLAVEANIM,#flyout_tbl
WL ANI_OPPOFFSET,release_table
.word ANI_DETACH
.WORD ANI_SOUND,06FH ;GET OUT OF MY RING !
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 5,B3DR3B+FR7
WL 10,B3DR3B+FR8
WL 6,B3DR3B+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 6,B3DR3B+FR10
.word ANI_FACEDOWN
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR bam_3_hiptoss2_anim
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS ;uninterruptable
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUPPET,10
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 8,60,55,40,90000h,TGT_CHEST,40,0,0
WL ANI_SET_YVEL,0000h
WL 2,B3DR3B+FR1
.word ANI_ATTACK_ON, AMODE_PUPPET_TOSS,16,40,42,42 ;mode,x,y,w,h
WWL ANI_WAITHITOPP,2,B3DR3B+FR2
WWL ANI_WAITHITOPP,6,B3DR3B+FR3
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_OFF
WL ANI_GOTO,#cont
SUBR bam_3_hiptoss_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUPPET,10
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 8,40,40,40,90000h,TGT_CHEST,20,0,0
WL ANI_SET_YVEL,0000h
WL 3,B3DR3B+FR1
WL 1,B3DR3B+FR2
.word ANI_ATTACK_ON, AMODE_PUPPET_TOSS,16,40,42,42 ;mode,x,y,w,h
WWL ANI_WAITHITOPP,2,B3DR3B+FR2
WWL ANI_WAITHITOPP,2,B3DR3B+FR3
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_OFF
WL 4,B3DR3B+FR3
#cont
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
#got_him
.word ANI_DRAW_NAME,11
WL ANI_CODE,DO_GRUNT
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
.word ANI_SETOPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
; attacker sequence
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR3,#puppet_tbl,0
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR4,#puppet_tbl,1
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR5,#puppet_tbl,2
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR6,#puppet_tbl,3
WL ANI_SET_YVEL,20000h
; WLW ANI_SET_XVEL,-20000h,AM_FACE_REL
WWWL ANI_IFROPE,RC_BACK,XTOSSDIST,#throw_him_out
WWLLW ANI_SUPERSLAVE2,3,B3DR3B+FR7,#puppet_tbl,4
WL ANI_SLAVEANIM,#rollout_tbl
WL ANI_CODE,CALL_SPECIAL_MOVE
.word ANI_CLROPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_DETACH
WL 10,B3DR3B+FR8
WL 4+2,B3DR3B+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4+10,B3DR3B+FR10
.word ANI_FACEDOWN
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedb
; WL ANI_CODE,ck_hiptoss
; WL ANI_IFNOTSTATUS,#got_him
WL 10,B3DR3B+FR3
;Delay longer if 2nd hiptoss in quick succession!
WL ANI_CODE,hiptoss_delay
WL ANI_IFNOTSTATUS,#missed
WL 24,B3DR3B+FR3
#missed
WL 2,B3DR3B+FR3
WL 3,B3DR3B+FR2
WL 3,B3DR3B+FR1
WL ANI_CODE,CALL_MISSES
.word ANI_FACEDOWN
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#throw_him_out
WLLL ANI_ATTACHVEL,-080000h,0a0000h,0h ;x,y,z
WL ANI_SLAVEANIM,#flyout_tbl
WL ANI_OPPOFFSET,release_table
.word ANI_DETACH
.WORD ANI_SOUND,06FH ;GET OUT OF MY RING !
WL 5,B3DR3B+FR7
WL 10,B3DR3B+FR8
WL 6,B3DR3B+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 6,B3DR3B+FR10
.word ANI_FACEDOWN
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#flyout_tbl
REFLONG hrt_flyout_anim
REFLONG rzr_flyout_anim
REFLONG und_flyout_anim
REFLONG yok_flyout_anim
REFLONG shn_flyout_anim
REFLONG bam_flyout_anim
REFLONG dnk_flyout_anim
.long 0
REFLONG lex_flyout_anim
release_table
; X Y
.word 16,16 ;Bret
.word 8,16 ;Razor
.word 0,32 ;Taker
.word 0,16 ;Yokozuna
.word 0,16 ;Shawn
.word 8,16 ;BamBam
.word 4,20 ;Doink
.word 0,0 ;Adam
.word 0,16 ;Lex
#puppet_tbl
.long #Bret
.long #Razor
.long #Taker
.long #Yokozuna
.long #Shawn
.long #BamBam
.long #Doink
.long #Adam
.long #Lex
#Bret
.ref H3FR3A,H2AM3A
LWWW H3FR3A+FR1,34,16,0
LWWW H2AM3A+FR7,27,17,0
LWWW H3FR3A+FR2,11,12,0
LWWW H3FR3A+FR3,1,27,0
LWWW H3FR3A+FR3,-9,13,0
.long 0
#Razor
.ref R3TD3A
LWWW R3TD3A+FR2,24,15,0
LWWW R3TD3A+FR3,16,14,0
LWWW R3TD3A+FR4,8,11,0
LWWW R3TD3A+FR5,7,24,0
LWWW R3TD3A+FR6,-3,22,0
.long 0
#Taker
.ref U4AM4C,U3FH3A
LWWW U4AM4C+FR4,25,38,0
LWWW U3FH3A+FR1,27,20,1
LWWW U3FH3A+FR2,8,9,1
LWWW U3FH3A+FR3,1,4,1
LWWW U3FH3A+FR4,-8,8,1
.long 0
#Yokozuna
.ref Y3FL3W,Y5GU4B
LWWW Y5GU4B+FR7,23,26,0
LWWW Y5GU4B+FR7,15,32,0
LWWW Y3FL3W+FR3,-15,22,0
; LWWW Y3PP3Q+FR1,-2,22,0
LWWW Y3FL3W+FR4,-15,16,0
LWWW Y3FL3W+FR5,-4,15,0
; LWWW Y3FL3W+FR1,28,43,0
; LWWW Y3FL3W+FR2,12,38,0
; LWWW Y3FL3W+FR3,-15,22,0
; LWWW Y3FL3W+FR4,-15,16,0
; LWWW Y3FL3W+FR5,-4,15,0
.long 0
#Shawn
.ref S3OS3X
LWWW S3OS3X+FR3,23,47,1
LWWW S3OS3X+FR4,-7,41,1
LWWW S3OS3X+FR5,-31,25,1
LWWW S3OS3X+FR6,-27,43,1
LWWW S3OS3X+FR7,-8,42,1
.long 0
#BamBam
.ref B4TD3B
LWWW B4TD3B+FR2,19,30,0
LWWW B4TD3B+FR3,11,27,0
LWWW B4TD3B+FR4,7,15,0
LWWW B4TD3B+FR5,-3,35,0
LWWW B4TD3B+FR6,-10,43,0
.long 0
#Doink
.ref D3OS3A
LWWW D3OS3A+FR1,26,19,0
LWWW D3OS3A+FR2,9,22,0
LWWW D3OS3A+FR3,-7,13,0
LWWW D3OS3A+FR4,-12,12,0
LWWW D3OS3A+FR5,-6,11,0
.long 0
#Adam
.long 0
#Lex
.ref L3FH3A
LWWW L3FH3A+FR1,22,25,0
LWWW L3FH3A+FR2,19,10,0
LWWW L3FH3A+FR3,11,14,0
LWWW L3FH3A+FR4,12,12,0
LWWW L3FH3A+FR5,8,7,0
.long 0
#rollout_tbl
REFLONG hrt_tossed2_anim,rzr_tossed2_anim
REFLONG und_tossed2_anim
REFLONG yok_tossed2_anim
REFLONG shn_tossed2_anim,bam_tossed2_anim
REFLONG dnk_tossed2_anim
.long 0
REFLONG lex_tossed2_anim
#*****************************************************************************
*
* #2,4 FLYING CLOTHESLINE
SUBR bam_fly_cline_anim
.word ANI_SETMODE,MODE_UNINT|MODE_OVERLAP|MODE_NOAUTOFLIP
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
.word ANI_STARTATTACK,AT_LEAPING,9
WL 3,B3RC3A+FR1
WLW ANI_SET_XVEL,74000h,AM_FACE_REL
WWL ANI_SETLONG,OBJ_GRAVITY,08000h
WL 3,B3RC3A+FR2
WL 3,B3RC3A+FR3
WL ANI_SET_YVEL,50000h
WL 3,B3RC3A+FR4
.word ANI_OFFSET,0,45,0 ;x,y,z
.word ANI_ATTACK_ON, AMODE_CLINE,2,5,14,53 ;mode,x,y,w,h ;31
WL 20,B3RC3A+FR5
.word ANI_ATTACK_OFF
WL 3,B3RC3A+FR7
.word ANI_WAITHITGND
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKER,30
WL 3,B3RC3A+FR8
WLW ANI_SET_XVEL,50000h,AM_FACE_REL
.word ANI_FRICTION,3000h
.word ANI_BOUNCE,4
WL 3,B3RC3A+FR8
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
WL 8,B3RC3A+FR8
WL ANI_IFSTATUS,#gothim
;He missed, have him stay on ground for awhile!
WL ANI_CODE,CALL_MISSES
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 1,B3RC3A+FR8 ;30
#gothim
.word ANI_DRAW_NAME,24
.word ANI_WAITROLL
WL ANI_CHANGEANIM,bam_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
* #4 SLAP
;Leaping fire head butt
SUBR bam_2_slap_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_LEAPING,20
WL 1,B1TT5Z+FR2 ;2.5
WL 1,B1TT5Z+FR3 ;3.5
SUBR bam_4_slap_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_LEAPING,16
WL 2,B3FH3F+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 12,999,4eh,50,90000h,TGT_HEAD,40,101,10
WL 3,B3FH3F+FR2
WL 3,B3FH3F+FR3
WL 2,B3FH3F+FR4
WL 2,B3FH3F+FR5
WL 2,B3FH3F+FR6
WL 1,B3FH3F+FR7
.word ANI_ATTACK_ON, AMODE_HDBUTT3,32,47,39,55 ;mode,x,y,w,h
WL 2,B3FH3F+FR7
WL 3,B3FH3F+FR8
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;hit
WL ANI_CODE,create_impact
WL ANI_CODE,DO_FLAME_HIT_SND
WL ANI_CODE,CALL_NASTY_MOVE
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,40000h
#no_hit2
#missed
#missedb
WL 3,B3FH3F+FR8
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none
WL 15,B3FH3F+FR9
#none
WL 2,B3FH3F+FR9
WL 2,B3FH3F+FR10
WL 2,B3FH3F+FR11
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.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 bam_combo_slap_anim
.word ANI_ZEROVELS
SUBR bam_combo_slap_anim_no_vel
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_FLAME_SND
WL 2,B3FH3F+FR1
.word ANI_CLR_STATUS
WL 2,B3FH3F+FR2
WL 2,B3FH3F+FR3
WL 2,B3FH3F+FR4
WL 2,B3FH3F+FR5
WL 2,B3FH3F+FR6
WL 2,B3FH3F+FR7
.word ANI_ATTACK_ON,AMODE_HDBUTT3,32,27,69,75 ;mode,x,y,w,h
WL 1,B3FH3F+FR8
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
WL ANI_IFNOTSTATUS,#missed_c
WL ANI_IFBLOCKED,#missed_c ;Yes, I hit blocker
;hit
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
WL ANI_CODE,DO_FLAME_HIT_SND
WL ANI_CODE,create_impact
.WORD ANI_INC_COMBO
WLW ANI_SET_XVEL,0A000h,AM_FACE_REL
WL 2,B3FH3F+FR8
WL 2,B3FH3F+FR9
WL 2,B3FH3F+FR10
WL 2,B3FH3F+FR11
WLW ANI_SET_XVEL,0000h,AM_FACE_REL
.word ANI_SET_RPTCOUNT,3 ;3 times
#loop_butt
.word ANI_STARTATTACK,AT_HDBUTT,16
.word ANI_CLR_BUTCOUNT
WL ANI_CODE,DO_FLAME_SND
WL 1,B3FH3F+FR1
.word ANI_CLR_STATUS
WL 1,B3FH3F+FR2
WL 1,B3FH3F+FR3
WL 1,B3FH3F+FR4
WL 1,B3FH3F+FR5
WL 1,B3FH3F+FR6
WL 1,B3FH3F+FR7
.word ANI_ATTACK_ON, AMODE_HDBUTT,32,47,60,55 ;mode,x,y,w,h
WL 1,B3FH3F+FR8
.word ANI_ATTACK_OFF
.word ANI_ZERO_XZVELS
WL ANI_IFNOTSTATUS,#missed_c
WL ANI_IFBLOCKED,#missed_c ;Yes, I hit blocker
;hit
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,28000h,0h ;x,y,z vels
WL ANI_CODE,DO_FLAME_HIT_SND
WL ANI_CODE,create_impact
.WORD ANI_INC_COMBO
WLW ANI_SET_XVEL,0C000h,AM_FACE_REL
WL 1,B3FH3F+FR8
WL 1,B3FH3F+FR9
WL 1,B3FH3F+FR10
WL 1,B3FH3F+FR11
WLW ANI_SET_XVEL,0000h,AM_FACE_REL
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#loop_butt
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#CHECK_OTHER_BUT
WL ANI_CHANGEANIM,bam_combo_pile_driver_anim
#CHECK_OTHER_BUT
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#missed_d
WL ANI_CHANGEANIM,bam_combo_graboh_anim
#missed_c
WL 3,B3FH3F+FR8
WL 3,B3FH3F+FR9
WL 3,B3FH3F+FR10
WL 3,B3FH3F+FR11
#missed_d
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.WORD ANI_DETACH
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.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 bam_knees_anim
;From head hold mode
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
; .word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETWORD,USR_VAR2,0
WL 2,B4KM3A+FR1
.word ANI_SET_RPTCOUNT,3 ;3 times
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
#rpt_loop
.word ANI_STARTATTACK,AT_KNEE,6
.word ANI_CLR_BUTCOUNT
WL 2,B4KM3A+FR2
WL 2,B4KM3A+FR3
WL 2,B4KM3A+FR4
.word ANI_ATTACK_ON, AMODE_HEADKNEES,37,62,62,35 ;mode,x,y,w,h
WL 2,B4KM3A+FR5
.word ANI_ATTACK_OFF
WL 2,B4KM3A+FR6
WL 2,B4KM3A+FR7
WL 2,B4KM3A+FR8
; WL 1,B4KM3A+FR9
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#missed2
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#rpt_loop
.word ANI_SETWORD,USR_VAR2,1
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#missed2
.word ANI_DETACH
; WLW ANI_SET_XVEL,18000h,AM_FACE_REL
WL ANI_CHANGEANIM,bam_3_hiptoss_anim
; .word ANI_END
#missed2
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#missed3
WL ANI_CHANGEANIM,bam_4_graboh_anim
; .word ANI_END
#missed3
WL 3,B4KM3A+FR10
.word ANI_DETACH
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR bam_combo_knees_anim
;From head hold mode
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETPLYRMODE,MODE_NORMAL
.WORD ANI_CLEAR_COMBO
WL 2,B4KM3A+FR1
.word ANI_STARTATTACK,AT_KNEE,6
WL 2,B4KM3A+FR2
WL 2,B4KM3A+FR3
WL 2,B4KM3A+FR4
.WORD ANI_INC_COMBO
.word ANI_ATTACK_ON, AMODE_KICK,37,42,62,35 ;mode,x,y,w,h
WL 2,B4KM3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed3c
.WORD ANI_INC_COMBO
WLLL ANI_SETOPPVELS,0,18000h,0h ;x,y,z vels
WL 2,B4KM3A+FR6
WL 2,B4KM3A+FR7
WL 2,B4KM3A+FR8
WL 2,B4KM3A+FR1
.word ANI_SET_RPTCOUNT,3 ;3 times
#kn_loop
.word ANI_STARTATTACK,AT_KNEE,6
.word ANI_CLR_BUTCOUNT
WL 1,B4KM3A+FR2
WL 2,B4KM3A+FR3
WL 1,B4KM3A+FR4
.word ANI_ATTACK_ON, AMODE_KICK,37,42,62,35 ;mode,x,y,w,h
WL 2,B4KM3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed3c
.WORD ANI_INC_COMBO
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,0,18000h,0h ;x,y,z vels
WL 1,B4KM3A+FR6
WL 2,B4KM3A+FR7
WL 1,B4KM3A+FR8
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#kn_loop
.word ANI_DETACH
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#CHECK_NEXT2
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_combo_hiptoss_anim
#CHECK_NEXT2
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#CHECK_NEXT1
.word ANI_DETACH
WL ANI_CHANGEANIM,bam_flying_kick_no_xvel
#CHECK_NEXT1
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#missed3d
WL ANI_CHANGEANIM,bam_combo_fpunch
#missed3c
WL 2,B4KM3A+FR6
WL 2,B4KM3A+FR7
WL 2,B4KM3A+FR8
#missed3d
WL 3,B4KM3A+FR10
.word ANI_DETACH
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
******************************************************************************
.end