Кстати об Incore, в шаровой сборке не работает перерождение, подскажите что к чему, вот код:
Код:
package l2p.gameserver.instancemanager;
import gnu.trove.TIntIntHashMap;
import javolution.util.FastMap;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.base.ClassId;
import l2p.gameserver.model.entity.Reflection;
import l2p.gameserver.network.serverpackets.*;
import l2p.gameserver.network.serverpackets.components.SystemMsg;
import org.apache.log4j.Logger;
public class AwakingManager
{
public AwakingManager()
{
}
public void load()
{
_CA.clear();
_CA.put(90, 139);
_CA.put(91, 139);
_CA.put(99, 139);
_CA.put(106, 139);
_CA.put(89, 140);
_CA.put(88, 140);
_CA.put(113, 140);
_CA.put(114, 140);
_CA.put(118, 140);
_CA.put(131, 140);
_CA.put(93, 141);
_CA.put(101, 141);
_CA.put(108, 141);
_CA.put(117, 141);
_CA.put(92, 142);
_CA.put(102, 142);
_CA.put(109, 142);
_CA.put(134, 142);
_CA.put(94, 143);
_CA.put(95, 143);
_CA.put(103, 143);
_CA.put(110, 143);
_CA.put(132, 143);
_CA.put(133, 143);
_CA.put(98, 144);
_CA.put(116, 144);
_CA.put(115, 144);
_CA.put(100, 144);
_CA.put(107, 144);
_CA.put(136, 144);
_CA.put(96, 145);
_CA.put(104, 145);
_CA.put(111, 145);
_CA.put(97, 146);
_CA.put(105, 146);
_CA.put(112, 146);
_log.info((new StringBuilder()).append("AwakingManager: Loaded 8 Awaking class for ").append(_CA.size()).append(" normal class.").toString());
}
public static AwakingManager getInstance()
{
if(_instance == null)
{
_log.info("Initializing: AwakingManager");
_instance = new AwakingManager();
_instance.load();
}
return _instance;
}
public void SendReqToStartQuest(Player player)
{
if(player.getClassId().level() != 3 || player.getLevel() != 85)
return;
if(!player.isAwakeningNotified())
{
player.awakeningNotify();
int newClass = _CA.get(player.getClassId().getId());
player.sendPacket(new ExCallToChangeClass(newClass));
}
}
public void SendReqToAwaking(Player player)
{
if(player.getClassId().level() != 3 || player.getLevel() != 85)
return;
if(!player.isAwakeningNotified())
{
int newClass = _CA.get(player.getClassId().getId());
player.sendPacket(new ExChangeToAwakenedClass(newClass));
}
}
public void onStartQuestAccept(Player player)
{
if(player.isInCombat())
{
player.sendPacket(new SystemMessage(SystemMsg.YOU_CANNOT_MOVE_NOW));
return;
} else
{
player.teleToLocation(0xfffe3fec, 0x3b8ce, -7968, player.getReflection().getGeoIndex());
player.sendPacket(new ExShowUsmVideo(ExShowUsmVideo.Q010));
return;
}
}
public void SetAwakingId(Player player)
{
if(player.getLevel() < 85)
return;
if(player.getClassId().level() < 3)
{
return;
} else
{
int _oldId = player.getClassId().getId();
player.setAwakingId(_CA.get(_oldId));
player.setClassId(_CA.get(_oldId), false, false);
player.broadcastUserInfo(false);
player.broadcastPacket(new L2GameServerPacket[] {
new SocialAction(player.getObjectId(), 20 + (_CA.get(_oldId) - 139))
});
return;
}
}
protected static final Logger _log = Logger.getLogger(l2p/gameserver/instancemanager/AwakingManager.getName());
private static AwakingManager _instance;
private static final TIntIntHashMap _CA = new TIntIntHashMap();
private static final FastMap _RelationSkills = (new FastMap()).setShared(true);
}