require("config.util") local mods = {} function mods.eye_of_changes_bullet(pat) for idx = 0, 11 do pat:update_frame(822, 5, idx, { sp_damage = 200 }) end end function mods.startup_6a(pat) pat:update_frame(302, 0, 1, { duration = 4 }) end function mods.startup_db(pat) pat:update_frame(408, 0, 5, { duration = 3 }) end function mods.recovery_j6a(pat) pat:update_frame(307, 0, 7, { duration = 10 }) -- pat:update_frame(307, 0, 12, { duration = 4 }) end function mods.startup_j2a(pat) pat:update_frame(308, 0, 0, { duration = 2 }) pat:update_frame(308, 0, 1, { duration = 2 }) end function mods.cancel_priority_j2a(pat) local prior_this, prior_next = pat:get_sequence(307, 0):get_priority() for off = 0, 2 do pat:get_sequence(308, off):set_priority(prior_this, prior_next) end end function mods.multihit_j2a(pat) pat:update_frame(308, 1, 0, function(frame) frame.duration = 3 frame.damage = 300 frame.proration = 950 frame.limit = 10 frame.card_gain_hit = 30 frame.card_gain_block = 20 frame.untech = 60 -- +15 frame.blockstop_enemy = 7 frame.blockstop_self = 7 frame.hitstop_enemy = 7 frame.hitstop_self = 7 frame.sp_damage = 50 unset_aflag(frame, AF_COUNTER_HIT) end) end function mods.landing_recovery_j2a(pat) for idx = 0, 3 do pat:update_frame(308, 2, idx, { duration = 3 }) end end function mods.m_cancel_b(pat) pat:update_frame(400, 0, 3, { duration = 10 }) end function mods.m_cancel_2b(pat) pat:update_frame(402, 0, 6, { duration = 10 }) end function mods.bewitching_bait_cancel(pat) for seq = 510, 513 do pat:update_frame(seq, 0, 6, function(frame) frame.duration = 10 set_fflag(frame, FF_ATTACK_CANCEL) end) pat:update_frame(seq, 0, 7, { duration = 12 }) end end function mods.zen_temple_parameters(pat) pat:update_frame(521, 1, 0, { launch_vector_y = 1500 }) end function mods.manji_parameters(pat) local aflags = pat:get_frame(816, 1, 0).aflags for _, off in ipairs({0, 2}) do for idx = 0, 1 do pat:update_frame(816, off, idx, { velocity_x = 0, velocity_y = 500, untech = 35, proration = 980, aflags = aflags }) end end end function mods.brains_feet_b_startup(pat) pat:update_frame(530, 0, 2, { duration = 10 }) end function mods.brains_feet_c_startup(pat) pat:update_frame(531, 0, 2, { duration = 50 }) end function mods.chen_object_parameters(pat) pat:update_frame(854, 2, 0, { untech = 60 }) end function mods.flesh_dismantler_graze(pat) local function set_graze(frame) set_fflag(frame, FF_GRAZE) end pat:update_frame(565, 1, 1, set_graze) pat:update_frame(565, 2, 0, set_graze) pat:update_frame(566, 2, 0, set_graze) pat:update_frame(566, 2, 1, set_graze) end return function(pat) mods.eye_of_changes_bullet(pat) mods.startup_6a(pat) mods.startup_db(pat) mods.recovery_j6a(pat) -- mods.startup_j2a(pat) if config:get("yukari", "j2a", "enable_multihit") then mods.multihit_j2a(pat) end if config:get("yukari", "j2a", "bullet_cancelable") then mods.cancel_priority_j2a(pat) end -- mods.landing_recovery_j2a(pat) -- mods.m_cancel_b(pat) mods.m_cancel_2b(pat) mods.bewitching_bait_cancel(pat) mods.zen_temple_parameters(pat) if config:get("yukari", "manji_parasol", "active_while_holding") then mods.manji_parameters(pat) end -- mods.brains_feet_b_startup(pat) -- mods.brains_feet_c_startup(pat) mods.flesh_dismantler_graze(pat) mods.chen_object_parameters(pat) end