Napalm and Hot Napalm are working!

And they have new prices.
This commit is contained in:
Pecusx
2022-07-05 09:36:50 +02:00
parent 0984aee64f
commit b164a79fd4
4 changed files with 14 additions and 14 deletions
+1 -1
View File
@@ -435,7 +435,7 @@ WeaponUnits
.by 3 ;Funky_Bomb_____ .by 3 ;Funky_Bomb_____
.by 2 ;MIRV___________ .by 2 ;MIRV___________
.by 1 ;Death_s_Head___ .by 1 ;Death_s_Head___
.by 10 ;Napalm_________ .by 4 ;Napalm_________
.by 2 ;Hot_Napalm_____ .by 2 ;Hot_Napalm_____
.by 20 ;Tracer_________ .by 20 ;Tracer_________
.by 10 ;Smoke_Tracer___ .by 10 ;Smoke_Tracer___
+3 -3
View File
@@ -8,7 +8,7 @@ display = $1010 ;screen takes $2K due to clearing routine
MaxPlayers = 6 MaxPlayers = 6
maxOptions = 7 ;number of all options maxOptions = 7 ;number of all options
PMOffset = $23 ; P/M to graphics offset PMOffset = $23 ; P/M to graphics offset
napalmRadius = 10
;Weapon prices (*10 on screen) ;Weapon prices (*10 on screen)
price_Baby_Missile___ = 0 ;_0 price_Baby_Missile___ = 0 ;_0
@@ -19,8 +19,8 @@ price_LeapFrog_______ = 192 ;_4
price_Funky_Bomb_____ = 293 ;_5 price_Funky_Bomb_____ = 293 ;_5
price_MIRV___________ = 456 ;_6 price_MIRV___________ = 456 ;_6
price_Death_s_Head___ = 337 ;_7 price_Death_s_Head___ = 337 ;_7
price_Napalm_________ = 20 ;496 ;_8 price_Napalm_________ = 125 ;_8
price_Hot_Napalm_____ = 40 ;511 ;_9 price_Hot_Napalm_____ = 162 ;_9
price_Tracer_________ = 102 ;_10 price_Tracer_________ = 102 ;_10
price_Smoke_Tracer___ = 291 ;_11 price_Smoke_Tracer___ = 291 ;_11
price_Baby_Roller____ = 211 ;_12 price_Baby_Roller____ = 211 ;_12
BIN
View File
Binary file not shown.
+10 -10
View File
@@ -284,7 +284,7 @@ NoLowerCircle
; ------------------------ ; ------------------------
.proc napalm .proc napalm
inc FallDown2 inc FallDown2
mva #(10+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
jsr CalculateExplosionRange jsr CalculateExplosionRange
mva #0 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm mva #0 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm
jmp xnapalm jmp xnapalm
@@ -292,7 +292,7 @@ NoLowerCircle
; ------------------------ ; ------------------------
.proc hotnapalm .proc hotnapalm
inc FallDown2 inc FallDown2
mva #(10+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width)
jsr CalculateExplosionRange jsr CalculateExplosionRange
mva #1 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm mva #1 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm
jmp xnapalm jmp xnapalm
@@ -304,7 +304,7 @@ NoLowerCircle
sty magic sty magic
RepeatNapalm ; external loop (for fire animation) RepeatNapalm ; external loop (for fire animation)
mwa xcircle xdraw mwa xcircle xdraw
sbw xdraw #(1*10) ; 10 characters on left side hit point sbw xdraw #(napalmRadius) ; 10 characters on left side hit point
ldy #0 ldy #0
sty magic+1 sty magic+1
RepeatFlame ; internal loop (draw flames) RepeatFlame ; internal loop (draw flames)
@@ -351,21 +351,21 @@ CharOffTheScreen
adw xdraw #1 ; next char 1 pixels to right adw xdraw #1 ; next char 1 pixels to right
inc magic+1 inc magic+1
lda magic+1 lda magic+1
cmp #21 ; 10 chars on left, 10 chars on right and 1 in center cmp #(2*napalmRadius+1) ; 10 chars on left, 10 chars on right and 1 in center
jne RepeatFlame jne RepeatFlame
dec magic dec magic
jpl RepeatNapalm jpl RepeatNapalm
; after napalm
inc FallDown2 inc FallDown2
;now we must check tanks in range ;now we must check tanks in range
ldx NumberOfPlayers ldx NumberOfPlayers
dex
BurnedCheckLoop BurnedCheckLoop
dex
lda eXistenZ,x lda eXistenZ,x
beq EndNurnedCheckLoop beq EndNurnedCheckLoop
;here the tank exist ;here the tank exist
mwa xcircle xdraw
; calculate right edge of the fire ; calculate right edge of the fire
adw xdraw #(1*10-8) ; 10 characters on left side hit point (right edge of the fire - character width) adw xcircle #(napalmRadius-8) xdraw ; 10 characters on right side hit point (right edge of the fire - character width)
; now we compare tank position with right edge of the fire (napalm) ; now we compare tank position with right edge of the fire (napalm)
lda XtankstableH,x lda XtankstableH,x
cmp xdraw+1 cmp xdraw+1
@@ -375,7 +375,7 @@ BurnedCheckLoop
@ @
bcs TankOutOfFire bcs TankOutOfFire
; let's calculate left edge of the fire ; let's calculate left edge of the fire
sbw xdraw #(21-8) ; 10 chars on left, 10 chars on right and 1 in center (- character width) sbw xcircle #(napalmRadius+1) xdraw ; 10 chars on left and 1 in center
bpl @+ bpl @+
mwa #0 xdraw ; left screen edge mwa #0 xdraw ; left screen edge
@ @
@@ -397,8 +397,8 @@ NotHot
jsr DecreaseEnergyX jsr DecreaseEnergyX
TankOutOfFire TankOutOfFire
EndNurnedCheckLoop EndNurnedCheckLoop
txa dex
bne BurnedCheckLoop bpl BurnedCheckLoop
mva #sfx_silencer sfx_effect mva #sfx_silencer sfx_effect
rts rts
.endp .endp