************************************************************** * * 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