Support for Zaken login.
This commit is contained in:
parent
edbe300d94
commit
96529d260b
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>L2J_Mobius_Classic_2.0_Saviors</name>
|
||||
<name>L2J_Mobius_Classic_2.0_Zaken</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE xml>
|
||||
<project name="L2J_Mobius_Classic_2.0_Saviors" default="cleanup" basedir=".">
|
||||
<project name="L2J_Mobius_Classic_2.0_Zaken" default="cleanup" basedir=".">
|
||||
<description>
|
||||
This file is part of the L2J Mobius project.
|
||||
|
||||
@ -136,15 +136,15 @@
|
||||
</target>
|
||||
|
||||
<target name="adding-core" depends="jar" description="Adding the compiled jars to the Zip file.">
|
||||
<zip destfile="${build}/L2J_Mobius_Classic_2.0_Saviors.zip" basedir="${build.dist}" level="9" />
|
||||
<zip destfile="${build}/L2J_Mobius_Classic_2.0_Zaken.zip" basedir="${build.dist}" level="9" />
|
||||
</target>
|
||||
|
||||
<target name="adding-datapack" depends="adding-core" description="Updating the Zip file with datapack content.">
|
||||
<zip destfile="${build}/L2J_Mobius_Classic_2.0_Saviors.zip" basedir="${datapack}" update="true" level="9" />
|
||||
<zip destfile="${build}/L2J_Mobius_Classic_2.0_Zaken.zip" basedir="${datapack}" update="true" level="9" />
|
||||
</target>
|
||||
|
||||
<target name="adding-readme" depends="adding-datapack" description="Adding readme.txt to the Zip file.">
|
||||
<zip destfile="${build}/L2J_Mobius_Classic_2.0_Saviors.zip" basedir="." includes="readme.txt" update="true" level="9" />
|
||||
<zip destfile="${build}/L2J_Mobius_Classic_2.0_Zaken.zip" basedir="." includes="readme.txt" update="true" level="9" />
|
||||
</target>
|
||||
|
||||
<target name="cleanup" depends="adding-readme" description="Cleaning the build folder.">
|
||||
|
@ -88,8 +88,8 @@ MaximumOnlineUsers = 2000
|
||||
# Numbers of protocol revisions that server allows to connect.
|
||||
# Delimiter is ;
|
||||
# WARNING: <u><b><font color="red">Changing the protocol revision may result in incompatible communication and many errors in game!</font></b></u>
|
||||
# Helios: 64
|
||||
AllowedProtocolRevisions = 64
|
||||
# Grand Crusade: 110
|
||||
AllowedProtocolRevisions = 110
|
||||
|
||||
# Displays server type next to the server name on character selection.
|
||||
# Notes:
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/DailyMission.xsd">
|
||||
<reward id="24" reward_id="4" name="Reach Level (Lv. 2)">
|
||||
<reward id="24" reward_id="4" name="Reach Level (Lv. 2)" requiredCompletion="2">
|
||||
<handler name="level">
|
||||
<param name="level">2</param>
|
||||
</handler>
|
||||
@ -8,7 +8,7 @@
|
||||
<item id="29651" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="25" reward_id="7" name="Reach Level (Lv. 3)">
|
||||
<reward id="25" reward_id="7" name="Reach Level (Lv. 3)" requiredCompletion="3">
|
||||
<handler name="level">
|
||||
<param name="level">3</param>
|
||||
</handler>
|
||||
@ -16,7 +16,7 @@
|
||||
<item id="29651" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="26" reward_id="10" name="Reach Level (Lv. 4)">
|
||||
<reward id="26" reward_id="10" name="Reach Level (Lv. 4)" requiredCompletion="4">
|
||||
<handler name="level">
|
||||
<param name="level">4</param>
|
||||
</handler>
|
||||
@ -24,7 +24,7 @@
|
||||
<item id="10650" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="27" reward_id="13" name="Reach Level (Lv. 5)">
|
||||
<reward id="27" reward_id="13" name="Reach Level (Lv. 5)" requiredCompletion="5">
|
||||
<handler name="level">
|
||||
<param name="level">5</param>
|
||||
</handler>
|
||||
@ -32,7 +32,7 @@
|
||||
<item id="70094" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="28" reward_id="13" name="Reach Level (Lv. 6)">
|
||||
<reward id="28" reward_id="13" name="Reach Level (Lv. 6)" requiredCompletion="6">
|
||||
<handler name="level">
|
||||
<param name="level">6</param>
|
||||
</handler>
|
||||
@ -40,7 +40,7 @@
|
||||
<item id="29650" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="29" reward_id="14" name="Reach Level (Lv. 7)">
|
||||
<reward id="29" reward_id="14" name="Reach Level (Lv. 7)" requiredCompletion="7">
|
||||
<handler name="level">
|
||||
<param name="level">7</param>
|
||||
</handler>
|
||||
@ -48,7 +48,7 @@
|
||||
<item id="29654" count="2" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="30" reward_id="15" name="Reach Level (Lv. 8)">
|
||||
<reward id="30" reward_id="15" name="Reach Level (Lv. 8)" requiredCompletion="8">
|
||||
<handler name="level">
|
||||
<param name="level">8</param>
|
||||
</handler>
|
||||
@ -56,7 +56,7 @@
|
||||
<item id="29651" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="31" reward_id="25" name="Reach Level (Lv. 9)">
|
||||
<reward id="31" reward_id="25" name="Reach Level (Lv. 9)" requiredCompletion="9">
|
||||
<handler name="level">
|
||||
<param name="level">9</param>
|
||||
</handler>
|
||||
@ -64,7 +64,7 @@
|
||||
<item id="10650" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="32" reward_id="28" name="Reach Level (Lv. 10 Warrior only)">
|
||||
<reward id="32" reward_id="28" name="Reach Level (Lv. 10 Warrior only)" requiredCompletion="10">
|
||||
<classId>0</classId>
|
||||
<classId>18</classId>
|
||||
<classId>31</classId>
|
||||
@ -106,7 +106,7 @@
|
||||
<item id="70097" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="32" reward_id="29" name="Reach Level (Lv. 10 Warrior only)">
|
||||
<reward id="32" reward_id="29" name="Reach Level (Lv. 10 Warrior only)" requiredCompletion="10">
|
||||
<classId>7</classId>
|
||||
<classId>22</classId>
|
||||
<classId>35</classId>
|
||||
@ -138,7 +138,7 @@
|
||||
<item id="70097" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="32" reward_id="30" name="Reach Level (Lv. 10 Wizard only)">
|
||||
<reward id="32" reward_id="30" name="Reach Level (Lv. 10 Wizard only)" requiredCompletion="10">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -183,7 +183,7 @@
|
||||
<item id="70100" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="33" reward_id="31" name="Reach Level (Lv. 11)">
|
||||
<reward id="33" reward_id="31" name="Reach Level (Lv. 11)" requiredCompletion="11">
|
||||
<handler name="level">
|
||||
<param name="level">11</param>
|
||||
</handler>
|
||||
@ -191,7 +191,7 @@
|
||||
<item id="29651" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="34" reward_id="34" name="Reach Level (Lv. 12)">
|
||||
<reward id="34" reward_id="34" name="Reach Level (Lv. 12)" requiredCompletion="12">
|
||||
<handler name="level">
|
||||
<param name="level">12</param>
|
||||
</handler>
|
||||
@ -199,7 +199,7 @@
|
||||
<item id="29650" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="35" reward_id="37" name="Reach Level (Lv. 13)">
|
||||
<reward id="35" reward_id="37" name="Reach Level (Lv. 13)" requiredCompletion="13">
|
||||
<handler name="level">
|
||||
<param name="level">13</param>
|
||||
</handler>
|
||||
@ -207,7 +207,7 @@
|
||||
<item id="29654" count="2" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="36" reward_id="40" name="Reach Level (Lv. 14)">
|
||||
<reward id="36" reward_id="40" name="Reach Level (Lv. 14)" requiredCompletion="14">
|
||||
<handler name="level">
|
||||
<param name="level">14</param>
|
||||
</handler>
|
||||
@ -215,7 +215,7 @@
|
||||
<item id="29652" count="15" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="37" reward_id="43" name="Reach Level (Lv. 15)">
|
||||
<reward id="37" reward_id="43" name="Reach Level (Lv. 15)" requiredCompletion="15">
|
||||
<handler name="level">
|
||||
<param name="level">15</param>
|
||||
</handler>
|
||||
@ -223,7 +223,7 @@
|
||||
<item id="70101" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="38" reward_id="46" name="Reach Level (Lv. 16)">
|
||||
<reward id="38" reward_id="46" name="Reach Level (Lv. 16)" requiredCompletion="16">
|
||||
<handler name="level">
|
||||
<param name="level">16</param>
|
||||
</handler>
|
||||
@ -231,7 +231,7 @@
|
||||
<item id="29650" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="39" reward_id="49" name="Reach Level (Lv. 17)">
|
||||
<reward id="39" reward_id="49" name="Reach Level (Lv. 17)" requiredCompletion="17">
|
||||
<handler name="level">
|
||||
<param name="level">17</param>
|
||||
</handler>
|
||||
@ -239,7 +239,7 @@
|
||||
<item id="29654" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="40" reward_id="52" name="Reach Level (Lv. 18 Warrior only)">
|
||||
<reward id="40" reward_id="52" name="Reach Level (Lv. 18 Warrior only)" requiredCompletion="18">
|
||||
<classId>0</classId>
|
||||
<classId>18</classId>
|
||||
<classId>31</classId>
|
||||
@ -279,7 +279,7 @@
|
||||
<item id="70102" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="40" reward_id="53" name="Reach Level (Lv. 18 Warrior only)">
|
||||
<reward id="40" reward_id="53" name="Reach Level (Lv. 18 Warrior only)" requiredCompletion="18">
|
||||
<classId>7</classId>
|
||||
<classId>22</classId>
|
||||
<classId>35</classId>
|
||||
@ -309,7 +309,7 @@
|
||||
<item id="70102" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="40" reward_id="54" name="Reach Level (Lv. 18 Wizard only)">
|
||||
<reward id="40" reward_id="54" name="Reach Level (Lv. 18 Wizard only)" requiredCompletion="18">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -352,7 +352,7 @@
|
||||
<item id="70103" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="41" reward_id="55" name="Reach Level (Lv. 19)">
|
||||
<reward id="41" reward_id="55" name="Reach Level (Lv. 19)" requiredCompletion="19">
|
||||
<handler name="level">
|
||||
<param name="level">19</param>
|
||||
</handler>
|
||||
@ -360,7 +360,7 @@
|
||||
<item id="7122" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="42" reward_id="58" name="Reach Level (Lv. 20)">
|
||||
<reward id="42" reward_id="58" name="Reach Level (Lv. 20)" requiredCompletion="20">
|
||||
<handler name="level">
|
||||
<param name="level">20</param>
|
||||
</handler>
|
||||
@ -371,7 +371,7 @@
|
||||
<item id="70186" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="43" reward_id="61" name="Reach Level (Lv. 21)">
|
||||
<reward id="43" reward_id="61" name="Reach Level (Lv. 21)" requiredCompletion="21">
|
||||
<handler name="level">
|
||||
<param name="level">21</param>
|
||||
</handler>
|
||||
@ -379,7 +379,7 @@
|
||||
<item id="29650" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="44" reward_id="64" name="Reach Level (Lv. 22)">
|
||||
<reward id="44" reward_id="64" name="Reach Level (Lv. 22)" requiredCompletion="22">
|
||||
<handler name="level">
|
||||
<param name="level">22</param>
|
||||
</handler>
|
||||
@ -387,7 +387,7 @@
|
||||
<item id="29654" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="45" reward_id="67" name="Reach Level (Lv. 23 Warrior only)">
|
||||
<reward id="45" reward_id="67" name="Reach Level (Lv. 23 Warrior only)" requiredCompletion="23">
|
||||
<classId>0</classId>
|
||||
<classId>18</classId>
|
||||
<classId>31</classId>
|
||||
@ -427,7 +427,7 @@
|
||||
<item id="70104" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="45" reward_id="68" name="Reach Level (Lv. 23 Warrior only)">
|
||||
<reward id="45" reward_id="68" name="Reach Level (Lv. 23 Warrior only)" requiredCompletion="23">
|
||||
<classId>7</classId>
|
||||
<classId>22</classId>
|
||||
<classId>35</classId>
|
||||
@ -457,7 +457,7 @@
|
||||
<item id="70102" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="45" reward_id="69" name="Reach Level (Lv. 23 Wizard only)">
|
||||
<reward id="45" reward_id="69" name="Reach Level (Lv. 23 Wizard only)" requiredCompletion="23">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -500,7 +500,7 @@
|
||||
<item id="70105" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="46" reward_id="70" name="Reach Level (Lv. 24)">
|
||||
<reward id="46" reward_id="70" name="Reach Level (Lv. 24)" requiredCompletion="24">
|
||||
<handler name="level">
|
||||
<param name="level">24</param>
|
||||
</handler>
|
||||
@ -510,7 +510,7 @@
|
||||
<item id="7126" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="47" reward_id="73" name="Reach Level (Lv. 25)">
|
||||
<reward id="47" reward_id="73" name="Reach Level (Lv. 25)" requiredCompletion="25">
|
||||
<handler name="level">
|
||||
<param name="level">25</param>
|
||||
</handler>
|
||||
@ -518,7 +518,7 @@
|
||||
<item id="70114" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="48" reward_id="76" name="Reach Level (Lv. 26)">
|
||||
<reward id="48" reward_id="76" name="Reach Level (Lv. 26)" requiredCompletion="26">
|
||||
<handler name="level">
|
||||
<param name="level">26</param>
|
||||
</handler>
|
||||
@ -526,7 +526,7 @@
|
||||
<item id="29648" count="6" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="49" reward_id="79" name="Reach Level (Lv. 27)">
|
||||
<reward id="49" reward_id="79" name="Reach Level (Lv. 27)" requiredCompletion="27">
|
||||
<handler name="level">
|
||||
<param name="level">27</param>
|
||||
</handler>
|
||||
@ -534,7 +534,7 @@
|
||||
<item id="29654" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="50" reward_id="82" name="Reach Level (Lv. 28 Warrior only)">
|
||||
<reward id="50" reward_id="82" name="Reach Level (Lv. 28 Warrior only)" requiredCompletion="28">
|
||||
<classId>0</classId>
|
||||
<classId>18</classId>
|
||||
<classId>31</classId>
|
||||
@ -574,7 +574,7 @@
|
||||
<item id="70104" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="50" reward_id="83" name="Reach Level (Lv. 28 Warrior only)">
|
||||
<reward id="50" reward_id="83" name="Reach Level (Lv. 28 Warrior only)" requiredCompletion="28">
|
||||
<classId>7</classId>
|
||||
<classId>22</classId>
|
||||
<classId>35</classId>
|
||||
@ -604,7 +604,7 @@
|
||||
<item id="70104" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="50" reward_id="84" name="Reach Level (Lv. 28 Wizard only)">
|
||||
<reward id="50" reward_id="84" name="Reach Level (Lv. 28 Wizard only)" requiredCompletion="28">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -647,7 +647,7 @@
|
||||
<item id="70105" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="51" reward_id="85" name="Reach Level (Lv. 29)">
|
||||
<reward id="51" reward_id="85" name="Reach Level (Lv. 29)" requiredCompletion="29">
|
||||
<handler name="level">
|
||||
<param name="level">29</param>
|
||||
</handler>
|
||||
@ -657,7 +657,7 @@
|
||||
<item id="7126" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="52" reward_id="88" name="Reach Level (Lv. 30)">
|
||||
<reward id="52" reward_id="88" name="Reach Level (Lv. 30)" requiredCompletion="30">
|
||||
<handler name="level">
|
||||
<param name="level">30</param>
|
||||
</handler>
|
||||
@ -665,7 +665,7 @@
|
||||
<item id="70106" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="53" reward_id="91" name="Reach Level (Lv. 31)">
|
||||
<reward id="53" reward_id="91" name="Reach Level (Lv. 31)" requiredCompletion="31">
|
||||
<handler name="level">
|
||||
<param name="level">31</param>
|
||||
</handler>
|
||||
@ -673,7 +673,7 @@
|
||||
<item id="29648" count="6" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="54" reward_id="94" name="Reach Level (Lv. 32)">
|
||||
<reward id="54" reward_id="94" name="Reach Level (Lv. 32)" requiredCompletion="32">
|
||||
<handler name="level">
|
||||
<param name="level">32</param>
|
||||
</handler>
|
||||
@ -681,7 +681,7 @@
|
||||
<item id="29654" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="55" reward_id="97" name="Reach Level (Lv. 33)">
|
||||
<reward id="55" reward_id="97" name="Reach Level (Lv. 33)" requiredCompletion="33">
|
||||
<handler name="level">
|
||||
<param name="level">33</param>
|
||||
</handler>
|
||||
@ -689,7 +689,7 @@
|
||||
<item id="70107" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="56" reward_id="100" name="Reach Level (Lv. 34)">
|
||||
<reward id="56" reward_id="100" name="Reach Level (Lv. 34)" requiredCompletion="34">
|
||||
<handler name="level">
|
||||
<param name="level">34</param>
|
||||
</handler>
|
||||
@ -699,7 +699,7 @@
|
||||
<item id="7126" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="57" reward_id="103" name="Reach Level (Lv. 35)">
|
||||
<reward id="57" reward_id="103" name="Reach Level (Lv. 35)" requiredCompletion="35">
|
||||
<handler name="level">
|
||||
<param name="level">35</param>
|
||||
</handler>
|
||||
@ -707,7 +707,7 @@
|
||||
<item id="29648" count="6" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="58" reward_id="106" name="Reach Level (Lv. 36)">
|
||||
<reward id="58" reward_id="106" name="Reach Level (Lv. 36)" requiredCompletion="36">
|
||||
<handler name="level">
|
||||
<param name="level">36</param>
|
||||
</handler>
|
||||
@ -715,7 +715,7 @@
|
||||
<item id="29654" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="59" reward_id="109" name="Reach Level (Lv. 37)">
|
||||
<reward id="59" reward_id="109" name="Reach Level (Lv. 37)" requiredCompletion="37">
|
||||
<handler name="level">
|
||||
<param name="level">37</param>
|
||||
</handler>
|
||||
@ -723,7 +723,7 @@
|
||||
<item id="70107" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="60" reward_id="112" name="Reach Level (Lv. 38 Warrior only)">
|
||||
<reward id="60" reward_id="112" name="Reach Level (Lv. 38 Warrior only)" requiredCompletion="38">
|
||||
<classId>0</classId>
|
||||
<classId>18</classId>
|
||||
<classId>31</classId>
|
||||
@ -763,7 +763,7 @@
|
||||
<item id="70108" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="60" reward_id="113" name="Reach Level (Lv. 38 Warrior only)">
|
||||
<reward id="60" reward_id="113" name="Reach Level (Lv. 38 Warrior only)" requiredCompletion="38">
|
||||
<classId>7</classId>
|
||||
<classId>22</classId>
|
||||
<classId>35</classId>
|
||||
@ -793,7 +793,7 @@
|
||||
<item id="70108" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="60" reward_id="114" name="Reach Level (Lv. 38 Wizard only)">
|
||||
<reward id="60" reward_id="114" name="Reach Level (Lv. 38 Wizard only)" requiredCompletion="38">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -836,7 +836,7 @@
|
||||
<item id="70109" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="61" reward_id="115" name="Reach Level (Lv. 39)">
|
||||
<reward id="61" reward_id="115" name="Reach Level (Lv. 39)" requiredCompletion="39">
|
||||
<handler name="level">
|
||||
<param name="level">39</param>
|
||||
</handler>
|
||||
@ -846,7 +846,7 @@
|
||||
<item id="7126" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="62" reward_id="118" name="Reach Level (Lv. 40)">
|
||||
<reward id="62" reward_id="118" name="Reach Level (Lv. 40)" requiredCompletion="40">
|
||||
<handler name="level">
|
||||
<param name="level">40</param>
|
||||
</handler>
|
||||
@ -854,7 +854,7 @@
|
||||
<item id="70024" count="20" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="63" reward_id="121" name="Reach Level (Lv. 41)">
|
||||
<reward id="63" reward_id="121" name="Reach Level (Lv. 41)" requiredCompletion="41">
|
||||
<handler name="level">
|
||||
<param name="level">41</param>
|
||||
</handler>
|
||||
@ -862,7 +862,7 @@
|
||||
<item id="29648" count="6" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="64" reward_id="124" name="Reach Level (Lv. 42)">
|
||||
<reward id="64" reward_id="124" name="Reach Level (Lv. 42)" requiredCompletion="42">
|
||||
<handler name="level">
|
||||
<param name="level">42</param>
|
||||
</handler>
|
||||
@ -870,7 +870,7 @@
|
||||
<item id="29655" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="65" reward_id="127" name="Reach Level (Lv. 43 Warrior only)">
|
||||
<reward id="65" reward_id="127" name="Reach Level (Lv. 43 Warrior only)" requiredCompletion="43">
|
||||
<classId>0</classId>
|
||||
<classId>18</classId>
|
||||
<classId>31</classId>
|
||||
@ -910,7 +910,7 @@
|
||||
<item id="70110" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="65" reward_id="128" name="Reach Level (Lv. 43 Warrior only)">
|
||||
<reward id="65" reward_id="128" name="Reach Level (Lv. 43 Warrior only)" requiredCompletion="43">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -953,7 +953,7 @@
|
||||
<item id="70110" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="65" reward_id="129" name="Reach Level (Lv. 43 Wizard only)">
|
||||
<reward id="65" reward_id="129" name="Reach Level (Lv. 43 Wizard only)" requiredCompletion="43">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -996,7 +996,7 @@
|
||||
<item id="70111" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="66" reward_id="130" name="Reach Level (Lv. 44)">
|
||||
<reward id="66" reward_id="130" name="Reach Level (Lv. 44)" requiredCompletion="44">
|
||||
<handler name="level">
|
||||
<param name="level">44</param>
|
||||
</handler>
|
||||
@ -1006,7 +1006,7 @@
|
||||
<item id="7126" count="3" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="67" reward_id="133" name="Reach Level (Lv. 45)">
|
||||
<reward id="67" reward_id="133" name="Reach Level (Lv. 45)" requiredCompletion="45">
|
||||
<handler name="level">
|
||||
<param name="level">45</param>
|
||||
</handler>
|
||||
@ -1014,7 +1014,7 @@
|
||||
<item id="70112" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="68" reward_id="136" name="Reach Level (Lv. 46)">
|
||||
<reward id="68" reward_id="136" name="Reach Level (Lv. 46)" requiredCompletion="46">
|
||||
<handler name="level">
|
||||
<param name="level">46</param>
|
||||
</handler>
|
||||
@ -1022,7 +1022,7 @@
|
||||
<item id="29648" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="69" reward_id="139" name="Reach Level (Lv. 47)">
|
||||
<reward id="69" reward_id="139" name="Reach Level (Lv. 47)" requiredCompletion="47">
|
||||
<handler name="level">
|
||||
<param name="level">47</param>
|
||||
</handler>
|
||||
@ -1030,7 +1030,7 @@
|
||||
<item id="29655" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="70" reward_id="142" name="Reach Level (Lv. 48 Warrior only)">
|
||||
<reward id="70" reward_id="142" name="Reach Level (Lv. 48 Warrior only)" requiredCompletion="48">
|
||||
<classId>0</classId>
|
||||
<classId>18</classId>
|
||||
<classId>31</classId>
|
||||
@ -1070,7 +1070,7 @@
|
||||
<item id="70110" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="70" reward_id="143" name="Reach Level (Lv. 48 Warrior only)">
|
||||
<reward id="70" reward_id="143" name="Reach Level (Lv. 48 Warrior only)" requiredCompletion="48">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -1113,7 +1113,7 @@
|
||||
<item id="70110" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="70" reward_id="144" name="Reach Level (Lv. 48 Wizard only)">
|
||||
<reward id="70" reward_id="144" name="Reach Level (Lv. 48 Wizard only)" requiredCompletion="48">
|
||||
<classId>10</classId>
|
||||
<classId>25</classId>
|
||||
<classId>38</classId>
|
||||
@ -1156,7 +1156,7 @@
|
||||
<item id="70111" count="5" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="71" reward_id="145" name="Reach Level (Lv. 49)">
|
||||
<reward id="71" reward_id="145" name="Reach Level (Lv. 49)" requiredCompletion="49">
|
||||
<handler name="level">
|
||||
<param name="level">49</param>
|
||||
</handler>
|
||||
@ -1164,7 +1164,7 @@
|
||||
<item id="70113" count="10" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="72" reward_id="148" name="Reach Level (Lv. 50)">
|
||||
<reward id="72" reward_id="148" name="Reach Level (Lv. 50)" requiredCompletion="50">
|
||||
<handler name="level">
|
||||
<param name="level">50</param>
|
||||
</handler>
|
||||
@ -1174,49 +1174,51 @@
|
||||
<item id="49509" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="224" reward_id="604" name="Login All Weekend" isOneTime="false">
|
||||
<!--
|
||||
<reward id="224" reward_id="604" name="Login All Weekend" isMainClassOnly="false" isOneTime="false">
|
||||
<items>
|
||||
<item id="29648" count="2" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="225" reward_id="605" name="Login All Month" isOneTime="false">
|
||||
<reward id="225" reward_id="605" name="Login All Month" isMainClassOnly="false" isOneTime="false">
|
||||
<items>
|
||||
<item id="29648" count="4" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="226" reward_id="606" name="Quest Mania" requiredCompletion="2" isOneTime="false">
|
||||
-->
|
||||
<reward id="226" reward_id="606" name="Quest Mania" isMainClassOnly="false" requiredCompletion="2" isOneTime="false">
|
||||
<handler name="quest" />
|
||||
<items>
|
||||
<item id="29648" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="231" reward_id="611" name="Fisher" requiredCompletion="3" isOneTime="false">
|
||||
<reward id="231" reward_id="611" name="Fisher" isMainClassOnly="false" requiredCompletion="3" isOneTime="false">
|
||||
<handler name="fishing" />
|
||||
<items>
|
||||
<item id="29648" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<!--
|
||||
<reward id="232" reward_id="612" name="Have you joined a clan?" requiredCompletion="1" isOneTime="true">
|
||||
<reward id="232" reward_id="612" name="Have you joined a clan?" isMainClassOnly="false" requiredCompletion="1" isOneTime="true">
|
||||
<handler name="siege" />
|
||||
<items>
|
||||
<item id="29654" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
-->
|
||||
<reward id="233" reward_id="613" name="Olympiad Warrior" requiredCompletion="1" isOneTime="false">
|
||||
<reward id="233" reward_id="613" name="Olympiad Warrior" isMainClassOnly="false" requiredCompletion="1" isOneTime="false">
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="29654" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="234" reward_id="614" name="Olympiad Warrior" requiredCompletion="10" isOneTime="false">
|
||||
<reward id="234" reward_id="614" name="Olympiad Warrior" isMainClassOnly="false" requiredCompletion="10" isOneTime="false">
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="70000" count="1" />
|
||||
</items>
|
||||
</reward>
|
||||
<reward id="235" reward_id="615" name="Olympiad Warrior" requiredCompletion="30" isOneTime="false">
|
||||
<reward id="235" reward_id="615" name="Olympiad Warrior" isMainClassOnly="false" requiredCompletion="30" isOneTime="false">
|
||||
<handler name="olympiad" />
|
||||
<items>
|
||||
<item id="70280" count="1" />
|
||||
|
@ -30,6 +30,6 @@ public final class InstanceZoneInfo implements IPlayerActionHandler
|
||||
@Override
|
||||
public void useAction(L2PcInstance activeChar, ActionDataHolder data, boolean ctrlPressed, boolean shiftPressed)
|
||||
{
|
||||
activeChar.sendPacket(new ExInzoneWaiting(activeChar));
|
||||
activeChar.sendPacket(new ExInzoneWaiting(activeChar, false));
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class InstanceZone implements IUserCommandHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
activeChar.sendPacket(new ExInzoneWaiting(activeChar));
|
||||
activeChar.sendPacket(new ExInzoneWaiting(activeChar, false));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,9 @@
|
||||
<xs:attribute type="xs:string" name="name" />
|
||||
<xs:attribute type="xs:short" name="requiredCompletion" />
|
||||
<xs:attribute type="xs:boolean" name="isOneTime" />
|
||||
<xs:attribute type="xs:boolean" name="isMainClassOnly" />
|
||||
<xs:attribute type="xs:boolean" name="isDualClassOnly" />
|
||||
<xs:attribute type="xs:boolean" name="isDisplayedWhenNotAvailable" />
|
||||
</xs:complexType>
|
||||
<xs:complexType name="listType">
|
||||
<xs:sequence>
|
||||
|
@ -69,6 +69,12 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer
|
||||
return entry != null ? entry.getProgress() : 0;
|
||||
}
|
||||
|
||||
public boolean getRecentlyCompleted(L2PcInstance player)
|
||||
{
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), false);
|
||||
return (entry != null) && entry.getRecentlyCompleted();
|
||||
}
|
||||
|
||||
public synchronized void reset()
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getInstance().getConnection();
|
||||
@ -97,6 +103,7 @@ public abstract class AbstractDailyMissionHandler extends ListenersContainer
|
||||
final DailyMissionPlayerEntry entry = getPlayerEntry(player.getObjectId(), true);
|
||||
entry.setStatus(DailyMissionStatus.COMPLETED);
|
||||
entry.setLastCompleted(System.currentTimeMillis());
|
||||
entry.setRecentlyCompleted(true);
|
||||
storePlayerEntry(entry);
|
||||
|
||||
return true;
|
||||
|
@ -109,6 +109,10 @@ public final class GrandBossManager implements IStorable
|
||||
|
||||
public int getBossStatus(int bossId)
|
||||
{
|
||||
if (!_bossStatus.containsKey(bossId))
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
return _bossStatus.get(bossId);
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,9 @@ public class DailyMissionDataHolder
|
||||
private final int _requiredCompletions;
|
||||
private final StatsSet _params;
|
||||
private final boolean _isOneTime;
|
||||
private final boolean _isMainClassOnly;
|
||||
private final boolean _isDualClassOnly;
|
||||
private final boolean _isDisplayedWhenNotAvailable;
|
||||
private final AbstractDailyMissionHandler _handler;
|
||||
|
||||
public DailyMissionDataHolder(StatsSet set)
|
||||
@ -51,6 +54,9 @@ public class DailyMissionDataHolder
|
||||
_classRestriction = set.getList("classRestriction", ClassId.class);
|
||||
_params = set.getObject("params", StatsSet.class);
|
||||
_isOneTime = set.getBoolean("isOneTime", true);
|
||||
_isMainClassOnly = set.getBoolean("isMainClassOnly", true);
|
||||
_isDualClassOnly = set.getBoolean("isDualClassOnly", false);
|
||||
_isDisplayedWhenNotAvailable = set.getBoolean("isDisplayedWhenNotAvailable", true);
|
||||
_handler = handler != null ? handler.apply(this) : null;
|
||||
}
|
||||
|
||||
@ -89,9 +95,49 @@ public class DailyMissionDataHolder
|
||||
return _isOneTime;
|
||||
}
|
||||
|
||||
public boolean isMainClassOnly()
|
||||
{
|
||||
return _isMainClassOnly;
|
||||
}
|
||||
|
||||
public boolean isDualClassOnly()
|
||||
{
|
||||
return _isDualClassOnly;
|
||||
}
|
||||
|
||||
public boolean isDisplayedWhenNotAvailable()
|
||||
{
|
||||
return _isDisplayedWhenNotAvailable;
|
||||
}
|
||||
|
||||
public boolean isDisplayable(L2PcInstance player)
|
||||
{
|
||||
return (!_isOneTime || (getStatus(player) != DailyMissionStatus.COMPLETED.getClientId())) && (_classRestriction.isEmpty() || _classRestriction.contains(player.getClassId()));
|
||||
// Check if its main class only
|
||||
if (isMainClassOnly() && (player.isSubClassActive() || player.isDualClassActive()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if its dual class only.
|
||||
if (isDualClassOnly() && !player.isDualClassActive())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check for specific class restrictions
|
||||
if (!_classRestriction.isEmpty() && !_classRestriction.contains(player.getClassId()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
final int status = getStatus(player);
|
||||
if (!isDisplayedWhenNotAvailable() && (status == DailyMissionStatus.NOT_AVAILABLE.getClientId()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Show only if its repeatable, recently completed or incompleted that has met the checks above.
|
||||
return (!isOneTime() || getRecentlyCompleted(player) || (status != DailyMissionStatus.COMPLETED.getClientId()));
|
||||
}
|
||||
|
||||
public void requestReward(L2PcInstance player)
|
||||
@ -112,6 +158,11 @@ public class DailyMissionDataHolder
|
||||
return _handler != null ? _handler.getProgress(player) : DailyMissionStatus.NOT_AVAILABLE.getClientId();
|
||||
}
|
||||
|
||||
public boolean getRecentlyCompleted(L2PcInstance player)
|
||||
{
|
||||
return (_handler != null) && _handler.getRecentlyCompleted(player);
|
||||
}
|
||||
|
||||
public void reset()
|
||||
{
|
||||
if (_handler != null)
|
||||
|
@ -28,6 +28,7 @@ public class DailyMissionPlayerEntry
|
||||
private DailyMissionStatus _status = DailyMissionStatus.NOT_AVAILABLE;
|
||||
private int _progress;
|
||||
private long _lastCompleted;
|
||||
private boolean _recentlyCompleted;
|
||||
|
||||
public DailyMissionPlayerEntry(int objectId, int rewardId)
|
||||
{
|
||||
@ -88,4 +89,14 @@ public class DailyMissionPlayerEntry
|
||||
{
|
||||
_lastCompleted = lastCompleted;
|
||||
}
|
||||
|
||||
public boolean getRecentlyCompleted()
|
||||
{
|
||||
return _recentlyCompleted;
|
||||
}
|
||||
|
||||
public void setRecentlyCompleted(boolean recentlyCompleted)
|
||||
{
|
||||
_recentlyCompleted = recentlyCompleted;
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,8 @@ import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
|
||||
import com.l2jmobius.gameserver.model.items.L2Item;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExPrivateStoreBuyingResult;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExPrivateStoreSellingResult;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
@ -872,6 +874,8 @@ public class TradeList
|
||||
msg.addItemName(newItem);
|
||||
player.sendPacket(msg);
|
||||
}
|
||||
|
||||
_owner.sendPacket(new ExPrivateStoreSellingResult(item.getObjectId(), item.getCount(), player.getAppearance().getVisibleName()));
|
||||
}
|
||||
|
||||
// Send inventory update packet
|
||||
@ -1063,6 +1067,8 @@ public class TradeList
|
||||
msg.addItemName(newItem);
|
||||
player.sendPacket(msg);
|
||||
}
|
||||
|
||||
_owner.sendPacket(new ExPrivateStoreBuyingResult(item.getObjectId(), item.getCount(), player.getAppearance().getVisibleName()));
|
||||
}
|
||||
|
||||
if (totalPrice > 0)
|
||||
|
@ -288,7 +288,7 @@ public class PcStat extends PlayableStat
|
||||
// Send acquirable skill list
|
||||
getActiveChar().sendPacket(new AcquireSkillList(getActiveChar()));
|
||||
getActiveChar().sendPacket(new ExVoteSystemInfo(getActiveChar()));
|
||||
getActiveChar().sendPacket(new ExOneDayReceiveRewardList(getActiveChar()));
|
||||
getActiveChar().sendPacket(new ExOneDayReceiveRewardList(getActiveChar(), true));
|
||||
return levelIncreased;
|
||||
}
|
||||
|
||||
|
@ -77,6 +77,8 @@ import com.l2jmobius.gameserver.network.clientpackets.primeshop.RequestBRPresent
|
||||
import com.l2jmobius.gameserver.network.clientpackets.primeshop.RequestBRProductInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.primeshop.RequestBRProductList;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.primeshop.RequestBRRecentProductList;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.raidbossinfo.RequestRaidBossSpawnInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.raidbossinfo.RequestRaidServerInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.sayune.RequestFlyMove;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.sayune.RequestFlyMoveStart;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.shuttle.CannotMoveAnymoreInShuttle;
|
||||
@ -334,6 +336,7 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
|
||||
REQUEST_NEW_ENCHANT_REMOVE_TWO(0xF7, RequestNewEnchantRemoveTwo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_NEW_ENCHANT_CLOSE(0xF8, RequestNewEnchantClose::new, ConnectionState.IN_GAME),
|
||||
REQUEST_NEW_ENCHANT_TRY(0xF9, RequestNewEnchantTry::new, ConnectionState.IN_GAME),
|
||||
REQUEST_NEW_ENCHANT_RETRY_TO_PUT_ITEMS(0xFA, RequestNewEnchantRetryToPutItems::new, ConnectionState.IN_GAME),
|
||||
EX_SEND_SELECTED_QUEST_ZONE_ID(0xFF, ExSendSelectedQuestZoneID::new, ConnectionState.IN_GAME),
|
||||
REQUEST_ALCHEMY_SKILL_LIST(0x100, RequestAlchemySkillList::new, ConnectionState.IN_GAME),
|
||||
REQUEST_ALCHEMY_TRY_MIX_CUBE(0x101, null, ConnectionState.IN_GAME),
|
||||
@ -358,22 +361,40 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
|
||||
EX_CANCEL_MATCH_ARENA(0x114, null, ConnectionState.IN_GAME),
|
||||
EX_CHANGE_CLASS_ARENA(0x115, null, ConnectionState.IN_GAME),
|
||||
EX_CONFIRM_CLASS_ARENA(0x116, null, ConnectionState.IN_GAME),
|
||||
// TODO: Check Helios updates
|
||||
REQUEST_OPEN_DECO_NPCUI(0x117, null, ConnectionState.IN_GAME),
|
||||
REQUEST_CHECK_AGIT_DECO_AVAILABILITY(0x118, null, ConnectionState.IN_GAME),
|
||||
REQUEST_USER_FACTION_INFO(0x119, null, ConnectionState.IN_GAME),
|
||||
EX_EXIT_ARENA(0x11A, null, ConnectionState.IN_GAME),
|
||||
REQUEST_EVENT_BALTHUS_TOKEN(0x11B, null, ConnectionState.IN_GAME),
|
||||
REQUEST_PARTY_MATCHING_HISTORY(0x11C, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TODO_LIST(0x11D, RequestTodoList::new, ConnectionState.IN_GAME),
|
||||
REQUEST_TODO_LIST_HTML(0x11E, null, ConnectionState.IN_GAME),
|
||||
REQUEST_ONE_DAY_REWARD_RECEIVE(0x11F, RequestOneDayRewardReceive::new, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET(0x120, null, ConnectionState.IN_GAME),
|
||||
REQUEST_PLEDGE_BONUS_OPEN(0x121, RequestPledgeBonusOpen::new, ConnectionState.IN_GAME),
|
||||
REQUEST_PLEDGE_BONUS_REWARD_LIST(0x122, RequestPledgeBonusRewardList::new, ConnectionState.IN_GAME),
|
||||
REQUEST_PLEDGE_BONUS_REWARD(0x123, RequestPledgeBonusReward::new, ConnectionState.IN_GAME),
|
||||
REQUEST_SSO_AUTHN_TOKEN(0x124, null, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET_LOGIN(0x125, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_MEMO_INFO(0x126, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x127, null, ConnectionState.IN_GAME);
|
||||
EX_ARENA_CUSTOM_NOTIFICATION(0x11D, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TODO_LIST(0x11E, RequestTodoList::new, ConnectionState.IN_GAME),
|
||||
REQUEST_TODO_LIST_HTML(0x11F, null, ConnectionState.IN_GAME),
|
||||
REQUEST_ONE_DAY_REWARD_RECEIVE(0x120, RequestOneDayRewardReceive::new, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET(0x121, null, ConnectionState.IN_GAME),
|
||||
REQUEST_PLEDGE_BONUS_OPEN(0x122, RequestPledgeBonusOpen::new, ConnectionState.IN_GAME),
|
||||
REQUEST_PLEDGE_BONUS_REWARD_LIST(0x123, RequestPledgeBonusRewardList::new, ConnectionState.IN_GAME),
|
||||
REQUEST_PLEDGE_BONUS_REWARD(0x124, RequestPledgeBonusReward::new, ConnectionState.IN_GAME),
|
||||
REQUEST_SSO_AUTHN_TOKEN(0x125, null, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET_LOGIN(0x126, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_MEMO_INFO(0x127, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, null, ConnectionState.IN_GAME),
|
||||
REQUEST_RAIDBOSS_SPAWN_INFO(0x129, RequestRaidBossSpawnInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAID_SERVER_INFO(0x12A, RequestRaidServerInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_SHOW_AGIT_SIEGE_INFO(0x12B, null, ConnectionState.IN_GAME),
|
||||
REQUEST_ITEM_AUCTION_STATUS(0x12C, null, ConnectionState.IN_GAME),
|
||||
REQUEST_MONSTER_BOOK_OPEN(0x12D, null, ConnectionState.IN_GAME),
|
||||
REQUEST_MONSTER_BOOK_CLOSE(0x12E, null, ConnectionState.IN_GAME),
|
||||
REQUEST_MONSTER_BOOK_REWARD(0x12F, null, ConnectionState.IN_GAME),
|
||||
EXREQUEST_MATCH_GROUP(0x130, null, ConnectionState.IN_GAME),
|
||||
EXREQUEST_MATCH_GROUP_ASK(0x131, null, ConnectionState.IN_GAME),
|
||||
EXREQUEST_MATCH_GROUP_ANSWER(0x132, null, ConnectionState.IN_GAME),
|
||||
EXREQUEST_MATCH_GROUP_WITHDRAW(0x133, null, ConnectionState.IN_GAME),
|
||||
EXREQUEST_MATCH_GROUP_OUST(0x134, null, ConnectionState.IN_GAME),
|
||||
EXREQUEST_MATCH_GROUP_CHANGE_MASTER(0x135, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_LIST_FOR_AD(0x136, null, ConnectionState.IN_GAME),
|
||||
REQUEST_UPGRADE_SYSTEM_RESULT(0x137, null, ConnectionState.IN_GAME),
|
||||
REQUEST_USER_BAN_INFO(0x138, null, ConnectionState.IN_GAME);
|
||||
|
||||
public static final ExIncomingPackets[] PACKET_ARRAY;
|
||||
|
||||
|
@ -694,28 +694,58 @@ public enum OutgoingPackets
|
||||
EX_CLOSING_ARENA(0xFE, 0x19B),
|
||||
EX_CLOSED_ARENA(0xFE, 0x19C),
|
||||
EX_DIE_IN_ARENA(0xFE, 0x19D),
|
||||
EX_ARENA_DASHBOARD(0xFE, 0x19E),
|
||||
EX_ARENA_UPDATE_EQUIP_SLOT(0xFE, 0x19F),
|
||||
EX_ARENA_KILL_INFO(0xFE, 0x1A0),
|
||||
EX_EXIT_ARENA(0xFE, 0x1A1),
|
||||
EX_BALTHUS_EVENT(0xFE, 0x1A2),
|
||||
EX_BALTHUS_EVENT_JACKPOT_USER(0xFE, 0x1A3),
|
||||
EX_PARTY_MATCHING_ROOM_HISTORY(0xFE, 0x1A4),
|
||||
EX_AI_CONTENT_UI_EVENT(0xFE, 0x1A5),
|
||||
EX_ONE_DAY_RECEIVE_REWARD_LIST(0xFE, 0x1A7),
|
||||
EX_CONNECTED_TIME_AND_GETTABLE_REWARD(0xFE, 0x1A8),
|
||||
EX_TODO_LIST_RECOMMAND(0xFE, 0x1A9),
|
||||
EX_TODO_LIST_INZONE(0xFE, 0x1AA),
|
||||
EX_TODO_LIST_HTML(0xFE, 0x1AB),
|
||||
EX_QUEUE_TICKET(0xFE, 0x1AC),
|
||||
EX_PLEDGE_BONUS_OPEN(0xFE, 0x1AD),
|
||||
EX_PLEDGE_BONUS_LIST(0xFE, 0x1AE),
|
||||
EX_PLEDGE_BONUS_MARK_RESET(0xFE, 0x1AF),
|
||||
EX_PLEDGE_BONUS_UPDATE(0xFE, 0x1B0),
|
||||
EX_SSO_AUTH_TOKEN(0xFE, 0x1B1),
|
||||
EX_QUEUE_TICKET_LOGIN(0xFE, 0x1B2),
|
||||
EX_ENSOUL_EXTRACTION_SHOW(0xFE, 0x1B3),
|
||||
EX_ENSOUL_EXTRACTION_RESULT(0xFE, 0x1B4);
|
||||
DUMMY_PACKET(0xFE, 0x19E),
|
||||
EX_ARENA_DASHBOARD(0xFE, 0x19F),
|
||||
EX_ARENA_UPDATE_EQUIP_SLOT(0xFE, 0x1A0),
|
||||
EX_ARENA_KILL_INFO(0xFE, 0x1A1),
|
||||
EX_EXIT_ARENA(0xFE, 0x1A2),
|
||||
EX_BALTHUS_EVENT(0xFE, 0x1A3),
|
||||
EX_BALTHUS_EVENT_JACKPOT_USER(0xFE, 0x1A4),
|
||||
EX_PARTY_MATCHING_ROOM_HISTORY(0xFE, 0x1A5),
|
||||
EX_AI_CONTENT_UI_EVENT(0xFE, 0x1A6),
|
||||
EX_ARENA_CUSTOM_NOTIFICATION(0xFE, 0x1A7),
|
||||
EX_ONE_DAY_RECEIVE_REWARD_LIST(0xFE, 0x1A8),
|
||||
EX_CONNECTED_TIME_AND_GETTABLE_REWARD(0xFE, 0x1A9),
|
||||
EX_TODO_LIST_RECOMMAND(0xFE, 0x1AA),
|
||||
EX_TODO_LIST_INZONE(0xFE, 0x1AB),
|
||||
EX_TODO_LIST_HTML(0xFE, 0x1AC),
|
||||
EX_QUEUE_TICKET(0xFE, 0x1AD),
|
||||
EX_PLEDGE_BONUS_OPEN(0xFE, 0x1AE),
|
||||
EX_PLEDGE_BONUS_LIST(0xFE, 0x1AF),
|
||||
EX_PLEDGE_BONUS_MARK_RESET(0xFE, 0x1B0),
|
||||
EX_PLEDGE_BONUS_UPDATE(0xFE, 0x1B1),
|
||||
EX_SSO_AUTH_TOKEN(0xFE, 0x1B2),
|
||||
EX_QUEUE_TICKET_LOGIN(0xFE, 0x1B3),
|
||||
EX_ENSOUL_EXTRACTION_SHOW(0xFE, 0x1B4),
|
||||
EX_ENSOUL_EXTRACTION_RESULT(0xFE, 0x1B5),
|
||||
EX_FIELD_EVENT_STEP(0xFE, 0x1B6),
|
||||
EX_FIELD_EVENT_POINT(0xFE, 0x1B7),
|
||||
EX_FIELD_EVENT_EFFECT(0xFE, 0x1B8),
|
||||
EX_RAID_BOSS_SPAWN_INFO(0xFE, 0x1B9),
|
||||
EX_RAID_SERVER_INFO(0xFE, 0x1BA),
|
||||
EX_SHOW_AGIT_SIEGE_INFO(0xFE, 0x1BB),
|
||||
EX_ITEM_ACTION_STATUS(0xFE, 0x1BC),
|
||||
EX_MONSTER_BOOK(0xFE, 0x1BD),
|
||||
EX_MONSTER_BOOK_REWARD_ICON(0xFE, 0x1BE),
|
||||
EX_MONSTER_BOOK_REWARD_FACTION_UI(0xFE, 0x1BF),
|
||||
EX_MONSTER_BOOK_OPEN_RESULT(0xFE, 0x1C0),
|
||||
EX_MONSTER_BOOK_CLOSE_FORCE(0xFE, 0x1C1),
|
||||
EX_FACTION_LEVEL_UP_NOTIFY(0xFE, 0x1C2),
|
||||
EX_ITEM_AUCTION_NEXT_INFO(0xFE, 0x1C3),
|
||||
EX_ITEM_AUCTION_UPDATE_BIDDING_INFO(0xFE, 0x1C4),
|
||||
EX_PRIVATE_STORE_BUYING_RESULT(0xFE, 0x1C5),
|
||||
EX_PRIVATE_STORE_SELLING_RESULT(0xFE, 0x1C6),
|
||||
EX_ENTER_WORLD(0xFE, 0x1C7),
|
||||
EX_MATCH_GROUP(0xFE, 0x1C8),
|
||||
EX_MATCH_GROUP_ASK(0xFE, 0x1C9),
|
||||
EX_MATCH_GROUP_WITHDRAW(0xFE, 0x1CA),
|
||||
EX_MATCH_GROUP_OUST(0xFE, 0x1CB),
|
||||
EX_ARENA_SHOW_ENEMY_PARTY_LOCATION(0xFE, 0x1CC),
|
||||
EX_DRESS_ROOM_UI_OPEN(0xFE, 0x1CD),
|
||||
EX_DRESS_HANGER_LIST(0xFE, 0x1CE),
|
||||
EX_SHOW_UPGRADE_SYSTEM(0xFE, 0x1CF),
|
||||
EX_UPGRADE_SYSTEM_RESULT(0xFE, 0x1D0),
|
||||
EX_USER_BAN_INFO(0xFE, 0x1D1);
|
||||
|
||||
private final int _id1;
|
||||
private final int _id2;
|
||||
|
@ -11890,8 +11890,8 @@ public final class SystemMessageId
|
||||
@ClientString(id = 4194, message = "Ability Points: $s1")
|
||||
public static SystemMessageId ABILITY_POINTS_S1;
|
||||
|
||||
@ClientString(id = 4195, message = "Abilities can be used by Noblesse/Exalted Lv. 99 or above.")
|
||||
public static SystemMessageId ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE;
|
||||
@ClientString(id = 4195, message = "Reach level 85 to use the ability.")
|
||||
public static SystemMessageId REACH_LEVEL_85_TO_USE_THE_ABILITY;
|
||||
|
||||
@ClientString(id = 4196, message = "The requested operation has failed. Please try again.")
|
||||
public static SystemMessageId THE_REQUESTED_OPERATION_HAS_FAILED_PLEASE_TRY_AGAIN;
|
||||
@ -12373,9 +12373,369 @@ public final class SystemMessageId
|
||||
@ClientString(id = 4355, message = "Failed to apply the Soul Crystal effect because of abnormal circumstances.")
|
||||
public static SystemMessageId FAILED_TO_APPLY_THE_SOUL_CRYSTAL_EFFECT_BECAUSE_OF_ABNORMAL_CIRCUMSTANCES;
|
||||
|
||||
@ClientString(id = 4356, message = "There are no items that can be searched byn<$s1>.")
|
||||
public static SystemMessageId THERE_ARE_NO_ITEMS_THAT_CAN_BE_SEARCHED_BY_N_S1;
|
||||
|
||||
@ClientString(id = 4357, message = "There are no items that can be traded.")
|
||||
public static SystemMessageId THERE_ARE_NO_ITEMS_THAT_CAN_BE_TRADED;
|
||||
|
||||
@ClientString(id = 4358, message = "The trade was successful.")
|
||||
public static SystemMessageId THE_TRADE_WAS_SUCCESSFUL;
|
||||
|
||||
@ClientString(id = 4359, message = "Not enough items that are needed. Please check the number of items.")
|
||||
public static SystemMessageId NOT_ENOUGH_ITEMS_THAT_ARE_NEEDED_PLEASE_CHECK_THE_NUMBER_OF_ITEMS;
|
||||
|
||||
@ClientString(id = 4360, message = "Less than $s1 minute")
|
||||
public static SystemMessageId LESS_THAN_S1_MINUTE2;
|
||||
|
||||
@ClientString(id = 4361, message = "Cannot show because the conditions are not met.")
|
||||
public static SystemMessageId CANNOT_SHOW_BECAUSE_THE_CONDITIONS_ARE_NOT_MET;
|
||||
|
||||
@ClientString(id = 4362, message = "Enter the number to be traded.")
|
||||
public static SystemMessageId ENTER_THE_NUMBER_TO_BE_TRADED;
|
||||
|
||||
@ClientString(id = 4363, message = "When trading, the effects applied to the item might get reset, so keep that in mind. Continue with the trade?")
|
||||
public static SystemMessageId WHEN_TRADING_THE_EFFECTS_APPLIED_TO_THE_ITEM_MIGHT_GET_RESET_SO_KEEP_THAT_IN_MIND_CONTINUE_WITH_THE_TRADE;
|
||||
|
||||
@ClientString(id = 4364, message = "Not enough $s1 and $s2.")
|
||||
public static SystemMessageId NOT_ENOUGH_S1_AND_S2;
|
||||
|
||||
@ClientString(id = 4365, message = "The expert has been placed successfully.")
|
||||
public static SystemMessageId THE_EXPERT_HAS_BEEN_PLACED_SUCCESSFULLY;
|
||||
|
||||
@ClientString(id = 4366, message = "The allocation fee will be deducted from the clan's warehouse, and once the duration expires, it will be withdrawn.nContinue?")
|
||||
public static SystemMessageId THE_ALLOCATION_FEE_WILL_BE_DEDUCTED_FROM_THE_CLAN_S_WAREHOUSE_AND_ONCE_THE_DURATION_EXPIRES_IT_WILL_BE_WITHDRAWN_NCONTINUE;
|
||||
|
||||
@ClientString(id = 4367, message = "Clan $s1 currently has the 1 day penalty for kicking out a member, so it cannot accept new members.")
|
||||
public static SystemMessageId CLAN_S1_CURRENTLY_HAS_THE_1_DAY_PENALTY_FOR_KICKING_OUT_A_MEMBER_SO_IT_CANNOT_ACCEPT_NEW_MEMBERS;
|
||||
|
||||
@ClientString(id = 4368, message = "The Academy/Royal Guard/Order of Knights have been fully filled, so you cannot join the clan.")
|
||||
public static SystemMessageId THE_ACADEMY_ROYAL_GUARD_ORDER_OF_KNIGHTS_HAVE_BEEN_FULLY_FILLED_SO_YOU_CANNOT_JOIN_THE_CLAN;
|
||||
|
||||
@ClientString(id = 4369, message = "Clan $s1 has requested to be dissolved, so you cannot join the clan.")
|
||||
public static SystemMessageId CLAN_S1_HAS_REQUESTED_TO_BE_DISSOLVED_SO_YOU_CANNOT_JOIN_THE_CLAN;
|
||||
|
||||
@ClientString(id = 4370, message = "You've already graduated from the Clan Academy, so you cannot join again.")
|
||||
public static SystemMessageId YOU_VE_ALREADY_GRADUATED_FROM_THE_CLAN_ACADEMY_SO_YOU_CANNOT_JOIN_AGAIN;
|
||||
|
||||
@ClientString(id = 4371, message = "You cannot join a clan while you are in the Training Camp.")
|
||||
public static SystemMessageId YOU_CANNOT_JOIN_A_CLAN_WHILE_YOU_ARE_IN_THE_TRAINING_CAMP;
|
||||
|
||||
@ClientString(id = 4372, message = "You cannot join another clan for 1 day after leaving a clan.")
|
||||
public static SystemMessageId YOU_CANNOT_JOIN_ANOTHER_CLAN_FOR_1_DAY_AFTER_LEAVING_A_CLAN;
|
||||
|
||||
@ClientString(id = 4373, message = "The clan has been dissolved so you cannot join it.")
|
||||
public static SystemMessageId THE_CLAN_HAS_BEEN_DISSOLVED_SO_YOU_CANNOT_JOIN_IT;
|
||||
|
||||
@ClientString(id = 4374, message = "You are trying to join Clan $s1.")
|
||||
public static SystemMessageId YOU_ARE_TRYING_TO_JOIN_CLAN_S1;
|
||||
|
||||
@ClientString(id = 4375, message = "You have gained $s1 Blackbird Clan Faction points.")
|
||||
public static SystemMessageId YOU_HAVE_GAINED_S1_BLACKBIRD_CLAN_FACTION_POINTS;
|
||||
|
||||
@ClientString(id = 4376, message = "You have gained $s1 Mother Tree Guardians Faction points.")
|
||||
public static SystemMessageId YOU_HAVE_GAINED_S1_MOTHER_TREE_GUARDIANS_FACTION_POINTS;
|
||||
|
||||
@ClientString(id = 4377, message = "You have gained $s1 Giant Trackers Faction points.")
|
||||
public static SystemMessageId YOU_HAVE_GAINED_S1_GIANT_TRACKERS_FACTION_POINTS;
|
||||
|
||||
@ClientString(id = 4378, message = "You have gained $s1 Unworldly Visitors Faction points.")
|
||||
public static SystemMessageId YOU_HAVE_GAINED_S1_UNWORLDLY_VISITORS_FACTION_POINTS;
|
||||
|
||||
@ClientString(id = 4379, message = "You have gained $s1 Kingdom's Royal Guard Faction points.")
|
||||
public static SystemMessageId YOU_HAVE_GAINED_S1_KINGDOM_S_ROYAL_GUARD_FACTION_POINTS;
|
||||
|
||||
@ClientString(id = 4380, message = "Expert successfully removed.")
|
||||
public static SystemMessageId EXPERT_SUCCESSFULLY_REMOVED;
|
||||
|
||||
@ClientString(id = 4381, message = "Experts with the same class within the same forces cannot be placed together.")
|
||||
public static SystemMessageId EXPERTS_WITH_THE_SAME_CLASS_WITHIN_THE_SAME_FORCES_CANNOT_BE_PLACED_TOGETHER;
|
||||
|
||||
@ClientString(id = 4382, message = "Another expert has already been placed there. The expert must be removed first before placing a new one.")
|
||||
public static SystemMessageId ANOTHER_EXPERT_HAS_ALREADY_BEEN_PLACED_THERE_THE_EXPERT_MUST_BE_REMOVED_FIRST_BEFORE_PLACING_A_NEW_ONE;
|
||||
|
||||
@ClientString(id = 4383, message = "The cost for placing an Emissary Leader for your forces is zero. The Emissary Leader for your forces, once placed, cannot be changed until the term expires, and the Emissary Leader will be removed once the term expires. nContinue?")
|
||||
public static SystemMessageId THE_COST_FOR_PLACING_AN_EMISSARY_LEADER_FOR_YOUR_FORCES_IS_ZERO_THE_EMISSARY_LEADER_FOR_YOUR_FORCES_ONCE_PLACED_CANNOT_BE_CHANGED_UNTIL_THE_TERM_EXPIRES_AND_THE_EMISSARY_LEADER_WILL_BE_REMOVED_ONCE_THE_TERM_EXPIRES_NCONTINUE;
|
||||
|
||||
@ClientString(id = 4384, message = "The expert currently in place will be removed. The placement cost will not be refunded.nContinue?")
|
||||
public static SystemMessageId THE_EXPERT_CURRENTLY_IN_PLACE_WILL_BE_REMOVED_THE_PLACEMENT_COST_WILL_NOT_BE_REFUNDED_NCONTINUE;
|
||||
|
||||
@ClientString(id = 4385, message = "That expert cannot be removed.")
|
||||
public static SystemMessageId THAT_EXPERT_CANNOT_BE_REMOVED;
|
||||
|
||||
@ClientString(id = 4386, message = "There's not enough Adena in the clan's warehouse.")
|
||||
public static SystemMessageId THERE_S_NOT_ENOUGH_ADENA_IN_THE_CLAN_S_WAREHOUSE;
|
||||
|
||||
@ClientString(id = 4387, message = "There's not enough $s1 in the clan's warehouse.")
|
||||
public static SystemMessageId THERE_S_NOT_ENOUGH_S1_IN_THE_CLAN_S_WAREHOUSE;
|
||||
|
||||
@ClientString(id = 4388, message = "There's not enough $s1 and $s2 in the clan's warehouse.")
|
||||
public static SystemMessageId THERE_S_NOT_ENOUGH_S1_AND_S2_IN_THE_CLAN_S_WAREHOUSE;
|
||||
|
||||
@ClientString(id = 4389, message = "Current Position : $s1 / $s2 / $s3 (Inside Superion)")
|
||||
public static SystemMessageId CURRENT_POSITION_S1_S2_S3_INSIDE_SUPERION;
|
||||
|
||||
@ClientString(id = 4390, message = "When the clan's information is changed, the waitlist of players trying to join will be deleted.")
|
||||
public static SystemMessageId WHEN_THE_CLAN_S_INFORMATION_IS_CHANGED_THE_WAITLIST_OF_PLAYERS_TRYING_TO_JOIN_WILL_BE_DELETED;
|
||||
|
||||
@ClientString(id = 4391, message = "Current Position : $s1 / $s2 / $s3 (Battle Fortress Superion)")
|
||||
public static SystemMessageId CURRENT_POSITION_S1_S2_S3_BATTLE_FORTRESS_SUPERION;
|
||||
|
||||
@ClientString(id = 4392, message = "Failed to place/delete expert; abnormal expert placement/deletion attempt.")
|
||||
public static SystemMessageId FAILED_TO_PLACE_DELETE_EXPERT_ABNORMAL_EXPERT_PLACEMENT_DELETION_ATTEMPT;
|
||||
|
||||
@ClientString(id = 4393, message = "Cannot enter; some users may not yet be seated.")
|
||||
public static SystemMessageId CANNOT_ENTER_SOME_USERS_MAY_NOT_YET_BE_SEATED;
|
||||
|
||||
@ClientString(id = 4394, message = "Currently in Stage $s1, Round $s2.")
|
||||
public static SystemMessageId CURRENTLY_IN_STAGE_S1_ROUND_S2;
|
||||
|
||||
@ClientString(id = 4395, message = "Supply Items are being prepared. The next supply items will be available on the hour.")
|
||||
public static SystemMessageId SUPPLY_ITEMS_ARE_BEING_PREPARED_THE_NEXT_SUPPLY_ITEMS_WILL_BE_AVAILABLE_ON_THE_HOUR;
|
||||
|
||||
@ClientString(id = 4396, message = "Current Position : $s1 / $s2 / $s3 (Dimensional Rift)")
|
||||
public static SystemMessageId CURRENT_POSITION_S1_S2_S3_DIMENSIONAL_RIFT;
|
||||
|
||||
@ClientString(id = 4397, message = "Only Level 3-4 Clans can be registered in a Castle Siege")
|
||||
public static SystemMessageId ONLY_LEVEL_3_4_CLANS_CAN_BE_REGISTERED_IN_A_CASTLE_SIEGE;
|
||||
|
||||
@ClientString(id = 4398, message = "Clans that own castles are automatically registered to the attacking side.")
|
||||
public static SystemMessageId CLANS_THAT_OWN_CASTLES_ARE_AUTOMATICALLY_REGISTERED_TO_THE_ATTACKING_SIDE;
|
||||
|
||||
@ClientString(id = 4399, message = "Macro copied to the clipboard.")
|
||||
public static SystemMessageId MACRO_COPIED_TO_THE_CLIPBOARD;
|
||||
|
||||
@ClientString(id = 4400, message = "This command can be used when the target is of Lv. 61 or higher and has completed the 2nd class transfer.")
|
||||
public static SystemMessageId THIS_COMMAND_CAN_BE_USED_WHEN_THE_TARGET_IS_OF_LV_61_OR_HIGHER_AND_HAS_COMPLETED_THE_2ND_CLASS_TRANSFER;
|
||||
|
||||
@ClientString(id = 4401, message = "The selected preset has been applied.")
|
||||
public static SystemMessageId THE_SELECTED_PRESET_HAS_BEEN_APPLIED;
|
||||
|
||||
@ClientString(id = 4402, message = "The account has already been used to receive items; cannot receive items again.")
|
||||
public static SystemMessageId THE_ACCOUNT_HAS_ALREADY_BEEN_USED_TO_RECEIVE_ITEMS_CANNOT_RECEIVE_ITEMS_AGAIN;
|
||||
|
||||
@ClientString(id = 4403, message = "Current Position : $s1 / $s2 / $s3 (West Side, Prison of the Abyss)")
|
||||
public static SystemMessageId CURRENT_POSITION_S1_S2_S3_WEST_SIDE_PRISON_OF_THE_ABYSS;
|
||||
|
||||
@ClientString(id = 4404, message = "Current Position : $s1 / $s2 / $s3 (East Side, Prison of the Abyss)")
|
||||
public static SystemMessageId CURRENT_POSITION_S1_S2_S3_EAST_SIDE_PRISON_OF_THE_ABYSS;
|
||||
|
||||
@ClientString(id = 4405, message = "Current Position : $s1 / $s2 / $s3 (Monster Arena)")
|
||||
public static SystemMessageId CURRENT_POSITION_S1_S2_S3_MONSTER_ARENA;
|
||||
|
||||
@ClientString(id = 4406, message = "Cannot receive the reward; no ranking or reward already received.")
|
||||
public static SystemMessageId CANNOT_RECEIVE_THE_REWARD_NO_RANKING_OR_REWARD_ALREADY_RECEIVED;
|
||||
|
||||
@ClientString(id = 4407, message = "Current Position : $s1 / $s2 / $s3 (Prison of the Abyss)")
|
||||
public static SystemMessageId CURRENT_POSITION_S1_S2_S3_PRISON_OF_THE_ABYSS;
|
||||
|
||||
@ClientString(id = 4408, message = "Cannot restart while participating in, or waiting to participate in the Olympiad.")
|
||||
public static SystemMessageId CANNOT_RESTART_WHILE_PARTICIPATING_IN_OR_WAITING_TO_PARTICIPATE_IN_THE_OLYMPIAD;
|
||||
|
||||
@ClientString(id = 4409, message = "You may only use arenas with the same mode as the first monster arena you have used this week.")
|
||||
public static SystemMessageId YOU_MAY_ONLY_USE_ARENAS_WITH_THE_SAME_MODE_AS_THE_FIRST_MONSTER_ARENA_YOU_HAVE_USED_THIS_WEEK;
|
||||
|
||||
@ClientString(id = 4410, message = "Chat ban will be lifted in $s1 seconds.")
|
||||
public static SystemMessageId CHAT_BAN_WILL_BE_LIFTED_IN_S1_SECONDS;
|
||||
|
||||
@ClientString(id = 4411, message = "Macros consisting of chat messages only cannot be used automatically.")
|
||||
public static SystemMessageId MACROS_CONSISTING_OF_CHAT_MESSAGES_ONLY_CANNOT_BE_USED_AUTOMATICALLY;
|
||||
|
||||
@ClientString(id = 4412, message = "Send $s1")
|
||||
public static SystemMessageId SEND_S1;
|
||||
|
||||
@ClientString(id = 4413, message = "Congratulations. Compounding was successful and you obtained $s2 of $s1.")
|
||||
public static SystemMessageId CONGRATULATIONS_COMPOUNDING_WAS_SUCCESSFUL_AND_YOU_OBTAINED_S2_OF_S1;
|
||||
|
||||
@ClientString(id = 4414, message = "Compounding failed and you obtained $s2 of $s1.")
|
||||
public static SystemMessageId COMPOUNDING_FAILED_AND_YOU_OBTAINED_S2_OF_S1;
|
||||
|
||||
@ClientString(id = 4415, message = "A remote control program has been detected. Please keep in mind that your game data may be compromised while using the program.")
|
||||
public static SystemMessageId A_REMOTE_CONTROL_PROGRAM_HAS_BEEN_DETECTED_PLEASE_KEEP_IN_MIND_THAT_YOUR_GAME_DATA_MAY_BE_COMPROMISED_WHILE_USING_THE_PROGRAM;
|
||||
|
||||
@ClientString(id = 4416, message = "You have to register the items in order.")
|
||||
public static SystemMessageId YOU_HAVE_TO_REGISTER_THE_ITEMS_IN_ORDER;
|
||||
|
||||
@ClientString(id = 4417, message = "You obtained $s2 of $s1 after compounding.")
|
||||
public static SystemMessageId YOU_OBTAINED_S2_OF_S1_AFTER_COMPOUNDING;
|
||||
|
||||
@ClientString(id = 4418, message = "You don't have enough space in your inventory to continue with compounding. You need more than 2 empty slots.")
|
||||
public static SystemMessageId YOU_DON_T_HAVE_ENOUGH_SPACE_IN_YOUR_INVENTORY_TO_CONTINUE_WITH_COMPOUNDING_YOU_NEED_MORE_THAN_2_EMPTY_SLOTS;
|
||||
|
||||
@ClientString(id = 4419, message = "The auction for $s1 will begin in 24 hours.")
|
||||
public static SystemMessageId THE_AUCTION_FOR_S1_WILL_BEGIN_IN_24_HOURS;
|
||||
|
||||
@ClientString(id = 4420, message = "The auction for $s1 is in progress.")
|
||||
public static SystemMessageId THE_AUCTION_FOR_S1_IS_IN_PROGRESS;
|
||||
|
||||
@ClientString(id = 4421, message = "$s1 is sold for $s2 Adena.")
|
||||
public static SystemMessageId S1_IS_SOLD_FOR_S2_ADENA;
|
||||
|
||||
@ClientString(id = 4422, message = "Processing failed due to death of a character. Resurrect first and try again.")
|
||||
public static SystemMessageId PROCESSING_FAILED_DUE_TO_DEATH_OF_A_CHARACTER_RESURRECT_FIRST_AND_TRY_AGAIN;
|
||||
|
||||
@ClientString(id = 4423, message = "The Faction Level of $s1 has increased. Open the Factions window to check.")
|
||||
public static SystemMessageId THE_FACTION_LEVEL_OF_S1_HAS_INCREASED_OPEN_THE_FACTIONS_WINDOW_TO_CHECK;
|
||||
|
||||
@ClientString(id = 4424, message = "When you compound, you may lose some or all of the ingredients. Continue?")
|
||||
public static SystemMessageId WHEN_YOU_COMPOUND_YOU_MAY_LOSE_SOME_OR_ALL_OF_THE_INGREDIENTS_CONTINUE;
|
||||
|
||||
@ClientString(id = 4425, message = "$s1 Raid Monster")
|
||||
public static SystemMessageId S1_RAID_MONSTER;
|
||||
|
||||
@ClientString(id = 4426, message = "Completed all objectives of the $s2 Monster Collection level $s1.")
|
||||
public static SystemMessageId COMPLETED_ALL_OBJECTIVES_OF_THE_S2_MONSTER_COLLECTION_LEVEL_S1;
|
||||
|
||||
@ClientString(id = 4427, message = "Completed all levels of the $s1 Monster Collection.")
|
||||
public static SystemMessageId COMPLETED_ALL_LEVELS_OF_THE_S1_MONSTER_COLLECTION;
|
||||
|
||||
@ClientString(id = 4428, message = "Only characters of level $s1 or higher are eligible for rewards.")
|
||||
public static SystemMessageId ONLY_CHARACTERS_OF_LEVEL_S1_OR_HIGHER_ARE_ELIGIBLE_FOR_REWARDS;
|
||||
|
||||
@ClientString(id = 4429, message = "No rewards can be obtained while changing class.")
|
||||
public static SystemMessageId NO_REWARDS_CAN_BE_OBTAINED_WHILE_CHANGING_CLASS;
|
||||
|
||||
@ClientString(id = 4430, message = "You cannot abandon missions in the area while defending the Keucereus Alliance Base.")
|
||||
public static SystemMessageId YOU_CANNOT_ABANDON_MISSIONS_IN_THE_AREA_WHILE_DEFENDING_THE_KEUCEREUS_ALLIANCE_BASE;
|
||||
|
||||
@ClientString(id = 4431, message = "Location information is needed to show this.")
|
||||
public static SystemMessageId LOCATION_INFORMATION_IS_NEEDED_TO_SHOW_THIS;
|
||||
|
||||
@ClientString(id = 4432, message = "Keucereus Defense - In progress")
|
||||
public static SystemMessageId KEUCEREUS_DEFENSE_IN_PROGRESS;
|
||||
|
||||
@ClientString(id = 4433, message = "Keucereus Defense - Won")
|
||||
public static SystemMessageId KEUCEREUS_DEFENSE_WON;
|
||||
|
||||
@ClientString(id = 4434, message = "Keucereus Defense - Lost")
|
||||
public static SystemMessageId KEUCEREUS_DEFENSE_LOST;
|
||||
|
||||
@ClientString(id = 4435, message = "Keucereus Defense - Invasion declared")
|
||||
public static SystemMessageId KEUCEREUS_DEFENSE_INVASION_DECLARED;
|
||||
|
||||
@ClientString(id = 4436, message = "$s1 Territory")
|
||||
public static SystemMessageId S1_TERRITORY;
|
||||
|
||||
@ClientString(id = 4437, message = "$s1 appeared - Click it to track down.")
|
||||
public static SystemMessageId S1_APPEARED_CLICK_IT_TO_TRACK_DOWN;
|
||||
|
||||
@ClientString(id = 4438, message = "Nothing has been recorded in the Monster Collection.")
|
||||
public static SystemMessageId NOTHING_HAS_BEEN_RECORDED_IN_THE_MONSTER_COLLECTION;
|
||||
|
||||
@ClientString(id = 4439, message = "Ka...Kain?")
|
||||
public static SystemMessageId KA_KAIN;
|
||||
|
||||
@ClientString(id = 4440, message = "We could defeat Kain van Halter...ntogether.")
|
||||
public static SystemMessageId WE_COULD_DEFEAT_KAIN_VAN_HALTER_NTOGETHER;
|
||||
|
||||
@ClientString(id = 4441, message = "Now it's time to show our strength.nLet's go to the Messiah Castle.")
|
||||
public static SystemMessageId NOW_IT_S_TIME_TO_SHOW_OUR_STRENGTH_NLET_S_GO_TO_THE_MESSIAH_CASTLE;
|
||||
|
||||
@ClientString(id = 4442, message = "We had to retreat... to live to fight another day.")
|
||||
public static SystemMessageId WE_HAD_TO_RETREAT_TO_LIVE_TO_FIGHT_ANOTHER_DAY;
|
||||
|
||||
@ClientString(id = 4443, message = "Let's sharpen our blades until we return to Gracia.")
|
||||
public static SystemMessageId LET_S_SHARPEN_OUR_BLADES_UNTIL_WE_RETURN_TO_GRACIA;
|
||||
|
||||
@ClientString(id = 4444, message = "The mission is a success. Fall back!")
|
||||
public static SystemMessageId THE_MISSION_IS_A_SUCCESS_FALL_BACK;
|
||||
|
||||
@ClientString(id = 4445, message = "Where in the world was the castle-guarding apostle?")
|
||||
public static SystemMessageId WHERE_IN_THE_WORLD_WAS_THE_CASTLE_GUARDING_APOSTLE;
|
||||
|
||||
@ClientString(id = 4446, message = "Leona Blackbird...Your days are numbered...")
|
||||
public static SystemMessageId LEONA_BLACKBIRD_YOUR_DAYS_ARE_NUMBERED;
|
||||
|
||||
@ClientString(id = 4447, message = "Now is the time! Charge into the courtyard!")
|
||||
public static SystemMessageId NOW_IS_THE_TIME_CHARGE_INTO_THE_COURTYARD;
|
||||
|
||||
@ClientString(id = 4448, message = "Why is there no one here?")
|
||||
public static SystemMessageId WHY_IS_THERE_NO_ONE_HERE;
|
||||
|
||||
@ClientString(id = 4449, message = "Gis...Giselle?")
|
||||
public static SystemMessageId GIS_GISELLE;
|
||||
|
||||
@ClientString(id = 4450, message = "All stages are completed.")
|
||||
public static SystemMessageId ALL_STAGES_ARE_COMPLETED;
|
||||
|
||||
@ClientString(id = 4451, message = "You obtained $s1 Faction Points for $s2")
|
||||
public static SystemMessageId YOU_OBTAINED_S1_FACTION_POINTS_FOR_S2;
|
||||
|
||||
@ClientString(id = 4452, message = "Current location: $s1/$s2/$s3 (Messiah Castle)")
|
||||
public static SystemMessageId CURRENT_LOCATION_S1_S2_S3_MESSIAH_CASTLE;
|
||||
|
||||
@ClientString(id = 4453, message = "$c1 cannot perform the Couple Action as the person is using a skill.")
|
||||
public static SystemMessageId C1_CANNOT_PERFORM_THE_COUPLE_ACTION_AS_THE_PERSON_IS_USING_A_SKILL;
|
||||
|
||||
@ClientString(id = 4454, message = "$c1 cannot perform the Couple Action as the person is using Sayunes.")
|
||||
public static SystemMessageId C1_CANNOT_PERFORM_THE_COUPLE_ACTION_AS_THE_PERSON_IS_USING_SAYUNES;
|
||||
|
||||
@ClientString(id = 4455, message = "You cannot attack other players in this area.")
|
||||
public static SystemMessageId YOU_CANNOT_ATTACK_OTHER_PLAYERS_IN_THIS_AREA;
|
||||
|
||||
@ClientString(id = 4456, message = "You cannot attack players who are in a non-combat area.")
|
||||
public static SystemMessageId YOU_CANNOT_ATTACK_PLAYERS_WHO_ARE_IN_A_NON_COMBAT_AREA;
|
||||
|
||||
@ClientString(id = 4457, message = "The items sent can be retrieved only through an Alchemist or Dimensional Merchant on the same server. Are you sure you want to continue?")
|
||||
public static SystemMessageId THE_ITEMS_SENT_CAN_BE_RETRIEVED_ONLY_THROUGH_AN_ALCHEMIST_OR_DIMENSIONAL_MERCHANT_ON_THE_SAME_SERVER_ARE_YOU_SURE_YOU_WANT_TO_CONTINUE;
|
||||
|
||||
@ClientString(id = 4458, message = "Pull yourself together, Kain! Are you trying to get us killed?")
|
||||
public static SystemMessageId PULL_YOURSELF_TOGETHER_KAIN_ARE_YOU_TRYING_TO_GET_US_KILLED;
|
||||
|
||||
@ClientString(id = 4459, message = "You have reputations to keep, Karla. What a shame.")
|
||||
public static SystemMessageId YOU_HAVE_REPUTATIONS_TO_KEEP_KARLA_WHAT_A_SHAME;
|
||||
|
||||
@ClientString(id = 4460, message = "This man is no longer our ally.")
|
||||
public static SystemMessageId THIS_MAN_IS_NO_LONGER_OUR_ALLY;
|
||||
|
||||
@ClientString(id = 4461, message = "Get back, everyone! You might all get killed the next time!")
|
||||
public static SystemMessageId GET_BACK_EVERYONE_YOU_MIGHT_ALL_GET_KILLED_THE_NEXT_TIME;
|
||||
|
||||
@ClientString(id = 4462, message = "You exceeded the limit and cannot complete the task.")
|
||||
public static SystemMessageId YOU_EXCEEDED_THE_LIMIT_AND_CANNOT_COMPLETE_THE_TASK;
|
||||
|
||||
@ClientString(id = 4463, message = "Before the scheduled maintenance on $s1.$s2.$s3")
|
||||
public static SystemMessageId BEFORE_THE_SCHEDULED_MAINTENANCE_ON_S1_S2_S3;
|
||||
|
||||
@ClientString(id = 4464, message = "After the scheduled maintenance on $s1.$s2.$s3")
|
||||
public static SystemMessageId AFTER_THE_SCHEDULED_MAINTENANCE_ON_S1_S2_S3;
|
||||
|
||||
@ClientString(id = 4465, message = "From $s1 $s2 to $s3")
|
||||
public static SystemMessageId FROM_S1_S2_TO_S3;
|
||||
|
||||
@ClientString(id = 4466, message = "$s1 day(s) $s2 hour(s) $s3 minute(s)")
|
||||
public static SystemMessageId S1_DAY_S_S2_HOUR_S_S3_MINUTE_S;
|
||||
|
||||
@ClientString(id = 4467, message = "$s1.$s2.$s3")
|
||||
public static SystemMessageId S1_S2_S3;
|
||||
|
||||
@ClientString(id = 4468, message = "Task cannot be completed: Your selling price exceeds the Adena limit.")
|
||||
public static SystemMessageId TASK_CANNOT_BE_COMPLETED_YOUR_SELLING_PRICE_EXCEEDS_THE_ADENA_LIMIT;
|
||||
|
||||
@ClientString(id = 4469, message = "Task cannot be completed: Your balance exceeds the Adena limit.")
|
||||
public static SystemMessageId TASK_CANNOT_BE_COMPLETED_YOUR_BALANCE_EXCEEDS_THE_ADENA_LIMIT;
|
||||
|
||||
@ClientString(id = 4470, message = "Task cannot be completed: Your balance after the transaction exceeds the Adena limit.")
|
||||
public static SystemMessageId TASK_CANNOT_BE_COMPLETED_YOUR_BALANCE_AFTER_THE_TRANSACTION_EXCEEDS_THE_ADENA_LIMIT;
|
||||
|
||||
@ClientString(id = 4471, message = "The item was upgraded successfully and you obtained a $s1.")
|
||||
public static SystemMessageId THE_ITEM_WAS_UPGRADED_SUCCESSFULLY_AND_YOU_OBTAINED_A_S1;
|
||||
|
||||
@ClientString(id = 4472, message = "$c1 has succeeded in upgrading equipment and obtained a $s2.")
|
||||
public static SystemMessageId C1_HAS_SUCCEEDED_IN_UPGRADING_EQUIPMENT_AND_OBTAINED_A_S2;
|
||||
|
||||
@ClientString(id = 4473, message = "Failed the operation.")
|
||||
public static SystemMessageId FAILED_THE_OPERATION;
|
||||
|
||||
@ClientString(id = 4474, message = "Failed because the target item does not exist.")
|
||||
public static SystemMessageId FAILED_BECAUSE_THE_TARGET_ITEM_DOES_NOT_EXIST;
|
||||
|
||||
@ClientString(id = 4475, message = "Failed because there are not enough ingredients.")
|
||||
public static SystemMessageId FAILED_BECAUSE_THERE_ARE_NOT_ENOUGH_INGREDIENTS;
|
||||
|
||||
@ClientString(id = 4476, message = "Failed because there's not enough Adena.")
|
||||
public static SystemMessageId FAILED_BECAUSE_THERE_S_NOT_ENOUGH_ADENA;
|
||||
|
||||
@ClientString(id = 4601, message = "- Great P. Def. and skillful Shield Defense(br)- Increased P. Def. for the whole party(br)- Protect party members")
|
||||
public static SystemMessageId GREAT_P_DEF_AND_SKILLFUL_SHIELD_DEFENSE_BR_INCREASED_P_DEF_FOR_THE_WHOLE_PARTY_BR_PROTECT_PARTY_MEMBERS;
|
||||
|
||||
@ -13471,6 +13831,126 @@ public final class SystemMessageId
|
||||
@ClientString(id = 5331, message = "Your account has been restricted for violating the EULA, RoC and/or the User Agreement. When a user violates the terms of the User Agreement, the company can impose a restriction on their account. For more information, please visit the Support Center on the NCSOFT website (https://support.lineage2.com).")
|
||||
public static SystemMessageId YOUR_ACCOUNT_HAS_BEEN_RESTRICTED_FOR_VIOLATING_THE_EULA_ROC_AND_OR_THE_USER_AGREEMENT_WHEN_A_USER_VIOLATES_THE_TERMS_OF_THE_USER_AGREEMENT_THE_COMPANY_CAN_IMPOSE_A_RESTRICTION_ON_THEIR_ACCOUNT_FOR_MORE_INFORMATION_PLEASE_VISIT_THE_SUPPORT_CENTER_ON_THE_NCSOFT_WEBSITE_HTTPS_SUPPORT_LINEAGE2_COM122;
|
||||
|
||||
@ClientString(id = 5332, message = "Your account has been idle for a long time. If you do not play the game for a certain period, your account will become idle. You can reactivate your account at the <font color=FFDF4C>plaync webpage (</font><font color=6699FF><a action=url https://id.plaync.com/account/dormant/index>id.plaync.com/account/dormant/index</a></font><font color=FFDF4C>)</font>.")
|
||||
public static SystemMessageId YOUR_ACCOUNT_HAS_BEEN_IDLE_FOR_A_LONG_TIME_IF_YOU_DO_NOT_PLAY_THE_GAME_FOR_A_CERTAIN_PERIOD_YOUR_ACCOUNT_WILL_BECOME_IDLE_YOU_CAN_REACTIVATE_YOUR_ACCOUNT_AT_THE_FONT_COLOR_FFDF4C_PLAYNC_WEBPAGE_FONT_FONT_COLOR_6699FF_A_ACTION_URL_HTTPS_ID_PLAYNC_COM_ACCOUNT_DORMANT_INDEX_ID_PLAYNC_COM_ACCOUNT_DORMANT_INDEX_A_FONT_FONT_COLOR_FFDF4C_FONT;
|
||||
|
||||
@ClientString(id = 5333, message = "Your account has been completely blocked due to account theft. For more information, go to the <font color=FFDF4C>plaync Homepage (</font><font color=6699FF><a action=url http://www.plaync.com>www.plaync.com</a></font><font color=FFDF4C>) and contact us via the Support Center</font>.")
|
||||
public static SystemMessageId YOUR_ACCOUNT_HAS_BEEN_COMPLETELY_BLOCKED_DUE_TO_ACCOUNT_THEFT_FOR_MORE_INFORMATION_GO_TO_THE_FONT_COLOR_FFDF4C_PLAYNC_HOMEPAGE_FONT_FONT_COLOR_6699FF_A_ACTION_URL_HTTP_WWW_PLAYNC_COM_WWW_PLAYNC_COM_A_FONT_FONT_COLOR_FFDF4C_AND_CONTACT_US_VIA_THE_SUPPORT_CENTER_FONT;
|
||||
|
||||
@ClientString(id = 5501, message = "$s1 has been killed by $s2.")
|
||||
public static SystemMessageId S1_HAS_BEEN_KILLED_BY_S2;
|
||||
|
||||
@ClientString(id = 5502, message = "$s1 has been killed by a monster.")
|
||||
public static SystemMessageId S1_HAS_BEEN_KILLED_BY_A_MONSTER;
|
||||
|
||||
@ClientString(id = 5503, message = "$s1 has died.")
|
||||
public static SystemMessageId S1_HAS_DIED;
|
||||
|
||||
@ClientString(id = 5504, message = "The outer castle gates of the village have been taken! All shall gather here!")
|
||||
public static SystemMessageId THE_OUTER_CASTLE_GATES_OF_THE_VILLAGE_HAVE_BEEN_TAKEN_ALL_SHALL_GATHER_HERE;
|
||||
|
||||
@ClientString(id = 5505, message = "A hidden path into the village has been discovered! All troops gather at the strondhold!")
|
||||
public static SystemMessageId A_HIDDEN_PATH_INTO_THE_VILLAGE_HAS_BEEN_DISCOVERED_ALL_TROOPS_GATHER_AT_THE_STRONDHOLD;
|
||||
|
||||
@ClientString(id = 5506, message = "The Inner Castle Gate has been opened! All troops, attack Turakan!")
|
||||
public static SystemMessageId THE_INNER_CASTLE_GATE_HAS_BEEN_OPENED_ALL_TROOPS_ATTACK_TURAKAN;
|
||||
|
||||
@ClientString(id = 5507, message = "What's that? Something has appeared at the center of the village!")
|
||||
public static SystemMessageId WHAT_S_THAT_SOMETHING_HAS_APPEARED_AT_THE_CENTER_OF_THE_VILLAGE;
|
||||
|
||||
@ClientString(id = 5508, message = "Engrave a seal on the Tower of Seals to take the Orc Castle!")
|
||||
public static SystemMessageId ENGRAVE_A_SEAL_ON_THE_TOWER_OF_SEALS_TO_TAKE_THE_ORC_CASTLE;
|
||||
|
||||
@ClientString(id = 5509, message = "Starting matching...")
|
||||
public static SystemMessageId STARTING_MATCHING;
|
||||
|
||||
@ClientString(id = 5510, message = "Matching canceled.")
|
||||
public static SystemMessageId MATCHING_CANCELED;
|
||||
|
||||
@ClientString(id = 5511, message = "Standing by...")
|
||||
public static SystemMessageId STANDING_BY;
|
||||
|
||||
@ClientString(id = 5512, message = "$s1 has chosen a class. ")
|
||||
public static SystemMessageId S1_HAS_CHOSEN_A_CLASS;
|
||||
|
||||
@ClientString(id = 5513, message = "The battle will soon begin.")
|
||||
public static SystemMessageId THE_BATTLE_WILL_SOON_BEGIN;
|
||||
|
||||
@ClientString(id = 5514, message = "Skill enhancement complete.")
|
||||
public static SystemMessageId SKILL_ENHANCEMENT_COMPLETE;
|
||||
|
||||
@ClientString(id = 5515, message = "The selected player is in the Arena lobby and cannot be invited to the party.")
|
||||
public static SystemMessageId THE_SELECTED_PLAYER_IS_IN_THE_ARENA_LOBBY_AND_CANNOT_BE_INVITED_TO_THE_PARTY;
|
||||
|
||||
@ClientString(id = 5516, message = "Users participating in Arena cannot be invited to a party.")
|
||||
public static SystemMessageId USERS_PARTICIPATING_IN_ARENA_CANNOT_BE_INVITED_TO_A_PARTY;
|
||||
|
||||
@ClientString(id = 5517, message = "This function is unavailable to use in Arena.")
|
||||
public static SystemMessageId THIS_FUNCTION_IS_UNAVAILABLE_TO_USE_IN_ARENA;
|
||||
|
||||
@ClientString(id = 5518, message = "User preparing for Arena battle cannot join a party.")
|
||||
public static SystemMessageId USER_PREPARING_FOR_ARENA_BATTLE_CANNOT_JOIN_A_PARTY;
|
||||
|
||||
@ClientString(id = 5519, message = "The user invited to the party is preparing for Arena battle, and the invitation failed.")
|
||||
public static SystemMessageId THE_USER_INVITED_TO_THE_PARTY_IS_PREPARING_FOR_ARENA_BATTLE_AND_THE_INVITATION_FAILED;
|
||||
|
||||
@ClientString(id = 5520, message = "You can no longer queue with that class.")
|
||||
public static SystemMessageId YOU_CAN_NO_LONGER_QUEUE_WITH_THAT_CLASS;
|
||||
|
||||
@ClientString(id = 5521, message = "Begin matchmaking.")
|
||||
public static SystemMessageId BEGIN_MATCHMAKING;
|
||||
|
||||
@ClientString(id = 5522, message = "Matchmaking has been canceled.")
|
||||
public static SystemMessageId MATCHMAKING_HAS_BEEN_CANCELED;
|
||||
|
||||
@ClientString(id = 5523, message = "A match was found.")
|
||||
public static SystemMessageId A_MATCH_WAS_FOUND;
|
||||
|
||||
@ClientString(id = 5524, message = "You are already in the queue.")
|
||||
public static SystemMessageId YOU_ARE_ALREADY_IN_THE_QUEUE;
|
||||
|
||||
@ClientString(id = 5525, message = "Up to 2 players per class can queue.")
|
||||
public static SystemMessageId UP_TO_2_PLAYERS_PER_CLASS_CAN_QUEUE;
|
||||
|
||||
@ClientString(id = 5526, message = "Matching will be canceled unless all the classes are confirmed within the set time.")
|
||||
public static SystemMessageId MATCHING_WILL_BE_CANCELED_UNLESS_ALL_THE_CLASSES_ARE_CONFIRMED_WITHIN_THE_SET_TIME;
|
||||
|
||||
@ClientString(id = 5527, message = "$s1 has confirmed the class.")
|
||||
public static SystemMessageId S1_HAS_CONFIRMED_THE_CLASS;
|
||||
|
||||
@ClientString(id = 5528, message = "Click here to enchant your skill!")
|
||||
public static SystemMessageId CLICK_HERE_TO_ENCHANT_YOUR_SKILL;
|
||||
|
||||
@ClientString(id = 5529, message = "Enhanced the $s1 skill.")
|
||||
public static SystemMessageId ENHANCED_THE_S1_SKILL;
|
||||
|
||||
@ClientString(id = 5530, message = "Reached the consecutive notifications limit.")
|
||||
public static SystemMessageId REACHED_THE_CONSECUTIVE_NOTIFICATIONS_LIMIT;
|
||||
|
||||
@ClientString(id = 5531, message = "$s1 is under attack.")
|
||||
public static SystemMessageId S1_IS_UNDER_ATTACK;
|
||||
|
||||
@ClientString(id = 5532, message = "$s1: Attacking $s2.")
|
||||
public static SystemMessageId S1_ATTACKING_S2;
|
||||
|
||||
@ClientString(id = 5533, message = "$s1: Watch out for $s2!")
|
||||
public static SystemMessageId S1_WATCH_OUT_FOR_S2;
|
||||
|
||||
@ClientString(id = 5534, message = "$s1: Protecting $s2.")
|
||||
public static SystemMessageId S1_PROTECTING_S2;
|
||||
|
||||
@ClientString(id = 5535, message = "$s1: Abandoning $s2.")
|
||||
public static SystemMessageId S1_ABANDONING_S2;
|
||||
|
||||
@ClientString(id = 5536, message = "$s1: Moving.")
|
||||
public static SystemMessageId S1_MOVING;
|
||||
|
||||
@ClientString(id = 5537, message = "$s1: Be careful!")
|
||||
public static SystemMessageId S1_BE_CAREFUL;
|
||||
|
||||
@ClientString(id = 5538, message = "You must be in a group to access the Group channel.")
|
||||
public static SystemMessageId YOU_MUST_BE_IN_A_GROUP_TO_ACCESS_THE_GROUP_CHANNEL;
|
||||
|
||||
@ClientString(id = 6001, message = "The item has been successfully purchased.")
|
||||
public static SystemMessageId THE_ITEM_HAS_BEEN_SUCCESSFULLY_PURCHASED2;
|
||||
|
||||
@ -14197,6 +14677,18 @@ public final class SystemMessageId
|
||||
@ClientString(id = 6829, message = "You don't have any Beast Soulshots/Spiritshots. Please buy them at the shop.")
|
||||
public static SystemMessageId YOU_DON_T_HAVE_ANY_BEAST_SOULSHOTS_SPIRITSHOTS_PLEASE_BUY_THEM_AT_THE_SHOP;
|
||||
|
||||
@ClientString(id = 6830, message = "There are $s1 players in the qeue. Click on cancel to end the server connection.")
|
||||
public static SystemMessageId THERE_ARE_S1_PLAYERS_IN_THE_QEUE_CLICK_ON_CANCEL_TO_END_THE_SERVER_CONNECTION;
|
||||
|
||||
@ClientString(id = 6831, message = "Cannot request duels when participating in the Olympiad/Ceremony of Chaos.")
|
||||
public static SystemMessageId CANNOT_REQUEST_DUELS_WHEN_PARTICIPATING_IN_THE_OLYMPIAD_CEREMONY_OF_CHAOS;
|
||||
|
||||
@ClientString(id = 6832, message = "You cannot drop any more items in this zone. Please try again after picking up the item on the ground.")
|
||||
public static SystemMessageId YOU_CANNOT_DROP_ANY_MORE_ITEMS_IN_THIS_ZONE_PLEASE_TRY_AGAIN_AFTER_PICKING_UP_THE_ITEM_ON_THE_GROUND;
|
||||
|
||||
@ClientString(id = 6833, message = "The character has already been blocked.")
|
||||
public static SystemMessageId THE_CHARACTER_HAS_ALREADY_BEEN_BLOCKED;
|
||||
|
||||
@ClientString(id = 7001, message = "Cannot proceed until the current dice roll is over.")
|
||||
public static SystemMessageId CANNOT_PROCEED_UNTIL_THE_CURRENT_DICE_ROLL_IS_OVER;
|
||||
|
||||
@ -14212,7 +14704,7 @@ public final class SystemMessageId
|
||||
@ClientString(id = 7005, message = "$c1 rolled the dice and got $s2 points.")
|
||||
public static SystemMessageId C1_ROLLED_THE_DICE_AND_GOT_S2_POINTS;
|
||||
|
||||
@ClientString(id = 7006, message = "$c1 rolled the highest with $s2 points and acquired the $s3%.")
|
||||
@ClientString(id = 7006, message = "$c1 rolled the highest with $s2 points and acquired the $s3.")
|
||||
public static SystemMessageId C1_ROLLED_THE_HIGHEST_WITH_S2_POINTS_AND_ACQUIRED_THE_S3;
|
||||
|
||||
@ClientString(id = 7007, message = "A party member is rolling the dice, so the party cannot be disbanded.")
|
||||
@ -15203,7 +15695,7 @@ public final class SystemMessageId
|
||||
public static SystemMessageId S1_HAS_BECOME_YOUR_STUDENT;
|
||||
|
||||
@ClientString(id = 7354, message = "$s1 day(s), $s2 hour(s), $s3 minute(s)")
|
||||
public static SystemMessageId S1_DAY_S_S2_HOUR_S_S3_MINUTE_S;
|
||||
public static SystemMessageId S1_DAY_S_S2_HOUR_S_S3_MINUTE_S_2;
|
||||
|
||||
@ClientString(id = 7355, message = "Your student has achieved a goal so you are sending a reward.")
|
||||
public static SystemMessageId YOUR_STUDENT_HAS_ACHIEVED_A_GOAL_SO_YOU_ARE_SENDING_A_REWARD;
|
||||
|
@ -638,8 +638,8 @@ public class EnterWorld implements IClientIncomingPacket
|
||||
{
|
||||
activeChar.sendPacket(new ExWorldChatCnt(activeChar));
|
||||
}
|
||||
activeChar.sendPacket(new ExOneDayReceiveRewardList(activeChar));
|
||||
activeChar.sendPacket(ExConnectedTimeAndGettableReward.STATIC_PACKET);
|
||||
activeChar.sendPacket(new ExConnectedTimeAndGettableReward(activeChar));
|
||||
activeChar.sendPacket(new ExOneDayReceiveRewardList(activeChar, true));
|
||||
|
||||
// Handle soulshots, disable all on EnterWorld
|
||||
activeChar.sendPacket(new ExAutoSoulShot(0, true, 0));
|
||||
|
@ -40,6 +40,6 @@ public class RequestInzoneWaitingTime implements IClientIncomingPacket
|
||||
{
|
||||
return;
|
||||
}
|
||||
client.sendPacket(new ExInzoneWaiting(activeChar));
|
||||
client.sendPacket(new ExInzoneWaiting(activeChar, true));
|
||||
}
|
||||
}
|
||||
|
@ -18,14 +18,18 @@ package com.l2jmobius.gameserver.network.clientpackets;
|
||||
|
||||
import static com.l2jmobius.gameserver.model.itemcontainer.Inventory.MAX_ADENA;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnsoulData;
|
||||
import com.l2jmobius.gameserver.datatables.ItemTable;
|
||||
import com.l2jmobius.gameserver.enums.AttributeType;
|
||||
import com.l2jmobius.gameserver.enums.PrivateStoreType;
|
||||
import com.l2jmobius.gameserver.model.TradeItem;
|
||||
import com.l2jmobius.gameserver.model.TradeList;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.items.L2Item;
|
||||
import com.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
@ -83,6 +87,18 @@ public final class SetPrivateStoreListBuy implements IClientIncomingPacket
|
||||
final int defenceEarth = packet.readH();
|
||||
final int defenceHoly = packet.readH();
|
||||
final int defenceDark = packet.readH();
|
||||
final int visualId = packet.readD();
|
||||
|
||||
final EnsoulOption[] soulCrystalOptions = new EnsoulOption[packet.readC()];
|
||||
for (int k = 0; k < soulCrystalOptions.length; k++)
|
||||
{
|
||||
soulCrystalOptions[k] = EnsoulData.getInstance().getOption(packet.readD());
|
||||
}
|
||||
final EnsoulOption[] soulCrystalSpecialOptions = new EnsoulOption[packet.readC()];
|
||||
for (int k = 0; k < soulCrystalSpecialOptions.length; k++)
|
||||
{
|
||||
soulCrystalSpecialOptions[k] = EnsoulData.getInstance().getOption(packet.readD());
|
||||
}
|
||||
|
||||
final TradeItem item = new TradeItem(template, cnt, price);
|
||||
item.setEnchant(enchantLevel);
|
||||
@ -95,6 +111,9 @@ public final class SetPrivateStoreListBuy implements IClientIncomingPacket
|
||||
item.setElementDefAttr(AttributeType.EARTH, defenceEarth);
|
||||
item.setElementDefAttr(AttributeType.HOLY, defenceHoly);
|
||||
item.setElementDefAttr(AttributeType.DARK, defenceDark);
|
||||
item.setVisualId(visualId);
|
||||
item.setSoulCrystalOptions(Arrays.asList(soulCrystalOptions));
|
||||
item.setSoulCrystalSpecialOptions(Arrays.asList(soulCrystalSpecialOptions));
|
||||
_items[i] = item;
|
||||
}
|
||||
return true;
|
||||
|
@ -85,6 +85,10 @@ public class RequestChangeAttributeItem implements IClientIncomingPacket
|
||||
activeChar.sendPacket(msg);
|
||||
InventoryUpdate iu = new InventoryUpdate();
|
||||
iu.addModifiedItem(item);
|
||||
for (L2ItemInstance i : activeChar.getInventory().getItemsByItemId(_consumeItemId))
|
||||
{
|
||||
iu.addItem(i);
|
||||
}
|
||||
activeChar.sendPacket(iu);
|
||||
activeChar.broadcastUserInfo();
|
||||
activeChar.sendPacket(ExChangeAttributeOk.STATIC);
|
||||
|
@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.dailymission.ExConnectedTimeAndGettableReward;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.dailymission.ExOneDayReceiveRewardList;
|
||||
|
||||
/**
|
||||
@ -31,12 +32,12 @@ import com.l2jmobius.gameserver.network.serverpackets.dailymission.ExOneDayRecei
|
||||
*/
|
||||
public class RequestOneDayRewardReceive implements IClientIncomingPacket
|
||||
{
|
||||
private int _reward;
|
||||
private int _id;
|
||||
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
_reward = packet.readC();
|
||||
_id = packet.readH();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -49,13 +50,14 @@ public class RequestOneDayRewardReceive implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<DailyMissionDataHolder> reward = DailyMissionData.getInstance().getDailyMissionData(_reward);
|
||||
if (reward.isEmpty())
|
||||
final Collection<DailyMissionDataHolder> reward = DailyMissionData.getInstance().getDailyMissionData(_id);
|
||||
if ((reward == null) || reward.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
reward.stream().filter(o -> o.isDisplayable(player)).forEach(r -> r.requestReward(player));
|
||||
player.sendPacket(new ExOneDayReceiveRewardList(player));
|
||||
player.sendPacket(new ExConnectedTimeAndGettableReward(player));
|
||||
player.sendPacket(new ExOneDayReceiveRewardList(player, true));
|
||||
}
|
||||
}
|
||||
|
@ -29,13 +29,13 @@ public class RequestTodoList implements IClientIncomingPacket
|
||||
{
|
||||
private int _tab;
|
||||
@SuppressWarnings("unused")
|
||||
private int _showAllLevels;
|
||||
private boolean _showAllLevels;
|
||||
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
_tab = packet.readC(); // Daily Reward = 9, Event = 1, Instance Zone = 2
|
||||
_showAllLevels = packet.readC(); // Disabled = 0, Enabled = 1
|
||||
_showAllLevels = packet.readC() == 1; // Disabled = 0, Enabled = 1
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -60,9 +60,10 @@ public class RequestTodoList implements IClientIncomingPacket
|
||||
// player.sendPacket(new ExTodoListInzone());
|
||||
// break;
|
||||
// }
|
||||
case 9:
|
||||
case 9: // Daily Rewards
|
||||
{
|
||||
player.sendPacket(new ExOneDayReceiveRewardList(player));
|
||||
// Initial EW request should be false
|
||||
player.sendPacket(new ExOneDayReceiveRewardList(player, true));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,65 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program 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.
|
||||
*
|
||||
* This program 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.l2jmobius.gameserver.network.clientpackets.raidbossinfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.instancemanager.DBSpawnManager;
|
||||
import com.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
|
||||
import com.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpawnInfo;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
|
||||
{
|
||||
private final List<Integer> _bossIds = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
final int count = packet.readD();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
final int bossId = packet.readD();
|
||||
if (DBSpawnManager.getInstance().getNpcStatusId(bossId).equals(DBStatusType.ALIVE))
|
||||
{
|
||||
_bossIds.add(bossId);
|
||||
}
|
||||
else if (GrandBossManager.getInstance().getBossStatus(bossId) == 0)
|
||||
{
|
||||
_bossIds.add(bossId);
|
||||
}
|
||||
/*
|
||||
* else { String message = "Could not find spawn info for boss " + bossId; final L2NpcTemplate template = NpcData.getInstance().getTemplate(bossId); if (template != null) { message += " - " + template.getName() + "."; } else { message += " - NPC template not found."; }
|
||||
* System.out.println(message); }
|
||||
*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(L2GameClient client)
|
||||
{
|
||||
client.sendPacket(new ExRaidBossSpawnInfo(_bossIds));
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program 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.
|
||||
*
|
||||
* This program 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.l2jmobius.gameserver.network.clientpackets.raidbossinfo;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestRaidServerInfo implements IClientIncomingPacket
|
||||
{
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
// System.out.println("RequestRaidServerInfo");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(L2GameClient client)
|
||||
{
|
||||
}
|
||||
}
|
@ -76,6 +76,7 @@ public abstract class AbstractMessagePacket<T extends AbstractMessagePacket<?>>
|
||||
}
|
||||
}
|
||||
|
||||
private static final byte TYPE_FACTION_NAME = 24; // c(short), faction id.
|
||||
// id 22 d (shared with 1-3,17,22
|
||||
// id 21 h
|
||||
// id 20 c
|
||||
@ -313,6 +314,12 @@ public abstract class AbstractMessagePacket<T extends AbstractMessagePacket<?>>
|
||||
return (T) this;
|
||||
}
|
||||
|
||||
public final T addFactionName(int factionId)
|
||||
{
|
||||
append(new SMParam(TYPE_FACTION_NAME, factionId));
|
||||
return (T) this;
|
||||
}
|
||||
|
||||
public final T addPopup(int target, int attacker, int damage)
|
||||
{
|
||||
append(new SMParam(TYPE_POPUP_ID, new int[]
|
||||
@ -364,6 +371,7 @@ public abstract class AbstractMessagePacket<T extends AbstractMessagePacket<?>>
|
||||
{
|
||||
case TYPE_ELEMENT_NAME:
|
||||
case TYPE_BYTE:
|
||||
case TYPE_FACTION_NAME:
|
||||
{
|
||||
packet.writeC(param.getIntValue());
|
||||
break;
|
||||
|
@ -116,6 +116,7 @@ public class CharInfo implements IClientOutgoingPacket
|
||||
OutgoingPackets.CHAR_INFO.writeId(packet);
|
||||
final CeremonyOfChaosEvent event = _activeChar.getEvent(CeremonyOfChaosEvent.class);
|
||||
final CeremonyOfChaosMember cocPlayer = event != null ? event.getMember(_activeChar.getObjectId()) : null;
|
||||
packet.writeC(0x00); // Grand Crusade
|
||||
packet.writeD(_x); // Confirmed
|
||||
packet.writeD(_y); // Confirmed
|
||||
packet.writeD(_z); // Confirmed
|
||||
|
@ -54,6 +54,10 @@ public class DropItem implements IClientOutgoingPacket
|
||||
|
||||
packet.writeC(0x00);
|
||||
// packet.writeD(0x01); if above C == true (1) then packet.readD()
|
||||
|
||||
packet.writeC(_item.getEnchantLevel()); // Grand Crusade
|
||||
packet.writeC(_item.getAugmentation() != null ? 1 : 0); // Grand Crusade
|
||||
packet.writeC(_item.getSpecialAbilities().size()); // Grand Crusade
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -33,12 +33,14 @@ public class ExInzoneWaiting implements IClientOutgoingPacket
|
||||
{
|
||||
private final int _currentTemplateId;
|
||||
private final Map<Integer, Long> _instanceTimes;
|
||||
private final boolean _sendByClient;
|
||||
|
||||
public ExInzoneWaiting(L2PcInstance activeChar)
|
||||
public ExInzoneWaiting(L2PcInstance activeChar, boolean sendByClient)
|
||||
{
|
||||
final Instance instance = InstanceManager.getInstance().getPlayerInstance(activeChar, false);
|
||||
_currentTemplateId = ((instance != null) && (instance.getTemplateId() >= 0)) ? instance.getTemplateId() : -1;
|
||||
_instanceTimes = InstanceManager.getInstance().getAllInstanceTimes(activeChar);
|
||||
_sendByClient = sendByClient;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -46,6 +48,7 @@ public class ExInzoneWaiting implements IClientOutgoingPacket
|
||||
{
|
||||
OutgoingPackets.EX_INZONE_WAITING_INFO.writeId(packet);
|
||||
|
||||
packet.writeC(_sendByClient ? 0x00 : 0x01); // Grand Crusade
|
||||
packet.writeD(_currentTemplateId);
|
||||
packet.writeD(_instanceTimes.size());
|
||||
for (Entry<Integer, Long> entry : _instanceTimes.entrySet())
|
||||
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program 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.
|
||||
*
|
||||
* This program 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.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class ExPrivateStoreBuyingResult implements IClientOutgoingPacket
|
||||
{
|
||||
private final int _objectId;
|
||||
private final long _count;
|
||||
private final String _seller;
|
||||
|
||||
public ExPrivateStoreBuyingResult(int objectId, long count, String seller)
|
||||
{
|
||||
_objectId = objectId;
|
||||
_count = count;
|
||||
_seller = seller;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_PRIVATE_STORE_BUYING_RESULT.writeId(packet);
|
||||
packet.writeD(_objectId);
|
||||
packet.writeQ(_count);
|
||||
packet.writeS(_seller);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program 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.
|
||||
*
|
||||
* This program 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.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class ExPrivateStoreSellingResult implements IClientOutgoingPacket
|
||||
{
|
||||
private final int _objectId;
|
||||
private final long _count;
|
||||
private final String _buyer;
|
||||
|
||||
public ExPrivateStoreSellingResult(int objectId, long count, String buyer)
|
||||
{
|
||||
_objectId = objectId;
|
||||
_count = count;
|
||||
_buyer = buyer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_PRIVATE_STORE_SELLING_RESULT.writeId(packet);
|
||||
packet.writeD(_objectId);
|
||||
packet.writeQ(_count);
|
||||
packet.writeS(_buyer);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -34,7 +34,6 @@ public class ExShowCastleInfo implements IClientOutgoingPacket
|
||||
|
||||
private ExShowCastleInfo()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -65,6 +64,9 @@ public class ExShowCastleInfo implements IClientOutgoingPacket
|
||||
}
|
||||
packet.writeD(castle.getTaxPercent(TaxType.BUY));
|
||||
packet.writeD((int) (castle.getSiege().getSiegeDate().getTimeInMillis() / 1000));
|
||||
|
||||
packet.writeC(castle.getSiege().isInProgress() ? 0x01 : 0x00); // Grand Crusade
|
||||
packet.writeC(castle.getSide().ordinal()); // Grand Crusade
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -36,15 +36,11 @@ public class ExShowSeedMapInfo implements IClientOutgoingPacket
|
||||
packet.writeD(2); // seed count
|
||||
|
||||
// Seed of Destruction
|
||||
packet.writeD(-246857); // x coord
|
||||
packet.writeD(251960); // y coord
|
||||
packet.writeD(4331); // z coord
|
||||
packet.writeD(1); // id 1? Grand Crusade
|
||||
packet.writeD(2770 + GraciaSeedsManager.getInstance().getSoDState()); // sys msg id
|
||||
|
||||
// Seed of Infinity
|
||||
packet.writeD(-213770); // x coord
|
||||
packet.writeD(210760); // y coord
|
||||
packet.writeD(4400); // z coord
|
||||
packet.writeD(2); // id 2? Grand Crusade
|
||||
// Manager not implemented yet
|
||||
packet.writeD(2766); // sys msg id
|
||||
return true;
|
||||
|
@ -74,6 +74,7 @@ public class FakePlayerInfo implements IClientOutgoingPacket
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.CHAR_INFO.writeId(packet);
|
||||
packet.writeC(0x00); // Grand Crusade
|
||||
packet.writeD(_x);
|
||||
packet.writeD(_y);
|
||||
packet.writeD(_z);
|
||||
|
@ -62,6 +62,7 @@ public final class MultiSellList extends AbstractItemPacket
|
||||
packet.writeD(_finished ? 0x01 : 0x00); // finished
|
||||
packet.writeD(PAGE_SIZE); // size of pages
|
||||
packet.writeD(_size); // list length
|
||||
packet.writeC(0x00); // Grand Crusade
|
||||
packet.writeC(_list.isChanceMultisell() ? 0x01 : 0x00); // new multisell window
|
||||
packet.writeD(0x20); // Helios - Always 32
|
||||
|
||||
|
@ -46,6 +46,7 @@ public class MyTargetSelected implements IClientOutgoingPacket
|
||||
{
|
||||
OutgoingPackets.MY_TARGET_SELECTED.writeId(packet);
|
||||
|
||||
packet.writeD(0x01); // Grand Crusade
|
||||
packet.writeD(_objectId);
|
||||
packet.writeH(_color);
|
||||
packet.writeD(0x00);
|
||||
|
@ -28,6 +28,9 @@ public final class SpawnItem implements IClientOutgoingPacket
|
||||
private final int _x, _y, _z;
|
||||
private int _stackable;
|
||||
private long _count;
|
||||
private int _enchantLevl;
|
||||
private int _isAugmented;
|
||||
private int _saCount;
|
||||
|
||||
public SpawnItem(L2Object obj)
|
||||
{
|
||||
@ -42,12 +45,18 @@ public final class SpawnItem implements IClientOutgoingPacket
|
||||
_itemId = item.getDisplayId();
|
||||
_stackable = item.isStackable() ? 0x01 : 0x00;
|
||||
_count = item.getCount();
|
||||
_enchantLevl = item.getEnchantLevel();
|
||||
_isAugmented = item.getAugmentation() != null ? 1 : 0;
|
||||
_saCount = item.getSpecialAbilities().size();
|
||||
}
|
||||
else
|
||||
{
|
||||
_itemId = obj.getPoly().getPolyId();
|
||||
_stackable = 0;
|
||||
_count = 1;
|
||||
_enchantLevl = 0;
|
||||
_isAugmented = 0;
|
||||
_saCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -66,6 +75,10 @@ public final class SpawnItem implements IClientOutgoingPacket
|
||||
packet.writeD(_stackable);
|
||||
packet.writeQ(_count);
|
||||
packet.writeD(0x00); // c2
|
||||
|
||||
packet.writeC(_enchantLevl); // Grand Crusade
|
||||
packet.writeC(_isAugmented); // Grand Crusade
|
||||
packet.writeC(_saCount); // Grand Crusade
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -24,12 +24,12 @@ import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
*/
|
||||
public final class TutorialShowQuestionMark implements IClientOutgoingPacket
|
||||
{
|
||||
private final int _questid; // quest id?
|
||||
private final int _condition; // cond?
|
||||
private final int _questId;
|
||||
private final int _condition;
|
||||
|
||||
public TutorialShowQuestionMark(int questid, int condition)
|
||||
public TutorialShowQuestionMark(int questId, int condition)
|
||||
{
|
||||
_questid = questid;
|
||||
_questId = questId;
|
||||
_condition = condition;
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ public final class TutorialShowQuestionMark implements IClientOutgoingPacket
|
||||
OutgoingPackets.TUTORIAL_SHOW_QUESTION_MARK.writeId(packet);
|
||||
|
||||
packet.writeC(_condition);
|
||||
packet.writeD(_questid);
|
||||
packet.writeD(_questId);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -20,6 +20,7 @@ import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
|
||||
import com.l2jmobius.gameserver.enums.UserInfoType;
|
||||
import com.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
|
||||
import com.l2jmobius.gameserver.model.L2Clan;
|
||||
import com.l2jmobius.gameserver.model.L2Party;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
@ -301,7 +302,7 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
||||
packet.writeH(22);
|
||||
packet.writeC(_activeChar.getPvpFlag());
|
||||
packet.writeD(_activeChar.getReputation()); // Reputation
|
||||
packet.writeC(0x00);
|
||||
packet.writeC(_activeChar.isNoble() ? 1 : 0);
|
||||
packet.writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0);
|
||||
packet.writeC(_activeChar.getPledgeClass());
|
||||
packet.writeD(_activeChar.getPkKills());
|
||||
@ -313,7 +314,7 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
||||
if (containsMask(UserInfoType.VITA_FAME))
|
||||
{
|
||||
packet.writeH(15);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(_activeChar.getVitalityPoints());
|
||||
packet.writeC(0x00); // Vita Bonus
|
||||
packet.writeD(_activeChar.getFame());
|
||||
packet.writeD(_activeChar.getRaidbossPoints());
|
||||
@ -351,7 +352,7 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
||||
packet.writeH(0x00);
|
||||
packet.writeH(0x00);
|
||||
packet.writeH(_activeChar.getInventoryLimit());
|
||||
packet.writeC(0);
|
||||
packet.writeC(_activeChar.isCursedWeaponEquipped() ? CursedWeaponsManager.getInstance().getLevel(_activeChar.getCursedWeaponEquippedId()) : 0);
|
||||
}
|
||||
|
||||
if (containsMask(UserInfoType.UNK_3))
|
||||
|
@ -18,6 +18,7 @@ package com.l2jmobius.gameserver.network.serverpackets.dailymission;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
@ -26,7 +27,12 @@ import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
*/
|
||||
public class ExConnectedTimeAndGettableReward implements IClientOutgoingPacket
|
||||
{
|
||||
public static final ExConnectedTimeAndGettableReward STATIC_PACKET = new ExConnectedTimeAndGettableReward();
|
||||
private final int _oneDayRewardAvailableCount;
|
||||
|
||||
public ExConnectedTimeAndGettableReward(L2PcInstance player)
|
||||
{
|
||||
_oneDayRewardAvailableCount = DailyMissionData.getInstance().getDailyMissionData(player).size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
@ -37,10 +43,18 @@ public class ExConnectedTimeAndGettableReward implements IClientOutgoingPacket
|
||||
}
|
||||
|
||||
OutgoingPackets.EX_CONNECTED_TIME_AND_GETTABLE_REWARD.writeId(packet);
|
||||
for (int i = 0; i < 16; i++) // TODO : Find what the hell it is
|
||||
{
|
||||
packet.writeD(0x00);
|
||||
}
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(_oneDayRewardAvailableCount);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,8 @@ package com.l2jmobius.gameserver.network.serverpackets.dailymission;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.DailyMissionData;
|
||||
@ -25,6 +27,7 @@ import com.l2jmobius.gameserver.model.DailyMissionDataHolder;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
import com.l2jmobius.gameserver.util.cron4j.Predictor;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
@ -33,11 +36,19 @@ public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
|
||||
{
|
||||
final L2PcInstance _player;
|
||||
private final Collection<DailyMissionDataHolder> _rewards;
|
||||
private final static Function<String, Long> _remainTime = pattern -> (new Predictor(pattern).nextMatchingTime() - System.currentTimeMillis()) / 1000L;
|
||||
|
||||
public ExOneDayReceiveRewardList(L2PcInstance player)
|
||||
private final long _dayRemainTime;
|
||||
private final long _weekRemainTime;
|
||||
private final long _monthRemainTime;
|
||||
|
||||
public ExOneDayReceiveRewardList(L2PcInstance player, boolean sendRewards)
|
||||
{
|
||||
_player = player;
|
||||
_rewards = DailyMissionData.getInstance().getDailyMissionData(player);
|
||||
_rewards = sendRewards ? DailyMissionData.getInstance().getDailyMissionData(player) : Collections.emptyList();
|
||||
_dayRemainTime = _remainTime.apply("30 6 * * *");
|
||||
_weekRemainTime = _remainTime.apply("30 6 * * 1");
|
||||
_monthRemainTime = _remainTime.apply("30 6 1 * *");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -50,7 +61,10 @@ public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
|
||||
|
||||
OutgoingPackets.EX_ONE_DAY_RECEIVE_REWARD_LIST.writeId(packet);
|
||||
|
||||
packet.writeC(0x23);
|
||||
packet.writeD((int) _dayRemainTime);
|
||||
packet.writeD((int) _weekRemainTime);
|
||||
packet.writeD((int) _monthRemainTime);
|
||||
packet.writeC(0x17);
|
||||
packet.writeD(_player.getClassId().getId());
|
||||
packet.writeD(LocalDate.now().getDayOfWeek().ordinal()); // Day of week
|
||||
packet.writeD(_rewards.size());
|
||||
@ -58,8 +72,8 @@ public class ExOneDayReceiveRewardList implements IClientOutgoingPacket
|
||||
{
|
||||
packet.writeH(reward.getId());
|
||||
packet.writeC(reward.getStatus(_player));
|
||||
packet.writeC(reward.getRequiredCompletions() > 0 ? 0x01 : 0x00);
|
||||
packet.writeD(reward.getProgress(_player));
|
||||
packet.writeC(reward.getRequiredCompletions() > 1 ? 0x01 : 0x00);
|
||||
packet.writeD(Math.min(reward.getProgress(_player), _player.getLevel()));
|
||||
packet.writeD(reward.getRequiredCompletions());
|
||||
}
|
||||
return true;
|
||||
|
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program 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.
|
||||
*
|
||||
* This program 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.l2jmobius.gameserver.network.serverpackets.raidbossinfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
|
||||
{
|
||||
private final List<Integer> _bossIds;
|
||||
|
||||
public ExRaidBossSpawnInfo(List<Integer> bossIds)
|
||||
{
|
||||
_bossIds = bossIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
|
||||
|
||||
packet.writeD(_bossIds.size()); // alive count
|
||||
for (int id : _bossIds) // alive ids
|
||||
{
|
||||
packet.writeD(id);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program 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.
|
||||
*
|
||||
* This program 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.l2jmobius.gameserver.network.serverpackets.raidbossinfo;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExRaidServerInfo implements IClientOutgoingPacket
|
||||
{
|
||||
public ExRaidServerInfo()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_RAID_SERVER_INFO.writeId(packet);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,18 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/GameServer.java"/>
|
||||
<listEntry value="/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/GameServer.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/c3p0-0.9.5.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/ecj-4.4.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/mchange-commons-java-0.2.12.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/mysql-connector-java-5.1.43.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/netty-all-4.1.14.Final.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/c3p0-0.9.5.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/ecj-4.4.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/mchange-commons-java-0.2.12.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/mysql-connector-java-5.1.43.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/netty-all-4.1.14.Final.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.l2jmobius.gameserver.GameServer"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.0_Saviors"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.0_Saviors}/dist/game/"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.0_Zaken"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.0_Zaken}/dist/game/"/>
|
||||
</launchConfiguration>
|
||||
|
@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/loginserver/L2LoginServer.java"/>
|
||||
<listEntry value="/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/loginserver/L2LoginServer.java"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="1"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/c3p0-0.9.5.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/ecj-4.4.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/mchange-commons-java-0.2.12.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/mysql-connector-java-5.1.43.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Saviors/dist/libs/netty-all-4.1.14.Final.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/c3p0-0.9.5.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/ecj-4.4.2.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/mchange-commons-java-0.2.12.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/mysql-connector-java-5.1.43.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;archive detectRoot=&quot;true&quot; path=&quot;/L2J_Mobius_Classic_2.0_Zaken/dist/libs/netty-all-4.1.14.Final.jar&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.archive"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.l2jmobius.loginserver.L2LoginServer"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.0_Saviors"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.0_Saviors}/dist/login/"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Classic_2.0_Zaken"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Classic_2.0_Zaken}/dist/login/"/>
|
||||
</launchConfiguration>
|
||||
|
@ -1,9 +1,7 @@
|
||||
L2J-Mobius Classic 2.0
|
||||
|
||||
Client: https://drive.google.com/file/d/0B0Pl9EOrFIjuSVNPXzRpRFRZWlk
|
||||
Mirror: https://mega.nz/#!0lcGQaaI!tuZUFcQS0gVPjzAIPquznOehLqJq0BR-5rm3BXxn6pg
|
||||
|
||||
Geodata: http://www.mediafire.com/file/r8ryrhw7d5p858g/mobius_geodata_saviors_l2d.zip
|
||||
Client: https://drive.google.com/uc?id=1i8udOtNak2ANythwdPYY3sVdawOxuyBo&export=download
|
||||
Geodata: http://www.mediafire.com/file/98mbrlontaoaxou/mobius_geodata_zaken_l2d.zip
|
||||
|
||||
|
||||
Saviors:
|
||||
@ -52,6 +50,14 @@ Saviors:
|
||||
-Attendance rewards
|
||||
-Various retail Classic events
|
||||
|
||||
Zaken:
|
||||
-TODO: Parse item names from client
|
||||
-TODO: Parse skill names from client
|
||||
-TODO: Parse NPC names from client
|
||||
-TODO: Add raidbosses according to map
|
||||
-TODO: Zaken boss
|
||||
-TODO: Newbie quest changes
|
||||
|
||||
Customs:
|
||||
-Newbie Helper NPC location info
|
||||
-Newbie Helper buff support until 40 level
|
||||
|
Loading…
Reference in New Issue
Block a user