MagDeflector disappears properly
This commit is contained in:
+1
-2
@@ -736,7 +736,6 @@ NotShooter
|
|||||||
lda Energy,x
|
lda Energy,x
|
||||||
cmp EnergyDecrease
|
cmp EnergyDecrease
|
||||||
bcc ldahashzero
|
bcc ldahashzero
|
||||||
beq ldahashzero
|
|
||||||
;sec
|
;sec
|
||||||
sbc EnergyDecrease
|
sbc EnergyDecrease
|
||||||
bpl NotNegativeEnergy
|
bpl NotNegativeEnergy
|
||||||
@@ -942,7 +941,7 @@ SetunPlots
|
|||||||
|
|
||||||
;let the tanks be visible!
|
;let the tanks be visible!
|
||||||
ldx #(maxPlayers-1)
|
ldx #(maxPlayers-1)
|
||||||
lda #1 ; tank is visible
|
lda #99 ; tank is visible
|
||||||
MakeTanksVisible
|
MakeTanksVisible
|
||||||
sta eXistenZ,x
|
sta eXistenZ,x
|
||||||
dex
|
dex
|
||||||
|
|||||||
BIN
Binary file not shown.
+18
-6
@@ -1862,7 +1862,8 @@ EndOfFlight2
|
|||||||
cmp #ind_Auto_Defense___ ; Auto Defence
|
cmp #ind_Auto_Defense___ ; Auto Defence
|
||||||
jeq AutoDefence
|
jeq AutoDefence
|
||||||
cmp #ind_Mag_Deflector__ ; Mag Deflector
|
cmp #ind_Mag_Deflector__ ; Mag Deflector
|
||||||
bne NoDefence
|
beq MagDeflector
|
||||||
|
jmp NoDefence
|
||||||
MagDeflector
|
MagDeflector
|
||||||
; now run defensive-aggressive weapon - Mag Deflector!
|
; now run defensive-aggressive weapon - Mag Deflector!
|
||||||
; get tank position
|
; get tank position
|
||||||
@@ -1889,9 +1890,19 @@ RightDeflection
|
|||||||
bcs EndOfMagDeflector ; hit of course but we need RTS
|
bcs EndOfMagDeflector ; hit of course but we need RTS
|
||||||
sbw XHit #36 ; change to left
|
sbw XHit #36 ; change to left
|
||||||
EndOfMagDeflector
|
EndOfMagDeflector
|
||||||
|
mva #1 Erase
|
||||||
|
lda TankNr
|
||||||
|
pha ; store TankNr
|
||||||
|
stx TankNr ; store X in TankNr :)
|
||||||
|
jsr DrawTankNr ; now erase tank with shield (to erase shield)
|
||||||
lda #0
|
lda #0
|
||||||
sta ActiveDefenceWeapon,x ; deactivate used mag deflector weapon
|
sta ActiveDefenceWeapon,x ; deactivate used mag deflector weapon
|
||||||
sta ShieldEnergy,x
|
sta ShieldEnergy,x
|
||||||
|
sta Erase
|
||||||
|
jsr DrawTankNr ; draw tank without shield
|
||||||
|
ldx TankNr ; restore X value :)
|
||||||
|
pla
|
||||||
|
sta TankNr ; restore TankNr value :)
|
||||||
mwa XHit xdraw ; why? !!!
|
mwa XHit xdraw ; why? !!!
|
||||||
NoTankHitAtEndOfFight
|
NoTankHitAtEndOfFight
|
||||||
NoHitAtEndOfFight
|
NoHitAtEndOfFight
|
||||||
@@ -2305,7 +2316,8 @@ MIRValreadyAll
|
|||||||
jsr FlashTank ; first we flash tank
|
jsr FlashTank ; first we flash tank
|
||||||
mva #1 Erase
|
mva #1 Erase
|
||||||
jsr DrawTankNr ; and erase tank
|
jsr DrawTankNr ; and erase tank
|
||||||
mva #0 Erase
|
lda #0
|
||||||
|
sta Erase
|
||||||
ldx TankNr
|
ldx TankNr
|
||||||
sta Energy,x ; clear tank energy
|
sta Energy,x ; clear tank energy
|
||||||
sta eXistenZ,x ; erase from existence
|
sta eXistenZ,x ; erase from existence
|
||||||
@@ -2394,7 +2406,8 @@ InverseScreenByte
|
|||||||
; XHit , YHit - coordinates of hit
|
; XHit , YHit - coordinates of hit
|
||||||
; X - index of the hit tank
|
; X - index of the hit tank
|
||||||
|
|
||||||
ldx #0
|
ldx NumberOfPlayers
|
||||||
|
dex
|
||||||
CheckCollisionWithTankLoop
|
CheckCollisionWithTankLoop
|
||||||
lda eXistenZ,x
|
lda eXistenZ,x
|
||||||
beq DeadTank
|
beq DeadTank
|
||||||
@@ -2440,9 +2453,8 @@ LeftFromTheTank
|
|||||||
OverTheTank
|
OverTheTank
|
||||||
BelowTheTank
|
BelowTheTank
|
||||||
DeadTank
|
DeadTank
|
||||||
inx
|
dex
|
||||||
cpx NumberOfPlayers
|
bpl CheckCollisionWithTankLoop
|
||||||
bne CheckCollisionWithTankLoop
|
|
||||||
rts
|
rts
|
||||||
CheckCollisionWithShieldedTank
|
CheckCollisionWithShieldedTank
|
||||||
; now we use Y as low byte and A as high byte of checked position (left right edgs of shield)
|
; now we use Y as low byte and A as high byte of checked position (left right edgs of shield)
|
||||||
|
|||||||
Reference in New Issue
Block a user