Тема: Beauty Shop
Показать сообщение отдельно
Непрочитано 17.09.2013, 18:31   #13
Аватар для Mifesto
Пользователь

По умолчанию Re: Beauty Shop

Я дал уже исправленный мною файл, древо ифов выше в теме.

Код:
package l2p.gameserver.data.xml.holder;
 
import gnu.trove.map.hash.TIntObjectHashMap;
import l2p.commons.data.xml.AbstractHolder;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.base.Race;
import l2p.gameserver.model.base.Sex;
import l2p.gameserver.model.beautyshop.BeautyShopSet;
 
public final class BeautyShopHolder extends AbstractHolder
{
	private static final BeautyShopHolder _instance = new BeautyShopHolder();
	private static final TIntObjectHashMap<BeautyShopSet> _sets = new TIntObjectHashMap<BeautyShopSet>();
 
	public static BeautyShopHolder getInstance()
	{
		return _instance;
	}
 
	public void addSet(BeautyShopSet set)
	{
		if (_sets.containsKey(set.getId()))
			warn("Duplicate set declaration, set id - " + set.getId());
 
		_sets.put(set.getId(), set);
	}
 
	public BeautyShopSet getSet(int id)
	{
		return _sets.get(id);
	}
 
	public BeautyShopSet getSet(Player player)
	{
		int id = -1;
 
		if (player.getRace() == Race.HUMAN)
		{
			if (!player.getClassId().isMage())
				id = player.getSex() == Sex.MALE ? 0 : 1;
			else
				id = player.getSex() == Sex.MALE ? 8 : 9;
		}
		else if (player.getRace() == Race.DARK_ELF)
			id = player.getSex() == Sex.MALE ? 2 : 3;
		else if (player.getRace() == Race.DWARF)
			id = player.getSex() == Sex.MALE ? 4 : 5;
		else if (player.getRace() == Race.ELF)
			id = player.getSex() == Sex.MALE ? 6 : 7;
		else if (player.getRace() == Race.ORC)
		{
			if (!player.getClassId().isMage())
				id = player.getSex() == Sex.MALE ? 10 : 11;
			else
				id = player.getSex() == Sex.MALE ? 12 : 13;
		}
		else if (player.getRace() == Race.KAMAEL)
			id = player.getSex() == Sex.MALE ? 14 : 15;
 
		return getSet(id);
	}
 
	@Override
	public int size()
	{
		return _sets.size();
	}
 
	@Override
	public void clear()
	{
		_sets.clear();
	}
 
	@Override
	public void log()
	{
		info(String.format("loaded %d beauty shop set(s) count.", size()));
	}
}
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ Ответить с цитированием