packages feed

linden-0: client/src/randomWind.js

var clamp = require('clamp')

module.exports = function randomWind(linden) {
  var gust = 0
  var angle = 90

  function updateWind() {
    var jitter = 2 * (Math.random() - 0.5)
    if (Math.random() > 0.9) {
      gust += Math.random() - 0.5
    }
    angle = clamp(60, angle + 2 * (Math.random() - 0.5), 120)
    gust *= 0.995
    linden.addWind(angle, 0.025 * jitter + 0.25 * gust, 0.5)
  }

  linden.opts.beforeStep = updateWind  // eslint-disable-line no-param-reassign
  updateWind()
}