/
area/
classes/net/sourceforge/pain/logic/
classes/net/sourceforge/pain/logic/event/
classes/net/sourceforge/pain/logic/fn/util/
classes/net/sourceforge/pain/network/console/
classes/net/sourceforge/pain/plugin/
classes/net/sourceforge/pain/plugin/reset/
classes/net/sourceforge/pain/plugin/shutdown/
classes/net/sourceforge/pain/plugin/social/
classest/net/sourceforge/pain/db/data/
doc/
doc/paindb/resources/
src/net/sourceforge/pain/logic/
src/net/sourceforge/pain/logic/event/
src/net/sourceforge/pain/logic/fn/util/
src/net/sourceforge/pain/network/console/
src/net/sourceforge/pain/network/console/telnet/
src/net/sourceforge/pain/plugin/
src/net/sourceforge/pain/plugin/command/
src/net/sourceforge/pain/plugin/reset/
src/net/sourceforge/pain/plugin/shutdown/
src/net/sourceforge/pain/plugin/social/
src/net/sourceforge/pain/util/
tests/
tests/net/sourceforge/pain/db/data/
package net.sourceforge.pain.logic.fn.factory;

import net.sourceforge.pain.data.prototype.*;
import net.sourceforge.pain.data.type.*;
import net.sourceforge.pain.util.*;

/**
 * User: fmike  Date: Sep 13, 2003   Time: 8:38:14 PM
 */
public class LifeFormFactory {

	public static void init(LifeFormPrototype proto, LifeForm obj) {
		int lifePoints = proto.getLifePointsDice().roll();
		obj.setLifePoints(lifePoints);
		obj.setMaxLifePoints(lifePoints);
		int sex = proto.getSex();
		switch (sex) {
			case LifeFormPrototype.SEX_FEMALE:
				sex = LifeForm.SEX_FEMALE;
				break;
			case LifeFormPrototype.SEX_MALE:
				sex = LifeForm.SEX_MALE;
				break;
			case LifeFormPrototype.SEX_UNDEFINED:
				sex = LifeForm.SEX_UNDEFINED;
				break;
			case LifeFormPrototype.SEX_EITHER:
				sex = (System.currentTimeMillis() & 0x1) == 0 ? LifeForm.SEX_FEMALE : LifeForm.SEX_MALE;
				break;
			default:
				throw new RuntimeException("BUG!, life form prototype sex:" + sex);
		}
		Log.debug("set sex to:" + sex);
		obj.setSex(sex);
		obj.setRace(proto.getRace());
	}

}