cxr2 = arcade_config.character_per_row_base2 premiere={name="premiere", hab=75, x=24, y=24, w=32, h=32, flip=false, frame=12, wait=0, step=0, anim={12,13,12,14}, bb={x=0,y=0,w=32,h=32}, scene_intro=false, scene_object=false} function premiere.init() -- premiere.x=24 premiere.x=4 -- premiere.y=24 premiere.y=3 premiere.w=32 premiere.h=32 premiere.frame=12 premiere.wait=0 premiere.step=0 -- premiere.update=premiere.update_normal premiere.update=premiere.update_stay premiere.scene_intro=false premiere.scene_object=false -- local habs={75,44,20,0} local habs={75,44,20,0} -- premiere.hab=habs[1+math.random(0,3)] premiere.hab=0 local world_x, world_y = coords.room_to_world(premiere.hab,premiere.x,premiere.y) premiere.x=world_x premiere.y=world_y -- print(premiere.hab) end function premiere.draw() local scr_x, scr_y = viewp:screen_coords( premiere.x, premiere.y ) local x = (premiere.frame&7)*premiere.w local y = (premiere.frame>>cxr2)*premiere.h draw.surf(x,y,premiere.w,premiere.h,scr_x,scr_y,premiere.w,premiere.h,premiere.flip) end function premiere.hit() end function premiere.update_stay() premiere.wait=premiere.wait+1 if premiere.wait==96 then premiere.wait=0 premiere.step=(premiere.step+1)%4 premiere.frame=premiere.anim[premiere.step+1] end if premiere.hab==abad.hab then if collision(abad,premiere) then if not premiere.scene_intro then if abad.objects.gorro~=nil then start_scene(scenes.premiere_intro_gorro) premiere.scene_object=true abad.objects.clau_premiere=true abad.objects.gorro=nil else start_scene(scenes.premiere_intro) end premiere.scene_intro=true elseif not premiere.scene_object and abad.objects.gorro~=nil then start_scene(scenes.premiere_gorro) premiere.scene_object=true abad.objects.clau_premiere=true abad.objects.gorro=nil end end end end function premiere.update_normal() premiere.wait=premiere.wait+1 if premiere.wait==6 then premiere.wait=0 premiere.step=(premiere.step+1)%4 premiere.frame=premiere.anim[premiere.step+1] local inc=12 if premiere.flip then inc=2 end if not premiere.flip and premiere.x==84 then premiere.hab=premiere.hab+1 premiere.x=-4 elseif check_tile(premiere.hab,premiere.x+inc,premiere.y+14)0 then if check_tile(premiere.hab,premiere.x+4,premiere.y-2)~=tiletype.block then if (premiere.x+4)&7==0 or check_tile(premiere.hab,premiere.x+12,premiere.y-2)~=tiletype.block then premiere.y=premiere.y-2 end end else premiere.hab=premiere.hab-10 premiere.y=32 end elseif premiere.step>6 then premiere.update=premiere.update_falling end premiere.step=premiere.step+1 end end function premiere.update_falling() premiere.frame=13 premiere.wait=premiere.wait+1 if premiere.wait==6 then premiere.wait=0 local inc=12 if premiere.flip then inc=2 end if not premiere.flip and premiere.x==84 then premiere.hab=premiere.hab+1 premiere.x=-4 elseif check_tile(premiere.hab,premiere.x+inc,premiere.y+14)=tiletype.half or ((premiere.x+4)&7~=0 and check_tile(premiere.hab,premiere.x+12,premiere.y+16)>=tiletype.half)) then premiere.update=premiere.update_normal return end premiere.y=premiere.y+2 else premiere.hab=premiere.hab+10 premiere.y=0 end end end -- function premiere.healer_init() -- if premiere.update==premiere.update_healer then return true end -- premiere.hab = 54 -- premiere.x = 2 -- premiere.y = 3 -- local world_x, world_y = coords.room_to_world(premiere.hab,premiere.x,premiere.y) -- premiere.x=world_x -- premiere.y=world_y -- premiere.health_wait = 100 -- premiere.update = premiere.update_healer -- end -- -- function premiere.update_healer() -- -- Esperar mentres dona la vida -- if premiere.health_wait>0 and premiere.health_wait<100 then -- premiere.health_wait = premiere.health_wait - 1 -- else -- premiere.x = premiere.x+1 -- end -- -- -- Lloc de pausa -- local hab, tx, ty = coords.world_to_tile(premiere.x, premiere.y) -- if hab == 55 and tx==0 and ty==3 and premiere.health_wait==100 then -- -- 55 (0,3) -- table.insert( -- dialegs, -- { actor1=premiere, -- actor2=abad, -- distancia=500, -- direccio = "", -- enabled=true, -- text="Tenne! Io t'achudo. Figo!" -- } -- ) -- premiere.health_wait = premiere.health_wait - 1 -- end -- end