diff options
| author | Ribbon <ambiguousmachine@gmail.com> | 2022-02-15 17:14:05 -0800 |
|---|---|---|
| committer | Ribbon <ambiguousmachine@gmail.com> | 2022-02-15 17:14:05 -0800 |
| commit | 84928ff6c5c25420edd3733e97fd682b4ab00f27 (patch) | |
| tree | 795b1e07892834692da1baac51065b22d8447a1f | |
| parent | 1336a088ff535b36d8578d6fc3ae14dca68cb387 (diff) | |
Made a damage smoke function, changed some sounds, music has been added (woo chris!!), added test score UI in game.
SO LITTLE TOKENS!!!
| -rw-r--r-- | Sound Effects Index.txt | 50 | ||||
| -rw-r--r-- | bullets.lua | 41 | ||||
| -rw-r--r-- | draw.lua | 3 | ||||
| -rw-r--r-- | enemies.lua | 147 | ||||
| -rw-r--r-- | miniboss.wav | bin | 11993132 -> 0 bytes | |||
| -rw-r--r-- | objects.lua | 2 | ||||
| -rw-r--r-- | particles.lua | 8 | ||||
| -rw-r--r-- | pico-bhell.p8 | 42 | ||||
| -rw-r--r-- | players.lua | 7 | ||||
| -rw-r--r-- | ui.lua | 13 |
10 files changed, 181 insertions, 132 deletions
diff --git a/Sound Effects Index.txt b/Sound Effects Index.txt index 4caf651..930b3e1 100644 --- a/Sound Effects Index.txt +++ b/Sound Effects Index.txt @@ -7,33 +7,33 @@ CHANNELS SOUNDS ------ -00 RESERVED INSRUMENT -01 RESERVED INSRUMENT -02 RESERVED INSRUMENT -03 RESERVED INSRUMENT -04 RESERVED INSRUMENT -05 RESERVED INSRUMENT -06 RESERVED INSRUMENT -07 RESERVED INSRUMENT -08 RESERVED INSRUMENT +00 +01 +02 +03 +04 +05 +06 +07 +08 09 Player Shoot 10 Player Hit 11 Player Killed 12 Triple Shot 13 Intro Transition -14 +14 Rocket Shoot / Thruster Loop 15 Basic Enemy Shoot 16 Basic Enemy Hit 17 Basic Enemy Killed 18 Wall Crawl Shoot -19 Circular/Wall Boss Shoot -20 Circular/Wall Boss Kill -21 -22 +19 Ball Shooter/Bomb Shoot +20 Ball Shooter/Bomb Kill +21 Boss Kill +22 Bomb Charge (8 seconds) 23 Laser Charge (1.5 Seconds) 24 Laser Loop 25 Laser Finished -26 Laser Killed +26 Laser Killed (scrapped) 27 Light Respawn 28 Respawn 29 Rewind Checkpoint @@ -61,13 +61,13 @@ SOUNDS 51 MUSIC 52 MUSIC 53 MUSIC -54 -55 -56 -57 -58 Rocket Shoot / Thruster Loop sfx(21, 3) (channel 4 for longer sounds) -59 Rocket Projectile Explosion -60 Rocket Boss Killed -61 Kamikaze Charge (8 seconds) -62 Kamikaze Ignite -63 Kamikaze Denied
\ No newline at end of file +54 MUSIC +55 MUSIC +56 MUSICMUSIC +57 MUSIC +58 MUSICMUSIC +59 MUSIC +60 MUSIC +61 MUSIC +62 MUSIC +63 MUSIC
\ No newline at end of file diff --git a/bullets.lua b/bullets.lua index fa7ac04..a758f02 100644 --- a/bullets.lua +++ b/bullets.lua @@ -47,6 +47,7 @@ function addbullet(x, y, velx, vely, evil, sprite) add(obj, bullet) end +--ERROR Sticks around after boss dies function addlaser(x, y, r) local laser = { --lasers!!!!!!!!!!!!!!! @@ -102,7 +103,6 @@ function addlaser(x, y, r) --delete laser once its done if laser.timer > 4 then del(obj, laser) - sfx(24, -2) sfx(25, 3) for i = 1, 16, 1 do addcircle(rnd(laser.x), laser.y-laser.r/2+rnd(laser.r), -0.5, -0.5, rnd(3), rnd(2), rnd({11,14,3}), 0) @@ -111,5 +111,42 @@ function addlaser(x, y, r) end add(obj, laser) - sfx(23) + sfx(23,3) +end + + +function addmissile(x, y, target) --basic small weak enemy + local enemy = { + target = target, + x = x, + y = y, + w = 16, + h = 8, + inv = -1, + health = 3, + speed = 0.3, + shootcooldown = 0, + shot = enemyshot, + collide = enemycollide + } + + function enemy.draw(enemy) + if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then + spr(42, enemy.x, enemy.y, 2, 1) + end + end + + function enemy.update() + enemy.x -= enemy.speed + enemy.speed += 0.015 + enemy.y += (players[enemy.target].y - enemy.y)/30 + addcircle(enemy.x+12, enemy.y+rnd(8), 0, rnd()/8, 2.1, 0.6, rnd({9,5}), 0) + enemymisc(enemy) + if enemy.health <= 0 then -- die!!!!! + enemydie(enemy,17,2) + end + end + + sfx(14,3) --missle launch/thruster loop + add(enemies, enemy, 1) end
\ No newline at end of file @@ -15,6 +15,7 @@ drawbg() drawobjs() if gamerunning then + currentscore("000000","000000",2,2) if gameover then --gameover timer, it does a cute spinny! 😵 printdropshadow(ceil(respawntimer),63+sin(t())*3,55+cos(t())*3,6,5) elseif players[1].health <=0 then @@ -41,7 +42,7 @@ if not gamerunning or menuscroll < 1 then --main screen items mainmenutext(24-menuscroll*150,53) - titlehighscores(52-menuscroll*110,82) + titlehighscores("000000","000000",52-menuscroll*110,82) credits(10-menuscroll*140,108) --intro acid effect diff --git a/enemies.lua b/enemies.lua index 196bcaa..4477cfe 100644 --- a/enemies.lua +++ b/enemies.lua @@ -1,3 +1,6 @@ +--REDUCE TOKENS BY +--merge new bullet sfx() to addbullet() ? (exception would be for the wallshooter) + enemies = {} --universal functions: @@ -19,7 +22,7 @@ function enemycollide(enemy, object) --f this enemy collides with something, do end end -function enemydie(enemy, sound) +function enemydie(enemy, sound, soundchannel) for i = 1, rnd(enemy.h)+6, 1 do addcircle(enemy.x+rnd(enemy.w), enemy.y+rnd(enemy.h), rnd(4)-2, -rnd(2)-1, 1, 2, rnd({3, 11, 9}), -0.1) end @@ -29,7 +32,7 @@ function enemydie(enemy, sound) if shake < 3 then shake = enemy.h/2 end - sfx(sound, 2) + sfx(sound, soundchannel) explosion(enemy.x, enemy.y, enemy.w, enemy.h) del(enemies, enemy) end @@ -45,6 +48,12 @@ function enemymisc(enemy) --misc stuff every enemy needs end end + + + + + + function addbasicenemy(x, y, speed) --basic small weak enemy local enemy = { x = x, @@ -75,14 +84,14 @@ function addbasicenemy(x, y, speed) --basic small weak enemy enemy.y += sin(time()*speed)*speed if enemy.shootcooldown < 0 then enemy.shootcooldown = 0.5 + rnd(1.5) - if enemy.x < 129 then + if enemy.x < 124 and enemy.x > 5 then addbullet(enemy.x-3, enemy.y, -1, 0, true, 2) -- shoot if on screen sfx(15, 2) -- play shoot sound if on screen end end enemymisc(enemy) if enemy.health <= 0 then -- die!!!!! - enemydie(enemy,17) + enemydie(enemy,17,2) end end @@ -114,6 +123,9 @@ function addwallshooter(x, shootup, health, speed, offset, bulletspeed) end function enemy.draw(enemy) + if enemy.health < enemy.health*0.25 then + damagesmoke(enemy) + end if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then spr(enemy.sprite+t()*10%2, enemy.x, enemy.y) end @@ -123,23 +135,23 @@ function addwallshooter(x, shootup, health, speed, offset, bulletspeed) enemy.x -= speed if enemy.shootcooldown < 0 then if (t()+enemy.offset)%1>0.5/enemy.bulletspeed then - if not enemy.shoottoggle then --implemented a toggle so that the sound effect for firing gets played only once. - enemy.shoottoggle = true - if enemy.x < 128 then - sfx(18, 3) - end - end enemy.shootcooldown = 0.08/enemy.bulletspeed local vely = -1 if shootup then vely = 1 end - addbullet(enemy.x, enemy.y, -enemy.speed, enemy.bulletspeed*vely, true, 2) + if enemy.x < 120 and enemy.x > 20 then + addbullet(enemy.x, enemy.y, -enemy.speed, enemy.bulletspeed*vely, true, 2) + if not enemy.shoottoggle then --implemented a toggle so that the sound effect for firing gets played only once. + enemy.shoottoggle = true + sfx(18, 3) + end + end else enemy.shoottoggle = false end end enemymisc(enemy) if enemy.health <= 0 then - enemydie(enemy,17) + enemydie(enemy,17,2) end end @@ -166,7 +178,10 @@ function addballshooter(x, y, speed) function enemy.draw(enemy) if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then local sprite = 11 - if enemy.health < 7 then sprite = 27 end + if enemy.health < 4 then + damagesmoke(enemy) + sprite = 27 + end spr(sprite, enemy.x, enemy.y, 3, 1, false, true) spr(sprite, enemy.x, enemy.y+8, 3, 1) end @@ -176,7 +191,7 @@ function addballshooter(x, y, speed) enemy.x -= speed if enemy.shootcooldown < 0 then enemy.shootcooldown = 2 - if enemy.x < 128 then + if enemy.x < 126 and enemy.x > 0 then for i = 1, 48, 1 do --shoot ring of bullets if on screen if sin(i/48) < 0.3 and sin((i+currentwavetime)/8) < 0.4 then addbullet(enemy.x+4, enemy.y+4, sin(i/48)/2, cos(i/48)/2, true, 2) @@ -186,11 +201,8 @@ function addballshooter(x, y, speed) end end enemymisc(enemy) - if enemy.health < 8 then --smokes when damaged! - addcircle(enemy.x+20+rnd(8), enemy.y+4+rnd(8), -0.5, -0.2, rnd(8), rnd(1)+0.7, 5, 0) - end if enemy.health <= 0 then - enemydie(enemy,20) + enemydie(enemy,20,3) end end @@ -213,6 +225,9 @@ function addtargetingenemy(x, y, speed) } function enemy.draw(enemy) + if enemy.health < 2 then + damagesmoke(enemy) + end if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then spr(58, enemy.x, enemy.y, 2, 1) end @@ -224,7 +239,7 @@ function addtargetingenemy(x, y, speed) enemy.shootcooldown = 0.1 enemy.bulletcounter += 1 local p = enemy.bulletcounter%#players+1 - if enemy.x < 129 and players[p].x < enemy.x+30 then --math involving a distance check to get the proper velocity for aiming + if enemy.x < 126 and players[p].x < enemy.x+30 then --math involving a distance check to get the proper velocity for aiming local distance = sqrt((players[p].x - enemy.x)^2+(players[p].y - enemy.y)^2) local velx = (players[p].x - enemy.x)/distance local vely = (players[p].y - enemy.y)/distance @@ -234,7 +249,7 @@ function addtargetingenemy(x, y, speed) end enemymisc(enemy) if enemy.health <= 0 then -- die!!!!! - enemydie(enemy,17) + enemydie(enemy,17,2) end end @@ -250,7 +265,7 @@ function addlasershooter(x, y, speed, stay) speed = speed, stay = stay, inv = -1, - health = 36 * #players, -- double health if 2 player + health = 36 * #players, -- double health if 2 player --36 lasertimer = 0, firedlaser = false, shootcooldown = 0, @@ -264,7 +279,10 @@ function addlasershooter(x, y, speed, stay) function enemy.draw(enemy) if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then local sprite = 64 - if enemy.health < 12 then sprite = 96 end + if enemy.health < 10 then + damagesmoke(enemy) + sprite = 96 + end spr(sprite,enemy.x+0,enemy.y+4,4,2) spr(sprite,enemy.x+0,enemy.y+20,4,2,false,true) end @@ -285,7 +303,7 @@ function addlasershooter(x, y, speed, stay) if enemy.shootcooldown < 0 then enemy.shootcooldown = 0.18 addbullet(enemy.x+6, enemy.y+20, -1, rnd(2)-1, true, 2) --shoooot!!!!! - sfx(15, 2) -- play shoot sound if on screen + sfx(15, 2) end end @@ -306,14 +324,13 @@ function addlasershooter(x, y, speed, stay) end end - if enemy.health < 8 then --smokes when damaged! copy pasted from ball shooter! - addcircle(enemy.x+12+rnd(8), enemy.y+12+rnd(8), -0.5, -0.2, rnd(8), rnd(1)+0.7, 5, 0) - end - enemymisc(enemy) if enemy.health <= 0 then -- die!!!!! - enemydie(enemy,26) + if stay then + music(-1, 3000) + end + enemydie(enemy,21,3) addpickup(enemy.x+rnd(32), enemy.y+rnd(32), "health") addpickup(enemy.x+rnd(32), enemy.y+rnd(32)) addpickup(enemy.x+rnd(32), enemy.y+rnd(32)) @@ -323,6 +340,8 @@ function addlasershooter(x, y, speed, stay) add(enemies, enemy) end + +--ERROR damage model has incorrect tiling (also it doesnt work??) function addwallboss(x, y, length, speed, stay, move) local enemy = { stay = stay or false, @@ -330,10 +349,10 @@ function addwallboss(x, y, length, speed, stay, move) x = x, y = y, length = mid(4,length,16), - w = 24, + w = 16, h = 8*length, inv = -1, - health = 10*length*#players, + health = 1*length*#players, --10 shootcooldown = 3, speed = speed, bulletfired = {}, @@ -347,7 +366,8 @@ function addwallboss(x, y, length, speed, stay, move) function enemy.draw(enemy) local dmg = 0 - if enemy.health < length * 4 then + if enemy.health < enemy.health*0.25 then + damagesmoke(enemy) dmg = 16 end if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then @@ -405,6 +425,7 @@ function addwallboss(x, y, length, speed, stay, move) local bulletspeed = -1-rnd(0.2) if enemy.move > 2 then bulletspeed = -1 end addbullet(enemy.x, enemy.y-8+i*8, bulletspeed, 0, true, 2) + sfx(15, 2) enemy.bulletfired[i] = 1 else enemy.bulletfired[i] = 0 @@ -414,7 +435,8 @@ function addwallboss(x, y, length, speed, stay, move) end enemymisc(enemy) if enemy.health <= 0 then -- die!!!!! - enemydie(enemy,17) + music(-1, 3000) + enemydie(enemy,21,3) addpickup(enemy.x+rnd(32), enemy.y+rnd(32), "health") addpickup(enemy.x+rnd(32), enemy.y+rnd(32)) addpickup(enemy.x+rnd(32), enemy.y+rnd(32)) @@ -440,9 +462,12 @@ function addbomb(x, y, delay) --BIG BOMB!!!! KILL IIT QUICKLY!!!! function enemy.draw(enemy) local sprite = 73 if everysecondtimer > 0.5 then sprite = 75 end - if enemy.health < 6 then sprite += 32 end + if enemy.health < 7 then + damagesmoke(enemy) + sprite += 32 + end if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then - circfill(enemy.x+16, enemy.y+16, sin(enemy.shootcooldown^2)*3-enemy.shootcooldown, 7) + circfill(enemy.x+15, enemy.y+16, sin(enemy.shootcooldown^2)*3-enemy.shootcooldown, rnd({7,11,3})) local offset = mid(0, -enemy.shootcooldown-2, 3) spr(sprite, enemy.x, enemy.y-offset, 2, 2) spr(sprite, enemy.x, enemy.y+16+offset, 2, 2, false, true) @@ -456,55 +481,23 @@ function addbomb(x, y, delay) --BIG BOMB!!!! KILL IIT QUICKLY!!!! enemy.x = enemy.x + 0.02 * (80 - enemy.x); end enemy.y += sin(time()/3)/8 - if enemy.shootcooldown < -8 then + if enemy.shootcooldown < -8 then -- detonation for i = 1, 60, 1 do addbullet(enemy.x+16, enemy.y+16, sin(i/60), cos(i/60), true, 2) enemy.health = 0 + sfx(19,2) end end enemymisc(enemy) if enemy.health <= 0 then -- die!!!!! - enemydie(enemy,17) + enemydie(enemy,20,3) end end + sfx(62,3) --charge add(enemies, enemy) end -function addmissile(x, y, target) --basic small weak enemy - local enemy = { - target = target, - x = x, - y = y, - w = 16, - h = 8, - inv = -1, - health = 3, - speed = 0.3, - shootcooldown = 0, - shot = enemyshot, - collide = enemycollide - } - - function enemy.draw(enemy) - if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then - spr(42, enemy.x, enemy.y, 2, 1) - end - end - - function enemy.update() - enemy.x -= enemy.speed - enemy.speed += 0.015 - enemy.y += (players[enemy.target].y - enemy.y)/30 - addcircle(enemy.x+12, enemy.y+rnd(8), 0, rnd()/8, 2.1, 0.6, rnd({9,5}), 0) - enemymisc(enemy) - if enemy.health <= 0 then -- die!!!!! - enemydie(enemy,17) - end - end - - add(enemies, enemy, 1) -end function addmissileboss(x, y) --boss that shoots missiles!!! local enemy = { @@ -516,7 +509,7 @@ function addmissileboss(x, y) --boss that shoots missiles!!! w = 32, h = 32, inv = -1, - health = 40*#players, + health = 40*#players, --40 shootcooldown = 1.8, speed = 0.04, shot = enemyshot, @@ -525,7 +518,10 @@ function addmissileboss(x, y) --boss that shoots missiles!!! function enemy.draw(enemy) local sprite = 68 - if enemy.health < 15 then sprite = 100 end + if enemy.health < 21 then + sprite = 100 + damagesmoke(enemy) + end if enemy.inv < 0 or ceil(enemy.inv*10%2) == 1 then spr(sprite, enemy.x, enemy.y, 4, 2) spr(sprite, enemy.x, enemy.y+16, 4, 2, false, true) @@ -557,15 +553,18 @@ function addmissileboss(x, y) --boss that shoots missiles!!! if currentwavetime%2 > 1 then offset = 30 end addmissile(enemy.x, enemy.y+offset, playertarget) if enemy.health < 12 then + sfx(15, 2) addbullet(enemy.x,enemy.y+16,(players[playertarget].x-enemy.x)/70,(players[playertarget].y-enemy.y-16)/70,true) + -- ERROR attempting to find a non existant player end enemy.speed += 0.001 - sfx(15, 2) -- play shoot sound if on screen end end enemymisc(enemy) if enemy.health <= 0 then -- die!!!!! - enemydie(enemy,17) + music(-1, 3000) + sfx(60,-2) --stop missle sound + enemydie(enemy,21,3) addpickup(enemy.x+rnd(32), enemy.y+rnd(32), "health") addpickup(enemy.x+rnd(32), enemy.y+rnd(32)) addpickup(enemy.x+rnd(32), enemy.y+rnd(32)) diff --git a/miniboss.wav b/miniboss.wav Binary files differdeleted file mode 100644 index d70fbcb..0000000 --- a/miniboss.wav +++ /dev/null diff --git a/objects.lua b/objects.lua index 4990280..e2bcfd4 100644 --- a/objects.lua +++ b/objects.lua @@ -6,8 +6,8 @@ gameover = false gamerunning = false function startgame() - wave[currentwave].start() music(0, 0, 3) + wave[currentwave].start() gamerunning = true end diff --git a/particles.lua b/particles.lua index 3d28184..72e090f 100644 --- a/particles.lua +++ b/particles.lua @@ -38,4 +38,12 @@ function explosion(x,y, w, h) for i = 1, w/2, 1 do addcircle(x+rnd(w), y+rnd(h), -0.4, 0, rnd(8), rnd(1)+0.5, 9, 0) end +end + +function damagesmoke(object) + --smokes when damaged! + addcircle(object.x+rnd(object.w*0.5), object.y+rnd(object.w*0.5), -0.5, -0.2, rnd(6), rnd(1.5)+1, 5, 0) + if ceil(rnd(2)) == 1 then + addcircle(object.x+rnd(object.w*0.5), object.y+rnd(object.w*0.5), -0.4, -0.2, rnd(6), rnd(1)+0.5, 9, 0) + end end
\ No newline at end of file diff --git a/pico-bhell.p8 b/pico-bhell.p8 index ba0dd54..e796556 100644 --- a/pico-bhell.p8 +++ b/pico-bhell.p8 @@ -324,18 +324,18 @@ __sfx__ c00217002f0103202034021360313703138031390313a0313b0313b0313b0313b0313b0313a0313a02139021370113601135011330112f0112b015270151a001180011500113001100010e0010b0010c0011f001 50011800190122c5323502230522310222a52224022210221a5221802213522130220e522075220b1220c0220a1220a0220712208022061220701204112070120610201602016020160201602016020160201602 9108000022614286102d6103061033610356103661037610376103561034610326102e6102b610286102661022610206101d610186101661013610116100f6100c61009610066100461003610016100161000615 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +910219202f67112773356761977338676197733a676157533765312740316330f7402265012740166300e6200c6300a6200963009620056200663003620046300762005620066200662007620086200862008620 90020e0016321215311b3312a53117331113210f32105621240010462100001036212a00100611000012c0012d0012d001000012d0012d0012b0012a00127001220011e001180011600114001130011300113001 9001110000070040703661012650191301363024140136300f62000020000100c6000001000000015100000001510000000000000000000000000000000000000000000000000000000000000000000000000000 94021400116711b37110671026710e561193510e6410e6210b5210d6110d621006210862105621026010261101611006110061100611006010060100001000000000000000000000000000000000000000000000 90031400153311052112341185311033117541143411d53114321215211533120511193112151109511065110451102511005110e5012d0012b0012a00127001220011e001180011600114001130011300113001 900516000c373093630635305343053430534305343043430334302343013330033300323003230031300313003130031300303003130030300313003030030301303013030230302303023032e3030000300003 92051d002e6732f673306732c66320553165331c54300673016730807300653060430064307653190330864315043026430f03304023016130101300613000130010300613012030020300613001030010300103 -900200002f60012700356001970038600197003a600157003760012700316000f7002260012700166000e6000c6000a6000960009600056000660003600046000760005600066000660007600086000860008600 +990800000c6741f4730e676214730e676191730e6761617302070186700166015660050600d650006500515002040041300001100610000000001100605006150010000010006000000000615003000001500000 9102001f0860007600076000760006600076000660005600076000660003600066000660004600066000660006600076000560005600056000660003600026000760004600066000660007600086000860008600 9f06000002613076132c0112c0510661107623076510661306653056232c0112c05107633076330864108623096430a6432c0112c0510c6130d6430e6110203312613136532c0112c051020231d6730304123673 5f011d201137322373104730837310473103730c36308463063530464303353016530244301651014510065100451016510044101651014510065102451026410245101651024510163102421014530262301453 -d60600000303300043104130304310453020130c34301043063330463303323016230242301621014110061100411016010041101601014010061102401026010240101611024010160102411014030260301403 +d60600000242101453026230145310463020730c37301043063330463303323016230242301621014110061100411016010041101601014010061102401026010240101611024010160102411014030260301403 d60a00002f6732b67312673030730e673020730966301043063330463303323016230242301621014110061100411026130261306601006110260101613076010161306603016130660107603006130060301611 a4040e0010014107121101214722267121a03226732220322673228032260322c032260122f015267022670200002267020000200002000020000200002000020000200002000020000200002000020000200002 a1050e0010034107421104214752267521a05226752220522675228052260522c042260322f015267022670200002267020000200002000020000200002000020000200002000020000200002000020000200002 @@ -343,7 +343,7 @@ a1050e0010034107421104214752267521a05226752220522675228052260522c042260322f01526 90040900243363234637066110261f126264262e136374463b0260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 d01c00081f011220161a0161f0162b0112e016260162b016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -490e00081006334615346253461510063346153462534615000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +490e00101000334615346253461510073346153462534615100033461534625346151007334615346253461500000000000000000000000000000000000000000000000000000000000000000000000000000000 110e00080030207755077550775500700077550775507755000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 09380000221212212229121291222912500100001000f1021b1211b1222812128122281250010000100281021d1211d1222112121122211250010000100211021f1211f122221212212222125221002210000000 a71c0010373272e327373272e327373122d312223120c3122b327223272b327223272b31221312163120031200000000000000000000000000000000000000000000000000000000000000000000000000000000 @@ -353,15 +353,15 @@ d11c000821011240161c016210162d01130016280162d01621000180001c000210002d0002400028 4d0e002012053093250c4250b3251e655093250e4250c32512053093250c4250b3251e655093250e4251032512053093250c4250b3251e655093250e4250c32512053093250c4250b3251e655093250242504325 4d0e00200e0530532508425073251a655053250a425083250e0530532508425073251a655053250a4250c3250e0530532508425073251a655053250a425083250e0530532508425073251a655053250042500325 d11c000821011240161c016210162d01130016280162d0161f000220001a0001f0002b0002e000260002b00000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -010400000860008600086000860008600076000860008600086000860007600076000760007600076000760007600076000760007600086000860008600086000860008600086000860008600076000760007600 +d10e00201f42222422264222e4021f42222422264222e4021f42222422264222e4021f42222422264222e40225422284222c4222840225422284222c4222840225422284222c4222840225422284222c42234402 +911c02042b311133212b3211331100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +490e000021600156002160021600216003960039600396002162515600216002160021625396003960039600156252160521625240002d625396053962500000156251560521625216052d625396253962539625 +5d0e0020100730715407252071521c675071440c1420a14210073071540a152091521c675071540c3520e152160730d1540d2510d253226750d154121521015216073160731607316073226750d3541946425474 +5d0e0020100730715407252071521c675071440c1420a14210073071540a152091521c675071540c3520e152100730715407251072531c675071540c1520a15210073071540a152091521c675071540035202452 +5d0e0020100730725407252072521c675073440c4420a34210073073540a452093521c675073540c4520e352100730725407251072531c675073540c4520a35210073073540a452093521c675073540045202352 +5d0e0020100730725407252072521c675073440c4420a34210073073540a452093521c675073540c4520e352160730d2540d2510d253226750d3541245210352160730d354104520f352226750d3540645208352 +5d0e0020120730925409252092521e675093440e4420c34212073093540c4520b3521e675093540e45210352180730f2540f2510f253246750f3541445212352180730f3541245211352246750f354084520a352 +d10e002021422244222842230402214222442228422304022142224422284223040221422244222842230402274222a4222e4222a402274222a4222e4222a402274222a4222e4222a402274222a4222e42236402 9508000022614286102d6103061033610356103661037610376103561034610326102e6102b610286102661022610206101d610186101661013610116100f6100c61009610066100461003610016100161000615 000300220813400104000040000407144071540000406104001040615400004061340615401104011040010407124061240010400104051540513400104000040010407144071340010400104061240612400004 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 @@ -379,14 +379,14 @@ __music__ 00 20266144 00 27286144 02 2a296144 -00 41424344 -00 41424344 -00 41424344 -00 41424344 -00 41424344 -00 41424344 -00 41424344 -00 41424344 +00 2c6b4344 +00 2c2f4344 +00 2c304344 +00 2b2e6161 +00 33326161 +00 2d2e6161 +01 21316161 +02 21326161 00 41424344 00 41424344 00 41424344 diff --git a/players.lua b/players.lua index 39dae69..608fb08 100644 --- a/players.lua +++ b/players.lua @@ -100,12 +100,9 @@ function addplayer(x, y, sprite, bulletsprite) addcircle(player.x-1, player.y, -0.5, 0, 1.5, 0.5, 9, 0) addcircle(player.x-1, player.y+7, -0.5, 0, 1.5, 0.5, 9, 0) if player.health < 3 then - addcircle(player.x+rnd(8), player.y+rnd(8), -0.5, -0.2, rnd(8), rnd(1.5)+1, 5, 0) + addcircle(player.x+rnd(8), player.y+rnd(8), rnd(1.5)-0.75, -1.5, 1, rnd(1)+0.5, 9, -0.1) if player.health < 2 then - addcircle(player.x+rnd(8), player.y+rnd(8), rnd(1.5)-0.75, -1.5, 1, rnd(1)+0.5, 9, -0.1) - if ceil(rnd(2)) == 1 then - addcircle(player.x+rnd(8), player.y+rnd(8), -0.4, -0.2, rnd(8), rnd(1)+0.5, 9, 0) - end + damagesmoke(player) end end player.particlecooldown = 0.1 @@ -64,14 +64,21 @@ function mainmenutext(x,y) printdropshadow("(\151) - companion",x+15,y+18,6,5) end -function titlehighscores(x,y) +function titlehighscores(highscore0,highscore1,x,y) -- default values -- 52 -- 110 - printdropshadow("000000",x-20,y,12,15) --1P high score + printdropshadow(highscore0,x-20,y,12,15) --1P high score printdropshadow("-",x+10,y,6,5) - printdropshadow("000000",x+20,y,9,2) --2P high score + printdropshadow(highscore1,x+20,y,9,2) --2P high score +end + +function currentscore(currentscore0,currentscore1,x,y) + printdropshadow(currentscore0,x+2,y+2,12,15) --1P current score + if #players != 1 then + printdropshadow(currentscore1,x+2,y+117,9,2) --2P current score + end end function credits(x,y) |
