local frame = {
  InitCommand = function(self)
    self:visible(false)
    return self:sleep(1000)
  end
}
local snowOffset = 200
local snowflakeCmd = {
  OnCommand = function(self)
    return self:queuecommand('Fall')
  end,
  FallCommand = function(self)
    self:x(math.random(SCREEN_LEFT, SCREEN_RIGHT + snowOffset))
    self:y(-100)
    self:sleep(math.random() * 6)
    self:linear(6)
    self:x(self:GetX() - snowOffset -200 - math.random(100))
    self:y(SCREEN_BOTTOM + 100)
    self:addrotationz(-720)
    if GAMESTATE:GetSongBeat() < 150 then
      return self:queuecommand('Fall')
    end
  end
}
local snowflake = LoadActor('snowflake') .. snowflakeCmd
for i = 1, 100 do
  table.insert(frame, snowflake)
end
return Def.ActorFrame(frame)
