Partial sync latest Test changes to HighFive.

This commit is contained in:
MobiusDev
2016-10-23 15:03:47 +00:00
parent be6443a66a
commit 7b56568b81
80 changed files with 1209 additions and 1282 deletions

View File

@@ -137,8 +137,8 @@ public final class Antharas extends AbstractNpcAI
addKillId(ANTHARAS, TERASQUE, BEHEMOTH);
final StatsSet info = GrandBossManager.getInstance().getStatsSet(ANTHARAS);
final int curr_hp = info.getInt("currentHP");
final int curr_mp = info.getInt("currentMP");
final double curr_hp = info.getDouble("currentHP");
final double curr_mp = info.getDouble("currentMP");
final int loc_x = info.getInt("loc_x");
final int loc_y = info.getInt("loc_y");
final int loc_z = info.getInt("loc_z");

View File

@@ -110,8 +110,8 @@ public final class Baium extends AbstractNpcAI
addSpellFinishedId(BAIUM);
final StatsSet info = GrandBossManager.getInstance().getStatsSet(BAIUM);
final int curr_hp = info.getInt("currentHP");
final int curr_mp = info.getInt("currentMP");
final double curr_hp = info.getDouble("currentHP");
final double curr_mp = info.getDouble("currentMP");
final int loc_x = info.getInt("loc_x");
final int loc_y = info.getInt("loc_y");
final int loc_z = info.getInt("loc_z");

View File

@@ -88,8 +88,8 @@ public final class Core extends AbstractNpcAI
final int loc_y = info.getInt("loc_y");
final int loc_z = info.getInt("loc_z");
final int heading = info.getInt("heading");
final int hp = info.getInt("currentHP");
final int mp = info.getInt("currentMP");
final double hp = info.getDouble("currentHP");
final double mp = info.getDouble("currentMP");
final L2GrandBossInstance core = (L2GrandBossInstance) addSpawn(CORE, loc_x, loc_y, loc_z, heading, false, 0);
core.setCurrentHpMp(hp, mp);
spawnBoss(core);

View File

@@ -127,8 +127,8 @@ public final class Orfen extends AbstractNpcAI
final int loc_y = info.getInt("loc_y");
final int loc_z = info.getInt("loc_z");
final int heading = info.getInt("heading");
final int hp = info.getInt("currentHP");
final int mp = info.getInt("currentMP");
double hp = info.getDouble("currentHP");
double mp = info.getDouble("currentMP");
final L2GrandBossInstance orfen = (L2GrandBossInstance) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0);
orfen.setCurrentHpMp(hp, mp);
spawnBoss(orfen);

View File

@@ -118,8 +118,8 @@ public final class QueenAnt extends AbstractNpcAI
final int loc_y = QUEEN_Y;
final int loc_z = QUEEN_Z;
final int heading = info.getInt("heading");
final int hp = info.getInt("currentHP");
final int mp = info.getInt("currentMP");
double hp = info.getDouble("currentHP");
double mp = info.getDouble("currentMP");
final L2GrandBossInstance queen = (L2GrandBossInstance) addSpawn(QUEEN, loc_x, loc_y, loc_z, heading, false, 0);
queen.setCurrentHpMp(hp, mp);
spawnBoss(queen);

View File

@@ -154,8 +154,8 @@ public final class Valakas extends AbstractNpcAI
final int loc_y = info.getInt("loc_y");
final int loc_z = info.getInt("loc_z");
final int heading = info.getInt("heading");
final int hp = info.getInt("currentHP");
final int mp = info.getInt("currentMP");
final double hp = info.getDouble("currentHP");
final double mp = info.getDouble("currentMP");
final L2Npc valakas = addSpawn(VALAKAS, loc_x, loc_y, loc_z, heading, false, 0);
valakas.teleToLocation(VALAKAS_HIDDEN_LOC);

View File

