From ff1096ca731c78fbb72c08f7a0ddca3d8df6ce46 Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Mon, 7 Jan 2013 16:38:35 +0000
Subject: [PATCH] BETA: Updating some quests related to epic bosses to reward
 party/command channel.

Reported by: Gladicek
---
 .../Q00904_DragonTrophyAntharas.java          | 35 ++++++++++++--
 .../Q00907_DragonTrophyValakas.java           | 35 ++++++++++++--
 .../Q10501_ZakenEmbroideredSoulCloak.java     | 46 +++++++++++--------
 .../Q10502_FreyaEmbroideredSoulCloak.java     | 46 +++++++++++--------
 .../Q10503_FrintezzaEmbroideredSoulCloak.java | 46 +++++++++++--------
 5 files changed, 145 insertions(+), 63 deletions(-)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
index 4a3661d3ff..13a7134d59 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
@@ -18,6 +18,7 @@
  */
 package quests.Q00904_DragonTrophyAntharas;
 
+import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
@@ -163,14 +164,42 @@ public class Q00904_DragonTrophyAntharas extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
-		final QuestState st = killer.getQuestState(getName());
-		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+		if (killer.isInParty())
 		{
-			st.setCond(2, true);
+			if (killer.getParty().isInCommandChannel())
+			{
+				for (L2Party party : killer.getParty().getCommandChannel().getPartys())
+				{
+					for (L2PcInstance player : party.getMembers())
+					{
+						rewardPlayer(player, npc);
+					}
+				}
+			}
+			else
+			{
+				for (L2PcInstance player : killer.getParty().getMembers())
+				{
+					rewardPlayer(player, npc);
+				}
+			}
+		}
+		else
+		{
+			rewardPlayer(killer, npc);
 		}
 		return super.onKill(npc, killer, isPet);
 	}
 	
+	private final void rewardPlayer(L2PcInstance player, L2Npc npc)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+		{
+			st.setCond(2, true);
+		}
+	}
+	
 	public static void main(String[] args)
 	{
 		new Q00904_DragonTrophyAntharas(904, Q00904_DragonTrophyAntharas.class.getSimpleName(), "Dragon Trophy - Antharas");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
index 60a295d17e..68edcd81c4 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
@@ -18,6 +18,7 @@
  */
 package quests.Q00907_DragonTrophyValakas;
 
+import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
@@ -160,14 +161,42 @@ public class Q00907_DragonTrophyValakas extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
-		final QuestState st = killer.getQuestState(getName());
-		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+		if (killer.isInParty())
 		{
-			st.setCond(2, true);
+			if (killer.getParty().isInCommandChannel())
+			{
+				for (L2Party party : killer.getParty().getCommandChannel().getPartys())
+				{
+					for (L2PcInstance player : party.getMembers())
+					{
+						rewardPlayer(player, npc);
+					}
+				}
+			}
+			else
+			{
+				for (L2PcInstance player : killer.getParty().getMembers())
+				{
+					rewardPlayer(player, npc);
+				}
+			}
+		}
+		else
+		{
+			rewardPlayer(killer, npc);
 		}
 		return super.onKill(npc, killer, isPet);
 	}
 	
