Session hunting zone additions.
Contributed by manax182.
This commit is contained in:
@@ -6,9 +6,33 @@
|
||||
# Default: 3600000 (1 hour)
|
||||
InitialTime = 3600000
|
||||
|
||||
# Maximum added time.
|
||||
# Default: 18000000 (5 hours)
|
||||
MaximumAddedTime = 18000000
|
||||
# Initial free time Primeval Isle.
|
||||
# Default: 7200000 (1 hour)
|
||||
PrimevalStart = 7200000
|
||||
|
||||
# Maximum Added time Primeval Isle.
|
||||
# Default: 46800000 (13 hours)
|
||||
PrimevalMaxTime = 46800000
|
||||
|
||||
# Maximum Added time Alligator Island.
|
||||
# Default: 10800000 (3 hours)
|
||||
AlligatorMaxTime = 10800000
|
||||
|
||||
# Maximum Added time Forgotten Primeval Garden.
|
||||
# Default: 21600000 (6 hours)
|
||||
PrimevalGardenMaxTime = 21600000
|
||||
|
||||
# Initial free time Antharas Lair.
|
||||
# Default: 25200000 (7 hours)
|
||||
AntharasLairStart = 25200000
|
||||
|
||||
# Maximum Added time Antharas Lair.
|
||||
# Default: 151200000 (42 hours)
|
||||
AntharasLairMaxTime = 151200000
|
||||
|
||||
# Reset delay Only Antharas Lair (Weekly).
|
||||
# Default: 604800000 (7 Days)
|
||||
AntharasLairResetDelay = 604800000
|
||||
|
||||
# Reset delay.
|
||||
# Default: 36000000 (10 hours)
|
||||
@@ -17,3 +41,8 @@ ResetDelay = 36000000
|
||||
# Teleport fee.
|
||||
# Default: 10000
|
||||
TeleportFee = 10000
|
||||
|
||||
# TODO: NOT USED
|
||||
# Maximum added time.
|
||||
# Default: 18000000 (5 hours)
|
||||
# MaximumAddedTime = 18000000
|
||||
|
@@ -31,4 +31,13 @@
|
||||
<instance id="207" name="Goldberg's Room" />
|
||||
<instance id="1001" name="Primeval Isle" />
|
||||
<instance id="1002" name="Ancient Pirates' Tomb" />
|
||||
<instance id="1004" name="Forgotten Primeval Garden" />
|
||||
<instance id="1011" name="Alligator Island" />
|
||||
<instance id="1012" name="Antharas' Lair" />
|
||||
<instance id="1101" name="Transcendent Instance Zone" /> <!-- Sea of Spores -->
|
||||
<instance id="1102" name="Transcendent Instance Zone" /> <!-- Enchanted Valley -->
|
||||
<instance id="1103" name="Transcendent Instance Zone" /> <!-- Blazing Swamp -->
|
||||
<instance id="1104" name="Transcendent Instance Zone" /> <!-- War-Torn Plains -->
|
||||
<instance id="1106" name="Transcendent Instance Zone" /> <!-- Dragon Valley -->
|
||||
<instance id="1107" name="Transcendent Instance Zone" /> <!-- Sel Mahum Base -->
|
||||
</list>
|
@@ -63,6 +63,30 @@ public class AddHuntingTime extends AbstractEffect
|
||||
player.sendMessage("You cannot exceed the time zone limit.");
|
||||
return;
|
||||
}
|
||||
else if ((endTime > currentTime) && (((endTime - currentTime) + _time) >= Config.TIME_LIMITED_MAX_ADDED_PRIMEVAL))
|
||||
{
|
||||
player.getInventory().addItem("AddHuntingTime effect refund", item.getId(), 1, player, player);
|
||||
player.sendMessage("You cannot exceed the time zone limit.");
|
||||
return;
|
||||
}
|
||||
else if ((endTime > currentTime) && (((endTime - currentTime) + _time) >= Config.TIME_LIMITED_MAX_ADDED_ALLIGATOR))
|
||||
{
|
||||
player.getInventory().addItem("AddHuntingTime effect refund", item.getId(), 1, player, player);
|
||||
player.sendMessage("You cannot exceed the time zone limit.");
|
||||
return;
|
||||
}
|
||||
else if ((endTime > currentTime) && (((endTime - currentTime) + _time) >= Config.TIME_LIMITED_MAX_ADDED_GARDEN))
|
||||
{
|
||||
player.getInventory().addItem("AddHuntingTime effect refund", item.getId(), 1, player, player);
|
||||
player.sendMessage("You cannot exceed the time zone limit.");
|
||||
return;
|
||||
}
|
||||
else if ((endTime > currentTime) && (((endTime - currentTime) + _time) >= Config.TIME_LIMITED_MAX_ADDED_ANTHARAS))
|
||||
{
|
||||
player.getInventory().addItem("AddHuntingTime effect refund", item.getId(), 1, player, player);
|
||||
player.sendMessage("You cannot exceed the time zone limit.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.isInTimedHuntingZone(_zoneId))
|
||||
{
|
||||
@@ -76,6 +100,14 @@ public class AddHuntingTime extends AbstractEffect
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
else if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_PRIMEVAL;
|
||||
}
|
||||
else if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY_ANTHARAS) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_ANTHARAS;
|
||||
}
|
||||
else if (endTime < currentTime)
|
||||
{
|
||||
endTime = currentTime;
|
||||
|
@@ -134,6 +134,8 @@
|
||||
<npc id="31688" x="147688" y="28527" z="-2264" heading="38406" respawnTime="60sec" />
|
||||
<npc id="31690" x="147648" y="28599" z="-2264" heading="40508" respawnTime="60sec" />
|
||||
<npc id="35233" x="147464" y="1532" z="-468" heading="16383" respawnTime="60sec" />
|
||||
<npc id="34121" x="167978" y="28731" z="-3605" heading="24599" respawnTime="60sec"/> <!-- Grand Master Deekhin -->
|
||||
<npc id="34120" x="148743" y="-22400" z="-3436" heading="24599" respawnTime="60sec"/> <!-- Grand Master Kate -->
|
||||
<npc id="30767" x="148009" y="28603" z="-2264" heading="52880" respawnTime="60sec"> <!-- Auctioneer -->
|
||||
<parameters>
|
||||
<param name="fnAgitMap" value="aden" />
|
||||
|
@@ -1,160 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ThirdClassQuests">
|
||||
<group>
|
||||
<!-- NPCS -->
|
||||
<npc id="31277" x="119796" y="77459" z="-2240" heading="37605" respawnTime="360sec" /> <!-- Felix -->
|
||||
<npc id="34268" x="147674" y="29591" z="-2264" heading="26634" respawnTime="360sec" /> <!-- Rifken -->
|
||||
<npc id="31622" x="148791" y="35414" z="-3072" heading="0" respawnTime="360sec" /> <!-- Keats -->
|
||||
<npc id="31608" x="145856" y="23511" z="-2112" heading="0" respawnTime="360sec" /> <!-- Belinda -->
|
||||
<npc id="31646" x="121992" y="29400" z="-3648" heading="49000" respawnTime="360sec" /> <!-- Tablet Of Vision -->
|
||||
<npc id="31647" x="139424" y="8160" z="-4216" heading="50228" respawnTime="360sec" /> <!-- Tablet Of Vision -->
|
||||
<npc id="31650" x="123953" y="65396" z="-3583" heading="0" respawnTime="360sec" /> <!-- Tablet Of Vision -->
|
||||
<npc id="31653" x="188293" y="16580" z="-3744" heading="0" respawnTime="360sec" /> <!-- Tablet Of Vision -->
|
||||
<npc id="31655" x="15093" y="42830" z="-3672" heading="0" respawnTime="360sec" /> <!-- Tablet Of Vision -->
|
||||
<npc id="31656" x="-23859" y="21325" z="-3712" heading="0" respawnTime="360sec" /> <!-- Tablet Of Vision -->
|
||||
<npc id="31657" x="-10107" y="-90150" z="-2264" heading="0" respawnTime="360sec" /> <!-- Tablet Of Vision -->
|
||||
|
||||
<!-- Ice Monster -->
|
||||
<npc id="27316" x="159317" y="35635" z="-3312" heading="43738" respawnTime="60sec" />
|
||||
<npc id="27316" x="159829" y="36590" z="-3360" heading="56416" respawnTime="60sec" />
|
||||
<npc id="27316" x="158337" y="36225" z="-3248" heading="28750" respawnTime="60sec" />
|
||||
<npc id="27316" x="159183" y="35500" z="-3320" heading="53057" respawnTime="60sec" />
|
||||
<npc id="27316" x="158700" y="35335" z="-3336" heading="61794" respawnTime="60sec" />
|
||||
<npc id="27316" x="159461" y="36762" z="-3376" heading="44791" respawnTime="60sec" />
|
||||
<npc id="27316" x="159448" y="35175" z="-3336" heading="48632" respawnTime="60sec" />
|
||||
<npc id="27316" x="159591" y="35751" z="-3288" heading="47984" respawnTime="60sec" />
|
||||
|
||||
<!-- Spirit of a Drowned -->
|
||||
<npc id="27317" x="158007" y="35762" z="-3304" heading="29698" respawnTime="60sec" />
|
||||
<npc id="27317" x="159293" y="35621" z="-3312" heading="57115" respawnTime="60sec" />
|
||||
<npc id="27317" x="159194" y="36184" z="-3304" heading="50106" respawnTime="60sec" />
|
||||
<npc id="27317" x="159738" y="35299" z="-3320" heading="59042" respawnTime="60sec" />
|
||||
<npc id="27317" x="159178" y="35727" z="-3312" heading="27368" respawnTime="60sec" />
|
||||
<npc id="27317" x="159668" y="36585" z="-3376" heading="38950" respawnTime="60sec" />
|
||||
<npc id="27317" x="159512" y="36680" z="-3376" heading="14830" respawnTime="60sec" />
|
||||
<npc id="27317" x="159461" y="36519" z="-3328" heading="13998" respawnTime="60sec" />
|
||||
|
||||
<!-- Soul of Cold -->
|
||||
<npc id="27318" x="157869" y="36721" z="-3320" heading="25007" respawnTime="60sec" />
|
||||
<npc id="27318" x="159722" y="35855" z="-3272" heading="14804" respawnTime="60sec" />
|
||||
<npc id="27318" x="159696" y="36248" z="-3296" heading="37412" respawnTime="60sec" />
|
||||
<npc id="27318" x="159749" y="36200" z="-3272" heading="29411" respawnTime="60sec" />
|
||||
<npc id="27318" x="158550" y="35702" z="-3304" heading="56750" respawnTime="60sec" />
|
||||
<npc id="27318" x="158106" y="35969" z="-3288" heading="21264" respawnTime="60sec" />
|
||||
<npc id="27318" x="159705" y="35496" z="-3296" heading="20675" respawnTime="60sec" />
|
||||
<npc id="27318" x="159601" y="36108" z="-3296" heading="16734" respawnTime="60sec" />
|
||||
|
||||
<!-- Ghost of Solitude -->
|
||||
<npc id="27319" x="161464" y="38213" z="-3712" heading="38282" respawnTime="60sec" />
|
||||
<npc id="27319" x="160882" y="38990" z="-3712" heading="3102" respawnTime="60sec" />
|
||||
<npc id="27319" x="160241" y="37933" z="-3648" heading="63193" respawnTime="60sec" />
|
||||
<npc id="27319" x="160532" y="38724" z="-3704" heading="23081" respawnTime="60sec" />
|
||||
<npc id="27319" x="160575" y="37792" z="-3320" heading="21378" respawnTime="60sec" />
|
||||
<npc id="27319" x="160701" y="39060" z="-3704" heading="59664" respawnTime="60sec" />
|
||||
<npc id="27319" x="162371" y="38610" z="-3720" heading="6537" respawnTime="60sec" />
|
||||
<npc id="27319" x="162079" y="39069" z="-3720" heading="34350" respawnTime="60sec" />
|
||||
|
||||
<!-- Fiend of Cold -->
|
||||
<npc id="27320" x="161550" y="37880" z="-3712" heading="13998" respawnTime="60sec" />
|
||||
<npc id="27320" x="161054" y="39005" z="-3712" heading="3638" respawnTime="60sec" />
|
||||
<npc id="27320" x="161417" y="37663" z="-3704" heading="6894" respawnTime="60sec" />
|
||||
<npc id="27320" x="161091" y="38568" z="-3720" heading="62622" respawnTime="60sec" />
|
||||
<npc id="27320" x="160702" y="38390" z="-3696" heading="55642" respawnTime="60sec" />
|
||||
<npc id="27320" x="161750" y="38561" z="-3720" heading="42129" respawnTime="60sec" />
|
||||
<npc id="27320" x="160705" y="38986" z="-3712" heading="2650" respawnTime="60sec" />
|
||||
<npc id="27320" x="160641" y="38959" z="-3712" heading="12587" respawnTime="60sec" />
|
||||
|
||||
<!-- Spirit of Cold -->
|
||||
<npc id="27321" x="161561" y="37969" z="-3712" heading="61988" respawnTime="60sec" />
|
||||
<npc id="27321" x="160681" y="38719" z="-3704" heading="33923" respawnTime="60sec" />
|
||||
<npc id="27321" x="160232" y="38666" z="-3688" heading="54611" respawnTime="60sec" />
|
||||
<npc id="27321" x="161573" y="37482" z="-3696" heading="62682" respawnTime="60sec" />
|
||||
<npc id="27321" x="160725" y="38341" z="-3696" heading="28087" respawnTime="60sec" />
|
||||
<npc id="27321" x="160271" y="38458" z="-3672" heading="47525" respawnTime="60sec" />
|
||||
<npc id="27321" x="161546" y="37790" z="-3712" heading="18664" respawnTime="60sec" />
|
||||
<npc id="27321" x="161617" y="37701" z="-3704" heading="45614" respawnTime="60sec" />
|
||||
|
||||
<!-- Swampland Watchman -->
|
||||
<npc id="21650" x="145152" y="-22335" z="-3160" heading="50131" respawnTime="60sec" />
|
||||
<npc id="21650" x="146534" y="-20459" z="-3432" heading="12108" respawnTime="60sec" />
|
||||
<npc id="21650" x="146529" y="-20440" z="-3432" heading="20203" respawnTime="60sec" />
|
||||
<npc id="21650" x="147060" y="-22500" z="-3088" heading="62606" respawnTime="60sec" />
|
||||
<npc id="21650" x="146223" y="-22736" z="-3120" heading="14881" respawnTime="60sec" />
|
||||
<npc id="21650" x="146192" y="-16167" z="-4000" heading="47275" respawnTime="60sec" />
|
||||
<npc id="21650" x="145485" y="-15572" z="-4184" heading="24827" respawnTime="60sec" />
|
||||
<npc id="21650" x="145889" y="-15572" z="-4176" heading="19868" respawnTime="60sec" />
|
||||
<npc id="21650" x="146495" y="-15912" z="-4032" heading="13083" respawnTime="60sec" />
|
||||
<npc id="21650" x="146314" y="-16022" z="-4000" heading="1856" respawnTime="60sec" />
|
||||
|
||||
<!-- Flame Drake -->
|
||||
<npc id="21651" x="144772" y="-21764" z="-3112" heading="44684" respawnTime="60sec" />
|
||||
<npc id="21651" x="143625" y="-22485" z="-3152" heading="26583" respawnTime="60sec" />
|
||||
<npc id="21651" x="144658" y="-21578" z="-3128" heading="14374" respawnTime="60sec" />
|
||||
<npc id="21651" x="144768" y="-21039" z="-3160" heading="59093" respawnTime="60sec" />
|
||||
<npc id="21651" x="144766" y="-21714" z="-3120" heading="12607" respawnTime="60sec" />
|
||||
<npc id="21651" x="146395" y="-24695" z="-2928" heading="6638" respawnTime="60sec" />
|
||||
<npc id="21651" x="147477" y="-22902" z="-3248" heading="65311" respawnTime="60sec" />
|
||||
<npc id="21651" x="147355" y="-25300" z="-2984" heading="59758" respawnTime="60sec" />
|
||||
<npc id="21651" x="147082" y="-25119" z="-3016" heading="1612" respawnTime="60sec" />
|
||||
<npc id="21651" x="147480" y="-25269" z="-2968" heading="58086" respawnTime="60sec" />
|
||||
<npc id="21651" x="146408" y="-24834" z="-2936" heading="15147" respawnTime="60sec" />
|
||||
<npc id="21651" x="148436" y="-22961" z="-3432" heading="45135" respawnTime="60sec" />
|
||||
<npc id="21651" x="148082" y="-23638" z="-3296" heading="24695" respawnTime="60sec" />
|
||||
<npc id="21651" x="148314" y="-24123" z="-3152" heading="44168" respawnTime="60sec" />
|
||||
<npc id="21651" x="147794" y="-21658" z="-3376" heading="14341" respawnTime="60sec" />
|
||||
|
||||
<!-- Fiery Ifrit -->
|
||||
<npc id="21652" x="145523" y="-22496" z="-3144" heading="5636" respawnTime="60sec" />
|
||||
<npc id="21652" x="147051" y="-21476" z="-3088" heading="8434" respawnTime="60sec" />
|
||||
<npc id="21652" x="147339" y="-21567" z="-3120" heading="27239" respawnTime="60sec" />
|
||||
<npc id="21652" x="146604" y="-21982" z="-3096" heading="58907" respawnTime="60sec" />
|
||||
<npc id="21652" x="146157" y="-22216" z="-3096" heading="48601" respawnTime="60sec" />
|
||||
<npc id="21652" x="145825" y="-15630" z="-4152" heading="16452" respawnTime="60sec" />
|
||||
<npc id="21652" x="145889" y="-15827" z="-4120" heading="29982" respawnTime="60sec" />
|
||||
<npc id="21652" x="146433" y="-15831" z="-4056" heading="8403" respawnTime="60sec" />
|
||||
<npc id="21652" x="146495" y="-15997" z="-4032" heading="46584" respawnTime="60sec" />
|
||||
|
||||
<!-- Ikedit -->
|
||||
<npc id="21653" x="145369" y="-21454" z="-3104" heading="15344" respawnTime="60sec" />
|
||||
<npc id="21653" x="145181" y="-21709" z="-3112" heading="28076" respawnTime="60sec" />
|
||||
<npc id="21653" x="142744" y="-21351" z="-3176" heading="28732" respawnTime="60sec" />
|
||||
<npc id="21653" x="143331" y="-22315" z="-3168" heading="8907" respawnTime="60sec" />
|
||||
<npc id="21653" x="143033" y="-22359" z="-3144" heading="13141" respawnTime="60sec" />
|
||||
<npc id="21653" x="147328" y="-24591" z="-3048" heading="35324" respawnTime="60sec" />
|
||||
<npc id="21653" x="147589" y="-24088" z="-3160" heading="41798" respawnTime="60sec" />
|
||||
<npc id="21653" x="146298" y="-24788" z="-2896" heading="3234" respawnTime="60sec" />
|
||||
<npc id="21653" x="146665" y="-25011" z="-2928" heading="9020" respawnTime="60sec" />
|
||||
<npc id="21653" x="146614" y="-24926" z="-2936" heading="28884" respawnTime="60sec" />
|
||||
<npc id="21653" x="147040" y="-25107" z="-3016" heading="38361" respawnTime="60sec" />
|
||||
<npc id="21653" x="145661" y="-25221" z="-2536" heading="3870" respawnTime="60sec" />
|
||||
<npc id="21653" x="149044" y="-22595" z="-3432" heading="47710" respawnTime="60sec" />
|
||||
<npc id="21653" x="148088" y="-21470" z="-3432" heading="55484" respawnTime="60sec" />
|
||||
<npc id="21653" x="148872" y="-21907" z="-3400" heading="53026" respawnTime="60sec" />
|
||||
|
||||
<!-- Guardian of Forbidden Knowledge -->
|
||||
<npc id="27214" x="138833" y="8745" z="-4288" heading="62181" respawnTime="60sec" />
|
||||
<npc id="27214" x="139138" y="8890" z="-4264" heading="16736" respawnTime="60sec" />
|
||||
<npc id="27214" x="140313" y="8364" z="-4072" heading="48010" respawnTime="60sec" />
|
||||
<npc id="27214" x="139627" y="8121" z="-4192" heading="26996" respawnTime="60sec" />
|
||||
<npc id="27214" x="140140" y="8018" z="-4056" heading="21540" respawnTime="60sec" />
|
||||
<npc id="27214" x="140522" y="8858" z="-4112" heading="12298" respawnTime="60sec" />
|
||||
<npc id="27214" x="138997" y="8054" z="-4288" heading="29593" respawnTime="60sec" />
|
||||
<npc id="27214" x="140238" y="7092" z="-4160" heading="16873" respawnTime="60sec" />
|
||||
<npc id="27214" x="140346" y="7458" z="-4096" heading="56386" respawnTime="60sec" />
|
||||
<npc id="27214" x="139357" y="7593" z="-4256" heading="55581" respawnTime="60sec" />
|
||||
|
||||
<!-- Keeper of the Holy Edict -->
|
||||
<npc id="27215" x="139684" y="10296" z="-4290" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139816" y="10104" z="-4293" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139272" y="9928" z="-4296" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139176" y="10232" z="-4281" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139400" y="10456" z="-4276" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139528" y="10680" z="-4265" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139944" y="10632" z="-4273" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139976" y="10312" z="-4289" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="140152" y="10088" z="-4258" heading="0" respawnTime="60sec" />
|
||||
<npc id="27215" x="139496" y="9688" z="-4293" heading="0" respawnTime="60sec" />
|
||||
</group>
|
||||
</spawn>
|
||||
</list>
|
@@ -3,13 +3,18 @@
|
||||
<item id="92400" name="Primeval Garden's Time Stone" additionalName="Event" type="EtcItem">
|
||||
<!-- Prolongs your Primeval Garden's raid for 60 min. -->
|
||||
<set name="icon" val="icon.timezone_refill_3" />
|
||||
<set name="default_action" val="SKILL_REDUCE_ON_SKILL_SUCCESS" />
|
||||
<set name="default_action" val="SKILL_REDUCE" />
|
||||
<set name="material" val="LIQUID" />
|
||||
<set name="weight" val="5" />
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<set name="handler" val="ItemSkills" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<skills>
|
||||
<skill id="40060" level="1"/> <!-- Primeval Garden's Time Stone -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="92401" name="Spellbook: White Guardian" type="EtcItem">
|
||||
<!-- A spellbook for learning White Guardian Transformation.\n\n<Classes>\nAll classes, except Kamael and Death Knight\n\n<Skill effect>\nTransforms into White Guardian. Increases Max HP/ MP, P./ M. Accuracy, P./ M. Atk., P./ M. Def., Atk. Spd., P. Skill Critical Damage, M. Skill Critical Rate, Speed. -->
|
||||
|
@@ -45,13 +45,18 @@
|
||||
<item id="93704" name="Alligator Island's Time Stone" type="EtcItem">
|
||||
<!-- Prolongs your Alligator Island's raid for 60 min. -->
|
||||
<set name="icon" val="icon.timezone_refill_lost_mine_60" />
|
||||
<set name="default_action" val="SKILL_REDUCE_ON_SKILL_SUCCESS" />
|
||||
<set name="default_action" val="SKILL_REDUCE" />
|
||||
<set name="material" val="LIQUID" />
|
||||
<set name="weight" val="5" />
|
||||
<set name="is_tradable" val="false" />
|
||||
<set name="is_dropable" val="false" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
<set name="handler" val="ItemSkills" />
|
||||
<set name="immediate_effect" val="true" />
|
||||
<skills>
|
||||
<skill id="40165" level="1"/> <!-- Alligator Island's Time Stone -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="93705" name="Top-grade Resource" type="EtcItem">
|
||||
<!-- After charging, craft points +50,000. -->
|
||||
|
@@ -153,7 +153,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34108" level="85" type="Npc" name="Newbie Helper" title="Tutorial Indicator">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -347,7 +346,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34163" level="85" type="Npc" name="Augustina">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ELF</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -404,7 +402,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34120" level="85" type="Npc" name="Kate" title="Grand Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -423,7 +420,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34121" level="85" type="Npc" name="Deekhin" title="Grand Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -442,7 +438,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34122" level="85" type="Npc" name="Bunch" title="Grand Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -461,7 +456,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34123" level="85" type="Npc" name="Ayan" title="Grand Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -480,7 +474,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34124" level="85" type="Npc" name="Joon" title="Grand Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -499,7 +492,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34125" level="85" type="Npc" name="Panji" title="Grand Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
@@ -518,7 +510,6 @@
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="34126" level="85" type="Npc" name="Debbie" title="Grand Master">
|
||||
<!-- AUTO GENERATED NPC TODO: FIX IT -->
|
||||
<race>ETC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
|
@@ -508,9 +508,28 @@
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="40060" toLevel="1" name="Primeval Garden's Time Stone">
|
||||
<!-- AUTO GENERATED SKILL TODO: FIX IT -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<magicLevel>1</magicLevel>
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<itemConsumeCount>1</itemConsumeCount>
|
||||
<itemConsumeId>92400</itemConsumeId> <!-- Primeval Garden's Prolongation Stone -->
|
||||
<conditions>
|
||||
<condition name="CheckLevel">
|
||||
<minLevel>76</minLevel>
|
||||
<maxLevel>999</maxLevel>
|
||||
<affectType>CASTER</affectType>
|
||||
</condition>
|
||||
</conditions>
|
||||
<effects>
|
||||
<effect name="AddHuntingTime">
|
||||
<zoneId>4</zoneId>
|
||||
<time>3600000</time>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="40061" toLevel="1" name="Primeval Garden's Time Stone">
|
||||
<!-- AUTO GENERATED SKILL TODO: FIX IT -->
|
||||
|
@@ -374,9 +374,27 @@
|
||||
<operateType>A1</operateType>
|
||||
</skill>
|
||||
<skill id="40165" toLevel="1" name="Alligator Island's Time Stone">
|
||||
<!-- AUTO GENERATED SKILL TODO: FIX IT -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<magicLevel>1</magicLevel>
|
||||
<operateType>A1</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<itemConsumeCount>1</itemConsumeCount>
|
||||
<itemConsumeId>93704</itemConsumeId> <!-- Alligator Island Prolongation Stone -->
|
||||
<conditions>
|
||||
<condition name="CheckLevel">
|
||||
<minLevel>60</minLevel>
|
||||
<maxLevel>999</maxLevel>
|
||||
<affectType>CASTER</affectType>
|
||||
</condition>
|
||||
</conditions>
|
||||
<effects>
|
||||
<effect name="AddHuntingTime">
|
||||
<zoneId>11</zoneId>
|
||||
<time>3600000</time>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="40166" toLevel="1" name="Mid-grade HP Recovery Potion - Event">
|
||||
<!-- AUTO GENERATED SKILL TODO: FIX IT -->
|
||||
|
@@ -707,7 +707,7 @@
|
||||
<itemConsumeId>91983</itemConsumeId> <!-- Primeval Isle's Prolongation Stone -->
|
||||
<conditions>
|
||||
<condition name="CheckLevel">
|
||||
<minLevel>78</minLevel>
|
||||
<minLevel>40</minLevel>
|
||||
</condition>
|
||||
</conditions>
|
||||
<effects>
|
||||
|
@@ -39,7 +39,6 @@
|
||||
<node X="150956" Y="47052" />
|
||||
<node X="148049" Y="47053" />
|
||||
</zone>
|
||||
|
||||
<!-- Classic Monster Race Track Arena -->
|
||||
<zone name="Monster_Race_Arena_PvP" type="ArenaZone" shape="NPoly" minZ="-3800" maxZ="-3550"> <!-- [20_23] -->
|
||||
<node X="13081" Y="183060" />
|
||||
@@ -51,4 +50,22 @@
|
||||
<node X="11773" Y="183287" />
|
||||
<node X="11994" Y="183055" />
|
||||
</zone>
|
||||
<zone name="alligator_island" type="ArenaZone" shape="NPoly" minZ="-5000" maxZ="3350">
|
||||
<node X="100275" Y="166011" />
|
||||
<node X="128461" Y="164511" />
|
||||
<node X="131253" Y="192880" />
|
||||
<node X="100219" Y="193094" />
|
||||
</zone>
|
||||
<zone name="primeval_garden" type="ArenaZone" shape="NPoly" minZ="-13800" maxZ="-11000">
|
||||
<node X="107079" Y="207063" />
|
||||
<node X="103977" Y="220511" />
|
||||
<node X="124569" Y="220511" />
|
||||
<node X="124076" Y="207736" />
|
||||
</zone>
|
||||
<zone name="antharas_lair" type="ArenaZone" shape="NPoly" minZ="-4000" maxZ="1000">
|
||||
<node X="132358" Y="115762" />
|
||||
<node X="149533" Y="119435" />
|
||||
<node X="150589" Y="109658" />
|
||||
<node X="132358" Y="112359" />
|
||||
</zone>
|
||||
</list>
|
@@ -5,4 +5,32 @@
|
||||
<node X="0" Y="-32768" />
|
||||
<node X="32767" Y="-1" />
|
||||
</zone>
|
||||
<zone name="alligator_island" type="TimedHuntingZone" shape="NPoly" minZ="-5000" maxZ="3350">
|
||||
<node X="100275" Y="166011" />
|
||||
<node X="128461" Y="164511" />
|
||||
<node X="131253" Y="192880" />
|
||||
<node X="100219" Y="193094" />
|
||||
</zone>
|
||||
<zone name="primeval_garden" type="TimedHuntingZone" shape="NPoly" minZ="-13800" maxZ="-11000">
|
||||
<node X="107079" Y="207063" />
|
||||
<node X="103977" Y="220511" />
|
||||
<node X="124569" Y="220511" />
|
||||
<node X="124076" Y="207736" />
|
||||
</zone>
|
||||
<zone name="antharas_lair" type="TimedHuntingZone" shape="NPoly" minZ="-4000" maxZ="1000">
|
||||
<node X="132358" Y="115762" />
|
||||
<node X="149533" Y="119435" />
|
||||
<node X="150589" Y="109658" />
|
||||
<node X="132358" Y="112359" />
|
||||
</zone>
|
||||
<zone name="sea_of_spores" type="TimedHuntingZone" shape="NPoly" minZ="-4000" maxZ="1000">
|
||||
<node X="32784" Y="28535"/>
|
||||
<node X="64583" Y="20445"/>
|
||||
<node X="61741" Y="5418"/>
|
||||
<node X="43635" Y="12005"/>
|
||||
<node X="37872" Y="24405"/>
|
||||
<node X="50139" Y="29342"/>
|
||||
<node X="56687" Y="31366"/>
|
||||
<node X="60208" Y="31390"/>
|
||||
</zone>
|
||||
</list>
|
@@ -846,8 +846,15 @@ public class Config
|
||||
public static List<String> TELNET_HOSTS;
|
||||
public static int TELNET_PORT;
|
||||
public static long TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
public static long TIME_LIMITED_ZONE_PRIMEVAL;
|
||||
public static long TIME_LIMITED_ZONE_ANTHARAS;
|
||||
public static long TIME_LIMITED_MAX_ADDED_PRIMEVAL;
|
||||
public static long TIME_LIMITED_MAX_ADDED_ALLIGATOR;
|
||||
public static long TIME_LIMITED_MAX_ADDED_GARDEN;
|
||||
public static long TIME_LIMITED_MAX_ADDED_ANTHARAS;
|
||||
public static long TIME_LIMITED_MAX_ADDED_TIME;
|
||||
public static long TIME_LIMITED_ZONE_RESET_DELAY;
|
||||
public static long TIME_LIMITED_ZONE_RESET_DELAY_ANTHARAS;
|
||||
public static long TIME_LIMITED_ZONE_TELEPORT_FEE;
|
||||
public static boolean TRAINING_CAMP_ENABLE;
|
||||
public static boolean TRAINING_CAMP_PREMIUM_ONLY;
|
||||
@@ -1906,9 +1913,16 @@ public class Config
|
||||
|
||||
// Load Time Limited Zone config file (if exists)
|
||||
final PropertiesParser timeLimitedZoneSettings = new PropertiesParser(TIME_LIMITED_ZONE_CONFIG_FILE);
|
||||
TIME_LIMITED_ZONE_PRIMEVAL = timeLimitedZoneSettings.getLong("PrimevalStart", 7200000);
|
||||
TIME_LIMITED_ZONE_ANTHARAS = timeLimitedZoneSettings.getLong("AntharasLairStart", 25200000);
|
||||
TIME_LIMITED_MAX_ADDED_PRIMEVAL = timeLimitedZoneSettings.getLong("PrimevalMaxTime", 46800000);
|
||||
TIME_LIMITED_MAX_ADDED_ALLIGATOR = timeLimitedZoneSettings.getLong("AlligatorMaxTime", 10800000);
|
||||
TIME_LIMITED_MAX_ADDED_GARDEN = timeLimitedZoneSettings.getLong("PrimevalGardenMaxTime", 21600000);
|
||||
TIME_LIMITED_MAX_ADDED_ANTHARAS = timeLimitedZoneSettings.getLong("AntharasLairMaxTime", 151200000);
|
||||
TIME_LIMITED_ZONE_INITIAL_TIME = timeLimitedZoneSettings.getLong("InitialTime", 3600000);
|
||||
TIME_LIMITED_MAX_ADDED_TIME = timeLimitedZoneSettings.getLong("MaximumAddedTime", 18000000);
|
||||
TIME_LIMITED_ZONE_RESET_DELAY = timeLimitedZoneSettings.getLong("ResetDelay", 36000000);
|
||||
TIME_LIMITED_ZONE_RESET_DELAY_ANTHARAS = timeLimitedZoneSettings.getLong("AntharasLairResetDelay", 604800000);
|
||||
TIME_LIMITED_ZONE_TELEPORT_FEE = timeLimitedZoneSettings.getLong("TeleportFee", 10000);
|
||||
|
||||
// Load Magic Lamp config file (if exists)
|
||||
|
@@ -14368,7 +14368,16 @@ public class PlayerInstance extends Playable
|
||||
|
||||
public boolean isInTimedHuntingZone(int x, int y)
|
||||
{
|
||||
return isInTimedHuntingZone(1, x, y); // Primeval Isle
|
||||
return isInTimedHuntingZone(1, x, y) // Primeval Isle
|
||||
|| isInTimedHuntingZone(4, x, y) // Primeval Garden
|
||||
|| isInTimedHuntingZone(11, x, y) // Aligator Island
|
||||
|| isInTimedHuntingZone(12, x, y) // Antharas Lair
|
||||
|| isInTimedHuntingZone(101, x, y) // Transcendent Instance Zone 1
|
||||
|| isInTimedHuntingZone(102, x, y) // Transcendent Instance Zone 2
|
||||
|| isInTimedHuntingZone(103, x, y) // Transcendent Instance Zone 3
|
||||
|| isInTimedHuntingZone(104, x, y) // Transcendent Instance Zone 4
|
||||
|| isInTimedHuntingZone(106, x, y) // Transcendent Instance Zone 6
|
||||
|| isInTimedHuntingZone(107, x, y); // Transcendent Instance Zone 7
|
||||
}
|
||||
|
||||
public boolean isInTimedHuntingZone(int zoneId)
|
||||
@@ -14387,6 +14396,42 @@ public class PlayerInstance extends Playable
|
||||
{
|
||||
return (x == 20) && (y == 17);
|
||||
}
|
||||
case 4: // Primeval Garden
|
||||
{
|
||||
return (x == 24) && (y == 19);
|
||||
}
|
||||
case 11: // Primeval Garden
|
||||
{
|
||||
return (x == 23) && (y == 23);
|
||||
}
|
||||
case 12: // Antharas Lair
|
||||
{
|
||||
return (x == 25) && (y == 21);
|
||||
}
|
||||
case 101: // Transcendent Instance Zone 1
|
||||
{
|
||||
return (x == 21) && (y == 18);
|
||||
}
|
||||
case 102: // Transcendent Instance Zone 2
|
||||
{
|
||||
return (x == 23) && (y == 19);
|
||||
}
|
||||
case 103: // Transcendent Instance Zone 3
|
||||
{
|
||||
return (x == 24) && (y == 17);
|
||||
}
|
||||
case 104: // Transcendent Instance Zone 4
|
||||
{
|
||||
return (x == 24) && (y == 18);
|
||||
}
|
||||
case 106: // Transcendent Instance Zone 6
|
||||
{
|
||||
return (x == 23) && (y == 21);
|
||||
}
|
||||
case 107: // Transcendent Instance Zone 7
|
||||
{
|
||||
return (x == 18) && (y == 22);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -45,10 +45,56 @@ public class TimedHuntingZone extends ZoneType
|
||||
|
||||
final long currentTime = System.currentTimeMillis();
|
||||
final long primevalIsleExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 1, 0);
|
||||
final long PrimevalGardenExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 4, 0);
|
||||
final long AlligatorIslandExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 11, 0);
|
||||
final long AntharasLairExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 12, 0);
|
||||
final long Transcendent1ExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 101, 0);
|
||||
final long Transcendent2ExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 102, 0);
|
||||
final long Transcendent3ExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 103, 0);
|
||||
final long Transcendent4ExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 104, 0);
|
||||
final long Transcendent6ExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 106, 0);
|
||||
final long Transcendent7ExitTime = player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 107, 0);
|
||||
|
||||
if ((primevalIsleExitTime > currentTime) && player.isInTimedHuntingZone(1))
|
||||
{
|
||||
player.startTimedHuntingZone(1, primevalIsleExitTime - currentTime);
|
||||
}
|
||||
else if ((PrimevalGardenExitTime > currentTime) && player.isInTimedHuntingZone(4))
|
||||
{
|
||||
player.startTimedHuntingZone(4, PrimevalGardenExitTime - currentTime);
|
||||
}
|
||||
else if ((AlligatorIslandExitTime > currentTime) && player.isInTimedHuntingZone(11))
|
||||
{
|
||||
player.startTimedHuntingZone(11, AlligatorIslandExitTime - currentTime);
|
||||
}
|
||||
else if ((AntharasLairExitTime > currentTime) && player.isInTimedHuntingZone(12))
|
||||
{
|
||||
player.startTimedHuntingZone(12, AntharasLairExitTime - currentTime);
|
||||
}
|
||||
else if ((Transcendent1ExitTime > currentTime) && player.isInTimedHuntingZone(101))
|
||||
{
|
||||
player.startTimedHuntingZone(101, Transcendent1ExitTime - currentTime);
|
||||
}
|
||||
else if ((Transcendent2ExitTime > currentTime) && player.isInTimedHuntingZone(102))
|
||||
{
|
||||
player.startTimedHuntingZone(102, Transcendent2ExitTime - currentTime);
|
||||
}
|
||||
else if ((Transcendent3ExitTime > currentTime) && player.isInTimedHuntingZone(103))
|
||||
{
|
||||
player.startTimedHuntingZone(103, Transcendent3ExitTime - currentTime);
|
||||
}
|
||||
else if ((Transcendent4ExitTime > currentTime) && player.isInTimedHuntingZone(104))
|
||||
{
|
||||
player.startTimedHuntingZone(104, Transcendent4ExitTime - currentTime);
|
||||
}
|
||||
else if ((Transcendent6ExitTime > currentTime) && player.isInTimedHuntingZone(106))
|
||||
{
|
||||
player.startTimedHuntingZone(106, Transcendent6ExitTime - currentTime);
|
||||
}
|
||||
else if ((Transcendent7ExitTime > currentTime) && player.isInTimedHuntingZone(107))
|
||||
{
|
||||
player.startTimedHuntingZone(107, Transcendent7ExitTime - currentTime);
|
||||
}
|
||||
else if (!player.isGM())
|
||||
{
|
||||
player.teleToLocation(MapRegionManager.getInstance().getTeleToLocation(player, TeleportWhereType.TOWN));
|
||||
|
@@ -83,7 +83,12 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if ((_zoneId == 1) && (player.getLevel() < 78))
|
||||
if (((_zoneId == 1) && (player.getLevel() < 40)) //
|
||||
|| ((_zoneId == 4) && (player.getLevel() < 76)) //
|
||||
|| ((_zoneId == 11) && (player.getLevel() < 60)) //
|
||||
|| ((_zoneId == 12) && (player.getLevel() < 80)) //
|
||||
|| ((_zoneId == 101) && (player.getLevel() < 40)) //
|
||||
)
|
||||
{
|
||||
player.sendMessage("Your level does not correspond the zone equivalent.");
|
||||
}
|
||||
@@ -116,6 +121,51 @@ public class ExTimedHuntingZoneEnter implements IClientIncomingPacket
|
||||
player.teleToLocation(9400, -21720, -3634);
|
||||
break;
|
||||
}
|
||||
case 4: // Forgotten Primeval Garden
|
||||
{
|
||||
player.teleToLocation(-112937, 213590, -13248);
|
||||
break;
|
||||
}
|
||||
case 11: // Aligator Island
|
||||
{
|
||||
player.teleToLocation(115528, 191580, -3371);
|
||||
break;
|
||||
}
|
||||
case 12: // Antharas Lair
|
||||
{
|
||||
player.teleToLocation(133247, 114445, -3724);
|
||||
break;
|
||||
}
|
||||
case 101: // Transcendent Instance Zone 1
|
||||
{
|
||||
player.teleToLocation(63443, 26304, -3755);
|
||||
break;
|
||||
}
|
||||
case 102: // Transcendent Instance Zone 2
|
||||
{
|
||||
player.teleToLocation(125277, 70262, -4408);
|
||||
break;
|
||||
}
|
||||
case 103: // Transcendent Instance Zone 3
|
||||
{
|
||||
player.teleToLocation(148724, -22366, -3436);
|
||||
break;
|
||||
}
|
||||
case 104: // Transcendent Instance Zone 4
|
||||
{
|
||||
player.teleToLocation(167965, 28800, -3606);
|
||||
break;
|
||||
}
|
||||
case 106: // Transcendent Instance Zone 6
|
||||
{
|
||||
player.teleToLocation(99797, 110524, -3702);
|
||||
break;
|
||||
}
|
||||
case 107: // Transcendent Instance Zone 7
|
||||
{
|
||||
player.teleToLocation(-50416, 145363, -2825);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@@ -45,7 +45,7 @@ public class TimedHuntingZoneList implements IClientOutgoingPacket
|
||||
|
||||
final long currentTime = System.currentTimeMillis();
|
||||
long endTime;
|
||||
packet.writeD(1); // zone count
|
||||
packet.writeD(10); // zone count
|
||||
|
||||
// Primeval Isle
|
||||
packet.writeD(1); // required item count
|
||||
@@ -53,10 +53,94 @@ public class TimedHuntingZoneList implements IClientOutgoingPacket
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(1); // zone id
|
||||
packet.writeD(78); // min level
|
||||
packet.writeD(40); // min level
|
||||
packet.writeD(999); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 2, 0);
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 1, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_PRIMEVAL;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_PRIMEVAL / 1000));
|
||||
packet.writeD(43200); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Forgotten Primeval Garden
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(4); // zone id
|
||||
packet.writeD(76); // min level
|
||||
packet.writeD(999); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 4, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_GARDEN / 1000));
|
||||
packet.writeD(18000); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Alligator Island
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(11); // zone id
|
||||
packet.writeD(60); // min level
|
||||
packet.writeD(999); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 11, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_ALLIGATOR / 1000));
|
||||
packet.writeD(7200); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Antharas Lair
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(0); // reset cycle
|
||||
packet.writeD(12); // zone id
|
||||
packet.writeD(80); // min level
|
||||
packet.writeD(999); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 12, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY_ANTHARAS) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_ANTHARAS;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_ANTHARAS / 1000));
|
||||
packet.writeD(126000); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Transcendent Instance Zone 1
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(101); // zone id
|
||||
packet.writeD(40); // min level
|
||||
packet.writeD(49); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 101, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
@@ -66,6 +150,112 @@ public class TimedHuntingZoneList implements IClientOutgoingPacket
|
||||
packet.writeD(3600); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Transcendent Instance Zone 2
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(102); // zone id
|
||||
packet.writeD(50); // min level
|
||||
packet.writeD(59); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 102, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_TIME / 1000));
|
||||
packet.writeD(3600); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Transcendent Instance Zone 3
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(103); // zone id
|
||||
packet.writeD(60); // min level
|
||||
packet.writeD(69); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 103, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_TIME / 1000));
|
||||
packet.writeD(3600); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Transcendent Instance Zone 4
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(104); // zone id
|
||||
packet.writeD(70); // min level
|
||||
packet.writeD(79); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 104, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_TIME / 1000));
|
||||
packet.writeD(3600); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Transcendent Instance Zone 6
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(106); // zone id
|
||||
packet.writeD(80); // min level
|
||||
packet.writeD(999); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 106, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_TIME / 1000));
|
||||
packet.writeD(3600); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
// Transcendent Instance Zone 7
|
||||
packet.writeD(1); // required item count
|
||||
packet.writeD(57); // item id
|
||||
packet.writeQ(Config.TIME_LIMITED_ZONE_TELEPORT_FEE); // item count
|
||||
packet.writeD(1); // reset cycle
|
||||
packet.writeD(107); // zone id
|
||||
packet.writeD(85); // min level
|
||||
packet.writeD(999); // max level
|
||||
packet.writeD(0); // remain time base?
|
||||
endTime = _player.getVariables().getLong(PlayerVariables.HUNTING_ZONE_RESET_TIME + 107, 0);
|
||||
if ((endTime + Config.TIME_LIMITED_ZONE_RESET_DELAY) < currentTime)
|
||||
{
|
||||
endTime = currentTime + Config.TIME_LIMITED_ZONE_INITIAL_TIME;
|
||||
}
|
||||
packet.writeD((int) (Math.max(endTime - currentTime, 0)) / 1000); // remain time
|
||||
packet.writeD((int) (Config.TIME_LIMITED_MAX_ADDED_TIME / 1000));
|
||||
packet.writeD(3600); // remain refill time
|
||||
packet.writeD(3600); // refill time max
|
||||
packet.writeD(_isInTimedHuntingZone ? 0 : 1); // field activated (272 C to D)
|
||||
packet.writeH(0);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user