require("config.util") local mods = {} function mods.modify_dash(pat) local function set_graze(frame) set_fflag(frame, FF_GRAZE) end pat:update_frame(204, 0, 3, { duration = 10 }) for idx = 3, 5 do pat:update_frame(204, 0, idx, set_graze) end end function mods.startup_daa(pat) for idx = 0, 5 do pat:update_frame(305, 1, idx, { duration = 2 }) end end function mods.cancel_priority_daa(pat) pat:get_sequence(305, 1):set_priority(50, 50) end function mods.hitbox_j2a(pat) pat:update_frame(308, 1, 0, function(frame) frame.attackbox[1].x2 = 128 frame.attackbox[2].x2 = 144 end) end function mods.cancel_priority_j2a(pat) pat:get_sequence(308, 2):set_priority(20, 50) end function mods.lotus_stance_cut_motion_cancel(pat) for seq = 505, 506 do pat:update_frame(seq, 0, 7, { duration = 8 }) end for seq = 507, 508 do pat:update_frame(seq, 0, 8, { duration = 8 }) end pat:update_frame(506, 0, 3, { duration = 10 }) pat:update_frame(508, 0, 4, { duration = 10 }) end function mods.heart_carving_slash_startup(pat) pat:update_frame(545, 0, 2, { duration = 5 }) pat:update_frame(546, 0, 2, { duration = 10 }) end function mods.sword_of_cycles_damage(pat) pat:update_frame(612, 2, 6, { damage = 1100 }) end function mods.ascension_to_nirvana_damage(pat) local function change(frame) -- frame.proration = 950 frame.damage = 560 frame.chip_damage = 56 end for idx = 2, 6 do pat:update_frame(857, 0, idx, change) end for idx = 0, 5 do pat:update_frame(857, 1, idx, change) end end function mods.blue_sword_parameters(pat) for idx = 12, 17 do pat:update_frame(604, 0, idx, { limit = 5 }) end end return function(pat) if config:get("youmu", "dash", "continuous_graze") then mods.modify_dash(pat) end if config:get("youmu", "j2a", "old_hitbox") then mods.hitbox_j2a(pat) end if config:get("youmu", "j2a", "skill_cancelable") then mods.cancel_priority_j2a(pat) end mods.startup_daa(pat) mods.cancel_priority_daa(pat) mods.heart_carving_slash_startup(pat) -- mods.sword_of_cycles_damage(pat) -- mods.ascension_to_nirvana_damage(pat) mods.blue_sword_parameters(pat) end