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 = {
  hail: {
  	inherit: true,
		onModifyStats: function(stats, pokemon) {
			if (pokemon.hasType('Ice')) {
				stats.def *= 3/2;
			}
		}
	},
    lockedmove: {
		inherit: true,
		durationCallback: function() {
			return 3;
		}
	}
};

@@ -33,16 +33,17 @@
  max) %7B%0A
+%09
 num = Ma
@@ -57,16 +57,17 @@
 r(num);%0A
+%09
 if (num 
@@ -84,16 +84,17 @@
  = min;%0A
+%09
 if (type
@@ -141,16 +141,17 @@
  = max;%0A
+%09
 return n
@@ -326,17 +326,16 @@
 %0A%09%7D,%0A   
- 
 lockedmo
@@ -340,17 +340,16 @@
 move: %7B%0A
-%09
 %09inherit
@@ -356,17 +356,16 @@
 : true,%0A
-%09
 %09duratio
@@ -394,25 +394,833 @@
 %7B%0A%09%09
-%09return 3;%0A%09%09%7D%0A%09%7D
+return 3;%0A%09%7D%0A   %7D,%0A   poisonfog: %7B%0A   %09effectType: 'Weather',%0A%09duration: 5,%0A%09onBasePower: function(basePower, attacker, defender, move) %7B%0A%09%09if (move.type === 'Poison') %7B%0A%09%09%09this.debug('Poison Boost');%0A%09%09%09return basePower * 1.5;%0A%09%09%7D%0A%09%7D,%0A%09onStart: function(battle, source, effect) %7B%0A%09%09if (effect && effect.effectType === 'Ability') %7B%0A%09%09%09this.effectData.duration = 0;%0A%09%09%09this.add('-weather', 'PoisonFog', '%5Bfrom%5D ability: '+effect, '%5Bof%5D '+source);%0A%09%09%7D else %7B%0A%09%09%09this.add('-weather', 'PoisonFog');%0A%09%09%7D%0A%09%7D,%0A%09onResidualOrder: 1,%0A%09onResidual: function() %7B%0A%09%09this.add('-weather', 'PoisonFog', '%5Bupkeep%5D');%0A%09%09this.eachEvent('Weather');%0A%09%7D,%0A%09onWeather: function(target) %7B%0A%09%09this.trySetStatus('tox');%0A%09%09if (target.hasType('Poison')) %7B%0A%09%09%09this.heal(target.maxhp/16);%0A%09%09%7D%0A%09%7D,%0A%09onEnd: function() %7B%0A%09%09this.add('-weather', 'none');%0A%09%7D%0A   %7D%09
 %0A%7D;%0A

Add fun Poison Fog cuz lol I'm bored