/* * $Header: Util.java, 24/11/2005 13:02:19 luisantonioa Exp $ * * $Author: luisantonioa $ * $Date: 24/11/2005 13:02:19 $ * $Revision: 1 $ * $Log: Util.java,v $ * Revision 1 24/11/2005 13:02:19 luisantonioa * Added copyright notice * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package net.sf.l2j.gameserver.model.base; import static net.sf.l2j.gameserver.model.base.PlayerClass.AbyssWalker; import static net.sf.l2j.gameserver.model.base.PlayerClass.Bishop; import static net.sf.l2j.gameserver.model.base.PlayerClass.Bladedancer; import static net.sf.l2j.gameserver.model.base.PlayerClass.BountyHunter; import static net.sf.l2j.gameserver.model.base.PlayerClass.DarkAvenger; import static net.sf.l2j.gameserver.model.base.PlayerClass.DarkElvenFighter; import static net.sf.l2j.gameserver.model.base.PlayerClass.DarkElvenMystic; import static net.sf.l2j.gameserver.model.base.PlayerClass.Destroyer; import static net.sf.l2j.gameserver.model.base.PlayerClass.DwarvenFighter; import static net.sf.l2j.gameserver.model.base.PlayerClass.ElementalSummoner; import static net.sf.l2j.gameserver.model.base.PlayerClass.ElvenElder; import static net.sf.l2j.gameserver.model.base.PlayerClass.ElvenFighter; import static net.sf.l2j.gameserver.model.base.PlayerClass.ElvenMystic; import static net.sf.l2j.gameserver.model.base.PlayerClass.Gladiator; import static net.sf.l2j.gameserver.model.base.PlayerClass.Hawkeye; import static net.sf.l2j.gameserver.model.base.PlayerClass.HumanMystic; import static net.sf.l2j.gameserver.model.base.PlayerClass.Necromancer; import static net.sf.l2j.gameserver.model.base.PlayerClass.OrcFighter; import static net.sf.l2j.gameserver.model.base.PlayerClass.OrcMystic; import static net.sf.l2j.gameserver.model.base.PlayerClass.Overlord; import static net.sf.l2j.gameserver.model.base.PlayerClass.Paladin; import static net.sf.l2j.gameserver.model.base.PlayerClass.PhantomRanger; import static net.sf.l2j.gameserver.model.base.PlayerClass.PhantomSummoner; import static net.sf.l2j.gameserver.model.base.PlayerClass.Plainswalker; import static net.sf.l2j.gameserver.model.base.PlayerClass.Prophet; import static net.sf.l2j.gameserver.model.base.PlayerClass.ShillienElder; import static net.sf.l2j.gameserver.model.base.PlayerClass.ShillienKnight; import static net.sf.l2j.gameserver.model.base.PlayerClass.SilverRanger; import static net.sf.l2j.gameserver.model.base.PlayerClass.Sorceror; import static net.sf.l2j.gameserver.model.base.PlayerClass.Spellhowler; import static net.sf.l2j.gameserver.model.base.PlayerClass.Spellsinger; import static net.sf.l2j.gameserver.model.base.PlayerClass.Swordsinger; import static net.sf.l2j.gameserver.model.base.PlayerClass.TempleKnight; import static net.sf.l2j.gameserver.model.base.PlayerClass.TreasureHunter; import static net.sf.l2j.gameserver.model.base.PlayerClass.Tyrant; import static net.sf.l2j.gameserver.model.base.PlayerClass.Warcryer; import static net.sf.l2j.gameserver.model.base.PlayerClass.Warlock; import static net.sf.l2j.gameserver.model.base.PlayerClass.Warlord; import static net.sf.l2j.gameserver.model.base.PlayerClass.Warrior; import static net.sf.l2j.gameserver.model.base.PlayerClass.Warsmith; import java.util.EnumMap; import java.util.EnumSet; import java.util.Map; import java.util.Set; /** * This class ... * * @version $Revision: 1.2 $ $Date: 2004/06/27 08:12:59 $ */ public class Util { private static final Map> raceMap = new EnumMap>(PlayerRace.class); private static final Map> disallowedSubclassesMap = new EnumMap>(PlayerClass.class); private static final Set firstLevelClasses; private static final Set secondLevelClasses; private static final Set thirdLevelClasses; static { /** * Race Class tables */ raceMap.put(PlayerRace.Human, EnumSet.range(Warrior, Prophet)); raceMap.put(PlayerRace.LightElf, EnumSet.range(ElvenFighter, ElvenElder)); raceMap.put(PlayerRace.DarkElf, EnumSet.range(DarkElvenFighter, Prophet)); raceMap.put(PlayerRace.Orc, EnumSet.range(OrcFighter, Prophet)); raceMap.put(PlayerRace.Dwarf, EnumSet.range(DwarvenFighter, Prophet)); /** * First Level Professions */ firstLevelClasses = EnumSet.of(Warrior, HumanMystic, ElvenFighter, ElvenMystic, DarkElvenFighter, DarkElvenMystic, OrcFighter, OrcMystic, DwarvenFighter); /** * Second Level Professions */ secondLevelClasses = EnumSet.of(Warrior, HumanMystic, ElvenFighter, ElvenMystic, DarkElvenFighter, DarkElvenMystic, OrcFighter, OrcMystic, DwarvenFighter); /** * Second Level Professions */ thirdLevelClasses = EnumSet.of(DarkAvenger, Paladin, TreasureHunter, Hawkeye, Warlock, Sorceror, Necromancer, Warlord, Gladiator, Bishop, Prophet, TempleKnight, Swordsinger, Plainswalker, SilverRanger, ElementalSummoner, Spellsinger, ElvenElder, ShillienKnight, Bladedancer, AbyssWalker, PhantomRanger, PhantomSummoner, Spellhowler, ShillienElder, Destroyer, Tyrant, Overlord, Warcryer, Warsmith, BountyHunter); /** * */ disallowedSubclassesMap.put(Hawkeye, firstLevelClasses); } public enum PlayerRace { Human, LightElf, DarkElf, Orc, Dwarf } }