trigger={} function trigger.new(_hab,_x,_y,_fun) local world_x, world_y = coords.room_to_world(_hab,_x,_y) return { name="trigger", hab=_hab, x=world_x, y=world_y, w=16, h=16, fun=_fun, update=trigger.update, draw=trigger.draw, bb={x=0,y=0,w=16,h=16} } end function trigger:draw() -- do nothing local scr_x, scr_y = viewp:screen_coords( self.x, self.y ) draw.rectf(scr_x,scr_y,self.w,self.h,3) end function trigger:update() if self.hab==abad.hab then if collision(abad,self) then self:fun() end end end --function trigger:do_touched() -- start_scene(self.scene) -- remove_actor(self) --end triggers={} function triggers:escena_abad_inici() start_scene(scenes.abad_inici) remove_actor(self) end function triggers:escena_abad_corfes() start_scene(scenes.abad_corfes) remove_actor(self) end function triggers:escena_abad_portes() if abad.escena_portes==nil and ((abad.hab==31 and mapa_get_tile(abad.hab,2,4)~=256) or (abad.hab==71 and mapa_get_tile(abad.hab,6,3)~=256)) then start_scene(scenes.abad_portes) end abad.escena_portes=true remove_actor(self) end function triggers:escena_abad_porta_casa() if mapa_get_tile(abad.hab,6,4)~=256 then start_scene(scenes.abad_porta_casa) end remove_actor(self) end function triggers:escena_abad_porta_batman() if mapa_get_tile(abad.hab,5,4)~=256 then start_scene(scenes.abad_porta_batman) end remove_actor(self) end function triggers:escena_habitacio_batman() if abad.objects.clau_premiere~=nil and abad.objects.clau_elalien~=nil then switches.start(0,0) abad.objects.clau_premiere=nil abad.objects.clau_elalien=nil remove_actor(self) else if batman.habitacio_porta_intro==nil then start_scene(scenes.habitacio_batman) batman.habitacio_porta_intro=true end end end function triggers:teleport_a() abad.teleport=true sound.play(audio_hit) surf.cls(14) imp.reset() abad.hab=67 abad.x=24 end function triggers:teleport_b() if abad.teleport then sound.play(audio_hit) surf.cls(14) imp.reset() abad.hab=14 abad.x=16 end end function triggers:teleport_c() abad.teleport2=true sound.play(audio_hit) surf.cls(14) imp.reset() abad.hab=61 abad.x=24 end function triggers:teleport_d() if abad.teleport2 then sound.play(audio_hit) surf.cls(14) imp.reset() abad.hab=29 abad.x=24 end end