From 4778df0c9714e8534e877aae754f0c59263c4c8e Mon Sep 17 00:00:00 2001
From: Maneco2 <maneco_1@hotmail.com>
Date: Thu, 9 Dec 2021 17:55:59 -0300
Subject: [PATCH] Proper BonusCountUp effect

-- Update some items
-- Cleanup
---
 .../handlers/EffectMasterHandler.java         |  1 -
 .../effecthandlers/instant/BonusCountUp.java  | 44 +++++++----
 .../instant/GiveRecommendation.java           | 78 -------------------
 .../data/stats/items/17000-17099.xml          |  6 --
 .../data/stats/items/17100-17199.xml          | 30 -------
 .../data/stats/items/17200-17299.xml          | 24 ++++--
 .../data/stats/items/21800-21899.xml          | 10 ++-
 .../data/stats/skills/09100-09199.xml         | 24 +++++-
 src/main/resources/data/xsd/skills.xsd        |  2 +-
 9 files changed, 78 insertions(+), 141 deletions(-)
 delete mode 100644 src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/GiveRecommendation.java

diff --git a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
index 527e9433f1..ab1a10bd1c 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
@@ -161,7 +161,6 @@ public final class EffectMasterHandler {
 		FocusSouls.class,
 		FoodForPet.class,
 		GetAgro.class,
-		GiveRecommendation.class,
 		GiveSp.class,
 		Grow.class,
 		Harvesting.class,
diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/BonusCountUp.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/BonusCountUp.java
index 21eef1ab00..014652c812 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/BonusCountUp.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/BonusCountUp.java
@@ -23,33 +23,49 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
+import com.l2jserver.gameserver.network.SystemMessageId;
+import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo;
+import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
+import com.l2jserver.gameserver.network.serverpackets.UserInfo;
 
 /**
- * This effect instantly raises recommendations to give out by the specified count.
+ * This effect instantly raises recommendations to give out by the specified amount.
  * @author HorridoJoho
  * @since 2.6.3.0
  */
-public class BonusCountUp extends AbstractEffect {
-	private final int _count;
+public final class BonusCountUp extends AbstractEffect {
+	private final int _amount;
 	
-	protected BonusCountUp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
+	public BonusCountUp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
 		super(attachCond, applyCond, set, params);
-		_count = set.getInt("count", 0);
+		_amount = params.getInt("amount", 0);
+	}
+	
+	@Override
+	public boolean isInstant() {
+		return true;
 	}
 	
 	@Override
 	public void onStart(BuffInfo info) {
 		super.onStart(info);
 		
-		L2PcInstance player = info.getEffected().getActingPlayer();
-		if (player != null)
-		{
-			player.setRecomLeft(player.getRecomLeft() + _count);
+		final L2PcInstance player = info.getEffector().getActingPlayer();
+		if (player != null) {
+			int recomHaveIncrease = _amount;
+			if ((player.getRecomHave() + _amount) >= 255) {
+				recomHaveIncrease = 255 - player.getRecomHave();
+			}
+			
+			if (recomHaveIncrease > 0) {
+				player.setRecomHave(player.getRecomHave() + recomHaveIncrease);
+				
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_OBTAINED_S1_RECOMMENDATIONS);
+				sm.addInt(recomHaveIncrease);
+				player.sendPacket(sm);
+				player.sendPacket(new UserInfo(player));
+				player.sendPacket(new ExVoteSystemInfo(player));
+			}
 		}
 	}
-
-	@Override
-	public boolean isInstant() {
-		return true;
-	}
 }
diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/GiveRecommendation.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/GiveRecommendation.java
deleted file mode 100644
index 128bf423ed..0000000000
--- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/GiveRecommendation.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright © 2004-2021 L2J DataPack
- * 
- * This file is part of L2J DataPack.
- * 
- * L2J DataPack 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.
- * 
- * L2J DataPack 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.datapack.handlers.effecthandlers.instant;
-
-import com.l2jserver.gameserver.model.StatsSet;
-import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.conditions.Condition;
-import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.network.SystemMessageId;
-import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo;
-import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
-import com.l2jserver.gameserver.network.serverpackets.UserInfo;
-
-/**
- * Give Recommendation effect implementation.
- * @author NosBit
- */
-public final class GiveRecommendation extends AbstractEffect {
-	private final int _amount;
-	
-	public GiveRecommendation(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
-		super(attachCond, applyCond, set, params);
-		
-		_amount = params.getInt("amount", 0);
-		if (_amount == 0) {
-			_log.warning(getClass().getSimpleName() + ": amount parameter is missing or set to 0. id:" + set.getInt("id", -1));
-		}
-	}
-	
-	@Override
-	public boolean isInstant() {
-		return true;
-	}
-	
-	@Override
-	public void onStart(BuffInfo info) {
-		L2PcInstance target = info.getEffected() instanceof L2PcInstance ? (L2PcInstance) info.getEffected() : null;
-		if (target != null) {
-			int recommendationsGiven = _amount;
-			
-			if ((target.getRecomHave() + _amount) >= 255) {
-				recommendationsGiven = 255 - target.getRecomHave();
-			}
-			
-			if (recommendationsGiven > 0) {
-				target.setRecomHave(target.getRecomHave() + recommendationsGiven);
-				
-				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_OBTAINED_S1_RECOMMENDATIONS);
-				sm.addInt(recommendationsGiven);
-				target.sendPacket(sm);
-				target.sendPacket(new UserInfo(target));
-				target.sendPacket(new ExVoteSystemInfo(target));
-			} else {
-				L2PcInstance player = info.getEffector() instanceof L2PcInstance ? (L2PcInstance) info.getEffector() : null;
-				if (player != null) {
-					player.sendPacket(SystemMessageId.NOTHING_HAPPENED);
-				}
-			}
-		}
-	}
-}
diff --git a/src/main/resources/data/stats/items/17000-17099.xml b/src/main/resources/data/stats/items/17000-17099.xml
index c7b4fa341c..75199f2c10 100644
--- a/src/main/resources/data/stats/items/17000-17099.xml
+++ b/src/main/resources/data/stats/items/17000-17099.xml
@@ -1404,7 +1404,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9114-1" />
@@ -1418,7 +1417,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9115-1" />
@@ -1435,7 +1433,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9116-1" />
@@ -1452,7 +1449,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9117-1" />
@@ -1469,7 +1465,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9118-1" />
@@ -1486,7 +1481,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9119-1" />
diff --git a/src/main/resources/data/stats/items/17100-17199.xml b/src/main/resources/data/stats/items/17100-17199.xml
index 12d494ec8c..5ceea2b8ed 100644
--- a/src/main/resources/data/stats/items/17100-17199.xml
+++ b/src/main/resources/data/stats/items/17100-17199.xml
@@ -9,7 +9,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9120-1" />
@@ -26,7 +25,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9121-1" />
@@ -43,7 +41,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9122-1" />
@@ -60,7 +57,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9123-1" />
@@ -77,7 +73,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9124-1" />
@@ -94,7 +89,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9125-1" />
@@ -111,7 +105,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9126-1" />
@@ -128,7 +121,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9127-1" />
@@ -145,7 +137,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9128-1" />
@@ -162,7 +153,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9129-1" />
@@ -179,7 +169,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9130-1" />
@@ -196,7 +185,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9131-1" />
@@ -213,7 +201,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9132-1" />
@@ -230,7 +217,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9133-1" />
@@ -247,7 +233,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9134-1" />
@@ -264,7 +249,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9135-1" />
@@ -281,7 +265,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9136-1" />
@@ -298,7 +281,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9137-1" />
@@ -315,7 +297,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9138-1" />
@@ -332,7 +313,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9139-1" />
@@ -349,7 +329,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9140-1" />
@@ -366,7 +345,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9141-1" />
@@ -383,7 +361,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9142-1" />
@@ -400,7 +377,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9143-1" />
@@ -417,7 +393,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9144-1" />
@@ -434,7 +409,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9145-1" />
@@ -451,7 +425,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9146-1" />
@@ -468,7 +441,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9147-1" />
@@ -485,7 +457,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9148-1" />
@@ -502,7 +473,6 @@
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
 		<set name="is_sellable" val="false" />