@@ -16,66 +16,48 @@
*/
package gracia.instances.SecretArea;
import com.l2jmobius.gameserver.instancemanager.InstanceManager;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.instancezone.InstanceWorld;
import com.l2jmobius.gameserver.network.SystemMessageId;
import ai.npc.AbstractNpcAI;
import instances.AbstractInstance;
/**
* Secret Area in the Keucereus Fortress instance zone.
* @author Gladicek
*/
public final class SecretArea extends AbstractNpcAI
public final class SecretArea extends AbstractInstance
{
protected class SAWorld extends InstanceWorld
{
}
private static final int TEMPLATE_ID = 117;
// NPCs
private static final int GINBY = 32566;
private static final int LELRIKIA = 32567;
private static final int ENTER = 0;
private static final int EXIT = 1;
// Locations
private static final Location[] TELEPORTS =
{
new Location(-23758, -8959, -5384),
new Location(-185057, 242821, 1576)
};
// Misc
private static final int TEMPLATE_ID = 117;
private static final int ENTER = 0;
private static final int EXIT = 1;
public SecretArea()
{
super(SecretArea.class.getSimpleName(), "gracia/instances");
super(SecretArea.class.getSimpleName());
addStartNpc(GINBY);
addTalkId(GINBY);
addTalkId(LELRIKIA);
}
protected void enterInstance(L2PcInstance player)
@Override
public void onEnterInstance(L2PcInstance player, InstanceWorld world, boolean firstEntrance)
{
InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
if (world != null)
if (firstEntrance)
{
if (world instanceof SAWorld)
{
teleportPlayer(player, TELEPORTS[ENTER], world.getInstanceId());
return;
}
player.sendPacket(SystemMessageId.YOU_HAVE_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_CORRESPONDING_DUNGEON);
return;
world.addAllowed(player.getObjectId());
}
world = new SAWorld();
world.setInstanceId(InstanceManager.getInstance().createDynamicInstance("SecretArea.xml"));
world.setTemplateId(TEMPLATE_ID);
world.addAllowed(player.getObjectId());
world.setStatus(0);
InstanceManager.getInstance().addWorld(world);
teleportPlayer(player, TELEPORTS[ENTER], world.getInstanceId());
}
@@ -85,7 +67,7 @@ public final class SecretArea extends AbstractNpcAI
final String htmltext = getNoQuestMsg(player);
if ((npc.getId() == GINBY) && event.equalsIgnoreCase("enter"))
{
enterInstance(player);
enterInstance(player, "SecretArea.xml", TEMPLATE_ID);
return "32566-01.html";
}
else if ((npc.getId() == LELRIKIA) && event.equalsIgnoreCase("exit"))

View File

@@ -29,7 +29,7 @@ public class L2DoorInstanceActionShift implements IActionShiftHandler
@Override
public boolean action(L2PcInstance activeChar, L2Object target, boolean interact)
{
if (activeChar.getAccessLevel().isGm())
if (activeChar.isGM())
{
activeChar.setTarget(target);
final L2DoorInstance door = (L2DoorInstance) target;

View File

@@ -22,16 +22,15 @@ import com.l2jmobius.gameserver.model.L2Object;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
public class L2ItemInstanceActionShift implements IActionShiftHandler
{
@Override
public boolean action(L2PcInstance activeChar, L2Object target, boolean interact)
{
if (activeChar.getAccessLevel().isGm())
if (activeChar.isGM())
{
final NpcHtmlMessage html = new NpcHtmlMessage(StringUtil.concat("<html><body><center><font color=\"LEVEL\">Item Info</font></center><br><table border=0>", "<tr><td>Object ID: </td><td>", String.valueOf(target.getObjectId()), "</td></tr><tr><td>Item ID: </td><td>", String.valueOf(target.getId()), "</td></tr><tr><td>Owner ID: </td><td>", String.valueOf(((L2ItemInstance) target).getOwnerId()), "</td></tr><tr><td>Location: </td><td>", String.valueOf(((L2ItemInstance) target).getLocation()), "</td></tr><tr><td><br></td></tr><tr><td>Class: </td><td>", target.getClass().getSimpleName(), "</td></tr></table></body></html>"));
final NpcHtmlMessage html = new NpcHtmlMessage("<html><body><center><font color=\"LEVEL\">Item Info</font></center><br><table border=0><tr><td>Object ID: </td><td>" + target.getObjectId() + "</td></tr><tr><td>Item ID: </td><td>" + target.getId() + "</td></tr><tr><td>Owner ID: </td><td>" + ((L2ItemInstance) target).getOwnerId() + "</td></tr><tr><td>Location: </td><td>" + ((L2ItemInstance) target).getLocation() + "</td></tr><tr><td><br></td></tr><tr><td>Class: </td><td>" + target.getClass().getSimpleName() + "</td></tr></table></body></html>");
activeChar.sendPacket(html);
}
return true;

View File

@@ -57,7 +57,7 @@ public class L2NpcActionShift implements IActionShiftHandler
public boolean action(L2PcInstance activeChar, L2Object target, boolean interact)
{
// Check if the L2PcInstance is a GM
if (activeChar.getAccessLevel().isGm())
if (activeChar.isGM())
{
// Set the target of the L2PcInstance activeChar
activeChar.setTarget(target);

View File

@@ -23,19 +23,18 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2StaticObjectInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.StaticObject;
import com.l2jmobius.util.StringUtil;
public class L2StaticObjectInstanceActionShift implements IActionShiftHandler
{
@Override
public boolean action(L2PcInstance activeChar, L2Object target, boolean interact)
{
if (activeChar.getAccessLevel().isGm())
if (activeChar.isGM())
{
activeChar.setTarget(target);
activeChar.sendPacket(new StaticObject((L2StaticObjectInstance) target));
final NpcHtmlMessage html = new NpcHtmlMessage(StringUtil.concat("<html><body><center><font color=\"LEVEL\">Static Object Info</font></center><br><table border=0><tr><td>Coords X,Y,Z: </td><td>", String.valueOf(target.getX()), ", ", String.valueOf(target.getY()), ", ", String.valueOf(target.getZ()), "</td></tr><tr><td>Object ID: </td><td>", String.valueOf(target.getObjectId()), "</td></tr><tr><td>Static Object ID: </td><td>", String.valueOf(target.getId()), "</td></tr><tr><td>Mesh Index: </td><td>", String.valueOf(((L2StaticObjectInstance) target).getMeshIndex()), "</td></tr><tr><td><br></td></tr><tr><td>Class: </td><td>", target.getClass().getSimpleName(), "</td></tr></table></body></html>"));
final NpcHtmlMessage html = new NpcHtmlMessage("<html><body><center><font color=\"LEVEL\">Static Object Info</font></center><br><table border=0><tr><td>Coords X,Y,Z: </td><td>" + target.getX() + ", " + target.getY() + ", " + target.getZ() + "</td></tr><tr><td>Object ID: </td><td>" + target.getObjectId() + "</td></tr><tr><td>Static Object ID: </td><td>" + target.getId() + "</td></tr><tr><td>Mesh Index: </td><td>" + ((L2StaticObjectInstance) target).getMeshIndex() + "</td></tr><tr><td><br></td></tr><tr><td>Class: </td><td>" + target.getClass().getSimpleName() + "</td></tr></table></body></html>");
activeChar.sendPacket(html);
}
return true;

View File

@@ -36,7 +36,6 @@ import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
import com.l2jmobius.gameserver.util.GMAudit;
import com.l2jmobius.util.StringUtil;
public class AdminBuffs implements IAdminCommandHandler
{
@@ -252,9 +251,13 @@ public class AdminBuffs implements IAdminCommandHandler
max++;
}
final StringBuilder html = StringUtil.startAppend(500 + (effects.size() * 200), "<html><table width=\"100%\"><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center><font color=\"LEVEL\">Effects of ", target.getName(), "</font></td><td width=45><button value=\"Back\" action=\"bypass -h admin_current_player\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br><table width=\"100%\"><tr><td width=200>Skill</td><td width=30>Rem. Time</td><td width=70>Action</td></tr>");
final int start = ((page - 1) * PAGE_LIMIT);
final int end = Math.min(((page - 1) * PAGE_LIMIT) + PAGE_LIMIT, effects.size());
final StringBuilder html = new StringBuilder(500 + (effects.size() * 200));
html.append("<html><table width=\"100%\"><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center><font color=\"LEVEL\">Effects of ");
html.append(target.getName());
html.append("</font></td><td width=45><button value=\"Back\" action=\"bypass -h admin_current_player\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br><table width=\"100%\"><tr><td width=200>Skill</td><td width=30>Rem. Time</td><td width=70>Action</td></tr>");
int start = ((page - 1) * PAGE_LIMIT);
int end = Math.min(((page - 1) * PAGE_LIMIT) + PAGE_LIMIT, effects.size());
int count = 0;
for (BuffInfo info : effects)
{
@@ -263,7 +266,22 @@ public class AdminBuffs implements IAdminCommandHandler
final Skill skill = info.getSkill();
for (AbstractEffect effect : info.getEffects())
{
StringUtil.append(html, "<tr><td>", (!info.isInUse() ? FONT_RED1 : "") + skill.getName(), " Lv ", String.valueOf(skill.getLevel()), " (", effect.getClass().getSimpleName(), ")" + (!info.isInUse() ? FONT_RED2 : ""), "</td><td>", skill.isToggle() ? "T (" + info.getTickCount(effect) + ")" : skill.isPassive() ? "P" : info.getTime() + "s", "</td><td><button value=\"X\" action=\"bypass -h admin_stopbuff ", Integer.toString(target.getObjectId()), " ", String.valueOf(skill.getId()), "\" width=30 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
html.append("<tr><td>");
html.append(!info.isInUse() ? FONT_RED1 : "");
html.append(skill.getName());
html.append(" Lv ");
html.append(skill.getLevel());
html.append(" (");
html.append(effect.getClass().getSimpleName());
html.append(")");
html.append(!info.isInUse() ? FONT_RED2 : "");
html.append("</td><td>");
html.append(skill.isToggle() ? "T (" + info.getTickCount(effect) + ")" : skill.isPassive() ? "P" : info.getTime() + "s");
html.append("</td><td><button value=\"X\" action=\"bypass -h admin_stopbuff ");
html.append(target.getObjectId());
html.append(" ");
html.append(skill.getId());
html.append("\" width=30 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
}
}
count++;
@@ -294,17 +312,29 @@ public class AdminBuffs implements IAdminCommandHandler
html.append("</tr></table>");
// Buttons
StringUtil.append(html, "<br><center><button value=\"Refresh\" action=\"bypass -h admin_getbuffs", (passive ? "_ps " : " "), target.getName(), "\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
StringUtil.append(html, "<button value=\"Remove All\" action=\"bypass -h admin_stopallbuffs ", Integer.toString(target.getObjectId()), "\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
html.append("<br><center><button value=\"Refresh\" action=\"bypass -h admin_getbuffs");
html.append(passive ? "_ps " : " ");
html.append(target.getName());
html.append("\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
html.append("<button value=\"Remove All\" action=\"bypass -h admin_stopallbuffs ");
html.append(target.getObjectId());
html.append("\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
// Legend
if (!passive)
{
StringUtil.append(html, FONT_RED1, "Inactive buffs: ", String.valueOf(target.getEffectList().getHiddenBuffsCount()), FONT_RED2, "<br>");
html.append(FONT_RED1);
html.append("Inactive buffs: ");
html.append(target.getEffectList().getHiddenBuffsCount());
html.append(FONT_RED2);
html.append("<br>");
}
StringUtil.append(html, "Total", passive ? " passive" : "", " buff count: ", String.valueOf(effects.size()));
html.append("Total");
html.append(passive ? " passive" : "");
html.append(" buff count: ");
html.append(effects.size());
if ((target.getEffectList().getAllBlockedBuffSlots() != null) && !target.getEffectList().getAllBlockedBuffSlots().isEmpty())
{
StringUtil.append(html, "<br>Blocked buff slots: ");
html.append("<br>Blocked buff slots: ");
String slots = "";
for (AbnormalType slot : target.getEffectList().getAllBlockedBuffSlots())
{
@@ -313,10 +343,10 @@ public class AdminBuffs implements IAdminCommandHandler
if (!slots.isEmpty() && (slots.length() > 3))
{
StringUtil.append(html, slots.substring(0, slots.length() - 2));
html.append(slots.substring(0, slots.length() - 2));
}
}
StringUtil.append(html, "</html>");
html.append("</html>");
// Send the packet
activeChar.sendPacket(new NpcHtmlMessage(html.toString()));

View File

@@ -26,7 +26,6 @@ import com.l2jmobius.gameserver.model.L2Object;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
/**
* This class handles following admin commands: - cw_info = displays cursed weapon status - cw_remove = removes a cursed weapon from the world, item id or name must be provided - cw_add = adds a cursed weapon into the world, item id or name must be provided. Target will be the weilder - cw_goto =
@@ -96,20 +95,51 @@ public class AdminCursedWeapons implements IAdminCommandHandler
{
itemId = cw.getItemId();
StringUtil.append(replyMSG, "<table width=270><tr><td>Name:</td><td>", cw.getName(), "</td></tr>");
replyMSG.append("<table width=270><tr><td>Name:</td><td>");
replyMSG.append(cw.getName());
replyMSG.append("</td></tr>");
if (cw.isActivated())
{
final L2PcInstance pl = cw.getPlayer();
StringUtil.append(replyMSG, "<tr><td>Weilder:</td><td>", (pl == null ? "null" : pl.getName()), "</td></tr><tr><td>Karma:</td><td>", String.valueOf(cw.getPlayerKarma()), "</td></tr><tr><td>Kills:</td><td>", String.valueOf(cw.getPlayerPkKills()), "/", String.valueOf(cw.getNbKills()), "</td></tr><tr><td>Time remaining:</td><td>", String.valueOf(cw.getTimeLeft() / 60000), " min.</td></tr><tr><td><button value=\"Remove\" action=\"bypass -h admin_cw_remove ", String.valueOf(itemId), "\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Go\" action=\"bypass -h admin_cw_goto ", String.valueOf(itemId), "\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
L2PcInstance pl = cw.getPlayer();
replyMSG.append("<tr><td>Weilder:</td><td>");
replyMSG.append(pl == null ? "null" : pl.getName());
replyMSG.append("</td></tr>");
replyMSG.append("<tr><td>Karma:</td><td>");
replyMSG.append(cw.getPlayerKarma());
replyMSG.append("</td></tr>");
replyMSG.append("<tr><td>Kills:</td><td>");
replyMSG.append(cw.getPlayerPkKills());
replyMSG.append("/");
replyMSG.append(cw.getNbKills());
replyMSG.append("</td></tr><tr><td>Time remaining:</td><td>");
replyMSG.append(cw.getTimeLeft() / 60000);
replyMSG.append(" min.</td></tr>");
replyMSG.append("<tr><td><button value=\"Remove\" action=\"bypass -h admin_cw_remove ");
replyMSG.append(itemId);
replyMSG.append("\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
replyMSG.append("<td><button value=\"Go\" action=\"bypass -h admin_cw_goto ");
replyMSG.append(itemId);
replyMSG.append("\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
}
else if (cw.isDropped())
{
StringUtil.append(replyMSG, "<tr><td>Position:</td><td>Lying on the ground</td></tr><tr><td>Time remaining:</td><td>", String.valueOf(cw.getTimeLeft() / 60000), " min.</td></tr><tr><td>Kills:</td><td>", String.valueOf(cw.getNbKills()), "</td></tr><tr><td><button value=\"Remove\" action=\"bypass -h admin_cw_remove ", String.valueOf(itemId), "\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Go\" action=\"bypass -h admin_cw_goto ", String.valueOf(itemId), "\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
replyMSG.append("<tr><td>Position:</td><td>Lying on the ground</td></tr><tr><td>Time remaining:</td><td>");
replyMSG.append(cw.getTimeLeft() / 60000);
replyMSG.append(" min.</td></tr><tr><td>Kills:</td><td>");
replyMSG.append(cw.getNbKills());
replyMSG.append("</td></tr><tr><td><button value=\"Remove\" action=\"bypass -h admin_cw_remove ");
replyMSG.append(itemId);
replyMSG.append("\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
replyMSG.append("<td><button value=\"Go\" action=\"bypass -h admin_cw_goto ");
replyMSG.append(itemId);
replyMSG.append("\" width=73 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
}
else
{
StringUtil.append(replyMSG, "<tr><td>Position:</td><td>Doesn't exist.</td></tr><tr><td><button value=\"Give to Target\" action=\"bypass -h admin_cw_add ", String.valueOf(itemId), "\" width=130 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td></td></tr>");
replyMSG.append("<tr><td>Position:</td><td>Doesn't exist.</td></tr><tr><td><button value=\"Give to Target\" action=\"bypass -h admin_cw_add ");
replyMSG.append(itemId);
replyMSG.append("\" width=130 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td></td></tr>");
}
replyMSG.append("</table><br>");

View File

@@ -24,6 +24,7 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringJoiner;
import java.util.StringTokenizer;
import java.util.logging.Logger;
@@ -56,7 +57,6 @@ import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.network.serverpackets.UserInfo;
import com.l2jmobius.gameserver.util.HtmlUtil;
import com.l2jmobius.gameserver.util.Util;
import com.l2jmobius.util.StringUtil;
/**
* EditChar admin command implementation.
@@ -1125,7 +1125,15 @@ public class AdminEditChar implements IAdminCommandHandler
if (name.toLowerCase().contains(CharacterToFind.toLowerCase()))
{
CharactersFound = CharactersFound + 1;
StringUtil.append(replyMSG, "<tr><td width=80><a action=\"bypass -h admin_character_info ", name, "\">", name, "</a></td><td width=110>", ClassListData.getInstance().getClass(player.getClassId()).getClientCode(), "</td><td width=40>", String.valueOf(player.getLevel()), "</td></tr>");
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_info ");
replyMSG.append(name);
replyMSG.append("\">");
replyMSG.append(name);
replyMSG.append("</a></td><td width=110>");
replyMSG.append(ClassListData.getInstance().getClass(player.getClassId()).getClientCode());
replyMSG.append("</td><td width=40>");
replyMSG.append(player.getLevel());
replyMSG.append("</td></tr>");
}
if (CharactersFound > 20)
{
@@ -1217,7 +1225,15 @@ public class AdminEditChar implements IAdminCommandHandler
name = player.getName();
CharactersFound = CharactersFound + 1;
StringUtil.append(replyMSG, "<tr><td width=80><a action=\"bypass -h admin_character_info ", name, "\">", name, "</a></td><td width=110>", ClassListData.getInstance().getClass(player.getClassId()).getClientCode(), "</td><td width=40>", String.valueOf(player.getLevel()), "</td></tr>");
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_character_info ");
replyMSG.append(name);
replyMSG.append("\">");
replyMSG.append(name);
replyMSG.append("</a></td><td width=110>");
replyMSG.append(ClassListData.getInstance().getClass(player.getClassId()).getClientCode());
replyMSG.append("</td><td width=40>");
replyMSG.append(player.getLevel());
replyMSG.append("</td></tr>");
if (CharactersFound > 20)
{
@@ -1265,8 +1281,8 @@ public class AdminEditChar implements IAdminCommandHandler
}
final Map<Integer, String> chars = player.getAccountChars();
final StringBuilder replyMSG = new StringBuilder(chars.size() * 20);
chars.values().stream().forEachOrdered(name -> StringUtil.append(replyMSG, name, "<br1>"));
final StringJoiner replyMSG = new StringJoiner("<br1>");
chars.values().stream().forEachOrdered(replyMSG::add);
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/accountinfo.htm");
@@ -1322,7 +1338,7 @@ public class AdminEditChar implements IAdminCommandHandler
final StringBuilder results = new StringBuilder();
for (String dualboxIP : keys)
{
StringUtil.append(results, "<a action=\"bypass -h admin_find_ip " + dualboxIP + "\">" + dualboxIP + " (" + dualboxIPs.get(dualboxIP) + ")</a><br1>");
results.append("<a action=\"bypass -h admin_find_ip " + dualboxIP + "\">" + dualboxIP + " (" + dualboxIPs.get(dualboxIP) + ")</a><br1>");
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
@@ -1374,7 +1390,7 @@ public class AdminEditChar implements IAdminCommandHandler
final StringBuilder results = new StringBuilder();
for (IpPack dualboxIP : keys)
{
StringUtil.append(results, "<a action=\"bypass -h admin_find_ip " + dualboxIP.ip + "\">" + dualboxIP.ip + " (" + dualboxIPs.get(dualboxIP) + ")</a><br1>");
results.append("<a action=\"bypass -h admin_find_ip " + dualboxIP.ip + "\">" + dualboxIP.ip + " (" + dualboxIPs.get(dualboxIP) + ")</a><br1>");
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();

View File

@@ -41,7 +41,6 @@ import com.l2jmobius.gameserver.network.serverpackets.PlaySound;
import com.l2jmobius.gameserver.network.serverpackets.UserInfo;
import com.l2jmobius.gameserver.util.Broadcast;
import com.l2jmobius.util.Rnd;
import com.l2jmobius.util.StringUtil;
/**
* This class handles following admin commands: - admin = shows menu
@@ -227,7 +226,7 @@ public class AdminEventEngine implements IAdminCommandHandler
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
final String replyMSG = StringUtil.concat("<html><title>[ L2J EVENT ENGINE ]</title><body><br>", "<center>The event <font color=\"LEVEL\">", L2Event._eventName, "</font> has been announced, now you can type //event_panel to see the event panel control</center><br>", "</body></html>");
final String replyMSG = "<html><title>[ EVENT ENGINE ]</title><body><br><center>The event <font color=\"LEVEL\">" + L2Event._eventName + "</font> has been announced, now you can type //event_panel to see the event panel control</center><br></body></html>";
adminReply.setHtml(replyMSG);
activeChar.sendPacket(adminReply);
}
@@ -465,7 +464,15 @@ public class AdminEventEngine implements IAdminCommandHandler
result.append("<table>");
for (String fileName : files)
{
StringUtil.append(result, "<tr><td align=center>", fileName, " </td></tr><tr><td><table cellspacing=0><tr><td><button value=\"Select Event\" action=\"bypass -h admin_event_set ", fileName, "\" width=90 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"View Event\" action=\"bypass -h admin_event_see ", fileName, "\" width=90 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Delete Event\" action=\"bypass -h admin_event_del ", fileName, "\" width=90 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table></td></tr>", "<tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr>");
result.append("<tr><td align=center>");
result.append(fileName);
result.append(" </td></tr><tr><td><table cellspacing=0><tr><td><button value=\"Select Event\" action=\"bypass -h admin_event_set ");
result.append(fileName);
result.append("\" width=90 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"View Event\" action=\"bypass -h admin_event_see ");
result.append(fileName);
result.append("\" width=90 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Delete Event\" action=\"bypass -h admin_event_del ");
result.append(fileName);
result.append("\" width=90 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table></td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr>");
}
result.append("</table>");
@@ -477,7 +484,7 @@ public class AdminEventEngine implements IAdminCommandHandler
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
final String replyMSG = StringUtil.concat("<html><title>[ L2J EVENT ENGINE ]</title><body><br><center><button value=\"Create NEW event \" action=\"bypass -h admin_event_new\" width=150 height=32 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><center><br><font color=LEVEL>Stored Events:</font><br></center>", showStoredEvents(), "</body></html>");
final String replyMSG = "<html><title>[ L2J EVENT ENGINE ]</title><body><br><center><button value=\"Create NEW event \" action=\"bypass -h admin_event_new\" width=150 height=32 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><center><br><font color=LEVEL>Stored Events:</font><br></center>" + showStoredEvents() + "</body></html>";
adminReply.setHtml(replyMSG);
activeChar.sendPacket(adminReply);
}
@@ -486,7 +493,8 @@ public class AdminEventEngine implements IAdminCommandHandler
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
final StringBuilder replyMSG = StringUtil.startAppend(500, "<html><title>[ L2J EVENT ENGINE ]</title><body><br><br><center><font color=LEVEL>Event name:</font><br>");
final StringBuilder replyMSG = new StringBuilder(512);
replyMSG.append("<html><title>[ L2J EVENT ENGINE ]</title><body><br><br><center><font color=LEVEL>Event name:</font><br>");
if (tempName.isEmpty())
{

View File

@@ -24,7 +24,6 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.Event;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
public class AdminEvents implements IAdminCommandHandler
{
@@ -156,7 +155,7 @@ public class AdminEvents implements IAdminCommandHandler
{
if (event instanceof Event)
{
StringUtil.append(cList, "<font color=\"LEVEL\">" + event.getName() + ":</font><br1>", "<table width=270><tr>", "<td><button value=\"Start\" action=\"bypass -h admin_event_start_menu " + event.getName() + "\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>", "<td><button value=\"Stop\" action=\"bypass -h admin_event_stop_menu " + event.getName() + "\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>", "<td><button value=\"Menu\" action=\"bypass -h admin_event_bypass " + event.getName() + "\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>", "</tr></table><br>");
cList.append("<font color=\"LEVEL\">" + event.getName() + ":</font><br1><table width=270><tr><td><button value=\"Start\" action=\"bypass -h admin_event_start_menu " + event.getName() + "\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td><button value=\"Stop\" action=\"bypass -h admin_event_stop_menu " + event.getName() + "\" width=80 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
}
}
html.replace("%LIST%", cList.toString());

View File

@@ -28,7 +28,6 @@ import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
import com.l2jmobius.gameserver.model.stats.Formulas;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
/**
* This class handles following admin commands: - gm = turns gm mode on/off
@@ -123,16 +122,17 @@ public class AdminFightCalculator implements IAdminCommandHandler
if ((npc1 != null) && (npc2 != null))
{
replyMSG = StringUtil.concat("<html><title>Selected mobs to fight</title><body><table><tr><td>First</td><td>Second</td></tr><tr><td>level ", String.valueOf(lvl1), "</td><td>level ", String.valueOf(lvl2), "</td></tr><tr><td>id ", String.valueOf(npc1.getId()), "</td><td>id ", String.valueOf(npc2.getId()), "</td></tr><tr><td>", npc1.getName(), "</td><td>", npc2.getName(), "</td></tr></table><center><br><br><br><button value=\"OK\" action=\"bypass -h admin_fight_calculator_show ", String.valueOf(npc1.getId()), " ", String.valueOf(npc2.getId()), "\" width=100 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>");
replyMSG = "<html><title>Selected mobs to fight</title><body><table><tr><td>First</td><td>Second</td></tr><tr><td>level " + lvl1 + "</td><td>level " + lvl2 + "</td></tr><tr><td>id " + npc1.getId() + "</td><td>id " + npc2.getId() + "</td></tr><tr><td>" + npc1.getName() + "</td><td>" + npc2.getName() + "</td></tr></table><center><br><br><br><button value=\"OK\" action=\"bypass -h admin_fight_calculator_show " + npc1.getId() + " " + npc2.getId() + "\" width=100 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>";
}
else if ((lvl1 != 0) && (npc1 == null))
{
final List<L2NpcTemplate> npcs = NpcData.getInstance().getAllOfLevel(lvl1);
final StringBuilder sb = StringUtil.startAppend(50 + (npcs.size() * 200), "<html><title>Select first mob to fight</title><body><table>");
final StringBuilder sb = new StringBuilder(50 + (npcs.size() * 200));
sb.append("<html><title>Select first mob to fight</title><body><table>");
for (L2NpcTemplate n : npcs)
{
StringUtil.append(sb, "<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 ", String.valueOf(lvl1), " lvl2 ", String.valueOf(lvl2), " mid1 ", String.valueOf(n.getId()), " mid2 ", String.valueOf(mid2), "\">", n.getName(), "</a></td></tr>");
sb.append("<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 " + lvl1 + " lvl2 " + lvl2 + " mid1 " + n.getId() + " mid2 " + mid2 + "\">" + n.getName() + "</a></td></tr>");
}
sb.append("</table></body></html>");
@@ -141,11 +141,12 @@ public class AdminFightCalculator implements IAdminCommandHandler
else if ((lvl2 != 0) && (npc2 == null))
{
final List<L2NpcTemplate> npcs = NpcData.getInstance().getAllOfLevel(lvl2);
final StringBuilder sb = StringUtil.startAppend(50 + (npcs.size() * 200), "<html><title>Select second mob to fight</title><body><table>");
final StringBuilder sb = new StringBuilder(50 + (npcs.size() * 200));
sb.append("<html><title>Select second mob to fight</title><body><table>");
for (L2NpcTemplate n : npcs)
{
StringUtil.append(sb, "<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 ", String.valueOf(lvl1), " lvl2 ", String.valueOf(lvl2), " mid1 ", String.valueOf(mid1), " mid2 ", String.valueOf(n.getId()), "\">", n.getName(), "</a></td></tr>");
sb.append("<tr><td><a action=\"bypass -h admin_fight_calculator lvl1 " + lvl1 + " lvl2 " + lvl2 + " mid1 " + mid1 + " mid2 " + n.getId() + "\">" + n.getName() + "</a></td></tr>");
}
sb.append("</table></body></html>");
@@ -299,7 +300,8 @@ public class AdminFightCalculator implements IAdminCommandHandler
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
final StringBuilder replyMSG = StringUtil.startAppend(1000, "<html><title>Selected mobs to fight</title><body><table>");
final StringBuilder replyMSG = new StringBuilder(1000);
replyMSG.append("<html><title>Selected mobs to fight</title><body><table>");
if (params.length() == 0)
{
@@ -307,14 +309,14 @@ public class AdminFightCalculator implements IAdminCommandHandler
}
else
{
StringUtil.append(replyMSG, "<tr><td width=140>Parameter</td><td width=70>", ((L2NpcTemplate) npc1.getTemplate()).getName(), "</td><td width=70>", ((L2NpcTemplate) npc2.getTemplate()).getName(), "</td></tr>");
replyMSG.append("<tr><td width=140>Parameter</td><td width=70>" + ((L2NpcTemplate) npc1.getTemplate()).getName() + "</td><td width=70>" + ((L2NpcTemplate) npc2.getTemplate()).getName() + "</td></tr>");
}
StringUtil.append(replyMSG, "<tr><td>miss</td><td>", String.valueOf(miss1), "%</td><td>", String.valueOf(miss2), "%</td></tr><tr><td>shld</td><td>", String.valueOf(shld2), "%</td><td>", String.valueOf(shld1), "%</td></tr><tr><td>crit</td><td>", String.valueOf(crit1), "%</td><td>", String.valueOf(crit2), "%</td></tr><tr><td>pAtk / pDef</td><td>", String.valueOf((int) patk1), " / ", String.valueOf((int) pdef1), "</td><td>", String.valueOf((int) patk2), " / ", String.valueOf((int) pdef2), "</td></tr><tr><td>made hits</td><td>", String.valueOf(sAtk1), "</td><td>", String.valueOf(sAtk2), "</td></tr><tr><td>dmg per hit</td><td>", String.valueOf((int) dmg1), "</td><td>", String.valueOf((int) dmg2), "</td></tr><tr><td>got dmg</td><td>", String.valueOf(tdmg2), "</td><td>", String.valueOf(tdmg1), "</td></tr><tr><td>got regen</td><td>", String.valueOf(hp1), "</td><td>", String.valueOf(hp2), "</td></tr><tr><td>had HP</td><td>", String.valueOf((int) maxHp1), "</td><td>", String.valueOf((int) maxHp2), "</td></tr><tr><td>die</td>");
replyMSG.append("<tr><td>miss</td><td>" + miss1 + "%</td><td>" + miss2 + "%</td></tr><tr><td>shld</td><td>" + shld2 + "%</td><td>" + shld1 + "%</td></tr><tr><td>crit</td><td>" + crit1 + "%</td><td>" + crit2 + "%</td></tr><tr><td>pAtk / pDef</td><td>" + (int) patk1 + " / " + (int) pdef1 + "</td><td>" + (int) patk2 + " / " + (int) pdef2 + "</td></tr><tr><td>made hits</td><td>" + sAtk1 + "</td><td>" + sAtk2 + "</td></tr><tr><td>dmg per hit</td><td>" + (int) dmg1 + "</td><td>" + (int) dmg2 + "</td></tr><tr><td>got dmg</td><td>" + tdmg2 + "</td><td>" + tdmg1 + "</td></tr><tr><td>got regen</td><td>" + hp1 + "</td><td>" + hp2 + "</td></tr><tr><td>had HP</td><td>" + (int) maxHp1 + "</td><td>" + (int) maxHp2 + "</td></tr><tr><td>die</td>");
if ((tdmg2 - hp1) > 1)
{
StringUtil.append(replyMSG, "<td>", String.valueOf((int) ((100 * maxHp1) / (tdmg2 - hp1))), " sec</td>");
replyMSG.append("<td>" + ((int) ((100 * maxHp1) / (tdmg2 - hp1))) + " sec</td>");
}
else
{
@@ -323,7 +325,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
if ((tdmg1 - hp2) > 1)
{
StringUtil.append(replyMSG, "<td>", String.valueOf((int) ((100 * maxHp2) / (tdmg1 - hp2))), " sec</td>");
replyMSG.append("<td>" + ((int) ((100 * maxHp2) / (tdmg1 - hp2))) + " sec</td>");
}
else
{
@@ -338,7 +340,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
}
else
{
StringUtil.append(replyMSG, "<button value=\"Retry\" action=\"bypass -h admin_fight_calculator_show ", String.valueOf(((L2NpcTemplate) npc1.getTemplate()).getId()), " ", String.valueOf(((L2NpcTemplate) npc2.getTemplate()).getId()), "\" width=100 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
replyMSG.append("<button value=\"Retry\" action=\"bypass -h admin_fight_calculator_show " + ((L2NpcTemplate) npc1.getTemplate()).getId() + " " + ((L2NpcTemplate) npc2.getTemplate()).getId() + "\" width=100 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
}
replyMSG.append("</center></body></html>");

View File

@@ -28,7 +28,6 @@ import com.l2jmobius.gameserver.model.entity.Fort;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.util.StringUtil;
/**
* This class handles all siege commands: Todo: change the class name, and neaten it up
@@ -161,7 +160,7 @@ public class AdminFortSiege implements IAdminCommandHandler
{
if (fort != null)
{
StringUtil.append(cList, "<td fixwidth=90><a action=\"bypass -h admin_fortsiege ", String.valueOf(fort.getResidenceId()), "\">", fort.getName(), " id: ", String.valueOf(fort.getResidenceId()), "</a></td>");
cList.append("<td fixwidth=90><a action=\"bypass -h admin_fortsiege " + fort.getResidenceId() + "\">" + fort.getName() + " id: " + fort.getResidenceId() + "</a></td>");
i++;
}

View File

@@ -25,7 +25,6 @@ import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.util.GMAudit;
import com.l2jmobius.util.StringUtil;
public class AdminInstanceZone implements IAdminCommandHandler
{
@@ -118,7 +117,8 @@ public class AdminInstanceZone implements IAdminCommandHandler
{
final Map<Integer, Long> instanceTimes = InstanceManager.getInstance().getAllInstanceTimes(player.getObjectId());
final StringBuilder html = StringUtil.startAppend(500 + (instanceTimes.size() * 200), "<html><center><table width=260><tr><td width=40><button value=\"Main\" action=\"bypass -h admin_admin\" width=40 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Character Instances</center></td><td width=40><button value=\"Back\" action=\"bypass -h admin_current_player\" width=40 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br><font color=\"LEVEL\">Instances for ", player.getName(), "</font><center><br><table><tr><td width=150>Name</td><td width=50>Time</td><td width=70>Action</td></tr>");
final StringBuilder html = new StringBuilder(500 + (instanceTimes.size() * 200));
html.append("<html><center><table width=260><tr><td width=40><button value=\"Main\" action=\"bypass -h admin_admin\" width=40 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Character Instances</center></td><td width=40><button value=\"Back\" action=\"bypass -h admin_current_player\" width=40 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br><font color=\"LEVEL\">Instances for " + player.getName() + "</font><center><br><table><tr><td width=150>Name</td><td width=50>Time</td><td width=70>Action</td></tr>");
for (int id : instanceTimes.keySet())
{
@@ -131,10 +131,10 @@ public class AdminInstanceZone implements IAdminCommandHandler
minutes = (int) ((remainingTime % 3600) / 60);
}
StringUtil.append(html, "<tr><td>", InstanceManager.getInstance().getInstanceIdName(id), "</td><td>", String.valueOf(hours), ":", String.valueOf(minutes), "</td><td><button value=\"Clear\" action=\"bypass -h admin_instancezone_clear ", player.getName(), " ", String.valueOf(id), "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
html.append("<tr><td>" + InstanceManager.getInstance().getInstanceIdName(id) + "</td><td>" + hours + ":" + minutes + "</td><td><button value=\"Clear\" action=\"bypass -h admin_instancezone_clear " + player.getName() + " " + id + "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
}
StringUtil.append(html, "</table></html>");
html.append("</table></html>");
final NpcHtmlMessage ms = new NpcHtmlMessage();
ms.setHtml(html.toString());

View File

@@ -23,7 +23,6 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.entity.Castle;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.util.Util;
import com.l2jmobius.util.StringUtil;
/**
* @author malyelfik
@@ -42,10 +41,10 @@ public final class AdminManor implements IAdminCommandHandler
final StringBuilder sb = new StringBuilder(3400);
for (Castle c : CastleManager.getInstance().getCastles())
{
StringUtil.append(sb, "<tr><td>Name:</td><td><font color=008000>" + c.getName() + "</font></td></tr>");
StringUtil.append(sb, "<tr><td>Current period cost:</td><td><font color=FF9900>", Util.formatAdena(manor.getManorCost(c.getResidenceId(), false)), " Adena</font></td></tr>");
StringUtil.append(sb, "<tr><td>Next period cost:</td><td><font color=FF9900>", Util.formatAdena(manor.getManorCost(c.getResidenceId(), true)), " Adena</font></td></tr>");
StringUtil.append(sb, "<tr><td><font color=808080>--------------------------</font></td><td><font color=808080>--------------------------</font></td></tr>");
sb.append("<tr><td>Name:</td><td><font color=008000>" + c.getName() + "</font></td></tr>");
sb.append("<tr><td>Current period cost:</td><td><font color=FF9900>" + Util.formatAdena(manor.getManorCost(c.getResidenceId(), false)) + " Adena</font></td></tr>");
sb.append("<tr><td>Next period cost:</td><td><font color=FF9900>" + Util.formatAdena(manor.getManorCost(c.getResidenceId(), true)) + " Adena</font></td></tr>");
sb.append("<tr><td><font color=808080>--------------------------</font></td><td><font color=808080>--------------------------</font></td></tr>");
}
msg.replace("%castleInfo%", sb.toString());
activeChar.sendPacket(msg);

View File

@@ -35,7 +35,6 @@ import com.l2jmobius.gameserver.model.zone.type.L2ClanHallZone;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.util.Util;
import com.l2jmobius.util.StringUtil;
/**
* This class handles all siege commands.
@@ -350,7 +349,7 @@ public class AdminSiege implements IAdminCommandHandler
if (castle != null)
{
final String name = castle.getName();
StringUtil.append(cList, "<td fixwidth=90><a action=\"bypass -h admin_siege ", name, "\">", name, "</a></td>");
cList.append("<td fixwidth=90><a action=\"bypass -h admin_siege " + name + "\">" + name + "</a></td>");
i++;
}
if (i > 2)
@@ -366,7 +365,7 @@ public class AdminSiege implements IAdminCommandHandler
{
if (hall != null)
{
StringUtil.append(cList, "<td fixwidth=90><a action=\"bypass -h admin_chsiege_siegablehall ", String.valueOf(hall.getId()), "\">", hall.getName(), "</a></td>");
cList.append("<td fixwidth=90><a action=\"bypass -h admin_chsiege_siegablehall " + String.valueOf(hall.getId()) + "\">" + hall.getName() + "</a></td>");
i++;
}
if (i > 1)
@@ -382,7 +381,7 @@ public class AdminSiege implements IAdminCommandHandler
{
if (clanhall != null)
{
StringUtil.append(cList, "<td fixwidth=134><a action=\"bypass -h admin_clanhall ", String.valueOf(clanhall.getId()), "\">", clanhall.getName(), "</a></td>");
cList.append("<td fixwidth=134><a action=\"bypass -h admin_clanhall " + String.valueOf(clanhall.getId()) + "\">" + clanhall.getName() + "</a></td>");
i++;
}
if (i > 1)
@@ -398,7 +397,7 @@ public class AdminSiege implements IAdminCommandHandler
{
if (clanhall != null)
{
StringUtil.append(cList, "<td fixwidth=134><a action=\"bypass -h admin_clanhall ", String.valueOf(clanhall.getId()), "\">", clanhall.getName(), "</a></td>");
cList.append("<td fixwidth=134><a action=\"bypass -h admin_clanhall " + String.valueOf(clanhall.getId()) + "\">" + clanhall.getName() + "</a></td>");
i++;
}
if (i > 1)

View File

@@ -35,7 +35,6 @@ import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.PledgeSkillList;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.util.StringUtil;
/**
* This class handles following admin commands:
@@ -311,19 +310,20 @@ public class AdminSkill implements IAdminCommandHandler
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
final StringBuilder replyMSG = StringUtil.startAppend(500 + (maxPages * 50) + (((skillsEnd - skillsStart) + 1) * 50), "<html><body><table width=260><tr><td width=40><button value=\"Main\" action=\"bypass -h admin_admin\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Character Selection Menu</center></td><td width=40><button value=\"Back\" action=\"bypass -h admin_show_skills\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br><br><center>Editing <font color=\"LEVEL\">", player.getName(), "</font></center><br><table width=270><tr><td>Lv: ", String.valueOf(player.getLevel()), " ", ClassListData.getInstance().getClass(player.getClassId()).getClientCode(), "</td></tr></table><br><table width=270><tr><td>Note: Dont forget that modifying players skills can</td></tr><tr><td>ruin the game...</td></tr></table><br><center>Click on the skill you wish to remove:</center><br><center><table width=270><tr>");
final StringBuilder replyMSG = new StringBuilder(500 + (maxPages * 50) + (((skillsEnd - skillsStart) + 1) * 50));
replyMSG.append("<html><body><table width=260><tr><td width=40><button value=\"Main\" action=\"bypass -h admin_admin\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>Character Selection Menu</center></td><td width=40><button value=\"Back\" action=\"bypass -h admin_show_skills\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br><br><center>Editing <font color=\"LEVEL\">" + player.getName() + "</font></center><br><table width=270><tr><td>Lv: " + player.getLevel() + " " + ClassListData.getInstance().getClass(player.getClassId()).getClientCode() + "</td></tr></table><br><table width=270><tr><td>Note: Dont forget that modifying players skills can</td></tr><tr><td>ruin the game...</td></tr></table><br><center>Click on the skill you wish to remove:</center><br><center><table width=270><tr>");
for (int x = 0; x < maxPages; x++)
{
final int pagenr = x + 1;
StringUtil.append(replyMSG, "<td><a action=\"bypass -h admin_remove_skills ", String.valueOf(x), "\">Page ", String.valueOf(pagenr), "</a></td>");
replyMSG.append("<td><a action=\"bypass -h admin_remove_skills " + x + "\">Page " + pagenr + "</a></td>");
}
replyMSG.append("</tr></table></center><br><table width=270><tr><td width=80>Name:</td><td width=60>Level:</td><td width=40>Id:</td></tr>");
for (int i = skillsStart; i < skillsEnd; i++)
{
StringUtil.append(replyMSG, "<tr><td width=80><a action=\"bypass -h admin_remove_skill ", String.valueOf(skills[i].getId()), "\">", skills[i].getName(), "</a></td><td width=60>", String.valueOf(skills[i].getLevel()), "</td><td width=40>", String.valueOf(skills[i].getId()), "</td></tr>");
replyMSG.append("<tr><td width=80><a action=\"bypass -h admin_remove_skill " + skills[i].getId() + "\">" + skills[i].getName() + "</a></td><td width=60>" + skills[i].getLevel() + "</td><td width=40>" + skills[i].getId() + "</td></tr>");
}
replyMSG.append("</table><br><center><table>Remove skill by ID :<tr><td>Id: </td><td><edit var=\"id_to_remove\" width=110></td></tr></table></center><center><button value=\"Remove skill\" action=\"bypass -h admin_remove_skill $id_to_remove\" width=110 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center><br><center><button value=\"Back\" action=\"bypass -h admin_current_player\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>");

View File

@@ -45,7 +45,6 @@ import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.util.Broadcast;
import com.l2jmobius.util.StringUtil;
/**
* This class handles following admin commands: - show_spawns = shows menu - spawn_index lvl = shows menu for monsters with respective level - spawn_monster id = spawns monster id on target
@@ -170,7 +169,8 @@ public class AdminSpawn implements IAdminCommandHandler
final int instance = Integer.parseInt(st.nextToken());
if (instance >= 300000)
{
final StringBuilder html = StringUtil.startAppend(500 + 1000, "<html><table width=\"100%\"><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center>", "<font color=\"LEVEL\">Spawns for " + String.valueOf(instance) + "</font>", "</td><td width=45><button value=\"Back\" action=\"bypass -h admin_current_player\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br>", "<table width=\"100%\"><tr><td width=200>NpcName</td><td width=70>Action</td></tr>");
final StringBuilder html = new StringBuilder(1500);
html.append("<html><table width=\"100%\"><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center><font color=\"LEVEL\">Spawns for " + instance + "</font></td><td width=45><button value=\"Back\" action=\"bypass -h admin_current_player\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br><table width=\"100%\"><tr><td width=200>NpcName</td><td width=70>Action</td></tr>");
int counter = 0;
int skiped = 0;
final Instance inst = InstanceManager.getInstance().getInstance(instance);
@@ -183,7 +183,7 @@ public class AdminSpawn implements IAdminCommandHandler
// Only 50 because of client html limitation
if (counter < 50)
{
StringUtil.append(html, "<tr><td>" + npc.getName() + "</td><td>", "<a action=\"bypass -h admin_move_to " + npc.getX() + " " + npc.getY() + " " + npc.getZ() + "\">Go</a>", "</td></tr>");
html.append("<tr><td>" + npc.getName() + "</td><td><a action=\"bypass -h admin_move_to " + npc.getX() + " " + npc.getY() + " " + npc.getZ() + "\">Go</a></td></tr>");
counter++;
}
else
@@ -192,7 +192,7 @@ public class AdminSpawn implements IAdminCommandHandler
}
}
}
StringUtil.append(html, "<tr><td>Skipped:</td><td>" + String.valueOf(skiped) + "</td></tr></table></body></html>");
html.append("<tr><td>Skipped:</td><td>" + skiped + "</td></tr></table></body></html>");
final NpcHtmlMessage ms = new NpcHtmlMessage();
ms.setHtml(html.toString());
activeChar.sendPacket(ms);
@@ -465,13 +465,14 @@ public class AdminSpawn implements IAdminCommandHandler
{
final List<L2NpcTemplate> mobs = NpcData.getInstance().getAllMonstersOfLevel(level);
final int mobsCount = mobs.size();
final StringBuilder tb = StringUtil.startAppend(500 + (mobsCount * 80), "<html><title>Spawn Monster:</title><body><p> Level : ", Integer.toString(level), "<br>Total Npc's : ", Integer.toString(mobsCount), "<br>");
final StringBuilder tb = new StringBuilder(500 + (mobsCount * 80));
tb.append("<html><title>Spawn Monster:</title><body><p> Level : " + level + "<br>Total Npc's : " + mobsCount + "<br>");
// Loop
int i = from;
for (int j = 0; (i < mobsCount) && (j < 50); i++, j++)
{
StringUtil.append(tb, "<a action=\"bypass -h admin_spawn_monster ", Integer.toString(mobs.get(i).getId()), "\">", mobs.get(i).getName(), "</a><br1>");
tb.append("<a action=\"bypass -h admin_spawn_monster " + mobs.get(i).getId() + "\">" + mobs.get(i).getName() + "</a><br1>");
}
if (i == mobsCount)
@@ -480,7 +481,7 @@ public class AdminSpawn implements IAdminCommandHandler
}
else
{
StringUtil.append(tb, "<br><center><button value=\"Next\" action=\"bypass -h admin_spawn_index ", Integer.toString(level), " ", Integer.toString(i), "\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><button value=\"Back\" action=\"bypass -h admin_show_spawns\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>");
tb.append("<br><center><button value=\"Next\" action=\"bypass -h admin_spawn_index " + level + " " + i + "\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><button value=\"Back\" action=\"bypass -h admin_show_spawns\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>");
}
activeChar.sendPacket(new NpcHtmlMessage(tb.toString()));
@@ -490,13 +491,14 @@ public class AdminSpawn implements IAdminCommandHandler
{
final List<L2NpcTemplate> mobs = NpcData.getInstance().getAllNpcStartingWith(starting);
final int mobsCount = mobs.size();
final StringBuilder tb = StringUtil.startAppend(500 + (mobsCount * 80), "<html><title>Spawn Monster:</title><body><p> There are ", Integer.toString(mobsCount), " Npcs whose name starts with ", starting, ":<br>");
final StringBuilder tb = new StringBuilder(500 + (mobsCount * 80));
tb.append("<html><title>Spawn Monster:</title><body><p> There are " + mobsCount + " Npcs whose name starts with " + starting + ":<br>");
// Loop
int i = from;
for (int j = 0; (i < mobsCount) && (j < 50); i++, j++)
{
StringUtil.append(tb, "<a action=\"bypass -h admin_spawn_monster ", Integer.toString(mobs.get(i).getId()), "\">", mobs.get(i).getName(), "</a><br1>");
tb.append("<a action=\"bypass -h admin_spawn_monster " + mobs.get(i).getId() + "\">" + mobs.get(i).getName() + "</a><br1>");
}
if (i == mobsCount)
@@ -505,7 +507,7 @@ public class AdminSpawn implements IAdminCommandHandler
}
else
{
StringUtil.append(tb, "<br><center><button value=\"Next\" action=\"bypass -h admin_npc_index ", starting, " ", Integer.toString(i), "\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><button value=\"Back\" action=\"bypass -h admin_show_npcs\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>");
tb.append("<br><center><button value=\"Next\" action=\"bypass -h admin_npc_index " + starting + " " + i + "\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><button value=\"Back\" action=\"bypass -h admin_show_npcs\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>");
}
activeChar.sendPacket(new NpcHtmlMessage(tb.toString()));

View File

@@ -40,7 +40,6 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2RaidBossInstance;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
/**
* This class handles following admin commands: - show_moves - show_teleport - teleport_to_character - move_to - teleport_character
@@ -372,7 +371,7 @@ public class AdminTeleport implements IAdminCommandHandler
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
final String replyMSG = StringUtil.concat("<html><title>Teleport Character</title><body>The character you will teleport is ", player.getName(), ".<br>Co-ordinate x<edit var=\"char_cord_x\" width=110>Co-ordinate y<edit var=\"char_cord_y\" width=110>Co-ordinate z<edit var=\"char_cord_z\" width=110><button value=\"Teleport\" action=\"bypass -h admin_teleport_character $char_cord_x $char_cord_y $char_cord_z\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><button value=\"Teleport near you\" action=\"bypass -h admin_teleport_character ", String.valueOf(activeChar.getX()), " ", String.valueOf(activeChar.getY()), " ", String.valueOf(activeChar.getZ()), "\" width=115 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><center><button value=\"Back\" action=\"bypass -h admin_current_player\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>");
final String replyMSG = "<html><title>Teleport Character</title><body>The character you will teleport is " + player.getName() + ".<br>Co-ordinate x<edit var=\"char_cord_x\" width=110>Co-ordinate y<edit var=\"char_cord_y\" width=110>Co-ordinate z<edit var=\"char_cord_z\" width=110><button value=\"Teleport\" action=\"bypass -h admin_teleport_character $char_cord_x $char_cord_y $char_cord_z\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><button value=\"Teleport near you\" action=\"bypass -h admin_teleport_character " + activeChar.getX() + " " + activeChar.getY() + " " + activeChar.getZ() + "\" width=115 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><center><button value=\"Back\" action=\"bypass -h admin_current_player\" width=40 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center></body></html>";
adminReply.setHtml(replyMSG);
activeChar.sendPacket(adminReply);
}

View File

@@ -31,7 +31,6 @@ import com.l2jmobius.gameserver.model.zone.L2ZoneType;
import com.l2jmobius.gameserver.model.zone.ZoneId;
import com.l2jmobius.gameserver.model.zone.type.NpcSpawnTerritory;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
/**
* Small typo fix by Zoey76 24/02/2011
@@ -138,22 +137,26 @@ public class AdminZone implements IAdminCommandHandler
{
if (zone.getName() != null)
{
StringUtil.append(zones, zone.getName() + "<br1>");
zones.append(zone.getName());
zones.append("<br1>");
if (zone.getId() < 300000)
{
StringUtil.append(zones, "(", String.valueOf(zone.getId()), ")");
zones.append("(");
zones.append(zone.getId());
zones.append(")");
}
}
else
{
StringUtil.append(zones, String.valueOf(zone.getId()));
zones.append(zone.getId());
}
StringUtil.append(zones, " ");
zones.append(" ");
}
}
for (NpcSpawnTerritory territory : ZoneManager.getInstance().getSpawnTerritories(activeChar))
{
StringUtil.append(zones, territory.getName() + "<br1>");
zones.append(territory.getName());
zones.append("<br1>");
}
adminReply.replace("%ZLIST%", zones.toString());
activeChar.sendPacket(adminReply);

View File

@@ -34,7 +34,6 @@ import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.util.StringUtil;
public class Festival implements IBypassHandler
{
@@ -208,8 +207,8 @@ public class Festival implements IBypassHandler
}
break;
case 4: // Current High Scores
final StringBuilder strBuffer = StringUtil.startAppend(500, "<html><body>Festival Guide:<br>These are the top scores of the week, for the ");
final StringBuilder strBuffer = new StringBuilder(500);
strBuffer.append("<html><body>Festival Guide:<br>These are the top scores of the week, for the ");
final StatsSet dawnData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DAWN, npc.getFestivalType());
final StatsSet duskData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DUSK, npc.getFestivalType());
final StatsSet overallData = SevenSignsFestival.getInstance().getOverallHighestScoreData(npc.getFestivalType());
@@ -224,11 +223,11 @@ public class Festival implements IBypassHandler
overallScore = overallData.getInt("score");
}
StringUtil.append(strBuffer, SevenSignsFestival.getFestivalName(npc.getFestivalType()), " festival.<br>");
strBuffer.append(SevenSignsFestival.getFestivalName(npc.getFestivalType()) + " festival.<br>");
if (dawnScore > 0)
{
StringUtil.append(strBuffer, "Dawn: ", calculateDate(dawnData.getString("date")), ". Score ", String.valueOf(dawnScore), "<br>", dawnData.getString("members"), "<br>");
strBuffer.append("Dawn: " + calculateDate(dawnData.getString("date")) + ". Score " + String.valueOf(dawnScore) + "<br>" + dawnData.getString("members") + "<br>");
}
else
{
@@ -237,7 +236,7 @@ public class Festival implements IBypassHandler
if (duskScore > 0)
{
StringUtil.append(strBuffer, "Dusk: ", calculateDate(duskData.getString("date")), ". Score ", String.valueOf(duskScore), "<br>", duskData.getString("members"), "<br>");
strBuffer.append("Dusk: " + calculateDate(duskData.getString("date")) + ". Score " + String.valueOf(duskScore) + "<br>" + duskData.getString("members") + "<br>");
}
else
{
@@ -256,14 +255,14 @@ public class Festival implements IBypassHandler
cabalStr = "Children of Dusk";
}
StringUtil.append(strBuffer, "Consecutive top scores: ", calculateDate(overallData.getString("date")), ". Score ", String.valueOf(overallScore), "<br>Affilated side: ", cabalStr, "<br>", overallData.getString("members"), "<br>");
strBuffer.append("Consecutive top scores: " + calculateDate(overallData.getString("date")) + ". Score " + String.valueOf(overallScore) + "<br>Affilated side: " + cabalStr + "<br>" + overallData.getString("members") + "<br>");
}
else
{
strBuffer.append("Consecutive top scores: No record exists. Score 0<br>");
}
StringUtil.append(strBuffer, "<a action=\"bypass -h npc_", String.valueOf(npc.getObjectId()), "_Chat 0\">Go back.</a></body></html>");
strBuffer.append("<a action=\"bypass -h npc_" + String.valueOf(npc.getObjectId()) + "_Chat 0\">Go back.</a></body></html>");
final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId());
html.setHtml(strBuffer.toString());

View File

@@ -37,7 +37,6 @@ import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
public class QuestLink implements IBypassHandler
{
@@ -88,7 +87,8 @@ public class QuestLink implements IBypassHandler
*/
private static void showQuestChooseWindow(L2PcInstance player, L2Npc npc, Quest[] quests)
{
final StringBuilder sb = StringUtil.startAppend(150, "<html><body>");
final StringBuilder sb = new StringBuilder(128);
sb.append("<html><body>");
String state = "";
// String color = "";
int questId = -1;
@@ -122,17 +122,17 @@ public class QuestLink implements IBypassHandler
state = quest.isCustomQuest() ? " (Done)" : "03";
// color = "787878";
}
StringUtil.append(sb, "<a action=\"bypass -h npc_", String.valueOf(npc.getObjectId()), "_Quest ", quest.getName(), "\">");
sb.append("<a action=\"bypass -h npc_" + String.valueOf(npc.getObjectId()) + "_Quest " + quest.getName() + "\">");
// StringUtil.append(sb, "<font color=\"" + color + "\">[");
StringUtil.append(sb, "[");
sb.append("[");
if (quest.isCustomQuest())
{
StringUtil.append(sb, quest.getDescr(), state);
sb.append(quest.getDescr() + state);
}
else
{
StringUtil.append(sb, "<fstring>", String.valueOf(quest.getNpcStringId()), state, "</fstring>");
sb.append("<fstring>" + String.valueOf(quest.getNpcStringId()) + state + "</fstring>");
}
// sb.append("]</font></a><br>");
sb.append("]</a><br>");

View File

@@ -16,6 +16,9 @@
*/
package handlers.communityboard;
import java.util.Arrays;
import java.util.stream.Collectors;
import com.l2jmobius.gameserver.data.sql.impl.ClanTable;
import com.l2jmobius.gameserver.handler.CommunityBoardHandler;
import com.l2jmobius.gameserver.handler.IWriteBoardHandler;
@@ -23,7 +26,6 @@ import com.l2jmobius.gameserver.model.L2Clan;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.util.Util;
import com.l2jmobius.util.StringUtil;
/**
* Clan board.
@@ -147,32 +149,35 @@ public class ClanBoard implements IWriteBoardHandler
}
else
{
final StringBuilder html = StringUtil.startAppend(2000, "<html><body><br><br><table border=0 width=610><tr><td width=10></td><td width=600 align=left><a action=\"bypass _bbshome\">HOME</a> &gt; <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a> &gt; <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), "\"> &amp;$802; </a></td></tr></table>");
final StringBuilder html = new StringBuilder(2048);
html.append("<html><body><br><br><table border=0 width=610><tr><td width=10></td><td width=600 align=left><a action=\"bypass _bbshome\">HOME</a> &gt; <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a> &gt; <a action=\"bypass _bbsclan_clanhome;");
html.append(clanId);
html.append("\"> &amp;$802; </a></td></tr></table>");
if (activeChar.isClanLeader())
{
StringUtil.append(html, "<br><br><center><table width=610 border=0 cellspacing=0 cellpadding=0><tr><td fixwidth=610><font color=\"AAAAAA\">The Clan Notice function allows the clan leader to send messages through a pop-up window to clan members at login.</font> </td></tr><tr><td height=20></td></tr>");
html.append("<br><br><center><table width=610 border=0 cellspacing=0 cellpadding=0><tr><td fixwidth=610><font color=\"AAAAAA\">The Clan Notice function allows the clan leader to send messages through a pop-up window to clan members at login.</font> </td></tr><tr><td height=20></td></tr>");
if (activeChar.getClan().isNoticeEnabled())
{
StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_disable\">off</a>");
html.append("<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_disable\">off</a>");
}
else
{
StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_enable\">on</a>&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;off");
html.append("<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_enable\">on</a>&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;off");
}
StringUtil.append(html, "</td></tr></table><img src=\"L2UI.Squaregray\" width=\"610\" height=\"1\"><br> <br><table width=610 border=0 cellspacing=2 cellpadding=0><tr><td>Edit Notice: </td></tr><tr><td height=5></td></tr><tr><td><MultiEdit var =\"Content\" width=610 height=100></td></tr></table><br><table width=610 border=0 cellspacing=0 cellpadding=0><tr><td height=5></td></tr><tr><td align=center FIXWIDTH=65><button value=\"&$140;\" action=\"Write Notice Set _ Content Content Content\" back=\"l2ui_ch3.smallbutton2_down\" width=65 height=20 fore=\"l2ui_ch3.smallbutton2\" ></td><td align=center FIXWIDTH=45></td><td align=center FIXWIDTH=500></td></tr></table></center></body></html>");
html.append("</td></tr></table><img src=\"L2UI.Squaregray\" width=\"610\" height=\"1\"><br> <br><table width=610 border=0 cellspacing=2 cellpadding=0><tr><td>Edit Notice: </td></tr><tr><td height=5></td></tr><tr><td><MultiEdit var =\"Content\" width=610 height=100></td></tr></table><br><table width=610 border=0 cellspacing=0 cellpadding=0><tr><td height=5></td></tr><tr><td align=center FIXWIDTH=65><button value=\"&$140;\" action=\"Write Notice Set _ Content Content Content\" back=\"l2ui_ch3.smallbutton2_down\" width=65 height=20 fore=\"l2ui_ch3.smallbutton2\" ></td><td align=center FIXWIDTH=45></td><td align=center FIXWIDTH=500></td></tr></table></center></body></html>");
Util.sendCBHtml(activeChar, html.toString(), activeChar.getClan().getNotice());
}
else
{
StringUtil.append(html, "<img src=\"L2UI.squareblank\" width=\"1\" height=\"10\"><center><table border=0 cellspacing=0 cellpadding=0><tr><td>You are not your clan's leader, and therefore cannot change the clan notice</td></tr></table>");
html.append("<img src=\"L2UI.squareblank\" width=\"1\" height=\"10\"><center><table border=0 cellspacing=0 cellpadding=0><tr><td>You are not your clan's leader, and therefore cannot change the clan notice</td></tr></table>");
if (activeChar.getClan().isNoticeEnabled())
{
StringUtil.append(html, "<table border=0 cellspacing=0 cellpadding=0><tr><td>The current clan notice:</td></tr><tr><td fixwidth=5></td><td FIXWIDTH=600 align=left>" + activeChar.getClan().getNotice() + "</td><td fixqqwidth=5></td></tr></table>");
html.append("<table border=0 cellspacing=0 cellpadding=0><tr><td>The current clan notice:</td></tr><tr><td fixwidth=5></td><td FIXWIDTH=600 align=left>" + activeChar.getClan().getNotice() + "</td><td fixqqwidth=5></td></tr></table>");
}
StringUtil.append(html, "</center></body></html>");
html.append("</center></body></html>");
CommunityBoardHandler.separateAndSend(html.toString(), activeChar);
}
}
@@ -187,7 +192,10 @@ public class ClanBoard implements IWriteBoardHandler
}
// header
final StringBuilder html = StringUtil.startAppend(2000, "<html><body><br><br><center><br1><br1><table border=0 cellspacing=0 cellpadding=0><tr><td FIXWIDTH=15>&nbsp;</td><td width=610 height=30 align=left><a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixWIDTH=600><a action=\"bypass _bbsclan_clanhome;", String.valueOf((activeChar.getClan() != null) ? activeChar.getClan().getId() : 0), "\">[GO TO MY CLAN]</a>&nbsp;&nbsp;</td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table><br><table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=610><tr><td FIXWIDTH=5></td><td FIXWIDTH=200 align=center>CLAN NAME</td><td FIXWIDTH=200 align=center>CLAN LEADER</td><td FIXWIDTH=100 align=center>CLAN LEVEL</td><td FIXWIDTH=100 align=center>CLAN MEMBERS</td><td FIXWIDTH=5></td></tr></table><img src=\"L2UI.Squareblank\" width=\"1\" height=\"5\">");
final StringBuilder html = new StringBuilder(2048);
html.append("<html><body><br><br><center><br1><br1><table border=0 cellspacing=0 cellpadding=0><tr><td FIXWIDTH=15>&nbsp;</td><td width=610 height=30 align=left><a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixWIDTH=600><a action=\"bypass _bbsclan_clanhome;");
html.append(activeChar.getClan() != null ? activeChar.getClan().getId() : 0);
html.append("\">[GO TO MY CLAN]</a>&nbsp;&nbsp;</td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table><br><table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=610><tr><td FIXWIDTH=5></td><td FIXWIDTH=200 align=center>CLAN NAME</td><td FIXWIDTH=200 align=center>CLAN LEADER</td><td FIXWIDTH=100 align=center>CLAN LEVEL</td><td FIXWIDTH=100 align=center>CLAN MEMBERS</td><td FIXWIDTH=5></td></tr></table><img src=\"L2UI.Squareblank\" width=\"1\" height=\"5\">");
int i = 0;
for (L2Clan cl : ClanTable.getInstance().getClans())
@@ -199,7 +207,17 @@ public class ClanBoard implements IWriteBoardHandler
if (i++ >= ((index - 1) * 7))
{
StringUtil.append(html, "<img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\"><table border=0 cellspacing=0 cellpadding=0 width=610><tr> <td FIXWIDTH=5></td><td FIXWIDTH=200 align=center><a action=\"bypass _bbsclan_clanhome;", String.valueOf(cl.getId()), "\">", cl.getName(), "</a></td><td FIXWIDTH=200 align=center>", cl.getLeaderName(), "</td><td FIXWIDTH=100 align=center>", String.valueOf(cl.getLevel()), "</td><td FIXWIDTH=100 align=center>", String.valueOf(cl.getMembersCount()), "</td><td FIXWIDTH=5></td></tr><tr><td height=5></td></tr></table><img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\"><img src=\"L2UI.SquareGray\" width=\"610\" height=\"1\">");
html.append("<img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\"><table border=0 cellspacing=0 cellpadding=0 width=610><tr> <td FIXWIDTH=5></td><td FIXWIDTH=200 align=center><a action=\"bypass _bbsclan_clanhome;");
html.append(cl.getId());
html.append("\">");
html.append(cl.getName());
html.append("</a></td><td FIXWIDTH=200 align=center>");
html.append(cl.getLeaderName());
html.append("</td><td FIXWIDTH=100 align=center>");
html.append(cl.getLevel());
html.append("</td><td FIXWIDTH=100 align=center>");
html.append(cl.getMembersCount());
html.append("</td><td FIXWIDTH=5></td></tr><tr><td height=5></td></tr></table><img src=\"L2UI.SquareBlank\" width=\"610\" height=\"3\"><img src=\"L2UI.SquareGray\" width=\"610\" height=\"1\">");
}
}
@@ -211,7 +229,9 @@ public class ClanBoard implements IWriteBoardHandler
}
else
{
StringUtil.append(html, "<td><button action=\"_bbsclan_clanlist;", String.valueOf(index - 1), "\" back=\"l2ui_ch3.prev1_down\" fore=\"l2ui_ch3.prev1\" width=16 height=16 ></td>");
html.append("<td><button action=\"_bbsclan_clanlist;");
html.append(index - 1);
html.append("\" back=\"l2ui_ch3.prev1_down\" fore=\"l2ui_ch3.prev1\" width=16 height=16 ></td>");
}
i = 0;
@@ -224,11 +244,17 @@ public class ClanBoard implements IWriteBoardHandler
{
if (i == index)
{
StringUtil.append(html, "<td> ", String.valueOf(i), " </td>");
html.append("<td> ");
html.append(i);
html.append(" </td>");
}
else
{
StringUtil.append(html, "<td><a action=\"bypass _bbsclan_clanlist;", String.valueOf(i), "\"> ", String.valueOf(i), " </a></td>");
html.append("<td><a action=\"bypass _bbsclan_clanlist;");
html.append(i);
html.append("\"> ");
html.append(i);
html.append(" </a></td>");
}
}
@@ -238,7 +264,9 @@ public class ClanBoard implements IWriteBoardHandler
}
else
{
StringUtil.append(html, "<td><button action=\"bypass _bbsclan_clanlist;", String.valueOf(index + 1), "\" back=\"l2ui_ch3.next1_down\" fore=\"l2ui_ch3.next1\" width=16 height=16 ></td>");
html.append("<td><button action=\"bypass _bbsclan_clanlist;");
html.append(index + 1);
html.append("\" back=\"l2ui_ch3.next1_down\" fore=\"l2ui_ch3.next1\" width=16 height=16 ></td>");
}
html.append("</tr></table><table border=0 cellspacing=0 cellpadding=0><tr><td width=610><img src=\"sek.cbui141\" width=\"610\" height=\"1\"></td></tr></table><table border=0><tr><td><combobox width=65 var=keyword list=\"Name;Ruler\"></td><td><edit var = \"Search\" width=130 height=11 length=\"16\"></td>" +
// TODO: search (Write in BBS)
@@ -263,7 +291,7 @@ public class ClanBoard implements IWriteBoardHandler
}
else
{
final String html = StringUtil.concat("<html><body><center><br><br><br1><br1><table border=0 cellspacing=0 cellpadding=0><tr><td FIXWIDTH=15>&nbsp;</td><td width=610 height=30 align=left><a action=\"bypass _bbshome\">HOME</a> &gt; <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a> &gt; <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), "\"> &amp;$802; </a></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixwidth=600><a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";announce\">[CLAN ANNOUNCEMENT]</a> <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";cbb\">[CLAN BULLETIN BOARD]</a><a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";cmail\">[CLAN MAIL]</a>&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_edit;", String.valueOf(clanId), ";cnotice\">[CLAN NOTICE]</a>&nbsp;&nbsp;</td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixwidth=290 valign=top></td><td fixWIDTH=5></td><td fixWIDTH=5 align=center valign=top><img src=\"l2ui.squaregray\" width=2 height=128></td><td fixWIDTH=5></td><td fixwidth=295><table border=0 cellspacing=0 cellpadding=0 width=295><tr><td fixWIDTH=100 align=left>CLAN NAME</td><td fixWIDTH=195 align=left>", cl.getName(), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN LEVEL</td><td fixWIDTH=195 align=left height=16>", String.valueOf(cl.getLevel()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN MEMBERS</td><td fixWIDTH=195 align=left height=16>", String.valueOf(cl.getMembersCount()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN LEADER</td><td fixWIDTH=195 align=left height=16>", cl.getLeaderName(), "</td></tr><tr><td height=7></td></tr>" +
final String html = Arrays.asList("<html><body><center><br><br><br1><br1><table border=0 cellspacing=0 cellpadding=0><tr><td FIXWIDTH=15>&nbsp;</td><td width=610 height=30 align=left><a action=\"bypass _bbshome\">HOME</a> &gt; <a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a> &gt; <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), "\"> &amp;$802; </a></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=434343><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixwidth=600><a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";announce\">[CLAN ANNOUNCEMENT]</a> <a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";cbb\">[CLAN BULLETIN BOARD]</a><a action=\"bypass _bbsclan_clanhome;", String.valueOf(clanId), ";cmail\">[CLAN MAIL]</a>&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_edit;", String.valueOf(clanId), ";cnotice\">[CLAN NOTICE]</a>&nbsp;&nbsp;</td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table><table border=0 cellspacing=0 cellpadding=0 width=610><tr><td height=10></td></tr><tr><td fixWIDTH=5></td><td fixwidth=290 valign=top></td><td fixWIDTH=5></td><td fixWIDTH=5 align=center valign=top><img src=\"l2ui.squaregray\" width=2 height=128></td><td fixWIDTH=5></td><td fixwidth=295><table border=0 cellspacing=0 cellpadding=0 width=295><tr><td fixWIDTH=100 align=left>CLAN NAME</td><td fixWIDTH=195 align=left>", cl.getName(), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN LEVEL</td><td fixWIDTH=195 align=left height=16>", String.valueOf(cl.getLevel()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN MEMBERS</td><td fixWIDTH=195 align=left height=16>", String.valueOf(cl.getMembersCount()), "</td></tr><tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>CLAN LEADER</td><td fixWIDTH=195 align=left height=16>", cl.getLeaderName(), "</td></tr><tr><td height=7></td></tr>" +
// ADMINISTRATOR ??
/*
* html.append("<tr>"); html.append("<td fixWIDTH=100 align=left>ADMINISTRATOR</td>"); html.append("<td fixWIDTH=195 align=left height=16>"+cl.getLeaderName()+"</td>"); html.append("</tr>");
@@ -271,7 +299,7 @@ public class ClanBoard implements IWriteBoardHandler
"<tr><td height=7></td></tr><tr><td fixWIDTH=100 align=left>ALLIANCE</td><td fixWIDTH=195 align=left height=16>", (cl.getAllyName() != null) ? cl.getAllyName() : "", "</td></tr></table></td><td fixWIDTH=5></td></tr><tr><td height=10></td></tr></table>" +
// TODO: the BB for clan :)
// html.append("<table border=0 cellspacing=0 cellpadding=0 width=610 bgcolor=333333>");
"<img src=\"L2UI.squareblank\" width=\"1\" height=\"5\"><img src=\"L2UI.squaregray\" width=\"610\" height=\"1\"><br></center><br> <br></body></html>");
"<img src=\"L2UI.squareblank\" width=\"1\" height=\"5\"><img src=\"L2UI.squaregray\" width=\"610\" height=\"1\"><br></center><br> <br></body></html>").stream().collect(Collectors.joining());
CommunityBoardHandler.separateAndSend(html, activeChar);
}
}

View File

@@ -21,7 +21,6 @@ import java.text.SimpleDateFormat;
import com.l2jmobius.gameserver.handler.IUserCommandHandler;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
/**
* Clan Penalty user command.
@@ -43,24 +42,31 @@ public class ClanPenalty implements IUserCommandHandler
}
boolean penalty = false;
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
final StringBuilder htmlContent = StringUtil.startAppend(500, "<html><body><center><table width=270 border=0 bgcolor=111111><tr><td width=170>Penalty</td><td width=100 align=center>Expiration Date</td></tr></table><table width=270 border=0><tr>");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
final StringBuilder htmlContent = new StringBuilder(500);
htmlContent.append("<html><body><center><table width=270 border=0 bgcolor=111111><tr><td width=170>Penalty</td><td width=100 align=center>Expiration Date</td></tr></table><table width=270 border=0><tr>");
if (activeChar.getClanJoinExpiryTime() > System.currentTimeMillis())
{
StringUtil.append(htmlContent, "<td width=170>Unable to join a clan.</td><td width=100 align=center>", format.format(activeChar.getClanJoinExpiryTime()), "</td>");
htmlContent.append("<td width=170>Unable to join a clan.</td><td width=100 align=center>");
htmlContent.append(format.format(activeChar.getClanJoinExpiryTime()));
htmlContent.append("</td>");
penalty = true;
}
if (activeChar.getClanCreateExpiryTime() > System.currentTimeMillis())
{
StringUtil.append(htmlContent, "<td width=170>Unable to create a clan.</td><td width=100 align=center>", format.format(activeChar.getClanCreateExpiryTime()), "</td>");
htmlContent.append("<td width=170>Unable to create a clan.</td><td width=100 align=center>");
htmlContent.append(format.format(activeChar.getClanCreateExpiryTime()));
htmlContent.append("</td>");
penalty = true;
}
if ((activeChar.getClan() != null) && (activeChar.getClan().getCharPenaltyExpiryTime() > System.currentTimeMillis()))
{
StringUtil.append(htmlContent, "<td width=170>Unable to invite a clan member.</td><td width=100 align=center>", format.format(activeChar.getClan().getCharPenaltyExpiryTime()), "</td>");
htmlContent.append("<td width=170>Unable to invite a clan member.</td><td width=100 align=center>");
htmlContent.append(format.format(activeChar.getClan().getCharPenaltyExpiryTime()));
htmlContent.append("</td>");
penalty = true;
}

View File

@@ -22,7 +22,6 @@ import com.l2jmobius.Config;
import com.l2jmobius.gameserver.handler.IVoicedCommandHandler;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.util.StringUtil;
public class Lang implements IVoicedCommandHandler
{
@@ -42,10 +41,10 @@ public class Lang implements IVoicedCommandHandler
final NpcHtmlMessage msg = new NpcHtmlMessage();
if (params == null)
{
final StringBuilder html = StringUtil.startAppend(100);
final StringBuilder html = new StringBuilder(100);
for (String lang : Config.L2JMOD_MULTILANG_ALLOWED)
{
StringUtil.append(html, "<button value=\"", lang.toUpperCase(), "\" action=\"bypass -h voice .lang ", lang, "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
}
msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/Lang/LanguageSelect.htm");

View File

@@ -23,7 +23,6 @@ import com.l2jmobius.gameserver.model.entity.L2Event;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.util.StringUtil;
/**
* @author Zoey76.
@@ -65,10 +64,11 @@ public class StatsVCmd implements IVoicedCommandHandler
return false;
}
final StringBuilder replyMSG = StringUtil.startAppend(300 + (pc.getEventStatus().getKills().size() * 50), "<html><body><center><font color=\"LEVEL\">[ L2J EVENT ENGINE ]</font></center><br><br>Statistics for player <font color=\"LEVEL\">", pc.getName(), "</font><br>Total kills <font color=\"FF0000\">", String.valueOf(pc.getEventStatus().getKills().size()), "</font><br><br>Detailed list: <br>");
final StringBuilder replyMSG = new StringBuilder(300 + (pc.getEventStatus().getKills().size() * 50));
replyMSG.append("<html><body><center><font color=\"LEVEL\">[ L2J EVENT ENGINE ]</font></center><br><br>Statistics for player <font color=\"LEVEL\">" + pc.getName() + "</font><br>Total kills <font color=\"FF0000\">" + pc.getEventStatus().getKills().size() + "</font><br><br>Detailed list: <br>");
for (L2PcInstance plr : pc.getEventStatus().getKills())
{
StringUtil.append(replyMSG, "<font color=\"FF0000\">", plr.getName(), "</font><br>");
replyMSG.append("<font color=\"FF0000\">" + plr.getName() + "</font><br>");
}
replyMSG.append("</body></html>");
final NpcHtmlMessage adminReply = new NpcHtmlMessage();

View File

@@ -19,6 +19,7 @@ package instances;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import java.util.logging.Logger;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.enums.InstanceReenterType;
@@ -42,6 +43,8 @@ import ai.npc.AbstractNpcAI;
*/
public abstract class AbstractInstance extends AbstractNpcAI
{
public final Logger _log = Logger.getLogger(getClass().getSimpleName());
public AbstractInstance(String name, String desc)
{
super(name, desc);
@@ -52,6 +55,11 @@ public abstract class AbstractInstance extends AbstractNpcAI
super(name, "instances");
}
protected void enterInstance(L2PcInstance player, String template, int templateId)
{
enterInstance(player, new InstanceWorld(), template, templateId);
}
protected void enterInstance(L2PcInstance player, InstanceWorld instance, String template, int templateId)
{
final InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
@@ -72,7 +80,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
return;
}
if (checkConditions(player, templateId))
if (checkConditions(player))
{
instance.setInstanceId(InstanceManager.getInstance().createDynamicInstance(template));
instance.setTemplateId(templateId);
@@ -188,11 +196,6 @@ public abstract class AbstractInstance extends AbstractNpcAI
protected abstract void onEnterInstance(L2PcInstance player, InstanceWorld world, boolean firstEntrance);
protected boolean checkConditions(L2PcInstance player, int templateId)
{
return checkConditions(player);
}
protected boolean checkConditions(L2PcInstance player)
{
return true;

View File

@@ -208,7 +208,7 @@ public final class CavernOfThePirateCaptain extends AbstractInstance
}
@Override
protected boolean checkConditions(L2PcInstance player, int templateId)
protected boolean checkConditions(L2PcInstance player)
{
if (player.canOverrideCond(PcCondOverride.INSTANCE_CONDITIONS))
{
@@ -221,8 +221,8 @@ public final class CavernOfThePirateCaptain extends AbstractInstance
return false;
}
final boolean is83 = templateId == TEMPLATE_ID_83;
final boolean isNight = templateId == TEMPLATE_ID_60_NIGHT;
final boolean is83 = InstanceManager.getInstance().getPlayerWorld(player).getTemplateId() == TEMPLATE_ID_83 ? true : false;
final boolean isNight = InstanceManager.getInstance().getPlayerWorld(player).getTemplateId() == TEMPLATE_ID_60_NIGHT ? true : false;
final L2Party party = player.getParty();
final boolean isInCC = party.isInCommandChannel();
final List<L2PcInstance> members = (isInCC) ? party.getCommandChannel().getMembers() : party.getMembers();

View File

@@ -35,10 +35,6 @@ import quests.Q10296_SevenSignsPowerOfTheSeal.Q10296_SevenSignsPowerOfTheSeal;
*/
public final class ElcadiasTent extends AbstractInstance
{
protected class ETWorld extends InstanceWorld
{
}
// NPCs
private static final int ELCADIA = 32784;
private static final int GRUFF_LOOKING_MAN = 32862;
@@ -71,7 +67,7 @@ public final class ElcadiasTent extends AbstractInstance
|| ((ForbiddenBook != null) && ForbiddenBook.isCompleted() && (Monastery == null)) //
|| ((PowerOfSeal != null) && PowerOfSeal.isStarted()))
{
enterInstance(talker, new ETWorld(), "ElcadiasTent.xml", TEMPLATE_ID);
enterInstance(talker, "ElcadiasTent.xml", TEMPLATE_ID);
}
else
{

View File

@@ -30,11 +30,6 @@ import instances.AbstractInstance;
*/
public final class HideoutOfTheDawn extends AbstractInstance
{
protected class HotDWorld extends InstanceWorld
{
}
// NPCs
private static final int WOOD = 32593;
private static final int JAINA = 32617;
@@ -58,7 +53,7 @@ public final class HideoutOfTheDawn extends AbstractInstance
{
case WOOD:
{
enterInstance(talker, new HotDWorld(), "HideoutOfTheDawn.xml", TEMPLATE_ID);
enterInstance(talker, "HideoutOfTheDawn.xml", TEMPLATE_ID);
return "32593-01.htm";
}
case JAINA:

View File

@@ -31,11 +31,6 @@ import quests.Q10284_AcquisitionOfDivineSword.Q10284_AcquisitionOfDivineSword;
*/
public final class JiniaGuildHideout1 extends AbstractInstance
{
protected class JGH1World extends InstanceWorld
{
}
// NPC
private static final int RAFFORTY = 32020;
// Location
@@ -56,7 +51,7 @@ public final class JiniaGuildHideout1 extends AbstractInstance
final QuestState qs = talker.getQuestState(Q10284_AcquisitionOfDivineSword.class.getSimpleName());
if ((qs != null) && qs.isCond(1))
{
enterInstance(talker, new JGH1World(), "JiniaGuildHideout1.xml", TEMPLATE_ID);
enterInstance(talker, "JiniaGuildHideout1.xml", TEMPLATE_ID);
qs.setCond(2, true);
}
return super.onTalk(npc, talker);

View File

@@ -31,11 +31,6 @@ import quests.Q10285_MeetingSirra.Q10285_MeetingSirra;
*/
public final class JiniaGuildHideout2 extends AbstractInstance
{
protected class JGH2World extends InstanceWorld
{
}
// NPC
private static final int RAFFORTY = 32020;
// Location
@@ -56,7 +51,7 @@ public final class JiniaGuildHideout2 extends AbstractInstance
final QuestState qs = talker.getQuestState(Q10285_MeetingSirra.class.getSimpleName());
if ((qs != null) && qs.isMemoState(1))
{
enterInstance(talker, new JGH2World(), "JiniaGuildHideout2.xml", TEMPLATE_ID);
enterInstance(talker, "JiniaGuildHideout2.xml", TEMPLATE_ID);
qs.setCond(2, true);
}
return super.onTalk(npc, talker);

View File

@@ -31,11 +31,6 @@ import quests.Q10286_ReunionWithSirra.Q10286_ReunionWithSirra;
*/
public final class JiniaGuildHideout3 extends AbstractInstance
{
protected class JGH3World extends InstanceWorld
{
}
// NPC
private static final int RAFFORTY = 32020;
// Location
@@ -56,7 +51,7 @@ public final class JiniaGuildHideout3 extends AbstractInstance
final QuestState qs = talker.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName());
if ((qs != null) && qs.isMemoState(1))
{
enterInstance(talker, new JGH3World(), "JiniaGuildHideout3.xml", TEMPLATE_ID);
enterInstance(talker, "JiniaGuildHideout3.xml", TEMPLATE_ID);
qs.setCond(2, true);
}
return super.onTalk(npc, talker);

View File

@@ -31,11 +31,6 @@ import quests.Q10287_StoryOfThoseLeft.Q10287_StoryOfThoseLeft;
*/
public final class JiniaGuildHideout4 extends AbstractInstance
{
protected class JGH4World extends InstanceWorld
{
}
// NPC
private static final int RAFFORTY = 32020;
// Location
@@ -56,7 +51,7 @@ public final class JiniaGuildHideout4 extends AbstractInstance
final QuestState qs = talker.getQuestState(Q10287_StoryOfThoseLeft.class.getSimpleName());
if ((qs != null) && qs.isMemoState(1))
{
enterInstance(talker, new JGH4World(), "JiniaGuildHideout4.xml", TEMPLATE_ID);
enterInstance(talker, "JiniaGuildHideout4.xml", TEMPLATE_ID);
qs.setCond(2, true);
}
return super.onTalk(npc, talker);

View File

@@ -34,11 +34,6 @@ import instances.AbstractInstance;
*/
public final class PailakaSongOfIceAndFire extends AbstractInstance
{
protected class PSoIWorld extends InstanceWorld
{
}
// NPCs
private static final int ADLER1 = 32497;
private static final int GARGOS = 18607;
@@ -85,7 +80,7 @@ public final class PailakaSongOfIceAndFire extends AbstractInstance
{
case "enter":
{
enterInstance(player, new PSoIWorld(), "PailakaSongOfIceAndFire.xml", TEMPLATE_ID);
enterInstance(player, "PailakaSongOfIceAndFire.xml", TEMPLATE_ID);
break;
}
case "GARGOS_LAUGH":