diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Sailren/Sailren.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Sailren/Sailren.java
index 8aec88bc9fbecb964c2a65fee02bdbb22ac4acc0..f0d34c09f88545b195e3f9824d6bf6efd9f1abd6 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Sailren/Sailren.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Sailren/Sailren.java
@@ -120,7 +120,7 @@ public final class Sailren extends AbstractNpcAI
 				}
 				else
 				{
-					takeItems(player, 1, GAZKH);
+					takeItems(player, GAZKH, 1);
 					STATUS = Status.IN_FIGHT;
 					_lastAttack = System.currentTimeMillis();
 					for (L2PcInstance member : player.getParty().getMembers())
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java
index 5b6e7c8333b55e586f61684cc7f88d1c0e172345..6bcbdb0676fd23720b20eb8c867551b89d4d250a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Pailaka/PailakaSongOfIceAndFire.java
@@ -190,8 +190,6 @@ public final class PailakaSongOfIceAndFire extends Quest
 		13293,
 		13129
 	};
-	/** Flag for "see creature". */
-	private boolean _seenCreature = false;
 	
 	private PailakaSongOfIceAndFire()
 	{
@@ -534,9 +532,9 @@ public final class PailakaSongOfIceAndFire extends Quest
 	@Override
 	public String onSeeCreature(L2Npc npc, L2Character creature, boolean isSummon)
 	{
-		if (!_seenCreature && creature.isPlayer())
+		if (npc.isScriptValue(0) && creature.isPlayer())
 		{
-			_seenCreature = true;
+			npc.setScriptValue(1);
 			startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer());
 		}
 		return super.onSeeCreature(npc, creature, isSummon);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
index d3b5ea77c386230393725573d4d39ea47d5c2b20..055f9d600f4187eda7816d97030f599691329f35 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
@@ -25,7 +25,7 @@ import java.util.Map;
 
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.holders.ItemHolder;
+import com.l2jserver.gameserver.model.holders.QuestItemHolder;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.quest.State;
@@ -55,19 +55,19 @@ public final class Q00325_GrimCollector extends Quest
 	// Misc
 	private static final int MIN_LEVEL = 15;
 	// Monsters
-	private static final Map<Integer, List<ItemHolder>> MONSTER_DROPS = new HashMap<>();
+	private static final Map<Integer, List<QuestItemHolder>> MONSTER_DROPS = new HashMap<>();
 	static
 	{
-		MONSTER_DROPS.put(20026, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 30), new ItemHolder(ZOMBIE_HEART, 50), new ItemHolder(ZOMBIE_LIVER, 75)));
-		MONSTER_DROPS.put(20029, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 30), new ItemHolder(ZOMBIE_HEART, 52), new ItemHolder(ZOMBIE_LIVER, 75)));
-		MONSTER_DROPS.put(20035, Arrays.asList(new ItemHolder(SKULL, 5), new ItemHolder(RIB_BONE, 15), new ItemHolder(SPINE, 29), new ItemHolder(THIGH_BONE, 79)));
-		MONSTER_DROPS.put(20042, Arrays.asList(new ItemHolder(SKULL, 6), new ItemHolder(RIB_BONE, 19), new ItemHolder(ARM_BONE, 69), new ItemHolder(THIGH_BONE, 86)));
-		MONSTER_DROPS.put(20045, Arrays.asList(new ItemHolder(SKULL, 9), new ItemHolder(SPINE, 59), new ItemHolder(ARM_BONE, 77), new ItemHolder(THIGH_BONE, 97)));
-		MONSTER_DROPS.put(20051, Arrays.asList(new ItemHolder(SKULL, 9), new ItemHolder(RIB_BONE, 59), new ItemHolder(SPINE, 79), new ItemHolder(ARM_BONE, 100)));
-		MONSTER_DROPS.put(20457, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 40), new ItemHolder(ZOMBIE_HEART, 60), new ItemHolder(ZOMBIE_LIVER, 80)));
-		MONSTER_DROPS.put(20458, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 40), new ItemHolder(ZOMBIE_HEART, 70), new ItemHolder(ZOMBIE_LIVER, 100)));
-		MONSTER_DROPS.put(20514, Arrays.asList(new ItemHolder(SKULL, 6), new ItemHolder(RIB_BONE, 21), new ItemHolder(SPINE, 30), new ItemHolder(ARM_BONE, 31), new ItemHolder(THIGH_BONE, 64)));
-		MONSTER_DROPS.put(20515, Arrays.asList(new ItemHolder(SKULL, 5), new ItemHolder(RIB_BONE, 20), new ItemHolder(SPINE, 31), new ItemHolder(ARM_BONE, 33), new ItemHolder(THIGH_BONE, 69)));
+		MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75)));
+		MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75)));
+		MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79)));
+		MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86)));
+		MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97)));
+		MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100)));
+		MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80)));
+		MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100)));
+		MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64)));
+		MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69)));
 	}
 	
 	private Q00325_GrimCollector(int questId, String name, String descr)
@@ -203,9 +203,9 @@ public final class Q00325_GrimCollector extends Quest
 		}
 		
 		final int rnd = getRandom(100);
-		for (ItemHolder drop : MONSTER_DROPS.get(npc.getId()))
+		for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId()))
 		{
-			if (rnd < drop.getCount())
+			if (rnd < drop.getChance())
 			{
 				qs.giveItemRandomly(npc, drop.getId(), 1, 0, 1.0, true);
 				break;