diff --git a/constants.asm b/constants.asm index d9afc43..a4eeb93 100644 --- a/constants.asm +++ b/constants.asm @@ -788,8 +788,8 @@ WeaponUnits .by 10 ;Baby_Roller____ .by 5 ;Roller_________ .by 2 ;Heavy_Roller___ - .by 1 ;Riot_Charge____ - .by 5 ;Riot_Blast_____ + .by 5 ;Riot_Charge____ + .by 2 ;Riot_Blast_____ .by 5 ;Riot_Bomb______ .by 2 ;Heavy_Riot_Bomb .by 10 ;Baby_Digger____ @@ -802,7 +802,7 @@ WeaponUnits .by 5 ;Dirt_Ball______ .by 2 ;Ton_of_Dirt____ .by 2 ;Liquid_Dirt____ - .by 10 ;Dirt_Charge____ + .by 2 ;Dirt_Charge____ .by 10 ;Earth_Disrupter .by 5 ;Plasma_Blast___ .by 5 ;Laser__________ diff --git a/definitions.asm b/definitions.asm index 5d796f2..a2aefc5 100644 --- a/definitions.asm +++ b/definitions.asm @@ -26,8 +26,8 @@ price_Smoke_Tracer___ = 291 ;_11 price_Baby_Roller____ = 689 ;_12 price_Roller_________ = 600 ;_13 price_Heavy_Roller___ = 592 ;_14 -price_Riot_Charge____ = 0 ;330 ;_15 -price_Riot_Blast_____ = 0 ;341 ;_16 +price_Riot_Charge____ = 330 ;_15 +price_Riot_Blast_____ = 341 ;_16 price_Riot_Bomb______ = 369 ;_17 price_Heavy_Riot_Bomb = 322 ;_18 price_Baby_Digger____ = 336 ;_19 diff --git a/display.asm b/display.asm index d62ecc5..10dc036 100755 --- a/display.asm +++ b/display.asm @@ -65,7 +65,7 @@ dl ; MAIN game display list ;Screen displays go first to avoid crossing 4kb barrier ;----------------------------------------------- OptionsScreen - dta d"Welcome to Scorch ver. 136 (un)2000-2022" + dta d"Welcome to Scorch ver. 137 (un)2000-2022" dta d" Please select option with cursor keys " dta d" and press (Return) to proceed " OptionsHere diff --git a/lib/macro.hea b/lib/macro.hea index c284272..2a73514 100644 --- a/lib/macro.hea +++ b/lib/macro.hea @@ -77,11 +77,12 @@ ; WAIT ; waits one frame (1/50 s(PAL) or 1/60s(NTSC)) LDA VCOUNT - STA WSYNC - STA WSYNC - STA WSYNC -?WA CMP VCOUNT - BNE ?WA + ldy vcount +?WA cpy VCOUNT + BEQ ?WA +?wframe + cmp vcount + bne ?wframe .ENDM ;------------------------------------- .macro negw diff --git a/scorch.asm b/scorch.asm index 664cb76..a9c2fcb 100644 --- a/scorch.asm +++ b/scorch.asm @@ -239,10 +239,10 @@ skipzeroing Round .proc ; ;-------------------------------------------------- ; at the beginning of each Round we set energy -; of all players to 100 -; the maximum shooting energy to 1000 (it is 10*energy) +; of all players to 99 +; the maximum shooting energy to 990 (it is 10*energy) ; the default shooting energy to 350 -; the default shooting angle to 45 degrees +; the shooting angle is randomized ; of course gains an looses are zeroed jsr StatusDisplay @@ -361,12 +361,8 @@ DoNotFinishTheRound mva #0 noDeathCounter jsr DisplaySeppuku - jmp Seppuku - - - ;ldx TankNr @ ldx TankSequencePointer diff --git a/scorch.xex b/scorch.xex index 5350be1..09403d2 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/weapons.asm b/weapons.asm index 86e25db..a9e5033 100755 --- a/weapons.asm +++ b/weapons.asm @@ -37,8 +37,8 @@ ExplosionRoutines .word babyroller-1 .word roller-1 .word heavyroller-1 - .word VOID-1 ;riotcharge - .word VOID-1 ;riotblast + .word riotcharge-1 + .word riotblast-1 .word riotbomb-1 .word heavyriotbomb-1 .word babydigger-1 @@ -482,6 +482,20 @@ DiggerCharacter jmp ofdirt .endp ; ------------------------ +.proc riotcharge + inc FallDown2 + mva #31 ExplosionRadius + jsr CalculateExplosionRange + jmp cleanDirt +.endp +; ------------------------ +.proc riotblast + inc FallDown2 + mva #61 ExplosionRadius + jsr CalculateExplosionRange + jmp cleanDirt +.endp +; ------------------------ .proc laser ldx TankNr lda AngleTable,x @@ -785,15 +799,21 @@ ExplodeNow rts .endp ; -------------------------------------------------- +.proc cleanDirt + mva #0 color + jmp ofdirt.NoColor +.endp +; -------------------------------------------------- .proc ofdirt ; ; -------------------------------------------------- ; makes dirt on xdraw,ydraw position and of ExplosionRadius height + mva #1 color +NoColor ; jump here with color=0 to clean dirt mwa xdraw xcircle mva ydraw ycircle lda #1 ; current dirt width sta magic - sta color NextRow wait ldy magic