-		<set name="is_depositable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="9149-1" />
diff --git a/src/main/resources/data/stats/items/17200-17299.xml b/src/main/resources/data/stats/items/17200-17299.xml
index aedbd66224..c5493a2cc3 100644
--- a/src/main/resources/data/stats/items/17200-17299.xml
+++ b/src/main/resources/data/stats/items/17200-17299.xml
@@ -154,12 +154,16 @@
 		<set name="item_skill" val="9172-1" />
 	</item>
 	<item id="17212" type="EtcItem" name="Nevit's Voice">
-		<!-- Description: Seashell containing Nevit's voice. Item that raises your evaluation value by 10. Cannot be exchanged or dropped. -->
 		<set name="icon" val="icon.etc_fish_scale_i01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="POTION" />
 		<set name="material" val="LIQUID" />
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
+		<set name="is_sellable" val="false" />
 		<set name="is_stackable" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="9173-1" />
 	</item>
 	<item id="17213" type="EtcItem" name="Solina's Biography">
 		<!-- Description: A biography containing the life story of Solina, a saintess of the Elmore-Aden kingdom. This text has been banned throughout the kingdom and is incredibly difficult to find and intact copy. Double click for more information. -->
@@ -336,16 +340,26 @@
 		<set name="is_stackable" val="true" />
 	</item>
 	<item id="17236" type="EtcItem" name="Gift of Victory Box">
