/* * Copyright (C) 2004-2014 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; import java.util.Vector; import com.l2jserver.gameserver.datatables.ItemTable; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * @author ShanSoft<br> */ public class L2CoreMessage { //private static final Logger _log = Logger.getLogger(L2CoreMessage.class.getName()); int _mid; String _language,_message,_extra; Vector<String> value = new Vector<>(); Vector<String> extravalue = new Vector<>(); public L2CoreMessage(int mid,String language, String message, String extra) { _mid = mid; _language = language; _message = message; _extra = extra; } public L2CoreMessage(L2CoreMessage msg) { _mid = msg._mid; _language = msg._language; _message = msg._message; _extra = msg._extra; } public int getMessageId() { return _mid; } public String getLanguage() { return _language; } public String getMessage() { return _message; } public String getExtra() { return _extra; } public String getExtra(int num) { String[] text = _extra.split(";"); return text[num-1]; } public void addString(String text) { value.add(text); } public void addSkillName(int id, int level) { String text = SkillData.getInstance().getSkill(id, level).getName(); value.add(text); } public void addSkillName(int id) { String text = SkillData.getInstance().getSkill(id, 1).getName(); value.add(text); } public void addSkillName(Skill skill) { String text = skill.getName(); value.add(text); } public void addItemName(int id) { String text = ItemTable.getInstance().getTemplate(id).getName(); value.add(text); } public void addItemName(L2ItemInstance item) { String text = item.getName(); value.add(text); } public void addExtra(int num) { String[] text = _extra.split(";"); extravalue.add(text[num-1]); } public void addNumber(double num) { String text = "" + num; value.add(text); } public void addNumber(long num) { String text = "" + num; value.add(text); } public void addNumber(int num) { String text = "" + num; value.add(text); } public String renderMsg() { int i=0; for (String text : extravalue) { i++; _message = _message.replace("$E" + i, text); } i = 0; for (String text : value) { i++; _message = _message.replace("$" + i, text); } return _message; } public void sendMessage(L2PcInstance player) { /* int i=0; for (String text : extravalue) { i++; _message = _message.replace(MessageTable.extrafiller[i], text); } i = 0; for (String text : value) { _message = _message.replace(MessageTable.filler[i], text); i++; } */ SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1); sm.addString(renderMsg()); player.sendPacket(sm); } }