From 97f28fa883823f164c05fb7e3ad4cbf47f34cbf8 Mon Sep 17 00:00:00 2001 From: JailDoctor Date: Mon, 5 Dec 2022 20:03:25 +0100 Subject: [PATCH] - [NEW] Invisible actor - [NEW] Cacaus bowl - [NEW] Bowl found scene - [NEW] Batman kills on touch - [NEW] Drops and invisibles everywhere - Changed Batman room --- batman.lua | 5 ++++- bol.lua | 20 ++++++++++++++++++++ game.ini | 2 +- invisible.lua | 27 +++++++++++++++++++++++++++ main.lua | 31 ++++++++++++++++++++++++++++++- map.lua | 6 +++--- scenes.lua | 5 +++++ score.lua | 2 ++ tiles.gif | Bin 4812 -> 4851 bytes 9 files changed, 92 insertions(+), 6 deletions(-) create mode 100644 bol.lua create mode 100644 invisible.lua diff --git a/batman.lua b/batman.lua index 5f4f5e4..da6b65b 100644 --- a/batman.lua +++ b/batman.lua @@ -17,6 +17,9 @@ function batman.draw() end function batman.hit() + if abad.objects.bol~=nil then + -- Start end of the game + end end function batman.update_normal() @@ -116,7 +119,7 @@ function batman.update_normal() if batman.hab==abad.hab then if aabb(abad,batman) then - + abad_hurt(40) end end diff --git a/bol.lua b/bol.lua new file mode 100644 index 0000000..9ea1560 --- /dev/null +++ b/bol.lua @@ -0,0 +1,20 @@ +bol={hab=39,x=28,y=25,bb={x=0,y=0,w=16,h=8}} + +function bol.init() + bol.update=bol.update + bol.draw=bol.draw +end + +function bol.draw() + sspr(112,88,16,8,bol.x,bol.y,16,8) +end + +function bol.update() + if bol.hab==abad.hab then + if aabb(abad,bol) then + abad.objects.bol=true + start_scene(scenes.bol_trobat) + remove_actor(bol) + end + end +end diff --git a/game.ini b/game.ini index 27debc4..08392a7 100644 --- a/game.ini +++ b/game.ini @@ -2,4 +2,4 @@ title=Cacaus width=128 height=96 zoom=5 -files=dead.lua,scenes.lua,trigger.lua,score.lua,switches.lua,map.lua,mapa.lua,gota.lua,fireball.lua,cacau.lua,bambolla.lua,imp.lua,gps.lua,peu.lua,gorro.lua,batman.lua,elalien.lua,premiere.lua,caco.lua,zombie.lua,abad.lua,main.lua +files=dead.lua,scenes.lua,trigger.lua,score.lua,switches.lua,map.lua,mapa.lua,bol.lua,invisible.lua,gota.lua,fireball.lua,cacau.lua,bambolla.lua,imp.lua,gps.lua,peu.lua,gorro.lua,batman.lua,elalien.lua,premiere.lua,caco.lua,zombie.lua,abad.lua,main.lua diff --git a/invisible.lua b/invisible.lua new file mode 100644 index 0000000..704ee3b --- /dev/null +++ b/invisible.lua @@ -0,0 +1,27 @@ +invisible={} + +function invisible.new(_hab,_x,_y) + return {hab=_hab,x=_x,y=_y,wait=0,hit=invisible.hit,update=invisible.update,draw=invisible.draw,bb={x=0,y=0,w=8,h=8}} +end + +function invisible:draw() + -- Es invisible, res que drawar +end + +function invisible:update() + self.wait=self.wait+1 + + if self.wait==6 then + self.wait=0 + + if self.hab==abad.hab then + if aabb(abad,self) then + abad_hurt(1) + end + end + + end +end + +function invisible:hit() +end diff --git a/main.lua b/main.lua index b352fa0..8e9eca1 100644 --- a/main.lua +++ b/main.lua @@ -51,8 +51,27 @@ function _init() batman.init() table.insert(actors,batman) + bol.init() + table.insert(actors,bol) + -- MALOTES PERSISTENTS - table.insert(actors,gota.new(10,80,4,20)) + table.insert(actors,gota.new(70,40,8,20)) + table.insert(actors,gota.new(70,72,8,30)) + table.insert(actors,gota.new(63,40,4,25)) + table.insert(actors,gota.new(63,72,4,20)) + table.insert(actors,gota.new(64,24,4,10)) + table.insert(actors,gota.new(64,56,4,25)) + table.insert(actors,gota.new(65,24,4,10)) + table.insert(actors,gota.new(65,64,4,25)) + table.insert(actors,gota.new(66,24,4,10)) + table.insert(actors,gota.new(66,32,4,15)) + table.insert(actors,gota.new(77,16,4,30)) + table.insert(actors,gota.new(77,72,4,25)) + + table.insert(actors,invisible.new(77,40,32)) + table.insert(actors,invisible.new(77,48,32)) + table.insert(actors,invisible.new(58,16,32)) + table.insert(actors,invisible.new(58,16,32)) table.insert(actors,zombie.new(2,24,24,false)) table.insert(actors,caco.new(13,24,16,true)) @@ -239,9 +258,19 @@ function update_game() fireball.update() switches.update() + local hx = abad.hab%10 + local hy = flr(abad.hab/10) if btnp(KEY_RETURN) then mode=modes.editing mapa_restore_backup() + elseif btn(KEY_LSHIFT) and btnp(KEY_RIGHT) and hx<9 then + abad.hab=abad.hab+1 + elseif btn(KEY_LSHIFT) and btnp(KEY_LEFT) and hx>0 then + abad.hab=abad.hab-1 + elseif btn(KEY_LSHIFT) and btnp(KEY_DOWN) and hy<7 then + abad.hab=abad.hab+10 + elseif btn(KEY_LSHIFT) and btnp(KEY_UP) and hy>0 then + abad.hab=abad.hab-10 end if abad.objects.gps~=nil then if btnp(KEY_1) then diff --git a/map.lua b/map.lua index b82babf..6e68b66 100644 --- a/map.lua +++ b/map.lua @@ -393,9 +393,9 @@ mapa={ { 24,29,28,29,28,29,28,29,8,9,26,27, 24,256,256,256,256,256,256,256,8,9,25,25, - 24,256,256,256,256,256,256,256,8,9,26,27, - 24,256,114,121,256,256,112,256,8,9,25,25, - 24,256,256,101,102,103,256,256,8,9,26,27, + 24,256,114,256,256,256,112,256,8,9,26,27, + 24,256,256,256,256,256,256,256,8,9,25,25, + 24,256,256,256,105,256,256,256,8,9,26,27, 24,29,28,29,28,29,28,29,28,29,25,25, }, diff --git a/scenes.lua b/scenes.lua index 47bb014..0888595 100644 --- a/scenes.lua +++ b/scenes.lua @@ -76,6 +76,11 @@ scenes={ {x=4,y=0,flip=false,text={"L'habitació de Batman!","Segur que els cacaus","estàn ahí dins."}}, {x=4,y=0,flip=false,text={"Però necessite","una clau...",""}} }, + bol_trobat={ + {x=4,y=0,flip=false,text={"PER FI, JA TINC","ELS MEUS CACAUS!!!","OLE!! OLE!!"}}, + {x=4,y=0,flip=false,text={"Se va a enterar","Batman ara quan","el pille..."}}, + {x=4,y=0,flip=false,text={"Ara si que li puc","pegar una bona","cacauà..."}} + }, } function start_scene(scene) diff --git a/score.lua b/score.lua index f564e55..223c80b 100644 --- a/score.lua +++ b/score.lua @@ -38,4 +38,6 @@ function score.draw() if abad.objects.clau_premiere~=nil then sspr(112,8,8,8,104,48) end if abad.objects.clau_elalien~=nil then sspr(120,8,8,8,112,48) end + + if abad.objects.bol~=nil then sspr(112,88,16,8,104,46) end end \ No newline at end of file diff --git a/tiles.gif b/tiles.gif index 731fff32985d5997320af4063278a1352e3ee693..bb38a01514f1d4ca2ca43ceb2ef796793d66cb09 100644 GIT binary patch delta 4021 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 b(U3>1n3M~~eXE#yTE<(6lzrD0-rt+_H4Kn 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