wwf-wrestlemania/BACKUP/REACT1.ASM

1183 lines
25 KiB
NASM
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: 8/8/94
*
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
*
**************************************************************
.file "react1.asm"
.title "wrester reactions to hits"
.width 132
.option b,d,l,t
.mnolist
.include "macros.h"
.include "mproc.equ" ;Mproc equates
.include "display.equ" ;Display proc equates
.include "gsp.equ" ;Gsp asm equates
.include "sys.equ"
.include "game.equ"
.include "plyr.equ"
.include "anim.equ"
.include "audit.equ"
.include "sound.h"
.include "ring.equ"
.include "lifebar.h"
.include "damage.equ"
;MJT Start
.include "special.equ"
;MJT End
******************************************************************************
* EXTERNAL REFERENCES
.REF KILL_REWIRE_DUMMY
.ref change_anim1a
.ref wres_collis_off
;MJT Start
; .ref inc_burnout
;MJT End
.ref create_damage_points
.ref slide_offscr
.ref set_getup_time
.ref check_dizzy
.REF CALL_FACE_HIT,CALL_MID_HIT
.REF CALL_DROP_KICK
.REF ADD_IF_SILENT
.REF BONUS_MESS
.ref DAM_MULT
******************************************************************************
* EXTERNAL ANIM SEQUENCES
.ref bam_head_hit_dizzy_anim,rzr_4_head_hit_dizzy_anim
.ref und_head_hit_dizzy_anim,yok_4_head_hit_dizzy_anim
;BAM BAM
.ref bam_2_head_hit_anim,bam_4_head_hit_anim
.ref bam_2_body_hit_anim,bam_4_body_hit_anim
.ref bam_head_hit2_anim,bam_4_body_hit_dizzy_anim
.ref bam_head_hit_dizzy_anim
.ref bam_fall_back_anim,bam_fall_back_tbukl_anim
.ref bam_2_hitblock_anim,bam_4_hitblock_anim
;DOINK
.ref dnk_2_head_hit_anim,dnk_4_head_hit_anim
.ref dnk_head_hit2_anim
.ref dnk_head_hit_dizzy_anim
.ref dnk_2_hitblock_anim,dnk_4_hitblock_anim
.ref dnk_fall_back_anim,dnk_fall_back_tbukl_anim
.ref dnk_4_body_hit_anim
.ref dnk_4_body_hit_dizzy_anim
;BRET
.ref hrt_2_hitblock_anim,hrt_4_hitblock_anim
.ref hrt_2_head_hit_anim,hrt_4_head_hit_anim
.ref hrt_4_head_hit_dizzy_anim
.ref hrt_2_head_hit2_anim,hrt_4_head_hit2_anim
.ref hrt_2_body_hit_anim,hrt_4_body_hit_anim
.ref hrt_4_body_hit_dizzy_anim
.ref hrt_fall_back_anim,hrt_fall_back_tbukl_anim
;LEX
.ref lex_2_head_hit_anim,lex_4_head_hit_anim
.ref lex_2_body_hit_anim,lex_4_body_hit_anim
.ref lex_2_hitblock_anim,lex_4_hitblock_anim
.ref lex_head_hit_dizzy_anim
.ref lex_2_head_hit2_anim,lex_4_head_hit2_anim
.ref lex_4_body_hit_dizzy_anim
.ref lex_fall_back_anim,lex_fall_back_tbukl_anim
;RAZOR
.ref rzr_4_head_hit_dizzy_anim
.ref rzr_2_head_hit_anim,rzr_4_head_hit_anim
.ref rzr_2_body_hit_anim,rzr_4_body_hit_anim
.ref rzr_2_hitblock_anim,rzr_4_hitblock_anim
.ref rzr_2_head_hit2_anim,rzr_4_head_hit2_anim
.ref rzr_fall_back_anim,rzr_fall_back_tbukl_anim
.ref rzr_4_body_hit_dizzy_anim
;SHAWN
.ref shn_4_head_hit_dizzy_anim
.ref shn_2_head_hit_anim,shn_4_head_hit_anim
.ref shn_2_head_hit2_anim,shn_4_head_hit2_anim
.ref shn_2_body_hit_anim,shn_4_body_hit_anim
.ref shn_4_body_hit_dizzy_anim
.ref shn_fall_back_anim,shn_fall_back_tbukl_anim
.ref shn_2_hitblock_anim,shn_4_hitblock_anim
;TAKER
.ref und_2_head_hit_anim,und_4_head_hit_anim
.ref und_2_body_hit_anim,und_4_body_hit_anim
.ref und_head_hit_dizzy_anim
.ref und_head_hit2_anim
.ref und_4_body_hit_dizzy_anim
.ref und_fall_back_anim,und_fall_back_tbukl_anim
.ref und_2_hitblock_anim,und_4_hitblock_anim ;2 Undertaker
;YOKO
.ref yok_4_head_hit_dizzy_anim
.ref yok_2_head_hit_anim,yok_4_head_hit_anim
.ref yok_2_head_hit2_anim,yok_4_head_hit2_anim
.ref yok_2_body_hit_anim,yok_4_body_hit_anim
.ref yok_2_hitblock_anim,yok_4_hitblock_anim
.ref yok_4_body_hit_dizzy_anim
.ref yok_fall_back_anim
******************************************************************************
* SYMBOLS DEFINED IN THIS FILE
.def hit_flykick
******************************************************************************
* EQUATES FOR THIS FILE
;MJT Start
#*****************************************************************************
* A WRESTLER HAS JUST HIT/BEEN HIT (BY A PROJECTILE/SPECIAL OBJECT)
*
* a10 = * projectile process
* a13 = * victim process
SUBR wrestler_hit_special
.ref delete_special_objlist
.ref firesplat_anim
.ref piesplat_anim
.ref sp_change_anim
.ref spiritsplat_anim
callr hit_stuff
movi -1,a0
move *a13(PLYRMODE),a14
cmpi MODE_BLOCK,a14
jrz #in_block
move *a10(SP_ID),a14
jrnz #dmg
;Pull in spirits do no damage until Taker
;whacks him at end!
movi 120,a0
move a0,*a13(IMMOBILIZE_TIME)
jruc #in_block
#dmg
;Reaper projectiles do 2 damage hits
movi -2,a0
move *a13(PLYRNUM),a1
calla adjust_health
#in_block
PUSH a13
move a10,a13
move a13,a0
calla delete_special_objlist
; movi firesplat_anim,a0
; movi piesplat_anim,a0
movi spiritsplat_anim,a0
;MJT Start
move *a13(SP_ID),a14
jrz #reg
.ref reapersplat_anim
movi reapersplat_anim,a0
#reg
;MJT End
calla sp_change_anim
PULL a13
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
move *a13(FACING_DIR),a0 ;check for hit
move *a13(NEW_FACING_DIR),a1 ;from behind
and a0,a1
andi MOVE_LEFT|MOVE_RIGHT,a1
jrz #noblock
callr block_hit
rets
#noblock
GETLIFE
jrz #isdead
calla create_damage_points
SETMODE NORMAL
WRSNDX KICK_L1,KICK_L2
;If opponent is in air, do fall back!
; FACE24TBL head_hit2_tbl
; FACETBL #losebal
FACE24TBL body_hit_tbl
calla change_anim1a
movi [4,0],a0
move *a10(SP_ID),a14
jrz #push_away
;Pull toward
movi -[4,0],a0
#push_away
move *a13(FACING_DIR),a14
btst MOVE_RIGHT_BIT,a14
jrnz #abs ;right
neg a0 ;left
#abs
move a0,*a13(OBJ_XVEL),L
movi [4,0],a0
move a0,*a13(OBJ_YVEL),L
clr a0
move a0,*a13(OBJ_ZVEL),L
#isdead
calla wres_collis_off
rets
#*****************************************************************************
* A WRESTLER HAS JUST BEEN HIT
* a10 = * attacking wrestler proc
* a13 = * victim process
SUBR wrestler_hit
;Need to clear STARS_FLAG to get rid of stars!
callr hit_stuff
movi -1,a0
move *a13(PLYRMODE),a14
cmpi MODE_BLOCK,a14
jrz #in_block
;get base damage val
move *a10(ATTACK_MODE),a0
X16 a0
addi damage_values,a0
move *a0,a1
;add attacker mod
move *a10(WRESTLERNUM),a0
X16 a0
addi offense_mods,a0
move *a0,a0
addi 100h,a0
mpyu a0,a1
;add defender mod
move *a13(WRESTLERNUM),a0
X16 a0
addi defense_mods,a0
move *a0,a0
addi 100h,a0
mpyu a0,a1
move a1,a0
sra 16,a0
neg a0
CLR A1
MOVE A0,A0
JRZ JUST_CLEAR_OPP
MOVE *A10(RISK),A1
JRZ #in_block
MOVK 2,A1
MOVE A1,@DAM_MULT
MMTM SP,A0,A10
CALLA BONUS_MESS
MMFM SP,A0,A10
#in_block
CLR A1
MOVE A1,*A10(RISK)
JUST_CLEAR_OPP
MOVE A1,*A13(RISK)
move *a13(PLYRNUM),a1
calla adjust_health
;if victim is on the turnbuckle, go to the special tbukl reaction
move *a13(PLYRMODE),a14
cmpi MODE_ONTURNBKL,a14
jrne #not_onbukl
;if the attack mode is some kind of puppet, don't do this
move *a10(ATTACK_MODE),a14
cmpi AMODE_PUPPET,a14
jreq #not_onbukl
cmpi AMODE_PUPPET2,a14
jreq #not_onbukl
cmpi AMODE_PUPPET3,a14
jreq #not_onbukl
movi hit_ontbukl,a1
jruc #continue
#not_onbukl
move *a10(ATTACK_MODE),a0 ;type of attack that hit doink
move a0,a1
sll 5,a1 ;x 32
addi #hit_table,a1
move *a1,a1,L ;appropriate routine
#continue
call a1
CALLA KILL_REWIRE_DUMMY
rets
hit_stuff
;Stuff to do to the wrestler who got hit by another wrestler or by a
;projectile.
clr a0
move a0,*a13(STARS_FLAG) ;Gets rid of them...
move a0,*a13(DEBRIS_X),L ;Gets rid of them...
move a0,*a13(SHADTRAIL_PROC),L ;proc is toast
move a0,*a13(ATTIMG_CUR_FRAME),L
move *a13(ATTACH_PROC),a1,L
jrz #done
clr a0
move a0,*a13(ATTACH_PROC),L ;not attached to anything
move *a1(ATTACH_PROC),a2,L
cmp a2,a13
jrne #done
move a0,*a1(ATTACH_PROC),L ;not attached to anything
#done
;If a wrestler is running out of control, and gets hit, we need to make the
;GETUP meter go away.
move *a13(PLYRMODE),a0
cmpi MODE_BOUNCING,a0
jrz #yes
cmpi MODE_RUNNING,a0
jrnz #cont
#yes move *a13(GETUP_TIME),a0
jrz #cont
move *a13(PLYR_DIZZY),a0
jrnz #cont
move *a13(PLYRNUM),a0
cmpi 2,a0
jrge #cont
;Drones do not have getup meters!
;This guy has a getup meter on screen and is running out of control!
;Get rid of meter.
PUSH a8,a9,a10
;Cause getup meter to slide off screen.
move *a13(METER_PROC),a0,L
move *a0(PA8),a8,L
move *a0(PA9),a9,L
move *a0(PA10),a10,L
movi GETUP_PID,a1
movi slide_offscr,a7
calla XFERPROC
PULL a8,a9,a10
#cont
clr a0
move a0,*a13(RUN_TIME)
rets
;MJT End
#hit_table
.long hit_punch ;0 (this file)
.long hit_hdbutt ;1
.long hit_kick ;2
.long hit_flykick ;3
.long hit_grabthrow ;4
REFLONG hit_uprcut ;5 (react2.asm)
REFLONG hit_lbowdrop ;6
REFLONG hit_grabhold ;7
REFLONG hit_grabfling ;8
REFLONG hit_push ;9
;MJT Start 2
.long hit_urn ;10 (This file)
REFLONG hit_bigboot ;11 (react3.asm)
REFLONG hit_knee ;12
.long hit_hdbutt2 ;13
;MJT End 2
REFLONG hit_boxpunch ;14
REFLONG hit_stomp ;15 (react4.asm)
REFLONG hit_spinkick ;16
REFLONG hit_cline ;17
REFLONG hit_headhold ;18
REFLONG hit_jumpkick ;19
REFLONG hit_run ;20 (react5.asm)
REFLONG hit_puppet ;21
REFLONG hit_backhand ;22
REFLONG hit_buzz ;23
REFLONG hit_haymaker ;24
REFLONG hit_blbowdrop ;25 (react2.asm)
REFLONG hit_bstomp ;26 (react4.asm)
REFLONG hit_headknees ;27 (react3.asm)
REFLONG hit_earslap ;28 (react5.asm) - MARK
REFLONG hit_hammer ;29 (react4.asm)
REFLONG hit_buttstomp ;30 (react4.asm)
REFLONG hit_puppet2 ;31 (react5.asm) - MARK
REFLONG hit_puppet3 ;32
.long hit_tomb ;33 (This file)
.long hit_bigknee ;34
REFLONG hit_shnbfkik ;35 (react8.asm) - JASON
REFLONG hit_shnspdkik ;36
REFLONG hit_shnspdkik2 ;37
REFLONG hit_hitcheck ;38
REFLONG hit_armbreak ;39
REFLONG hit_buttdrop ;40 (react9.asm) - JASON
REFLONG hit_att41 ;41
REFLONG hit_att42 ;42
REFLONG hit_att43 ;43
.long hit_hdbutt_stay ;44 (This file)
#*****************************************************************************
;All hit routine use this block code
;Perhaps the DAMAGE amount should be table driven
;Perhaps we push him away after x blocks?
SUBR block_hit
;Slide opponent away from attacker
movi [2,0],a2
move *a10(OBJ_XPOSINT),a0
move *a13(OBJ_XPOSINT),a1
cmp a0,a1 ;offx - defx
jrgt #fall_right ;attacker on left
neg a2
#fall_right
move a2,*a13(OBJ_XVEL),L
;FIX!!
;We need to put in grunts or something... This doesn't work!
; WRSNDX PUNCH_L1,PUNCH_L2
FACE24TBL #hitblock
calla change_anim1a
#isdead
calla wres_collis_off
rets
#hitblock
.long hrt_2_hitblock_anim,hrt_4_hitblock_anim ;0 Bret Hart
.long rzr_2_hitblock_anim,rzr_4_hitblock_anim ;1 Razor Ramon
.long und_2_hitblock_anim,und_4_hitblock_anim ;2 Undertaker
.long yok_2_hitblock_anim,yok_4_hitblock_anim ;3 Yokozuna
.long shn_2_hitblock_anim,shn_4_hitblock_anim ;4 Shawn Michaels
.long bam_2_hitblock_anim,bam_4_hitblock_anim ;5 Bam Bam
.long dnk_2_hitblock_anim,dnk_4_hitblock_anim ;6 Doink
.long 0,0 ;7 spare
.long lex_2_hitblock_anim,lex_4_hitblock_anim ;8 Lex Luger
.long 0,0 ;9 Referee
#*****************************************************************************
;AMODE_PUNCH 0
;MJT Start
hit_unused ;13
;MJT End
hit_punch
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
move *a13(FACING_DIR),a0 ;check for hit
move *a13(NEW_FACING_DIR),a1 ;from behind
and a0,a1
andi MOVE_LEFT|MOVE_RIGHT,a1
jrz #noblock
callr block_hit
rets
#noblock
;All of the damage amounts need to be in lookup tables linked to the wrestler
;who actually struck the blow.
CALLA CALL_FACE_HIT
GETLIFE
jrz #isdead
calla create_damage_points
WRSNDX PUNCH_L1,PUNCH_L2
move *a13(PLYR_DIZZY),a0
jrnz #diz
calla check_dizzy
jrz #not_dizzy
movi 5*TSEC,a0
move a0,*a13(GETUP_TIME)
#diz
FACE24TBL head_hit_dizzy_tbl
calla change_anim1a
#isdead
calla wres_collis_off
rets
#not_dizzy
;MJT Start
; calla inc_burnout
;MJT End
;Test code
; cmpi 6,a1 ;a1 = consecutive hits
; jrlt #ok
; LOCKUP
;#ok
SETMODE NORMAL
#do_hit
move *a13(OBJ_YPOSINT),a14
move *a13(GROUND_Y),a0
sub a0,a14
cmpi 20,a14
jrge #fall_back
;normal punch
FACE24TBL head_hit_tbl
calla change_anim1a
calla wres_collis_off
rets
#fall_back
FACETBL fall_back_tbl
calla change_anim1a
calla wres_collis_off
movi [3,0],a2
move *a10(OBJ_XPOSINT),a0
move *a13(OBJ_XPOSINT),a1
cmp a0,a1 ;offx - defx
jrgt #fall_right ;attacker on left
neg a2
#fall_right
move a2,*a13(OBJ_XVEL),L
rets
#*****************************************************************************
;AMODE_HDBUTT 1
hit_hdbutt
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
callr block_hit
rets
#noblock
CALLA CALL_FACE_HIT
GETLIFE
jrz #isdead
WRSNDX HDBUTT_L1,HDBUTT_L2
;MJT Start
; move *a13(PLYR_DIZZY),a0
; jrnz #diz
;
; calla check_dizzy
; jrz #not_dizzy
;
; movi 5*TSEC,a0
; move a0,*a13(GETUP_TIME)
;
;#diz
; FACE24TBL head_hit_dizzy_tbl
; calla change_anim1a
;
;#not_dizzy
; calla inc_burnout
;MJT End
SETMODE NORMAL
FACE24TBL head_hit2_tbl
calla change_anim1a
#isdead
calla wres_collis_off
rets
;MJT Start 2
#*****************************************************************************
;AMODE_HDBUTT2 13
hit_hdbutt2
;From head hold attacks
CALLA CALL_FACE_HIT
WRSNDX HDBUTT_L1,HDBUTT_L2
FACE24TBL head_hit2_tbl
calla change_anim1a
movi 10000h,a0
move a0,*a13(OBJ_YVEL),L
clr a0
move a0,*a13(OBJ_XVEL),L
calla wres_collis_off
rets
#*****************************************************************************
;AMODE_URN 10
hit_urn
;From slap type attacks that want a face hit reaction!
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
callr block_hit
rets
#noblock
CALLA CALL_FACE_HIT
GETLIFE
jrz #isdead
WRSNDX HDBUTT_L1,HDBUTT_L2
SETMODE NORMAL
FACE24TBL head_hit2_tbl
calla change_anim1a
#isdead
calla wres_collis_off
rets
;MJT End 2
#*****************************************************************************
;AMODE_HDBUTT_STAY 44
;No xvel will happen
hit_hdbutt_stay
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
callr block_hit
rets
#noblock
CALLA CALL_FACE_HIT
;MJT Start
; calla inc_burnout
;MJT End
SETMODE NORMAL
FACE24TBL head_hit2_tbl
calla change_anim1a
calla wres_collis_off
clr a0
move a0,*a13(OBJ_XVEL),L
rets
#*****************************************************************************
;AMODE_TOMB 33
hit_tomb
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
callr block_hit
rets
#noblock
CALLA CALL_FACE_HIT
GETLIFE
jrz #isdead
WRSNDX HDBUTT_L1,HDBUTT_L2
move *a13(PLYR_DIZZY),a0
jrnz #diz
calla check_dizzy
jrz #not_dizzy
movi 5*TSEC,a0
move a0,*a13(GETUP_TIME)
#diz
FACE24TBL head_hit_dizzy_tbl
calla change_anim1a
#isdead
calla wres_collis_off
rets
#not_dizzy
;MJT Start
; calla inc_burnout
;MJT End
SETMODE NORMAL
FACE24TBL head_hit2_tbl
calla change_anim1a
calla wres_collis_off
rets
#*****************************************************************************
;AMODE_KICK 2
hit_kick
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
callr block_hit
rets
#noblock
CALLA CALL_MID_HIT
GETLIFE
jrz #isdead
WRSNDX KICK_L1,KICK_L2
move *a13(PLYR_DIZZY),a0
jrnz #diz
calla check_dizzy
jrz #not_dizzy
movi 5*TSEC,a0
move a0,*a13(GETUP_TIME)
#diz
FACE24TBL body_hit_dizzy_tbl
calla change_anim1a
#isdead
calla wres_collis_off
rets
#not_dizzy
;MJT Start
; calla inc_burnout
;MJT End
SETMODE NORMAL
FACE24TBL body_hit_tbl
calla change_anim1a
calla wres_collis_off
rets
#*****************************************************************************
;AMODE_FLYKICK 3
hit_flykick
;Any hit mode which does a fall back sequence onto the ground
;will not check dizzy at the start.
;The check dizzy happens in the sequence.
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
callr block_hit
rets
#noblock
calla CALL_DROP_KICK
;MJT Start
WRSNDX FLYKICK_L1,FLYKICK_L2
GETLIFE
jrz #skip
; calla inc_burnout
SETMODE NORMAL
#skip
;MJT End
move *a10(OBJ_XVEL),a0,L ;slow down doink's
sra 1,a0 ;x_vel after collis
neg a0
move a0,*a10(OBJ_XVEL),L
movi 40000h,a0
move a0,*a10(OBJ_YVEL),L
clr a0
move a0,*a13(ROLL_POS)
move *a13(PLYR_DIZZY),a0
jrnz #diz
calla set_getup_time
#diz
FACETBL fall_back_tbl
calla change_anim1a
movi [2,0],a2
move *a10(OBJ_XPOSINT),a0
move *a13(OBJ_XPOSINT),a1
cmp a0,a1 ;offx - defx
jrgt #fall_right ;attacker on left
movi [-2,0],a2
#fall_right
move a2,*a13(OBJ_XVEL),L
#isdead
calla wres_collis_off
rets
#*****************************************************************************
;AMODE_BIGKNEE 34
hit_bigknee
;Any hit mode which does a fall back sequence onto the ground
;will not check dizzy at the start.
;The check dizzy happens in the sequence.
move *a13(PLYRMODE),a1
cmpi MODE_BLOCK,a1
jrnz #noblock
callr block_hit
rets
#noblock
calla CALL_DROP_KICK
;MJT Start
WRSNDX FLYKICK_L1,FLYKICK_L2
GETLIFE
jrz #skip
; calla inc_burnout
SETMODE NORMAL
#skip
;MJT End
; move *a10(OBJ_XVEL),a0,L ;slow down doink's
; sra 1,a0 ;x_vel after collis
; neg a0
; move a0,*a10(OBJ_XVEL),L
; movi 40000h,a0
; move a0,*a10(OBJ_YVEL),L
clr a0
move a0,*a13(ROLL_POS)
move *a13(PLYR_DIZZY),a0
jrnz #diz
calla set_getup_time
#diz
FACETBL fall_back_tbl
calla change_anim1a
movi [4,0],a2
move *a10(OBJ_XPOSINT),a0
move *a13(OBJ_XPOSINT),a1
cmp a0,a1 ;offx - defx
jrgt #fall_right ;attacker on left
movi -[4,0],a2
#fall_right
move a2,*a13(OBJ_XVEL),L
#isdead
calla wres_collis_off
rets
#*****************************************************************************
;AMODE_GRABTHROW 4
hit_grabthrow
rets
#*****************************************************************************
; HIT WHILE STANDING ON TURNBUCKLE -- DOESN'T MATTER WHAT THE AMODE WAS
hit_ontbukl
; GETLIFE
; jrz #isdead
WRSNDX FLYKICK_L1,FLYKICK_L2
;MJT Start
; calla inc_burnout
;MJT End
FACETBL fall_back_tbukl_tbl
calla change_anim1a
movi [4,0],a2
move *a10(OBJ_XPOSINT),a0
move *a13(OBJ_XPOSINT),a1
cmp a0,a1 ;offx - defx
jrgt #fall_right ;attacker on left
movi [-4,0],a2
#fall_right
move a2,*a13(OBJ_XVEL),L
movi [6,0],a2
move a2,*a13(OBJ_YVEL),L
#isdead
calla wres_collis_off
rets
******************************************************************************
*
* DAMAGE SECTION
*
;Base damage values and getup times
damage_values
.word D_PUNCH,D_HDBUTT,D_KICK,D_FLYKICK,D_GRABTHROW
.word D_UPRCUT,D_LBDROP,D_GRBHOLD,D_GRBFLNG,D_PUSH
;MJT Start 2
.word D_BCKHAND,D_BIGBOOT,D_KNEE,D_HDKNEES,D_BOXPUNCH
;MJT End 2
.word D_STOMP,D_SPINKIK,D_CLINE,D_HEDHOLD,D_JUMPKICK
.word D_RUN,D_PUPPET,D_BCKHAND,D_BUZZ,D_HAYMAKER
.word D_BLBDROP,D_BSTOMP,D_HDKNEES,D_EARSLAP2,D_HAMMER2
.word D_BUTTSTOMP,D_ATT31,D_ATT32,D_TOMB,D_BIGKNEE
.word D_FLPKIK,D_SPDKIK,D_SPDKIK2,D_HITCK,D_ARMBRK
.word D_ATT40,D_ATT41,D_ATT42,D_ATT43,D_HDBUTT_STAY
;MJT Start
;Wrestler offensive multipliers
offense_mods
.word _45PCT ;Bret
.word _45PCT ;Razor
.word _45PCT ;Taker
.word _45PCT ;Yoko
.word _45PCT ;Shawn
.word _45PCT ;Bam Bam
.word _45PCT ;Doink
.word _45PCT ;
.word _45PCT ;Lex
;Wrestler defensive multipliers
defense_mods
.word 0 ;Bret
.word 0 ;Razor
.word 0 ;Taker
.word 0 ;Yoko
.word 0 ;Shawn
.word 0 ;Bam Bam
.word 0 ;Doink
.word 0 ;
.word 0 ;Lex
;MJT End
******************************************************************************
*
* STANDARD REACTION TABLES
*
head_hit_tbl
.long hrt_2_head_hit_anim,hrt_4_head_hit_anim ;0 Bret Hart
.long rzr_2_head_hit_anim,rzr_4_head_hit_anim ;1 Razor Ramon
.long und_2_head_hit_anim,und_4_head_hit_anim ;2 Undertaker
.long yok_2_head_hit_anim,yok_4_head_hit_anim ;3 Yokozuna
.long shn_2_head_hit_anim,shn_4_head_hit_anim ;4 Shawn Michaels
.long bam_2_head_hit_anim,bam_4_head_hit_anim ;5 Bam Bam
.long dnk_2_head_hit_anim,dnk_4_head_hit_anim ;6 Doink
.long 0,0 ;7 spare
.long lex_2_head_hit_anim,lex_4_head_hit_anim ;8 Lex Luger
.long 0,0 ;9 Referee
.def head_hit2_tbl
head_hit2_tbl
.long hrt_2_head_hit2_anim,hrt_4_head_hit2_anim ;0 Bret Hart
.long rzr_2_head_hit2_anim,rzr_4_head_hit2_anim ;1 Razor Ramon
.long und_head_hit2_anim,und_head_hit2_anim ;2 Undertaker
.long yok_2_head_hit2_anim,yok_4_head_hit2_anim ;3 Yokozuna
.long shn_2_head_hit2_anim,shn_4_head_hit2_anim ;4 Shawn Michaels
.long bam_head_hit2_anim,bam_head_hit2_anim ;5 Bam Bam
.long dnk_head_hit2_anim,dnk_head_hit2_anim ;6 Doink
.long 0,0 ;7 spare
.long lex_2_head_hit2_anim,lex_4_head_hit2_anim ;8 Lex Luger
.long 0,0 ;9 Referee
;head_hit3_tbl
; .long hrt_2_head_hit3_anim,hrt_4_head_hit3_anim ;0 Bret Hart
; .long rzr_2_head_hit3_anim,rzr_4_head_hit3_anim ;1 Razor Ramon
; .long und_head_hit3_anim,und_head_hit3_anim ;2 Undertaker
; .long yok_2_head_hit3_anim,yok_4_head_hit3_anim ;3 Yokozuna
; .long shn_2_head_hit3_anim,shn_4_head_hit3_anim ;4 Shawn Michaels
; .long bam_head_hit3_anim,bam_head_hit3_anim ;5 Bam Bam
; .long dnk_head_hit3_anim,dnk_head_hit3_anim ;6 Doink
; .long 0,0 ;7 spare
; .long lex_2_head_hit3_anim,lex_4_head_hit3_anim ;8 Lex Luger
; .long 0,0 ;9 Referee
head_hit_dizzy_tbl
.long hrt_4_head_hit_dizzy_anim,hrt_4_head_hit_dizzy_anim ;0 Bret Hart
.long rzr_4_head_hit_dizzy_anim,rzr_4_head_hit_dizzy_anim ;1 Razor Ramon
.long und_head_hit_dizzy_anim,und_head_hit_dizzy_anim ;2 Undertaker
.long yok_4_head_hit_dizzy_anim,yok_4_head_hit_dizzy_anim ;3 Yokozuna
.long shn_4_head_hit_dizzy_anim,shn_4_head_hit_dizzy_anim ;4 Shawn Michaels
.long bam_head_hit_dizzy_anim,bam_head_hit_dizzy_anim ;5 Bam Bam
.long dnk_head_hit_dizzy_anim,dnk_head_hit_dizzy_anim ;6 Doink
.long 0,0 ;7 spare
.long lex_head_hit_dizzy_anim,lex_head_hit_dizzy_anim ;8 Lex Luger
.long 0,0 ;9 Referee
body_hit_tbl
.long hrt_2_body_hit_anim,hrt_4_body_hit_anim ;0 Bret Hart
.long rzr_2_body_hit_anim,rzr_4_body_hit_anim ;1 Razor Ramon
.long und_2_body_hit_anim,und_4_body_hit_anim ;2 Undertaker
.long yok_2_body_hit_anim,yok_4_body_hit_anim ;3 Yokozuna
.long shn_2_body_hit_anim,shn_4_body_hit_anim ;4 Shawn Michaels
.long bam_2_body_hit_anim,bam_4_body_hit_anim ;5 Bam Bam
.long dnk_4_body_hit_anim,dnk_4_body_hit_anim ;6 Doink
.long 0,0 ;7 spare
.long lex_2_body_hit_anim,lex_4_body_hit_anim ;8 Lex Luger
.long 0,0 ;9 Referee
body_hit_dizzy_tbl
.long hrt_4_body_hit_dizzy_anim,hrt_4_body_hit_dizzy_anim ;0 Bret Hart
.long rzr_4_body_hit_dizzy_anim,rzr_4_body_hit_dizzy_anim ;1 Razor Ramon
.long und_4_body_hit_dizzy_anim,und_4_body_hit_dizzy_anim ;2 Undertaker
.long yok_4_body_hit_dizzy_anim,yok_4_body_hit_dizzy_anim ;3 Yokozuna
.long shn_4_body_hit_dizzy_anim,shn_4_body_hit_dizzy_anim ;4 Shawn Michaels
.long bam_4_body_hit_dizzy_anim,bam_4_body_hit_dizzy_anim ;5 Bam Bam
.long dnk_4_body_hit_dizzy_anim,dnk_4_body_hit_dizzy_anim ;6 Doink
.long 0,0 ;7 spare
.long lex_4_body_hit_dizzy_anim,lex_4_body_hit_dizzy_anim ;8 Lex Luger
.long 0,0 ;9 Referee
SUBR fall_back_tbl
.long hrt_fall_back_anim ;0 Bret Hart
.long rzr_fall_back_anim ;1 Razor Ramon
.long und_fall_back_anim ;2 Undertaker
.long yok_fall_back_anim ;3 Yokozuna
.long shn_fall_back_anim ;4 Shawn Michaels
.long bam_fall_back_anim ;5 Bam Bam
.long dnk_fall_back_anim ;6 Doink
.long 0 ;7 spare
.long lex_fall_back_anim ;8 Lex Luger
.long 0 ;9 Referee
SUBR fall_back_tbukl_tbl
.long hrt_fall_back_tbukl_anim ;0 Bret Hart
.long rzr_fall_back_tbukl_anim ;1 Razor Ramon
.long und_fall_back_tbukl_anim ;2 Undertaker
.long yok_fall_back_anim ;3 Yokozuna
.long shn_fall_back_tbukl_anim ;4 Shawn Michaels
.long bam_fall_back_tbukl_anim ;5 Bam Bam
.long dnk_fall_back_tbukl_anim ;6 Doink
.long 0 ;7 spare
.long lex_fall_back_tbukl_anim ;8 Lex Luger
******************************************************************************
.end