diff --git a/constants.asm b/constants.asm index 3b62172..abeb4dd 100644 --- a/constants.asm +++ b/constants.asm @@ -510,7 +510,7 @@ NamesOfWeapons ;the comment is an index in the tables dta d"Ton of Dirt " ; 27 dta d"Liquid Dirt " ; 28 dta d"Dirt Charge " ; 29 - dta d"Buy me! " ; 30 + dta d"Best F...g Gifts" ; 30 dta d"Laser " ; 31 ;------defensives dta d"White Flag " ; 32 diff --git a/scorch.asm b/scorch.asm index 5e996b7..54413d8 100644 --- a/scorch.asm +++ b/scorch.asm @@ -484,6 +484,7 @@ NoGameOverYet jsr SetPMWidth lda #0 + sta AfterBFGflag ; reset BFG flag sta COLOR2 ; status line "off" sta COLOR1 @@ -836,8 +837,12 @@ NoPlayerNoDeath inc CurrentResult mva #sfx_death_begin sfx_effect + lda #77 ; mumber of defensive text after BFG! + bit AfterBFGflag + bmi TextAfterBFG ; RandomizeDeffensiveText randomize talk.NumberOfOffensiveTexts (talk.NumberOfDeffensiveTexts+talk.NumberOfOffensiveTexts-1) +TextAfterBFG sta TextNumberOff ldy TankTempY mva #$ff plot4x4color diff --git a/scorch.bin b/scorch.bin index 4303a3f..ac60d94 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index da4553c..43fe9a5 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index 40f64e8..86baa48 100644 --- a/textproc.asm +++ b/textproc.asm @@ -795,11 +795,9 @@ Suprise ; get a random weapon bcc GetRandomDefensive GetRandomOffensive randomize ind_Missile________ last_offensive_____ - cmp #ind_Buy_me_________ - beq GetRandomOffensive + ;cmp #ind_Buy_me_________ ; buy me do not buy buy me :) + ;beq GetRandomOffensive tay -; lda WeaponUnits,y ; check if weapon exist -; beq GetRandomOffensive bne NoSuprise ; Y always <> 0 GetRandomDefensive randomize ind_Battery________ last_defensive_____ diff --git a/variables.asm b/variables.asm index 1400733..efb6a38 100644 --- a/variables.asm +++ b/variables.asm @@ -279,6 +279,7 @@ UpNdown .DS 1 temptankX .DS 2 temptankNr .DS 1 +AfterBFGflag .DS 1 ;---------------------------------------------------- ;Variables from textproc.s65 diff --git a/weapons.asm b/weapons.asm index 5a1b936..89c834a 100644 --- a/weapons.asm +++ b/weapons.asm @@ -49,7 +49,7 @@ ExplosionRoutines .word tonofdirt-1 ;Ton_of_Dirt____;_27 .word liquiddirt-1 ;Liquid_Dirt____;_28 .word dirtcharge-1 ;Dirt_Charge____;_29 - .word VOID-1 ;Buy_me_________;_30 + .word BFG-1 ;Buy_me_________;_30 .word laser-1 ;Laser__________;_31 VOID @@ -57,7 +57,20 @@ tracer rts .endp ; ------------------------ - +.proc BFG + ; Kill all :) + ldx NumberOfPlayers + dex + lda #$00 +CheckNextTankBFG + cpx TankNr ; not me! + beq @+ + sta Energy,x +@ dex + bpl CheckNextTankBFG + stx AfterBFGflag ; $ff + rts +.endp ; ------------------------ .proc babymissile mva #sfx_baby_missile sfx_effect @@ -1396,6 +1409,7 @@ pressedTAB jmp BeforeFire CTRLpressedTAB + mva #sfx_purchase sfx_effect ldx TankNr lda ActiveWeapon,x cmp #first_offensive____ ; #0