Auto Defense -> Bouncy Castle

This commit is contained in:
2022-08-11 00:34:21 -04:00
parent f45d2c8446
commit bb826b680d
8 changed files with 21 additions and 105 deletions
+3 -3
View File
@@ -959,7 +959,7 @@ SorryNoPurchase
mva #3 tempXroller; number of offensive purchases to perform
ldx TankNr
@
randomize ind_Battery________ ind_Auto_Defense___
randomize ind_Battery________ ind_Bouncy_Castle__
jsr TryToPurchaseOnePiece
dec tempXroller
bne @-
@@ -985,7 +985,7 @@ SorryNoPurchase
; first try to buy defensives
mva #1 tempXroller; number of defensive purchases to perform
@
randomize ind_Battery________ ind_Auto_Defense___
randomize ind_Battery________ ind_Bouncy_Castle__
jsr TryToPurchaseOnePiece
dec tempXroller
bne @-
@@ -1012,7 +1012,7 @@ SorryNoPurchase
; first try to buy defensives
mva #1 tempXroller; number of defensive purchases to perform
@
randomize ind_Battery________ ind_Auto_Defense___
randomize ind_Battery________ ind_Bouncy_Castle__
jsr TryToPurchaseOnePiece2
dec tempXroller
bne @-
+6 -90
View File
@@ -220,90 +220,6 @@ SlideLeftTable
.BY %00000111
.BY %00001100
;-----------------------------------------------------------
; this table changes Angle to the appropriate tank character
;BarrelTable
;
; .by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A,
; .by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28,
; .by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26,
; .by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24,
; .by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22,
; .by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E,
; .by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C,
; .by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A,
; .by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18,
;.by $18,
; .by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14,
; .by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12,
; .by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10,
; .by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E,
; .by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,
; .by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08,
; .by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06,
; .by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04,
; .by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02,
; .by $02,
;EndOfTheBarrelX
; ; right angles from 0 (horizontally right) to 90 (up)
;
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,6,6,6,6,6,6,6,6,6,
; .by 5,5,5,5,5,5,5,5,5,5,
; .by 4,4,4,4,4,4,4,4,4,4,
; ;.by 4,
;
; ; left angles from 90 (vertical) to 180 (horizontally left)
; .by 3,3,3,3,3,3,3,3,3,3,
; .by 3,2,2,2,2,2,2,2,2,2,
; .by 2,1,1,1,1,1,1,1,1,1,
; .by 0,0,0,0,0,0,0,0,0,0,
; .by 0,0,0,0,0,0,0,0,0,0,
; .by 0,0,0,0,0,0,0,0,0,0,
; .by 0,0,0,0,0,0,0,0,0,0,
; .by 0,0,0,0,0,0,0,0,0,0,
; .by 0,0,0,0,0,0,0,0,0,0,
; .by 0
;
;EndOfTheBarrelY
;; right angles from 0 (horizontally right) to 90 (up)
;
; ; one pixel Up for fix problems with colision check
; ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
; .by 4,4,4,4,4,4,4,4,4,4,
; .by 4,4,4,4,4,4,4,4,4,4,
; .by 4,4,4,4,4,4,4,5,5,5,
; .by 5,5,5,5,5,5,5,6,6,6,
; .by 6,6,6,6,6,6,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; ;.by 7,
;
;; left angles from 90 (vertical) to 180 (horizontally left)
;
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,7,7,7,7,7,
; .by 7,7,7,7,7,6,6,6,6,6,
; .by 6,6,6,6,5,5,5,5,5,5,
; .by 5,5,5,5,4,4,4,4,4,4,
; .by 4,4,4,4,4,4,4,4,4,4,
; .by 4,4,4,4,4,4,4,4,4,4,
; .by 4,
; ; one pixel Up for fix problems with colision check
; ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3
;-------------------------------------------------
TanksNamesDefault
dta d"1st.Tank"
@@ -375,7 +291,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons)
.by >price_Heavy_Shield___
.by >price_Force_Shield___
.by >price_Super_Mag______
.by >price_Auto_Defense___
.by >price_Bouncy_Castle__
.by >price_Fuel_Tank______
.by >price_Nuclear_Winter_
@@ -441,7 +357,7 @@ WeaponPriceL
.by <price_Heavy_Shield___
.by <price_Force_Shield___
.by <price_Super_Mag______
.by <price_Auto_Defense___
.by <price_Bouncy_Castle__
.by <price_Fuel_Tank______
.by <price_Nuclear_Winter_
@@ -538,7 +454,7 @@ PurchaseMeTable ;weapons good to be purchased by the robot
; "Vert Guidance ","Lazy Boy ","Parachute ","Strong Parachute"
.by %01000011
; "Mag Deflector ","Shield ","Heavy Shield ","Force Shield "
; "Super Mag ","Auto Defense ","Fuel Tank ","Nuclear Winter "
; "Super Mag ","Bouncy Castle ","Fuel Tank ","Nuclear Winter "
.by %11110100
PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg)
@@ -562,7 +478,7 @@ PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg)
; "Vert Guidance ","Lazy Boy ","Parachute ","Strong Parachute"
.by %01000001
; "Mag Deflector ","Shield ","Heavy Shield ","Force Shield "
; "Super Mag ","Auto Defense ","Fuel Tank ","Nuclear Winter "
; "Super Mag ","Bouncy Castle ","Fuel Tank ","Nuclear Winter "
.by %10110100
;-------------------------------------------------
@@ -641,7 +557,7 @@ NamesOfWeapons ;the comment is an index in the tables
dta d"Heavy Shield " ; 58 - shield with energy
dta d"Force Shield " ; 59 - shield with energy and parachute
dta d"Super Mag " ; 60
dta d"Auto Defense " ; 61 - with shield and energy
dta d"Bouncy Castle " ; 61 - with shield and energy
dta d"Fuel Tank " ; 62
dta d"Nuclear Winter " ; 63
DefensiveEnergy = * - 48
@@ -658,7 +574,7 @@ DefensiveEnergy = * - 48
.by 99 ; Heavy Shield
.by 99 ; Force Shield
.by 00 ; Super Mag
.by 99 ; Auto Defense
.by 99 ; Bouncy Castle
.by 00 ; Fuel Tank
.by 00 ; Nuclear Winter
weaponsOfDeath
+2 -2
View File
@@ -94,7 +94,7 @@ price_Shield_________ = 224 ;_57
price_Heavy_Shield___ = 628 ;_58
price_Force_Shield___ = 1100 ;_59
price_Super_Mag______ = $ffff ;_60
price_Auto_Defense___ = 512 ;_61
price_Bouncy_Castle__ = 512 ;_61
price_Fuel_Tank______ = $ffff ;_62
price_Nuclear_Winter_ = 1000 ;_63
;Weapon indexes (numbers)
@@ -159,7 +159,7 @@ ind_Shield_________ = 57
ind_Heavy_Shield___ = 58
ind_Force_Shield___ = 59
ind_Super_Mag______ = 60
ind_Auto_Defense___ = 61
ind_Bouncy_Castle__ = 61
ind_Fuel_Tank______ = 62
ind_Nuclear_Winter_ = 63
;--------------------------------
+2 -2
View File
@@ -740,7 +740,7 @@ NoPlayerMissile
beq DrawTankShieldBold
cmp #ind_Heavy_Shield___ ; shield with energy
beq DrawTankShieldBold
cmp #ind_Auto_Defense___ ; Auto Defence
cmp #ind_Bouncy_Castle__ ; Auto Defence
beq DrawTankShieldWihHorns
cmp #ind_Mag_Deflector__ ; Mag Deflector
beq DrawTankShieldWihHorns
@@ -816,7 +816,7 @@ tankflash_loop
;--------------------------------------------------
sbw xdraw #$03 ; 3 pixels to left
; draw left vertical line of shield ( | )
mva #6 temp ; strange !!!
mva #7 temp ; strange !!!
@
jsr plot
.nowarn dew ydraw
+1 -1
View File
@@ -122,7 +122,7 @@
;Game loading address
ORG $3000
WeaponFont
ins 'artwork/weapons_AW5_mod.fnt' ; 'artwork/weapons.fnt'
ins 'artwork/weapons_AW6_mod.fnt' ; 'artwork/weapons.fnt'
;-----------------------------------------------
;Screen displays go here to avoid crossing 4kb barrier
;-----------------------------------------------
BIN
View File
Binary file not shown.
+7 -7
View File
@@ -810,7 +810,7 @@ DistanceCheckLoop
beq UseShieldWithEnergy
cmp #ind_Heavy_Shield___ ; shield with energy
beq UseShieldWithEnergy
cmp #ind_Auto_Defense___ ; Auto Defence (it works only if hit ground next to tank. Tank hit is handled in Flight proc)
cmp #ind_Bouncy_Castle__ ; Auto Defence (it works only if hit ground next to tank. Tank hit is handled in Flight proc)
beq UseShieldWithEnergy
cmp #ind_Mag_Deflector__ ; Mag deflector (it works only if hit ground next to tank. Tank hit is handled in Flight proc)
beq UseShieldWithEnergy
@@ -1871,8 +1871,8 @@ EndOfFlight2
tax
dex ; index of tank in X
lda ActiveDefenceWeapon,x
cmp #ind_Auto_Defense___ ; Auto Defence
jeq AutoDefence
cmp #ind_Bouncy_Castle__ ; Auto Defence
jeq BouncyCastle
cmp #ind_Mag_Deflector__ ; Mag Deflector
beq MagDeflector
jmp NoDefence
@@ -1919,12 +1919,12 @@ EndOfMagDeflector
NoTankHitAtEndOfFight
NoHitAtEndOfFight
NoDefence
lsrw Force ; Force = Force / 2 - becouse earlier we multiplied by 2
lsrw Force ; Force = Force / 2 - because earlier we multiplied by 2
rts ; END !!!
AutoDefence
; now run defensive-aggressive weapon - Auto Defence!
BouncyCastle
; now run defensive-aggressive weapon - Bouncy Castle (previously known as Auto Defence)!
sbb #180 LeapFrogAngle Angle ; swap angle (LeapFrogAngle - because we have strored angle in this variable)
lsrw Force ; Force = Force / 2 - becouse earlier we multiplied by 2
lsrw Force ; Force = Force / 2 - because earlier we multiplied by 2
mva #1 Erase
lda TankNr
pha ; store TankNr