diff --git a/constants.asm b/constants.asm index 87140ed..946ac94 100644 --- a/constants.asm +++ b/constants.asm @@ -435,7 +435,7 @@ WeaponUnits .by 3 ;Funky_Bomb_____ .by 2 ;MIRV___________ .by 1 ;Death_s_Head___ - .by 10 ;Napalm_________ + .by 4 ;Napalm_________ .by 2 ;Hot_Napalm_____ .by 20 ;Tracer_________ .by 10 ;Smoke_Tracer___ diff --git a/definitions.asm b/definitions.asm index d643c6f..9e263fb 100644 --- a/definitions.asm +++ b/definitions.asm @@ -8,7 +8,7 @@ display = $1010 ;screen takes $2K due to clearing routine MaxPlayers = 6 maxOptions = 7 ;number of all options PMOffset = $23 ; P/M to graphics offset - +napalmRadius = 10 ;Weapon prices (*10 on screen) price_Baby_Missile___ = 0 ;_0 @@ -19,8 +19,8 @@ price_LeapFrog_______ = 192 ;_4 price_Funky_Bomb_____ = 293 ;_5 price_MIRV___________ = 456 ;_6 price_Death_s_Head___ = 337 ;_7 -price_Napalm_________ = 20 ;496 ;_8 -price_Hot_Napalm_____ = 40 ;511 ;_9 +price_Napalm_________ = 125 ;_8 +price_Hot_Napalm_____ = 162 ;_9 price_Tracer_________ = 102 ;_10 price_Smoke_Tracer___ = 291 ;_11 price_Baby_Roller____ = 211 ;_12 diff --git a/scorch.xex b/scorch.xex index e5cf81a..529b765 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 67c2cca..0f0905c 100644 --- a/weapons.asm +++ b/weapons.asm @@ -284,7 +284,7 @@ NoLowerCircle ; ------------------------ .proc napalm 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 mva #0 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm jmp xnapalm @@ -292,7 +292,7 @@ NoLowerCircle ; ------------------------ .proc hotnapalm 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 mva #1 ExplosionRadius ; in this weapon - flag: 0 - napalm, 1 - hotnapalm jmp xnapalm @@ -304,7 +304,7 @@ NoLowerCircle sty magic RepeatNapalm ; external loop (for fire animation) 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 sty magic+1 RepeatFlame ; internal loop (draw flames) @@ -351,21 +351,21 @@ CharOffTheScreen adw xdraw #1 ; next char 1 pixels to right inc 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 dec magic jpl RepeatNapalm + ; after napalm inc FallDown2 ;now we must check tanks in range ldx NumberOfPlayers + dex BurnedCheckLoop - dex lda eXistenZ,x beq EndNurnedCheckLoop ;here the tank exist - mwa xcircle xdraw ; 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) lda XtankstableH,x cmp xdraw+1 @@ -375,7 +375,7 @@ BurnedCheckLoop @ bcs TankOutOfFire ; 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 @+ mwa #0 xdraw ; left screen edge @ @@ -397,8 +397,8 @@ NotHot jsr DecreaseEnergyX TankOutOfFire EndNurnedCheckLoop - txa - bne BurnedCheckLoop + dex + bpl BurnedCheckLoop mva #sfx_silencer sfx_effect rts .endp