diff --git a/constants.asm b/constants.asm index a840891..a8cd5ff 100644 --- a/constants.asm +++ b/constants.asm @@ -870,17 +870,34 @@ NamesOfWeapons ;the comment is an index in the tables dta d"Bal Guidance " ; 50 dta d"Horz Guidance " ; 51 dta d"Vert Guidance " ; 52 - dta d"Lazy Boy " ; 53 - no energy - dta d"Parachute " ; 54 - dta d"Battery " ; 55 - witch shield and energy - dta d"Mag Deflector " ; 56 - shield for one shot - no energy - dta d"Shield " ; 57 - shield with energy and parachute - dta d"Force Shield " ; 58 - shield with energy - dta d"Heavy Shield " ; 59 - dta d"Super Mag " ; 60 - witch shield and energy - dta d"Auto Defense " ; 61 + dta d"Lazy Boy " ; 53 + dta d"Parachute " ; 54 - no energy + dta d"Battery " ; 55 + dta d"Mag Deflector " ; 56 - with shield and energy + dta d"Shield " ; 57 - shield for one shot - no energy + dta d"Force Shield " ; 58 - shield with energy and parachute + dta d"Heavy Shield " ; 59 - shield with energy + dta d"Super Mag " ; 60 + dta d"Auto Defense " ; 61 - with shield and energy dta d"Fuel Tank " ; 62 dta d"Contact Trigger " ; 63 +DefensiveEnergy = * - 48 + .by 00 ; White Flag + .by 00 ; Heat Guidance + .by 00 ; Bal Guidance + .by 00 ; Horz Guidance + .by 00 ; Vert Guidance + .by 00 ; Lazy Boy + .by 00 ; Parachute + .by 00 ; Battery + .by 90 ; Mag Deflector + .by 00 ; Shield + .by 99 ; Force Shield + .by 99 ; Heavy Shield + .by 00 ; Super Mag + .by 99 ; Auto Defense + .by 00 ; Fuel Tank + .by 00 ; Contact Trigger weaponsOfDeath dta 1,2,3,7,15,16,17,18,19,20,21,22,23,24,25,26,27 weaponsOfDeathEnd diff --git a/grafproc.asm b/grafproc.asm index fb37969..398706e 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -694,15 +694,15 @@ NoPlayerMissile ; draw defensive weapons like shield ( tank number in X ) ; in xdraw, ydraw we have coordinates left LOWER corner of Tank char lda ActiveDefenceWeapon,x - cmp #56 ; one shot shield activation + cmp #57 ; one shot shield activation beq ShieldDraw - cmp #57 ; shield with energy and parachute activation + cmp #58 ; shield with energy and parachute activation beq ShieldDraw - cmp #58 ; shield with energy activation + cmp #59 ; shield with energy activation beq ShieldDraw - cmp #60 ; Auto Defence + cmp #61 ; Auto Defence beq DrawTankShieldWihHorns - cmp #55 ; Mag Deflector + cmp #56 ; Mag Deflector beq DrawTankShieldWihHorns bne NoShieldDraw ShieldDraw diff --git a/scorch.asm b/scorch.asm index bfe1197..a28be4a 100644 --- a/scorch.asm +++ b/scorch.asm @@ -133,8 +133,10 @@ START ; ldx numberOfPlayers ; dex ;@ -; mva #55 ActiveDefenceWeapon,x -; mva #99 ShieldEnergy,x ; set energy of shield +; mva #56 ActiveDefenceWeapon,x +; tay +; lda DefensiveEnergy,y +; sta ShieldEnergy,x ; set energy of shield ; dex ; bpl @- ; mag deflector activated! (test) diff --git a/scorch.xex b/scorch.xex index 6b038c5..ed4e205 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 3de553e..aaa1091 100644 --- a/weapons.asm +++ b/weapons.asm @@ -667,15 +667,15 @@ DistanceCheckLoop tay ; check shields lda ActiveDefenceWeapon,x - cmp #56 ; one hit shield + cmp #57 ; one hit shield beq UseShield - cmp #57 ; shield with energy and parachute + cmp #58 ; shield with energy and parachute beq UseShieldWithEnergy - cmp #58 ; shield with energy + cmp #59 ; shield with energy beq UseShieldWithEnergy - cmp #60 ; Auto Defence (it works only if hit ground next to tank. Tank hit is handled in Flight proc) + cmp #61 ; Auto Defence (it works only if hit ground next to tank. Tank hit is handled in Flight proc) beq UseShieldWithEnergy - cmp #55 ; Mag deflector (it works only if hit ground next to tank. Tank hit is handled in Flight proc) + cmp #56 ; Mag deflector (it works only if hit ground next to tank. Tank hit is handled in Flight proc) beq UseShieldWithEnergy jsr DecreaseEnergyX jmp EndOfDistanceCheckLoop @@ -1335,9 +1335,9 @@ ShotUnderGround ; let's check if the given tank has got the parachute ldx TankNr lda ActiveDefenceWeapon,x - cmp #53 ; parachute + cmp #54 ; parachute beq ParachuteActive - cmp #57 ; scheld witch energy and parachute + cmp #58 ; scheld witch energy and parachute bne TankFallsX ParachuteActive inc Parachute @@ -1542,7 +1542,7 @@ EndOfFall mva #1 Erase ldx TankNr lda ActiveDefenceWeapon,x - cmp #53 ; deactivate weapon only if parachute (53) + cmp #54 ; deactivate weapon only if parachute (53) bne NoParachuteWeapon mva #0 ActiveDefenceWeapon,x ; deactivate defence weapon (parachute) NoParachuteWeapon