Partially reverted latest timed zone changes.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>43200</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>40</minLevel>
|
||||
@@ -15,6 +16,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>21600</maxAddedTime> <!-- 6 hours -->
|
||||
<remainRefillTime>18000</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>76</minLevel>
|
||||
@@ -25,6 +27,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>7200</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>60</minLevel>
|
||||
@@ -35,6 +38,7 @@
|
||||
<initialTime>25200</initialTime> <!-- 7 hours -->
|
||||
<resetDelay>604800</resetDelay> <!-- 7 days -->
|
||||
<maxAddedTime>151200</maxAddedTime> <!-- 42 hours -->
|
||||
<remainRefillTime>126000</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>80</minLevel>
|
||||
@@ -46,6 +50,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>3600</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>40</minLevel>
|
||||
@@ -57,6 +62,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>3600</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>50</minLevel>
|
||||
@@ -68,6 +74,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>3600</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>60</minLevel>
|
||||
@@ -79,6 +86,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>3600</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>70</minLevel>
|
||||
@@ -90,6 +98,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>3600</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>80</minLevel>
|
||||
@@ -101,6 +110,7 @@
|
||||
<initialTime>3600</initialTime> <!-- 1 hour -->
|
||||
<resetDelay>36000</resetDelay> <!-- 10 hours -->
|
||||
<maxAddedTime>46800</maxAddedTime> <!-- 13 hours -->
|
||||
<remainRefillTime>3600</remainRefillTime>
|
||||
<refillTimeMax>3600</refillTimeMax>
|
||||
<entryFee>10000</entryFee>
|
||||
<minLevel>85</minLevel>
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.huntingzones.TimedHuntingZoneChargeResult;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.huntingzones.TimedHuntingZoneEnter;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
@@ -63,7 +64,7 @@ public class AddHuntingTime extends AbstractEffect
|
||||
}
|
||||
|
||||
final long currentTime = System.currentTimeMillis();
|
||||
long endTime = currentTime + player.getTimedHuntingZoneRemainingTime(_zoneId);
|
||||
final long endTime = currentTime + player.getTimedHuntingZoneRemainingTime(_zoneId);
|
||||
if ((endTime > currentTime) && (((endTime - currentTime) + _time) >= holder.getMaximumAddedTime()))
|
||||
{
|
||||
player.getInventory().addItem("AddHuntingTime effect refund", item.getId(), 1, player, player);
|
||||
@@ -71,37 +72,24 @@ public class AddHuntingTime extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
long remainRefillTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_REMAIN_REFILL + _zoneId, holder.getRefillTimeMax());
|
||||
remainRefillTime -= _time / 1000;
|
||||
if (remainRefillTime < 0)
|
||||
final long remainRefill = player.getVariables().getInt(PlayerVariables.HUNTING_ZONE_REMAIN_REFILL + _zoneId, holder.getRemainRefillTime());
|
||||
if ((_time < remainRefill) || (remainRefill == 0))
|
||||
{
|
||||
player.getInventory().addItem("AddHuntingTime effect refund", item.getId(), 1, player, player);
|
||||
player.sendMessage("Time for this zone can be extended no further.");
|
||||
player.sendMessage("You cannot exceed the time zone limit.");
|
||||
return;
|
||||
}
|
||||
player.getVariables().set(PlayerVariables.HUNTING_ZONE_REMAIN_REFILL + _zoneId, remainRefillTime);
|
||||
|
||||
final long remainTime;
|
||||
final long remainTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_TIME + _zoneId, holder.getInitialTime());
|
||||
player.getVariables().set(PlayerVariables.HUNTING_ZONE_TIME + _zoneId, remainTime + _time);
|
||||
player.getVariables().set(PlayerVariables.HUNTING_ZONE_REMAIN_REFILL + _zoneId, remainRefill - (_time / 1000));
|
||||
|
||||
if (player.isInTimedHuntingZone(_zoneId))
|
||||
{
|
||||
remainTime = _time + player.getTimedHuntingZoneRemainingTime(_zoneId);
|
||||
player.getVariables().set(PlayerVariables.HUNTING_ZONE_TIME + _zoneId, remainTime);
|
||||
player.startTimedHuntingZone(_zoneId, endTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((endTime + holder.getResetDelay()) < currentTime)
|
||||
{
|
||||
endTime = currentTime + holder.getInitialTime();
|
||||
}
|
||||
else if (endTime < currentTime)
|
||||
{
|
||||
endTime = currentTime;
|
||||
}
|
||||
remainTime = (endTime - currentTime) + _time;
|
||||
player.getVariables().set(PlayerVariables.HUNTING_ZONE_TIME + _zoneId, remainTime);
|
||||
player.sendPacket(new TimedHuntingZoneEnter(player, _zoneId));
|
||||
}
|
||||
|
||||
player.sendPacket(new TimedHuntingZoneChargeResult(_zoneId, (int) (remainTime / 1000), (int) remainRefillTime));
|
||||
player.sendPacket(new TimedHuntingZoneChargeResult(_zoneId, (int) (remainTime / 1000), (int) (remainRefill - (_time / 1000))));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ public class TimedHunting extends AbstractInstance
|
||||
instance.setParameter("TimedHuntingTaskFinished", false);
|
||||
}
|
||||
player.sendPacket(new ExSendUIEvent(player, true, false, 600, 0, NpcStringId.TIME_LEFT));
|
||||
player.sendPacket(new TimedHuntingZoneExit(player.getLastTimeZone().getZoneId()));
|
||||
player.sendPacket(new TimedHuntingZoneExit(108)); // Training Zone id.
|
||||
|
||||
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, BUFF);
|
||||
instance.setParameter("PlayerIsOut", true);
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<xs:element type="xs:int" name="initialTime" />
|
||||
<xs:element type="xs:int" name="resetDelay" minOccurs="0" />
|
||||
<xs:element type="xs:int" name="maxAddedTime" />
|
||||
<xs:element type="xs:int" name="remainRefillTime" minOccurs="0" />
|
||||
<xs:element type="xs:int" name="refillTimeMax" minOccurs="0" />
|
||||
<xs:element type="xs:int" name="entryItemId" minOccurs="0" />
|
||||
<xs:element type="xs:int" name="entryFee" />
|
||||
@@ -18,8 +19,7 @@
|
||||
<xs:element type="xs:int" name="instanceId" minOccurs="0" />
|
||||
<xs:element type="xs:boolean" name="soloInstance" minOccurs="0" />
|
||||
<xs:element type="xs:boolean" name="weekly" minOccurs="0" />
|
||||
<xs:element type="xs:boolean" name="pvpZone" minOccurs="0" />
|
||||
<xs:element type="xs:boolean" name="noPvpZone" minOccurs="0" />
|
||||
<xs:element type="xs:boolean" name="useWorldPrefix" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:byte" name="id" use="optional" />
|
||||
<xs:attribute type="xs:string" name="name" use="optional" />
|
||||
|
||||
Reference in New Issue
Block a user