Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P L2jFrozen_GameServer
- Index: head-src/com/l2jfrozen/gameserver/model/L2Character.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/model/L2Character.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/model/L2Character.java (working copy)
- @@ -339,6 +339,9 @@
- /** The Constant ZONE_DANGERAREA. */
- public static final int ZONE_DANGERAREA = 16384;
- +
- + /** The Constant ZONE_MULTIFUNCTION. */
- + public static final int ZONE_MULTIFUNCTION = 16385;
- /** The _current zones. */
- private int _currentZones = 0;
- Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRecipeShopListSet.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRecipeShopListSet.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRecipeShopListSet.java (working copy)
- @@ -19,9 +19,11 @@
- package com.l2jfrozen.gameserver.network.clientpackets;
- import com.l2jfrozen.Config;
- +import com.l2jfrozen.gameserver.model.L2Character;
- import com.l2jfrozen.gameserver.model.L2ManufactureItem;
- import com.l2jfrozen.gameserver.model.L2ManufactureList;
- import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.network.SystemMessageId;
- import com.l2jfrozen.gameserver.network.serverpackets.RecipeShopMsg;
- import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
- @@ -64,6 +66,12 @@
- player.sendPacket(new SystemMessage(SystemMessageId.CANT_CRAFT_DURING_COMBAT));
- return;
- }
- +
- + if (player.isInsideZone(L2Character.ZONE_MULTIFUNCTION) && !L2MultiFunctionZone.store_zone)
- + {
- + player.sendMessage("You cannot craft while inside Multifunction zone.");
- + return;
- + }
- if(player.isTradeDisabled())
- {
- Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRestart.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRestart.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRestart.java (working copy)
- @@ -25,10 +25,12 @@
- import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager;
- import com.l2jfrozen.gameserver.datatables.SkillTable;
- import com.l2jfrozen.gameserver.model.Inventory;
- +import com.l2jfrozen.gameserver.model.L2Character;
- import com.l2jfrozen.gameserver.model.L2Party;
- import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;
- import com.l2jfrozen.gameserver.model.entity.sevensigns.SevenSignsFestival;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.network.L2GameClient;
- import com.l2jfrozen.gameserver.network.L2GameClient.GameClientState;
- import com.l2jfrozen.gameserver.network.SystemMessageId;
- @@ -103,6 +105,13 @@
- sendPacket(RestartResponse.valueOf(false));
- return;
- }
- +
- + if(player.isInsideZone(L2Character.ZONE_MULTIFUNCTION) && !L2MultiFunctionZone.restart_zone)
- + {
- + player.sendMessage("You cannot restart while inside a Multifunction zone.");
- + sendPacket(RestartResponse.valueOf(false));
- + return;
- + }
- // Check if player is in away mode
- if(player.isAway())
- Index: config/MultiFunctionZone.properties
- ===================================================================
- --- config/MultiFunctionZone.properties (revision 0)
- +++ config/MultiFunctionZone.properties (revision 0)
- @@ -0,0 +1,60 @@
- +# ---------------------------------------------------------------------------
- +# MultiFunctionZone - custom addon for your server
- +# ---------------------------------------------------------------------------
- +# This option will turn on PvP flag to all people when entering to the zone
- +EnablePvP = True
- +
- +# If set to false, zone will be no-restart zone
- +NoRestartZone = False
- +
- +# If set to false, zone will be no-logout zone
- +NoLogoutZone = False
- +
- +# If set to false, zone will be no-store zone
- +NoStoreZone = False
- +
- +# Give noblesse after revive?
- +ReviveNoblesse = False
- +
- +# Heal after revive?
- +ReviveHeal = False
- +
- +# Delay, in seconds, to wait before revive
- +# 0 to disable
- +ReviveDelay = 10
- +
- +# Set the spawn points where players will be teleported on revive, if enabled
- +# example:150111,144740,-12248;143665,144418,-12022;144443,147685,-12139
- +SpawnLoc = 150111,144740,-12248;143665,144418,-12022;144443,147685,-12139
- +
- +# Random respawn radius
- +RespawnRadius = 500
- +
- +# If set to true, players will take noblesse blessing when entering
- +GiveNoblesse = True
- +
- +# Remove buffs when entering to the zone
- +RemoveBuffs = False
- +
- +# Remove pets when entering to the zone
- +RemovePets = False
- +
- +# Special rewards when hunting inside this zone
- +# example: 57,100000;14720,1
- +Rewards = 57,100000;14720,1
- +
- +# List of Items(id's) that won't be usable inside this area and also will be unequiped when entering
- +# (armor, weapons, scrolls, potions, etc), example: 728,7575, 6383, 1538
- +Items = 728,7575,6383,1538
- +
- +# List of Grades that won't be usable inside this area and also will be unequiped when entering
- +# example: D,C,B,A,S,S80,S84
- +Grades = C,B,A
- +
- +# Items with this enchant or more won't be usable inside this area and also will be unequiped when entering
- +# 0 to disable
- +Enchant = 0
- +
- +# Players with one of that classes won't be able to enter to the zone
- +# example: 93,85,12
- +Classes = 92
- \ No newline at end of file
- Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/Logout.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/network/clientpackets/Logout.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/Logout.java (working copy)
- @@ -19,10 +19,12 @@
- import com.l2jfrozen.Config;
- import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager;
- import com.l2jfrozen.gameserver.datatables.SkillTable;
- +import com.l2jfrozen.gameserver.model.L2Character;
- import com.l2jfrozen.gameserver.model.L2Party;
- import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;
- import com.l2jfrozen.gameserver.model.entity.sevensigns.SevenSignsFestival;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.network.SystemMessageId;
- import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
- import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
- @@ -50,6 +52,13 @@
- player.sendPacket(ActionFailed.STATIC_PACKET);
- return;
- }
- +
- + if(player.isInsideZone(L2Character.ZONE_MULTIFUNCTION) && !L2MultiFunctionZone.logout_zone)
- + {
- + player.sendMessage("You cannot Logout while inside a Multifunction zone.");
- + player.sendPacket(ActionFailed.STATIC_PACKET);
- + return;
- + }
- if (player.isAway())
- {
- Index: head-src/com/l2jfrozen/gameserver/datatables/xml/ZoneData.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/datatables/xml/ZoneData.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/datatables/xml/ZoneData.java (working copy)
- @@ -58,6 +58,7 @@
- import com.l2jfrozen.gameserver.model.zone.type.L2FortZone;
- import com.l2jfrozen.gameserver.model.zone.type.L2JailZone;
- import com.l2jfrozen.gameserver.model.zone.type.L2MotherTreeZone;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.model.zone.type.L2NoHqZone;
- import com.l2jfrozen.gameserver.model.zone.type.L2NoLandingZone;
- import com.l2jfrozen.gameserver.model.zone.type.L2OlympiadStadiumZone;
- @@ -240,6 +241,10 @@
- {
- temp = new L2NoHqZone(zoneId);
- }
- + else if(zoneType.equals("MultiFunctionZone"))
- + {
- + temp = new L2MultiFunctionZone(zoneId);
- + }
- else if(zoneType.equals("BossZone"))
- {
- int boss_id = -1;
- Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/UseItem.java (working copy)
- @@ -29,10 +29,12 @@
- import com.l2jfrozen.gameserver.managers.CastleManager;
- import com.l2jfrozen.gameserver.managers.ClanHallManager;
- import com.l2jfrozen.gameserver.model.Inventory;
- +import com.l2jfrozen.gameserver.model.L2Character;
- import com.l2jfrozen.gameserver.model.L2Clan;
- import com.l2jfrozen.gameserver.model.L2Object;
- import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
- import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.network.SystemMessageId;
- import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
- import com.l2jfrozen.gameserver.network.serverpackets.EtcStatusUpdate;
- @@ -95,6 +97,11 @@
- if(item == null)
- return;
- + if(getClient().getActiveChar().isInsideZone(L2Character.ZONE_MULTIFUNCTION) && !L2MultiFunctionZone.checkItem(item))
- + {
- + getClient().getActiveChar().sendMessage("You cannot use "+item.getName()+" inside this zone.");
- + return;
- + }
- if(item.isWear())
- // No unequipping wear-items
- return;
- Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/SetPrivateStoreListSell.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/network/clientpackets/SetPrivateStoreListSell.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/SetPrivateStoreListSell.java (working copy)
- @@ -19,8 +19,10 @@
- package com.l2jfrozen.gameserver.network.clientpackets;
- import com.l2jfrozen.Config;
- +import com.l2jfrozen.gameserver.model.L2Character;
- import com.l2jfrozen.gameserver.model.TradeList;
- import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.network.SystemMessageId;
- import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
- import com.l2jfrozen.gameserver.network.serverpackets.PrivateStoreManageListSell;
- @@ -96,6 +98,13 @@
- player.sendPacket(new PrivateStoreManageListSell(player));
- return;
- }
- +
- + if (player.isInsideZone(L2Character.ZONE_MULTIFUNCTION) && !L2MultiFunctionZone.store_zone)
- + {
- + player.sendPacket(new PrivateStoreManageListSell(player));
- + player.sendMessage("You cannot start store while inside Multifunction zone.");
- + return;
- + }
- TradeList tradeList = player.getSellList();
- tradeList.clear();
- Index: head-src/com/l2jfrozen/gameserver/model/zone/type/L2MultiFunctionZone.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/model/zone/type/L2MultiFunctionZone.java (revision 0)
- +++ head-src/com/l2jfrozen/gameserver/model/zone/type/L2MultiFunctionZone.java (revision 0)
- @@ -0,0 +1,342 @@
- +/*
- + * 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/>.
- + */
- +/*
- + * 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.l2jfrozen.gameserver.model.zone.type;
- +
- +import java.io.File;
- +import java.io.FileInputStream;
- +import java.util.ArrayList;
- +import java.util.List;
- +import java.util.Properties;
- +import com.l2jfrozen.gameserver.datatables.SkillTable;
- +import com.l2jfrozen.gameserver.model.L2Character;
- +import com.l2jfrozen.gameserver.model.L2Skill;
- +import com.l2jfrozen.gameserver.model.L2Summon;
- +import com.l2jfrozen.gameserver.model.PcInventory;
- +import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
- +import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
- +import com.l2jfrozen.gameserver.model.zone.L2ZoneType;
- +import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
- +import com.l2jfrozen.util.random.Rnd;
- +import javolution.util.FastList;
- +
- +/**
- + *
- + * @author Wyatt
- + * @version 1.3
- + *
- + */
- +
- +public class L2MultiFunctionZone extends L2ZoneType
- +{
- +
- + public L2MultiFunctionZone(int id)
- + {
- + super(id);
- + loadConfigs();
- + }
- +
- + public static boolean pvp_enabled, restart_zone, store_zone, logout_zone, revive_noblesse, revive_heal, revive, remove_buffs, remove_pets, give_noblesse;
- + static int radius, enchant, revive_delay;
- + static int[][] spawn_loc;
- + L2Skill noblesse = SkillTable.getInstance().getInfo(1323, 1);
- + private static List<String> items = new FastList<String>();
- + private static List<String> classes = new FastList<String>(), grades = new FastList<String>();
- + public static List<int[]> rewards = new ArrayList<int[]>();
- + static String[] gradeNames = {"","D","C","B","A","S","S80","S84"};
- +
- +
- + @Override
- + protected void onEnter(L2Character character)
- + {
- + character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, true);
- + character.setInsideZone(L2Character.ZONE_MULTIFUNCTION, true);
- +
- + if (character instanceof L2PcInstance)
- + {
- + L2PcInstance activeChar = ((L2PcInstance) character);
- + if(classes != null && classes.contains(""+activeChar.getClassId().getId()))
- + {
- + activeChar.teleToLocation(83597,147888,-3405);
- + activeChar.sendMessage("Your class is not allowed in the MultiFunction zone.");
- + return;
- + }
- +
- + for(L2ItemInstance o : activeChar.getInventory()._items)
- + {
- + if(o.isEquipable() && o.isEquipped() && !checkItem(o))
- + {
- + int slot = activeChar.getInventory().getSlotFromItem(o);
- + activeChar.getInventory().unEquipItemInBodySlotAndRecord(slot);
- + activeChar.sendMessage(o.getItemName()+" unequiped because is not allowed inside this zone.");
- + }
- + }
- + activeChar.sendMessage("You entered in a MultiFunction zone.");
- + clear(activeChar);
- + if(give_noblesse)
- + noblesse.getEffects(activeChar, activeChar);
- + if(pvp_enabled && activeChar.getPvpFlag() == 0)
- + activeChar.updatePvPFlag(1);
- + }
- + }
- +
- + @Override
- + protected void onExit(L2Character character)
- + {
- + character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, false);
- + character.setInsideZone(L2Character.ZONE_MULTIFUNCTION, false);
- +
- + if (character instanceof L2PcInstance)
- + {
- + L2PcInstance activeChar = ((L2PcInstance) character);
- + activeChar.sendMessage("You left from a MultiFunction zone.");
- +
- + if(pvp_enabled)
- + activeChar.stopPvPFlag();
- + }
- + }
- +
- + @Override
- + public void onDieInside(final L2Character character)
- + {
- + if (character instanceof L2PcInstance)
- + {
- + final L2PcInstance activeChar = ((L2PcInstance) character);
- + if(revive)
- + {
- + ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
- + {
- + @Override
- + public void run()
- + {
- + activeChar.doRevive();
- + heal(activeChar);
- + int[] loc = spawn_loc[Rnd.get(spawn_loc.length)];
- + activeChar.teleToLocation(loc[0]+Rnd.get(-radius,radius), loc[1]+Rnd.get(-radius,radius), loc[2]);
- + }
- + },revive_delay*1000);
- + }
- + }
- + }
- +
- + @Override
- + public void onReviveInside(L2Character character)
- + {
- + if (character instanceof L2PcInstance)
- + {
- + L2PcInstance activeChar = ((L2PcInstance) character);
- + if(revive_noblesse)
- + noblesse.getEffects(activeChar, activeChar);
- + if(revive_heal)
- + heal(activeChar);
- + }
- + }
- +
- + static void heal(L2PcInstance activeChar)
- + {
- + activeChar.setCurrentHp(activeChar.getMaxHp());
- + activeChar.setCurrentCp(activeChar.getMaxCp());
- + activeChar.setCurrentMp(activeChar.getMaxMp());
- + }
- +
- + private void clear (L2PcInstance player)
- + {
- + if(remove_buffs)
- + {
- + player.stopAllEffects();
- + if(remove_pets)
- + {
- + L2Summon pet = player.getPet();
- + if(pet!= null)
- + {
- + pet.stopAllEffects();
- + pet.unSummon(player);
- + }
- + }
- + }
- + else
- + {
- + if(remove_pets)
- + {
- + L2Summon pet = player.getPet();
- + if(pet!= null)
- + {
- + pet.unSummon(player);
- + }
- + }
- + }
- + }
- +
- + public static void givereward(L2PcInstance player)
- + {
- + if(player.isInsideZone(L2Character.ZONE_MULTIFUNCTION))
- + {
- + for (int[] reward : rewards)
- + {
- + PcInventory inv = player.getInventory();
- + inv.addItem("Custom Reward", reward[0], reward[1], player, player);
- + }
- + }
- + }
- +
- + public static boolean checkItem (L2ItemInstance item)
- + {
- + int o = item.getItem().getCrystalType();
- + int e = item.getEnchantLevel();
- +
- + if(enchant != 0 && e >= enchant)
- + {
- + return false;
- + }
- +
- + if(grades.contains(gradeNames[o]))
- + return false;
- +
- + if(items != null && items.contains(""+item.getItemId()))
- + return false;
- + return true;
- + }
- +
- + private static void loadConfigs()
- + {
- + try
- + {
- + Properties prop = new Properties();
- + prop.load(new FileInputStream(new File("./config/MultiFunctionZone.properties")));
- + pvp_enabled = Boolean.parseBoolean(prop.getProperty("EnablePvP", "False"));
- + spawn_loc = parseItemsList(prop.getProperty("SpawnLoc", "150111,144740,-12248"));
- + revive_delay = Integer.parseInt(prop.getProperty("ReviveDelay", "10"));
- + if(revive_delay != 0)
- + {
- + revive = true;
- + }
- + give_noblesse = Boolean.parseBoolean(prop.getProperty("GiveNoblesse", "False"));
- + String[] propertySplit = prop.getProperty("Items", "").split(",");
- + if (propertySplit.length != 0)
- + {
- + for(String i : propertySplit)
- + {
- + items.add(i);
- + }
- + }
- + propertySplit = prop.getProperty("Grades", "").split(",");
- + if (propertySplit.length != 0)
- + {
- + for(String i : propertySplit)
- + {
- + if(i.equals("D") || i.equals("C") || i.equals("B") || i.equals("A") || i.equals("S") || i.equals("S80") || i.equals("S84"))
- + grades.add(i);
- + }
- + }
- + propertySplit = prop.getProperty("Classes", "").split(",");
- + if (propertySplit.length != 0)
- + {
- + for(String i : propertySplit)
- + {
- + classes.add(i);
- + }
- + }
- + radius = Integer.parseInt(prop.getProperty("RespawnRadius", "500"));
- + enchant = Integer.parseInt(prop.getProperty("Enchant", "0"));
- + remove_buffs = Boolean.parseBoolean(prop.getProperty("RemoveBuffs", "False"));
- + remove_pets = Boolean.parseBoolean(prop.getProperty("RemovePets", "False"));
- + restart_zone = Boolean.parseBoolean(prop.getProperty("NoRestartZone", "False"));
- + store_zone = Boolean.parseBoolean(prop.getProperty("NoStoreZone", "False"));
- + logout_zone = Boolean.parseBoolean(prop.getProperty("NoLogoutZone", "False"));
- + revive_noblesse = Boolean.parseBoolean(prop.getProperty("ReviveNoblesse", "False"));
- + revive_heal = Boolean.parseBoolean(prop.getProperty("ReviveHeal", "False"));
- + propertySplit = prop.getProperty("Rewards", "57,100000").split(";");
- + for (String reward : propertySplit)
- + {
- + String[] rewardSplit = reward.split(",");
- + if (rewardSplit.length == 2)
- + {
- + try
- + {
- + rewards.add(new int[]{Integer.parseInt(rewardSplit[0]), Integer.parseInt(rewardSplit[1])});
- + }
- + catch (NumberFormatException nfe)
- + {
- + }
- + }
- + }
- + }
- + catch(Exception e)
- + {
- + e.printStackTrace();
- + }
- + }
- +
- + private static int[][] parseItemsList(String line)
- + {
- + final String[] propertySplit = line.split(";");
- + if (propertySplit.length == 0)
- + return null;
- +
- + int i = 0;
- + String[] valueSplit;
- + final int[][] result = new int[propertySplit.length][];
- + for (String value : propertySplit)
- + {
- + valueSplit = value.split(",");
- + if (valueSplit.length != 3)
- + {
- + return null;
- + }
- +
- + result[i] = new int[3];
- + try
- + {
- + result[i][0] = Integer.parseInt(valueSplit[0]);
- + }
- + catch (NumberFormatException e)
- + {
- + return null;
- + }
- + try
- + {
- + result[i][1] = Integer.parseInt(valueSplit[1]);
- + }
- + catch (NumberFormatException e)
- + {
- + return null;
- + }
- + try
- + {
- + result[i][2] = Integer.parseInt(valueSplit[2]);
- + }
- + catch (NumberFormatException e)
- + {
- + return null;
- + }
- + i++;
- + }
- + return result;
- + }
- +}
- \ No newline at end of file
- Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy)
- @@ -151,6 +151,7 @@
- import com.l2jfrozen.gameserver.model.extender.BaseExtender.EventType;
- import com.l2jfrozen.gameserver.model.quest.Quest;
- import com.l2jfrozen.gameserver.model.quest.QuestState;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.model.zone.type.L2TownZone;
- import com.l2jfrozen.gameserver.network.L2GameClient;
- import com.l2jfrozen.gameserver.network.SystemMessageId;
- @@ -274,6 +275,8 @@
- /** The _vote timestamp. */
- private long _voteTimestamp = 0;
- +
- + public int counter = 0;
- /** The _posticipate sit. */
- private boolean _posticipateSit;
- @@ -7990,6 +7993,8 @@
- // Add karma to attacker and increase its PK counter
- setPvpKills(getPvpKills() + 1);
- +
- + L2MultiFunctionZone.givereward(this);
- // Increase the kill count for a special hero aura
- heroConsecutiveKillCount++;
- Index: head-src/com/l2jfrozen/gameserver/model/ItemContainer.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/model/ItemContainer.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/model/ItemContainer.java (working copy)
- @@ -44,7 +44,7 @@
- {
- protected static final Logger _log = Logger.getLogger(ItemContainer.class.getName());
- - protected final List<L2ItemInstance> _items;
- + public final List<L2ItemInstance> _items;
- protected ItemContainer()
- {
- Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/Die.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/network/serverpackets/Die.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/network/serverpackets/Die.java (working copy)
- @@ -31,6 +31,7 @@
- import com.l2jfrozen.gameserver.model.entity.event.TvT;
- import com.l2jfrozen.gameserver.model.entity.siege.Castle;
- import com.l2jfrozen.gameserver.model.entity.siege.Fort;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- /**
- * sample 0b 952a1048 objectId 00000000 00000000 00000000 00000000 00000000 00000000 format dddddd rev 377 format
- @@ -64,7 +65,8 @@
- || (DM.is_started() && player._inEventDM)
- || (CTF.is_started() && player._inEventCTF)
- || player.isInFunEvent()
- - || player.isPendingRevive());
- + || player.isPendingRevive()
- + || (player.isInsideZone(L2Character.ZONE_MULTIFUNCTION) && L2MultiFunctionZone.revive));
- }
- _charObjId = cha.getObjectId();
- _fake = !cha.isDead();
- Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/SetPrivateStoreListBuy.java
- ===================================================================
- --- head-src/com/l2jfrozen/gameserver/network/clientpackets/SetPrivateStoreListBuy.java (revision 948)
- +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/SetPrivateStoreListBuy.java (working copy)
- @@ -19,8 +19,10 @@
- package com.l2jfrozen.gameserver.network.clientpackets;
- import com.l2jfrozen.Config;
- +import com.l2jfrozen.gameserver.model.L2Character;
- import com.l2jfrozen.gameserver.model.TradeList;
- import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
- +import com.l2jfrozen.gameserver.model.zone.type.L2MultiFunctionZone;
- import com.l2jfrozen.gameserver.network.SystemMessageId;
- import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
- import com.l2jfrozen.gameserver.network.serverpackets.PrivateStoreManageListBuy;
- @@ -95,6 +97,13 @@
- player.sendPacket(new PrivateStoreManageListBuy(player));
- return;
- }
- +
- + if (player.isInsideZone(L2Character.ZONE_MULTIFUNCTION) && !L2MultiFunctionZone.store_zone)
- + {
- + player.sendPacket(new PrivateStoreManageListBuy(player));
- + player.sendMessage("You cannot start store while inside Multifunction zone.");
- + return;
- + }
- TradeList tradeList = player.getBuyList();
- tradeList.clear();
- ### Eclipse Workspace Patch 1.0
- #P L2jFrozen_DataPack
- Index: data/zones/zone.xml
- ===================================================================
- --- data/zones/zone.xml (revision 948)
- +++ data/zones/zone.xml (working copy)
- @@ -4489,4 +4489,10 @@
- <node X="-85870" Y="-46233" />
- <node X="-86090" Y="-46061" />
- </zone>
- + <zone id="16385" name="Custom" type="MultiFunctionZone" shape="NPoly" minZ="-15000" maxZ="-10000">
- + <node X="130000" Y="160000" />
- + <node X="130000" Y="130000" />
- + <node X="160000" Y="130000" />
- + <node X="160000" Y="160000" />
- + </zone>
- </list>
- \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement