Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P L2J_Server_BETA
- Index: java/com/l2jserver/gameserver/model/actor/L2Attackable.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/L2Attackable.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/actor/L2Attackable.java (working copy)
- @@ -36,6 +36,7 @@
- import com.l2jserver.gameserver.datatables.ItemTable;
- import com.l2jserver.gameserver.datatables.SkillTable;
- import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;
- +import com.l2jserver.gameserver.model.CharacterAchievementSystem;
- import com.l2jserver.gameserver.model.L2CharPosition;
- import com.l2jserver.gameserver.model.L2CommandChannel;
- import com.l2jserver.gameserver.model.L2DropCategory;
- @@ -51,6 +52,7 @@
- import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance;
- import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
- +import com.l2jserver.gameserver.model.actor.instance.L2RaidBossInstance;
- import com.l2jserver.gameserver.model.actor.instance.L2SummonInstance;
- import com.l2jserver.gameserver.model.actor.knownlist.AttackableKnownList;
- import com.l2jserver.gameserver.model.actor.status.AttackableStatus;
- @@ -536,6 +538,18 @@
- if (!super.doDie(killer))
- return false;
- + if(!(this instanceof L2GrandBossInstance) && !(this instanceof L2RaidBossInstance))
- + {
- + L2PcInstance player = null;
- + if(killer instanceof L2PcInstance)
- + player = killer.getActingPlayer();
- + else if(killer instanceof L2PetInstance || killer instanceof L2SummonInstance)
- + player = killer.getPet().getOwner();
- + if(player != null)
- + if (CharacterAchievementSystem.checkOk(player))
- + player.getCAS().onMobKill();
- + }
- +
- // Notify the Quest Engine of the L2Attackable death if necessary
- try
- {
- Index: java/com/l2jserver/gameserver/model/actor/instance/L2ChestInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/instance/L2ChestInstance.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/actor/instance/L2ChestInstance.java (working copy)
- @@ -18,6 +18,7 @@
- import com.l2jserver.gameserver.datatables.NpcTable;
- import com.l2jserver.gameserver.datatables.SkillTable;
- +import com.l2jserver.gameserver.model.CharacterAchievementSystem;
- import com.l2jserver.gameserver.model.L2Skill;
- import com.l2jserver.gameserver.model.actor.L2Character;
- import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
- @@ -73,6 +74,12 @@
- @Override
- public void doItemDrop(L2NpcTemplate npcTemplate, L2Character lastAttacker)
- {
- + if (lastAttacker instanceof L2PcInstance)
- + {
- + L2PcInstance player = lastAttacker.getActingPlayer();
- + if (CharacterAchievementSystem.checkOk(player))
- + player.getCAS().onChestOpen();
- + }
- int id = getTemplate().npcId;
- if (!_specialDrop)
- Index: java/com/l2jserver/gameserver/model/actor/instance/L2AioNpcInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/instance/L2AioNpcInstance.java (revision 0)
- +++ java/com/l2jserver/gameserver/model/actor/instance/L2AioNpcInstance.java (revision 0)
- @@ -0,0 +1,1289 @@
- +/*
- + * This program is free software: you can redistribute it and/or modify it under
- + * the terms of the GNU General Public License as published by the Free Software
- + * Foundation, either version 3 of the License, or (at your option) any later
- + * version.
- + *
- + * This program is distributed in the hope that it will be useful, but WITHOUT
- + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- + * details.
- + *
- + * You should have received a copy of the GNU General Public License along with
- + * this program. If not, see <http://www.gnu.org/licenses/>.
- + */
- +package com.l2jserver.gameserver.model.actor.instance;
- +
- +import java.util.Iterator;
- +import java.util.Set;
- +
- +import javolution.util.FastList;
- +
- +import com.l2jserver.Config;
- +import com.l2jserver.gameserver.datatables.CharTemplateTable;
- +import com.l2jserver.gameserver.datatables.ClanTable;
- +import com.l2jserver.gameserver.datatables.MultiSell;
- +import com.l2jserver.gameserver.datatables.SkillTable;
- +import com.l2jserver.gameserver.datatables.SkillTreesData;
- +import com.l2jserver.gameserver.instancemanager.CastleManager;
- +import com.l2jserver.gameserver.instancemanager.FortManager;
- +import com.l2jserver.gameserver.instancemanager.FortSiegeManager;
- +import com.l2jserver.gameserver.instancemanager.QuestManager;
- +import com.l2jserver.gameserver.instancemanager.SiegeManager;
- +import com.l2jserver.gameserver.model.L2Clan;
- +import com.l2jserver.gameserver.model.L2ClanMember;
- +import com.l2jserver.gameserver.model.L2ItemInstance;
- +import com.l2jserver.gameserver.model.L2Skill;
- +import com.l2jserver.gameserver.model.L2SkillLearn;
- +import com.l2jserver.gameserver.model.L2Clan.SubPledge;
- +import com.l2jserver.gameserver.model.actor.L2Npc;
- +import com.l2jserver.gameserver.model.base.ClassId;
- +import com.l2jserver.gameserver.model.base.PlayerClass;
- +import com.l2jserver.gameserver.model.base.Race;
- +import com.l2jserver.gameserver.model.base.SubClass;
- +import com.l2jserver.gameserver.model.entity.Castle;
- +import com.l2jserver.gameserver.model.entity.Fort;
- +import com.l2jserver.gameserver.model.olympiad.Olympiad;
- +import com.l2jserver.gameserver.model.quest.QuestState;
- +import com.l2jserver.gameserver.network.SystemMessageId;
- +import com.l2jserver.gameserver.network.serverpackets.AcquireSkillList;
- +import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
- +import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
- +import com.l2jserver.gameserver.network.serverpackets.MagicSkillLaunched;
- +import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
- +import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
- +import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
- +import com.l2jserver.gameserver.network.serverpackets.UserInfo;
- +import com.l2jserver.gameserver.network.serverpackets.AcquireSkillList.SkillType;
- +import com.l2jserver.gameserver.templates.chars.L2NpcTemplate;
- +import com.l2jserver.gameserver.util.Util;
- +import com.l2jserver.util.StringUtil;
- +
- +public class L2AioNpcInstance extends L2Npc
- +{
- +
- + public L2AioNpcInstance(int objectId, L2NpcTemplate template)
- + {
- + super(objectId, template);
- + setIsInvul(false);
- + }
- +
- + @Override
- + public String getHtmlPath(int npcId, int val)
- + {
- + String pom = "";
- +
- + if (val == 0)
- + pom = "" + npcId;
- + else
- + pom = npcId + "-" + val;
- +
- + return "data/html/default/" + pom + ".htm";
- + }
- +
- + @Override
- + public void onBypassFeedback(L2PcInstance player, String command)
- + {
- + final int[] _itemsIds = { 10280, 10281, 10282, 10283, 10284, 10285, 10286, 10287, 10288, 10289, 10290, 10291, 10292, 10293, 10294, 10612 };
- + final String htmlFolder = "data/html/masterTransformation/";
- + final int feeDeleteSubClassSkills = 10000000;
- + final String[] _questVarNames = { "EmergentAbility65-", "EmergentAbility70-", "ClassAbility75-", "ClassAbility80-" };
- +
- + String[] commandStr = command.split(" ");
- + String actualCommand = commandStr[0]; // Get actual command
- +
- + String cmdParams = "";
- + String cmdParams2 = "";
- +
- + if (commandStr.length >= 2)
- + cmdParams = commandStr[1];
- + if (commandStr.length >= 3)
- + cmdParams2 = commandStr[2];
- +
- + if (command.startsWith("ShowOlyManager"))
- + {
- + String filename = null;
- + if (player.isNoble())
- + filename = Olympiad.OLYMPIAD_HTML_PATH + "noble_main.htm";
- + else
- + filename = "data/html/default/aio/oly/31688.htm";
- + showChatWindow(player, filename);
- + }
- + else if (command.startsWith("ShowOlyMonument"))
- + {
- + String filename = null;
- + if (player.isHero() || player.isNoble())
- + filename = Olympiad.OLYMPIAD_HTML_PATH + "hero_main.htm";
- + else
- + filename = "data/html/default/31690.htm";
- + showChatWindow(player, filename);
- + }
- +
- + else if (actualCommand.equalsIgnoreCase("create_clan"))
- + {
- + if (cmdParams.isEmpty())
- + return;
- +
- + ClanTable.getInstance().createClan(player, cmdParams);
- + }
- + else if (actualCommand.equalsIgnoreCase("create_academy"))
- + {
- + if (cmdParams.isEmpty())
- + return;
- +
- + createSubPledge(player, cmdParams, null, L2Clan.SUBUNIT_ACADEMY, 5);
- + }
- + else if (actualCommand.equalsIgnoreCase("rename_pledge"))
- + {
- + if (cmdParams.isEmpty() || cmdParams2.isEmpty())
- + return;
- +
- + renameSubPledge(player, Integer.valueOf(cmdParams), cmdParams2);
- + }
- + else if (actualCommand.equalsIgnoreCase("create_royal"))
- + {
- + if (cmdParams.isEmpty())
- + return;
- +
- + createSubPledge(player, cmdParams, cmdParams2, L2Clan.SUBUNIT_ROYAL1, 6);
- + }
- + else if (actualCommand.equalsIgnoreCase("create_knight"))
- + {
- + if (cmdParams.isEmpty())
- + return;
- +
- + createSubPledge(player, cmdParams, cmdParams2, L2Clan.SUBUNIT_KNIGHT1, 7);
- + }
- + else if (actualCommand.equalsIgnoreCase("assign_subpl_leader"))
- + {
- + if (cmdParams.isEmpty())
- + return;
- +
- + assignSubPledgeLeader(player, cmdParams, cmdParams2);
- + }
- + else if (actualCommand.equalsIgnoreCase("create_ally"))
- + {
- + if (cmdParams.isEmpty())
- + return;
- +
- + if (player.getClan() == null)
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CREATE_ALLIANCE));
- + else
- + player.getClan().createAlly(player, cmdParams);
- + }
- + else if (actualCommand.equalsIgnoreCase("dissolve_ally"))
- + {
- + player.getClan().dissolveAlly(player);
- + }
- + else if (actualCommand.equalsIgnoreCase("dissolve_clan"))
- + {
- + dissolveClan(player, player.getClanId());
- + }
- + else if (actualCommand.equalsIgnoreCase("change_clan_leader"))
- + {
- + if (cmdParams.isEmpty())
- + return;
- +
- + changeClanLeader(player, cmdParams);
- + }
- + else if (actualCommand.equalsIgnoreCase("recover_clan"))
- + {
- + recoverClan(player, player.getClanId());
- + }
- + else if (actualCommand.equalsIgnoreCase("increase_clan_level"))
- + {
- + if (player.getClan().levelUpClan(player))
- + {
- + player.broadcastPacket(new MagicSkillUse(player, 5103, 1, 0, 0));
- + player.broadcastPacket(new MagicSkillLaunched(player, 5103, 1));
- + }
- + }
- + else if (actualCommand.equalsIgnoreCase("learn_clan_skills"))
- + {
- + showPledgeSkillList(player);
- + }
- + else if (command.startsWith("Subclass"))
- + {
- + // Subclasses may not be changed while a skill is in use.
- + if (player.isCastingNow() || player.isAllSkillsDisabled())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SUBCLASS_NO_CHANGE_OR_CREATE_WHILE_SKILL_IN_USE));
- + return;
- + }
- +
- + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- +
- + if (player.getTransformation() != null)
- + {
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_NoTransformed.htm");
- + player.sendPacket(html);
- + return;
- + }
- +
- + int cmdChoice = 0;
- + int paramOne = 0;
- + int paramTwo = 0;
- +
- + try
- + {
- + cmdChoice = Integer.parseInt(command.substring(9, 10).trim());
- +
- + int endIndex = command.indexOf(' ', 11);
- + if (endIndex == -1)
- + endIndex = command.length();
- +
- + paramOne = Integer.parseInt(command.substring(11, endIndex).trim());
- + if (command.length() > endIndex)
- + paramTwo = Integer.parseInt(command.substring(endIndex).trim());
- + }
- + catch (Exception NumberFormatException)
- + {
- + }
- +
- + switch (cmdChoice)
- + {
- + case 0: // Subclass change menu
- + html.setFile(player.getHtmlPrefix(), getSubClassMenu(player.getRace()));
- + break;
- + case 1: // Add Subclass - Initial
- + // Avoid giving player an option to add a new sub class, if they have three already.
- + if (player.getTotalSubClasses() >= Config.MAX_SUBCLASS)
- + {
- + html.setFile(player.getHtmlPrefix(), getSubClassFail());
- + break;
- + }
- +
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_Add.htm");
- + final StringBuilder content1 = StringUtil.startAppend(200);
- + Set<PlayerClass> subsAvailable = getAvailableSubClasses(player);
- +
- + if (subsAvailable != null && !subsAvailable.isEmpty())
- + {
- + for (PlayerClass subClass : subsAvailable)
- + {
- + StringUtil.append(content1, "<a action=\"bypass -h npc_%objectId%_Subclass 4 ", String.valueOf(subClass.ordinal()), "\" msg=\"1268;", formatClassForDisplay(subClass), "\">", formatClassForDisplay(subClass), "</a><br>");
- + }
- + }
- + else
- + {
- + // TODO: Retail message
- + player.sendMessage("There are no sub classes available at this time.");
- + return;
- + }
- + html.replace("%list%", content1.toString());
- + break;
- + case 2: // Change Class - Initial
- + if (player.getSubClasses().isEmpty())
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ChangeNo.htm");
- + else
- + {
- + final StringBuilder content2 = StringUtil.startAppend(200);
- +
- + if (checkVillageMaster(player.getBaseClass()))
- + {
- + StringUtil.append(content2, "<a action=\"bypass -h npc_%objectId%_Subclass 5 0\">", CharTemplateTable.getInstance().getClassNameById(player.getBaseClass()), "</a><br>");
- + }
- +
- + for (Iterator<SubClass> subList = iterSubClasses(player); subList.hasNext();)
- + {
- + SubClass subClass = subList.next();
- + if (checkVillageMaster(subClass.getClassDefinition()))
- + {
- + StringUtil.append(content2, "<a action=\"bypass -h npc_%objectId%_Subclass 5 ", String.valueOf(subClass.getClassIndex()), "\">", formatClassForDisplay(subClass.getClassDefinition()), "</a><br>");
- + }
- + }
- +
- + if (content2.length() > 0)
- + {
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_Change.htm");
- + html.replace("%list%", content2.toString());
- + }
- + else
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ChangeNotFound.htm");
- + }
- + break;
- + case 3: // Change/Cancel Subclass - Initial
- + if (player.getSubClasses() == null || player.getSubClasses().isEmpty())
- + {
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyEmpty.htm");
- + break;
- + }
- +
- + // custom value
- + if (player.getTotalSubClasses() > 3)
- + {
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyCustom.htm");
- + final StringBuilder content3 = StringUtil.startAppend(200);
- + int classIndex = 1;
- +
- + for (Iterator<SubClass> subList = iterSubClasses(player); subList.hasNext();)
- + {
- + SubClass subClass = subList.next();
- +
- + StringUtil.append(content3, "Sub-class ", String.valueOf(classIndex++), "<br>", "<a action=\"bypass -h npc_%objectId%_Subclass 6 ", String.valueOf(subClass.getClassIndex()), "\">", CharTemplateTable.getInstance().getClassNameById(subClass.getClassId()), "</a><br>");
- + }
- + html.replace("%list%", content3.toString());
- + }
- + else
- + {
- + // retail html contain only 3 subclasses
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_Modify.htm");
- + if (player.getSubClasses().containsKey(1))
- + html.replace("%sub1%", CharTemplateTable.getInstance().getClassNameById(player.getSubClasses().get(1).getClassId()));
- + else
- + html.replace("<a action=\"bypass -h npc_%objectId%_Subclass 6 1\">%sub1%</a><br>", "");
- +
- + if (player.getSubClasses().containsKey(2))
- + html.replace("%sub2%", CharTemplateTable.getInstance().getClassNameById(player.getSubClasses().get(2).getClassId()));
- + else
- + html.replace("<a action=\"bypass -h npc_%objectId%_Subclass 6 2\">%sub2%</a><br>", "");
- +
- + if (player.getSubClasses().containsKey(3))
- + html.replace("%sub3%", CharTemplateTable.getInstance().getClassNameById(player.getSubClasses().get(3).getClassId()));
- + else
- + html.replace("<a action=\"bypass -h npc_%objectId%_Subclass 6 3\">%sub3%</a><br>", "");
- + }
- + break;
- + case 4: // Add Subclass - Action (Subclass 4 x[x])
- + /*
- + * If the character is less than level 75 on any of their previously chosen
- + * classes then disallow them to change to their most recently added sub-class choice.
- + */
- +
- + if (!player.getFloodProtectors().getSubclass().tryPerformAction("add subclass"))
- + {
- + _log.warning("Player " + player.getName() + " has performed a subclass change too fast");
- + return;
- + }
- +
- + boolean allowAddition = true;
- +
- + if (player.getTotalSubClasses() >= Config.MAX_SUBCLASS)
- + allowAddition = false;
- +
- + if (player.getLevel() < 75)
- + allowAddition = false;
- +
- + if (allowAddition)
- + {
- + if (!player.getSubClasses().isEmpty())
- + {
- + for (Iterator<SubClass> subList = iterSubClasses(player); subList.hasNext();)
- + {
- + SubClass subClass = subList.next();
- +
- + if (subClass.getLevel() < 75)
- + {
- + allowAddition = false;
- + break;
- + }
- + }
- + }
- + }
- +
- + /*
- + * If quest checking is enabled, verify if the character has completed the Mimir's Elixir (Path to Subclass)
- + * and Fate's Whisper (A Grade Weapon) quests by checking for instances of their unique reward items.
- + *
- + * If they both exist, remove both unique items and continue with adding the sub-class.
- + */
- + if (allowAddition && !Config.ALT_GAME_SUBCLASS_WITHOUT_QUESTS)
- + allowAddition = checkQuests(player);
- +
- + if (allowAddition && isValidNewSubClass(player, paramOne))
- + {
- + if (!player.addSubClass(paramOne, player.getTotalSubClasses() + 1))
- + return;
- +
- + player.setActiveClass(player.getTotalSubClasses());
- +
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_AddOk.htm");
- +
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)); // Subclass added.
- + }
- + else
- + html.setFile(player.getHtmlPrefix(), getSubClassFail());
- + break;
- + case 5: // Change Class - Action
- + /*
- + * If the character is less than level 75 on any of their previously chosen
- + * classes then disallow them to change to their most recently added sub-class choice.
- + *
- + * Note: paramOne = classIndex
- + */
- +
- + if (!player.getFloodProtectors().getSubclass().tryPerformAction("change class"))
- + {
- + _log.warning("Player " + player.getName() + " has performed a subclass change too fast");
- + return;
- + }
- +
- + if (player.getClassIndex() == paramOne)
- + {
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_Current.htm");
- + break;
- + }
- +
- + if (paramOne == 0)
- + {
- + if (!checkVillageMaster(player.getBaseClass()))
- + return;
- + }
- + else
- + {
- + try
- + {
- + if (!checkVillageMaster(player.getSubClasses().get(paramOne).getClassDefinition()))
- + return;
- + }
- + catch (NullPointerException e)
- + {
- + return;
- + }
- + }
- +
- + player.setActiveClass(paramOne);
- +
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SUBCLASS_TRANSFER_COMPLETED)); // Transfer completed.
- + return;
- + case 6: // Change/Cancel Subclass - Choice
- + // validity check
- + if (paramOne < 1 || paramOne > Config.MAX_SUBCLASS)
- + return;
- +
- + subsAvailable = getAvailableSubClasses(player);
- +
- + // another validity check
- + if (subsAvailable == null || subsAvailable.isEmpty())
- + {
- + // TODO: Retail message
- + player.sendMessage("There are no sub classes available at this time.");
- + return;
- + }
- +
- + final StringBuilder content6 = StringUtil.startAppend(200);
- +
- + for (PlayerClass subClass : subsAvailable)
- + {
- + StringUtil.append(content6, "<a action=\"bypass -h npc_%objectId%_Subclass 7 ", String.valueOf(paramOne), " ", String.valueOf(subClass.ordinal()), "\" msg=\"1445;", "\">", formatClassForDisplay(subClass), "</a><br>");
- + }
- +
- + switch (paramOne)
- + {
- + case 1:
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyChoice1.htm");
- + break;
- + case 2:
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyChoice2.htm");
- + break;
- + case 3:
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyChoice3.htm");
- + break;
- + default:
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyChoice.htm");
- + }
- + html.replace("%list%", content6.toString());
- + break;
- + case 7: // Change Subclass - Action
- + /*
- + * Warning: the information about this subclass will be removed from the
- + * subclass list even if false!
- + */
- +
- + if (!player.getFloodProtectors().getSubclass().tryPerformAction("change class"))
- + {
- + _log.warning("Player " + player.getName() + " has performed a subclass change too fast");
- + return;
- + }
- +
- + if (!isValidNewSubClass(player, paramTwo))
- + return;
- +
- + if (player.modifySubClass(paramOne, paramTwo))
- + {
- + player.abortCast();
- + player.stopAllEffectsExceptThoseThatLastThroughDeath(); // all effects from old subclass stopped!
- + player.stopCubics();
- + player.setActiveClass(paramOne);
- +
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyOk.htm");
- + html.replace("%name%", CharTemplateTable.getInstance().getClassNameById(paramTwo));
- +
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)); // Subclass added.
- + }
- + else
- + {
- + /*
- + * This isn't good! modifySubClass() removed subclass from memory
- + * we must update _classIndex! Else IndexOutOfBoundsException can turn
- + * up some place down the line along with other seemingly unrelated
- + * problems.
- + */
- + player.setActiveClass(0); // Also updates _classIndex plus switching _classid to baseclass.
- +
- + player.sendMessage("The sub class could not be added, you have been reverted to your base class.");
- + return;
- + }
- + break;
- + }
- +
- + html.replace("%objectId%", String.valueOf(getObjectId()));
- + player.sendPacket(html);
- + }
- + else if (command.startsWith("LearnSubClassSkill"))
- + {
- + if (player.isSubClassActive())
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation008.htm");
- + player.sendPacket(html);
- + }
- + else
- + {
- + boolean hasItems = false;
- + for (int i : _itemsIds)
- + {
- + if (player.getInventory().getItemByItemId(i) != null)
- + {
- + hasItems = true;
- + break;
- + }
- + }
- + if (hasItems)
- + {
- + showSubClassSkillList(player);
- + }
- + else
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation008.htm");
- + player.sendPacket(html);
- + }
- + }
- + return;
- + }
- + else if (command.startsWith("CancelCertification"))
- + {
- + final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + if (player.getSubClasses().size() == 0)
- + {
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation007.htm");
- + }
- + else if (player.isSubClassActive())
- + {
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation008.htm");
- + }
- + else if (player.getAdena() < feeDeleteSubClassSkills)
- + {
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation008no.htm");
- + }
- + else
- + {
- + QuestState st = player.getQuestState("SubClassSkills");
- + if (st == null)
- + {
- + st = QuestManager.getInstance().getQuest("SubClassSkills").newQuestState(player);
- + }
- +
- + int activeCertifications = 0;
- + for (String varName : _questVarNames)
- + {
- + for (int i = 1; i <= Config.MAX_SUBCLASS; i++)
- + {
- + String qvar = st.getGlobalQuestVar(varName + i);
- + if (!qvar.isEmpty() && (qvar.endsWith(";") || !qvar.equals("0")))
- + {
- + activeCertifications++;
- + }
- + }
- + }
- + if (activeCertifications == 0)
- + {
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation010no.htm");
- + }
- + else
- + {
- + for (String varName : _questVarNames)
- + {
- + for (int i = 1; i <= Config.MAX_SUBCLASS; i++)
- + {
- + final String qvarName = varName + i;
- + final String qvar = st.getGlobalQuestVar(qvarName);
- + if (qvar.endsWith(";"))
- + {
- + final String skillIdVar = qvar.replace(";", "");
- + if (Util.isDigit(skillIdVar))
- + {
- + int skillId = Integer.parseInt(skillIdVar);
- + final L2Skill sk = SkillTable.getInstance().getInfo(skillId, 1);
- + if (sk != null)
- + {
- + player.removeSkill(sk);
- + st.saveGlobalQuestVar(qvarName, "0");
- + }
- + }
- + else
- + {
- + _log.warning("Invalid Sub-Class Skill Id: " + skillIdVar + " for player " + player.getName() + "!");
- + }
- + }
- + else if (!qvar.isEmpty() && !qvar.equals("0"))
- + {
- + if (Util.isDigit(qvar))
- + {
- + final int itemObjId = Integer.parseInt(qvar);
- + L2ItemInstance itemInstance = player.getInventory().getItemByObjectId(itemObjId);
- + if (itemInstance != null)
- + {
- + player.destroyItem("CancelCertification", itemObjId, 1, player, false);
- + }
- + else
- + {
- + itemInstance = player.getWarehouse().getItemByObjectId(itemObjId);
- + if (itemInstance != null)
- + {
- + _log.warning("Somehow " + player.getName() + " put a certification book into warehouse!");
- + player.getWarehouse().destroyItem("CancelCertification", itemInstance, 1, player, false);
- + }
- + else
- + {
- + _log.warning("Somehow " + player.getName() + " deleted a certification book!");
- + }
- + }
- + st.saveGlobalQuestVar(qvarName, "0");
- + }
- + else
- + {
- + _log.warning("Invalid item object Id: " + qvar + " for player " + player.getName() + "!");
- + }
- + }
- + }
- + }
- + st.takeItems(57, 10000000);
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation009no.htm");
- + player.sendSkillList();
- + }
- +
- + //Let's consume all certification books, even those not present in database.
- + L2ItemInstance itemInstance = null;
- + for (int itemId : _itemsIds)
- + {
- + itemInstance = player.getInventory().getItemByItemId(itemId);
- + if (itemInstance != null)
- + {
- + _log.warning(L2TransformManagerInstance.class.getName() + ": player " + player + " had 'extra' certification skill books while cancelling sub-class certifications!");
- + player.destroyItem("CancelCertificationExtraBooks", itemInstance, this, false);
- + }
- + }
- + }
- + player.sendPacket(html);
- + return;
- + }
- + if (command.startsWith("LearnTransformationSkill"))
- + {
- + if (canTransform(player))
- + {
- + L2TransformManagerInstance.showTransformSkillList(player);
- + }
- + else
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation003.htm");
- + player.sendPacket(html);
- + }
- + return;
- + }
- + else if (command.startsWith("BuyTransformationItems"))
- + {
- + if (canTransform(player))
- + {
- + MultiSell.getInstance().separateAndSend(32323001, player, this, false);
- + }
- + else
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + html.setFile(player.getHtmlPrefix(), htmlFolder + "master_transformation004.htm");
- + player.sendPacket(html);
- + }
- + return;
- + }
- + else
- + {
- + // this class dont know any other commands, let forward
- + // the command to the parent class
- + super.onBypassFeedback(player, command);
- + }
- + }
- +
- + private String getSubClassMenu(Race pRace)
- + {
- + if (Config.ALT_GAME_SUBCLASS_EVERYWHERE || pRace != Race.Kamael)
- + return "data/html/villagemaster/SubClass.htm";
- +
- + return "data/html/villagemaster/SubClass_NoOther.htm";
- + }
- +
- + private String getSubClassFail()
- + {
- + return "data/html/villagemaster/SubClass_Fail.htm";
- + }
- +
- + private final Set<PlayerClass> getAvailableSubClasses(L2PcInstance player)
- + {
- + // get player base class
- + final int currentBaseId = player.getBaseClass();
- + final ClassId baseCID = ClassId.values()[currentBaseId];
- +
- + // we need 2nd occupation ID
- + final int baseClassId;
- + if (baseCID.level() > 2)
- + baseClassId = baseCID.getParent().ordinal();
- + else
- + baseClassId = currentBaseId;
- +
- + Set<PlayerClass> availSubs = PlayerClass.values()[baseClassId].getAvailableSubclasses(player);
- +
- + if (availSubs != null && !availSubs.isEmpty())
- + {
- + for (Iterator<PlayerClass> availSub = availSubs.iterator(); availSub.hasNext();)
- + {
- + PlayerClass pclass = availSub.next();
- +
- + // check for the village master
- + if (!checkVillageMaster(pclass))
- + {
- + availSub.remove();
- + continue;
- + }
- +
- + // scan for already used subclasses
- + int availClassId = pclass.ordinal();
- + ClassId cid = ClassId.values()[availClassId];
- + for (Iterator<SubClass> subList = iterSubClasses(player); subList.hasNext();)
- + {
- + SubClass prevSubClass = subList.next();
- + ClassId subClassId = ClassId.values()[prevSubClass.getClassId()];
- +
- + if (subClassId.equalsOrChildOf(cid))
- + {
- + availSub.remove();
- + break;
- + }
- + }
- + }
- + }
- +
- + return availSubs;
- + }
- +
- + private static final String formatClassForDisplay(PlayerClass className)
- + {
- + String classNameStr = className.toString();
- + char[] charArray = classNameStr.toCharArray();
- +
- + for (int i = 1; i < charArray.length; i++)
- + {
- + if (Character.isUpperCase(charArray[i]))
- + classNameStr = classNameStr.substring(0, i) + " " + classNameStr.substring(i);
- + }
- +
- + return classNameStr;
- + }
- +
- + private final boolean checkVillageMaster(PlayerClass pclass)
- + {
- + if (Config.ALT_GAME_SUBCLASS_EVERYWHERE)
- + return true;
- +
- + return checkVillageMasterRace(pclass) && checkVillageMasterTeachType(pclass);
- + }
- +
- + private final boolean checkVillageMaster(int classId)
- + {
- + return checkVillageMaster(PlayerClass.values()[classId]);
- + }
- +
- + private static final Iterator<SubClass> iterSubClasses(L2PcInstance player)
- + {
- + return player.getSubClasses().values().iterator();
- + }
- +
- + private boolean checkQuests(L2PcInstance player)
- + {
- + // Noble players can add subbclasses without quests
- + if (player.isNoble())
- + return true;
- +
- + QuestState qs = player.getQuestState("234_FatesWhisper");
- + if (qs == null || !qs.isCompleted())
- + return false;
- +
- + qs = player.getQuestState("235_MimirsElixir");
- + if (qs == null || !qs.isCompleted())
- + return false;
- +
- + return true;
- + }
- +
- + private final boolean isValidNewSubClass(L2PcInstance player, int classId)
- + {
- + if (!checkVillageMaster(classId))
- + return false;
- +
- + final ClassId cid = ClassId.values()[classId];
- + for (Iterator<SubClass> subList = iterSubClasses(player); subList.hasNext();)
- + {
- + SubClass sub = subList.next();
- + ClassId subClassId = ClassId.values()[sub.getClassId()];
- +
- + if (subClassId.equalsOrChildOf(cid))
- + return false;
- + }
- +
- + // get player base class
- + final int currentBaseId = player.getBaseClass();
- + final ClassId baseCID = ClassId.values()[currentBaseId];
- +
- + // we need 2nd occupation ID
- + final int baseClassId;
- + if (baseCID.level() > 2)
- + baseClassId = baseCID.getParent().ordinal();
- + else
- + baseClassId = currentBaseId;
- +
- + Set<PlayerClass> availSubs = PlayerClass.values()[baseClassId].getAvailableSubclasses(player);
- + if (availSubs == null || availSubs.isEmpty())
- + return false;
- +
- + boolean found = false;
- + for (Iterator<PlayerClass> availSub = availSubs.iterator(); availSub.hasNext();)
- + {
- + PlayerClass pclass = availSub.next();
- + if (pclass.ordinal() == classId)
- + {
- + found = true;
- + break;
- + }
- + }
- +
- + return found;
- + }
- +
- + private boolean checkVillageMasterRace(PlayerClass pclass)
- + {
- + return true;
- + }
- +
- + private boolean checkVillageMasterTeachType(PlayerClass pclass)
- + {
- + return true;
- + }
- +
- + private static final void createSubPledge(L2PcInstance player, String clanName, String leaderName, int pledgeType, int minClanLvl)
- + {
- + if (!player.isClanLeader())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
- + return;
- + }
- +
- + final L2Clan clan = player.getClan();
- + if (clan.getLevel() < minClanLvl)
- + {
- + if (pledgeType == L2Clan.SUBUNIT_ACADEMY)
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_CLAN_ACADEMY));
- + else
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_MILITARY_UNIT));
- +
- + return;
- + }
- + if (!Util.isAlphaNumeric(clanName) || 2 > clanName.length())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
- + return;
- + }
- + if (clanName.length() > 16)
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
- + return;
- + }
- +
- + for (L2Clan tempClan : ClanTable.getInstance().getClans())
- + {
- + if (tempClan.getSubPledge(clanName) != null)
- + {
- + if (pledgeType == L2Clan.SUBUNIT_ACADEMY)
- + {
- + SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ALREADY_EXISTS);
- + sm.addString(clanName);
- + player.sendPacket(sm);
- + sm = null;
- + }
- + else
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ANOTHER_MILITARY_UNIT_IS_ALREADY_USING_THAT_NAME));
- +
- + return;
- + }
- + }
- +
- + if (pledgeType != L2Clan.SUBUNIT_ACADEMY)
- + {
- + if (clan.getClanMember(leaderName) == null || clan.getClanMember(leaderName).getPledgeType() != 0)
- + {
- + if (pledgeType >= L2Clan.SUBUNIT_KNIGHT1)
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ORDER_OF_KNIGHTS_CANNOT_BE_APPOINTED));
- + else if (pledgeType >= L2Clan.SUBUNIT_ROYAL1)
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
- +
- + return;
- + }
- + }
- +
- + final int leaderId = pledgeType != L2Clan.SUBUNIT_ACADEMY ? clan.getClanMember(leaderName).getObjectId() : 0;
- +
- + if (clan.createSubPledge(player, pledgeType, leaderId, clanName) == null)
- + return;
- +
- + SystemMessage sm;
- + if (pledgeType == L2Clan.SUBUNIT_ACADEMY)
- + {
- + sm = SystemMessage.getSystemMessage(SystemMessageId.THE_S1S_CLAN_ACADEMY_HAS_BEEN_CREATED);
- + sm.addString(player.getClan().getName());
- + }
- + else if (pledgeType >= L2Clan.SUBUNIT_KNIGHT1)
- + {
- + sm = SystemMessage.getSystemMessage(SystemMessageId.THE_KNIGHTS_OF_S1_HAVE_BEEN_CREATED);
- + sm.addString(player.getClan().getName());
- + }
- + else if (pledgeType >= L2Clan.SUBUNIT_ROYAL1)
- + {
- + sm = SystemMessage.getSystemMessage(SystemMessageId.THE_ROYAL_GUARD_OF_S1_HAVE_BEEN_CREATED);
- + sm.addString(player.getClan().getName());
- + }
- + else
- + sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_CREATED);
- + player.sendPacket(sm);
- +
- + if (pledgeType != L2Clan.SUBUNIT_ACADEMY)
- + {
- + final L2ClanMember leaderSubPledge = clan.getClanMember(leaderName);
- + final L2PcInstance leaderPlayer = leaderSubPledge.getPlayerInstance();
- + if (leaderPlayer != null)
- + {
- + leaderPlayer.setPledgeClass(leaderSubPledge.calculatePledgeClass(leaderPlayer));
- + leaderPlayer.sendPacket(new UserInfo(leaderPlayer));
- + leaderPlayer.sendPacket(new ExBrExtraUserInfo(leaderPlayer));
- + }
- + }
- + }
- +
- + private static final void renameSubPledge(L2PcInstance player, int pledgeType, String pledgeName)
- + {
- + if (!player.isClanLeader())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
- + return;
- + }
- +
- + final L2Clan clan = player.getClan();
- + final SubPledge subPledge = player.getClan().getSubPledge(pledgeType);
- +
- + if (subPledge == null)
- + {
- + player.sendMessage("Pledge don't exists.");
- + return;
- + }
- + if (!Util.isAlphaNumeric(pledgeName) || 2 > pledgeName.length())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
- + return;
- + }
- + if (pledgeName.length() > 16)
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
- + return;
- + }
- +
- + subPledge.setName(pledgeName);
- + clan.updateSubPledgeInDB(subPledge.getId());
- + clan.broadcastClanStatus();
- + player.sendMessage("Pledge name changed.");
- + }
- +
- + private static final void assignSubPledgeLeader(L2PcInstance player, String clanName, String leaderName)
- + {
- + if (!player.isClanLeader())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
- + return;
- + }
- + if (leaderName.length() > 16)
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NAMING_CHARNAME_UP_TO_16CHARS));
- + return;
- + }
- + if (player.getName().equals(leaderName))
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
- + return;
- + }
- +
- + final L2Clan clan = player.getClan();
- + final SubPledge subPledge = player.getClan().getSubPledge(clanName);
- +
- + if (null == subPledge || subPledge.getId() == L2Clan.SUBUNIT_ACADEMY)
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
- + return;
- + }
- + if (clan.getClanMember(leaderName) == null || (clan.getClanMember(leaderName).getPledgeType() != 0))
- + {
- + if (subPledge.getId() >= L2Clan.SUBUNIT_KNIGHT1)
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ORDER_OF_KNIGHTS_CANNOT_BE_APPOINTED));
- + else if (subPledge.getId() >= L2Clan.SUBUNIT_ROYAL1)
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
- +
- + return;
- + }
- +
- + subPledge.setLeaderId(clan.getClanMember(leaderName).getObjectId());
- + clan.updateSubPledgeInDB(subPledge.getId());
- +
- + final L2ClanMember leaderSubPledge = clan.getClanMember(leaderName);
- + final L2PcInstance leaderPlayer = leaderSubPledge.getPlayerInstance();
- + if (leaderPlayer != null)
- + {
- + leaderPlayer.setPledgeClass(leaderSubPledge.calculatePledgeClass(leaderPlayer));
- + leaderPlayer.sendPacket(new UserInfo(leaderPlayer));
- + leaderPlayer.sendPacket(new ExBrExtraUserInfo(leaderPlayer));
- + }
- +
- + clan.broadcastClanStatus();
- + SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_BEEN_SELECTED_AS_CAPTAIN_OF_S2);
- + sm.addString(leaderName);
- + sm.addString(clanName);
- + clan.broadcastToOnlineMembers(sm);
- + sm = null;
- + }
- +
- + /**
- + * this displays PledgeSkillList to the player.
- + * @param player
- + */
- + private static final void showPledgeSkillList(L2PcInstance player)
- + {
- + if (player.getClan() == null || !player.isClanLeader())
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(1);
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/NotClanLeader.htm");
- + player.sendPacket(html);
- + player.sendPacket(ActionFailed.STATIC_PACKET);
- + return;
- + }
- +
- + final FastList<L2SkillLearn> skills = SkillTreesData.getInstance().getAvailablePledgeSkills(player.getClan());
- + final AcquireSkillList asl = new AcquireSkillList(SkillType.Pledge);
- + int counts = 0;
- +
- + for (L2SkillLearn s : skills)
- + {
- + asl.addSkill(s.getSkillId(), s.getSkillLevel(), s.getSkillLevel(), s.getLevelUpSp(), s.getSocialClass());
- + counts++;
- + }
- +
- + if (counts == 0)
- + {
- + if (player.getClan().getLevel() < 8)
- + {
- + SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN_S1);
- + if (player.getClan().getLevel() < 5)
- + sm.addNumber(5);
- + else
- + sm.addNumber(player.getClan().getLevel() + 1);
- + player.sendPacket(sm);
- + }
- + else
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(1);
- + html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/NoMoreSkills.htm");
- + player.sendPacket(html);
- + }
- + }
- + else
- + {
- + player.sendPacket(asl);
- + }
- + player.sendPacket(ActionFailed.STATIC_PACKET);
- + }
- +
- + private static final void dissolveClan(L2PcInstance player, int clanId)
- + {
- + if (!player.isClanLeader())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
- + return;
- + }
- +
- + final L2Clan clan = player.getClan();
- + if (clan.getAllyId() != 0)
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY));
- + return;
- + }
- + if (clan.isAtWar())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_WAR));
- + return;
- + }
- + if (clan.getHasCastle() != 0 || clan.getHasHideout() != 0 || clan.getHasFort() != 0)
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_OWNING_CLAN_HALL_OR_CASTLE));
- + return;
- + }
- +
- + for (Castle castle : CastleManager.getInstance().getCastles())
- + {
- + if (SiegeManager.getInstance().checkIsRegistered(clan, castle.getCastleId()))
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
- + return;
- + }
- + }
- + for (Fort fort : FortManager.getInstance().getForts())
- + {
- + if (FortSiegeManager.getInstance().checkIsRegistered(clan, fort.getFortId()))
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
- + return;
- + }
- + }
- +
- + if (player.isInsideZone(L2PcInstance.ZONE_SIEGE))
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
- + return;
- + }
- + if (clan.getDissolvingExpiryTime() > System.currentTimeMillis())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.DISSOLUTION_IN_PROGRESS));
- + return;
- + }
- +
- + clan.setDissolvingExpiryTime(System.currentTimeMillis() + Config.ALT_CLAN_DISSOLVE_DAYS * 86400000L); //24*60*60*1000 = 86400000
- + clan.updateClanInDB();
- +
- + ClanTable.getInstance().scheduleRemoveClan(clan.getClanId());
- +
- + player.sendMessage("Your clan will be dissolved after " + Config.ALT_CLAN_DISSOLVE_DAYS + " days");
- +
- + // The clan leader should take the XP penalty of a full death.
- + player.deathPenalty(false, false, false);
- + }
- +
- + private static final void recoverClan(L2PcInstance player, int clanId)
- + {
- + if (!player.isClanLeader())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
- + return;
- + }
- +
- + final L2Clan clan = player.getClan();
- + clan.setDissolvingExpiryTime(0);
- + clan.updateClanInDB();
- +
- + player.sendMessage("Your clan deletion has been canceled");
- + }
- +
- + private static final void changeClanLeader(L2PcInstance player, String target)
- + {
- + if (!player.isClanLeader())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
- + return;
- + }
- + if (player.getName().equalsIgnoreCase(target))
- + return;
- + /*
- + * Until proper clan leader change support is done, this is a little
- + * exploit fix (leader, while fliying wyvern changes clan leader and the new leader
- + * can ride the wyvern too)
- + * DrHouse
- + */
- + if (player.isFlying())
- + {
- + player.sendMessage("Please, stop flying");
- + return;
- + }
- +
- + final L2Clan clan = player.getClan();
- +
- + final L2ClanMember member = clan.getClanMember(target);
- + if (member == null)
- + {
- + SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DOES_NOT_EXIST);
- + sm.addString(target);
- + player.sendPacket(sm);
- + sm = null;
- + return;
- + }
- + if (!member.isOnline())
- + {
- + player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INVITED_USER_NOT_ONLINE));
- + return;
- + }
- + clan.setNewLeader(member);
- + }
- +
- + public static void showSubClassSkillList(L2PcInstance player)
- + {
- + final FastList<L2SkillLearn> subClassSkills = SkillTreesData.getInstance().getAvailableSubClassSkills(player);
- + final AcquireSkillList asl = new AcquireSkillList(AcquireSkillList.SkillType.SubClass);
- + int count = 0;
- +
- + for (L2SkillLearn s : subClassSkills)
- + {
- + final L2Skill sk = SkillTable.getInstance().getInfo(s.getSkillId(), s.getSkillLevel());
- + if (sk != null)
- + {
- + count++;
- + asl.addSkill(s.getSkillId(), s.getSkillLevel(), s.getSkillLevel(), 0, 0);
- + }
- + }
- + if (count > 0)
- + {
- + player.sendPacket(asl);
- + }
- + else
- + {
- + player.sendPacket(SystemMessageId.NO_MORE_SKILLS_TO_LEARN);
- + }
- + }
- +
- + private static boolean canTransform(L2PcInstance player)
- + {
- + if (Config.ALLOW_TRANSFORM_WITHOUT_QUEST)
- + {
- + return true;
- + }
- + final QuestState st = player.getQuestState("136_MoreThanMeetsTheEye");
- + if ((st != null) && st.isCompleted())
- + {
- + return true;
- + }
- + return false;
- + }
- +
- + public void showChatWindow(L2PcInstance player, int val, String suffix)
- + {
- + String filename = Olympiad.OLYMPIAD_HTML_PATH;
- +
- + filename += "noble_desc" + val;
- + filename += (suffix != null) ? suffix + ".htm" : ".htm";
- +
- + if (filename.equals(Olympiad.OLYMPIAD_HTML_PATH + "noble_desc0.htm"))
- + filename = Olympiad.OLYMPIAD_HTML_PATH + "noble_main.htm";
- +
- + showChatWindow(player, filename);
- + }
- +}
- Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy)
- @@ -93,6 +93,7 @@
- import com.l2jserver.gameserver.instancemanager.TerritoryWarManager;
- import com.l2jserver.gameserver.model.BlockList;
- import com.l2jserver.gameserver.model.CharEffectList;
- +import com.l2jserver.gameserver.model.CharacterAchievementSystem;
- import com.l2jserver.gameserver.model.Elementals;
- import com.l2jserver.gameserver.model.FishData;
- import com.l2jserver.gameserver.model.L2AccessLevel;
- @@ -270,6 +271,8 @@
- import com.l2jserver.gameserver.util.Util;
- import com.l2jserver.util.Rnd;
- +import custom.PlayerKill.PlayerKill;
- +
- /**
- * This class represents all player characters in the world.
- * There is always a client-thread connected to this (except if a player-store is activated upon logout).<BR><BR>
- @@ -301,7 +304,6 @@
- private static final String RESTORE_TP_BOOKMARK = "SELECT Id,x,y,z,icon,tag,name FROM character_tpbookmark WHERE charId=?";
- private static final String DELETE_TP_BOOKMARK = "DELETE FROM character_tpbookmark WHERE charId=? AND Id=?";
- -
- // Character Subclass SQL String Definitions:
- private static final String RESTORE_CHAR_SUBCLASSES = "SELECT class_id,exp,sp,level,class_index FROM character_subclasses WHERE charId=? ORDER BY class_index ASC";
- private static final String ADD_CHAR_SUBCLASS = "INSERT INTO character_subclasses (charId,class_id,exp,sp,level,class_index) VALUES (?,?,?,?,?,?)";
- @@ -454,11 +456,7 @@
- public enum PunishLevel
- {
- - NONE(0, ""),
- - CHAT(1, "chat banned"),
- - JAIL(2, "jailed"),
- - CHAR(3, "banned"),
- - ACC(4, "banned");
- + NONE(0, ""), CHAT(1, "chat banned"), JAIL(2, "jailed"), CHAR(3, "banned"), ACC(4, "banned");
- private final int punValue;
- private final String punString;
- @@ -659,12 +657,12 @@
- private L2AccessLevel _accessLevel;
- - private boolean _messageRefusal = false; // message refusal mode
- + private boolean _messageRefusal = false; // message refusal mode
- - private boolean _silenceMode = false; // silence mode
- - private boolean _dietMode = false; // ignore weight penalty
- - private boolean _tradeRefusal = false; // Trade refusal
- - private boolean _exchangeRefusal = false; // Exchange refusal
- + private boolean _silenceMode = false; // silence mode
- + private boolean _dietMode = false; // ignore weight penalty
- + private boolean _tradeRefusal = false; // Trade refusal
- + private boolean _exchangeRefusal = false; // Exchange refusal
- private L2Party _party;
- @@ -678,10 +676,19 @@
- // Used for protection after teleport
- private long _protectEndTime = 0;
- - public boolean isSpawnProtected() { return _protectEndTime > GameTimeController.getGameTicks(); }
- +
- + public boolean isSpawnProtected()
- + {
- + return _protectEndTime > GameTimeController.getGameTicks();
- + }
- +
- private long _teleportProtectEndTime = 0;
- - public boolean isTeleportProtected() { return _teleportProtectEndTime > GameTimeController.getGameTicks(); }
- + public boolean isTeleportProtected()
- + {
- + return _teleportProtectEndTime > GameTimeController.getGameTicks();
- + }
- +
- // protects a char from agro mobs when getting up from fake death
- private long _recentFakeDeathEndTime = 0;
- private boolean _isFakeDeath;
- @@ -873,6 +880,7 @@
- /** Herbs Task Time **/
- private int _herbstask = 0;
- +
- /** Task for Herbs */
- private class HerbTask implements Runnable
- @@ -997,10 +1005,12 @@
- private static class GatesRequest
- {
- private L2DoorInstance _target = null;
- +
- public void setTarget(L2DoorInstance door)
- {
- _target = door;
- }
- +
- public L2DoorInstance getDoor()
- {
- return _target;
- @@ -1009,7 +1019,7 @@
- // Save responder name for log it
- private String _lastPetitionGmName = null;
- -
- +
- /**
- * Create a new L2PcInstance and add it in the characters table of the database.<BR><BR>
- *
- @@ -1110,19 +1120,19 @@
- result |= RelationChanged.RELATION_PARTY4; // 0x8
- break;
- case 2:
- - result |= RelationChanged.RELATION_PARTY3+RelationChanged.RELATION_PARTY2+RelationChanged.RELATION_PARTY1; // 0x7
- + result |= RelationChanged.RELATION_PARTY3 + RelationChanged.RELATION_PARTY2 + RelationChanged.RELATION_PARTY1; // 0x7
- break;
- case 3:
- - result |= RelationChanged.RELATION_PARTY3+RelationChanged.RELATION_PARTY2; // 0x6
- + result |= RelationChanged.RELATION_PARTY3 + RelationChanged.RELATION_PARTY2; // 0x6
- break;
- case 4:
- - result |= RelationChanged.RELATION_PARTY3+RelationChanged.RELATION_PARTY1; // 0x5
- + result |= RelationChanged.RELATION_PARTY3 + RelationChanged.RELATION_PARTY1; // 0x5
- break;
- case 5:
- result |= RelationChanged.RELATION_PARTY3; // 0x4
- break;
- case 6:
- - result |= RelationChanged.RELATION_PARTY2+RelationChanged.RELATION_PARTY1; // 0x3
- + result |= RelationChanged.RELATION_PARTY2 + RelationChanged.RELATION_PARTY1; // 0x3
- break;
- case 7:
- result |= RelationChanged.RELATION_PARTY2; // 0x2
- @@ -1150,20 +1160,18 @@
- }
- if (getClan() != null && target.getClan() != null)
- {
- - if (target.getPledgeType() != L2Clan.SUBUNIT_ACADEMY
- - && getPledgeType() != L2Clan.SUBUNIT_ACADEMY
- - && target.getClan().isAtWarWith(getClan().getClanId()))
- + if (target.getPledgeType() != L2Clan.SUBUNIT_ACADEMY && getPledgeType() != L2Clan.SUBUNIT_ACADEMY && target.getClan().isAtWarWith(getClan().getClanId()))
- {
- result |= RelationChanged.RELATION_1SIDED_WAR;
- if (getClan().isAtWarWith(target.getClan().getClanId()))
- result |= RelationChanged.RELATION_MUTUAL_WAR;
- }
- }
- - if(getBlockCheckerArena() != -1)
- + if (getBlockCheckerArena() != -1)
- {
- result |= RelationChanged.RELATION_INSIEGE;
- HandysBlockCheckerManager.ArenaParticipantsHolder holder = HandysBlockCheckerManager.getInstance().getHolder(getBlockCheckerArena());
- - if(holder.getPlayerTeam(this) == 0)
- + if (holder.getPlayerTeam(this) == 0)
- result |= RelationChanged.RELATION_ENEMY;
- else
- result |= RelationChanged.RELATION_ALLY;
- @@ -1222,9 +1230,9 @@
- super.initCharStatusUpdateValues();
- initPcStatusUpdateValues();
- - _accountName = accountName;
- + _accountName = accountName;
- app.setOwner(this);
- - _appearance = app;
- + _appearance = app;
- // Create an AI
- _ai = new L2PlayerAI(new L2PcInstance.AIAccessor());
- @@ -1246,7 +1254,7 @@
- @Override
- public final PcKnownList getKnownList()
- {
- - return (PcKnownList)super.getKnownList();
- + return (PcKnownList) super.getKnownList();
- }
- @Override
- @@ -1258,7 +1266,7 @@
- @Override
- public final PcStat getStat()
- {
- - return (PcStat)super.getStat();
- + return (PcStat) super.getStat();
- }
- @Override
- @@ -1270,7 +1278,7 @@
- @Override
- public final PcStatus getStatus()
- {
- - return (PcStatus)super.getStatus();
- + return (PcStatus) super.getStatus();
- }
- @Override
- @@ -1282,7 +1290,7 @@
- @Override
- public PcPosition getPosition()
- {
- - return (PcPosition)super.getPosition();
- + return (PcPosition) super.getPosition();
- }
- @Override
- @@ -1306,9 +1314,15 @@
- /** Return the L2PcTemplate link to the L2PcInstance. */
- @Override
- - public final L2PcTemplate getTemplate() { return (L2PcTemplate)super.getTemplate(); }
- + public final L2PcTemplate getTemplate()
- + {
- + return (L2PcTemplate) super.getTemplate();
- + }
- - public void setTemplate(ClassId newclass) { super.setTemplate(CharTemplateTable.getInstance().getTemplate(newclass)); }
- + public void setTemplate(ClassId newclass)
- + {
- + super.setTemplate(CharTemplateTable.getInstance().getTemplate(newclass));
- + }
- /**
- * Return the AI of the L2PcInstance (create it if necessary).<BR><BR>
- @@ -1319,9 +1333,10 @@
- L2CharacterAI ai = _ai; // copy handle
- if (ai == null)
- {
- - synchronized(this)
- + synchronized (this)
- {
- - if (_ai == null) _ai = new L2PlayerAI(new L2PcInstance.AIAccessor());
- + if (_ai == null)
- + _ai = new L2PlayerAI(new L2PcInstance.AIAccessor());
- return _ai;
- }
- }
- @@ -1330,7 +1345,10 @@
- /** Return the Level of the L2PcInstance. */
- @Override
- - public final int getLevel() { return getStat().getLevel(); }
- + public final int getLevel()
- + {
- + return getStat().getLevel();
- + }
- /**
- * Return the _newbie rewards state of the L2PcInstance.<BR><BR>
- @@ -1361,7 +1379,11 @@
- _baseClass = classId.ordinal();
- }
- - public boolean isInStoreMode() { return (getPrivateStoreType() > 0); }
- + public boolean isInStoreMode()
- + {
- + return (getPrivateStoreType() > 0);
- + }
- +
- // public boolean isInCraftMode() { return (getPrivateStoreType() == STORE_PRIVATE_MANUFACTURE); }
- public boolean isInCraftMode()
- @@ -1404,7 +1426,6 @@
- }
- }
- -
- /**
- * Return a table containing all Common L2RecipeList of the L2PcInstance.<BR><BR>
- */
- @@ -1459,7 +1480,7 @@
- {
- if (_dwarvenRecipeBook.containsKey(recipeId))
- return true;
- - else if(_commonRecipeBook.containsKey(recipeId))
- + else if (_commonRecipeBook.containsKey(recipeId))
- return true;
- else
- return false;
- @@ -1478,7 +1499,7 @@
- else if (_commonRecipeBook.remove(recipeId) != null)
- deleteRecipeData(recipeId, false);
- else
- - _log.warning("Attempted to remove unknown RecipeList: "+recipeId);
- + _log.warning("Attempted to remove unknown RecipeList: " + recipeId);
- L2ShortCut[] allShortCuts = getAllShortCuts();
- @@ -1497,7 +1518,7 @@
- con = L2DatabaseFactory.getInstance().getConnection();
- PreparedStatement statement = con.prepareStatement("INSERT INTO character_recipebook (charId, id, classIndex, type) values(?,?,?,?)");
- statement.setInt(1, getObjectId());
- - statement.setInt(2,recipeId);
- + statement.setInt(2, recipeId);
- statement.setInt(3, isDwarf ? _classIndex : 0);
- statement.setInt(4, isDwarf ? 1 : 0);
- statement.execute();
- @@ -1505,8 +1526,8 @@
- }
- catch (SQLException e)
- {
- - if(_log.isLoggable(Level.SEVERE))
- - _log.log(Level.SEVERE, "SQL exception while inserting recipe: "+recipeId+" from character "+getObjectId(), e);
- + if (_log.isLoggable(Level.SEVERE))
- + _log.log(Level.SEVERE, "SQL exception while inserting recipe: " + recipeId + " from character " + getObjectId(), e);
- }
- finally
- {
- @@ -1531,7 +1552,7 @@
- catch (SQLException e)
- {
- if (_log.isLoggable(Level.SEVERE))
- - _log.log(Level.SEVERE, "SQL exception while deleting recipe: "+recipeId+" from character "+getObjectId(), e);
- + _log.log(Level.SEVERE, "SQL exception while deleting recipe: " + recipeId + " from character " + getObjectId(), e);
- }
- finally
- {
- @@ -1574,7 +1595,6 @@
- _quests.put(qs.getQuestName(), qs);
- }
- -
- /**
- * Remove a QuestState from the table _quest containing all quests began by the L2PcInstance.<BR><BR>
- *
- @@ -1589,8 +1609,8 @@
- private QuestState[] addToQuestStateArray(QuestState[] questStateArray, QuestState state)
- {
- int len = questStateArray.length;
- - QuestState[] tmp = new QuestState[len+1];
- - for (int i=0; i < len; i++)
- + QuestState[] tmp = new QuestState[len + 1];
- + for (int i = 0; i < len; i++)
- tmp[i] = questStateArray[i];
- tmp[len] = state;
- return tmp;
- @@ -1612,7 +1632,7 @@
- continue;
- int questId = qs.getQuest().getQuestIntId();
- - if ((questId>19999) || (questId<1))
- + if ((questId > 19999) || (questId < 1))
- continue;
- if (!qs.isStarted() && !Config.DEVELOPER)
- @@ -1639,11 +1659,11 @@
- for (Quest quest : npc.getTemplate().getEventQuests(Quest.QuestEventType.ON_ATTACK))
- {
- // Check if the Identifier of the L2Attackable attck is needed for the current quest
- - if (getQuestState(quest.getName())!=null)
- + if (getQuestState(quest.getName()) != null)
- {
- // Copy the current L2PcInstance QuestState in the QuestState table
- if (states == null)
- - states = new QuestState[]{getQuestState(quest.getName())};
- + states = new QuestState[] { getQuestState(quest.getName()) };
- else
- states = addToQuestStateArray(states, getQuestState(quest.getName()));
- }
- @@ -1668,11 +1688,11 @@
- for (Quest quest : npc.getTemplate().getEventQuests(Quest.QuestEventType.ON_KILL))
- {
- // Check if the Identifier of the L2Attackable killed is needed for the current quest
- - if (getQuestState(quest.getName())!=null)
- + if (getQuestState(quest.getName()) != null)
- {
- // Copy the current L2PcInstance QuestState in the QuestState table
- if (states == null)
- - states = new QuestState[]{getQuestState(quest.getName())};
- + states = new QuestState[] { getQuestState(quest.getName()) };
- else
- states = addToQuestStateArray(states, getQuestState(quest.getName()));
- }
- @@ -1697,15 +1717,15 @@
- Quest[] quests = NpcTable.getInstance().getTemplate(npcId).getEventQuests(Quest.QuestEventType.ON_TALK);
- if (quests != null)
- {
- - for (Quest quest: quests)
- + for (Quest quest : quests)
- {
- if (quest != null)
- {
- // Copy the current L2PcInstance QuestState in the QuestState table
- - if (getQuestState(quest.getName())!=null)
- + if (getQuestState(quest.getName()) != null)
- {
- if (states == null)
- - states = new QuestState[]{getQuestState(quest.getName())};
- + states = new QuestState[] { getQuestState(quest.getName()) };
- else
- states = addToQuestStateArray(states, getQuestState(quest.getName()));
- }
- @@ -1725,19 +1745,21 @@
- QuestState qs = getQuestState(quest);
- if (qs == null && event.length() == 0)
- return retval;
- - if (qs == null) {
- + if (qs == null)
- + {
- Quest q = QuestManager.getInstance().getQuest(quest);
- if (q == null)
- return retval;
- qs = q.newQuestState(this);
- }
- - if (qs != null) {
- + if (qs != null)
- + {
- if (getLastQuestNpcObject() > 0)
- {
- L2Object object = L2World.getInstance().findObject(getLastQuestNpcObject());
- if (object instanceof L2Npc && isInsideRadius(object, L2Npc.INTERACTION_DISTANCE, false, false))
- {
- - L2Npc npc = (L2Npc)object;
- + L2Npc npc = (L2Npc) object;
- QuestState[] states = getQuestsForTalk(npc.getNpcId());
- if (states != null)
- @@ -1762,20 +1784,20 @@
- private void showQuestWindow(String questId, String stateId)
- {
- - String path = "data/scripts/quests/"+questId+"/"+stateId+".htm";
- - String content = HtmCache.getInstance().getHtm(getHtmlPrefix(), path); //TODO path for quests html
- + String path = "data/scripts/quests/" + questId + "/" + stateId + ".htm";
- + String content = HtmCache.getInstance().getHtm(getHtmlPrefix(), path); //TODO path for quests html
- if (content != null)
- {
- if (Config.DEBUG)
- - _log.fine("Showing quest window for quest "+questId+" state "+stateId+" html path: " + path);
- + _log.fine("Showing quest window for quest " + questId + " state " + stateId + " html path: " + path);
- NpcHtmlMessage npcReply = new NpcHtmlMessage(5);
- npcReply.setHtml(content);
- sendPacket(npcReply);
- }
- - sendPacket( ActionFailed.STATIC_PACKET );
- + sendPacket(ActionFailed.STATIC_PACKET);
- }
- /** List of all QuestState instance that needs to be notified of this L2PcInstance's or its pet's death */
- @@ -1787,7 +1809,7 @@
- * @param qs The QuestState that subscribe to this event
- *
- */
- - public void addNotifyQuestOfDeath (QuestState qs)
- + public void addNotifyQuestOfDeath(QuestState qs)
- {
- if (qs == null)
- return;
- @@ -1802,7 +1824,7 @@
- * @param qs The QuestState that subscribe to this event
- *
- */
- - public void removeNotifyQuestOfDeath (QuestState qs)
- + public void removeNotifyQuestOfDeath(QuestState qs)
- {
- if (qs == null || _notifyQuestOfDeathList == null)
- return;
- @@ -1813,11 +1835,11 @@
- /**
- * Return a list of QuestStates which registered for notify of death of this L2PcInstance.<BR><BR>
- */
- - public final List<QuestState> getNotifyQuestOfDeath ()
- + public final List<QuestState> getNotifyQuestOfDeath()
- {
- if (_notifyQuestOfDeathList == null)
- {
- - synchronized(this)
- + synchronized (this)
- {
- if (_notifyQuestOfDeathList == null)
- _notifyQuestOfDeathList = new FastList<QuestState>();
- @@ -1900,6 +1922,7 @@
- {
- _siegeState = siegeState;
- }
- +
- /**
- * Get the siege state of the L2PcInstance.<BR><BR>
- * 1 = attacker, 2 = defender, 0 = not involved
- @@ -1934,7 +1957,7 @@
- */
- public void setPvpFlag(int pvpFlag)
- {
- - _pvpFlag = (byte)pvpFlag;
- + _pvpFlag = (byte) pvpFlag;
- }
- @Override
- @@ -1954,7 +1977,8 @@
- sendPacket(new ExBrExtraUserInfo(this));
- // If this player has a pet update the pets pvp flag as well
- - if (getPet() != null) sendPacket(new RelationChanged(getPet(), getRelation(this), false));
- + if (getPet() != null)
- + sendPacket(new RelationChanged(getPet(), getRelation(this), false));
- Collection<L2PcInstance> plrs = getKnownList().getKnownPlayers().values();
- //synchronized (getKnownList().getKnownPlayers())
- @@ -1972,16 +1996,19 @@
- public void revalidateZone(boolean force)
- {
- // Cannot validate if not in a world region (happens during teleport)
- - if (getWorldRegion() == null) return;
- + if (getWorldRegion() == null)
- + return;
- // This function is called too often from movement code
- - if (force) _zoneValidateCounter = 4;
- + if (force)
- + _zoneValidateCounter = 4;
- else
- {
- _zoneValidateCounter--;
- if (_zoneValidateCounter < 0)
- _zoneValidateCounter = 4;
- - else return;
- + else
- + return;
- }
- getWorldRegion().revalidateZones(this);
- @@ -1991,43 +2018,50 @@
- if (isInsideZone(ZONE_ALTERED))
- {
- - if (_lastCompassZone == ExSetCompassZoneCode.ALTEREDZONE) return;
- + if (_lastCompassZone == ExSetCompassZoneCode.ALTEREDZONE)
- + return;
- _lastCompassZone = ExSetCompassZoneCode.ALTEREDZONE;
- ExSetCompassZoneCode cz = new ExSetCompassZoneCode(ExSetCompassZoneCode.ALTEREDZONE);
- sendPacket(cz);
- }
- else if (isInsideZone(ZONE_SIEGE))
- {
- - if (_lastCompassZone == ExSetCompassZoneCode.SIEGEWARZONE2) return;
- + if (_lastCompassZone == ExSetCompassZoneCode.SIEGEWARZONE2)
- + return;
- _lastCompassZone = ExSetCompassZoneCode.SIEGEWARZONE2;
- ExSetCompassZoneCode cz = new ExSetCompassZoneCode(ExSetCompassZoneCode.SIEGEWARZONE2);
- sendPacket(cz);
- }
- else if (isInsideZone(ZONE_PVP))
- {
- - if (_lastCompassZone == ExSetCompassZoneCode.PVPZONE) return;
- + if (_lastCompassZone == ExSetCompassZoneCode.PVPZONE)
- + return;
- _lastCompassZone = ExSetCompassZoneCode.PVPZONE;
- ExSetCompassZoneCode cz = new ExSetCompassZoneCode(ExSetCompassZoneCode.PVPZONE);
- sendPacket(cz);
- }
- else if (isIn7sDungeon())
- {
- - if (_lastCompassZone == ExSetCompassZoneCode.SEVENSIGNSZONE) return;
- + if (_lastCompassZone == ExSetCompassZoneCode.SEVENSIGNSZONE)
- + return;
- _lastCompassZone = ExSetCompassZoneCode.SEVENSIGNSZONE;
- ExSetCompassZoneCode cz = new ExSetCompassZoneCode(ExSetCompassZoneCode.SEVENSIGNSZONE);
- sendPacket(cz);
- }
- else if (isInsideZone(ZONE_PEACE))
- {
- - if (_lastCompassZone == ExSetCompassZoneCode.PEACEZONE) return;
- + if (_lastCompassZone == ExSetCompassZoneCode.PEACEZONE)
- + return;
- _lastCompassZone = ExSetCompassZoneCode.PEACEZONE;
- ExSetCompassZoneCode cz = new ExSetCompassZoneCode(ExSetCompassZoneCode.PEACEZONE);
- sendPacket(cz);
- }
- else
- {
- - if (_lastCompassZone == ExSetCompassZoneCode.GENERALZONE) return;
- - if (_lastCompassZone == ExSetCompassZoneCode.SIEGEWARZONE2) updatePvPStatus();
- + if (_lastCompassZone == ExSetCompassZoneCode.GENERALZONE)
- + return;
- + if (_lastCompassZone == ExSetCompassZoneCode.SIEGEWARZONE2)
- + updatePvPStatus();
- _lastCompassZone = ExSetCompassZoneCode.GENERALZONE;
- ExSetCompassZoneCode cz = new ExSetCompassZoneCode(ExSetCompassZoneCode.GENERALZONE);
- sendPacket(cz);
- @@ -2099,7 +2133,7 @@
- {
- return _inventory.getTotalWeight();
- }
- -
- +
- /**
- * Return the number of recommandation obtained by the L2PcInstance.<BR><BR>
- */
- @@ -2194,7 +2228,8 @@
- */
- public void setKarma(int karma)
- {
- - if (karma < 0) karma = 0;
- + if (karma < 0)
- + karma = 0;
- if (_karma == 0 && karma > 0)
- {
- Collection<L2Object> objs = getKnownList().getKnownObjects().values();
- @@ -2229,10 +2264,12 @@
- // Source http://l2p.bravehost.com/weightlimit.html (May 2007)
- // Fitted exponential curve to the data
- int con = getCON();
- - if (con < 1) return 31000;
- - if (con > 59) return 176000;
- - double baseLoad = Math.pow(1.029993928, con)*30495.627366;
- - return (int)calcStat(Stats.MAX_LOAD, baseLoad*Config.ALT_WEIGHT_LIMIT, this, null);
- + if (con < 1)
- + return 31000;
- + if (con > 59)
- + return 176000;
- + double baseLoad = Math.pow(1.029993928, con) * 30495.627366;
- + return (int) calcStat(Stats.MAX_LOAD, baseLoad * Config.ALT_WEIGHT_LIMIT, this, null);
- }
- public int getExpertiseArmorPenalty()
- @@ -2260,7 +2297,7 @@
- int maxLoad = getMaxLoad();
- if (maxLoad > 0)
- {
- - long weightproc = (long)getCurrentLoad() * 1000 / maxLoad;
- + long weightproc = (long) getCurrentLoad() * 1000 / maxLoad;
- weightproc *= calcStat(Stats.WEIGHT_LIMIT, 1, this, null);
- int newWeightPenalty;
- if (weightproc < 500 || _dietMode)
- @@ -2271,7 +2308,7 @@
- {
- newWeightPenalty = 1;
- }
- - else if ( weightproc < 800)
- + else if (weightproc < 800)
- {
- newWeightPenalty = 2;
- }
- @@ -2289,7 +2326,7 @@
- _curWeightPenalty = newWeightPenalty;
- if (newWeightPenalty > 0 && !_dietMode)
- {
- - super.addSkill(SkillTable.getInstance().getInfo(4270,newWeightPenalty));
- + super.addSkill(SkillTable.getInstance().getInfo(4270, newWeightPenalty));
- setIsOverloaded(getCurrentLoad() > maxLoad);
- }
- else
- @@ -2315,8 +2352,7 @@
- for (L2ItemInstance item : getInventory().getItems())
- {
- - if (item != null && item.isEquipped() &&
- - ((item.getItemType() != L2EtcItemType.ARROW) && (item.getItemType() != L2EtcItemType.BOLT)))
- + if (item != null && item.isEquipped() && ((item.getItemType() != L2EtcItemType.ARROW) && (item.getItemType() != L2EtcItemType.BOLT)))
- {
- int crystaltype = item.getItem().getCrystalType();
- @@ -2397,7 +2433,7 @@
- sendPacket(sm);
- if (Config.DEBUG)
- - _log.info(" | Skill "+effectSkill.getName()+" has been disabled for ("+getName()+"); Reason: Incompatible Weapon Type.");
- + _log.info(" | Skill " + effectSkill.getName() + " has been disabled for (" + getName() + "); Reason: Incompatible Weapon Type.");
- currenteffect.exit();
- }
- @@ -2489,14 +2525,15 @@
- sendPacket(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION);
- }
- refreshExpertisePenalty();
- -
- +
- broadcastUserInfo();
- InventoryUpdate iu = new InventoryUpdate();
- iu.addItems(Arrays.asList(items));
- sendPacket(iu);
- - if (abortAttack) abortAttack();
- + if (abortAttack)
- + abortAttack();
- if (getInventoryLimit() != oldInvLimit)
- sendPacket(new ExStorageMaxCount(this));
- @@ -2562,12 +2599,12 @@
- {
- if (getLvlJoinedAcademy() != 0 && _clan != null && PlayerClass.values()[Id].getLevel() == ClassLevel.Third)
- {
- - if(getLvlJoinedAcademy() <= 16)
- + if (getLvlJoinedAcademy() <= 16)
- _clan.addReputationScore(Config.JOIN_ACADEMY_MAX_REP_SCORE, true);
- - else if(getLvlJoinedAcademy() >= 39)
- + else if (getLvlJoinedAcademy() >= 39)
- _clan.addReputationScore(Config.JOIN_ACADEMY_MIN_REP_SCORE, true);
- else
- - _clan.addReputationScore((Config.JOIN_ACADEMY_MAX_REP_SCORE-(getLvlJoinedAcademy()-16)*20), true);
- + _clan.addReputationScore((Config.JOIN_ACADEMY_MAX_REP_SCORE - (getLvlJoinedAcademy() - 16) * 20), true);
- setLvlJoinedAcademy(0);
- //oust pledge member from the academy, cuz he has finished his 2nd class transfer
- SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_S1_EXPELLED);
- @@ -2578,7 +2615,7 @@
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ACADEMY_MEMBERSHIP_TERMINATED));
- // receive graduation gift
- - getInventory().addItem("Gift",8181,1,this,null); // give academy circlet
- + getInventory().addItem("Gift", 8181, 1, this, null); // give academy circlet
- }
- if (isSubClassActive())
- {
- @@ -2612,7 +2649,10 @@
- }
- /** Return the Experience of the L2PcInstance. */
- - public long getExp() { return getStat().getExp(); }
- + public long getExp()
- + {
- + return getStat().getExp();
- + }
- public void setActiveEnchantAttrItem(L2ItemInstance stone)
- {
- @@ -2689,7 +2729,7 @@
- {
- return _fistsWeaponItem;
- }
- -
- +
- /**
- * Return the fists weapon of the L2PcInstance Class (used when no weapon is equiped).<BR><BR>
- */
- @@ -2700,55 +2740,55 @@
- {
- //human fighter fists
- L2Item temp = ItemTable.getInstance().getTemplate(246);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x0a) && (classId <= 0x11))
- {
- //human mage fists
- L2Item temp = ItemTable.getInstance().getTemplate(251);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x12) && (classId <= 0x18))
- {
- //elven fighter fists
- L2Item temp = ItemTable.getInstance().getTemplate(244);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x19) && (classId <= 0x1e))
- {
- //elven mage fists
- L2Item temp = ItemTable.getInstance().getTemplate(249);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x1f) && (classId <= 0x25))
- {
- //dark elven fighter fists
- L2Item temp = ItemTable.getInstance().getTemplate(245);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x26) && (classId <= 0x2b))
- {
- //dark elven mage fists
- L2Item temp = ItemTable.getInstance().getTemplate(250);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x2c) && (classId <= 0x30))
- {
- //orc fighter fists
- L2Item temp = ItemTable.getInstance().getTemplate(248);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x31) && (classId <= 0x34))
- {
- //orc mage fists
- L2Item temp = ItemTable.getInstance().getTemplate(252);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- else if ((classId >= 0x35) && (classId <= 0x39))
- {
- //dwarven fists
- L2Item temp = ItemTable.getInstance().getTemplate(247);
- - weaponItem = (L2Weapon)temp;
- + weaponItem = (L2Weapon) temp;
- }
- return weaponItem;
- @@ -2825,7 +2865,7 @@
- while (skills.size() > unLearnable)
- {
- - for (L2SkillLearn s: skills)
- + for (L2SkillLearn s : skills)
- {
- L2Skill sk = SkillTable.getInstance().getInfo(s.getSkillId(), s.getSkillLevel());
- if (sk == null || (sk.getId() == L2Skill.SKILL_DIVINE_INSPIRATION && !Config.AUTO_LEARN_DIVINE_INSPIRATION && !isGM()))
- @@ -2871,7 +2911,7 @@
- if ((autoGetSkills != null) && !autoGetSkills.isEmpty())
- {
- - for (L2SkillLearn s: autoGetSkills)
- + for (L2SkillLearn s : autoGetSkills)
- {
- final L2Skill skill = SkillTable.getInstance().getInfo(s.getSkillId(), s.getSkillLevel());
- if (skill != null)
- @@ -2925,7 +2965,10 @@
- }
- /** Return the SP amount of the L2PcInstance. */
- - public int getSp() { return getStat().getSp(); }
- + public int getSp()
- + {
- + return getStat().getSp();
- + }
- /** Set the SP amount of the L2PcInstance. */
- public void setSp(int sp)
- @@ -2955,6 +2998,7 @@
- return false;
- }
- +
- /**
- * Return the Clan Identifier of the L2PcInstance.<BR><BR>
- */
- @@ -3043,6 +3087,7 @@
- {
- _waitTypeSitting = state;
- }
- +
- /**
- * Sit down the L2PcInstance, set the AI Intention to AI_INTENTION_REST and send a Server->Client ChangeWaitType packet (broadcast)<BR><BR>
- */
- @@ -3063,12 +3108,13 @@
- {
- breakAttack();
- setIsSitting(true);
- - broadcastPacket(new ChangeWaitType (this, ChangeWaitType.WT_SITTING));
- + broadcastPacket(new ChangeWaitType(this, ChangeWaitType.WT_SITTING));
- // Schedule a sit down task to wait for the animation to finish
- ThreadPoolManager.getInstance().scheduleGeneral(new SitDownTask(), 2500);
- setIsParalyzed(true);
- }
- }
- +
- /**
- * Sit down Task
- */
- @@ -3081,6 +3127,7 @@
- L2PcInstance.this.getAI().setIntention(CtrlIntention.AI_INTENTION_REST);
- }
- }
- +
- /**
- * Stand up Task
- */
- @@ -3093,6 +3140,7 @@
- L2PcInstance.this.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
- }
- }
- +
- /**
- * Stand up the L2PcInstance, set the AI Intention to AI_INTENTION_IDLE and send a Server->Client ChangeWaitType packet (broadcast)<BR><BR>
- */
- @@ -3109,7 +3157,7 @@
- stopEffects(L2EffectType.RELAXING);
- }
- - broadcastPacket(new ChangeWaitType (this, ChangeWaitType.WT_STANDING));
- + broadcastPacket(new ChangeWaitType(this, ChangeWaitType.WT_STANDING));
- // Schedule a stand up task to wait for the animation to finish
- ThreadPoolManager.getInstance().scheduleGeneral(new StandUpTask(), 2500);
- }
- @@ -3142,11 +3190,11 @@
- /**
- * Return the PcFreight object of the L2PcInstance.<BR><BR>
- - */
- - public PcFreight getFreight()
- - {
- - return _freight;
- - }
- + */
- + public PcFreight getFreight()
- + {
- + return _freight;
- + }
- /**
- * Returns true if refund list is not empty
- @@ -3236,7 +3284,8 @@
- iu.addItem(_inventory.getAdenaInstance());
- sendPacket(iu);
- }
- - else sendPacket(new ItemList(this, false));
- + else
- + sendPacket(new ItemList(this, false));
- }
- }
- @@ -3252,7 +3301,8 @@
- {
- if (count > getAdena())
- {
- - if (sendMessage) sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
- + if (sendMessage)
- + sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
- return false;
- }
- @@ -3269,7 +3319,8 @@
- iu.addItem(adenaItem);
- sendPacket(iu);
- }
- - else sendPacket(new ItemList(this, false));
- + else
- + sendPacket(new ItemList(this, false));
- if (sendMessage)
- {
- @@ -3310,7 +3361,8 @@
- iu.addItem(_inventory.getAncientAdenaInstance());
- sendPacket(iu);
- }
- - else sendPacket(new ItemList(this, false));
- + else
- + sendPacket(new ItemList(this, false));
- }
- }
- @@ -3431,15 +3483,15 @@
- dropItem("InvDrop", newitem, null, true, true);
- // Cursed Weapon
- - else if(CursedWeaponsManager.getInstance().isCursed(newitem.getItemId()))
- + else if (CursedWeaponsManager.getInstance().isCursed(newitem.getItemId()))
- {
- CursedWeaponsManager.getInstance().activate(this, newitem);
- }
- // Combat Flag
- - else if(FortSiegeManager.getInstance().isCombat(item.getItemId()))
- + else if (FortSiegeManager.getInstance().isCombat(item.getItemId()))
- {
- - if(FortSiegeManager.getInstance().activateCombatFlag(this, item))
- + if (FortSiegeManager.getInstance().activateCombatFlag(this, item))
- {
- Fort fort = FortManager.getInstance().getFort(this);
- fort.getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.C1_ACQUIRED_THE_FLAG), this.getName());
- @@ -3468,7 +3520,7 @@
- if (count > 0)
- {
- L2ItemInstance item = null;
- - if(ItemTable.getInstance().getTemplate(itemId) != null)
- + if (ItemTable.getInstance().getTemplate(itemId) != null)
- {
- item = ItemTable.getInstance().createDummyItem(itemId);
- }
- @@ -3478,8 +3530,7 @@
- return null;
- }
- // Sends message to client if requested
- - if (sendMessage && ((!isCastingNow() && item.getItemType() == L2EtcItemType.HERB)
- - || item.getItemType() != L2EtcItemType.HERB))
- + if (sendMessage && ((!isCastingNow() && item.getItemType() == L2EtcItemType.HERB) || item.getItemType() != L2EtcItemType.HERB))
- {
- if (count > 1)
- {
- @@ -3517,7 +3568,7 @@
- //Auto use herbs - autoloot
- if (item.getItemType() == L2EtcItemType.HERB) //If item is herb dont add it to iv :]
- {
- - if(!isCastingNow())
- + if (!isCastingNow())
- {
- L2ItemInstance herb = new L2ItemInstance(_charId, itemId);
- IItemHandler handler = ItemHandler.getInstance().getItemHandler(herb.getEtcItem());
- @@ -3526,8 +3577,8 @@
- else
- {
- handler.useItem(this, herb, false);
- - if(_herbstask>=100)
- - _herbstask -=100;
- + if (_herbstask >= 100)
- + _herbstask -= 100;
- }
- }
- else
- @@ -3546,13 +3597,13 @@
- dropItem("InvDrop", createdItem, null, true);
- // Cursed Weapon
- - else if(CursedWeaponsManager.getInstance().isCursed(createdItem.getItemId()))
- + else if (CursedWeaponsManager.getInstance().isCursed(createdItem.getItemId()))
- CursedWeaponsManager.getInstance().activate(this, createdItem);
- // Combat Flag
- - else if(FortSiegeManager.getInstance().isCombat(createdItem.getItemId()))
- + else if (FortSiegeManager.getInstance().isCombat(createdItem.getItemId()))
- {
- - if( FortSiegeManager.getInstance().activateCombatFlag(this, item))
- + if (FortSiegeManager.getInstance().activateCombatFlag(this, item))
- {
- Fort fort = FortManager.getInstance().getFort(this);
- fort.getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.C1_ACQUIRED_THE_FLAG), this.getName());
- @@ -3632,7 +3683,7 @@
- sm.addItemNumber(count);
- sendPacket(sm);
- }
- - else
- + else
- {
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
- sm.addItemName(item);
- @@ -3728,7 +3779,8 @@
- playerIU.addItem(item);
- sendPacket(playerIU);
- }
- - else sendPacket(new ItemList(this, false));
- + else
- + sendPacket(new ItemList(this, false));
- // Update current load as well
- StatusUpdate su = new StatusUpdate(this);
- @@ -3745,7 +3797,7 @@
- sm.addItemNumber(count);
- sendPacket(sm);
- }
- - else
- + else
- {
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
- sm.addItemName(itemId);
- @@ -3755,7 +3807,7 @@
- return true;
- }
- -
- +
- /**
- * Transfers item to another ItemContainer and send a Server->Client InventoryUpdate packet to the L2PcInstance.
- * @param process : String Identifier of process triggering this action
- @@ -3767,9 +3819,11 @@
- public L2ItemInstance transferItem(String process, int objectId, long count, Inventory target, L2Object reference)
- {
- L2ItemInstance oldItem = checkItemManipulation(objectId, count, "transfer");
- - if (oldItem == null) return null;
- + if (oldItem == null)
- + return null;
- L2ItemInstance newItem = getInventory().transferItem(process, objectId, count, target, this, reference);
- - if (newItem == null) return null;
- + if (newItem == null)
- + return null;
- // Send inventory update packet
- if (!Config.FORCE_INVENTORY_UPDATE)
- @@ -3783,7 +3837,8 @@
- sendPacket(playerIU);
- }
- - else sendPacket(new ItemList(this, false));
- + else
- + sendPacket(new ItemList(this, false));
- // Update current load as well
- StatusUpdate playerSU = new StatusUpdate(this);
- @@ -3793,7 +3848,7 @@
- // Send target update packet
- if (target instanceof PcInventory)
- {
- - L2PcInstance targetPlayer = ((PcInventory)target).getOwner();
- + L2PcInstance targetPlayer = ((PcInventory) target).getOwner();
- if (!Config.FORCE_INVENTORY_UPDATE)
- {
- @@ -3806,7 +3861,8 @@
- targetPlayer.sendPacket(playerIU);
- }
- - else targetPlayer.sendPacket(new ItemList(targetPlayer, false));
- + else
- + targetPlayer.sendPacket(new ItemList(targetPlayer, false));
- // Update current load as well
- playerSU = new StatusUpdate(targetPlayer);
- @@ -3822,7 +3878,7 @@
- else
- petIU.addNewItem(newItem);
- - ((PetInventory)target).getOwner().getOwner().sendPacket(petIU);
- + ((PetInventory) target).getOwner().getOwner().sendPacket(petIU);
- }
- return newItem;
- }
- @@ -3850,24 +3906,23 @@
- item.dropMe(this, getX() + Rnd.get(50) - 25, getY() + Rnd.get(50) - 25, getZ() + 20);
- - if (Config.AUTODESTROY_ITEM_AFTER > 0
- - && Config.DESTROY_DROPPED_PLAYER_ITEM
- - && !Config.LIST_PROTECTED_ITEMS.contains(item.getItemId())) {
- - if ((item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM)
- - || !item.isEquipable())
- + if (Config.AUTODESTROY_ITEM_AFTER > 0 && Config.DESTROY_DROPPED_PLAYER_ITEM && !Config.LIST_PROTECTED_ITEMS.contains(item.getItemId()))
- + {
- + if ((item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM) || !item.isEquipable())
- ItemsAutoDestroy.getInstance().addItem(item);
- }
- // protection against auto destroy dropped item
- - if (Config.DESTROY_DROPPED_PLAYER_ITEM) {
- - if (!item.isEquipable()
- - || (item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM))
- + if (Config.DESTROY_DROPPED_PLAYER_ITEM)
- + {
- + if (!item.isEquipable() || (item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM))
- item.setProtected(false);
- else
- item.setProtected(true);
- - } else
- + }
- + else
- item.setProtected(true);
- -
- +
- // retail drop protection
- if (protectItem)
- item.getDropProtection().protect(this);
- @@ -3879,7 +3934,8 @@
- playerIU.addItem(item);
- sendPacket(playerIU);
- }
- - else sendPacket(new ItemList(this, false));
- + else
- + sendPacket(new ItemList(this, false));
- // Update current load as well
- StatusUpdate su = new StatusUpdate(this);
- @@ -3929,13 +3985,14 @@
- item.dropMe(this, x, y, z);
- - if (Config.AUTODESTROY_ITEM_AFTER >0 && Config.DESTROY_DROPPED_PLAYER_ITEM && !Config.LIST_PROTECTED_ITEMS.contains(item.getItemId()))
- + if (Config.AUTODESTROY_ITEM_AFTER > 0 && Config.DESTROY_DROPPED_PLAYER_ITEM && !Config.LIST_PROTECTED_ITEMS.contains(item.getItemId()))
- {
- - if ( (item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM) || !item.isEquipable())
- + if ((item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM) || !item.isEquipable())
- ItemsAutoDestroy.getInstance().addItem(item);
- }
- - if (Config.DESTROY_DROPPED_PLAYER_ITEM){
- - if (!item.isEquipable() || (item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM ))
- + if (Config.DESTROY_DROPPED_PLAYER_ITEM)
- + {
- + if (!item.isEquipable() || (item.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM))
- item.setProtected(false);
- else
- item.setProtected(true);
- @@ -3980,7 +4037,7 @@
- //TODO: if we remove objects that are not visisble from the L2World, we'll have to remove this check
- if (L2World.getInstance().findObject(objectId) == null)
- {
- - _log.finest(getObjectId()+": player tried to " + action + " item not available in L2World");
- + _log.finest(getObjectId() + ": player tried to " + action + " item not available in L2World");
- return null;
- }
- @@ -3988,19 +4045,19 @@
- if (item == null || item.getOwnerId() != getObjectId())
- {
- - _log.finest(getObjectId()+": player tried to " + action + " item he is not owner of");
- + _log.finest(getObjectId() + ": player tried to " + action + " item he is not owner of");
- return null;
- }
- if (count < 0 || (count > 1 && !item.isStackable()))
- {
- - _log.finest(getObjectId()+": player tried to " + action + " item with invalid count: "+ count);
- + _log.finest(getObjectId() + ": player tried to " + action + " item with invalid count: " + count);
- return null;
- }
- if (count > item.getCount())
- {
- - _log.finest(getObjectId()+": player tried to " + action + " more items than he owns");
- + _log.finest(getObjectId() + ": player tried to " + action + " more items than he owns");
- return null;
- }
- @@ -4008,7 +4065,7 @@
- if (getPet() != null && getPet().getControlObjectId() == objectId || getMountObjectID() == objectId)
- {
- if (Config.DEBUG)
- - _log.finest(getObjectId()+": player tried to " + action + " item controling pet");
- + _log.finest(getObjectId() + ": player tried to " + action + " item controling pet");
- return null;
- }
- @@ -4016,11 +4073,11 @@
- if (getActiveEnchantItem() != null && getActiveEnchantItem().getObjectId() == objectId)
- {
- if (Config.DEBUG)
- - _log.finest(getObjectId()+":player tried to " + action + " an enchant scroll he was using");
- + _log.finest(getObjectId() + ":player tried to " + action + " an enchant scroll he was using");
- return null;
- }
- -
- +
- // We cannot put a Weapon with Augmention in WH while casting (Possible Exploit)
- if (item.isAugmented() && (isCastingNow() || this.isCastingSimultaneouslyNow()))
- return null;
- @@ -4034,7 +4091,7 @@
- public void setProtection(boolean protect)
- {
- if (Config.DEVELOPER && (protect || _protectEndTime > 0))
- - _log.warning(getName() + ": Protection " + (protect?"ON " + (GameTimeController.getGameTicks() + Config.PLAYER_SPAWN_PROTECTION * GameTimeController.TICKS_PER_SECOND) :"OFF") + " (currently " + GameTimeController.getGameTicks() + ")");
- + _log.warning(getName() + ": Protection " + (protect ? "ON " + (GameTimeController.getGameTicks() + Config.PLAYER_SPAWN_PROTECTION * GameTimeController.TICKS_PER_SECOND) : "OFF") + " (currently " + GameTimeController.getGameTicks() + ")");
- _protectEndTime = protect ? GameTimeController.getGameTicks() + Config.PLAYER_SPAWN_PROTECTION * GameTimeController.TICKS_PER_SECOND : 0;
- }
- @@ -4042,9 +4099,9 @@
- public void setTeleportProtection(boolean protect)
- {
- if (Config.DEVELOPER && (protect || _teleportProtectEndTime > 0))
- - _log.warning(getName() + ": Tele Protection " + (protect?"ON " + (GameTimeController.getGameTicks() + Config.PLAYER_TELEPORT_PROTECTION * GameTimeController.TICKS_PER_SECOND) :"OFF") + " (currently " + GameTimeController.getGameTicks() + ")");
- + _log.warning(getName() + ": Tele Protection " + (protect ? "ON " + (GameTimeController.getGameTicks() + Config.PLAYER_TELEPORT_PROTECTION * GameTimeController.TICKS_PER_SECOND) : "OFF") + " (currently " + GameTimeController.getGameTicks() + ")");
- - _teleportProtectEndTime = protect? GameTimeController.getGameTicks() + Config.PLAYER_TELEPORT_PROTECTION * GameTimeController.TICKS_PER_SECOND : 0;
- + _teleportProtectEndTime = protect ? GameTimeController.getGameTicks() + Config.PLAYER_TELEPORT_PROTECTION * GameTimeController.TICKS_PER_SECOND : 0;
- }
- /**
- @@ -4157,8 +4214,7 @@
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.A_MALICIOUS_SKILL_CANNOT_BE_USED_IN_PEACE_ZONE));
- return false;
- }
- - if (getTrap() != null
- - && getTrap().getSkill().getId() == ((L2SkillTrap)skill).getTriggerSkillId())
- + if (getTrap() != null && getTrap().getSkill().getId() == ((L2SkillTrap) skill).getTriggerSkillId())
- {
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
- sm.addSkillName(skill);
- @@ -4169,7 +4225,7 @@
- }
- case SUMMON:
- {
- - if (!((L2SkillSummon)skill).isCubic() && (getPet() != null || isMounted() || CharSummonTable.getInstance().getPets().contains(getObjectId()) || CharSummonTable.getInstance().getPets().contains(getObjectId())))
- + if (!((L2SkillSummon) skill).isCubic() && (getPet() != null || isMounted() || CharSummonTable.getInstance().getPets().contains(getObjectId()) || CharSummonTable.getInstance().getPets().contains(getObjectId())))
- {
- if (Config.DEBUG)
- _log.fine("player has a pet already. ignore summon skill");
- @@ -4182,8 +4238,7 @@
- // TODO: Should possibly be checked only in L2PcInstance's useMagic
- // Can't use Hero and resurrect skills during Olympiad
- - if (isInOlympiadMode() &&
- - (skill.isHeroSkill() || skill.getSkillType() == L2SkillType.RESURRECT))
- + if (isInOlympiadMode() && (skill.isHeroSkill() || skill.getSkillType() == L2SkillType.RESURRECT))
- {
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THIS_SKILL_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT);
- sendPacket(sm);
- @@ -4192,8 +4247,7 @@
- final int charges = getCharges();
- // Check if the spell using charges or not in AirShip
- - if ((skill.getMaxCharges() == 0 && charges < skill.getNumCharges())
- - || (isInAirShip() && skill.getSkillType() != L2SkillType.REFUEL))
- + if ((skill.getMaxCharges() == 0 && charges < skill.getNumCharges()) || (isInAirShip() && skill.getSkillType() != L2SkillType.REFUEL))
- {
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
- sm.addSkillName(skill);
- @@ -4225,7 +4279,7 @@
- else
- {
- double doubleMulti = currentCp / _cpUpdateInterval;
- - int intMulti = (int)doubleMulti;
- + int intMulti = (int) doubleMulti;
- _cpUpdateDecCheck = _cpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti);
- _cpUpdateIncCheck = _cpUpdateDecCheck + _cpUpdateInterval;
- @@ -4258,7 +4312,7 @@
- else
- {
- double doubleMulti = currentMp / _mpUpdateInterval;
- - int intMulti = (int)doubleMulti;
- + int intMulti = (int) doubleMulti;
- _mpUpdateDecCheck = _mpUpdateInterval * (doubleMulti < intMulti ? intMulti-- : intMulti);
- _mpUpdateIncCheck = _mpUpdateDecCheck + _mpUpdateInterval;
- @@ -4292,17 +4346,14 @@
- su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
- su.addAttribute(StatusUpdate.CUR_MP, (int) getCurrentMp());
- su.addAttribute(StatusUpdate.CUR_CP, (int) getCurrentCp());
- - su.addAttribute(StatusUpdate.MAX_CP, getMaxCp());
- + su.addAttribute(StatusUpdate.MAX_CP, getMaxCp());
- sendPacket(su);
- final boolean needCpUpdate = needCpUpdate(352);
- final boolean needHpUpdate = needHpUpdate(352);
- // Check if a party is in progress and party window update is usefull
- L2Party party = _party;
- - if (party != null
- - && (needCpUpdate
- - || needHpUpdate
- - || needMpUpdate(352)))
- + if (party != null && (needCpUpdate || needHpUpdate || needMpUpdate(352)))
- {
- if (Config.DEBUG)
- _log.fine("Send status for party window of " + getObjectId() + "(" + getName() + ") to his party. CP: " + getCurrentCp() + " HP: " + getCurrentHp() + " MP: " + getCurrentMp());
- @@ -4311,18 +4362,15 @@
- party.broadcastToPartyMembers(this, update);
- }
- - if (isInOlympiadMode()
- - && isOlympiadStart()
- - && (needCpUpdate || needHpUpdate))
- + if (isInOlympiadMode() && isOlympiadStart() && (needCpUpdate || needHpUpdate))
- {
- final OlympiadGameTask game = OlympiadGameManager.getInstance().getOlympiadTask(getOlympiadGameId());
- if (game != null && game.isBattleStarted())
- game.getZone().broadcastStatusUpdate(this);
- }
- -
- +
- // In duel MP updated only with CP or HP
- - if (isInDuel()
- - && (needCpUpdate || needHpUpdate))
- + if (isInDuel() && (needCpUpdate || needHpUpdate))
- {
- ExDuelUpdateUserInfo update = new ExDuelUpdateUserInfo(this);
- DuelManager.getInstance().broadcastToOppositTeam(this, update);
- @@ -4355,9 +4403,7 @@
- broadcastPacket(new CharInfo(this));
- broadcastPacket(new ExBrExtraUserInfo(this));
- - if (TerritoryWarManager.getInstance().isTWInProgress()
- - && (TerritoryWarManager.getInstance().checkIsRegistered(-1, getObjectId())
- - || TerritoryWarManager.getInstance().checkIsRegistered(-1, getClan())))
- + if (TerritoryWarManager.getInstance().isTWInProgress() && (TerritoryWarManager.getInstance().checkIsRegistered(-1, getObjectId()) || TerritoryWarManager.getInstance().checkIsRegistered(-1, getClan())))
- {
- broadcastPacket(new ExDominionWarStart(this));
- }
- @@ -4494,7 +4540,7 @@
- this.sendPacket(new GameGuardQuery());
- if (Config.GAMEGUARD_ENFORCE)
- {
- - ThreadPoolManager.getInstance().scheduleGeneral(new GameGuardCheck(), 30*1000);
- + ThreadPoolManager.getInstance().scheduleGeneral(new GameGuardCheck(), 30 * 1000);
- }
- }
- @@ -4509,8 +4555,8 @@
- L2GameClient client = L2PcInstance.this.getClient();
- if (client != null && !client.isAuthedGG() && L2PcInstance.this.isOnline())
- {
- - GmListTable.broadcastMessageToGMs("Client "+client+" failed to reply GameGuard query and is being kicked!");
- - _log.info("Client "+client+" failed to reply GameGuard query and is being kicked!");
- + GmListTable.broadcastMessageToGMs("Client " + client + " failed to reply GameGuard query and is being kicked!");
- + _log.info("Client " + client + " failed to reply GameGuard query and is being kicked!");
- client.close(LeaveWorld.STATIC_PACKET);
- }
- }
- @@ -4587,13 +4633,14 @@
- */
- public void doAutoLoot(L2Attackable target, L2Attackable.RewardItem item)
- {
- - if (isInParty()&&ItemTable.getInstance().getTemplate(item.getItemId()).getItemType() != L2EtcItemType.HERB)
- + if (isInParty() && ItemTable.getInstance().getTemplate(item.getItemId()).getItemType() != L2EtcItemType.HERB)
- getParty().distributeItem(this, item, false, target);
- - else if (item.getItemId() == 57) addAdena("Loot", item.getCount(), target, true);
- - else addItem("Loot", item.getItemId(), item.getCount(), target, true);
- + else if (item.getItemId() == 57)
- + addAdena("Loot", item.getCount(), target, true);
- + else
- + addItem("Loot", item.getItemId(), item.getCount(), target, true);
- }
- -
- /**
- * Manage Pickup Task.<BR><BR>
- *
- @@ -4612,16 +4659,17 @@
- */
- protected void doPickupItem(L2Object object)
- {
- - if (isAlikeDead() || isFakeDeath()) return;
- + if (isAlikeDead() || isFakeDeath())
- + return;
- // Set the AI Intention to AI_INTENTION_IDLE
- getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
- // Check if the L2Object to pick up is a L2ItemInstance
- - if (! (object instanceof L2ItemInstance))
- + if (!(object instanceof L2ItemInstance))
- {
- // dont try to pickup anything that is not an item :)
- - _log.warning(this+" trying to pickup wrong target."+getTarget());
- + _log.warning(this + " trying to pickup wrong target." + getTarget());
- return;
- }
- @@ -4633,7 +4681,7 @@
- // Send a Server->Client packet StopMove to this L2PcInstance
- StopMove sm = new StopMove(this);
- if (Config.DEBUG)
- - _log.fine("pickup pos: "+ target.getX() + " "+target.getY()+ " "+target.getZ() );
- + _log.fine("pickup pos: " + target.getX() + " " + target.getY() + " " + target.getZ());
- sendPacket(sm);
- SystemMessage smsg = null;
- @@ -4656,7 +4704,7 @@
- return;
- }
- - if ( ((isInParty() && getParty().getLootDistribution() == L2Party.ITEM_LOOTER) || !isInParty()) && !_inventory.validateCapacity(target))
- + if (((isInParty() && getParty().getLootDistribution() == L2Party.ITEM_LOOTER) || !isInParty()) && !_inventory.validateCapacity(target))
- {
- sendPacket(ActionFailed.STATIC_PACKET);
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SLOTS_FULL));
- @@ -4696,19 +4744,18 @@
- }
- // You can pickup only 1 combat flag
- - if(FortSiegeManager.getInstance().isCombat(target.getItemId()) )
- + if (FortSiegeManager.getInstance().isCombat(target.getItemId()))
- {
- if (!FortSiegeManager.getInstance().checkIfCanPickup(this))
- - return ;
- + return;
- }
- - if(target.getItemLootShedule() != null
- - && (target.getOwnerId() == getObjectId() || isInLooterParty(target.getOwnerId())))
- + if (target.getItemLootShedule() != null && (target.getOwnerId() == getObjectId() || isInLooterParty(target.getOwnerId())))
- target.resetOwnerTimer();
- // Remove the L2ItemInstance from the world and send server->client GetItem packets
- target.pickupMe(this);
- - if(Config.SAVE_DROPPED_ITEM) // item must be removed from ItemsOnGroundManager if is active
- + if (Config.SAVE_DROPPED_ITEM) // item must be removed from ItemsOnGroundManager if is active
- ItemsOnGroundManager.getInstance().removeObject(target);
- }
- @@ -4723,18 +4770,18 @@
- ItemTable.getInstance().destroyItem("Consume", target, this, null);
- }
- // Cursed Weapons are not distributed
- - else if(CursedWeaponsManager.getInstance().isCursed(target.getItemId()))
- + else if (CursedWeaponsManager.getInstance().isCursed(target.getItemId()))
- {
- addItem("Pickup", target, null, true);
- }
- - else if(FortSiegeManager.getInstance().isCombat(target.getItemId()) )
- + else if (FortSiegeManager.getInstance().isCombat(target.getItemId()))
- {
- addItem("Pickup", target, null, true);
- }
- else
- {
- // if item is instance of L2ArmorType or L2WeaponType broadcast an "Attention" system message
- - if(target.getItemType() instanceof L2ArmorType || target.getItemType() instanceof L2WeaponType)
- + if (target.getItemType() instanceof L2ArmorType || target.getItemType() instanceof L2WeaponType)
- {
- if (target.getEnchantLevel() > 0)
- {
- @@ -4754,7 +4801,8 @@
- }
- // Check if a Party is in progress
- - if (isInParty()) getParty().distributeItem(this, target);
- + if (isInParty())
- + getParty().distributeItem(this, target);
- // Target is adena
- else if (target.getItemId() == 57 && getInventory().getAdenaInstance() != null)
- {
- @@ -4784,8 +4832,7 @@
- public boolean canOpenPrivateStore()
- {
- - return !isAlikeDead() && !isInOlympiadMode() && !isMounted()
- - && !isInsideZone(ZONE_NOSTORE) && !isCastingNow();
- + return !isAlikeDead() && !isInOlympiadMode() && !isMounted() && !isInsideZone(ZONE_NOSTORE) && !isCastingNow();
- }
- public void tryOpenPrivateBuyStore()
- @@ -4874,7 +4921,7 @@
- return;
- }
- setQueuedSkill(null, false, false);
- - if(isMounted())
- + if (isMounted())
- {
- // Get off the strider or something else if character is mounted
- dismount();
- @@ -4895,7 +4942,7 @@
- if (_transformation != null)
- {
- setQueuedSkill(null, false, false);
- - setTransformAllowedSkills(new int[]{});
- + setTransformAllowedSkills(new int[] {});
- _transformation.onUntransform();
- _transformation = null;
- stopEffects(L2EffectType.TRANSFORMATION);
- @@ -4940,8 +4987,7 @@
- {
- _transformationId = getTransformationId();
- - if (_transformationId == L2Transformation.TRANSFORM_AKAMANAH
- - || _transformationId == L2Transformation.TRANSFORM_ZARICHE)
- + if (_transformationId == L2Transformation.TRANSFORM_AKAMANAH || _transformationId == L2Transformation.TRANSFORM_ZARICHE)
- return;
- Connection con = null;
- @@ -4958,7 +5004,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Transformation insert info: ",e);
- + _log.log(Level.SEVERE, "Transformation insert info: ", e);
- }
- finally
- {
- @@ -4988,7 +5034,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Transformation select info: ",e);
- + _log.log(Level.SEVERE, "Transformation select info: ", e);
- }
- finally
- {
- @@ -5012,9 +5058,9 @@
- public void setTarget(L2Object newTarget)
- {
- - if(newTarget!=null)
- + if (newTarget != null)
- {
- - boolean isParty=(( (newTarget instanceof L2PcInstance) && isInParty() && getParty().getPartyMembers().contains(newTarget)));
- + boolean isParty = (((newTarget instanceof L2PcInstance) && isInParty() && getParty().getPartyMembers().contains(newTarget)));
- // Check if the new target is visible
- if (!isParty && !newTarget.isVisible())
- @@ -5024,10 +5070,10 @@
- if (newTarget != null && !isParty && Math.abs(newTarget.getZ() - getZ()) > 1000)
- newTarget = null;
- }
- - if(!isGM())
- + if (!isGM())
- {
- // Can't target and attack festival monsters if not participant
- - if((newTarget instanceof L2FestivalMonsterInstance) && !isFestivalParticipant())
- + if ((newTarget instanceof L2FestivalMonsterInstance) && !isFestivalParticipant())
- newTarget = null;
- // vehicles cant be targeted
- @@ -5035,7 +5081,7 @@
- newTarget = null;
- // Can't target and attack rift invaders if not in the same room
- - else if(isInParty() && getParty().isInDimensionalRift())
- + else if (isInParty() && getParty().isInDimensionalRift())
- {
- byte riftType = getParty().getDimensionalRift().getType();
- byte riftRoom = getParty().getDimensionalRift().getCurrentRoom();
- @@ -5052,7 +5098,7 @@
- {
- if (oldTarget.equals(newTarget))
- return; // no target change
- -
- +
- // Remove the L2PcInstance from the _statusListener of the old target if it was a L2Character
- if (oldTarget instanceof L2Character)
- ((L2Character) oldTarget).removeStatusListener(this);
- @@ -5134,14 +5180,12 @@
- if (armor != null && legs != null)
- {
- - if ((L2ArmorType)legs.getItemType() == L2ArmorType.HEAVY
- - && ((L2ArmorType)armor.getItemType() == L2ArmorType.HEAVY))
- + if ((L2ArmorType) legs.getItemType() == L2ArmorType.HEAVY && ((L2ArmorType) armor.getItemType() == L2ArmorType.HEAVY))
- return true;
- }
- if (armor != null)
- {
- - if ((getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
- - && (L2ArmorType)armor.getItemType() == L2ArmorType.HEAVY))
- + if ((getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR && (L2ArmorType) armor.getItemType() == L2ArmorType.HEAVY))
- return true;
- }
- return false;
- @@ -5154,14 +5198,12 @@
- if (armor != null && legs != null)
- {
- - if ((L2ArmorType)legs.getItemType() == L2ArmorType.LIGHT
- - && ((L2ArmorType)armor.getItemType() == L2ArmorType.LIGHT))
- + if ((L2ArmorType) legs.getItemType() == L2ArmorType.LIGHT && ((L2ArmorType) armor.getItemType() == L2ArmorType.LIGHT))
- return true;
- }
- if (armor != null)
- {
- - if ((getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
- - && (L2ArmorType)armor.getItemType() == L2ArmorType.LIGHT))
- + if ((getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR && (L2ArmorType) armor.getItemType() == L2ArmorType.LIGHT))
- return true;
- }
- return false;
- @@ -5174,14 +5216,12 @@
- if (armor != null && legs != null)
- {
- - if ((L2ArmorType)legs.getItemType() == L2ArmorType.MAGIC
- - && ((L2ArmorType)armor.getItemType() == L2ArmorType.MAGIC))
- + if ((L2ArmorType) legs.getItemType() == L2ArmorType.MAGIC && ((L2ArmorType) armor.getItemType() == L2ArmorType.MAGIC))
- return true;
- }
- if (armor != null)
- {
- - if ((getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR
- - && (L2ArmorType)armor.getItemType() == L2ArmorType.MAGIC))
- + if ((getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR && (L2ArmorType) armor.getItemType() == L2ArmorType.MAGIC))
- return true;
- }
- return false;
- @@ -5202,7 +5242,7 @@
- return _engagerequest;
- }
- - public void setEngageRequest(boolean state,int playerid)
- + public void setEngageRequest(boolean state, int playerid)
- {
- _engagerequest = state;
- _engageid = playerid;
- @@ -5255,15 +5295,15 @@
- public void engageAnswer(int answer)
- {
- - if(_engagerequest==false)
- + if (_engagerequest == false)
- return;
- - else if(_engageid==0)
- + else if (_engageid == 0)
- return;
- else
- {
- L2PcInstance ptarget = L2World.getInstance().getPlayer(_engageid);
- - setEngageRequest(false,0);
- - if(ptarget!=null)
- + setEngageRequest(false, 0);
- + if (ptarget != null)
- {
- if (answer == 1)
- {
- @@ -5299,7 +5339,6 @@
- return null;
- }
- -
- /**
- *
- * Kill the L2Character, Apply Death Penalty, Manage gain/loss Karma and Item Drop.<BR><BR>
- @@ -5327,6 +5366,7 @@
- if (isMounted())
- stopFeed();
- +
- synchronized (this)
- {
- if (isFakeDeath())
- @@ -5339,6 +5379,8 @@
- TvTEvent.onKill(killer, this);
- + PlayerKill.getInstance().onKill(this, killer);
- +
- if (L2Event.isParticipant(pk) && pk != null)
- pk.getEventStatus().kills.add(this);
- @@ -5371,7 +5413,7 @@
- Announcements.getInstance().announceToAll(msg);
- }
- }
- -
- +
- broadcastStatusUpdate();
- // Clear resurrect xp calculation
- setExpBeforeDeath(0);
- @@ -5407,10 +5449,9 @@
- if (!(isInsideZone(ZONE_PVP) && !isInsideZone(ZONE_SIEGE)))
- {
- - if (pk != null && pk.getClan() != null && getClan() != null && !isAcademyMember() && !(pk.isAcademyMember()) )
- + if (pk != null && pk.getClan() != null && getClan() != null && !isAcademyMember() && !(pk.isAcademyMember()))
- {
- - if ((_clan.isAtWarWith(pk.getClanId()) && pk.getClan().isAtWarWith(_clan.getClanId()))
- - || (isInSiege() && pk.isInSiege()))
- + if ((_clan.isAtWarWith(pk.getClanId()) && pk.getClan().isAtWarWith(_clan.getClanId())) || (isInSiege() && pk.isInSiege()))
- {
- if (AntiFeedManager.getInstance().check(killer, this))
- {
- @@ -5492,13 +5533,9 @@
- return;
- L2PcInstance pk = killer.getActingPlayer();
- - if (getKarma() <= 0 && pk != null
- - && pk.getClan() != null && getClan() != null
- - && (
- - pk.getClan().isAtWarWith(getClanId())
- - // || this.getClan().isAtWarWith(((L2PcInstance)killer).getClanId())
- - )
- - )
- + if (getKarma() <= 0 && pk != null && pk.getClan() != null && getClan() != null && (pk.getClan().isAtWarWith(getClanId())
- + // || this.getClan().isAtWarWith(((L2PcInstance)killer).getClanId())
- + ))
- return;
- if ((!isInsideZone(ZONE_PVP) || pk == null) && (!isGM() || Config.KARMA_DROP_GM))
- @@ -5507,11 +5544,11 @@
- boolean isKillerNpc = (killer instanceof L2Npc);
- int pkLimit = Config.KARMA_PK_LIMIT;
- - int dropEquip = 0;
- - int dropEquipWeapon = 0;
- - int dropItem = 0;
- - int dropLimit = 0;
- - int dropPercent = 0;
- + int dropEquip = 0;
- + int dropEquipWeapon = 0;
- + int dropItem = 0;
- + int dropLimit = 0;
- + int dropPercent = 0;
- if (getKarma() > 0 && getPkKills() >= pkLimit)
- {
- @@ -5540,16 +5577,15 @@
- for (L2ItemInstance itemDrop : getInventory().getItems())
- {
- // Don't drop
- - if (
- - itemDrop.isShadowItem() || // Dont drop Shadow Items
- - itemDrop.isTimeLimitedItem() || // Dont drop Time Limited Items
- - !itemDrop.isDropable() ||
- - itemDrop.getItemId() == 57 || // Adena
- - itemDrop.getItem().getType2() == L2Item.TYPE2_QUEST || // Quest Items
- - getPet() != null && getPet().getControlObjectId() == itemDrop.getItemId() || // Control Item of active pet
- - Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_ITEMS, itemDrop.getItemId()) >= 0 || // Item listed in the non droppable item list
- - Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_PET_ITEMS, itemDrop.getItemId()) >= 0 // Item listed in the non droppable pet item list
- - ) continue;
- + if (itemDrop.isShadowItem() || // Dont drop Shadow Items
- + itemDrop.isTimeLimitedItem() || // Dont drop Time Limited Items
- + !itemDrop.isDropable() || itemDrop.getItemId() == 57 || // Adena
- + itemDrop.getItem().getType2() == L2Item.TYPE2_QUEST || // Quest Items
- + getPet() != null && getPet().getControlObjectId() == itemDrop.getItemId() || // Control Item of active pet
- + Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_ITEMS, itemDrop.getItemId()) >= 0 || // Item listed in the non droppable item list
- + Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_PET_ITEMS, itemDrop.getItemId()) >= 0 // Item listed in the non droppable pet item list
- + )
- + continue;
- if (itemDrop.isEquipped())
- {
- @@ -5557,8 +5593,9 @@
- itemDropPercent = itemDrop.getItem().getType2() == L2Item.TYPE2_WEAPON ? dropEquipWeapon : dropEquip;
- getInventory().unEquipItemInSlot(itemDrop.getLocationSlot());
- }
- - else itemDropPercent = dropItem; // Item in inventory
- -
- + else
- + itemDropPercent = dropItem; // Item in inventory
- +
- // NOTE: Each time an item is dropped, the chance of another item being dropped gets lesser (dropCount * 2)
- if (Rnd.get(100) < itemDropPercent)
- {
- @@ -5580,7 +5617,7 @@
- private void onDieUpdateKarma()
- {
- // Karma lose for server that does not allow delevel
- - if ( getKarma() > 0 )
- + if (getKarma() > 0)
- {
- // this formula seems to work relatively well:
- // baseKarma * thisLVL * (thisLVL/100)
- @@ -5589,23 +5626,28 @@
- karmaLost *= getLevel(); // multiply by char lvl
- karmaLost *= (getLevel() / 100.0); // divide by 0.charLVL
- karmaLost = Math.round(karmaLost);
- - if ( karmaLost < 0 ) karmaLost = 1;
- + if (karmaLost < 0)
- + karmaLost = 1;
- // Decrease Karma of the L2PcInstance and Send it a Server->Client StatusUpdate packet with Karma and PvP Flag if necessary
- - setKarma(getKarma() - (int)karmaLost);
- + setKarma(getKarma() - (int) karmaLost);
- }
- }
- public void onKillUpdatePvPKarma(L2Character target)
- {
- - if (target == null) return;
- - if (!(target instanceof L2Playable)) return;
- + if (target == null)
- + return;
- + if (!(target instanceof L2Playable))
- + return;
- L2PcInstance targetPlayer = target.getActingPlayer();
- - if (targetPlayer == null) return; // Target player is null
- - if (targetPlayer == this) return; // Target player is self
- -
- + if (targetPlayer == null)
- + return; // Target player is null
- + if (targetPlayer == this)
- + return; // Target player is self
- +
- if (isCursedWeaponEquipped())
- {
- CursedWeaponsManager.getInstance().increaseKills(_cursedWeaponEquippedId);
- @@ -5620,33 +5662,26 @@
- }
- // If in duel and you kill (only can kill l2summon), do nothing
- - if (isInDuel() && targetPlayer.isInDuel()) return;
- + if (isInDuel() && targetPlayer.isInDuel())
- + return;
- // If in Arena, do nothing
- if (isInsideZone(ZONE_PVP) || targetPlayer.isInsideZone(ZONE_PVP))
- return;
- // Check if it's pvp
- - if (
- - (
- - checkIfPvP(target) && // Can pvp and
- - targetPlayer.getPvpFlag() != 0 // Target player has pvp flag set
- - ) || // or
- - (
- - isInsideZone(ZONE_PVP) && // Player is inside pvp zone and
- - targetPlayer.isInsideZone(ZONE_PVP) // Target player is inside pvp zone
- - )
- - )
- + if ((checkIfPvP(target) && // Can pvp and
- + targetPlayer.getPvpFlag() != 0 // Target player has pvp flag set
- + ) || // or
- + (isInsideZone(ZONE_PVP) && // Player is inside pvp zone and
- + targetPlayer.isInsideZone(ZONE_PVP) // Target player is inside pvp zone
- + ))
- increasePvpKills(target);
- else
- - // Target player doesn't have pvp flag set
- + // Target player doesn't have pvp flag set
- {
- // check about wars
- - if (targetPlayer.getClan() != null && getClan() != null
- - && getClan().isAtWarWith(targetPlayer.getClanId())
- - && targetPlayer.getClan().isAtWarWith(getClanId())
- - && targetPlayer.getPledgeType() != L2Clan.SUBUNIT_ACADEMY
- - && getPledgeType() != L2Clan.SUBUNIT_ACADEMY)
- + if (targetPlayer.getClan() != null && getClan() != null && getClan().isAtWarWith(targetPlayer.getClanId()) && targetPlayer.getClan().isAtWarWith(getClanId()) && targetPlayer.getPledgeType() != L2Clan.SUBUNIT_ACADEMY && getPledgeType() != L2Clan.SUBUNIT_ACADEMY)
- {
- // 'Both way war' -> 'PvP Kill'
- increasePvpKills(target);
- @@ -5654,12 +5689,12 @@
- }
- // 'No war' or 'One way war' -> 'Normal PK'
- - if (targetPlayer.getKarma() > 0) // Target player has karma
- + if (targetPlayer.getKarma() > 0) // Target player has karma
- {
- if (Config.KARMA_AWARD_PK_KILL)
- increasePvpKills(target);
- }
- - else if (targetPlayer.getPvpFlag() == 0) // Target player doesn't have karma
- + else if (targetPlayer.getPvpFlag() == 0) // Target player doesn't have karma
- {
- increasePkKillsAndKarma(target);
- //Unequip adventurer items
- @@ -5674,8 +5709,7 @@
- */
- public void increasePvpKills(L2Character target)
- {
- - if (target instanceof L2PcInstance
- - && AntiFeedManager.getInstance().check(this, target))
- + if (target instanceof L2PcInstance && AntiFeedManager.getInstance().check(this, target))
- {
- // Add karma to attacker and increase its PK counter
- setPvpKills(getPvpKills() + 1);
- @@ -5694,14 +5728,14 @@
- */
- public void increasePkKillsAndKarma(L2Character target)
- {
- - int baseKarma = Config.KARMA_MIN_KARMA;
- - int newKarma = baseKarma;
- - int karmaLimit = Config.KARMA_MAX_KARMA;
- + int baseKarma = Config.KARMA_MIN_KARMA;
- + int newKarma = baseKarma;
- + int karmaLimit = Config.KARMA_MAX_KARMA;
- - int pkLVL = getLevel();
- - int pkPKCount = getPkKills();
- + int pkLVL = getLevel();
- + int pkPKCount = getPkKills();
- - int targLVL = target.getLevel();
- + int targLVL = target.getLevel();
- int lvlDiffMulti = 0;
- int pkCountMulti = 0;
- @@ -5740,8 +5774,7 @@
- // Add karma to attacker and increase its PK counter
- setKarma(getKarma() + newKarma);
- - if (target instanceof L2PcInstance
- - && AntiFeedManager.getInstance().check(this, target))
- + if (target instanceof L2PcInstance && AntiFeedManager.getInstance().check(this, target))
- setPkKills(getPkKills() + 1);
- // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
- @@ -5765,17 +5798,20 @@
- if (expGained > Integer.MAX_VALUE)
- karmaLost = Integer.MAX_VALUE;
- else
- - karmaLost = (int)expGained;
- + karmaLost = (int) expGained;
- - if (karmaLost < Config.KARMA_LOST_BASE) karmaLost = Config.KARMA_LOST_BASE;
- - if (karmaLost > getKarma()) karmaLost = getKarma();
- + if (karmaLost < Config.KARMA_LOST_BASE)
- + karmaLost = Config.KARMA_LOST_BASE;
- + if (karmaLost > getKarma())
- + karmaLost = getKarma();
- return karmaLost;
- }
- public void updatePvPStatus()
- {
- - if (isInsideZone(ZONE_PVP)) return;
- + if (isInsideZone(ZONE_PVP))
- + return;
- setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_NORMAL_TIME);
- if (getPvpFlag() == 0)
- @@ -5789,7 +5825,8 @@
- if (player_target == null)
- return;
- - if ((isInDuel() && player_target.getDuelId() == getDuelId())) return;
- + if ((isInDuel() && player_target.getDuelId() == getDuelId()))
- + return;
- if ((!isInsideZone(ZONE_PVP) || !player_target.isInsideZone(ZONE_PVP)) && player_target.getKarma() == 0)
- {
- if (checkIfPvP(player_target))
- @@ -5882,7 +5919,7 @@
- }
- //The death steal you some Exp
- - double percentLost = Config.PLAYER_XP_PERCENT_LOST[getLevel()]*clan_luck_modificator;
- + double percentLost = Config.PLAYER_XP_PERCENT_LOST[getLevel()] * clan_luck_modificator;
- if (getKarma() > 0)
- percentLost *= Config.RATE_KARMA_EXP_LOST;
- @@ -5894,9 +5931,9 @@
- long lostExp = 0;
- if (!L2Event.isParticipant(this))
- if (lvl < ExperienceTable.getInstance().getMaxLevel())
- - lostExp = Math.round((getStat().getExpForLevel(lvl+1) - getStat().getExpForLevel(lvl)) * percentLost /100);
- + lostExp = Math.round((getStat().getExpForLevel(lvl + 1) - getStat().getExpForLevel(lvl)) * percentLost / 100);
- else
- - lostExp = Math.round((getStat().getExpForLevel(ExperienceTable.getInstance().getMaxLevel()) - getStat().getExpForLevel(ExperienceTable.getInstance().getMaxLevel() - 1)) * percentLost /100);
- + lostExp = Math.round((getStat().getExpForLevel(ExperienceTable.getInstance().getMaxLevel()) - getStat().getExpForLevel(ExperienceTable.getInstance().getMaxLevel() - 1)) * percentLost / 100);
- // Get the Experience before applying penalty
- setExpBeforeDeath(getExp());
- @@ -6001,11 +6038,11 @@
- {
- _summon = summon;
- // update attack element value display
- - if ((_summon == null || _summon instanceof L2SummonInstance)
- - && getClassId().isSummoner() && getAttackElement() != Elementals.NONE)
- + if ((_summon == null || _summon instanceof L2SummonInstance) && getClassId().isSummoner() && getAttackElement() != Elementals.NONE)
- sendPacket(new UserInfo(this));
- }
- +
- /**
- * Set the L2Decoy of the L2PcInstance.<BR><BR>
- */
- @@ -6198,7 +6235,8 @@
- return;
- L2PcInstance partner = _activeTradeList.getPartner();
- - if (partner != null) partner.onTradeCancel(this);
- + if (partner != null)
- + partner.onTradeCancel(this);
- onTradeCancel(this);
- }
- @@ -6223,7 +6261,8 @@
- */
- public TradeList getSellList()
- {
- - if (_sellList == null) _sellList = new TradeList(this);
- + if (_sellList == null)
- + _sellList = new TradeList(this);
- return _sellList;
- }
- @@ -6232,7 +6271,8 @@
- */
- public TradeList getBuyList()
- {
- - if (_buyList == null) _buyList = new TradeList(this);
- + if (_buyList == null)
- + _buyList = new TradeList(this);
- return _buyList;
- }
- @@ -6348,20 +6388,20 @@
- _boltItem = null;
- else
- _arrowItem = null;
- - sendPacket(new ItemList(this,false));
- + sendPacket(new ItemList(this, false));
- return;
- }
- // Adjust item quantity
- if (arrows.getCount() > 1)
- {
- - synchronized(arrows)
- + synchronized (arrows)
- {
- arrows.changeCountWithoutTrace(-1, this, null);
- arrows.setLastChange(L2ItemInstance.MODIFIED);
- // could do also without saving, but let's save approx 1 of 10
- - if(GameTimeController.getGameTicks() % 10 == 0)
- + if (GameTimeController.getGameTicks() % 10 == 0)
- arrows.updateDatabase();
- _inventory.refreshWeight();
- }
- @@ -6377,8 +6417,9 @@
- else
- _arrowItem = null;
- - if (Config.DEBUG) _log.fine("removed arrows count");
- - sendPacket(new ItemList(this,false));
- + if (Config.DEBUG)
- + _log.fine("removed arrows count");
- + sendPacket(new ItemList(this, false));
- return;
- }
- @@ -6388,7 +6429,8 @@
- iu.addModifiedItem(arrows);
- sendPacket(iu);
- }
- - else sendPacket(new ItemList(this, false));
- + else
- + sendPacket(new ItemList(this, false));
- }
- /**
- @@ -6452,16 +6494,19 @@
- return _boltItem != null;
- }
- +
- /**
- * Disarm the player's weapon.<BR><BR>
- */
- public boolean disarmWeapons()
- {
- // Don't allow disarming a cursed weapon
- - if (isCursedWeaponEquipped()) return false;
- + if (isCursedWeaponEquipped())
- + return false;
- // Don't allow disarming a Combat Flag or Territory Ward
- - if (isCombatFlagEquipped()) return false;
- + if (isCombatFlagEquipped())
- + return false;
- // Unequip the weapon
- L2ItemInstance wpn = getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
- @@ -6469,7 +6514,7 @@
- {
- L2ItemInstance[] unequiped = getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart());
- InventoryUpdate iu = new InventoryUpdate();
- - for (L2ItemInstance itm: unequiped)
- + for (L2ItemInstance itm : unequiped)
- iu.addModifiedItem(itm);
- sendPacket(iu);
- @@ -6507,7 +6552,7 @@
- {
- L2ItemInstance[] unequiped = getInventory().unEquipItemInBodySlotAndRecord(sld.getItem().getBodyPart());
- InventoryUpdate iu = new InventoryUpdate();
- - for (L2ItemInstance itm: unequiped)
- + for (L2ItemInstance itm : unequiped)
- iu.addModifiedItem(itm);
- sendPacket(iu);
- @@ -6560,7 +6605,7 @@
- return true;
- }
- - public boolean mount(int npcId, int controlItemObjId,boolean useFood)
- + public boolean mount(int npcId, int controlItemObjId, boolean useFood)
- {
- if (!disarmWeapons())
- return false;
- @@ -6717,7 +6762,8 @@
- public boolean isUsingDualWeapon()
- {
- L2Weapon weaponItem = getActiveWeaponItem();
- - if (weaponItem == null) return false;
- + if (weaponItem == null)
- + return false;
- if (weaponItem.getItemType() == L2WeaponType.DUAL)
- return true;
- @@ -6736,7 +6782,7 @@
- public long getUptime()
- {
- - return System.currentTimeMillis()-_uptime;
- + return System.currentTimeMillis() - _uptime;
- }
- /**
- @@ -6779,7 +6825,6 @@
- }
- }
- -
- /**
- * Manage the Leave Party task of the L2PcInstance.<BR><BR>
- */
- @@ -6817,7 +6862,7 @@
- {
- if (level == AccessLevels._masterAccessLevelNum)
- {
- - _log.warning( "Master access level set for character " + getName() + "! Just a warning to be careful ;)" );
- + _log.warning("Master access level set for character " + getName() + "! Just a warning to be careful ;)");
- _accessLevel = AccessLevels._masterAccessLevel;
- }
- else if (level == AccessLevels._userAccessLevelNum)
- @@ -6835,7 +6880,7 @@
- }
- else
- {
- - _log.warning( "Tryed to set unregistered access level " + level + " to character " + getName() + ". Setting access level without privileges!" );
- + _log.warning("Tryed to set unregistered access level " + level + " to character " + getName() + ". Setting access level without privileges!");
- _accessLevel = AccessLevels._userAccessLevel;
- }
- }
- @@ -6852,7 +6897,7 @@
- public void setAccountAccesslevel(int level)
- {
- - LoginServerThread.getInstance().sendAccessLevel(getAccountName(),level);
- + LoginServerThread.getInstance().sendAccessLevel(getAccountName(), level);
- }
- /**
- @@ -6862,7 +6907,7 @@
- {
- if (Config.EVERYBODY_HAS_ADMIN_RIGHTS)
- return AccessLevels._masterAccessLevel;
- - else if ( _accessLevel == null ) /* This is here because inventory etc. is loaded before access level on login, so it is not null */
- + else if (_accessLevel == null) /* This is here because inventory etc. is loaded before access level on login, so it is not null */
- setAccessLevel(AccessLevels._userAccessLevelNum);
- return _accessLevel;
- @@ -6887,7 +6932,8 @@
- sendPacket(new UserInfo(this));
- sendPacket(new ExBrExtraUserInfo(this));
- }
- - if (broadcastType == 2) broadcastUserInfo();
- + if (broadcastType == 2)
- + broadcastUserInfo();
- }
- /**
- @@ -6998,7 +7044,7 @@
- statement.setInt(11, getAppearance().getFace());
- statement.setInt(12, getAppearance().getHairStyle());
- statement.setInt(13, getAppearance().getHairColor());
- - statement.setInt(14, getAppearance().getSex()? 1 : 0);
- + statement.setInt(14, getAppearance().getSex() ? 1 : 0);
- statement.setLong(15, getExp());
- statement.setInt(16, getSp());
- statement.setInt(17, getKarma());
- @@ -7019,9 +7065,9 @@
- statement.setInt(32, getWantsPeace());
- statement.setInt(33, getBaseClass());
- statement.setInt(34, getNewbie());
- - statement.setInt(35, isNoble() ? 1 :0);
- + statement.setInt(35, isNoble() ? 1 : 0);
- statement.setLong(36, 0);
- - statement.setLong(37,getCreateTime());
- + statement.setLong(37, getCreateTime());
- statement.executeUpdate();
- statement.close();
- @@ -7073,7 +7119,7 @@
- while (rset.next())
- {
- final int activeClassId = rset.getInt("classid");
- - final boolean female = rset.getInt("sex")!=0;
- + final boolean female = rset.getInt("sex") != 0;
- final L2PcTemplate template = CharTemplateTable.getInstance().getTemplate(activeClassId);
- PcAppearance app = new PcAppearance(rset.getByte("face"), rset.getByte("hairColor"), rset.getByte("hairStyle"), female);
- @@ -7096,7 +7142,7 @@
- player.setPkKills(rset.getInt("pkkills"));
- player.setOnlineTime(rset.getLong("onlinetime"));
- player.setNewbie(rset.getInt("newbie"));
- - player.setNoble(rset.getInt("nobless")==1);
- + player.setNoble(rset.getInt("nobless") == 1);
- player.setClanJoinExpiryTime(rset.getLong("clan_join_expiry_time"));
- if (player.getClanJoinExpiryTime() < System.currentTimeMillis())
- @@ -7109,8 +7155,8 @@
- player.setClanCreateExpiryTime(0);
- }
- - int clanId = rset.getInt("clanid");
- - player.setPowerGrade((int)rset.getLong("power_grade"));
- + int clanId = rset.getInt("clanid");
- + player.setPowerGrade((int) rset.getLong("power_grade"));
- player.setPledgeType(rset.getInt("subpledge"));
- //player.setApprentice(rset.getInt("apprentice"));
- @@ -7152,7 +7198,7 @@
- }
- player.setDeleteTimer(rset.getLong("deletetime"));
- -
- +
- player.setTitle(rset.getString("title"));
- player.getAppearance().setTitleColor(rset.getInt("title_color"));
- player.setAccessLevel(rset.getInt("accesslevel"));
- @@ -7162,10 +7208,16 @@
- currentHp = rset.getDouble("curHp");
- currentCp = rset.getDouble("curCp");
- currentMp = rset.getDouble("curMp");
- -
- +
- player._classIndex = 0;
- - try { player.setBaseClass(rset.getInt("base_class")); }
- - catch (Exception e) { player.setBaseClass(activeClassId); }
- + try
- + {
- + player.setBaseClass(rset.getInt("base_class"));
- + }
- + catch (Exception e)
- + {
- + player.setBaseClass(activeClassId);
- + }
- // Restore Subclass Data (cannot be done earlier in function)
- if (restoreSubClassData(player))
- @@ -7183,9 +7235,10 @@
- // a possible restart-while-modifysubclass cheat has been attempted.
- // Switching to use base class
- player.setClassId(player.getBaseClass());
- - _log.warning("Player "+player.getName()+" reverted to base class. Possibly has tried a relogin exploit while subclassing.");
- + _log.warning("Player " + player.getName() + " reverted to base class. Possibly has tried a relogin exploit while subclassing.");
- }
- - else player._activeClass = activeClassId;
- + else
- + player._activeClass = activeClassId;
- player.setApprentice(rset.getInt("apprentice"));
- player.setSponsor(rset.getInt("sponsor"));
- @@ -7248,7 +7301,7 @@
- // Retrieve from the database all skills of this L2PcInstance and add them to _skills
- // Retrieve from the database all items of this L2PcInstance and add them to _inventory
- player.getInventory().restore();
- - player.getFreight().restore();
- + player.getFreight().restore();
- if (!Config.WAREHOUSE_CACHE)
- player.getWarehouse();
- @@ -7267,7 +7320,8 @@
- player.setCurrentHp(currentHp);
- player.setCurrentMp(currentMp);
- - if (currentHp < 0.5) {
- + if (currentHp < 0.5)
- + {
- player.setIsDead(true);
- player.stopHpMpRegeneration();
- }
- @@ -7310,7 +7364,7 @@
- if (_forumMail == null)
- {
- - ForumsBBSManager.getInstance().createNewForum(getName(),ForumsBBSManager.getInstance().getForumByName("MailRoot"),Forum.MAIL,Forum.OWNERONLY,getObjectId());
- + ForumsBBSManager.getInstance().createNewForum(getName(), ForumsBBSManager.getInstance().getForumByName("MailRoot"), Forum.MAIL, Forum.OWNERONLY, getObjectId());
- setMail(ForumsBBSManager.getInstance().getForumByName("MailRoot").getChildByName(getName()));
- }
- }
- @@ -7420,7 +7474,7 @@
- restoreRecipeBook(true);
- // Restore Recipe Shop list
- - if(Config.STORE_RECIPE_SHOPLIST)
- + if (Config.STORE_RECIPE_SHOPLIST)
- restoreRecipeShopList();
- // Load Premium Item List
- @@ -7437,10 +7491,10 @@
- {
- Connection con = null;
- - try {
- + try
- + {
- con = L2DatabaseFactory.getInstance().getConnection();
- - String sql = loadCommon ? "SELECT id, type, classIndex FROM character_recipebook WHERE charId=?" :
- - "SELECT id FROM character_recipebook WHERE charId=? AND classIndex=? AND type = 1";
- + String sql = loadCommon ? "SELECT id, type, classIndex FROM character_recipebook WHERE charId=?" : "SELECT id FROM character_recipebook WHERE charId=? AND classIndex=? AND type = 1";
- PreparedStatement statement = con.prepareStatement(sql);
- statement.setInt(1, getObjectId());
- if (!loadCommon)
- @@ -7450,7 +7504,8 @@
- _dwarvenRecipeBook.clear();
- L2RecipeList recipe;
- - while (rset.next()) {
- + while (rset.next())
- + {
- recipe = RecipeController.getInstance().getRecipeList(rset.getInt("id"));
- if (loadCommon)
- @@ -7508,7 +7563,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Could not restore premium items: "+ e.getMessage(), e);
- + _log.log(Level.SEVERE, "Could not restore premium items: " + e.getMessage(), e);
- }
- finally
- {
- @@ -7531,7 +7586,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Could not update premium items: "+ e.getMessage(), e);
- + _log.log(Level.SEVERE, "Could not update premium items: " + e.getMessage(), e);
- }
- finally
- {
- @@ -7574,7 +7629,7 @@
- storeCharSub();
- storeEffect(storeActiveEffects);
- transformInsertInfo();
- - if(Config.STORE_RECIPE_SHOPLIST)
- + if (Config.STORE_RECIPE_SHOPLIST)
- storeRecipeShopList();
- if (Config.STORE_UI_SETTINGS)
- storeUISettings();
- @@ -7596,9 +7651,9 @@
- // Get the exp, level, and sp of base class to store in base table
- int currentClassIndex = getClassIndex();
- _classIndex = 0;
- - long exp = getStat().getExp();
- - int level = getStat().getLevel();
- - int sp = getStat().getSp();
- + long exp = getStat().getExp();
- + int level = getStat().getLevel();
- + int sp = getStat().getSp();
- _classIndex = currentClassIndex;
- con = L2DatabaseFactory.getInstance().getConnection();
- @@ -7615,7 +7670,7 @@
- statement.setInt(8, getAppearance().getFace());
- statement.setInt(9, getAppearance().getHairStyle());
- statement.setInt(10, getAppearance().getHairColor());
- - statement.setInt(11, getAppearance().getSex()? 1 : 0);
- + statement.setInt(11, getAppearance().getSex() ? 1 : 0);
- statement.setInt(12, getHeading());
- statement.setInt(13, _observerMode ? _lastX : getX());
- statement.setInt(14, _observerMode ? _lastY : getY());
- @@ -7643,7 +7698,7 @@
- long totalOnlineTime = _onlineTime;
- if (_onlineBeginTime > 0)
- - totalOnlineTime += (System.currentTimeMillis()-_onlineBeginTime)/1000;
- + totalOnlineTime += (System.currentTimeMillis() - _onlineBeginTime) / 1000;
- statement.setLong(35, totalOnlineTime);
- statement.setInt(36, getPunishLevel().value());
- @@ -7652,9 +7707,9 @@
- statement.setInt(39, isNoble() ? 1 : 0);
- statement.setLong(40, getPowerGrade());
- statement.setInt(41, getPledgeType());
- - statement.setInt(42,getLvlJoinedAcademy());
- - statement.setLong(43,getApprentice());
- - statement.setLong(44,getSponsor());
- + statement.setInt(42, getLvlJoinedAcademy());
- + statement.setLong(43, getApprentice());
- + statement.setLong(44, getSponsor());
- statement.setInt(45, getAllianceWithVarkaKetra());
- statement.setLong(46, getClanJoinExpiryTime());
- statement.setLong(47, getClanCreateExpiryTime());
- @@ -7670,7 +7725,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.WARNING, "Could not store char base data: "+this+" - " + e.getMessage(), e);
- + _log.log(Level.WARNING, "Could not store char base data: " + this + " - " + e.getMessage(), e);
- }
- finally
- {
- @@ -7723,7 +7778,6 @@
- {
- con = L2DatabaseFactory.getInstance().getConnection();
- -
- // Delete all current stored effects for char to avoid dupe
- PreparedStatement statement = con.prepareStatement(DELETE_SKILL_SAVE);
- @@ -7762,8 +7816,7 @@
- storedSkills.add(skill.getReuseHashCode());
- - if (!effect.isHerbEffect() && effect.getInUse()
- - && !skill.isToggle())
- + if (!effect.isHerbEffect() && effect.getInUse() && !skill.isToggle())
- {
- statement.setInt(1, getObjectId());
- @@ -8045,8 +8098,7 @@
- {
- if (!SkillTreesData.getInstance().isSkillAllowed(this, skill))
- {
- - Util.handleIllegalPlayerAction(this, "Player " + getName() + " has invalid skill " + skill.getName() +
- - " ("+skill.getId() + "/" + skill.getLevel() + "), class:" + getTemplate().className, 1);
- + Util.handleIllegalPlayerAction(this, "Player " + getName() + " has invalid skill " + skill.getName() + " (" + skill.getId() + "/" + skill.getLevel() + "), class:" + getTemplate().className, 1);
- if (Config.SKILL_CHECK_REMOVE)
- removeSkill(skill);
- }
- @@ -8150,7 +8202,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.WARNING, "Could not restore "+this+" active effect data: " + e.getMessage(), e);
- + _log.log(Level.WARNING, "Could not restore " + this + " active effect data: " + e.getMessage(), e);
- }
- finally
- {
- @@ -8173,14 +8225,14 @@
- statement.setInt(2, getClassIndex());
- ResultSet rset = statement.executeQuery();
- - for (int i=0;i<3;i++)
- - _henna[i]=null;
- + for (int i = 0; i < 3; i++)
- + _henna[i] = null;
- while (rset.next())
- {
- int slot = rset.getInt("slot");
- - if (slot<1 || slot>3)
- + if (slot < 1 || slot > 3)
- continue;
- int symbol_id = rset.getInt("symbol_id");
- @@ -8194,7 +8246,7 @@
- if (tpl != null)
- {
- sym = new L2HennaInstance(tpl);
- - _henna[slot-1] = sym;
- + _henna[slot - 1] = sym;
- }
- }
- }
- @@ -8204,7 +8256,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Failed restoing character "+this+" hennas.", e);
- + _log.log(Level.SEVERE, "Failed restoing character " + this + " hennas.", e);
- }
- finally
- {
- @@ -8262,7 +8314,7 @@
- PreparedStatement statement = con.prepareStatement(DELETE_CHAR_HENNA);
- statement.setInt(1, getObjectId());
- - statement.setInt(2, slot+1);
- + statement.setInt(2, slot + 1);
- statement.setInt(3, getClassIndex());
- statement.execute();
- @@ -8324,7 +8376,7 @@
- statement.setInt(1, getObjectId());
- statement.setInt(2, henna.getSymbolId());
- - statement.setInt(3, i+1);
- + statement.setInt(3, i + 1);
- statement.setInt(4, getClassIndex());
- statement.execute();
- @@ -8364,9 +8416,10 @@
- _hennaWIT = 0;
- _hennaDEX = 0;
- - for (int i=0;i<3;i++)
- + for (int i = 0; i < 3; i++)
- {
- - if (_henna[i]==null)continue;
- + if (_henna[i] == null)
- + continue;
- _hennaINT += _henna[i].getStatINT();
- _hennaSTR += _henna[i].getStatSTR();
- _hennaMEN += _henna[i].getStatMEM();
- @@ -8375,12 +8428,18 @@
- _hennaDEX += _henna[i].getStatDEX();
- }
- - if (_hennaINT>5)_hennaINT=5;
- - if (_hennaSTR>5)_hennaSTR=5;
- - if (_hennaMEN>5)_hennaMEN=5;
- - if (_hennaCON>5)_hennaCON=5;
- - if (_hennaWIT>5)_hennaWIT=5;
- - if (_hennaDEX>5)_hennaDEX=5;
- + if (_hennaINT > 5)
- + _hennaINT = 5;
- + if (_hennaSTR > 5)
- + _hennaSTR = 5;
- + if (_hennaMEN > 5)
- + _hennaMEN = 5;
- + if (_hennaCON > 5)
- + _hennaCON = 5;
- + if (_hennaWIT > 5)
- + _hennaWIT = 5;
- + if (_hennaDEX > 5)
- + _hennaDEX = 5;
- }
- /**
- @@ -8470,8 +8529,9 @@
- return false;
- // Check if the attacker is in olympia and olympia start
- - if (attacker instanceof L2PcInstance && ((L2PcInstance)attacker).isInOlympiadMode() ){
- - if (isInOlympiadMode() && isOlympiadStart() && ((L2PcInstance)attacker).getOlympiadGameId()==getOlympiadGameId())
- + if (attacker instanceof L2PcInstance && ((L2PcInstance) attacker).isInOlympiadMode())
- + {
- + if (isInOlympiadMode() && isOlympiadStart() && ((L2PcInstance) attacker).getOlympiadGameId() == getOlympiadGameId())
- return true;
- else
- return false;
- @@ -8485,7 +8545,7 @@
- if (getClan() != null && attacker != null && getClan().isMember(attacker.getObjectId()))
- return false;
- - if(attacker instanceof L2Playable && isInsideZone(ZONE_PEACE))
- + if (attacker instanceof L2Playable && isInsideZone(ZONE_PEACE))
- return false;
- // Check if the L2PcInstance has Karma
- @@ -8499,8 +8559,7 @@
- L2PcInstance cha = attacker.getActingPlayer();
- // is AutoAttackable if both players are in the same duel and the duel is still going on
- - if ( getDuelState() == Duel.DUELSTATE_DUELLING
- - && getDuelId() == cha.getDuelId())
- + if (getDuelState() == Duel.DUELSTATE_DUELLING && getDuelId() == cha.getDuelId())
- return true;
- // Check if the L2PcInstance is in an arena or a siege area
- if (isInsideZone(ZONE_PVP) && cha.isInsideZone(ZONE_PVP))
- @@ -8512,23 +8571,16 @@
- if (siege != null)
- {
- // Check if a siege is in progress and if attacker and the L2PcInstance aren't in the Defender clan
- - if (siege.checkIsDefender(cha.getClan()) &&
- - siege.checkIsDefender(getClan()))
- + if (siege.checkIsDefender(cha.getClan()) && siege.checkIsDefender(getClan()))
- return false;
- // Check if a siege is in progress and if attacker and the L2PcInstance aren't in the Attacker clan
- - if (siege.checkIsAttacker(cha.getClan()) &&
- - siege.checkIsAttacker(getClan()))
- + if (siege.checkIsAttacker(cha.getClan()) && siege.checkIsAttacker(getClan()))
- return false;
- }
- // Check if clan is at war
- - if (getClan() != null && cha.getClan() != null
- - && getClan().isAtWarWith(cha.getClanId())
- - && cha.getClan().isAtWarWith(getClanId())
- - && getWantsPeace() == 0
- - && cha.getWantsPeace() == 0
- - && !isAcademyMember())
- + if (getClan() != null && cha.getClan() != null && getClan().isAtWarWith(cha.getClanId()) && cha.getClan().isAtWarWith(getClanId()) && getWantsPeace() == 0 && cha.getWantsPeace() == 0 && !isAcademyMember())
- return true;
- }
- }
- @@ -8544,7 +8596,6 @@
- return false;
- }
- -
- /**
- * Check if the active L2Skill can be casted.<BR><BR>
- *
- @@ -8617,7 +8668,7 @@
- L2Object target = null;
- switch (skill.getTargetType())
- {
- - case TARGET_AURA: // AURA, SELF should be cast even if no target has been found
- + case TARGET_AURA: // AURA, SELF should be cast even if no target has been found
- case TARGET_FRONT_AURA:
- case TARGET_BEHIND_AURA:
- case TARGET_GROUND:
- @@ -8626,7 +8677,7 @@
- target = this;
- break;
- default:
- -
- +
- // Get the first target of the list
- target = skill.getFirstOfTargetList(this);
- break;
- @@ -8658,8 +8709,7 @@
- return false;
- }
- - if (isFishing() && (sklType != L2SkillType.PUMPING &&
- - sklType != L2SkillType.REELING && sklType != L2SkillType.FISHING))
- + if (isFishing() && (sklType != L2SkillType.PUMPING && sklType != L2SkillType.REELING && sklType != L2SkillType.FISHING))
- {
- //Only fishing skills are available
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_FISHING_SKILLS_NOW));
- @@ -8718,7 +8768,7 @@
- if (sklTargetType == SkillTargetType.TARGET_GROUND && worldPosition == null)
- {
- - _log.info("WorldPosition is null for skill: "+skill.getName() + ", player: " + getName() + ".");
- + _log.info("WorldPosition is null for skill: " + skill.getName() + ", player: " + getName() + ".");
- sendPacket(ActionFailed.STATIC_PACKET);
- return false;
- }
- @@ -8756,16 +8806,11 @@
- }
- // skills can be used on Walls and Doors only during siege
- - if(target instanceof L2DoorInstance )
- + if (target instanceof L2DoorInstance)
- {
- - boolean isCastle = (((L2DoorInstance) target).getCastle() != null
- - && ((L2DoorInstance) target).getCastle().getCastleId() > 0
- - && ((L2DoorInstance) target).getCastle().getSiege().getIsInProgress());
- - boolean isFort = (((L2DoorInstance) target).getFort() != null
- - && ((L2DoorInstance) target).getFort().getFortId() > 0
- - && ((L2DoorInstance) target).getFort().getSiege().getIsInProgress()
- - && !((L2DoorInstance) target).getIsCommanderDoor());
- - if ((!isCastle && !isFort)&&(((L2DoorInstance) target).isUnlockable() && skill.getSkillType() != L2SkillType.UNLOCK))
- + boolean isCastle = (((L2DoorInstance) target).getCastle() != null && ((L2DoorInstance) target).getCastle().getCastleId() > 0 && ((L2DoorInstance) target).getCastle().getSiege().getIsInProgress());
- + boolean isFort = (((L2DoorInstance) target).getFort() != null && ((L2DoorInstance) target).getFort().getFortId() > 0 && ((L2DoorInstance) target).getFort().getSiege().getIsInProgress() && !((L2DoorInstance) target).getIsCommanderDoor());
- + if ((!isCastle && !isFort) && (((L2DoorInstance) target).isUnlockable() && skill.getSkillType() != L2SkillType.UNLOCK))
- return false;
- }
- @@ -8790,9 +8835,7 @@
- // Check if it's ok to summon
- // siege golem (13), Wild Hog Cannon (299), Swoop Cannon (448)
- - if ((skill.getId() == 13 || skill.getId() == 299 || skill.getId() == 448)
- - && ((!SiegeManager.getInstance().checkIfOkToSummon(this, false)
- - && !FortSiegeManager.getInstance().checkIfOkToSummon(this, false))||(SevenSigns.getInstance().checkSummonConditions(this))))
- + if ((skill.getId() == 13 || skill.getId() == 299 || skill.getId() == 448) && ((!SiegeManager.getInstance().checkIfOkToSummon(this, false) && !FortSiegeManager.getInstance().checkIfOkToSummon(this, false)) || (SevenSigns.getInstance().checkSummonConditions(this))))
- return false;
- // Check if this skill is enabled (ex : reuse time)
- @@ -8802,10 +8845,10 @@
- if (_reuseTimeStamps.containsKey(skill.getReuseHashCode()))
- {
- - int remainingTime = (int)(_reuseTimeStamps.get(skill.getReuseHashCode()).getRemaining()/1000);
- - int hours = remainingTime/3600;
- - int minutes = (remainingTime%3600)/60;
- - int seconds = (remainingTime%60);
- + int remainingTime = (int) (_reuseTimeStamps.get(skill.getReuseHashCode()).getRemaining() / 1000);
- + int hours = remainingTime / 3600;
- + int minutes = (remainingTime % 3600) / 60;
- + int seconds = (remainingTime % 60);
- if (hours > 0)
- {
- sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HOURS_S3_MINUTES_S4_SECONDS_REMAINING_FOR_REUSE_S1);
- @@ -8872,15 +8915,14 @@
- return false;
- }
- - if (isInOlympiadMode() && !isOlympiadStart()){
- + if (isInOlympiadMode() && !isOlympiadStart())
- + {
- // if L2PcInstance is in Olympia and the match isn't already start, send a Server->Client packet ActionFailed
- sendPacket(ActionFailed.STATIC_PACKET);
- return false;
- }
- - if (target.getActingPlayer() != null && getSiegeState() > 0 && isInsideZone(L2Character.ZONE_SIEGE)
- - && target.getActingPlayer().getSiegeState() == getSiegeState()
- - && target.getActingPlayer() != this && target.getActingPlayer().getSiegeSide() == getSiegeSide())
- + if (target.getActingPlayer() != null && getSiegeState() > 0 && isInsideZone(L2Character.ZONE_SIEGE) && target.getActingPlayer().getSiegeState() == getSiegeState() && target.getActingPlayer() != this && target.getActingPlayer().getSiegeSide() == getSiegeSide())
- {
- //
- if (TerritoryWarManager.getInstance().isTWInProgress())
- @@ -8899,7 +8941,7 @@
- return false;
- }
- // Check for Event Mob's
- - if (target instanceof L2EventMonsterInstance && ((L2EventMonsterInstance)target).eventSkillAttackBlocked())
- + if (target instanceof L2EventMonsterInstance && ((L2EventMonsterInstance) target).eventSkillAttackBlocked())
- {
- sendPacket(ActionFailed.STATIC_PACKET);
- return false;
- @@ -8934,7 +8976,7 @@
- // Calculate the distance between the L2PcInstance and the target
- if (sklTargetType == SkillTargetType.TARGET_GROUND)
- {
- - if (!isInsideRadius(worldPosition.getX(), worldPosition.getY(), worldPosition.getZ(), skill.getCastRange()+getTemplate().collisionRadius, false, false))
- + if (!isInsideRadius(worldPosition.getX(), worldPosition.getY(), worldPosition.getZ(), skill.getCastRange() + getTemplate().collisionRadius, false, false))
- {
- // Send a System Message to the caster
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_TOO_FAR));
- @@ -8944,7 +8986,7 @@
- return false;
- }
- }
- - else if (skill.getCastRange() > 0 && !isInsideRadius(target, skill.getCastRange()+getTemplate().collisionRadius, false, false))
- + else if (skill.getCastRange() > 0 && !isInsideRadius(target, skill.getCastRange() + getTemplate().collisionRadius, false, false))
- {
- // Send a System Message to the caster
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_TOO_FAR));
- @@ -8956,10 +8998,10 @@
- }
- }
- - if(skill.getSkillType() == L2SkillType.INSTANT_JUMP)
- + if (skill.getSkillType() == L2SkillType.INSTANT_JUMP)
- {
- // You cannot jump while rooted right ;)
- - if(isMovementDisabled())
- + if (isMovementDisabled())
- {
- // Sends message that skill cannot be used...
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
- @@ -8972,7 +9014,7 @@
- return false;
- }
- // And this skill cannot be used in peace zone, not even on NPCs!
- - if(this.isInsideZone(L2Character.ZONE_PEACE))
- + if (this.isInsideZone(L2Character.ZONE_PEACE))
- {
- //Sends a sys msg to client
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IN_PEACEZONE));
- @@ -9054,9 +9096,9 @@
- switch (sklTargetType)
- {
- case TARGET_PARTY:
- - case TARGET_ALLY: // For such skills, checkPvpSkill() is called from L2Skill.getTargetList()
- - case TARGET_CLAN: // For such skills, checkPvpSkill() is called from L2Skill.getTargetList()
- - case TARGET_PARTY_CLAN: // For such skills, checkPvpSkill() is called from L2Skill.getTargetList()
- + case TARGET_ALLY: // For such skills, checkPvpSkill() is called from L2Skill.getTargetList()
- + case TARGET_CLAN: // For such skills, checkPvpSkill() is called from L2Skill.getTargetList()
- + case TARGET_PARTY_CLAN: // For such skills, checkPvpSkill() is called from L2Skill.getTargetList()
- case TARGET_AURA:
- case TARGET_FRONT_AURA:
- case TARGET_BEHIND_AURA:
- @@ -9076,11 +9118,7 @@
- }
- // TODO: Unhardcode skillId 844 which is the outpost construct skill
- - if ((sklTargetType == SkillTargetType.TARGET_HOLY && !checkIfOkToCastSealOfRule(CastleManager.getInstance().getCastle(this), false, skill))
- - || (sklTargetType == SkillTargetType.TARGET_FLAGPOLE && !checkIfOkToCastFlagDisplay(FortManager.getInstance().getFort(this), false, skill))
- - || (sklType == L2SkillType.SIEGEFLAG && !L2SkillSiegeFlag.checkIfOkToPlaceFlag(this, false, skill.getId() == 844))
- - || (sklType == L2SkillType.STRSIEGEASSAULT && !checkIfOkToUseStriderSiegeAssault())
- - || (sklType == L2SkillType.SUMMON_FRIEND && !(checkSummonerStatus(this) && checkSummonTargetStatus(target, this))))
- + if ((sklTargetType == SkillTargetType.TARGET_HOLY && !checkIfOkToCastSealOfRule(CastleManager.getInstance().getCastle(this), false, skill)) || (sklTargetType == SkillTargetType.TARGET_FLAGPOLE && !checkIfOkToCastFlagDisplay(FortManager.getInstance().getFort(this), false, skill)) || (sklType == L2SkillType.SIEGEFLAG && !L2SkillSiegeFlag.checkIfOkToPlaceFlag(this, false, skill.getId() == 844)) || (sklType == L2SkillType.STRSIEGEASSAULT && !checkIfOkToUseStriderSiegeAssault()) || (sklType == L2SkillType.SUMMON_FRIEND && !(checkSummonerStatus(this) && checkSummonTargetStatus(target, this))))
- {
- sendPacket(ActionFailed.STATIC_PACKET);
- abortCast();
- @@ -9206,7 +9244,7 @@
- return false;
- }
- - public boolean checkIfOkToCastFlagDisplay(Fort fort, boolean isCheckOnly,L2Skill skill)
- + public boolean checkIfOkToCastFlagDisplay(Fort fort, boolean isCheckOnly, L2Skill skill)
- {
- SystemMessage sm;
- @@ -9236,7 +9274,7 @@
- else
- {
- if (!isCheckOnly)
- - fort.getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.S1_TRYING_RAISE_FLAG),getClan().getName());
- + fort.getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.S1_TRYING_RAISE_FLAG), getClan().getName());
- return true;
- }
- @@ -9279,43 +9317,39 @@
- public boolean checkPvpSkill(L2Object target, L2Skill skill, boolean srcIsSummon)
- {
- // check for PC->PC Pvp status
- - if(target instanceof L2Summon)
- + if (target instanceof L2Summon)
- target = target.getActingPlayer();
- - if (
- - target != null && // target not null and
- - target != this && // target is not self and
- - target instanceof L2PcInstance && // target is L2PcInstance and
- - !(isInDuel() && ((L2PcInstance)target).getDuelId() == getDuelId()) && // self is not in a duel and attacking opponent
- - !isInsideZone(ZONE_PVP) && // Pc is not in PvP zone
- - !((L2PcInstance)target).isInsideZone(ZONE_PVP) // target is not in PvP zone
- + if (target != null && // target not null and
- + target != this && // target is not self and
- + target instanceof L2PcInstance && // target is L2PcInstance and
- + !(isInDuel() && ((L2PcInstance) target).getDuelId() == getDuelId()) && // self is not in a duel and attacking opponent
- + !isInsideZone(ZONE_PVP) && // Pc is not in PvP zone
- + !((L2PcInstance) target).isInsideZone(ZONE_PVP) // target is not in PvP zone
- )
- {
- SkillDat skilldat = getCurrentSkill();
- SkillDat skilldatpet = getCurrentPetSkill();
- - if(skill.isPvpSkill()) // pvp skill
- + if (skill.isPvpSkill()) // pvp skill
- {
- - if(getClan() != null && ((L2PcInstance)target).getClan() != null)
- + if (getClan() != null && ((L2PcInstance) target).getClan() != null)
- {
- - if(getClan().isAtWarWith(((L2PcInstance)target).getClan().getClanId()) && ((L2PcInstance)target).getClan().isAtWarWith(getClan().getClanId()))
- + if (getClan().isAtWarWith(((L2PcInstance) target).getClan().getClanId()) && ((L2PcInstance) target).getClan().isAtWarWith(getClan().getClanId()))
- return true; // in clan war player can attack whites even with sleep etc.
- }
- - if (
- - ((L2PcInstance)target).getPvpFlag() == 0 && // target's pvp flag is not set and
- - ((L2PcInstance)target).getKarma() == 0 // target has no karma
- + if (((L2PcInstance) target).getPvpFlag() == 0 && // target's pvp flag is not set and
- + ((L2PcInstance) target).getKarma() == 0 // target has no karma
- )
- return false;
- }
- - else if ((skilldat != null && !skilldat.isCtrlPressed() && skill.isOffensive() && !srcIsSummon)
- - || (skilldatpet != null && !skilldatpet.isCtrlPressed() && skill.isOffensive() && srcIsSummon))
- + else if ((skilldat != null && !skilldat.isCtrlPressed() && skill.isOffensive() && !srcIsSummon) || (skilldatpet != null && !skilldatpet.isCtrlPressed() && skill.isOffensive() && srcIsSummon))
- {
- - if(getClan() != null && ((L2PcInstance)target).getClan() != null)
- + if (getClan() != null && ((L2PcInstance) target).getClan() != null)
- {
- - if(getClan().isAtWarWith(((L2PcInstance)target).getClan().getClanId()) && ((L2PcInstance)target).getClan().isAtWarWith(getClan().getClanId()))
- + if (getClan().isAtWarWith(((L2PcInstance) target).getClan().getClanId()) && ((L2PcInstance) target).getClan().isAtWarWith(getClan().getClanId()))
- return true; // in clan war player can attack whites even without ctrl
- }
- - if (
- - ((L2PcInstance)target).getPvpFlag() == 0 && // target's pvp flag is not set and
- - ((L2PcInstance)target).getKarma() == 0 // target has no karma
- + if (((L2PcInstance) target).getPvpFlag() == 0 && // target's pvp flag is not set and
- + ((L2PcInstance) target).getKarma() == 0 // target has no karma
- )
- return false;
- }
- @@ -9332,7 +9366,6 @@
- return getClassId().isMage();
- }
- -
- public boolean isMounted()
- {
- return _mountType > 0;
- @@ -9347,13 +9380,11 @@
- if (isInsideZone(ZONE_NOLANDING))
- return true;
- else
- - // if this is a castle that is currently being sieged, and the rider is NOT a castle owner
- - // he cannot land.
- - // castle owner is the leader of the clan that owns the castle where the pc is
- - if (isInsideZone(ZONE_SIEGE) && !(getClan()!= null &&
- - CastleManager.getInstance().getCastle(this) == CastleManager.getInstance().getCastleByOwner(getClan()) &&
- - this == getClan().getLeader().getPlayerInstance()))
- - return true;
- + // if this is a castle that is currently being sieged, and the rider is NOT a castle owner
- + // he cannot land.
- + // castle owner is the leader of the clan that owns the castle where the pc is
- + if (isInsideZone(ZONE_SIEGE) && !(getClan() != null && CastleManager.getInstance().getCastle(this) == CastleManager.getInstance().getCastleByOwner(getClan()) && this == getClan().getLeader().getPlayerInstance()))
- + return true;
- return false;
- }
- @@ -9361,7 +9392,7 @@
- // returns false if the change of mount type fails.
- public boolean setMount(int npcId, int npcLevel, int mountType)
- {
- - switch(mountType)
- + switch (mountType)
- {
- case 0:
- setIsFlying(false);
- @@ -9373,7 +9404,7 @@
- break; //Dismounted
- case 1:
- setIsRidingStrider(true);
- - if(isNoble())
- + if (isNoble())
- {
- L2Skill striderAssaultSkill = SkillTable.FrequentSkill.STRIDER_SIEGE_ASSAULT.getSkill();
- addSkill(striderAssaultSkill, false); // not saved to DB
- @@ -9497,7 +9528,7 @@
- */
- public void tempInventoryDisable()
- {
- - _inventoryDisable = true;
- + _inventoryDisable = true;
- ThreadPoolManager.getInstance().scheduleGeneral(new InventoryEnable(), 1500);
- }
- @@ -9624,15 +9655,30 @@
- {
- if (!summon)
- {
- - switch(itemId)
- + switch (itemId)
- {
- - case 2509: case 2510: case 2511: case 2512:
- - case 2513: case 2514: case 3947:
- - case 3948: case 3949: case 3950:
- - case 3951: case 3952: case 5790:
- - case 22072: case 22073: case 22074:
- - case 22075: case 22076: case 22077:
- - case 22078: case 22079: case 22080:
- + case 2509:
- + case 2510:
- + case 2511:
- + case 2512:
- + case 2513:
- + case 2514:
- + case 3947:
- + case 3948:
- + case 3949:
- + case 3950:
- + case 3951:
- + case 3952:
- + case 5790:
- + case 22072:
- + case 22073:
- + case 22074:
- + case 22075:
- + case 22076:
- + case 22077:
- + case 22078:
- + case 22079:
- + case 22080:
- case 22081:
- handler = ItemHandler.getInstance().getItemHandler(item.getEtcItem());
- @@ -9644,10 +9690,12 @@
- }
- else
- {
- - switch(itemId)
- + switch (itemId)
- {
- - case 6646: case 6647:
- - case 20333: case 20334:
- + case 6646:
- + case 6647:
- + case 20333:
- + case 20334:
- handler = ItemHandler.getInstance().getItemHandler(item.getEtcItem());
- if (handler != null)
- @@ -9661,13 +9709,21 @@
- {
- if (!summon)
- {
- - switch(itemId)
- + switch (itemId)
- {
- - case 1463: case 1464: case 1465:
- - case 1466: case 1467: case 1835:
- - case 5789: case 22082: case 22083:
- - case 22084: case 22085: case 22086:
- -
- + case 1463:
- + case 1464:
- + case 1465:
- + case 1466:
- + case 1467:
- + case 1835:
- + case 5789:
- + case 22082:
- + case 22083:
- + case 22084:
- + case 22085:
- + case 22086:
- +
- handler = ItemHandler.getInstance().getItemHandler(item.getEtcItem());
- if (handler != null)
- @@ -9696,7 +9752,7 @@
- }
- catch (NullPointerException npe)
- {
- - _log.log(Level.WARNING, toString() , npe);
- + _log.log(Level.WARNING, toString(), npe);
- }
- }
- @@ -9732,7 +9788,8 @@
- sendPacket(sm);
- return true;
- }
- - else return false;
- + else
- + return false;
- }
- /**
- @@ -9781,15 +9838,15 @@
- @Override
- public void run()
- {
- - double reduceHp = getMaxHp()/100.0;
- + double reduceHp = getMaxHp() / 100.0;
- if (reduceHp < 1)
- reduceHp = 1;
- - reduceCurrentHp(reduceHp,L2PcInstance.this,false, false, null);
- + reduceCurrentHp(reduceHp, L2PcInstance.this, false, false, null);
- //reduced hp, becouse not rest
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DROWN_DAMAGE_S1);
- - sm.addNumber((int)reduceHp);
- + sm.addNumber((int) reduceHp);
- sendPacket(sm);
- }
- @@ -9813,14 +9870,15 @@
- @Override
- public void run()
- {
- - if (System.currentTimeMillis() >= _endTaskTime) {
- + if (System.currentTimeMillis() >= _endTaskTime)
- + {
- endFishing(false);
- return;
- }
- if (_fishType == -1)
- return;
- int check = Rnd.get(1000);
- - if(_fishGutsCheck > check)
- + if (_fishGutsCheck > check)
- {
- stopLookingForFishTask();
- startFishCombat(_isNoob, _isUpperGrade);
- @@ -10153,7 +10211,8 @@
- _OlympiadStart = b;
- }
- - public boolean isOlympiadStart(){
- + public boolean isOlympiadStart()
- + {
- return _OlympiadStart;
- }
- @@ -10232,14 +10291,46 @@
- */
- public boolean canDuel()
- {
- - if (isInCombat() || getPunishLevel() == PunishLevel.JAIL) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_ENGAGED_IN_BATTLE; return false; }
- - if (isDead() || isAlikeDead() || (getCurrentHp() < getMaxHp()/2 || getCurrentMp() < getMaxMp()/2)) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_HP_OR_MP_IS_BELOW_50_PERCENT; return false; }
- - if (isInDuel()) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_ALREADY_ENGAGED_IN_A_DUEL; return false;}
- - if (isInOlympiadMode()) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_PARTICIPATING_IN_THE_OLYMPIAD; return false; }
- - if (isCursedWeaponEquipped()) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_IN_A_CHAOTIC_STATE; return false; }
- - if (getPrivateStoreType() != STORE_PRIVATE_NONE) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_ENGAGED_IN_A_PRIVATE_STORE_OR_MANUFACTURE; return false; }
- - if (isMounted() || isInBoat()) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_RIDING_A_BOAT_WYVERN_OR_STRIDER; return false; }
- - if (isFishing()) { _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_FISHING; return false; }
- + if (isInCombat() || getPunishLevel() == PunishLevel.JAIL)
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_ENGAGED_IN_BATTLE;
- + return false;
- + }
- + if (isDead() || isAlikeDead() || (getCurrentHp() < getMaxHp() / 2 || getCurrentMp() < getMaxMp() / 2))
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_HP_OR_MP_IS_BELOW_50_PERCENT;
- + return false;
- + }
- + if (isInDuel())
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_ALREADY_ENGAGED_IN_A_DUEL;
- + return false;
- + }
- + if (isInOlympiadMode())
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_PARTICIPATING_IN_THE_OLYMPIAD;
- + return false;
- + }
- + if (isCursedWeaponEquipped())
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_IN_A_CHAOTIC_STATE;
- + return false;
- + }
- + if (getPrivateStoreType() != STORE_PRIVATE_NONE)
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_ENGAGED_IN_A_PRIVATE_STORE_OR_MANUFACTURE;
- + return false;
- + }
- + if (isMounted() || isInBoat())
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_RIDING_A_BOAT_WYVERN_OR_STRIDER;
- + return false;
- + }
- + if (isFishing())
- + {
- + _noDuelReason = SystemMessageId.C1_CANNOT_DUEL_BECAUSE_C1_IS_CURRENTLY_FISHING;
- + return false;
- + }
- if (isInsideZone(ZONE_PVP) || isInsideZone(ZONE_PEACE) || isInsideZone(ZONE_SIEGE))
- {
- _noDuelReason = SystemMessageId.C1_CANNOT_MAKE_A_CHALLANGE_TO_A_DUEL_BECAUSE_C1_IS_CURRENTLY_IN_A_DUEL_PROHIBITED_AREA;
- @@ -10426,7 +10517,8 @@
- statement.execute();
- statement.close();
- }
- - catch (Exception e) {
- + catch (Exception e)
- + {
- _log.log(Level.WARNING, "WARNING: Could not add character sub class for " + getName() + ": " + e.getMessage(), e);
- return false;
- }
- @@ -10598,7 +10690,7 @@
- if (t == null)
- {
- - _log.severe("Missing template for classId: "+classId);
- + _log.severe("Missing template for classId: " + classId);
- throw new Error();
- }
- @@ -10694,7 +10786,7 @@
- * 8. Restore shortcut data related to this class.
- * 9. Resend a class change animation effect to broadcast to all nearby players.
- */
- -
- +
- for (L2Skill oldSkill : getAllSkills())
- super.removeSkill(oldSkill);
- @@ -10784,10 +10876,10 @@
- if (_taskRentPet != null)
- {
- // if the rent of a wyvern expires while over a flying zone, tp to down before unmounting
- - if (checkLandingState() && getMountType()==2)
- + if (checkLandingState() && getMountType() == 2)
- teleToLocation(MapRegionTable.TeleportWhereType.Town);
- - if (this.dismount()) // this should always be true now, since we teleported already
- + if (this.dismount()) // this should always be true now, since we teleported already
- {
- _taskRentPet.cancel(true);
- _taskRentPet = null;
- @@ -10824,7 +10916,7 @@
- {
- if (!isDead() && _taskWater == null)
- {
- - int timeinwater = (int)calcStat(Stats.BREATH, 60000, this, null);
- + int timeinwater = (int) calcStat(Stats.BREATH, 60000, this, null);
- sendPacket(new SetupGauge(2, timeinwater));
- _taskWater = ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new WaterTask(), timeinwater, 1000);
- @@ -10894,7 +10986,7 @@
- {
- return _lastAccess;
- }
- -
- +
- @Override
- public void doRevive()
- {
- @@ -10943,18 +11035,18 @@
- }
- return;
- }
- - if((Pet && getPet() != null && getPet().isDead()) || (!Pet && isDead()))
- + if ((Pet && getPet() != null && getPet().isDead()) || (!Pet && isDead()))
- {
- _reviveRequested = 1;
- int restoreExp = 0;
- if (isPhoenixBlessed())
- - _revivePower=100;
- + _revivePower = 100;
- else if (isAffected(CharEffectList.EFFECT_FLAG_CHARM_OF_COURAGE))
- - _revivePower=0;
- + _revivePower = 0;
- else
- _revivePower = Formulas.calculateSkillResurrectRestorePercent(skill.getPower(), Reviver);
- - restoreExp = (int)Math.round((getExpBeforeDeath() - getExp()) * _revivePower / 100);
- + restoreExp = (int) Math.round((getExpBeforeDeath() - getExp()) * _revivePower / 100);
- _revivePet = Pet;
- @@ -10969,6 +11061,8 @@
- dlg.addPcName(Reviver);
- dlg.addString(String.valueOf(restoreExp));
- sendPacket(dlg);
- + if (CharacterAchievementSystem.checkOk(this))
- + this.getCAS().onResRequest();
- }
- }
- @@ -11079,7 +11173,7 @@
- // Trained beast is after teleport lost
- if (getTrainedBeasts() != null)
- {
- - for(L2TamedBeastInstance tamedBeast : getTrainedBeasts())
- + for (L2TamedBeastInstance tamedBeast : getTrainedBeasts())
- tamedBeast.deleteMe();
- getTrainedBeasts().clear();
- }
- @@ -11090,7 +11184,7 @@
- {
- pet.setFollowStatus(false);
- pet.teleToLocation(getPosition().getX(), getPosition().getY(), getPosition().getZ(), false);
- - ((L2SummonAI)pet.getAI()).setStartFollowController(true);
- + ((L2SummonAI) pet.getAI()).setStartFollowController(true);
- pet.setFollowStatus(true);
- pet.updateAndBroadcastStatus(0);
- }
- @@ -11113,7 +11207,7 @@
- {
- if ((_teleportWatchdog == null) && (Config.TELEPORT_WATCHDOG_TIMEOUT > 0))
- {
- - synchronized(this)
- + synchronized (this)
- {
- if (_teleportWatchdog == null)
- _teleportWatchdog = ThreadPoolManager.getInstance().scheduleGeneral(new TeleportWatchdog(), Config.TELEPORT_WATCHDOG_TIMEOUT * 1000);
- @@ -11154,7 +11248,7 @@
- public void setLastServerPosition(int x, int y, int z)
- {
- - _lastServerPosition.setXYZ(x,y,z);
- + _lastServerPosition.setXYZ(x, y, z);
- }
- public Point3D getLastServerPosition()
- @@ -11164,7 +11258,7 @@
- public boolean checkLastServerPosition(int x, int y, int z)
- {
- - return _lastServerPosition.equals(x,y,z);
- + return _lastServerPosition.equals(x, y, z);
- }
- public int getLastServerDistance(int x, int y, int z)
- @@ -11173,7 +11267,7 @@
- double dy = (y - _lastServerPosition.getY());
- double dz = (z - _lastServerPosition.getZ());
- - return (int)Math.sqrt(dx*dx + dy*dy + dz*dz);
- + return (int) Math.sqrt(dx * dx + dy * dy + dz * dz);
- }
- @Override
- @@ -11204,18 +11298,18 @@
- getStatus().reduceHp(value, attacker, awake, isDOT, skill.isToggle(), skill.getDmgDirectlyToHP());
- else
- getStatus().reduceHp(value, attacker, awake, isDOT, false, false);
- -
- +
- // notify the tamed beast of attacks
- - if (getTrainedBeasts() != null )
- - for(L2TamedBeastInstance tamedBeast : getTrainedBeasts())
- + if (getTrainedBeasts() != null)
- + for (L2TamedBeastInstance tamedBeast : getTrainedBeasts())
- tamedBeast.onOwnerGotAttacked(attacker);
- }
- public void broadcastSnoop(int type, String name, String _text)
- {
- - if(!_snoopListener.isEmpty())
- + if (!_snoopListener.isEmpty())
- {
- - Snoop sn = new Snoop(getObjectId(),getName(),type,name,_text);
- + Snoop sn = new Snoop(getObjectId(), getName(), type, name, _text);
- for (L2PcInstance pci : _snoopListener)
- if (pci != null)
- @@ -11223,32 +11317,33 @@
- }
- }
- - public void addSnooper(L2PcInstance pci )
- + public void addSnooper(L2PcInstance pci)
- {
- - if(!_snoopListener.contains(pci))
- + if (!_snoopListener.contains(pci))
- _snoopListener.add(pci);
- }
- - public void removeSnooper(L2PcInstance pci )
- + public void removeSnooper(L2PcInstance pci)
- {
- _snoopListener.remove(pci);
- }
- - public void addSnooped(L2PcInstance pci )
- + public void addSnooped(L2PcInstance pci)
- {
- - if(!_snoopedPlayer.contains(pci))
- + if (!_snoopedPlayer.contains(pci))
- _snoopedPlayer.add(pci);
- }
- - public void removeSnooped(L2PcInstance pci )
- + public void removeSnooped(L2PcInstance pci)
- {
- _snoopedPlayer.remove(pci);
- }
- public void addBypass(String bypass)
- {
- - if (bypass == null) return;
- - synchronized(_validBypass)
- + if (bypass == null)
- + return;
- + synchronized (_validBypass)
- {
- _validBypass.add(bypass);
- }
- @@ -11257,8 +11352,9 @@
- public void addBypass2(String bypass)
- {
- - if (bypass == null) return;
- - synchronized(_validBypass2)
- + if (bypass == null)
- + return;
- + synchronized (_validBypass2)
- {
- _validBypass2.add(bypass);
- }
- @@ -11295,7 +11391,7 @@
- return true;
- }
- }
- - _log.warning("[L2PcInstance] player ["+getName()+"] sent invalid bypass '"+cmd+"'.");
- + _log.warning("[L2PcInstance] player [" + getName() + "] sent invalid bypass '" + cmd + "'.");
- return false;
- }
- @@ -11319,7 +11415,7 @@
- if (item == null || item.getOwnerId() != getObjectId())
- {
- - _log.finest(getObjectId()+": player tried to " + action + " item he is not owner of");
- + _log.finest(getObjectId() + ": player tried to " + action + " item he is not owner of");
- return false;
- }
- @@ -11327,15 +11423,15 @@
- if (getPet() != null && getPet().getControlObjectId() == objectId || getMountObjectID() == objectId)
- {
- if (Config.DEBUG)
- - _log.finest(getObjectId()+": player tried to " + action + " item controling pet");
- + _log.finest(getObjectId() + ": player tried to " + action + " item controling pet");
- return false;
- }
- - if(getActiveEnchantItem() != null && getActiveEnchantItem().getObjectId() == objectId)
- + if (getActiveEnchantItem() != null && getActiveEnchantItem().getObjectId() == objectId)
- {
- if (Config.DEBUG)
- - _log.finest(getObjectId()+":player tried to " + action + " an enchant scroll he was using");
- + _log.finest(getObjectId() + ":player tried to " + action + " an enchant scroll he was using");
- return false;
- }
- @@ -11374,7 +11470,7 @@
- */
- public L2BoatInstance getBoat()
- {
- - return (L2BoatInstance)_vehicle;
- + return (L2BoatInstance) _vehicle;
- }
- /**
- @@ -11458,7 +11554,7 @@
- try
- {
- if (!isOnline())
- - _log.log(Level.SEVERE, "deleteMe() called on offline character "+this, new RuntimeException());
- + _log.log(Level.SEVERE, "deleteMe() called on offline character " + this, new RuntimeException());
- setOnlineStatus(false, true);
- }
- catch (Exception e)
- @@ -11466,12 +11562,12 @@
- _log.log(Level.SEVERE, "deleteMe()", e);
- }
- - try
- - {
- - if(Config.ENABLE_BLOCK_CHECKER_EVENT && getBlockCheckerArena() != -1)
- + try
- + {
- + if (Config.ENABLE_BLOCK_CHECKER_EVENT && getBlockCheckerArena() != -1)
- HandysBlockCheckerManager.getInstance().onDisconnect(this);
- }
- - catch(Exception e)
- + catch (Exception e)
- {
- _log.log(Level.SEVERE, "deleteMe()", e);
- }
- @@ -11545,7 +11641,7 @@
- try
- {
- - CommunityServerThread.getInstance().sendPacket(new WorldInfo(this, null,WorldInfo.TYPE_UPDATE_PLAYER_STATUS));
- + CommunityServerThread.getInstance().sendPacket(new WorldInfo(this, null, WorldInfo.TYPE_UPDATE_PLAYER_STATUS));
- }
- catch (Exception e)
- {
- @@ -11778,6 +11874,9 @@
- _log.log(Level.SEVERE, "deleteMe()", e);
- }
- + if (CharacterAchievementSystem.checkOk(this))
- + getCAS().saveData();
- +
- // Update database with items in its inventory and remove them from the world
- try
- {
- @@ -11800,15 +11899,14 @@
- if (Config.WAREHOUSE_CACHE)
- WarehouseCacheManager.getInstance().remCacheTask(this);
- - try
- - {
- - getFreight().deleteMe();
- - }
- - catch (Exception e)
- - {
- - _log.log(Level.SEVERE, "deleteMe()", e);
- - }
- -
- + try
- + {
- + getFreight().deleteMe();
- + }
- + catch (Exception e)
- + {
- + _log.log(Level.SEVERE, "deleteMe()", e);
- + }
- try
- {
- @@ -11915,10 +12013,11 @@
- if (!GameTimeController.getInstance().isNowNight() && _lure.isNightLure())
- _fish.setType(-1);
- //sendMessage("Hook x,y: " + _x + "," + _y + " - Water Z, Player Z:" + _z + ", " + getZ()); //debug line, uncoment to show coordinates used in fishing.
- - broadcastPacket(new ExFishingStart(this,_fish.getType(),_x,_y,_z,_lure.isNightLure()));
- + broadcastPacket(new ExFishingStart(this, _fish.getType(), _x, _y, _z, _lure.isNightLure()));
- sendPacket(new PlaySound(1, "SF_P_01", 0, 0, 0, 0, 0));
- startLookingForFishTask();
- }
- +
- public void stopLookingForFishTask()
- {
- if (_taskforfish != null)
- @@ -11927,6 +12026,7 @@
- _taskforfish = null;
- }
- }
- +
- public void startLookingForFishTask()
- {
- if (!isDead() && _taskforfish == null)
- @@ -11941,11 +12041,11 @@
- isNoob = _fish.getGroup() == 0;
- isUpperGrade = _fish.getGroup() == 2;
- if (lureid == 6519 || lureid == 6522 || lureid == 6525 || lureid == 8505 || lureid == 8508 || lureid == 8511) //low grade
- - checkDelay = Math.round((float)(_fish.getGutsCheckTime() * (1.33)));
- + checkDelay = Math.round((float) (_fish.getGutsCheckTime() * (1.33)));
- else if (lureid == 6520 || lureid == 6523 || lureid == 6526 || (lureid >= 8505 && lureid <= 8513) || (lureid >= 7610 && lureid <= 7613) || (lureid >= 7807 && lureid <= 7809) || (lureid >= 8484 && lureid <= 8486)) //medium grade, beginner, prize-winning & quest special bait
- - checkDelay = Math.round((float)(_fish.getGutsCheckTime() * (1.00)));
- + checkDelay = Math.round((float) (_fish.getGutsCheckTime() * (1.00)));
- else if (lureid == 6521 || lureid == 6524 || lureid == 6527 || lureid == 8507 || lureid == 8510 || lureid == 8513) //high grade
- - checkDelay = Math.round((float)(_fish.getGutsCheckTime() * (0.66)));
- + checkDelay = Math.round((float) (_fish.getGutsCheckTime() * (0.66)));
- }
- _taskforfish = ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new LookingForFishTask(_fish.getWaitTime(), _fish.getFishGuts(), _fish.getType(), isNoob, isUpperGrade), 10000, checkDelay);
- }
- @@ -11953,7 +12053,8 @@
- private int GetRandomGroup()
- {
- - switch (_lure.getItemId()) {
- + switch (_lure.getItemId())
- + {
- case 7807: //green for beginners
- case 7808: //purple for beginners
- case 7809: //yellow for beginners
- @@ -11968,13 +12069,16 @@
- return 1;
- }
- }
- +
- private int GetRandomFishType(int group)
- {
- int check = Rnd.get(100);
- int type = 1;
- - switch (group) {
- - case 0: //fish for novices
- - switch (_lure.getItemId()) {
- + switch (group)
- + {
- + case 0: //fish for novices
- + switch (_lure.getItemId())
- + {
- case 7807: //green lure, preferred by fast-moving (nimble) fish (type 5)
- if (check <= 54)
- type = 5;
- @@ -11999,7 +12103,7 @@
- else
- type = 4;
- break;
- - case 8486: //prize-winning fishing lure for beginners
- + case 8486: //prize-winning fishing lure for beginners
- if (check <= 33)
- type = 4;
- else if (check <= 66)
- @@ -12009,15 +12113,16 @@
- break;
- }
- break;
- - case 1: //normal fish
- - switch (_lure.getItemId()) {
- + case 1: //normal fish
- + switch (_lure.getItemId())
- + {
- case 7610:
- case 7611:
- case 7612:
- case 7613:
- type = 3;
- break;
- - case 6519: //all theese lures (green) are prefered by fast-moving (nimble) fish (type 1)
- + case 6519: //all theese lures (green) are prefered by fast-moving (nimble) fish (type 1)
- case 8505:
- case 6520:
- case 6521:
- @@ -12031,7 +12136,7 @@
- else
- type = 3;
- break;
- - case 6522: //all theese lures (purple) are prefered by fat fish (type 0)
- + case 6522: //all theese lures (purple) are prefered by fat fish (type 0)
- case 8508:
- case 6523:
- case 6524:
- @@ -12045,7 +12150,7 @@
- else
- type = 3;
- break;
- - case 6525: //all theese lures (yellow) are prefered by ugly fish (type 2)
- + case 6525: //all theese lures (yellow) are prefered by ugly fish (type 2)
- case 8511:
- case 6526:
- case 6527:
- @@ -12059,7 +12164,7 @@
- else
- type = 3;
- break;
- - case 8484: //prize-winning fishing lure
- + case 8484: //prize-winning fishing lure
- if (check <= 33)
- type = 0;
- else if (check <= 66)
- @@ -12069,8 +12174,9 @@
- break;
- }
- break;
- - case 2: //upper grade fish, luminous lure
- - switch (_lure.getItemId()) {
- + case 2: //upper grade fish, luminous lure
- + switch (_lure.getItemId())
- + {
- case 8506: //green lure, preferred by fast-moving (nimble) fish (type 8)
- if (check <= 54)
- type = 8;
- @@ -12107,13 +12213,15 @@
- }
- return type;
- }
- +
- private int GetRandomFishLvl()
- {
- int skilllvl = getSkillLevel(1315);
- final L2Effect e = getFirstEffect(2274);
- if (e != null)
- - skilllvl = (int)e.getSkill().getPower();
- - if (skilllvl <= 0) return 1;
- + skilllvl = (int) e.getSkill().getPower();
- + if (skilllvl <= 0)
- + return 1;
- int randomlvl;
- int check = Rnd.get(100);
- @@ -12132,14 +12240,16 @@
- else
- {
- randomlvl = skilllvl + 1;
- - if (randomlvl > 27) randomlvl = 27;
- + if (randomlvl > 27)
- + randomlvl = 27;
- }
- return randomlvl;
- }
- +
- public void startFishCombat(boolean isNoob, boolean isUpperGrade)
- {
- - _fishCombat = new L2Fishing (this, _fish, isNoob, isUpperGrade);
- + _fishCombat = new L2Fishing(this, _fish, isNoob, isUpperGrade);
- }
- public void endFishing(boolean win)
- @@ -12180,7 +12290,7 @@
- return _fishz;
- }
- - public void setLure (L2ItemInstance lure)
- + public void setLure(L2ItemInstance lure)
- {
- _lure = lure;
- }
- @@ -12199,7 +12309,7 @@
- ivlim = Config.INVENTORY_MAXIMUM_DWARF;
- else
- ivlim = Config.INVENTORY_MAXIMUM_NO_DWARF;
- - ivlim += (int)getStat().calcStat(Stats.INV_LIM, 0, null, null);
- + ivlim += (int) getStat().calcStat(Stats.INV_LIM, 0, null, null);
- return ivlim;
- }
- @@ -12212,7 +12322,7 @@
- else
- whlim = Config.WAREHOUSE_SLOTS_NO_DWARF;
- - whlim += (int)getStat().calcStat(Stats.WH_LIM, 0, null, null);
- + whlim += (int) getStat().calcStat(Stats.WH_LIM, 0, null, null);
- return whlim;
- }
- @@ -12226,7 +12336,7 @@
- else
- pslim = Config.MAX_PVTSTORESELL_SLOTS_OTHER;
- - pslim += (int)getStat().calcStat(Stats.P_SELL_LIM, 0, null, null);
- + pslim += (int) getStat().calcStat(Stats.P_SELL_LIM, 0, null, null);
- return pslim;
- }
- @@ -12239,7 +12349,7 @@
- pblim = Config.MAX_PVTSTOREBUY_SLOTS_DWARF;
- else
- pblim = Config.MAX_PVTSTOREBUY_SLOTS_OTHER;
- - pblim += (int)getStat().calcStat(Stats.P_BUY_LIM, 0, null, null);
- + pblim += (int) getStat().calcStat(Stats.P_BUY_LIM, 0, null, null);
- return pblim;
- }
- @@ -12247,14 +12357,14 @@
- public int getDwarfRecipeLimit()
- {
- int recdlim = Config.DWARF_RECIPE_LIMIT;
- - recdlim += (int)getStat().calcStat(Stats.REC_D_LIM, 0, null, null);
- + recdlim += (int) getStat().calcStat(Stats.REC_D_LIM, 0, null, null);
- return recdlim;
- }
- public int getCommonRecipeLimit()
- {
- int recclim = Config.COMMON_RECIPE_LIMIT;
- - recclim += (int)getStat().calcStat(Stats.REC_C_LIM, 0, null, null);
- + recclim += (int) getStat().calcStat(Stats.REC_C_LIM, 0, null, null);
- return recclim;
- }
- @@ -12296,13 +12406,11 @@
- return _currentSkill;
- }
- -
- /**
- * Create a new SkillDat object and set the player _currentSkill.<BR><BR>
- *
- */
- - public void setCurrentSkill(L2Skill currentSkill, boolean ctrlPressed,
- - boolean shiftPressed)
- + public void setCurrentSkill(L2Skill currentSkill, boolean ctrlPressed, boolean shiftPressed)
- {
- if (currentSkill == null)
- {
- @@ -12349,13 +12457,11 @@
- _currentPetSkill = new SkillDat(currentSkill, ctrlPressed, shiftPressed);
- }
- -
- public SkillDat getQueuedSkill()
- {
- return _queuedSkill;
- }
- -
- /**
- * Create a new SkillDat object and queue it in the player _queuedSkill.<BR><BR>
- *
- @@ -12404,28 +12510,29 @@
- public void setPunishLevel(int state)
- {
- - switch (state){
- - case 0 :
- + switch (state)
- + {
- + case 0:
- {
- _punishLevel = PunishLevel.NONE;
- break;
- }
- - case 1 :
- + case 1:
- {
- _punishLevel = PunishLevel.CHAT;
- break;
- }
- - case 2 :
- + case 2:
- {
- _punishLevel = PunishLevel.JAIL;
- break;
- }
- - case 3 :
- + case 3:
- {
- _punishLevel = PunishLevel.CHAR;
- break;
- }
- - case 4 :
- + case 4:
- {
- _punishLevel = PunishLevel.ACC;
- break;
- @@ -12468,7 +12575,7 @@
- htmlMsg.setHtml("<html><body>You are free for now, respect server rules!</body></html>");
- sendPacket(htmlMsg);
- stopPunishTask(true);
- - teleToLocation(17836, 170178, -3507, true); // Floran
- + teleToLocation(17836, 170178, -3507, true); // Floran
- break;
- }
- }
- @@ -12491,7 +12598,7 @@
- // start the countdown
- _punishTask = ThreadPoolManager.getInstance().scheduleGeneral(new PunishTask(), _punishTimer);
- - sendMessage("You are chat banned for "+delayInMinutes+" minutes.");
- + sendMessage("You are chat banned for " + delayInMinutes + " minutes.");
- }
- else
- sendMessage("You have been chat banned");
- @@ -12511,7 +12618,7 @@
- // start the countdown
- _punishTask = ThreadPoolManager.getInstance().scheduleGeneral(new PunishTask(), _punishTimer);
- - sendMessage("You are in jail for "+delayInMinutes+" minutes.");
- + sendMessage("You are in jail for " + delayInMinutes + " minutes.");
- }
- if (!TvTEvent.isInactive() && TvTEvent.isPlayerParticipant(getObjectId()))
- @@ -12530,7 +12637,7 @@
- setInstanceId(0);
- setIsIn7sDungeon(false);
- - teleToLocation(-114356, -249645, -2984, false); // Jail
- + teleToLocation(-114356, -249645, -2984, false); // Jail
- break;
- }
- case CHAR: // Ban Character
- @@ -12574,13 +12681,13 @@
- if (_punishTimer > 0)
- {
- _punishTask = ThreadPoolManager.getInstance().scheduleGeneral(new PunishTask(), _punishTimer);
- - sendMessage("You are still "+getPunishLevel().string()+" for "+Math.round(_punishTimer/60000f)+" minutes.");
- + sendMessage("You are still " + getPunishLevel().string() + " for " + Math.round(_punishTimer / 60000f) + " minutes.");
- }
- if (getPunishLevel() == PunishLevel.JAIL)
- {
- // If player escaped, put him back in jail
- if (!isInsideZone(ZONE_JAIL))
- - teleToLocation(-114356,-249645,-2984, true);
- + teleToLocation(-114356, -249645, -2984, true);
- }
- }
- }
- @@ -12610,6 +12717,7 @@
- L2PcInstance.this.setPunishLevel(PunishLevel.NONE, 0);
- }
- }
- +
- public void startFameTask(long delay, int fameFixRate)
- {
- if (getLevel() < 40 || getClassId().level() < 2)
- @@ -12734,7 +12842,7 @@
- public boolean isCombatFlagEquipped()
- {
- - return _combatFlagEquippedId ;
- + return _combatFlagEquippedId;
- }
- public void setCombatFlagEquipped(boolean value)
- @@ -12846,7 +12954,7 @@
- */
- private void restartSoulTask()
- {
- - synchronized(this)
- + synchronized (this)
- {
- if (_soulTask != null)
- {
- @@ -12892,7 +13000,7 @@
- _shortBuffTask.cancel(false);
- _shortBuffTask = null;
- }
- - _shortBuffTask = ThreadPoolManager.getInstance().scheduleGeneral(new ShortBuffTask(), time*1000);
- + _shortBuffTask = ThreadPoolManager.getInstance().scheduleGeneral(new ShortBuffTask(), time * 1000);
- setShortBuffTaskSkillId(magicId);
- sendPacket(new ShortBuffStatusUpdate(magicId, level, time));
- @@ -12902,6 +13010,7 @@
- {
- _shortBuffTaskSkillId = id;
- }
- +
- public int getDeathPenaltyBuffLevel()
- {
- return _deathPenaltyBuffLevel;
- @@ -12914,27 +13023,21 @@
- public void calculateDeathPenaltyBuffLevel(L2Character killer)
- {
- - if((getKarma() > 0 || Rnd.get(1,100) <= Config.DEATH_PENALTY_CHANCE)
- - && !(killer instanceof L2PcInstance) && !(this.isGM())
- - && !(this.getCharmOfLuck() && killer.isRaid())
- - && !isPhoenixBlessed()
- - && !isLucky()
- - && !(TvTEvent.isStarted() && TvTEvent.isPlayerParticipant(getObjectId()))
- - && !(this.isInsideZone(L2Character.ZONE_PVP)||this.isInsideZone(L2Character.ZONE_SIEGE)))
- + if ((getKarma() > 0 || Rnd.get(1, 100) <= Config.DEATH_PENALTY_CHANCE) && !(killer instanceof L2PcInstance) && !(this.isGM()) && !(this.getCharmOfLuck() && killer.isRaid()) && !isPhoenixBlessed() && !isLucky() && !(TvTEvent.isStarted() && TvTEvent.isPlayerParticipant(getObjectId())) && !(this.isInsideZone(L2Character.ZONE_PVP) || this.isInsideZone(L2Character.ZONE_SIEGE)))
- increaseDeathPenaltyBuffLevel();
- }
- public void increaseDeathPenaltyBuffLevel()
- {
- - if(getDeathPenaltyBuffLevel() >= 15) //maximum level reached
- + if (getDeathPenaltyBuffLevel() >= 15) //maximum level reached
- return;
- - if(getDeathPenaltyBuffLevel() != 0)
- + if (getDeathPenaltyBuffLevel() != 0)
- {
- L2Skill skill = SkillTable.getInstance().getInfo(5076, getDeathPenaltyBuffLevel());
- - if(skill != null)
- + if (skill != null)
- removeSkill(skill, true);
- }
- @@ -12949,17 +13052,17 @@
- public void reduceDeathPenaltyBuffLevel()
- {
- - if(getDeathPenaltyBuffLevel() <= 0)
- + if (getDeathPenaltyBuffLevel() <= 0)
- return;
- L2Skill skill = SkillTable.getInstance().getInfo(5076, getDeathPenaltyBuffLevel());
- - if(skill != null)
- + if (skill != null)
- removeSkill(skill, true);
- _deathPenaltyBuffLevel--;
- - if(getDeathPenaltyBuffLevel() > 0)
- + if (getDeathPenaltyBuffLevel() > 0)
- {
- addSkill(SkillTable.getInstance().getInfo(5076, getDeathPenaltyBuffLevel()), false);
- sendPacket(new EtcStatusUpdate(this));
- @@ -12976,7 +13079,7 @@
- public void restoreDeathPenaltyBuffLevel()
- {
- - if(getDeathPenaltyBuffLevel() > 0)
- + if (getDeathPenaltyBuffLevel() > 0)
- addSkill(SkillTable.getInstance().getInfo(5076, getDeathPenaltyBuffLevel()), false);
- }
- @@ -13013,7 +13116,7 @@
- _skillId = skill.getId();
- _skillLvl = skill.getLevel();
- _reuse = reuse;
- - _stamp = System.currentTimeMillis()+ reuse;
- + _stamp = System.currentTimeMillis() + reuse;
- }
- public TimeStamp(L2Skill skill, long reuse, long systime)
- @@ -13110,20 +13213,17 @@
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_HAD_CRITICAL_HIT).addPcName(this));
- if (target instanceof L2Npc && getSkillLevel(467) > 0)
- {
- - L2Skill skill = SkillTable.getInstance().getInfo(467,getSkillLevel(467));
- + L2Skill skill = SkillTable.getInstance().getInfo(467, getSkillLevel(467));
- if (Rnd.get(100) < skill.getCritChance())
- {
- - absorbSoul(skill,((L2Npc)target));
- + absorbSoul(skill, ((L2Npc) target));
- }
- }
- }
- if (mcrit)
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CRITICAL_HIT_MAGIC));
- - if (isInOlympiadMode() &&
- - target instanceof L2PcInstance &&
- - ((L2PcInstance)target).isInOlympiadMode() &&
- - ((L2PcInstance)target).getOlympiadGameId() == getOlympiadGameId())
- + if (isInOlympiadMode() && target instanceof L2PcInstance && ((L2PcInstance) target).isInOlympiadMode() && ((L2PcInstance) target).getOlympiadGameId() == getOlympiadGameId())
- {
- OlympiadGameManager.getInstance().notifyCompetitorDamage(this, damage);
- }
- @@ -13150,7 +13250,6 @@
- sendPacket(sm);
- }
- -
- /**
- *
- * @param npcId
- @@ -13405,8 +13504,7 @@
- for (int i = 0; i < Inventory.PAPERDOLL_TOTALSLOTS; i++)
- {
- L2ItemInstance equippedItem = getInventory().getPaperdollItem(i);
- - if (equippedItem != null && (!equippedItem.getItem().checkCondition(this, this, false)
- - || (isInOlympiadMode() && equippedItem.isOlyRestrictedItem())))
- + if (equippedItem != null && (!equippedItem.getItem().checkCondition(this, this, false) || (isInOlympiadMode() && equippedItem.isOlyRestrictedItem())))
- {
- getInventory().unEquipItemInSlot(i);
- @@ -13471,7 +13569,7 @@
- if (getCurrentFeed() > getFeedConsume())
- {
- // eat
- - setCurrentFeed(getCurrentFeed()-getFeedConsume());
- + setCurrentFeed(getCurrentFeed() - getFeedConsume());
- }
- else
- {
- @@ -13479,6 +13577,7 @@
- setCurrentFeed(0);
- stopFeed();
- dismount();
- + setKillsInRow(0);
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.OUT_OF_FEED_MOUNT_CANCELED));
- }
- @@ -13508,7 +13607,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Mounted Pet [NpcId: "+getMountNpcId()+"] a feed task error has occurred", e);
- + _log.log(Level.SEVERE, "Mounted Pet [NpcId: " + getMountNpcId() + "] a feed task error has occurred", e);
- }
- }
- }
- @@ -13522,7 +13621,7 @@
- {
- setCurrentFeed(((L2PetInstance) getPet()).getCurrentFed());
- _controlItemId = getPet().getControlObjectId();
- - sendPacket(new SetupGauge(3, getCurrentFeed()*10000/getFeedConsume(), getMaxFeed()*10000/getFeedConsume()));
- + sendPacket(new SetupGauge(3, getCurrentFeed() * 10000 / getFeedConsume(), getMaxFeed() * 10000 / getFeedConsume()));
- if (!isDead())
- {
- _mountFeedTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new FeedTask(), 10000, 10000);
- @@ -13531,7 +13630,7 @@
- else if (_canFeed)
- {
- setCurrentFeed(getMaxFeed());
- - SetupGauge sg = new SetupGauge(3, getCurrentFeed()*10000/getFeedConsume(), getMaxFeed()*10000/getFeedConsume());
- + SetupGauge sg = new SetupGauge(3, getCurrentFeed() * 10000 / getFeedConsume(), getMaxFeed() * 10000 / getFeedConsume());
- sendPacket(sg);
- if (!isDead())
- {
- @@ -13547,7 +13646,8 @@
- _mountFeedTask.cancel(false);
- //ThreadPoolManager.getInstance().removeGeneral((Runnable)_mountFeedTask);
- _mountFeedTask = null;
- - if (Config.DEBUG) _log.fine("Pet [#"+_mountNpcId+"] feed task stop");
- + if (Config.DEBUG)
- + _log.fine("Pet [#" + _mountNpcId + "] feed task stop");
- }
- }
- @@ -13570,7 +13670,10 @@
- return _leveldata;
- }
- - public int getCurrentFeed() { return _curFeed; }
- + public int getCurrentFeed()
- + {
- + return _curFeed;
- + }
- private int getFeedConsume()
- {
- @@ -13584,7 +13687,7 @@
- public void setCurrentFeed(int num)
- {
- _curFeed = num > getMaxFeed() ? getMaxFeed() : num;
- - SetupGauge sg = new SetupGauge(3, getCurrentFeed()*10000/getFeedConsume(), getMaxFeed()*10000/getFeedConsume());
- + SetupGauge sg = new SetupGauge(3, getCurrentFeed() * 10000 / getFeedConsume(), getMaxFeed() * 10000 / getFeedConsume());
- sendPacket(sg);
- }
- @@ -13595,7 +13698,7 @@
- private boolean isHungry()
- {
- - return _canFeed ? (getCurrentFeed() < (getPetData(getMountNpcId()).getHungry_limit() / 100f * getPetLevelData(getMountNpcId()).getPetMaxFeed())):false;
- + return _canFeed ? (getCurrentFeed() < (getPetData(getMountNpcId()).getHungry_limit() / 100f * getPetLevelData(getMountNpcId()).getPetMaxFeed())) : false;
- }
- private class Dismount implements Runnable
- @@ -13647,7 +13750,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Failed to store Pet [NpcId: "+petId+"] data", e);
- + _log.log(Level.SEVERE, "Failed to store Pet [NpcId: " + petId + "] data", e);
- }
- finally
- {
- @@ -13655,6 +13758,7 @@
- }
- }
- }
- +
- /** End of section for mounted pets */
- @Override
- @@ -13674,7 +13778,7 @@
- */
- public int getEventEffectId()
- {
- - return _eventEffectId ;
- + return _eventEffectId;
- }
- public void startEventEffect(AbnormalEffect mask)
- @@ -13809,8 +13913,8 @@
- public static class TeleportBookmark
- {
- - public int _id,_x,_y,_z,_icon;
- - public String _name,_tag;
- + public int _id, _x, _y, _z, _icon;
- + public String _name, _tag;
- TeleportBookmark(int id, int x, int y, int z, int icon, String tag, String name)
- {
- @@ -13829,9 +13933,9 @@
- {
- int count = 0;
- int size = tpbookmark.size();
- - while(size > count)
- + while (size > count)
- {
- - if(tpbookmark.get(count)._id==Id)
- + if (tpbookmark.get(count)._id == Id)
- {
- tpbookmark.get(count)._icon = icon;
- tpbookmark.get(count)._tag = tag;
- @@ -13898,9 +14002,9 @@
- int count = 0;
- int size = tpbookmark.size();
- - while(size > count)
- + while (size > count)
- {
- - if(tpbookmark.get(count)._id == Id)
- + if (tpbookmark.get(count)._id == Id)
- {
- tpbookmark.remove(count);
- break;
- @@ -13913,7 +14017,7 @@
- public void teleportBookmarkGo(int Id)
- {
- - if(!teleportBookmarkCondition(0) || this == null)
- + if (!teleportBookmarkCondition(0) || this == null)
- return;
- if (getInventory().getInventoryItemCount(13016, 0) == 0)
- {
- @@ -13925,9 +14029,9 @@
- sendPacket(sm);
- int count = 0;
- int size = tpbookmark.size();
- - while(size > count)
- + while (size > count)
- {
- - if(tpbookmark.get(count)._id == Id)
- + if (tpbookmark.get(count)._id == Id)
- {
- destroyItem("Consume", getInventory().getItemByItemId(13016).getObjectId(), 1, null, false);
- this.teleToLocation(tpbookmark.get(count)._x, tpbookmark.get(count)._y, tpbookmark.get(count)._z);
- @@ -13940,7 +14044,7 @@
- public boolean teleportBookmarkCondition(int type)
- {
- - if(this.isInCombat())
- + if (this.isInCombat())
- {
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_USE_MY_TELEPORTS_DURING_A_BATTLE));
- return false;
- @@ -13982,7 +14086,7 @@
- }
- else if (this.isInBoat() || this.isInAirShip() || this.isInJail() || this.isInsideZone(ZONE_NOSUMMONFRIEND))
- {
- - if(type == 0)
- + if (type == 0)
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_USE_MY_TELEPORTS_IN_THIS_AREA));
- else if (type == 1)
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_USE_MY_TELEPORTS_TO_REACH_THIS_AREA));
- @@ -14000,38 +14104,38 @@
- }
- else if (isInsideZone(ZONE_NOBOOKMARK))
- {
- - if(type == 0)
- + if (type == 0)
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_USE_MY_TELEPORTS_IN_THIS_AREA));
- else if (type == 1)
- sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_USE_MY_TELEPORTS_TO_REACH_THIS_AREA));
- return false;
- }
- /* TODO: Instant Zone still not implement
- - else if (this.isInsideZone(ZONE_INSTANT))
- - {
- - sendPacket(SystemMessage.getSystemMessage(2357));
- - return;
- - }
- + else if (this.isInsideZone(ZONE_INSTANT))
- + {
- + sendPacket(SystemMessage.getSystemMessage(2357));
- + return;
- + }
- */
- else
- return true;
- }
- - public void teleportBookmarkAdd(int x,int y,int z,int icon, String tag, String name)
- + public void teleportBookmarkAdd(int x, int y, int z, int icon, String tag, String name)
- {
- - if(this == null)
- + if (this == null)
- return;
- - if(!teleportBookmarkCondition(1))
- + if (!teleportBookmarkCondition(1))
- return;
- - if(tpbookmark.size() >= _bookmarkslot)
- + if (tpbookmark.size() >= _bookmarkslot)
- {
- sendPacket(SystemMessage.getSystemMessage(2358));
- return;
- }
- - if(getInventory().getInventoryItemCount(20033, 0) == 0)
- + if (getInventory().getInventoryItemCount(20033, 0) == 0)
- {
- sendPacket(SystemMessage.getSystemMessage(6501));
- return;
- @@ -14043,15 +14147,15 @@
- int size = tpbookmark.size();
- - while(size > count)
- + while (size > count)
- {
- idlist.add(tpbookmark.get(count)._id);
- count++;
- }
- - for(int i=1; i<10; i++)
- + for (int i = 1; i < 10; i++)
- {
- - if(!idlist.contains(i))
- + if (!idlist.contains(i))
- {
- id = i;
- break;
- @@ -14059,7 +14163,7 @@
- }
- TeleportBookmark tpadd = new TeleportBookmark(id, x, y, z, icon, tag, name);
- - if(tpbookmark == null)
- + if (tpbookmark == null)
- tpbookmark = new FastList<TeleportBookmark>();
- tpbookmark.add(tpadd);
- @@ -14087,7 +14191,6 @@
- statement.setString(7, tag);
- statement.setString(8, name);
- -
- statement.execute();
- statement.close();
- }
- @@ -14105,7 +14208,7 @@
- public void restoreTeleportBookmark()
- {
- - if(tpbookmark == null)
- + if (tpbookmark == null)
- tpbookmark = new FastList<TeleportBookmark>();
- Connection con = null;
- @@ -14137,7 +14240,7 @@
- @Override
- public void sendInfo(L2PcInstance activeChar)
- {
- - if(isInBoat())
- + if (isInBoat())
- {
- getPosition().setWorldPosition(getBoat().getPosition().getWorldPosition());
- @@ -14161,7 +14264,7 @@
- }
- activeChar.sendPacket(new GetOnVehicle(getObjectId(), getBoat().getObjectId(), getInVehiclePosition()));
- }
- - else if(isInAirShip())
- + else if (isInAirShip())
- {
- getPosition().setWorldPosition(getAirShip().getPosition().getWorldPosition());
- @@ -14290,9 +14393,7 @@
- if (birth.get(Calendar.DAY_OF_MONTH) == 29 && birth.get(Calendar.MONTH) == 1)
- birth.add(Calendar.HOUR_OF_DAY, -24);
- - if (now.get(Calendar.MONTH) == birth.get(Calendar.MONTH)
- - && now.get(Calendar.DAY_OF_MONTH) == birth.get(Calendar.DAY_OF_MONTH)
- - && now.get(Calendar.YEAR) != birth.get(Calendar.YEAR))
- + if (now.get(Calendar.MONTH) == birth.get(Calendar.MONTH) && now.get(Calendar.DAY_OF_MONTH) == birth.get(Calendar.DAY_OF_MONTH) && now.get(Calendar.YEAR) != birth.get(Calendar.YEAR))
- {
- return 0;
- }
- @@ -14302,16 +14403,13 @@
- for (i = 1; i < 6; i++)
- {
- now.add(Calendar.HOUR_OF_DAY, 24);
- - if (now.get(Calendar.MONTH) == birth.get(Calendar.MONTH)
- - && now.get(Calendar.DAY_OF_MONTH) == birth.get(Calendar.DAY_OF_MONTH)
- - && now.get(Calendar.YEAR) != birth.get(Calendar.YEAR))
- + if (now.get(Calendar.MONTH) == birth.get(Calendar.MONTH) && now.get(Calendar.DAY_OF_MONTH) == birth.get(Calendar.DAY_OF_MONTH) && now.get(Calendar.YEAR) != birth.get(Calendar.YEAR))
- return i;
- }
- }
- return -1;
- }
- -
- /**
- * list of character friends
- *
- @@ -14366,7 +14464,7 @@
- private void notifyFriends()
- {
- FriendStatusPacket pkt = new FriendStatusPacket(getObjectId());
- - for(int id : _friendList)
- + for (int id : _friendList)
- {
- L2PcInstance friend = L2World.getInstance().getPlayer(id);
- if (friend != null)
- @@ -14444,7 +14542,6 @@
- statement.setInt(1, getObjectId());
- ResultSet rset = statement.executeQuery();
- -
- L2ManufactureList createList = new L2ManufactureList();
- while (rset.next())
- {
- @@ -14456,7 +14553,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Could not restore recipe shop list data for playerId: "+getObjectId(), e);
- + _log.log(Level.SEVERE, "Could not restore recipe shop list data for playerId: " + getObjectId(), e);
- }
- finally
- {
- @@ -14484,33 +14581,40 @@
- {
- return _clientX;
- }
- +
- public final int getClientY()
- {
- return _clientY;
- }
- +
- public final int getClientZ()
- {
- return _clientZ;
- }
- +
- public final int getClientHeading()
- {
- return _clientHeading;
- }
- +
- public final void setClientX(int val)
- {
- - _clientX=val;
- + _clientX = val;
- }
- +
- public final void setClientY(int val)
- {
- - _clientY=val;
- + _clientY = val;
- }
- +
- public final void setClientZ(int val)
- {
- - _clientZ=val;
- + _clientZ = val;
- }
- +
- public final void setClientHeading(int val)
- {
- - _clientHeading=val;
- + _clientHeading = val;
- }
- /**
- @@ -14519,10 +14623,7 @@
- */
- public final boolean isFalling(int z)
- {
- - if (isDead()
- - || isFlying()
- - || isFlyingMounted()
- - || isInsideZone(ZONE_WATER))
- + if (isDead() || isFlying() || isFlyingMounted() || isInsideZone(ZONE_WATER))
- return false;
- if (System.currentTimeMillis() < _fallingTimestamp)
- @@ -14532,7 +14633,7 @@
- if (deltaZ <= getBaseTemplate().getFallHeight())
- return false;
- - final int damage = (int)Formulas.calcFallDam(this, deltaZ);
- + final int damage = (int) Formulas.calcFallDam(this, deltaZ);
- if (damage > 0)
- {
- reduceCurrentHp(Math.min(damage, getCurrentHp() - 1), null, false, true, null);
- @@ -14716,24 +14817,20 @@
- if (nextLevel == -1) // there is no lower skill
- {
- - _log.info("Removing skill id "+id+ " level "+getSkillLevel(id)+" from player "+this);
- + _log.info("Removing skill id " + id + " level " + getSkillLevel(id) + " from player " + this);
- removeSkill(_skills.get(id), true);
- }
- - else // replace with lower one
- + else
- + // replace with lower one
- {
- - _log.info("Decreasing skill id "+id+" from "+getSkillLevel(id)+" to "+nextLevel+" for "+this);
- + _log.info("Decreasing skill id " + id + " from " + getSkillLevel(id) + " to " + nextLevel + " for " + this);
- addSkill(SkillTable.getInstance().getInfo(id, nextLevel), true);
- }
- }
- public boolean canMakeSocialAction()
- {
- - if (getPrivateStoreType() == 0 && getActiveRequester() == null
- - && !isAlikeDead() && (!isAllSkillsDisabled() || isInDuel())
- - && !isCastingNow() && !isCastingSimultaneouslyNow()
- - && getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE
- - && !AttackStanceTaskManager.getInstance().getAttackStanceTask(this)
- - && !isInOlympiadMode())
- + if (getPrivateStoreType() == 0 && getActiveRequester() == null && !isAlikeDead() && (!isAllSkillsDisabled() || isInDuel()) && !isCastingNow() && !isCastingSimultaneouslyNow() && getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE && !AttackStanceTaskManager.getInstance().getAttackStanceTask(this) && !isInOlympiadMode())
- {
- return true;
- }
- @@ -14777,13 +14874,13 @@
- public boolean canAttackCharacter(L2Character cha)
- {
- - if(cha instanceof L2Attackable)
- + if (cha instanceof L2Attackable)
- {
- return true;
- }
- - else if(cha instanceof L2Playable)
- + else if (cha instanceof L2Playable)
- {
- - if(cha.isInsideZone(L2Character.ZONE_PVP) && !cha.isInsideZone(L2Character.ZONE_SIEGE))
- + if (cha.isInsideZone(L2Character.ZONE_PVP) && !cha.isInsideZone(L2Character.ZONE_SIEGE))
- return true;
- L2PcInstance target;
- @@ -14798,9 +14895,9 @@
- }
- else if (isInParty() && target.isInParty())
- {
- - if(getParty() == target.getParty())
- + if (getParty() == target.getParty())
- return false;
- - if((getParty().getCommandChannel() != null || target.getParty().getCommandChannel() != null) && (getParty().getCommandChannel() == target.getParty().getCommandChannel()))
- + if ((getParty().getCommandChannel() != null || target.getParty().getCommandChannel() != null) && (getParty().getCommandChannel() == target.getParty().getCommandChannel()))
- return false;
- }
- else if (getClan() != null && target.getClan() != null)
- @@ -14809,12 +14906,12 @@
- return false;
- if ((getAllyId() > 0 || target.getAllyId() > 0) && (getAllyId() == target.getAllyId()))
- return false;
- - if(getClan().isAtWarWith(target.getClan().getClanId()) && target.getClan().isAtWarWith(getClan().getClanId()))
- + if (getClan().isAtWarWith(target.getClan().getClanId()) && target.getClan().isAtWarWith(getClan().getClanId()))
- return true;
- }
- else if (getClan() == null || target.getClan() == null)
- {
- - if(target.getPvpFlag() == 0 && target.getKarma() == 0)
- + if (target.getPvpFlag() == 0 && target.getKarma() == 0)
- return false;
- }
- }
- @@ -14864,25 +14961,25 @@
- if (rset.next() && rset.getInt("object_id") > 0)
- setPetInvItems(true);
- else
- - setPetInvItems(false);
- + setPetInvItems(false);
- rset.close();
- statement.close();
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Could not check Items in Pet Inventory for playerId: "+getObjectId(), e);
- + _log.log(Level.SEVERE, "Could not check Items in Pet Inventory for playerId: " + getObjectId(), e);
- }
- finally
- {
- L2DatabaseFactory.close(con);
- }
- }
- -
- +
- public String getAdminConfirmCmd()
- {
- return _adminConfirmCmd;
- }
- -
- +
- public void setAdminConfirmCmd(String adminConfirmCmd)
- {
- _adminConfirmCmd = adminConfirmCmd;
- @@ -14892,12 +14989,12 @@
- {
- _handysBlockCheckerEventArena = arena;
- }
- -
- +
- public int getBlockCheckerArena()
- {
- return _handysBlockCheckerEventArena;
- }
- -
- +
- /**
- * Load L2PcInstance Recommendations data.<BR><BR>
- */
- @@ -14912,10 +15009,10 @@
- statement.setInt(1, getObjectId());
- ResultSet rset = statement.executeQuery();
- - if(rset.next())
- + if (rset.next())
- {
- setRecomHave(rset.getInt("rec_have"));
- - setRecomLeft(rset.getInt("rec_left"));
- + setRecomLeft(rset.getInt("rec_left"));
- _time_left = rset.getLong("time_left");
- }
- else
- @@ -14928,7 +15025,7 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Could not restore Recommendations for player: "+getObjectId(), e);
- + _log.log(Level.SEVERE, "Could not restore Recommendations for player: " + getObjectId(), e);
- }
- finally
- {
- @@ -14936,14 +15033,14 @@
- }
- return _time_left;
- }
- -
- +
- /**
- * Update L2PcInstance Recommendations data.<BR><BR>
- */
- public void storeRecommendations()
- {
- long _recoTaskEnd = 0;
- - if(_recoBonusTask != null)
- + if (_recoBonusTask != null)
- _recoTaskEnd = Math.max(0, _recoBonusTask.getDelay(TimeUnit.MILLISECONDS));
- Connection con = null;
- @@ -14964,24 +15061,24 @@
- }
- catch (Exception e)
- {
- - _log.log(Level.SEVERE, "Could not update Recommendations for player: "+getObjectId(), e);
- + _log.log(Level.SEVERE, "Could not update Recommendations for player: " + getObjectId(), e);
- }
- finally
- {
- L2DatabaseFactory.close(con);
- }
- }
- -
- +
- public void checkRecoBonusTask()
- {
- // Load data
- long _task_time = loadRecommendations();
- - if(_task_time > 0)
- + if (_task_time > 0)
- {
- // Add 20 recos on first login
- - if(_task_time == 3600000)
- - setRecomLeft(getRecomLeft()+20);
- + if (_task_time == 3600000)
- + setRecomLeft(getRecomLeft() + 20);
- // If player have some timeleft, start bonus task
- _recoBonusTask = ThreadPoolManager.getInstance().scheduleGeneral(new RecoBonusTaskEnd(), _task_time);
- }
- @@ -15022,14 +15119,14 @@
- int reco_to_give;
- // 10 recommendations to give out after 2 hours of being logged in
- // 1 more recommendation to give out every hour after that.
- - if(_recoTwoHoursGiven)
- + if (_recoTwoHoursGiven)
- reco_to_give = 1;
- else
- reco_to_give = 10;
- _recoTwoHoursGiven = true;
- - setRecomLeft(getRecomLeft()+reco_to_give);
- + setRecomLeft(getRecomLeft() + reco_to_give);
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_OBTAINED_S1_RECOMMENDATIONS);
- sm.addNumber(reco_to_give);
- @@ -15052,12 +15149,12 @@
- public int getRecomBonusTime()
- {
- - if(_recoBonusTask != null)
- + if (_recoBonusTask != null)
- return (int) Math.max(0, _recoBonusTask.getDelay(TimeUnit.SECONDS));
- return 0;
- }
- -
- +
- public int getRecomBonusType()
- {
- // Maintain = 1
- @@ -15093,4 +15190,25 @@
- {
- return eventStatus;
- }
- +
- + private CharacterAchievementSystem _cas = new CharacterAchievementSystem(this);
- +
- + public CharacterAchievementSystem getCAS()
- + {
- + if (_cas == null)
- + _cas = new CharacterAchievementSystem(this);
- + return _cas;
- + }
- +
- + private int _killsInRow = 0;
- +
- + public int getKillsInRow()
- + {
- + return _killsInRow;
- + }
- +
- + public void setKillsInRow(int val)
- + {
- + _killsInRow = val;
- + }
- }
- Index: java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java (working copy)
- @@ -24,6 +24,7 @@
- import com.l2jserver.gameserver.instancemanager.AntiFeedManager;
- import com.l2jserver.gameserver.instancemanager.CastleManager;
- import com.l2jserver.gameserver.instancemanager.FortManager;
- +import com.l2jserver.gameserver.model.CharacterAchievementSystem;
- import com.l2jserver.gameserver.model.L2ItemInstance;
- import com.l2jserver.gameserver.model.L2Party;
- import com.l2jserver.gameserver.model.L2Skill;
- @@ -85,6 +86,9 @@
- protected final void addPointsToParticipant(Participant par, int points)
- {
- + if (CharacterAchievementSystem.checkOk(par.player))
- + par.player.getCAS().onOlyWin();
- +
- par.updateStat(POINTS, points);
- final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_GAINED_S2_OLYMPIAD_POINTS);
- sm.addString(par.name);
- @@ -374,6 +378,9 @@
- player.teleToLocation(player.getLastX(), player.getLastY(), player.getLastZ());
- player.setLastCords(0, 0, 0);
- +
- + if (CharacterAchievementSystem.checkOk(player))
- + player.getCAS().onOlyGamePlayed();
- }
- public static final void rewardParticipant(L2PcInstance player, int[][] reward)
- Index: java/com/l2jserver/gameserver/model/actor/instance/L2GrandBossInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/instance/L2GrandBossInstance.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/actor/instance/L2GrandBossInstance.java (working copy)
- @@ -15,6 +15,7 @@
- package com.l2jserver.gameserver.model.actor.instance;
- import com.l2jserver.gameserver.instancemanager.RaidBossPointsManager;
- +import com.l2jserver.gameserver.model.CharacterAchievementSystem;
- import com.l2jserver.gameserver.model.actor.L2Character;
- import com.l2jserver.gameserver.model.actor.L2Summon;
- import com.l2jserver.gameserver.model.entity.Hero;
- @@ -65,10 +66,15 @@
- {
- if (!super.doDie(killer))
- return false;
- +
- L2PcInstance player = null;
- if (killer instanceof L2PcInstance)
- + {
- player = (L2PcInstance) killer;
- + if (CharacterAchievementSystem.checkOk(player))
- + player.getCAS().onGrandbossKill();
- + }
- else if (killer instanceof L2Summon)
- player = ((L2Summon) killer).getOwner();
- Index: java/com/l2jserver/gameserver/model/L2ItemInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/L2ItemInstance.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/L2ItemInstance.java (working copy)
- @@ -1947,4 +1947,14 @@
- return enchant;
- }
- +
- + public void setIsConsumingMana(boolean val)
- + {
- + _consumingMana = val;
- + }
- +
- + public void setMana(int mana)
- + {
- + _mana = mana;
- + }
- }
- Index: java/config/loginserver.properties
- ===================================================================
- --- java/config/loginserver.properties (revision 4769)
- +++ java/config/loginserver.properties (working copy)
- @@ -15,7 +15,7 @@
- # WARNING: <u><b><font color="red">Please don't change default IPs here if you don't know what are you doing!</font></b></u>
- # WARNING: <u><b><font color="red">External/Internal IPs are now inside "ipconfig.xml" file.</font></b></u>
- # Default: * (0.0.0.0)
- -LoginserverHostname = *
- +LoginserverHostname = 127.0.0.1
- # Default: 2106
- LoginserverPort = 2106
- @@ -24,7 +24,7 @@
- # WARNING: <u><b><font color="red">Please don't change default IPs here if you don't know what are you doing!</font></b></u>
- # WARNING: <u><b><font color="red">External/Internal IPs are now inside "ipconfig.xml" file.</font></b></u>
- # Default: * (0.0.0.0)
- -LoginHostname = *
- +LoginHostname = 127.0.0.1
- # The port on which login will listen for GameServers
- # Default: 9014
- @@ -79,11 +79,11 @@
- # URL = jdbc:mysql://localhost/l2jls (default)
- # URL = jdbc:hsqldb:hsql://localhost/l2jls
- # URL = jdbc:sqlserver://localhost/database = l2jls/user = sa/password =
- -URL = jdbc:mysql://localhost/l2jls
- +URL = jdbc:mysql://localhost/l2jdb
- # Database user info (default is "root" but it's not recommended)
- Login = root
- # Database connection password
- -Password =
- +Password = root
- # Default: 10
- MaximumDbConnections = 10
- Index: java/com/l2jserver/gameserver/model/quest/Quest.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/quest/Quest.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/quest/Quest.java (working copy)
- @@ -500,6 +500,7 @@
- // override the default NPC dialogs when a quest defines this for the given NPC
- public final boolean notifyFirstTalk(L2Npc npc, L2PcInstance player)
- {
- + System.out.println("notifytalk");
- String res = null;
- try
- {
- Index: java/com/l2jserver/gameserver/model/L2Fishing.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/L2Fishing.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/L2Fishing.java (working copy)
- @@ -147,6 +147,8 @@
- _fisher.addItem("Fishing", _fishId, 1, null, true);
- }
- }
- + if (CharacterAchievementSystem.checkOk(_fisher))
- + _fisher.getCAS().onFishingDone(true);
- _fisher.endFishing(win);
- _fisher = null;
- }
- Index: java/com/l2jserver/gameserver/model/actor/instance/L2RaidBossInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/instance/L2RaidBossInstance.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/actor/instance/L2RaidBossInstance.java (working copy)
- @@ -18,6 +18,7 @@
- import com.l2jserver.gameserver.ThreadPoolManager;
- import com.l2jserver.gameserver.instancemanager.RaidBossPointsManager;
- import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager;
- +import com.l2jserver.gameserver.model.CharacterAchievementSystem;
- import com.l2jserver.gameserver.model.L2Skill;
- import com.l2jserver.gameserver.model.L2Spawn;
- import com.l2jserver.gameserver.model.actor.L2Character;
- @@ -80,7 +81,11 @@
- L2PcInstance player = null;
- if (killer instanceof L2PcInstance)
- + {
- player = (L2PcInstance) killer;
- + if (CharacterAchievementSystem.checkOk(player))
- + player.getCAS().onRaidbossKill();
- + }
- else if (killer instanceof L2Summon)
- player = ((L2Summon) killer).getOwner();
- Index: java/com/l2jserver/gameserver/model/CharacterAchievementSystem.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/CharacterAchievementSystem.java (revision 0)
- +++ java/com/l2jserver/gameserver/model/CharacterAchievementSystem.java (revision 0)
- @@ -0,0 +1,378 @@
- +/*
- + * This program is free software: you can redistribute it and/or modify it under
- + * the terms of the GNU General Public License as published by the Free Software
- + * Foundation, either version 3 of the License, or (at your option) any later
- + * version.
- + *
- + * This program is distributed in the hope that it will be useful, but WITHOUT
- + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- + * details.
- + *
- + * You should have received a copy of the GNU General Public License along with
- + * this program. If not, see <http://www.gnu.org/licenses/>.
- + */
- +package com.l2jserver.gameserver.model;
- +
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import java.sql.SQLException;
- +import java.util.logging.Level;
- +import java.util.logging.Logger;
- +
- +import com.l2jserver.L2DatabaseFactory;
- +import com.l2jserver.gameserver.datatables.SkillTable;
- +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- +
- +/**
- + *
- + * @author Nik
- + *
- + */
- +public class CharacterAchievementSystem
- +{
- + private final L2PcInstance _owner;
- + private static final Logger _log = Logger.getLogger(CharacterAchievementSystem.class.getName());
- + private boolean _increasePts = false;
- +
- + private static int evasionPts = 0;
- + private static int speedPts = 0;
- + private static int atkspdPts = 0;
- + private static int castingspdPts = 0;
- + private static int critPts = 0;
- +
- + private static int olyPlayedPts = 0;
- + private static int olyWonPts = 0;
- +
- + private static int enchantFailPts = 0;
- + //TODO: Lines below this comment add to mysql & getHtml()
- + private static int enchantSuccessPts = 0;
- + private static int grandbossKilled = 0;
- + private static int raidbossKilled = 0;
- + private static int playersResed = 0;
- + private static int insultsSpoken = 0;
- + private static int bsoesUsed = 0;
- + private static int firstBlood = 0;
- + private static int doubleKill = 0;
- + private static int trippleKill = 0;
- + private static int dominating = 0;
- + private static int megaKill = 0;
- + private static int monsterKill = 0;
- + private static int hollyShit = 0;
- + private static int ownage = 0;
- + private static int rampage = 0;
- + private static int unstoppable = 0;
- + private static int godlike = 0;
- + private static int mobsKilled = 0;
- + private static int fishesDone = 0;
- + private static int fishesFailed = 0;
- + private static int chestsOpened = 0;
- +
- + public CharacterAchievementSystem(L2PcInstance owner)
- + {
- + _owner = owner;
- + loadData();
- + _increasePts = true; // They are false on load, so they dont get increased on each relogin.
- + }
- +
- + public void onHit()
- + {
- + switch (_increasePts ? ++atkspdPts : atkspdPts)
- + {
- +
- + }
- + }
- +
- + public void onEvade()
- + {
- + switch (_increasePts ? ++evasionPts : evasionPts)
- + {
- +
- + }
- + }
- +
- + public void onMagicCast()
- + {
- + switch (_increasePts ? ++castingspdPts : castingspdPts)
- + {
- +
- + }
- + }
- +
- + public void onCrit()
- + {
- + switch (_increasePts ? ++critPts : critPts)
- + {
- +
- + }
- + }
- +
- + public void onOlyWin()
- + {
- + switch (_increasePts ? ++olyWonPts : olyWonPts)
- + {
- +
- + }
- + }
- +
- + public void onOlyGamePlayed()
- + {
- + switch (_increasePts ? ++olyPlayedPts : olyPlayedPts)
- + {
- +
- + }
- + }
- +
- + public void onEnchant(boolean success)
- + {
- + if (!success) // Fail
- + {
- + switch (_increasePts ? ++enchantFailPts : enchantFailPts)
- + {
- +
- + }
- + }
- + else
- + {
- + switch (_increasePts ? ++enchantSuccessPts : enchantSuccessPts)
- + {
- +
- + }
- + }
- + }
- +
- + public void onGrandbossKill()
- + {
- + switch (_increasePts ? ++grandbossKilled : grandbossKilled)
- + {
- +
- + }
- + }
- +
- + public void onRaidbossKill()
- + {
- + switch (_increasePts ? ++raidbossKilled : raidbossKilled)
- + {
- +
- + }
- + }
- +
- + public void onResRequest()
- + {
- + switch (_increasePts ? ++playersResed : playersResed)
- + {
- +
- + }
- + }
- +
- + public void onInsult(String text)
- + {
- + if (text.contains(""))
- + {
- + switch (_increasePts ? ++insultsSpoken : insultsSpoken)
- + {
- +
- + }
- +
- + }
- +
- + }
- +
- + public void onBsoeUse()
- + {
- + switch (_increasePts ? ++bsoesUsed : bsoesUsed)
- + {
- +
- + }
- + }
- +
- + public void onPvPKill(int killsInRow)
- + {
- + switch (killsInRow)
- + {
- + case 1:
- + firstBlood++;
- + case 2:
- + doubleKill++;
- + case 3:
- + trippleKill++;
- + case 4:
- + dominating++;
- + case 5:
- + megaKill++;
- + case 6:
- + monsterKill++;
- + case 7:
- + hollyShit++;
- + case 8:
- + ownage++;
- + case 9:
- + rampage++;
- + case 10:
- + unstoppable++;
- + case 16:
- + godlike++;
- + default:
- + break;
- + }
- + }
- +
- + public void onMobKill()
- + {
- + switch (_increasePts ? ++mobsKilled : mobsKilled)
- + {
- +
- + }
- + }
- +
- + public void onFishingDone(boolean win)
- + {
- + if (win) // Fishing was successful
- + {
- + switch (_increasePts ? ++fishesDone : fishesDone)
- + {
- +
- + }
- + }
- + else
- + {
- + switch (_increasePts ? ++fishesFailed : fishesFailed)
- + {
- +
- + }
- + }
- + }
- +
- + public void onChestOpen()
- + {
- + switch (_increasePts ? ++chestsOpened : chestsOpened)
- + {
- +
- + }
- + }
- +
- + public static String getHtml()
- + {
- + StringBuilder sb = new StringBuilder();
- + sb.append("<html><head><body>");
- + sb.append("<br1>atkspdPts=");
- + sb.append(atkspdPts);
- + sb.append("<br1>speedPts=");
- + sb.append(speedPts);
- + sb.append("<br1>evasionPts=");
- + sb.append(evasionPts);
- + sb.append("<br1>castingspdPts=");
- + sb.append(castingspdPts);
- + sb.append("<br1>critPts=");
- + sb.append(critPts);
- + sb.append("<br1>olyPlayedPts=");
- + sb.append(olyPlayedPts);
- + sb.append("<br1>olyWonPts=");
- + sb.append(olyWonPts);
- + sb.append("<br1>enchantFailPts=");
- + sb.append(enchantFailPts);
- + sb.append("<br1>bsoe=");
- + sb.append(bsoesUsed);
- + sb.append("</body></head></html>");
- +
- + return sb.toString();
- + }
- +
- + /**
- + *
- + * @param player
- + * @param cha - if cha is NOT NULL, the check will do "anally", dualbox checks and gearpoints check.
- + * @return
- + */
- + public static boolean checkOk(L2PcInstance player/*, L2Character cha*/)
- + {
- + if (player == null || player.getCAS() == null)
- + return false;
- + /*
- + if (cha != null)
- + {
- + if (player.checkDualbox(cha.getActingPlayer())) // if cha.getActingPlayer() == null it will be false, no NPE
- + return false;
- + else if (player.isRelated("anally", cha))
- + return false;
- + else if ()
- + }*/
- +
- + return true;
- + }
- +
- + public void saveData()
- + {
- + Connection con = null;
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- +
- + PreparedStatement statement = con.prepareStatement("REPLACE INTO character_achievements (charId, charName, evasionPts, speedPts, atkspdPts, castingspdPts, critPts, olyPlayedPts, olyWonPts, enchantFailPts) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
- + statement.setInt(1, _owner.getObjectId());
- + statement.setString(2, _owner.getName());
- + statement.setInt(3, evasionPts);
- + statement.setInt(4, speedPts);
- + statement.setInt(5, atkspdPts);
- + statement.setInt(6, castingspdPts);
- + statement.setInt(7, critPts);
- + statement.setInt(8, olyPlayedPts);
- + statement.setInt(9, olyWonPts);
- + statement.setInt(10, enchantFailPts);
- + statement.executeUpdate();
- + statement.close();
- + }
- + catch (SQLException e)
- + {
- + _log.log(Level.SEVERE, "CharacterAchievementSystem: Failed to save data for player " + _owner.getName(), e);
- + }
- + finally
- + {
- + L2DatabaseFactory.close(con);
- + }
- + }
- +
- + private void loadData()
- + {
- + Connection con = null;
- +
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement("SELECT * FROM character_achievements WHERE charId=?");
- + statement.setInt(1, _owner.getObjectId());
- + ResultSet rs = statement.executeQuery();
- +
- + while (rs.next())
- + {
- + evasionPts = rs.getInt("evasionPts");
- + speedPts = rs.getInt("speedPts");
- + atkspdPts = rs.getInt("atkspdPts");
- + castingspdPts = rs.getInt("castingspdPts");
- + critPts = rs.getInt("critPts");
- +
- + olyPlayedPts = rs.getInt("olyPlayedPts");
- + olyWonPts = rs.getInt("olyWonPts");
- +
- + enchantFailPts = rs.getInt("enchantFailPts");
- + }
- +
- + rs.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + _log.log(Level.SEVERE, "CharacterAchievementSystem: Failed loading data for player " + _owner.getName(), e);
- + }
- + finally
- + {
- + L2DatabaseFactory.close(con);
- + }
- + }
- +
- + private void addSkill(int skillId, int level)
- + {
- + _owner.addSkill(SkillTable.getInstance().getInfo(skillId, level));
- + }
- +}
- Index: java/com/l2jserver/gameserver/datatables/MultiSell.java
- ===================================================================
- --- java/com/l2jserver/gameserver/datatables/MultiSell.java (revision 4769)
- +++ java/com/l2jserver/gameserver/datatables/MultiSell.java (working copy)
- @@ -64,12 +64,14 @@
- {
- _entries = new TIntObjectHashMap<ListContainer>();
- load();
- + loadCustom();
- }
- public final void reload()
- {
- _entries.clear();
- load();
- + loadCustom();
- }
- /**
- @@ -152,13 +154,13 @@
- switch (id)
- {
- case CLAN_REPUTATION:
- - player.getClan().takeReputationScore((int)amount, true);
- + player.getClan().takeReputationScore((int) amount, true);
- SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
- smsg.addItemNumber(amount);
- player.sendPacket(smsg);
- return true;
- case FAME:
- - player.setFame(player.getFame() - (int)amount);
- + player.setFame(player.getFame() - (int) amount);
- player.sendPacket(new UserInfo(player));
- player.sendPacket(new ExBrExtraUserInfo(player));
- return true;
- @@ -171,10 +173,10 @@
- switch (id)
- {
- case CLAN_REPUTATION:
- - player.getClan().addReputationScore((int)amount, true);
- + player.getClan().addReputationScore((int) amount, true);
- break;
- case FAME:
- - player.setFame((int)(player.getFame() + amount));
- + player.setFame((int) (player.getFame() + amount));
- player.sendPacket(new UserInfo(player));
- player.sendPacket(new ExBrExtraUserInfo(player));
- break;
- @@ -187,7 +189,7 @@
- int id = 0;
- List<File> files = new FastList<File>();
- hashFiles("data/multisell", files);
- - hashFiles("data/multisell/custom", files);
- + //hashFiles("data/multisell/custom", files);
- for (File f : files)
- {
- @@ -220,6 +222,44 @@
- _log.log(Level.INFO, "MultiSell: Loaded " + _entries.size() + " lists.");
- }
- + private final void loadCustom()
- + {
- + Document doc = null;
- + int id = 0;
- + List<File> files = new FastList<File>();
- + hashFiles("data/multisell/custom", files);
- +
- + for (File f : files)
- + {
- + try
- + {
- + id = Integer.parseInt(f.getName().replaceAll(".xml", "").split(" ")[0]);
- + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- + factory.setValidating(false);
- + factory.setIgnoringComments(true);
- + doc = factory.newDocumentBuilder().parse(f);
- + }
- + catch (Exception e)
- + {
- + _log.log(Level.SEVERE, "Error loading custom file " + f, e);
- + continue;
- + }
- +
- + try
- + {
- + ListContainer list = parseDocument(doc);
- + list.setListId(id);
- + _entries.put(id, list);
- + }
- + catch (Exception e)
- + {
- + _log.log(Level.SEVERE, "Error in custom file " + f, e);
- + }
- + }
- + verify();
- + _log.config("MultiSell: Loaded " + _entries.size() + " custom lists.");
- + }
- +
- private final ListContainer parseDocument(Document doc)
- {
- int entryId = 1;
- @@ -329,14 +369,12 @@
- for (Ingredient ing : ent.getIngredients())
- {
- if (!verifyIngredient(ing))
- - _log.warning("[MultiSell] can't find ingredient with itemId: "
- - + ing.getItemId() + " in list: " + list.getListId());
- + _log.warning("[MultiSell] can't find ingredient with itemId: " + ing.getItemId() + " in list: " + list.getListId());
- }
- for (Ingredient ing : ent.getProducts())
- {
- if (!verifyIngredient(ing))
- - _log.warning("[MultiSell] can't find product with itemId: "
- - + ing.getItemId() + " in list: " + list.getListId());
- + _log.warning("[MultiSell] can't find product with itemId: " + ing.getItemId() + " in list: " + list.getListId());
- }
- }
- }
- @@ -362,4 +400,4 @@
- {
- protected static final MultiSell _instance = new MultiSell();
- }
- -}
- \ No newline at end of file
- +}
- Index: java/config/server.properties
- ===================================================================
- --- java/config/server.properties (revision 4769)
- +++ java/config/server.properties (working copy)
- @@ -25,7 +25,7 @@
- # WARNING: <u><b><font color="red">Please don't change default IPs here if you don't know what are you doing!</font></b></u>
- # WARNING: <u><b><font color="red">External/Internal IPs are now inside "ipconfig.xml" file.</font></b></u>
- # Default: * (0.0.0.0)
- -GameserverHostname = *
- +GameserverHostname = 127.0.0.1
- # Default: 7777
- GameserverPort = 7777
- @@ -44,11 +44,11 @@
- # URL = jdbc:mysql://localhost/l2jgs (default)
- # URL = jdbc:hsqldb:hsql://localhost/l2jgs
- # URL = jdbc:sqlserver://localhost/database = l2jgs/user = sa/password =
- -URL = jdbc:mysql://localhost/l2jgs
- +URL = jdbc:mysql://localhost/l2jdb
- # Database user info (default is "root" but it's not recommended)
- Login = root
- # Database connection password
- -Password =
- +Password = root
- # Default: 100
- MaximumDbConnections = 100
- Index: java/com/l2jserver/gameserver/model/ChanceSkillList.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/ChanceSkillList.java (revision 4769)
- +++ java/com/l2jserver/gameserver/model/ChanceSkillList.java (working copy)
- @@ -123,6 +123,26 @@
- if (_owner.isDead())
- return;
- + if (CharacterAchievementSystem.checkOk(_owner.getActingPlayer()))
- + {
- + switch (event)
- + {
- + case ChanceCondition.EVT_HIT:
- + _owner.getActingPlayer().getCAS().onHit();
- + break;
- + case ChanceCondition.EVT_MAGIC:
- + _owner.getActingPlayer().getCAS().onMagicCast();
- + break;
- + case ChanceCondition.EVT_CRIT:
- + _owner.getActingPlayer().getCAS().onCrit();
- + break;
- + case ChanceCondition.EVT_EVADED_HIT:
- + _owner.getActingPlayer().getCAS().onEvade();
- + break;
- + }
- + }
- +
- +
- final boolean playable = target instanceof L2Playable;
- for (FastMap.Entry<IChanceSkillTrigger, ChanceCondition> e = head(), end = tail(); (e = e.getNext()) != end;)
- {
- Index: java/com/l2jserver/gameserver/network/clientpackets/RequestEnchantItem.java
- ===================================================================
- --- java/com/l2jserver/gameserver/network/clientpackets/RequestEnchantItem.java (revision 4769)
- +++ java/com/l2jserver/gameserver/network/clientpackets/RequestEnchantItem.java (working copy)
- @@ -20,6 +20,7 @@
- import com.l2jserver.Config;
- import com.l2jserver.gameserver.datatables.SkillTable;
- +import com.l2jserver.gameserver.model.CharacterAchievementSystem;
- import com.l2jserver.gameserver.model.L2ItemInstance;
- import com.l2jserver.gameserver.model.L2Skill;
- import com.l2jserver.gameserver.model.L2World;
- @@ -166,6 +167,9 @@
- if (Rnd.get(100) < chance)
- {
- + if (CharacterAchievementSystem.checkOk(activeChar))
- + activeChar.getCAS().onEnchant(true);
- +
- // success
- item.setEnchantLevel(item.getEnchantLevel() + 1);
- item.updateDatabase();
- @@ -208,6 +212,9 @@
- }
- else
- {
- + if (CharacterAchievementSystem.checkOk(activeChar))
- + activeChar.getCAS().onEnchant(false);
- +
- if (scrollTemplate.isSafe())
- {
- // safe enchant - remain old value
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement