local STATE_MEGA_SHOOT_WALK = 500

local function WalkFireFrame()
    for player in players.iterate do
        if player and player.mo and player.mo.skin == "megaman" and player.cmd.forwardmove ~= 0 then
            if player.cmd.buttons & BT_ATTACK ~= 0 and not player.attack_pressed_last then
                player.mo.state = S_MEGA_SHOOT_WALK1 + leveltime % 4
            end
            player.attack_pressed_last = (player.cmd.buttons & BT_ATTACK) ~= 0
        end
    end
end

addHook("ThinkFrame", WalkFireFrame)

states[STATE_MEGA_SHOOT_WALK] = {
    sprite = SPR_WLFR,
    frame = A,
    tics = 5,
    action = A_ShootBullet,
    nextstate = S_PLAY_RUN
}