function clampIntRange(num, min, max) {
  num = Math.floor(num);
	if (num < min) num = min;
	if (typeof max !== 'undefined' && num > max) num = max;
	return num;
}
exports.BattleStatuses = {
};

@@ -184,11 +184,645 @@
 ses = %7B%0A
+%09frz: %7B%0A%09%09effectType: 'Status',%0A%09%09onStart: function(target) %7B%0A%09%09%09this.add('-status', target, 'frz');%0A%09%09%7D,%0A%09%09onBeforeMovePriority: 2,%0A%09%09onBeforeMove: function(pokemon, target, move) %7B%0A%09%09%09if (move.thawsUser %7C%7C this.random(2) === 0) %7B%0A%09%09%09%09pokemon.cureStatus();%0A%09%09%09%09return;%0A%09%09%09%7D%0A%09%09%09this.add('cant', pokemon, 'frz');%0A%09%09%09return false;%0A%09%09%7D,%0A%09%09onHit: function(target, source, move) %7B%0A%09%09%09if (move.type === 'Fire' && move.category !== 'Status') %7B%0A%09%09%09%09target.cureStatus();%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D,%0A%09hail: %7B%0A%09%09inherit: true,%0A%09%09onModifyDef: function(def, pokemon) %7B%0A%09%09%09if (pokemon.hasType('Ice') && this.isWeather('hail')) %7B%0A%09%09%09%09return def * 3/2;%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A
 %7D;%0A

Add Freeze and Hail changes