3231 lines
54 KiB
NASM
3231 lines
54 KiB
NASM
|
;Yoko tb on out of ring opp
|
|||
|
;UT pin bug
|
|||
|
;Atk sometimes instead of blk
|
|||
|
;Chk dnk buzz blk
|
|||
|
;No leap head grab
|
|||
|
;Don't have drones do power moves unless human has.
|
|||
|
;Yoko should take advantage of salt throw
|
|||
|
;Drones wait in your face for too long.
|
|||
|
;DL blk for hiptoss
|
|||
|
;Harder
|
|||
|
;Atk down opp
|
|||
|
;Anti run code, esp out of ctrl
|
|||
|
;Fling and chase
|
|||
|
;Short repeat atks
|
|||
|
;Do more head holds from in close - thru block
|
|||
|
;Seek on a blocker, do headhold
|
|||
|
;Make multi drones easier...
|
|||
|
;Too many runs
|
|||
|
;Break out of runs more...
|
|||
|
;Climb TB after a toss out
|
|||
|
;Sometimes, drone won't move from top of TB
|
|||
|
;Don't let go charge moves if opp is blocking
|
|||
|
;In multi-wrestler matches, delay longer on power moves from headhold or revs
|
|||
|
;Yoko can run right into drone and knock him down.
|
|||
|
;Get smart on big boots, missed/blocked buzzers, etc.
|
|||
|
;Ignore pushes from opponent, try an attack
|
|||
|
;Specific combo paths
|
|||
|
;Pin fast
|
|||
|
;Multi wres spacing
|
|||
|
;Get in ring
|
|||
|
;Check blocking
|
|||
|
;Fix seek_dirdist out of ring
|
|||
|
;Slide htoss on flying opp
|
|||
|
**************************************************************
|
|||
|
*
|
|||
|
* Software: Shawn Liptak
|
|||
|
* Initiated: 11/21/94
|
|||
|
*
|
|||
|
* Modified: Shawn Liptak, 11/21/94 -Started wrestling
|
|||
|
*
|
|||
|
* COPYRIGHT (C) 1994 WILLIAMS ELECTRONICS GAMES, INC.
|
|||
|
*
|
|||
|
*.Last mod - 6/29/95 15:42
|
|||
|
**************************************************************
|
|||
|
.file "drone.asm"
|
|||
|
.title "wrestling drone code"
|
|||
|
.width 132
|
|||
|
.option b,d,l,t
|
|||
|
.mnolist
|
|||
|
|
|||
|
|
|||
|
.include "macros.h"
|
|||
|
.include "mproc.equ"
|
|||
|
.include "display.equ"
|
|||
|
.include "gsp.equ"
|
|||
|
.include "sys.equ"
|
|||
|
.include "audit.equ"
|
|||
|
.include "game.equ"
|
|||
|
.include "anim.equ"
|
|||
|
.include "plyr.equ"
|
|||
|
.include "ring.equ"
|
|||
|
.include "damage.equ"
|
|||
|
|
|||
|
|
|||
|
;sounds external
|
|||
|
|
|||
|
|
|||
|
;symbols externally defined
|
|||
|
|
|||
|
.ref process_ptrs,PSTATUS
|
|||
|
.ref PCNT,round_tickcount
|
|||
|
|
|||
|
.ref CHECK_COMBO_GO
|
|||
|
|
|||
|
.ref GET_ADJ
|
|||
|
.ref p1winstreakd,p1rounds,current_round
|
|||
|
.ref LADDER,CURRENT_LADDER
|
|||
|
|
|||
|
.ref change_anim1a
|
|||
|
.ref hrt_4_taunt_anim,rzr_4_taunt_anim,und_4_taunt_anim
|
|||
|
.ref yok_4_taunt_anim,shn_4_taunt_anim,bam_4_taunt_anim
|
|||
|
.ref dnk_4_taunt_anim,lex_4_taunt_anim
|
|||
|
|
|||
|
|
|||
|
;symbols defined in this file
|
|||
|
|
|||
|
|
|||
|
;uninitialized ram definitions
|
|||
|
|
|||
|
BSSX droneoff ,16 ;!0=Drone code off
|
|||
|
.bss atkcnt_t,AT_NUM*NUM_WRES*16 ;# times hit by each atk
|
|||
|
|
|||
|
|
|||
|
;equates for this file
|
|||
|
|
|||
|
BLKTEST .equ 0
|
|||
|
|
|||
|
U_M .equ MOVE_UP<<5
|
|||
|
D_M .equ MOVE_DOWN<<5
|
|||
|
L_M .equ MOVE_LEFT<<5
|
|||
|
R_M .equ MOVE_RIGHT<<5
|
|||
|
|
|||
|
P_M .equ PLAYER_PUNCH_VAL
|
|||
|
B_M .equ PLAYER_BLOCK_VAL
|
|||
|
SP_M .equ PLAYER_SPUNCH_VAL
|
|||
|
K_M .equ PLAYER_KICK_VAL
|
|||
|
SK_M .equ PLAYER_SKICK_VAL
|
|||
|
|
|||
|
.if MODE_NORMAL!=0
|
|||
|
.emsg "FIX code!"
|
|||
|
.endif
|
|||
|
|
|||
|
|
|||
|
.text
|
|||
|
|
|||
|
#***************************************************************
|
|||
|
* Main drone logic
|
|||
|
* A13 = *Plyr process
|
|||
|
* Trashes scratch, A2-A10, B2-B7
|
|||
|
|
|||
|
SUBR drone_main
|
|||
|
|
|||
|
.if DEBUG
|
|||
|
move @droneoff,a0
|
|||
|
jrnz #xx
|
|||
|
.endif
|
|||
|
|
|||
|
|
|||
|
move *a13(DRN_BUT),a6 ;A6=Old buts
|
|||
|
move *a13(DRN_JOY),a7 ;A7=Old joy
|
|||
|
|
|||
|
move *a13(CLOSEST_NUM),a14
|
|||
|
X32 a14
|
|||
|
addi process_ptrs,a14
|
|||
|
move *a14,a8,L ;A8=*Closest's proc
|
|||
|
|
|||
|
; callr drone_getcurskillo
|
|||
|
; move a0,a10
|
|||
|
move *a13(DRN_SKILL),a10
|
|||
|
X16 a10 ;A10=Skill for indexing (*16)
|
|||
|
|
|||
|
move *a13(PLYRMODE),a0
|
|||
|
move a0,b6 ;B6=My pmode
|
|||
|
move *a8(PLYRMODE),a0
|
|||
|
move a0,b7 ;B7=Opp pmode
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Find friendly wrestlers
|
|||
|
|
|||
|
movi process_ptrs,a2
|
|||
|
movk NUM_WRES,b0
|
|||
|
clr b2 ;B2=Team dist ranking (0-2)
|
|||
|
clr b3 ;B3=# alive on my team (0-3)
|
|||
|
#fflp
|
|||
|
move *a2+,a3,L
|
|||
|
jrz #ffnxt
|
|||
|
|
|||
|
move *a13(PLYR_SIDE),a0
|
|||
|
move *a3(PLYR_SIDE),a1
|
|||
|
cmp a0,a1
|
|||
|
jrne #ffnxt ;Not on my team?
|
|||
|
|
|||
|
move *a3(PLYRMODE),a0
|
|||
|
subk MODE_DEAD,a0
|
|||
|
jreq #ffnxt
|
|||
|
|
|||
|
addk 1,b3
|
|||
|
|
|||
|
move *a13(CLOSEST_NUM),a0
|
|||
|
move *a3(CLOSEST_NUM),a1
|
|||
|
cmp a0,a1
|
|||
|
jrne #ffnxt ;Diff opponents?
|
|||
|
|
|||
|
move *a13(CLOSEST_DIST),a0
|
|||
|
move *a3(CLOSEST_DIST),a1
|
|||
|
cmp a1,a0
|
|||
|
jrle #ffnxt ;I'm closer?
|
|||
|
|
|||
|
addk 1,b2
|
|||
|
#ffnxt
|
|||
|
dsj b0,#fflp
|
|||
|
|
|||
|
#ffdn
|
|||
|
move b2,b2
|
|||
|
jrz #ffdoit ;I'm closest?
|
|||
|
|
|||
|
move *a13(DRN_ACT_p),a9,L
|
|||
|
jrnz #ffx ;Script running?
|
|||
|
|
|||
|
move *a13(DRN_MODE),a0
|
|||
|
movi -3,a1
|
|||
|
move a1,*a13(DRN_MODE) ;Set mode
|
|||
|
addk 3,a0
|
|||
|
jrne #newmdm3 ;Init hang back?
|
|||
|
jruc #ffx
|
|||
|
|
|||
|
#ffdoit
|
|||
|
move *a13(DRN_MODE),a0
|
|||
|
addk 3,a0
|
|||
|
jreq #newmd ;Set new mode if in hang back?
|
|||
|
|
|||
|
#ffx
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Random mode changes
|
|||
|
|
|||
|
move @PCNT,a0
|
|||
|
sll 32-5,a0
|
|||
|
jrnz #nomdchk
|
|||
|
|
|||
|
movk 3,a0
|
|||
|
callr rnd
|
|||
|
jrnz #nomdchk
|
|||
|
|
|||
|
move *a13(DRN_MODE),a0
|
|||
|
addk 3,a0
|
|||
|
jrle #mcnosc ;Hang back?
|
|||
|
#newmd
|
|||
|
movk 1,a0 ;No aggressive
|
|||
|
move @CURRENT_LADDER,a1,L ;* to position
|
|||
|
cmpi LADDER,a1
|
|||
|
jreq #mdeasy ;1st ladder?
|
|||
|
|
|||
|
movk 3,a0 ;Range
|
|||
|
cmpi 13*16,a10
|
|||
|
jrle #mdeasy
|
|||
|
addk 1,a0 ;More aggressive
|
|||
|
#mdeasy
|
|||
|
callr rndrng0
|
|||
|
subk 2,a0
|
|||
|
move a0,*a13(DRN_MODE) ;-2 to 2
|
|||
|
|
|||
|
move *a13(DRN_ACT_p),a9,L
|
|||
|
jrnz #mcnosc ;Script running?
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_JOY) ;So we don't walk into ropes
|
|||
|
#mcnosc
|
|||
|
#newmdm3
|
|||
|
movk 4,a2 ;Rgt side
|
|||
|
move *a13(OBJ_XPOSINT),a0
|
|||
|
move *a8(OBJ_XPOSINT),a1
|
|||
|
sub a1,a0
|
|||
|
jrge #metorgt
|
|||
|
movk 12,a2 ;Left side
|
|||
|
#metorgt
|
|||
|
move a2,*a13(DRN_SEEKDIR)
|
|||
|
|
|||
|
movk 4,a0
|
|||
|
callr rndrng0
|
|||
|
|
|||
|
move *a13(DRN_MODE),a1
|
|||
|
addk 3,a1
|
|||
|
jrne #nodhb ;!Hang back?
|
|||
|
ANDK 1,a0 ;Make 3-4 or 4-5
|
|||
|
addk 2,a0
|
|||
|
move b2,a14
|
|||
|
add a14,a0
|
|||
|
#nodhb
|
|||
|
move a0,*a13(DRN_SEEKDIST)
|
|||
|
|
|||
|
#nomdchk
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Passive mode movement
|
|||
|
|
|||
|
.if BLKTEST
|
|||
|
jruc #skmv
|
|||
|
.endif
|
|||
|
|
|||
|
move *a13(DRN_MODE),a0
|
|||
|
jrge #skmv ;Aggressive?
|
|||
|
|
|||
|
move b6,b6
|
|||
|
jrnz #skmv ;!MODE_NORMAL?
|
|||
|
|
|||
|
move *a13(DRN_ACT_p),a9,L
|
|||
|
jrnz #skmv ;Script running?
|
|||
|
|
|||
|
callr drone_seekdirdist
|
|||
|
#skmv
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Dec charge delay
|
|||
|
|
|||
|
move *a13(DRN_BUTCHRG),a0
|
|||
|
jrz #nochrgn
|
|||
|
|
|||
|
move *a13(DRN_BUTCHRGDLY),a0
|
|||
|
subk 1,a0
|
|||
|
move a0,*a13(DRN_BUTCHRGDLY)
|
|||
|
#nochrgn
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Handle getup time
|
|||
|
|
|||
|
move *a13(GETUP_TIME),a2
|
|||
|
jrle #nogt
|
|||
|
|
|||
|
movi 99,a0
|
|||
|
callr rndrng0
|
|||
|
move a10,a1
|
|||
|
addi #getup_t,a1
|
|||
|
move *a1,a1
|
|||
|
cmp a1,a0
|
|||
|
jrge #dsabt
|
|||
|
|
|||
|
subk 5,a2
|
|||
|
jrge #gtok
|
|||
|
clr a2
|
|||
|
#gtok move a2,*a13(GETUP_TIME)
|
|||
|
jruc #dsabt
|
|||
|
#nogt
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
move *a13(DRN_DELAY),a0
|
|||
|
subk 1,a0
|
|||
|
jrle #newact
|
|||
|
move a0,*a13(DRN_DELAY)
|
|||
|
jruc #x
|
|||
|
#newact
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Block detection
|
|||
|
|
|||
|
move *a8(ATTACK_TIME),a4
|
|||
|
move @round_tickcount,a5
|
|||
|
sub a5,a4 ;-=Attack passed, +=Ticks till atk
|
|||
|
jrlt #noblk
|
|||
|
|
|||
|
movi 50,a1 ;Closer Z allowed
|
|||
|
move *a8(ATTACK_TYPE),a2
|
|||
|
cmpi AT_PUSH,a2
|
|||
|
jreq #noblk
|
|||
|
cmpi AT_MSL,a2
|
|||
|
jreq #msla ;Missile atk?
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a0
|
|||
|
cmpi 180,a0
|
|||
|
jrgt #noblk ;Too far?
|
|||
|
movi 100,a1
|
|||
|
#msla
|
|||
|
move *a13(CLOSEST_ZDIST),a0
|
|||
|
cmp a1,a0
|
|||
|
jrgt #noblk ;Too far?
|
|||
|
|
|||
|
move *a8(GETUP_TIME),a14
|
|||
|
jrgt #noblk ;Out of control?
|
|||
|
|
|||
|
cmpi MODE_INAIR2,b7
|
|||
|
jreq #noblk ;Jumping on me?
|
|||
|
|
|||
|
btst PLAYER_BLOCK_BIT,a6
|
|||
|
jrnz #x ;Trying to blk?
|
|||
|
|
|||
|
move *a8(ATTACK_TYPE),a2
|
|||
|
move *a13(PLYRNUM),a0
|
|||
|
movi AT_NUM,a3
|
|||
|
mpys a0,a3
|
|||
|
add a2,a3
|
|||
|
X16 a3
|
|||
|
addi atkcnt_t,a3
|
|||
|
|
|||
|
move *a3,a2 ;# missed blks
|
|||
|
cmpi 10,a2
|
|||
|
jrlo #acok
|
|||
|
movk 9,a2
|
|||
|
#acok
|
|||
|
X16 a2
|
|||
|
addi #blkatk_t,a2
|
|||
|
move *a2,a2 ;Get %
|
|||
|
|
|||
|
move b3,a14 ;# on team
|
|||
|
subk 1,a14
|
|||
|
X32 a14
|
|||
|
sub a14,a2 ;Decrease per extra bud
|
|||
|
|
|||
|
.if BLKTEST
|
|||
|
movi 100,a2
|
|||
|
.endif
|
|||
|
|
|||
|
movi 99,a0
|
|||
|
callr rndrng0
|
|||
|
move a10,a1
|
|||
|
addi #blkbase_t,a1
|
|||
|
move *a1,a1 ;Base %
|
|||
|
add a2,a1
|
|||
|
cmp a1,a0
|
|||
|
jrge #missb
|
|||
|
|
|||
|
cmpi 15,a4
|
|||
|
jrge #minbtok ;Min time OK?
|
|||
|
movk 15,a4
|
|||
|
#minbtok
|
|||
|
|
|||
|
move *a8(ATTACK_TYPE),a2
|
|||
|
cmpi AT_LEAPING,a2
|
|||
|
jrne #sblk ;!Leaping?
|
|||
|
|
|||
|
; LOCKUP
|
|||
|
|
|||
|
move a10,a0
|
|||
|
srl 4+2,a0 ;Skill/4
|
|||
|
callr rndrng0
|
|||
|
move a0,a0
|
|||
|
jrz #sblk ;Skip?
|
|||
|
|
|||
|
move a5,*a8(ATTACK_TIME) ;Cancel
|
|||
|
|
|||
|
movi slhtoss,a9 ;Flip opp
|
|||
|
jruc #newsc
|
|||
|
|
|||
|
#sblk
|
|||
|
move a4,*a13(DRN_DELAY)
|
|||
|
|
|||
|
movk B_M,a0 ;Block it
|
|||
|
move a0,*a13(DRN_BUT)
|
|||
|
|
|||
|
cmpi AT_PUPPET,a2
|
|||
|
jrne #dsabt ;!Hip toss?
|
|||
|
|
|||
|
movi B_M+L_M+D_M,a0 ;Special block
|
|||
|
move a4,a3 ;Dly
|
|||
|
clr a9
|
|||
|
jruc #setbx
|
|||
|
|
|||
|
#missb
|
|||
|
move a5,*a8(ATTACK_TIME) ;Cancel
|
|||
|
|
|||
|
move *a3,a0 ;Cnt+1
|
|||
|
addk 1,a0
|
|||
|
move a0,*a3
|
|||
|
|
|||
|
#noblk
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >New script selection
|
|||
|
|
|||
|
move *a13(DRN_ACT_p),a9,L ;A9=*Script
|
|||
|
jrnz #cact ;Continue script?
|
|||
|
|
|||
|
|
|||
|
clr a2
|
|||
|
|
|||
|
cmpi MODE_BLOCK,b6
|
|||
|
jrne #nps ;!Blking?
|
|||
|
btst PLAYER_PUNCH_BIT,a6
|
|||
|
jrnz #nps ;Already pushed?
|
|||
|
|
|||
|
.if BLKTEST
|
|||
|
jruc #nps
|
|||
|
.endif
|
|||
|
|
|||
|
movk 7,a0
|
|||
|
callr rndrng0
|
|||
|
move a0,a0
|
|||
|
jrnz #nps ;Skip 88%?
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a0
|
|||
|
cmpi 110,a0
|
|||
|
jrgt #nps ;Too far?
|
|||
|
move *a13(CLOSEST_ZDIST),a0
|
|||
|
cmpi 40,a0
|
|||
|
jrgt #nps ;Too far?
|
|||
|
movk P_M+B_M,a2 ;Push
|
|||
|
move a2,*a13(DRN_BUT)
|
|||
|
jruc #x
|
|||
|
#nps
|
|||
|
move a2,*a13(DRN_BUT)
|
|||
|
|
|||
|
.if BLKTEST
|
|||
|
jruc #x
|
|||
|
.endif
|
|||
|
|
|||
|
|
|||
|
move b6,b6
|
|||
|
jrnz #doact ;!MODE_NORMAL?
|
|||
|
|
|||
|
|
|||
|
move *a13(INRING),a0
|
|||
|
jrz #ringok ;In ring?
|
|||
|
|
|||
|
move *a8(INRING),a0
|
|||
|
jrnz #ringok ;Opp out?
|
|||
|
|
|||
|
movi drn_enterring,a9
|
|||
|
jruc #newsc
|
|||
|
#ringok
|
|||
|
|
|||
|
move *a13(DRN_MODE),a3
|
|||
|
cmpi -3,a3
|
|||
|
jrle #pass ;Hang back?
|
|||
|
|
|||
|
cmpi MODE_ONGROUND,b7
|
|||
|
jreq #doact ;Atk?
|
|||
|
|
|||
|
cmpi MODE_INAIR2,b7
|
|||
|
jrne #onia
|
|||
|
movi drn_opinair,a9 ;Avoid jump
|
|||
|
jruc #newsc
|
|||
|
#onia
|
|||
|
cmpi MODE_RUNNING,b7
|
|||
|
jrne #onrun
|
|||
|
move *a13(CLOSEST_XDIST),a0
|
|||
|
cmpi 80,a0
|
|||
|
jrle #onrun ;Too close?
|
|||
|
movi drn_oprun,a9 ;Anti run
|
|||
|
jruc #newsc
|
|||
|
#onrun
|
|||
|
|
|||
|
move *a8(ATTACK_TIME),a0
|
|||
|
move @round_tickcount,a1
|
|||
|
sub a1,a0 ;-=Attack passed, +=Ticks till atk
|
|||
|
addk 15,a0
|
|||
|
jrge #doact ;Get him after his atk (or no blk)?
|
|||
|
|
|||
|
|
|||
|
move a3,a3
|
|||
|
jrlt #pass ;Passive?
|
|||
|
|
|||
|
movk 1fh,a0 ;.6 sec
|
|||
|
cmpi 22*16,a10
|
|||
|
jrle #cat
|
|||
|
movk 7,a0 ;.15 sec
|
|||
|
#cat
|
|||
|
callr rnd
|
|||
|
jrz #doactpup ;Atk?
|
|||
|
|
|||
|
|
|||
|
#pass
|
|||
|
move @PCNT,a0 ;Chk every 16
|
|||
|
addk 1,a0
|
|||
|
sll 32-4,a0
|
|||
|
jrnz #x
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a1
|
|||
|
move *a13(CLOSEST_ZDIST),a14
|
|||
|
cmp a1,a14
|
|||
|
jrge #big
|
|||
|
move a1,a14
|
|||
|
#big
|
|||
|
cmpi 70,a14
|
|||
|
jrlt #doactpup ;Opp in my face? Attack!
|
|||
|
|
|||
|
move *a13(DRN_MODE),a0
|
|||
|
addk 3,a0
|
|||
|
jrle #x ;Hang back?
|
|||
|
|
|||
|
move @CURRENT_LADDER,a1,L ;* to position
|
|||
|
cmpi LADDER,a1
|
|||
|
jreq #nratk ;1st ladder?
|
|||
|
|
|||
|
movk 0fh,a0 ;Avg 4.8 sec
|
|||
|
callr rnd
|
|||
|
jrz #doactpup ;Random attack?
|
|||
|
#nratk
|
|||
|
move b7,b7
|
|||
|
jrz #x ;Opp MODE_NORMAL? Be passive
|
|||
|
#doactpup
|
|||
|
move b7,a0
|
|||
|
subk MODE_PUPPET2,a0
|
|||
|
jreq #x
|
|||
|
subk MODE_PUPPET-MODE_PUPPET2,a0
|
|||
|
jreq #x
|
|||
|
cmpi MODE_HEADHELD,b7
|
|||
|
jreq #x
|
|||
|
cmpi MODE_HEADHOLD,b7
|
|||
|
jreq #x
|
|||
|
cmpi MODE_ATTACHED,b7
|
|||
|
jreq #x
|
|||
|
|
|||
|
|
|||
|
#doact
|
|||
|
cmpi MODE_HEADHELD,b6
|
|||
|
jreq #slctscrpt
|
|||
|
|
|||
|
cmpi MODE_ONGROUND,b6
|
|||
|
jrne #nognd
|
|||
|
movi drn_roll,a9
|
|||
|
jruc #newsc
|
|||
|
#nognd
|
|||
|
cmpi MODE_INAIR2,b6
|
|||
|
jrne #nin2
|
|||
|
movi drn_inair,a9
|
|||
|
jruc #newsc
|
|||
|
#nin2
|
|||
|
cmpi MODE_ONTURNBKL,b6
|
|||
|
jrne #notb
|
|||
|
movi drn_ontb,a9
|
|||
|
jruc #newsc
|
|||
|
#notb
|
|||
|
cmpi MODE_DEAD,b6
|
|||
|
jrne #ndead
|
|||
|
movk 7,a0
|
|||
|
callr rnd
|
|||
|
jruc #butx
|
|||
|
#ndead
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrnz #unint ;Wait?
|
|||
|
|
|||
|
cmpi MODE_RUNNING,b6
|
|||
|
jrne #nrun
|
|||
|
movi drn_run,a9
|
|||
|
jruc #newsc
|
|||
|
#nrun
|
|||
|
|
|||
|
cmpi MODE_HEADHOLD,b6
|
|||
|
jrne #nhh
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_BUTCHRG) ;Clr it
|
|||
|
|
|||
|
; movk 1,a0 ;50%
|
|||
|
; callr rnd
|
|||
|
; jrnz #nhh ;Don't combo?
|
|||
|
|
|||
|
move a8,a3
|
|||
|
move a13,a8
|
|||
|
calla CHECK_COMBO_GO
|
|||
|
jrlt #ncmb ;Can't combo?
|
|||
|
move a3,a8
|
|||
|
movi drn_combo,a9
|
|||
|
jruc #newsc
|
|||
|
#ncmb
|
|||
|
move a3,a8
|
|||
|
#nhh
|
|||
|
|
|||
|
move *a13(DRN_BUTCHRG),a0
|
|||
|
jrz #nochrg
|
|||
|
|
|||
|
move *a13(DRN_BUTCHRGDLY),a0
|
|||
|
jrgt #nochrg
|
|||
|
|
|||
|
cmpi MODE_BLOCK,b7
|
|||
|
jreq #nochrg ;Opp blking?
|
|||
|
|
|||
|
move *a13(DRN_BUTCHRG_p),a9,L ;Fire charge
|
|||
|
jruc #newsc
|
|||
|
#nochrg
|
|||
|
|
|||
|
move *a13(CLOSEST_DIST),a14
|
|||
|
cmpi 200,a14
|
|||
|
jrgt #opnb
|
|||
|
|
|||
|
cmpi MODE_BLOCK,b7
|
|||
|
jrne #opnb ;!Blking?
|
|||
|
|
|||
|
move *a13(CLOSEST_ZDIST),a14
|
|||
|
cmpi 40,a14
|
|||
|
jrgt #bsk
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a14
|
|||
|
cmpi 60,a14
|
|||
|
jrgt #bsk
|
|||
|
|
|||
|
move *a8(STICK_REL_CUR),a14
|
|||
|
cmpi MOVE_DOWN_LEFT,a14
|
|||
|
jreq #bht ;Hip toss blocked?
|
|||
|
|
|||
|
movi M_shrtblkr,a9 ;Attack
|
|||
|
jruc #getscrpt
|
|||
|
#bht
|
|||
|
movi M_shrtblkrdl,a9 ;Attack
|
|||
|
jruc #getscrpt
|
|||
|
; movi hgrab,a9
|
|||
|
; jruc #newsc
|
|||
|
#bsk
|
|||
|
movi drn_seekclose,a9
|
|||
|
jruc #newsc
|
|||
|
#opnb
|
|||
|
|
|||
|
cmpi MODE_DEAD,b7
|
|||
|
jrne #opnd
|
|||
|
|
|||
|
movi drn_oppdead,a9
|
|||
|
jruc #newsc
|
|||
|
#opnd
|
|||
|
|
|||
|
#slctscrpt
|
|||
|
|
|||
|
move *a13(WRESTLERNUM),a0
|
|||
|
X32 a0
|
|||
|
addi #wnshort_t,a0
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a1
|
|||
|
move *a13(CLOSEST_ZDIST),a14
|
|||
|
X2 a14 ;Z*2
|
|||
|
cmp a1,a14
|
|||
|
jrge #havebig
|
|||
|
move a1,a14
|
|||
|
#havebig
|
|||
|
cmpi 100,a14
|
|||
|
jrlt #shrt
|
|||
|
addi #wnmed_t-#wnshort_t,a0
|
|||
|
|
|||
|
cmpi 180,a14
|
|||
|
jrlt #med
|
|||
|
addi #wnlong_t-#wnmed_t,a0
|
|||
|
#shrt
|
|||
|
#med
|
|||
|
move *a0,a9,L ;Get * mode list
|
|||
|
move b6,a2
|
|||
|
move b7,a3
|
|||
|
#mdlp
|
|||
|
movb *a9,a0 ;My mode #
|
|||
|
addk 8,a9
|
|||
|
movb *a9,a14 ;His mode #
|
|||
|
addk 8,a9
|
|||
|
move *a9+,a1,L ;* script * table
|
|||
|
|
|||
|
move a0,a0
|
|||
|
jrn #inochk ;Don't chk?
|
|||
|
cmp a2,a0
|
|||
|
jrne #mdlp ;Not in mode?
|
|||
|
#inochk
|
|||
|
move a14,a14
|
|||
|
jrn #def ;Don't chk?
|
|||
|
cmp a3,a14
|
|||
|
jrne #mdlp ;Not in mode?
|
|||
|
#def
|
|||
|
move a1,a9
|
|||
|
#getscrpt
|
|||
|
move *a9+,a0 ;# entries
|
|||
|
jrge #neok ;!Headhold?
|
|||
|
abs a0
|
|||
|
cmpi 26*16,a10
|
|||
|
jrle #neok ;!Hard?
|
|||
|
movk 1,a0 ;Only do first two
|
|||
|
#neok
|
|||
|
callr rndrng0
|
|||
|
X32 a0
|
|||
|
add a0,a9
|
|||
|
move *a9,a9,L ;* new script
|
|||
|
|
|||
|
#newsc
|
|||
|
move b6,a0
|
|||
|
move a0,*a13(DRN_SPMODE)
|
|||
|
|
|||
|
|
|||
|
cmpi MODE_HEADHOLD,b6
|
|||
|
jrne #nhh2
|
|||
|
|
|||
|
movk 1,a3
|
|||
|
cmpi 2,b3
|
|||
|
jrlt #hhd1 ;1 opp?
|
|||
|
movk 22,a3
|
|||
|
#hhd1
|
|||
|
movi sklhhdly_t,a0
|
|||
|
add a10,a0 ;+Offset
|
|||
|
move *a0,a0
|
|||
|
callr rndrng0
|
|||
|
add a0,a3 ;Increase per extra bud
|
|||
|
|
|||
|
move @PCNT,a0
|
|||
|
sll 32-1,a0
|
|||
|
jrz #hhdok ;Skip half of checks?
|
|||
|
|
|||
|
cmpi 65,a3
|
|||
|
jrle #hhdok
|
|||
|
movi 65,a3 ;Max delay
|
|||
|
#hhdok
|
|||
|
clr a0
|
|||
|
jruc #setbx
|
|||
|
#nhh2
|
|||
|
|
|||
|
cmpi MODE_HEADHELD,b6
|
|||
|
jrne #nhhe
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_BUTCHRG) ;Clr it
|
|||
|
|
|||
|
move b3,a3 ;# on team
|
|||
|
movk 7,a0
|
|||
|
callr rnd
|
|||
|
jrz #hrskmp ;12% skip multiplyr delay?
|
|||
|
subk 1,a3
|
|||
|
X16 a3
|
|||
|
#hrskmp
|
|||
|
movi sklhrdly_t,a0
|
|||
|
add a10,a0 ;+Offset
|
|||
|
move *a0,a0
|
|||
|
callr rndrng0
|
|||
|
addk 1,a0
|
|||
|
add a0,a3 ;Increase per extra bud
|
|||
|
|
|||
|
move @PCNT,a0
|
|||
|
sll 32-1,a0
|
|||
|
jrz #hrdok ;Skip half of checks?
|
|||
|
|
|||
|
cmpi 70,a3
|
|||
|
jrle #hrdok
|
|||
|
movi 70,a3 ;Max delay
|
|||
|
#hrdok
|
|||
|
clr a0
|
|||
|
jruc #setbx
|
|||
|
#nhhe
|
|||
|
|
|||
|
|
|||
|
#cact
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Chk script for mode change
|
|||
|
|
|||
|
move b6,a0
|
|||
|
jrz #mdsame ;MODE_NORMAL?
|
|||
|
subk MODE_BLOCK,a0
|
|||
|
jreq #mdsame ;Treat as normal?
|
|||
|
move *a13(DRN_SPMODE),a0
|
|||
|
move b6,a1
|
|||
|
cmp a1,a0
|
|||
|
.if DEBUG
|
|||
|
jreq #dsok
|
|||
|
jruc #dsabt ;For breakpoint
|
|||
|
#dsok
|
|||
|
.endif
|
|||
|
jrne #dsabt
|
|||
|
|
|||
|
#mdsame
|
|||
|
|
|||
|
.if DEBUG
|
|||
|
move a9,a9 ;Chk script *
|
|||
|
jrz #a9ok
|
|||
|
cmpi 0ff000000h,a9
|
|||
|
jrhs #a9ok
|
|||
|
LOCKUP
|
|||
|
#a9ok
|
|||
|
.endif
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Read script command
|
|||
|
#scplp
|
|||
|
move *a9+,a0
|
|||
|
jrge #nocd ;No command?
|
|||
|
|
|||
|
sll 32-14,a0
|
|||
|
jrc #dsdone ;Done? (Bit 14)
|
|||
|
|
|||
|
srl 32-14,a0
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Seek until 0
|
|||
|
|
|||
|
subk 1,a0 ;#1
|
|||
|
jrne #nseekt0
|
|||
|
|
|||
|
callr drone_seek
|
|||
|
jrz #scplp
|
|||
|
|
|||
|
subk 16,a9
|
|||
|
jruc #dsdone
|
|||
|
#nseekt0
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Random skill lvl abort
|
|||
|
|
|||
|
subk 1,a0 ;#2
|
|||
|
jrne #nrnda
|
|||
|
|
|||
|
cmpi MODE_BLOCK,b7
|
|||
|
jreq #dsabt ;Blking?
|
|||
|
|
|||
|
move *a9+,a3,L ;*Skill table
|
|||
|
|
|||
|
; clr a2
|
|||
|
; cmpi sklrev_t,a3
|
|||
|
; jrne #nsr
|
|||
|
; move b3,a2 ;# on team
|
|||
|
; subk 1,a2
|
|||
|
; X16 a2
|
|||
|
;#nsr
|
|||
|
movi 99,a0
|
|||
|
callr rndrng0
|
|||
|
add a10,a3 ;+Offset
|
|||
|
move *a3,a1
|
|||
|
; sub a2,a1 ;Decrease per extra bud
|
|||
|
cmp a1,a0
|
|||
|
jrlt #scplp ;Cont?
|
|||
|
|
|||
|
movk 10,a0
|
|||
|
move a0,*a13(DRN_DELAY)
|
|||
|
|
|||
|
jruc #dsabt
|
|||
|
#nrnda
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Wait till interruptable
|
|||
|
|
|||
|
subk 1,a0 ;#3
|
|||
|
jrne #nwtint
|
|||
|
|
|||
|
move *a13(ANIMODE),a0
|
|||
|
btst MODE_UNINT_BIT,a0
|
|||
|
jrz #scplp ;Off?
|
|||
|
|
|||
|
subk 16,a9
|
|||
|
jruc #dsdone
|
|||
|
#nwtint
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Abort if opponent blocking
|
|||
|
|
|||
|
subk 1,a0 ;#4
|
|||
|
jrne #naib
|
|||
|
|
|||
|
cmpi MODE_BLOCK,b7
|
|||
|
jrne #scplp ;!Blocked?
|
|||
|
|
|||
|
jruc #dsabt
|
|||
|
#naib
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Call code
|
|||
|
|
|||
|
subk 1,a0 ;#5
|
|||
|
jrne #ncall
|
|||
|
|
|||
|
move *a9+,a0,L
|
|||
|
call a0
|
|||
|
|
|||
|
jruc #scplp
|
|||
|
#ncall
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Rnd jump
|
|||
|
|
|||
|
subk 1,a0 ;#6
|
|||
|
jrne #nrj
|
|||
|
|
|||
|
movi 99,a0
|
|||
|
callr rndrng0
|
|||
|
move *a9+,a1 ;Percent to jmp
|
|||
|
move *a9+,a2,L
|
|||
|
cmp a1,a0
|
|||
|
jrge #scplp
|
|||
|
|
|||
|
move a2,a9 ;New addr
|
|||
|
jruc #scplp
|
|||
|
#nrj
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Jump
|
|||
|
|
|||
|
subk 1,a0 ;#7
|
|||
|
jrne #njmp
|
|||
|
|
|||
|
move *a9+,a9,L
|
|||
|
jruc #scplp
|
|||
|
#njmp
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Call function
|
|||
|
|
|||
|
exgpc a9
|
|||
|
jruc #scplp
|
|||
|
#nocd
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Joy & button bits
|
|||
|
|
|||
|
move *a9+,a3 ;Get delay
|
|||
|
#setbx
|
|||
|
move a0,a1
|
|||
|
sll 32-5,a0
|
|||
|
srl 32-5,a0
|
|||
|
move a0,*a13(DRN_BUT)
|
|||
|
|
|||
|
srl 5,a1
|
|||
|
move *a13(FACING_DIR),a14
|
|||
|
btst PLAYER_RIGHT_BIT,a14
|
|||
|
jrnz #rgt ;Facing rgt?
|
|||
|
|
|||
|
move a1,a0 ;>Flip L&R bits
|
|||
|
move a1,a14
|
|||
|
sll 32-2,a1
|
|||
|
srl 3,a0 ;Bit0=Rgt
|
|||
|
sll 32-3,a14
|
|||
|
srl 31,a14
|
|||
|
sll 1,a14 ;Bit1=Left
|
|||
|
or a0,a1
|
|||
|
or a14,a1
|
|||
|
rl 2,a1
|
|||
|
#rgt
|
|||
|
move a1,*a13(DRN_JOY)
|
|||
|
|
|||
|
move a3,*a13(DRN_DELAY)
|
|||
|
move a3,a3
|
|||
|
jrgt #dsdone
|
|||
|
#dsabt
|
|||
|
clr a9
|
|||
|
#dsdone
|
|||
|
move a9,*a13(DRN_ACT_p),L
|
|||
|
|
|||
|
#unint
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Calc ctrl bit transitions
|
|||
|
#x
|
|||
|
move *a13(DRN_BUT),a0
|
|||
|
#butx
|
|||
|
move *a13(DRN_BUTCHRG),a14
|
|||
|
or a14,a0
|
|||
|
move a0,*a13(DRN_BUT)
|
|||
|
xor a0,a6
|
|||
|
move a6,a1
|
|||
|
and a0,a6
|
|||
|
move a6,*a13(DRN_BUTDT)
|
|||
|
andn a0,a1
|
|||
|
move a1,*a13(DRN_BUTUT)
|
|||
|
|
|||
|
move *a13(DRN_JOY),a0
|
|||
|
xor a0,a7
|
|||
|
move a7,a1
|
|||
|
and a0,a7
|
|||
|
move a7,*a13(DRN_JOYDT)
|
|||
|
andn a0,a1
|
|||
|
move a1,*a13(DRN_JOYUT)
|
|||
|
|
|||
|
#xx
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
SKLM .macro w,ad
|
|||
|
.word :w:,:w:+:ad:,:w:+:ad:*2,:w:+:ad:*3,:w:+:ad:*4
|
|||
|
.endm
|
|||
|
|
|||
|
#getup_t ;% to bump getup time
|
|||
|
SKLM 10,2
|
|||
|
SKLM 20,2
|
|||
|
SKLM 30,2
|
|||
|
SKLM 40,2
|
|||
|
SKLM 50,2
|
|||
|
SKLM 60,10
|
|||
|
#blkbase_t ;Base % to block
|
|||
|
SKLM 10,2
|
|||
|
SKLM 20,2
|
|||
|
SKLM 30,1
|
|||
|
SKLM 35,1
|
|||
|
SKLM 40,1
|
|||
|
SKLM 47,7
|
|||
|
#blkatk_t ;% to block per attack
|
|||
|
.word 0,10,20,30,40
|
|||
|
.word 50,50,50,50,50
|
|||
|
sklhhdly_t ;Max delay on hh
|
|||
|
SKLM 150,-6
|
|||
|
SKLM 120,-6
|
|||
|
SKLM 90,-6
|
|||
|
SKLM 60,-6
|
|||
|
SKLM 28,-3
|
|||
|
SKLM 13,-2
|
|||
|
sklhrdly_t ;Max delay on hh rev
|
|||
|
SKLM 150,-6
|
|||
|
SKLM 120,-6
|
|||
|
SKLM 90,-6
|
|||
|
SKLM 60,-6
|
|||
|
SKLM 28,-3
|
|||
|
SKLM 13,-2
|
|||
|
sklrep_t ;% to repeat
|
|||
|
SKLM 20,4
|
|||
|
SKLM 45,2
|
|||
|
SKLM 55,4
|
|||
|
SKLM 75,2
|
|||
|
SKLM 85,2
|
|||
|
SKLM 90,3
|
|||
|
|
|||
|
|
|||
|
;#getup_t ;% to bump getup time
|
|||
|
; SKLM 5,2
|
|||
|
; SKLM 15,1
|
|||
|
; SKLM 20,2
|
|||
|
; SKLM 30,2
|
|||
|
; SKLM 40,4
|
|||
|
; SKLM 60,10
|
|||
|
;#blkbase_t ;Base % to block
|
|||
|
; SKLM 5,1
|
|||
|
; SKLM 10,2
|
|||
|
; SKLM 20,2
|
|||
|
; SKLM 30,1
|
|||
|
; SKLM 35,2
|
|||
|
; SKLM 45,7
|
|||
|
;#blkatk_t ;% to block per attack
|
|||
|
; .word 0,10,20,30,40
|
|||
|
; .word 50,50,50,50,50
|
|||
|
;sklhhdly_t ;Max delay on hh
|
|||
|
; SKLM 200,-10
|
|||
|
; SKLM 150,-6
|
|||
|
; SKLM 120,-9
|
|||
|
; SKLM 70,-8
|
|||
|
; SKLM 35,-4
|
|||
|
; SKLM 15,-2
|
|||
|
;sklhrdly_t ;Max delay on hh rev
|
|||
|
; SKLM 200,-10
|
|||
|
; SKLM 150,-6
|
|||
|
; SKLM 120,-8
|
|||
|
; SKLM 70,-4
|
|||
|
; SKLM 50,-7
|
|||
|
; SKLM 15,-2
|
|||
|
;sklrep_t ;% to repeat
|
|||
|
; SKLM 6,3
|
|||
|
; SKLM 20,4
|
|||
|
; SKLM 40,2
|
|||
|
; SKLM 50,4
|
|||
|
; SKLM 70,4
|
|||
|
; SKLM 90,3
|
|||
|
;
|
|||
|
|
|||
|
#wnshort_t
|
|||
|
.long bret_s_t,raz_s_t,utak_s_t,yoko_s_t
|
|||
|
.long shawn_s_t,bam_s_t,doink_s_t,doink_s_t,lex_s_t
|
|||
|
#wnmed_t
|
|||
|
.long bret_m_t,raz_m_t,utak_m_t,yoko_m_t
|
|||
|
.long shawn_m_t,bam_m_t,doink_m_t,doink_m_t,lex_m_t
|
|||
|
#wnlong_t
|
|||
|
.long bret_l_t,raz_l_t,utak_l_t,yoko_l_t
|
|||
|
.long shawn_l_t,bam_l_t,doink_l_t,doink_l_t,lex_l_t
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Drone script commands
|
|||
|
|
|||
|
BBL .macro w,w2,l
|
|||
|
.byte :w:,:w2:
|
|||
|
.long :l:
|
|||
|
.endm
|
|||
|
|
|||
|
DS_CODE .macro
|
|||
|
.word 8000h+0
|
|||
|
.endm
|
|||
|
DS_CODEEND .macro
|
|||
|
exgpc a9
|
|||
|
.endm
|
|||
|
DS_SEEKTIL0 .macro
|
|||
|
.word 8000h+1
|
|||
|
.endm
|
|||
|
DS_RNDA .macro l
|
|||
|
.word 8000h+2
|
|||
|
.long :l:
|
|||
|
.endm
|
|||
|
DS_WTINT .macro
|
|||
|
.word 8000h+3
|
|||
|
.endm
|
|||
|
DS_ABIFBLK .macro
|
|||
|
.word 8000h+4
|
|||
|
.endm
|
|||
|
DS_CALL .macro a
|
|||
|
.word 8000h+5
|
|||
|
.long :a:
|
|||
|
.endm
|
|||
|
DS_RJMP .macro p,a
|
|||
|
.word 8000h+6,:p:
|
|||
|
.long :a:
|
|||
|
.endm
|
|||
|
DS_JMP .macro a
|
|||
|
.word 8000h+7
|
|||
|
.long :a:
|
|||
|
.endm
|
|||
|
DS_SLP1 .macro
|
|||
|
.word 0c000h+0
|
|||
|
.endm
|
|||
|
DS_END .macro
|
|||
|
.word 0,0
|
|||
|
.endm
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Bam bam scripts
|
|||
|
|
|||
|
bam_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,baM_hh
|
|||
|
BBL MODE_HEADHELD,-1,baM_hhr
|
|||
|
BBL MODE_OPPOVERHEAD,-1,baM_ooh
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,baM_n
|
|||
|
bam_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,baM_hh
|
|||
|
BBL MODE_HEADHELD,-1,baM_hhr
|
|||
|
BBL MODE_OPPOVERHEAD,-1,baM_ooh
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,baMm_n
|
|||
|
|
|||
|
baM_n ;Normal
|
|||
|
.word (baM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #spx
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #llsk ;Karate kick
|
|||
|
.long #spsk ;Pickup
|
|||
|
baM_n_
|
|||
|
baMm_n
|
|||
|
.word (baMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #llsk ;Karate kick
|
|||
|
.long #spsk ;Pickup
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
baMm_n_
|
|||
|
baM_hh ;Holding head
|
|||
|
; .word 1-1
|
|||
|
; .long #bahh
|
|||
|
.word -(7-1)
|
|||
|
.long #bahhpg ;Pogo
|
|||
|
.long #lrrsp ;Pile drvr
|
|||
|
.long #jk ;Pickup
|
|||
|
.long #bahhrsk ;Knees (3 way)
|
|||
|
.long #bahhrsk
|
|||
|
.long #bahhrsk
|
|||
|
.long #spsk2 ;Neck brkr
|
|||
|
|
|||
|
baM_hhr ;Head held reversals
|
|||
|
.word 4-1
|
|||
|
.long #k
|
|||
|
.long #bahhpg ;Pogo
|
|||
|
.long #lrrsp ;Pile drvr
|
|||
|
.long #spsk2 ;Neck brkr
|
|||
|
|
|||
|
baM_ooh ;Holding opp over head
|
|||
|
.word 2-1
|
|||
|
.long #k ;Slam
|
|||
|
.long #dsk ;Back brkr
|
|||
|
|
|||
|
#bahhrsk ;Knees
|
|||
|
.word R_M+SK_M,2
|
|||
|
.word 0,5
|
|||
|
;FIX! - chk timing
|
|||
|
.word SK_M,4, 0,4, SK_M,4, 0,4, SK_M,4, 0,4
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word SK_M,4, 0,4, SK_M,4, 0,4, SK_M,4, 0,4
|
|||
|
DS_RJMP 33,#k ;Hip toss
|
|||
|
DS_RJMP 33,#sp ;Pickup
|
|||
|
.word D_M+SP_M,0 ;Pile drvr
|
|||
|
#bahhpg
|
|||
|
.word U_M,2, D_M,2, 0,2, D_M,2, SK_M,50
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word SP_M,2, 0,2, SP_M,2, 0,2, SP_M,2, 0,15 ;Repeat
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word SP_M,2, 0,2, SP_M,2, 0,2, SP_M,2, 0,15
|
|||
|
.word SP_M,2, 0,2, SP_M,2, 0,2, SP_M,0
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Undertaker scripts
|
|||
|
|
|||
|
utak_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,utM_hh
|
|||
|
BBL MODE_HEADHELD,-1,M_hhr
|
|||
|
BBL MODE_CHOKEHOLD,-1,utM_chold
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,utM_n
|
|||
|
utak_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,utM_hh
|
|||
|
BBL MODE_HEADHELD,-1,M_hhr
|
|||
|
BBL MODE_CHOKEHOLD,-1,utM_chold
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,utMm_n
|
|||
|
|
|||
|
utM_n ;Normal
|
|||
|
; .word 1-1
|
|||
|
; .long #ut
|
|||
|
.word (utM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #spx
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #ucut
|
|||
|
.long #utshootps ;Fire push ghosts
|
|||
|
.long #utshootpl ;Fire pull ghosts
|
|||
|
.long #uttombhit ;Smash with tombstone
|
|||
|
.long #jp ;Slide choke
|
|||
|
utM_n_
|
|||
|
utMm_n
|
|||
|
; .word 1-1
|
|||
|
; .long #utshootpl
|
|||
|
.word (utMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #utshootps ;Fire push ghosts
|
|||
|
.long #utshootpl ;Fire pull ghosts
|
|||
|
.long #uttombhit ;Smash with tombstone
|
|||
|
.long #jp ;Slide choke
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
utMm_n_
|
|||
|
utM_hh ;Holding head
|
|||
|
.word -(6-1)
|
|||
|
.long #uddsk ;Pile drv
|
|||
|
.long #lrrsp ;Neck brkr
|
|||
|
.long #uthhrp
|
|||
|
.long #ucut
|
|||
|
.long #uttombhit ;Smash with tombstone
|
|||
|
.long #utdk ;Face slam
|
|||
|
|
|||
|
utM_chold ;Choke holding opp by neck
|
|||
|
.word 7-1
|
|||
|
.long #p
|
|||
|
.long #k
|
|||
|
.long #htoss
|
|||
|
.long #ucut
|
|||
|
.long #utchup
|
|||
|
.long #utdk ;Face slam
|
|||
|
.long #dsk ;Slam
|
|||
|
|
|||
|
#utshootps
|
|||
|
.word R_M,2, 0,2, R_M,2, K_M,2, 0,2
|
|||
|
DS_WTINT
|
|||
|
DS_ABIFBLK
|
|||
|
.word P_M+K_M,0
|
|||
|
#utshootpl
|
|||
|
.word L_M,2, 0,2, L_M,2, K_M,2, 0,2
|
|||
|
DS_WTINT
|
|||
|
DS_ABIFBLK
|
|||
|
.word D_M+SP_M,0
|
|||
|
#uttombhit
|
|||
|
.word R_M,2, 0,2, R_M,2, SK_M,5
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,4, 0,4 ;Repeat
|
|||
|
DS_ABIFBLK
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,4, 0,4
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,0
|
|||
|
|
|||
|
#uthhrp ;Knee & hdbuts
|
|||
|
.word R_M+P_M,2
|
|||
|
.word 0,5
|
|||
|
;FIX! - chk timing
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
DS_RJMP 50,#sp ;Fly kick
|
|||
|
.word K_M,0 ;Neck brkr
|
|||
|
|
|||
|
#utchup ;Knee & hdbuts
|
|||
|
.word U_M+P_M,2
|
|||
|
.word 0,5
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
DS_RJMP 50,#sp ;Fly kick
|
|||
|
.word K_M,0 ;Neck brkr
|
|||
|
|
|||
|
#utdk ;Face slam
|
|||
|
.word D_M,2, 0,2, D_M+K_M,2
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word 0,5
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4 ;Repeat
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,0
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Doink scripts
|
|||
|
|
|||
|
doink_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,doM_hh
|
|||
|
BBL MODE_HEADHELD,-1,doM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,doM_n
|
|||
|
doink_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,doM_hh
|
|||
|
BBL MODE_HEADHELD,-1,doM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,doMm_n
|
|||
|
|
|||
|
doM_n ;Normal
|
|||
|
; .word 1-1
|
|||
|
; .long #eslap
|
|||
|
.word (doM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #spx
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #ucut
|
|||
|
.long #doham ;Hammer
|
|||
|
.long #doeslap ;Ear slap
|
|||
|
.long #dopbig ;Boxing punch
|
|||
|
doM_n_
|
|||
|
doMm_n
|
|||
|
; .word 1-1
|
|||
|
; .long #doeslap
|
|||
|
.word (doMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #doham ;Hammer
|
|||
|
.long #doeslap ;Ear slap
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
doMm_n_
|
|||
|
doM_hh ;Holding head
|
|||
|
.word -(8-1)
|
|||
|
.long #uddskk ;Face slam
|
|||
|
.long #lrrsp ;Pile drv
|
|||
|
.long #doham
|
|||
|
.long #j2p ;Buzz
|
|||
|
.long #hhp3k ;P & fly kick
|
|||
|
.long #hhp4
|
|||
|
.long #hhp3pd ;P & pdrv
|
|||
|
.long #hhsk3pd ;K & pdrv
|
|||
|
|
|||
|
doM_hhr ;Head held reversals
|
|||
|
.word 3-1
|
|||
|
.long #k
|
|||
|
.long #uddskk ;Face slam
|
|||
|
.long #lrrsp ;Pile drv
|
|||
|
|
|||
|
#doham .word R_M,2, 0,2, R_M,2, SK_M,10
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,4, 0,4 ;Repeat
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,4, 0,4
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,0
|
|||
|
|
|||
|
#doeslap
|
|||
|
.word D_M,2, D_M+R_M,2, R_M,2, P_M,2
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word 0,5, P_M,5, 0,5, P_M,5 ;Repeat
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word 0,5, P_M,5, 0,5, P_M,5
|
|||
|
.word 0,5, P_M,5, 0,5, P_M,0
|
|||
|
|
|||
|
#dopbig .word P_M,2, 0,2, P_M,2, 0,2, P_M,2, 0,2, P_M,2, 0,2
|
|||
|
.word P_M,2, 0,2, P_M,2, 0,2, P_M,0
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Yoko scripts
|
|||
|
|
|||
|
yoko_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,yoM_hh
|
|||
|
BBL MODE_HEADHELD,-1,M_hhr
|
|||
|
BBL MODE_OPPOVERHEAD,-1,yoM_ooh
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,yoM_n
|
|||
|
yoko_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,yoM_hh
|
|||
|
BBL MODE_HEADHELD,-1,M_hhr
|
|||
|
BBL MODE_OPPOVERHEAD,-1,yoM_ooh
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,yoMm_n
|
|||
|
|
|||
|
yoM_n ;Normal
|
|||
|
; .word 1-1
|
|||
|
; .long #eslap
|
|||
|
.word (yoM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #spx
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #jp ;Speed jab
|
|||
|
.long #rrsk ;Scissor squish
|
|||
|
.long #rrp ;Gut push
|
|||
|
.long #spsk ;Pickup
|
|||
|
yoM_n_
|
|||
|
yoMm_n
|
|||
|
; .word 1-1
|
|||
|
; .long #doeslap
|
|||
|
.word (yoMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #jp ;Speed jab
|
|||
|
.long #rrsk ;Scissor squish
|
|||
|
.long #spsk ;Pickup
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
yoMm_n_
|
|||
|
yoM_hh ;Holding head
|
|||
|
.word -(4-1)
|
|||
|
.long #uddsk ;Vert suplex
|
|||
|
.long #lrrsp ;Scissor squish
|
|||
|
.long #j2p ;Salt
|
|||
|
.long #ucut
|
|||
|
|
|||
|
yoM_ooh ;Holding opp over head
|
|||
|
.word 2-1
|
|||
|
.long #k ;Slam
|
|||
|
.long #dsk ;Spinning slam
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Shawn scripts
|
|||
|
|
|||
|
shawn_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,shM_hh
|
|||
|
BBL MODE_HEADHELD,-1,shM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,shM_n
|
|||
|
shawn_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,shM_hh
|
|||
|
BBL MODE_HEADHELD,-1,shM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,shMm_n
|
|||
|
|
|||
|
shM_n ;Normal
|
|||
|
; .word 1-1
|
|||
|
; .long #eslap
|
|||
|
.word (shM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #spx
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #llsk ;Karate kick
|
|||
|
.long #jkk ;Speed kick
|
|||
|
.long #rrsk ;Frankensteiner
|
|||
|
.long #rrk ;Sliding kick toss
|
|||
|
.long #jisp ;Flipslam
|
|||
|
shM_n_
|
|||
|
shMm_n
|
|||
|
; .word 1-1
|
|||
|
; .long #doeslap
|
|||
|
.word (shMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #llsk ;Karate kick
|
|||
|
.long #jkk ;Speed kick
|
|||
|
.long #rrsk ;Frankensteiner
|
|||
|
.long #rrk ;Sliding kick toss
|
|||
|
.long #jisp ;Flipslam
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
shMm_n_
|
|||
|
shM_hh ;Holding head
|
|||
|
.word -(8-1)
|
|||
|
.long #uddsk ;German suplex
|
|||
|
.long #lrrsp ;Frankensteiner
|
|||
|
.long #rsk4k ;Quick knees
|
|||
|
.long #jkk ;Speed kick
|
|||
|
.long #rp ;Arm break
|
|||
|
.long #rsp4 ;Jmp head butt
|
|||
|
.long #rk4 ;Speed kick
|
|||
|
.long #lrrk ;Kick toss
|
|||
|
|
|||
|
shM_hhr ;Head held reversals
|
|||
|
.word 5-1
|
|||
|
.long #k
|
|||
|
.long #uddsk ;German suplex
|
|||
|
.long #lrrsp ;Frankensteiner
|
|||
|
.long #lrrk ;Kick toss
|
|||
|
.long #jkk ;Speed kick
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Bret scripts
|
|||
|
|
|||
|
bret_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,brM_hh
|
|||
|
BBL MODE_HEADHELD,-1,brM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,brM_n
|
|||
|
bret_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,brM_hh
|
|||
|
BBL MODE_HEADHELD,-1,brM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,brMm_n
|
|||
|
|
|||
|
brM_n ;Normal
|
|||
|
; .word 1-1
|
|||
|
; .long #eslap
|
|||
|
.word (brM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #spx
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #ucut
|
|||
|
.long #ddp ;Leap ucut
|
|||
|
.long #jp ;Face rake
|
|||
|
.long #j2sp ;Rolling ucut
|
|||
|
.long #llsk ;Fast kick
|
|||
|
brM_n_
|
|||
|
brMm_n
|
|||
|
; .word 1-1
|
|||
|
; .long #doeslap
|
|||
|
.word (brMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #ddp ;Leap ucut
|
|||
|
.long #jp ;Face rake
|
|||
|
.long #j2sp ;Rolling ucut
|
|||
|
.long #llsk ;Fast kick
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
brMm_n_
|
|||
|
brM_hh ;Holding head
|
|||
|
.word -(7-1)
|
|||
|
.long #uddsk ;Neck DDT
|
|||
|
.long #lrrsp ;Pile drvr
|
|||
|
.long #ucut
|
|||
|
.long #jpx ;Face drvr
|
|||
|
;FIX! - broke
|
|||
|
.long #rp ;Arm break
|
|||
|
.long #rsp ;Head to knee
|
|||
|
;FIX! - broke
|
|||
|
.long #lrrp ;Knee to face
|
|||
|
|
|||
|
brM_hhr ;Head held reversals
|
|||
|
.word 4-1
|
|||
|
.long #k
|
|||
|
.long #uddsk ;Neck DDT
|
|||
|
.long #lrrsp ;Pile drvr
|
|||
|
.long #lrrp ;Kick toss
|
|||
|
; .long #jk ;
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Razor scripts
|
|||
|
|
|||
|
raz_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,rzM_hh
|
|||
|
BBL MODE_HEADHELD,-1,rzM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,rzM_n
|
|||
|
raz_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,rzM_hh
|
|||
|
BBL MODE_HEADHELD,-1,rzM_hhr
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,rzMm_n
|
|||
|
|
|||
|
rzM_n ;Normal
|
|||
|
; .word 1-1
|
|||
|
; .long #eslap
|
|||
|
.word (rzM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #spx
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #ucut
|
|||
|
.long #jp ;Down slash
|
|||
|
.long #rrk ;Rug slam
|
|||
|
rzM_n_
|
|||
|
rzMm_n
|
|||
|
; .word 1-1
|
|||
|
; .long #doeslap
|
|||
|
.word (rzMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #jp ;Down slash
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
rzMm_n_
|
|||
|
rzM_hh ;Holding head
|
|||
|
.word -(6-1)
|
|||
|
.long #uddsk ;P drvr
|
|||
|
.long #lrrsp ;Razors edge
|
|||
|
.long #rzup4 ;Slashes up
|
|||
|
.long #rzdp4 ;Slashes dn
|
|||
|
.long #ucut
|
|||
|
.long #rzuddksp ;Rug shake
|
|||
|
|
|||
|
rzM_hhr ;Head held reversals
|
|||
|
.word 4-1
|
|||
|
.long #k
|
|||
|
.long #uddsk ;P drvr
|
|||
|
.long #lrrsp ;Razors edge
|
|||
|
.long #rzuddksp ;Rug shake
|
|||
|
|
|||
|
#rzup4 .word U_M+P_M,5, 0,5, P_M,5, 0,5, P_M,5, 0,5, P_M,0
|
|||
|
#rzdp4 .word D_M+P_M,5, 0,5, P_M,5, 0,5, P_M,5, 0,5, P_M,0
|
|||
|
|
|||
|
#rzuddksp
|
|||
|
.word U_M,2, D_M,2, 0,2, D_M,2, K_M,2
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word 0,20
|
|||
|
.word SP_M,6, 0,6, SP_M,6, 0,6, SP_M,6, 0,6 ;Repeat
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word SP_M,6, 0,6, SP_M,6, 0,6, SP_M,0
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Lex scripts
|
|||
|
|
|||
|
lex_s_t
|
|||
|
BBL MODE_HEADHOLD,-1,lxM_hh
|
|||
|
BBL MODE_HEADHELD,-1,lxM_hhr
|
|||
|
BBL MODE_OPPOVERHEAD,-1,lxM_ooh
|
|||
|
BBL -1,MODE_ONGROUND,M_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,lxM_n
|
|||
|
lex_m_t
|
|||
|
BBL MODE_HEADHOLD,-1,lxM_hh
|
|||
|
BBL MODE_HEADHELD,-1,lxM_hhr
|
|||
|
BBL MODE_OPPOVERHEAD,-1,lxM_ooh
|
|||
|
BBL -1,MODE_ONGROUND,Mm_og
|
|||
|
BBL -1,MODE_ONTURNBKL,M_opptbkl
|
|||
|
BBL -1,MODE_CLIMBTURNBKL,M_opptbkl
|
|||
|
WL -1,lxMm_n
|
|||
|
|
|||
|
lxM_n ;Normal
|
|||
|
; .word 1-1
|
|||
|
; .long #eslap
|
|||
|
.word (lxM_n_-$)/32-1
|
|||
|
.long #run
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #spx
|
|||
|
.long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #htoss,#htoss
|
|||
|
.long #rrp ;Elbow to gut
|
|||
|
.long #spsk ;Pickup
|
|||
|
lxM_n_
|
|||
|
lxMm_n
|
|||
|
; .word 1-1
|
|||
|
; .long #doeslap
|
|||
|
.word (lxMm_n_-$)/32-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_retreat
|
|||
|
.long #run
|
|||
|
.long #sp
|
|||
|
.long #sk
|
|||
|
; .long #hgrab,#hgrab,#hgrab
|
|||
|
.long #flng
|
|||
|
.long #rrp ;Elbow to gut
|
|||
|
.long #spsk ;Pickup
|
|||
|
.long #fast ;Hyper
|
|||
|
.long #chrg
|
|||
|
lxMm_n_
|
|||
|
lxM_hh ;Holding head
|
|||
|
.word -(4-1)
|
|||
|
.long #uddsk ;Neck DDT
|
|||
|
.long #lrrsp ;Vert suplex
|
|||
|
.long #rsk4k ;Quick knees & v suplex
|
|||
|
.long #jk ;Pickup
|
|||
|
|
|||
|
lxM_hhr ;Head held reversals
|
|||
|
.word 4-1
|
|||
|
.long #k
|
|||
|
.long #uddsk ;Neck DDT
|
|||
|
.long #lrrsp ;V suplex
|
|||
|
.long #jk ;Pickup
|
|||
|
|
|||
|
lxM_ooh ;Holding opp over head
|
|||
|
.word 3-1
|
|||
|
.long #p ;Slam
|
|||
|
.long #usp ;Head slam
|
|||
|
.long #usk ;Back brkr
|
|||
|
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Generic scripts
|
|||
|
|
|||
|
M_og ;Opp on gnd
|
|||
|
.word 6-1
|
|||
|
; .long drn_retreat
|
|||
|
.long #p,#sp,#k,#sk
|
|||
|
.long #oghg,#oghg
|
|||
|
Mm_og
|
|||
|
.word 3-1
|
|||
|
.long drn_seek
|
|||
|
;FIX! - Rzr rug shake
|
|||
|
.long #seeksp
|
|||
|
.long #seeksk
|
|||
|
|
|||
|
M_opptbkl ;Opp on turnbkl
|
|||
|
.word 1-1
|
|||
|
.long #run
|
|||
|
|
|||
|
M_hhr ;Head held reversals
|
|||
|
.word 3-1
|
|||
|
.long #k
|
|||
|
.long #uddsk
|
|||
|
.long #lrrsp
|
|||
|
|
|||
|
M_shrtblkr
|
|||
|
.word 2-1
|
|||
|
.long #hgrab
|
|||
|
.long #htoss
|
|||
|
M_shrtblkrdl
|
|||
|
.word 2-1
|
|||
|
.long #hgrab
|
|||
|
.long #spx
|
|||
|
; .long drn_climbtb
|
|||
|
|
|||
|
#spx .word SP_M,2, 0,2, SP_M,2, 0,2, SP_M,2
|
|||
|
.word SP_M,2, 0,2, SP_M,2, 0,2, SP_M,0
|
|||
|
|
|||
|
#p .word P_M,0
|
|||
|
#sp .word SP_M,0
|
|||
|
#k .word K_M,0
|
|||
|
#sk .word SK_M,0
|
|||
|
#spsk .word SP_M+SK_M,0
|
|||
|
#rp .word R_M+P_M,0
|
|||
|
#rsp .word R_M+SP_M,0
|
|||
|
#rsp4 .word R_M+SP_M,4, 0,4, SP_M,4, 0,4, SP_M,4, 0,4, SP_M,0
|
|||
|
#rk4 .word R_M+K_M,4, 0,4, K_M,4, 0,4, K_M,4, 0,4, K_M,0
|
|||
|
#rsk .word R_M+SK_M,0
|
|||
|
#rsk4k .word R_M+SK_M,4, 0,4, SK_M,4, 0,4, SK_M,4, 0,4, SK_M,4, K_M,0
|
|||
|
#rrp .word R_M,2, 0,2, R_M,2, P_M,0
|
|||
|
#rrk .word R_M,2, 0,2, R_M,2, K_M,0
|
|||
|
#rrsk .word R_M,2, 0,2, R_M,2, SK_M,0
|
|||
|
#llsk .word L_M,2, 0,2, L_M,2, SK_M,0
|
|||
|
#dp .word D_M+P_M,0
|
|||
|
#dk .word D_M+K_M,0
|
|||
|
#dsk .word D_M+SK_M,0
|
|||
|
#ddp .word D_M,2, 0,2, D_M,2, P_M,0
|
|||
|
#usp .word U_M+SP_M,0
|
|||
|
#usk .word U_M+SK_M,0
|
|||
|
|
|||
|
#run
|
|||
|
DS_CALL drone_chkrun
|
|||
|
.word P_M+K_M,0 ;Skipped if bad
|
|||
|
DS_END
|
|||
|
hgrab
|
|||
|
#hgrab .word R_M,2, 0,2, R_M,2, SP_M,0
|
|||
|
#flng .word L_M,2, 0,2, L_M+SP_M,0 ;Grab fling
|
|||
|
slhtoss .word L_M,2, 0,2, L_M,2, P_M,0 ;Hip toss
|
|||
|
#htoss .word L_M,2, 0,2, L_M+P_M,0 ;Hip toss
|
|||
|
#ucut .word D_M+SP_M,0 ;Uppercut
|
|||
|
|
|||
|
#seeksp
|
|||
|
DS_SEEKTIL0
|
|||
|
.word SP_M,0
|
|||
|
#seeksk
|
|||
|
DS_SEEKTIL0
|
|||
|
.word SK_M,0
|
|||
|
#chrg
|
|||
|
DS_CALL drone_chrg
|
|||
|
DS_END
|
|||
|
|
|||
|
#oghg ;Opp on gnd head grab
|
|||
|
.word D_M,2, SP_M,0
|
|||
|
|
|||
|
#fast ;Works once
|
|||
|
.word L_M,2, L_M+D_M,2, D_M,2, D_M+R_M,2
|
|||
|
.word R_M,2, R_M+U_M,2, U_M,2, U_M+L_M,0
|
|||
|
|
|||
|
;#lrrspp ;Pile drvr/Neck brkr
|
|||
|
; .word L_M,2, R_M,2, 0,2, R_M,2, SP_M,2
|
|||
|
; DS_RNDA sklrep_t
|
|||
|
; .word 0,5
|
|||
|
; .word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4 ;Repeat
|
|||
|
; DS_RNDA sklrep_t
|
|||
|
; .word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
; .word P_M,4, 0,4, P_M,4, 0,4, P_M,0
|
|||
|
|
|||
|
#hhp3k ;Punch*3, kick
|
|||
|
.asg 6,T
|
|||
|
.word R_M+P_M,T, R_M,T, R_M+P_M,T, R_M,T
|
|||
|
.word R_M+P_M,T, R_M,T, R_M+P_M,T, R_M,T
|
|||
|
.word R_M+K_M,2
|
|||
|
.word 0,10
|
|||
|
DS_END
|
|||
|
|
|||
|
#hhp4 ;Punch*4
|
|||
|
.asg 6,T
|
|||
|
.word R_M+P_M,T, R_M,T, R_M+P_M,T, R_M,T
|
|||
|
.word R_M+P_M,T, R_M,T, R_M+P_M,T, R_M,T
|
|||
|
.word R_M+P_M,T, R_M,T, R_M+P_M,2
|
|||
|
.word 0,10
|
|||
|
DS_END
|
|||
|
|
|||
|
#hhp3pd ;Punch*3, piledriver
|
|||
|
.asg 6,T
|
|||
|
.word R_M+P_M,T, R_M,T, R_M+P_M,T, R_M,T
|
|||
|
.word R_M+P_M,T, R_M,T, R_M+P_M,T, R_M,T+5
|
|||
|
.word D_M+SP_M,2
|
|||
|
.word 0,10
|
|||
|
DS_END
|
|||
|
|
|||
|
#hhsk3pd ;Knee*3, piledriver
|
|||
|
.asg 6,T
|
|||
|
.word R_M+SK_M,T, R_M,T, R_M+SK_M,T, R_M,T
|
|||
|
.word R_M+SK_M,T, R_M,T, R_M+SK_M,T, R_M,T
|
|||
|
.word SP_M,2
|
|||
|
.word 0,10
|
|||
|
DS_END
|
|||
|
|
|||
|
#j2p .word L_M+D_M,2
|
|||
|
#jp .word D_M,2, D_M+R_M,2, R_M,2, P_M,0
|
|||
|
#j2sp .word L_M+D_M,2
|
|||
|
#jsp .word D_M,2, D_M+R_M,2, R_M,2, SP_M,0
|
|||
|
#jk .word D_M,2, D_M+R_M,2, R_M,2, K_M,0
|
|||
|
#jkk .word D_M,2, D_M+R_M,2, R_M,2, K_M,4
|
|||
|
.word 0,4, K_M,4, 0,4, K_M,4
|
|||
|
.word 0,4, K_M,4, 0,4, K_M,0
|
|||
|
#jisp .word U_M,2, U_M+R_M,2, R_M,2, SP_M,0
|
|||
|
|
|||
|
#jpx .word D_M,2, D_M+R_M,2, R_M,2, P_M,0
|
|||
|
DS_RNDA sklrep_t
|
|||
|
;FIX - chk
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,0
|
|||
|
|
|||
|
;Reversals
|
|||
|
|
|||
|
#uddsk
|
|||
|
.word U_M,2, D_M,2, 0,2, D_M,2, SK_M,0
|
|||
|
|
|||
|
#uddskk ;Face slam/Pile drv
|
|||
|
.word U_M,2, D_M,2, 0,2, D_M,2, SK_M,2
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word 0,8
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,4, 0,4 ;Repeat
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,4, 0,4
|
|||
|
.word K_M,4, 0,4, K_M,4, 0,4, K_M,0
|
|||
|
|
|||
|
#uddsksp ;Repeat SP
|
|||
|
.word U_M,2, D_M,2, 0,2, D_M,2, SK_M,2
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word SP_M,4, 0,4, SP_M,4, 0,4, SP_M,0
|
|||
|
#lrrp
|
|||
|
.word L_M,2, R_M,2, 0,2, R_M,2, P_M,0
|
|||
|
#lrrsp
|
|||
|
.word L_M,2, R_M,2, 0,2, R_M,2, SP_M,0
|
|||
|
#lrrk
|
|||
|
.word L_M,2, R_M,2, 0,2, R_M,2, K_M,0
|
|||
|
#spsk2
|
|||
|
.word SP_M,2, SK_M,2, SP_M,2, SK_M,0
|
|||
|
|
|||
|
|
|||
|
********************************
|
|||
|
|
|||
|
bret_l_t
|
|||
|
raz_l_t
|
|||
|
utak_l_t
|
|||
|
yoko_l_t
|
|||
|
shawn_l_t
|
|||
|
bam_l_t
|
|||
|
doink_l_t
|
|||
|
lex_l_t
|
|||
|
BBL -1,MODE_ONGROUND,#mdog
|
|||
|
WL -1,#mdn
|
|||
|
#mdn
|
|||
|
; .word 1-1
|
|||
|
; .long drn_climbtb
|
|||
|
.word 4-1
|
|||
|
.long drn_seek
|
|||
|
.long #run
|
|||
|
.long drn_climbtb
|
|||
|
.long drn_taunt
|
|||
|
#mdog
|
|||
|
.word 3-1
|
|||
|
.long drn_seek
|
|||
|
.long drn_seek
|
|||
|
.long #run
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
|
|||
|
SUBRP drone_chrg
|
|||
|
|
|||
|
move *a13(DRN_BUTCHRG),a14
|
|||
|
jrnz #x ;Already charging?
|
|||
|
|
|||
|
movk 20h,a0
|
|||
|
callr rnd
|
|||
|
|
|||
|
move *a13(WRESTLERNUM),a1
|
|||
|
X64 a1
|
|||
|
addi #wres_t,a1
|
|||
|
add a0,a1
|
|||
|
move *a1,a1,L ;Get * script
|
|||
|
|
|||
|
move *a1+,a0
|
|||
|
move a0,*a13(DRN_BUTCHRG)
|
|||
|
;FIX!-all same
|
|||
|
move *a1+,a0
|
|||
|
move a0,*a13(DRN_BUTCHRGDLY)
|
|||
|
move a1,*a13(DRN_BUTCHRG_p),L
|
|||
|
|
|||
|
#x
|
|||
|
rets
|
|||
|
|
|||
|
#wres_t
|
|||
|
.long #brt,#brt
|
|||
|
.long #raz,#raz2
|
|||
|
.long #ut,#ut2
|
|||
|
.long #yok,#yok
|
|||
|
.long #shn,#shn2
|
|||
|
.long #bam,#bam2
|
|||
|
.long #dnk,#dnk2
|
|||
|
.long 0,0
|
|||
|
.long #lex,#lex2
|
|||
|
|
|||
|
#raz
|
|||
|
.word SP_M,TSEC*2 ;Slashes
|
|||
|
DS_JMP #run
|
|||
|
#ut
|
|||
|
.word P_M,TSEC*2 ;Neck breaker
|
|||
|
DS_JMP #run
|
|||
|
#yok
|
|||
|
.word P_M,TSEC*2 ;Salt throw
|
|||
|
DS_CODE
|
|||
|
movk 1,a0
|
|||
|
move a0,*a13(DRN_MODE) ;Aggressive
|
|||
|
DS_CODEEND
|
|||
|
DS_JMP #run
|
|||
|
#shn
|
|||
|
.word P_M,TSEC*2 ;Suplex
|
|||
|
DS_JMP #run
|
|||
|
#bam
|
|||
|
.word P_M,TSEC*2 ;Fire punch
|
|||
|
DS_CODE
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_BUTCHRG) ;Fire it
|
|||
|
DS_CODEEND
|
|||
|
.word 0,4
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4 ;Repeat
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
DS_RNDA sklrep_t
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,4, 0,4
|
|||
|
.word P_M,4, 0,4, P_M,4, 0,4, P_M,0
|
|||
|
#bam2
|
|||
|
.word SP_M,TSEC*2 ;Neck brkr
|
|||
|
DS_JMP #run
|
|||
|
#dnk
|
|||
|
.word P_M,TSEC*2 ;Buzzer
|
|||
|
DS_JMP #run
|
|||
|
#dnk2
|
|||
|
.word P_M,TSEC*2 ;Buzzer (leap)
|
|||
|
.word R_M,2
|
|||
|
DS_CODE
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_BUTCHRG) ;Fire it
|
|||
|
DS_CODEEND
|
|||
|
.word R_M,2 ;Need?
|
|||
|
DS_END
|
|||
|
#lex
|
|||
|
.word P_M,TSEC*2 ;Smash
|
|||
|
DS_JMP #run
|
|||
|
#lex2
|
|||
|
#brt
|
|||
|
#raz2
|
|||
|
#ut2
|
|||
|
#shn2
|
|||
|
.word SK_M,TSEC*2 ;Flying kick
|
|||
|
; DS_JMP #run
|
|||
|
|
|||
|
#run
|
|||
|
DS_CALL drone_chkrun
|
|||
|
.word P_M+K_M,0 ;Run & end
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move *a13(OBJ_XPOSINT),a0
|
|||
|
move *a8(OBJ_XPOSINT),a14
|
|||
|
sub a14,a0
|
|||
|
abs a0
|
|||
|
cmpi 150,a0
|
|||
|
jrge #rx ;X too far?
|
|||
|
|
|||
|
move *a13(OBJ_ZPOSINT),a1
|
|||
|
move *a8(OBJ_ZPOSINT),a14
|
|||
|
sub a14,a1
|
|||
|
abs a1
|
|||
|
cmpi 40,a1
|
|||
|
jrge #rx ;Z too far?
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_BUTCHRG) ;Fire it
|
|||
|
#rx
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
|
|||
|
SUBRP drn_combo
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move *a13(WRESTLERNUM),a0
|
|||
|
X32 a0
|
|||
|
addi #wres_t,a0
|
|||
|
move a9,a1
|
|||
|
move *a0,a9,L ;Get * script
|
|||
|
jump a1 ;Ret
|
|||
|
|
|||
|
#wres_t
|
|||
|
.long #brt,#raz,#ut,#yok
|
|||
|
.long #shn,#bam,#dnk,#dnk,#lex
|
|||
|
#brt
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#brt2
|
|||
|
.word P_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#brt2
|
|||
|
.word SK_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
#raz
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#raz2
|
|||
|
.word SP_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#raz2
|
|||
|
.word K_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
#ut
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#ut2
|
|||
|
.word SK_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#ut2
|
|||
|
.word K_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
#yok
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#yok2
|
|||
|
.word SP_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#yok2
|
|||
|
.word P_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
#shn
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#shn2
|
|||
|
.word P_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#shn2
|
|||
|
.word K_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
#bam
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#bam2
|
|||
|
.word SP_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#bam2
|
|||
|
.word P_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
#dnk
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#dnk2
|
|||
|
.word SP_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#dnk2
|
|||
|
.word SK_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
#lex
|
|||
|
.word R_M,2, 0,2, R_M,2, 0,2
|
|||
|
DS_RJMP 50,#lex2
|
|||
|
.word SK_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
#lex2
|
|||
|
.word K_M,2
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
.asg 6,T
|
|||
|
#cstrt
|
|||
|
.word 0,2
|
|||
|
DS_RJMP 25,#csk
|
|||
|
DS_RJMP 25,#cp
|
|||
|
DS_RJMP 25,#ck
|
|||
|
#csp
|
|||
|
.word SP_M,T, 0,T, SP_M,T, 0,T
|
|||
|
.word SP_M,T, 0,T, SP_M,T, 0,T
|
|||
|
DS_RNDA sklrep_t
|
|||
|
DS_JMP #cstrt
|
|||
|
#csk
|
|||
|
.word SK_M,T, 0,T, SK_M,T, 0,T
|
|||
|
.word SK_M,T, 0,T, SK_M,T, 0,T
|
|||
|
DS_RNDA sklrep_t
|
|||
|
DS_JMP #cstrt
|
|||
|
#cp
|
|||
|
.word P_M,T, 0,T, P_M,T, 0,T
|
|||
|
.word P_M,T, 0,T, P_M,T, 0,T
|
|||
|
DS_RNDA sklrep_t
|
|||
|
DS_JMP #cstrt
|
|||
|
#ck
|
|||
|
.word K_M,T, 0,T, K_M,T, 0,T
|
|||
|
.word K_M,T, 0,T, K_M,T, 0,T
|
|||
|
DS_RNDA sklrep_t
|
|||
|
DS_JMP #cstrt
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
|
|||
|
#lp
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
|
|||
|
SUBRP drn_seek
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move b6,a0
|
|||
|
jrz #skok
|
|||
|
subk MODE_BLOCK,a0
|
|||
|
jrne #x
|
|||
|
#skok
|
|||
|
movi 3fh,a0
|
|||
|
callr rnd
|
|||
|
jrz #x
|
|||
|
callr drone_seek
|
|||
|
jrnz #lp
|
|||
|
#x
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Get real close
|
|||
|
|
|||
|
#lp
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
|
|||
|
SUBRP drn_seekclose
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move b6,a0
|
|||
|
jrz #skok
|
|||
|
subk MODE_BLOCK,a0
|
|||
|
jrne #x
|
|||
|
#skok
|
|||
|
movi 3fh,a0
|
|||
|
callr rnd
|
|||
|
jrz #x
|
|||
|
|
|||
|
move *a13(OBJ_XPOSINT),a14
|
|||
|
movk 32,a2
|
|||
|
move *a8(OBJ_XPOSINT),a0
|
|||
|
cmp a0,a14
|
|||
|
jrge #torgt
|
|||
|
neg a2
|
|||
|
#torgt
|
|||
|
add a2,a0
|
|||
|
|
|||
|
move *a8(OBJ_ZPOSINT),a1
|
|||
|
movk 23,a2
|
|||
|
callr drone_seekxz
|
|||
|
jrnz #lp
|
|||
|
#x
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
|
|||
|
SUBRP drn_retreat
|
|||
|
|
|||
|
DS_CODE
|
|||
|
movk 4,a0 ;Far
|
|||
|
move a0,*a13(DRN_SEEKDIST)
|
|||
|
#lp
|
|||
|
callr drone_seekdirdist
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
DS_CODE
|
|||
|
movk 1fh,a0
|
|||
|
callr rnd
|
|||
|
jrnz #lp
|
|||
|
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Check if running would be OK
|
|||
|
* A9+32 if bad
|
|||
|
|
|||
|
SUBRP drone_chkrun
|
|||
|
|
|||
|
move *a13(OBJ_XPOSINT),a0
|
|||
|
move *a13(OBJ_ZPOSINT),a1
|
|||
|
|
|||
|
move *a13(FACING_DIR),a2
|
|||
|
|
|||
|
move *a13(INRING),a14
|
|||
|
jrnz #out ;Out of ring?
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
cmpi MODE_ONGROUND,b7
|
|||
|
jreq #x
|
|||
|
; subk MODE_INAIR2,a14
|
|||
|
; jreq #x ;Jumping on me?
|
|||
|
|
|||
|
move *a13(CLOSEST_ZDIST),a1
|
|||
|
cmpi 70,a1
|
|||
|
jrge #x ;Z far enough?
|
|||
|
|
|||
|
subk 30,a1
|
|||
|
jrle #x ;Z close enough?
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a0
|
|||
|
cmpi 150,a0
|
|||
|
jrge #x ;X far enough?
|
|||
|
|
|||
|
; btst PLAYER_RIGHT_BIT,a2
|
|||
|
; jrz #l ;Facing left?
|
|||
|
|
|||
|
jruc #bad
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#out
|
|||
|
btst PLAYER_RIGHT_BIT,a2
|
|||
|
jrz #ol ;Facing left?
|
|||
|
|
|||
|
cmpi RING_X_CENTER+500,a0
|
|||
|
jrge #bad ;Hit rgt crowd?
|
|||
|
|
|||
|
cmpi RING_TOP-10,a1
|
|||
|
jrlt #rrok
|
|||
|
cmpi RING_BOT+10,a1
|
|||
|
jrgt #rrok
|
|||
|
cmpi RING_X_CENTER,a0
|
|||
|
jrge #rrok
|
|||
|
cmpi RING_X_CENTER-300,a0
|
|||
|
jrge #bad ;Hit rgt ring?
|
|||
|
#rrok
|
|||
|
jruc #x
|
|||
|
#ol
|
|||
|
cmpi RING_X_CENTER-500,a0
|
|||
|
jrle #bad ;Hit lft crowd?
|
|||
|
|
|||
|
cmpi RING_TOP-10,a1
|
|||
|
jrlt #lrok
|
|||
|
cmpi RING_BOT+10,a1
|
|||
|
jrgt #lrok
|
|||
|
cmpi RING_X_CENTER,a0
|
|||
|
jrle #lrok
|
|||
|
cmpi RING_X_CENTER+300,a0
|
|||
|
jrle #bad ;Hit lft ring?
|
|||
|
#lrok
|
|||
|
;FIX!
|
|||
|
jruc #x
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#bad
|
|||
|
addk 32,a9 ;Skip script run buttons
|
|||
|
|
|||
|
#x
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Control runner
|
|||
|
|
|||
|
#rsk
|
|||
|
movk 10,a2
|
|||
|
callr drone_seek2
|
|||
|
andni MOVE_LEFT+MOVE_RIGHT,a0 ;0 lft & rgt
|
|||
|
move a0,*a13(DRN_JOY)
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
|
|||
|
SUBRP drn_run
|
|||
|
|
|||
|
DS_CODE
|
|||
|
move b6,a0
|
|||
|
subk MODE_RUNNING,a0
|
|||
|
jreq #mdok
|
|||
|
subk MODE_BOUNCING-MODE_RUNNING,a0
|
|||
|
jrne #abrt
|
|||
|
#mdok
|
|||
|
movi 01ffh,a0 ;9.6 sec
|
|||
|
callr rnd
|
|||
|
jrz #brkrun ;Breakout?
|
|||
|
|
|||
|
move *a13(OBJ_XVEL+16),a4
|
|||
|
sll 3,a4 ;*8
|
|||
|
move *a8(OBJ_XVEL+16),a1
|
|||
|
sll 5,a1 ;*32
|
|||
|
|
|||
|
move *a8(OBJ_XPOSINT),a0
|
|||
|
add a1,a0
|
|||
|
move *a13(OBJ_XPOSINT),a1
|
|||
|
add a4,a1
|
|||
|
move a1,a3
|
|||
|
sub a1,a0
|
|||
|
move a4,a1
|
|||
|
xor a0,a1
|
|||
|
abs a0
|
|||
|
|
|||
|
move *a13(CLOSEST_ZDIST),a2
|
|||
|
|
|||
|
move *a13(INRING),a14
|
|||
|
jrz #inr ;In ring?
|
|||
|
|
|||
|
cmpi 300,a0
|
|||
|
jrgt #ering ;Too far?
|
|||
|
|
|||
|
move a1,a1
|
|||
|
jrn #brkrun ;Running away?
|
|||
|
|
|||
|
subk 30,a2
|
|||
|
jrgt #brkseek ;Too far?
|
|||
|
|
|||
|
jruc #cont
|
|||
|
|
|||
|
#inr
|
|||
|
move a4,a4
|
|||
|
jrn #lrp ;Towards L rope?
|
|||
|
|
|||
|
cmpi RING_X_CENTER+210,a3
|
|||
|
jrlt #rpok ;Won't hit R rope?
|
|||
|
jruc #chkopp
|
|||
|
#lrp
|
|||
|
cmpi RING_X_CENTER-210,a3
|
|||
|
jrgt #rpok ;Won't hit L rope?
|
|||
|
#chkopp
|
|||
|
move *a8(GETUP_TIME),a14
|
|||
|
jrgt #rpok ;Out of control?
|
|||
|
|
|||
|
cmpi MODE_ONGROUND,b7
|
|||
|
jreq #rpok
|
|||
|
|
|||
|
cmpi 300,a0
|
|||
|
jrgt #rpok ;Opp X far?
|
|||
|
|
|||
|
cmpi MODE_RUNNING,b7
|
|||
|
jreq #oprun
|
|||
|
|
|||
|
cmpi 180,a0
|
|||
|
jrgt #rpok ;Opp X far?
|
|||
|
#oprun
|
|||
|
cmpi 90,a2
|
|||
|
jrlt #brkrun ;Opp Z close?
|
|||
|
|
|||
|
#rpok
|
|||
|
|
|||
|
move a1,a1
|
|||
|
jrn #rsk ;Running away?
|
|||
|
#cont
|
|||
|
cmpi MODE_INAIR2,b7
|
|||
|
jreq #brkrun
|
|||
|
|
|||
|
|
|||
|
subk 30,a2
|
|||
|
jrgt #rsk ;Z too far?
|
|||
|
|
|||
|
cmpi 250,a0
|
|||
|
jrgt #rsk ;X too far?
|
|||
|
|
|||
|
move a0,a2
|
|||
|
|
|||
|
movi 120,a0
|
|||
|
callr rndrng0
|
|||
|
addi 130,a0
|
|||
|
|
|||
|
cmp a0,a2
|
|||
|
jrgt #rsk ;X too far?
|
|||
|
|
|||
|
|
|||
|
; movk 3,a0
|
|||
|
; callr rnd
|
|||
|
; jrz #igpup ;25% ignore?
|
|||
|
|
|||
|
move b7,a0
|
|||
|
subk MODE_PUPPET2,a0
|
|||
|
jreq #brkrun
|
|||
|
subk MODE_PUPPET-MODE_PUPPET2,a0
|
|||
|
jreq #brkrun
|
|||
|
cmpi MODE_HEADHELD,b7
|
|||
|
jreq #brkrun
|
|||
|
cmpi MODE_HEADHOLD,b7
|
|||
|
jreq #brkrun
|
|||
|
cmpi MODE_ATTACHED,b7
|
|||
|
jreq #brkrun
|
|||
|
;#igpup
|
|||
|
|
|||
|
move *a13(DRN_BUTCHRG),a0
|
|||
|
jrz #nchrg
|
|||
|
move *a13(DRN_BUTCHRGDLY),a0
|
|||
|
jrgt #nchrg
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_BUTCHRG) ;Fire it
|
|||
|
jruc #abrt
|
|||
|
#nchrg
|
|||
|
DS_CODEEND
|
|||
|
DS_RJMP 33,#k
|
|||
|
DS_RJMP 33,#sk
|
|||
|
.word SP_M,0
|
|||
|
#k .word K_M,0
|
|||
|
#sk .word SK_M,0
|
|||
|
|
|||
|
#abrt
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
#brkrun
|
|||
|
DS_CODEEND
|
|||
|
.word L_M,0
|
|||
|
|
|||
|
#ering
|
|||
|
DS_CODEEND
|
|||
|
.word L_M,2
|
|||
|
DS_JMP drn_enterring
|
|||
|
|
|||
|
#brkseek
|
|||
|
DS_CODEEND
|
|||
|
.word L_M,2
|
|||
|
DS_JMP drn_seek
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Opponent running
|
|||
|
|
|||
|
SUBRP drn_oprun
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
movk 7,a0
|
|||
|
callr rnd
|
|||
|
jrnz #abrt ;Skip?
|
|||
|
|
|||
|
move *a8(OBJ_XPOSINT),a0
|
|||
|
move *a13(OBJ_XPOSINT),a1
|
|||
|
; move a1,a3
|
|||
|
sub a1,a0
|
|||
|
move *a8(OBJ_XVEL+16),a1
|
|||
|
; move a1,a4
|
|||
|
xor a0,a1
|
|||
|
abs a0
|
|||
|
|
|||
|
move *a13(CLOSEST_ZDIST),a2
|
|||
|
cmp a0,a2
|
|||
|
jrgt #abrt ;Z dist > X dist?
|
|||
|
|
|||
|
move a1,a1
|
|||
|
jrn #run ;Running away?
|
|||
|
|
|||
|
move *a8(GETUP_TIME),a14
|
|||
|
jrgt #run ;Out of control?
|
|||
|
|
|||
|
#abrt
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
#run
|
|||
|
DS_CODEEND
|
|||
|
.word P_M+K_M,0 ;Run
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
|
|||
|
SUBRP drn_roll
|
|||
|
|
|||
|
DS_CODE
|
|||
|
callr drone_chrg
|
|||
|
|
|||
|
jruc #strt
|
|||
|
|
|||
|
#lp
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
DS_CODE
|
|||
|
#strt
|
|||
|
cmpi MODE_ONGROUND,b6
|
|||
|
jrne #x
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a0
|
|||
|
cmpi 150,a0
|
|||
|
jrgt #x ;Safe dist?
|
|||
|
|
|||
|
move *a13(CLOSEST_ZDIST),a0
|
|||
|
cmpi 70,a0
|
|||
|
jrgt #x ;Safe dist?
|
|||
|
|
|||
|
clr a2
|
|||
|
callr drone_seek2
|
|||
|
jrz #x
|
|||
|
|
|||
|
movk 3,a1 ;Flip up & down
|
|||
|
xor a1,a0
|
|||
|
move a0,*a13(DRN_JOY)
|
|||
|
|
|||
|
movi 7fh,a0
|
|||
|
callr rnd
|
|||
|
jrnz #lp
|
|||
|
|
|||
|
#x
|
|||
|
DS_CODEEND
|
|||
|
.word B_M,TSEC-10 ;Block while standing
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Climb closest turnbuckle
|
|||
|
|
|||
|
SUBRP drn_climbtb
|
|||
|
|
|||
|
DS_CODE
|
|||
|
move b3,a0
|
|||
|
subk 1,a0
|
|||
|
jrle #lp ;Only 1 on team?
|
|||
|
|
|||
|
movk 1,a0
|
|||
|
callr rnd
|
|||
|
jrnz #x ;Skip 50%?
|
|||
|
|
|||
|
#lp
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
|
|||
|
SUBRP drn_ontb
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move b7,a2
|
|||
|
|
|||
|
cmpi MODE_ONTURNBKL,b6
|
|||
|
jrne #not
|
|||
|
|
|||
|
subk MODE_ONTURNBKL,a2
|
|||
|
jreq #dn ;He's up, so get dn?
|
|||
|
|
|||
|
jruc #jmp
|
|||
|
|
|||
|
#not
|
|||
|
move *a13(INRING),a0
|
|||
|
jrnz #ering ;!In ring?
|
|||
|
|
|||
|
move *a13(WRESTLERNUM),a0
|
|||
|
subk 3,a0
|
|||
|
jrne #ny ;!Yoko?
|
|||
|
move *a8(INRING),a0
|
|||
|
jrnz #x ;!In ring?
|
|||
|
#ny
|
|||
|
subk MODE_ONTURNBKL,a2
|
|||
|
jreq #x
|
|||
|
subk MODE_INAIR2-MODE_ONTURNBKL,a2
|
|||
|
jreq #x
|
|||
|
|
|||
|
movi RING_X_CENTER-225,a0
|
|||
|
move *a13(OBJ_XPOSINT),a1
|
|||
|
cmpi RING_X_CENTER,a1
|
|||
|
jrle #lrp
|
|||
|
movi RING_X_CENTER+225,a0
|
|||
|
#lrp
|
|||
|
move a0,a3
|
|||
|
movi RING_TOP,a1
|
|||
|
movk 32,a2
|
|||
|
callr drone_seekxz ;Seek to visinity
|
|||
|
jrnz #nclose
|
|||
|
|
|||
|
move a3,a0
|
|||
|
movi RING_TOP-10,a1
|
|||
|
clr a2
|
|||
|
callr drone_seekxz ;Push into turnbuckle
|
|||
|
|
|||
|
#nclose
|
|||
|
move *a13(CLOSEST_XDIST),a0
|
|||
|
cmpi 120,a0
|
|||
|
jrgt #lp ;Safe dist?
|
|||
|
|
|||
|
move *a13(CLOSEST_ZDIST),a0
|
|||
|
cmpi 70,a0
|
|||
|
jrgt #lp ;Safe dist?
|
|||
|
|
|||
|
#x
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
#jmp
|
|||
|
clr a6 ;So we get dn transition
|
|||
|
DS_CODEEND
|
|||
|
.word K_M,0
|
|||
|
#dn
|
|||
|
DS_CODEEND
|
|||
|
.word D_M,0
|
|||
|
#ering
|
|||
|
DS_CODEEND
|
|||
|
DS_JMP drn_enterring
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* I'm in air
|
|||
|
|
|||
|
#lp
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
|
|||
|
SUBRP drn_inair
|
|||
|
|
|||
|
DS_CODE
|
|||
|
clr a2
|
|||
|
callr drone_seek2
|
|||
|
|
|||
|
cmpi MODE_INAIR2,b6
|
|||
|
jreq #lp
|
|||
|
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Opponent in air
|
|||
|
|
|||
|
SUBRP drn_opinair
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
movk 1,a0
|
|||
|
callr rnd
|
|||
|
jrnz #run ;Skip?
|
|||
|
#lp
|
|||
|
cmpi MODE_INAIR2,b7
|
|||
|
jrne #k
|
|||
|
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move *a13(CLOSEST_XDIST),a1
|
|||
|
move *a13(CLOSEST_ZDIST),a14
|
|||
|
cmp a1,a14
|
|||
|
jrge #big
|
|||
|
move a1,a14
|
|||
|
#big
|
|||
|
cmpi 150,a14
|
|||
|
jrgt #lp ;Opp far?
|
|||
|
#k
|
|||
|
DS_CODEEND
|
|||
|
.word K_M,0 ;Jump up
|
|||
|
|
|||
|
#run
|
|||
|
DS_CODEEND
|
|||
|
.word L_M+P_M+K_M,2 ;Run away
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Enter ring at closest entry point
|
|||
|
|
|||
|
#lp
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
|
|||
|
SUBRP drn_enterring
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move *a8(INRING),a0
|
|||
|
jrnz #x ;Opp out?
|
|||
|
|
|||
|
move *a13(INRING),a0
|
|||
|
jrz #x ;In ring?
|
|||
|
|
|||
|
move *a13(OBJ_XPOSINT),a14
|
|||
|
|
|||
|
movi RING_Z_CENTER,a1
|
|||
|
movi RING_X_CENTER-260,a0
|
|||
|
cmp a0,a14
|
|||
|
jrle #sk
|
|||
|
movi RING_X_CENTER+260,a0
|
|||
|
cmp a0,a14
|
|||
|
jrge #sk
|
|||
|
|
|||
|
move *a13(OBJ_ZPOSINT),a14
|
|||
|
|
|||
|
movi RING_X_CENTER,a0
|
|||
|
movi RING_TOP-10,a1
|
|||
|
cmp a1,a14
|
|||
|
jrle #sk
|
|||
|
movi RING_BOT+10,a1
|
|||
|
#sk
|
|||
|
movk 10,a2
|
|||
|
callr drone_seekxz ;Seek to visinity
|
|||
|
jrnz #lp
|
|||
|
|
|||
|
DS_CODEEND
|
|||
|
.word P_M+SP_M+K_M+SK_M+B_M,0 ;Enter
|
|||
|
|
|||
|
#x
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
|
|||
|
SUBRP drn_taunt
|
|||
|
|
|||
|
DS_CODE
|
|||
|
|
|||
|
move *a8(OBJ_ZPOSINT),a0
|
|||
|
move *a13(OBJ_ZPOSINT),a1
|
|||
|
sub a1,a0
|
|||
|
cmpi 100,a0
|
|||
|
jrlt #x
|
|||
|
|
|||
|
move *a8(OBJ_XPOSINT),a0
|
|||
|
move *a13(OBJ_XPOSINT),a1
|
|||
|
sub a1,a0
|
|||
|
abs a0
|
|||
|
cmpi 300,a0
|
|||
|
jrgt #x
|
|||
|
|
|||
|
;Time to execute high-risk move!
|
|||
|
movi 8000h+6*60,a0
|
|||
|
move a0,*a13(RISK)
|
|||
|
|
|||
|
move *a13(WRESTLERNUM),a0
|
|||
|
X32 a0
|
|||
|
addi #taunt_t,a0
|
|||
|
move *a0,a0,L
|
|||
|
calla change_anim1a
|
|||
|
#x
|
|||
|
DS_CODEEND
|
|||
|
DS_END
|
|||
|
|
|||
|
|
|||
|
#taunt_t
|
|||
|
.long hrt_4_taunt_anim ;0 Bret Hart
|
|||
|
.long rzr_4_taunt_anim ;1 Razor Ramon
|
|||
|
.long und_4_taunt_anim ;2 Undertaker
|
|||
|
.long yok_4_taunt_anim ;3 Yokozuna
|
|||
|
.long shn_4_taunt_anim ;4 Shawn Michaels
|
|||
|
.long bam_4_taunt_anim ;5 Bam Bam
|
|||
|
.long dnk_4_taunt_anim ;6 Doink
|
|||
|
.long 0 ;7 spare
|
|||
|
.long lex_4_taunt_anim ;8 Lex Luger
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
|
|||
|
SUBRP drn_oppdead
|
|||
|
|
|||
|
DS_CODE
|
|||
|
#lp
|
|||
|
clr a0 ;Close
|
|||
|
move a0,*a13(DRN_SEEKDIR)
|
|||
|
move a0,*a13(DRN_SEEKDIST)
|
|||
|
|
|||
|
callr drone_seekdirdist
|
|||
|
DS_CODEEND
|
|||
|
DS_SLP1
|
|||
|
DS_CODE
|
|||
|
|
|||
|
movk 32,a1
|
|||
|
move *a13(WRESTLERNUM),a0
|
|||
|
subk 2,a0
|
|||
|
jreq #ut ;Undertaker?
|
|||
|
movi 90,a1
|
|||
|
#ut
|
|||
|
move *a13(CLOSEST_DIST),a0
|
|||
|
cmp a1,a0
|
|||
|
jrle #x
|
|||
|
; jruc #notut
|
|||
|
|
|||
|
move *a8(ANIMODE),a0 ;Let ut walk through dead opps
|
|||
|
ori MODE_OVERLAP,a0
|
|||
|
move a0,*a8(ANIMODE)
|
|||
|
#notut
|
|||
|
|
|||
|
move *a13(DRN_JOY),a0
|
|||
|
jrnz #lp
|
|||
|
#x
|
|||
|
DS_CODEEND
|
|||
|
.word P_M,0
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Push stick to move drone towards his opp dir/dist seek position
|
|||
|
* A7 = Old joy bits
|
|||
|
* A8 = *Closest opp proc
|
|||
|
* Trashes scratch, A2-A5
|
|||
|
|
|||
|
SUBRP drone_seekdirdist
|
|||
|
|
|||
|
move *a13(DRN_SEEKDIR),a4 ;0-f
|
|||
|
move *a13(DRN_SEEKDIST),a3 ;0-4
|
|||
|
move a3,a0
|
|||
|
X16 a3
|
|||
|
X4 a0
|
|||
|
add a0,a3 ;*20
|
|||
|
|
|||
|
move a4,a2
|
|||
|
callr #drn_getxz
|
|||
|
jrnz #ok
|
|||
|
|
|||
|
movk 7,b0
|
|||
|
move a4,a5
|
|||
|
#lp
|
|||
|
addk 1,a4
|
|||
|
sll 32-4,a4
|
|||
|
srl 32-4,a4
|
|||
|
move a4,a2
|
|||
|
callr #drn_getxz
|
|||
|
jrnz #newok
|
|||
|
|
|||
|
subk 1,a5
|
|||
|
sll 32-4,a5
|
|||
|
srl 32-4,a5
|
|||
|
move a5,a2
|
|||
|
callr #drn_getxz
|
|||
|
jrnz #new5ok
|
|||
|
|
|||
|
dsj b0,#lp
|
|||
|
|
|||
|
clr a0
|
|||
|
move a0,*a13(DRN_JOY)
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
#new5ok
|
|||
|
move a5,a4
|
|||
|
#newok
|
|||
|
move a4,*a13(DRN_SEEKDIR)
|
|||
|
#ok
|
|||
|
movk 30,a2
|
|||
|
callr drone_seekxz
|
|||
|
jrnz #x
|
|||
|
|
|||
|
move *a13(DRN_MODE),a0
|
|||
|
addk 1,a0
|
|||
|
jrge #x ;Was -1? Skip dir change
|
|||
|
|
|||
|
move a7,*a13(DRN_JOY) ;Restore to lessen glitch
|
|||
|
|
|||
|
movk 3,a0 ;>Get rnd +-2/3
|
|||
|
callr rnd
|
|||
|
subk 1,a0
|
|||
|
jrnz #rnz
|
|||
|
subk 2,a0 ;0 into -2
|
|||
|
#rnz
|
|||
|
addk 1,a0
|
|||
|
jrgt #rpos
|
|||
|
subk 2,a0
|
|||
|
#rpos
|
|||
|
|
|||
|
add a0,a4
|
|||
|
sll 32-4,a4
|
|||
|
srl 32-4,a4
|
|||
|
move a4,*a13(DRN_SEEKDIR)
|
|||
|
|
|||
|
#x
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
#drn_getxz
|
|||
|
add a3,a2
|
|||
|
X16 a2
|
|||
|
addi #sine_t,a2
|
|||
|
|
|||
|
move *a2(4*16),a14
|
|||
|
move *a8(OBJ_XPOSINT),a0
|
|||
|
add a14,a0
|
|||
|
|
|||
|
cmpi RING_X_CENTER-220,a0
|
|||
|
jrlt #xzbad
|
|||
|
cmpi RING_X_CENTER+220,a0
|
|||
|
jrgt #xzbad
|
|||
|
|
|||
|
move *a2,a14
|
|||
|
move *a8(OBJ_ZPOSINT),a1
|
|||
|
add a14,a1
|
|||
|
|
|||
|
cmpi RING_TOP,a1
|
|||
|
jrlt #xzbad
|
|||
|
cmpi RING_BOT,a1
|
|||
|
jrle #xzok
|
|||
|
#xzbad
|
|||
|
clr a2 ;Set Z
|
|||
|
#xzok
|
|||
|
move a2,a2
|
|||
|
rets
|
|||
|
|
|||
|
#sine_t
|
|||
|
.word -50,-46,-35,-19
|
|||
|
.word 0,19,35,46,50,46,35,19
|
|||
|
.word 0,-19,-35,-46,-50,-46,-35,-19
|
|||
|
|
|||
|
.word -100,-92,-71,-38
|
|||
|
.word 0,38,71,92,100,92,71,38
|
|||
|
.word 0,-38,-71,-92,-100,-92,-71,-38
|
|||
|
|
|||
|
.word -150,-139,-106,-57
|
|||
|
.word 0,57,106,139,150,139,106,57
|
|||
|
.word 0,-57,-106,-139,-150,-139,-106,-57
|
|||
|
|
|||
|
.word -200,-185,-141,-76
|
|||
|
.word 0,76,141,185,200,185,141,76
|
|||
|
.word 0,-76,-141,-185,-200,-185,-141,-76
|
|||
|
|
|||
|
.word -250,-231,-177,-95
|
|||
|
.word 0,95,177,231,250,231,177,95
|
|||
|
.word 0,-95,-177,-231,-250,-231,-177,-95
|
|||
|
|
|||
|
.word -300,-277,-212,-115
|
|||
|
.word 0,114,212,277,300,277,212,114
|
|||
|
.word 0,-114,-212,-277,-300,-277,-212,-115
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Push stick to move drone towards closest opp
|
|||
|
|
|||
|
SUBRP drone_seek
|
|||
|
|
|||
|
movi 70,a2
|
|||
|
|
|||
|
SUBRP drone_seek2
|
|||
|
|
|||
|
move *a8(OBJ_XPOSINT),a0
|
|||
|
move *a8(OBJ_ZPOSINT),a1
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Push stick to move drone towards an XZ location
|
|||
|
* A0 = X to seek
|
|||
|
* A1 = Z
|
|||
|
* A2 = Range to stop
|
|||
|
* A13= *Plyr proc
|
|||
|
*>A0 = Joy bits set or 0 (Pass CC)
|
|||
|
* Trashes scratch
|
|||
|
|
|||
|
SUBRP drone_seekxz
|
|||
|
|
|||
|
move a3,b0
|
|||
|
|
|||
|
move *a13(OBJ_XPOSINT),a3
|
|||
|
sub a0,a3
|
|||
|
|
|||
|
clr a0
|
|||
|
|
|||
|
move a3,a14
|
|||
|
abs a3
|
|||
|
sub a2,a3
|
|||
|
jrle #onx
|
|||
|
move a14,a14
|
|||
|
jrlt #nolft
|
|||
|
subk 4,a0 ;Left
|
|||
|
|
|||
|
#nolft addk 8,a0 ;Rgt
|
|||
|
#onx
|
|||
|
move *a13(OBJ_ZPOSINT),a3
|
|||
|
|
|||
|
sub a1,a3
|
|||
|
move a3,a14
|
|||
|
abs a3
|
|||
|
sub a2,a3
|
|||
|
jrle #onz
|
|||
|
move a14,a14
|
|||
|
jrlt #noup
|
|||
|
subk 1,a0 ;Up
|
|||
|
|
|||
|
#noup addk 2,a0 ;Dn
|
|||
|
#onz
|
|||
|
move a0,*a13(DRN_JOY)
|
|||
|
|
|||
|
move b0,a3
|
|||
|
move a0,a0
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
#*******************************
|
|||
|
* Adjust drone skill level (called each round)
|
|||
|
* 8 is typical starting difficulty
|
|||
|
* A13 = *Plyr proc
|
|||
|
* Trashes scratch, A2-A5
|
|||
|
|
|||
|
SUBR drone_calcskill
|
|||
|
|
|||
|
move *a13(PLYR_TYPE),a0
|
|||
|
jrz #x ;Human?
|
|||
|
|
|||
|
move *a13(DRN_SKILLRNDM),a0
|
|||
|
|
|||
|
move @current_round,a3 ;1-3
|
|||
|
subk 1,a3
|
|||
|
jrgt #n1st
|
|||
|
|
|||
|
movk 4,a0
|
|||
|
callr rndrng0
|
|||
|
subk 2,a0
|
|||
|
move a0,*a13(DRN_SKILLRNDM)
|
|||
|
#n1st
|
|||
|
move @CURRENT_LADDER,a5,L ;* to position
|
|||
|
subi LADDER,a5
|
|||
|
sra 5,a5 ;/32 (Gives 0-6)
|
|||
|
move a5,a1
|
|||
|
sra 1,a1 ;0-3
|
|||
|
add a1,a5 ;A5=0-9
|
|||
|
add a0,a5 ;-2 to 2 randomness
|
|||
|
|
|||
|
clr a4
|
|||
|
move @PSTATUS,a0
|
|||
|
btst 0,a0
|
|||
|
jrnz #p1
|
|||
|
movk 16,a4
|
|||
|
#p1
|
|||
|
movi p1winstreakd,a0
|
|||
|
add a4,a0
|
|||
|
move *a0,a0
|
|||
|
jrlt #loser ;Lost? (-2 per match lost)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
X2 a0
|
|||
|
; add a0,a5 ;+1 per match won
|
|||
|
; add a0,a5 ;+1 per match won
|
|||
|
|
|||
|
|
|||
|
|
|||
|
add a0,a5 ;+1 per match won
|
|||
|
#loser
|
|||
|
X2 a0
|
|||
|
add a0,a5 ;+2 per match won
|
|||
|
|
|||
|
; X2 a0
|
|||
|
; add a0,a5 ;+2 per match won
|
|||
|
;#loser
|
|||
|
; X2 a0
|
|||
|
; add a0,a5 ;+4 per match won
|
|||
|
|
|||
|
movi p1rounds,a0
|
|||
|
add a4,a0
|
|||
|
move *a0,a0
|
|||
|
add a0,a5 ;+3 per round won
|
|||
|
X2 a0
|
|||
|
add a0,a5
|
|||
|
|
|||
|
X2 a3
|
|||
|
sub a3,a5 ;-2 per round past 1st
|
|||
|
|
|||
|
|
|||
|
movk ADJDIFF,a0 ;Get difficulty level (1-10)
|
|||
|
calla GET_ADJ
|
|||
|
subk 2,a0
|
|||
|
X2 a0
|
|||
|
add a0,a5 ;+8 default
|
|||
|
jrge #minok
|
|||
|
clr a5
|
|||
|
#minok
|
|||
|
cmpi 29,a5
|
|||
|
jrle #maxok
|
|||
|
movk 29,a5
|
|||
|
#maxok
|
|||
|
move a5,*a13(DRN_SKILL)
|
|||
|
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >Clr attack count
|
|||
|
|
|||
|
clr a0
|
|||
|
movi atkcnt_t,a1
|
|||
|
movi AT_NUM*NUM_WRES,b0
|
|||
|
#aclp
|
|||
|
move a0,*a1+
|
|||
|
dsj b0,#aclp
|
|||
|
|
|||
|
#x
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
|
|||
|
********************************
|
|||
|
* Get random # with mask
|
|||
|
* A0 = Mask
|
|||
|
*>A0 = Rnd # (Pass CC)
|
|||
|
* Trashes scratch
|
|||
|
|
|||
|
SUBRP rnd
|
|||
|
|
|||
|
move @RAND,a1,L
|
|||
|
rl a1,a1
|
|||
|
move @HCOUNT,a14
|
|||
|
rl a14,a1
|
|||
|
add sp,a1
|
|||
|
move a1,@RAND,L
|
|||
|
|
|||
|
and a1,a0
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
********************************
|
|||
|
* Quickly produce a random # in range 0-X
|
|||
|
* A0 = X
|
|||
|
*>A0 = Random # (0 to A0) (No CC)
|
|||
|
* Trashes scratch
|
|||
|
|
|||
|
SUBRP rndrng0
|
|||
|
|
|||
|
move @RAND,a1,L
|
|||
|
rl a1,a1
|
|||
|
move @HCOUNT,a14
|
|||
|
rl a14,a1
|
|||
|
add sp,a1
|
|||
|
move a1,@RAND,L
|
|||
|
|
|||
|
addk 1,a0
|
|||
|
mpyu a1,a0 ;Condition codes not valid!
|
|||
|
|
|||
|
rets
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
********************************
|
|||
|
|
|||
|
.end
|
|||
|
|