Jump to content

Share] Clan War Zone (Freya).


La2

Recommended Posts

We Present clan War Zone

I made Adapt of Clan War Zone ct2.5(freya) chronicle and i add new functions ,which was share by `Romeo.

http://maxcheaters.com/forum/index.php?topic=257633.0

 

Index: dist/game/config/l2jmods.properties
===================================================================
--- dist/game/config/l2jmods.properties	(revision 5761)
+++ dist/game/config/l2jmods.properties	(working copy)
@@ -426,3 +426,20 @@
# will be 1+2=3. Use 0 or negative value for unlimited number of connections.
# Default: 127.0.0.1,0 (no limits from localhost)
DualboxCheckWhitelist = 127.0.0.1,0
+
+# --------------------------------------------------------------
+# Clan War Zone System                                         -
+# --------------------------------------------------------------
+# Custom Item Reward
+AllowClanwarSystem = False
+# Item id
+ClanRewardItem = 57
+# Item A-beep-t
+ClanRewardA-beep-t = 1
+# Custom Clan Rep. Add
+AllowClanwarRepSystem = False
+# Rep. A-beep-t
+ClanAddRepAm-beep-t = 50
+# --------------------------------------------------------------
+# Clan War Zone System End                                     -
+# --------------------------------------------------------------
\ No newline at end of file
Index: java/com/l2jserver/Config.java
===================================================================
--- java/com/l2jserver/Config.java	(revision 5761)
+++ java/com/l2jserver/Config.java	(working copy)
@@ -725,6 +725,11 @@
	public static int L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP;
	public static int L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP;
	public static TIntIntHashMap L2JMOD_DUALBOX_CHECK_WHITELIST;
+	public static boolean ALLOW_CLANWAR_REWARD;
+	public static int CLANWAR_REWARD_ITEM;
+	public static int CLANWAR_REWARD_COUNT;
+	public static boolean ALLOW_CLANWAR_REP;
+	public static int CLANWAR_ADD_REP;

	//--------------------------------------------------
	// NPC Settings
@@ -2502,6 +2507,11 @@
							}
						}
					}
+					ALLOW_CLANWAR_REWARD = Boolean.parseBoolean(L2JModSettings.getProperty("AllowClanwarSystem", "False"));
+					CLANWAR_REWARD_ITEM = Integer.parseInt(L2JModSettings.getProperty("ClanRewardItem", "57"));
+					CLANWAR_REWARD_COUNT = Integer.parseInt(L2JModSettings.getProperty("ClanRewardA-beep-t", "1"));
+					ALLOW_CLANWAR_REP = Boolean.parseBoolean(L2JModSettings.getProperty("AllowClanwarRepSystem", "False"));
+					CLANWAR_ADD_REP = Integer.parseInt(L2JModSettings.getProperty("ClanAddRepAm-beep-t", "1"));
				}
				catch (Exception e)
				{
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(revision 5761)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -170,6 +170,7 @@
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
import com.l2jserver.gameserver.model.zone.type.L2BossZone;
+import com.l2jserver.gameserver.model.zone.type.L2ClanWarZone;
import com.l2jserver.gameserver.network.L2GameClient;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.communityserver.CommunityServerThread;
@@ -5683,7 +5684,25 @@
		{
			// Add karma to attacker and increase its PK counter
			setPvpKills(getPvpKills() + 1);
-			
+			L2PcInstance targetPlayer = target.getActingPlayer();
+			if(isInsideZone(ZONE_CLANWAR) & targetPlayer.isInsideZone(ZONE_CLANWAR)
+			&& (getClanId() != targetPlayer.getClanId())
+			&& getClan() != null
+			&& targetPlayer.getClan() != null)
+			{
+				if(Config.ALLOW_CLANWAR_REP)
+				{
+				getClan().addReputationScore(Config.CLANWAR_ADD_REP, true);
+				}	
+				sendMessage("You killed someone from an enemy clan. Your clan gets rewarded with 50 rep points!");
+            if(Config.ALLOW_CLANWAR_REWARD)
+	            		{
+            				// Item Reward system
+            				addItem("Loot", Config.CLANWAR_REWARD_ITEM, Config.CLANWAR_REWARD_COUNT, this, true);
+            				sendMessage("You will be rewarded for someone from en enemy clan member kill!");
+		            	}
+			}
+
			// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
			sendPacket(new UserInfo(this));
			sendPacket(new ExBrExtraUserInfo(this));
Index: java/com/l2jserver/gameserver/model/actor/L2Character.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/L2Character.java	(revision 5761)
+++ java/com/l2jserver/gameserver/model/actor/L2Character.java	(working copy)
@@ -205,8 +205,9 @@
	public static final byte ZONE_ALTERED = 19;
	public static final byte ZONE_NOBOOKMARK = 20;
	public static final byte ZONE_NOITEMDROP = 21;
+	public static final byte ZONE_CLANWAR = 22;

-	private final byte[] _zones = new byte[22];
+	private final byte[] _zones = new byte[23];
	protected byte _zoneValidateCounter = 4;

	private L2Character _debugger = null;
Index: java/com/l2jserver/gameserver/model/zone/type/L2ClanWarZone.java
===================================================================
--- java/com/l2jserver/gameserver/model/zone/type/L2ClanWarZone.java	(revision 0)
+++ java/com/l2jserver/gameserver/model/zone/type/L2ClanWarZone.java	(working copy)
@@ -0,0 +1,96 @@
+/*
+ * 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.zone.type;
+
+import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.zone.L2ZoneType;
+import com.l2jserver.gameserver.model.L2Skill;
+import com.l2jserver.gameserver.datatables.SkillTable;
+import com.l2jserver.gameserver.datatables.MapRegionTable;
+
+/**
+ *
+ * A Clan War Zone
+ *
+ */
+public class L2ClanWarZone extends L2ZoneType
+{
+	public L2ClanWarZone(int id)
+	{
+		super(id);
+	}
+	
+	L2Skill noblesse = SkillTable.getInstance().getInfo(1323, 1);
+	
+	@Override
+	protected void onEnter(L2Character character)
+	{
+       if (character instanceof L2PcInstance)
+       {
+		   L2PcInstance activeChar = ((L2PcInstance) character);
+    	   if(((L2PcInstance)character).getClan() != null)
+    	   {		   
+		   		character.setInsideZone(L2Character.ZONE_CLANWAR, true);
+	    	   ((L2PcInstance)character).sendMessage("You have entered a Clan War Zone. Prepare for fight.");
+				noblesse.getEffects(activeChar, activeChar);
+				if(activeChar.getPvpFlag() == 0)
+				activeChar.updatePvPFlag(1);
+    	   }
+		
+    	   else
+    	   {
+    		   ((L2PcInstance) character).sendMessage("This is strict area for clan members ONLY. You will be teleported at the nearest town.");
+				((L2PcInstance) character).teleToLocation(MapRegionTable.TeleportWhereType.Town);
+    	   }
+		}
+	}
+	
+	@Override
+	protected void onExit(L2Character character)
+	{
+		character.setInsideZone(L2Character.ZONE_CLANWAR, false);
+		if (character instanceof L2PcInstance)
+		{
+			L2PcInstance activeChar = ((L2PcInstance) character);
+			activeChar.stopPvPFlag();
+		}
+	}
+	
+	@Override
+	public void onDieInside(L2Character character)
+	{
+	}
+	
+	@Override
+	public void onReviveInside(L2Character character)
+	{
+		onEnter(character);
+		if (character instanceof L2PcInstance)
+		{
+		L2PcInstance activeChar = ((L2PcInstance) character);
+		noblesse.getEffects(activeChar, activeChar);
+		heal(activeChar);
+		}
+	}
+
+	static void heal(L2PcInstance activeChar)
+	{
+		activeChar.setCurrentHp(activeChar.getMaxHp());
+		activeChar.setCurrentCp(activeChar.getMaxCp());
+		activeChar.setCurrentMp(activeChar.getMaxMp());
+	}
+	
+}
\ No newline at end of file

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...