From 412894291fdd8cb5f86aef29962c1b12d0c2af3b Mon Sep 17 00:00:00 2001
From: Noe Caratini <caratinin@gmail.com>
Date: Mon, 18 Apr 2022 17:50:51 +0100
Subject: [PATCH] fix(quest): Fixed incorrect drop handling in CoinsOfMagic

Added mistakenly removed drop chance and limit for Kaldis Gold Dragon
---
 .../Q00336_CoinsOfMagic/Q00336_CoinsOfMagic.java  | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/l2jserver/datapack/quests/Q00336_CoinsOfMagic/Q00336_CoinsOfMagic.java b/src/main/java/com/l2jserver/datapack/quests/Q00336_CoinsOfMagic/Q00336_CoinsOfMagic.java
index 7f1000735b..ebc34f5cf4 100644
--- a/src/main/java/com/l2jserver/datapack/quests/Q00336_CoinsOfMagic/Q00336_CoinsOfMagic.java
+++ b/src/main/java/com/l2jserver/datapack/quests/Q00336_CoinsOfMagic/Q00336_CoinsOfMagic.java
@@ -21,6 +21,7 @@ package com.l2jserver.datapack.quests.Q00336_CoinsOfMagic;
 import com.l2jserver.gameserver.enums.audio.Sound;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.holders.QuestItemChanceHolder;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestDroplist;
 import com.l2jserver.gameserver.model.quest.QuestState;
@@ -127,10 +128,10 @@ public final class Q00336_CoinsOfMagic extends Quest {
 	private static final int Q_MANAKS_SILVER_DRYAD = 3497;
 	private static final int Q_NIAS_SILVER_FAIRY = 3498;
 	private static final int Q_COIN_DIAGRAM = 3811;
-	private static final int Q_KALDIS_GOLD_DRAGON = 3812;
 	private static final int Q_CC_MEMBERSHIP_1 = 3813;
 	private static final int Q_CC_MEMBERSHIP_2 = 3814;
 	private static final int Q_CC_MEMBERSHIP_3 = 3815;
+	private static final QuestItemChanceHolder Q_KALDIS_GOLD_DRAGON = new QuestItemChanceHolder(3812, 63.0, 1L);
 	// Droplist
 	private static final QuestDroplist DROPLIST = QuestDroplist.builder()
 			// Gold Wyvern
@@ -197,7 +198,7 @@ public final class Q00336_CoinsOfMagic extends Quest {
 		addStartNpc(WAREHOUSE_KEEPER_SORINT);
 		addTalkId(PANO, COLLOB, RAPIN, HAGGER, STAN, RESEARCHER_LORAIN, BLACKSMITH_DUNING, MAGISTER_PAGE, UNION_PRESIDENT_BERNARD, HEAD_BLACKSMITH_FERRIS);
 		addKillId(HEADLESS_KNIGHT, OEL_MAHUM, SHACKLE, ROYAL_CAVE_SERVANT, MALRUK_SUCCUBUS_TUREN, ROYAL_CAVE_SERVANT_HOLD, SHACKLE_HOLD, HEADLESS_KNIGHT_HOLD, H_MALRUK_SUCCUBUS_TUREN, BYFOOT, BYFOOT_SIGEL, TARLK_BUGBEAR_BOSS, OEL_MAHUM_WARRIOR, OEL_MAHUM_WITCH_DOCTOR, TIMAK_ORC, TIMAK_ORC_ARCHER, TIMAK_ORC_SOLDIER, TIMAK_ORC_SHAMAN, LAKIN, HARIT_LIZARDMAN_SHAMAN, HARIT_LIZARDM_MATRIARCH, HATAR_HANISHEE, DOOM_KNIGHT, PUNISHMENT_OF_UNDEAD, VANOR_SILENOS_SHAMAN, HUNGRY_CORPSE, NIHIL_INVADER, DARK_GUARD, BLOODY_GHOST, FLOAT_OF_GRAVE, DOOM_SERVANT, DOOM_ARCHER, KUKABURO, KUKABURO_A, KUKABURO_B, ANTELOPE, ANTELOPE_A, ANTELOPE_B, BANDERSNATCH, BANDERSNATCH_A, BANDERSNATCH_B, BUFFALO, BUFFALO_A, BUFFALO_B, BRILLIANT_CLAW, BRILLIANT_CLAW_1, BRILLIANT_WISDOM, BRILLIANT_VENGEANCE, BRILLIANT_VENGEANCE_1, BRILLIANT_ANGUISH, BRILLIANT_ANGUISH_1);
-		registerQuestItems(Q_COIN_DIAGRAM, Q_KALDIS_GOLD_DRAGON, Q_CC_MEMBERSHIP_1, Q_CC_MEMBERSHIP_2, Q_CC_MEMBERSHIP_3);
+		registerQuestItems(Q_COIN_DIAGRAM, Q_KALDIS_GOLD_DRAGON.getId(), Q_CC_MEMBERSHIP_1, Q_CC_MEMBERSHIP_2, Q_CC_MEMBERSHIP_3);
 	}
 	
 	@Override
@@ -257,13 +258,13 @@ public final class Q00336_CoinsOfMagic extends Quest {
 					return "30232-02.htm";
 				}
 				if (qs.isStarted()) {
-					if (!qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2))) {
+					if (!qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON.getId()) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2))) {
 						return "30232-06.html";
 					}
-					if (qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2))) {
+					if (qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON.getId()) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2))) {
 						qs.giveItems(Q_CC_MEMBERSHIP_3, 1);
 						qs.takeItems(Q_COIN_DIAGRAM, -1);
-						qs.takeItems(Q_KALDIS_GOLD_DRAGON, 1);
+						qs.takeItems(Q_KALDIS_GOLD_DRAGON.getId(), -1);
 						qs.setMemoState(3);
 						qs.setCond(4);
 						qs.showQuestionMark(336);
@@ -1340,7 +1341,7 @@ public final class Q00336_CoinsOfMagic extends Quest {
 	private QuestState getRandomPlayerFromPartyCoin(L2PcInstance player, L2Npc npc, int memoState) {
 		QuestState qs = getQuestState(player, false);
 		final List<QuestState> candidates = new ArrayList<>();
-		if ((qs != null) && qs.isStarted() && (qs.getMemoState() == memoState) && !qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON)) {
+		if ((qs != null) && qs.isStarted() && (qs.getMemoState() == memoState) && !qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON.getId())) {
 			candidates.add(qs);
 			candidates.add(qs);
 		}
@@ -1349,7 +1350,7 @@ public final class Q00336_CoinsOfMagic extends Quest {
 			player.getParty().getMembers().stream().forEach(pm -> {
 				
 				QuestState qss = getQuestState(pm, false);
-				if ((qss != null) && qss.isStarted() && (qss.getMemoState() == memoState) && !qss.hasQuestItems(Q_KALDIS_GOLD_DRAGON) && Util.checkIfInRange(1500, npc, pm, true)) {
+				if ((qss != null) && qss.isStarted() && (qss.getMemoState() == memoState) && !qss.hasQuestItems(Q_KALDIS_GOLD_DRAGON.getId()) && Util.checkIfInRange(1500, npc, pm, true)) {
 					candidates.add(qss);
 				}
 			});
-- 
GitLab