public int use(BattleMechanics mech, Pokemon user, Pokemon target) {
BattleField field = user.getField();
for (int i = 0; i < m_effects.length; ++i) {
int length = user.hasItem(m_item) ? 8 : 5;
WeatherEffect eff = null;
try {
Constructor<?> ctor = m_effects[i].getConstructor(new Class[] { int.class });
eff = (WeatherEffect)ctor.newInstance(new Object[] { new Integer(length) });
} catch (Exception e) {
throw new InternalError();