require "final" require "audio" scenes={ intro_01= { {x=3,y=0,flip=false,audio="abad",text={"Ah!, què bo!","Nit de Netflix amb","un bon bol de cacaus!"},die=20}, }, intro_02= { {x=3,y=0,flip=false,audio="abad",text={"Eh! On està el","bol de cacaus???",""},die=20}, }, intro_03= { {x=4,y=48,flip=true,audio="batman",musica=audio_song_batman,text={"ME L'HE ENDUT JO!!!", "S'HAN ACABAT ELS","CACAUS PA TU!"},die=20}, {x=3,y=0,flip=false,audio="abad",text={"Què??","Però perquè???",""},die=20}, {x=4,y=48,flip=true,audio="batman",text={"Estàs com una vaca!","Has de deixar de menjar", "eixes gorrinades"},die=20}, {x=4,y=48,flip=true,audio="batman",text={"Mira'm a mi. Estic","tot buenorro i faig", "esport"},die=20}, {x=3,y=0,flip=false,audio="abad",text={"Esport?????","I una merda!!","He de cuidar la panxa!"},die=20}, {x=4,y=48,flip=true,audio="batman",text={"Pos t'aguantes.","Ja pots despedir-te", "dels cacaus..."},die=20}, }, intro_04= { {x=3,y=0,flip=false,audio="abad",text={"Serà mamó...","",""},die=20}, }, abad_inici={ {x=4,y=0,flip=false,audio="abad",text={"Se va a enterar eixe","imbècil de Batman","quan el pille..."}}, {x=4,y=0,flip=false,audio="abad",text={"Gonna per el GPS","per a trobarlo.",""}}, {x=4,y=0,flip=false,audio="abad",text={"I igual hi ha","algú més per ací","que em puga ajudar."}}, }, abad_corfes={ {x=4,y=0,flip=false,audio="abad",text={"Osti, està ple de","monstruacos.",""}}, {x=4,y=0,flip=false,audio="abad",text={"Pos al que s'acoste","s'endurà una corfa","de cacau al cap!"}}, {x=4,y=0,flip=false,audio="abad",text={"I si van altets","igual val la pena","ajupir-se..."}} }, abad_portes={ {x=4,y=0,flip=false,audio="abad",text={"Qui ha tancat totes","les portes?",""}}, {x=4,y=0,flip=false,audio="abad",text={"A saber on està","cada interruptor","per a obrir-les..."}}, }, abad_porta_casa={ {x=4,y=0,flip=false,audio="abad",text={"Vaja, la porta de","casa també està","tancada."}}, {x=4,y=0,flip=false,audio="abad",text={"Però he de eixir!","Batman viu en la","casa de davant!"}}, }, abad_porta_batman={ {x=4,y=0,flip=false,audio="abad",text={"Be, era de esperar","que Batman tinguera","la porta tancada."}}, {x=4,y=0,flip=false,audio="abad",text={"Crec que hi havia","un passadis secret","del meu sotan al seu."}}, }, gps_trobat={ {x=4,y=0,flip=false,audio="abad",text={"Ale, ja tinc el GPS.","Ara puc trobar tot","el que necessite..."}}, {x=4,y=0,flip=false,audio="abad",text={"polsant les tecles","de l'1 al 5",""}}, }, premiere_intro={ {x=4,y=0,flip=false,audio="abad",musica=audio_song_premiere,text={"Premiere??","Qué fas per ma casa?",""}}, {x=69,y=20,flip=true,audio="premiere",text={"Porca miseria!!","l'uomo pipistrello!!","m'ha llevatto il gorro!"}}, {x=4,y=0,flip=false,audio="abad",text={"Pipistrello??","Això ques??",""}}, {x=69,y=20,flip=true,audio="premiere",text={"Il batmano!!","Incontrame il gorro","per l'amore d'un porco!"}}, {x=4,y=0,flip=false,audio="abad",text={"Tinc faena. A mi m'ha","furtat els cacaus i","he de trobarlos."}}, {x=69,y=20,flip=true,audio="premiere",text={"Lei tenne in su quarto!","Io tengo micha clave!","Achudame i t'achudo!"}} }, premiere_intro_gorro={ {x=4,y=0,flip=false,audio="abad",musica=audio_song_premiere,text={"Premiere??","Qué fas per ma casa?",""}}, {x=69,y=20,flip=true,audio="premiere",text={"Porca miseria!!","l'uomo pipistrello!!","m'ha llevatto il gorro!"}}, {x=4,y=0,flip=false,audio="abad",text={"Pipistrello??","Això... be, te igual","Ací el tens, atontat."}}, {x=69,y=20,flip=true,audio="premiere",text={"Per fortuna!","Grazie mille!","Come podo achudarte?"}}, {x=4,y=0,flip=false,audio="abad",text={"Pos Batman m'ha furtat","els cacaus. Supose que","els te amagats."}}, {x=69,y=20,flip=true,audio="premiere",text={"In lo suo quarto!","Io tengo micha clave!","Tenne, tenne!!"}} }, premiere_gorro={ {x=4,y=0,flip=false,audio="abad",musica=audio_song_premiere,text={"Tin, el ditxos gorro.","",""}}, {x=69,y=20,flip=true,audio="premiere",text={"Bravissimo!","Che giornatta","fantastica! Figo!"}}, {x=4,y=0,flip=false,audio="abad",text={"Tu si que eres un","figo. On està eixa","mitja clau?"}}, {x=69,y=20,flip=true,audio="premiere",text={"Giusto! Aquí tenne!","Buona fortuna per","la tua avventura!"}}, {x=69,y=20,flip=true,audio="premiere",text={"E NON TOCARE il","Batmano! Sei molto","poderoso!"}} }, gorro_trobat_nointro={ {x=4,y=0,flip=false,audio="abad",text={"Mira, el gorro","de Premiere.","Millor l'agafe."}} }, gorro_trobat={ {x=4,y=0,flip=false,audio="abad",text={"Mira, el gorro","de Premiere.","A la saca."}} }, elalien_intro={ {x=4,y=0,flip=false,audio="abad",musica=audio_song_elalien,text={"Que passa alien?","A tu també t'ha","putejat el Batman?"}}, {x=3,y=16,flip=true,audio="elalien",text={"CAGUEN L'OU!!","ESTAVA JO TAN TRANQUIL","PODANT AL MEU GOS..."}}, {x=3,y=16,flip=true,audio="elalien",text={"...I QUAN NO MIRABA","M'HA FURTAT EL","MARANÀ!!!"}}, {x=4,y=0,flip=false,audio="abad",text={"Es...taves podant","a un gos...?",""}}, {x=3,y=16,flip=true,audio="elalien",text={"EN JUPITER NO POTS","DEIXAR QUE LI CREIXEN","MES DE 12 PATES!!"}}, {x=4,y=0,flip=false,audio="abad",text={"Uh... clar...","A mi m'ha furtat","els cacaus."}}, {x=3,y=16,flip=true,audio="elalien",text={"ELS TÉ EN LA SEUA","HABITACIÓ SEGUR.","TROBA EL BERENAR..."}}, {x=3,y=16,flip=true,audio="elalien",text={"...I JO ET DONARÉ","LA MEITAT DE LA CLAU","PER A ENTRAR."}} }, elalien_intro_peu={ {x=4,y=0,flip=false,audio="abad",musica=audio_song_elalien,text={"Que passa alien?","A tu també t'ha","putejat el Batman?"}}, {x=3,y=16,flip=true,audio="elalien",text={"CAGUEN L'OU!!","ESTAVA JO TAN TRANQUIL","PODANT AL MEU GOS..."}}, {x=3,y=16,flip=true,audio="elalien",text={"...I QUAN NO MIRABA","M'HA FURTAT EL","MARANÀ!!!"}}, {x=4,y=0,flip=false,audio="abad",text={"Podant...? be, te","igual. Açò deu ser","el teu berenar."}}, {x=3,y=16,flip=true,audio="elalien",text={"OSTI QUE BÓ!!!","GRACIES AUELO!","A TU QUE T'HA FET?"}}, {x=4,y=0,flip=false,audio="abad",text={"M'ha furtat els cacaus.","Segur que els té","al seu quarto."}}, {x=3,y=16,flip=true,audio="elalien",text={"SEGUR! PERO JO TINC","LA MEITAT DE LA CLAU.","TIN, I SORT!"}} }, elalien_peu={ {x=4,y=0,flip=false,audio="abad",musica=audio_song_elalien,text={"Ací tens...","Uff, que peste fa...",""}}, {x=3,y=16,flip=true,audio="elalien",text={"GRACIES!!!","SÍ, EH? QUE","SUCOSET I BÓ."}}, {x=4,y=0,flip=false,audio="abad",text={"Clar...","Be, i eixa","mitja clau?"}}, {x=3,y=16,flip=true,audio="elalien",text={"TIN! QUAN TINGUES","ELS CACAUS, PEGA-LI","CACAUÀ A BATMAN!"}}, }, peu_trobat_nointro={ {x=4,y=0,flip=false,audio="abad",text={"Un peu podrit??","Qué asco!! Segur","que és d'el alien."}} }, peu_trobat={ {x=4,y=0,flip=false,audio="abad",text={"Joer, açò deu ser","el berenar d'el alien.","Ecs..."}} }, habitacio_batman={ {x=4,y=0,flip=false,audio="abad",text={"L'habitació de Batman!","Segur que els cacaus","estàn ahí dins."}}, {x=4,y=0,flip=false,audio="abad",text={"Però necessite","una clau...",""}} }, bol_trobat={ {x=4,y=0,flip=false,audio="abad",text={"PER FI, JA TINC","ELS MEUS CACAUS!!!","OLE!! OLE!!"}}, {x=4,y=0,flip=false,audio="abad",text={"Se va a enterar","Batman ara quan","el pille..."}}, {x=4,y=0,flip=false,audio="abad",text={"Ara si que li puc","pegar una bona","cacauà..."}} }, final= { {x=4,y=48,flip=true,audio="batman",musica=audio_song_batman,text={"AI!", "M'has fet mal!!!",""},die=20}, {x=3,y=0,flip=false,audio="abad",text={"Aixó per furtar-me","el bol de cacaus,","imbèsil"},die=20}, {x=4,y=48,flip=true,audio="batman",text={"Cert, esta me la","mereixia... però", "mira que be estàs!"},die=20}, {x=4,y=48,flip=true,audio="batman",text={"Amb el que t'ha","costat pillar-me", "t'has ficat en forma"},die=20}, {x=3,y=0,flip=false,audio="abad",text={"No me vingues en","tonteries,","mamarratxo."},die=20}, {x=3,y=0,flip=false,audio="abad",text={"Creus que no he","notat que falta mig","bol de cacaus?"},die=20}, {x=4,y=48,flip=true,audio="batman",text={"Jejejeje, es que","estàn molt bons!", ""},die=20}, {x=4,y=48,flip=true,audio="batman",text={"Però si vols te","done del meu bol", "de tramussos."},die=20}, {x=3,y=0,flip=false,audio="abad",text={"TRAMUSSOS...","",""},die=10}, {x=3,y=0,flip=false,audio="abad",text={"M'atreviré a","passar l'última","frontera...?"},die=40}, }, } function start_scene(scene,offset) --bkg=newsurf(128,96) --setdest(bkg) --setsource(0) --blit(0,0,128,96,0,0) --setsource(tiles) --setdest(0) scenes.current_scene=scene scenes.dnum=1 scenes.step=0 scenes.char=1 scenes.wait=0 scenes.offset=28 scenes.die=scenes.current_scene[scenes.dnum].die or 0 if scene[1].musica then --print(scene[1].musica) playmus(scenes.current_scene[scenes.dnum].musica) end if offset then scenes.offset=offset end old_update=game_update game_update=update_scene end function playtext(snd) if snd=="abad" then playsnd(audio_text_abad) elseif snd=="batman" then playsnd(audio_text_batman) elseif snd=="premiere" then playsnd(audio_text_premiere) elseif snd=="elalien" then playsnd(audio_text_elalien) end end function draw_scene() local txt_x = not scenes.current_scene[scenes.dnum].flip and 38 or 8 camera(0,-scenes.offset) if scenes.step==0 then rectfill(0,16,128,17,12) line(0,15,128,15,16) line(0,18,128,18,16) elseif scenes.step==1 then rectfill(0,8,128,26,12) line(0,7,128,7,16) line(0,27,128,27,16) elseif scenes.step==2 then rectfill(0,0,128,34,12) line(0,0,128,0,16) line(0,34,128,34,16) elseif scenes.step==3 then if not scenes.current_scene[scenes.dnum].flip then rectfill(8,12,31,23,16) blit(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,9,13,20,10) else rectfill(97,12,120,23,16) blit(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,98,13,20,10,true) end elseif scenes.step==4 then if not scenes.current_scene[scenes.dnum].flip then rectfill(8,7,31,28,16) blit(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,9,8,20,20) else rectfill(97,7,120,28,16) blit(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,98,8,20,20,true) end elseif scenes.step==5 then text(string.sub(scenes.current_scene[scenes.dnum].text[1],1,scenes.char),txt_x,7,2) if scenes.char<#scenes.current_scene[scenes.dnum].text[1] then scenes.step=scenes.step-1 scenes.char=scenes.char+1 playtext(scenes.current_scene[scenes.dnum].audio) else scenes.char=1 end elseif scenes.step==6 then text(string.sub(scenes.current_scene[scenes.dnum].text[2],1,scenes.char),txt_x,15,2) if scenes.char<#scenes.current_scene[scenes.dnum].text[2] then scenes.step=scenes.step-1 scenes.char=scenes.char+1 playtext(scenes.current_scene[scenes.dnum].audio) else scenes.char=1 end elseif scenes.step==7 then text(string.sub(scenes.current_scene[scenes.dnum].text[3],1,scenes.char),txt_x,23,2) if scenes.char<#scenes.current_scene[scenes.dnum].text[3] then scenes.step=scenes.step-1 scenes.char=scenes.char+1 playtext(scenes.current_scene[scenes.dnum].audio) else scenes.char=1 end elseif scenes.step==8 then rectfill(0,0,128,34,12) line(0,0,128,0,16) line(0,34,128,34,16) if not scenes.current_scene[scenes.dnum].flip then rectfill(8,7,31,28,16) blit(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,9,8,20,20) else rectfill(97,7,120,28,16) blit(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,98,8,20,20,true) end text(scenes.current_scene[scenes.dnum].text[1],txt_x,7,2) text(scenes.current_scene[scenes.dnum].text[2],txt_x,15,2) text(scenes.current_scene[scenes.dnum].text[3],txt_x,23,2) end if scenes.step<=8 then scenes.step=scenes.step+1 end camera(0,0) end function update_scene() scenes.wait=scenes.wait+1 if scenes.wait==6 then scenes.wait=0 draw_scene() if scenes.step>8 then --print(scenes.die) if scenes.die>0 then scenes.die=scenes.die-1 if scenes.die==0 then if scenes.dnum==#scenes.current_scene then stopmusic() if batman.endgame then final_init() fade.fadeoutin() else game_update=old_update end else scenes.dnum=scenes.dnum+1 scenes.die=scenes.current_scene[scenes.dnum].die or 0 scenes.step=2 end end else if math.floor(time()*2)%2==0 then blit(104,88,7,5,118,56) else rectfill(118,56,125,61,12) end end end end if (btnp(KEY_ESCAPE) or padp(btnPause)) and (scenes.current_scene~=scenes.final) then if scenes.current_scene[scenes.dnum].die then game_init(true) else pause() end elseif btnp(KEY_M) then mute = not mute end if scenes.step>8 then if btnp(keyShoot) or btnp(keyDown) or btnp(keyUp) or btnp(keyLeft) or btnp(keyRight) or btnp(KEY_RETURN) or padp(btnShoot) or padp(btnDown) or padp(btnUp) or padp(btnLeft) or padp(btnRight) then if scenes.dnum==#scenes.current_scene then stopmusic() if batman.endgame then final_init() fade.fadeoutin() else game_update=old_update end else scenes.dnum=scenes.dnum+1 scenes.step=2 end end elseif btnp(keyShoot) or padp(btnShoot) then scenes.step=8 end end