wwf-wrestlemania/YOKSEQ2.ASM

3115 lines
70 KiB
NASM
Raw Permalink Normal View History

2021-04-06 15:21:54 -07:00
**************************************************************
*
* Software: Jamie Rivett
* Initiated: 5/18/94
*
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
*
**************************************************************
.file "yokseq2.asm"
.title "Yokozuna 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 "yokoimg.h"
.include "ring.equ"
.include "display.equ"
.include "ring.equ"
.include "damage.equ"
******************************************************************************
* EXTERNAL REFERENCES
;BAM BAM
.ref B3RN3A,B4YR3A
;DOINK
.ref D3RN3B,D4YR3B
;BRET
.ref H3RN3A,H4YR3A
;LEX
.ref L3RN3B,L4YR3B
;RAZOR
.ref R3RN3D,R4YR3A
;SHAWN
.ref S3RN3A,S4YR3A
;TAKER
.ref U3RN3A
;YOKO
.ref yok_faceup_getup2_anim
.ref U4YR3B
;MISC
.ref get_opp_process,start_run_anim,CALL_MISSES,start_run_flung
.ref SET_DIR_FACE,HIT_THE_MAT,no_bk_xvel,DO_GRUNT
.ref check_xvel,set_tbukl_confine
.ref set_tbukl_airmode
.ref DO_CROWD_CHEER,hit_nearest,face_inside,set_raisearm_bit
.ref check_raisearm_bit
.ref CALL_OTHER_AVERAGE,CALL_ANI_AVERAGE_MOVE
.ref DO_COMBO_MESS,yok_combo_salt_anim
.ref yok_combo_heldheadbutt_rpt_anim
.ref yok_combo_hiptoss_anim
.ref MOVE_NAME_ANNC
******************************************************************************
* SYMBOLS DEFINED IN THIS FILE
******************************************************************************
* EQUATES FOR THIS FILE
#*****************************************************************************
*
* NORMAL #2 PUNCH
SUBR yok_2_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2PU2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2PU2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2PU2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
.word ANI_STARTATTACK,AT_PUNCH,9
WL 2,Y2PU2A+FR2
WL 2,Y2PU2A+FR3
WL 2,Y2PU2A+FR4
.word ANI_ATTACK_ON,AMODE_FLYKICK,50,90,42,12
WL 3,Y2PU2A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,Y2PU2A+FR5
#no_hit
WL 2,Y2PU2A+FR6
WL 3,Y2PU2A+FR7
WL 2,Y2PU2A+FR8
WL 3,Y2PU2A+FR9
WL 2,Y2PU2A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* NORMAL #4 PUNCH
SUBR yok_4_punch_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4PU4B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4PU4B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4PU4B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
.word ANI_STARTATTACK,AT_PUNCH,9
WL 2,Y4PU4B+FR2
WL 2,Y4PU4B+FR3
WL 2,Y4PU4B+FR4
.word ANI_ATTACK_ON,AMODE_FLYKICK,42,77,36,19
WL 3,Y4PU4B+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 3,Y4PU4B+FR5
#no_hit2
WL 2,Y4PU4B+FR6
WL 3,Y4PU4B+FR7
WL 2,Y4PU4B+FR8
WL 3,Y4PU4B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 PUSH
SUBR yok_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,Y4PS3A+FR3
WL 3,Y4PS3A+FR4
WL 3,Y4PS3A+FR5
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ATTACK_ON, AMODE_PUSH,36,86,45,16
WL 3,Y4PS3A+FR6
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,40h,-70000h,#no_hit ;range,vel,addr
WL 15,Y4PS3A+FR6
#no_hit
WL 3,Y4PS3A+FR6
WL ANI_IFSTATUS,#hit
;If missed on push, hold a little longer
WL 5,Y4PS3A+FR6
#hit
WL 3,Y4PS3A+FR5
WL 3,Y4PS3A+FR4
WL 3,Y4PS3A+FR3
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 ELBOW DROP
#yoff equ 37
SUBR yok_2_lbowdrop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2PF2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2PF2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2PF2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_LBDROP,7
WL 4,Y2PF2A+FR2
WL 3,Y2PF2A+FR3
;skip the leap if simply falling down will do.
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,4,4,-40,34,31,50
WL 1,Y2PF2A+FR3
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#skip_leapat
.word ANI_TARGET,TGT_CHEST,TGT_CHEST,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 20,999,160,140,90000h,TGT_USER,21,0+#yoff,-30
WL ANI_GOTO,#do_leapat
#skip_leapat
; WL ANI_SET_YVEL,30000h
#do_leapat
WL 4,Y2PF2A+FR4
.word ANI_OFFSET,0,#yoff,0
WL 4,Y2PF2A+FR5
WL 4,Y2PF2A+FR6
WL 4,Y2PF2A+FR7
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL ANI_CODE,HIT_THE_MAT
WL ANI_CODE,HIT_THE_MAT
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
.word ANI_SHAKER,40
.word ANI_SHAKEALL,2
.word ANI_ATTACK_ON_Z, AMODE_LBOWDROP,0,0,-40,42,39,50
WL 4,Y2PF2A+FR8
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#hit
WL ANI_CODE,CALL_MISSES
#hit
.word ANI_DRAW_NAME,18
WL 12,Y2PF2A+FR9
.word ANI_XFLIP
WL ANI_CHANGEANIM,yok_faceup_getup2_anim
#*****************************************************************************
*
* #4 ELBOW DROP
#yoff equ 34
SUBR yok_4_lbowdrop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y3PF3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y3PF3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y3PF3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_LBDROP,7
WL 4,Y3PF3A+FR3
WL 3,Y3PF3A+FR4
;skip the leap if it's not needed.
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,14,4,-10,32,30,50
WL 1,Y3PF3A+FR4
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#skip_leapat
.word ANI_TARGET,TGT_CHEST,TGT_CHEST,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 20,999,160,140,90000h,TGT_USER,33,0+#yoff,30
WL ANI_GOTO,#do_leapat
#skip_leapat
; WL ANI_SET_YVEL,30000h
#do_leapat
.word ANI_OFFSET,0,#yoff,0
WL 4,Y3PF3A+FR5
WL 4,Y3PF3A+FR6
WL 4,Y3PF3A+FR7
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL ANI_CODE,HIT_THE_MAT
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKER,40
.word ANI_SHAKEALL,2
.word ANI_ATTACK_ON_Z,AMODE_LBOWDROP,10,0,-10,40,38,50
WL 4,Y3PF3A+FR8
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#hit
WL ANI_CODE,CALL_MISSES
#hit
.word ANI_DRAW_NAME,18
WL 12,Y3PF3A+FR9
.word ANI_XFLIP
WL ANI_CHANGEANIM,yok_faceup_getup_anim
#*****************************************************************************
*
* COMBO KICK
SUBR yok_combo_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.WORD ANI_CLEAR_COMBO
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 2,Y2KM3A+FR1
WL 1,Y4KM3A+FR2
.word ANI_STARTATTACK,AT_KICK,6
WL 1,Y4KM3A+FR2
WL 2,Y4KM3A+FR3
WL 2,Y4KM3A+FR4
WWL ANI_SETLONG,OBJ_GRAVITY,0c000h
WL ANI_SET_YVEL,30000h
.word ANI_INC_COMBO
.word ANI_ATTACK_ON, AMODE_KICK,35,62,56,34
WL 1,Y4KM3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit_2
WL ANI_IFBLOCKED,#no_hit_2
.word ANI_INC_COMBO
WLLL ANI_SETOPPVELS,000H,10000h,0h ;x,y,z vels
WL 7,Y4KM3A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL 2,Y4KM3A+FR6
WL 2,Y4KM3A+FR7
WL 2,Y4KM3A+FR8
WL 2,Y4KM3A+FR9
WL 2,Y2KM3A+FR10
WL 2,Y2KM3A+FR11
.word ANI_SET_RPTCOUNT,3 ;rpt 2 times
#kick_loop
.word ANI_CLR_BUTCOUNT
WL 1,Y2KM3A+FR1
WL 1,Y4KM3A+FR2
.word ANI_STARTATTACK,AT_KICK,6
WL 1,Y4KM3A+FR2
WL 1,Y4KM3A+FR3
WL 1,Y4KM3A+FR4
WWL ANI_SETLONG,OBJ_GRAVITY,0c000h
WL ANI_SET_YVEL,10000h
.word ANI_ATTACK_ON, AMODE_KICK,35,62,56,34
WL 1,Y4KM3A+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_hit_2
WL ANI_IFBLOCKED,#no_hit_2
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,000H,10000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL 2,Y4KM3A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL 1,Y4KM3A+FR5
WL 1,Y4KM3A+FR6
WL 1,Y4KM3A+FR7
WL 1,Y4KM3A+FR8
WL 1,Y4KM3A+FR9
WL 1,Y2KM3A+FR10
WL 1,Y2KM3A+FR11
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#kick_loop
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NO_KNEE
WL ANI_CHANGEANIM,yok_combo_knee_anim
#NO_KNEE
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NO_UPPER
WL ANI_CHANGEANIM,yok_combo_uppercut_anim
#NO_UPPER
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NO_HEADBUTT
WL ANI_CHANGEANIM,yok_combo_heldheadbutt_rpt_anim
#NO_HEADBUTT
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit_2
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL 2,Y4KM3A+FR5
WL 2,Y4KM3A+FR6
WL 2,Y4KM3A+FR7
WL 2,Y4KM3A+FR8
WL 2,Y4KM3A+FR9
WL 2,Y4KM3A+FR10
WL 2,Y4KM3A+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* NORMAL #2 KICK
SUBR yok_2_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4KM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
.word ANI_STARTATTACK,AT_KICK,6
WL 1,Y4KM3A+FR2
WL 2,Y4KM3A+FR3
WL 2,Y4KM3A+FR4
WWL ANI_SETLONG,OBJ_GRAVITY,0c000h
WL ANI_SET_YVEL,30000h
.word ANI_ATTACK_ON, AMODE_KICK,35,62,56,34
WL 2,Y4KM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,Y4KM3A+FR5
#no_hit
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL 2,Y4KM3A+FR5
WL 2,Y4KM3A+FR6
WL 2,Y4KM3A+FR7
WL 2,Y4KM3A+FR8
WL 2,Y4KM3A+FR9
WL 2,Y2KM3A+FR10
WL 2,Y2KM3A+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* NORMAL #4 KICK
SUBR yok_4_kick_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4KM3A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4KM3A+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
.word ANI_STARTATTACK,AT_KICK,6
WL 1,Y4KM3A+FR2
WL 2,Y4KM3A+FR3
WL 2,Y4KM3A+FR4
WWL ANI_SETLONG,OBJ_GRAVITY,0c000h
WL ANI_SET_YVEL,30000h
.word ANI_ATTACK_ON, AMODE_KICK,35,62,56,34
WL 2,Y4KM3A+FR5
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,30000h
WL 3,Y4KM3A+FR5
#no_hit
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_SHAKER,20
.word ANI_SHAKEALL,1
WL 2,Y4KM3A+FR5
WL 2,Y4KM3A+FR6
WL 2,Y4KM3A+FR7
WL 2,Y4KM3A+FR8
WL 2,Y4KM3A+FR9
WL 2,Y4KM3A+FR10
WL 2,Y4KM3A+FR11
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 STOMP ON FALLEN OPPONENT
SUBR yok_2_stomp_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y2MP2A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_STOMP,3
WL 2,Y2MP2A+FR2
;if we're going to miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,4,-5,-40,38,43,50
WL 1,Y2MP2A+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat_stomp
WL 2,Y2MP2A+FR3
WL 3,Y2MP2A+FR4
WL 2,Y2MP2A+FR5
WL 3,Y2MP2A+FR6
.word ANI_ATTACK_ON_Z,AMODE_STOMP,4,-5,-40,38,43,50
WL 3,Y2MP2A+FR7
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WL ANI_IFSTATUS,#hit
WL ANI_CODE,CALL_MISSES
#hit
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL 3,Y2MP2A+FR8
WL 3,Y2MP2A+FR9
WL 3,Y2MP2A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#leapat_stomp
.word ANI_TARGET,TGT_CHEST,TGT_CHEST,ATM_CLOSEST
;too far. leap at the chest.
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,90000h,TGT_USER,21,0,-40
.word ANI_STARTATTACK,AT_STOMP,15
WL 3,Y2MP2A+FR3
WL 3,Y2MP2A+FR4
WL 3,Y2MP2A+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SHAKER,40
.word ANI_SHAKEALL,2
WL 3,Y2MP2A+FR6
.word ANI_ATTACK_ON_Z,AMODE_STOMP,4,-5,-40,38,43,50
WL 3,Y2MP2A+FR7
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#leapat_hit
WL ANI_CODE,CALL_MISSES
#leapat_hit
WL 3,Y2MP2A+FR8
WL 3,Y2MP2A+FR9
WL 3,Y2MP2A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 STOMP ON FALLEN OPPONENT
SUBR yok_4_stomp_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4MP4A+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_STOMP,3
WL 2,Y4MP4A+FR2
;if we're going to miss, do a leapat
.word ANI_ATTACK_ON_Z,AMODE_HITCHECK,15,-7,-10,40,36,50
WL 1,Y4MP4A+FR2
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#leapat_stomp
WL 2,Y4MP4A+FR3
WL 3,Y4MP4A+FR4
WL 2,Y4MP4A+FR5
WL 3,Y4MP4A+FR6
.word ANI_ATTACK_ON_Z,AMODE_STOMP,15,-7,-10,40,36,50
WL 3,Y4MP4A+FR7
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WL ANI_IFSTATUS,#hit
WL ANI_CODE,CALL_MISSES
#hit
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL 3,Y4MP4A+FR8
WL 3,Y4MP4A+FR9
WL 3,Y4MP4A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#leapat_stomp
.word ANI_TARGET,TGT_CHEST,TGT_CHEST,ATM_CLOSEST
;too far. leap at the chest.
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 16,999,160,140,90000h,TGT_USER,33,0,40
.word ANI_STARTATTACK,AT_STOMP,16
WL 3,Y4MP4A+FR3
WL 3,Y4MP4A+FR4
WL 3,Y4MP4A+FR5
WL 3,Y4MP4A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_SHAKER,40
.word ANI_SHAKEALL,2
.word ANI_ATTACK_ON_Z,AMODE_STOMP,15,-7,-10,40,36,50
WL 3,Y4MP4A+FR7
.word ANI_ATTACK_OFF
WL ANI_IFSTATUS,#leapat_hit
WL ANI_CODE,CALL_MISSES
#leapat_hit
WL 3,Y4MP4A+FR8
WL 3,Y4MP4A+FR9
WL 3,Y4MP4A+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #3 FLYING BUTT-DROP (ouch)
#yoff equ 65
******************************
SUBR yok_combo_butt_drop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_INAIR
.word ANI_SETSPEED,100h
WL 2,Y3JK3A+FR1
WL 2,Y3JK3A+FR2
WL 2,Y3JK3A+FR3
;take off
.word ANI_TARGET,TGT_CHEST,TGT_CHEST,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 30,999,112,96,90000h,TGT_USER,0,0+#yoff,-10
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_STOMP,30
.word ANI_SETPLYRMODE,MODE_INAIR
WL 4,Y3JK3A+FR4
.word ANI_OFFSET,0,#yoff,0
.word ANI_ATTACK_ON_Z,AMODE_STOMP,-22,-10-10,-30,54,36,50
WWL ANI_WAITHITOPP,30,Y3JK3A+FR5
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
.word ANI_SHAKER,40
.word ANI_SHAKEALL,2
WL ANI_CODE,HIT_THE_MAT
WL ANI_IFNOTSTATUS,#missc
;bounce off the guy
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,40000h
WLW ANI_SET_ZVEL,1C000h,AM_ABS
;this part should take around 12 ticks
WL 4,Y3JK3A+FR6
WL 1,Y3JK3A+FR5
.word ANI_WAITHITGND
.word ANI_SHAKER,40
.word ANI_SHAKEALL,1
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_NORMAL
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 4,Y3JK3A+FR6
WL 4,Y3JK3A+FR7
WL 4,Y3JK3A+FR8
.word ANI_XFLIP
WL ANI_CHANGEANIM,yok_faceup_getup2_anim
#missc
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_CODE,CALL_MISSES
WL 16,Y3JK3A+FR6
.word ANI_WAITHITGND
.word ANI_SETPLYRMODE,MODE_NORMAL
WL 4,Y3JK3A+FR7
WL 4,Y3JK3A+FR8
.word ANI_XFLIP
WL ANI_CHANGEANIM,yok_faceup_getup2_anim
******************************
SUBR yok_3_butt_drop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_INAIR
.word ANI_SETSPEED,100h
WL 2,Y3JK3A+FR1
WL 2,Y3JK3A+FR2
WL 2,Y3JK3A+FR3
;take off
.word ANI_TARGET,TGT_CHEST,TGT_CHEST,ATM_CLOSEST
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 30,999,112,96,90000h,TGT_USER,0,0+#yoff,-10
WL ANI_CODE,no_bk_xvel
.word ANI_STARTATTACK,AT_LEAPING,30
.word ANI_SETPLYRMODE,MODE_INAIR
WL 4,Y3JK3A+FR4
.word ANI_OFFSET,0,#yoff,0
.word ANI_ATTACK_ON_Z,AMODE_BUTTSTOMP,-22,-10-10,-30,54,36,50
WWL ANI_WAITHITOPP,30,Y3JK3A+FR5
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
.word ANI_SHAKER,40
.word ANI_SHAKEALL,2
WL ANI_CODE,HIT_THE_MAT
.WORD ANI_ADD_MOVE,MOVE_C_4,2,2
WL ANI_IFNOTSTATUS,#miss
#hit
WL ANI_CODE,create_bucket_salt
WWL ANI_SETLONG,DEBRIS_X,[2,1] ;Y,X of head
WL ANI_CODE,CALL_OTHER_AVERAGE
;bounce off the guy
WL ANI_SET_YVEL,40000h
WLW ANI_SET_ZVEL,1C000h,AM_ABS
;this part should take around 12 ticks
WL 4,Y3JK3A+FR6
WWL ANI_SETLONG,DEBRIS_X,[2,8] ;Y,X of head
WL 1,Y3JK3A+FR5
.word ANI_WAITHITGND
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
.word ANI_SHAKER,40
.word ANI_SHAKEALL,1
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 3,Y3JK3A+FR6
WL 3,Y3JK3A+FR7
WL 3,Y3JK3A+FR8
.word ANI_XFLIP
WL ANI_CHANGEANIM,yok_faceup_getup2_anim
#miss
WL ANI_CODE,CALL_MISSES
WL ANI_SET_YVEL,40000h
.word ANI_SHAKER,30
.word ANI_SHAKEALL,1
WL ANI_CODE,SMALL_BOUNCE
WL 4,Y3JK3A+FR6
.word ANI_WAITHITGND
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 6,Y3JK3A+FR6
WL 3,Y3JK3A+FR7
WL 3,Y3JK3A+FR8
.word ANI_XFLIP
WL ANI_CHANGEANIM,yok_faceup_getup2_anim
#*****************************************************************************
*
* #2 KNEE
SUBR yok_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
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4NM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4NM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4NM3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
.word ANI_STARTATTACK,AT_KNEE,6
WL 1,Y4NM3B+FR2
WL 2,Y4NM3B+FR3
.word ANI_ATTACK_ON, AMODE_KNEE,34,58,26,32
WL 3,Y4NM3B+FR4
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit
WL ANI_SET_YVEL,60000h
WLW ANI_SET_ZVEL,10000h,AM_ABS
WL 3,Y4NM3B+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,Y4NM3B+FR5
WL 3,Y4NM3B+FR6
WL 3,Y2NM3A+FR7
WL 3,Y2NM3A+FR8
WL 3,Y2NM3A+FR9
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit
WL 4,Y4NM3B+FR4
WL 3,Y4NM3B+FR5
WL 3,Y4NM3B+FR6
WL 3,Y2NM3A+FR7
WL 3,Y2NM3A+FR8
WL 3,Y2NM3A+FR9
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 KNEE
*********************************************************************
SUBR yok_combo_knee_anim
;Can also be down from head hold!
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 3,Y4NM3B+FR1
.word ANI_STARTATTACK,AT_KNEE,6
WL 3,Y4NM3B+FR2
WL 3,Y4NM3B+FR3
.word ANI_ATTACK_ON, AMODE_KNEE,34,28,66,52
WL 3,Y4NM3B+FR4
.word ANI_ATTACK_OFF
.WORD ANI_INC_COMBO
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit3c
.WORD ANI_INC_COMBO
WL ANI_SET_YVEL,60000h
WLW ANI_SET_ZVEL,-4000h,AM_ABS
WL 3,Y4NM3B+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,Y4NM3B+FR5
WL 3,Y4NM3B+FR6
WL 3,Y4NM3B+FR7
WL 3,Y4NM3B+FR8
WL 3,Y4NM3B+FR9
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#no_hit3c
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 6,Y4NM3B+FR4
WL 3,Y4NM3B+FR5
WL 3,Y4NM3B+FR6
WL 3,Y4NM3B+FR7
WL 3,Y4NM3B+FR8
WL 3,Y4NM3B+FR9
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
*********************************************************************
SUBR yok_4_knee2_anim
;Done from head hold!
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 1,Y4NM3B+FR1
WL ANI_GOTO,#tag
SUBR yok_4_knee_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4NM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4NM3B+FR1
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
WL 1,Y4NM3B+FR2
WWL ANI_IFBUTTONS,PLAYER_PUNCH_VAL|PLAYER_KICK_VAL,start_run_anim
#tag
.word ANI_STARTATTACK,AT_KNEE,6
WL 1,Y4NM3B+FR2
WL 2,Y4NM3B+FR3
.word ANI_ATTACK_ON, AMODE_KNEE,34,58,26,32
WL 3,Y4NM3B+FR4
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_3,2,2
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
.word ANI_SHAKER,30
#missedb
#missed
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit3
WL ANI_SET_YVEL,60000h
WLW ANI_SET_ZVEL,-4000h,AM_ABS
WL 3,Y4NM3B+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,Y4NM3B+FR5
WL 3,Y4NM3B+FR6
WL 3,Y4NM3B+FR7
WL 3,Y4NM3B+FR8
WL 3,Y4NM3B+FR9
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#no_hit3
WL 4,Y4NM3B+FR4
WL 3,Y4NM3B+FR5
WL 3,Y4NM3B+FR6
WL 3,Y4NM3B+FR7
WL 3,Y4NM3B+FR8
WL 3,Y4NM3B+FR9
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#************
*
* #2 SUPER KARATE KICK
SUBR yok_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 2,Y1TT5Z+FR2
* #4 SUPER KARATE KICK
SUBR yok_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 3,Y4KB3A+FR3
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 8,999,55,45,90000h,TGT_HEAD,64,82,10
WL ANI_SET_YVEL,40000h
.word ANI_FRICTION,4000h
WL 4,Y4KB3A+FR4
WL 4,Y4KB3A+FR5
.word ANI_ATTACK_ON, AMODE_SUPER_KICK,20,45,62,40 ;mode,x,y,w,h
WL 4,Y4KB3A+FR6
WLW ANI_SET_ZVEL,0h,AM_ABS
WL 4,Y4KB3A+FR6
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_7,2,2
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
.word ANI_SHAKER,30
;hit
; WL ANI_CODE,create_impact2
.word ANI_ZEROVELS
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,30000h
WL 7,Y4KB3A+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
#no_hit2
.word ANI_WAITHITGND
.word ANI_SHAKER,20
WL ANI_CODE,skick_delay
WL ANI_IFNOTSTATUS,#none0
WL 15,Y4KB3A+FR6
#none0
WL 3,Y4KB3A+FR7
WL 3,Y4KB3A+FR8
WL 3,Y4KB3A+FR9
WL 3,Y4KB3A+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missed
#missedb
WL ANI_CODE,CALL_MISSES
WL 3,Y4KB3A+FR6
.word ANI_WAITHITGND
.ref skick_delay
WL ANI_CODE,skick_delay
WL ANI_IFNOTSTATUS,#none
WL 15,Y4KB3A+FR6
#none
WL 3,Y4KB3A+FR7
WL 3,Y4KB3A+FR8
WL 3,Y4KB3A+FR9
WL 3,Y4KB3A+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR yok_combo_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 3,Y4KB3A+FR3
WL 3,Y4KB3A+FR4
WL 4,Y4KB3A+FR5
.word ANI_ATTACK_ON, AMODE_KICK,20,35,72,50 ;mode,x,y,w,h
WL 2,Y4KB3A+FR6
WLW ANI_SET_ZVEL,0h,AM_ABS
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,000H,10000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL 4,Y4KB3A+FR6
.word ANI_SHAKER,30
.word ANI_ZEROVELS
.word ANI_SHAKER,20
WL 3,Y4KB3A+FR7
WL 3,Y4KB3A+FR8
WL 3,Y4KB3A+FR9
WL 3,Y4KB3A+FR10
.word ANI_FRICTION,4000h
.word ANI_SET_RPTCOUNT,3 ;rpt 2 times
.word ANI_CLR_BUTCOUNT
#skick_loop
WL 1,Y4KB3A+FR4
WL 2,Y4KB3A+FR5
.word ANI_ATTACK_ON, AMODE_KICK,20,35,72,50 ;mode,x,y,w,h
WL 2,Y4KB3A+FR6
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,000H,10000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
.word ANI_SHAKER,30
.word ANI_ZEROVELS
.word ANI_SHAKER,20
WL 2,Y4KB3A+FR7
WL 1,Y4KB3A+FR8
WL 2,Y4KB3A+FR9
WL 1,Y4KB3A+FR10
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#skick_loop
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NO_KNEE
WL ANI_CHANGEANIM,yok_combo_knee_anim
#NO_KNEE
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#NO_UPPER
WL ANI_CHANGEANIM,yok_combo_uppercut_anim
#NO_UPPER
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NO_GUT
WL ANI_CHANGEANIM,yok_combo_gut_push_anim
#NO_GUT
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NO_HIPTOSS
WL ANI_CHANGEANIM,yok_combo_hiptoss_anim
#NO_HIPTOSS
.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
#missedc
#missedbc
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_CODE,CALL_MISSES
WL 3,Y4KB3A+FR6
.word ANI_WAITHITGND
WL 3,Y4KB3A+FR7
WL 3,Y4KB3A+FR8
WL 3,Y4KB3A+FR9
WL 3,Y4KB3A+FR10
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2,#4 GUT PUSH
SUBR yok_2_gut_push_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_PUNCH,6
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
.word ANI_FRICTION,4800h
WLW ANI_SET_XVEL,0a8000h,AM_FACE_REL
WL 2,Y4PS3B+FR1
WL 2,Y4PS3B+FR2
WL 2,Y4PS3B+FR3
.word ANI_ATTACK_ON, AMODE_GUTPUSH,-12,31,43,63 ;mode,x,y,w,h
WL 2,Y4PS3B+FR4
WL 2,Y4PS3B+FR5
WWL ANI_WAITHITOPP,9,Y4PS3B+FR6
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
WL 9,Y4PS3B+FR6
WL 3,Y4PS3B+FR7
WL 3,Y4PS3B+FR8
WL 3,Y4PS3B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
WL 3,Y4PS3B+FR6
WL 3,Y4PS3B+FR7
WL 3,Y4PS3B+FR8
WL 3,Y4PS3B+FR9
; WL 3,Y4PS3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*
SUBR yok_4_gut_push_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_5,2,2
.word ANI_STARTATTACK,AT_PUNCH,6
.word ANI_FRICTION,4800h
WLW ANI_SET_XVEL,0a8000h,AM_FACE_REL
WL 2,Y4PS3B+FR1
WL 2,Y4PS3B+FR2
WL 2,Y4PS3B+FR3
.word ANI_ATTACK_ON, AMODE_GUTPUSH,-12,31,43,63 ;mode,x,y,w,h
WL 2,Y4PS3B+FR4
WL 2,Y4PS3B+FR5
WL 9,Y4PS3B+FR6
.word ANI_ATTACK_OFF
.word ANI_ZEROVELS
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
WL 9,Y4PS3B+FR6
WL 3,Y4PS3B+FR7
WL 3,Y4PS3B+FR8
WL 3,Y4PS3B+FR9
WL 3,Y4PS3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
WL 3,Y4PS3B+FR6
WL 3,Y4PS3B+FR7
WL 3,Y4PS3B+FR8
WL 3,Y4PS3B+FR9
WL 3,Y4PS3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*
SUBR yok_combo_gut_push_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_CLR_BUTCOUNT
.word ANI_FRICTION,4800h
WLW ANI_SET_XVEL,98000h,AM_FACE_REL
.word ANI_ATTACK_ON, AMODE_GUTPUSH,-12,31,43,63 ;mode,x,y,w,h
.word ANI_IMMOBILIZE,60
WL 3,Y4PS3B+FR1
WL 3,Y4PS3B+FR2
WL 3,Y4PS3B+FR3
WL 3,Y4PS3B+FR4
WL 3,Y4PS3B+FR5
WL 10,Y4PS3B+FR6
.word ANI_ATTACK_OFF
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
.WORD ANI_INC_COMBO
.word ANI_IMMOBILIZE,60
WL 3,Y4PS3B+FR7
WL 3,Y4PS3B+FR8
WL 3,Y4PS3B+FR9
WL 3,Y4PS3B+FR10
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NO_SALT
WL ANI_CHANGEANIM,yok_combo_salt_anim
#NO_SALT
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedbc
.word ANI_IMMOBILIZE,1
WL 15,Y4PS3B+FR6
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 3,Y4PS3B+FR7
WL 3,Y4PS3B+FR8
WL 3,Y4PS3B+FR9
WL 3,Y4PS3B+FR10
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* CLIMB UP TURNBUCKLES
SUBR yok_climb_up_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SCROLL_CTRL,YOK_TBUKLY
WL ANI_CODE,face_inside
.word ANI_SHAKECORNER
.word ANI_OFFSET,2,3,0 ;6,7,0, spread out over 3
WL 3,Y2CT2Z+FR1
.word ANI_OFFSET,2,2,0
WL 3,Y2CT2Z+FR2
.word ANI_OFFSET,2,2,0
WL 2,Y2CT2Z+FR3
WL 2,Y2CT2Z+FR4
WL 2,Y2CT2Z+FR5
WL 2,Y2CT2Z+FR6
WL 2,Y2CT2Z+FR7
WL 2,Y2CT2Z+FR8
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONTURNBKL
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY|MODE_OVERLAP
.word ANI_SCROLL_CTRL,SC_RESTORE
#repeat
WL 20,Y2CT2Z+FR8
WL ANI_GOTO,#repeat
#*****************************************************************************
*
* CLIMB DOWN TURNBUCKLES
SUBR yok_climb_down_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SCROLL_CTRL,SC_RESTORE
WL ANI_CODE,face_inside
.word ANI_SHAKECORNER
WL 2,Y2CT2Z+FR8
WL 2,Y2CT2Z+FR7
WL 2,Y2CT2Z+FR6
WL 2,Y2CT2Z+FR5
WL 2,Y2CT2Z+FR4
WL 2,Y2CT2Z+FR3
.word ANI_OFFSET,-2,-2,0
WL 3,Y2CT2Z+FR2
.word ANI_OFFSET,-2,-2,0
WL 3,Y2CT2Z+FR1
.word ANI_OFFSET,-2,-3,0
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* BIG NASTY BUTT-DROP OFF THE TURNBUCKLE
SUBR yok_tbukl_buttdrop_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOGRAVITY|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SCROLL_CTRL,SC_RESTORE
.word ANI_OFFSET,-20,0,0
WL 4,Y2ZZ2X+FR1
.word ANI_OFFSET,0,60,0
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 36,190,190,190,90000h,TGT_CHEST,0,0,-30
WL ANI_CODE,check_xvel
.word ANI_STARTATTACK,AT_BUTTSTOMP,36
; .word ANI_SETPLYRMODE,MODE_INAIR2
WL ANI_CODE,set_tbukl_airmode
.word ANI_GRAVITY_ON
.word ANI_SHAKECORNER
WL 4,Y2ZZ2X+FR2
WL 4,Y2ZZ2X+FR3
WL ANI_CODE,set_tbukl_confine
.word ANI_ATTACK_ON_Z,AMODE_BSTOMP,-36,0,-30,110,38,80
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,80
#opp_onground
WL 4,Y2ZZ2X+FR4
.word ANI_WAITHITGND
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_ZEROVELS
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WL ANI_IFSTATUS,#hit
;missed
WL ANI_CODE,CALL_MISSES
; WL ANI_CODE,tbukl_miss_damage
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKER,50
.word ANI_SHAKEALL,2
.word ANI_BOUNCE,6
WL 4,Y2ZZ2X+FR5
WL 4,Y2ZZ2X+FR4
.word ANI_WAITHITGND
.word ANI_SHAKER,25
WL ANI_CODE,HIT_THE_MAT
WL ANI_GOTO,#common
#hit
WL ANI_CODE,CALL_ANI_AVERAGE_MOVE
WL ANI_CODE,HIT_THE_MAT
.word ANI_DRAW_NAME,13
.word ANI_SHAKER,50
.word ANI_SHAKEALL,3
.word ANI_BOUNCE,6
WLW ANI_SET_ZVEL,20000h,AM_ABS
WL 4,Y2ZZ2X+FR5
WL 4,Y2ZZ2X+FR4
.word ANI_WAITHITGND
;TODO (JS) - put some kind of attack here.
.word ANI_ZEROVELS
.word ANI_IMMOBILIZE,30
.word ANI_SHAKER,25
WL ANI_CODE,HIT_THE_MAT
#common
WL 4,Y2ZZ2X+FR5
WL 4,Y2ZZ2X+FR6
WL 12,Y2ZZ2X+FR7
.word ANI_XFLIP
WL 4,Y3GU2A+FR3
WL ANI_CHANGEANIM,yok_faceup_getup2_anim
#*****************************************************************************
*
* GRAB & FLING OPPONENT (INTO A RUN)
SUBR yok_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,Y1TT5Z+FR2
WL 2,Y1TT5Z+FR3
WL ANI_GOTO,#cont
SUBR yok_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,40,40,90000h,TGT_CHEST,40,0,25
WL ANI_SET_YVEL,0000h
WL 5,Y4GF3B+FR2
.word ANI_ATTACK_ON, AMODE_PUPPET_NOFLAIL,33,56,44,18 ;mode,x,y,w,h
WWL ANI_WAITHITOPP,6,Y4GF3B+FR3
.word ANI_ZERO_XZVELS
WWL ANI_WAITHITOPP,2,Y4GF3B+FR3
.word ANI_ATTACK_OFF
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WL ANI_IFNOTSTATUS,#missedb
WL ANI_IFBLOCKED,#missedb
;got him
WL ANI_CODE,DO_GRUNT
.ref CALL_SETUP
WL ANI_CODE,CALL_SETUP
.word ANI_ATTACHZ,0,0,10 ;x & y don't matter.
.word ANI_SETOPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_KEEPATTACHED
; attacker sequence
WWLLW ANI_SUPERSLAVE2,10,Y4GF3B+FR3,#puppet_tbl,0
WWLLW ANI_SUPERSLAVE2,5,Y4GF3B+FR4,#puppet_tbl,1
WWLLW ANI_SUPERSLAVE2,4,Y4GF3B+FR5,#puppet_tbl,2
WWLLW ANI_SUPERSLAVE2,3,Y4GF3B+FR6,#puppet_tbl,3
WWLLW ANI_SUPERSLAVE2,3,Y4GF3B+FR7,#puppet_tbl,4
WWLLW ANI_SUPERSLAVE2,3,Y4GF3B+FR8,#puppet_tbl,5
WL ANI_SLAVEANIM,#strt_run_tbl
.word ANI_CLROPPMODE,MODE_GHOST
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_DETACH
WL 10,Y4GF3B+FR9
.word ANI_OFFSET,-10,0,0 ;x,y,z
.word ANI_SETFACING
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedb
.ref fling_delay
WL ANI_CODE,fling_delay
WL ANI_IFNOTSTATUS,#missed
WL 25,Y4GF3B+FR3
#missed
WL ANI_CODE,CALL_MISSES
WL 8,Y4GF3B+FR3
WL 4,Y4GF3B+FR2
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#puppet_tbl
.long #Bret
.long #Razor
.long #Taker
.long #Yokozuna
.long #Shawn
.long #BamBam
.long #Doink
.long #Adam
.long #Lex
#Bret
LWWW H4YR3A+FR1,50,1,1
LWWW H4YR3A+FR2,51,0,1
LWWW H4YR3A+FR3,45,-2,1
LWWW H4YR3A+FR5,33,4,1
LWWW H3RN3A+FR1,-6,6,0
LWWW H3RN3A+FR2,6,13,0
#Razor
LWWW R4YR3A+FR1,38,10,0
LWWW R4YR3A+FR2,28,10,0
LWWW R4YR3A+FR3,13,0,0
LWWW R4YR3A+FR4,-4,4,0
LWWW R3RN3D+FR10,-8,16,0
LWWW R3RN3D+FR11,8,22,0
#Taker
LWWW U4YR3B+FR2,35,11,0
LWWW U4YR3B+FR3,42,6,0
LWWW U4YR3B+FR4,32,10,0
LWWW U4YR3B+FR5,19,14,0
LWWW U3RN3A+FR2,-12,18,0
LWWW U3RN3A+FR2,-20,22,0
#Yokozuna
LWWW Y4YR3A+FR1,54,5,1
LWWW Y4YR3A+FR4,37,4,1
LWWW Y4YR3A+FR5,27,1,1
LWWW Y4YR3A+FR7,-4,-3,1
LWWW Y3RN3C+FR7,-5,16,0
LWWW Y3RN3C+FR8,15,19,0
#Shawn
LWWW S4YR3A+FR2,31,-1,1
LWWW S4YR3A+FR3,50,-12,1
LWWW S4YR3A+FR5,14,0,1
LWWW S4YR3A+FR6,6,2,1
LWWW S3RN3A+FR2,-6,14,0
LWWW S3RN3A+FR3,7,19,0
#BamBam
LWWW B4YR3A+FR3,44,6,0
LWWW B4YR3A+FR4,50,-1,0
LWWW B4YR3A+FR5,49,-2,0
LWWW B4YR3A+FR7,-15,-1,0
LWWW B3RN3A+FR1,-16,17,0
LWWW B3RN3A+FR2,-5,23,0
#Doink
LWWW D4YR3B+FR1,51,6,1
LWWW D4YR3B+FR2,50,7,1
LWWW D4YR3B+FR3,34,4,1
LWWW D4YR3B+FR4,10,9,1
LWWW D3RN3B+FR3,-1,18,0
LWWW D3RN3B+FR4,1,23,0
#Adam
.long 0
#Lex
LWWW L4YR3B+FR1,53,8,1
LWWW L4YR3B+FR2,40,0,1
LWWW L4YR3B+FR3,15,0,1
LWWW L4YR3B+FR4,-27,1,1
LWWW L3RN3B+FR2,-4,16,0
LWWW L3RN3B+FR3,17,18,0
#strt_run_tbl
.long start_run_flung,start_run_flung,start_run_flung
.long start_run_flung,start_run_flung,start_run_flung
.long start_run_flung,start_run_flung,start_run_flung
.long start_run_flung,start_run_flung,start_run_flung
#*****************************************************************************
*
SUBR yok_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,Y3GU4A+FR13
WL 2,Y3GU2A+FR12
WL 2,Y3GU2A+FR7
WL ANI_SET_YVEL,39000h
WL 4,Y3CP3B+FR1
WL 4,Y3CP3B+FR2
WL 4,Y3CP3B+FR3
WL 4,Y3CP3B+FR4
WL 4,Y3CP3B+FR5
WL 4,Y3CP3B+FR6
WL 4,Y3CP3B+FR7
WL 4,Y3CP3B+FR8
.ref am_I_dead
WL ANI_CODE,am_I_dead
;If I'm dead, goto fall back
WL ANI_IFNOTSTATUS,#nodead
.word ANI_SETPLYRMODE,MODE_DEAD
.word ANI_END
#nodead
WL 4,Y3RL1A+FR1
.word ANI_WAITROLL
.ref yok_faceup_getup_anim
WL ANI_CHANGEANIM,yok_faceup_getup_anim
#*****************************************************************************
SUBR yok_climbthru_side_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_NOCOLLIS
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WL ANI_CODE,SET_DIR_FACE
.word ANI_SETFACING
.WORD ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,3000h,AM_FACE_REL
WL 3,Y4CR3B+FR1
.word ANI_OFFSET,5,0,0
WL 3,Y4CR3B+FR2
.word ANI_BENDROPE,2
.word ANI_OFFSET,8,0,0 ;*****
WL 3,Y4CR3B+FR3
.word ANI_OFFSET,8,0,0 ;*****
WL 3,Y4CR3B+FR4
.word ANI_ROPE_Z,R_TOP,RZ_HIGH
.word ANI_ROPE_Z,R_MIDDLE,RZ_HIGH
.word ANI_OFFSET,5,0,0 ;*****
WL 3,Y4CR3B+FR5
.word ANI_OFFSET,7,0,0 ;*****
WL 3,Y4CR3B+FR6
.word ANI_OFFSET,12,0,0 ;*****
WL 3,Y4CR3B+FR8
.word ANI_BENDROPE,2
.word ANI_OFFSET,12,0,0 ;*****
WL 3,Y4CR3B+FR9
.word ANI_ROPE_Z,R_BOTTOM,RZ_HIGH
.word ANI_OFFSET,10,0,0 ;*****
WL 3,Y4CR3B+FR10
.word ANI_BENDROPE,-1
.word ANI_OFFSET,10,-3,0
.word ANI_ZEROVELS
WL 3,Y4CR3B+FR11
WL 3,Y4CR3B+FR12
;now jump off...
WL 2,Y4JD4A+FR3
.word ANI_SET_IDIOT
WWL ANI_SETLONG,OBJ_GRAVITY,0F000h
WL ANI_SET_YVEL,60000h
WLW ANI_SET_XVEL,30000h,AM_FACE_REL
; WL 3,Y4JD4A+FR5
.word ANI_WAITHITGND
.word ANI_SHAKER,40
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_ROPE_Z,R_TOP,RZ_NORM
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_ZEROVELS
WL 2,Y4JD4A+FR6
WL 2,Y4JD4A+FR7
WL 4,Y4JD4A+FR8
.word ANI_FACEDOWN
.word ANI_CLEAR_CLIMB
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR yok_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,Y4JD4A+FR3
WWL ANI_SETLONG,OBJ_GRAVITY,0F000h
WL ANI_CODE,#set_trgt
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
.word ANI_LEAPATPOS,14h,200,0,0,0 ;#ticks,dist,xoff,yoff,zoff
; WL 3,Y4JD4A+FR5
.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,Y4JD4A+FR6
WL 2,Y4JD4A+FR7
WL 2,Y4JD4A+FR8
WLW ANI_SET_XVEL,4000h,AM_FACE_REL
;climb through
WL 3,Y4CR3B+FR1
.word ANI_OFFSET,10,0,0 ;*****
WL 2,Y4CR3B+FR2
.word ANI_BENDROPE,2
.word ANI_OFFSET,10,0,0 ;*****
WL 3,Y4CR3B+FR3
.word ANI_OFFSET,10,0,0 ;*****
WL 2,Y4CR3B+FR4
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
WL 3,Y4CR3B+FR5
WL 2,Y4CR3B+FR6
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_OFFSET,10,0,0 ;*****
WL 3,Y4CR3B+FR8
.word ANI_BENDROPE,3
.word ANI_OFFSET,10,0,0 ;*****
WL 2,Y4CR3B+FR9
.word ANI_OFFSET,10,0,0 ;*****
WL 3,Y4CR3B+FR10
.word ANI_ROPE_Z,R_MIDDLE,RZ_NORM
.word ANI_ROPE_Z,R_BOTTOM,RZ_NORM
.word ANI_BENDROPE,-1
.word ANI_OFFSET,6,0,0
WL 2,Y4CR3B+FR11
.word ANI_OFFSET,8,0,0
WL 3,Y4CR3B+FR12
.word ANI_ZEROVELS
.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 yok_climbthru_bot_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOCOLLIS
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
;Must rotate toward ropes!
;Do a different sequence
;lie down
WL ANI_CODE,#ckspin
WL ANI_IFSTATUS,#dir4
;Facing #2, spin first!
WL 3,Y1TT5Z+FR2
WL 3,Y1TT5Z+FR3
#dir4
WL 4,Y3GU2A+FR14
WL 4,Y3GU2A+FR13
WL 4,Y3GU2A+FR12
WL 5,Y3GU2A+FR11
WL 5,Y3GU2A+FR10
; WL 4,Y3GU2A+FR9
WL 5,Y3GU2A+FR8
WL 5,Y3GU2A+FR7
;roll over once
WLW ANI_SET_ZVEL,90000h,AM_ABS
WL 3,Y3RL1A+FR6
WL 3,Y3RL1A+FR7
WL 3,Y3RL1A+FR8
WL 3,Y3RL1A+FR9
WL 3,Y3RL1A+FR10
WL 3,Y3RL1A+FR1
WL 3,Y3RL1A+FR2
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
.word ANI_SET_IDIOT
;climb through
.word ANI_OFFSET,0,-37h,0 ;x,y,z
.WORD ANI_XFLIP
WL 3,Y2KB3A+FR7
WL 3,Y2KB3A+FR6
WL 3,Y2KB3A+FR5
.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
#*****************************************************************************
SUBR yok_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,Y2KB3A+FR5
WL 3,Y2KB3A+FR6
WL 3,Y2KB3A+FR7
.WORD ANI_XFLIP
.word ANI_OFFSET,0,37h,-60
;roll
WLW ANI_SET_ZVEL,-70000h,AM_ABS
.word ANI_FRICTION,3000h
WL 3,Y3RL1A+FR1
WL 3,Y3RL1A+FR10
WL 3,Y3RL1A+FR9
WL 3,Y3RL1A+FR8
WL 3,Y3RL1A+FR7
WL 3,Y3RL1A+FR6
.word ANI_ZEROVELS
.word ANI_GRAVITY_ON
;get up
WL 4,Y3GU2A+FR7
WL 4,Y3GU2A+FR8
; WL 4,Y3GU2A+FR9
WL 4,Y3GU2A+FR10
WL 4,Y3GU2A+FR11
WL 4,Y3GU2A+FR12
WL 4,Y3GU2A+FR13
WL 4,Y3GU2A+FR14
; WL ANI_CODE,clr_climb
.word ANI_CLEAR_CLIMB
.word ANI_FACEDOWN
.word ANI_ZEROVELS
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR yok_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,Y1TT5Z+FR2
WL 3,Y1TT5Z+FR3
#dir4
WL 4,Y3GU2A+FR14
WL 4,Y3GU2A+FR13
WL 4,Y3GU2A+FR12
WL 5,Y3GU2A+FR11
WL 5,Y3GU2A+FR10
; WL 4,Y3GU2A+FR9
WL 5,Y3GU2A+FR8
WL 5,Y3GU2A+FR7
;roll over once
WL ANI_CODE,#set_zvel2
WL 3,Y3RL1A+FR6
WL 3,Y3RL1A+FR5
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,Y3RL1A+FR4
WL 3,Y3RL1A+FR3
WL 3,Y3RL1A+FR2
.word ANI_SET_IDIOT
;climb through
.word ANI_OFFSET,0,-61,0
.word ANI_ZEROVELS
.WORD ANI_XFLIP
WL 3,Y4KB3A+FR6
WL 3,Y4KB3A+FR7
WL 3,Y4KB3A+FR8
.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 yok_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,Y3RL1A+FR6
WL 3,Y3RL1A+FR5
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE|MODE_OVERLAP|MODE_NOSHADOW|MODE_NOCOLLIS
WL 3,Y3RL1A+FR4
WL 3,Y3RL1A+FR3
WL 3,Y3RL1A+FR2
;climb through
.word ANI_OFFSET,0,-61,0
.word ANI_ZEROVELS
.word ANI_XFLIP
WL 3,Y4KB3A+FR6
WL 3,Y4KB3A+FR7
WL 3,Y4KB3A+FR8
.word ANI_XFLIP
.word ANI_ZERO_XZVELS
.word ANI_CLEAR_CLIMB
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#*****************************************************************************
SUBR yok_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
.WORD ANI_XFLIP
WL 3,Y4KB3A+FR8
WL 3,Y4KB3A+FR7
WL 3,Y4KB3A+FR6
.WORD ANI_XFLIP
.word ANI_OFFSET,0,61,0
;roll over
WL ANI_CODE,#set_zvel2
WL 3,Y3RL1A+FR3
WL 3,Y3RL1A+FR4
WL 3,Y3RL1A+FR5
WL 3,Y3RL1A+FR6
.word ANI_ZEROVELS
;get up
WL 4,Y3GU2A+FR7
WL 4,Y3GU2A+FR8
; WL 4,Y3GU2A+FR9
WL 4,Y3GU2A+FR10
WL 4,Y3GU2A+FR11
WL 4,Y3GU2A+FR12
WL 4,Y3GU2A+FR13
WL 4,Y3GU2A+FR14
; WL ANI_CODE,clr_climb
.word ANI_CLEAR_CLIMB
.WORD ANI_FACEDOWN
.word ANI_SETMODE,MODE_NOCONFINE
.word ANI_END
#set_zvel2
movi 52000h,a0
move a0,*a13(OBJ_ZVEL),L
rets
#****************************************************************************
*
* PIN OPPONENT AND RAISE ARM IN VICTORY
;Need to have this guy walk toward fallen opponent so he
;can get closer!
;This pin must be started only when opponent is on the ground!
SUBR yok_2_pin_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
;Rotate!
WL 3,Y1TT5Z+FR2
WL 3,Y1TT5Z+FR3
SUBR yok_4_pin_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL 4,Y3PF3C+FR1
WL 4,Y3PF3C+FR2
WL 4,Y3PF3C+FR3
WL 4,Y3PF3C+FR4
WL 4,Y3PF3C+FR5
WL 4,Y3PF3C+FR6
WL 4,Y3PF3C+FR7
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 30,999,80h,50h,90000h,TGT_CHEST|TGT_GROUND,0,57,-15
WL ANI_CODE,hit_nearest
WL 4,Y3PF3C+FR8
.word ANI_OFFSET,0,34,0 ;x,y,z
WL 22,Y3PF3C+FR9
WL ANI_CODE,#bucket_salt
WWL ANI_SETLONG,DEBRIS_X,[5,-5] ;Y,X of head
.word ANI_SHAKER,40
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_ATTACK_ON_Z, AMODE_STOMP,-40,-8,-25,76,20,50 ;mode,x,y,z,w,h,d
.word ANI_ZERO_XZVELS
WL 4,Y3PF3C+FR10
WWL ANI_SETLONG,DEBRIS_X,[5,-15] ;Y,X of head
WL 4,Y3PF3C+FR11
WWL ANI_SETLONG,DEBRIS_X,[5,5] ;Y,X of head
WL 4,Y3PF3C+FR12
.word ANI_ATTACK_OFF
WL ANI_CODE,DO_CROWD_CHEER
.word ANI_BOUNCE,3
WL 4,Y3PF3C+FR12
.word ANI_WAITHITGND
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL ANI_CODE,SMALL_BOUNCE
.word ANI_SHAKEALL,2
.word ANI_ATTACK_ON_Z, AMODE_STOMP,-40,-8,-25,76,20,50 ;mode,x,y,z,w,h,d
WL 1,Y3PF3C+FR12
.word ANI_ATTACK_OFF
WL ANI_SET_YVEL,30000h
.ref HIT_THE_MAT,SMALL_BOUNCE
WL 4,Y3PF3C+FR12
.ref win_announce
WL ANI_CODE,win_announce
; WLW ANI_ATTCHIMAGE,0,0 ;Turn it off
WL 50,Y3PF3C+FR12
.word ANI_LOOP
;Do another ground hit on opponent
.ref grnd_hit
WL ANI_CODE,grnd_hit
WL ANI_SET_YVEL,42000h
WLW ANI_SET_ZVEL,22000h,AM_ABS
WL 5,Y5GU4B+FR1
WL 5,Y5GU4B+FR2
WL 5,Y5GU4B+FR3
WL 5,Y5GU4B+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 5,Y5GU4B+FR5
WL 5,Y5GU4V+FR6
WL 5,Y5GU4B+FR7
WL 5,Y5GU4B+FR8
WL 7,Y5RV5A+FR1
WL 7,Y5RV5A+FR2
WL 7,Y5RV5A+FR3
WL 7,Y5RV5A+FR4
WL 7,Y5RV5A+FR5
WL 7,Y5RV5A+FR6
WL 7,Y5RV5A+FR7
WL 7,Y5RV5A+FR8
WL 40,Y5RV5A+FR9
WL 7,Y5RV5A+FR10
WL 7,Y5RV5A+FR11
#hold WL 1000,Y5RV5A+FR12
WL ANI_GOTO,#hold
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#bucket_salt
movi 100,a0
.ref RNDPER
calla RNDPER
jrls #x
calla create_bucket_salt
#x rets
******************************************************************************
* RAISE ARM IN VICTORY FROM A STANCE
SUBR yok_2_raise_arm_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_CROWD_CHEER
WL ANI_CODE,win_announce
WL 3,Y1TT5Z+FR2
WL 3,Y1TT5Z+FR3
WL ANI_GOTO,#cont
SUBR yok_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 7,Y5RV5A+FR1
WL 7,Y5RV5A+FR2
WL 7,Y5RV5A+FR3
WL 7,Y5RV5A+FR4
WL 7,Y5RV5A+FR5
WL 7,Y5RV5A+FR6
WL 7,Y5RV5A+FR7
WL 7,Y5RV5A+FR8
WL 40,Y5RV5A+FR9
WL 7,Y5RV5A+FR10
WL 7,Y5RV5A+FR11
.word ANI_SET_RPTCOUNT,-4 ;set count to rnd from 0 to 4
#lp0 WL 55,Y5RV5A+FR12
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#lp0
WL ANI_CODE,check_raisearm_bit
WL ANI_IFSTATUS,#wakeup
;don't wake up.
#floop WL 1000,Y5RV5A+FR12
WL ANI_GOTO,#floop
#wakeup
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_FACEDOWN
.word ANI_END
#*****************************************************************************
*
* #4 UPPERCUT
***********************************************************************
SUBR yok_combo_uppercut_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_PUNCH,8
WL 2,Y4UP3B+FR1
WL 2,Y4UP3B+FR2
WL 2,Y4UP3B+FR3
WL 2,Y4UP3B+FR4
.word ANI_ATTACK_ON, AMODE_UPRCUT,20,34,80,70 ;mode,x,y,w,h
WL 2,Y4UP3B+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
;Got him
;Hit, spray some explosions
WL ANI_CODE,#set_zvel
.word ANI_SHAKER,35
.word ANI_INC_COMBO
;Turn on explosion sound effect
WL ANI_CODE,HIT_THE_MAT
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2c
WL 10,Y4UP3B+FR6
#no_hit2c
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 20,Y4UP3B+FR6
WL 2,Y4UP3B+FR7
WL 2,Y4UP3B+FR8
WL 2,Y4UP3B+FR9
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#missedbc
WL 20,Y4UP3B+FR6
#missedc
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL 5,Y4UP3B+FR6
WL 5,Y4UP3B+FR7
WL 5,Y4UP3B+FR8
WL 5,Y4UP3B+FR9
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
***********************************************************************
SUBR yok_4_uppercut_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WLW ANI_SET_XVEL,10000h,AM_FACE_REL
.word ANI_STARTATTACK,AT_PUNCH,8
WL 1,Y4UP3B+FR1
WL 2,Y4UP3B+FR2
WL 2,Y4UP3B+FR3
WL 2,Y4UP3B+FR4
.word ANI_ATTACK_ON, AMODE_UPRCUT,20,24,40,80 ;mode,x,y,w,h
WL 2,Y4UP3B+FR5
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;Got him
;Hit, spray some explosions
.word ANI_SET_ATTACH
.word ANI_DEBRISAT,400,1,10,50,0 ;%chance, tbl index, x,y,z off
.word ANI_DETACH
WL ANI_CODE,CALL_OTHER_AVERAGE
WL ANI_CODE,impact_sound
WL ANI_CODE,#set_zvel
.word ANI_SHAKER,35
WL ANI_CODE,HIT_THE_MAT
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL 10,Y4UP3B+FR6
#no_hit2
WL 20,Y4UP3B+FR6
WL 2,Y4UP3B+FR7
WL 2,Y4UP3B+FR8
WL 2,Y4UP3B+FR9
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#set_zvel
move *a13(WHOIHIT),a0,L
move *a0(OBJ_ZVEL),a14,L
jrnz #skip
movi 10000h,a14
move a14,*a0(OBJ_ZVEL),L
#skip rets
#missedb
WL 10,Y4UP3B+FR6
#missed
WL 4,Y4UP3B+FR6
WL 4,Y4UP3B+FR7
WL 4,Y4UP3B+FR8
WL 4,Y4UP3B+FR9
; .word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #4 Jabs
SUBR yok_2_jabs_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,17
WL 1,Y1TT5Z+FR2
WL 1,Y1TT5Z+FR3
SUBR yok_4_jabs_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,15
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
.word ANI_SET_RPTCOUNT,3 ;rpt 2 times
#rpt
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 5,999,4ah,50,90000h,TGT_HEAD,65,90,10
WL ANI_CODE,no_bk_xvel
WL ANI_SET_YVEL,10000h
.word ANI_CLR_BUTCOUNT
WL 3,Y4JB3A+FR1
WL 3,Y4JB3A+FR2
.word ANI_ATTACK_ON, AMODE_PUNCH2,27,80,48,18 ;mode,x,y,w,h
.word ANI_ZERO_XZVELS
WL 2,Y4JB3A+FR3
.word ANI_ATTACK_OFF
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,40000h
WL 3,Y4JB3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_GOTO,#missed
#no_hit2
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
.word ANI_IMMOBILIZE,20
.word ANI_SET_ATTACH
.word ANI_DEBRISAT,200,2,0,100,0 ;%chance, tbl index, x,y,z off
.ref impact_sound
WL ANI_CODE,impact_sound
.word ANI_SHAKEALL,1
.word ANI_SHAKER,25
.word ANI_DETACH
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,28000h,18000h,0h ;x,y,z vels
WL 2,Y4JB3A+FR4
WL 2,Y4JB3A+FR5
WL 2,Y4JB3A+FR6
WL 2,Y4JB3A+FR7
WWWL ANI_IF_BUTCOUNT_LT,SPUNCHB_COUNT,1,#ex
#goto .word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#rpt
#ex2
.word ANI_IMMOBILIZE,0
WL 8,Y4JB3A+FR7
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#ex
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#ex2
WL ANI_GOTO,#goto
#missed
.word ANI_SHAKER,30
WL ANI_CODE,HIT_THE_MAT
#missedb
.word ANI_IMMOBILIZE,0
WL 2,Y4JB3A+FR4
WL 2,Y4JB3A+FR5
WL 2,Y4JB3A+FR6
WL 2,Y4JB3A+FR7
.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 yok_combo_jabs_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.WORD ANI_CLEAR_COMBO
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_STARTATTACK,AT_LEAPING,15
WL ANI_CODE,no_bk_xvel
WL ANI_SET_YVEL,10000h
WL 3,Y4JB3A+FR1
WL 3,Y4JB3A+FR2
.word ANI_ZERO_XZVELS
.WORD ANI_INC_COMBO
.word ANI_ATTACK_ON, AMODE_PUNCH2,27,50,68,38 ;mode,x,y,w,h
WL 1,Y4JB3A+FR3
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
WLLL ANI_SETOPPVELS,0,10000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL 2,Y4JB3A+FR3
.word ANI_IMMOBILIZE,25
.word ANI_SET_ATTACH
.word ANI_DEBRISAT,200,2,0,100,0 ;%chance, tbl index, x,y,z off
.ref impact_sound
WL ANI_CODE,impact_sound
.word ANI_SHAKEALL,1
.word ANI_SHAKER,25
.word ANI_DETACH
WL 2,Y4JB3A+FR4
WL 3,Y4JB3A+FR5
WL 2,Y4JB3A+FR6
WL 2,Y4JB3A+FR7
.word ANI_SET_RPTCOUNT,3 ;rpt 2 times
#rptc
.word ANI_CLR_BUTCOUNT
WL ANI_CODE,no_bk_xvel
WL ANI_SET_YVEL,10000h
WL 1,Y4JB3A+FR1
WL 2,Y4JB3A+FR2
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_ON, AMODE_PUNCH2,27,50,68,38 ;mode,x,y,w,h
WL 1,Y4JB3A+FR3
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
; .word ANI_SET_ATTACH
WLLL ANI_SETOPPVELS,000H,10000h,0h ;x,y,z vels
.WORD ANI_INC_COMBO
WL 1,Y4JB3A+FR3
.word ANI_IMMOBILIZE,20
.word ANI_SET_ATTACH
.word ANI_DEBRISAT,200,2,0,100,0 ;%chance, tbl index, x,y,z off
.ref impact_sound
WL ANI_CODE,impact_sound
.word ANI_SHAKEALL,1
.word ANI_SHAKER,25
.word ANI_DETACH
WL 1,Y4JB3A+FR4
WL 2,Y4JB3A+FR5
WL 1,Y4JB3A+FR6
WL 2,Y4JB3A+FR7
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#rptc
#exc
.word ANI_IMMOBILIZE,0
WWWL ANI_IF_BUTCOUNT_LT,KICKB_COUNT,1,#NO_KNEE
WL ANI_CHANGEANIM,yok_combo_knee_anim
#NO_KNEE
WWWL ANI_IF_BUTCOUNT_LT,SKICKB_COUNT,1,#NO_UPPER
WL ANI_CHANGEANIM,yok_combo_uppercut_anim
#NO_UPPER
WWWL ANI_IF_BUTCOUNT_LT,PUNCHB_COUNT,1,#NO_KICK
WL ANI_CHANGEANIM,yok_combo_superkick_anim
#NO_KICK
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedbc
WL 5,Y4JB3A+FR4
#missedc
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
WL ANI_SET_YVEL,40000h
WL 3,Y4JB3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_IMMOBILIZE,0
WL 3,Y4JB3A+FR4
WL 3,Y4JB3A+FR5
WL 3,Y4JB3A+FR6
WL 8,Y4JB3A+FR7
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2,#4 Slap - Clobber down
SUBR yok_2_run_slap_anim
;From a run
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP ;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,17
WL ANI_CODE,create_bucket_salt
WWL ANI_SETLONG,DEBRIS_X,[76,-62] ;Y,X of head
WL 3,Y4PU4G+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 0ch,999,7fh,55,90000h,TGT_HEAD,15,105,-35
WL ANI_GOTO,#cont
SUBR yok_2_slap2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP ;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_bucket_salt
.word ANI_STARTATTACK,AT_LEAPING,17
WWL ANI_SETLONG,DEBRIS_X,[76,-62] ;Y,X of head
WL 1,Y1TT5Z+FR2
WL 1,Y1TT5Z+FR3
WL 3,Y4PU4G+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 0dh,999,4fh,55,90000h,TGT_HEAD,65,105,-35
#cont
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WWL ANI_SETLONG,DEBRIS_X,[107,-42] ;Y,X of head
WL 4,Y4PU4G+FR2
WWL ANI_SETLONG,DEBRIS_X,[133,-8] ;Y,X of head
WL 4,Y4PU4G+FR3
WWL ANI_SETLONG,DEBRIS_X,[129,50] ;Y,X of head
WL 4,Y4PU4G+FR4
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_ON, AMODE_BSTOMP2,22-10,66,47+20,30 ;mode,x,y,w,h
WWL ANI_SETLONG,DEBRIS_X,[75,79] ;Y,X of head
WL 3,Y4PU4G+FR5
.word ANI_ATTACK_OFF
.word ANI_OFFSET,0,0,20
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;Got him
WL ANI_CODE,HIT_THE_MAT
;Immobilize player for 30 ticks without meter on!
.word ANI_IMMOBILIZE,55-11
.word ANI_SHAKER,40
WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,Y4PU4G+FR6
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,40000h
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 3,Y4PU4G+FR7
#no_hit2
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 6,Y4PU4G+FR7
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
.ref spunch_delay
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none
WL 15,Y4PU4G+FR7
#none
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missed
#missedb
.word ANI_SHAKER,35
WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,Y4PU4G+FR6
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 4,Y4PU4G+FR7
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none1
WL 15,Y4PU4G+FR7
#none1
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#*
SUBR yok_4_run_slap_anim
;From a run
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.ref create_bucket_salt
WL ANI_CODE,create_bucket_salt
.word ANI_STARTATTACK,AT_LEAPING,17
WWL ANI_SETLONG,DEBRIS_X,[76,-62] ;Y,X of head
WL 3,Y4PU4G+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 0ch,999,7fh,55,90000h,TGT_HEAD,15,105,35
WL ANI_GOTO,#cont
SUBR yok_4_slap2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP ;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_bucket_salt
.word ANI_STARTATTACK,AT_LEAPING,15
WWL ANI_SETLONG,DEBRIS_X,[76,-62] ;Y,X of head
WL 3,Y4PU4G+FR1
; ticks,range max,hiX,hiZ,hiYvel,tgt,Xoff,Yoff,Zoff
LEAPATOPP 0dh,999,4fh,55,90000h,TGT_HEAD,65,105,35
#cont
.WORD ANI_ADD_MOVE,MOVE_C_5,2,2
WWL ANI_SETLONG,DEBRIS_X,[107,-42] ;Y,X of head
WL 4,Y4PU4G+FR2
WWL ANI_SETLONG,DEBRIS_X,[133,-8] ;Y,X of head
WL 4,Y4PU4G+FR3
WWL ANI_SETLONG,DEBRIS_X,[129,50] ;Y,X of head
WL 4,Y4PU4G+FR4
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_ON, AMODE_BSTOMP2,22-10,66,47+20,30 ;mode,x,y,w,h
WWL ANI_SETLONG,DEBRIS_X,[75,79] ;Y,X of head
WL 3,Y4PU4G+FR5
.word ANI_ATTACK_OFF
.word ANI_OFFSET,0,0,-20
WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,Y4PU4G+FR6
WL ANI_IFNOTSTATUS,#missed
WL ANI_IFBLOCKED,#missedb ;Yes, I hit blocker
;Got him
WL ANI_CODE,HIT_THE_MAT
;Immobilize player for 30 ticks without meter on!
.word ANI_IMMOBILIZE,55
.word ANI_SHAKER,40
WWL ANI_SLIDE_BACK,30h,-70000h,#no_hit2
WL ANI_SET_YVEL,40000h
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 4,Y4PU4G+FR7
#no_hit2
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 4,Y4PU4G+FR7
WL ANI_GOTO,#poo
#missed
#missedb
.word ANI_SHAKER,35
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 3,Y4PU4G+FR7
#poo
WL ANI_CODE,spunch_delay
WL ANI_IFNOTSTATUS,#none2
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL 10,Y4PU4G+FR7
WL 4,Y4PU4G+FR8
WL 4,Y4PU4G+FR9
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#none2
WWL ANI_SETLONG,DEBRIS_X,[46,44] ;Y,X of head
WL 3,Y4PU4G+FR8
WWL ANI_SETLONG,DEBRIS_X,[72,42] ;Y,X of head
WL 3,Y4PU4G+FR9
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL 4,Y4PS3B+FR10
.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 yok_combo_slap_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP ;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 ;rpt 2 times
#slap_loop
WL ANI_CODE,create_bucket_salt
WLW ANI_SET_XVEL,0A000h,AM_FACE_REL
.word ANI_STARTATTACK,AT_LEAPING,15
WWL ANI_SETLONG,DEBRIS_X,[76,-62] ;Y,X of head
WL 3,Y4PU4G+FR1
WWL ANI_SETLONG,DEBRIS_X,[107,-42] ;Y,X of head
WL 4,Y4PU4G+FR2
WWL ANI_SETLONG,DEBRIS_X,[133,-8] ;Y,X of head
WL 4,Y4PU4G+FR3
WWL ANI_SETLONG,DEBRIS_X,[129,50] ;Y,X of head
WL 4,Y4PU4G+FR4
.word ANI_ZERO_XZVELS
.word ANI_ATTACK_ON, AMODE_BSTOMP2,22,36-36,57+20,70+36 ;mode,x,y,w,h
WWL ANI_SETLONG,DEBRIS_X,[75,79] ;Y,X of head
WL 4,Y4PU4G+FR5
.word ANI_ATTACK_OFF
WLW ANI_SET_XVEL,00h,AM_FACE_REL
WL ANI_IFNOTSTATUS,#missedc
WL ANI_IFBLOCKED,#missedbc ;Yes, I hit blocker
.WORD ANI_INC_COMBO
;Got him
WL ANI_CODE,HIT_THE_MAT
;Immobilize player for 30 ticks without meter on!
.word ANI_IMMOBILIZE,100
WL ANI_CODE,#delay_whoihit
.word ANI_SHAKER,40
WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL ANI_SET_YVEL,40000h
WL 4,Y4PU4G+FR6
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL 4,Y4PU4G+FR7
WL 3,Y4PU4G+FR8
WL 3,Y4PU4G+FR9
WL 3,Y4PS3B+FR10
.word ANI_DEC_RPTCOUNT
WL ANI_IF_RPTCOUNT,#slap_loop
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedbc
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SHAKER,35
WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,Y4PU4G+FR6
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 30,Y4PU4G+FR7
WWL ANI_SETLONG,DEBRIS_X,[46,44] ;Y,X of head
WL 3,Y4PU4G+FR8
WWL ANI_SETLONG,DEBRIS_X,[72,42] ;Y,X of head
WL 3,Y4PU4G+FR9
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL 4,Y4PS3B+FR10
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#missedc
.WORD ANI_DETACH
WL ANI_CODE,DO_COMBO_MESS
.WORD ANI_CLEAR_COMBO
.word ANI_SHAKER,35
WWL ANI_SETLONG,DEBRIS_X,[19,28] ;Y,X of head
WL 3,Y4PU4G+FR6
WWL ANI_SETLONG,DEBRIS_X,[28,28] ;Y,X of head
WL 15,Y4PU4G+FR7
WWL ANI_SETLONG,DEBRIS_X,[46,44] ;Y,X of head
WL 3,Y4PU4G+FR8
WWL ANI_SETLONG,DEBRIS_X,[72,42] ;Y,X of head
WL 3,Y4PU4G+FR9
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
WL 4,Y4PS3B+FR10
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBRP #delay_whoihit
move *a13(WHOIHIT),a0,L
movi 55,a14
move a14,*a0(DELAY_METER)
rets
#*****************************************************************************
*
* GET BUCKED OFF A PINNED OPPONENT
SUBR yok_buckoff_anim
.ref set_buckoff_vels
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
.word ANI_SETSPEED,100h
.word ANI_ZEROVELS
WL 4,Y3PF3C+FR12
WL 4,Y3PF3C+FR9
WL 4,Y3PF3C+FR8
WL ANI_CODE,set_buckoff_vels
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 4,Y3PF3C+FR6
WL 4,Y3PF3C+FR5
WL 4,Y3PF3C+FR4
WL 4,Y3PF3C+FR3
WL 4,Y3PF3C+FR2
WL 4,Y3PF3C+FR1
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
***********************************************************************
.end