diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/config/HuntPass.ini b/L2J_Mobius_10.3_MasterClass/dist/game/config/HuntPass.ini index 63e6e5a7b3..d11eec0a03 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/config/HuntPass.ini +++ b/L2J_Mobius_10.3_MasterClass/dist/game/config/HuntPass.ini @@ -14,4 +14,4 @@ PremiumItemCount = 1 # Please take caution when changing anything. # Required Points per Window or step. -PointsForStep = 300000 +PointsForStep = 3000 diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/HuntPass.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/HuntPass.java index 8b906714a0..b7270902c3 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/HuntPass.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/model/HuntPass.java @@ -228,11 +228,6 @@ public class HuntPass public void setRewardStep(int step) { - if (_isPremium && (_premiumRewardStep <= _rewardStep)) - { - return; - } - _rewardStep = Math.max(0, Math.min(step, HuntPassData.getInstance().getRewardsCount())); } diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java index f86c58f759..399477086e 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java @@ -64,13 +64,34 @@ public class RequestHuntPassReward implements ClientPacket final HuntPass huntPass = player.getHuntPass(); final int rewardIndex = huntPass.getRewardStep(); - if (rewardIndex >= HuntPassData.getInstance().getRewardsCount()) + final int premiumRewardIndex = huntPass.getPremiumRewardStep(); + if ((rewardIndex >= HuntPassData.getInstance().getRewardsCount()) && (premiumRewardIndex >= HuntPassData.getInstance().getPremiumRewardsCount())) { player.removeRequest(RewardRequest.class); return; } - final ItemHolder reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + ItemHolder reward = null; + if (!huntPass.isPremium()) + { + reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + } + else + { + if (rewardIndex < HuntPassData.getInstance().getRewardsCount()) + { + reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + } + else if (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount()) + { + reward = HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex); + } + } + if (reward == null) + { + return; + } + final ItemTemplate itemTemplate = ItemTable.getInstance().getTemplate(reward.getId()); final long weight = itemTemplate.getWeight() * reward.getCount(); final long slots = itemTemplate.isStackable() ? 1 : reward.getCount(); @@ -82,20 +103,26 @@ public class RequestHuntPassReward implements ClientPacket } // Normal reward. - final int premiumRewardIndex = huntPass.getPremiumRewardStep(); - if (!huntPass.isPremium() || ((premiumRewardIndex >= rewardIndex) && (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount()))) + if (!huntPass.isPremium() && (rewardIndex <= HuntPassData.getInstance().getRewardsCount())) { rewardItem(player, HuntPassData.getInstance().getRewards().get(rewardIndex)); + huntPass.setRewardStep(rewardIndex + 1); } // Premium reward. - if (huntPass.isPremium() && (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount())) + else if (huntPass.isPremium()) { - rewardItem(player, HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex)); - huntPass.setPremiumRewardStep(premiumRewardIndex + 1); + if ((rewardIndex < HuntPassData.getInstance().getRewardsCount()) && (rewardIndex <= premiumRewardIndex)) + { + rewardItem(player, HuntPassData.getInstance().getRewards().get(rewardIndex)); + huntPass.setRewardStep(rewardIndex + 1); + } + else if ((premiumRewardIndex < rewardIndex) && (premiumRewardIndex <= HuntPassData.getInstance().getPremiumRewardsCount())) + { + rewardItem(player, HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex)); + huntPass.setPremiumRewardStep(premiumRewardIndex + 1); + } } - - huntPass.setRewardStep(rewardIndex + 1); huntPass.setRewardAlert(false); player.sendPacket(new HuntPassInfo(player, _huntPassType)); diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/HuntPass.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/HuntPass.java index 6b8221ac4d..7157942089 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/HuntPass.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/HuntPass.java @@ -228,11 +228,6 @@ public class HuntPass public void setRewardStep(int step) { - if (_isPremium && (_premiumRewardStep <= _rewardStep)) - { - return; - } - _rewardStep = Math.max(0, Math.min(step, HuntPassData.getInstance().getRewardsCount())); } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java index fae058d508..cead479be1 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java @@ -64,13 +64,34 @@ public class RequestHuntPassReward implements ClientPacket final HuntPass huntPass = player.getHuntPass(); final int rewardIndex = huntPass.getRewardStep(); - if (rewardIndex >= HuntPassData.getInstance().getRewardsCount()) + final int premiumRewardIndex = huntPass.getPremiumRewardStep(); + if ((rewardIndex >= HuntPassData.getInstance().getRewardsCount()) && (premiumRewardIndex >= HuntPassData.getInstance().getPremiumRewardsCount())) { player.removeRequest(RewardRequest.class); return; } - final ItemHolder reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + ItemHolder reward = null; + if (!huntPass.isPremium()) + { + reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + } + else + { + if (rewardIndex < HuntPassData.getInstance().getRewardsCount()) + { + reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + } + else if (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount()) + { + reward = HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex); + } + } + if (reward == null) + { + return; + } + final ItemTemplate itemTemplate = ItemTable.getInstance().getTemplate(reward.getId()); final long weight = itemTemplate.getWeight() * reward.getCount(); final long slots = itemTemplate.isStackable() ? 1 : reward.getCount(); @@ -82,20 +103,26 @@ public class RequestHuntPassReward implements ClientPacket } // Normal reward. - final int premiumRewardIndex = huntPass.getPremiumRewardStep(); - if (!huntPass.isPremium() || ((premiumRewardIndex >= rewardIndex) && (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount()))) + if (!huntPass.isPremium() && (rewardIndex <= HuntPassData.getInstance().getRewardsCount())) { rewardItem(player, HuntPassData.getInstance().getRewards().get(rewardIndex)); + huntPass.setRewardStep(rewardIndex + 1); } // Premium reward. - if (huntPass.isPremium() && (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount())) + else if (huntPass.isPremium()) { - rewardItem(player, HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex)); - huntPass.setPremiumRewardStep(premiumRewardIndex + 1); + if ((rewardIndex < HuntPassData.getInstance().getRewardsCount()) && (rewardIndex <= premiumRewardIndex)) + { + rewardItem(player, HuntPassData.getInstance().getRewards().get(rewardIndex)); + huntPass.setRewardStep(rewardIndex + 1); + } + else if ((premiumRewardIndex < rewardIndex) && (premiumRewardIndex <= HuntPassData.getInstance().getPremiumRewardsCount())) + { + rewardItem(player, HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex)); + huntPass.setPremiumRewardStep(premiumRewardIndex + 1); + } } - - huntPass.setRewardStep(rewardIndex + 1); huntPass.setRewardAlert(false); player.sendPacket(new HuntPassInfo(player, _huntPassType)); diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/config/HuntPass.ini b/L2J_Mobius_Essence_6.3_Crusader/dist/game/config/HuntPass.ini index ee8ba9d437..167aee60a3 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/dist/game/config/HuntPass.ini +++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/config/HuntPass.ini @@ -1,7 +1,7 @@ # -------------------------------------------------------------------------- # HuntPass Settings # -------------------------------------------------------------------------- -EnabledHuntPass = False +EnabledHuntPass = True # Period to end. # Retail 1 month. diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java index b41c32ca38..984ef8bb3a 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java +++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/huntpass/RequestHuntPassReward.java @@ -64,13 +64,34 @@ public class RequestHuntPassReward implements ClientPacket final HuntPass huntPass = player.getHuntPass(); final int rewardIndex = huntPass.getRewardStep(); - if (rewardIndex >= HuntPassData.getInstance().getRewardsCount()) + final int premiumRewardIndex = huntPass.getPremiumRewardStep(); + if ((rewardIndex >= HuntPassData.getInstance().getRewardsCount()) && (premiumRewardIndex >= HuntPassData.getInstance().getPremiumRewardsCount())) { player.removeRequest(RewardRequest.class); return; } - final ItemHolder reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + ItemHolder reward = null; + if (!huntPass.isPremium()) + { + reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + } + else + { + if (rewardIndex < HuntPassData.getInstance().getRewardsCount()) + { + reward = HuntPassData.getInstance().getRewards().get(rewardIndex); + } + else if (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount()) + { + reward = HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex); + } + } + if (reward == null) + { + return; + } + final ItemTemplate itemTemplate = ItemTable.getInstance().getTemplate(reward.getId()); final long weight = itemTemplate.getWeight() * reward.getCount(); final long slots = itemTemplate.isStackable() ? 1 : reward.getCount(); @@ -82,20 +103,26 @@ public class RequestHuntPassReward implements ClientPacket } // Normal reward. - final int premiumRewardIndex = huntPass.getPremiumRewardStep(); - if (!huntPass.isPremium() || ((premiumRewardIndex >= rewardIndex) && (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount()))) + if (!huntPass.isPremium() && (rewardIndex <= HuntPassData.getInstance().getRewardsCount())) { rewardItem(player, HuntPassData.getInstance().getRewards().get(rewardIndex)); + huntPass.setRewardStep(rewardIndex + 1); } // Premium reward. - if (huntPass.isPremium() && (premiumRewardIndex < HuntPassData.getInstance().getPremiumRewardsCount())) + else if (huntPass.isPremium()) { - rewardItem(player, HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex)); - huntPass.setPremiumRewardStep(premiumRewardIndex + 1); + if ((rewardIndex < HuntPassData.getInstance().getRewardsCount()) && (rewardIndex <= premiumRewardIndex)) + { + rewardItem(player, HuntPassData.getInstance().getRewards().get(rewardIndex)); + huntPass.setRewardStep(rewardIndex + 1); + } + else if ((premiumRewardIndex < rewardIndex) && (premiumRewardIndex <= HuntPassData.getInstance().getPremiumRewardsCount())) + { + rewardItem(player, HuntPassData.getInstance().getPremiumRewards().get(premiumRewardIndex)); + huntPass.setPremiumRewardStep(premiumRewardIndex + 1); + } } - - huntPass.setRewardStep(rewardIndex + 1); huntPass.setRewardAlert(false); player.sendPacket(new HuntPassInfo(player, _huntPassType));