code: func PercentExecute(next byte, pas ...PercentAction) ActionID {
  	percent := int(99 * int(next) / 255)
  
  	sofar := 0
  	for _, pa := range pas {
  		sofar = sofar + pa.Percent
  		if percent < sofar {
  			return pa.Action
  		}
  
  	}
  	return NopAction
  }
docs: // PercentExecute interprets the next byte as a random value and normalizes it
  // to values 0-99, it then looks to see which action should be execued based
  // on the action distributions