分页: 1 / 1

综合攻城战管理(原创)

发表于 : 2018-03-24 20:12
天堂之手

代码: 全选

/*
* Copyright (C) 2004-2013 L2J Server
* 
* This file is part of L2J Server.
* 
* L2J Server 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 3 of the License, or
* (at your option) any later version.
* 
* L2J Server 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, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.model.actor.instance;

import com.l2jserver.gameserver.instancemanager.CastleManager;
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
import com.l2jserver.gameserver.model.entity.Castle;
import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.gameserver.network.serverpackets.SiegeInfo;

/*
* @author 白色浪漫
*/
public class L2CastleManageInstance extends L2NpcInstance
{        
        public L2CastleManageInstance(int objectId, L2NpcTemplate template)
        {
                super(objectId, template);
        }
        
        @Override
        public void onBypassFeedback(L2PcInstance player, String command)
        {
                if(player == null )  return;
                if (!canTarget(player))
                        return;
                
                else if (command.startsWith("siege_"))
                {
                        int castleId = 0;
                        
                        if (command.startsWith("siege_gludio"))
                                castleId = 1;
                        else if (command.startsWith("siege_dion"))
                                castleId = 2;
                        else if (command.startsWith("siege_giran"))
                                castleId = 3;
                        else if (command.startsWith("siege_oren"))
                                castleId = 4;
                        else if (command.startsWith("siege_aden"))
                                castleId = 5;
                        else if (command.startsWith("siege_innadril"))
                                castleId = 6;
                        else if (command.startsWith("siege_goddard"))
                                castleId = 7;
                        else if (command.startsWith("siege_rune"))
                                castleId = 8;
                        else if (command.startsWith("siege_schuttgart"))
                                castleId = 9;
                        
                        Castle castle = CastleManager.getInstance().getCastleById(castleId);
                        if(castle != null && castleId != 0)
                                player.sendPacket(new SiegeInfo(castle));
                }
        }
        
        @Override
        public void showChatWindow(L2PcInstance player)
        {
                player.sendPacket(ActionFailed.STATIC_PACKET);
                
                NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());        
                html.setFile(player.getHtmlPrefix(), "data/html/mods/CastleManager.htm");
                html.replace("%objectId%", String.valueOf(getObjectId()));
                player.sendPacket(html);
                
        }
}
L2CastleManageInstance.zip