require("config.util") local mods = {} -- 197 or 6 for j8a -- 511 trickster for 3a -- 550 vampire kiss swipe 5aaa -- 741 for j8a -- 540 d623 function mods.s2sc_cradle(pat) pat:remove_frame(602,2,2) pat:remove_frame(602,2,1) pat:remove_frame(602,3,3) pat:remove_frame(602,3,2) pat:remove_frame(602,3,0) pat:update_frame(602,2,0,{duration = 1}) pat:update_frame(602,1,0,{duration = 1}) for idx = 0 , 29 do pat:split_frame(852,1,0,1,1) end for idx = 0 , 30 do pat:update_frame(852,1,idx,function(frame) frame.duration=1 copy_sprite(frame,pat:get_frame(851,0,33-1*idx)) frame.scale_x = frame.scale_x*.5 + (idx*5) frame.scale_y = frame.scale_y*1 frame.tex_offset_x = 200 frame.tex_offset_y = 120 -- base offsety --[[ if (idx >= 10) then frame.angle_z = -90+10*30 else frame.angle_z = -90+ idx*30 end frame.tex_offset_x = frame.tex_offset_x +40 * math.sin(frame.angle_z * 3.14159/180) --40 for .75 frame.tex_offset_y = frame.tex_offset_y +40 * math.cos(frame.angle_z * 3.14159/180)]]-- --frame.angle_y = frame.angle_y + 10*idx frame.angle_z = frame.angle_z + 10*idx end) end end function mods.d22(pat) for idx = 2 , 10 do pat:split_frame(560,2,1,4,4) pat:split_frame(561,2,1,4,4) end for idz = 0 , 1 do for idx = 0 , 10 do pat:update_frame(560+idz,2,idx,function(frame) local idy = (idx+4)%8 copy_sprite(frame,pat:get_frame(560,1,idy)) frame.hurtbox = pat:get_frame(560,1,idy).hurtbox frame.tex_index = 819 + idx%8 frame.tex_h = 192 if (idx == 4) then frame.tex_w = 192 frame.tex_h = 128 end if (idx == 5) then frame.tex_offset_y = frame.tex_offset_y + 64 frame.tex_w = 128 frame.tex_h = 192 end if (idx == 6) then frame.tex_offset_x = frame.tex_offset_x + 64 frame.tex_w = 192 frame.tex_h = 128 end frame.duration = 3 if (idx <= 2) then frame.duration = 2 end frame.damage = 1000 frame.chip_damage = 250 frame.untech = 60 frame.sp_damage = 200 frame.fflags = 0x00000044 frame.aflags = 0x00002c0e frame.limit = 40 frame.combo_correction = CC_LIFT_ATTACK frame.hit_ani_air = 74 frame.hit_ani_ground = 74 frame.proration = 850 frame.attack_level = AL_HEAVY frame.card_gain_hit = 120 frame.card_gain_block = 80 frame.launch_vector_x = 600 frame.launch_vector_y = 1450 frame.hit_sfx = 4 frame.hit_effect = 8 frame.unknown_9 = 100 frame.hitstop_self = 0 frame.hitstop_enemy = 20 frame.blockstop_self = 0 frame.blockstop_enemy = 20 unset_aflag(frame,AF_PROJECTILE) unset_aflag(frame,AF_GROUND_UNBLOCKABLE) set_aflag(frame,AF_AIR_BLOCKABLE) end) end end for idy = 0 , 1 do pat:update_frame(560+idy,2,2,function(frame) frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = 40 -40 frame.attackbox[1].x2 = 80 -40 frame.attackbox[1].y1 = -40 frame.attackbox[1].y2 = 50 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 70 -40 frame.attackbox[2].x2 = 110 -40 frame.attackbox[2].y1 = 0 frame.attackbox[2].y2 = 100 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = 100 -40 frame.attackbox[3].x2 = 140 -40 frame.attackbox[3].y1 = 40 frame.attackbox[3].y2 = 150 frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = 20 frame.hurtbox[3].x2 = 80 frame.hurtbox[3].y1 = -40 frame.hurtbox[3].y2 = 40 end) end for idy = 0 , 1 do pat:update_frame(560+idy,2,3,function(frame) frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = 20 frame.attackbox[1].x2 = 160 frame.attackbox[1].y1 = -80 frame.attackbox[1].y2 = 120 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 80 frame.attackbox[2].x2 = 200 frame.attackbox[2].y1 = -60 frame.attackbox[2].y2 = 80 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = 160 frame.attackbox[3].x2 = 240 frame.attackbox[3].y1 = -40 frame.attackbox[3].y2 = 40 frame.attackbox[3] = null frame.attackbox[2] = null frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = 20 frame.hurtbox[3].x2 = 80 frame.hurtbox[3].y1 = -80 frame.hurtbox[3].y2 = 0 end) end for idy = 0 , 1 do pat:update_frame(560+idy,2,4,function(frame) frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = 20 frame.attackbox[1].x2 = 70 frame.attackbox[1].y1 = -100 frame.attackbox[1].y2 = 0 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 60 frame.attackbox[2].x2 = 130 frame.attackbox[2].y1 = -130 frame.attackbox[2].y2 = 20 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = 120 frame.attackbox[3].x2 = 180 frame.attackbox[3].y1 = -180 frame.attackbox[3].y2 = 30 frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = 20 frame.hurtbox[3].x2 = 90 frame.hurtbox[3].y1 = -100 frame.hurtbox[3].y2 = -20 end) end for idy = 0 , 1 do pat:update_frame(560+idy,2,5,function(frame) frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -40 frame.attackbox[1].x2 = 40 frame.attackbox[1].y1 = -170 frame.attackbox[1].y2 = -40 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -80 frame.attackbox[2].x2 = 80 frame.attackbox[2].y1 = -200 frame.attackbox[2].y2 = -120 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = -100 frame.attackbox[3].x2 = 120 frame.attackbox[3].y1 = -230 frame.attackbox[3].y2 = -180 frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = -40 frame.hurtbox[3].x2 = 60 frame.hurtbox[3].y1 = -160 frame.hurtbox[3].y2 = -70 end) end for idy = 0 , 1 do pat:update_frame(560+idy,2,6,function(frame) frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -40 frame.attackbox[1].x2 = 40 frame.attackbox[1].y1 = -250 frame.attackbox[1].y2 = -40 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -120 frame.attackbox[2].x2 = -20 frame.attackbox[2].y1 = -200 frame.attackbox[2].y2 = -80 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = -160 frame.attackbox[3].x2 = -60 frame.attackbox[3].y1 = -150 frame.attackbox[3].y2 = -120 frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = -100 frame.hurtbox[3].x2 = -30 frame.hurtbox[3].y1 = -110 frame.hurtbox[3].y2 = -20 end) end for idy = 0 , 1 do pat:update_frame(560+idy,2,7,function(frame) frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -160 frame.attackbox[1].x2 = -60 frame.attackbox[1].y1 = -150 frame.attackbox[1].y2 = -0 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -120 frame.attackbox[2].x2 = -20 frame.attackbox[2].y1 = -200 frame.attackbox[2].y2 = -40 frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = -100 frame.hurtbox[3].x2 = -30 frame.hurtbox[3].y1 = -100 frame.hurtbox[3].y2 = 50 end) end for idy = 0 , 1 do pat:update_frame(560+idy,2,7,function(frame) --frame.attackbox = pat:get_frame(0,0,0).attackbox end) end pat:update_frame(560,2,10,function(frame) --copy_sprite(frame,pat:get_frame(9,0,0)) frame.duration = 9999 end) pat:update_frame(561,2,10,function(frame) --copy_sprite(frame,pat:get_frame(9,0,0)) frame.duration = 9999 end) for idx = 2 , 10 do pat:update_frame(560,2,idx,function(frame) set_fflag(frame,FF_CANCEL) end) pat:update_frame(561,2,idx,function(frame) set_fflag(frame,FF_CANCEL) end) end for idx = 2 , 7 do pat:remove_frame(560,1,2) pat:remove_frame(561,1,2) end for idx = 0 , 1 do pat:update_frame(561,1,idx,function(frame) copy_sprite(frame,pat:get_frame(560,1,idx)) end) end for idz = 0 , 1 do for idx = 2 , 15 do pat:split_frame(560+idz,1,0,4,4) end for idx = 0 , 15 do pat:update_frame(560+idz,1,idx,function(frame) if (idx ~= 15) then frame.fflags = 0x00000041 end if (idx==4 or idx==5) then frame.damage = 600 frame.chip_damage = 150 frame.untech = 60 frame.sp_damage = 200 frame.aflags = 0x00002c0e frame.limit = 40 frame.combo_correction = CC_NONE frame.hit_ani_air = 71 frame.hit_ani_ground = 0 frame.proration = 900 frame.attack_level = AL_HEAVY frame.card_gain_hit = 80 frame.card_gain_block = 60 frame.launch_vector_x = 300 frame.launch_vector_y = 1450 frame.hit_sfx = 4 frame.hit_effect = 8 frame.unknown_9 = 100 frame.hitstop_self = 0 frame.hitstop_enemy = 10 frame.blockstop_self = 0 frame.blockstop_enemy = 10 unset_aflag(frame,AF_PROJECTILE) unset_aflag(frame,AF_GROUND_UNBLOCKABLE) unset_aflag(frame,AF_AIR_BLOCKABLE) unset_aflag(frame,AF_COUNTER_HIT) frame.fflags = 0x00000061 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = 40 frame.attackbox[1].x2 = 180 frame.attackbox[1].y1 = -125 frame.attackbox[1].y2 = -40 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 110 frame.attackbox[2].x2 = 210 frame.attackbox[2].y1 = -160 frame.attackbox[2].y2 = -80 end frame.duration = 4 if (idx == 0) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 827 frame.duration = 2 frame.hurtbox[1].x1 = frame.hurtbox[1].x1 - 20 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 30 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 - 20 elseif (idx == 1) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 827 frame.duration = 3 frame.hurtbox[1].x1 = frame.hurtbox[1].x1 - 20 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 30 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 - 20 elseif (idx == 2) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 828 frame.duration = 3 if (idz==1) then frame.duration = 6 end frame.hurtbox[1].x1 = frame.hurtbox[1].x1 - 30 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 30 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 - 10 elseif (idx == 3) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 829 frame.hurtbox[1].x1 = frame.hurtbox[1].x1 - 30 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 30 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 - 10 elseif (idx == 4) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 830 frame.hurtbox[1].x1 = frame.hurtbox[1].x1 - 30 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 30 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 - 10 frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = frame.hurtbox[3].x1 + 40 frame.hurtbox[3].x2 = frame.hurtbox[3].x2 + 60 frame.hurtbox[3].y1 = frame.hurtbox[3].y1 + 40 frame.hurtbox[3].y2 = frame.hurtbox[3].y2 - 40 elseif (idx == 5) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 831 frame.hurtbox = pat:get_frame(560+idz,1,4).hurtbox elseif (idx == 6) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 832 frame.fflags = 0x00000021 frame.hurtbox = pat:get_frame(560+idz,1,4).hurtbox elseif (idx == 7) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 833 frame.duration = 4 frame.fflags = 0x00000021 frame.hurtbox = pat:get_frame(560+idz,1,4).hurtbox elseif (idx == 8) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 833 frame.duration = 8 frame.fflags = 0x00000021 frame.hurtbox = pat:get_frame(560+idz,1,4).hurtbox elseif (idx == 9) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 833 frame.fflags = 0x00000021 frame.hurtbox = pat:get_frame(560+idz,1,4).hurtbox elseif (idx == 10) then copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 833 frame.fflags = 0x00000021 frame.hurtbox = pat:get_frame(560+idz,1,4).hurtbox elseif (idx == 11) then copy_sprite(frame,pat:get_frame(690,1,9)) frame.fflags = 0x00000021 frame.hurtbox[1].x1 = frame.hurtbox[1].x1 - 30 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 30 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 - 10 elseif (idx == 12) then copy_sprite(frame,pat:get_frame(690,1,10)) frame.fflags = 0x00000021 frame.hurtbox[1].x1 = frame.hurtbox[1].x1 - 30 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 30 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 - 10 elseif (idx == 13) then copy_sprite(frame,pat:get_frame(690,1,11)) frame.fflags = 0x00000021 frame.hurtbox = pat:get_frame(0,0,0).hurtbox elseif (idx == 14) then copy_sprite(frame,pat:get_frame(690,1,11)) frame.fflags = 0x00000021 frame.hurtbox = pat:get_frame(0,0,0).hurtbox elseif (idx == 15) then copy_sprite(frame,pat:get_frame(560+idz,1,0)) frame.tex_index = 819 frame.hurtbox = pat:get_frame(0,0,0).hurtbox end end) end end pat:remove_frame(561,1,17) pat:remove_frame(561,1,16) pat:update_frame(560,0,2,function(frame) copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 828 end) pat:update_frame(561,0,2,function(frame) copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 827 end) pat:update_frame(560,5,2,function(frame) frame.duration = 5-4 end) pat:update_frame(561,5,2,function(frame) frame.duration = 5-4 end) --pat:remove_frame(560,5,5) --pat:remove_frame(561,5,5) pat:remove_frame(560,5,3) pat:remove_frame(561,5,3) --pat:update_frame(560,5,0,{duration = 1}) --pat:update_frame(561,5,0,{duration = 1}) pat:update_frame(560,5,1,{duration = 6-2}) pat:update_frame(561,5,1,{duration = 6-2}) for idx = 1 , 4 do pat:update_frame(560,5,idx,function(frame) frame.fflags = pat:get_frame(560,5,0).fflags end) end for idx = 1 , 40 do pat:split_frame(825,0,0,1,1) end for idx = 0 , 40 do pat:update_frame(825,0,idx,function(frame) --frame.tex_index = 639 frame.tex_index = 789+29 - idx%30 frame.tex_w = 256 frame.tex_h = 128 frame.tex_offset_x = 100+idx frame.tex_offset_y = 84-idx frame.scale_x = 150 frame.scale_y = -450 frame.angle_z = 60 - 7*idx frame.duration = 1 if (idx < 9) then local alpha = (idx+1)*25 frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha end if (idx > 15) then --frame.scale_y = -450 + (idx-15)*20 frame.duration = 2 if (idx >= 27) then frame.duration = 3 end if (idx >= 23) then frame.angle_z = 60-7*23 - 12*(idx-23) frame.tex_offset_y = 84-23 - 4*(idx-23) end local alpha = 255-(idx-15)*5 if (alpha<=0) then alpha = 0 end frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha end if (idx >= 32) then frame.tex_w = 0 frame.duration = 9999 end end) end for idx = 1 , 31 do pat:split_frame(825,0,0,1,1) end for idx = 0 , 31 do pat:update_frame(825,0,idx,function(frame) --frame.tex_index = 639 frame.tex_index = 789 + idx%30 frame.tex_w = 256 frame.tex_h = 128 frame.tex_offset_x = 128 frame.tex_offset_y = 64 frame.scale_x = 200 frame.scale_y = 200 frame.angle_z = 330 frame.duration = 1 local alpha = 255 frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha if (frame.tex_index >= 789+15) then frame.duration = 2 end if (idx == 30) then frame.tex_w = 0 frame.duration = 200 end end) end pat:split_frame(825,0,0,1,1) pat:update_frame(825,0,0,{duration = 10 , tex_w = 0}) end function mods.a22_ceiling(pat) pat:remove_frame(565,1,8) pat:remove_frame(565,1,7) pat:remove_frame(565,1,6) pat:remove_frame(565,1,5) pat:remove_frame(565,1,4) pat:remove_frame(565,1,3) pat:remove_frame(565,1,2) pat:remove_frame(565,1,1) pat:update_frame(565,1,0,{duration=20}) pat:remove_frame(565,2,3) pat:remove_frame(565,2,2) pat:remove_frame(565,2,1) pat:update_frame(565,2,0,function(frame) frame.duration=2 frame.tex_index = pat:get_frame(565,6,0).tex_index frame.tex_w = pat:get_frame(565,6,0).tex_w frame.tex_h = pat:get_frame(565,6,0).tex_h frame.tex_index = pat:get_frame(5,0,0).tex_index frame.tex_w = pat:get_frame(5,0,0).tex_w frame.tex_h = pat:get_frame(5,0,0).tex_h frame.tex_offset_x = frame.tex_offset_x - 20 end) pat:update_frame(565,0,0,{duration = 3}) pat:update_frame(565,0,1,{duration = 3}) pat:update_frame(565,0,2,{duration = 3}) pat:update_frame(565,3,0,{attackbox = pat:get_frame(0,0,0).attackbox}) pat:update_frame(565,3,0,function(frame) --[[ frame.tex_index = pat:get_frame(565,6,0).tex_index frame.tex_w = pat:get_frame(565,6,0).tex_w frame.tex_h = pat:get_frame(565,6,0).tex_h copy_sprite(frame,pat:get_frame(53,2,4))]]-- end) pat:get_sequence(565,5):set_looped(false) pat:update_frame(565,4,0,{duration = 2}) pat:update_frame(565,4,1,{duration = 2}) pat:update_frame(565,4,2,{duration = 2}) pat:update_frame(565,4,3,{duration = 2}) pat:update_frame(565,4,4,{duration = 2}) pat:update_frame(565,4,5,{duration = 2}) pat:update_frame(565,4,6,{duration = 2}) --pat:remove_frame(565,5,1) pat:split_frame(565,5,1,2,2) pat:update_frame(565,5,0,{duration = 6}) pat:update_frame(565,5,1,{duration = 8}) pat:update_frame(565,5,2,{duration = 10}) pat:update_frame(565,5,2,function(frame) copy_sprite(frame,pat:get_frame(565,5,0)) frame.hurtbox = pat:get_frame(565,5,0).hurtbox frame.fflags = pat:get_frame(565,5,0).fflags end) pat:update_frame(565,6,0,function(frame) copy_sprite(frame,pat:get_frame(565,5,0)) frame.hurtbox = pat:get_frame(565,5,0).hurtbox frame.fflags = pat:get_frame(565,5,0).fflags end) pat:remove_frame(566,1,8) pat:remove_frame(566,1,7) pat:remove_frame(566,1,6) pat:remove_frame(566,1,5) pat:remove_frame(566,1,4) pat:remove_frame(566,1,3) pat:remove_frame(566,1,2) pat:remove_frame(566,1,1) pat:update_frame(566,1,0,{duration=20}) pat:remove_frame(566,2,3) pat:remove_frame(566,2,2) pat:remove_frame(566,2,1) pat:update_frame(566,2,0,function(frame) frame.duration=2 frame.tex_index = pat:get_frame(565,6,0).tex_index frame.tex_w = pat:get_frame(565,6,0).tex_w frame.tex_h = pat:get_frame(565,6,0).tex_h frame.tex_index = pat:get_frame(5,0,0).tex_index frame.tex_w = pat:get_frame(5,0,0).tex_w frame.tex_h = pat:get_frame(5,0,0).tex_h frame.tex_offset_x = frame.tex_offset_x - 20 --frame.hurtbox = pat:get_frame(565,6,0) end) pat:update_frame(566,0,0,{duration = 4}) pat:update_frame(566,0,1,{duration = 4}) pat:update_frame(566,0,2,{duration = 4}) pat:update_frame(566,3,0,{attackbox = pat:get_frame(0,0,0).attackbox}) pat:update_frame(566,3,0,function(frame) --[[ frame.tex_index = pat:get_frame(565,6,0).tex_index frame.tex_w = pat:get_frame(565,6,0).tex_w frame.tex_h = pat:get_frame(565,6,0).tex_h copy_sprite(frame,pat:get_frame(53,2,4))]]-- end) pat:get_sequence(566,5):set_looped(false) pat:update_frame(566,4,0,{duration = 2}) pat:update_frame(566,4,1,{duration = 2}) pat:update_frame(566,4,2,{duration = 2}) pat:update_frame(566,4,3,{duration = 2}) pat:update_frame(566,4,4,{duration = 2}) pat:update_frame(566,4,5,{duration = 2}) pat:update_frame(566,4,6,{duration = 2}) --pat:remove_frame(566,5,1) pat:split_frame(566,5,1,2,2) pat:update_frame(566,5,0,{duration = 6}) pat:update_frame(566,5,1,{duration = 8}) pat:update_frame(566,5,2,{duration = 10}) pat:update_frame(566,5,2,function(frame) copy_sprite(frame,pat:get_frame(565,5,0)) frame.hurtbox = pat:get_frame(565,5,0).hurtbox frame.fflags = pat:get_frame(565,5,0).fflags end) pat:update_frame(566,6,0,function(frame) copy_sprite(frame,pat:get_frame(566,5,0)) frame.hurtbox = pat:get_frame(566,5,0).hurtbox frame.fflags = pat:get_frame(566,5,0).fflags end) pat:remove_frame(565,4,6) pat:remove_frame(565,4,5) pat:remove_frame(566,4,6) pat:remove_frame(566,4,5) --[[ pat:update_frame(826,2,0,{tex_w = 0}) pat:update_frame(826,4,0,function(frame) frame.attackbox[1].x1 = frame.attackbox[1].x1 * 2.25 frame.attackbox[1].x2 = frame.attackbox[1].x2 * 2.25 frame.attackbox[1].y1 = frame.attackbox[1].y1 * 1 frame.attackbox[1].y2 = frame.attackbox[1].y2 * 1 frame.sp_damage = 100 frame.damage = 800 frame.chip_damage = 200 frame.proration = 800 frame.hitstop_enemy = 5 end) pat:update_frame(826,6,0,function(frame) frame.attackbox[1].x1 = frame.attackbox[1].x1 * 2.25 frame.attackbox[1].x2 = frame.attackbox[1].x2 * 2.25 frame.attackbox[1].y1 = frame.attackbox[1].y1 * 1 frame.attackbox[1].y2 = frame.attackbox[1].y2 * 1 frame.sp_damage = 100 frame.damage = 800 frame.chip_damage = 200 frame.proration = 800 frame.hitstop_enemy = 5 end) pat:update_frame(826,5,0,{scale_x = 200 , scale_y = 100}) pat:update_frame(826,7,0,{scale_x = 200 , scale_y = 150}) ]]-- end function mods.a236_claw(pat) --[[ for idx = 6 , 11 do pat:update_frame(505,0,idx,function(frame) set_aflag(frame,AF_PROJECTILE) unset_aflag(frame,AF_ATTACK_HIGH) set_aflag(frame,AF_LOWBLOCK_OK) unset_aflag(frame,AF_COUNTER_HIT) set_aflag(frame,AF_AIR_BLOCKABLE) set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_CANCEL) end) end]]-- end function mods.d623(pat) -- 7 2 2-8 -- 17f startup currently -- same as before for idx2 = 0 , 1 do --for b ver --character for idx = 0 , 1 do pat:split_frame(540+idx2,2,0,1,1) --pat:split_frame(540+idx2,3,0,1,1) end pat:remove_frame(540+idx2,3,3) pat:remove_frame(540+idx2,3,2) for idx1 = 0, 2 do pat:update_frame(540+idx2,0,idx1,function(frame) unset_fflag(frame,FF_MELEE_INV) if (idx1 == 2) then frame.hurtbox[2].y1 = frame.hurtbox[2].y1 - 60 else frame.hurtbox[1].y1 = frame.hurtbox[1].y1 - 60 end end) --pat:update_frame(540+idx2,7,idx1,function(frame) end for idx = 0 , 5 do pat:update_frame(540+idx2,2,idx,function(frame) frame.duration = 2 frame.attackbox[2]=null frame.attackbox[1]=null copy_sprite(frame,pat:get_frame(7,2,2+idx)) frame.hurtbox = pat:get_frame(7,2,2+idx).hurtbox frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + 40 frame.hurtbox[2].y2 = frame.hurtbox[2].y2 + 40 unset_fflag(frame,FF_MELEE_INV) end) if (idx <= 1) then pat:update_frame(540+idx2,3,idx,function(frame) frame.duration = 1 if (idx<1) then frame.attackbox[2]=null frame.attackbox[1]=null else frame.attackbox[1].x2 = frame.attackbox[1].x2 + 40 frame.attackbox[1].y1 = frame.attackbox[1].y1 - 20 -10 frame.attackbox[2].x2 = frame.attackbox[2].x2 + 120 +15 frame.attackbox[2].x1 = frame.attackbox[2].x1 + 50 frame.attackbox[2].y2 = frame.attackbox[2].y2 + 85 frame.attackbox[3]=pat:get_frame(306,0,3).attackbox[1] frame.attackbox[3].x1 = frame.attackbox[2].x1 + 60 frame.attackbox[3].x2 = frame.attackbox[2].x2 + 40 -15 frame.attackbox[3].y1 = frame.attackbox[2].y1 + 120 frame.attackbox[3].y2 = frame.attackbox[2].y2 + 40 frame.hitstop_self=10 frame.hitstop_enemy=10 frame.blockstop_self=10 frame.blockstop_enemy=10 frame.duration=3 frame.damage=1200 frame.untech = 120 frame.chip_damage = 300 frame.proration=800 frame.limit=40 frame.sp_damage=200 frame.hit_ani_air=88 frame.hit_ani_ground=88 frame.launch_vector_y=-2550 frame.hit_sfx=4 frame.hit_effect=3 frame.attack_level=AL_HEAVY frame.combo_correction=CC_SMASH_ATTACK set_aflag(frame,AF_ATTACK_HIGH) set_aflag(frame,AF_ATTACK_AIR) set_aflag(frame,AF_HIGHBLOCK_OK) set_fflag(frame,FF_CANCEL) unset_aflag(frame,AF_LOWBLOCK_OK) --unset_aflag(frame,AF_AIR_BLOCKABLE) unset_fflag(frame,FF_MELEE_INV) end if (idx>=1) then copy_sprite(frame,pat:get_frame(7,2,3)) frame.hurtbox = pat:get_frame(7,2,3).hurtbox--[[ frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = frame.hurtbox[2].x1 + 40 frame.hurtbox[3].x2 = frame.hurtbox[2].x2 + 40 frame.hurtbox[3].y1 = frame.hurtbox[2].y1 + 40 frame.hurtbox[3].y2 = frame.hurtbox[2].y2 + 40]]-- set_fflag(frame,FF_CANCEL) else copy_sprite(frame,pat:get_frame(7,2,2)) frame.hurtbox = pat:get_frame(7,2,2).hurtbox end end) end end for idx = 0 , 8 do pat:update_frame(540+idx2,4,idx,function(frame) set_fflag(frame,FF_CANCEL) end) end pat:update_frame(540+idx2,5,0,function(frame) set_fflag(frame,FF_CANCEL) end) pat:update_frame(540+idx2,5,1,function(frame) set_fflag(frame,FF_CANCEL) end) -- sword anim for idx = 0 , 23 do pat:split_frame(820,idx2,0,1,1) end for idx = 0 , 30 do pat:update_frame(820,idx2,idx,function(frame) frame.duration=1 copy_sprite(frame,pat:get_frame(851,0,33-1*idx)) frame.scale_x = frame.scale_x*.6 frame.scale_y = frame.scale_y*.6 frame.tex_offset_x = 200 frame.tex_offset_y = 120 -- base offsety if (idx >= 10) then frame.angle_z = -90+10*30 else frame.angle_z = -90+ idx*30 end frame.tex_offset_x = frame.tex_offset_x +40 * math.sin(frame.angle_z * 3.14159/180) --40 for .75 frame.tex_offset_y = frame.tex_offset_y +40 * math.cos(frame.angle_z * 3.14159/180) end) end for idx = 0 , 2 do pat:update_frame(540+idx2,6,idx,function(frame) set_fflag(frame,FF_CANCEL) frame.duration=4 copy_sprite(frame,pat:get_frame(540+idx2,6,0)) end) end end --invul fixing pat:update_frame(540,0,0,function(frame) unset_fflag(frame,FF_MELEE_INV) frame.duration = 2 end) pat:update_frame(540,0,1,function(frame) unset_fflag(frame,FF_MELEE_INV) frame.duration = 2 end) pat:update_frame(540,0,2,function(frame) unset_fflag(frame,FF_MELEE_INV) frame.duration = 1 end) pat:update_frame(541,0,0,function(frame) unset_fflag(frame,FF_MELEE_INV) frame.duration = 2 end) pat:update_frame(541,0,1,function(frame) unset_fflag(frame,FF_MELEE_INV) frame.duration = 2 end) pat:update_frame(541,0,2,function(frame) unset_fflag(frame,FF_MELEE_INV) frame.duration = 1 end) pat:update_frame(540,1,0,function(frame) unset_fflag(frame,FF_MELEE_INV) --frame.duration = 1 end) pat:update_frame(541,1,0,function(frame) unset_fflag(frame,FF_MELEE_INV) --frame.duration = 1 end) pat:remove_frame(540,0,2) --pat:remove_frame(540,0,1) pat:remove_frame(541,0,2) --pat:remove_frame(541,0,1) for idx = 0 , 5 do pat:split_frame(820,0,0,1,1) end for idx = 0 , 5 do pat:update_frame(820,0,idx,function(frame) frame.tex_w = 0 end) end for idx = 0 , 5 do pat:split_frame(820,1,0,1,1) end for idx = 0 , 5 do pat:update_frame(820,1,idx,function(frame) frame.tex_w = 0 end) end end function mods.spears(pat) --22f startup for idx2 = 0 , 1 do for idx = 0 , 2 do pat:update_frame(530+idx2,0,idx,function(frame) frame.duration=2 end) end for idx = 3 , 11 do pat:update_frame(530+idx2,0,idx,function(frame) copy_sprite(frame,pat:get_frame(530,0,2)) frame.hurtbox = pat:get_frame(530,0,2).hurtbox frame.duration=1 end) end pat:update_frame(530+idx2,1,0,function(frame) copy_sprite(frame,pat:get_frame(530,0,2)) frame.hurtbox = pat:get_frame(530,0,2).hurtbox end) for idx = 1 , 2 do pat:update_frame(530+idx2,1,idx,function(frame) copy_sprite(frame,pat:get_frame(530,0,2)) frame.hurtbox = pat:get_frame(530,0,2).hurtbox frame.duration=1 end) end pat:update_frame(530+idx2,0,12,function(frame) copy_sprite(frame,pat:get_frame(609,2,1)) frame.hurtbox = pat:get_frame(609,2,1).hurtbox frame.duration=2 end) pat:update_frame(530+idx2,1,3,function(frame) copy_sprite(frame,pat:get_frame(609,2,1)) frame.hurtbox = pat:get_frame(609,2,1).hurtbox frame.duration=2 end) for idx = 13 , 15 do pat:update_frame(530+idx2,0,idx,function(frame) copy_sprite(frame,pat:get_frame(609,2,2)) frame.hurtbox = pat:get_frame(609,2,2).hurtbox frame.duration=2 end) pat:update_frame(530+idx2,1,idx-9,function(frame) copy_sprite(frame,pat:get_frame(609,2,2)) frame.hurtbox = pat:get_frame(609,2,2).hurtbox frame.duration=2 end) end pat:update_frame(530+idx2,0,12,function(frame) frame.fflags = pat:get_frame(530+idx2,0,11).fflags end) pat:update_frame(530+idx2,1,3,function(frame) frame.fflags = pat:get_frame(530+idx2,1,2).fflags end) pat:update_frame(530+idx2,1,7,{duration = 5+22}) end pat:get_sequence(817,0):set_looped(false) pat:get_sequence(817,1):set_looped(false) for idx = 1,14 do pat:remove_frame(817,1,1) end pat:update_frame(817,1,0,{tex_w = 0}) pat:update_frame(817,2,0,function(frame) frame.tex_w = 0 end) for idx = 2 , 120 do pat:split_frame(817,0,0,1,1) end for idx = 0 , 120 do pat:update_frame(817,0,idx,function(frame) set_fflag(frame, FF_AFTER_IMAGE) set_fflag(frame, FF_LOOP_ANIMATION) copy_sprite(frame,pat:get_frame(801,0,idx%20)) frame.scale_x = 100 frame.scale_y = 100 frame.angle_z = 180 local scalemod = 100/frame.scale_x local ymod = -100+idx*5 local xmod = 200 -42*idx -10*idx if (idx < 10) then frame.scale_x = idx*10 frame.scale_y = idx*10 scalemod = 100/frame.scale_x end frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -40 frame.attackbox[1].x2 = 40 frame.attackbox[1].y1 = -40 frame.attackbox[1].y2 = 40 frame.tex_offset_y = frame.tex_offset_y + (ymod)*scalemod frame.attackbox[1].y1 = frame.attackbox[1].y1 + (ymod) frame.attackbox[1].y2 = frame.attackbox[1].y2 + (ymod) frame.tex_offset_x = frame.tex_offset_x + (xmod)*scalemod frame.attackbox[1].x1 = frame.attackbox[1].x1 + (xmod) frame.attackbox[1].x2 = frame.attackbox[1].x2 + (xmod) set_aflag(frame,AF_UNREFLECTABLE) frame.launch_vector_x = frame.launch_vector_x*-1 frame.launch_vector_y = 1200 frame.damage = 400 frame.sp_damage = 75 frame.proration = 920 frame.card_gain_hit = 30 frame.card_gain_block = 30 frame.limit = 5 frame.hitstop_enemy = 15 frame.blockstop_enemy = 5 frame.untech = 45 frame.duration = 1 if (idx < 3) then frame.attackbox = pat:get_frame(0,0,0).attackbox end if (idx < 5) then local alpha = 50*(idx+1) frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha end end) end end function mods.flier(pat) for idx = 8 , 10 do pat:update_frame(520,0,idx,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) frame.duration = 6 end) pat:update_frame(521,0,idx,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) frame.duration = 6 end) end for idx = 7 , 9 do pat:update_frame(520,1,idx,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) frame.duration = 6 end) pat:update_frame(521,1,idx,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) frame.duration = 6 end) end --pat:update_frame(520,0,2,{ duration = 20 }) --pat:update_frame(521,0,2,{ duration = 20 }) for idx = 1, 19 do pat:remove_frame(815,1,1) end for idx = 0 , 118 do pat:split_frame(815,1,idx,1,1) end for idx = 0 , 119 do pat:update_frame(815,1,idx,function(frame) --frame.tex_index = 317 frame.tex_index = 347 frame.tex_w = 32 frame.tex_h = 128 frame.hitstop_self = 5 frame.blockstop_self = 5 frame.tex_offset_x = 0 frame.scale_x = 10000 set_fflag(frame,FF_AFTER_IMAGE) set_fflag(frame,FF_LOOP_ANIMATION) frame.attackbox[1].x2 = frame.attackbox[1].x2 + 2000 if (idx >= 4) then --frame.tex_w = 0 frame.attackbox[1]=null end if (idx < 1) then else frame.scale_y = frame.scale_y * (5-idx)/4 if (idx > 5) then frame.tex_w = 0 end end frame.damage = 400 frame.chip_damage = 80 frame.limit = 10 frame.untech = 45 frame.sp_damage = 100 frame.proration = 950 frame.hitstop_enemy = 10 frame.blockstop_enemy = 10 frame.card_gain_block = 40 frame.card_gain_hit = 40 frame.launch_vector_x = 2500 frame.launch_vector_y = 600 frame.hit_ani_air = 74 frame.hit_ani_ground = 74 frame.combo_correction = CC_SMASH_ATTACK frame.hit_sfx = 3 frame.hit_effect = 3 set_aflag(frame,AF_UNREFLECTABLE) --[[ copy_sprite(frame,pat:get_frame(801,0,idx%20)) local distcounter = .75*(120/(120-idx)) if (distcounter >= 5) then distcounter = 5 frame.duration = 4 end frame.scale_x = frame.scale_x*distcounter frame.scale_y = frame.scale_y*distcounter frame.duration = 1 local boxx = frame.attackbox[1].x2-frame.attackbox[1].x1 local boxy = frame.attackbox[1].y2-frame.attackbox[1].y1 boxx = boxx*distcounter boxy = boxy*distcounter local centx = (frame.attackbox[1].x1+frame.attackbox[1].x2)/2 local centy = (frame.attackbox[1].y1+frame.attackbox[1].y2)/2 frame.attackbox[1].x1 = centx-boxx/2 frame.attackbox[1].x2 = centx+boxx/2 frame.attackbox[1].y1 = centy-boxy/2 frame.attackbox[1].y2 = centy+boxy/2 frame.damage=frame.damage*.5*distcounter frame.sp_damage=frame.sp_damage*.5*distcounter frame.chip_damage = frame.chip_damage*.5*distcounter frame.proration=960]]-- end) end pat:get_sequence(815,0):set_priority(20,0) end function mods.cradle5(pat) pat:update_frame(605,0,0,function(frame) frame.duration = 3 copy_sprite(frame,pat:get_frame(605,0,2)) end) pat:update_frame(605,0,1,function(frame) copy_sprite(frame,pat:get_frame(605,0,2)) --fflags = pat:get_frame(605,0,0).fflags end) pat:update_frame(605,0,3,function(frame) copy_sprite(frame,pat:get_frame(7,0,0)) frame.hurtbox=pat:get_frame(6,0,0).hurtbox frame.duration = frame.duration end) pat:update_frame(605,0,4,function(frame) copy_sprite(frame,pat:get_frame(7,0,1)) frame.hurtbox=pat:get_frame(6,0,0).hurtbox frame.duration = frame.duration end) pat:update_frame(605,0,5,function(frame) copy_sprite(frame,pat:get_frame(7,0,1)) --frame.hurtbox=pat:get_frame(6,0,0).hurtbox frame.duration = 24 - 10 end) pat:update_frame(605,0,6,function(frame) copy_sprite(frame,pat:get_frame(7,0,1)) frame.hurtbox=pat:get_frame(605,0,5).hurtbox frame.duration = 2 + 4 frame.fflags = pat:get_frame(605,0,5).fflags end) pat:update_frame(605,0,7,function(frame) copy_sprite(frame,pat:get_frame(7,0,2)) frame.hurtbox=pat:get_frame(605,0,5).hurtbox frame.fflags = pat:get_frame(605,0,5).fflags frame.duration = 3 + 1 end) pat:update_frame(605,0,8,function(frame) copy_sprite(frame,pat:get_frame(6,1,0)) frame.hurtbox=pat:get_frame(6,1,0).hurtbox --frame.fflags = pat:get_frame(605,0,5).fflags end) pat:update_frame(605,1,0,function(frame) --frame.fflags = pat:get_frame(605,0,5).fflags frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 6 copy_sprite(frame,pat:get_frame(6,1,0)) frame.hurtbox = pat:get_frame(6,1,0).hurtbox end) pat:update_frame(605,1,1,function(frame) --frame.fflags = pat:get_frame(605,0,5).fflags frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 6 copy_sprite(frame,pat:get_frame(6,2,0)) frame.hurtbox = pat:get_frame(6,2,0).hurtbox end) for idx = 2 , 3 do pat:update_frame(605,1,idx,function(frame) frame.attackbox = pat:get_frame(0,0,0).attackbox copy_sprite(frame,pat:get_frame(605,2,5)) frame.hurtbox = pat:get_frame(605,2,5).hurtbox frame.duration = 10 end) end pat:update_frame(855,0,0,function(frame) frame.scale_x = frame.scale_x*.25 frame.scale_y = frame.scale_y*.25 end) pat:update_frame(855,1,0,function(frame) frame.scale_x = frame.scale_x*.25 frame.scale_y = frame.scale_y*.25 end) for idx = 0 , 60 do pat:split_frame(855,2,0,1,1) end for idx = 0 , 89 do pat:update_frame(855,2,idx,function(frame) copy_sprite(frame,pat:get_frame(854,0,30+idx%4)) if (idx%8==4) then copy_sprite(frame,pat:get_frame(854,0,33)) elseif (idx%8==5) then copy_sprite(frame,pat:get_frame(854,0,32)) elseif (idx%8==6) then copy_sprite(frame,pat:get_frame(854,0,31)) elseif (idx%8==7) then copy_sprite(frame,pat:get_frame(854,0,30)) end local idy = 0 if (idx >= 56) then idy = idx-56 if (34-idy<=0) then idy = 34 end copy_sprite(frame,pat:get_frame(854,0,34-idy)) end --final angle 350 idy = idx-40 if (idy >= 20) then frame.angle_z = 110 + 20*15 elseif (idy > 0) then frame.angle_z = 110 + (idy)*15 else frame.angle_z = 110 + 0*15 end if (idx > 73) then idy = 255- (idx - 63) * 25 frame.color_r = idy frame.color_g = idy frame.color_b = idy end frame.tex_offset_x = frame.tex_offset_x+80 frame.tex_offset_y = frame.tex_offset_y-30 frame.scale_x=500 frame.scale_y=500 end) end for idx = 0 , 6 do --pat:remove_frame(855,2,1) end pat:split_frame(605,2,0,1,1) pat:update_frame(605,2,0,function(frame) copy_sprite(frame,pat:get_frame(605,2,6)) frame.hurtbox = pat:get_frame(605,2,6).hurtbox frame.duration = 28 end) pat:update_frame(605,2,1,{duration = 1 + 2}) pat:update_frame(605,2,2,{duration = 2 + 1}) pat:split_frame(605,2,3,1,3) pat:split_frame(605,2,3,3,9-3) pat:update_frame(605,2,1,function(frame) frame.attackbox[1] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[1].x1 = 50 frame.attackbox[1].x2 = 1400 frame.attackbox[1].y1 = -500 frame.attackbox[1].y2 = 100 end) pat:update_frame(605,2,2,function(frame) frame.attackbox[1] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[1].x1 = 50 frame.attackbox[1].x2 = 550 frame.attackbox[1].y1 = -100 frame.attackbox[1].y2 = 300 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 250 frame.attackbox[2].x2 = 700 frame.attackbox[2].y1 = 100 frame.attackbox[2].y2 = 400 end) pat:update_frame(605,2,3,function(frame) frame.attackbox[1] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[1].x1 = -100 frame.attackbox[1].x2 = 500 frame.attackbox[1].y1 = 20 frame.attackbox[1].y2 = 450 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -150 frame.attackbox[2].x2 = 450 frame.attackbox[2].y1 = 350 frame.attackbox[2].y2 = 850 end) pat:update_frame(605,2,4,function(frame) frame.attackbox[1] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[1].x1 = -400 frame.attackbox[1].x2 = 100 frame.attackbox[1].y1 = 20 frame.attackbox[1].y2 = 500 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -450 frame.attackbox[2].x2 = 50 frame.attackbox[2].y1 = 400 frame.attackbox[2].y2 = 900 frame.attackbox = pat:get_frame(0,0,0).attackbox end) for idx = 0 , 6 do pat:update_frame(605,2,idx,function(frame) frame.damage = 5800 frame.chip_damage = 1160 frame.untech = 6000 frame.sp_damage = 500 frame.fflags = pat:get_frame(605,1,1).fflags frame.aflags = pat:get_frame(605,1,1).aflags --frame.fflags = pat:get_frame(800,0,0).fflags frame.limit = 100 frame.combo_correction = CC_SMASH_ATTACK frame.hit_ani_air = 74 frame.hit_ani_ground = 74 frame.proration = 700 frame.attack_level = AL_SUPERHEAVY frame.card_gain_hit = 0 frame.card_gain_block = 0 frame.launch_vector_x = 4500 frame.launch_vector_y = 1750 frame.hit_sfx = 4 frame.hit_effect = 8 frame.unknown_9 = 100 frame.hitstop_self = 0 frame.hitstop_enemy = 20 frame.blockstop_self = 0 frame.blockstop_enemy = 0 unset_aflag(frame,AF_COUNTER_HIT) unset_aflag(frame,AF_PROJECTILE) unset_aflag(frame,AF_GROUND_UNBLOCKABLE) unset_aflag(frame,AF_AIR_BLOCKABLE) --unset_aflag(frame,AF_UNGRAZABLE) end) end pat:update_frame(855,0,0,{tex_w = 0}) pat:update_frame(855,1,0,{tex_w = 0}) --[[ bullet_gungnir = pat:get_sequence(851, 2) bullet_cradle = pat:get_sequence(605, 1) local a, b = bullet_gungnir:get_priority() bullet_cradle:set_priority(a, b)]]-- end function mods.s4sc_slicer(pat) for idx = 0 , 9 do pat:update_frame(859,0,idx,function(frame) --frame.tex_w = 0 end) end for idx = 0 , 6 do pat:update_frame(609,0,idx,function(frame) frame.duration=1 end) end pat:update_frame(609,1,0,function(frame) unset_fflag(frame,FF_SUPER_ARMOR) end) pat:update_frame(609,2,0,function(frame) unset_fflag(frame,FF_SUPER_ARMOR) end) pat:update_frame(609,2,1,function(frame) unset_fflag(frame,FF_SUPER_ARMOR) end) pat:update_frame(609,2,2,function(frame) unset_fflag(frame,FF_SUPER_ARMOR) unset_aflag(frame,AF_AIR_BLOCKABLE) unset_aflag(frame,AF_GROUND_UNBLOCKABLE) --set_aflag(frame,AF_HIGHBLOCK_OK) --set_aflag(frame,AF_ATTACK_HIGH) set_aflag(frame,AF_GUARD_CRUSH) frame.sp_damage = 2000 frame.damage = 4950 frame.chip_damage = 1250 frame.limit = 495 frame.proration = 495 for idx = 1 , 4 do frame.attackbox[idx].x2=frame.attackbox[idx].x2+130-20*idx end end) pat:split_frame(609,2,2,2,2) pat:split_frame(609,2,1,2,2) pat:update_frame(609,0,0,{ tex_index = 505 , tex_w = 128 , tex_h = 128 , tex_offset_x = 78*2 , tex_offset_y = 126*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(609,0,1,{ tex_index = 505 , tex_w = 128 , tex_h = 128 , tex_offset_x = 78*2 , tex_offset_y = 126*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(609,0,2,{ tex_index = 506 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 124*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(609,0,3,{ tex_index = 506 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 124*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(609,0,4,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(609,0,5,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(609,0,6,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 40 , fflags = 0x00007001 , hurtbox = pat:get_frame(0,0,0).attackbox }) pat:update_frame(609,1,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 3 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(609,2,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(609,2,1,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) --pat:update_frame(609,2,0,{ tex_index = 835 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x000000c1 , hurtbox = pat:get_frame(510,1,2).hurtbox }) pat:update_frame(609,2,2,{ tex_index = 835 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 94*2 , duration = 5 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,2).hurtbox }) pat:update_frame(609,2,3,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 4 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,4).hurtbox , attackbox = pat:get_frame(510,1,4).attackbox }) --hit pat:update_frame(609,2,3,function(frame) frame.attackbox[1].x1 = frame.attackbox[1].x1 - 120 frame.attackbox[1].x2 = frame.attackbox[1].x2 + 180 frame.attackbox[1].y1 = frame.attackbox[1].y1 - 80 frame.attackbox[1].y2 = frame.attackbox[1].y2 + 60 end) pat:update_frame(609,2,4,{ tex_index = 837 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 4 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,6).hurtbox , attackbox = pat:get_frame(609,2,3).attackbox }) pat:update_frame(609,2,5,{ tex_index = 54 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 125*2 , duration = 5 , fflags = 0x00000001 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(609,2,6,{ tex_index = 838 , tex_w = 128 , tex_h = 128 , tex_offset_x = 64*2 , tex_offset_y = 96*2 , duration = 5 , fflags = 0x00000001 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(609,2,7,{ tex_index = 506 , tex_w = 128 , tex_h = 128 , tex_offset_x = 78*2 , tex_offset_y = 124*2 , duration = 20 , fflags = 0x00000001 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(609,2,8,{ tex_index = 505 , tex_w = 128 , tex_h = 128 , tex_offset_x = 77*2 , tex_offset_y = 126*2 , duration = 5 , fflags = 0x00000001 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(609,2,9,{ tex_index = 720 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 122*2 , duration = 4 , fflags = 0x00000001 , hurtbox = pat:get_frame(0,0,0).hurtbox }) for idx = 0 , 9 do pat:update_frame(859,0,idx,function(frame) frame.scale_x = 300 frame.scale_y = 600 frame.angle_z = 275 frame.duration = 3 frame.tex_offset_x = 68 frame.tex_offset_y = 150 if (idx>=4) then frame.duration = 1 end end) end pat:split_frame(848,5,0,0,2,2) pat:update_frame(848,5,0,{tex_w = 0 , duration = 7}) end function mods.demon_walk(pat) --22f + 1 startup --2f leap minimum duration --25f --34f j5a -- 12f opening for rightblock -- 6f opening for wrongblock for idx = 0 , 6 do pat:update_frame(500,0,idx,function(frame) frame.duration = 3 if (idx == 0) then frame.duration = 4 --I buffed this end set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision end) end pat:update_frame(500,1,0,function(frame) frame.attackbox[1]=null --12f copy_sprite(frame,pat:get_frame(500,0,5)) frame.duration = 1 set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision end) pat:update_frame(500,1,1,function(frame) copy_sprite(frame,pat:get_frame(500,0,5)) frame.duration = 1 set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision end) pat:remove_frame(500,1,1) -- doesn't actually matter but whatever for idx = 0 , 4 do pat:update_frame(500,2,idx,function(frame) frame.duration = 4 set_fflag(frame,FF_GRAZE) end) end --21f + 2 startup + 1 --1f leap minimum duration --25f low for idx = 0 , 6 do pat:update_frame(501,0,idx,function(frame) frame.duration = 3 if (idx == 0) then frame.duration = 4 --I buffed this end if (idx == 1) then frame.duration = 5 end set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision end) end pat:split_frame(501,1,0,1,1) pat:remove_frame(501,1,2) pat:update_frame(501,1,0,function(frame) frame.attackbox[1]=null copy_sprite(frame,pat:get_frame(512,0,9)) frame.hurtbox = pat:get_frame(512,0,9).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.tex_w = 0 frame.duration =1 set_fflag(frame,FF_GRAZE) end) pat:update_frame(501,1,1,function(frame) --frame.attackbox[1]=null copy_sprite(frame,pat:get_frame(512,0,9)) frame.hurtbox = pat:get_frame(512,0,9).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.duration =12 set_fflag(frame,FF_GRAZE) frame.hurtbox = pat:get_frame(512,0,9).hurtbox frame.attackbox = pat:get_frame(512,0,9).attackbox frame.attackbox[1].x1 = frame.attackbox[1].x1 - 20 frame.attackbox[1].y2 = frame.attackbox[1].y2 + 20 --frame.hitstop_self = 10 --frame.hitstop_enemy = 10 --frame.blockstop_self = 10 --frame.blockstop_enemy = 10 frame.damage = 1200 frame.chip_damage = 300 set_aflag(frame,AF_STAGGER) set_aflag(frame,AF_LOWBLOCK_OK) unset_aflag(frame,AF_HIGHBLOCK_OK) unset_aflag(frame,AF_ATTACK_HIGH) set_aflag(frame,AF_ATTACK_AIR) set_aflag(frame,AF_ATTACK_LOW) end) for idx = 0 , 2 do pat:update_frame(501,2,idx,function(frame) copy_sprite(frame,pat:get_frame(512,1,0)) frame.hurtbox = pat:get_frame(512,1,0).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.duration =1 set_fflag(frame,FF_GRAZE) end) end for idx = 0 , 2 do pat:update_frame(501,3,idx,function(frame) copy_sprite(frame,pat:get_frame(512,1,idx)) frame.hurtbox = pat:get_frame(512,1,idx).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.duration =4 set_fflag(frame,FF_GRAZE) end) end -- below actually doesn't matter but whatever for idx = 0 , 1 do pat:update_frame(501,4,idx,function(frame) frame.attackbox[1]=null frame.duration = 8 copy_sprite(frame,pat:get_frame(512,1,3)) frame.hurtbox = pat:get_frame(512,1,3).hurtbox frame.collision = pat:get_frame(0,0,0).collision set_fflag(frame,FF_GRAZE) end) end for idx = 0 , 4 do pat:update_frame(501,5,idx,function(frame) frame.collision = pat:get_frame(0,0,0).collision frame.duration = 1 if (idx>0) then frame.hurtbox[1].x1 = frame.hurtbox[2].x1 +20 end set_fflag(frame,FF_GRAZE) end) end pat:update_frame(501,5,3,function(frame) frame.collision = pat:get_frame(0,0,0).collision frame.duration = 16 frame.hurtbox[1].x1 = frame.hurtbox[2].x1 +20 set_fflag(frame,FF_GRAZE) end) pat:update_frame(501,1,0,function(frame) frame.attackbox[1]=null --12f copy_sprite(frame,pat:get_frame(500,0,5)) frame.duration = 1 set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision end) pat:remove_frame(501,1,1) end function mods.d236_new(pat) --22f + 1 startup --2f leap minimum duration --25f --34f j5a -- 12f opening for rightblock -- 6f opening for wrongblock for idx = 0 , 6 do pat:update_frame(500,0,idx,function(frame) frame.duration = 3 if (idx == 0) then frame.duration = 5 --I buffed this end set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision unset_fflag(frame,FF_MOTION_CANCEL) unset_fflag(frame,FF_CANCEL) end) end pat:update_frame(500,1,0,function(frame) frame.attackbox[1]=null --12f copy_sprite(frame,pat:get_frame(9,0,0)) frame.duration = 12 set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(9,0,0).collision end) pat:update_frame(500,1,1,function(frame) copy_sprite(frame,pat:get_frame(500,0,5)) frame.duration = 1 set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision end) pat:remove_frame(500,1,1) -- doesn't actually matter but whatever for idx = 0 , 4 do pat:update_frame(500,2,idx,function(frame) frame.duration = 4 set_fflag(frame,FF_GRAZE) end) end --21f + 2 startup + 1 --1f leap minimum duration --25f low for idx = 0 , 6 do pat:update_frame(501,0,idx,function(frame) frame.duration = 3 if (idx == 0) then frame.duration = 5 --I buffed this end if (idx == 1) then frame.duration = 5 end set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(0,0,0).collision unset_fflag(frame,FF_MOTION_CANCEL) unset_fflag(frame,FF_CANCEL) end) end pat:split_frame(501,1,0,1,1) pat:remove_frame(501,1,2) pat:update_frame(501,1,0,function(frame) frame.attackbox[1]=null copy_sprite(frame,pat:get_frame(512,0,9)) frame.hurtbox = pat:get_frame(512,0,9).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.tex_w = 0 frame.duration =45 set_fflag(frame,FF_GRAZE) end) pat:update_frame(501,1,1,function(frame) --frame.attackbox[1]=null copy_sprite(frame,pat:get_frame(512,0,9)) frame.hurtbox = pat:get_frame(512,0,9).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.duration =12 set_fflag(frame,FF_GRAZE) frame.hurtbox = pat:get_frame(512,0,9).hurtbox frame.attackbox = pat:get_frame(512,0,9).attackbox frame.attackbox[1].x1 = frame.attackbox[1].x1 - 20 frame.attackbox[1].y2 = frame.attackbox[1].y2 + 20 --frame.hitstop_self = 10 --frame.hitstop_enemy = 10 --frame.blockstop_self = 10 --frame.blockstop_enemy = 10 frame.damage = 1200 frame.chip_damage = 300 set_aflag(frame,AF_STAGGER) set_aflag(frame,AF_LOWBLOCK_OK) unset_aflag(frame,AF_HIGHBLOCK_OK) unset_aflag(frame,AF_ATTACK_HIGH) set_aflag(frame,AF_ATTACK_AIR) set_aflag(frame,AF_ATTACK_LOW) end) for idx = 0 , 2 do pat:update_frame(501,2,idx,function(frame) copy_sprite(frame,pat:get_frame(512,1,0)) frame.hurtbox = pat:get_frame(512,1,0).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.duration =1 set_fflag(frame,FF_GRAZE) end) end for idx = 0 , 2 do pat:update_frame(501,3,idx,function(frame) copy_sprite(frame,pat:get_frame(512,1,idx)) frame.hurtbox = pat:get_frame(512,1,idx).hurtbox frame.collision = pat:get_frame(0,0,0).collision frame.duration =4 set_fflag(frame,FF_GRAZE) end) end -- below actually doesn't matter but whatever for idx = 0 , 1 do pat:update_frame(501,4,idx,function(frame) frame.attackbox[1]=null frame.duration = 8 copy_sprite(frame,pat:get_frame(512,1,3)) frame.hurtbox = pat:get_frame(512,1,3).hurtbox frame.collision = pat:get_frame(0,0,0).collision set_fflag(frame,FF_GRAZE) end) end for idx = 0 , 4 do pat:update_frame(501,5,idx,function(frame) frame.collision = pat:get_frame(0,0,0).collision frame.duration = 1 if (idx>0) then frame.hurtbox[1].x1 = frame.hurtbox[2].x1 +20 end set_fflag(frame,FF_GRAZE) end) end pat:update_frame(501,5,3,function(frame) frame.collision = pat:get_frame(0,0,0).collision frame.duration = 16 frame.hurtbox[1].x1 = frame.hurtbox[2].x1 +20 set_fflag(frame,FF_GRAZE) end) pat:remove_frame(501,1,1) pat:update_frame(500,1,0,function(frame) frame.attackbox[1]=null --12f copy_sprite(frame,pat:get_frame(9,0,0)) frame.duration = 12 set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(9,0,0).collision set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_ATTACK_CANCEL) end) pat:update_frame(501,1,0,function(frame) frame.attackbox[1]=null --12f copy_sprite(frame,pat:get_frame(9,0,0)) frame.duration = 12 set_fflag(frame,FF_GRAZE) frame.collision = pat:get_frame(9,0,0).collision set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_ATTACK_CANCEL) end) pat:split_frame(500,1,0,1,11) pat:split_frame(501,1,0,1,11) pat:update_frame(500,1,0,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) end) pat:update_frame(501,1,0,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) end) pat:get_sequence(500,1):set_priority(5,10) pat:get_sequence(501,1):set_priority(5,10) end function mods.there_will_be_none(pat) for idx = 0 , 17 do pat:update_frame(853,5,idx,{tex_w = 0}) end pat:remove_frame(853,0,9) pat:remove_frame(853,0,8) pat:remove_frame(853,0,7) pat:remove_frame(853,0,6) pat:remove_frame(853,0,5) pat:remove_frame(853,0,4) pat:remove_frame(853,0,3) pat:remove_frame(853,0,2) pat:remove_frame(853,0,1) pat:update_frame(853,0,0,{duration = 1 , tex_w = 0}) for idx = 0 , 139 do pat:split_frame(853,1,0,1,1) end for idx = 0 , 149 do pat:update_frame(853,1,idx,function(frame) frame.tex_index = 327 + idx%10 frame.tex_offset_x = 128 frame.tex_offset_y = 256 frame.tex_w = 256 frame.tex_h = 512 frame.scale_x = 400 frame.scale_y = 400 frame.angle_z = frame.angle_z - 90 -20 frame.attackbox[1].y1 = -250 frame.attackbox[1].y2 = 250 frame.attackbox[1].x1 = -400 frame.attackbox[1].x2 = 200 frame.attackbox[2].y1 = frame.attackbox[1].y1 - 20 frame.attackbox[2].y2 = frame.attackbox[1].y2 - 150 frame.attackbox[2].x1 = frame.attackbox[1].x2 - 50 frame.attackbox[2].x2 = frame.attackbox[1].x2 + 250 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].y1 = frame.attackbox[2].y1 - 20 frame.attackbox[3].y2 = frame.attackbox[2].y2 - 150 frame.attackbox[3].x1 = frame.attackbox[2].x2 - 50 frame.attackbox[3].x2 = frame.attackbox[2].x2 + 225 frame.attackbox[4] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[4].y1 = frame.attackbox[3].y1 - 20 frame.attackbox[4].y2 = frame.attackbox[3].y2 - 150 frame.attackbox[4].x1 = frame.attackbox[3].x2 - 50 frame.attackbox[4].x2 = frame.attackbox[3].x2 + 200 local scalemod = 100/frame.scale_x local ymod = -450 + 15*idx local xmod = 350 frame.tex_offset_y = frame.tex_offset_y - (ymod)*scalemod frame.attackbox[1].y1 = frame.attackbox[1].y1 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[1].y2 = frame.attackbox[1].y2 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].y1 = frame.attackbox[2].y1 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].y2 = frame.attackbox[2].y2 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[3].y1 = frame.attackbox[3].y1 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[3].y2 = frame.attackbox[3].y2 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[4].y1 = frame.attackbox[4].y1 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[4].y2 = frame.attackbox[4].y2 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.tex_offset_x = frame.tex_offset_x - (xmod)*scalemod frame.attackbox[1].x1 = frame.attackbox[1].x1 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[1].x2 = frame.attackbox[1].x2 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].x1 = frame.attackbox[2].x1 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].x2 = frame.attackbox[2].x2 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[3].x1 = frame.attackbox[3].x1 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[3].x2 = frame.attackbox[3].x2 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[4].x1 = frame.attackbox[4].x1 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[4].x2 = frame.attackbox[4].x2 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.hitstop_enemy = 3 frame.hitstop_self = 0 frame.blockstop_enemy = 5 frame.blockstop_self = 0 frame.limit = 4 frame.damage = 760 frame.chip_damage = 190 frame.proration = 920 frame.sp_damage = frame.sp_damage * 5 frame.launch_vector_x = 2500 frame.launch_vector_y = 1500 if (idx < 10) then frame.color_r = (idx)*25 frame.color_g = (idx)*25 frame.color_b = (idx)*25 end if (idx > 110) then frame.color_r = (120-idx)*25 frame.color_g = (120-idx)*25 frame.color_b = (120-idx)*25 end if (idx == 149) then frame.tex_w = 0 frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 600 end end) end for idx = 0 , 7 do pat:split_frame(853,2,0,1,1) end for idx2 = 0 , 19 do pat:update_frame(853,2,idx2,function(frame) idx = idx2+120 frame.tex_index = 327 + idx%10 frame.tex_offset_x = 128 frame.tex_offset_y = 256 frame.tex_w = 256 frame.tex_h = 512 frame.scale_x = 400 frame.scale_y = 400 frame.angle_z = frame.angle_z - 90 -25 local scalemod = 100/frame.scale_x local ymod = -450 + 15*idx local xmod = 350 frame.tex_offset_y = frame.tex_offset_y - (ymod)*scalemod frame.tex_offset_x = frame.tex_offset_x - (xmod)*scalemod frame.color_r = (20-idx2)*12.5 frame.color_g = (20-idx2)*12.5 frame.color_b = (20-idx2)*12.5 end) end for idx = 1 , 11 do pat:remove_frame(853,2,1) end pat:update_frame(853,2,0,{duration = 1 , tex_w = 0}) pat:split_frame(603,0,0,2,2) pat:split_frame(603,0,0,2,2) pat:split_frame(603,0,0,2,2) pat:update_frame(603,0,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,0)) frame.hurtbox = pat:get_frame(696,0,0).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,0,1,function(frame) copy_sprite(frame,pat:get_frame(696,0,1)) frame.hurtbox = pat:get_frame(696,0,1).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,0,2,function(frame) copy_sprite(frame,pat:get_frame(696,0,2)) frame.hurtbox = pat:get_frame(696,0,2).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,0,3,function(frame) copy_sprite(frame,pat:get_frame(696,0,3)) frame.hurtbox = pat:get_frame(696,0,3).hurtbox frame.duration = 40 set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) pat:update_frame(603,0,4,function(frame) copy_sprite(frame,pat:get_frame(696,0,4)) frame.hurtbox = pat:get_frame(696,0,4).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,0,5,function(frame) copy_sprite(frame,pat:get_frame(696,0,5)) frame.hurtbox = pat:get_frame(696,0,5).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,0,6,function(frame) copy_sprite(frame,pat:get_frame(696,0,6)) frame.hurtbox = pat:get_frame(696,0,6).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,0,7,function(frame) copy_sprite(frame,pat:get_frame(696,0,7)) frame.hurtbox = pat:get_frame(696,0,7).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,1,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,8)) frame.hurtbox = pat:get_frame(696,0,8).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,6,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,10)) frame.hurtbox = pat:get_frame(696,0,10).hurtbox frame.duration = 25 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,6,1,function(frame) copy_sprite(frame,pat:get_frame(696,0,9)) frame.hurtbox = pat:get_frame(696,0,9).hurtbox frame.duration = 4 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,6,2,function(frame) copy_sprite(frame,pat:get_frame(696,0,12)) frame.hurtbox = pat:get_frame(696,0,12).hurtbox frame.duration = 4 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,6,3,function(frame) copy_sprite(frame,pat:get_frame(696,0,13)) frame.hurtbox = pat:get_frame(696,0,13).hurtbox frame.duration = 4 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(603,1,0,{duration = 1}) pat:update_frame(603,4,0,{duration = 1}) pat:remove_frame(603,4,1) for idx = 0 , 129 do pat:split_frame(603,2,0,1,1) end tempMax = 0 tempY = 0 tempY2 = 0 for idx = 0 , 130 do pat:update_frame(603,2,idx,function(frame) copy_sprite(frame,pat:get_frame(696,0,10)) tempY = tempY + tempY2 if (tempY > tempMax) then tempY = 320 end frame.duration = 1--[[ frame.tex_offset_y = frame.tex_offset_y - tempY tempY2 = tempY2 * .95 frame.collision = pat:get_frame(0,0,0).collision frame.collision[1].y1 = frame.collision[1].y1 + tempY frame.collision[1].y2 = frame.collision[1].y2 + tempY frame.hurtbox = pat:get_frame(0,0,0).hurtbox frame.hurtbox[1].y1 = frame.hurtbox[1].y1 + tempY frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + tempY]]-- set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) end for idx = 0 , 2 do pat:update_frame(603,3,idx,function(frame) copy_sprite(frame,pat:get_frame(696,0,10))--[[ frame.tex_offset_y = frame.tex_offset_y - tempMax frame.collision = pat:get_frame(0,0,0).collision frame.collision[1].y1 = frame.collision[1].y1 + tempMax frame.collision[1].y2 = frame.collision[1].y2 + tempMax frame.hurtbox = pat:get_frame(0,0,0).hurtbox frame.hurtbox[1].y1 = frame.hurtbox[1].y1 + tempMax frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + tempMax]]-- set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) end pat:update_frame(603,4,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,10))--[[ frame.tex_offset_y = frame.tex_offset_y - tempMax frame.collision = pat:get_frame(0,0,0).collision frame.collision[1].y1 = frame.collision[1].y1 + tempMax frame.collision[1].y2 = frame.collision[1].y2 + tempMax frame.hurtbox = pat:get_frame(0,0,0).hurtbox frame.hurtbox[1].y1 = frame.hurtbox[1].y1 + tempMax frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + tempMax]]-- set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) for idx = 0 , 99 do pat:split_frame(603,5,0,1,1) end tempY = tempMax tempY2 = 0 for idx = 0 , 100 do pat:update_frame(603,5,idx,function(frame) copy_sprite(frame,pat:get_frame(696,0,10)) tempY2 = tempY2 + 0.4 tempY = tempY - tempY2 if (tempY < 0) then tempY = 0 end frame.duration = 1--[[ frame.tex_offset_y = frame.tex_offset_y - tempY frame.collision = pat:get_frame(0,0,0).collision frame.collision[1].y1 = frame.collision[1].y1 + tempY frame.collision[1].y2 = frame.collision[1].y2 + tempY frame.hurtbox = pat:get_frame(0,0,0).hurtbox frame.hurtbox[1].y1 = frame.hurtbox[1].y1 + tempY frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + tempY]]-- set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) end --[[ for idx = 0 , 2 do pat:update_frame(603,0,idx,function(frame) copy_sprite(frame,pat:get_frame(203,0,idx)) end) end for idx = 3 , 4 do pat:update_frame(603,0,idx,function(frame) copy_sprite(frame,pat:get_frame(203,1,1)) end) end for idx = 0 , 0 do pat:update_frame(603,1,idx,function(frame) frame.tex_w = 0 end) end for idx = 0 , 2 do pat:update_frame(603,2,idx,function(frame) frame.tex_w = 0 end) end for idx = 0 , 2 do pat:update_frame(603,3,idx,function(frame) frame.tex_w = 0 frame.fflags = pat:get_frame(603,2,0).fflags frame.hurtbox = pat:get_frame(603,2,0).hurtbox end) end for idx = 0 , 1 do pat:update_frame(603,4,idx,function(frame) frame.tex_w = 0 frame.fflags = pat:get_frame(603,2,0).fflags frame.hurtbox = pat:get_frame(603,2,0).hurtbox end) end for idx = 0 , 1 do pat:update_frame(603,5,idx,function(frame) frame.tex_w = 0 frame.fflags = pat:get_frame(603,2,0).fflags frame.hurtbox = pat:get_frame(603,2,0).hurtbox end) end pat:split_frame(603,6,0,1,1) for idx = 0 , 0 do pat:update_frame(603,6,idx,function(frame) copy_sprite(frame,pat:get_frame(203,1,1)) frame.duration=2 end) end for idx = 1 , 1 do pat:update_frame(603,6,idx,function(frame) copy_sprite(frame,pat:get_frame(203,0,2)) frame.duration=2 end) end]]-- end function mods.there_will_be_none_2(pat) pat:remove_frame(850,0,9) pat:remove_frame(850,0,8) pat:remove_frame(850,0,7) pat:remove_frame(850,0,6) pat:remove_frame(850,0,5) pat:remove_frame(850,0,4) pat:remove_frame(850,0,3) pat:remove_frame(850,0,2) pat:remove_frame(850,0,1) pat:update_frame(850,0,0,{duration = 1 , tex_w = 0}) for idx = 0 , 59 do pat:split_frame(850,1,0,1,1) end for idx = 0 , 69 do pat:update_frame(850,1,idx,function(frame) frame.tex_index = 327 + idx%10 frame.tex_offset_x = 128 frame.tex_offset_y = 256 frame.tex_w = 256 frame.tex_h = 512 frame.scale_x = 200 frame.scale_y = 200 frame.angle_z = frame.angle_z - 110 -0 +idx*.5 frame.attackbox[1].y1 = -150 frame.attackbox[1].y2 = 150 frame.attackbox[1].x1 = -200 frame.attackbox[1].x2 = 200 frame.attackbox[2].y1 = frame.attackbox[1].y1 + 20 frame.attackbox[2].y2 = frame.attackbox[1].y2 - 100 frame.attackbox[2].x1 = frame.attackbox[1].x2 - 50 frame.attackbox[2].x2 = frame.attackbox[1].x2 + 200 local scalemod = 100/frame.scale_x local ymod = -250 + 25*idx local xmod = 350 frame.tex_offset_y = frame.tex_offset_y - (ymod)*scalemod frame.attackbox[1].y1 = frame.attackbox[1].y1 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[1].y2 = frame.attackbox[1].y2 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].y1 = frame.attackbox[2].y1 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].y2 = frame.attackbox[2].y2 + (xmod) * math.sin(frame.angle_z * 3.14159/180) + (ymod) * math.cos(frame.angle_z * 3.14159/180) frame.tex_offset_x = frame.tex_offset_x - (xmod)*scalemod frame.attackbox[1].x1 = frame.attackbox[1].x1 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[1].x2 = frame.attackbox[1].x2 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].x1 = frame.attackbox[2].x1 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.attackbox[2].x2 = frame.attackbox[2].x2 - (ymod) * math.sin(frame.angle_z * 3.14159/180) + (xmod) * math.cos(frame.angle_z * 3.14159/180) frame.hitstop_enemy = 3 frame.hitstop_self = 0 frame.blockstop_enemy = 5 frame.blockstop_self = 0 frame.limit = 8 frame.damage = 750 frame.chip_damage = 150 frame.proration = 920 frame.sp_damage = frame.sp_damage * 5 frame.launch_vector_x = 2500 frame.launch_vector_y = 1000 if (idx < 10) then frame.color_r = (idx)*25 frame.color_g = (idx)*25 frame.color_b = (idx)*25 end if (idx > 52) then frame.color_r = (62-idx)*25 frame.color_g = (62-idx)*25 frame.color_b = (62-idx)*25 end if (idx == 69) then frame.tex_w = 0 frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 600 end end) end for idx = 0 , 7 do pat:split_frame(850,2,0,1,1) end for idx2 = 0 , 19 do pat:update_frame(850,2,idx2,function(frame) idx = idx2+120 frame.tex_index = 327 + idx%10 frame.tex_offset_x = 128 frame.tex_offset_y = 256 frame.tex_w = 256 frame.tex_h = 512 frame.scale_x = 400 frame.scale_y = 400 frame.angle_z = frame.angle_z - 90 -0 local scalemod = 100/frame.scale_x local ymod = -450 + 10*idx local xmod = 350 frame.tex_offset_y = frame.tex_offset_y - (ymod)*scalemod frame.tex_offset_x = frame.tex_offset_x - (xmod)*scalemod frame.color_r = (20-idx2)*12.5 frame.color_g = (20-idx2)*12.5 frame.color_b = (20-idx2)*12.5 end) end for idx = 0 , 18 do pat:remove_frame(850,2,0) end pat:update_frame(850,2,0,{duration = 1 , tex_w = 0}) --[[ for idx = 0 , 1 do pat:update_frame(600,0,idx,function(frame) copy_sprite(frame,pat:get_frame(203,0,idx+1)) end) end for idx = 2 , 3 do pat:update_frame(600,0,idx,function(frame) copy_sprite(frame,pat:get_frame(203,1,1)) end) end for idx = 0 , 2 do pat:update_frame(600,1,idx,function(frame) frame.tex_w = 0 end) end for idx = 0 , 5 do pat:update_frame(600,2,idx,function(frame) frame.tex_w = 0 end) end for idx = 0 , 2 do pat:update_frame(600,3,idx,function(frame) frame.tex_w = 0 frame.fflags = pat:get_frame(600,2,0).fflags frame.hurtbox = pat:get_frame(600,2,0).hurtbox end) end for idx = 0 , 1 do pat:update_frame(600,4,idx,function(frame) frame.tex_w = 0 frame.fflags = pat:get_frame(600,2,0).fflags frame.hurtbox = pat:get_frame(600,2,0).hurtbox end) end for idx = 0 , 1 do pat:update_frame(600,5,idx,function(frame) frame.tex_w = 0 frame.fflags = pat:get_frame(600,2,0).fflags frame.hurtbox = pat:get_frame(600,2,0).hurtbox end) end pat:split_frame(600,6,0,1,1) for idx = 0 , 0 do pat:update_frame(600,6,idx,function(frame) copy_sprite(frame,pat:get_frame(203,1,1)) frame.duration=2 end) end for idx = 1 , 1 do pat:update_frame(600,6,idx,function(frame) copy_sprite(frame,pat:get_frame(203,0,2)) frame.duration=2 end) end ]]-- pat:split_frame(600,0,0,2,2) pat:split_frame(600,0,0,2,2) pat:split_frame(600,0,0,2,2) pat:split_frame(600,0,0,2,2) pat:update_frame(600,0,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,0)) frame.hurtbox = pat:get_frame(696,0,0).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,0,1,function(frame) copy_sprite(frame,pat:get_frame(696,0,1)) frame.hurtbox = pat:get_frame(696,0,1).hurtbox frame.duration = 2 set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) pat:update_frame(600,0,2,function(frame) copy_sprite(frame,pat:get_frame(696,0,2)) frame.hurtbox = pat:get_frame(696,0,2).hurtbox frame.duration = 2 set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) pat:update_frame(600,0,3,function(frame) copy_sprite(frame,pat:get_frame(696,0,3)) frame.hurtbox = pat:get_frame(696,0,3).hurtbox frame.duration = 36 set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) pat:update_frame(600,0,4,function(frame) copy_sprite(frame,pat:get_frame(696,0,4)) frame.hurtbox = pat:get_frame(696,0,4).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,0,5,function(frame) copy_sprite(frame,pat:get_frame(696,0,5)) frame.hurtbox = pat:get_frame(696,0,5).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,0,6,function(frame) copy_sprite(frame,pat:get_frame(696,0,6)) frame.hurtbox = pat:get_frame(696,0,6).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,0,7,function(frame) copy_sprite(frame,pat:get_frame(696,0,7)) frame.hurtbox = pat:get_frame(696,0,7).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,1,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,8)) frame.hurtbox = pat:get_frame(696,0,8).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,2,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,8)) frame.hurtbox = pat:get_frame(696,0,8).hurtbox frame.duration = 2 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,6,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,10)) frame.hurtbox = pat:get_frame(696,0,10).hurtbox frame.duration = 25 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,6,1,function(frame) copy_sprite(frame,pat:get_frame(696,0,9)) frame.hurtbox = pat:get_frame(696,0,9).hurtbox frame.duration = 4 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,6,2,function(frame) copy_sprite(frame,pat:get_frame(696,0,12)) frame.hurtbox = pat:get_frame(696,0,12).hurtbox frame.duration = 4 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:update_frame(600,6,3,function(frame) copy_sprite(frame,pat:get_frame(696,0,13)) frame.hurtbox = pat:get_frame(696,0,13).hurtbox frame.duration = 4 unset_fflag(frame,FF_MELEE_INV) unset_fflag(frame,FF_BULLET_INV) unset_fflag(frame,FF_GRAZE) end) pat:remove_frame(600,1,2) pat:remove_frame(600,1,1) pat:update_frame(600,1,0,{duration = 1}) pat:remove_frame(600,2,5) pat:remove_frame(600,2,4) pat:remove_frame(600,2,3) pat:remove_frame(600,2,2) pat:remove_frame(600,2,1) pat:update_frame(600,2,0,{duration = 1}) pat:update_frame(600,4,0,{duration = 1}) pat:remove_frame(600,4,1) for idx = 0 , 129 do pat:split_frame(600,3,0,1,1) end tempMax = 0 tempY = 0 tempY2 = 0 for idx = 0 , 130 do pat:update_frame(600,3,idx,function(frame) copy_sprite(frame,pat:get_frame(696,0,10)) tempY = tempY + tempY2 if (tempY > tempMax) then tempY = tempMax end frame.duration = 1--[[ frame.tex_offset_y = frame.tex_offset_y - tempY tempY2 = tempY2 * .95 frame.collision = pat:get_frame(0,0,0).collision frame.collision[1].y1 = frame.collision[1].y1 + tempY frame.collision[1].y2 = frame.collision[1].y2 + tempY frame.hurtbox = pat:get_frame(0,0,0).hurtbox frame.hurtbox[1].y1 = frame.hurtbox[1].y1 + tempY frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + tempY]]-- set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) end pat:update_frame(600,4,0,function(frame) copy_sprite(frame,pat:get_frame(696,0,10)) --[[ frame.tex_offset_y = frame.tex_offset_y - tempMax frame.collision = pat:get_frame(0,0,0).collision frame.collision[1].y1 = frame.collision[1].y1 + tempMax frame.collision[1].y2 = frame.collision[1].y2 + tempMax frame.hurtbox = pat:get_frame(0,0,0).hurtbox frame.hurtbox[1].y1 = frame.hurtbox[1].y1 + tempMax frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + tempMax]]-- set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) for idx = 0 , 99 do pat:split_frame(600,5,0,1,1) end tempY = tempMax tempY2 = 0 for idx = 0 , 100 do pat:update_frame(600,5,idx,function(frame) copy_sprite(frame,pat:get_frame(696,0,10)) tempY2 = tempY2 + 0.4 tempY = tempY - tempY2 if (tempY < 0) then tempY = 0 end frame.duration = 1--[[ frame.tex_offset_y = frame.tex_offset_y - tempY frame.collision = pat:get_frame(0,0,0).collision frame.collision[1].y1 = frame.collision[1].y1 + tempY frame.collision[1].y2 = frame.collision[1].y2 + tempY frame.hurtbox = pat:get_frame(0,0,0).hurtbox frame.hurtbox[1].y1 = frame.hurtbox[1].y1 + tempY frame.hurtbox[1].y2 = frame.hurtbox[1].y2 + tempY]]-- set_fflag(frame,FF_MELEE_INV) set_fflag(frame,FF_BULLET_INV) set_fflag(frame,FF_GRAZE) end) end end function mods.four_of_a_kind(pat) pat:update_frame(607,0,0,function(frame) copy_sprite(frame,pat:get_frame(223,6,3)) end) pat:update_frame(607,0,1,function(frame) copy_sprite(frame,pat:get_frame(223,6,2)) end) pat:update_frame(607,0,2,function(frame) frame.duration=3 copy_sprite(frame,pat:get_frame(223,6,1)) frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) pat:update_frame(607,0,3,function(frame) copy_sprite(frame,pat:get_frame(223,6,1)) frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) pat:update_frame(607,0,4,function(frame) copy_sprite(frame,pat:get_frame(223,6,1)) frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) pat:update_frame(607,0,5,function(frame) copy_sprite(frame,pat:get_frame(224,3,0)) frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) pat:update_frame(607,1,0,function(frame) copy_sprite(frame,pat:get_frame(224,3,0)) frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) pat:update_frame(607,1,1,function(frame) copy_sprite(frame,pat:get_frame(224,3,0)) frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) pat:update_frame(607,2,0,function(frame) copy_sprite(frame,pat:get_frame(223,6,1)) frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) pat:update_frame(607,2,1,function(frame) copy_sprite(frame,pat:get_frame(223,6,2)) frame.duration=3 end) pat:update_frame(607,2,2,function(frame) copy_sprite(frame,pat:get_frame(223,6,3)) end) pat:update_frame(857,0,0,function(frame) frame.tex_w=0 end) pat:update_frame(857,0,1,function(frame) frame.tex_w=0 end) pat:update_frame(857,1,1,function(frame) frame.tex_w=0 frame.duration=60 end) pat:update_frame(857,2,1,function(frame) frame.tex_w=0 frame.duration=60 end) pat:update_frame(857,3,0,function(frame) --frame.tex_w=0 frame.scale_x=frame.scale_x*1.25 frame.scale_y=frame.scale_y*1.25 --copy_sprite(frame,pat:get_frame(202,1,1)) --frame.duration=3 end) pat:update_frame(857,4,0,function(frame) frame.tex_w=0 frame.scale_x=frame.scale_x*1.25 frame.scale_y=frame.scale_y*1.25 frame.attackbox[1]=null end) pat:update_frame(857,1,0,function(frame) --copy_sprite(frame,pat:get_frame(223,1,0)) frame.duration=4 copy_sprite(frame,pat:get_frame(7,3,0)) frame.tex_offset_x=60 frame.tex_offset_y=80 frame.blending_mode = 0 frame.color_a=255 frame.color_r=255 frame.color_g=255 frame.color_b=255 frame.hit_ani_air = pat:get_frame(307,0,4).hit_ani_air frame.hit_ani_ground = pat:get_frame(307,0,4).hit_ani_ground frame.blockstop_enemy=10 --frame.blockstop_self=120 frame.hitstop_enemy = 10 --frame.hitstop_self = 120 frame.damage = frame.damage*1.25 frame.chip_damage = frame.chip_damage*1.25 frame.limit = 5 frame.hit_sfx = 4 frame.hit_effect = 3 frame.attackbox[1].x2=frame.attackbox[1].x2-40 frame.attackbox[2].x2=frame.attackbox[2].x2-40 unset_aflag(frame,AF_PROJECTILE) end) --pat:split_frame(857,1,0,1,1) --pat:update_frame(857,1,1,function(frame) --copy_sprite(frame,pat:get_frame(223,1,0)) --copy_sprite(frame,pat:get_frame(0,0,0)) --end) pat:update_frame(857,2,0,function(frame) --copy_sprite(frame,pat:get_frame(223,1,1)) copy_sprite(frame,pat:get_frame(7,3,1)) frame.duration=4 frame.tex_offset_x=60 frame.tex_offset_y=80 frame.blending_mode = 0 frame.color_a=255 frame.color_r=255 frame.color_g=255 frame.color_b=255 frame.hit_ani_air = pat:get_frame(307,0,4).hit_ani_air frame.hit_ani_ground = pat:get_frame(307,0,4).hit_ani_ground frame.blockstop_enemy=10 --frame.blockstop_self=120 frame.hitstop_enemy = 10 --frame.hitstop_self = 120 frame.damage = frame.damage*1.25 frame.chip_damage = frame.chip_damage*1.25 frame.limit = 2 frame.hit_sfx = 4 frame.hit_effect = 3 frame.attackbox[1].x2=frame.attackbox[1].x2-40 frame.attackbox[2].x2=frame.attackbox[2].x2-40 unset_aflag(frame,AF_PROJECTILE) end) end function mods.kyuu2(pat) --char anim for idx = 0 , 17 do pat:update_frame(601,0,idx,function(frame) local ani = idx+1 if (idx >= 6 and idx <= 14) then ani = 6 unset_fflag(frame,FF_GRAZE) elseif (idx > 14) then ani = idx-8 end if (idx <= 4) then frame.duration=frame.duration-1 end copy_sprite(frame,pat:get_frame(400,0,ani)) if (idx >= 6) then frame.hurtbox = pat:get_frame(400,0,ani).hurtbox end end) end pat:update_frame(601,0,6,{fflags = 0x00007001}) pat:update_frame(601,0,7,{fflags = 0x00007001}) pat:update_frame(601,0,9,{duration = 6-0}) pat:update_frame(601,0,9,function(frame) --set_fflag(frame,FF_GRAZE) end) pat:update_frame(601,0,15,function(frame) frame.duration = 20-5 end) pat:update_frame(601,0,8,{duration = pat:get_frame(604,0,8).duration - 1 , fflags = pat:get_frame(601,0,7).fflags , hurtbox = pat:get_frame(601,0,7).hurtbox}) pat:update_frame(601,0,9,{duration = pat:get_frame(604,0,9).duration - 2}) pat:update_frame(601,0,10,{duration = pat:get_frame(604,0,10).duration + 3}) --854 for idx = 0 , 33 do pat:update_frame(851,0,idx,function(frame) copy_sprite(frame,pat:get_frame(856,2,idx%30)) frame.scale_x = frame.scale_x*1.5 frame.tex_offset_x = 215 local size = idx*10 if (idx > 25) then local alpha = 255-(idx-25)*30 frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha end frame.tex_index = 127 frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = size frame.scale_y = size local scalemod = 100/frame.scale_x local ymod = -80 local xmod = -460 frame.tex_offset_y = frame.tex_offset_y - (ymod)*scalemod frame.tex_offset_x = frame.tex_offset_x - (xmod)*scalemod end) end for idx = 0 , 5 do pat:update_frame(851,1,idx,function(frame) frame.tex_w=0 end) end for idx = 0 , 28 do pat:split_frame(851,2,0,1,1) end for idx = 0 , 30 do pat:update_frame(851,2,idx,function(frame) local ani = idx+0 if (ani > 17) then ani = 17 end copy_sprite(frame,pat:get_frame(827,2,ani)) frame.scale_x = frame.scale_x*1.5 frame.scale_y = frame.scale_y*1.25 frame.tex_offset_x = -55+idx*10 frame.tex_offset_y = frame.tex_offset_y - 30 frame.attackbox[4]=null frame.attackbox[3]=null frame.attackbox[2]=null frame.attackbox[1].x1=210-idx*30 frame.attackbox[1].x2=490-idx*30 frame.attackbox[1].y1=-60 frame.attackbox[1].y2=200 if (idx > 20) then frame.attackbox[1]=null end set_aflag(frame,AF_UNGRAZABLE) set_aflag(frame,AF_STAGGER) unset_aflag(frame,AF_COUNTER_HIT) frame.launch_vector_x = 0 frame.launch_vector_y = 2000 frame.hitstop_enemy = frame.hitstop_enemy+2 frame.blockstop_enemy = frame.blockstop_enemy+2 frame.sp_damage = frame.sp_damage*.75 frame.damage = frame.damage*1 frame.limit = 100 frame.combo_correction = CC_LIFT_ATTACK end) end pat:update_frame(851,3,0,function(frame) frame.tex_w=0 end) pat:update_frame(851,4,0,function(frame) copy_sprite(frame,pat:get_frame(815,0,0)) end) pat:update_frame(851,4,1,function(frame) copy_sprite(frame,pat:get_frame(815,0,0)) end) end function mods.kyuu4(pat) --char anim for idx = 0 , 17 do pat:update_frame(604,0,idx,function(frame) local ani = idx+1 if (idx >= 6 and idx <= 14) then ani = 6 unset_fflag(frame,FF_GRAZE) elseif (idx > 14) then ani = idx-8 end if (idx <= 4) then frame.duration=frame.duration-1 end copy_sprite(frame,pat:get_frame(400,0,ani)) if (idx >= 6) then frame.hurtbox = pat:get_frame(400,0,ani).hurtbox end end) end pat:update_frame(604,0,6,{fflags = 0x00007001}) pat:update_frame(604,0,7,{fflags = 0x00007001}) pat:update_frame(604,0,9,{duration = 6-0}) pat:update_frame(604,0,15,function(frame) frame.duration = 20-5 end) pat:update_frame(604,0,8,{duration = pat:get_frame(604,0,8).duration - 1 , fflags = pat:get_frame(604,0,7).fflags , hurtbox = pat:get_frame(604,0,7).hurtbox}) pat:update_frame(604,0,9,{duration = pat:get_frame(604,0,9).duration - 2}) pat:update_frame(604,0,10,{duration = pat:get_frame(604,0,10).duration + 3}) for idx = 10 , 12 do pat:update_frame(604,0,idx,function(frame) set_fflag(frame,FF_GRAZE) end) end --854 for idx = 0 , 34 do pat:update_frame(854,0,idx,function(frame) copy_sprite(frame,pat:get_frame(856,2,idx%30)) frame.scale_x = frame.scale_x*.75 frame.tex_offset_x = 215 end) end for idx = 0 , 5 do pat:update_frame(854,1,idx,function(frame) frame.tex_w=0 end) end for idx = 0 , 19 do pat:split_frame(854,2,0,1,1) end for idx = 0 , 21 do pat:update_frame(854,2,idx,function(frame) local ani = idx+2 if (ani > 17) then ani = 17 end copy_sprite(frame,pat:get_frame(827,2,ani)) frame.tex_offset_x = -25+idx*5 frame.tex_offset_y = frame.tex_offset_y - 15 frame.attackbox[3]=null frame.attackbox[2]=null frame.attackbox[1].x1=200-idx*20 frame.attackbox[1].x2=500-idx*20 frame.attackbox[1].y1=-70 frame.attackbox[1].y2=200 set_aflag(frame,AF_UNGRAZABLE) set_aflag(frame,AF_STAGGER) unset_aflag(frame,AF_COUNTER_HIT) frame.launch_vector_x = 0 frame.launch_vector_y = 2000 frame.hitstop_enemy = frame.hitstop_enemy+2 frame.blockstop_enemy = frame.blockstop_enemy+2 frame.sp_damage = frame.sp_damage*.75 frame.damage = frame.damage*1 frame.limit = 15 frame.combo_correction = CC_LIFT_ATTACK if (idx == 21) then frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 600 frame.tex_w = 0 end end) end pat:update_frame(854,3,0,function(frame) frame.tex_w=0 end) pat:update_frame(854,4,0,function(frame) copy_sprite(frame,pat:get_frame(815,0,0)) end) pat:update_frame(854,4,1,function(frame) copy_sprite(frame,pat:get_frame(815,0,0)) end) pat:update_frame(854,5,0,function(frame) copy_sprite(frame,pat:get_frame(815,0,0)) end) for idx = 0 , 14 do pat:update_frame(854,6,idx,function(frame) frame.tex_w=0 end) end pat:update_frame(854,7,0,function(frame) frame.tex_w=0 end) end function mods.kyuu4_update(pat) for idx = 0 , 34 do pat:update_frame(854,0,idx,function(frame) frame.duration = 1 local size = idx*30 if (idx > 12) then --size = 12*30 end if (idx > 25) then local alpha = 255-(idx-25)*30 if (idx==34) then alpha = 0 end frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha end frame.tex_index = 127 frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = size frame.scale_y = size local scalemod = 100/frame.scale_x local ymod = -100 local xmod = -460 frame.tex_offset_y = frame.tex_offset_y - (ymod)*scalemod frame.tex_offset_x = frame.tex_offset_x - (xmod)*scalemod end) end end function mods.rocket_kick_change(pat) -- +1 on block -- punishable on graze (difficult) --for idx = 0 , 10 do --end --bug: not usable on opponent corner point blank for idx = 0 , 0 do --remove shockwave pat:update_frame(821,1,0,function(frame) frame.tex_w = 0 end) pat:update_frame(821,1,1,function(frame) frame.tex_w = 0 end) pat:update_frame(821,2,0,function(frame) frame.tex_w = 0 end) pat:update_frame(821,2,1,function(frame) frame.tex_w = 0 end) end for idx = 0 , 0 do --character animation pat:update_frame(545,0,0,function(frame) frame.duration = 5 copy_sprite(frame,pat:get_frame(741,0,0)) end) pat:update_frame(545,0,1,function(frame) frame.duration = 5+4+8 copy_sprite(frame,pat:get_frame(741,0,1)) end) pat:update_frame(545,0,2,function(frame) frame.duration = 5+4 copy_sprite(frame,pat:get_frame(741,0,2)) end) pat:update_frame(545,0,3,function(frame) frame.duration = 5 copy_sprite(frame,pat:get_frame(741,0,3)) end) pat:update_frame(545,0,4,function(frame) frame.duration = 5 copy_sprite(frame,pat:get_frame(741,1,0)) end) pat:update_frame(545,0,5,function(frame) frame.duration = 8 copy_sprite(frame,pat:get_frame(741,2,0)) end) pat:update_frame(545,0,6,function(frame) frame.duration = 3 copy_sprite(frame,pat:get_frame(741,2,1)) end) pat:update_frame(545,0,7,function(frame) frame.duration = 3 copy_sprite(frame,pat:get_frame(741,0,3)) end) pat:update_frame(545,0,8,function(frame) frame.duration = 3 copy_sprite(frame,pat:get_frame(741,0,2)) end) pat:update_frame(545,0,9,function(frame) frame.duration = 3 copy_sprite(frame,pat:get_frame(741,0,1)) end) pat:update_frame(545,0,10,function(frame) frame.duration = 7 copy_sprite(frame,pat:get_frame(741,0,0)) end) end for idx0 = 0 , 4 do if (idx0 == 1 or idx0 == 2) then else for idx = 10 , 90 do pat:split_frame(821,idx0,9,1,1) end for idx = 0 , 90 do pat:update_frame(821,idx0,idx,function(frame) frame.duration = 1 if (idx < 10) then --startup copy_sprite(frame,pat:get_frame(850,0,idx)) elseif (idx >= 80 and idx < 90) then --ending copy_sprite(frame,pat:get_frame(850,0,9-(idx-80))) elseif (idx == 90) then --over limit frame.tex_w=0 frame.duration = 40 else --animation copy_sprite(frame,pat:get_frame(850,1,idx%10)) end frame.angle_z = 270 if (idx0 == 0) then frame.scale_x = frame.scale_x * 0.5 frame.scale_y = frame.scale_y * 0.5 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -85 frame.attackbox[1].x2 = -45 frame.attackbox[1].y1 = -260 frame.attackbox[1].y2 = -0 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -300 frame.attackbox[2].x2 = 100 frame.attackbox[2].y1 = -170 frame.attackbox[2].y2 = -90 frame.tex_offset_x = frame.tex_offset_x - 80 frame.tex_offset_y = frame.tex_offset_y - 70 elseif (idx0 == 3) then frame.scale_x = frame.scale_x * 0.6 frame.scale_y = frame.scale_y * 0.6 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -85 * 1.25 frame.attackbox[1].x2 = -45 * 1.25 frame.attackbox[1].y1 = -270 * 1.25 + 40 frame.attackbox[1].y2 = 10 * 1.25 + 40 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -300 * 1.25 frame.attackbox[2].x2 = 100 * 1.25 frame.attackbox[2].y1 = -170 * 1.25 + 40 frame.attackbox[2].y2 = -90 * 1.25 + 40 frame.tex_offset_x = frame.tex_offset_x - 60 frame.tex_offset_y = frame.tex_offset_y - 75 else frame.scale_x = frame.scale_x * 0.7 frame.scale_y = frame.scale_y * 0.7 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -85 * 1.5 frame.attackbox[1].x2 = -45 * 1.5 frame.attackbox[1].y1 = -280 * 1.5 + 80 frame.attackbox[1].y2 = 20 * 1.5 + 80 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -300 * 1.5 frame.attackbox[2].x2 = 100 * 1.5 frame.attackbox[2].y1 = -170 * 1.5 + 80 frame.attackbox[2].y2 = -90 * 1.5 + 80 frame.tex_offset_x = frame.tex_offset_x - 40 frame.tex_offset_y = frame.tex_offset_y - 80 end if (idx > 85) then frame.attackbox = pat:get_frame(0,0,0).attackbox end set_aflag(frame,AF_UNREFLECTABLE) frame.damage = 400 frame.chip_damage = 100 frame.sp_damage = 50 end) end end end end function mods.slap2a(pat) -- 3 3 2 2 4 4 -- 7f startup -- total 18f local src8 = pat:get_frame(303,0,8) pat:remove_frame(303,0,7) pat:remove_frame(303,0,6) pat:remove_frame(303,0,2) pat:update_frame(303,0,0,function(frame) frame.duration = 5--3 end) pat:update_frame(303,0,1,function(frame) frame.duration = 5--3 end) pat:update_frame(303,0,2,function(frame) frame.duration = 4--2 copy_sprite(frame,pat:get_frame(224,0,2)) frame.tex_offset_y = frame.tex_offset_y-40 frame.tex_h = 100 local src = pat:get_frame(303,0,2) frame.hurtbox=src.hurtbox frame.attackbox=src.attackbox frame.damage=200 frame.hurtbox[2].y1=frame.hurtbox[2].y1+80 frame.hurtbox[2].y2=frame.hurtbox[2].y2+60 frame.hurtbox[2].x2=frame.hurtbox[2].x2-30 frame.attackbox[1].x1=frame.attackbox[1].x1-28 frame.attackbox[1].x2=frame.attackbox[1].x2-28 frame.attackbox[1].y1=frame.attackbox[1].y1+40 frame.attackbox[1].y2=frame.attackbox[1].y2+40 frame.attackbox[2]=null frame.attackbox[3]=null frame.attack_level=AL_MEDIUM unset_aflag(frame,AF_HIGHBLOCK_OK) unset_aflag(frame,AF_ATTACK_HIGH) unset_aflag(frame,AF_ATTACK_AIR) unset_aflag(frame,AF_COUNTER_HIT) set_aflag(frame,AF_LOWBLOCK_OK) set_aflag(frame,AF_ATTACK_LOW) set_aflag(frame,AF_STAGGER) frame.launch_vector_x = 400 frame.launch_vector_y = 600 frame.proration = 980 frame.untech = 40--16 frame.limit = 0 frame.combo_correction = CC_NONE frame.hit_sfx = 1 frame.hit_effect = pat:get_frame(301,0,5).hit_effect frame.hit_ani_ground = pat:get_frame(301,0,5).hit_ani_ground frame.hit_ani_air = pat:get_frame(301,0,5).hit_ani_air --j8a --frame.tex_y = frame.tex_y-10 end) pat:update_frame(303,0,3,function(frame) copy_sprite(frame,pat:get_frame(224,0,2)) frame.tex_offset_y = frame.tex_offset_y-40 frame.tex_h = 100 frame.duration = 4--2 local src = pat:get_frame(303,0,2) frame.hurtbox=src.hurtbox --frame.tex_y = frame.tex_y-10 end) pat:update_frame(303,0,4,function(frame) copy_sprite(frame,src8) frame.hurtbox = src8.hurtbox frame.duration = 5--4 end) pat:update_frame(303,0,5,function(frame) copy_sprite(frame,src8) frame.hurtbox = src8.hurtbox frame.duration = 5--4 end) for idx = 0 , 9 do pat:update_frame(848,3,idx,function(frame) --frame.tex_h = 0 --frame.tex_y = frame.tex_y-10 end) end --pat:get_sequence(300,0):set_priority(20,20) --pat:get_sequence(303,0):set_priority(40,20) end function mods.medium2a(pat) -- 4 3 2 4 4 4 4 -- 8f startup -- total 23f -- 0 on rightblock -- same range as youmu 1a local src8 = pat:get_frame(303,0,8) pat:remove_frame(303,0,7) pat:remove_frame(303,0,2) pat:update_frame(303,0,0,function(frame) frame.duration = 4 end) pat:update_frame(303,0,1,function(frame) frame.duration = 3 end) pat:update_frame(303,0,2,function(frame) frame.duration = 2 copy_sprite(frame,pat:get_frame(224,0,2)) frame.tex_offset_y = frame.tex_offset_y-40 frame.tex_h = 100 local src = pat:get_frame(303,0,2) frame.hurtbox=src.hurtbox frame.attackbox=src.attackbox frame.damage=500 frame.hurtbox[2].y1=frame.hurtbox[2].y1+80 frame.hurtbox[2].y2=frame.hurtbox[2].y2+60 frame.hurtbox[2].x2=frame.hurtbox[2].x2-30 frame.attackbox[1].x1=frame.attackbox[1].x1-40 frame.attackbox[1].x2=frame.attackbox[1].x2-40 frame.attackbox[1].y1=frame.attackbox[1].y1+35 frame.attackbox[1].y2=frame.attackbox[1].y2+40 frame.attackbox[2]=null frame.attackbox[3]=null frame.attack_level=AL_MEDIUM set_aflag(frame,AF_COUNTER_HIT) unset_aflag(frame,AF_HIGHBLOCK_OK) unset_aflag(frame,AF_ATTACK_HIGH) unset_aflag(frame,AF_ATTACK_AIR) set_aflag(frame,AF_COUNTER_HIT) set_aflag(frame,AF_LOWBLOCK_OK) set_aflag(frame,AF_ATTACK_LOW) set_aflag(frame,AF_STAGGER) frame.launch_vector_x = 400 frame.launch_vector_y = 600 frame.proration = 940 frame.untech = 40--16 frame.limit = 0 frame.combo_correction = CC_NONE frame.hit_sfx = 1 frame.hit_effect = pat:get_frame(301,0,5).hit_effect frame.hit_ani_ground = pat:get_frame(301,0,5).hit_ani_ground frame.hit_ani_air = pat:get_frame(301,0,5).hit_ani_air --j8a frame.sp_damage = 200 --frame.tex_y = frame.tex_y-10 end) pat:update_frame(303,0,3,function(frame) copy_sprite(frame,pat:get_frame(224,0,2)) frame.tex_offset_y = frame.tex_offset_y-40 frame.tex_h = 100 frame.duration = 4 local src = pat:get_frame(303,0,2) frame.hurtbox=src.hurtbox --frame.tex_y = frame.tex_y-10 end) pat:update_frame(303,0,4,function(frame) copy_sprite(frame,pat:get_frame(304,0,10)) frame.hurtbox = src8.hurtbox frame.duration = 4 end) pat:update_frame(303,0,5,function(frame) copy_sprite(frame,pat:get_frame(304,0,11)) frame.hurtbox = src8.hurtbox frame.duration = 4 end) pat:update_frame(303,0,6,function(frame) copy_sprite(frame,pat:get_frame(304,0,12)) frame.hurtbox = src8.hurtbox frame.duration = 2 end) for idx = 0 , 9 do pat:update_frame(848,3,idx,function(frame) --frame.tex_h = 0 --frame.tex_y = frame.tex_y-10 end) end --pat:get_sequence(300,0):set_priority(20,20) --pat:get_sequence(303,0):set_priority(40,20) end function mods.j8a(pat) for idx = 0 , 1 do pat:update_frame(309,0,idx,function(frame) copy_sprite(frame,pat:get_frame(540,0,idx+1)) frame.hurtbox = pat:get_frame(540,0,idx+1).hurtbox end) end pat:update_frame(309,0,0,function(frame) frame.hurtbox[1].y1 = frame.hurtbox[1].y1 - 60 end) pat:update_frame(309,0,1,function(frame) frame.hurtbox[2].y1 = frame.hurtbox[2].y1 - 60 end) pat:update_frame(309,0,2,function(frame) copy_sprite(frame,pat:get_frame(540,1,0)) frame.hurtbox = pat:get_frame(540,1,0).hurtbox end) for idx = 3 , 6 do pat:update_frame(309,0,idx,function(frame) copy_sprite(frame,pat:get_frame(540,2,idx-3)) frame.hurtbox = pat:get_frame(540,2,idx-3).hurtbox end) end pat:update_frame(309,0,4,function(frame) frame.attackbox = pat:get_frame(540,2,1).attackbox frame.launch_vector_y = 1600 end) for idx = 7 , 8 do pat:update_frame(309,0,idx,function(frame) copy_sprite(frame,pat:get_frame(540,4,idx-7)) frame.hurtbox = pat:get_frame(540,4,idx-7).hurtbox end) end pat:update_frame(309,0,4,{ duration = 3 + 6 }) pat:update_frame(309,0,7,{ duration = 15 - 6 +6 }) end function mods.j6a(pat) --15f -> 13 startup --10f -> 3f active --recovery 14f faster pat:update_frame(307,0,2,function(frame) --frame.duration = 6+4 end) pat:update_frame(307,0,4,function(frame) frame.duration = 6 copy_sprite(frame,pat:get_frame(307,0,3)) frame.damage = 850 frame.hurtbox = pat:get_frame(307,0,3).hurtbox frame.hurtbox[1].x2 = frame.hurtbox[1].x2 + 40 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 + 40 frame.attackbox[1].x2 = frame.attackbox[1].x2 + 20 frame.attackbox[1].y1 = frame.attackbox[1].y1 - 60 frame.attackbox[1].y2 = frame.attackbox[1].y2 + 20 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox frame.attackbox[2].x1 = frame.attackbox[1].x1 + 40 frame.attackbox[2].x2 = frame.attackbox[1].x2 + 40 frame.attackbox[2].y1 = frame.attackbox[1].y1 + 15--40 frame.attackbox[2].y2 = frame.attackbox[1].y2 + 15--40 end) pat:update_frame(307,2,0,function(frame) --frame.duration = 2 end) for idx = 0 , 4 do pat:update_frame(307,1,idx,function(frame) --frame.duration = 3 end) end for idx = 0 , 9 do pat:update_frame(307,0,idx,function(frame) --frame.duration = 3 end) end for idx = 3 , 6 do pat:update_frame(307,2,idx,function(frame) --set_fflag(frame,FF_ATTACK_CANCEL) frame.duration = 3 end) end pat:update_frame(307,2,0,{duration = 4}) end function mods.nj6a(pat) pat:split_frame(307,0,9,1,1) pat:split_frame(307,0,9,1,1) pat:update_frame(307,0,0,function(frame) copy_sprite(frame,pat:get_frame(550,5,0)) frame.duration = 4 frame.hurtbox = pat:get_frame(6,1,0).hurtbox frame.hurtbox[2].x2 = frame.hurtbox[2].x2 + 20 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 + 20 frame.tex_offset_x = frame.tex_offset_x - 30 end) pat:update_frame(307,0,1,function(frame) copy_sprite(frame,pat:get_frame(550,5,1)) frame.duration = 4 frame.hurtbox = pat:get_frame(6,1,0).hurtbox frame.hurtbox[2].x2 = frame.hurtbox[2].x2 + 20 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 + 20 frame.tex_offset_x = frame.tex_offset_x - 30 end) pat:update_frame(307,0,2,function(frame) copy_sprite(frame,pat:get_frame(550,5,1)) frame.duration = 4 frame.hurtbox = pat:get_frame(6,1,0).hurtbox frame.hurtbox[2].x2 = frame.hurtbox[2].x2 + 20 frame.hurtbox[2].x1 = frame.hurtbox[2].x1 + 20 frame.tex_offset_x = frame.tex_offset_x - 30 end) pat:update_frame(307,0,3,function(frame) copy_sprite(frame,pat:get_frame(550,5,2)) frame.duration = 2 frame.hurtbox = pat:get_frame(6,1,0).hurtbox frame.tex_offset_x = frame.tex_offset_x - 30 end) pat:update_frame(307,0,4,function(frame) copy_sprite(frame,pat:get_frame(550,3,2)) frame.duration = 3 frame.hurtbox[3]=null frame.hurtbox[1].x1 = frame.hurtbox[1].x1 + 25 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 - 25 frame.hurtbox[2].y2 = frame.hurtbox[2].y2 - 30 frame.hurtbox[2].x2 = frame.hurtbox[2].x2 + 40 frame.attackbox[1].x2 = frame.attackbox[1].x2 + 40 frame.attackbox[1].x1 = frame.attackbox[1].x1 + 25 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = frame.attackbox[1].x2 - 20 frame.attackbox[2].x2 = frame.attackbox[2].x1 + 80 frame.attackbox[2].y1 = frame.attackbox[1].y1 - 40 frame.attackbox[2].y2 = frame.attackbox[1].y2 - 30 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = frame.attackbox[2].x2 - 20 frame.attackbox[3].x2 = frame.attackbox[3].x1 + 80 frame.attackbox[3].y1 = frame.attackbox[2].y1 - 40 frame.attackbox[3].y2 = frame.attackbox[2].y2 - 30 frame.attackbox[4] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[4].x2 = frame.attackbox[1].x1 + 20 frame.attackbox[4].x1 = frame.attackbox[4].x2 - 50 frame.attackbox[4].y1 = frame.attackbox[1].y1 + 20 frame.attackbox[4].y2 = frame.attackbox[1].y2 + 20 --[[ frame.damage = 950 frame.proration = 850 frame.limit = 50 frame.untech = 80]]-- frame.launch_vector_x = 2000 frame.launch_vector_y = 1750 end) pat:update_frame(307,0,5,function(frame) copy_sprite(frame,pat:get_frame(307,2,0)) frame.duration = 4 frame.hurtbox = pat:get_frame(307,2,0).hurtbox end) pat:update_frame(307,0,6,function(frame) copy_sprite(frame,pat:get_frame(307,2,1)) frame.duration = 4 frame.hurtbox = pat:get_frame(307,2,1).hurtbox end) pat:update_frame(307,0,7,function(frame) copy_sprite(frame,pat:get_frame(307,2,2)) frame.duration = 4 frame.hurtbox = pat:get_frame(307,2,2).hurtbox end) pat:update_frame(307,0,8,function(frame) copy_sprite(frame,pat:get_frame(307,2,3)) frame.duration = 4 frame.hurtbox = pat:get_frame(307,2,3).hurtbox end) pat:update_frame(307,0,9,function(frame) copy_sprite(frame,pat:get_frame(307,2,4)) frame.duration = 4 frame.hurtbox = pat:get_frame(307,2,4).hurtbox end) pat:update_frame(307,0,10,function(frame) copy_sprite(frame,pat:get_frame(307,2,5)) frame.duration = 4 frame.hurtbox = pat:get_frame(307,2,5).hurtbox end) pat:update_frame(307,0,11,function(frame) copy_sprite(frame,pat:get_frame(307,2,6)) frame.duration = 4 frame.hurtbox = pat:get_frame(307,2,6).hurtbox end) pat:split_frame(307,0,11,3,3) pat:update_frame(307,0,12,function(frame) copy_sprite(frame,pat:get_frame(9,0,1)) frame.duration = 4 frame.hurtbox = pat:get_frame(9,0,1).hurtbox end) for idx = 0 , 3 do pat:update_frame(307,0,idx,function(frame) frame.tex_offset_y = frame.tex_offset_y + 15 end) end for idx = 4 , 5 do pat:update_frame(307,0,idx,function(frame) set_fflag(frame,FF_CANCEL) end) end for idx = 9 , 23 do pat:split_frame(848,0,8,1,1) end for idx = 0 , 23 do pat:update_frame(848,0,idx,function(frame) copy_sprite(frame,pat:get_frame(811,1,idx)) frame.scale_x = 300 frame.scale_y = 300 end) end end function mods.aaa(pat) --[[ pat:get_sequence(300,0):set_priority(9,20) pat:get_sequence(301,0):set_priority(9,20) pat:get_sequence(330,0):set_priority(9,20) pat:get_sequence(303,0):set_priority(10,10)]]-- -- same speed and actives -- update last hit of dial A first pat:update_frame(322,0,6,function(frame) for idx = 1 , 3 do frame.attackbox[idx].x2 = frame.attackbox[idx].x2+30 end end) -- pat:update_frame(320,0,3,function(frame) frame.untech = 25 end) for idx = 0 , 3 do end pat:update_frame(321,0,0,function(frame) local src = pat:get_frame(301,0,1) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:update_frame(321,0,1,function(frame) local src = pat:get_frame(301,0,2) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:update_frame(321,0,2,function(frame) local src = pat:get_frame(301,0,3) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:update_frame(321,0,3,function(frame) local src = pat:get_frame(301,0,5) copy_sprite(frame,src) frame.hurtbox=src.hurtbox frame.attackbox=src.attackbox frame.attackbox[2].x2=frame.attackbox[2].x2+20 frame.damage=src.damage unset_aflag(frame,AF_HIGHBLOCK_OK) unset_aflag(frame,AF_ATTACK_HIGH) unset_aflag(frame,AF_ATTACK_AIR) set_aflag(frame,AF_LOWBLOCK_OK) set_aflag(frame,AF_ATTACK_LOW) frame.hit_ani_ground = pat:get_frame(309,0,4).hit_ani_ground frame.hit_ani_air = pat:get_frame(309,0,4).hit_ani_air --j8a frame.launch_vector_x = 0 frame.launch_vector_y = 800 frame.untech = 60 frame.combo_correction = CC_LIFT_ATTACK end) pat:update_frame(321,0,4,function(frame) local src = pat:get_frame(301,0,7) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:update_frame(321,0,8,function(frame) frame.untech = 100 end) for idx = 0 , 9 do copy_sprite(pat:get_frame(848,1,idx),pat:get_frame(854,0,0)) --empty frame from gungnir startup pat:update_frame(848,1,idx,function(frame) frame.tex_offset_y = frame.tex_offset_y+30 end) end end function mods.c_bullets(pat) local MOD_ATTACK_LEVEL = AL_HEAVY local MOD_HITSTOP_SELF = 10 local MOD_BLOCKSTOP_SELF = 2 local MOD_BLOCKSTOP_ENEMY = 0 local MOD_DAMAGE = 600 local MOD_PRORATION = 900 local MOD_LIMIT = 20 local MOD_SP_DAMAGE = 20 local MOD_UNTECH = 50 local MOD_LAUNCH_X = 600 local MOD_LAUNCH_Y = 1900 -- 5c -- 24f -> 21f -- j2c -- recovery +17f -- 2c 2f faster -- 2c pat:update_frame(412,0,0,function(frame) frame.duration = frame.duration-1 end) -- 5c j5c for idx = 0 , 9 do pat:update_frame(410,0,idx,function(frame) frame.duration = 4 end) pat:update_frame(414,0,idx,function(frame) frame.duration = 4 end) end pat:update_frame(410,0,0,function(frame) frame.duration = 2 end) pat:update_frame(414,0,0,function(frame) frame.duration = 3 end) --5[c] j5[c] for idx = 1 , 5 do pat:update_frame(410,1,idx,function(frame) frame.duration = 4 end) pat:update_frame(414,1,idx,function(frame) frame.duration = 4 end) end -- j2c j2[c] for idx = 7 , 8 do pat:update_frame(416,0,idx,function(frame) frame.duration = 12 end) end for idx = 6 , 7 do pat:update_frame(416,1,idx,function(frame) frame.duration = 12 end) end --pat:remove_frame(801,0,19) for loop = 0 , 1 do for idx = 0 , 9 do pat:update_frame(801,0,10*loop+idx,function(frame) local src = pat:get_frame(821,0,idx) copy_sprite(frame,src) unset_aflag(frame,AF_COUNTER_HIT) frame.tex_offset_x = frame.tex_offset_x +10 frame.damage = MOD_DAMAGE frame.proration = MOD_PRORATION frame.limit = MOD_LIMIT frame.sp_damage = 70 frame.untech = MOD_UNTECH frame.launch_vector_x = MOD_LAUNCH_X frame.launch_vector_y = MOD_LAUNCH_Y frame.hit_ani_air = pat:get_frame(309,0,4).hit_ani_air --j8a frame.hit_ani_ground = pat:get_frame(309,0,4).hit_ani_air --j8a --frame.card_gain_hit = 6000 end) pat:update_frame(801,2,10*loop+idx,function(frame) local src = pat:get_frame(821,0,idx) copy_sprite(frame,src) unset_aflag(frame,AF_COUNTER_HIT) frame.tex_offset_x = frame.tex_offset_x +20 frame.damage = MOD_DAMAGE*1.4 frame.proration = MOD_PRORATION frame.limit = MOD_LIMIT frame.sp_damage = 100 frame.untech = MOD_UNTECH frame.launch_vector_x = MOD_LAUNCH_X frame.launch_vector_y = MOD_LAUNCH_Y frame.hit_ani_air = pat:get_frame(309,0,4).hit_ani_air --j8a frame.scale_x = 300 frame.scale_y = 300 frame.attackbox[1].x1 = frame.attackbox[1].x1 * 1.5 frame.attackbox[1].x2 = frame.attackbox[1].x2 * 1.5 frame.attackbox[1].y1 = frame.attackbox[1].y1 * 1.5 frame.attackbox[1].y2 = frame.attackbox[1].y2 * 1.5 end) pat:update_frame(801,0,10*loop+idx,{ hitstop_self = MOD_HITSTOP_SELF, blockstop_self = MOD_BLOCKSTOP_SELF, blockstop_enemy = MOD_BLOCKSTOP_ENEMY, attack_level = MOD_ATTACK_LEVEL, hit_sfx = 4, hit_effect = 3, }) pat:update_frame(801,2,10*loop+idx,{ hitstop_self = MOD_HITSTOP_SELF, blockstop_self = 10, blockstop_enemy = 10, attack_level = MOD_ATTACK_LEVEL, hit_sfx = 4, hit_effect = 3, }) end end --[[ local a, b = pat:get_sequence(821,0):get_priority() pat:get_sequence(801,0):set_priority(a, b) local a, b = pat:get_sequence(821,0):get_priority() pat:get_sequence(801,2):set_priority(a, b)]]-- end function mods.slide(pat) local a , b = pat:get_sequence(302,0):get_priority() pat:get_sequence(304,0):set_priority(a,b) for idx = 5 , 10 do pat:update_frame(304,0,idx,function(frame) copy_sprite(frame,pat:get_frame(304,0,10)) end) end pat:update_frame(304,0,10,function(frame) copy_sprite(frame,pat:get_frame(304,0,4)) end) for idx = 9 , 10 do pat:update_frame(304,0,idx,function(frame) frame.duration=5 end) end for idx = 5 , 8 do pat:update_frame(304,0,idx,function(frame) frame.duration=4 end) end end function mods.b_bullets(pat) -- 5b startup -3 -- recovery +4 -- jb/j2b startup -2 -- recovery +4 pat:update_frame(990,0,0,function(frame) frame.tex_index = 284 frame.tex_w = 0 frame.color_r = 0 frame.color_g = 0 frame.color_b = 0 frame.color_a = 0 end) pat:update_frame(991,0,0,function(frame) frame.tex_index = 284 frame.tex_w = 0 frame.color_r = 0 frame.color_g = 0 frame.color_b = 0 frame.color_a = 0 end) for idx = 2 , 4 do pat:update_frame(400,0,idx,function(frame) frame.duration=frame.duration-1 end) pat:update_frame(400,1,idx-1,function(frame) frame.duration=frame.duration-1-2 end) end pat:update_frame(400,0,5,function(frame) frame.duration=frame.duration+2 end) pat:update_frame(400,0,6,function(frame) frame.duration=frame.duration+2 end) --[[ for idx = 2 , 4 do pat:update_frame(401,0,idx,function(frame) frame.duration=frame.duration-1 end) pat:update_frame(401,1,idx-1,function(frame) frame.duration=frame.duration-1-2 end) end pat:update_frame(401,0,5,function(frame) frame.duration=frame.duration+2 end) pat:update_frame(401,0,6,function(frame) frame.duration=frame.duration+2 end)]]-- for idx = 2 , 3 do pat:update_frame(404,0,idx,function(frame) frame.duration=frame.duration-2 end) pat:update_frame(404,1,idx-2,function(frame) frame.duration=frame.duration-2 end) pat:update_frame(406,0,idx,function(frame) frame.duration=frame.duration-2 end) pat:update_frame(406,1,idx-2,function(frame) frame.duration=frame.duration-2 end) end pat:update_frame(404,0,4,function(frame) frame.duration=frame.duration+4 +2 end) pat:update_frame(406,0,4,function(frame) frame.duration=frame.duration+4 +2 end) for idx = 1 , 132 do pat:split_frame(800,0,0,1,1) end for idx = 0 , 132 do pat:update_frame(800,0,idx,function(frame) set_fflag(frame, FF_AFTER_IMAGE) set_fflag(frame, FF_LOOP_ANIMATION) set_aflag(frame,AF_UNREFLECTABLE) frame.blending_mode = 1 frame.duration=1 frame.tex_w=0 frame.attackbox[1].x1=-100 frame.attackbox[1].x2=100 frame.attackbox[1].y1=-60 frame.attackbox[1].y2=60 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1=-60 frame.attackbox[2].x2=60 frame.attackbox[2].y1=-100 frame.attackbox[2].y2=100 frame.hurtbox[1]=frame.attackbox[1] frame.hurtbox[2]=frame.attackbox[2] frame.hit_sfx=3 frame.hit_effect=3 frame.blockstop_self=10 frame.blockstop_enemy=10 frame.hitstop_self=10 frame.hitstop_enemy=10 frame.attack_level=AL_MEDIUM frame.hit_ani_ground=pat:get_frame(302,0,6).hit_ani_ground frame.hit_ani_air=pat:get_frame(302,0,6).hit_ani_air frame.launch_vector_x = 400 frame.launch_vector_y = 1450 frame.damage = 700 frame.proration = 850 frame.untech = 40 frame.sp_damage = 200 frame.limit = 30 frame.card_gain_hit = 60 frame.card_gain_block = 60 set_aflag(frame,AF_COUNTER_HIT) frame.combo_correction = CC_LIFT_ATTACK if (idx<15) then --dormant 15 frame.tex_index = 127 frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = idx*50 frame.scale_y = idx*50 if (idx>4) then frame.scale_x = 220 frame.scale_y = 220 end elseif (idx<15+18 and idx>=15) then --active 18 frame.tex_index = 128 + (idx-15)/2 frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = 220 frame.scale_y = 220 elseif (idx<15+26 and idx>=15+18) then -- half dead 8 frame.tex_index = 128 + (18)/2 + idx-(15+18) frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = 220 frame.scale_y = 220 elseif (idx<90 and idx>=15+18) then --dead frame.tex_w = 0 elseif (idx<105 and idx>=90) then --dormant 15 frame.tex_index = 127 frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = (idx-90)*75 frame.scale_y = (idx-90)*75 if ((idx-90)>4) then frame.scale_x = 300 frame.scale_y = 300 end elseif (idx<105+18 and idx>=105) then --active 18 frame.tex_index = 128 + (idx-105)/2 frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = 300 frame.scale_y = 300 frame.attackbox[1].x1=-130 frame.attackbox[1].x2=130 frame.attackbox[1].y1=-80 frame.attackbox[1].y2=80 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1=-80 frame.attackbox[2].x2=80 frame.attackbox[2].y1=-130 frame.attackbox[2].y2=130 frame.hurtbox[1]=frame.attackbox[1] frame.hurtbox[2]=frame.attackbox[2] frame.damage = 1000 frame.proration = 800 frame.untech = 60 frame.sp_damage = 300 frame.attack_level=AL_HEAVY frame.hitstop_enemy = 20 frame.launch_vector_y = 1450 elseif (idx<105+26 and idx>=105+18) then -- half dead 8 frame.tex_index = 128 + (18)/2 + idx-(105+18) frame.tex_offset_x = 64 frame.tex_offset_y = 64 frame.tex_w = 128 frame.tex_h = 128 frame.scale_x = 300 frame.scale_y = 300 elseif (idx>=105+26) then --dead frame.tex_w = 0 end local scalemod = 100./frame.scale_x local ymod = 0 local xmod = 260.-15.*idx if (idx>=90) then xmod = 360.-15.*(idx-90) end frame.tex_offset_y = frame.tex_offset_y - (ymod)*scalemod frame.attackbox[1].y1 = frame.attackbox[1].y1 + (ymod) frame.attackbox[1].y2 = frame.attackbox[1].y2 + (ymod) frame.attackbox[2].y1 = frame.attackbox[2].y1 + (ymod) frame.attackbox[2].y2 = frame.attackbox[2].y2 + (ymod) frame.tex_offset_x = frame.tex_offset_x - (xmod)*scalemod frame.attackbox[1].x1 = frame.attackbox[1].x1 + (xmod) frame.attackbox[1].x2 = frame.attackbox[1].x2 + (xmod) frame.attackbox[2].x1 = frame.attackbox[2].x1 + (xmod) frame.attackbox[2].x2 = frame.attackbox[2].x2 + (xmod) --frame.tex_w = 0 if (idx<15) then --dormant 15 frame.hurtbox[1]=null frame.hurtbox[2]=null frame.attackbox[1]=null frame.attackbox[2]=null elseif (idx<15+18 and idx>=15) then --active 18 elseif (idx<15+26 and idx>=15+18) then -- half dead 8 frame.hurtbox[1]=null frame.hurtbox[2]=null frame.attackbox[1]=null frame.attackbox[2]=null elseif (idx<90 and idx>=15+26) then --dead frame.hurtbox[1]=null frame.hurtbox[2]=null frame.attackbox[1]=null frame.attackbox[2]=null elseif (idx<105 and idx>=90) then --dormant 15 frame.hurtbox[1]=null frame.hurtbox[2]=null frame.attackbox[1]=null frame.attackbox[2]=null elseif (idx<105+18 and idx>=105) then --active 18 elseif (idx<105+26 and idx>=105+18) then -- half dead 8 frame.hurtbox[1]=null frame.hurtbox[2]=null frame.attackbox[1]=null frame.attackbox[2]=null elseif (idx>=105+26) then --dead frame.hurtbox[1]=null frame.hurtbox[2]=null frame.attackbox[1]=null frame.attackbox[2]=null frame.duration = 200 end end) end pat:update_frame(800,1,0,function(frame) frame.tex_w=0 frame.tex_h=0 end) pat:update_frame(800,2,0,function(frame) frame.tex_w=0 frame.tex_h=0 end) pat:update_frame(800,3,0,function(frame) frame.tex_w=0 frame.tex_h=0 end) end function mods.j2a(pat) pat:get_sequence(308,1):set_priority(0,10) -- 11f -> 17f -- for idx = 0 , 4 do pat:update_frame(308,0,idx,function(frame) frame.duration=1 end) end for idx = 0 , 3 do pat:update_frame(308,1,idx,function(frame) frame.duration=4 end) end --[[ --FOR REVERTING for idx = 1 , 3 do pat:update_frame(308,1,idx,function(frame) frame.duration=1 end) end pat:remove_frame(308,1,3) pat:remove_frame(308,1,2) --pat:remove_frame(308,1,1) ]]-- pat:update_frame(308,0,1,function(frame) frame.duration=10 end) -- why does it even work like this? pat:update_frame(308,0,3,function(frame) local src = pat:get_frame(6,2,4) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:update_frame(308,0,4,function(frame) local src = pat:get_frame(6,2,3) copy_sprite(frame,src) frame.hurtbox=src.hurtbox local src = pat:get_frame(306,0,3) frame.launch_vector_x = 600 frame.launch_vector_y = 1600 frame.untech = 45 frame.damage = 850 frame.combo_correction = src.combo_correction frame.hit_ani_air = src.hit_ani_air frame.hit_ani_ground = src.hit_ani_ground frame.hit_ani_ground = 53 frame.attack_level = AL_HEAVY frame.attackbox[3]=src.attackbox[1] frame.attackbox[1].x1=frame.attackbox[1].x1-30 frame.attackbox[1].y2=frame.attackbox[1].y2-30 frame.attackbox[2].x2=frame.attackbox[2].x2+40 frame.attackbox[2].y2=frame.attackbox[2].y2+30 frame.attackbox[2].y1=frame.attackbox[2].y1+20 frame.attackbox[3].y1=frame.attackbox[3].y1-40 frame.attackbox[3].y2=frame.attackbox[3].y2-40 frame.attackbox[3].x2=frame.attackbox[3].x2-120 frame.attackbox[3].x1=frame.attackbox[3].x1-160 frame.attackbox[4]=pat:get_frame(0,0,0).hurtbox frame.attackbox[4].x1=frame.attackbox[3].x1 + 50 frame.attackbox[4].x2=frame.attackbox[3].x2 + 50 frame.attackbox[4].y1=frame.attackbox[3].y1 + 30 frame.attackbox[4].y2=frame.attackbox[3].y2 + 30 frame.duration = 2 end) pat:update_frame(308,0,5,function(frame) local src = pat:get_frame(6,2,2) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:update_frame(308,0,6,function(frame) local src = pat:get_frame(6,2,1) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:update_frame(308,0,7,function(frame) local src = pat:get_frame(6,1,1) copy_sprite(frame,src) frame.hurtbox=src.hurtbox end) pat:split_frame(848,4,8,pat:get_frame(848,4,8).duration, 1) pat:split_frame(848,4,9,pat:get_frame(848,4,9).duration, 1) pat:split_frame(848,4,10,pat:get_frame(848,4,10).duration, 1) for idx = 0 , 11 do pat:update_frame(848,4,idx,function(frame) copy_sprite(frame,pat:get_frame(811,0,2*idx)) frame.tex_offset_x = frame.tex_offset_x+40 end) end end function mods.f5a(pat) -- 3 3 2 3 [10] 5 6 --pat:split_frame(301,0,9,pat:get_frame(301,0,9).duration, 1) --pat:split_frame(301,0,10,pat:get_frame(301,0,10).duration, 1) --pat:split_frame(301,0,11,pat:get_frame(301,0,11).duration, 1) for idx = 0 , 1 do pat:update_frame(301,0,idx,function(frame) local src = pat:get_frame(301,0,idx+2) frame.duration=3 frame.hurtbox=src.hurtbox copy_sprite(frame,src) end) end pat:update_frame(301,0,1,function(frame) frame.hurtbox[2].y1=frame.hurtbox[2].y1-20 frame.hurtbox[2].y2=frame.hurtbox[2].y2+30 --frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 end) for idx = 2 , 6 do pat:update_frame(301,0,idx,function(frame) local src = pat:get_frame(550,5,idx-2) frame.duration=src.duration frame.hurtbox[2]=pat:get_frame(301,0,1).hurtbox[2] --frame.hurtbox[2].y1=frame.hurtbox[2].y1-20 --frame.hurtbox[2].y2=frame.hurtbox[2].y2+30 --frame.hurtbox[1].y1=frame.hurtbox[1].y1+30 copy_sprite(frame,src) end) end pat:update_frame(301,0,7,function(frame) local src = pat:get_frame(550,5,6) frame.duration=src.duration+1 copy_sprite(frame,src) end) pat:remove_frame(301,0,4) pat:update_frame(301,0,4,function(frame) local src = pat:get_frame(321,0,8) frame.attackbox=src.attackbox frame.damage=src.damage unset_aflag(frame,AF_LOWBLOCK_OK) unset_aflag(frame,AF_ATTACK_LOW) set_aflag(frame,AF_HIGHBLOCK_OK) set_aflag(frame,AF_ATTACK_HIGH) frame.attackbox[3]=null frame.attackbox[2]=null frame.attackbox[1].x1=frame.attackbox[1].x1-80 frame.attackbox[1].x2=frame.attackbox[1].x2-80 frame.attackbox[1].y1=frame.attackbox[1].y1+25 frame.attackbox[1].y2=frame.attackbox[1].y2+50 frame.duration = 8 --frame.sp_damage = 200 --frame.untech = 600 --frame.hit_ani_air = pat:get_frame(309,0,4).hit_ani_air --frame.hit_ani_ground = pat:get_frame(309,0,4).hit_ani_ground end) pat:update_frame(301,0,4,{ hitstop_self = 10, hitstop_enemy = 10, blockstop_self = 10, blockstop_enemy = 10, attack_level = AL_MEDIUM, hit_sfx = 2, hit_effect = 2 }) pat:remove_frame(301,0,8) pat:remove_frame(301,0,9) end function mods.swap_j5a(pat) local src00 = pat:get_frame(306,0,3) -- j5a local src01 = pat:get_frame(306,0,4) local src02 = pat:get_frame(306,0,5) local src03 = pat:get_frame(306,0,6) local src04 = pat:get_frame(306,0,7) local src05 = pat:get_frame(306,0,8) local src06 = pat:get_frame(306,0,9) local src10 = pat:get_frame(325,0,1) -- j5aa local src11 = pat:get_frame(325,0,2) local src12 = pat:get_frame(325,0,3) local src13 = pat:get_frame(325,0,4) local src2 = pat:get_frame(309,0,4) -- j8a local src3 = pat:get_frame(303,0,3) -- 2a pat:update_frame(306,0,3,function(frame) frame.attackbox[1]=src10.attackbox[1] frame.attackbox[2]=src10.attackbox[2] frame.attackbox[1].x1=frame.attackbox[1].x1-30 frame.attackbox[1].x2=frame.attackbox[1].x2+5 frame.attackbox[1].y2=frame.attackbox[1].y2-8 frame.attackbox[2].x1=frame.attackbox[2].x1+5 frame.attackbox[2].x2=frame.attackbox[2].x2+5 --frame.untech = src2.untech+5 --frame.proration = 900 frame.hurtbox=src10.hurtbox copy_sprite(frame,src10) frame.damage = frame.damage+100 end) pat:update_frame(306,0,4,function(frame) frame.hurtbox=src11.hurtbox copy_sprite(frame,src11) end) pat:update_frame(306,0,5,function(frame) frame.hurtbox=src12.hurtbox copy_sprite(frame,src12) end) pat:update_frame(306,0,6,function(frame) frame.hurtbox=src13.hurtbox copy_sprite(frame,src13) end) pat:update_frame(306,0,7,function(frame) frame.hurtbox=src13.hurtbox copy_sprite(frame,src13) end) pat:update_frame(306,0,8,function(frame) frame.hurtbox=src13.hurtbox copy_sprite(frame,src13) end) pat:update_frame(325,0,1,function(frame) frame.launch_vector_x = 800 frame.launch_vector_y = 1200 frame.untech = src2.untech+5 frame.combo_correction = src2.combo_correction frame.hit_ani_air = src2.hit_ani_air --frame.hit_ani_ground = src2.hit_ani_ground frame.attackbox[1]=src00.attackbox[1] frame.attackbox[2]=src00.attackbox[2] frame.attackbox[2].x2=frame.attackbox[2].x2+15 frame.attackbox[1].x2=frame.attackbox[1].x2+5 frame.attackbox[1].y1=frame.attackbox[1].y1-20 frame.attackbox[1].y2=frame.attackbox[1].y2-20 frame.hurtbox=src00.hurtbox copy_sprite(frame,src00) frame.damage = frame.damage+200 end) pat:update_frame(325,0,2,function(frame) frame.hurtbox=src01.hurtbox frame.duration=3 copy_sprite(frame,src01) end) pat:update_frame(325,0,3,function(frame) frame.hurtbox=src02.hurtbox frame.duration=3 copy_sprite(frame,src02) end) pat:split_frame(325,0,4,pat:get_frame(325,0,4).duration, 1) pat:split_frame(325,0,5,pat:get_frame(325,0,5).duration, 1) pat:split_frame(325,0,6,pat:get_frame(325,0,6).duration, 1) pat:update_frame(325,0,4,function(frame) frame.hurtbox=src03.hurtbox frame.duration=3 copy_sprite(frame,src03) end) pat:update_frame(325,0,5,function(frame) frame.hurtbox=src04.hurtbox frame.duration=3 copy_sprite(frame,src04) end) pat:update_frame(325,0,6,function(frame) frame.hurtbox=src05.hurtbox frame.duration=3 copy_sprite(frame,src05) end) pat:update_frame(325,0,7,function(frame) frame.hurtbox=src06.hurtbox frame.duration=3 copy_sprite(frame,src06) end) end function mods.a236_rotate(pat) -- B = +4 -- C = -14 --[[ for idx = 6 , 10 do pat:update_frame(510,0,idx,function(frame) frame.duration = 4 end) pat:update_frame(510,3,idx,function(frame) frame.duration = 4 end) pat:update_frame(510,4,idx,function(frame) frame.duration = 4 end) end pat:update_frame(510,0,0,function(frame) --frame.duration = 7 end) pat:update_frame(510,3,0,function(frame) --frame.duration = 7 end) pat:update_frame(510,4,0,function(frame) --frame.duration = 7 end) pat:update_frame(510,3,8,function(frame) frame.duration = 3 end) pat:update_frame(510,3,9,function(frame) frame.duration = 3 end) pat:update_frame(510,3,10,function(frame) frame.duration = 3 end) pat:update_frame(510,4,8,function(frame) frame.duration = 1 end) pat:update_frame(510,4,9,function(frame) frame.duration = 1 end) pat:update_frame(510,4,10,function(frame) frame.duration = 1 end) ]]-- pat:update_frame(511,2,6,function(frame) frame.duration = 20 - 18 end) pat:remove_frame(511,0,10) pat:remove_frame(511,0,9) pat:remove_frame(511,0,8) pat:remove_frame(511,0,7) pat:remove_frame(511,0,6) pat:remove_frame(511,0,5) pat:remove_frame(511,0,4) pat:remove_frame(511,0,3) pat:remove_frame(511,0,2) pat:remove_frame(511,0,1) pat:update_frame(511,0,0,{duration = 5}) pat:remove_frame(511,3,10) pat:remove_frame(511,3,9) pat:remove_frame(511,3,8) pat:remove_frame(511,3,7) pat:remove_frame(511,3,6) pat:remove_frame(511,3,5) pat:remove_frame(511,3,4) pat:remove_frame(511,3,3) pat:remove_frame(511,3,2) pat:remove_frame(511,3,1) pat:remove_frame(511,4,10) pat:remove_frame(511,4,9) pat:remove_frame(511,4,8) pat:remove_frame(511,4,7) pat:remove_frame(511,4,6) pat:remove_frame(511,4,5) pat:remove_frame(511,4,4) pat:remove_frame(511,4,3) pat:remove_frame(511,4,2) pat:remove_frame(511,4,1) pat:split_frame(511,1,0,3,3) pat:split_frame(511,1,1,3,3) pat:remove_frame(510,0,10) pat:remove_frame(510,0,9) pat:remove_frame(510,0,8) pat:remove_frame(510,0,7) pat:remove_frame(510,0,6) pat:remove_frame(510,0,5) pat:remove_frame(510,0,4) pat:remove_frame(510,0,3) pat:remove_frame(510,0,2) pat:remove_frame(510,0,1) pat:remove_frame(510,3,10) pat:remove_frame(510,3,9) pat:remove_frame(510,3,8) pat:remove_frame(510,3,7) pat:remove_frame(510,3,6) pat:remove_frame(510,3,5) pat:remove_frame(510,3,4) pat:remove_frame(510,3,3) pat:remove_frame(510,3,2) pat:remove_frame(510,3,1) pat:remove_frame(510,4,10) pat:remove_frame(510,4,9) pat:remove_frame(510,4,8) pat:remove_frame(510,4,7) pat:remove_frame(510,4,6) pat:remove_frame(510,4,5) pat:remove_frame(510,4,4) pat:remove_frame(510,4,3) pat:remove_frame(510,4,2) pat:remove_frame(510,4,1) pat:split_frame(510,1,0,3,3) pat:split_frame(510,1,1,3,3) pat:update_frame(510,0,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 5 , fflags = 0x00000041 }) pat:update_frame(510,0,0,function(frame) frame.hurtbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 40 frame.hurtbox[2].y2 = frame.hurtbox[2].y2 - 40 end) pat:update_frame(510,3,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 5 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(510,4,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 5 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(510,1,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(510,1,1,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 1 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(510,1,2,{ tex_index = 835 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 }) pat:update_frame(510,1,2,function(frame) frame.hurtbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 20 frame.hurtbox[2].y2 = frame.hurtbox[2].y2 - 20 end) pat:update_frame(510,1,3,{ tex_index = 835 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 94*2 , duration = 3 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,2).hurtbox }) pat:update_frame(510,1,4,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 4 , fflags = 0x00000061 }) --hit pat:update_frame(510,1,4,function(frame) frame.hurtbox[1] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[1].x2 = frame.hurtbox[1].x2 + 15 frame.hurtbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[2].x1 = frame.hurtbox[2].x1 - 30 frame.hurtbox[2].y2 = frame.hurtbox[2].y2 - 20 frame.hurtbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.hurtbox[3].x1 = frame.hurtbox[3].x1 - 80 frame.hurtbox[3].x2 = frame.hurtbox[3].x2 + 80 frame.hurtbox[3].y1 = frame.hurtbox[3].y1 + 20 frame.hurtbox[3].y2 = frame.hurtbox[3].y2 - 40 end) pat:update_frame(510,1,5,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000061 , hurtbox = pat:get_frame(510,1,4).hurtbox }) -- pat:update_frame(510,1,5,function(frame) frame.attackbox[1].x1 = frame.attackbox[1].x1 - 180 frame.attackbox[1].x2 = frame.attackbox[1].x2 + 20 frame.attackbox[1].y1 = frame.attackbox[1].y1 - 20 frame.attackbox[1].y2 = frame.attackbox[1].y2 - 10 end) pat:update_frame(510,1,4,{ attackbox = pat:get_frame(510,1,5).attackbox }) pat:update_frame(510,1,4,function(frame) frame.attackbox[1].x2 = frame.attackbox[1].x2 - 40 end) pat:update_frame(510,1,6,{ tex_index = 837 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 4 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox , attackbox = pat:get_frame(0,0,0).attackbox }) pat:update_frame(510,1,6,function(frame) frame.hurtbox[1].x2 = frame.hurtbox[1].x2 + 15 end) pat:update_frame(510,1,7,{ tex_index = 54 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 125*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(510,1,8,{ tex_index = 838 , tex_w = 128 , tex_h = 128 , tex_offset_x = 64*2 , tex_offset_y = 96*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:split_frame(510,1,9,5,5) pat:split_frame(510,1,9,5,5) pat:update_frame(510,1,9,{ tex_index = 506 , tex_w = 128 , tex_h = 128 , tex_offset_x = 78*2 , tex_offset_y = 124*2 , duration = 11+1 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(510,1,10,{ tex_index = 505 , tex_w = 128 , tex_h = 128 , tex_offset_x = 77*2 , tex_offset_y = 126*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(510,1,11,{ tex_index = 720 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 122*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) --[[ pat:update_frame(510,2,0,{}) pat:update_frame(510,2,1,{}) pat:update_frame(510,2,2,{}) pat:update_frame(510,2,3,{}) hit pat:update_frame(510,2,4,{}) pat:update_frame(510,2,5,{}) pat:update_frame(510,2,6,{}) pat:update_frame(510,2,7,{}) pat:update_frame(510,2,8,{}) ]]-- pat:update_frame(510,2,0,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,4).hurtbox }) pat:update_frame(510,2,1,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 1 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,4).hurtbox }) -- pat:update_frame(510,2,2,{ tex_index = 837 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(510,2,3,{ tex_index = 837 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox , attackbox = pat:get_frame(0,0,0).attackbox }) pat:update_frame(510,2,4,{ tex_index = 54 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 125*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(510,2,5,{ tex_index = 838 , tex_w = 128 , tex_h = 128 , tex_offset_x = 64*2 , tex_offset_y = 96*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(510,2,6,{ tex_index = 506 , tex_w = 128 , tex_h = 128 , tex_offset_x = 78*2 , tex_offset_y = 124*2 , duration = 11+1 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(510,2,7,{ tex_index = 505 , tex_w = 128 , tex_h = 128 , tex_offset_x = 77*2 , tex_offset_y = 126*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(510,2,8,{ tex_index = 720 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 122*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(511,0,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 5 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(511,3,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 5 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(511,4,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 5 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,0,0).hurtbox }) pat:update_frame(511,1,0,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,0).hurtbox }) pat:update_frame(511,1,1,{ tex_index = 834 , tex_w = 128 , tex_h = 128 , tex_offset_x = 90*2 , tex_offset_y = 94*2 , duration = 1 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,0).hurtbox }) pat:update_frame(511,1,2,{ tex_index = 835 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,2).hurtbox }) pat:update_frame(511,1,3,{ tex_index = 835 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 94*2 , duration = 3 , fflags = 0x00000041 , hurtbox = pat:get_frame(510,1,2).hurtbox }) pat:update_frame(511,1,4,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 4 , fflags = 0x00000061 , hurtbox = pat:get_frame(510,1,4).hurtbox , attackbox = pat:get_frame(510,1,4).attackbox , attack_level = AL_SUPERHEAVY , hitstop_enemy = 20 }) --hit pat:update_frame(511,1,5,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000061 , hurtbox = pat:get_frame(510,1,4).hurtbox , attackbox = pat:get_frame(510,1,5).attackbox , attack_level = AL_SUPERHEAVY , hitstop_enemy = 20 }) -- pat:update_frame(511,1,6,{ tex_index = 837 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 4 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox , attackbox = pat:get_frame(0,0,0).attackbox }) pat:update_frame(511,1,7,{ tex_index = 54 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 125*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(511,1,8,{ tex_index = 838 , tex_w = 128 , tex_h = 128 , tex_offset_x = 64*2 , tex_offset_y = 96*2 , duration = 11-8 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:split_frame(511,1,9,5,5) pat:update_frame(511,1,9,{ tex_index = 506 , tex_w = 128 , tex_h = 128 , tex_offset_x = 78*2 , tex_offset_y = 124*2 , duration = 4 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(511,1,10,{ tex_index = 720 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 122*2 , duration = 4 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) --[[ pat:update_frame(510,2,0,{}) pat:update_frame(510,2,1,{}) pat:update_frame(510,2,2,{}) pat:update_frame(510,2,3,{}) hit pat:update_frame(510,2,4,{}) pat:update_frame(510,2,5,{}) pat:update_frame(510,2,6,{}) pat:update_frame(510,2,7,{}) pat:update_frame(510,2,8,{}) ]]-- pat:update_frame(511,2,0,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,4).hurtbox }) pat:update_frame(511,2,1,{ tex_index = 836 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 1 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,4).hurtbox }) -- pat:update_frame(511,2,2,{ tex_index = 837 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(511,2,3,{ tex_index = 837 , tex_w = 128 , tex_h = 128 , tex_offset_x = 74*2 , tex_offset_y = 94*2 , duration = 2 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox , attackbox = pat:get_frame(0,0,0).attackbox }) pat:update_frame(511,2,4,{ tex_index = 54 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 125*2 , duration = 5 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(511,2,5,{ tex_index = 838 , tex_w = 128 , tex_h = 128 , tex_offset_x = 64*2 , tex_offset_y = 96*2 , duration = 5-4 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(511,2,6,{ tex_index = 838 , tex_w = 128 , tex_h = 128 , tex_offset_x = 64*2 , tex_offset_y = 96*2 , duration = 5-3 , fflags = 0x00000021 , hurtbox = pat:get_frame(510,1,6).hurtbox }) pat:update_frame(511,2,7,{ tex_index = 506 , tex_w = 128 , tex_h = 128 , tex_offset_x = 78*2 , tex_offset_y = 124*2 , duration = 4 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) pat:update_frame(511,2,8,{ tex_index = 720 , tex_w = 128 , tex_h = 128 , tex_offset_x = 68*2 , tex_offset_y = 122*2 , duration = 4 , fflags = 0x00000021 , hurtbox = pat:get_frame(0,0,0).hurtbox }) for idx = 0 , 1 do for idy = 0 , 1 do pat:update_frame(510+idx,1,4+idy,function(frame) frame.launch_vector_x = 2450 frame.launch_vector_y = 1450 frame.hitstop_self = 10 frame.damage = 1400 frame.limit = 80 frame.chip_damage = 400 frame.sp_damage = 200 frame.proration = 600 frame.untech = 120 frame.combo_correction = CC_SMASH_ATTACK frame.hit_ani_air = 74 frame.hit_ani_ground = 74 frame.hit_sfx = 7 frame.hit_effect = 7 frame.card_gain_hit = 240 frame.card_gain_block = 160 end) end end for idx = 9 , 9 do pat:split_frame(848,5,8,1,1) end for idx = 0 , 9 do pat:update_frame(848,5,idx,function(frame) copy_sprite(frame,pat:get_frame(859,0,idx)) frame.scale_x = 100 frame.scale_y = 200 frame.angle_z = 275 frame.duration = 2 frame.tex_offset_x = 0 frame.tex_offset_y = 160 end) end pat:split_frame(848,5,0,0,2,2) pat:update_frame(848,5,0,{tex_w = 0 , duration = 5}) end function mods.pair(pat) pat:update_frame(525,0,1,function(frame) frame.duration = 3 + 1 end) pat:update_frame(525,0,2,function(frame) frame.duration = 3 + 7 end) pat:update_frame(527,0,1,function(frame) frame.duration = 3 + 1 end) pat:update_frame(527,0,2,function(frame) frame.duration = 3 + 7 end) for idx = 0 , 1 do pat:update_frame(525,2,idx,function(frame) unset_fflag(frame,FF_CANCEL) unset_fflag(frame,FF_MOTION_CANCEL) end) pat:update_frame(527,2,idx,function(frame) unset_fflag(frame,FF_CANCEL) unset_fflag(frame,FF_MOTION_CANCEL) end) end for idx = 0 , 0 do pat:update_frame(525,3,idx,function(frame) frame.duration = 4 +16 unset_fflag(frame,FF_MOTION_CANCEL) end) pat:update_frame(527,3,idx,function(frame) frame.duration = 4-- +16 unset_fflag(frame,FF_MOTION_CANCEL) end) end for idx = 1 , 2 do pat:update_frame(525,3,idx,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) end) pat:update_frame(527,3,idx,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) end) end for idx = 3 , 4 do pat:update_frame(527,3,idx,function(frame) unset_fflag(frame,FF_MOTION_CANCEL) end) end for idx = 0 , 100 do pat:split_frame(527,3,4,2,2) pat:split_frame(527,3,4,2,2) pat:update_frame(527,3,5,function(frame) frame.tex_index = 298 frame.tex_offset_x = pat:get_frame(9,0,0).tex_offset_x frame.tex_offset_y = pat:get_frame(9,0,0).tex_offset_y frame.tex_w = pat:get_frame(9,0,0).tex_w frame.tex_h = pat:get_frame(9,0,0).tex_h frame.duration = 4 end) pat:update_frame(527,3,6,function(frame) frame.tex_index = 299 frame.tex_offset_x = pat:get_frame(9,0,1).tex_offset_x frame.tex_offset_y = pat:get_frame(9,0,1).tex_offset_y frame.tex_w = pat:get_frame(9,0,1).tex_w frame.tex_h = pat:get_frame(9,0,1).tex_h frame.duration = 4 end) end for idx = 0 , 3 do pat:update_frame(527,4,idx,function(frame) frame.duration = frame.duration + 4 unset_fflag(frame,FF_CANCEL) unset_fflag(frame,FF_MOTION_CANCEL) end) end pat:update_frame(527,4,1,function(frame) frame.duration = frame.duration + 8 end) pat:update_frame(816,1,0,function(frame) copy_sprite(frame,pat:get_frame(7,3,0)) frame.tex_offset_x=60 frame.tex_offset_y=80 frame.blending_mode = 0 frame.color_a=255 frame.color_r=255 frame.color_g=255 frame.color_b=255 frame.duration=4 end) pat:update_frame(816,2,0,function(frame) copy_sprite(frame,pat:get_frame(7,3,0)) frame.tex_offset_x=60 frame.tex_offset_y=80 frame.blending_mode = 0 frame.color_a=255 frame.color_r=255 frame.color_g=255 frame.color_b=255 frame.duration=4 end) pat:update_frame(816,5,0,function(frame) --frame.duration=14 copy_sprite(frame,pat:get_frame(551,2,0)) frame.blending_mode = 0 frame.tex_offset_x=15 frame.tex_offset_y=60 frame.blending_mode = 0 frame.color_a=255 frame.color_r=255 frame.color_g=255 frame.color_b=255 frame.hit_ani_air = pat:get_frame(307,0,4).hit_ani_air frame.hit_ani_ground = pat:get_frame(307,0,4).hit_ani_ground --frame.blockstop_enemy=10 --frame.blockstop_self=120 --frame.hitstop_enemy = 40 --frame.hitstop_self = 60 frame.damage = frame.damage*1 frame.limit = 20 frame.hit_sfx = 3 frame.hit_effect = 3 frame.attackbox[1].x1=frame.attackbox[1].x1 - 20 frame.attackbox[1].x2=frame.attackbox[1].x2 + 20 frame.attackbox[1].y1=frame.attackbox[1].y1 - 20 frame.attackbox[1].y2=frame.attackbox[1].y2 + 20 --unset_aflag(frame,AF_PROJECTILE) end) pat:update_frame(816,6,0,function(frame) --frame.duration=14 copy_sprite(frame,pat:get_frame(551,2,0)) frame.blending_mode = 0 frame.tex_offset_x=15 frame.tex_offset_y=60 frame.blending_mode = 0 frame.color_a=255 frame.color_r=255 frame.color_g=255 frame.color_b=255 frame.hit_ani_air = pat:get_frame(307,0,4).hit_ani_air frame.hit_ani_ground = pat:get_frame(307,0,4).hit_ani_ground --frame.blockstop_enemy=10 --frame.blockstop_self=120 --frame.hitstop_enemy = 40 --frame.hitstop_self = 60 frame.damage = frame.damage*1 frame.limit = 20 frame.hit_sfx = 3 frame.hit_effect = 3 frame.attackbox[1].x1=frame.attackbox[1].x1 - 20 frame.attackbox[1].x2=frame.attackbox[1].x2 + 20 frame.attackbox[1].y1=frame.attackbox[1].y1 - 20 frame.attackbox[1].y2=frame.attackbox[1].y2 + 20 --unset_aflag(frame,AF_PROJECTILE) end) pat:update_frame(816,0,0,function(frame) frame.tex_w=0 end) pat:update_frame(816,0,1,function(frame) frame.tex_w=0 end) pat:update_frame(816,5,1,function(frame) frame.tex_w=0 frame.duration=60 end) pat:update_frame(816,6,1,function(frame) frame.tex_w=0 frame.duration=60 end) pat:update_frame(816,7,0,function(frame) --frame.tex_w=0 frame.duration=60 end) pat:update_frame(816,1,1,function(frame) frame.tex_w = 0 --frame.duration=2 end) pat:update_frame(816,2,1,function(frame) frame.tex_w = 0 --frame.duration=2 end) pat:update_frame(816,3,0,function(frame) frame.attackbox = pat:get_frame(816,4,0).attackbox frame.scale_x = 150 frame.scale_y = 150 frame.sp_damage = 10 frame.chip_damage = 5 frame.limit = 4 frame.hitstop_enemy = 0 frame.blockstop_enemy = 0 frame.attackbox[2].x1 = frame.attackbox[2].x1 + 20 frame.attackbox[2].x2 = frame.attackbox[2].x2 - 20 frame.attackbox[2].y1 = frame.attackbox[2].y1 + 20 frame.attackbox[2].y2 = frame.attackbox[2].y2 - 20 end) pat:update_frame(816,4,0,function(frame) frame.attackbox[2]=null frame.attackbox[1]=null frame.tex_w = 0 end) end function mods.stigmatizer(pat) pat:get_sequence(827,0):set_looped(false) pat:get_sequence(827,5):set_looped(false) for idx = 2 , 59 do pat:split_frame(827,0,1,2,2) pat:split_frame(827,5,1,2,2) end for idx = 2 , 59 do pat:update_frame(827,0,idx,function(frame) if ((idx%2) == 0) then frame.scale_x = 300 * 1.5 frame.scale_y = 300 * 1.5 else frame.scale_x = 280 * 1.5 frame.scale_y = 280 * 1.5 end for idx = 1 , 3 do frame.attackbox[idx].x1 = frame.attackbox[idx].x1 * 1.5 frame.attackbox[idx].x2 = frame.attackbox[idx].x2 * 1.5 frame.attackbox[idx].y1 = frame.attackbox[idx].y1 * 1.5 frame.attackbox[idx].y2 = frame.attackbox[idx].y2 * 1.5 end frame.damage = 400 frame.chip_damage = 60 if (idx > 55) then frame.tex_index = 146+idx-55 frame.attackbox = pat:get_frame(0,0,0).attackbox end end) pat:update_frame(827,5,idx,function(frame) if ((idx%2) == 0) then frame.scale_x = 250 * 1.5 frame.scale_y = 250 * 1.5 else frame.scale_x = 235 * 1.5 frame.scale_y = 235 * 1.5 end for idx = 1 , 3 do frame.attackbox[idx].x1 = frame.attackbox[idx].x1 * 1.5 frame.attackbox[idx].x2 = frame.attackbox[idx].x2 * 1.5 frame.attackbox[idx].y1 = frame.attackbox[idx].y1 * 1.5 frame.attackbox[idx].y2 = frame.attackbox[idx].y2 * 1.5 end frame.damage = 400 frame.chip_damage = 60 if (idx > 55) then frame.tex_index = 146+idx-55 frame.attackbox = pat:get_frame(0,0,0).attackbox end end) end end function mods.bls(pat) --pat:get_sequence(606,4):set_looped(false) pat:update_frame(856,0,0,{angle_x = 0, angle_y = 0, angle_z = 0}) pat:update_frame(856,1,0,{angle_x = 0, angle_y = 0, angle_z = 0}) for idx = 0 , 7 do pat:update_frame(606,1,0,function(frame) frame.collision = pat:get_frame(500,1,0).collision end) end for idx = 0 , 1 do pat:update_frame(606,2,0,function(frame) frame.collision = pat:get_frame(500,1,0).collision end) end for idx = 4 , 65 do pat:split_frame(606,4,3,1,1) end for idx = 0 , 65 do pat:update_frame(606,4,idx,function(frame) copy_sprite(frame,pat:get_frame(53,2,4)) frame.duration = 2 frame.tex_offset_x = 53 frame.tex_offset_y = 20 frame.hurtbox = pat:get_frame(512,0,3).hurtbox frame.attackbox[1].y1 = frame.attackbox[1].y1 - 60 frame.attackbox[1].y2 = frame.attackbox[1].y2 - 60 frame.attackbox[3].x1 = frame.attackbox[1].x1 frame.attackbox[3].x2 = frame.attackbox[1].x2 - 20 frame.attackbox[4].x1 = frame.attackbox[1].x1 frame.attackbox[4].x2 = frame.attackbox[1].x2 - 20 for idy = 3 , 4 do frame.attackbox[idy].y1 = frame.attackbox[idy].y1 - 60 frame.attackbox[idy].y2 = frame.attackbox[idy].y2 - 60 end if (idx >= 15) then frame.attackbox = pat:get_frame(0,0,0).attackbox copy_sprite(frame,pat:get_frame(220,2,6 - idx%7)) frame.duration = 2 if (6-idx%7 == 0) then frame.tex_offset_x = 50 frame.tex_offset_y = 20 elseif (6-idx%7 == 1) then frame.tex_offset_x = 50 frame.tex_offset_y = 0 elseif (6-idx%7 == 2) then frame.tex_offset_x = 50 frame.tex_offset_y = 0 elseif (6-idx%7 == 3) then frame.tex_offset_x = 50 frame.tex_offset_y = 30 elseif (6-idx%7 == 4) then frame.tex_offset_x = 50 frame.tex_offset_y = 30 elseif (6-idx%7 == 5) then frame.tex_offset_x = 54 frame.tex_offset_y = 0 elseif (6-idx%7 == 6) then frame.tex_offset_x = 50 frame.tex_offset_y = 20 end frame.collision = pat:get_frame(100,0,0).collision end end) end pat:remove_frame(606,5,5) pat:remove_frame(606,5,1) for idx = 0 , 3 do pat:update_frame(606,5,idx,function(frame) copy_sprite(frame,pat:get_frame(301,0,4+idx)) frame.hurtbox = pat:get_frame(301,0,4+idx).hurtbox if (frame.duration == 2) then frame.duration = 4 end end) end pat:split_frame(856,2,29,1,1) for idx = 0 , 30 do pat:update_frame(856,2,idx,function(frame) frame.tex_offset_x = 45 if (idx==30) then frame.tex_w = 0 frame.duration = 600 end end) end end function mods.bls_envoy(pat) pat:update_frame(606,0,1,{duration = 40 , hurtbox = pat:get_frame(0,0,0).attackbox}) for idx = 2 , 19 do pat:split_frame(606,2,1,4,4) end for idz = 0 , 0 do for idx = 0 , 19 do pat:update_frame(606+idz,2,idx,function(frame) local idy = (idx+4)%8 frame.hurtbox = pat:get_frame(606,1,idy).hurtbox copy_sprite(frame,pat:get_frame(606,1,idy)) frame.tex_index = 819 + idx%8 frame.tex_h = 192 if (idx == 4) then frame.tex_w = 192 frame.tex_h = 128 end if (idx == 5) then frame.tex_offset_y = frame.tex_offset_y + 64 frame.tex_w = 128 frame.tex_h = 192 end if (idx == 6) then frame.tex_offset_x = frame.tex_offset_x + 64 frame.tex_w = 192 frame.tex_h = 128 end frame.launch_vector_x = 0 frame.launch_vector_y = 2250 frame.duration = 3 if (idx <= 2) then frame.duration = 2 end if (idx >= 10) then frame.damage = 2200 frame.limit = 100 frame.launch_vector_y = 1500 frame.launch_vector_x = 2500 else frame.damage = 2200 frame.limit = 0 end frame.proration = 750 frame.chip_damage = 700 frame.untech = 9999 frame.sp_damage = 200 frame.fflags = 0x00000044 frame.aflags = 0x00002c0e frame.combo_correction = CC_LIFT_ATTACK frame.hit_ani_air = 74 frame.hit_ani_ground = 74 frame.attack_level = AL_HEAVY frame.card_gain_hit = 0 frame.card_gain_block = 0 frame.hit_sfx = 4 frame.hit_effect = 8 frame.unknown_9 = 100 frame.hitstop_self = 0 frame.hitstop_enemy = 20 frame.blockstop_self = 0 frame.blockstop_enemy = 20 unset_aflag(frame,AF_PROJECTILE) unset_aflag(frame,AF_GROUND_UNBLOCKABLE) set_aflag(frame,AF_AIR_BLOCKABLE) unset_aflag(frame,AF_SKILL_ATTACK) set_aflag(frame,AF_SPELL_ATTACK) unset_aflag(frame,AF_COUNTER_HIT) end) end end for idy = 0 , 0 do pat:update_frame(606+idy,2,2,function(frame) frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = 40 frame.attackbox[1].x2 = 80 frame.attackbox[1].y1 = -40 frame.attackbox[1].y2 = 50 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 70 frame.attackbox[2].x2 = 110 frame.attackbox[2].y1 = 0 frame.attackbox[2].y2 = 100 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = 100 frame.attackbox[3].x2 = 140 frame.attackbox[3].y1 = 40 frame.attackbox[3].y2 = 150 end) end for idy = 0 , 0 do pat:update_frame(606+idy,2,3,function(frame) local multiX = 0.75 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = 20 * multiX frame.attackbox[1].x2 = 120 * multiX frame.attackbox[1].y1 = -80 frame.attackbox[1].y2 = 120 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 80 * multiX frame.attackbox[2].x2 = 200 * multiX frame.attackbox[2].y1 = -60 frame.attackbox[2].y2 = 80 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = 160 * multiX frame.attackbox[3].x2 = 240 * multiX frame.attackbox[3].y1 = -40 frame.attackbox[3].y2 = 40 end) end for idy = 0 , 0 do pat:update_frame(606+idy,2,4,function(frame) local multiX = 0.75 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = 20 * multiX frame.attackbox[1].x2 = 120 * multiX frame.attackbox[1].y1 = -140 frame.attackbox[1].y2 = 0 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 60 * multiX frame.attackbox[2].x2 = 160 * multiX frame.attackbox[2].y1 = -260 frame.attackbox[2].y2 = -20 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = 100 * multiX frame.attackbox[3].x2 = 200 * multiX frame.attackbox[3].y1 = -200 frame.attackbox[3].y2 = -40 end) end for idy = 0 , 0 do pat:update_frame(606+idy,2,5,function(frame) local multiX = 0.75 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -40 * multiX frame.attackbox[1].x2 = 40 * multiX frame.attackbox[1].y1 = -210 frame.attackbox[1].y2 = -40 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -80 * multiX frame.attackbox[2].x2 = 80 * multiX frame.attackbox[2].y1 = -240 frame.attackbox[2].y2 = -120 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = -120 * multiX frame.attackbox[3].x2 = 120 * multiX frame.attackbox[3].y1 = -270 frame.attackbox[3].y2 = -200 end) end for idy = 0 , 0 do pat:update_frame(606+idy,2,6,function(frame) local multiX = 0.75 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -80 * multiX frame.attackbox[1].x2 = 60 * multiX frame.attackbox[1].y1 = -280 frame.attackbox[1].y2 = -40 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -160 * multiX frame.attackbox[2].x2 = -40 * multiX frame.attackbox[2].y1 = -220 frame.attackbox[2].y2 = -60 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = -200 * multiX frame.attackbox[3].x2 = -80 * multiX frame.attackbox[3].y1 = -150 frame.attackbox[3].y2 = -100 end) end for idy = 0 , 0 do pat:update_frame(606+idy,2,7,function(frame) local multiX = 0.75 frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -220 * multiX frame.attackbox[1].x2 = -60 * multiX frame.attackbox[1].y1 = -180 frame.attackbox[1].y2 = -0 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = -160 * multiX frame.attackbox[2].x2 = -20 * multiX frame.attackbox[2].y1 = -240 frame.attackbox[2].y2 = -40 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = -120 * multiX frame.attackbox[3].x2 = 0 * multiX frame.attackbox[3].y1 = -220 frame.attackbox[3].y2 = 80 end) end for idx = 2 , 7 do pat:update_frame(606,2,idx,function(frame) for idz = 1 , 3 do frame.attackbox[idz].x1 = frame.attackbox[idz].x1 * 1.5 frame.attackbox[idz].x2 = frame.attackbox[idz].x2 * 1.5 frame.attackbox[idz].y1 = frame.attackbox[idz].y1 * 1.5 frame.attackbox[idz].y2 = frame.attackbox[idz].y2 * 1.5 end end) end pat:update_frame(606,2,10,function(frame) --frame.hurtbox = pat:get_frame(321,0,2).hurtbox --copy_sprite(frame,pat:get_frame(321,0,2)) frame.duration = 3 frame.hurtbox = pat:get_frame(690,0,0).hurtbox copy_sprite(frame,pat:get_frame(690,0,0)) frame.tex_index = 827 end) pat:update_frame(606,2,11,function(frame) local idz = 1 frame.hurtbox = pat:get_frame(690,0,idz).hurtbox copy_sprite(frame,pat:get_frame(690,0,idz)) frame.tex_index = 827 + idz frame.duration = 6 end) pat:update_frame(606,2,12,function(frame) local idz = 2 frame.hurtbox = pat:get_frame(690,0,idz).hurtbox copy_sprite(frame,pat:get_frame(690,0,idz)) frame.tex_index = 827 + idz frame.duration = 26 end) pat:update_frame(606,2,13,function(frame) local idz = 3 frame.hurtbox = pat:get_frame(690,0,idz).hurtbox copy_sprite(frame,pat:get_frame(690,0,idz)) frame.tex_index = 827 + idz end) pat:update_frame(606,2,14,function(frame) local idz = 4 frame.hurtbox = pat:get_frame(690,0,idz).hurtbox copy_sprite(frame,pat:get_frame(690,0,idz)) frame.tex_index = 827 + idz end) pat:update_frame(606,2,15,function(frame) local idz = 5 frame.hurtbox = pat:get_frame(690,0,idz).hurtbox copy_sprite(frame,pat:get_frame(690,0,idz)) frame.tex_index = 827 + idz frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -100 frame.attackbox[1].x2 = 300 frame.attackbox[1].y1 = -200 + 50 frame.attackbox[1].y2 = -40 + 50 frame.attackbox[2] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[2].x1 = 0 frame.attackbox[2].x2 = 350 frame.attackbox[2].y1 = -250 + 50 frame.attackbox[2].y2 = -100 + 50 frame.attackbox[3] = pat:get_frame(0,0,0).hurtbox[1] frame.attackbox[3].x1 = 200 frame.attackbox[3].x2 = 400 frame.attackbox[3].y1 = -300 + 50 frame.attackbox[3].y2 = -120 + 50 frame.duration = 24 end) pat:update_frame(606,2,16,function(frame) local idz = 6 frame.hurtbox = pat:get_frame(690,1,9).hurtbox copy_sprite(frame,pat:get_frame(690,1,9)) frame.tex_index = 827 + idz frame.duration = 8 end) pat:update_frame(606,2,17,function(frame) frame.hurtbox = pat:get_frame(690,1,10).hurtbox copy_sprite(frame,pat:get_frame(690,1,10)) frame.duration = 8 end) pat:update_frame(606,2,18,function(frame) frame.hurtbox = pat:get_frame(690,1,11).hurtbox copy_sprite(frame,pat:get_frame(690,1,11)) frame.duration = 8 end) pat:update_frame(606,2,19,function(frame) frame.hurtbox = pat:get_frame(9,0,0).hurtbox copy_sprite(frame,pat:get_frame(9,0,0)) frame.duration = 9999 end) for idx = 2 , 7 do pat:remove_frame(606,1,2) end pat:update_frame(606,5,2,function(frame) frame.duration = 13 end) for idx = 30 , 100 do pat:split_frame(856,2,0,1,1) end for idx = 0 , 100 do pat:update_frame(856,2,idx,function(frame) --frame.tex_index = 639 frame.tex_index = 789+29 - idx%30 frame.tex_w = 256 frame.tex_h = 128 frame.tex_offset_x = 128 frame.tex_offset_y = 84-idx frame.scale_x = 300 frame.scale_y = -900 frame.angle_z = 60 - 6*idx frame.duration = 1 if (idx < 9) then local alpha = (idx+1)*25 frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha end if (idx > 15) then frame.duration = 2 if (idx >= 27) then frame.duration = 3 end if (idx >= 23) then --frame.angle_z = 60-7*23 - 12*(idx-23) --frame.tex_offset_y = 84-23 - 4*(idx-23) end local alpha = 255-(idx-15)*5 if (alpha<=0) then alpha = 0 end frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha end if (idx >= 32) then frame.duration = 1 frame.tex_w = 0 end if (idx >= 38) then frame.tex_index = 789 + (idx-38)%30 frame.tex_w = 256 frame.tex_h = 128 frame.tex_offset_x = 128 frame.tex_offset_y = 64 frame.scale_x = 400 frame.scale_y = 400 frame.angle_z = 40 frame.duration = 1 local alpha = 255 frame.color_r = alpha frame.color_g = alpha frame.color_b = alpha if (frame.tex_index >= 789+15) then frame.duration = 2 end end if (idx >= 38+30) then frame.tex_w = 0 frame.duration = 9999 end end) end end function mods.a214_chains(pat) --[[ pat:add_sequence(525, 4, false, pat:get_sequence(525,3):get_priority()) pat:add_frame(525, 4, 0, pat:get_frame(526,4,0)) pat:add_frame(525, 4, 1, pat:get_frame(526,4,1)) pat:add_frame(525, 4, 2, pat:get_frame(526,4,2)) pat:add_frame(525, 4, 3, pat:get_frame(526,4,3)) pat:add_sequence(525, 5, true, pat:get_sequence(202,2):get_priority()) pat:add_frame(525, 5, 0, pat:get_frame(526,5,0)) pat:add_frame(525, 5, 1, pat:get_frame(526,5,1)) pat:add_sequence(525, 6, false, pat:get_sequence(202,2):get_priority()) pat:add_frame(525, 6, 0, pat:get_frame(526,6,0)) pat:add_frame(525, 6, 1, pat:get_frame(526,6,1)) pat:add_frame(525, 6, 2, pat:get_frame(526,6,2)) pat:add_sequence(527, 4, false, pat:get_sequence(527,3):get_priority()) pat:add_frame(527, 4, 0, pat:get_frame(528,4,0)) pat:add_frame(527, 4, 1, pat:get_frame(528,4,1)) pat:add_frame(527, 4, 2, pat:get_frame(528,4,2)) pat:add_frame(527, 4, 3, pat:get_frame(528,4,3)) pat:add_sequence(527, 5, true, pat:get_sequence(202,2):get_priority()) pat:add_frame(527, 5, 0, pat:get_frame(528,5,0)) pat:add_frame(527, 5, 1, pat:get_frame(528,5,1)) pat:add_sequence(527, 6, false, pat:get_sequence(202,2):get_priority()) pat:add_frame(527, 6, 0, pat:get_frame(528,6,0)) pat:add_frame(527, 6, 1, pat:get_frame(528,6,1)) pat:add_frame(527, 6, 2, pat:get_frame(528,6,2)) pat:get_sequence(525,4):set_looped(false) pat:get_sequence(525,5):set_looped(true) pat:get_sequence(525,6):set_looped(false) pat:get_sequence(525,4):set_priority(50,100) pat:get_sequence(525,5):set_priority(50,100) pat:get_sequence(525,6):set_priority(50,100) pat:get_sequence(527,4):set_looped(false) pat:get_sequence(527,5):set_looped(true) pat:get_sequence(527,6):set_looped(false) pat:get_sequence(527,4):set_priority(50,100) pat:get_sequence(527,5):set_priority(50,100) pat:get_sequence(527,6):set_priority(50,100) for idx = 0 , 3 do pat:update_frame(525,4,idx,function(frame) copy_sprite(frame,pat:get_frame(526,4,idx)) frame.hurtbox = pat:get_frame(526,4,idx).hurtbox frame.fflags = pat:get_frame(526,4,idx).fflags frame.aflags = pat:get_frame(526,4,idx).aflags end) end for idx = 0 , 1 do pat:update_frame(525,5,idx,function(frame) copy_sprite(frame,pat:get_frame(526,5,idx)) frame.hurtbox = pat:get_frame(526,5,idx).hurtbox frame.fflags = pat:get_frame(526,5,idx).fflags frame.aflags = pat:get_frame(526,5,idx).aflags end) end for idx = 0 , 2 do pat:update_frame(525,6,idx,function(frame) copy_sprite(frame,pat:get_frame(526,6,idx)) frame.hurtbox = pat:get_frame(526,6,idx).hurtbox frame.fflags = pat:get_frame(526,6,idx).fflags frame.aflags = pat:get_frame(526,6,idx).aflags end) end for idx = 0 , 3 do pat:update_frame(527,4,idx,function(frame) copy_sprite(frame,pat:get_frame(528,4,idx)) frame.hurtbox = pat:get_frame(528,4,idx).hurtbox frame.fflags = pat:get_frame(528,4,idx).fflags frame.aflags = pat:get_frame(528,4,idx).aflags end) end for idx = 0 , 1 do pat:update_frame(527,5,idx,function(frame) copy_sprite(frame,pat:get_frame(528,5,idx)) frame.hurtbox = pat:get_frame(528,5,idx).hurtbox frame.fflags = pat:get_frame(528,5,idx).fflags frame.aflags = pat:get_frame(528,5,idx).aflags end) end for idx = 0 , 2 do pat:update_frame(527,6,idx,function(frame) copy_sprite(frame,pat:get_frame(528,6,idx)) frame.hurtbox = pat:get_frame(528,6,idx).hurtbox frame.fflags = pat:get_frame(528,6,idx).fflags frame.aflags = pat:get_frame(528,6,idx).aflags end) end]]-- pat:update_frame(816,5,0,{attackbox = pat:get_frame(0,0,0).attackbox , tex_offset_x = 6+24}) pat:update_frame(816,5,1,{attackbox = pat:get_frame(0,0,0).attackbox , tex_offset_x = 12+24}) pat:update_frame(816,6,0,{attackbox = pat:get_frame(0,0,0).attackbox , tex_offset_x = 6+24}) pat:update_frame(816,6,1,{attackbox = pat:get_frame(0,0,0).attackbox , tex_offset_x = 12+24}) for idx = 5 , 8 do pat:update_frame(520+idx,0,0,{duration = 1}) pat:update_frame(520+idx,0,1,{duration = 1}) pat:update_frame(520+idx,0,2,{duration = 9}) pat:update_frame(520+idx,0,3,{duration = 1}) pat:update_frame(520+idx,0,4,{duration = 1}) for idy = 0 , 3 do pat:update_frame(520+idx,1,idy,{duration = 4+10}) end for idy = 2 , 3 do pat:update_frame(520+idx,1,idy,function(frame) set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_CANCEL) end) end for idy = 0 , 1 do pat:update_frame(520+idx,2,idy,function(frame) set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_CANCEL) set_fflag(frame,FF_GRAZE) end) end for idy = 0 , 3 do pat:update_frame(520+idx,3,idy,function(frame) set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_CANCEL) end) end for idy = 0 , 3 do pat:update_frame(520+idx,4,idy,function(frame) set_fflag(frame,FF_GRAZE) end) end for idy = 0 , 1 do pat:update_frame(520+idx,5,idy,function(frame) set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_CANCEL) set_fflag(frame,FF_GRAZE) end) end --pat:get_sequence(520+idx,5):set_priority(5,4) for idy = 0 , 2 do pat:update_frame(520+idx,6,idy,function(frame) set_fflag(frame,FF_MOTION_CANCEL) set_fflag(frame,FF_CANCEL) set_fflag(frame,FF_GRAZE) if (idx ~= 6) then if (idy == 0) then frame.duration = frame.duration + 10 end end end) end pat:get_sequence(520+idx,6):set_priority(5,4) end end function mods.n3a_new(pat) pat:update_frame(304,0,0, { tex_index = 221 , tex_w = 128 , tex_h = 128 , tex_offset_x = 59 , tex_offset_y = 120 , hurtbox = pat:get_frame(200,0,0).hurtbox , duration = 3 }) pat:update_frame(304,0,1, { tex_index = 222 , tex_w = 128 , tex_h = 128 , tex_offset_x = 59 , tex_offset_y = 120 , hurtbox = pat:get_frame(200,0,1).hurtbox , duration = 3 }) pat:update_frame(304,0,2, { tex_index = 223 , tex_w = 128 , tex_h = 128 , tex_offset_x = 59 , tex_offset_y = 121 , hurtbox = pat:get_frame(200,0,2).hurtbox , duration = 3-1 }) pat:update_frame(304,0,3, { tex_index = 223 , tex_w = 128 , tex_h = 128 , tex_offset_x = 59 , tex_offset_y = 121 , hurtbox = pat:get_frame(200,0,2).hurtbox , duration = 3-1 }) --pat:update_frame(304,0,3, { tex_index = 659 , tex_w = 128 , tex_h = 128 , tex_offset_x = 25 , tex_offset_y = 104 , hurtbox = pat:get_frame(500,0,4).hurtbox , duration = 3 }) pat:update_frame(304,0,4, { tex_index = 240 , tex_w = 128 , tex_h = 64 , tex_offset_x = 52 , tex_offset_y = 56 , hurtbox = pat:get_frame(89,0,1).hurtbox , duration = 4 }) pat:update_frame(304,0,5, { tex_index = 240 , tex_w = 128 , tex_h = 64 , tex_offset_x = 52 , tex_offset_y = 56 , hurtbox = pat:get_frame(89,0,0).hurtbox , duration = 4 }) pat:update_frame(304,0,6, { tex_index = 240 , tex_w = 128 , tex_h = 64 , tex_offset_x = 52 , tex_offset_y = 56 , hurtbox = pat:get_frame(89,0,0).hurtbox , duration = 4 }) pat:update_frame(304,0,7, { tex_index = 240 , tex_w = 128 , tex_h = 64 , tex_offset_x = 52 , tex_offset_y = 56 , hurtbox = pat:get_frame(89,0,0).hurtbox , duration = 4 }) pat:update_frame(304,0,8, { tex_index = 240 , tex_w = 128 , tex_h = 64 , tex_offset_x = 52 , tex_offset_y = 56 , hurtbox = pat:get_frame(89,0,0).hurtbox , duration = 4 }) pat:update_frame(304,0,9, { tex_index = 240 , tex_w = 128 , tex_h = 64 , tex_offset_x = 52 , tex_offset_y = 56 , hurtbox = pat:get_frame(89,0,0).hurtbox , duration = 14 }) pat:update_frame(304,0,10, { tex_index = 229 , tex_w = 128 , tex_h = 128 , tex_offset_x = 70 , tex_offset_y = 120 , hurtbox = pat:get_frame(200,3,0).hurtbox , duration = 5 }) pat:update_frame(304,0,11, { tex_index = 230 , tex_w = 128 , tex_h = 128, tex_offset_x = 77 , tex_offset_y = 120 , hurtbox = pat:get_frame(200,3,1).hurtbox , duration = 5 }) pat:update_frame(304,0,12, { tex_index = 666 , tex_w = 128 , tex_h = 128 , tex_offset_x = 57 , tex_offset_y = 105 , hurtbox = pat:get_frame(200,3,1).hurtbox , duration = 4 }) pat:update_frame(304,0,0,function(frame) copy_sprite(frame,pat:get_frame(200,0,0)) end) pat:update_frame(304,0,1,function(frame) copy_sprite(frame,pat:get_frame(200,0,1)) end) for idx = 2,3 do pat:update_frame(304,0,idx,function(frame) copy_sprite(frame,pat:get_frame(200,0,2)) end) end pat:update_frame(304,0,4,function(frame) copy_sprite(frame,pat:get_frame(89,0,1)) frame.hurtbox[1].y1 = frame.hurtbox[1].y1 - 40 end) for idx = 5,9 do pat:update_frame(304,0,idx,function(frame) copy_sprite(frame,pat:get_frame(89,0,0)) frame.hurtbox[1].y1 = frame.hurtbox[1].y1 - 40 end) end for idx = 5,8 do pat:update_frame(304,0,idx,function(frame) frame.attackbox[1].x2 = frame.attackbox[1].x2 + 30 frame.attackbox[1].y1 = frame.attackbox[1].y1 - 20 end) end pat:update_frame(304,0,10,function(frame) copy_sprite(frame,pat:get_frame(200,3,0)) end) pat:update_frame(304,0,11,function(frame) copy_sprite(frame,pat:get_frame(200,3,1)) end) pat:update_frame(304,0,12,function(frame) copy_sprite(frame,pat:get_frame(500,2,4)) frame.tex_offset_x = frame.tex_offset_x + 20 end) pat:remove_frame(304,0,12) end function mods.a236_batform(pat) --505 --811 for idy = 0 , 1 do for idx = 7 , 11 do pat:remove_frame(505+idy,0,7) end for idx = 7 , 13 do pat:split_frame(505+idy,0,6,1,1) end pat:update_frame(505+idy,0,0,function(frame) local src = pat:get_frame(1,0,0) frame.tex_index = src.tex_index frame.tex_offset_x = src.tex_offset_x frame.tex_offset_y = src.tex_offset_y frame.tex_w = src.tex_w frame.tex_h = src.tex_h frame.hurtbox = pat:get_frame(2,0,0).hurtbox frame.collision = pat:get_frame(2,0,0).collision frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 3 end) pat:update_frame(505+idy,0,1,function(frame) local src = pat:get_frame(6,0,0) frame.tex_index = src.tex_index frame.tex_offset_x = src.tex_offset_x frame.tex_offset_y = src.tex_offset_y frame.tex_w = src.tex_w frame.tex_h = src.tex_h frame.hurtbox = pat:get_frame(2,0,0).hurtbox frame.collision = pat:get_frame(2,0,0).collision frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 3 end) pat:update_frame(505+idy,0,2,function(frame) local src = pat:get_frame(6,0,1) frame.tex_index = src.tex_index frame.tex_offset_x = src.tex_offset_x frame.tex_offset_y = src.tex_offset_y frame.tex_w = src.tex_w frame.tex_h = src.tex_h frame.hurtbox = pat:get_frame(2,0,0).hurtbox frame.collision = pat:get_frame(2,0,0).collision frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 1 end) for idx = 3 , 13 do pat:update_frame(505+idy,0,idx,function(frame) local src = pat:get_frame(6,0,1) frame.tex_index = src.tex_index frame.tex_offset_x = src.tex_offset_x frame.tex_offset_y = src.tex_offset_y -12*idx frame.tex_w = src.tex_w frame.tex_h = src.tex_h - 6*idx if (frame.tex_h <= 0) then frame.tex_h = 0 end frame.hurtbox = pat:get_frame(2,0,0).hurtbox frame.collision = pat:get_frame(2,0,0).collision frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 1 end) end for idx = 0 , 10 do pat:update_frame(505+idy,1,idx,function(frame) set_fflag(frame,FF_AIRBORNE) frame.tex_w = 0 frame.hurtbox = pat:get_frame(100,0,0).hurtbox frame.collision = pat:get_frame(100,0,0).collision frame.attackbox = pat:get_frame(0,0,0).attackbox end) end pat:remove_frame(505+idy,1,10) pat:remove_frame(505+idy,1,9) pat:remove_frame(505+idy,1,8) pat:remove_frame(505+idy,1,7) pat:remove_frame(505+idy,1,6) pat:remove_frame(505+idy,1,5) pat:remove_frame(505+idy,1,4) pat:remove_frame(505+idy,1,3) pat:remove_frame(505+idy,1,2) pat:remove_frame(505+idy,1,1) pat:update_frame(505+idy,1,0,{duration = 24}) pat:get_sequence(505+idy,2):set_priority(0,0) for idx = 0 , 13 do pat:update_frame(505+idy,2,idx,function(frame) set_fflag(frame,FF_AIRBORNE) if (idx > 4) then set_fflag(frame,FF_CANCEL) set_fflag(frame,FF_MOTION_CANCEL) end if (idx%2==0) then frame.tex_index = pat:get_frame(9,0,0).tex_index frame.tex_offset_x = pat:get_frame(9,0,0).tex_offset_x frame.tex_offset_y = pat:get_frame(9,0,0).tex_offset_y frame.tex_w = pat:get_frame(9,0,0).tex_w frame.tex_h = pat:get_frame(9,0,0).tex_h frame.hurtbox = pat:get_frame(9,0,0).hurtbox frame.collision = pat:get_frame(9,0,0).collision frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 5 else frame.tex_index = pat:get_frame(9,0,1).tex_index frame.tex_offset_x = pat:get_frame(9,0,1).tex_offset_x frame.tex_offset_y = pat:get_frame(9,0,1).tex_offset_y frame.tex_w = pat:get_frame(9,0,1).tex_w frame.tex_h = pat:get_frame(9,0,1).tex_h frame.hurtbox = pat:get_frame(9,0,1).hurtbox frame.collision = pat:get_frame(9,0,1).collision frame.attackbox = pat:get_frame(0,0,0).attackbox frame.duration = 5 end end) end end --pat:get_sequence(505,1):add_frame(0, pat:get_frame(505,0,0)) --[[ pat:add_sequence(506,0,false,pat:get_sequence(505,0):get_priority()) pat:add_sequence(506,1,false,pat:get_sequence(505,1):get_priority()) pat:add_sequence(506,2,false,pat:get_sequence(505,2):get_priority()) pat:add_sequence(506,3,false,pat:get_sequence(505,3):get_priority()) pat:get_sequence(506,0):add_frame(0, pat:get_frame(505,0,0)) pat:get_sequence(506,1):add_frame(0, pat:get_frame(505,1,0)) pat:get_sequence(506,2):add_frame(0, pat:get_frame(505,2,0)) pat:get_sequence(506,3):add_frame(0, pat:get_frame(505,3,0)) pat:update_frame(506,1,0,{duration = 200}) ]]-- --[[ need to idx from 0, dont know why for idx = 1 , 3 do local src = pat:get_sequence(505,idx) pat:add_sequence(506,idx, src:is_looped(), src:get_priority()) pat:get_sequence(506,idx):append_frames_of(src) end ]]-- for idy = 0 , 3 do for idx = 20 , 23 do pat:remove_frame(811,idy,20) end pat:get_sequence(811,idy):set_looped(false) for idx = 20 , 128+10 do pat:split_frame(811,idy,0,1,1) end for idx = 0 , 128+10 do if (idx<10) then pat:update_frame(811,idy,idx,function(frame) frame.tex_index = 381 frame.blending_mode = 1 frame.tex_w = 256 frame.tex_h = 256 frame.tex_offset_x = 128 frame.tex_offset_y = 128 frame.scale_x = 310 - idx*20 frame.scale_y = 310 - idx*20 frame.color_r = 5 + idx*25 frame.color_g = 5 + idx*25 frame.color_b = 5 + idx*25 frame.duration = 1 end) elseif (idx>=128) then pat:update_frame(811,idy,idx,function(frame) frame.tex_index = 381 frame.blending_mode = 1 frame.tex_w = 256 frame.tex_h = 256 frame.tex_offset_x = 128 frame.tex_offset_y = 128 frame.scale_x = 10 + (idx-128)*20 frame.scale_y = 10 + (idx-128)*20 frame.color_r = 255 - (idx-128)*25 frame.color_g = 255 - (idx-128)*25 frame.color_b = 255 - (idx-128)*25 frame.duration = 1 end) else pat:update_frame(811,idy,idx,function(frame) local scal = 1 - 1/(1+(idx-10)*0.25) frame.tex_index = 107+idx%20 frame.blending_mode = 1 frame.tex_w = 128 frame.tex_h = 128 frame.tex_offset_x = 64 frame.scale_x = 150 frame.scale_y = 150 frame.duration = 1 if (idx >= 22) then scal = 1 - 1/(4-(idx-22)*0.25) end if (scal < 0) then scal = 0 end if (idy == 1) then scal = scal*-1 elseif (idy == 3) then scal = scal*-1 end if (idy > 1) then frame.blending_mode = 2 end frame.tex_offset_y = 64+96*scal frame.attackbox = pat:get_frame(0,0,0).hurtbox frame.attackbox[1].x1 = -35 frame.attackbox[1].x2 = 35 frame.attackbox[1].y1 = -35 - 140 * scal frame.attackbox[1].y2 = 35 - 140 * scal frame.damage = 800 frame.chip_damage = 160 frame.untech = 60 frame.sp_damage = 200 frame.fflags = 0x00000000 --unset_fflag(frame,FF_CANCEL) --unset_fflag(frame,FF_MOTION_CANCEL) frame.aflags = 0x41000e --frame.fflags = pat:get_frame(800,0,0).fflags frame.limit = 30 frame.combo_correction = CC_LIFT_ATTACK frame.hit_ani_air = 71 frame.hit_ani_ground = 71 frame.proration = 850 frame.attack_level = AL_HEAVY frame.card_gain_hit = 50 frame.card_gain_block = 50 frame.launch_vector_x = 600 frame.launch_vector_y = 2400 frame.hit_sfx = 3 frame.hit_effect = 3 frame.unknown_9 = 100 frame.hitstop_self = 0 frame.hitstop_enemy = 10 frame.blockstop_self = 0 frame.blockstop_enemy = 10 set_aflag(frame,AF_SKILL_ATTACK) set_aflag(frame,AF_UNREFLECTABLE) set_fflag(frame, FF_AFTER_IMAGE) set_fflag(frame, FF_LOOP_ANIMATION) if (idy>1) then set_aflag(frame,AF_UNGRAZABLE) end end) end end pat:update_frame(811,idy,138,function(frame) frame.tex_w = 0 frame.duration = 300 end) end end function mods.n6a_new(pat) pat:remove_frame(302,0,15) pat:remove_frame(302,0,14) pat:remove_frame(302,0,13) pat:remove_frame(302,0,12) pat:remove_frame(302,1,11) pat:remove_frame(302,1,10) pat:remove_frame(302,1,9) pat:remove_frame(302,1,8) pat:split_frame(302,0,5,2,2) pat:split_frame(302,0,5,2,2) pat:split_frame(302,1,1,2,2) for idx = 0 , 13 do pat:update_frame(302,0,idx,function(frame) copy_sprite(frame,pat:get_frame(505,2,idx)) frame.hurtbox = pat:get_frame(505,2,idx).hurtbox frame.attackbox = pat:get_frame(505,2,idx).attackbox if (idx == 8) then frame.attackbox[4] = null frame.attackbox[3].x1 = frame.attackbox[3].x1 + 20 frame.attackbox[3].x2 = frame.attackbox[3].x2 + 20 frame.attackbox[3].y1 = frame.attackbox[3].y1 + 15 frame.attackbox[2].x1 = frame.attackbox[2].x1 + 20 frame.attackbox[2].x2 = frame.attackbox[2].x2 + 20 end if (idx >= 8 and idx <= 11) then frame.hurtbox[1].y1 = frame.hurtbox[1].y1 - 40 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 + 40 end end) end pat:update_frame(302,0,9,{duration = 14}) pat:update_frame(302,0,6,{duration = 1}) for idx = 0 , 8 do pat:update_frame(302,1,idx,function(frame) copy_sprite(frame,pat:get_frame(505,2,idx+5)) frame.hurtbox = pat:get_frame(505,2,idx+5).hurtbox frame.attackbox = pat:get_frame(505,2,idx+5).attackbox if (idx == 3) then frame.attackbox[4] = null frame.attackbox[3].x1 = frame.attackbox[3].x1 + 20 frame.attackbox[3].x2 = frame.attackbox[3].x2 + 20 frame.attackbox[3].y1 = frame.attackbox[3].y1 + 15 frame.attackbox[2].x1 = frame.attackbox[2].x1 + 20 frame.attackbox[2].x2 = frame.attackbox[2].x2 + 20 end if (idx >= 3 and idx <= 6) then frame.hurtbox[1].y1 = frame.hurtbox[1].y1 - 40 frame.hurtbox[1].x2 = frame.hurtbox[1].x2 + 40 end end) end pat:update_frame(302,1,5,{duration = 14}) pat:update_frame(302,1,2,{duration = 1}) pat:update_frame(302,0,4,{duration = 3}) pat:remove_frame(302,0,3) for idx = 0 , 9 do pat:update_frame(848,3,idx,function(frame) frame.tex_index = 326 - idx end) end --[[ 0 6 2 8 0 15 505 2 13 ]]-- end return function(pat) --mods.smash_attack_j2a(pat) mods.swap_j5a(pat) -- before j8a --mods.slap2a(pat) mods.medium2a(pat) mods.j2a(pat) mods.aaa(pat) -- need to be before f5a mods.f5a(pat) --mods.j6a(pat) mods.nj6a(pat) mods.slide(pat) mods.j8a(pat) --mods.bls(pat) mods.d22(pat)--need to be before demon walk mods.d623(pat) --mods.s2sc_cradle(pat) mods.spears(pat) mods.flier(pat) -- need to be before c bullets mods.b_bullets(pat) mods.c_bullets(pat) --mods.demon_walk(pat) mods.d236_new(pat) mods.rocket_kick_change(pat) mods.four_of_a_kind(pat) mods.there_will_be_none(pat) mods.there_will_be_none_2(pat) mods.cradle5(pat) mods.kyuu2(pat) mods.kyuu4(pat) mods.a236_rotate(pat) --mods.pair(pat) mods.stigmatizer(pat) mods.a22_ceiling(pat) mods.a214_chains(pat) mods.a236_claw(pat) mods.n3a_new(pat) mods.n6a_new(pat) mods.kyuu4_update(pat) mods.a236_batform(pat) mods.bls_envoy(pat) mods.s4sc_slicer(pat) end