wwf-wrestlemania/YOKSEQ2.ASM

3115 lines
70 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/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