Additional RequestHuntPassReward adjustments.

Contributed by Fakee.
This commit is contained in:
MobiusDevelopment
2023-01-10 14:10:55 +00:00
parent 97c6d8a6cd
commit b1dfc544d0
7 changed files with 110 additions and 39 deletions

View File

@@ -14,4 +14,4 @@ PremiumItemCount = 1
# Please take caution when changing anything.
# Required Points per Window or step.
PointsForStep = 300000
PointsForStep = 3000

View File

@@ -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()));
}

View File

@@ -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())
{
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));

View File

@@ -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()));
}

View File

@@ -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())
{
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));

View File

@@ -1,7 +1,7 @@
# --------------------------------------------------------------------------
# HuntPass Settings
# --------------------------------------------------------------------------
EnabledHuntPass = False
EnabledHuntPass = True
# Period to end.
# Retail 1 month.

View File

@@ -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())
{
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));