tosser upgr and deathshead fix

This commit is contained in:
2022-07-03 22:35:47 -04:00
parent 1765489474
commit 39433a8cf4
3 changed files with 60 additions and 12 deletions
+39 -11
View File
@@ -56,7 +56,7 @@ AIRoutines
.word Moron-1 .word Moron-1
.word Shooter-1 ;Shooter .word Shooter-1 ;Shooter
.word Poolshark-1 ;Poolshark .word Poolshark-1 ;Poolshark
.word Toosser-1 ;Toosser .word Tosser-1 ;Tosser
.word Poolshark-1 ;Chooser .word Poolshark-1 ;Chooser
.word Poolshark-1 ;Spoiler .word Poolshark-1 ;Spoiler
.word Poolshark-1 ;Cyborg .word Poolshark-1 ;Cyborg
@@ -271,7 +271,7 @@ endo
sta temp sta temp
lda TanksWeaponsTableH,x lda TanksWeaponsTableH,x
sta temp+1 sta temp+1
ldy #32 ;the last weapon ldy #ind_Laser__________ ;the last offensive weapon
loop loop
dey dey
lda (temp),y lda (temp),y
@@ -286,13 +286,13 @@ AngleTable ; 16 bytes ;ba w $348b L$3350
.by 18,26,34,43,50,58,66,74 .by 18,26,34,43,50,58,66,74
.endp .endp
;---------------------------------------------- ;----------------------------------------------
.proc Toosser .proc Tosser
; use best defensive :) ; use best defensive :)
; allways ; allways
; first check check if any is in use ; first check check if any is in use
lda ActiveDefenceWeapon,x lda ActiveDefenceWeapon,x
bne DefensiveInUse bne DefensiveInUse
ldy #64 ;the last defensive weapon ldy #ind_Nuclear_Winter_+1 ;the last defensive weapon
@ @
dey dey
cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use) cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use)
@@ -334,7 +334,7 @@ PurchaseAIRoutines
.word MoronPurchase-1 .word MoronPurchase-1
.word ShooterPurchase-1 ;ShooterPurchase .word ShooterPurchase-1 ;ShooterPurchase
.word PoolsharkPurchase-1 ;PoolsharkPurchase .word PoolsharkPurchase-1 ;PoolsharkPurchase
.word PoolsharkPurchase-1 ;ToosserPurchase .word TosserPurchase-1 ;TosserPurchase
.word PoolsharkPurchase-1 ;ChooserPurchase .word PoolsharkPurchase-1 ;ChooserPurchase
.word PoolsharkPurchase-1 ;SpoilerPurchase .word PoolsharkPurchase-1 ;SpoilerPurchase
.word PoolsharkPurchase-1 ;CyborgPurchase .word PoolsharkPurchase-1 ;CyborgPurchase
@@ -349,6 +349,7 @@ PurchaseAIRoutines
.proc TryToPurchaseOnePiece .proc TryToPurchaseOnePiece
; A - weapon number, better it will be in range(1,32) ; A - weapon number, better it will be in range(1,32)
; TankNr in X ; TankNr in X
; DOES NOT CHANGE X
tay tay
lda PurchaseMeTable,y lda PurchaseMeTable,y
beq SorryNoPurchase beq SorryNoPurchase
@@ -399,16 +400,16 @@ SorryNoPurchase
mva #2 tempXroller; number of offensive purchases to perform mva #2 tempXroller; number of offensive purchases to perform
ldx TankNr ldx TankNr
@ @
randomize 49 55 randomize ind_Battery________ ind_StrongParachute
jsr TryToPurchaseOnePiece jsr TryToPurchaseOnePiece
dec tempXroller dec tempXroller
bne @- bne @-
; and now offensives ; and now offensives
mva #4 tempXroller; number of offensive purchases to perform mva #4 tempXroller; number of offensive purchases to perform
ldx TankNr ;ldx TankNr
@ @
randomize 1 14 randomize ind_Battery________ ind_Heavy_Roller___
jsr TryToPurchaseOnePiece jsr TryToPurchaseOnePiece
dec tempXroller dec tempXroller
bne @- bne @-
@@ -421,19 +422,46 @@ SorryNoPurchase
mva #3 tempXroller; number of offensive purchases to perform mva #3 tempXroller; number of offensive purchases to perform
ldx TankNr ldx TankNr
@ @
randomize 49 61 randomize ind_Battery________ ind_Auto_Defense___
jsr TryToPurchaseOnePiece jsr TryToPurchaseOnePiece
dec tempXroller dec tempXroller
bne @- bne @-
; and now offensives ; and now offensives
mva #8 tempXroller; number of purchases to perform mva #8 tempXroller; number of purchases to perform
ldx TankNr ;ldx TankNr
@ @
randomize 1 30 randomize ind_Missile________ ind_Dirt_Charge____
jsr TryToPurchaseOnePiece jsr TryToPurchaseOnePiece
dec tempXroller dec tempXroller
bne @- bne @-
rts rts
.endp .endp
;----------------------------------------------
.proc TosserPurchase
; what is my money level
ldx TankNr
lda MoneyH,x ; money / 256
sta tempXroller ; perform this many purchase attempts
; first try to buy defensives
mva #3 tempXroller; number of defensive purchases to perform
@
randomize ind_Battery________ ind_Auto_Defense___
jsr TryToPurchaseOnePiece
dec tempXroller
bne @-
; and now offensives
lda MoneyH,x ; money / 256
asl ;*2
sta tempXroller ; perform this many purchase attempts
@
randomize ind_Missile________ ind_Dirt_Charge____
jsr TryToPurchaseOnePiece
dec tempXroller
bne @-
rts
.endp
BIN
View File
Binary file not shown.
+21 -1
View File
@@ -232,16 +232,22 @@ NoExplosionInFunkyBomb
mva #31 ExplosionRadius mva #31 ExplosionRadius
jsr CalculateExplosionRange jsr CalculateExplosionRange
mva #sfx_nuke sfx_effect mva #sfx_nuke sfx_effect
SaveDrawXY
jsr xmissile jsr xmissile
UnSaveDrawXY
sbw xdraw #35 sbw xdraw #35
jsr CalculateExplosionRange jsr CalculateExplosionRange
mva #sfx_nuke sfx_effect mva #sfx_nuke sfx_effect
SaveDrawXY
jsr xmissile jsr xmissile
UnSaveDrawXY
adw xdraw #70 adw xdraw #70
jsr CalculateExplosionRange jsr CalculateExplosionRange
mva #sfx_nuke sfx_effect mva #sfx_nuke sfx_effect
SaveDrawXY
jsr xmissile jsr xmissile
UnSaveDrawXY
sbw xdraw #35 sbw xdraw #35
; ;
sbw ydraw #35 sbw ydraw #35
@@ -249,18 +255,32 @@ NoExplosionInFunkyBomb
cpw ydraw #screenHeight cpw ydraw #screenHeight
bcs NoUpperCircle bcs NoUpperCircle
mva #sfx_nuke sfx_effect mva #sfx_nuke sfx_effect
SaveDrawXY
jsr xmissile jsr xmissile
UnSaveDrawXY
NoUpperCircle NoUpperCircle
adw ydraw #70 adw ydraw #70
;jsr CalculateExplosionRange ;jsr CalculateExplosionRange
cpw ydraw #screenHeight cpw ydraw #screenHeight
bcs NoLowerCircle bcs NoLowerCircle
mva #sfx_nuke sfx_effect mva #sfx_nuke sfx_effect
SaveDrawXY
jsr xmissile jsr xmissile
UnSaveDrawXY
NoLowerCircle NoLowerCircle
mva #sfx_silencer sfx_effect mva #sfx_silencer sfx_effect
rts rts
.endp .endp
.proc SaveDrawXY
mwa xdraw tempXROLLER
mwa ydraw modify
rts
.endp
.proc UnSaveDrawXY
mwa tempXROLLER xdraw
mwa modify ydraw
rts
.endp
; ------------------------ ; ------------------------
.proc babyroller .proc babyroller
inc FallDown2 inc FallDown2