-		<!-- Description: Gift in commemoration of the World Cup victory. Can obtain Nevit's Hourglass and Voice by using it. -->
 		<set name="icon" val="icon.etc_pi_gift_box_i04" />
-		<set name="material" val="STEEL" />
+		<set name="default_action" val="PEEL" />
+		<set name="material" val="FISH" />
+		<set name="is_tradable" val="false" />
+		<set name="is_droppable" val="false" />
+		<set name="is_sellable" val="false" />
 		<set name="is_stackable" val="true" />
+		<set name="handler" val="ExtractableItems" />
+		<set name="capsuled_items" val="17208,1,1,100;17212,1,1,100" />
 	</item>
 	<item id="17237" type="EtcItem" name="Luxury Gift of Victory Box">
-		<!-- Description: Gift in commemoration of the World Cup victory. Can obtain Nevit's Hourglass and Voice by using it. -->
 		<set name="icon" val="icon.etc_pi_gift_box_i04" />
-		<set name="material" val="STEEL" />
+		<set name="default_action" val="PEEL" />
+		<set name="material" val="FISH" />
+		<set name="is_tradable" val="false" />
+		<set name="is_droppable" val="false" />
+		<set name="is_sellable" val="false" />
 		<set name="is_stackable" val="true" />
+		<set name="handler" val="ExtractableItems" />
+		<set name="capsuled_items" val="17211,1,1,100;17212,1,1,100" />
 	</item>
 	<item id="17238" type="EtcItem" name="Olympiad Match 3 Participation Certificate">
 		<!-- Description: Document that proves participation in the Olympiad Match 3. Take this document to the Olympiad Operator to receive the minimum reward. -->
diff --git a/src/main/resources/data/stats/items/21800-21899.xml b/src/main/resources/data/stats/items/21800-21899.xml
index abcc4553bc..b9baf7ab87 100644
--- a/src/main/resources/data/stats/items/21800-21899.xml
+++ b/src/main/resources/data/stats/items/21800-21899.xml
@@ -1274,13 +1274,19 @@
 		<set name="is_freightable" val="true" />
 	</item>
 	<item id="21879" type="EtcItem" name="Nevit's Hourglass - 4 hour pack">
