local mods = {} function mods.modify_j5a_untech(pat) pat:update_frame(306, 0, 5, { untech = 30 }) end function mods.dial_a_untech(pat) pat:update_frame(323, 0, 7, { untech = 6000 }) end function mods.cancel(pat) pat:get_sequence(300, 0):set_priority(15, 20) -- 5A pat:get_sequence(320, 0):set_priority(10, 20) -- 5AA pat:get_sequence(303, 0):set_priority(10, 15) -- 2A pat:get_sequence(330, 0):set_priority(15, 20) -- 4A pat:get_sequence(321, 0):set_priority(10, 20) pat:get_sequence(322, 0):set_priority(10, 20) pat:get_sequence(323, 0):set_priority(20, 30) end function mods.modifyCproration(pat) pat:update_frame(801, 3, 0, { proration = 965, untech = 50, damage = 250 }) end function mods.modifyj6Auntech(pat) for frame = 4, 5 do pat:update_frame(307, 0, frame, { untech = 6000 }) end end function mods.modify_d22_untech(pat) for frame = 0, 11 do pat:update_frame(812, 1, frame, { launch_vector_y = -1000, untech = 6000 }) pat:update_frame(812, 0, frame, { launch_vector_y = -1000, untech = 6000 }) end for frame = 0, 14 do pat:update_frame(812, 2, frame, { hit_ani_air = 74, hit_ani_ground = 74, untech = 6000 }) end end function mods.modify_d22_chip_damage(pat) for frame = 0, 11 do pat:update_frame(812, 0, frame, { chip_damage = 90 }) pat:update_frame(812, 1, frame, { chip_damage = 90 }) end for frame = 0, 14 do pat:update_frame(812, 2, frame, { chip_damage = 270 }) end end function mods.modify_d22_startup(pat) pat:split_frame(540, 0, 3, 1, 1) pat:split_frame(540, 0, 2, 1, 1) pat:remove_frame(540, 0, 1) pat:remove_frame(540, 0, 0) end function mods.add623jank(pat) pat:update_frame(520, 0, 11, { untech = 6000 }) pat:update_frame(520, 1, 11, { untech = 6000 }) pat:update_frame(520, 2, 11, { untech = 6000 }) pat:update_frame(521, 0, 11, { untech = 6000 }) pat:update_frame(521, 1, 11, { untech = 6000 }) pat:update_frame(521, 2, 11, { untech = 6000 }) pat:get_sequence(520, 0):set_priority(50, 9999) pat:get_sequence(520, 1):set_priority(50, 9999) pat:get_sequence(520, 2):set_priority(50, 9999) local function set_block(frame) set_fflag(frame, 529) end for frame = 0, 11 do for move = 0, 2 do pat:update_frame(520, move, frame, set_block) end end end function mods.makewindballhurt(pat) for st = 0, 1 do pat:update_frame(816, 0, st, function(frame) frame.attackbox[1] = pat:get_frame(816, 0, 0).hurtbox[1] frame.untech = 60 frame.combo_correction = 1 frame.proration = 950 frame.launch_vector_y = 1500 frame.launch_vector_x = 200 frame.hitstop_enemy = 10 end) end for st = 0, 1 do pat:update_frame(816, 6, st, function(frame) frame.attackbox[1] = pat:get_frame(816, 6, 0).hurtbox[1] frame.damage = 750 frame.untech = 6000 frame.hitstop_enemy = 10 end) end end function mods.modifycage(pat) for frame = 0, 11 do pat:update_frame(852, 0, frame, { untech = 6000 }) pat:update_frame(852, 1, frame, { launch_vector_x = -1000, untech = 6000 }) end for frame = 0, 14 do pat:update_frame(852, 2, frame, { untech = 6000 }) end end function mods.modifynormals(pat) pat:update_frame(302, 0, 5, { untech = 9000 }) pat:update_frame(321, 0, 6, function(frame) unset_aflag(frame, AF_LOWBLOCK_OK) end) pat:update_frame(322, 0, 4, function(frame) set_aflag(frame, AF_LOWBLOCK_OK) unset_aflag(frame, AF_HIGHBLOCK_OK) end) pat:update_frame(323, 0, 7, function(frame) set_aflag(frame, AF_PROJECTILE) set_aflag(frame, AF_UNGRAZABLE) frame.hitstop_enemy = 10 frame.hitstop_self = 10 frame.blockstop_enemy = 10 frame.hit_sfx = 9 end) pat:get_sequence(408, 0):set_priority(50, 50) end function mods.modifydrill(pat) for frame = 10, 12 do pat:update_frame(500, 0, frame, { untech = 6000 }) pat:update_frame(501, 0, frame, { untech = 6000 }) pat:update_frame(601, 0, frame, { untech = 6000 }) end pat:update_frame(601, 0, 9, { untech = 6000 }) for frame = 0, 11 do pat:update_frame(813, 0, frame, { untech = 6000 }) pat:update_frame(813, 3, frame, { untech = 6000 }) pat:update_frame(813, 5, frame, { untech = 6000 }) pat:update_frame(813, 6, frame, { untech = 6000 }) end pat:get_sequence(510, 2):set_priority(0, 0) for frame = 3, 5 do pat:update_frame(510, 2, frame, function(frame) set_fflag(frame, FF_MOTION_CANCEL) end) end end function mods.modifyhangekis(pat) for frame = 0, 1 do pat:update_frame(608, 5, frame, function(frame) set_fflag(frame, FF_GRAZE) set_fflag(frame, FF_MELEE_INV) end) end pat:update_frame(608, 3, 5, function(frame) set_fflag(frame, FF_GRAZE) set_fflag(frame, FF_MELEE_INV) end) for frame = 2, 5 do pat:update_frame(608, 1, frame, function(frame) set_fflag(frame, FF_GUARD_CANCEL) end) end for frame = 0, 2 do pat:update_frame(608, 2, frame, function(frame) set_fflag(frame, FF_GUARD_CANCEL) end) end pat:update_frame(608, 3, 5, { untech = 9000, damage = 700, hitstop_enemy = 15, launch_vector_y = 2000 }) pat:update_frame(608, 5, 0, { untech = 9000, damage = 300, hitstop_enemy = 15 }) pat:update_frame(608, 5, 1, { untech = 9000, damage = 300, hitstop_enemy = 15 }) end function mods.modify5card(pat) for frame = 0, 11 do pat:update_frame(860, 0, frame, { launch_vector_y = 0, untech = 9000, hit_ani_ground = 0, damage = 650 }) end for frame = 0, 29 do pat:update_frame(860, 2, frame, { launch_vector_y = 0, untech = 9000, hit_ani_ground = 0, damage = 350 }) end end function mods.modify4card(pat) for frame = 0, 11 do pat:update_frame(861, 0, frame, { untech = 9000 }) end for frame = 0, 29 do pat:update_frame(861, 2, frame, { untech = 9000, proration = 920 }) end end function mods.nerf(pat) for move = 300, 310 do for idx = 0, pat:get_frame_count(move, 0) - 1 do local src = pat:get_frame(move, 0, idx) local dmg = (src.damage - 50) pat:update_frame(move, 0, idx, function(frame) frame.damage = dmg end) end end for move = 320, 322 do for idx = 0, pat:get_frame_count(move, 0) - 1 do local src = pat:get_frame(move, 0, idx) local dmg = (src.damage - 50) pat:update_frame(move, 0, idx, function(frame) frame.damage = dmg end) end end for idx = 0, pat:get_frame_count(330, 0) - 1 do local src = pat:get_frame(330, 0, idx) local dmg = (src.damage - 50) pat:update_frame(330, 0, idx, function(frame) frame.damage = dmg end) end end function mods.maketaunt(pat) local onum = pat:get_frame_count(0, 0) local src = pat:get_frame(0, 0, pat:get_frame_count(0, 0) - 1) local oframe = src.duration for loop = 0, 2 do for count = 0, onum - 1 do pat:split_frame(0, 0, (onum*(loop + 1)) - 1, oframe, 1) end for idx = 0, onum - 1 do local src = pat:get_frame(0, 0, idx) pat:update_frame(0, 0, (onum*(loop + 1) + idx) , function(frame) copy_sprite(frame, src) frame.duration = src.duration end) end end local num = pat:get_frame_count(0, 0) local src = pat:get_frame(0, 0, pat:get_frame_count(0, 0) - 1) local oframe = src.duration for count = 0, 17 do pat:split_frame(0, 0, num - 1, oframe, 1) end for idx = 0, 17 do local src = pat:get_frame(541, 0, idx) pat:update_frame(0, 0, num + idx, function(frame) copy_sprite(frame, src) frame.duration = src.duration end) end pat:update_frame(0, 0, num + 15, function(frame) frame.duration = 20 end) end return function(pat) mods.nerf(pat) mods.maketaunt(pat) mods.modifydrill(pat) mods.modify4card(pat) mods.modify5card(pat) mods.modifyhangekis(pat) mods.modifynormals(pat) mods.modifycage(pat) mods.makewindballhurt(pat) mods.add623jank(pat) mods.modify_d22_untech(pat) mods.modify_d22_chip_damage(pat) mods.modify_d22_startup(pat) mods.modifyj6Auntech(pat) mods.modifyCproration(pat) if config:get("global", "4A/2A", "melty-style jabs") then mods.cancel(pat) end mods.dial_a_untech(pat) mods.modify_j5a_untech(pat) end