Показать сообщение отдельно
Непрочитано 05.02.2012, 22:43   #146
Новичок

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Кстати об 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);

}
Mifistifel вне форума