'LOWRES FIGHT V3.3 BY DR GONZO & GREENPILLOZ 'WE THOUGHT THAT WHAT LOWRES NX REALLY NEEDED 'WAS A GOOD OLD FIGHTING GAME... 'WE GAVE IT A TRY, SO HERE'S A FIGHTING GAME 'BUT WE MIGHT STILL NEED A GOOD ONE THO ;) '=========================================== 'LOWRES FIGHT, 'UNLEASH THE POWER AND FACE THE FURY! 'FROM ACROSS THE GLOBE COME TWO OF THE WILDEST FIGHTERS THE WORLD HAS EVER KNOWN. 'GATHER YOUR COURAGE AND PREPARE TO BATTLE YOUR OPPONENT IN A BARE-KNUCKLED BRAWL. 'COVER YOUR HEARS AS YOU BREAK THE SOUND BARRIER WITH THE AWESOME POWER OF CHARGED COMBOS AND BRUTAL SPECIAL MOVES. 'CAN YOU SURVIVE? CAN ANYONE? 'FOR ONE OR TWO PLAYERS SIMULTANEOUS 'STATE OF THE ART, HIGH RESOLUTION '- VIOLENCE - BAD LANGUAGE - FEAR - DRUGS - 'PEGI 18 - WWW.PEGI.INFO '========================================== 'CONTROLS: '(A) SLOW PUNCH '(B) FAST PUNCH '(->) + (->) KICK P1 '(<-) + (<-) KICK P2 'YOU MUST CHARGE 3 STACKS OF SPECIAL TO BREAK THE SOUND! '========================================== GAMEPAD 1 ' SOME INITIALISATION THAT NEED TO BE ' AT THE BEGINING DIM GLOBAL BLOOD(10, 3) 'FLAMES FLAME=0 FOR I=0 TO 20 SPRITE 32+I PAL 6 NEXT I 'LOGO ANIM BG 0 BG COPY 12,0,6,2 TO 7,-2 Y=0 WHILE Y>-72 ' J'AI MIS UN SCROLL POUR QUE ' CE SOIT PLUS SMOOTH SCROLL 0, 0, Y WAIT VBL ADD Y, -1 WEND 'GAME BIP SOUND ;-) TRACK 16,0 WAIT 100 'FX SOUND ' PUNCH SOUND 0,2,8, ENVELOPE 0,0,3,0,3 LFO 0,14,15,0,0 LFO WAVE 0,1,0,1,1 MAINMENU: WAIT 40 RANDOMIZE TIMER WA=0 WB=0 SPRITE OFF CLS SPRITE 1 SIZE 0 SPRITE 2 SIZE 0 SPRITE 2 PAL 6 AX=64 AY=40 BG COPY 0,0,9,12 TO 5,2 MUSIC 18 STAGE=0 W=63 DO IF UP TAP (0) THEN AY=40 PLAY 0,36,1 END IF IF DOWN TAP (0) THEN AY=56 PLAY 0,36,1 END IF IF BUTTON TAP (0) THEN PLAY 0,12,1 WAIT 10 IF AY=40 THEN NBPLAYERS = 1 IA=1 GAMEPAD 1 GOTO INIT ELSE IF AY=56 THEN NBPLAYERS = 2 IA=0 GAMEPAD 2 GOTO INIT END IF END IF IF LEFT TAP (0) THEN ADD STAGE,-1, 0 TO 2 END IF IF RIGHT TAP (0) THEN ADD STAGE, 1, 0 TO 2 END IF IF STAGE=0 THEN W=63 SPRITE 2 PAL 6 ELSE IF STAGE=1 THEN W=62 SPRITE 2 PAL 7 ELSE IF STAGE=2 THEN W=143 SPRITE 2 PAL 7 END IF SPRITE 1,AX,AY, 16 SPRITE 2,76,72,W SPRITE 32, 1*8, 13*8, 9+(FLAME MOD 4)*16 SPRITE 33, 18*8, 13*8, 9+((FLAME+1) MOD 4)*16 ADD FLAME, 0.1 WAIT VBL LOOP INIT: CLS SPRITE OFF TACK=0 DODGE=0 PUNCH=0 PUNCH2=0 KICK=0 WALK=0 HEAD=0 DODGEB=0 PUNCHB=0 PUNCH2B=0 KICKB=0 WALKB=0 HEADB=0 X=24 Y=24 Z=0 XB=112 YB=24 HEALTHA=8 HEALTHB=8 FACEA=0 FACEB=0 FACE=0 DOPUNCH=0 DOPUNCH2=0 DOKICK=0 PREVLEFT=0 PREVRIGHT=0 SPECIAL_A=0 SPECIAL_B=0 FLAME=0 'SETTINGS PUNCHSPEED=0.3 DAMAGE_PUNCH = 0.02 DAMAGE_PUNCH2 = 0.04 DAMAGE_KICK = 0.08 DAMAGE_SP = 0.1 SPE_INCREASE = 0.1 COOLDOWN=0.009 'IA VARS ANGRY=0 NERVOUS=0 PRESSLEFT=0 PRESSRIGHT=0 PRESSUP=0 PRESSDOWN=0 DOKICKB=0 DOPUNCHB=0 DOPUNCH2B=0 COUPDEPRESS=0 SPRITE 1 SIZE 2 SPRITE 20 SIZE 2 SPRITE 3 SIZE 2 SPRITE 4 SIZE 2 SPRITE 5 SIZE 2 SPRITE 6 SIZE 2 SPRITE 6,X,Y, 1 SPRITE 20,X,Y+24, 64 SPRITE 3,X,Y+48,128 SPRITE 4,X,Y+72,192 SPRITE 5,X+24,Y+24,67 SPRITE 1,X-2,Y+30,131 SPRITE.A 12,(,1,,,) SPRITE.A 7,(,1,,,) SPRITE.A 8,(,1,,,) SPRITE.A 9,(,1,,,) SPRITE.A 10,(,1,,,) SPRITE.A 11,(,1,,,) SPRITE 12 SIZE 2 SPRITE 7 SIZE 2 SPRITE 8 SIZE 2 SPRITE 9 SIZE 2 SPRITE 10 SIZE 2 SPRITE 11 SIZE 2 SPRITE 12,XB,YB, 13 SPRITE 8,XB,YB+24, 64 SPRITE 9,XB,YB+48,128 SPRITE 10,XB,YB+72,192 SPRITE 11,XB-24,YB+24,67 SPRITE 7,XB-2,YB+30,131 'KICK SPRITE 15 PAL 2 SPRITE 15 SIZE 2 'SPRITE 15,X+23,Y+56, 205 SPRITE 16 PAL 1 SPRITE 16 SIZE 2 SPRITE.A 16,(,1,,,) 'SPRITE 16,XB-23,YB+56, 205 'BRAS SPRITE 5 PAL 4 SPRITE 1 PAL 4 SPRITE 11 PAL 3 SPRITE 7 PAL 3 'CHEMISE SPRITE 8 PAL 1 SPRITE 20 PAL 2 'TETE SPRITE 6 PAL 4 SPRITE 12 PAL 4 'FUTAL HAUT SPRITE 10 PAL 1 SPRITE 4 PAL 2 'FUTAL BAS SPRITE 9 PAL 1 SPRITE 3 PAL 2 'BLOOD GRAVITY=0.9 'BX, BY, VX, VY TIMES 10 GLOBAL NBLOOD NBLOOD=0 FOR I=0 TO 10 SPRITE I+21 SIZE 1 SPRITE I+21 PAL 3 SPRITE I+21 PRIO 1 BLOOD(I, 0) = 20*8 '19*8 BLOOD(I, 1) = 16*8 '15*8 BLOOD(I, 2) = 0 BLOOD(I, 3) = 0 NEXT I 'FLAMES FOR I=0 TO 20 SPRITE 32+I PAL 6 NEXT I SPRITE 50 PAL 1 SPRITE 51 PAL 1 SPRITE 52 PAL 1 SPRITE 53 PAL 1 SPRITE 54 PAL 1 BLOOD: SPRITE 2 SIZE 1 SPRITE 2 PAL 3 DRAWBACK: BG 0 PAL 0 BG FILL 0,0 TO 20,0 CHAR 0 BG FILL 0,12 TO 20,16 CHAR 49 IF STAGE=0 THEN CHANSON=0 BG COPY 2,12, 8, 4 TO 0,2 BG COPY 2,12, 8, 4 TO 8,2 BG COPY 2,12, 8, 4 TO 16,2 BG COPY 2,12, 8, 4 TO 0,2 BG COPY 2,12, 8, 4 TO 8,2 BG COPY 2,12, 8, 4 TO 16,2 END IF IF STAGE=1 THEN CHANSON=12 PALETTE 0,47,,, BG COPY 0,16,20,16 TO 0,0 END IF IF STAGE=2 THEN CHANSON=22 BG 1 PAL 7 CALL CLEARCHAR(177) CALL DRAWPX(177,4,4,1) FOR I=0 TO 40 CELL RND(31), RND(8)+2, 177 NEXT I CALL DRAWPLANET(16, RND(5)+2, 4) BG 0 END IF INTRO: STOP SPRITE 50, 68, 8, 114 SPRITE 51, 76,8,115 SPRITE 52, 84,8,116 PLAY 0,56,1 WAIT 20 SPRITE OFF 50 SPRITE OFF 51 SPRITE OFF 52 WAIT 20 SPRITE 50, 68, 8, 114 SPRITE 51, 76,8,115 SPRITE 52, 84,8,116 PLAY 0,56,1 WAIT 20 SPRITE OFF 50 SPRITE OFF 51 SPRITE OFF 52 WAIT 20 SPRITE 50, 68, 8, 114 SPRITE 51, 76,8,115 SPRITE 52, 84,8,116 PLAY 0,56,1 WAIT 20 SPRITE OFF 50 SPRITE OFF 51 SPRITE OFF 52 WAIT 20 MUSIC CHANSON '------------------------------ MAIN LOOP ------------------------------ MAIN: DO IF STAGE=2 THEN SCROLL 1, TACK/2, 0 IF ((TACK/2) MOD 32*8) = (19*8) THEN BG 1 'CLEARING PAL 7 FOR I=14 TO 18 FOR J=0 TO 10 CELL I, J, RND(4)\4*177 NEXT J NEXT I 'DRAWING A NEW PLANET CALL DRAWPLANET(16, RND(5)+2, RND(4)) BG 0 END IF END IF ' REMOVES THE RED COLOR ' OF BODIES SPRITE 8 PAL 1 SPRITE 20 PAL 2 IF FACE>15 THEN FACE=0 FACEA=0 FACEB=0 SPRITE OFF 2 END IF FACE=FACE+1 TACK=TACK+1 ' ------- PLAYER 1 ------- ' ==== DIRS ==== IF RIGHT (0) AND X<138 THEN X=X+1 WALK=((TACK/10) MOD 3)*3 END IF IF RIGHT TAP(0) THEN DOKICK = DOKICK+0.5 END IF IF LEFT (0) AND X>-8 THEN IF KICK=0 THEN PREVLEFT=1 X=X-1 WALK=((TACK/10) MOD 2)*3 END IF IF UP TAP (0) AND Y=24 THEN Y=Y-24 HEAD=-6 END IF IF DOWN (0) AND Y=24 THEN DODGE=-12 HEAD=-3 END IF ' ==== PUNCH ==== IF BUTTON (0,1) THEN DOPUNCH=1 IF DOPUNCH=1 THEN PUNCH = PUNCH + PUNCHSPEED IF SPRITE HIT (5,8) AND INT(PUNCH) = 2 THEN PLAYER=2 PTYPE=1 GOSUB HIT_PLAYER END IF IF PUNCH > 3 THEN 'STOP THE PUNCH SEQUENCE DOPUNCH=0 PUNCH=0 END IF END IF ' ==== PUNCH2 ==== IF BUTTON (0,0) THEN DOPUNCH2=1 IF DOPUNCH2=1 THEN PUNCH2 = PUNCH2 + PUNCHSPEED IF SPRITE HIT (1,8) AND INT(PUNCH2) = 2 THEN PLAYER=2 PTYPE=2 GOSUB HIT_PLAYER END IF IF PUNCH2 > 3 THEN DOPUNCH2=0 PUNCH2=0 END IF END IF ' ==== KICK (PRESS RIGHT TWICE) ==== IF DOKICK >= 1 THEN KICK=8 DOKICK=0 WALK=0 ELSE IF KICK>0 THEN WALK=0 DEC KICK IF SPRITE HIT (15,10) THEN PLAYER=2 PTYPE=3 GOSUB HIT_PLAYER END IF ELSE SPRITE OFF 15 END IF IF Y<24 THEN Y=Y+1 IF DODGE<0 THEN INC DODGE IF HEAD<0 THEN INC HEAD IF XB>144 THEN XB=144 IF X<-8 THEN X=-8 ' ------- PLAYER 2 -------- 'ARTIFICIAL INTELIGENCE MAGEULE ! IF IA=1 THEN GOSUB IA END IF ' ==== DIRS ==== IF (RIGHT (1) OR PRESSRIGHT=1) AND XB<138 THEN XB=XB+1 WALKB=((TACK/10) MOD 3)*3 PREVRIGHT=1 END IF IF (LEFT (1) OR PRESSLEFT=1) AND XB>-8 THEN XB=XB-1 WALKB=((TACK/10) MOD 2)*3 END IF IF LEFT TAP(1) THEN DOKICKB = DOKICKB + 0.5 END IF IF (UP TAP (1) OR PRESSUP=1) AND YB=24 THEN YB=YB-24 HEADB=-6 END IF IF (DOWN (1) OR PRESSDOWN=1) AND YB=24 THEN DODGEB=-12 HEADB=-3 END IF ' ==== PUNCHB ==== IF BUTTON (1,1) THEN DOPUNCHB=1 IF DOPUNCHB=1 THEN PUNCHB = PUNCHB + PUNCHSPEED IF SPRITE HIT (5,8) AND INT(PUNCHB) = 2 THEN PLAYER=1 PTYPE=1 GOSUB HIT_PLAYER END IF IF PUNCHB > 3 THEN DOPUNCHB=0 PUNCHB=0 END IF END IF ' ==== PUNCH2B ==== IF BUTTON (1,0) THEN DOPUNCH2B=1 IF DOPUNCH2B=1 THEN PUNCH2B = PUNCH2B + PUNCHSPEED IF SPRITE HIT (1,8) AND INT(PUNCH2B) = 2 THEN PLAYER=1 PTYPE=2 GOSUB HIT_PLAYER END IF IF PUNCH2B > 3 THEN DOPUNCH2B=0 PUNCH2B=0 END IF END IF ' ==== KICKB ==== IF DOKICKB >= 1 THEN KICKB=8 DOKICKB=0 WALKB=0 ELSE IF KICKB>0 THEN WALKB=0 DEC KICKB IF SPRITE HIT (16,4) THEN PLAYER=1 PTYPE=3 GOSUB HIT_PLAYER END IF END IF IF YB<24 THEN YB=YB+1 IF DODGEB<0 THEN INC DODGEB IF HEADB<0 THEN INC HEADB IF X>144 THEN X=144 ' SUMO IF SPRITE HIT (5,11) THEN X=X-2.4 XB=XB+2.4 END IF IF SPRITE HIT (20,8) OR SPRITE HIT (20,9) OR SPRITE HIT (3,8) OR SPRITE HIT (3,9)THEN X=X-2.4 XB=XB+2.4 END IF IF SPRITE HIT (15,16) THEN X=X-2.4 XB=XB+2.4 END IF GOSUB DRAW IF HEALTHA<=0 THEN GOTO KOA IF HEALTHB<=0 THEN GOTO KOB ADD FLAME, 0.1 FOR I=0 TO 10 SPRITE 32+I, I*2*8, 11*8, 9+16*((FLAME+I*3) MOD 4) NEXT I WAIT VBL LOOP ' ------------------------------ END MAIN LOOP ------------------------------ DRAW: SPRITE 6,X,Y-DODGE - HEAD, 1 +FACEA SPRITE 20,X,Y+24-DODGE, 64 SPRITE 3,X,Y+48-DODGE,128 SPRITE 4,X,Y+72,192+WALK SPRITE 5,X+24,Y+24-DODGE-HEAD/2,67+INT(PUNCH)*3 SPRITE 1,X-2+(INT(PUNCH2)+1)*3,Y+30-DODGE-HEAD/2,131+INT(PUNCH2)*3 IF KICK>0 THEN SPRITE 15,X+23,Y+56-DODGE, 205 ELSE SPRITE OFF 15 END IF SPRITE 12,XB,YB-DODGEB - HEADB, 13 - FACEB SPRITE 8,XB,YB+24-DODGEB, 64 SPRITE 9,XB,YB+48-DODGEB,128 SPRITE 10,XB,YB+72,192+WALKB SPRITE 11,XB-24,YB+23-DODGEB-HEADB/2,67+INT(PUNCHB)*3 SPRITE 7,XB-(INT(PUNCH2B)+1)*3,YB+30-DODGEB-HEADB/2,131+INT(PUNCH2B)*3 IF KICKB>0 THEN SPRITE 16,XB-23,YB+56-DODGEB, 205 ELSE SPRITE OFF 16 END IF FOR J=0 TO 10 'VY=VY+GRAVITY BLOOD(J,3) = BLOOD(J,3) + GRAVITY 'X=X+VX BLOOD(J,0) = BLOOD(J,0) + BLOOD(J,2) 'Y=Y+VY BLOOD(J,1) = BLOOD(J,1) + BLOOD(J,3) IF BLOOD(J,1) > 16*8 OR BLOOD(J,0) > 21*8 OR BLOOD(J, 1)<-16 OR BLOOD(J,0)<-16 THEN BLOOD(J,0)=15*8 BLOOD(J,1)=20*8 BLOOD(J,2)=0 BLOOD(J,3)=0 END IF TRACE BLOOD(J,0) SPRITE J+21, BLOOD(J,0), BLOOD(J,1), 7 'VX>0 IF BLOOD(J, 2)>0 THEN SPRITE J+21 FLIP 0, 0 ELSE SPRITE J+21 FLIP 1, 0 END IF NEXT J GOSUB STATUS RETURN STATUS: BG 0 BG FILL 0,0 TO 20,0 CHAR 0 PAL 2 BG FILL 0,0 TO HEALTHA-1,0 CHAR 48 BG FILL 0,1 TO -1 +WA,1 CHAR 117 PAL 1 BG FILL 12,0 TO HEALTHB +11,0 CHAR 48 BG FILL 12,1 TO WB +11,1 CHAR 117 PAL 2 CELL 8, 0, 58+INT(SPECIAL_A) PAL 1 CELL 11, 0, 58+INT(SPECIAL_B) TINT 11, 0 FLIP 1, 0 PAL 1 RETURN KOA: FACEB = 0 FOR I=0 TO 30 PLAY 0, 36-I, 10 ADD X, -1 GOSUB DRAW WAIT 5 NEXT I SPRITE 53, 24, 0, 112 SPRITE 54, 40,0,113 WB=WB+1 IF WB=3 THEN BG COPY 12,4,6,1 TO 7,1 DO IF BUTTON TAP (0) THEN GOTO MAINMENU WAIT VBL LOOP END IF GOTO RESTART RETURN KOB: FACEA = 0 FOR I=0 TO 30 PLAY 0, 36-I, 1 ADD XB, 1 GOSUB DRAW WAIT 5 NEXT I SPRITE 53, 104, 0, 112 SPRITE 54, 120,0,113 WA=WA+1 IF WA=3 THEN BG COPY 12,3,6,1 TO 7,1 DO IF BUTTON TAP (0) THEN GOTO MAINMENU WAIT VBL LOOP END IF GOTO RESTART RETURN RESTART: WAIT 20 DO IF BUTTON TAP (0) THEN GOTO INIT WAIT VBL LOOP HIT_PLAYER: ' DEALS WITH SFX AND POINTS WHEN ' A PLAYER IS HIT. ' (MAN YOU MADE IT SO COMPLICATED ! ) ' (SO I MADE IT WORST ! ) ' HIT PLAYER 1 OR HIT PLAYER 2 ? ' PTYPE: ' 1: PUNCH ' 2: PUNCH 2 ' 3: KICK ' RECUL INC XB DEC X ' THE SPECIEAL MECHANICS: ' ' IF YOU HIT THE OTHER PLAYER ' THEN YOUR SPECIAL GOES UP ' IF HE HIT YOU IT GOES DOWN ' IF IT REACHES 3 YOU CAN DO A ' "PATATE DE FORAIN" IF PLAYER = 2 THEN ADD ANGRY, 0.1 SPECIAL_B = SPECIAL_B - SPE_INCREASE *PTYPE IF SPECIAL_B<0 THEN SPECIAL_B=0 IF SPECIAL_A<3 THEN SPECIAL_A = SPECIAL_A + SPE_INCREASE*PTYPE ELSE 'PATATE DE FORAIN FOR I=0 TO 60 PLAY 0, 36-I\2, 1 ADD XB, 1 GOSUB DRAW WAIT VBL NEXT I HEALTHB=HEALTHB-DAMAGE_SP SPECIAL_A=0 END IF ELSE IF PLAYER=1 THEN SPECIAL_A = SPECIAL_A - SPE_INCREASE*PTYPE IF SPECIAL_A<0 THEN SPECIAL_A = 0 IF SPECIAL_B<3 THEN SPECIAL_B = SPECIAL_B + SPE_INCREASE*PTYPE ELSE 'PATATE DE FORAIN FOR I=0 TO 60 PLAY 0, 36-I\2, 1 ADD X, -1 GOSUB DRAW WAIT VBL NEXT I HEALTHB=HEALTHB-DAMAGE_SP SPECIAL_B=0 END IF END IF ' SFX AND POINTS IF PLAYER = 2 AND PTYPE=1 THEN PLAY 0,32,1 CALL MAKEBLOOD(X+24,FACE + Y+24-DODGE-HEAD/2, 1) HEALTHB=HEALTHB-DAMAGE_PUNCH FACEB=3 ELSE IF PLAYER = 2 AND PTYPE=2 THEN PLAY 0,31,1 CALL MAKEBLOOD(X-2+PUNCH2+PUNCH2/2,FACE+Y+30-DODGE-HEAD/2, 1) HEALTHB=HEALTHB-DAMAGE_PUNCH2 FACEB=3 ELSE IF PLAYER = 2 AND PTYPE=3 THEN PLAY 0,29,1 CALL MAKEBLOOD(X+47,FACE + Y+56-DODGE, 1) XB=XB+5 HEALTHB=HEALTHB-DAMAGE_KICK FACEB=3 ELSE IF PLAYER=1 AND PTYPE=1 THEN PLAY 0,32,1 CALL MAKEBLOOD(XB-24,FACE +YB+23-DODGEB-HEADB/2, -1) HEALTHA=HEALTHA-DAMAGE_PUNCH FACEA=3 ELSE IF PLAYER=1 AND PTYPE=2 THEN PLAY 0,31,1 CALL MAKEBLOOD(XB+PUNCH2B+PUNCH2B/2,FACE+YB+30-DODGEB-HEADB/2, -1) HEALTHA=HEALTHA-DAMAGE_PUNCH2 FACEA=3 ELSE IF PLAYER=1 AND PTYPE=3 THEN PLAY 0,29,1 CALL MAKEBLOOD(XB-47,FACE + YB+56-DODGE, -1) X=X-5 HEALTHA=HEALTHA-DAMAGE_KICK FACEA=3 END IF RETURN SUB MAKEBLOOD(BX, BY, DIR) ADD NBLOOD, 1, 0 TO 10 'X BLOOD(NBLOOD, 0) = BX 'Y BLOOD(NBLOOD, 1) = BY 'VX BLOOD(NBLOOD, 2) = DIR*(RND(2)+3) 'VY BLOOD(NBLOOD, 3) = -(RND(2)+2) END SUB IA: ' THE PART THAT DEAL WITH MOTION PRESSUP=0 NERVOUS = (8-HEALTHB)/8*59 IF NERVOUS>59 THEN NERVOUS=59 IF TIMER MOD (60-NERVOUS)=0 THEN ' EVERY X SECONDS WE CHANGE DIR ' IF NERVOUS AUGMENTS THEN HE WILL ' CHANGE DIR MORE OFTEN IF RND(3)=0 THEN PRESSRIGHT=1 PRESSLEFT=0 ELSE PRESSRIGHT=0 PRESSLEFT=1 END IF IF RND(2)=0 THEN PRESSDOWN=1 ELSE PRESSUP=1 PRESSDOWN=0 END IF 'COUP DE PRESS IF RND(12)=1 THEN ANGRY=ANGRY+5 ' 12 = ANGRY MEN ? END IF ' THE PART THAT DEAL WITH ATTACKS IF ANGRY>1 THEN IF ANGRY>10 THEN ANGRY=10 PRESSLEFT=1 IF (DOPUNCHB + DOPUNCH2B + DOKICKB) = 0 THEN 'HE IS NOT CURRENTLY ATTACKING R = RND(INT((10-ANGRY)*2+3)) ' THE MORE I_HE IS ANGRY THE MORE ' THE PROBABILITY TO ATTACK ' ( FROM 3 CHANCE OVER 23 TO 3 CHANCES OVER 3) IF R=0 THEN DOKICKB=1 ELSE IF R=1 THEN DOPUNCH2B=1 ELSE IF R=2 THEN DOPUNCHB=1 ELSE DOKICKB=0 DOPUNCH2B=0 DOPUNCHB=0 END IF END IF END IF ADD ANGRY, -COOLDOWN IF ANGRY<0 THEN ANGRY=0 RETURN SUB DRAWPLANET(PLX, PLY, PSIZE) PAL RND(3)+4 RADIUS=PSIZE*8/2 NUMC=240 C=1 C1=1 C2=2 SHADOW=RADIUS*2.3 FOR I=0 TO PSIZE^2 CALL CLEARCHAR(NUMC+I) NEXT I FOR I=0 TO PSIZE-1 FOR J=0 TO PSIZE-1 'CALL CLEARCHAR(NUMC) FOR L=0 TO 7 FOR K=0 TO 7 DX = (K + I*8) - PSIZE*8/2 DY = (L + J*8) - PSIZE*8/2 IF (DX^2+DY^2)<=RADIUS^2 THEN IF RND(2)=0 THEN IF RND(1) = 0 THEN C=2 ELSE IF (K + I*8) MOD PSIZE*8 < RND(PSIZE*8/2) AND (L + J*8) MOD PSIZE*8 > RND(PSIZE*8/2) THEN CALL DRAWPX(NUMC, K, L, C2) ELSE CALL DRAWPX(NUMC, K, L, C1) END IF 'IF ((PSIZE-(K + I*8))^2+(PSIZE-(L + J*8))^2)>SHADOW^2 THEN IF ((7-K + (PSIZE-I)*8)^2+(7-L + (PSIZE-J)*8)^2)>=SHADOW^2 THEN C=3 ELSE C=1 END IF END IF END IF CALL DRAWPX(NUMC, K, L, C) END IF NEXT K NEXT L CX=PLX-PSIZE/2+I CY=PLY+PSIZE/2-J IF CX>=0 AND CX<=19 AND CY>=0 AND CY<=15 THEN CELL CX, CY, NUMC END IF ADD NUMC, 1 NEXT J NEXT I END SUB SUB DRAWPX(NUMC, PX, PY, COL) 'DRAWS AN INDIVIDUAL PIXEL ONTO CHAR NUMC WITH COLOR %B1B0 ADDR = $8000+16*NUMC+(7-PY) B0 = COL MOD 2 B1 = COL \ 2 IF B0=1 THEN BYT = PEEK(ADDR) OR 2^INT(7-PX) POKE ADDR, BYT ELSE BYT = PEEK(ADDR) AND (%11111111 - 2^INT(7-PX)) POKE ADDR, BYT END IF IF B1=1 THEN BYT = PEEK(ADDR+8) OR 2^INT(7-PX) POKE ADDR+8, BYT ELSE BYT = PEEK(ADDR+8) AND (%11111111 - 2^INT(7-PX)) POKE ADDR+8, BYT END IF END SUB SUB CLEARCHAR(NUMC) 'RESET ALL PIXELS OF ONE CHAR FOR I=0 TO 7 ADDR = $8000+16*NUMC+I POKE ADDR, %00000000 POKE ADDR+8, %00000000 NEXT I END SUB #1:MAIN PALETTES 003F2A15003A3834003A3816003A2A30 003A2515003C341500393C35003F1B08 #2:MAIN CHARACTERS 00000000000000000000000000000000 000000000000000000000103070F1F3F 00000000000000000000FFFFFFFFFFFF 00000000000000000000F8FCFEFFFFFE 000000000000000000000103070F1F3F 00000000000000000000FFFFFFFFFFFF 00000000000000000000F8FCFEFFFFFE 00000000000000000000000000000000 00000001000010010000000100001001 0E1C366341495B7E0E1C3E7F7F776766 00000103070F000000000103073F1F7F 0000FFFFFFFF00000000FFFFFFFFFFFF 0000F8FCFEFE00000000F8FCFEFEFEFE 00000103070F000000000103073F1F3F 0000FFFFFFFF00000000FFFFFFFFFFFF 0000F8FCFEFE00000000F8FCFEFEFEFE 0000000001E20418181CFEFFFFFE1C18 00000001030202033F3F3F3E3C3D3D3C 3F77F9FFFFFFFFFFC088060004000000 FCF4CCFCFCFCBCBC0008300010004040 00000001030202033F3F3F3E3C3D3D3C 3B77FFFFFFFFFFFFC488000A040A0000 ECF4FCFCFCFCBCBC1008002810284040 00020008021020000002000802102000 00500280084100090050028008410009 020E3E6349414B7E020E3E7F777F7766 0F1F1F1F1F1E1E3FFFBFBFBFBCBD3D3C FBF7FFFFFFFFBF9FC488C0E562656060 ECF4FCFCFCFCBCBC1008002810284040 0F1F1F1F1F1E1E3F7F7F7F7F7C7D3D3C FFF7F9FFFFFFBF9FC088C6E062606060 FCF4CCFCFCFCBCBC0008300010004040 003C4218002099423C7EDBB9A1B9DB7E 01000000000000001E1F1F1F1F0F0300 FFFFFFFFFFFFFF7F0000000001000000 9CFCFCFCFCFCF8F060000000E0000000 01000000000000001E1F1F1F1F0F0300 FFFFFFFFFFFFFF7F0000000000000000 9CFCFCFCFCFCF8F0600000C0C0C00000 FFFFFFFFFFFFFFFF0000000000000000 0000000000000000FFFFFFFFFFFFFFFF 72386DC68292DA7E72387DFEFEEEE666 1F1F1F1F1F0F03001E1F1F1F1F0F0300 0F07010302020000F0F8FFFFFFFFFF7F 9CF8F8FC040400006004FCFCFCFCF8F0 1F1F1F1F1F0F03001E1F1F1F1F0F0300 0F07010302020000F0F8FFFFFFFFFF7F 9CF8F8FC046400006004FCFCFCFCF8F0 FF000000AA55AAFF00FFFFFFFFFFFFFF 0102040810204080FFFFFFFFFFFFFFFF 003040000012000070F0C0809A9AC878 00000000030F3F7F00000000030F3F7F 0000000000000000BFA0A0A0A0A0A0BF 00001C69884908E20000FFFFCB6BEAEA 00007043584B78870000F7F7DFDFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF00FF00FF00FF00FFFFFFFFFFFFFFFF 40717CC68A82D27E40717CFEF6FEEE66 203E00203E00203E203E00203E00203E 203E00203E00203E203E00203E003E3E 203E00203E00203E203E003E3E003E3E 203E00203E00203E3E3E003E3E003E3E 00FFFFFF20FFFF000070A922FFFFFF00 00FFDD77AA00000000DD77AAFFFFFF00 0000030F3F7FFFFF0000030F3F7FFFFF 7F7F3F9FCEE4F1FF0000C0E0F1FBFFFF 000000707CFEFFFF0000C0F0FCFEFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 F3EBFBFBFBE0FFFFFFF7EFFFFFFFE0FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFDFFFFFFFDFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 7CFEFFFFFFFF7E3C0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000FFFFFFFFFFFFFFFF 7CFEFFFFFFFF7E3C0000000000000000 00000000000000000000000000000000 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 7CFEFFFFFFFF7E3C0000000000000000 7CFEFFFFFFFF7E3C0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 877B877B7B87FFFFFFFF7B87FF7B87FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFDFFFFFFFDFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FFEEFFEEFECEFFFFFF1157551571FFFF 101112040010101073777E7C787C7673 003C4040404000007EFFC1C1C1C1C37E 0072000060000082F2F280E2E2828282 003040000011000272F2C2829B9BCA7A 001B0000008000445F5F4444C4C44444 000042000018A5420042C38199BDE742 003C2020003E20607E7E62627E7E6060 04142444040404001C3C6C4C0C0C0C3E 001C2241020C10001C3E63430E1C307F 04040404040404000C1C1C1C1C1C1C1F 007048400070484470F8CCC8F0F8CCC6 003E20003C2020007E7E607C7C60607E 003C0000780000003C7C40787C04047C 00667E7E6E66660066FF998991999966 00667E7E7E7E660066669981E7818166 000000000000000000FF00FF00FF00FF FFFFFFFFFFFF0000FFFFFFFFFFFF7F3F FFFFFFFFFFFF0000FFFFFFFFFFFFFFFF FFFFFFFFFFFF0000FFFFFFFFFFFFFEFC 00000000000000003F7FFFFFFFFFFFFF 00000000000000008080800000000000 00000000000000000000000000000000 00000000000000003C7EFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000007FFFFFFFFFFFFF7F 0000000000000000FFFFFFFFFFFFFFFF 7CFEF7FBF7FF7E3C0000080408000000 00000000000000007FFFFFFFFFFFFF7F 0000000000000000FFFFFFFFFFFFFFFF 7CFEF7FBF7FF7E3C0000080408000000 001100420607270000030307070F0F00 003F3F3F3F3F3F1F7F3F3F3F3F3F3F1F 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00FFFFFFFF7FFF7FFEFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000FFFFFFFF7F7F7F3F 0000000000000000FFFFFFFFFFFFFFFF 7CFEF7FBF7FF7E3C0000080408000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1F0F0703030303031F0F070303030303 FEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFF7F3F00 0000000000000000FFFFFFFFFFFFFF00 7CFEF7FBF7FF7E3C0000080408000000 00000000000000000700000000000000 0000000000000000E000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FE8181818181817F017F7F7F7F7F7FFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 03030303030303030303030303030303 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FEFEFCF8F0F0E0E0FFFEFCF8F0F0E0E0 0307070F0F0F0F1F0307070F0F0F0F1F FEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF FEFFFFFFFEFEFEFEFFFFFFFFFEFEFEFE 03030303010101010303030301010101 FEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFF FEFFFFFFFEFEFEFEFFFFFFFFFEFEFEFE 03030303030303030303030303030303 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FEFEFCF8F0F0E0E0FFFEFCF8F0F0E0E0 00000000000000000000000000000000 00C0E0F0FCFFFFFF80C0E0F0FCFFFFFF 000000000080FFFF000000000080FFFF 000000000000F0F0000000010307FFFF 03030303030303030303030303030303 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E0C0C0C0C0C0C0C0E0C0C0C0C0C0C0C0 1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F FEFEFEFEFEFEFDFDFFFFFFFFFFFFFFFF FCFCFCFCF8F8F8F8FCFCFCFCF8F8F8F8 03070F1F9F1F8F0703070F7FFFFFFFFF FEFEFEFDFBFFFFFFFFFFFFFFFFFFFFFF FCFCFCFCF8F8F8F0FCFCFCFCF8F8F8F0 03030303030303030303030303030303 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E0C0C0C0C0C0C0C0E0C0C0C0C0C0C0C0 00000000000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F0F0F0F0F0F0F0F0FFFFFFFFFFFFFFFF 03030303000000000303030303030303 FFFFFFFF00000000FFFFFFFFFFFFFFFF C0C0C0C000000000C0C0C0C0C0E0F0F8 1F1F1F1F000000001F1F1F1F1F1F1F1F FDFBFBFB01000000FFFFFFFFFFFFFFFF F0F0F0F008844221F0F0F0F0F8FCFEFF 8381808080010000FFFFFFFFFF7F3F1F FFFFBF7F80008040FFFFFFFFFFFFFFFF E0C0C0C000000000E0C0C0C0C0E0F0F8 03030303000000000303030303030303 FFFFFFFF00000000FFFFFFFFFFFFFFFF C0C0C0C000000000C0C0C0C0C0E0F0F8 00000000000000000000000000000000 FFFF000000000000FFFF000000000000 FFFF000000000000FFFF000000000000 F0F0000000000000FFFF000000000000 #3:MAIN BG 000014207F0079007100750000007A00 7B007C007F0000000000000079007100 75007A007B007C000000000000000000 00057205730574050001000000000000 0000000000007F007D057E057F000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000001770176010000000000000000 00000000760177010000750100000000 00000000000000000000000000000001 00000000000000000000000076017801 00007501000000000000000000000000 00000000780176010000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000001A001A001A00000000 00000000340034080000000300030003 0003000300000000001A001A001A001A 001A001A000300030003000335013601 00030003000300030003000000000000 001A001A001A001A001A001A00000000 000000000000000000033303330B0003 000300000000001A001A001A001A001A 001A001A320132012001000000000000 6F034F035F030000000000000000001A 001A001A001A001A001A001A00010001 000000000000000000003313331B0000 000000000000000000150015DF15001A 001A001A000000005301000053090000 53110000531100000000000000000000 00150015DF15001A0000000000000015 561C53097F1A5312561A531160015319 001500150015001500150015DF150000 0000000000000015531A8112531A4F12 53018112531960160000000000000000 00000000000000000000000000000000 81168116811681168116811681168116 00000000001200000000000000000000 00000000000000000000000000000000 00000000000F000F0000000000000000 00000000000000000000000000000000 0000000000000000000000003307330F 3307330F330F000F0000000000000000 000000003307330F3307330F00000000 000000000000330F3307330F00000000 0000000000000000000033073307330F 3307000000000000000000000000000F 38040000000000000000000000000000 00003307300738043007300730073007 30073007300730073804300730073007 30073007300730073007300737073804 37073707370737073707370737073707 38043707370737073707370737073707 37073707370737073707370737073707 37073707370737073707370737073707 370737073707370737073707B0003707 3707B000B000B000B000B000B000B000 B000B00037073707B000B000B0003707 37073707B000B000B000B000B000B000 370737073707B000B000B000B0003707 B000B000B000B0003707B000B000B000 B000B000B000B00037073707B000B000 B000B000B000B000B000B000B000B000 B000B000B000B000B000B000B000B000 B000B000B0003707B000B000B000B000 B000B000B000B000B000B00030003000 30003000300030003000300030003000 30003000300030003000B02030003000 300030003100B020B020310031003100 31003100310031003100310031003100 B020B020B0203100310031003100B020 B020B020310031003100B020B020B020 3100310031003100B020B02031003100 310031003100B020B020B0203100B020 3100B020B0203100B020B02031003100 B020B020B0203100B020B020B020B020 B020B0203100B020B0203100B0203100 3100B020B020B020B020B020B0203100 B020B020 #15:MAIN SOUND 2800303A000000007801F04F0AFF0000 08005060000000002800303019FE0000 180080F0002F0F003800505000000000 2800106400227A000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 C000010D400801404000024040000140 40000340400802404000014040070440 40000540400004404000064040070540 40000409400004094000050A40000409 4000060B4080050CC04040094040400E 4040400F40C04009C00040094007400E 4008400F408040094040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 113C0000000000000000000043190000 0000000000000000113C00000000113C 00000000431900000000000000000000 FF000000000000000000000043190000 0000000000000000113C000000000000 00000000431900000000000000000000 FF0000000000112F00000000112F0000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000142F 00000000FF0000142F00000000000000 FF0000000000162F00000000162F0000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000000000000000192F 00000000FF0000192F00000000000000 FF0000000000182F00000000182F0000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000001B2F 00000000FF00001B2F00000000000000 FF0000000000112F00000000112F0000 00000000000000000000000000000000 00000000000000000000112F00000000 000000000000112F0000000000000000 0000112F00000000000000000000142F 00000000FF0000142F00000000142F00 FF0000000000162F00000000162F0000 00000000000000000000000000000000 00000000000000000000162F00000000 000000000000162F0000000000000000 0000162F00000000000000000000192F 00000000FF0000192F00000000192F00 FF0000000000182F00000000182F0000 00000000000000000000000000000000 00000000000000000000182F00000000 000000000000182F0000000000000000 0000182F00000000000000000000182F 00000000FF00001B2F000000001B2F00 113C0000000000000000000043190000 0000000000000000113C00000000113C 00000000431900000000000000000000 FF000000000000000000000043190000 0000000000000000113C000000004319 00000000431900000000431900000000 113C0000000000000000000043190000 0000000000000000113C00000000113C 00000000431900000000000000000000 FF000000000000000000000043190000 0000000000000000113C000000000000 00000000431900000000431900000000 1D650000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 22650000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 24650000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 22650000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000FF0000 FF000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1E650000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1B650000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 4E4F00554F0000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000