wwf-wrestlemania/SHNSEQ4.ASM

1769 lines
38 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: Jason Skiles
* Initiated: 26 Aug 94
*
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
*
**************************************************************
.file "shnseq4.asm"
.title "blocks, reactions to routine and special attacks"
.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 "shawnimg.h"
.include "takerimg.h"
.include "display.equ"
.include "ring.equ"
.include "damage.equ"
.INCLUDE "SWEAT.EQU"
******************************************************************************
* EXTERNAL REFERENCES
.ref free_toss_check,setup_freetoss,shn_2_hiptoss_anim
.ref DO_WAIL
.ref DO_BLOCKED
.ref DO_SCREAM
.ref HIT_THE_MAT,SMALL_BOUNCE,set_position,set_skeleton_pal
.ref am_I_dizzy,start_smoke,D4SK4A,set_my_pal,make_white
.ref make_norm,am_I_dead,ckzpos
.ref FIND_AND_KILL_ENDLESS,DO_OTHERNONO
******************************************************************************
* SYMBOLS DEFINED IN THIS FILE
******************************************************************************
* EQUATES FOR THIS FILE
#*****************************************************************************
*
* #3 LOSE BALANCE
#FRICTION_VAL equ 3000h
SUBR shn_4_losebal_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_FRICTION,#FRICTION_VAL
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,-60000h,AM_HIT_REL
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S4LB3A+FR1
WL 3,S4LB3A+FR2
WL 3,S4LB3A+FR3
.REF DO_SHAWN_PUSH
WL ANI_CODE,DO_SHAWN_PUSH
WL 2,S4LB3A+FR4
WL 3,S4LB3A+FR5
WL 2,S4LB3A+FR6
WL 3,S4LB3A+FR7
WL 2,S4LB3A+FR8
WL 2,S4LB3A+FR9
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 HEAD HIT
SUBR shn_2_head_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WL 3,S2AH3A+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S2AH3A+FR2
WL 3,S2AH3A+FR3
WL 2,S2AH3A+FR4
WL 2,S2AH3A+FR5
WL 2,S2AH3A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEAD HIT
SUBR shn_4_head_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WL 3,S4AH3D+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S4AH3D+FR2
WL 3,S4AH3D+FR3
WL 2,S4AH3D+FR4
WL 2,S4AH3D+FR5
WL 2,S4AH3D+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
******************************************************************************
*
* #2 RUNNING BOUNCE OFF OF OPPONENT
SUBR shn_2_bncoff_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_FRICTION,3000h
WL 3,S2AH3A+FR1
WL 15,S2AH3A+FR2
WL 4,S2AH3A+FR3
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 RUNNING BOUNCE OFF OF OPPONENT
SUBR shn_4_bncoff_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_FRICTION,3000h
WL 3,S4AH3D+FR1
WL 3,S4AH3D+FR2
WL 14,S4AH3D+FR3
WL 2,S4AH3D+FR4
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
* #4 RUNNING BOUNCE OFF OF OPPONENT
;Bounce off but stay dizzy!
SUBR shn_4_bncoff_dizzy_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
.word ANI_FRICTION,3000h
.word ANI_SETPLYRMODE,MODE_DIZZY
WL 3,S4AH3D+FR1
WL 3,S4AH3D+FR2
WL 14,S4AH3D+FR3
WL 2,S4AH3D+FR4
; .word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CHANGEANIM,shn_dizzy_anim
; .word ANI_END
#*****************************************************************************
*
* #2 HEAD HIT2 - Hands on face
SUBR shn_2_head_hit2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
WLW ANI_SET_XVEL,-50000h,AM_HIT_REL
.word ANI_FRICTION,3000h
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S2AE3A+FR1
WL 2,S2AE3A+FR2
WL 3,S2AE3A+FR3
WL 2,S2AE3A+FR4
WL 3,S2AE3A+FR5
WL 2,S2AE3A+FR6
WL 3,S2AE3A+FR7
WL 2,S2AE3A+FR8
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEAD HIT2 - Hands on face
SUBR shn_4_head_hit2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
WLW ANI_SET_XVEL,-50000h,AM_HIT_REL
.word ANI_FRICTION,3000h
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_DEBRIS,150,3,-21,100,0 ;%chance, tbl index, x,y,z off
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S4AE3B+FR1
WL 2,S4AE3B+FR2
WL 3,S4AE3B+FR3
WL 2,S4AE3B+FR4
WL 3,S4AE3B+FR5
WL 2,S4AE3B+FR6
WL 3,S4AE3B+FR7
WL 2,S4AE3B+FR8
WL ANI_CODE,am_I_dead
;If I'm dead, goto fall back
WL ANI_IFNOTSTATUS,#nodead
WL ANI_CHANGEANIM,shn_fall_back_anim
; .word ANI_END
#nodead
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR shn_4_head_hit2s_anim
;Salt hits me in face
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.ref create_impact_salt
WL ANI_CODE,create_impact_salt
WL 4,S4AE3B+FR1
WL 4,S4AE3B+FR2
WL 4,S4AE3B+FR3
WL 4,S4AE3B+FR4
WL 3,S4AE3B+FR5
.word ANI_WAITHITGND
.word ANI_FRICTION,4000h
WL 50,S4AE3B+FR5
.word ANI_ZEROVELS
WL 3,S4AE3B+FR6
WL 3,S4AE3B+FR7
WL 3,S4AE3B+FR8
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* #2 HEAD HIT3 - From spin kick
SUBR shn_2_head_hit3_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
WLW ANI_SET_ZVEL,20000h,AM_HIT_REL
WL ANI_SET_YVEL,40000h
WL 3,S2AH3A+FR1
.word ANI_DEBRIS,150,2,-21,100,0 ;%chance, tbl index, x,y,z off
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S2AH3A+FR2
WL 3,S2AH3A+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,S2AH3A+FR4
WL 2,S2AH3A+FR5
WL 2,S2AH3A+FR6
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEAD HIT3 - From spin kick
SUBR shn_4_head_hit3_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
WLW ANI_SET_ZVEL,-20000h,AM_ABS
WL ANI_SET_YVEL,40000h
WL 3,S4AH3D+FR1
.word ANI_DEBRIS,150,2,-21,100,0 ;%chance, tbl index, x,y,z off
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S4AH3D+FR2
WL 3,S4AH3D+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,S4AH3D+FR4
WL 2,S4AH3D+FR5
WL 2,S4AH3D+FR6
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR shn_4_head_hit4_anim
;From earslap
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
; WLW ANI_SET_XVEL,-28000h,AM_HIT_REL
; WLW ANI_SET_ZVEL,-20000h,AM_ABS
WL ANI_SET_YVEL,50000h
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 4,S4AH3D+FR3
; .word ANI_WAITHITGND
; .word ANI_ZEROVELS
WL 3,S4AH3D+FR4
WL 3,S4AH3D+FR5
WL 3,S4AH3D+FR6
.word ANI_FACEDOWN
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 HEAD HIT - ends in dizzy
SUBR shn_4_head_hit_dizzy_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
.word ANI_SETPLYRMODE,MODE_DIZZY
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
.word ANI_FRICTION,3000h
WL 3,S4AH3D+FR1
.word ANI_DEBRIS,150,2,-21,100,0 ;%chance, tbl index, x,y,z off
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYA_SWEAT,SWEAT_PER,0
WL 3,S4AH3D+FR2
WL 3,S4AH3D+FR3
WL 3,S4AH3D+FR4
WL 3,S4AH3D+FR5
WL 3,S4AH3D+FR6
; .word ANI_SETPLYRMODE,MODE_DIZZY
WL ANI_CHANGEANIM,shn_dizzy_anim
; .word ANI_END
#*****************************************************************************
*
* #2 BODY HIT
SUBR shn_2_body_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,48000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
.word ANI_DEBRIS,150,0,-4,71,0 ;%chance, tbl index, x,y,z off
WL 3,S2AM3A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,S2AM3A+FR3
WL 1,S2AM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,S2AM3A+FR5
WL 2,S2AM3A+FR6
WL 2,S2AM3A+FR7
WL 2,S2AM3A+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR shn_2_knee_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,78000h
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
WLW ANI_SET_ZVEL,8000h,AM_ABS
.word ANI_DEBRIS,150,0,-4,71,0 ;%chance, tbl index, x,y,z off
WL 3,S2AM3A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,S2AM3A+FR3
WL 1,S2AM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,S2AM3A+FR5
WL 2,S2AM3A+FR6
WL 2,S2AM3A+FR7
WL 2,S2AM3A+FR8
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#************
*
* #4 BODY HIT
SUBR shn_4_body_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,48000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
.word ANI_DEBRIS,150,0,-4,71,0 ;%chance, tbl index, x,y,z off
WL 3,S4AM3A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,S4AM3A+FR3
WL 1,S4AM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,S4AM3A+FR5
WL 2,S4AM3A+FR6
WL 2,S4AM3A+FR7
WL 2,S4AM3A+FR8
.word ANI_CHECKWORD,USR_VAR1
WL ANI_IFNOTSTATUS,#reg
;162
WL 9,S4TI4B+FR1
WL 9,S4TI4B+FR2
WL 9,S4TI4B+FR3
WL 9,S4TI4B+FR4
WL 9,S4TI4B+FR3
WL 9,S4TI4B+FR2
WL 9,S4TI4B+FR1
WL 9,S4TI4B+FR2
WL 9,S4TI4B+FR3
WL 9,S4TI4B+FR4
#reg
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR shn_4_knee_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,78000h
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
WLW ANI_SET_ZVEL,-8000h,AM_ABS
.word ANI_DEBRIS,150,0,-4,71,0 ;%chance, tbl index, x,y,z off
WL 3,S4AM3A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,S4AM3A+FR3
WL 1,S4AM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 2,S4AM3A+FR5
WL 2,S4AM3A+FR6
WL 2,S4AM3A+FR7
WL 2,S4AM3A+FR8
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
SUBR shn_4_body_hit_dizzy_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,48000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
.word ANI_SETPLYRMODE,MODE_DIZZY
.word ANI_DEBRIS,150,0,-4,71,0 ;%chance, tbl index, x,y,z off
WL 3,S4AM3A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,S4AM3A+FR3
WL 1,S4AM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,S4AM3A+FR5
WL 3,S4AM3A+FR6
WL 3,S4AM3A+FR7
WL 3,S4AM3A+FR8
.word ANI_FACEDOWN
WL ANI_CHANGEANIM,shn_dizzy_anim
; .word ANI_END
SUBR shn_4_knee_hit_dizzy_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,78000h
WLW ANI_SET_XVEL,-30000h,AM_HIT_REL
WLW ANI_SET_ZVEL,-8000h,AM_ABS
.word ANI_SETPLYRMODE,MODE_DIZZY
.word ANI_DEBRIS,150,0,-4,71,0 ;%chance, tbl index, x,y,z off
WL 3,S4AM3A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,S4AM3A+FR3
WL 1,S4AM3A+FR4
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,S4AM3A+FR5
WL 3,S4AM3A+FR6
WL 3,S4AM3A+FR7
WL 3,S4AM3A+FR8
.word ANI_FACEDOWN
WL ANI_CHANGEANIM,shn_dizzy_anim
; .word ANI_END
SUBR shn_quick_knee_hit_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETSPEED,100h
WL 3,S4AM3A+FR2
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,COUGH_SWEAT,SWEAT_PER,0
WL 3,S4AM3A+FR3
WL 3,S4AM3A+FR4
WL 3,S4AM3A+FR5
WL 3,S4AM3A+FR6
WL 3,S4AM3A+FR7
WL 3,S4AM3A+FR8
WL ANI_CODE,am_I_dead
;If I'm dead, goto fall back
WL ANI_IFNOTSTATUS,#nodead
WL ANI_CHANGEANIM,shn_fall_back_anim
; .word ANI_END
#nodead
.word ANI_FACEDOWN
WL ANI_CHANGEANIM,shn_3_head_held_anim
#*****************************************************************************
*
* HITS ON GROUND
SUBR shn_hitonground_xflip_anim
.word ANI_XFLIP
SUBR shn_hitonground_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETSPEED,100h
WL 1,S3CP3B+FR1
WL ANI_SET_YVEL,40000h
WL ANI_CODE,ckzpos
WL 2,S3CP3B+FR1
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPITUP_SWEAT,SWEAT_PER,0
WL 3,S3CP3B+FR2
.word ANI_DEBRIS,50,1,0,8,0 ;%chance, tbl index, x,y,z off
WL 3,S3CP3B+FR3
WL 3,S3CP3B+FR4
WL 3,S3CP3B+FR5
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 2,S3CP3B+FR6
WL 1,S3CP3B+FR7
SUBR shn_liedown_anim
WL 1,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
SUBR shn_up_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETSPEED,100h
.WORD ANI_XFLIP
WL 10,S3OS3X+FR5
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WL 3,S3CP3B+FR6
WL 3,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
;#*****************************************************************************
;*
;* #2 BLOCK + HITBLOCK
;
; SUBR shn_2_block_anim
;
; .word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
; .word ANI_ZEROVELS
; .word ANI_SETSPEED,100h
; .word ANI_SETFACING
; .word ANI_SET_WRESTLER_XFLIP
;;Rotate toward opponent if needed!
;
; WL ANI_CODE,block_if_safe
; WL 3,S2BK3C+FR1
; .word ANI_SETPLYRMODE,MODE_BLOCK
; WL 3,S2BK3C+FR2
; WL 3,S2BK3C+FR3
;#hold_block
; .word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT ;turn off UNINT
; .word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
; .word ANI_SETMODE,MODE_NOAUTOFLIP ;uninterruptable
; .word ANI_SETFACING
; WL 3,S2BK3C+FR2
; WL 3,S2BK3C+FR1
; .word ANI_SETPLYRMODE,MODE_NORMAL
; .word ANI_END
;
;
; SUBR shn_2_hitblock_anim
; .word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
; .word ANI_FRICTION,3000h
; .word ANI_SETSPEED,100h
; WL ANI_CODE,DO_BLOCKED
; WL 3,S2BK3C+FR4
; WL 3,S2BK3C+FR5
; WL 3,S2BK3C+FR6
; WL 3,S2BK3C+FR3
; WL ANI_GOTO,#hold_block
#************
*
* #4 BLOCK + HITBLOCK
SUBR shn_4_block_anim
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
;Rotate toward opponent if needed!
; WL ANI_CODE,block_if_safe
.word ANI_SETPLYRMODE,MODE_BLOCK
WL 2,S4BK3A+FR1
WL 1,S4BK3A+FR2
; .word ANI_SETPLYRMODE,MODE_BLOCK
#hold_block
WL 3,S4BK3A+FR2
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT|MODE_FRICTION
; .word ANI_ZERO_XZVELS
.word ANI_WAITRELEASE,PLAYER_BLOCK_BIT
.word ANI_SETMODE,MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETFACING
WL 3,S4BK3A+FR1
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR shn_4_hitblock_anim
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
.word ANI_FRICTION,5000h
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_BLOCKED
WL 1,S4BK3A+FR3
WL 2,S4BK3A+FR4
WL 2,S4BK3A+FR5
WL ANI_GOTO,#hold_block
SUBR shn_4_hitblock2_anim
.word ANI_SETMODE,MODE_NOAUTOFLIP|MODE_UNINT
.word ANI_FRICTION,4000h
.word ANI_SETSPEED,100h
WL ANI_CODE,DO_BLOCKED
WL ANI_SET_YVEL,38000h
WL 2,S4BK3A+FR3
WL 3,S4BK3A+FR4
WL 3,S4BK3A+FR5
WL 2,S4BK3A+FR3
WL 3,S4BK3A+FR4
WL 3,S4BK3A+FR5
WL 2,S4BK3A+FR3
WL ANI_GOTO,#hold_block
#*****************************************************************************
*
* FALL BACK
SUBR shn_fall_back_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP|MODE_NOCOLLIS
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_OVERLAP
.word ANI_SETSPEED,100h
.word ANI_ZERO_XZVELS
WL ANI_MIN_YVEL,50000h
WLW ANI_SET_ZVEL,10000h,AM_FACE_REL
.word ANI_SCROLL_CTRL,SHN_TBUKLY
WL ANI_CODE,ckzpos
WWL ANI_SETLONG,DEBRIS_X,[105,-19] ;Y,X of head
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYC_SWEAT,SWEAT_PER,0
WL 3,S3UC3X+FR1
.word ANI_OFFSET,0,58,0
WWL ANI_SETLONG,DEBRIS_X,[44,-29] ;Y,X of head
WL 3,S3UC3X+FR2
WWL ANI_SETLONG,DEBRIS_X,[37,-36] ;Y,X of head
WL 3,S3UC3X+FR3
WWL ANI_SETLONG,DEBRIS_X,[29,-40] ;Y,X of head
WL 3,S3UC3X+FR4
WWL ANI_SETLONG,DEBRIS_X,[19,-40] ;Y,X of head
WL 3,S3UC3X+FR5
WWL ANI_SETLONG,DEBRIS_X,[6,-38] ;Y,X of head
WL 3,S3UC3X+FR6
.word ANI_WAITHITGND
.word ANI_DEBRIS,100,1,0,8,0 ;%chance, tbl index, x,y,z off
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,1
.word ANI_SHAKER,35
.word ANI_FRICTION,3000h
WWL ANI_SETLONG,DEBRIS_X,[5,-38] ;Y,X of head
WL 2,S3UC3X+FR7
.word ANI_BOUNCE,5
WL 1,S3UC3X+FR7
.word ANI_WAITHITGND
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
WWL ANI_SETLONG,DEBRIS_X,[6,-40] ;Y,X of head
WL 3,S3UC3X+FR8
WWL ANI_SETLONG,DEBRIS_X,0 ;Y,X of head
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_XFLIP
WL 3,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
#*****************************************************************************
*
* FALL BACK
SUBR shn_fall_back2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
;This is currently set in react1 - hit_flykick
; WLW ANI_SET_XVEL,-0C0000h,AM_HIT_REL
WL ANI_SET_YVEL,10000h ;70000h
WLW ANI_SET_ZVEL,18000h,AM_ABS
WL ANI_CODE,ckzpos
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYC_SWEAT,SWEAT_PER,0
WL 3,S3UC3X+FR1
.word ANI_OFFSET,0,58,0
WL 3,S3UC3X+FR2
WL 3,S3UC3X+FR3
WL 3,S3UC3X+FR4
WL 3,S3UC3X+FR5
; WL 3,S3UC3X+FR6
.word ANI_WAITHITGND
.word ANI_DEBRIS,300,1,0,8,0 ;%chance, tbl index, x,y,z off
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,1
.word ANI_SHAKER,35
.word ANI_ZEROVELS
WLW ANI_SET_ZVEL,18000h,AM_ABS
WLW ANI_SET_XVEL,-30000h,AM_FACE_REL
WL 3,S3FD3X+FR1
WL 3,S3FD3X+FR2
WL 3,S3FD3X+FR3
WL 3,S3FD3X+FR4
WL 3,S3FD3X+FR5
WL 3,S3FD3X+FR6
WL 3,S3FD3X+FR7
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
WL 3,S3CF3Z+FR1
WL 3,S3CF3Z+FR2
WL 3,S3CF3Z+FR3
WL 3,S3CF3Z+FR4
WL 3,S3CF3Z+FR5
WL 3,S3CF3Z+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
WL ANI_CHANGEANIM,shn_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
SUBR shn_fall_back3_anim ;shawn fliptoss
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,60000h
WLW ANI_SET_XVEL,-28000h,AM_FACE_REL
WL 3,S3FD3X+FR1
.word ANI_OFFSET,12,0,0
WL 3,S3FD3X+FR2
.word ANI_OFFSET,9,0,0
WL 3,S3FD3X+FR3
.word ANI_OFFSET,10,0,0
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,SMALL_BOUNCE
WL ANI_CHANGEANIM,shn_break_neck3_anim
#*****************************************************************************
*
* FALL FROM TURNBUCKLE
SUBR shn_fall_back_tbukl_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
.word ANI_SETSPEED,100h
WL 3,S3UC3X+FR1
.word ANI_OFFSET,0,58,0
WL 3,S3UC3X+FR2
WL 3,S3UC3X+FR3
WL 3,S3UC3X+FR4
WL 3,S3UC3X+FR5
WL 3,S3UC3X+FR6
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_DAMAGE,D_HITCONCRETE
.word ANI_DEBRIS,300,1,0,8,0 ;%chance, tbl index, x,y,z off
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,1
.word ANI_SHAKER,35
; .word ANI_FRICTION,3000h
WL 2,S3UC3X+FR7
; .word ANI_BOUNCE,5
WL 1,S3UC3X+FR7
; .word ANI_WAITHITGND
; WL ANI_CODE,SMALL_BOUNCE
; .word ANI_ZEROVELS
WL 3,S3UC3X+FR8
.word ANI_XFLIP
WL 15,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
#*****************************************************************************
*
* GETUPS
SUBR shn_faceup_getup_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
WL 3,S3GU2A+FR1
WL ANI_CODE,choose_2or4
WL ANI_IFSTATUS,#getup_in_4
#getup_in_2
WL 2,S3GU2A+FR2
WL 3,S3GU2A+FR3
WL 2,S3GU2A+FR4
WL 3,S3GU2A+FR5
WL 2,S3GU2A+FR6
WL 3,S3GU2A+FR7
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
WL 2,S3GU2A+FR8
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 1,S3GU2A+FR8
WL 2,S3GU2A+FR9
.word ANI_SAFE_TIME,50
WL ANI_CODE,free_toss_check
WL ANI_IFNOTSTATUS,#no_freetoss
.word ANI_ATTACK_ON,AMODE_HITCHECK,33,85,44,17
WL 1,S3GU2A+FR9
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_freetoss
;Opponent standing too close -- free toss
WL ANI_CODE,setup_freetoss
.ref shn_4_push_anim
WL ANI_CHANGEANIM,shn_4_push_anim
#no_freetoss
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
#getup_in_4
WL 2,S3GU4A+FR2
WL 3,S3GU4A+FR3
#g4_frame_4
WL 2,S3GU4A+FR4
WL 3,S3GU4A+FR5
WL 2,S3GU4A+FR6
WL 3,S3GU4A+FR7
WL 2,S3GU4A+FR8
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_SET_WRESTLER_XFLIP
WL 1,S3GU4A+FR8
WL 2,S3GU4A+FR9
.word ANI_SAFE_TIME,50
WL ANI_CODE,free_toss_check
WL ANI_IFNOTSTATUS,#no_freetoss2
.word ANI_ATTACK_ON,AMODE_HITCHECK,33,85,44,17
WL 1,S3GU4A+FR9
.word ANI_ATTACK_OFF
WL ANI_IFNOTSTATUS,#no_freetoss2
;Opponent standing too close -- free toss
WL ANI_CODE,setup_freetoss
WL ANI_CHANGEANIM,shn_4_push_anim
#no_freetoss2
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
SUBR shn_faceup_getup2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCOLLIS
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
WL ANI_GOTO,#g4_frame_4
*****
* set status bit for a getup in 4, clear for a 2.
SUBR choose_2or4
move *a13(ANIMODE),a0
andni MODE_STATUS,a0
move *a13(NEW_FACING_DIR),a14
btst MOVE_UP_BIT,a14
jrnz #choose_2
ori MODE_STATUS,a0
#choose_2
move a0,*a13(ANIMODE)
rets
#*****************************************************************************
*
* DIZZY
SUBR shn_dizzy_anim
.word ANI_SETMODE,MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_START_DIZZY,0 ;0=Standing dizzy
.word ANI_FACE,MOVE_RIGHT|MOVE_DOWN
#loop
WL 9,S4TI4B+FR1
WL 9,S4TI4B+FR2
WL 9,S4TI4B+FR3
WL 9,S4TI4B+FR4
WL 9,S4TI4B+FR3
WL 9,S4TI4B+FR2
WL ANI_GOTO,#loop
#*****************************************************************************
*
* HELD OVERHEAD ANIMATION
SUBR shn_heldoh_anim
.word ANI_SETPLYRMODE,MODE_ATTACHED
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOGRAVITY
.word ANI_SETSPEED,100h
.word ANI_SETWORD,USR_VAR1,0 ;loop count
WL ANI_CODE,DO_OTHERNONO
#loop
WL 4,S3MF3B+FR1
WL 4,S3MF3B+FR2
WL 4,S3MF3B+FR3
WL 4,S3MF3B+FR4
WL 4,S3MF3B+FR5
WL 4,S3MF3B+FR6
WL 4,S3MF3B+FR7
WL ANI_CODE,#inc_loop
WL ANI_IFNOTSTATUS,#loop
;Fall out of overhead hold by reversing thru pickup frames
.word ANI_DETACH
.word ANI_SETMODE,MODE_NORMAL|MODE_OVERLAP
.word ANI_SETPLYRMODE,MODE_INAIR
WL ANI_CODE,FIND_AND_KILL_ENDLESS
WL ANI_SET_YVEL,10000h
WLW ANI_SET_XVEL,-40000h,AM_HIT_REL
WLW ANI_SET_ZVEL,10000h,AM_ABS
.word ANI_FRICTION,3000h
WL 2,S3MF3B+FR6
.word ANI_OFFSET,-20,-50,0 ;x,y,z
WL 5,S3MS3Z+FR4
WL 5,S3MS3Z+FR2
WL 5,S3MS3Z+FR1
.word ANI_WAITHITGND
WL 2,S2ST2C+FR1
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
;Loop 4 times, then break out!
#inc_loop
move *a13(USR_VAR1),a0
inc a0
move a0,*a13(USR_VAR1)
cmpi 3,a0
jrgt #breakout
; move *a13(ATTACH_PROC),a0,L
; jrz #breakout
move *a13(ANIMODE),a1
andni MODE_STATUS,a1
move a1,*a13(ANIMODE)
rets
#breakout
move *a13(ANIMODE),a1
ori MODE_STATUS,a1
move a1,*a13(ANIMODE)
rets
#*****************************************************************************
*
* ROLL OVER AND BREAK YER STINKIN' NECK
SUBR shn_break_neck_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
WL 9,S3FD3X+FR4
WL ANI_GOTO,#common
SUBR shn_break_neck3_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
#common
WWWL ANI_IFROPE,RC_EITHER,100,#fall_back
.word ANI_ZEROVELS
;plenty o' room. roll over
WL 3,S3FD3X+FR4
.word ANI_OFFSET,-9,0,0
WL 3,S3FD3X+FR5
.word ANI_OFFSET,-8,0,0
WL 3,S3FD3X+FR6
.word ANI_OFFSET,-12,0,0
WL 3,S3FD3X+FR7
.word ANI_OFFSET,2,0,0
WL 3,S3FD3X+FR8
;hit. stay.
WL ANI_CODE,SMALL_BOUNCE
.word ANI_OFFSET,6,0,0
WL 3,S3RL3A+FR5
.word ANI_FACEDOWN
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
#fall_back
;too close to the ropes. fall back
WL 6,S3FD3X+FR3
.word ANI_OFFSET,-9,0,0
WL 5,S3FD3X+FR2
.word ANI_ZEROVELS
.word ANI_OFFSET,-10,0,0
WL 4,S3FD3X+FR1
WL 3,S3UC3X+FR8
.word ANI_XFLIP
WL 4,S3CP3B+FR7 ;18
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
SUBR shn_break_neck2_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
WLW ANI_SET_XVEL,-20000h,AM_HIT_REL
WL ANI_SET_YVEL,60000h
WL ANI_CODE,ckzpos
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_XFLIP
WL 4,S3GP3X+FR7
WL 4,S3FD3X+FR3
WL 4,S3FD3X+FR4
WL 4,S3FD3X+FR5
WL 4,S3FD3X+FR6
WL 4,S3FD3X+FR7
.word ANI_WAITHITGND
WL 4,S3FD3X+FR8
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
WL 10,S3RL3A+FR5
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
SUBR shn_break_neck4_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
WLW ANI_SET_XVEL,-20000h,AM_HIT_REL
WL ANI_SET_YVEL,58000h
WLW ANI_SET_ZVEL,18000h,AM_ABS
WL ANI_CODE,ckzpos
.word ANI_DEBRIS,300,5,0,-5,0 ;%chance, tbl index, x,y,z off
WL 15,S4POGO+FR3
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
.word ANI_SETFACING ;ANI_XFLIP <- not primary anim
.word ANI_XFLIP
WL 3,S3FD3X+FR2
WL 3,S3FD3X+FR3
WL 3,S3FD3X+FR4
WL 3,S3FD3X+FR5
WL 3,S3FD3X+FR6
WL 3,S3FD3X+FR7
.word ANI_WAITHITGND
WL 3,S3FD3X+FR8
WL ANI_CODE,SMALL_BOUNCE
.word ANI_ZEROVELS
.word ANI_SETPLYRMODE,MODE_ONGROUND ;So we can stomp him!
WL 10,S3RL3A+FR5
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
#*****************************************************************************
*
* THROWN FROM RING (shn_bslm, shn_frnk)
SUBR shn_flyout_anim ;starts on OSX7
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
.word ANI_SETPLYRMODE,MODE_INAIR
.word ANI_SETSPEED,100h
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
.word ANI_SET_IDIOT
WL ANI_CODE,DO_WAIL
WL 8,S3OS3X+FR7
.word ANI_OFFSET,0,10,0
WL 8,S3OS3X+FR8
.word ANI_OFFSET,0,10,0
WL ANI_GOTO,#common
SUBR shn_flyout2_anim ;starts on OSX9
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP|MODE_NOCONFINE
.word ANI_SETPLYRMODE,MODE_INAIR
.word ANI_SETSPEED,100h
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
.word ANI_SET_IDIOT
WL ANI_CODE,DO_WAIL
#common
WWL ANI_SETLONG,OBJ_GRAVITY,0E000h
.word ANI_SET_IDIOT
WL 1,S3OS3X+FR9
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_SHAKER,60
WWL ANI_SETLONG,OBJ_GRAVITY,GRAVITY
.word ANI_DAMAGE,D_HIPTOSS
; .word ANI_SETWORD,DELAY_METER,0
WL 3,S3OS3X+FR10
WL ANI_CHANGEANIM,shn_hitonground_anim
#*****************************************************************************
*
* GET BUZZED FROM DOINK
SUBR shn_get_buzz_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
; .word ANI_ZEROVELS
.word ANI_SETSPEED,100h
; .word ANI_XFLIP
.word ANI_GRAVITY_OFF
WL ANI_CODE,set_position
WL ANI_CODE,set_skeleton_pal
WL 2,D4SK4A+FR1
WL ANI_CODE,set_my_pal
WL 3,S4BZ4A+FR1
WL ANI_CODE,set_skeleton_pal
WL ANI_CODE,make_white
WL 3,D4SK4A+FR1
WL ANI_CODE,make_norm
WL ANI_CODE,set_my_pal
WL 3,S4BZ4A+FR1
WL ANI_CODE,set_skeleton_pal
WL 3,D4SK4A+FR1
WL ANI_CODE,set_my_pal
WL 3,S4BZ4A+FR1
WL ANI_CODE,set_skeleton_pal
WL 3,D4SK4A+FR1
WL ANI_CODE,make_white
WL 3,S4BZ4A+FR1
WL ANI_CODE,make_norm
WL 3,D4SK4A+FR1
WL ANI_CODE,set_my_pal
WL 3,S4BZ4A+FR1
WL ANI_CODE,set_skeleton_pal
WL 3,D4SK4A+FR1
WL ANI_CODE,set_my_pal
WL 3,S4BZ4A+FR1
WL ANI_CODE,set_skeleton_pal
WL ANI_CODE,make_white
WL 3,D4SK4A+FR1
WL ANI_CODE,make_norm
WL ANI_CODE,set_my_pal
WL 3,S4BZ4A+FR1
WL ANI_CODE,set_skeleton_pal
WL 3,D4SK4A+FR1
WL ANI_CODE,set_my_pal
WL ANI_CODE,start_smoke
.word ANI_DETACH
.word ANI_GRAVITY_ON
WL ANI_SET_YVEL,60000h
WLW ANI_SET_XVEL,-30000h,AM_FACE_REL
WLW ANI_SET_ZVEL,20000h,AM_ABS
WL ANI_CODE,#make_black
WL 3,S4BZ4A+FR1
WL ANI_CODE,make_norm
WL 3,S4BZ4A+FR1
WL ANI_CODE,#make_black
WL 3,S4BZ4A+FR1
WL ANI_CODE,make_norm
WL 3,S4BZ4A+FR1
WL ANI_CODE,#make_black
WL 3,S4BZ4A+FR1
WL ANI_CODE,make_norm
WL 3,S4BZ4A+FR1
.word ANI_WAITHITGND
.word ANI_XFLIP
.word ANI_FACEDOWN
.word ANI_OFFSET,-20,0,0 ;x,y,z
WL 1,S4ST4C+FR1
WL ANI_CODE,am_I_dead
;If I'm dead, goto fall back
WL ANI_IFNOTSTATUS,#nodead
WL ANI_CHANGEANIM,shn_fall_back_anim
; .word ANI_END
#nodead
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#make_black
;This is a black color within the wrestler's pal. It is different for each
;wrestler.
movi 2121h,a14
move a14,*a13(OBJ_CONST)
move *a13(OBJ_CONTROL),a14
andni 01111b,a14
ori M_CONNON,a14
move a14,*a13(OBJ_CONTROL)
rets
#*****************************************************************************
SUBR shn_3_head_held_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETPLYRMODE,MODE_HEADHELD
.word ANI_SETFACING
.word ANI_SETWORD,USR_VAR1,0 ;loop count
#loop
WL 4,S3BF3A+FR1
WL 4,S3BF3A+FR2
WL 4,S3BF3A+FR3
WL 4,S3BF3A+FR4
WL 4,S3BF3A+FR5
WL 4,S3BF3A+FR6
WL 4,S3BF3A+FR7
WL ANI_CODE,#inc_loop
WL ANI_IFNOTSTATUS,#loop
;Continue into break...
SUBR shn_3_head_held_brk_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETPLYRMODE,MODE_NORMAL
WL ANI_CODE,FIND_AND_KILL_ENDLESS
WLW ANI_SET_XVEL,-38000h,AM_NEWFACE_REL
WL ANI_SET_YVEL,40000h
WLW ANI_SET_ZVEL,18000h,AM_ABS
WL 4,S4BF3A+FR2
.word ANI_DETACH
;Standard #2 head hit from spin kick
WL 3,S2AH3A+FR1
WL 3,S2AH3A+FR2
WL 3,S2AH3A+FR3
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,S2AH3A+FR4
WL 3,S2AH3A+FR5
WL 3,S2AH3A+FR6
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_END
;Loop 4 times, then break out!
#inc_loop
move *a13(USR_VAR1),a0
inc a0
move a0,*a13(USR_VAR1)
cmpi 2,a0
jrgt #breakout
;He may have let me go by hitting his block butn!
;Handled in mode_headheld!
; move *a13(ATTACH_PROC),a0,L
; jrz #breakout
move *a13(ANIMODE),a1
andni MODE_STATUS,a1
move a1,*a13(ANIMODE)
rets
#breakout
move *a13(ANIMODE),a1
ori MODE_STATUS,a1
move a1,*a13(ANIMODE)
rets
SUBR shn_3_head_held_stand_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP ;uninterruptable
.word ANI_SETPLYRMODE,MODE_NORMAL
WL 4,S4BF3A+FR2
WL 3,S1TT5Z+FR2 ;2.5
.word ANI_DETACH
.word ANI_FACEUP
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
;
; SUBR shn_frnk_backfire_anim
; .word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
; .word ANI_SETSPEED,100h
; .word ANI_SETPLYRMODE,MODE_INAIR
;
; .word ANI_ZEROVELS
;
; WL 5,S3ZI3A+FR8
; WL 5,S3ZI3A+FR9
; WL 5,S3ZI3A+FR10
; .word ANI_WAITHITGND
;
; WL ANI_CODE,HIT_THE_MAT
; .word ANI_SOUND,33h
; .word ANI_SHAKEALL,2
; .word ANI_SHAKER,35
;
; WL ANI_CHANGEANIM,shn_break_neck3_anim
#*****************************************************************************
SUBR shn_arm_broken_anim
.word ANI_SETMODE,MODE_UNINT|MODE_NOAUTOFLIP
.word ANI_SETPLYRMODE,MODE_NORMAL
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,40000h
WLW ANI_SET_XVEL,-38000h,AM_HIT_REL
WLW ANI_SET_ZVEL,10000h,AM_HIT_REL
WL ANI_CODE,DO_SCREAM
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL 3,S4AM3A+FR2
WL 3,S4AM3A+FR3
WL 3,S4AM3A+FR4
WL 3,S4AM3A+FR5
WL 3,S4AM3A+FR6
WL 3,S4AM3A+FR7
WL 1,S4ST4C+FR1
WL ANI_CODE,am_I_dead
;If I'm dead, goto fall back
WL ANI_IFNOTSTATUS,#nodead
WL ANI_CHANGEANIM,shn_fall_back_anim
; .word ANI_END
#nodead
.word ANI_FACEDOWN
.word ANI_SETMODE,MODE_NORMAL
.word ANI_END
#*****************************************************************************
*
* END OF BACK BROKEN SEQ.
SUBR shn_backbroken_anim
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
; .word ANI_DETACH
.word ANI_GRAVITY_OFF
WL 5,S3BR3Z+FR3
.word ANI_GRAVITY_ON
WL ANI_SET_YVEL,070000h
WLW ANI_SET_ZVEL,20000h,AM_ABS
WL 21,S3BR3Z+FR3
WL 4,S3BR3Z+FR2
; WL 4,S3BR3Z+FR5
WL 4,S3UC3X+FR5
.word ANI_WAITHITGND
.word ANI_ZEROVELS
.word ANI_BOUNCE,2
WL ANI_CODE,HIT_THE_MAT
WL ANI_CODE,HIT_THE_MAT
WL ANI_CODE,HIT_THE_MAT
.word ANI_XFLIP
WL 3,S3CP3B+FR1
WL 3,S3CP3B+FR2
.word ANI_DEBRIS,300,1,0,8,0 ;%chance, tbl index, x,y,z off
WL 3,S3CP3B+FR3
WL 3,S3CP3B+FR4
WL 3,S3CP3B+FR5
WL 3,S3CP3B+FR6
WL 3,S3CP3B+FR7
.word ANI_SETPLYRMODE,MODE_ONGROUND
;No stars around head here...
.word ANI_DETACH
WL 1,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
; .word ANI_END
#*****************************************************************************
*
* GENERIC BOUNCE
SUBR shn_slamnobounce_anim
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_SETPLYRMODE,MODE_ONGROUND
WL 1,S3CP3B+FR2
WL 3,S3CP3B+FR2
WL 4,S3CP3B+FR3
.word ANI_WAITHITGND
.word ANI_ZERO_XZVELS
WL 4,S3CP3B+FR6
WL 10,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
SUBR shn_slambounce_anim
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,040000h
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_DEBRIS,300,1,0,8,0 ;%chance, tbl index, x,y,z off
WL 1,S3CP3B+FR2
.ref ckzpos
WL ANI_CODE,ckzpos
WL 3,S3CP3B+FR2
WL 4,S3CP3B+FR3
.word ANI_WAITHITGND
.word ANI_ZERO_XZVELS
WL 4,S3CP3B+FR6
WL 10,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
SUBR shn_slambounce2_anim
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
WL ANI_SET_YVEL,040000h
.word ANI_SETPLYRMODE,MODE_ONGROUND
.word ANI_DEBRIS,300,1,0,8,0 ;%chance, tbl index, x,y,z off
WL 1,S3UC3Z+FR8
WL ANI_CODE,ckzpos
WL 3,S3UC3Z+FR8
.word ANI_WAITHITGND
.word ANI_ZEROVELS
WL ANI_CODE,HIT_THE_MAT
.word ANI_XFLIP
WL ANI_SET_YVEL,030000h
WL 4,S3CP3B+FR2
WL 4,S3CP3B+FR3
.word ANI_WAITHITGND
.word ANI_ZERO_XZVELS
WL 4,S3CP3B+FR6
WL 10,S3CP3B+FR7
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
#*****************************************************************************
SUBR shn_breakneck2_anim
.word ANI_SETMODE,MODE_UNINT | MODE_NOAUTOFLIP
.word ANI_ZEROVELS
.word ANI_SETSPEED,100h
.word ANI_OFFSET,0,58,0
WLWWWW ANI_CREATEPROC,CREATE_SWEAT,0,SPRAYD_SWEAT,SWEAT_PER,0
WL 4,S3UC3X+FR2
WL 4,S3UC3X+FR3
WL 4,S3UC3X+FR4
WL 4,S3UC3X+FR5
WL 1,S3UC3X+FR6
.word ANI_WAITHITGND
WL ANI_CODE,HIT_THE_MAT
.word ANI_SHAKEALL,2
.word ANI_SHAKER,20
WL 3,S3FD3X+FR1
WL 3,S3FD3X+FR2
WL 3,S3FD3X+FR3
WL 3,S3FD3X+FR4
WL 3,S3FD3X+FR5
WL 3,S3FD3X+FR6
WL 3,S3FD3X+FR7
WL 3,S3FD3X+FR8
.word ANI_ZERO_XZVELS
WL ANI_CODE,HIT_THE_MAT
WL 8,S3RL3A+FR5
.word ANI_WAITROLL
WL ANI_CHANGEANIM,shn_faceup_getup_anim
******************************************************************************
.end