+	private final void rewardPlayer(L2PcInstance player, L2Npc npc)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+		{
+			st.setCond(2, true);
+		}
+	}
+	
 	public static void main(String[] args)
 	{
 		new Q00907_DragonTrophyValakas(907, Q00907_DragonTrophyValakas.class.getSimpleName(), "Dragon Trophy - Valakas");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
index 8f67bcb230..0aab7e03c6 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
@@ -18,6 +18,7 @@
  */
 package quests.Q10501_ZakenEmbroideredSoulCloak;
 
+import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
@@ -115,41 +116,48 @@ public class Q10501_ZakenEmbroideredSoulCloak extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
-		QuestState st;
 		if (killer.isInParty())
 		{
-			for (L2PcInstance player : killer.getParty().getMembers())
+			if (killer.getParty().isInCommandChannel())
 			{
-				st = player.getQuestState(getName());
-				if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+				for (L2Party party : killer.getParty().getCommandChannel().getPartys())
 				{
-					st.giveItems(ZAKENS_SOUL_FRAGMENT, 1);
-					st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-					
-					if (st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+					for (L2PcInstance player : party.getMembers())
 					{
-						st.setCond(2, true);
+						rewardPlayer(player, npc);
 					}
 				}
 			}
-		}
-		else
-		{
-			st = killer.getQuestState(getName());
-			if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+			else
 			{
-				st.giveItems(ZAKENS_SOUL_FRAGMENT, 1);
-				st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-				
-				if (st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+				for (L2PcInstance player : killer.getParty().getMembers())
 				{
-					st.setCond(2, true);
+					rewardPlayer(player, npc);
 				}
 			}
 		}
+		else
+		{
+			rewardPlayer(killer, npc);
+		}
 		return super.onKill(npc, killer, isPet);
 	}
 	
+	private final void rewardPlayer(L2PcInstance player, L2Npc npc)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+		{
+			st.giveItems(ZAKENS_SOUL_FRAGMENT, 1);
+			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+			
+			if (st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+			{
+				st.setCond(2, true);
+			}
+		}
+	}
+	
 	public static void main(String[] args)
 	{
 		new Q10501_ZakenEmbroideredSoulCloak(10501, Q10501_ZakenEmbroideredSoulCloak.class.getSimpleName(), "Zaken Embroidered Soul Cloak");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
index 1f5ddc9173..5f1a41dcb2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
@@ -18,6 +18,7 @@
  */
 package quests.Q10502_FreyaEmbroideredSoulCloak;
 
+import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
@@ -115,41 +116,48 @@ public class Q10502_FreyaEmbroideredSoulCloak extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
-		QuestState st;
 		if (killer.isInParty())
 		{
-			for (L2PcInstance player : killer.getParty().getMembers())
+			if (killer.getParty().isInCommandChannel())
 			{
-				st = player.getQuestState(getName());
-				if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+				for (L2Party party : killer.getParty().getCommandChannel().getPartys())
 				{
-					st.giveItems(FREYAS_SOUL_FRAGMENT, 1);
-					st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-					
-					if (st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+					for (L2PcInstance player : party.getMembers())
 					{
-						st.setCond(2, true);
+						rewardPlayer(player, npc);
 					}
 				}
 			}
-		}
-		else
-		{
-			st = killer.getQuestState(getName());
-			if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+			else
 			{
-				st.giveItems(FREYAS_SOUL_FRAGMENT, 1);
-				st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-				
-				if (st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+				for (L2PcInstance player : killer.getParty().getMembers())
 				{
-					st.setCond(2, true);
+					rewardPlayer(player, npc);
 				}
 			}
 		}
+		else
+		{
+			rewardPlayer(killer, npc);
+		}
 		return super.onKill(npc, killer, isPet);
 	}
 	
+	private final void rewardPlayer(L2PcInstance player, L2Npc npc)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+		{
+			st.giveItems(FREYAS_SOUL_FRAGMENT, 1);
+			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+			
+			if (st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+			{
+				st.setCond(2, true);
+			}
+		}
+	}
+	
 	public static void main(String[] args)
 	{
 		new Q10502_FreyaEmbroideredSoulCloak(10502, Q10502_FreyaEmbroideredSoulCloak.class.getSimpleName(), "Freya Embroidered Soul Cloak");
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
index e30f96f884..be54cf235f 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
@@ -18,6 +18,7 @@
  */
 package quests.Q10503_FrintezzaEmbroideredSoulCloak;
 
+import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
@@ -115,41 +116,48 @@ public class Q10503_FrintezzaEmbroideredSoulCloak extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
-		QuestState st;
 		if (killer.isInParty())
 		{
-			for (L2PcInstance player : killer.getParty().getMembers())
+			if (killer.getParty().isInCommandChannel())
 			{
-				st = player.getQuestState(getName());
-				if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+				for (L2Party party : killer.getParty().getCommandChannel().getPartys())
 				{
-					st.giveItems(FRINTEZZAS_SOUL_FRAGMENT, 1);
-					st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-					
-					if (st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+					for (L2PcInstance player : party.getMembers())
 					{
-						st.setCond(2, true);
+						rewardPlayer(player, npc);
 					}
 				}
 			}
-		}
-		else
-		{
-			st = killer.getQuestState(getName());
-			if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+			else
 			{
-				st.giveItems(FRINTEZZAS_SOUL_FRAGMENT, 1);
-				st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-				
-				if (st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+				for (L2PcInstance player : killer.getParty().getMembers())
 				{
-					st.setCond(2, true);
+					rewardPlayer(player, npc);
 				}
 			}
 		}
+		else
+		{
+			rewardPlayer(killer, npc);
+		}
 		return super.onKill(npc, killer, isPet);
 	}
 	
+	private final void rewardPlayer(L2PcInstance player, L2Npc npc)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+		{
+			st.giveItems(FRINTEZZAS_SOUL_FRAGMENT, 1);
+			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+			
+			if (st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+			{
+				st.setCond(2, true);
+			}
+		}
+	}
+	
 	public static void main(String[] args)
 	{
 		new Q10503_FrintezzaEmbroideredSoulCloak(10503, Q10503_FrintezzaEmbroideredSoulCloak.class.getSimpleName(), "Frintezza Embroidered Soul Cloak");
-- 
GitLab