-		<!-- Description: Dimensional pack. Gift box containing 15 Nevit's Hourglasses - 4 hours. Cannot be exchanged or dropped. Can be shared between characters within an account through the Dimensional Merchant. Can be stored in a private warehouse. -->
 		<set name="icon" val="BranchSys.icon.br_four_leaf_clover_box_i00" />
-		<set name="material" val="STEEL" />
+		<set name="default_action" val="PEEL" />
+		<set name="immediate_effect" val="true" />
+		<set name="material" val="FISH" />
 		<set name="is_tradable" val="false" />
 		<set name="is_droppable" val="false" />
+		<set name="is_destroyable" val="false" />
+		<set name="is_sellable" val="false" />
 		<set name="is_stackable" val="true" />
 		<set name="is_freightable" val="true" />
+		<set name="is_premium" val="true" />
+		<set name="handler" val="ExtractableItems" />
+		<set name="capsuled_items" val="17283,15,15,100" />
 	</item>
 	<item id="21880" type="EtcItem" name="Pa'agrio's Warm Breeze - 4 hour">
 		<!-- Description: Dimensional item. When used, you can feel the vitality recovery herb's effect for 4 hour(s). But there will be no effect when the "Birthday Joy" effect is applied. Re-use time is 60 minutes. Cannot be exchanged or dropped. Can be shared between characters within an account through the Dimensional Merchant. Can be stored in a private warehouse. -->
diff --git a/src/main/resources/data/stats/skills/09100-09199.xml b/src/main/resources/data/stats/skills/09100-09199.xml
index 08b945ae3c..f8f54a1c45 100644
--- a/src/main/resources/data/stats/skills/09100-09199.xml
+++ b/src/main/resources/data/stats/skills/09100-09199.xml
@@ -331,6 +331,8 @@
 		<set name="targetType" val="NONE" />
 	</skill>
 	<skill id="9114" levels="1" name="Nevit's Voice">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="isMagic" val="2" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="itemConsumeId" val="17094" /> <!-- Nevit's Voice -->
@@ -338,9 +340,10 @@
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="2000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="GiveRecommendation">
+			<effect name="BonusCountUp">
 				<param amount="10" />
 			</effect>
 		</effects>
@@ -1903,9 +1906,22 @@
 		</effects>
 	</skill>
 	<skill id="9173" levels="1" name="Nevit's Voice">
-		<!-- none -->
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
+		<set name="isMagic" val="2" />
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="17212" /> <!-- Nevit's Voice -->
+		<set name="magicLvl" val="1" />
+		<set name="operateType" val="A1" />
+		<set name="reuseDelay" val="2000" />
+		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
+		<set name="reuseDelayLock" val="true" />
+		<set name="targetType" val="SELF" />
+		<effects>
+			<effect name="BonusCountUp">
+				<param amount="10" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="9174" levels="1" name="500,000 SP scroll">
 		<!-- High Five Skill -->
diff --git a/src/main/resources/data/xsd/skills.xsd b/src/main/resources/data/xsd/skills.xsd
index 143f5070ac..3aad6e0cb1 100644
--- a/src/main/resources/data/xsd/skills.xsd
+++ b/src/main/resources/data/xsd/skills.xsd
@@ -522,6 +522,7 @@
 					<xs:enumeration value="BlockBuffSlot" />
 					<xs:enumeration value="BlockResurrection" />
 					<xs:enumeration value="Bluff" />
+					<xs:enumeration value="BonusCountUp" />
 					<xs:enumeration value="BonusTimeLimitUp" />
 					<xs:enumeration value="Buff" />
 					<xs:enumeration value="CallParty" />
@@ -570,7 +571,6 @@
 					<xs:enumeration value="FocusSouls" />
 					<xs:enumeration value="FoodForPet" />
 					<xs:enumeration value="GetAgro" />
-					<xs:enumeration value="GiveRecommendation" />
 					<xs:enumeration value="GiveSp" />
 					<xs:enumeration value="Grow" />
 					<xs:enumeration value="Harvesting" />
-- 
GitLab