Replaced Augmentation with Variation data.

Adapted from: L2jUnity free files.
This commit is contained in:
MobiusDev 2018-02-17 13:39:22 +00:00
parent 164b4fe686
commit c112d243be
280 changed files with 150683 additions and 272178 deletions

View File

@ -1,6 +0,0 @@
DROP TABLE IF EXISTS `item_attributes`;
CREATE TABLE IF NOT EXISTS `item_attributes` (
`itemId` int(11) NOT NULL DEFAULT 0,
`augAttributes` int(11) NOT NULL DEFAULT -1,
PRIMARY KEY (`itemId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View File

@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS `item_variations` (
`itemId` INT(11) NOT NULL,
`mineralId` INT(11) NOT NULL DEFAULT 0,
`option1` INT(11) NOT NULL,
`option2` INT(11) NOT NULL,
PRIMARY KEY (`itemId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

View File

@ -3,7 +3,7 @@
<!-- Documentation: -->
<!-- <instance id="NPC ID of the auctioneer" day_of_week="1 - Monday, 7 - Sunday" hour_of_day="0-23" minute_of_hour="0-59"> -->
<!-- <item auctionItemId="1" itemId="9901" itemCount="1" auctionInitBid="100000" auctionLenght="300 (in minutes)"> -->
<!-- <extra enchant_level="15" augmentation_id="you can take it from item_attributes table" augmentation_skill_id="3241" augmentation_skill_lvl="10" /> -->
<!-- <extra enchant_level="15" /> -->
<!-- </item> -->
<!-- </instance> -->
<!-- instead of day_of_week you can use interval between auction in days -->

File diff suppressed because it is too large Load Diff

View File

@ -1709,4 +1709,134 @@
</effect>
</effects>
</option>
<option id="24986" name="o_f_85_1g_1">
<!-- P. Def. + 12.19 -->
<effects>
<effect name="PhysicalDefence">
<amount>12.19</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24987" name="o_f_85_1g_2">
<!-- M. Def. + 10.51 -->
<effects>
<effect name="MagicalDefence">
<amount>10.51</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24988" name="o_f_85_1g_3">
<!-- Max HP + 35.27 -->
<effects>
<effect name="MaxHp">
<amount>35.27</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24989" name="o_f_85_1g_4">
<!-- Max MP + 14.22 -->
<effects>
<effect name="MaxMp">
<amount>14.22</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24990" name="o_f_85_1g_5">
<!-- Max CP + 69.45 -->
<effects>
<effect name="MaxCp">
<amount>69.45</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24991" name="o_f_85_1g_6">
<!-- P. Atk. + 14.33 -->
<effects>
<effect name="PAtk">
<amount>14.33</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24992" name="o_f_85_1g_7">
<!-- M. Atk. + 17.14 -->
<effects>
<effect name="MAtk">
<amount>17.14</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24993" name="o_f_85_1g_8">
<!-- HP Recovery + 0.14 -->
<effects>
<effect name="HpRegen">
<amount>0.14</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24994" name="o_f_85_1g_9">
<!-- MP Recovery + 0.06 -->
<effects>
<effect name="MpRegen">
<amount>0.06</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24995" name="o_f_85_1g_10">
<!-- CP Recovery + 0.14 -->
<effects>
<effect name="CpRegen">
<amount>0.14</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24996" name="o_f_85_1g_11">
<!-- Evasion + 0.94 -->
<effects>
<effect name="PhysicalEvasion">
<amount>0.94</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24997" name="o_f_85_1g_12">
<!-- Accuracy + 1.528 -->
<effects>
<effect name="Accuracy">
<amount>1.528</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24998" name="o_f_85_1g_13">
<!-- Critical + 11.4 -->
<effects>
<effect name="CriticalRate">
<amount>11.399999999999999</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="24999" name="o_f_85_1g_14">
<!-- P. Def. + 7.165 M. Def. + 5.255 -->
<effects>
<effect name="PhysicalDefence">
<amount>7.165</amount>
<mode>DIFF</mode>
</effect>
<effect name="MagicalDefence">
<amount>5.255</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
</list>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,889 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="29300" name="o_w_99_2u_38">
<!-- Max HP + 41.9 Max CP + 69.02 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29301" name="o_w_99_2u_39">
<!-- Max HP + 41.9 P. Atk. + 31.52 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29302" name="o_w_99_2u_40">
<!-- Max HP + 41.9 M. Atk. + 40.75 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29303" name="o_w_99_2u_41">
<!-- Max HP + 41.9 HP Recovery + 0.175 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29304" name="o_w_99_2u_42">
<!-- Max HP + 41.9 MP Recovery + 0.115 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29305" name="o_w_99_2u_43">
<!-- Max HP + 41.9 CP Recovery + 0.175 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29306" name="o_w_99_2u_44">
<!-- Max HP + 41.9 Evasion + 1.4105 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29307" name="o_w_99_2u_45">
<!-- Max HP + 41.9 Accuracy + 2.0565 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29308" name="o_w_99_2u_46">
<!-- Max HP + 41.9 Critical + 15.4 -->
<effects>
<effect name="MaxHp">
<amount>41.9</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29309" name="o_w_99_2u_47">
<!-- Max MP + 49.5 Max CP + 69.02 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29310" name="o_w_99_2u_48">
<!-- Max MP + 49.5 P. Atk. + 31.52 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29311" name="o_w_99_2u_49">
<!-- Max MP + 49.5 M. Atk. + 40.75 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29312" name="o_w_99_2u_50">
<!-- Max MP + 49.5 HP Recovery + 0.175 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29313" name="o_w_99_2u_51">
<!-- Max MP + 49.5 MP Recovery + 0.115 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29314" name="o_w_99_2u_52">
<!-- Max MP + 49.5 CP Recovery + 0.175 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29315" name="o_w_99_2u_53">
<!-- Max MP + 49.5 Evasion + 1.4105 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29316" name="o_w_99_2u_54">
<!-- Max MP + 49.5 Accuracy + 2.0565 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29317" name="o_w_99_2u_55">
<!-- Max MP + 49.5 Critical + 15.4 -->
<effects>
<effect name="MaxMp">
<amount>49.5</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29318" name="o_w_99_2u_56">
<!-- Max CP + 69.02 P. Atk. + 31.52 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29319" name="o_w_99_2u_57">
<!-- Max CP + 69.02 M. Atk. + 40.75 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29320" name="o_w_99_2u_58">
<!-- Max CP + 69.02 HP Recovery + 0.175 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29321" name="o_w_99_2u_59">
<!-- Max CP + 69.02 MP Recovery + 0.115 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29322" name="o_w_99_2u_60">
<!-- Max CP + 69.02 CP Recovery + 0.175 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29323" name="o_w_99_2u_61">
<!-- Max CP + 69.02 Evasion + 1.4105 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29324" name="o_w_99_2u_62">
<!-- Max CP + 69.02 Accuracy + 2.0565 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29325" name="o_w_99_2u_63">
<!-- Max CP + 69.02 Critical + 15.4 -->
<effects>
<effect name="MaxCp">
<amount>69.02</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29326" name="o_w_99_2u_64">
<!-- P. Atk. + 31.52 M. Atk. + 40.75 -->
<effects>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29327" name="o_w_99_2u_65">
<!-- P. Atk. + 31.52 HP Recovery + 0.175 -->
<effects>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29328" name="o_w_99_2u_66">
<!-- P. Atk. + 31.52 MP Recovery + 0.115 -->
<effects>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29329" name="o_w_99_2u_67">
<!-- P. Atk. + 31.52 CP Recovery + 0.175 -->
<effects>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29330" name="o_w_99_2u_68">
<!-- P. Atk. + 31.52 Evasion + 1.4105 -->
<effects>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29331" name="o_w_99_2u_69">
<!-- P. Atk. + 31.52 Accuracy + 2.0565 -->
<effects>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29332" name="o_w_99_2u_70">
<!-- P. Atk. + 31.52 Critical + 15.4 -->
<effects>
<effect name="PAtk">
<amount>31.52</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29333" name="o_w_99_2u_71">
<!-- M. Atk. + 40.75 HP Recovery + 0.175 -->
<effects>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29334" name="o_w_99_2u_72">
<!-- M. Atk. + 40.75 MP Recovery + 0.115 -->
<effects>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29335" name="o_w_99_2u_73">
<!-- M. Atk. + 40.75 CP Recovery + 0.175 -->
<effects>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29336" name="o_w_99_2u_74">
<!-- M. Atk. + 40.75 Evasion + 1.4105 -->
<effects>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29337" name="o_w_99_2u_75">
<!-- M. Atk. + 40.75 Accuracy + 2.0565 -->
<effects>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29338" name="o_w_99_2u_76">
<!-- M. Atk. + 40.75 Critical + 15.4 -->
<effects>
<effect name="MAtk">
<amount>40.75</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29339" name="o_w_99_2u_77">
<!-- HP Recovery + 0.175 MP Recovery + 0.115 -->
<effects>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29340" name="o_w_99_2u_78">
<!-- HP Recovery + 0.175 CP Recovery + 0.175 -->
<effects>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29341" name="o_w_99_2u_79">
<!-- HP Recovery + 0.175 Evasion + 1.4105 -->
<effects>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29342" name="o_w_99_2u_80">
<!-- HP Recovery + 0.175 Accuracy + 2.0565 -->
<effects>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29343" name="o_w_99_2u_81">
<!-- HP Recovery + 0.175 Critical + 15.4 -->
<effects>
<effect name="HpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29344" name="o_w_99_2u_82">
<!-- MP Recovery + 0.115 CP Recovery + 0.175 -->
<effects>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29345" name="o_w_99_2u_83">
<!-- MP Recovery + 0.115 Evasion + 1.4105 -->
<effects>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29346" name="o_w_99_2u_84">
<!-- MP Recovery + 0.115 Accuracy + 2.0565 -->
<effects>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29347" name="o_w_99_2u_85">
<!-- MP Recovery + 0.115 Critical + 15.4 -->
<effects>
<effect name="MpRegen">
<amount>0.115</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29348" name="o_w_99_2u_86">
<!-- CP Recovery + 0.175 Evasion + 1.4105 -->
<effects>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29349" name="o_w_99_2u_87">
<!-- CP Recovery + 0.175 Accuracy + 2.0565 -->
<effects>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29350" name="o_w_99_2u_88">
<!-- CP Recovery + 0.175 Critical + 15.4 -->
<effects>
<effect name="CpRegen">
<amount>0.175</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29351" name="o_w_99_2u_89">
<!-- Evasion + 1.4105 Accuracy + 2.0565 -->
<effects>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29352" name="o_w_99_2u_90">
<!-- Evasion + 1.4105 Critical + 15.4 -->
<effects>
<effect name="PhysicalEvasion">
<amount>1.4105</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29353" name="o_w_99_2u_91">
<!-- Accuracy + 2.0565 Critical + 15.4 -->
<effects>
<effect name="Accuracy">
<amount>2.0565</amount>
<mode>DIFF</mode>
</effect>
<effect name="CriticalRate">
<amount>15.4</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="29354" name="o_s_85_2s_1">
<!-- Active: Temporarily increases the size of your head. -->
<active_skill id="3203" level="1" /> <!-- Item Skill: Mystery Skill -->
</option>
<option id="29355" name="o_s_85_2s_2">
<!-- Active: Temporarily increases lung capacity. -->
<active_skill id="3143" level="10" /> <!-- Item Skill: Eva's Kiss -->
</option>
<option id="29356" name="o_s_85_2s_3">
<!-- Active: Temporarily increases the height from which you can jump without sustaining damage. -->
<active_skill id="3144" level="10" /> <!-- Item Skill: Acrobatics -->
</option>
<option id="29357" name="o_s_85_2s_4">
<!-- Active: Temporarily increases resistance to damage from falling. -->
<active_skill id="3145" level="13" /> <!-- Item Skill: Iron Body -->
</option>
<option id="29358" name="o_s_85_2s_5">
<!-- Active: Ignites a firecracker. -->
<active_skill id="3156" level="1" /> <!-- Item Skill: Firecracker -->
</option>
<option id="29359" name="o_s_85_2s_6">
<!-- Active: Temporarily plays music. -->
<active_skill id="3206" level="1" /> <!-- Item Skill: Music -->
</option>
<option id="29360" name="o_s_85_2s_7">
<!-- Active: Ignites a large firecracker. -->
<active_skill id="3157" level="1" /> <!-- Item Skill: Large Firecracker -->
</option>
<option id="29361" name="o_s_85_2s_8">
<!-- Effect: During a physical attack, momentarily decreases the target's aggression for oneself. -->
<attack_skill id="3081" level="13" chance="1.0" /> <!-- Item Skill: Charm (Attack Active) -->
</option>
<option id="29362" name="o_s_85_2s_9">
<!-- Effect: During a physical attack, momentarily triggers the target's aggression. -->
<attack_skill id="3080" level="13" chance="1.0" /> <!-- Item Skill: Aggression -->
</option>
<option id="29363" name="o_s_85_2s_10">
<!-- Effect: During a physical attack, momentarily decreases the target's Speed. -->
<attack_skill id="3083" level="13" chance="1.0" /> <!-- Item Skill: Slow (Attack Active) -->
</option>
<option id="29364" name="o_s_85_2s_11">
<!-- Effect: During a critical attack, momentarily decreases the target's aggression for oneself. -->
<critical_skill id="3109" level="13" chance="5.0" /> <!-- Item Skill: Aggression Down -->
</option>
<option id="29365" name="o_s_85_2s_12">
<!-- Effect: During a critical attack, momentarily triggers the target's aggression. -->
<critical_skill id="3108" level="13" chance="5.0" /> <!-- Item Skill: Aggression Up -->
</option>
<option id="29366" name="o_s_85_2s_13">
<!-- Effect: During a critical attack, momentarily decreases the target's Speed. -->
<critical_skill id="3111" level="13" chance="5.0" /> <!-- Item Skill: Slow (Critical) -->
</option>
<option id="29367" name="o_s_85_2s_14">
<!-- Effect: During a magic attack, momentarily decreases the target's Speed. Effect 3. -->
<magic_skill id="3096" level="13" chance="2.0" /> <!-- Item Skill: Slow (Magic Active) -->
</option>
<option id="29368" name="o_s_85_2s_15">
<!-- Passive: Increases lung capacity. -->
<passive_skill id="3252" level="10" /> <!-- Item Skill: Eva's Kiss -->
</option>
<option id="29369" name="o_s_85_2s_16">
<!-- Passive: Increases the height from which you can jump without sustaining damage. -->
<passive_skill id="3253" level="10" /> <!-- Item Skill: Acrobatics -->
</option>
<option id="29370" name="o_s_85_2s_17">
<!-- Passive: Increases resistance to damage from falling. -->
<passive_skill id="3254" level="13" /> <!-- Item Skill: Iron Body -->
</option>
<option id="29371" name="o_s_85_2r_1">
<!-- Active: Momentarily decreases the target's Atk. Spd. -->
<active_skill id="3188" level="13" /> <!-- Item Skill: Winter (Active) -->
</option>
<option id="29372" name="o_s_85_2r_2">
<!-- Active: Temporarily increases Evasion. -->
<active_skill id="3139" level="13" /> <!-- Item Skill: Agility -->
</option>
<option id="29373" name="o_s_85_2r_3">
<!-- Active: Momentarily inflicts bleed on the target. -->
<active_skill id="3196" level="13" /> <!-- Item Skill: Bleed (Active) -->
</option>
<option id="29374" name="o_s_85_2r_4">
<!-- Active: Recovers CP. -->
<active_skill id="3130" level="10" /> <!-- Item Skill: Ritual -->
</option>
<option id="29375" name="o_s_85_2r_5">
<!-- Active: Inflicts damage by throwing a boulder. -->
<active_skill id="3169" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29376" name="o_s_85_2r_6">
<!-- Active: Momentarily inflicts fear on the target and causes him to flee. -->
<active_skill id="3194" level="10" /> <!-- Item Skill: Fear -->
</option>
<option id="29377" name="o_s_85_2r_7">
<!-- Active: Condenses air to burst flames. -->
<active_skill id="3165" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29378" name="o_s_85_2r_8">
<!-- Active: Calms the enemy to lessen aggression. -->
<active_skill id="3151" level="13" /> <!-- Item Skill: Peace -->
</option>
<option id="29379" name="o_s_85_2r_9">
<!-- Active: Decreases the target's aggression for oneself. -->
<active_skill id="3150" level="13" /> <!-- Item Skill: Charm (Active) -->
</option>
<option id="29380" name="o_s_85_2r_10">
<!-- Active: Triggers the target's aggression. -->
<active_skill id="3149" level="13" /> <!-- Item Skill: Aggression -->
</option>
<option id="29381" name="o_s_85_2r_11">
<!-- Active: Temporarily increases Accuracy. -->
<active_skill id="3140" level="13" /> <!-- Item Skill: Guidance -->
</option>
<option id="29382" name="o_s_85_2r_12">
<!-- Active: Momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<active_skill id="3190" level="10" /> <!-- Item Skill: Hold -->
</option>
<option id="29383" name="o_s_85_2r_13">
<!-- Active: Inflicts a holy attack. -->
<active_skill id="3170" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29384" name="o_s_85_2r_14">
<!-- Active: Temporarily increases the power of HP recovery magic. -->
<active_skill id="3138" level="10" /> <!-- Item Skill: Heal Empower -->
</option>
<option id="29385" name="o_s_85_2r_15">
<!-- Active: Temporarily increases the effect of HP recovery magic. -->
<active_skill id="3126" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29386" name="o_s_85_2r_16">
<!-- Active: Immediately restores your HP. -->
<active_skill id="3123" level="10" /> <!-- Item Skill: Heal -->
</option>
<option id="29387" name="o_s_85_2r_17">
<!-- Active: Temporarily increases M. Atk. -->
<active_skill id="3133" level="13" /> <!-- Item Skill: Empower -->
</option>
<option id="29388" name="o_s_85_2r_18">
<!-- Active: Temporarily increases Max CP. -->
<active_skill id="3131" level="10" /> <!-- Item Skill: Cheer -->
</option>
<option id="29389" name="o_s_85_2r_19">
<!-- Active: Temporarily increases Max HP and recovers the amount of increased HP. -->
<active_skill id="3125" level="10" /> <!-- Item Skill: Battle Roar -->
</option>
<option id="29390" name="o_s_85_2r_20">
<!-- Active: Temporarily increases Max HP. -->
<active_skill id="3124" level="10" /> <!-- Item Skill: Blessed Body -->
</option>
<option id="29391" name="o_s_85_2r_21">
<!-- Active: Temporarily increases Max MP. -->
<active_skill id="3128" level="10" /> <!-- Item Skill: Blessed Soul -->
</option>
<option id="29392" name="o_s_85_2r_22">
<!-- Active: Temporarily increases M. Def. -->
<active_skill id="3136" level="13" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29393" name="o_s_85_2r_23">
<!-- Active: Burns up the enemy's MP. -->
<active_skill id="3154" level="10" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29394" name="o_s_85_2r_24">
<!-- Active: Increases MP recovery amount of the recharge. -->
<active_skill id="3129" level="13" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29395" name="o_s_85_2r_25">
<!-- Active: Restores MP. -->
<active_skill id="3127" level="10" /> <!-- Item Skill: Recharge -->
</option>
<option id="29396" name="o_s_85_2r_26">
<!-- Active: Inflicts a non-attribute attack. -->
<active_skill id="3172" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29397" name="o_s_85_2r_27">
<!-- Active: Temporarily increases P. Atk. -->
<active_skill id="3132" level="13" /> <!-- Item Skill: Might -->
</option>
<option id="29398" name="o_s_85_2r_28">
<!-- Active: Momentarily inflicts paralysis on the target. -->
<active_skill id="3192" level="10" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29399" name="o_s_85_2r_29">
<!-- Active: Temporarily increases P. Def. -->
<active_skill id="3135" level="13" /> <!-- Item Skill: Shield -->
</option>
</list>

View File

@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="29400" name="o_s_85_2r_30">
<!-- Active: Momentarily inflicts poison on the target. -->
<active_skill id="3195" level="13" /> <!-- Item Skill: Poison (Active) -->
</option>
<option id="29401" name="o_s_85_2r_31">
<!-- Active: Temporarily decreases the opponent's PvP P. Atk. -->
<active_skill id="3137" level="10" /> <!-- Item Skill: Duel Weakness -->
</option>
<option id="29402" name="o_s_85_2r_32">
<!-- Active: Temporarily increases PvP P. Atk. -->
<active_skill id="3134" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29403" name="o_s_85_2r_33">
<!-- Active: Teleports to a town. Cannot be used in special areas such as the GM info center. -->
<active_skill id="3146" level="1" /> <!-- Item Skill: Return -->
</option>
<option id="29404" name="o_s_85_2r_34">
<!-- Active: Resurrects a corpse. -->
<active_skill id="3160" level="9" /> <!-- Item Skill: Resurrection -->
</option>
<option id="29405" name="o_s_85_2r_35">
<!-- Active: Inflicts a earth range attack. -->
<active_skill id="3183" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29406" name="o_s_85_2r_36">
<!-- Active: Inflicts a fire range attack. -->
<active_skill id="3180" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29407" name="o_s_85_2r_37">
<!-- Active: Inflicts a holy range attack. -->
<active_skill id="3184" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29408" name="o_s_85_2r_38">
<!-- Active: Inflicts a non-attribute range attack. -->
<active_skill id="3186" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29409" name="o_s_85_2r_39">
<!-- Active: Inflicts a dark range attack. -->
<active_skill id="3185" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29410" name="o_s_85_2r_40">
<!-- Active: Inflicts a water range attack. -->
<active_skill id="3181" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29411" name="o_s_85_2r_41">
<!-- Active: Inflicts a wind range attack. -->
<active_skill id="3182" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29412" name="o_s_85_2r_42">
<!-- Active: Momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<active_skill id="3191" level="10" /> <!-- Item Skill: Sleep -->
</option>
<option id="29413" name="o_s_85_2r_43">
<!-- Active: Momentarily decreases the target's Speed. -->
<active_skill id="3187" level="13" /> <!-- Item Skill: Slow (Active) -->
</option>
<option id="29414" name="o_s_85_2r_44">
<!-- Active: Momentarily inflicts shock on the target. -->
<active_skill id="3189" level="10" /> <!-- Item Skill: Stun -->
</option>
<option id="29415" name="o_s_85_2r_45">
<!-- Active: Inflicts a earth range attack. -->
<active_skill id="3176" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29416" name="o_s_85_2r_46">
<!-- Active: Inflicts a fire range attack. -->
<active_skill id="3173" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29417" name="o_s_85_2r_47">
<!-- Active: Inflicts a holy range attack. -->
<active_skill id="3177" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29418" name="o_s_85_2r_48">
<!-- Active: Inflicts a non-attribute range attack. -->
<active_skill id="3179" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29419" name="o_s_85_2r_49">
<!-- Active: Inflicts a dark range attack. -->
<active_skill id="3178" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29420" name="o_s_85_2r_50">
<!-- Active: Inflicts a water range attack. -->
<active_skill id="3174" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29421" name="o_s_85_2r_51">
<!-- Active: Inflicts a wind range attack. -->
<active_skill id="3175" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29422" name="o_s_85_2r_52">
<!-- Active: Cancels the target. -->
<active_skill id="3152" level="10" /> <!-- Item Skill: Trick -->
</option>
<option id="29423" name="o_s_85_2r_53">
<!-- Active: Momentarily petrifies the target. -->
<active_skill id="3193" level="10" /> <!-- Item Skill: Medusa -->
</option>
<option id="29424" name="o_s_85_2r_54">
<!-- Active: Inflicts a dark attack. -->
<active_skill id="3171" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29425" name="o_s_85_2r_55">
<!-- Active: Absorbs HP from your target. -->
<active_skill id="3155" level="10" /> <!-- Item Skill: Unlock -->
</option>
<option id="29426" name="o_s_85_2r_56">
<!-- Active: Absorbs HP from your target. -->
<active_skill id="3153" level="10" /> <!-- Item Skill: Vampiric Touch -->
</option>
<option id="29427" name="o_s_85_2r_57">
<!-- Active: Inflicts a water attack. -->
<active_skill id="3167" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29428" name="o_s_85_2r_58">
<!-- Active: Inflicts a wind attack. -->
<active_skill id="3168" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29429" name="o_s_85_2r_59">
<!-- Effect: During a physical attack, momentarily decreases the target's Atk. Spd. -->
<attack_skill id="3084" level="10" chance="1.0" /> <!-- Item Skill: Winter (Attack Active) -->
</option>
<option id="29430" name="o_s_85_2r_60">
<!-- Effect: During a physical attack, momentarily inflicts bleed on the target. -->
<attack_skill id="3092" level="13" chance="1.0" /> <!-- Item Skill: Bleed (Attack Active) -->
</option>
<option id="29431" name="o_s_85_2r_61">
<!-- Effect: During a physical attack, momentarily inflicts fear on the target and causes him to flee. -->
<attack_skill id="3090" level="10" chance="1.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29432" name="o_s_85_2r_62">
<!-- Effect: During a physical attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<attack_skill id="3086" level="13" chance="1.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29433" name="o_s_85_2r_63">
<!-- Effect: During a physical attack, momentarily inflicts poison on the target. -->
<attack_skill id="3091" level="13" chance="1.0" /> <!-- Item Skill: Poison (Attack Active) -->
</option>
<option id="29434" name="o_s_85_2r_64">
<!-- Effect: During a physical attack, momentarily petrifies the target. -->
<attack_skill id="3089" level="10" chance="1.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29435" name="o_s_85_2r_65">
<!-- Effect: During a critical attack, momentarily decreases the target's Atk. Spd. -->
<critical_skill id="3112" level="13" chance="5.0" /> <!-- Item Skill: Winter (Critical) -->
</option>
<option id="29436" name="o_s_85_2r_66">
<!-- Effect: During a critical attack, momentarily inflicts bleed on the target. -->
<critical_skill id="3120" level="13" chance="5.0" /> <!-- Item Skill: Bleed (Critical) -->
</option>
<option id="29437" name="o_s_85_2r_67">
<!-- Effect: During a critical attack, momentarily inflicts fear on the target. -->
<critical_skill id="3118" level="10" chance="5.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29438" name="o_s_85_2r_68">
<!-- Effect: During a critical attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<critical_skill id="3114" level="13" chance="5.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29439" name="o_s_85_2r_69">
<!-- Effect: During a critical attack, momentarily inflicts poison on the target. -->
<critical_skill id="3119" level="13" chance="5.0" /> <!-- Item Skill: Poison (Critical) -->
</option>
<option id="29440" name="o_s_85_2r_70">
<!-- Effect: During a critical attack, momentarily petrifies the target. -->
<critical_skill id="3117" level="10" chance="5.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29441" name="o_s_85_2r_71">
<!-- Effect: Has a chance of decreasing Speed of the target who gave damage. -->
<passive_skill id="3227" level="13" /> <!-- Item Skill: Winter -->
</option>
<option id="29442" name="o_s_85_2r_72">
<!-- Effect: When receiving damage, has a chance of increasing Evasion. -->
<passive_skill id="3221" level="13" /> <!-- Item Skill: Agility -->
</option>
<option id="29443" name="o_s_85_2r_73">
<!-- Effect: Has a chance of inflicting bleed on the target who gave damage. -->
<passive_skill id="3235" level="13" /> <!-- Item Skill: Bleed -->
</option>
<option id="29444" name="o_s_85_2r_74">
<!-- Effect: When receiving damage, has a chance of restoring CP. -->
<passive_skill id="3213" level="10" /> <!-- Item Skill: Ritual -->
</option>
<option id="29445" name="o_s_85_2r_75">
<!-- Effect: When receiving damage, has a chance of increasing Critical Rate. -->
<passive_skill id="3223" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29446" name="o_s_85_2r_76">
<!-- Effect: Has a chance of decreasing aggression of the target who gave damage. -->
<passive_skill id="3225" level="13" /> <!-- Item Skill: Charm -->
</option>
<option id="29447" name="o_s_85_2r_77">
<!-- Effect: When receiving damage, has a chance of increasing Accuracy. -->
<passive_skill id="3222" level="13" /> <!-- Item Skill: Guidance -->
</option>
<option id="29448" name="o_s_85_2r_78">
<!-- Effect: Has a chance of inflicting hold on the target who gave damage. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<passive_skill id="3229" level="10" /> <!-- Item Skill: Hold -->
</option>
<option id="29449" name="o_s_85_2r_79">
<!-- Effect: When receiving damage, has a chance of increasing the recovery amount of HP recovery magics. -->
<passive_skill id="3209" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29450" name="o_s_85_2r_80">
<!-- Effect: When receiving damage, has a chance of restoring HP. -->
<passive_skill id="3207" level="10" /> <!-- Item Skill: Heal -->
</option>
<option id="29451" name="o_s_85_2r_81">
<!-- Effect: When receiving damage, has a chance of increasing M. Atk. -->
<passive_skill id="3216" level="13" /> <!-- Item Skill: Empower -->
</option>
<option id="29452" name="o_s_85_2r_82">
<!-- Effect: When receiving damage, has a chance of increasing Critical Rate of attack magics. -->
<passive_skill id="3224" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29453" name="o_s_85_2r_83">
<!-- Effect: When receiving damage, has a chance of increasing Max CP. -->
<passive_skill id="3214" level="10" /> <!-- Item Skill: Cheer -->
</option>
<option id="29454" name="o_s_85_2r_84">
<!-- Effect: When receiving damage, has a chance of increasing Max HP. -->
<passive_skill id="3208" level="10" /> <!-- Item Skill: Blessed Body -->
</option>
<option id="29455" name="o_s_85_2r_85">
<!-- Effect: When receiving damage, has a chance of increasing Max MP. -->
<passive_skill id="3211" level="10" /> <!-- Item Skill: Blessed Soul -->
</option>
<option id="29456" name="o_s_85_2r_86">
<!-- Effect: When receiving damage, has a chance of increasing M. Def. -->
<passive_skill id="3219" level="13" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29457" name="o_s_85_2r_87">
<!-- Effect: When receiving damage, has a chance of increasing P. Atk. -->
<passive_skill id="3215" level="13" /> <!-- Item Skill: Might -->
</option>
<option id="29458" name="o_s_85_2r_88">
<!-- Effect: When receiving damage, has a chance of increasing P. Def. -->
<passive_skill id="3218" level="13" /> <!-- Item Skill: Shield -->
</option>
<option id="29459" name="o_s_85_2r_89">
<!-- Effect: Has a chance of inflicting poison on the target who gave damage. -->
<passive_skill id="3234" level="13" /> <!-- Item Skill: Poison -->
</option>
<option id="29460" name="o_s_85_2r_90">
<!-- Effect: Has a chance of decreasing PvP P. Atk. of the target who gave damage. -->
<passive_skill id="3220" level="10" /> <!-- Item Skill: Duel Weakness -->
</option>
<option id="29461" name="o_s_85_2r_91">
<!-- Effect: When receiving damage, has a chance of increasing PvP P. Ak. -->
<passive_skill id="3217" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29462" name="o_s_85_2r_92">
<!-- Effect: Has a chance of inflicting shock on the target who gave damage. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<passive_skill id="3230" level="10" /> <!-- Item Skill: Sleep -->
</option>
<option id="29463" name="o_s_85_2r_93">
<!-- Effect: Has a chance of decreasing Speed of the target who gave damage. -->
<passive_skill id="3226" level="13" /> <!-- Item Skill: Slow -->
</option>
<option id="29464" name="o_s_85_2r_94">
<!-- Effect: During a magic attack, momentarily decreases the target's Atk. Spd. -->
<magic_skill id="3097" level="10" chance="2.0" /> <!-- Item Skill: Winter (Magic Active) -->
</option>
<option id="29465" name="o_s_85_2r_95">
<!-- Effect: During a magic attack, momentarily inflicts bleed on the target. -->
<magic_skill id="3105" level="13" chance="2.0" /> <!-- Item Skill: Bleed (Magic Active) -->
</option>
<option id="29466" name="o_s_85_2r_96">
<!-- Effect: During a magic attack, momentarily inflicts fear on the target and causes him to flee. -->
<magic_skill id="3103" level="10" chance="2.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29467" name="o_s_85_2r_97">
<!-- Effect: During a magic attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<magic_skill id="3099" level="13" chance="2.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29468" name="o_s_85_2r_98">
<!-- Effect: During a magic attack, momentarily inflicts poison on the target. -->
<magic_skill id="3104" level="13" chance="2.0" /> <!-- Item Skill: Poison (Magic Active) -->
</option>
<option id="29469" name="o_s_85_2r_99">
<!-- Effect: During a magic attack, momentarily petrifies the target. -->
<magic_skill id="3102" level="10" chance="2.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29470" name="o_s_85_2r_100">
<!-- Passive: Increases the power of HP recovery magic. -->
<passive_skill id="3246" level="10" /> <!-- Item Skill: Heal Empower -->
</option>
<option id="29471" name="o_s_85_2r_101">
<!-- Passive: Increases the effect of HP recovery magic. -->
<passive_skill id="3238" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29472" name="o_s_85_2r_102">
<!-- Passive: Increases M. Atk. -->
<passive_skill id="3241" level="13" /> <!-- Item Skill: Empower -->
</option>
<option id="29473" name="o_s_85_2r_103">
<!-- Passive: Increases M. Def. -->
<passive_skill id="3245" level="13" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29474" name="o_s_85_2r_104">
<!-- Passive: Increases P. Atk. -->
<passive_skill id="3240" level="13" /> <!-- Item Skill: Might -->
</option>
<option id="29475" name="o_s_85_2r_105">
<!-- Passive: Increases P. Def. -->
<passive_skill id="3244" level="13" /> <!-- Item Skill: Shield -->
</option>
<option id="29476" name="o_s_85_2r_106">
<!-- Passive: Increases PvP P. Atk. -->
<passive_skill id="3243" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29477" name="o_s_85_2r_107">
<!-- Passive: Doubles the weight limit. -->
<passive_skill id="3251" level="10" /> <!-- Item Skill: Weight Limit -->
</option>
<option id="29478" name="o_s_85_2u_1">
<!-- Active: Temporarily decreases cooldown for all skills. -->
<active_skill id="3202" level="3" /> <!-- Item Skill: Refresh -->
</option>
<option id="29479" name="o_s_85_2u_2">
<!-- Active: Temporarily decreases MP Consumption for all skills. -->
<active_skill id="3164" level="3" /> <!-- Item Skill: Clarity -->
</option>
<option id="29480" name="o_s_85_2u_3">
<!-- Active: Temporarily increases Critical Rate. -->
<active_skill id="3141" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29481" name="o_s_85_2u_4">
<!-- Active: Temporarily returns a portion of received damage back to an enemy. -->
<active_skill id="3204" level="3" /> <!-- Item Skill: Reflect Damage -->
</option>
<option id="29482" name="o_s_85_2u_5">
<!-- Active: Momentarily blocks the target's physical/magic skills. -->
<active_skill id="3198" level="10" /> <!-- Item Skill: Doom -->
</option>
<option id="29483" name="o_s_85_2u_6">
<!-- Active: Teleports to a village without a casting time. Cannot be used in special areas such as the GM info center. -->
<active_skill id="3147" level="1" /> <!-- Item Skill: Quick Return -->
</option>
<option id="29484" name="o_s_85_2u_7">
<!-- Active: Momentarily becomes invincible. -->
<active_skill id="3158" level="1" /> <!-- Item Skill: Celestial Shield -->
</option>
<option id="29485" name="o_s_85_2u_8">
<!-- Active: Temporarily increases Critical Rate of attack magics. -->
<active_skill id="3142" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29486" name="o_s_85_2u_9">
<!-- Active: Teleports party members to a town. -->
<active_skill id="3205" level="2" /> <!-- Item Skill: Party Return -->
</option>
<option id="29487" name="o_s_85_2u_10">
<!-- Active: Momentarily blocks the target's magic skills. -->
<active_skill id="3197" level="10" /> <!-- Item Skill: Silence -->
</option>
<option id="29488" name="o_s_85_2u_11">
<!-- Active: Temporarily decreases cooldown for physical skills. -->
<active_skill id="3199" level="3" /> <!-- Item Skill: Skill Refresh -->
</option>
<option id="29489" name="o_s_85_2u_12">
<!-- Active: Temporarily decreases MP consumption for skills. -->
<active_skill id="3161" level="6" /> <!-- Item Skill: Skill Clarity -->
</option>
<option id="29490" name="o_s_85_2u_13">
<!-- Active: Temporarily decreases cooldown for song/dance skills. -->
<active_skill id="3201" level="3" /> <!-- Item Skill: Music Refresh -->
</option>
<option id="29491" name="o_s_85_2u_14">
<!-- Active: Temporarily decreases MP Consumption for song/dance skills. -->
<active_skill id="3163" level="3" /> <!-- Item Skill: Music Clarity -->
</option>
<option id="29492" name="o_s_85_2u_15">
<!-- Active: Temporarily decreases magic cooldown. -->
<active_skill id="3200" level="3" /> <!-- Item Skill: Spell Refresh -->
</option>
<option id="29493" name="o_s_85_2u_16">
<!-- Active: Temporarily decreases MP Consumption for magic skills. -->
<active_skill id="3162" level="6" /> <!-- Item Skill: Spell Clarity -->
</option>
<option id="29494" name="o_s_85_2u_17">
<!-- Active: Temporarily blocks a monster's pre-emptive attack. Decreases attack abilities while the effect lasts. -->
<active_skill id="3159" level="3" /> <!-- Item Skill: Stealth -->
</option>
<option id="29495" name="o_s_85_2u_18">
<!-- Active: Temporarily absorbs the damage inflicted on the enemy as HP. Excludes damage by skill or long-range attacks. -->
<active_skill id="3148" level="10" /> <!-- Item Skill: Vampiric Rage -->
</option>
<option id="29496" name="o_s_85_2u_19">
<!-- Effect: During a physical attack, momentarily blocks the target's physical/magic skills. -->
<attack_skill id="3094" level="10" chance="1.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29497" name="o_s_85_2u_20">
<!-- Effect: During a physical attack, momentarily burns up the target's MP. -->
<attack_skill id="3082" level="10" chance="1.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29498" name="o_s_85_2u_21">
<!-- Effect: During a physical attack, momentarily inflicts paralysis on the target. -->
<attack_skill id="3088" level="10" chance="1.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29499" name="o_s_85_2u_22">
<!-- Effect: During a physical attack, momentarily blocks the target's magic skills. -->
<attack_skill id="3093" level="10" chance="1.0" /> <!-- Item Skill: Silence -->
</option>
</list>

View File

@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="29500" name="o_s_85_2u_23">
<!-- Effect: During a physical attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<attack_skill id="3087" level="10" chance="1.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29501" name="o_s_85_2u_24">
<!-- Effect: During a physical attack, momentarily inflicts shock on the target. -->
<attack_skill id="3085" level="10" chance="1.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29502" name="o_s_85_2u_25">
<!-- Effect: During a critical attack, momentarily blocks the target's physical/magic skills. -->
<critical_skill id="3122" level="10" chance="5.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29503" name="o_s_85_2u_26">
<!-- Effect: During a critical attack, momentarily burns up the target's MP. -->
<critical_skill id="3110" level="10" chance="5.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29504" name="o_s_85_2u_27">
<!-- Effect: During a critical attack, momentarily inflicts paralysis on the target. -->
<critical_skill id="3116" level="10" chance="5.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29505" name="o_s_85_2u_28">
<!-- Effect: During a critical attack, momentarily blocks the target's magic skills. -->
<critical_skill id="3121" level="10" chance="5.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29506" name="o_s_85_2u_29">
<!-- Effect: During a critical attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<critical_skill id="3115" level="10" chance="5.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29507" name="o_s_85_2u_30">
<!-- Effect: During a critical attack, momentarily inflicts shock on the target. -->
<critical_skill id="3113" level="10" chance="5.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29508" name="o_s_85_2u_31">
<!-- Effect: Has a chance of blocking all of the physical/magic skills of the target who gave damage. -->
<passive_skill id="3237" level="10" /> <!-- Item Skill: Doom -->
</option>
<option id="29509" name="o_s_85_2u_32">
<!-- Effect: Has a chance of inflicting fear on the target who gave damage and causing him to flee. -->
<passive_skill id="3233" level="10" /> <!-- Item Skill: Fear -->
</option>
<option id="29510" name="o_s_85_2u_33">
<!-- Effect: When receiving damage, has a chance of increasing the recovery amount of MP recovery magics. -->
<passive_skill id="3212" level="13" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29511" name="o_s_85_2u_34">
<!-- Effect: When receiving damage, has a chance of restoring MP. -->
<passive_skill id="3210" level="10" /> <!-- Item Skill: Recharge -->
</option>
<option id="29512" name="o_s_85_2u_35">
<!-- Effect: Has a chance of inflicting paralysis on the target who gave damage. -->
<passive_skill id="3231" level="10" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29513" name="o_s_85_2u_36">
<!-- Effect: Has a chance of blocking all the magic skills of the target who gave damage. -->
<passive_skill id="3236" level="10" /> <!-- Item Skill: Silence -->
</option>
<option id="29514" name="o_s_85_2u_37">
<!-- Effect: Has a chance of inflicting shock on the target who gave damage. -->
<passive_skill id="3228" level="10" /> <!-- Item Skill: Stun -->
</option>
<option id="29515" name="o_s_85_2u_38">
<!-- Effect: Has a chance of petrifying the target who gave damage. -->
<passive_skill id="3232" level="10" /> <!-- Item Skill: Medusa -->
</option>
<option id="29516" name="o_s_85_2u_39">
<!-- Effect: During a magic attack, momentarily blocks the target's physical/magic skills. -->
<magic_skill id="3107" level="10" chance="2.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29517" name="o_s_85_2u_40">
<!-- Effect: During a magic attack, momentarily burns up the target's MP. -->
<magic_skill id="3095" level="10" chance="2.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29518" name="o_s_85_2u_41">
<!-- Effect: During a magic attack, momentarily inflicts paralysis on the target. -->
<magic_skill id="3101" level="10" chance="2.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29519" name="o_s_85_2u_42">
<!-- Effect: During a magic attack, momentarily blocks the target's magic skills. -->
<magic_skill id="3106" level="10" chance="2.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29520" name="o_s_85_2u_43">
<!-- Effect: During a magic attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<magic_skill id="3100" level="10" chance="2.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29521" name="o_s_85_2u_44">
<!-- Effect: During a magic attack, momentarily inflicts shock on the target. -->
<magic_skill id="3098" level="10" chance="2.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29522" name="o_s_85_2u_45">
<!-- Passive: Decreases MP Consumption for all skills. -->
<passive_skill id="3258" level="3" /> <!-- Item Skill: Clarity -->
</option>
<option id="29523" name="o_s_85_2u_46">
<!-- Passive: Increases Evasion. -->
<passive_skill id="3247" level="13" /> <!-- Item Skill: Agility -->
</option>
<option id="29524" name="o_s_85_2u_47">
<!-- Passive: Increases Critical Rate. -->
<passive_skill id="3249" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29525" name="o_s_85_2u_48">
<!-- Passive: Returns a portion of the received damage back to the enemy. -->
<passive_skill id="3259" level="3" /> <!-- Item Skill: Reflect Damage -->
</option>
<option id="29526" name="o_s_85_2u_49">
<!-- Passive: Increases Accuracy. -->
<passive_skill id="3248" level="13" /> <!-- Item Skill: Guidance -->
</option>
<option id="29527" name="o_s_85_2u_50">
<!-- Passive: Increases Critical Rate of attack magics. -->
<passive_skill id="3250" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29528" name="o_s_85_2u_51">
<!-- Passive: Increases MP recovery amount of the recharge. -->
<passive_skill id="3239" level="13" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29529" name="o_s_85_2u_52">
<!-- Passive: Decreases MP Consumption for physical skills. -->
<passive_skill id="3255" level="6" /> <!-- Item Skill: Skill Clarity -->
</option>
<option id="29530" name="o_s_85_2u_53">
<!-- Passive: Decreases MP consumption for song/dance skills. -->
<passive_skill id="3257" level="3" /> <!-- Item Skill: Music Clarity -->
</option>
<option id="29531" name="o_s_85_2u_54">
<!-- Passive: Decreases MP Consumption for magic skills. -->
<passive_skill id="3256" level="6" /> <!-- Item Skill: Spell Clarity -->
</option>
<option id="29532" name="o_s_95_2s_1">
<!-- Active: Temporarily increases the size of your head. -->
<active_skill id="3203" level="1" /> <!-- Item Skill: Mystery Skill -->
</option>
<option id="29533" name="o_s_95_2s_2">
<!-- Active: Temporarily increases lung capacity. -->
<active_skill id="3143" level="10" /> <!-- Item Skill: Eva's Kiss -->
</option>
<option id="29534" name="o_s_95_2s_3">
<!-- Active: Temporarily increases the height from which you can jump without sustaining damage. -->
<active_skill id="3144" level="10" /> <!-- Item Skill: Acrobatics -->
</option>
<option id="29535" name="o_s_95_2s_4">
<!-- Active: Temporarily increases resistance to damage from falling. -->
<active_skill id="3145" level="14" /> <!-- Item Skill: Iron Body -->
</option>
<option id="29536" name="o_s_95_2s_5">
<!-- Active: Ignites a firecracker. -->
<active_skill id="3156" level="1" /> <!-- Item Skill: Firecracker -->
</option>
<option id="29537" name="o_s_95_2s_6">
<!-- Active: Temporarily plays music. -->
<active_skill id="3206" level="1" /> <!-- Item Skill: Music -->
</option>
<option id="29538" name="o_s_95_2s_7">
<!-- Active: Ignites a large firecracker. -->
<active_skill id="3157" level="1" /> <!-- Item Skill: Large Firecracker -->
</option>
<option id="29539" name="o_s_95_2s_8">
<!-- Effect: During a physical attack, momentarily decreases the target's aggression for oneself. -->
<attack_skill id="3081" level="14" chance="1.0" /> <!-- Item Skill: Charm (Attack Active) -->
</option>
<option id="29540" name="o_s_95_2s_9">
<!-- Effect: During a physical attack, momentarily triggers the target's aggression. -->
<attack_skill id="3080" level="14" chance="1.0" /> <!-- Item Skill: Aggression -->
</option>
<option id="29541" name="o_s_95_2s_10">
<!-- Effect: During a physical attack, momentarily decreases the target's Speed. -->
<attack_skill id="3083" level="14" chance="1.0" /> <!-- Item Skill: Slow (Attack Active) -->
</option>
<option id="29542" name="o_s_95_2s_11">
<!-- Effect: During a critical attack, momentarily decreases the target's aggression for oneself. -->
<critical_skill id="3109" level="14" chance="5.0" /> <!-- Item Skill: Aggression Down -->
</option>
<option id="29543" name="o_s_95_2s_12">
<!-- Effect: During a critical attack, momentarily triggers the target's aggression. -->
<critical_skill id="3108" level="14" chance="5.0" /> <!-- Item Skill: Aggression Up -->
</option>
<option id="29544" name="o_s_95_2s_13">
<!-- Effect: During a critical attack, momentarily decreases the target's Speed. -->
<critical_skill id="3111" level="14" chance="5.0" /> <!-- Item Skill: Slow (Critical) -->
</option>
<option id="29545" name="o_s_95_2s_14">
<!-- Effect: During a magic attack, momentarily decreases the target's Speed. Effect 3. -->
<magic_skill id="3096" level="14" chance="2.0" /> <!-- Item Skill: Slow (Magic Active) -->
</option>
<option id="29546" name="o_s_95_2s_15">
<!-- Passive: Increases lung capacity. -->
<passive_skill id="3252" level="10" /> <!-- Item Skill: Eva's Kiss -->
</option>
<option id="29547" name="o_s_95_2s_16">
<!-- Passive: Increases the height from which you can jump without sustaining damage. -->
<passive_skill id="3253" level="10" /> <!-- Item Skill: Acrobatics -->
</option>
<option id="29548" name="o_s_95_2s_17">
<!-- Passive: Increases resistance to damage from falling. -->
<passive_skill id="3254" level="14" /> <!-- Item Skill: Iron Body -->
</option>
<option id="29549" name="o_s_95_2r_1">
<!-- Active: Momentarily decreases the target's Atk. Spd. -->
<active_skill id="3188" level="14" /> <!-- Item Skill: Winter (Active) -->
</option>
<option id="29550" name="o_s_95_2r_2">
<!-- Active: Temporarily increases Evasion. -->
<active_skill id="3139" level="14" /> <!-- Item Skill: Agility -->
</option>
<option id="29551" name="o_s_95_2r_3">
<!-- Active: Momentarily inflicts bleed on the target. -->
<active_skill id="3196" level="14" /> <!-- Item Skill: Bleed (Active) -->
</option>
<option id="29552" name="o_s_95_2r_4">
<!-- Active: Recovers CP. -->
<active_skill id="3130" level="10" /> <!-- Item Skill: Ritual -->
</option>
<option id="29553" name="o_s_95_2r_5">
<!-- Active: Inflicts damage by throwing a boulder. -->
<active_skill id="3169" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29554" name="o_s_95_2r_6">
<!-- Active: Momentarily inflicts fear on the target and causes him to flee. -->
<active_skill id="3194" level="10" /> <!-- Item Skill: Fear -->
</option>
<option id="29555" name="o_s_95_2r_7">
<!-- Active: Condenses air to burst flames. -->
<active_skill id="3165" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29556" name="o_s_95_2r_8">
<!-- Active: Calms the enemy to lessen aggression. -->
<active_skill id="3151" level="14" /> <!-- Item Skill: Peace -->
</option>
<option id="29557" name="o_s_95_2r_9">
<!-- Active: Decreases the target's aggression for oneself. -->
<active_skill id="3150" level="14" /> <!-- Item Skill: Charm (Active) -->
</option>
<option id="29558" name="o_s_95_2r_10">
<!-- Active: Triggers the target's aggression. -->
<active_skill id="3149" level="14" /> <!-- Item Skill: Aggression -->
</option>
<option id="29559" name="o_s_95_2r_11">
<!-- Active: Temporarily increases Accuracy. -->
<active_skill id="3140" level="14" /> <!-- Item Skill: Guidance -->
</option>
<option id="29560" name="o_s_95_2r_12">
<!-- Active: Momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<active_skill id="3190" level="10" /> <!-- Item Skill: Hold -->
</option>
<option id="29561" name="o_s_95_2r_13">
<!-- Active: Inflicts a holy attack. -->
<active_skill id="3170" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29562" name="o_s_95_2r_14">
<!-- Active: Temporarily increases the power of HP recovery magic. -->
<active_skill id="3138" level="10" /> <!-- Item Skill: Heal Empower -->
</option>
<option id="29563" name="o_s_95_2r_15">
<!-- Active: Temporarily increases the effect of HP recovery magic. -->
<active_skill id="3126" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29564" name="o_s_95_2r_16">
<!-- Active: Instantly recovers HP. -->
<active_skill id="3123" level="10" /> <!-- Item Skill: Heal -->
</option>
<option id="29565" name="o_s_95_2r_17">
<!-- Active: Temporarily increases M. Atk. -->
<active_skill id="3133" level="14" /> <!-- Item Skill: Empower -->
</option>
<option id="29566" name="o_s_95_2r_18">
<!-- Active: Temporarily increases Max CP. -->
<active_skill id="3131" level="10" /> <!-- Item Skill: Cheer -->
</option>
<option id="29567" name="o_s_95_2r_19">
<!-- Active: Temporarily increases Max HP and recovers the amount of increased HP. -->
<active_skill id="3125" level="10" /> <!-- Item Skill: Battle Roar -->
</option>
<option id="29568" name="o_s_95_2r_20">
<!-- Active: Temporarily increases Max HP. -->
<active_skill id="3124" level="10" /> <!-- Item Skill: Blessed Body -->
</option>
<option id="29569" name="o_s_95_2r_21">
<!-- Active: Temporarily increases Max MP. -->
<active_skill id="3128" level="10" /> <!-- Item Skill: Blessed Soul -->
</option>
<option id="29570" name="o_s_95_2r_22">
<!-- Active: Temporarily increases M. Def. -->
<active_skill id="3136" level="14" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29571" name="o_s_95_2r_23">
<!-- Active: Burns up the enemy's MP. -->
<active_skill id="3154" level="10" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29572" name="o_s_95_2r_24">
<!-- Active: Increases MP recovery amount of the recharge. -->
<active_skill id="3129" level="14" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29573" name="o_s_95_2r_25">
<!-- Active: Restores MP. -->
<active_skill id="3127" level="10" /> <!-- Item Skill: Recharge -->
</option>
<option id="29574" name="o_s_95_2r_26">
<!-- Active: Inflicts a non-attribute attack. -->
<active_skill id="3172" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29575" name="o_s_95_2r_27">
<!-- Active: Temporarily increases P. Atk. -->
<active_skill id="3132" level="14" /> <!-- Item Skill: Might -->
</option>
<option id="29576" name="o_s_95_2r_28">
<!-- Active: Momentarily inflicts paralysis on the target. -->
<active_skill id="3192" level="10" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29577" name="o_s_95_2r_29">
<!-- Active: Temporarily increases P. Def. -->
<active_skill id="3135" level="14" /> <!-- Item Skill: Shield -->
</option>
<option id="29578" name="o_s_95_2r_30">
<!-- Active: Momentarily inflicts poison on the target. -->
<active_skill id="3195" level="14" /> <!-- Item Skill: Poison (Active) -->
</option>
<option id="29579" name="o_s_95_2r_31">
<!-- Active: Temporarily decreases the opponent's PvP P. Atk. -->
<active_skill id="3137" level="10" /> <!-- Item Skill: Duel Weakness -->
</option>
<option id="29580" name="o_s_95_2r_32">
<!-- Active: Temporarily increases PvP P. Atk. -->
<active_skill id="3134" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29581" name="o_s_95_2r_33">
<!-- Active: Teleports to a town. Cannot be used in special areas such as the GM info center. -->
<active_skill id="3146" level="1" /> <!-- Item Skill: Return -->
</option>
<option id="29582" name="o_s_95_2r_34">
<!-- Active: Resurrects a corpse. -->
<active_skill id="3160" level="9" /> <!-- Item Skill: Resurrection -->
</option>
<option id="29583" name="o_s_95_2r_35">
<!-- Active: Inflicts a earth range attack. -->
<active_skill id="3183" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29584" name="o_s_95_2r_36">
<!-- Active: Inflicts a fire range attack. -->
<active_skill id="3180" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29585" name="o_s_95_2r_37">
<!-- Active: Inflicts a holy range attack. -->
<active_skill id="3184" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29586" name="o_s_95_2r_38">
<!-- Active: Inflicts a non-attribute range attack. -->
<active_skill id="3186" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29587" name="o_s_95_2r_39">
<!-- Active: Inflicts a dark range attack. -->
<active_skill id="3185" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29588" name="o_s_95_2r_40">
<!-- Active: Inflicts a water range attack. -->
<active_skill id="3181" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29589" name="o_s_95_2r_41">
<!-- Active: Inflicts a wind range attack. -->
<active_skill id="3182" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29590" name="o_s_95_2r_42">
<!-- Active: Momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<active_skill id="3191" level="10" /> <!-- Item Skill: Sleep -->
</option>
<option id="29591" name="o_s_95_2r_43">
<!-- Active: Momentarily decreases the target's Speed. -->
<active_skill id="3187" level="14" /> <!-- Item Skill: Slow (Active) -->
</option>
<option id="29592" name="o_s_95_2r_44">
<!-- Active: Momentarily inflicts shock on the target. -->
<active_skill id="3189" level="10" /> <!-- Item Skill: Stun -->
</option>
<option id="29593" name="o_s_95_2r_45">
<!-- Active: Inflicts a earth attack. -->
<active_skill id="3176" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29594" name="o_s_95_2r_46">
<!-- Active: Inflicts a fire attack. -->
<active_skill id="3173" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29595" name="o_s_95_2r_47">
<!-- Active: Inflicts a holy attack. -->
<active_skill id="3177" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29596" name="o_s_95_2r_48">
<!-- Active: Inflicts a non-attribute attack. -->
<active_skill id="3179" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29597" name="o_s_95_2r_49">
<!-- Active: Inflicts a dark attack. -->
<active_skill id="3178" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29598" name="o_s_95_2r_50">
<!-- Active: Inflicts a water attack. -->
<active_skill id="3174" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29599" name="o_s_95_2r_51">
<!-- Active: Inflicts a wind attack. -->
<active_skill id="3175" level="10" /> <!-- Item Skill: Hurricane -->
</option>
</list>

View File

@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="29600" name="o_s_95_2r_52">
<!-- Active: Cancels the target. -->
<active_skill id="3152" level="10" /> <!-- Item Skill: Trick -->
</option>
<option id="29601" name="o_s_95_2r_53">
<!-- Active: Momentarily petrifies the target. -->
<active_skill id="3193" level="10" /> <!-- Item Skill: Medusa -->
</option>
<option id="29602" name="o_s_95_2r_54">
<!-- Active: Inflicts a dark attack. -->
<active_skill id="3171" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29603" name="o_s_95_2r_55">
<!-- Active: Absorbs HP from your target. -->
<active_skill id="3155" level="10" /> <!-- Item Skill: Unlock -->
</option>
<option id="29604" name="o_s_95_2r_56">
<!-- Active: Absorbs HP from your target. -->
<active_skill id="3153" level="10" /> <!-- Item Skill: Vampiric Touch -->
</option>
<option id="29605" name="o_s_95_2r_57">
<!-- Active: Inflicts a water attack. -->
<active_skill id="3167" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29606" name="o_s_95_2r_58">
<!-- Active: Inflicts a wind attack. -->
<active_skill id="3168" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29607" name="o_s_95_2r_59">
<!-- Effect: During a physical attack, momentarily decreases the target's Atk. Spd. -->
<attack_skill id="3084" level="10" chance="1.0" /> <!-- Item Skill: Winter (Attack Active) -->
</option>
<option id="29608" name="o_s_95_2r_60">
<!-- Effect: During a physical attack, momentarily inflicts bleed on the target. -->
<attack_skill id="3092" level="14" chance="1.0" /> <!-- Item Skill: Bleed (Attack Active) -->
</option>
<option id="29609" name="o_s_95_2r_61">
<!-- Effect: During a physical attack, momentarily inflicts fear on the target and causes him to flee. -->
<attack_skill id="3090" level="10" chance="1.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29610" name="o_s_95_2r_62">
<!-- Effect: During a physical attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<attack_skill id="3086" level="14" chance="1.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29611" name="o_s_95_2r_63">
<!-- Effect: During a physical attack, momentarily inflicts poison on the target. -->
<attack_skill id="3091" level="14" chance="1.0" /> <!-- Item Skill: Poison (Attack Active) -->
</option>
<option id="29612" name="o_s_95_2r_64">
<!-- Effect: During a physical attack, momentarily petrifies the target. -->
<attack_skill id="3089" level="10" chance="1.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29613" name="o_s_95_2r_65">
<!-- Effect: During a critical attack, momentarily decreases the target's Atk. Spd. -->
<critical_skill id="3112" level="14" chance="5.0" /> <!-- Item Skill: Winter (Critical) -->
</option>
<option id="29614" name="o_s_95_2r_66">
<!-- Effect: During a critical attack, momentarily inflicts bleed on the target. -->
<critical_skill id="3120" level="14" chance="5.0" /> <!-- Item Skill: Bleed (Critical) -->
</option>
<option id="29615" name="o_s_95_2r_67">
<!-- Effect: During a critical attack, momentarily inflicts fear on the target. -->
<critical_skill id="3118" level="10" chance="5.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29616" name="o_s_95_2r_68">
<!-- Effect: During a critical attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<critical_skill id="3114" level="14" chance="5.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29617" name="o_s_95_2r_69">
<!-- Effect: During a critical attack, momentarily inflicts poison on the target. -->
<critical_skill id="3119" level="14" chance="5.0" /> <!-- Item Skill: Poison (Critical) -->
</option>
<option id="29618" name="o_s_95_2r_70">
<!-- Effect: During a critical attack, momentarily petrifies the target. -->
<critical_skill id="3117" level="10" chance="5.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29619" name="o_s_95_2r_71">
<!-- Effect: Has a chance of decreasing Speed of the target who gave damage. -->
<passive_skill id="3227" level="14" /> <!-- Item Skill: Winter -->
</option>
<option id="29620" name="o_s_95_2r_72">
<!-- Effect: When receiving damage, has a chance of increasing Evasion. -->
<passive_skill id="3221" level="14" /> <!-- Item Skill: Agility -->
</option>
<option id="29621" name="o_s_95_2r_73">
<!-- Effect: Has a chance of inflicting bleed on the target who gave damage. -->
<passive_skill id="3235" level="14" /> <!-- Item Skill: Bleed -->
</option>
<option id="29622" name="o_s_95_2r_74">
<!-- Effect: When receiving damage, has a chance of restoring CP. -->
<passive_skill id="3213" level="10" /> <!-- Item Skill: Ritual -->
</option>
<option id="29623" name="o_s_95_2r_75">
<!-- Effect: When receiving damage, has a chance of increasing Critical Rate. -->
<passive_skill id="3223" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29624" name="o_s_95_2r_76">
<!-- Effect: Has a chance of decreasing aggression of the target who gave damage. -->
<passive_skill id="3225" level="14" /> <!-- Item Skill: Charm -->
</option>
<option id="29625" name="o_s_95_2r_77">
<!-- Effect: When receiving damage, has a chance of increasing Accuracy. -->
<passive_skill id="3222" level="14" /> <!-- Item Skill: Guidance -->
</option>
<option id="29626" name="o_s_95_2r_78">
<!-- Effect: Has a chance of inflicting hold on the target who gave damage. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<passive_skill id="3229" level="10" /> <!-- Item Skill: Hold -->
</option>
<option id="29627" name="o_s_95_2r_79">
<!-- Effect: When receiving damage, has a chance of increasing the recovery amount of HP recovery magics. -->
<passive_skill id="3209" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29628" name="o_s_95_2r_80">
<!-- Effect: When receiving damage, has a chance of restoring HP. -->
<passive_skill id="3207" level="10" /> <!-- Item Skill: Heal -->
</option>
<option id="29629" name="o_s_95_2r_81">
<!-- Effect: When receiving damage, has a chance of increasing M. Atk. -->
<passive_skill id="3216" level="14" /> <!-- Item Skill: Empower -->
</option>
<option id="29630" name="o_s_95_2r_82">
<!-- Effect: When receiving damage, has a chance of increasing Critical Rate of attack magics. -->
<passive_skill id="3224" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29631" name="o_s_95_2r_83">
<!-- Effect: When receiving damage, has a chance of increasing Max CP. -->
<passive_skill id="3214" level="10" /> <!-- Item Skill: Cheer -->
</option>
<option id="29632" name="o_s_95_2r_84">
<!-- Effect: When receiving damage, has a chance of increasing Max HP. -->
<passive_skill id="3208" level="10" /> <!-- Item Skill: Blessed Body -->
</option>
<option id="29633" name="o_s_95_2r_85">
<!-- Effect: When receiving damage, has a chance of increasing Max MP. -->
<passive_skill id="3211" level="10" /> <!-- Item Skill: Blessed Soul -->
</option>
<option id="29634" name="o_s_95_2r_86">
<!-- Effect: When receiving damage, has a chance of increasing M. Def. -->
<passive_skill id="3219" level="14" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29635" name="o_s_95_2r_87">
<!-- Effect: When receiving damage, has a chance of increasing P. Atk. -->
<passive_skill id="3215" level="14" /> <!-- Item Skill: Might -->
</option>
<option id="29636" name="o_s_95_2r_88">
<!-- Effect: When receiving damage, has a chance of increasing P. Def. -->
<passive_skill id="3218" level="14" /> <!-- Item Skill: Shield -->
</option>
<option id="29637" name="o_s_95_2r_89">
<!-- Effect: Has a chance of inflicting poison on the target who gave damage. -->
<passive_skill id="3234" level="14" /> <!-- Item Skill: Poison -->
</option>
<option id="29638" name="o_s_95_2r_90">
<!-- Effect: Has a chance of decreasing PvP P. Atk. of the target who gave damage. -->
<passive_skill id="3220" level="10" /> <!-- Item Skill: Duel Weakness -->
</option>
<option id="29639" name="o_s_95_2r_91">
<!-- Effect: When receiving damage, has a chance of increasing PvP P. Ak. -->
<passive_skill id="3217" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29640" name="o_s_95_2r_92">
<!-- Effect: Has a chance of inflicting shock on the target who gave damage. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<passive_skill id="3230" level="10" /> <!-- Item Skill: Sleep -->
</option>
<option id="29641" name="o_s_95_2r_93">
<!-- Effect: Has a chance of decreasing Speed of the target who gave damage. -->
<passive_skill id="3226" level="14" /> <!-- Item Skill: Slow -->
</option>
<option id="29642" name="o_s_95_2r_94">
<!-- Effect: During a magic attack, momentarily decreases the target's Atk. Spd. -->
<magic_skill id="3097" level="10" chance="2.0" /> <!-- Item Skill: Winter (Magic Active) -->
</option>
<option id="29643" name="o_s_95_2r_95">
<!-- Effect: During a magic attack, momentarily inflicts bleed on the target. -->
<magic_skill id="3105" level="14" chance="2.0" /> <!-- Item Skill: Bleed (Magic Active) -->
</option>
<option id="29644" name="o_s_95_2r_96">
<!-- Effect: During a magic attack, momentarily inflicts fear on the target and causes him to flee. -->
<magic_skill id="3103" level="10" chance="2.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29645" name="o_s_95_2r_97">
<!-- Effect: During a magic attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<magic_skill id="3099" level="14" chance="2.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29646" name="o_s_95_2r_98">
<!-- Effect: During a magic attack, momentarily inflicts poison on the target. -->
<magic_skill id="3104" level="14" chance="2.0" /> <!-- Item Skill: Poison (Magic Active) -->
</option>
<option id="29647" name="o_s_95_2r_99">
<!-- Effect: During a magic attack, momentarily petrifies the target. -->
<magic_skill id="3102" level="10" chance="2.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29648" name="o_s_95_2r_100">
<!-- Passive: Increases the power of HP recovery magic. -->
<passive_skill id="3246" level="10" /> <!-- Item Skill: Heal Empower -->
</option>
<option id="29649" name="o_s_95_2r_101">
<!-- Passive: Increases the effect of HP recovery magic. -->
<passive_skill id="3238" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29650" name="o_s_95_2r_102">
<!-- Passive: Increases M. Atk. -->
<passive_skill id="3241" level="14" /> <!-- Item Skill: Empower -->
</option>
<option id="29651" name="o_s_95_2r_103">
<!-- Passive: Increases M. Def. -->
<passive_skill id="3245" level="14" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29652" name="o_s_95_2r_104">
<!-- Passive: Increases P. Atk. -->
<passive_skill id="3240" level="14" /> <!-- Item Skill: Might -->
</option>
<option id="29653" name="o_s_95_2r_105">
<!-- Passive: Increases P. Def. -->
<passive_skill id="3244" level="14" /> <!-- Item Skill: Shield -->
</option>
<option id="29654" name="o_s_95_2r_106">
<!-- Passive: Increases PvP P. Atk. -->
<passive_skill id="3243" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29655" name="o_s_95_2r_107">
<!-- Passive: Doubles the weight limit. -->
<passive_skill id="3251" level="10" /> <!-- Item Skill: Weight Limit -->
</option>
<option id="29656" name="o_s_95_2u_1">
<!-- Active: Temporarily decreases cooldown for all skills. -->
<active_skill id="3202" level="3" /> <!-- Item Skill: Refresh -->
</option>
<option id="29657" name="o_s_95_2u_2">
<!-- Active: Temporarily decreases MP Consumption for all skills. -->
<active_skill id="3164" level="3" /> <!-- Item Skill: Clarity -->
</option>
<option id="29658" name="o_s_95_2u_3">
<!-- Active: Temporarily increases Critical Rate. -->
<active_skill id="3141" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29659" name="o_s_95_2u_4">
<!-- Active: Temporarily returns a portion of received damage back to an enemy. -->
<active_skill id="3204" level="3" /> <!-- Item Skill: Reflect Damage -->
</option>
<option id="29660" name="o_s_95_2u_5">
<!-- Active: Momentarily blocks the target's physical/magic skills. -->
<active_skill id="3198" level="10" /> <!-- Item Skill: Doom -->
</option>
<option id="29661" name="o_s_95_2u_6">
<!-- Active: Teleports to a village without a casting time.. Cannot be used in special areas such as the GM info center. -->
<active_skill id="3147" level="1" /> <!-- Item Skill: Quick Return -->
</option>
<option id="29662" name="o_s_95_2u_7">
<!-- Active: Momentarily becomes invincible. -->
<active_skill id="3158" level="1" /> <!-- Item Skill: Celestial Shield -->
</option>
<option id="29663" name="o_s_95_2u_8">
<!-- Active: Temporarily increases Critical Rate of attack magics. -->
<active_skill id="3142" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29664" name="o_s_95_2u_9">
<!-- Active: Teleports party members to a town. -->
<active_skill id="3205" level="2" /> <!-- Item Skill: Party Return -->
</option>
<option id="29665" name="o_s_95_2u_10">
<!-- Active: Momentarily blocks the target's magic skills. -->
<active_skill id="3197" level="10" /> <!-- Item Skill: Silence -->
</option>
<option id="29666" name="o_s_95_2u_11">
<!-- Active: Temporarily decreases cooldown for physical skills. -->
<active_skill id="3199" level="3" /> <!-- Item Skill: Skill Refresh -->
</option>
<option id="29667" name="o_s_95_2u_12">
<!-- Active: Temporarily decreases MP consumption for skills. -->
<active_skill id="3161" level="7" /> <!-- Item Skill: Skill Clarity -->
</option>
<option id="29668" name="o_s_95_2u_13">
<!-- Active: Temporarily decreases cooldown for song/dance skills. -->
<active_skill id="3201" level="3" /> <!-- Item Skill: Music Refresh -->
</option>
<option id="29669" name="o_s_95_2u_14">
<!-- Active: Temporarily decreases MP Consumption for song/dance skills. -->
<active_skill id="3163" level="3" /> <!-- Item Skill: Music Clarity -->
</option>
<option id="29670" name="o_s_95_2u_15">
<!-- Active: Temporarily decreases magic cooldown. -->
<active_skill id="3200" level="3" /> <!-- Item Skill: Spell Refresh -->
</option>
<option id="29671" name="o_s_95_2u_16">
<!-- Active: Temporarily decreases MP Consumption for magic skills. -->
<active_skill id="3162" level="7" /> <!-- Item Skill: Spell Clarity -->
</option>
<option id="29672" name="o_s_95_2u_17">
<!-- Active: Temporarily blocks a monster's pre-emptive attack. Decreases attack abilities while the effect lasts. -->
<active_skill id="3159" level="3" /> <!-- Item Skill: Stealth -->
</option>
<option id="29673" name="o_s_95_2u_18">
<!-- Active: Temporarily absorbs the damage inflicted on the enemy as HP. Excludes damage by skill or long-range attacks. -->
<active_skill id="3148" level="10" /> <!-- Item Skill: Vampiric Rage -->
</option>
<option id="29674" name="o_s_95_2u_19">
<!-- Effect: During a physical attack, momentarily blocks the target's physical/magic skills. -->
<attack_skill id="3094" level="10" chance="1.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29675" name="o_s_95_2u_20">
<!-- Effect: During a physical attack, momentarily burns up the target's MP. -->
<attack_skill id="3082" level="10" chance="1.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29676" name="o_s_95_2u_21">
<!-- Effect: During a physical attack, momentarily inflicts paralysis on the target. -->
<attack_skill id="3088" level="10" chance="1.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29677" name="o_s_95_2u_22">
<!-- Effect: During a physical attack, momentarily blocks the target's magic skills. -->
<attack_skill id="3093" level="10" chance="1.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29678" name="o_s_95_2u_23">
<!-- Effect: During a physical attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<attack_skill id="3087" level="10" chance="1.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29679" name="o_s_95_2u_24">
<!-- Effect: During a physical attack, momentarily inflicts shock on the target. -->
<attack_skill id="3085" level="10" chance="1.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29680" name="o_s_95_2u_25">
<!-- Effect: During a critical attack, momentarily blocks the target's physical/magic skills. -->
<critical_skill id="3122" level="10" chance="5.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29681" name="o_s_95_2u_26">
<!-- Effect: During a critical attack, momentarily burns up the target's MP. -->
<critical_skill id="3110" level="10" chance="5.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29682" name="o_s_95_2u_27">
<!-- Effect: During a critical attack, momentarily inflicts paralysis on the target. -->
<critical_skill id="3116" level="10" chance="5.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29683" name="o_s_95_2u_28">
<!-- Effect: During a critical attack, momentarily blocks the target's magic skills. -->
<critical_skill id="3121" level="10" chance="5.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29684" name="o_s_95_2u_29">
<!-- Effect: During a critical attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<critical_skill id="3115" level="10" chance="5.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29685" name="o_s_95_2u_30">
<!-- Effect: During a critical attack, momentarily inflicts shock on the target. -->
<critical_skill id="3113" level="10" chance="5.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29686" name="o_s_95_2u_31">
<!-- Effect: Has a chance of blocking all of the physical/magic skills of the target who gave damage. -->
<passive_skill id="3237" level="10" /> <!-- Item Skill: Doom -->
</option>
<option id="29687" name="o_s_95_2u_32">
<!-- Effect: Has a chance of inflicting fear on the target who gave damage and causing him to flee. -->
<passive_skill id="3233" level="10" /> <!-- Item Skill: Fear -->
</option>
<option id="29688" name="o_s_95_2u_33">
<!-- Effect: When receiving damage, has a chance of increasing the recovery amount of MP recovery magics. -->
<passive_skill id="3212" level="14" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29689" name="o_s_95_2u_34">
<!-- Effect: When receiving damage, has a chance of restoring MP. -->
<passive_skill id="3210" level="10" /> <!-- Item Skill: Recharge -->
</option>
<option id="29690" name="o_s_95_2u_35">
<!-- Effect: Has a chance of inflicting paralysis on the target who gave damage. -->
<passive_skill id="3231" level="10" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29691" name="o_s_95_2u_36">
<!-- Effect: Has a chance of blocking all the magic skills of the target who gave damage. -->
<passive_skill id="3236" level="10" /> <!-- Item Skill: Silence -->
</option>
<option id="29692" name="o_s_95_2u_37">
<!-- Effect: Has a chance of inflicting shock on the target who gave damage. -->
<passive_skill id="3228" level="10" /> <!-- Item Skill: Stun -->
</option>
<option id="29693" name="o_s_95_2u_38">
<!-- Effect: Has a chance of petrifying the target who gave damage. -->
<passive_skill id="3232" level="10" /> <!-- Item Skill: Medusa -->
</option>
<option id="29694" name="o_s_95_2u_39">
<!-- Effect: During a magic attack, momentarily blocks the target's physical/magic skills. -->
<magic_skill id="3107" level="10" chance="2.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29695" name="o_s_95_2u_40">
<!-- Effect: During a magic attack, momentarily burns up the target's MP. -->
<magic_skill id="3095" level="10" chance="2.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29696" name="o_s_95_2u_41">
<!-- Effect: During a magic attack, momentarily inflicts paralysis on the target. -->
<magic_skill id="3101" level="10" chance="2.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29697" name="o_s_95_2u_42">
<!-- Effect: During a magic attack, momentarily blocks the target's magic skills. -->
<magic_skill id="3106" level="10" chance="2.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29698" name="o_s_95_2u_43">
<!-- Effect: During a magic attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<magic_skill id="3100" level="10" chance="2.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29699" name="o_s_95_2u_44">
<!-- Effect: During a magic attack, momentarily inflicts shock on the target. -->
<magic_skill id="3098" level="10" chance="2.0" /> <!-- Item Skill: Stun -->
</option>
</list>

View File

@ -0,0 +1,403 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="29700" name="o_s_95_2u_45">
<!-- Passive: Decreases MP Consumption for all skills. -->
<passive_skill id="3258" level="3" /> <!-- Item Skill: Clarity -->
</option>
<option id="29701" name="o_s_95_2u_46">
<!-- Passive: Increases Evasion. -->
<passive_skill id="3247" level="14" /> <!-- Item Skill: Agility -->
</option>
<option id="29702" name="o_s_95_2u_47">
<!-- Passive: Increases Critical Rate. -->
<passive_skill id="3249" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29703" name="o_s_95_2u_48">
<!-- Passive: Returns a portion of the received damage back to the enemy. -->
<passive_skill id="3259" level="3" /> <!-- Item Skill: Reflect Damage -->
</option>
<option id="29704" name="o_s_95_2u_49">
<!-- Passive: Increases Accuracy. -->
<passive_skill id="3248" level="14" /> <!-- Item Skill: Guidance -->
</option>
<option id="29705" name="o_s_95_2u_50">
<!-- Passive: Increases Critical Rate of attack magics. -->
<passive_skill id="3250" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29706" name="o_s_95_2u_51">
<!-- Passive: Increases MP recovery amount of the recharge. -->
<passive_skill id="3239" level="14" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29707" name="o_s_95_2u_52">
<!-- Passive: Decreases MP Consumption for physical skills. -->
<passive_skill id="3255" level="7" /> <!-- Item Skill: Skill Clarity -->
</option>
<option id="29708" name="o_s_95_2u_53">
<!-- Passive: Decreases MP consumption for song/dance skills. -->
<passive_skill id="3257" level="3" /> <!-- Item Skill: Music Clarity -->
</option>
<option id="29709" name="o_s_95_2u_54">
<!-- Passive: Decreases MP Consumption for magic skills. -->
<passive_skill id="3256" level="7" /> <!-- Item Skill: Spell Clarity -->
</option>
<option id="29710" name="o_s_99_2s_1">
<!-- Active: Temporarily increases the size of your head. -->
<active_skill id="3203" level="1" /> <!-- Item Skill: Mystery Skill -->
</option>
<option id="29711" name="o_s_99_2s_2">
<!-- Active: Temporarily increases lung capacity. -->
<active_skill id="3143" level="10" /> <!-- Item Skill: Eva's Kiss -->
</option>
<option id="29712" name="o_s_99_2s_3">
<!-- Active: Temporarily increases the height from which you can jump without sustaining damage. -->
<active_skill id="3144" level="10" /> <!-- Item Skill: Acrobatics -->
</option>
<option id="29713" name="o_s_99_2s_4">
<!-- Active: Temporarily increases resistance to damage from falling. -->
<active_skill id="3145" level="15" /> <!-- Item Skill: Iron Body -->
</option>
<option id="29714" name="o_s_99_2s_5">
<!-- Active: Ignites a firecracker. -->
<active_skill id="3156" level="1" /> <!-- Item Skill: Firecracker -->
</option>
<option id="29715" name="o_s_99_2s_6">
<!-- Active: Temporarily plays music. -->
<active_skill id="3206" level="1" /> <!-- Item Skill: Music -->
</option>
<option id="29716" name="o_s_99_2s_7">
<!-- Active: Ignites a large firecracker. -->
<active_skill id="3157" level="1" /> <!-- Item Skill: Large Firecracker -->
</option>
<option id="29717" name="o_s_99_2s_8">
<!-- Effect: During a physical attack, momentarily decreases the target's aggression for oneself. -->
<attack_skill id="3081" level="15" chance="1.0" /> <!-- Item Skill: Charm (Attack Active) -->
</option>
<option id="29718" name="o_s_99_2s_9">
<!-- Effect: During a physical attack, momentarily triggers the target's aggression. -->
<attack_skill id="3080" level="15" chance="1.0" /> <!-- Item Skill: Aggression -->
</option>
<option id="29719" name="o_s_99_2s_10">
<!-- Effect: During a physical attack, momentarily decreases the target's Speed. -->
<attack_skill id="3083" level="15" chance="1.0" /> <!-- Item Skill: Slow (Attack Active) -->
</option>
<option id="29720" name="o_s_99_2s_11">
<!-- Effect: During a critical attack, momentarily decreases the target's aggression for oneself. -->
<critical_skill id="3109" level="15" chance="5.0" /> <!-- Item Skill: Aggression Down -->
</option>
<option id="29721" name="o_s_99_2s_12">
<!-- Effect: During a critical attack, momentarily triggers the target's aggression. -->
<critical_skill id="3108" level="15" chance="5.0" /> <!-- Item Skill: Aggression Up -->
</option>
<option id="29722" name="o_s_99_2s_13">
<!-- Effect: During a critical attack, momentarily decreases the target's Speed. -->
<critical_skill id="3111" level="15" chance="5.0" /> <!-- Item Skill: Slow (Critical) -->
</option>
<option id="29723" name="o_s_99_2s_14">
<!-- Effect: During a magic attack, momentarily decreases the target's Speed. Effect 3. -->
<magic_skill id="3096" level="15" chance="2.0" /> <!-- Item Skill: Slow (Magic Active) -->
</option>
<option id="29724" name="o_s_99_2s_15">
<!-- Passive: Increases lung capacity. -->
<passive_skill id="3252" level="10" /> <!-- Item Skill: Eva's Kiss -->
</option>
<option id="29725" name="o_s_99_2s_16">
<!-- Passive: Increases the height from which you can jump without sustaining damage. -->
<passive_skill id="3253" level="10" /> <!-- Item Skill: Acrobatics -->
</option>
<option id="29726" name="o_s_99_2s_17">
<!-- Passive: Increases resistance to damage from falling. -->
<passive_skill id="3254" level="15" /> <!-- Item Skill: Iron Body -->
</option>
<option id="29727" name="o_s_99_2r_1">
<!-- Active: Momentarily decreases the target's Atk. Spd. -->
<active_skill id="3188" level="15" /> <!-- Item Skill: Winter (Active) -->
</option>
<option id="29728" name="o_s_99_2r_2">
<!-- Active: Temporarily increases Evasion. -->
<active_skill id="3139" level="15" /> <!-- Item Skill: Agility -->
</option>
<option id="29729" name="o_s_99_2r_3">
<!-- Active: Momentarily inflicts bleed on the target. -->
<active_skill id="3196" level="15" /> <!-- Item Skill: Bleed (Active) -->
</option>
<option id="29730" name="o_s_99_2r_4">
<!-- Active: Recovers CP. -->
<active_skill id="3130" level="10" /> <!-- Item Skill: Ritual -->
</option>
<option id="29731" name="o_s_99_2r_5">
<!-- Active: Inflicts damage by throwing a boulder. -->
<active_skill id="3169" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29732" name="o_s_99_2r_6">
<!-- Active: Momentarily inflicts fear on the target and causes him to flee. -->
<active_skill id="3194" level="10" /> <!-- Item Skill: Fear -->
</option>
<option id="29733" name="o_s_99_2r_7">
<!-- Active: Condenses air to burst flames. -->
<active_skill id="3165" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29734" name="o_s_99_2r_8">
<!-- Active: Calms the enemy to lessen aggression. -->
<active_skill id="3151" level="15" /> <!-- Item Skill: Peace -->
</option>
<option id="29735" name="o_s_99_2r_9">
<!-- Active: Decreases the target's aggression for oneself. -->
<active_skill id="3150" level="15" /> <!-- Item Skill: Charm (Active) -->
</option>
<option id="29736" name="o_s_99_2r_10">
<!-- Active: Triggers the target's aggression. -->
<active_skill id="3149" level="15" /> <!-- Item Skill: Aggression -->
</option>
<option id="29737" name="o_s_99_2r_11">
<!-- Active: Temporarily increases Accuracy. -->
<active_skill id="3140" level="15" /> <!-- Item Skill: Guidance -->
</option>
<option id="29738" name="o_s_99_2r_12">
<!-- Active: Momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<active_skill id="3190" level="10" /> <!-- Item Skill: Hold -->
</option>
<option id="29739" name="o_s_99_2r_13">
<!-- Active: Inflicts a holy attack. -->
<active_skill id="3170" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29740" name="o_s_99_2r_14">
<!-- Active: Temporarily increases the power of HP recovery magic. -->
<active_skill id="3138" level="10" /> <!-- Item Skill: Heal Empower -->
</option>
<option id="29741" name="o_s_99_2r_15">
<!-- Active: Temporarily increases the effect of HP recovery magic. -->
<active_skill id="3126" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29742" name="o_s_99_2r_16">
<!-- Active: Instantly recovers HP. -->
<active_skill id="3123" level="10" /> <!-- Item Skill: Heal -->
</option>
<option id="29743" name="o_s_99_2r_17">
<!-- Active: Temporarily increases M. Atk. -->
<active_skill id="3133" level="15" /> <!-- Item Skill: Empower -->
</option>
<option id="29744" name="o_s_99_2r_18">
<!-- Active: Temporarily increases Max CP. -->
<active_skill id="3131" level="10" /> <!-- Item Skill: Cheer -->
</option>
<option id="29745" name="o_s_99_2r_19">
<!-- Active: Temporarily increases Max HP and recovers the amount of increased HP. -->
<active_skill id="3125" level="10" /> <!-- Item Skill: Battle Roar -->
</option>
<option id="29746" name="o_s_99_2r_20">
<!-- Active: Temporarily increases Max HP. -->
<active_skill id="3124" level="10" /> <!-- Item Skill: Blessed Body -->
</option>
<option id="29747" name="o_s_99_2r_21">
<!-- Active: Temporarily increases Max MP. -->
<active_skill id="3128" level="10" /> <!-- Item Skill: Blessed Soul -->
</option>
<option id="29748" name="o_s_99_2r_22">
<!-- Active: Temporarily increases M. Def. -->
<active_skill id="3136" level="15" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29749" name="o_s_99_2r_23">
<!-- Active: Burns up the enemy's MP. -->
<active_skill id="3154" level="10" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29750" name="o_s_99_2r_24">
<!-- Active: Increases MP recovery amount of the recharge. -->
<active_skill id="3129" level="15" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29751" name="o_s_99_2r_25">
<!-- Active: Restores MP. -->
<active_skill id="3127" level="10" /> <!-- Item Skill: Recharge -->
</option>
<option id="29752" name="o_s_99_2r_26">
<!-- Active: Inflicts a non-attribute attack and momentarily decreases M. Atk. during PvP. -->
<active_skill id="3172" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29753" name="o_s_99_2r_27">
<!-- Active: Temporarily increases P. Atk. -->
<active_skill id="3132" level="15" /> <!-- Item Skill: Might -->
</option>
<option id="29754" name="o_s_99_2r_28">
<!-- Active: Momentarily inflicts paralysis on the target. -->
<active_skill id="3192" level="10" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29755" name="o_s_99_2r_29">
<!-- Active: Temporarily increases P. Def. -->
<active_skill id="3135" level="15" /> <!-- Item Skill: Shield -->
</option>
<option id="29756" name="o_s_99_2r_30">
<!-- Active: Momentarily inflicts poison on the target. -->
<active_skill id="3195" level="15" /> <!-- Item Skill: Poison (Active) -->
</option>
<option id="29757" name="o_s_99_2r_31">
<!-- Active: Temporarily decreases the opponent's PvP P. Atk. -->
<active_skill id="3137" level="10" /> <!-- Item Skill: Duel Weakness -->
</option>
<option id="29758" name="o_s_99_2r_32">
<!-- Active: Temporarily increases PvP P. Atk. -->
<active_skill id="3134" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29759" name="o_s_99_2r_33">
<!-- Active: Teleports to a town. Cannot be used in special areas such as the GM info center. -->
<active_skill id="3146" level="1" /> <!-- Item Skill: Return -->
</option>
<option id="29760" name="o_s_99_2r_34">
<!-- Active: Resurrects a corpse. -->
<active_skill id="3160" level="9" /> <!-- Item Skill: Resurrection -->
</option>
<option id="29761" name="o_s_99_2r_35">
<!-- Active: Inflicts a earth range attack. -->
<active_skill id="3183" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29762" name="o_s_99_2r_36">
<!-- Active: Inflicts a fire range attack. -->
<active_skill id="3180" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29763" name="o_s_99_2r_37">
<!-- Active: Inflicts a holy range attack. -->
<active_skill id="3184" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29764" name="o_s_99_2r_38">
<!-- Active: Inflicts a non-attribute range attack. -->
<active_skill id="3186" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29765" name="o_s_99_2r_39">
<!-- Active: Inflicts a dark range attack. -->
<active_skill id="3185" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29766" name="o_s_99_2r_40">
<!-- Active: Inflicts a water range attack. -->
<active_skill id="3181" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29767" name="o_s_99_2r_41">
<!-- Active: Inflicts a wind range attack. -->
<active_skill id="3182" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29768" name="o_s_99_2r_42">
<!-- Active: Momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<active_skill id="3191" level="10" /> <!-- Item Skill: Sleep -->
</option>
<option id="29769" name="o_s_99_2r_43">
<!-- Active: Momentarily decreases the target's Speed. -->
<active_skill id="3187" level="15" /> <!-- Item Skill: Slow (Active) -->
</option>
<option id="29770" name="o_s_99_2r_44">
<!-- Active: Momentarily inflicts shock on the target. -->
<active_skill id="3189" level="10" /> <!-- Item Skill: Stun -->
</option>
<option id="29771" name="o_s_99_2r_45">
<!-- Active: Inflicts a earth attack. -->
<active_skill id="3176" level="10" /> <!-- Item Skill: Stone -->
</option>
<option id="29772" name="o_s_99_2r_46">
<!-- Active: Inflicts a fire attack. -->
<active_skill id="3173" level="10" /> <!-- Item Skill: Prominence -->
</option>
<option id="29773" name="o_s_99_2r_47">
<!-- Active: Inflicts a holy attack. -->
<active_skill id="3177" level="10" /> <!-- Item Skill: Solar Flare -->
</option>
<option id="29774" name="o_s_99_2r_48">
<!-- Active: Inflicts a non-attribute attack. -->
<active_skill id="3179" level="10" /> <!-- Item Skill: Aura Flare -->
</option>
<option id="29775" name="o_s_99_2r_49">
<!-- Active: Inflicts a dark attack. -->
<active_skill id="3178" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29776" name="o_s_99_2r_50">
<!-- Active: Inflicts a water attack. -->
<active_skill id="3174" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29777" name="o_s_99_2r_51">
<!-- Active: Inflicts a wind attack. -->
<active_skill id="3175" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29778" name="o_s_99_2r_52">
<!-- Active: Cancels the target. -->
<active_skill id="3152" level="10" /> <!-- Item Skill: Trick -->
</option>
<option id="29779" name="o_s_99_2r_53">
<!-- Active: Momentarily petrifies the target. -->
<active_skill id="3193" level="10" /> <!-- Item Skill: Medusa -->
</option>
<option id="29780" name="o_s_99_2r_54">
<!-- Active: Inflicts a dark attack. -->
<active_skill id="3171" level="10" /> <!-- Item Skill: Shadow Flare -->
</option>
<option id="29781" name="o_s_99_2r_55">
<!-- Active: Absorbs HP from your target. -->
<active_skill id="3155" level="10" /> <!-- Item Skill: Unlock -->
</option>
<option id="29782" name="o_s_99_2r_56">
<!-- Active: Absorbs HP from your target. -->
<active_skill id="3153" level="10" /> <!-- Item Skill: Vampiric Touch -->
</option>
<option id="29783" name="o_s_99_2r_57">
<!-- Active: Inflicts a water attack. -->
<active_skill id="3167" level="10" /> <!-- Item Skill: Hydro Blast -->
</option>
<option id="29784" name="o_s_99_2r_58">
<!-- Active: Inflicts a wind attack. -->
<active_skill id="3168" level="10" /> <!-- Item Skill: Hurricane -->
</option>
<option id="29785" name="o_s_99_2r_59">
<!-- Effect: During a physical attack, momentarily decreases the target's Atk. Spd. -->
<attack_skill id="3084" level="10" chance="1.0" /> <!-- Item Skill: Winter (Attack Active) -->
</option>
<option id="29786" name="o_s_99_2r_60">
<!-- Effect: During a physical attack, momentarily inflicts bleed on the target. -->
<attack_skill id="3092" level="15" chance="1.0" /> <!-- Item Skill: Bleed (Attack Active) -->
</option>
<option id="29787" name="o_s_99_2r_61">
<!-- Effect: During a physical attack, momentarily inflicts fear on the target and causes him to flee. -->
<attack_skill id="3090" level="10" chance="1.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29788" name="o_s_99_2r_62">
<!-- Effect: During a physical attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<attack_skill id="3086" level="15" chance="1.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29789" name="o_s_99_2r_63">
<!-- Effect: During a physical attack, momentarily inflicts poison on the target. -->
<attack_skill id="3091" level="15" chance="1.0" /> <!-- Item Skill: Poison (Attack Active) -->
</option>
<option id="29790" name="o_s_99_2r_64">
<!-- Effect: During a physical attack, momentarily petrifies the target. -->
<attack_skill id="3089" level="10" chance="1.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29791" name="o_s_99_2r_65">
<!-- Effect: During a critical attack, momentarily decreases the target's Atk. Spd. -->
<critical_skill id="3112" level="15" chance="5.0" /> <!-- Item Skill: Winter (Critical) -->
</option>
<option id="29792" name="o_s_99_2r_66">
<!-- Effect: During a critical attack, momentarily inflicts bleed on the target. -->
<critical_skill id="3120" level="15" chance="5.0" /> <!-- Item Skill: Bleed (Critical) -->
</option>
<option id="29793" name="o_s_99_2r_67">
<!-- Effect: During a critical attack, momentarily inflicts fear on the target. -->
<critical_skill id="3118" level="10" chance="5.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29794" name="o_s_99_2r_68">
<!-- Effect: During a critical attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<critical_skill id="3114" level="15" chance="5.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29795" name="o_s_99_2r_69">
<!-- Effect: During a critical attack, momentarily inflicts poison on the target. -->
<critical_skill id="3119" level="15" chance="5.0" /> <!-- Item Skill: Poison (Critical) -->
</option>
<option id="29796" name="o_s_99_2r_70">
<!-- Effect: During a critical attack, momentarily petrifies the target. -->
<critical_skill id="3117" level="10" chance="5.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29797" name="o_s_99_2r_71">
<!-- Effect: Has a chance of decreasing Speed of the target who gave damage. -->
<passive_skill id="3227" level="15" /> <!-- Item Skill: Winter -->
</option>
<option id="29798" name="o_s_99_2r_72">
<!-- Effect: When receiving damage, has a chance of increasing Evasion. -->
<passive_skill id="3221" level="15" /> <!-- Item Skill: Agility -->
</option>
<option id="29799" name="o_s_99_2r_73">
<!-- Effect: Has a chance of inflicting bleed on the target who gave damage. -->
<passive_skill id="3235" level="15" /> <!-- Item Skill: Bleed -->
</option>
</list>

View File

@ -0,0 +1,475 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="29800" name="o_s_99_2r_74">
<!-- Effect: When receiving damage, has a chance of restoring CP. -->
<passive_skill id="3213" level="10" /> <!-- Item Skill: Ritual -->
</option>
<option id="29801" name="o_s_99_2r_75">
<!-- Effect: When receiving damage, has a chance of increasing Critical Rate. -->
<passive_skill id="3223" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29802" name="o_s_99_2r_76">
<!-- Effect: Has a chance of decreasing aggression of the target who gave damage. -->
<passive_skill id="3225" level="15" /> <!-- Item Skill: Charm -->
</option>
<option id="29803" name="o_s_99_2r_77">
<!-- Effect: When receiving damage, has a chance of increasing Accuracy. -->
<passive_skill id="3222" level="15" /> <!-- Item Skill: Guidance -->
</option>
<option id="29804" name="o_s_99_2r_78">
<!-- Effect: Has a chance of inflicting hold on the target who gave damage. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<passive_skill id="3229" level="10" /> <!-- Item Skill: Hold -->
</option>
<option id="29805" name="o_s_99_2r_79">
<!-- Effect: When receiving damage, has a chance of increasing the recovery amount of HP recovery magics. -->
<passive_skill id="3209" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29806" name="o_s_99_2r_80">
<!-- Effect: When receiving damage, has a chance of restoring HP. -->
<passive_skill id="3207" level="10" /> <!-- Item Skill: Heal -->
</option>
<option id="29807" name="o_s_99_2r_81">
<!-- Effect: When receiving damage, has a chance of increasing M. Atk. -->
<passive_skill id="3216" level="15" /> <!-- Item Skill: Empower -->
</option>
<option id="29808" name="o_s_99_2r_82">
<!-- Effect: When receiving damage, has a chance of increasing Critical Rate of attack magics. -->
<passive_skill id="3224" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29809" name="o_s_99_2r_83">
<!-- Effect: When receiving damage, has a chance of increasing Max CP. -->
<passive_skill id="3214" level="10" /> <!-- Item Skill: Cheer -->
</option>
<option id="29810" name="o_s_99_2r_84">
<!-- Effect: When receiving damage, has a chance of increasing Max HP. -->
<passive_skill id="3208" level="10" /> <!-- Item Skill: Blessed Body -->
</option>
<option id="29811" name="o_s_99_2r_85">
<!-- Effect: When receiving damage, has a chance of increasing Max MP. -->
<passive_skill id="3211" level="10" /> <!-- Item Skill: Blessed Soul -->
</option>
<option id="29812" name="o_s_99_2r_86">
<!-- Effect: When receiving damage, has a chance of increasing M. Def. -->
<passive_skill id="3219" level="15" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29813" name="o_s_99_2r_87">
<!-- Effect: When receiving damage, has a chance of increasing P. Atk. -->
<passive_skill id="3215" level="15" /> <!-- Item Skill: Might -->
</option>
<option id="29814" name="o_s_99_2r_88">
<!-- Effect: When receiving damage, has a chance of increasing P. Def. -->
<passive_skill id="3218" level="15" /> <!-- Item Skill: Shield -->
</option>
<option id="29815" name="o_s_99_2r_89">
<!-- Effect: Has a chance of inflicting poison on the target who gave damage. -->
<passive_skill id="3234" level="15" /> <!-- Item Skill: Poison -->
</option>
<option id="29816" name="o_s_99_2r_90">
<!-- Effect: Has a chance of decreasing PvP P. Atk. of the target who gave damage. -->
<passive_skill id="3220" level="10" /> <!-- Item Skill: Duel Weakness -->
</option>
<option id="29817" name="o_s_99_2r_91">
<!-- Effect: When receiving damage, has a chance of increasing PvP P. Ak. -->
<passive_skill id="3217" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29818" name="o_s_99_2r_92">
<!-- Effect: Has a chance of inflicting shock on the target who gave damage. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<passive_skill id="3230" level="10" /> <!-- Item Skill: Sleep -->
</option>
<option id="29819" name="o_s_99_2r_93">
<!-- Effect: Has a chance of decreasing Speed of the target who gave damage. -->
<passive_skill id="3226" level="15" /> <!-- Item Skill: Slow -->
</option>
<option id="29820" name="o_s_99_2r_94">
<!-- Effect: During a magic attack, momentarily decreases the target's Atk. Spd. -->
<magic_skill id="3097" level="10" chance="2.0" /> <!-- Item Skill: Winter (Magic Active) -->
</option>
<option id="29821" name="o_s_99_2r_95">
<!-- Effect: During a magic attack, momentarily inflicts bleed on the target. -->
<magic_skill id="3105" level="15" chance="2.0" /> <!-- Item Skill: Bleed (Magic Active) -->
</option>
<option id="29822" name="o_s_99_2r_96">
<!-- Effect: During a magic attack, momentarily inflicts fear on the target and causes him to flee. -->
<magic_skill id="3103" level="10" chance="2.0" /> <!-- Item Skill: Fear -->
</option>
<option id="29823" name="o_s_99_2r_97">
<!-- Effect: During a magic attack, momentarily inflicts hold on the target. The target cannot be affected by any additional hold attacks while the effect lasts. -->
<magic_skill id="3099" level="15" chance="2.0" /> <!-- Item Skill: Hold -->
</option>
<option id="29824" name="o_s_99_2r_98">
<!-- Effect: During a magic attack, momentarily inflicts poison on the target. -->
<magic_skill id="3104" level="15" chance="2.0" /> <!-- Item Skill: Poison (Magic Active) -->
</option>
<option id="29825" name="o_s_99_2r_99">
<!-- Effect: During a magic attack, momentarily petrifies the target. -->
<magic_skill id="3102" level="10" chance="2.0" /> <!-- Item Skill: Medusa -->
</option>
<option id="29826" name="o_s_99_2r_100">
<!-- Passive: Increases the power of HP recovery magic. -->
<passive_skill id="3246" level="10" /> <!-- Item Skill: Heal Empower -->
</option>
<option id="29827" name="o_s_99_2r_101">
<!-- Passive: Increases the effect of HP recovery magic. -->
<passive_skill id="3238" level="10" /> <!-- Item Skill: Prayer -->
</option>
<option id="29828" name="o_s_99_2r_102">
<!-- Passive: Increases M. Atk. -->
<passive_skill id="3241" level="15" /> <!-- Item Skill: Empower -->
</option>
<option id="29829" name="o_s_99_2r_103">
<!-- Passive: Increases M. Def. -->
<passive_skill id="3245" level="15" /> <!-- Item Skill: Magic Barrier -->
</option>
<option id="29830" name="o_s_99_2r_104">
<!-- Passive: Increases P. Atk. -->
<passive_skill id="3240" level="15" /> <!-- Item Skill: Might -->
</option>
<option id="29831" name="o_s_99_2r_105">
<!-- Passive: Increases P. Def. -->
<passive_skill id="3244" level="15" /> <!-- Item Skill: Shield -->
</option>
<option id="29832" name="o_s_99_2r_106">
<!-- Passive: Increases PvP P. Atk. -->
<passive_skill id="3243" level="10" /> <!-- Item Skill: Duel Might -->
</option>
<option id="29833" name="o_s_99_2r_107">
<!-- Passive: Doubles the weight limit. -->
<passive_skill id="3251" level="10" /> <!-- Item Skill: Weight Limit -->
</option>
<option id="29834" name="o_s_99_2u_1">
<!-- Active: Temporarily decreases cooldown for all skills. -->
<active_skill id="3202" level="3" /> <!-- Item Skill: Refresh -->
</option>
<option id="29835" name="o_s_99_2u_2">
<!-- Active: Temporarily decreases MP Consumption for all skills. -->
<active_skill id="3164" level="3" /> <!-- Item Skill: Clarity -->
</option>
<option id="29836" name="o_s_99_2u_3">
<!-- Active: Temporarily increases Critical Rate. -->
<active_skill id="3141" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29837" name="o_s_99_2u_4">
<!-- Active: Temporarily returns a portion of received damage back to an enemy. -->
<active_skill id="3204" level="3" /> <!-- Item Skill: Reflect Damage -->
</option>
<option id="29838" name="o_s_99_2u_5">
<!-- Active: Momentarily blocks the target's physical/magic skills. -->
<active_skill id="3198" level="10" /> <!-- Item Skill: Doom -->
</option>
<option id="29839" name="o_s_99_2u_6">
<!-- Active: Teleports to a village without a casting time.. Cannot be used in special areas such as the GM info center. -->
<active_skill id="3147" level="1" /> <!-- Item Skill: Quick Return -->
</option>
<option id="29840" name="o_s_99_2u_7">
<!-- Active: Momentarily becomes invincible. -->
<active_skill id="3158" level="1" /> <!-- Item Skill: Celestial Shield -->
</option>
<option id="29841" name="o_s_99_2u_8">
<!-- Active: Temporarily increases Critical Rate of attack magics. -->
<active_skill id="3142" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29842" name="o_s_99_2u_9">
<!-- Active: Teleports party members to a town. -->
<active_skill id="3205" level="2" /> <!-- Item Skill: Party Return -->
</option>
<option id="29843" name="o_s_99_2u_10">
<!-- Active: Momentarily blocks the target's magic skills. -->
<active_skill id="3197" level="10" /> <!-- Item Skill: Silence -->
</option>
<option id="29844" name="o_s_99_2u_11">
<!-- Active: Temporarily decreases cooldown for physical skills. -->
<active_skill id="3199" level="3" /> <!-- Item Skill: Skill Refresh -->
</option>
<option id="29845" name="o_s_99_2u_12">
<!-- Active: Temporarily decreases MP consumption for skills. -->
<active_skill id="3161" level="8" /> <!-- Item Skill: Skill Clarity -->
</option>
<option id="29846" name="o_s_99_2u_13">
<!-- Active: Temporarily decreases cooldown for song/dance skills. -->
<active_skill id="3201" level="3" /> <!-- Item Skill: Music Refresh -->
</option>
<option id="29847" name="o_s_99_2u_14">
<!-- Active: Temporarily decreases MP Consumption for song/dance skills. -->
<active_skill id="3163" level="3" /> <!-- Item Skill: Music Clarity -->
</option>
<option id="29848" name="o_s_99_2u_15">
<!-- Active: Temporarily decreases magic cooldown. -->
<active_skill id="3200" level="3" /> <!-- Item Skill: Spell Refresh -->
</option>
<option id="29849" name="o_s_99_2u_16">
<!-- Active: Temporarily decreases MP Consumption for magic skills. -->
<active_skill id="3162" level="8" /> <!-- Item Skill: Spell Clarity -->
</option>
<option id="29850" name="o_s_99_2u_17">
<!-- Active: Temporarily blocks a monster's pre-emptive attack. Decreases attack abilities while the effect lasts. -->
<active_skill id="3159" level="3" /> <!-- Item Skill: Stealth -->
</option>
<option id="29851" name="o_s_99_2u_18">
<!-- Active: Temporarily absorbs the damage inflicted on the enemy as HP. Excludes damage by skill or long-range attacks. -->
<active_skill id="3148" level="10" /> <!-- Item Skill: Vampiric Rage -->
</option>
<option id="29852" name="o_s_99_2u_19">
<!-- Effect: During a physical attack, momentarily blocks the target's physical/magic skills. -->
<attack_skill id="3094" level="10" chance="1.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29853" name="o_s_99_2u_20">
<!-- Effect: During a physical attack, momentarily burns up the target's MP. -->
<attack_skill id="3082" level="10" chance="1.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29854" name="o_s_99_2u_21">
<!-- Effect: During a physical attack, momentarily inflicts paralysis on the target. -->
<attack_skill id="3088" level="10" chance="1.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29855" name="o_s_99_2u_22">
<!-- Effect: During a physical attack, momentarily blocks the target's magic skills. -->
<attack_skill id="3093" level="10" chance="1.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29856" name="o_s_99_2u_23">
<!-- Effect: During a physical attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<attack_skill id="3087" level="10" chance="1.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29857" name="o_s_99_2u_24">
<!-- Effect: During a physical attack, momentarily inflicts shock on the target. -->
<attack_skill id="3085" level="10" chance="1.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29858" name="o_s_99_2u_25">
<!-- Effect: During a critical attack, momentarily blocks the target's physical/magic skills. -->
<critical_skill id="3122" level="10" chance="5.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29859" name="o_s_99_2u_26">
<!-- Effect: During a critical attack, momentarily burns up the target's MP. -->
<critical_skill id="3110" level="10" chance="5.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29860" name="o_s_99_2u_27">
<!-- Effect: During a critical attack, momentarily inflicts paralysis on the target. -->
<critical_skill id="3116" level="10" chance="5.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29861" name="o_s_99_2u_28">
<!-- Effect: During a critical attack, momentarily blocks the target's magic skills. -->
<critical_skill id="3121" level="10" chance="5.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29862" name="o_s_99_2u_29">
<!-- Effect: During a critical attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<critical_skill id="3115" level="10" chance="5.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29863" name="o_s_99_2u_30">
<!-- Effect: During a critical attack, momentarily inflicts shock on the target. -->
<critical_skill id="3113" level="10" chance="5.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29864" name="o_s_99_2u_31">
<!-- Effect: Has a chance of blocking all of the physical/magic skills of the target who gave damage. -->
<passive_skill id="3237" level="10" /> <!-- Item Skill: Doom -->
</option>
<option id="29865" name="o_s_99_2u_32">
<!-- Effect: Has a chance of inflicting fear on the target who gave damage and causing him to flee. -->
<passive_skill id="3233" level="10" /> <!-- Item Skill: Fear -->
</option>
<option id="29866" name="o_s_99_2u_33">
<!-- Effect: When receiving damage, has a chance of increasing the recovery amount of MP recovery magics. -->
<passive_skill id="3212" level="15" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29867" name="o_s_99_2u_34">
<!-- Effect: When receiving damage, has a chance of restoring MP. -->
<passive_skill id="3210" level="10" /> <!-- Item Skill: Recharge -->
</option>
<option id="29868" name="o_s_99_2u_35">
<!-- Effect: Has a chance of inflicting paralysis on the target who gave damage. -->
<passive_skill id="3231" level="10" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29869" name="o_s_99_2u_36">
<!-- Effect: Has a chance of blocking all the magic skills of the target who gave damage. -->
<passive_skill id="3236" level="10" /> <!-- Item Skill: Silence -->
</option>
<option id="29870" name="o_s_99_2u_37">
<!-- Effect: Has a chance of inflicting shock on the target who gave damage. -->
<passive_skill id="3228" level="10" /> <!-- Item Skill: Stun -->
</option>
<option id="29871" name="o_s_99_2u_38">
<!-- Effect: Has a chance of petrifying the target who gave damage. -->
<passive_skill id="3232" level="10" /> <!-- Item Skill: Medusa -->
</option>
<option id="29872" name="o_s_99_2u_39">
<!-- Effect: During a magic attack, momentarily blocks the target's physical/magic skills. -->
<magic_skill id="3107" level="10" chance="2.0" /> <!-- Item Skill: Doom -->
</option>
<option id="29873" name="o_s_99_2u_40">
<!-- Effect: During a magic attack, momentarily burns up the target's MP. -->
<magic_skill id="3095" level="10" chance="2.0" /> <!-- Item Skill: Mana Burn -->
</option>
<option id="29874" name="o_s_99_2u_41">
<!-- Effect: During a magic attack, momentarily inflicts paralysis on the target. -->
<magic_skill id="3101" level="10" chance="2.0" /> <!-- Item Skill: Paralyze -->
</option>
<option id="29875" name="o_s_99_2u_42">
<!-- Effect: During a magic attack, momentarily blocks the target's magic skills. -->
<magic_skill id="3106" level="10" chance="2.0" /> <!-- Item Skill: Silence -->
</option>
<option id="29876" name="o_s_99_2u_43">
<!-- Effect: During a magic attack, momentarily inflicts sleep on the target. The target cannot be afflicted with any additional sleep attacks while the effect lasts. -->
<magic_skill id="3100" level="10" chance="2.0" /> <!-- Item Skill: Sleep -->
</option>
<option id="29877" name="o_s_99_2u_44">
<!-- Effect: During a magic attack, momentarily inflicts shock on the target. -->
<magic_skill id="3098" level="10" chance="2.0" /> <!-- Item Skill: Stun -->
</option>
<option id="29878" name="o_s_99_2u_45">
<!-- Passive: Decreases MP consumption for all skills. -->
<passive_skill id="3258" level="3" /> <!-- Item Skill: Clarity -->
</option>
<option id="29879" name="o_s_99_2u_46">
<!-- Passive: Increases Evasion. -->
<passive_skill id="3247" level="15" /> <!-- Item Skill: Agility -->
</option>
<option id="29880" name="o_s_99_2u_47">
<!-- Passive: Increases Critical Rate. -->
<passive_skill id="3249" level="10" /> <!-- Item Skill: Focus -->
</option>
<option id="29881" name="o_s_99_2u_48">
<!-- Passive: Returns a portion of the received damage back to the enemy. -->
<passive_skill id="3259" level="3" /> <!-- Item Skill: Reflect Damage -->
</option>
<option id="29882" name="o_s_99_2u_49">
<!-- Passive: Increases Accuracy. -->
<passive_skill id="3248" level="15" /> <!-- Item Skill: Guidance -->
</option>
<option id="29883" name="o_s_99_2u_50">
<!-- Passive: Increases Critical Rate of attack magics. -->
<passive_skill id="3250" level="10" /> <!-- Item Skill: Wild Magic -->
</option>
<option id="29884" name="o_s_99_2u_51">
<!-- Passive: Increases MP recovery amount of the recharge. -->
<passive_skill id="3239" level="15" /> <!-- Item Skill: Mana Gain -->
</option>
<option id="29885" name="o_s_99_2u_52">
<!-- Passive: Decreases MP Consumption for physical skills. -->
<passive_skill id="3255" level="8" /> <!-- Item Skill: Skill Clarity -->
</option>
<option id="29886" name="o_s_99_2u_53">
<!-- Passive: Decreases MP consumption for song/dance skills. -->
<passive_skill id="3257" level="3" /> <!-- Item Skill: Music Clarity -->
</option>
<option id="29887" name="o_s_99_2u_54">
<!-- Passive: Decreases MP Consumption for magic skills. -->
<passive_skill id="3256" level="8" /> <!-- Item Skill: Spell Clarity -->
</option>
<option id="29888" name="o_f_85_1u_92">
<!-- str 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>STR</stat>
</effect>
</effects>
</option>
<option id="29889" name="o_f_85_1u_93">
<!-- con 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>CON</stat>
</effect>
</effects>
</option>
<option id="29890" name="o_f_85_1u_94">
<!-- int + 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>INT</stat>
</effect>
</effects>
</option>
<option id="29891" name="o_f_85_1u_95">
<!-- men 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>MEN</stat>
</effect>
</effects>
</option>
<option id="29892" name="o_f_95_1u_92">
<!-- str 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>STR</stat>
</effect>
</effects>
</option>
<option id="29893" name="o_f_95_1u_93">
<!-- con 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>CON</stat>
</effect>
</effects>
</option>
<option id="29894" name="o_f_95_1u_94">
<!-- int + 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>INT</stat>
</effect>
</effects>
</option>
<option id="29895" name="o_f_95_1u_95">
<!-- men 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>MEN</stat>
</effect>
</effects>
</option>
<option id="29896" name="o_f_99_1u_92">
<!-- str 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>STR</stat>
</effect>
</effects>
</option>
<option id="29897" name="o_f_99_1u_93">
<!-- con 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>CON</stat>
</effect>
</effects>
</option>
<option id="29898" name="o_f_99_1u_94">
<!-- int + 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>INT</stat>
</effect>
</effects>
</option>
<option id="29899" name="o_f_99_1u_95">
<!-- men 1 -->
<effects>
<effect name="StatUp">
<amount>1.0</amount>
<mode>DIFF</mode>
<stat>MEN</stat>
</effect>
</effects>
</option>
</list>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,598 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="30200" name="o_hairacc_enchant_24">
<!-- M. Def. + 24 -->
<effects>
<effect name="MagicalDefence">
<amount>24.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30201" name="o_hairacc_enchant_25">
<!-- M. Def. + 25 -->
<effects>
<effect name="MagicalDefence">
<amount>25.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30202" name="o_hairacc_enchant_26">
<!-- M. Def. + 26 -->
<effects>
<effect name="MagicalDefence">
<amount>26.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30203" name="o_hairacc_enchant_27">
<!-- M. Def. + 27 -->
<effects>
<effect name="MagicalDefence">
<amount>27.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30204" name="o_hairacc_enchant_28">
<!-- M. Def. + 28 -->
<effects>
<effect name="MagicalDefence">
<amount>28.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30205" name="o_hairacc_enchant_29">
<!-- M. Def. + 29 -->
<effects>
<effect name="MagicalDefence">
<amount>29.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30206" name="o_hairacc_enchant_30">
<!-- M. Def. + 30 -->
<effects>
<effect name="MagicalDefence">
<amount>30.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30207" name="o_hairacc_enchant_31">
<!-- M. Def. + 31 -->
<effects>
<effect name="MagicalDefence">
<amount>31.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30208" name="o_hairacc_enchant_32">
<!-- M. Def. + 32 -->
<effects>
<effect name="MagicalDefence">
<amount>32.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30209" name="o_hairacc_enchant_33">
<!-- M. Def. + 33 -->
<effects>
<effect name="MagicalDefence">
<amount>33.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30210" name="o_hairacc_enchant_34">
<!-- M. Def. + 34 -->
<effects>
<effect name="MagicalDefence">
<amount>34.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30211" name="o_hairacc_enchant_35">
<!-- M. Def. + 35 -->
<effects>
<effect name="MagicalDefence">
<amount>35.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30212" name="o_hairacc_enchant_36">
<!-- M. Def. + 36 -->
<effects>
<effect name="MagicalDefence">
<amount>36.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30213" name="o_hairacc_enchant_37">
<!-- M. Def. + 37 -->
<effects>
<effect name="MagicalDefence">
<amount>37.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30214" name="o_hairacc_enchant_38">
<!-- M. Def. + 38 -->
<effects>
<effect name="MagicalDefence">
<amount>38.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30215" name="o_hairacc_enchant_39">
<!-- M. Def. + 39 -->
<effects>
<effect name="MagicalDefence">
<amount>39.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30216" name="o_hairacc_enchant_40">
<!-- M. Def. + 40 -->
<effects>
<effect name="MagicalDefence">
<amount>40.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30217" name="o_hairacc_enchant_41">
<!-- M. Def. + 41 -->
<effects>
<effect name="MagicalDefence">
<amount>41.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30218" name="o_hairacc_enchant_42">
<!-- M. Def. + 42 -->
<effects>
<effect name="MagicalDefence">
<amount>42.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30219" name="o_hairacc_enchant_43">
<!-- M. Def. + 43 -->
<effects>
<effect name="MagicalDefence">
<amount>43.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30220" name="o_hairacc_enchant_44">
<!-- M. Def. + 44 -->
<effects>
<effect name="MagicalDefence">
<amount>44.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30221" name="o_hairacc_enchant_45">
<!-- M. Def. + 45 -->
<effects>
<effect name="MagicalDefence">
<amount>45.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30222" name="o_hairacc_enchant_46">
<!-- M. Def. + 46 -->
<effects>
<effect name="MagicalDefence">
<amount>46.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30223" name="o_hairacc_enchant_47">
<!-- M. Def. + 47 -->
<effects>
<effect name="MagicalDefence">
<amount>47.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30224" name="o_hairacc_enchant_48">
<!-- M. Def. + 48 -->
<effects>
<effect name="MagicalDefence">
<amount>48.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30225" name="o_hairacc_enchant_49">
<!-- M. Def. + 49 -->
<effects>
<effect name="MagicalDefence">
<amount>49.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30226" name="o_hairacc_enchant_50">
<!-- M. Def. + 50 -->
<effects>
<effect name="MagicalDefence">
<amount>50.0</amount>
<mode>DIFF</mode>
</effect>
</effects>
</option>
<option id="30227" name="o_bm_8anni_tshirt_p_0">
<!-- M. Def. + 8.0 -->
<passive_skill id="21326" level="1" /> <!-- Basic Effect: Elemental Shirt -->
</option>
<option id="30228" name="o_bm_8anni_tshirt_p_1">
<!-- M. Def. + 9.0 -->
<passive_skill id="21327" level="1" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30229" name="o_bm_8anni_tshirt_p_2">
<!-- M. Def. + 10.0 -->
<passive_skill id="21327" level="2" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30230" name="o_bm_8anni_tshirt_p_3">
<!-- M. Def. + 11.0 -->
<passive_skill id="21327" level="3" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30231" name="o_bm_8anni_tshirt_p_4">
<!-- M. Def. + 12.0 Speed + 7 CON +2 and MEN +1 -->
<passive_skill id="21327" level="4" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30232" name="o_bm_8anni_tshirt_p_5">
<!-- M. Def. + 13.0 Speed + 7, Max HP + 200, Max MP + 200 STR +1, CON +2, INT +1, MEN +2 -->
<passive_skill id="21327" level="5" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30233" name="o_bm_8anni_tshirt_p_6">
<!-- M. Def. + 14.0 Speed + 7, Max HP + 200, Max MP + 200, MP Consumption - 3% Resistance to Water/Fire/Wind/Earth + 20. STR +2, DEX +1, CON +2, INT +2, WIT +1, MEN +2 -->
<passive_skill id="21327" level="6" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30234" name="o_bm_8anni_tshirt_p_7">
<!-- M. Def. + 15.0 Speed + 7, Max HP + 200, Max MP + 200, MP Consumption - 3% Resistance to Water/Fire/Wind/Earth + 25. Increases Damage Reflect Resistance. STR +2, DEX +1, CON +2, INT +2, WIT +1, MEN +2 -->
<passive_skill id="21327" level="7" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30235" name="o_bm_8anni_tshirt_p_8">
<!-- M. Def. + 16.0 Speed + 7, Max HP + 200, Max MP + 200, MP Consumption - 3% Resistance to Water/Fire/Wind/Earth + 30. Increases Damage Reflect Resistance. Vampiric Rage Effect. Decreases cooldown for physical/magic skills. Increases Resistance to Lethal Strike and Half-Kill. STR + 2, DEX + 2, CON + 3, INT + 2, WIT + 2, MEN + 2 -->
<passive_skill id="21327" level="8" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30236" name="o_bm_8anni_tshirt_p_9">
<!-- M. Def. + 17.0 Speed + 7, Max HP + 200, Max MP + 200, MP Consumption - 3% Resistance to Water/Fire/Wind/Earth + 35. Increases Damage Reflect Resistance. Vampiric Rage Effect. Decreases cooldown for physical/magic skills. Increases Resistance to Lethal Strike and Half-Kill. STR + 2, DEX + 2, CON + 3, INT + 2, WIT + 2, MEN + 3 -->
<passive_skill id="21327" level="9" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30237" name="o_bm_8anni_tshirt_p_10">
<!-- M. Def. + 18.0 Speed + 7, Max HP + 200, Max MP + 200, MP Consumption - 3% Resistance to Water/Fire/Wind/Earth + 40. Increases Damage Reflect Resistance. Vampiric Rage Effect. Decreases cooldown for physical/magic skills. Increases Resistance to Lethal Strike and Half-Kill. STR + 3, DEX + 3, CON + 3, INT + 3, WIT + 3, MEN + 3 -->
<passive_skill id="21327" level="10" /> <!-- Enchant Effect: Elemental Shirt -->
</option>
<option id="30238" name="o_bm_8anni_tshirt_a_s1">
<!-- Active: Power of Pa'agrio -->
<active_skill id="9367" level="1" /> <!-- Power of Pa'agrio -->
</option>
<option id="30239" name="o_bm_8anni_tshirt_a_s2">
<!-- Active: Power of Pa'agrio -->
<active_skill id="9367" level="2" /> <!-- Power of Pa'agrio -->
</option>
<option id="30240" name="o_bm_8anni_tshirt_b_s0">
<!-- Active: Portal of Sayha -->
<active_skill id="9371" level="1" /> <!-- Sayha's Portal -->
</option>
<option id="30241" name="o_bm_8anni_tshirt_b_s1">
<!-- Active: Power of Sayha -->
<active_skill id="9373" level="1" /> <!-- Power of Sayha -->
</option>
<option id="30242" name="o_bm_8anni_tshirt_b_s2">
<!-- Active: Power of Sayha -->
<active_skill id="9373" level="2" /> <!-- Power of Sayha -->
</option>
<option id="30243" name="o_bm_8anni_tshirt_c_s1">
<!-- Active: Power of Eva -->
<active_skill id="9365" level="1" /> <!-- Power of Eva -->
</option>
<option id="30244" name="o_bm_8anni_tshirt_c_s2">
<!-- Active: Power of Eva -->
<active_skill id="9365" level="2" /> <!-- Power of Eva -->
</option>
<option id="30245" name="o_bm_8anni_tshirt_d_s1">
<!-- Passive: Power of Maphr -->
<passive_skill id="9369" level="1" /> <!-- Power of Maphr -->
</option>
<option id="30246" name="o_bm_8anni_tshirt_d_s2">
<!-- Passive: Power of Maphr -->
<passive_skill id="9369" level="2" /> <!-- Power of Maphr -->
</option>
<option id="30247" name="o_bm_8anni_tshirt_fire_3">
<!-- Resistance to Fire + 5 -->
<effects>
<effect name="DefenceAttribute">
<amount>5.0</amount>
<attribute>FIRE</attribute>
</effect>
</effects>
</option>
<option id="30248" name="o_bm_8anni_tshirt_fire_4">
<!-- Resistance to Fire + 10 -->
<effects>
<effect name="DefenceAttribute">
<amount>10.0</amount>
<attribute>FIRE</attribute>
</effect>
</effects>
</option>
<option id="30249" name="o_bm_8anni_tshirt_fire_5">
<!-- Resistance to Fire + 15 -->
<effects>
<effect name="DefenceAttribute">
<amount>15.0</amount>
<attribute>FIRE</attribute>
</effect>
</effects>
</option>
<option id="30250" name="o_bm_8anni_tshirt_water_3">
<!-- Resistance to Water + 5 -->
<effects>
<effect name="DefenceAttribute">
<amount>5.0</amount>
<attribute>WATER</attribute>
</effect>
</effects>
</option>
<option id="30251" name="o_bm_8anni_tshirt_water_4">
<!-- Resistance to Water + 10 -->
<effects>
<effect name="DefenceAttribute">
<amount>10.0</amount>
<attribute>WATER</attribute>
</effect>
</effects>
</option>
<option id="30252" name="o_bm_8anni_tshirt_water_5">
<!-- Resistance to Water + 15 -->
<effects>
<effect name="DefenceAttribute">
<amount>15.0</amount>
<attribute>WATER</attribute>
</effect>
</effects>
</option>
<option id="30253" name="o_bm_8anni_tshirt_wind_3">
<!-- Resistance to Wind + 5 -->
<effects>
<effect name="DefenceAttribute">
<amount>5.0</amount>
<attribute>WIND</attribute>
</effect>
</effects>
</option>
<option id="30254" name="o_bm_8anni_tshirt_wind_4">
<!-- Resistance to Wind + 10 -->
<effects>
<effect name="DefenceAttribute">
<amount>10.0</amount>
<attribute>WIND</attribute>
</effect>
</effects>
</option>
<option id="30255" name="o_bm_8anni_tshirt_wind_5">
<!-- Resistance to Wind + 15 -->
<effects>
<effect name="DefenceAttribute">
<amount>15.0</amount>
<attribute>WIND</attribute>
</effect>
</effects>
</option>
<option id="30256" name="o_bm_8anni_tshirt_earth_3">
<!-- Resistance to Earth + 5 -->
<effects>
<effect name="DefenceAttribute">
<amount>5.0</amount>
<attribute>EARTH</attribute>
</effect>
</effects>
</option>
<option id="30257" name="o_bm_8anni_tshirt_earth_4">
<!-- Resistance to Earth + 10 -->
<effects>
<effect name="DefenceAttribute">
<amount>10.0</amount>
<attribute>EARTH</attribute>
</effect>
</effects>
</option>
<option id="30258" name="o_bm_8anni_tshirt_earth_5">
<!-- Resistance to Earth + 15 -->
<effects>
<effect name="DefenceAttribute">
<amount>15.0</amount>
<attribute>EARTH</attribute>
</effect>
</effects>
</option>
<option id="30259" name="o_s_99_2u_60">
<!-- Active: Stuns and cancels the targeting on nearby enemies, and teleport forward. Consumes 10 B-grade Gemstones. -->
<active_skill id="9451" level="1" /> <!-- Item Skill: Warp -->
</option>
<option id="30260" name="o_s_99_2u_61">
<!-- Active: Temporarily increases Speed, P. Evasion, and HP Recovery Bonus. Consumes 10 B-grade Gemstones upon use. -->
<active_skill id="9452" level="1" /> <!-- Item Skill: Dash -->
</option>
<option id="30261" name="o_s_99_2u_62">
<!-- Active: Available when HP drops to 20% or below. Becomes Invincible for a certain period of time. Consumes 20 B-grade Gemstones upon use. -->
<active_skill id="9453" level="1" /> <!-- Item Skill: Undying Will -->
</option>
<option id="30262" name="o_s_99_2u_63">
<!-- Active: Temporarily blocks the target's physical/magic skills. Consumes 30 B-grade Gemstones upon use. -->
<active_skill id="9454" level="1" /> <!-- Item Skill: Silence -->
</option>
<option id="30263" name="o_s_99_2u_64">
<!-- Active: Temporarily cannot be targetted. Consumes 10 B-grade Gemstones. -->
<active_skill id="9455" level="1" /> <!-- Item Skill: Disable Target -->
</option>
<option id="30264" name="o_s_99_2u_65">
<!-- Active: Temporarily increases Damage Reflect Resistance. -->
<active_skill id="9456" level="1" /> <!-- Item Skill: Damage Reflect Resistance -->
</option>
<option id="30265" name="o_s_99_2u_66">
<!-- Active: Temporarily increases Damage Reflect Resistance. -->
<active_skill id="9456" level="2" /> <!-- Item Skill: Damage Reflect Resistance -->
</option>
<option id="30266" name="o_s_99_2u_67">
<!-- Active: Temporarily increases Damage Reflect Resistance. -->
<active_skill id="9456" level="3" /> <!-- Item Skill: Damage Reflect Resistance -->
</option>
<option id="30267" name="o_s_99_2u_68">
<!-- Passive: When attacking, has a chance of restricting the target's chat function. -->
<active_skill id="9486" level="1" /> <!-- Chat Prohibited -->
</option>
<option id="30268" name="life_stone_instilled_with_giants_power1">
<!-- Passive: When equipped, returns 20% of received damage back to the enemy. -->
<passive_skill id="13514" level="1" /> <!-- Giant's Damage Reflect -->
</option>
<option id="30269" name="life_stone_instilled_with_giants_power2">
<!-- Active: When used, increases P. Critical Damage by 15% for 5 minutes. -->
<active_skill id="13515" level="1" /> <!-- Giant's Critical Damage -->
</option>
<option id="30270" name="life_stone_instilled_with_giants_power3">
<!-- Passive: When equipped, increases Damage Reflect Resistance by 50%. -->
<passive_skill id="13516" level="1" /> <!-- Giant's Damage Reflect Shield -->
</option>
<option id="30271" name="life_stone_instilled_with_giants_power4">
<!-- Active: When used, increases Max HP and Max CP by 10% for 5 minutes. -->
<active_skill id="13517" level="1" /> <!-- Giant's Battle Roar -->
</option>
<option id="30272" name="life_stone_instilled_with_giants_power5">
<!-- Active: When used, makes invincible for 30 seconds. The effect will be cancelled when you attack. -->
<active_skill id="13518" level="1" /> <!-- Giant's Celestial Shield -->
</option>
<option id="30273" name="life_stone_instilled_with_giants_power6">
<!-- Active: When used, prevents you from dying for 10 seconds. Can be used when HP is 20% or below. -->
<active_skill id="13519" level="1" /> <!-- Giant's Undying Will -->
</option>
<option id="30274" name="life_stone_instilled_with_giants_power7">
<!-- Active: Prevents the target from using physical/magical skills for 5 seconds. -->
<active_skill id="13520" level="1" /> <!-- Giant's Silence -->
</option>
<option id="30275" name="life_stone_instilled_with_giants_power8">
<!-- Active: Inflicts Sleep on the target for 5 seconds. -->
<active_skill id="13521" level="1" /> <!-- Giant's Sleep -->
</option>
<option id="30276" name="life_stone_instilled_with_giants_power9">
<!-- Active: Decreases the target's Atk. Spd. And Casting Spd. By 50% for 10 seconds. -->
<active_skill id="13522" level="1" /> <!-- Giant's Winter -->
</option>
<option id="30277" name="life_stone_instilled_with_giants_power10">
<!-- Active: Increases the target's Critical Damage received and the chance of receiving critical attacks by 90% for 10 seconds. -->
<active_skill id="13523" level="1" /> <!-- Giant's Critical Weakness -->
</option>
<option id="30278" name="o_bm_underwear_1_s_1">
<!-- Passive: When equipped, has a chance of recovering 3% of damage inflicted on the enemy as HP. -->
<passive_skill id="21333" level="1" /> <!-- Adenia's Vampiric Rage -->
</option>
<option id="30279" name="o_bm_underwear_1_s_2">
<!-- Passive: When equipped, has a chance of recovering 5% of damage inflicted on the enemy as HP. -->
<passive_skill id="21333" level="2" /> <!-- Adenia's Vampiric Rage -->
</option>
<option id="30280" name="o_bm_underwear_1_s_3">
<!-- Active: When used, has a chance of recovering 4% of damage inflicted on the enemy as HP for 30 minutes. -->
<active_skill id="21334" level="1" /> <!-- Adenia's Vampiric Rage -->
</option>
<option id="30281" name="o_bm_underwear_1_s_4">
<!-- Active: When used, has a chance of recovering 6% of damage inflicted on the enemy as HP for 60 minutes. -->
<active_skill id="21334" level="2" /> <!-- Adenia's Vampiric Rage -->
</option>
<option id="30282" name="o_bm_underwear_1_s_5">
<!-- Passive: When equipped, returns 3% of received damage back to the enemy. -->
<passive_skill id="21335" level="1" /> <!-- Adenia's Damage Reflect -->
</option>
<option id="30283" name="o_bm_underwear_1_s_6">
<!-- Passive: When equipped, returns 5% of received damage back to the enemy. -->
<passive_skill id="21335" level="2" /> <!-- Adenia's Damage Reflect -->
</option>
<option id="30284" name="o_bm_underwear_1_s_7">
<!-- Active: Returns 7% of received damage back to the enemy for 5 minutes -->
<active_skill id="21336" level="1" /> <!-- Adenia's Damage Reflect -->
</option>
<option id="30285" name="o_bm_underwear_1_s_8">
<!-- Active: Returns 15% of received damage back to the enemy for 5 minutes -->
<active_skill id="21336" level="2" /> <!-- Adenia's Damage Reflect -->
</option>
<option id="30286" name="o_bm_underwear_1_s_9">
<!-- Effect: When hit, increases PvP P. Atk. for a certain amount of time. -->
<active_skill id="21337" level="1" /> <!-- Adenia's Duel Might -->
</option>
<option id="30287" name="o_bm_underwear_1_s_10">
<!-- Passive: When equipped, increases PvP P. Atk. -->
<passive_skill id="21338" level="1" /> <!-- Adenia's Duel Might -->
</option>
<option id="30288" name="o_bm_underwear_1_s_11">
<!-- Effect: When hit, momentarily prevents the target from using physical/magical skills. -->
<passive_skill id="21339" level="1" /> <!-- Adenia's Doom -->
</option>
<option id="30289" name="o_bm_underwear_1_s_12">
<!-- Active: Recovers HP by 15%, MP by 15%, and CP by 20%. Can be used in Olympiad. -->
<active_skill id="21340" level="1" /> <!-- Adenia's Instant Recovery -->
</option>
<option id="30290" name="o_bm_underwear_1_s_13">
<!-- Active: Recovers HP by 30%, MP by 30%, and CP by 40%. Can be used in Olympiad. -->
<active_skill id="21340" level="2" /> <!-- Adenia's Instant Recovery -->
</option>
<option id="30291" name="o_bm_underwear_1_s_14">
<!-- Active: Increases P. Def. by 10% for a certain amount of time. -->
<active_skill id="21341" level="1" /> <!-- Adenia's Shield -->
</option>
<option id="30292" name="o_bm_underwear_1_s_15">
<!-- Active: Increases M. Def. by 10% for a certain amount of time. -->
<active_skill id="21342" level="1" /> <!-- Adenia's Magic Barrier -->
</option>
<option id="30293" name="o_bm_underwear_1_s_16">
<!-- Active: Increases P. Def. and M. Def. by 10% for a certain amount of time. -->
<active_skill id="21343" level="1" /> <!-- Adenia's Barrier -->
</option>
<option id="30294" name="o_bm_underwear_1_s_17">
<!-- Active: Cancels all abnormal status and makes you invincible for 3 seconds. Cannot use when immobilized. Can be used in the Olympiad. -->
<active_skill id="21344" level="1" /> <!-- Adenia's Invincibility -->
</option>
<option id="30295" name="o_bm_underwear_1_s_18">
<!-- Active: Cancels all abnormal status and makes you invincible for 7 seconds. Cannot use when immobilized. Can be used in the Olympiad. -->
<active_skill id="21344" level="2" /> <!-- Adenia's Invincibility -->
</option>
<option id="30296" name="o_bm_underwear_1_s_19">
<!-- Active: Teleports to the village. Cannot be used in special locations such as GM room. -->
<active_skill id="21345" level="1" /> <!-- Adenia's Return -->
</option>
<option id="30297" name="o_bm_underwear_1_s_20">
<!-- Active: Teleports party members to the village. Cannot be used in special locations such as GM room. -->
<active_skill id="21345" level="2" /> <!-- Adenia's Party Return -->
</option>
<option id="30298" name="o_bm_underwear_1_s_21">
<!-- Passive: Increases weight gauge by 200%. -->
<passive_skill id="21346" level="1" /> <!-- Adenia's Weight Limit -->
</option>
<option id="30299" name="o_shiny_tshirt_stat_0">
<!-- M. Def. + 8 -->
<passive_skill id="13561" level="1" />
</option>
</list>

View File

@ -0,0 +1,343 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/optionsData.xsd">
<option id="30300" name="o_shiny_tshirt_stat_1">
<!-- M. Def. + 9 -->
<passive_skill id="13562" level="1" />
</option>
<option id="30301" name="o_shiny_tshirt_stat_2">
<!-- M. Def. + 10 -->
<passive_skill id="13562" level="2" />
</option>
<option id="30302" name="o_shiny_tshirt_stat_3">
<!-- M. Def. + 11 -->
<!-- Speed + 7 -->
<passive_skill id="13562" level="3" />
</option>
<option id="30303" name="o_shiny_tshirt_stat_4">
<!-- M. Def. + 12 -->
<!-- Speed + 7 -->
<!-- Max HP + 510, Max MP + 510, Attribute Resistance + 6, STR + 1, DEX + 1, CON + 1, INT + 1, WIT + 1, MEN + 1 -->
<passive_skill id="13562" level="4" />
</option>
<option id="30304" name="o_shiny_tshirt_stat_5">
<!-- M. Def. + 13 -->
<!-- Speed + 7 -->
<!-- Max HP + 520, Max MP + 520, Skill MP Consumption - 3%, Attribute Resistance + 12, STR + 2, DEX + 2, CON + 2, INT + 2, WIT + 2, MEN + 2 -->
<passive_skill id="13562" level="5" />
</option>
<option id="30305" name="o_shiny_tshirt_stat_6">
<!-- M. Def. + 14 -->
<!-- Speed + 7 -->
<!-- Max HP + 531, Max MP + 531 Skill MP Consumption - 3% Damage Reflect Resistance + 5, Attribute Resistance + 18, STR + 3, DEX + 3, CON + 2, INT + 3, WIT + 3, MEN + 2 -->
<passive_skill id="13562" level="6" />
</option>
<option id="30306" name="o_shiny_tshirt_stat_7">
<!-- M. Def. + 15 -->
<!-- Speed + 7 -->
<!-- Max HP + 536, Max MP + 536, Skill MP Consumption - 3%, Damage Reflect Resistance + 5, Vampiric Rage + 5%, Attribute Resistance + 24, STR + 3, DEX + 3, CON + 3, INT + 3, WIT + 3, MEN + 3 -->
<passive_skill id="13562" level="7" />
</option>
<option id="30307" name="o_shiny_tshirt_stat_8">
<!-- M. Def. + 16 -->
<!-- Speed + 7 -->
<!-- Max HP + 541, Max MP + 541, Skill MP Consumption - 3%, Damage Reflect Resistance + 5, Vampiric Rage + 5%, Skill Cooldown - 3%, Attribute Resistance + 30, STR + 4, DEX + 4, CON + 3, INT + 4, WIT + 4, MEN + 3 -->
<passive_skill id="13562" level="8" />
</option>
<option id="30308" name="o_shiny_tshirt_stat_9">
<!-- M. Def. + 17 -->
<!-- Speed + 7 -->
<!-- Max HP + 547, Max MP + 547, Skill MP Consumption - 3%, Damage Reflect Resistance + 5, Vampiric Rage + 5%, Skill Cooldown - 3%, Received Damage - 3%, Attribute Resistance + 36, STR + 4, DEX + 4, CON + 4, INT + 4, WIT + 4, MEN + 4 -->
<passive_skill id="13562" level="9" />
</option>
<option id="30309" name="o_shiny_tshirt_stat_10">
<!-- M. Def. + 18 -->
<!-- Speed + 7 -->
<!-- Max HP + 552, Max MP + 552, Skill MP Consumption - 3%, Damage Reflect Resistance + 5, Vampiric Rage + 5%, Skill Cooldown - 3%, Received Damage - 3%, Attribute Resistance + 36, STR + 4, DEX + 4, CON + 4, INT + 4, WIT + 4, MEN + 4 -->
<passive_skill id="13562" level="10" />
</option>
<option id="30310" name="o_s_shiny_shirt_s1">
<!-- Active: Einhasad's Wrath -->
<active_skill id="13563" level="1" />
</option>
<option id="30311" name="o_s_shiny_shirt_s2">
<!-- Active: Einhasad's Wrath/Einhasad's Protection -->
<active_skill id="13563" level="2" />
<active_skill id="13564" level="1" />
</option>
<option id="30312" name="o_s_shiny_shirt_s3">
<!-- Active: Einhasad's Wrath/Einhasad's Protection/Einhasad's Silence -->
<active_skill id="13563" level="3" />
<active_skill id="13564" level="2" />
<active_skill id="13565" level="1" />
</option>
<option id="30313" name="o_s_shiny_shirt_s4">
<!-- Active: Einhasad's Wrath/Einhasad's Protection/Einhasad's Silence/Einhasad's Salvation -->
<active_skill id="13564" level="3" />
<active_skill id="13563" level="4" />
<active_skill id="13565" level="2" />
<active_skill id="13566" level="1" />
</option>
<option id="30314" name="o_s_shiny_shirt_s5">
<!-- Active: Einhasad's Wrath/Einhasad's Protection/Einhasad's Silence/Einhasad's Salvation/Einhasad's Blessing -->
<active_skill id="13563" level="5" />
<active_skill id="13564" level="4" />
<active_skill id="13565" level="3" />
<active_skill id="13566" level="2" />
<active_skill id="13567" level="1" />
</option>
<option id="30315" name="infinite_odyssey">
<!-- P. Def. + 5%. -->
</option>
<option id="30316" name="infinite_odyssey">
<!-- Elemental Def. + 30. -->
</option>
<option id="30317" name="infinite_odyssey">
<!-- Alignment Def. + 30. -->
</option>
<option id="30318" name="infinite_odyssey">
<!-- P. Skill MP Consumption - 1%. -->
</option>
<option id="30319" name="infinite_odyssey">
<!-- M. Skill MP Consumption - 1%. -->
</option>
<option id="30320" name="infinite_odyssey">
<!-- Skill MP Consumption - 1%. -->
</option>
<option id="30321" name="infinite_odyssey">
<!-- P. Skill Critical Damage + 1%. -->
</option>
<option id="30322" name="infinite_odyssey">
<!-- M. Skill Critical Damage + 1%. -->
</option>
<option id="30323" name="infinite_odyssey">
<!-- Received Heal Amount + 1%. -->
</option>
<option id="30324" name="infinite_odyssey">
<!-- Fire Resistance + 20. -->
</option>
<option id="30325" name="infinite_odyssey">
<!-- Water Resistance + 20. -->
</option>
<option id="30326" name="infinite_odyssey">
<!-- Wind Resistance + 20. -->
</option>
<option id="30327" name="infinite_odyssey">
<!-- Earth Resistance + 20. -->
</option>
<option id="30328" name="infinite_odyssey">
<!-- Holy Resistance + 20. -->
</option>
<option id="30329" name="infinite_odyssey">
<!-- Dark Resistance + 20. -->
</option>
<option id="30330" name="infinite_odyssey">
<!-- Fire Resistance + 10. -->
</option>
<option id="30331" name="infinite_odyssey">
<!-- Water Resistance + 10. -->
</option>
<option id="30332" name="infinite_odyssey">
<!-- Wind Resistance + 10. -->
</option>
<option id="30333" name="infinite_odyssey">
<!-- Earth Resistance + 10. -->
</option>
<option id="30334" name="infinite_odyssey">
<!-- Holy Resistance + 10. -->
</option>
<option id="30335" name="infinite_odyssey">
<!-- Dark Resistance + 10. -->
</option>
<option id="30336" name="infinite_odyssey">
<!-- P. Atk. + 212. -->
</option>
<option id="30337" name="infinite_odyssey">
<!-- M. Atk. + 498. -->
</option>
<option id="30338" name="infinite_odyssey">
<!-- P. Accuracy + 2. -->
</option>
<option id="30339" name="infinite_odyssey">
<!-- M. Accuracy + 2. -->
</option>
<option id="30340" name="infinite_odyssey">
<!-- M. Def. + 5%. -->
</option>
<option id="30341" name="infinite_odyssey">
<!-- Stun/ Knock Back/ Knock Down Resistance + 10. -->
</option>
<option id="30342" name="infinite_odyssey">
<!-- Petrify/ Hold Resistance + 10. -->
</option>
<option id="30343" name="infinite_odyssey">
<!-- Mental/ Aerial Yoke Resistance + 10. -->
</option>
<option id="30344" name="infinite_odyssey">
<!-- Paralyze/ Pull Resistance + 10. -->
</option>
<option id="30345" name="infinite_odyssey">
<!-- STR +1 -->
</option>
<option id="30346" name="infinite_odyssey">
<!-- DEX +1 -->
</option>
<option id="30347" name="infinite_odyssey">
<!-- CON +1 -->
</option>
<option id="30348" name="infinite_odyssey">
<!-- INT +1 -->
</option>
<option id="30349" name="infinite_odyssey">
<!-- WIT +1 -->
</option>
<option id="30350" name="infinite_odyssey">
<!-- MEN +1 -->
</option>
<option id="30351" name="infinite_odyssey">
<!-- Speed + 7. -->
</option>
<option id="30352" name="infinite_odyssey">
<!-- Stun Resistance + 10. -->
</option>
<option id="30353" name="infinite_odyssey">
<!-- Hold Resistance + 10. -->
</option>
<option id="30354" name="infinite_odyssey">
<!-- Bleed Resistance + 10. -->
</option>
<option id="30355" name="infinite_odyssey">
<!-- Paralyze Resistance + 10. -->
</option>
<option id="30356" name="infinite_odyssey">
<!-- Mental Resistance + 10. -->
</option>
<option id="30357" name="infinite_odyssey">
<!-- Sleep Resistance + 10. -->
</option>
<option id="30358" name="infinite_odyssey">
<!-- Poison Resistance + 10. -->
</option>
<option id="30359" name="infinite_odyssey">
<!-- Knock Back/ Knock Down Resistance + 10. -->
</option>
<option id="30360" name="infinite_odyssey">
<!-- Aerial Yoke Resistance + 10. -->
</option>
<option id="30361" name="infinite_odyssey">
<!-- Pull Resistance + 10. -->
</option>
<option id="30362" name="infinite_odyssey">
<!-- Petrify Resistance + 10. -->
</option>
<option id="30363" name="infinite_odyssey">
<!-- Stun Resistance + 5. -->
</option>
<option id="30364" name="infinite_odyssey">
<!-- Hold Resistance + 5. -->
</option>
<option id="30365" name="infinite_odyssey">
<!-- Bleed Resistance + 5. -->
</option>
<option id="30366" name="infinite_odyssey">
<!-- Paralyze Resistance + 5. -->
</option>
<option id="30367" name="infinite_odyssey">
<!-- Mental Resistance + 5. -->
</option>
<option id="30368" name="infinite_odyssey">
<!-- Sleep Resistance + 5. -->
</option>
<option id="30369" name="infinite_odyssey">
<!-- Poison Resistance + 5. -->
</option>
<option id="30370" name="infinite_odyssey">
<!-- Knock Back/ Knock Down Resistance + 5. -->
</option>
<option id="30371" name="infinite_odyssey">
<!-- Aerial Yoke Resistance + 5. -->
</option>
<option id="30372" name="infinite_odyssey">
<!-- Pull Resistance + 5. -->
</option>
<option id="30373" name="infinite_odyssey">
<!-- Petrify Resistance + 5. -->
</option>
<option id="30374" name="infinite_odyssey">
<!-- Max HP + 266, HP Recovery Bonus + 8. -->
</option>
<option id="30375" name="infinite_odyssey">
<!-- Max MP + 117, MP Recovery Bonus + 4. -->
</option>
<option id="30376" name="infinite_odyssey">
<!-- Max CP + 266, CP Recovery Bonus + 8. -->
</option>
<option id="30377" name="infinite_odyssey">
<!-- P. Atk. + 40 -->
</option>
<option id="30378" name="infinite_odyssey">
<!-- P. Atk. + 47 -->
</option>
<option id="30379" name="infinite_odyssey">
<!-- P. Atk. + 61 -->
</option>
<option id="30380" name="infinite_odyssey">
<!-- P. Atk. + 76 -->
</option>
<option id="30381" name="infinite_odyssey">
<!-- P. Atk. + 91 -->
</option>
<option id="30382" name="infinite_odyssey">
<!-- P. Atk. + 109 -->
</option>
<option id="30383" name="infinite_odyssey">
<!-- P. Atk. + 127 -->
</option>
<option id="30384" name="infinite_odyssey">
<!-- P. Atk. + 145 -->
</option>
<option id="30385" name="infinite_odyssey">
<!-- P. Atk. + 182 -->
</option>
<option id="30386" name="infinite_odyssey">
<!-- P. Atk. + 364 -->
</option>
<option id="30387" name="infinite_odyssey">
<!-- M. Atk. + 24 -->
</option>
<option id="30388" name="infinite_odyssey">
<!-- M. Atk. + 28 -->
</option>
<option id="30389" name="infinite_odyssey">
<!-- M. Atk. + 37 -->
</option>
<option id="30390" name="infinite_odyssey">
<!-- M. Atk. + 46 -->
</option>
<option id="30391" name="infinite_odyssey">
<!-- M. Atk. + 55 -->
</option>
<option id="30392" name="infinite_odyssey">
<!-- M. Atk. + 66 -->
</option>
<option id="30393" name="infinite_odyssey">
<!-- M. Atk. + 77 -->
</option>
<option id="30394" name="infinite_odyssey">
<!-- M. Atk. + 88 -->
</option>
<option id="30395" name="infinite_odyssey">
<!-- M. Atk. + 110 -->
</option>
<option id="30396" name="infinite_odyssey">
<!-- M. Atk. + 220 -->
</option>
<option id="30397" name="infinite_odyssey">
<!-- Atk. Spd. + 5 -->
</option>
<option id="30398" name="infinite_odyssey">
<!-- Atk. Spd. + 6 -->
</option>
<option id="30399" name="infinite_odyssey">
<!-- Atk. Spd. + 8 -->
</option>
</list>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,94 @@
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element name="variations">
<xs:complexType>
<xs:sequence>
<xs:element name="variation" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="optionGroup" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="optionCategory" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="option">
<xs:complexType>
<xs:attribute type="xs:int" name="id" use="optional"/>
<xs:attribute type="xs:double" name="chance" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="optionRange">
<xs:complexType>
<xs:attribute type="xs:int" name="from" use="optional"/>
<xs:attribute type="xs:int" name="to" use="optional"/>
<xs:attribute type="xs:double" name="chance" use="optional"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute type="xs:float" name="chance" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="weaponType" use="optional"/>
<xs:attribute type="xs:byte" name="order" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:int" name="mineralId" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="itemGroups">
<xs:complexType>
<xs:sequence>
<xs:element name="itemGroup" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="item" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute type="xs:int" name="id" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="id" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="fees">
<xs:complexType>
<xs:sequence>
<xs:element name="fee" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="mineral">
<xs:complexType>
<xs:attribute type="xs:int" name="id" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="mineralRange">
<xs:complexType>
<xs:attribute type="xs:int" name="from" use="optional"/>
<xs:attribute type="xs:int" name="to" use="optional"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute type="xs:int" name="itemGroup" use="optional"/>
<xs:attribute type="xs:int" name="itemId" use="optional"/>
<xs:attribute type="xs:long" name="itemCount" use="optional"/>
<xs:attribute type="xs:long" name="cancelFee" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -17,6 +17,16 @@
<xs:element type="xs:string" name="attribute" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:byte" name="magicType" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:string" name="stat" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="BLEED" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="DERANGEMENT" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="PARALYZE" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="POISON" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="SHOCK" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="SLEEP" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="KNOCKBACK" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="KNOCKDOWN" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="PULL" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:double" name="AIRBIND" minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>

View File

@ -89,7 +89,7 @@ import com.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import com.l2jmobius.gameserver.data.xml.impl.StaticObjectData;
import com.l2jmobius.gameserver.data.xml.impl.TeleportersData;
import com.l2jmobius.gameserver.data.xml.impl.TransformData;
import com.l2jmobius.gameserver.datatables.AugmentationData;
import com.l2jmobius.gameserver.data.xml.impl.VariationData;
import com.l2jmobius.gameserver.datatables.BotReportTable;
import com.l2jmobius.gameserver.datatables.EventDroplist;
import com.l2jmobius.gameserver.datatables.ItemTable;
@ -222,7 +222,7 @@ public class GameServer
EnchantItemOptionsData.getInstance();
ItemCrystallizationData.getInstance();
OptionData.getInstance();
AugmentationData.getInstance();
VariationData.getInstance();
EnchantItemHPBonusData.getInstance();
BuyListData.getInstance();
MultisellData.getInstance();

View File

@ -0,0 +1,270 @@
/*
* 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.data.xml.impl;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import org.w3c.dom.Document;
import com.l2jmobius.commons.util.IGameXmlReader;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.options.OptionDataCategory;
import com.l2jmobius.gameserver.model.options.OptionDataGroup;
import com.l2jmobius.gameserver.model.options.Options;
import com.l2jmobius.gameserver.model.options.Variation;
import com.l2jmobius.gameserver.model.options.VariationFee;
import com.l2jmobius.gameserver.model.options.VariationWeaponType;
/**
* @author Pere
*/
public class VariationData implements IGameXmlReader
{
private static final Logger LOGGER = Logger.getLogger(VariationData.class.getSimpleName());
private final Map<Integer, Variation> _variations = new HashMap<>();
private final Map<Integer, Map<Integer, VariationFee>> _fees = new HashMap<>();
protected VariationData()
{
load();
}
@Override
public void load()
{
_variations.clear();
_fees.clear();
parseDatapackFile("data/stats/augmentation/Variations.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _variations.size() + " Variations.");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _fees.size() + " Fees.");
}
@Override
public void parseDocument(Document doc, File f)
{
forEach(doc, "list", listNode ->
{
forEach(listNode, "variations", variationsNode ->
{
forEach(variationsNode, "variation", variationNode ->
{
final int mineralId = parseInteger(variationNode.getAttributes(), "mineralId");
if (ItemTable.getInstance().getTemplate(mineralId) == null)
{
LOGGER.warning(getClass().getSimpleName() + ": Mineral with item id " + mineralId + " was not found.");
}
final Variation variation = new Variation(mineralId);
forEach(variationNode, "optionGroup", groupNode ->
{
final String weaponTypeString = parseString(groupNode.getAttributes(), "weaponType").toUpperCase();
final VariationWeaponType weaponType = VariationWeaponType.valueOf(weaponTypeString);
final int order = parseInteger(groupNode.getAttributes(), "order");
final List<OptionDataCategory> sets = new ArrayList<>();
forEach(groupNode, "optionCategory", categoryNode ->
{
final double chance = parseDouble(categoryNode.getAttributes(), "chance");
final Map<Options, Double> options = new HashMap<>();
forEach(categoryNode, "option", optionNode ->
{
final double optionChance = parseDouble(optionNode.getAttributes(), "chance");
final int optionId = parseInteger(optionNode.getAttributes(), "id");
final Options opt = OptionData.getInstance().getOptions(optionId);
if (opt == null)
{
LOGGER.warning(getClass().getSimpleName() + ": Null option for id " + optionId);
return;
}
options.put(opt, optionChance);
});
forEach(categoryNode, "optionRange", optionNode ->
{
final double optionChance = parseDouble(optionNode.getAttributes(), "chance");
final int fromId = parseInteger(optionNode.getAttributes(), "from");
final int toId = parseInteger(optionNode.getAttributes(), "to");
for (int id = fromId; id <= toId; id++)
{
final Options op = OptionData.getInstance().getOptions(id);
if (op == null)
{
LOGGER.warning(getClass().getSimpleName() + ": Null option for id " + id);
return;
}
options.put(op, optionChance);
}
});
sets.add(new OptionDataCategory(options, chance));
});
variation.setEffectGroup(weaponType, order, new OptionDataGroup(sets));
});
_variations.put(mineralId, variation);
});
});
final Map<Integer, List<Integer>> itemGroups = new HashMap<>();
forEach(listNode, "itemGroups", variationsNode ->
{
forEach(variationsNode, "itemGroup", variationNode ->
{
final int id = parseInteger(variationNode.getAttributes(), "id");
final List<Integer> items = new ArrayList<>();
forEach(variationNode, "item", itemNode ->
{
final int itemId = parseInteger(itemNode.getAttributes(), "id");
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
}
items.add(itemId);
});
itemGroups.put(id, items);
});
});
forEach(listNode, "fees", variationNode ->
{
forEach(variationNode, "fee", feeNode ->
{
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId");
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount");
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee");
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
}
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode ->
{
final int mId = parseInteger(mineralNode.getAttributes(), "id");
feeByMinerals.put(mId, fee);
});
forEach(feeNode, "mineralRange", mineralNode ->
{
final int fromId = parseInteger(mineralNode.getAttributes(), "from");
final int toId = parseInteger(mineralNode.getAttributes(), "to");
for (int id = fromId; id <= toId; id++)
{
feeByMinerals.put(id, fee);
}
});
for (int item : itemGroup)
{
Map<Integer, VariationFee> fees = _fees.computeIfAbsent(item, k -> new HashMap<>());
fees.putAll(feeByMinerals);
}
});
});
});
}
public int getVariationCount()
{
return _variations.size();
}
public int getFeeCount()
{
return _fees.size();
}
/**
* Generate a new random variation instance
* @param variation The variation template to generate the variation instance from
* @param targetItem The item on which the variation will be applied
* @return VariationInstance
*/
public VariationInstance generateRandomVariation(Variation variation, L2ItemInstance targetItem)
{
final VariationWeaponType weaponType = ((targetItem.getWeaponItem() != null) && targetItem.getWeaponItem().isMagicWeapon()) ? VariationWeaponType.MAGE : VariationWeaponType.WARRIOR;
return generateRandomVariation(variation, weaponType);
}
private VariationInstance generateRandomVariation(Variation variation, VariationWeaponType weaponType)
{
Options option1 = variation.getRandomEffect(weaponType, 0);
Options option2 = variation.getRandomEffect(weaponType, 1);
return ((option1 != null) && (option2 != null)) ? new VariationInstance(variation.getMineralId(), option1, option2) : null;
}
public final Variation getVariation(int mineralId)
{
return _variations.get(mineralId);
}
public final VariationFee getFee(int itemId, int mineralId)
{
return _fees.getOrDefault(itemId, Collections.emptyMap()).get(mineralId);
}
public final long getCancelFee(int itemId, int mineralId)
{
final Map<Integer, VariationFee> fees = _fees.get(itemId);
if (fees == null)
{
return -1;
}
VariationFee fee = fees.get(mineralId);
if (fee == null)
{
// FIXME This will happen when the data is pre-rework or when augments were manually given, but still that's a cheap solution
LOGGER.warning(getClass().getSimpleName() + ": Cancellation fee not found for item [" + itemId + "] and mineral [" + mineralId + "]");
fee = fees.values().iterator().next();
if (fee == null)
{
return -1;
}
}
return fee.getCancelFee();
}
public final boolean hasFeeData(int itemId)
{
Map<Integer, VariationFee> itemFees = _fees.get(itemId);
return (itemFees != null) && !itemFees.isEmpty();
}
public static VariationData getInstance()
{
return SingletonHolder._instance;
}
private static class SingletonHolder
{
protected static final VariationData _instance = new VariationData();
}
}

View File

@ -195,7 +195,7 @@ public abstract class IdFactory
cleanCount += stmt.executeUpdate("DELETE FROM items WHERE items.owner_id NOT IN (SELECT charId FROM characters) AND items.owner_id NOT IN (SELECT clan_id FROM clan_data) AND items.owner_id != -1;");
cleanCount += stmt.executeUpdate("DELETE FROM items WHERE items.owner_id = -1 AND loc LIKE 'MAIL' AND loc_data NOT IN (SELECT messageId FROM messages WHERE senderId = -1);");
cleanCount += stmt.executeUpdate("DELETE FROM item_auction_bid WHERE item_auction_bid.playerObjId NOT IN (SELECT charId FROM characters);");
cleanCount += stmt.executeUpdate("DELETE FROM item_attributes WHERE item_attributes.itemId NOT IN (SELECT object_id FROM items);");
cleanCount += stmt.executeUpdate("DELETE FROM item_variations WHERE item_variations.itemId NOT IN (SELECT object_id FROM items);");
cleanCount += stmt.executeUpdate("DELETE FROM item_elementals WHERE item_elementals.itemId NOT IN (SELECT object_id FROM items);");
cleanCount += stmt.executeUpdate("DELETE FROM item_special_abilities WHERE item_special_abilities.objectId NOT IN (SELECT object_id FROM items);");
cleanCount += stmt.executeUpdate("DELETE FROM item_variables WHERE item_variables.id NOT IN (SELECT object_id FROM items);");

View File

@ -1,101 +0,0 @@
/*
* 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.model;
import java.util.logging.Logger;
import com.l2jmobius.gameserver.data.xml.impl.OptionData;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.options.Options;
/**
* Used to store an augmentation and its bonuses.
* @author durgus, UnAfraid
*/
public final class Augmentation
{
private static final Logger LOGGER = Logger.getLogger(Augmentation.class.getName());
private final Options[] _options;
private final int _id;
public Augmentation(int id)
{
_id = id;
final int[] stats = new int[2];
stats[0] = 0x0000FFFF & id;
stats[1] = (id >> 16);
_options = new Options[stats.length];
for (int i = 0; i < stats.length; i++)
{
final Options op = OptionData.getInstance().getOptions(stats[i]);
if (op != null)
{
_options[i] = op;
}
else
{
LOGGER.warning(getClass().getSimpleName() + ": Couldn't find option: " + stats[i]);
}
}
}
/**
* Get the augmentation "id" used in serverpackets.
* @return augmentationId
*/
public int getId()
{
return _id;
}
public Options[] getOptions()
{
return _options;
}
public int getOptionId(int index)
{
if ((index >= 0) && (index < _options.length) && (_options[index] != null))
{
return _options[index].getId();
}
return 0;
}
public void applyBonus(L2PcInstance player)
{
for (Options op : _options)
{
if (op != null)
{
op.apply(player);
}
}
}
public void removeBonus(L2PcInstance player)
{
for (Options op : _options)
{
if (op != null)
{
op.remove(player);
}
}
}
}

View File

@ -50,7 +50,7 @@ public class CharSelectInfoPackage
private int _reputation = 0;
private int _pkKills = 0;
private int _pvpKills = 0;
private Augmentation _augmentation;
private VariationInstance _augmentation;
private int _x = 0;
private int _y = 0;
private int _z = 0;
@ -336,12 +336,12 @@ public class CharSelectInfoPackage
return _reputation;
}
public void setAugmentation(Augmentation augmentation)
public void setAugmentation(VariationInstance augmentation)
{
_augmentation = augmentation;
}
public Augmentation getAugmentation()
public VariationInstance getAugmentation()
{
return _augmentation;
}

View File

@ -39,7 +39,7 @@ public class ItemInfo
private int _enchantLevel;
/** The augmentation of the item */
private Augmentation _augmentation;
private VariationInstance _augmentation;
/** The quantity of L2ItemInstance */
private long _count;
@ -168,7 +168,10 @@ public class ItemInfo
_enchantLevel = item.getEnchant();
// Get the augmentation bonus
_augmentation = item.getAugmentation();
if ((item.getAugmentationOption1() >= 0) && (item.getAugmentationOption2() >= 0))
{
_augmentation = new VariationInstance(0, item.getAugmentationOption1(), item.getAugmentationOption2());
}
// Get the quantity of the L2ItemInstance
_count = item.getCount();
@ -297,7 +300,7 @@ public class ItemInfo
return _enchantLevel;
}
public Augmentation getAugmentation()
public VariationInstance getAugmentation()
{
return _augmentation;
}
@ -376,4 +379,10 @@ public class ItemInfo
{
return _visualExpiration;
}
@Override
public String toString()
{
return String.valueOf(_item) + "[objId: " + _objectId + ", count: " + _count + "]";
}
}

View File

@ -46,7 +46,8 @@ public class TradeItem
};
private final int[] _enchantOptions;
private int _visualId;
private Augmentation _augmentation;
private int _augmentationOption1 = -1;
private int _augmentationOption2 = -1;
public TradeItem(L2ItemInstance item, long count, long price)
{
@ -67,7 +68,12 @@ public class TradeItem
}
_enchantOptions = item.getEnchantOptions();
_visualId = item.getVisualId();
_augmentation = item.getAugmentation();
if (item.getAugmentation() != null)
{
_augmentationOption1 = item.getAugmentation().getOption1Id();
_augmentationOption1 = item.getAugmentation().getOption2Id();
}
}
public TradeItem(L2Item item, long count, long price)
@ -194,9 +200,20 @@ public class TradeItem
return _enchantOptions;
}
public Augmentation getAugmentation()
public void setAugmentation(int option1, int option2)
{
return _augmentation;
_augmentationOption1 = option1;
_augmentationOption2 = option2;
}
public int getAugmentationOption1()
{
return _augmentationOption1;
}
public int getAugmentationOption2()
{
return _augmentationOption2;
}
public int getVisualId()

View File

@ -0,0 +1,82 @@
/*
* 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.model;
import java.util.Objects;
import com.l2jmobius.gameserver.data.xml.impl.OptionData;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.options.Options;
/**
* Used to store an augmentation and its bonuses.
* @author durgus, UnAfraid, Pere
*/
public final class VariationInstance
{
private final int _mineralId;
private final Options _option1;
private final Options _option2;
public VariationInstance(int mineralId, int option1Id, int option2Id)
{
_mineralId = mineralId;
_option1 = OptionData.getInstance().getOptions(option1Id);
_option2 = OptionData.getInstance().getOptions(option2Id);
if ((_option1 == null) || (_option2 == null))
{
throw new IllegalArgumentException("Couldn't find option for id: " + option1Id + " or id: " + option1Id);
}
}
public VariationInstance(int mineralId, Options op1, Options op2)
{
Objects.requireNonNull(op1);
Objects.requireNonNull(op2);
_mineralId = mineralId;
_option1 = op1;
_option2 = op2;
}
public int getMineralId()
{
return _mineralId;
}
public int getOption1Id()
{
return _option1.getId();
}
public int getOption2Id()
{
return _option2.getId();
}
public void applyBonus(L2PcInstance player)
{
_option1.apply(player);
_option2.apply(player);
}
public void removeBonus(L2PcInstance player)
{
_option1.remove(player);
_option2.remove(player);
}
}

View File

@ -16,7 +16,7 @@
*/
package com.l2jmobius.gameserver.model.events.impl.character.player;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.events.EventType;
import com.l2jmobius.gameserver.model.events.impl.IBaseEvent;
@ -29,10 +29,10 @@ public class OnPlayerAugment implements IBaseEvent
{
private final L2PcInstance _activeChar;
private final L2ItemInstance _item;
private final Augmentation _augmentation;
private final VariationInstance _augmentation;
private final boolean _isAugment; // true = is being augmented // false = augment is being removed
public OnPlayerAugment(L2PcInstance activeChar, L2ItemInstance item, Augmentation augment, boolean isAugment)
public OnPlayerAugment(L2PcInstance activeChar, L2ItemInstance item, VariationInstance augment, boolean isAugment)
{
_activeChar = activeChar;
_item = item;
@ -50,7 +50,7 @@ public class OnPlayerAugment implements IBaseEvent
return _item;
}
public Augmentation getAugmentation()
public VariationInstance getAugmentation()
{
return _augmentation;
}

View File

@ -16,10 +16,8 @@
*/
package com.l2jmobius.gameserver.model.itemauction;
import com.l2jmobius.gameserver.datatables.AugmentationData;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.idfactory.IdFactory;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
@ -35,6 +33,7 @@ public final class AuctionItem
private final int _itemId;
private final long _itemCount;
@SuppressWarnings("unused")
private final StatsSet _itemExtra;
public AuctionItem(int auctionItemId, int auctionLength, long auctionInitBid, int itemId, long itemCount, StatsSet itemExtra)
@ -84,11 +83,6 @@ public final class AuctionItem
L2World.getInstance().storeObject(item);
item.setCount(_itemCount);
item.setEnchantLevel(item.getItem().getDefaultEnchantLevel());
final Augmentation augmentation = AugmentationData.getInstance().getAugmentation(_itemExtra.getInt("augmentation_id", 0));
if (augmentation != null)
{
item.setAugmentation(augmentation, false);
}
return item;
}
}

View File

@ -42,10 +42,10 @@ import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.enums.ItemSkillType;
import com.l2jmobius.gameserver.enums.PrivateStoreType;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.model.L2ArmorSet;
import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.PcCondOverride;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import com.l2jmobius.gameserver.model.items.L2Item;
@ -992,7 +992,7 @@ public abstract class Inventory extends ItemContainer
return (item != null) ? item.getVisualId() : 0;
}
public Augmentation getPaperdollAugmentation(int slot)
public VariationInstance getPaperdollAugmentation(int slot)
{
final L2ItemInstance item = _paperdoll[slot];
return (item != null) ? item.getAugmentation() : null;

View File

@ -19,7 +19,7 @@ package com.l2jmobius.gameserver.model.items;
import java.util.Objects;
import com.l2jmobius.gameserver.enums.AttributeType;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
import com.l2jmobius.gameserver.model.items.type.ItemType;
@ -43,7 +43,7 @@ public class L2WarehouseItem
private final int _locationSlot;
private final int _enchant;
private final CrystalType _grade;
private final Augmentation _augmentation;
private final VariationInstance _augmentation;
private final int _customType1;
private final int _customType2;
private final int _mana;
@ -221,7 +221,7 @@ public class L2WarehouseItem
/**
* @return the augmentation If.
*/
public Augmentation getAugmentation()
public VariationInstance getAugmentation()
{
return _augmentation;
}

View File

@ -39,7 +39,6 @@ import com.l2jmobius.gameserver.ThreadPoolManager;
import com.l2jmobius.gameserver.data.xml.impl.AppearanceItemData;
import com.l2jmobius.gameserver.data.xml.impl.EnchantItemOptionsData;
import com.l2jmobius.gameserver.data.xml.impl.OptionData;
import com.l2jmobius.gameserver.datatables.AugmentationData;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.AttributeType;
import com.l2jmobius.gameserver.enums.InstanceType;
@ -51,12 +50,12 @@ import com.l2jmobius.gameserver.idfactory.IdFactory;
import com.l2jmobius.gameserver.instancemanager.CastleManager;
import com.l2jmobius.gameserver.instancemanager.ItemsOnGroundManager;
import com.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.model.DropProtection;
import com.l2jmobius.gameserver.model.L2Object;
import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.L2WorldRegion;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Summon;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
@ -132,7 +131,7 @@ public final class L2ItemInstance extends L2Object
private boolean _wear;
/** Augmented Item */
private Augmentation _augmentation = null;
private VariationInstance _augmentation = null;
/** Shadow item */
private int _mana = -1;
@ -942,7 +941,7 @@ public final class L2ItemInstance extends L2Object
* Returns the augmentation object for this item
* @return augmentation
*/
public Augmentation getAugmentation()
public VariationInstance getAugmentation()
{
return _augmentation;
}
@ -953,7 +952,7 @@ public final class L2ItemInstance extends L2Object
* @param updateDatabase
* @return return true if successfully
*/
public boolean setAugmentation(Augmentation augmentation, boolean updateDatabase)
public boolean setAugmentation(VariationInstance augmentation, boolean updateDatabase)
{
// there shall be no previous augmentation..
if (_augmentation != null)
@ -982,11 +981,11 @@ public final class L2ItemInstance extends L2Object
}
// Copy augmentation before removing it.
final Augmentation augment = _augmentation;
final VariationInstance augment = _augmentation;
_augmentation = null;
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement("DELETE FROM item_attributes WHERE itemId = ?"))
PreparedStatement ps = con.prepareStatement("DELETE FROM item_variations WHERE itemId = ?"))
{
ps.setInt(1, getObjectId());
ps.executeUpdate();
@ -1003,7 +1002,7 @@ public final class L2ItemInstance extends L2Object
public void restoreAttributes()
{
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement ps1 = con.prepareStatement("SELECT augAttributes FROM item_attributes WHERE itemId=?");
PreparedStatement ps1 = con.prepareStatement("SELECT mineralId,option1,option2 FROM item_variations WHERE itemId=?");
PreparedStatement ps2 = con.prepareStatement("SELECT elemType,elemValue FROM item_elementals WHERE itemId=?"))
{
ps1.setInt(1, getObjectId());
@ -1011,10 +1010,12 @@ public final class L2ItemInstance extends L2Object
{
if (rs.next())
{
final int aug_attributes = rs.getInt(1);
if (aug_attributes != -1)
int mineralId = rs.getInt("mineralId");
int option1 = rs.getInt("option1");
int option2 = rs.getInt("option2");
if ((option1 != -1) && (option2 != -1))
{
_augmentation = AugmentationData.getInstance().getAugmentation(rs.getInt("augAttributes"));
_augmentation = new VariationInstance(mineralId, option1, option2);
}
}
}
@ -1053,10 +1054,12 @@ public final class L2ItemInstance extends L2Object
private void updateItemOptions(Connection con)
{
try (PreparedStatement ps = con.prepareStatement("REPLACE INTO item_attributes VALUES(?,?)"))
try (PreparedStatement ps = con.prepareStatement("REPLACE INTO item_variations VALUES(?,?,?,?)"))
{
ps.setInt(1, getObjectId());
ps.setInt(2, _augmentation != null ? _augmentation.getId() : -1);
ps.setInt(2, _augmentation != null ? _augmentation.getMineralId() : 0);
ps.setInt(3, _augmentation != null ? _augmentation.getOption1Id() : -1);
ps.setInt(4, _augmentation != null ? _augmentation.getOption2Id() : -1);
ps.executeUpdate();
}
catch (SQLException e)
@ -1691,7 +1694,7 @@ public final class L2ItemInstance extends L2Object
ps.executeUpdate();
}
try (PreparedStatement ps = con.prepareStatement("DELETE FROM item_attributes WHERE itemId = ?"))
try (PreparedStatement ps = con.prepareStatement("DELETE FROM item_variations WHERE itemId = ?"))
{
ps.setInt(1, getObjectId());
ps.executeUpdate();

View File

@ -0,0 +1,63 @@
/*
* 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.model.options;
import java.util.Map;
import com.l2jmobius.commons.util.Rnd;
/**
* @author Pere
*/
public final class OptionDataCategory
{
private final Map<Options, Double> _options;
private final double _chance;
public OptionDataCategory(Map<Options, Double> options, double chance)
{
_options = options;
_chance = chance;
}
Options getRandomOptions()
{
Options result = null;
do
{
double random = Rnd.get() * 100.0;
for (Map.Entry<Options, Double> entry : _options.entrySet())
{
if (entry.getValue() >= random)
{
result = entry.getKey();
break;
}
random -= entry.getValue();
}
}
while (result == null);
return result;
}
public double getChance()
{
return _chance;
}
}

View File

@ -0,0 +1,56 @@
/*
* 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.model.options;
import java.util.List;
import com.l2jmobius.commons.util.Rnd;
/**
* @author Pere
*/
public final class OptionDataGroup
{
private final List<OptionDataCategory> _categories;
public OptionDataGroup(List<OptionDataCategory> categories)
{
_categories = categories;
}
Options getRandomEffect()
{
Options result = null;
do
{
double random = Rnd.get() * 100.0;
for (OptionDataCategory category : _categories)
{
if (category.getChance() >= random)
{
result = category.getRandomOptions();
break;
}
random -= category.getChance();
}
}
while (result == null);
// Should never get there
return result;
}
}

View File

@ -0,0 +1,60 @@
/*
* 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.model.options;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
/**
* @author Pere
*/
public final class Variation
{
private static final Logger LOGGER = Logger.getLogger(Variation.class.getSimpleName());
private final int _mineralId;
private final Map<VariationWeaponType, OptionDataGroup[]> _effects = new HashMap<>();
public Variation(int mineralId)
{
_mineralId = mineralId;
}
public int getMineralId()
{
return _mineralId;
}
public void setEffectGroup(VariationWeaponType type, int order, OptionDataGroup group)
{
final OptionDataGroup[] effects = _effects.computeIfAbsent(type, k -> new OptionDataGroup[2]);
effects[order] = group;
}
public Options getRandomEffect(VariationWeaponType type, int order)
{
OptionDataGroup[] effects = _effects.get(type);
if ((effects == null) || (effects[order] == null))
{
LOGGER.warning("Null effect: " + type + ", " + order);
return null;
}
return effects[order].getRandomEffect();
}
}

View File

@ -0,0 +1,49 @@
/*
* 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.model.options;
/**
* @author Pere
*/
public final class VariationFee
{
private final int _itemId;
private final long _itemCount;
private final long _cancelFee;
public VariationFee(int itemId, long itemCount, long cancelFee)
{
_itemId = itemId;
_itemCount = itemCount;
_cancelFee = cancelFee;
}
public int getItemId()
{
return _itemId;
}
public long getItemCount()
{
return _itemCount;
}
public long getCancelFee()
{
return _cancelFee;
}
}

View File

@ -0,0 +1,26 @@
/*
* 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.model.options;
/**
* @author Pere
*/
public enum VariationWeaponType
{
WARRIOR,
MAGE
}

View File

@ -495,7 +495,7 @@ public final class L2GameClient extends ChannelInboundHandler<L2GameClient>
ps.execute();
}
try (PreparedStatement ps = con.prepareStatement("DELETE FROM item_attributes WHERE itemId IN (SELECT object_id FROM items WHERE items.owner_id=?)"))
try (PreparedStatement ps = con.prepareStatement("DELETE FROM item_variations WHERE itemId IN (SELECT object_id FROM items WHERE items.owner_id=?)"))
{
ps.setInt(1, objid);
ps.execute();

View File

@ -17,8 +17,6 @@
package com.l2jmobius.gameserver.network.clientpackets;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.enums.ItemLocation;
@ -27,278 +25,53 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.EnchantItemAttributeRequest;
import com.l2jmobius.gameserver.model.actor.request.EnchantItemRequest;
import com.l2jmobius.gameserver.model.items.L2Armor;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.L2Weapon;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
import com.l2jmobius.gameserver.model.options.VariationFee;
import com.l2jmobius.gameserver.model.skills.AbnormalType;
import com.l2jmobius.gameserver.network.SystemMessageId;
public abstract class AbstractRefinePacket implements IClientIncomingPacket
{
public static final int GRADE_NONE = 0;
public static final int GRADE_MID = 1;
public static final int GRADE_HIGH = 2;
public static final int GRADE_TOP = 3;
public static final int GRADE_ACC = 4; // Accessory LS
public static final int GRADE_FORGOTTEN = 5; // Forgotten
protected static final int[] GEMSTONE_D = new int[]
{
2130
};
protected static final int[] GEMSTONE_C = new int[]
{
2131,
36719
};
protected static final int[] GEMSTONE_B = new int[]
{
2132
};
protected static final int[] GEMSTONE_A = new int[]
{
2133
};
protected static final int[] GEMSTONE_S = new int[]
{
2134
};
protected static final int[] GEMSTONE_R = new int[]
{
19440
};
private static final Map<Integer, LifeStone> _lifeStones = new HashMap<>();
protected static final class LifeStone
{
// lifestone level to player level table
private static final int[] LEVELS =
{
46,
49,
52,
55,
58,
61,
64,
67,
70,
76,
80,
82,
84,
85,
95,
99
};
private final int _grade;
private final int _level;
public LifeStone(int grade, int level)
{
_grade = grade;
_level = level;
}
public final int getLevel()
{
return _level;
}
public final int getGrade()
{
return _grade;
}
public final int getPlayerLevel()
{
return LEVELS[_level];
}
}
static
{
// itemId, (LS grade, LS level)
_lifeStones.put(36718, new LifeStone(GRADE_NONE, 0));
_lifeStones.put(8723, new LifeStone(GRADE_NONE, 0));
_lifeStones.put(8724, new LifeStone(GRADE_NONE, 1));
_lifeStones.put(8725, new LifeStone(GRADE_NONE, 2));
_lifeStones.put(8726, new LifeStone(GRADE_NONE, 3));
_lifeStones.put(8727, new LifeStone(GRADE_NONE, 4));
_lifeStones.put(8728, new LifeStone(GRADE_NONE, 5));
_lifeStones.put(8729, new LifeStone(GRADE_NONE, 6));
_lifeStones.put(8730, new LifeStone(GRADE_NONE, 7));
_lifeStones.put(8731, new LifeStone(GRADE_NONE, 8));
_lifeStones.put(8732, new LifeStone(GRADE_NONE, 9));
_lifeStones.put(8733, new LifeStone(GRADE_MID, 0));
_lifeStones.put(8734, new LifeStone(GRADE_MID, 1));
_lifeStones.put(8735, new LifeStone(GRADE_MID, 2));
_lifeStones.put(8736, new LifeStone(GRADE_MID, 3));
_lifeStones.put(8737, new LifeStone(GRADE_MID, 4));
_lifeStones.put(8738, new LifeStone(GRADE_MID, 5));
_lifeStones.put(8739, new LifeStone(GRADE_MID, 6));
_lifeStones.put(8740, new LifeStone(GRADE_MID, 7));
_lifeStones.put(8741, new LifeStone(GRADE_MID, 8));
_lifeStones.put(8742, new LifeStone(GRADE_MID, 9));
_lifeStones.put(8743, new LifeStone(GRADE_HIGH, 0));
_lifeStones.put(8744, new LifeStone(GRADE_HIGH, 1));
_lifeStones.put(8745, new LifeStone(GRADE_HIGH, 2));
_lifeStones.put(8746, new LifeStone(GRADE_HIGH, 3));
_lifeStones.put(8747, new LifeStone(GRADE_HIGH, 4));
_lifeStones.put(8748, new LifeStone(GRADE_HIGH, 5));
_lifeStones.put(8749, new LifeStone(GRADE_HIGH, 6));
_lifeStones.put(8750, new LifeStone(GRADE_HIGH, 7));
_lifeStones.put(8751, new LifeStone(GRADE_HIGH, 8));
_lifeStones.put(8752, new LifeStone(GRADE_HIGH, 9));
_lifeStones.put(8753, new LifeStone(GRADE_TOP, 0));
_lifeStones.put(8754, new LifeStone(GRADE_TOP, 1));
_lifeStones.put(8755, new LifeStone(GRADE_TOP, 2));
_lifeStones.put(8756, new LifeStone(GRADE_TOP, 3));
_lifeStones.put(8757, new LifeStone(GRADE_TOP, 4));
_lifeStones.put(8758, new LifeStone(GRADE_TOP, 5));
_lifeStones.put(8759, new LifeStone(GRADE_TOP, 6));
_lifeStones.put(8760, new LifeStone(GRADE_TOP, 7));
_lifeStones.put(8761, new LifeStone(GRADE_TOP, 8));
_lifeStones.put(8762, new LifeStone(GRADE_TOP, 9));
_lifeStones.put(9573, new LifeStone(GRADE_NONE, 10));
_lifeStones.put(9574, new LifeStone(GRADE_MID, 10));
_lifeStones.put(9575, new LifeStone(GRADE_HIGH, 10));
_lifeStones.put(9576, new LifeStone(GRADE_TOP, 10));
_lifeStones.put(10483, new LifeStone(GRADE_NONE, 11));
_lifeStones.put(10484, new LifeStone(GRADE_MID, 11));
_lifeStones.put(10485, new LifeStone(GRADE_HIGH, 11));
_lifeStones.put(10486, new LifeStone(GRADE_TOP, 11));
_lifeStones.put(12754, new LifeStone(GRADE_ACC, 0));
_lifeStones.put(12755, new LifeStone(GRADE_ACC, 1));
_lifeStones.put(12756, new LifeStone(GRADE_ACC, 2));
_lifeStones.put(12757, new LifeStone(GRADE_ACC, 3));
_lifeStones.put(12758, new LifeStone(GRADE_ACC, 4));
_lifeStones.put(12759, new LifeStone(GRADE_ACC, 5));
_lifeStones.put(12760, new LifeStone(GRADE_ACC, 6));
_lifeStones.put(12761, new LifeStone(GRADE_ACC, 7));
_lifeStones.put(12762, new LifeStone(GRADE_ACC, 8));
_lifeStones.put(12763, new LifeStone(GRADE_ACC, 9));
_lifeStones.put(12821, new LifeStone(GRADE_ACC, 10));
_lifeStones.put(12822, new LifeStone(GRADE_ACC, 11));
_lifeStones.put(12840, new LifeStone(GRADE_ACC, 0));
_lifeStones.put(12841, new LifeStone(GRADE_ACC, 1));
_lifeStones.put(12842, new LifeStone(GRADE_ACC, 2));
_lifeStones.put(12843, new LifeStone(GRADE_ACC, 3));
_lifeStones.put(12844, new LifeStone(GRADE_ACC, 4));
_lifeStones.put(12845, new LifeStone(GRADE_ACC, 5));
_lifeStones.put(12846, new LifeStone(GRADE_ACC, 6));
_lifeStones.put(12847, new LifeStone(GRADE_ACC, 7));
_lifeStones.put(12848, new LifeStone(GRADE_ACC, 8));
_lifeStones.put(12849, new LifeStone(GRADE_ACC, 9));
_lifeStones.put(12850, new LifeStone(GRADE_ACC, 10));
_lifeStones.put(12851, new LifeStone(GRADE_ACC, 11));
_lifeStones.put(14008, new LifeStone(GRADE_ACC, 12));
_lifeStones.put(14166, new LifeStone(GRADE_NONE, 12));
_lifeStones.put(14167, new LifeStone(GRADE_MID, 12));
_lifeStones.put(14168, new LifeStone(GRADE_HIGH, 12));
_lifeStones.put(14169, new LifeStone(GRADE_TOP, 12));
_lifeStones.put(16160, new LifeStone(GRADE_NONE, 13));
_lifeStones.put(16161, new LifeStone(GRADE_MID, 13));
_lifeStones.put(16162, new LifeStone(GRADE_HIGH, 13));
_lifeStones.put(16163, new LifeStone(GRADE_TOP, 13));
_lifeStones.put(16177, new LifeStone(GRADE_ACC, 13));
_lifeStones.put(16164, new LifeStone(GRADE_NONE, 13));
_lifeStones.put(16165, new LifeStone(GRADE_MID, 13));
_lifeStones.put(16166, new LifeStone(GRADE_HIGH, 13));
_lifeStones.put(16167, new LifeStone(GRADE_TOP, 13));
_lifeStones.put(16178, new LifeStone(GRADE_ACC, 13));
_lifeStones.put(18563, new LifeStone(GRADE_NONE, 13));
_lifeStones.put(18564, new LifeStone(GRADE_MID, 13));
_lifeStones.put(18565, new LifeStone(GRADE_HIGH, 13));
_lifeStones.put(18566, new LifeStone(GRADE_TOP, 13));
_lifeStones.put(18567, new LifeStone(GRADE_FORGOTTEN, 13));
_lifeStones.put(19166, new LifeStone(GRADE_ACC, 13));
_lifeStones.put(18568, new LifeStone(GRADE_NONE, 14));
_lifeStones.put(18569, new LifeStone(GRADE_MID, 14));
_lifeStones.put(18570, new LifeStone(GRADE_HIGH, 14));
_lifeStones.put(18571, new LifeStone(GRADE_TOP, 14));
_lifeStones.put(18572, new LifeStone(GRADE_FORGOTTEN, 14));
_lifeStones.put(19167, new LifeStone(GRADE_ACC, 14));
_lifeStones.put(18573, new LifeStone(GRADE_NONE, 15));
_lifeStones.put(18574, new LifeStone(GRADE_MID, 15));
_lifeStones.put(18575, new LifeStone(GRADE_HIGH, 15));
_lifeStones.put(18576, new LifeStone(GRADE_TOP, 15));
_lifeStones.put(18577, new LifeStone(GRADE_FORGOTTEN, 15));
_lifeStones.put(19168, new LifeStone(GRADE_ACC, 15));
_lifeStones.put(36731, new LifeStone(GRADE_NONE, 13));
_lifeStones.put(38571, new LifeStone(GRADE_ACC, 0));
}
protected static LifeStone getLifeStone(int itemId)
{
return _lifeStones.get(itemId);
}
/**
* Checks player, source item, lifestone and gemstone validity for augmentation process
* @param player
* @param item
* @param refinerItem
* @param gemStones
* @param mineralItem
* @param feeItem
* @param fee
* @return
*/
protected static boolean isValid(L2PcInstance player, L2ItemInstance item, L2ItemInstance refinerItem, L2ItemInstance gemStones)
protected static boolean isValid(L2PcInstance player, L2ItemInstance item, L2ItemInstance mineralItem, L2ItemInstance feeItem, VariationFee fee)
{
if (!isValid(player, item, refinerItem))
if (fee == null)
{
return false;
}
if (!isValid(player, item, mineralItem))
{
return false;
}
// GemStones must belong to owner
if (gemStones.getOwnerId() != player.getObjectId())
if (feeItem.getOwnerId() != player.getObjectId())
{
return false;
}
// .. and located in inventory
if (gemStones.getItemLocation() != ItemLocation.INVENTORY)
if (feeItem.getItemLocation() != ItemLocation.INVENTORY)
{
return false;
}
final CrystalType grade = item.getItem().getCrystalType();
final LifeStone ls = _lifeStones.get(refinerItem.getId());
// Check for item id
boolean gemIdFinded = false;
for (int id : getGemStoneId(grade))
{
if (gemStones.getId() == id)
{
gemIdFinded = true;
}
}
if (!gemIdFinded)
if (fee.getItemId() != feeItem.getId())
{
return false;
}
// Count must be greater or equal of required number
if (getGemStoneCount(grade, ls.getGrade()) > gemStones.getCount())
if (fee.getItemCount() > feeItem.getCount())
{
return false;
}
@ -310,10 +83,10 @@ public abstract class AbstractRefinePacket implements IClientIncomingPacket
* Checks player, source item and lifestone validity for augmentation process
* @param player
* @param item
* @param refinerItem
* @param mineralItem
* @return
*/
protected static boolean isValid(L2PcInstance player, L2ItemInstance item, L2ItemInstance refinerItem)
protected static boolean isValid(L2PcInstance player, L2ItemInstance item, L2ItemInstance mineralItem)
{
if (!isValid(player, item))
{
@ -321,33 +94,12 @@ public abstract class AbstractRefinePacket implements IClientIncomingPacket
}
// Item must belong to owner
if (refinerItem.getOwnerId() != player.getObjectId())
if (mineralItem.getOwnerId() != player.getObjectId())
{
return false;
}
// Lifestone must be located in inventory
if (refinerItem.getItemLocation() != ItemLocation.INVENTORY)
{
return false;
}
final LifeStone ls = _lifeStones.get(refinerItem.getId());
if (ls == null)
{
return false;
}
// weapons can't be augmented with accessory ls
if ((item.getItem() instanceof L2Weapon) && (ls.getGrade() == GRADE_ACC))
{
return false;
}
// and accessory can't be augmented with weapon ls
if ((item.getItem() instanceof L2Armor) && (ls.getGrade() != GRADE_ACC))
{
return false;
}
// check for level of the lifestone
if (player.getLevel() < ls.getPlayerLevel())
if (mineralItem.getItemLocation() != ItemLocation.INVENTORY)
{
return false;
}
@ -401,10 +153,6 @@ public abstract class AbstractRefinePacket implements IClientIncomingPacket
{
return false;
}
if (item.getItem().getCrystalType().isLesser(CrystalType.C))
{
return false;
}
// Source item can be equipped or in inventory
switch (item.getItemLocation())
@ -420,39 +168,7 @@ public abstract class AbstractRefinePacket implements IClientIncomingPacket
}
}
if (item.getItem() instanceof L2Weapon)
{
switch (((L2Weapon) item.getItem()).getItemType())
{
case NONE:
case FISHINGROD:
{
return false;
}
default:
{
break;
}
}
}
else if (item.getItem() instanceof L2Armor)
{
// only accessories can be augmented
switch (item.getItem().getBodyPart())
{
case L2Item.SLOT_LR_FINGER:
case L2Item.SLOT_LR_EAR:
case L2Item.SLOT_NECK:
{
break;
}
default:
{
return false;
}
}
}
else
if (!(item.getItem() instanceof L2Weapon) && !(item.getItem() instanceof L2Armor))
{
return false; // neither weapon nor armor ?
}
@ -514,115 +230,4 @@ public abstract class AbstractRefinePacket implements IClientIncomingPacket
return true;
}
/**
* @param itemGrade
* @return GemStone itemId based on item grade
*/
protected static int[] getGemStoneId(CrystalType itemGrade)
{
switch (itemGrade)
{
case C:
case B:
case A:
case S:
case S80:
case S84:
{
return GEMSTONE_B;
}
case R:
{
return GEMSTONE_A;
}
case R95:
{
return GEMSTONE_S;
}
case R99:
{
return GEMSTONE_R;
}
default:
{
return null;
}
}
}
/**
* Different for weapon and accessory augmentation.
* @param itemGrade
* @param lifeStoneGrade
* @return GemStone count based on item grade and life stone grade
*/
protected static int getGemStoneCount(CrystalType itemGrade, int lifeStoneGrade)
{
switch (lifeStoneGrade)
{
case GRADE_ACC:
{
switch (itemGrade)
{
case C:
case B:
case A:
case S:
case S80:
case S84:
{
return 125;
}
case R:
{
return 30;
}
case R95:
{
return 18;
}
case R99:
{
return 8;
}
default:
{
return 0;
}
}
}
default:
{
switch (itemGrade)
{
case C:
case B:
case A:
case S:
case S80:
case S84:
{
return 25;
}
case R:
{
return 20;
}
case R95:
{
return 12;
}
case R99:
{
return 5;
}
default:
{
return 0;
}
}
}
}
}
}

View File

@ -159,7 +159,7 @@ public class MultiSellChoose implements IClientIncomingPacket
|| (itemEnchantment.getAttributeDefence(AttributeType.HOLY) != _holyDefence)
|| (itemEnchantment.getAttributeDefence(AttributeType.DARK) != _darkDefence)
|| ((itemEnchantment.getAugmentation() == null) && ((_augmentOption1 != 0) || (_augmentOption2 != 0)))
|| ((itemEnchantment.getAugmentation() != null) && ((itemEnchantment.getAugmentation().getOptionId(0) != _augmentOption1) || (itemEnchantment.getAugmentation().getOptionId(1) != _augmentOption2)))
|| ((itemEnchantment.getAugmentation() != null) && ((itemEnchantment.getAugmentation().getOption1Id() != _augmentOption1) || (itemEnchantment.getAugmentation().getOption2Id() != _augmentOption2)))
))
//@formatter:on
{

View File

@ -18,6 +18,7 @@ package com.l2jmobius.gameserver.network.clientpackets;
import com.l2jmobius.Config;
import com.l2jmobius.commons.network.PacketReader;
import com.l2jmobius.gameserver.data.xml.impl.VariationData;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
@ -72,105 +73,11 @@ public final class RequestConfirmCancelItem implements IClientIncomingPacket
return;
}
int price = 0;
switch (item.getItem().getCrystalType())
final long price = VariationData.getInstance().getCancelFee(item.getId(), item.getAugmentation().getMineralId());
if (price < 0)
{
case C:
{
if (item.getCrystalCount() < 1720)
{
price = 95000;
}
else if (item.getCrystalCount() < 2452)
{
price = 150000;
}
else
{
price = 210000;
}
break;
}
case B:
{
if (item.getCrystalCount() < 1746)
{
price = 240000;
}
else
{
price = 270000;
}
break;
}
case A:
{
if (item.getCrystalCount() < 2160)
{
price = 330000;
}
else if (item.getCrystalCount() < 2824)
{
price = 390000;
}
else
{
price = 420000;
}
break;
}
case S:
{
if (item.getCrystalCount() <= 2052)
{
price = 480000;
}
else
{
price = 920000;
}
break;
}
case S80:
case S84:
{
if (item.getCrystalCount() <= 4965)
{
price = 920000;
}
else if (item.getCrystalCount() <= 7050)
{
price = 2800000;
}
else if (item.getCrystalCount() <= 8233)
{
price = 2800000;
}
else
{
price = 3200000;
}
break;
}
case R:
{
price = 3492800;
break;
}
case R95:
{
price = 2943200;
break;
}
case R99:
{
price = 6485800;
break;
}
default:
{
return;
}
activeChar.sendPacket(SystemMessageId.THIS_IS_NOT_A_SUITABLE_ITEM);
return;
}
activeChar.sendPacket(new ExPutItemResultForVariationCancel(item, price));

View File

@ -17,8 +17,10 @@
package com.l2jmobius.gameserver.network.clientpackets;
import com.l2jmobius.commons.network.PacketReader;
import com.l2jmobius.gameserver.data.xml.impl.VariationData;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.options.VariationFee;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.ExPutCommissionResultForVariationMake;
@ -30,17 +32,17 @@ import com.l2jmobius.gameserver.network.serverpackets.ExPutCommissionResultForVa
public final class RequestConfirmGemStone extends AbstractRefinePacket
{
private int _targetItemObjId;
private int _refinerItemObjId;
private int _gemstoneItemObjId;
private long _gemStoneCount;
private int _mineralItemObjId;
private int _feeItemObjId;
private long _feeCount;
@Override
public boolean read(L2GameClient client, PacketReader packet)
{
_targetItemObjId = packet.readD();
_refinerItemObjId = packet.readD();
_gemstoneItemObjId = packet.readD();
_gemStoneCount = packet.readQ();
_mineralItemObjId = packet.readD();
_feeItemObjId = packet.readD();
_feeCount = packet.readQ();
return true;
}
@ -52,42 +54,39 @@ public final class RequestConfirmGemStone extends AbstractRefinePacket
{
return;
}
final L2ItemInstance targetItem = activeChar.getInventory().getItemByObjectId(_targetItemObjId);
if (targetItem == null)
{
return;
}
final L2ItemInstance refinerItem = activeChar.getInventory().getItemByObjectId(_refinerItemObjId);
final L2ItemInstance refinerItem = activeChar.getInventory().getItemByObjectId(_mineralItemObjId);
if (refinerItem == null)
{
return;
}
final L2ItemInstance gemStoneItem = activeChar.getInventory().getItemByObjectId(_gemstoneItemObjId);
final L2ItemInstance gemStoneItem = activeChar.getInventory().getItemByObjectId(_feeItemObjId);
if (gemStoneItem == null)
{
return;
}
// Make sure the item is a gemstone
if (!isValid(activeChar, targetItem, refinerItem, gemStoneItem))
final VariationFee fee = VariationData.getInstance().getFee(targetItem.getId(), refinerItem.getId());
if (!isValid(activeChar, targetItem, refinerItem, gemStoneItem, fee))
{
client.sendPacket(SystemMessageId.THIS_IS_NOT_A_SUITABLE_ITEM);
return;
}
// Check for gemstone count
final LifeStone ls = getLifeStone(refinerItem.getId());
if (ls == null)
{
return;
}
if (_gemStoneCount != getGemStoneCount(targetItem.getItem().getCrystalType(), ls.getGrade()))
// Check for fee count
if (_feeCount != fee.getItemCount())
{
client.sendPacket(SystemMessageId.GEMSTONE_QUANTITY_IS_INCORRECT);
return;
}
client.sendPacket(new ExPutCommissionResultForVariationMake(_gemstoneItemObjId, _gemStoneCount, gemStoneItem.getId()));
client.sendPacket(new ExPutCommissionResultForVariationMake(_feeItemObjId, _feeCount, gemStoneItem.getId()));
}
}

View File

@ -17,10 +17,10 @@
package com.l2jmobius.gameserver.network.clientpackets;
import com.l2jmobius.commons.network.PacketReader;
import com.l2jmobius.gameserver.datatables.AugmentationData;
import com.l2jmobius.gameserver.data.xml.impl.VariationData;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
import com.l2jmobius.gameserver.model.options.VariationFee;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.ExPutIntensiveResultForVariationMake;
@ -63,33 +63,13 @@ public class RequestConfirmRefinerItem extends AbstractRefinePacket
return;
}
if (!AugmentationData.getInstance().isAugmentaionStoneValid(refinerItem.getId()))
{
activeChar.sendMessage("This is not a proper life stone."); // need to update retailchances.xml with this item
return;
}
if (!isValid(activeChar, targetItem, refinerItem))
final VariationFee fee = VariationData.getInstance().getFee(targetItem.getId(), refinerItem.getId());
if ((fee == null) || !isValid(activeChar, targetItem, refinerItem))
{
activeChar.sendPacket(SystemMessageId.THIS_IS_NOT_A_SUITABLE_ITEM);
return;
}
final int refinerItemId = refinerItem.getItem().getId();
final CrystalType grade = targetItem.getItem().getCrystalType();
final LifeStone ls = getLifeStone(refinerItemId);
int gemStoneId = 0;
if (getGemStoneId(grade) != null)
{
for (int id : getGemStoneId(grade))
{
if (activeChar.getInventory().getAllItemsByItemId(id) != null)
{
gemStoneId = id;
break;
}
}
}
activeChar.sendPacket(new ExPutIntensiveResultForVariationMake(_refinerItemObjId, refinerItemId, gemStoneId, getGemStoneCount(grade, ls.getGrade())));
activeChar.sendPacket(new ExPutIntensiveResultForVariationMake(_refinerItemObjId, refinerItem.getId(), fee.getItemId(), fee.getItemCount()));
}
}

View File

@ -17,6 +17,7 @@
package com.l2jmobius.gameserver.network.clientpackets;
import com.l2jmobius.commons.network.PacketReader;
import com.l2jmobius.gameserver.data.xml.impl.VariationData;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
@ -53,6 +54,12 @@ public final class RequestConfirmTargetItem extends AbstractRefinePacket
return;
}
if (!VariationData.getInstance().hasFeeData(item.getId()))
{
client.sendPacket(SystemMessageId.THIS_IS_NOT_A_SUITABLE_ITEM);
return;
}
if (!isValid(activeChar, item))
{
// Different system message here

View File

@ -17,10 +17,12 @@
package com.l2jmobius.gameserver.network.clientpackets;
import com.l2jmobius.commons.network.PacketReader;
import com.l2jmobius.gameserver.datatables.AugmentationData;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.data.xml.impl.VariationData;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.options.Variation;
import com.l2jmobius.gameserver.model.options.VariationFee;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.ExVariationResult;
@ -33,17 +35,17 @@ import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
public final class RequestRefine extends AbstractRefinePacket
{
private int _targetItemObjId;
private int _refinerItemObjId;
private int _gemStoneItemObjId;
private long _gemStoneCount;
private int _mineralItemObjId;
private int _feeItemObjId;
private long _feeCount;
@Override
public boolean read(L2GameClient client, PacketReader packet)
{
_targetItemObjId = packet.readD();
_refinerItemObjId = packet.readD();
_gemStoneItemObjId = packet.readD();
_gemStoneCount = packet.readQ();
_mineralItemObjId = packet.readD();
_feeItemObjId = packet.readD();
_feeCount = packet.readQ();
return true;
}
@ -55,77 +57,82 @@ public final class RequestRefine extends AbstractRefinePacket
{
return;
}
final L2ItemInstance targetItem = activeChar.getInventory().getItemByObjectId(_targetItemObjId);
if (targetItem == null)
{
return;
}
final L2ItemInstance refinerItem = activeChar.getInventory().getItemByObjectId(_refinerItemObjId);
if (refinerItem == null)
{
return;
}
final L2ItemInstance gemStoneItem = activeChar.getInventory().getItemByObjectId(_gemStoneItemObjId);
if (gemStoneItem == null)
final L2ItemInstance mineralItem = activeChar.getInventory().getItemByObjectId(_mineralItemObjId);
if (mineralItem == null)
{
return;
}
if (!isValid(activeChar, targetItem, refinerItem, gemStoneItem))
final L2ItemInstance feeItem = activeChar.getInventory().getItemByObjectId(_feeItemObjId);
if (feeItem == null)
{
activeChar.sendPacket(new ExVariationResult(0, 0, 0));
return;
}
final VariationFee fee = VariationData.getInstance().getFee(targetItem.getId(), mineralItem.getId());
if (!isValid(activeChar, targetItem, mineralItem, feeItem, fee))
{
activeChar.sendPacket(new ExVariationResult(0, 0, false));
activeChar.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final LifeStone ls = getLifeStone(refinerItem.getId());
if (ls == null)
if (_feeCount != fee.getItemCount())
{
activeChar.sendPacket(new ExVariationResult(0, 0, false));
activeChar.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final int lifeStoneLevel = ls.getLevel();
final int lifeStoneGrade = ls.getGrade();
if (_gemStoneCount != getGemStoneCount(targetItem.getItem().getCrystalType(), lifeStoneGrade))
final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId());
if (variation == null)
{
activeChar.sendPacket(new ExVariationResult(0, 0, 0));
activeChar.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
activeChar.sendPacket(new ExVariationResult(0, 0, false));
return;
}
final VariationInstance augment = VariationData.getInstance().generateRandomVariation(variation, targetItem);
if (augment == null)
{
activeChar.sendPacket(new ExVariationResult(0, 0, false));
return;
}
// unequip item
final InventoryUpdate iu = new InventoryUpdate();
if (targetItem.isEquipped())
{
final L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInSlotAndRecord(targetItem.getLocationSlot());
final InventoryUpdate iu = new InventoryUpdate();
L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInSlotAndRecord(targetItem.getLocationSlot());
for (L2ItemInstance itm : unequiped)
{
iu.addModifiedItem(itm);
}
activeChar.sendInventoryUpdate(iu);
activeChar.broadcastUserInfo();
}
// consume the life stone
if (!activeChar.destroyItem("RequestRefine", refinerItem, 1, null, false))
if (!activeChar.destroyItem("RequestRefine", mineralItem, 1, null, false))
{
return;
}
// consume the gemstones
if (!activeChar.destroyItem("RequestRefine", gemStoneItem, _gemStoneCount, null, false))
if (!activeChar.destroyItem("RequestRefine", feeItem, _feeCount, null, false))
{
return;
}
final Augmentation aug = AugmentationData.getInstance().generateRandomAugmentation(lifeStoneLevel, lifeStoneGrade, targetItem.getItem().getBodyPart(), refinerItem.getId(), targetItem);
targetItem.setAugmentation(aug, true);
targetItem.setAugmentation(augment, true);
activeChar.sendPacket(new ExVariationResult(augment.getOption1Id(), augment.getOption2Id(), true));
activeChar.sendPacket(new ExVariationResult(aug.getOptionId(0), aug.getOptionId(1), 1));
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(targetItem);
activeChar.sendInventoryUpdate(iu);
}
}

View File

@ -18,6 +18,7 @@ package com.l2jmobius.gameserver.network.clientpackets;
import com.l2jmobius.Config;
import com.l2jmobius.commons.network.PacketReader;
import com.l2jmobius.gameserver.data.xml.impl.VariationData;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
@ -53,108 +54,36 @@ public final class RequestRefineCancel implements IClientIncomingPacket
final L2ItemInstance targetItem = activeChar.getInventory().getItemByObjectId(_targetItemObjId);
if (targetItem == null)
{
client.sendPacket(new ExVariationCancelResult(0));
client.sendPacket(ExVariationCancelResult.STATIC_PACKET_FAILURE);
return;
}
if (targetItem.getOwnerId() != activeChar.getObjectId())
{
Util.handleIllegalPlayerAction(client.getActiveChar(), "Warning!! Character " + client.getActiveChar().getName() + " of account " + client.getActiveChar().getAccountName() + " tryied to augment item that doesn't own.", Config.DEFAULT_PUNISH);
return;
}
// cannot remove augmentation from a not augmented item
if (!targetItem.isAugmented())
{
client.sendPacket(SystemMessageId.AUGMENTATION_REMOVAL_CAN_ONLY_BE_DONE_ON_AN_AUGMENTED_ITEM);
client.sendPacket(new ExVariationCancelResult(0));
client.sendPacket(ExVariationCancelResult.STATIC_PACKET_FAILURE);
return;
}
// get the price
int price = 0;
switch (targetItem.getItem().getCrystalType())
final long price = VariationData.getInstance().getCancelFee(targetItem.getId(), targetItem.getAugmentation().getMineralId());
if (price < 0)
{
case C:
{
if (targetItem.getCrystalCount() < 1720)
{
price = 95000;
}
else if (targetItem.getCrystalCount() < 2452)
{
price = 150000;
}
else
{
price = 210000;
}
break;
}
case B:
{
if (targetItem.getCrystalCount() < 1746)
{
price = 240000;
}
else
{
price = 270000;
}
break;
}
case A:
{
if (targetItem.getCrystalCount() < 2160)
{
price = 330000;
}
else if (targetItem.getCrystalCount() < 2824)
{
price = 390000;
}
else
{
price = 420000;
}
break;
}
case S:
{
price = 480000;
break;
}
case S80:
case S84:
{
price = 920000;
break;
}
case R:
{
price = 1560000;
break;
}
case R95:
{
price = 5400000;
break;
}
case R99:
{
price = 14160000;
break;
}
// any other item type is not augmentable
default:
{
client.sendPacket(new ExVariationCancelResult(0));
return;
}
client.sendPacket(ExVariationCancelResult.STATIC_PACKET_FAILURE);
return;
}
// try to reduce the players adena
if (!activeChar.reduceAdena("RequestRefineCancel", price, null, true))
if (!activeChar.reduceAdena("RequestRefineCancel", price, targetItem, true))
{
client.sendPacket(new ExVariationCancelResult(0));
client.sendPacket(ExVariationCancelResult.STATIC_PACKET_FAILURE);
client.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}
@ -169,10 +98,10 @@ public final class RequestRefineCancel implements IClientIncomingPacket
targetItem.removeAugmentation();
// send ExVariationCancelResult
client.sendPacket(new ExVariationCancelResult(1));
client.sendPacket(ExVariationCancelResult.STATIC_PACKET_SUCCESS);
// send inventory update
final InventoryUpdate iu = new InventoryUpdate();
InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(targetItem);
activeChar.sendInventoryUpdate(iu);
}

View File

@ -133,8 +133,8 @@ public abstract class AbstractItemPacket extends AbstractMaskPacket<ItemListType
{
if ((item != null) && (item.getAugmentation() != null))
{
packet.writeH(item.getAugmentation().getOptionId(0));
packet.writeH(item.getAugmentation().getOptionId(1));
packet.writeH(item.getAugmentation().getOption1Id());
packet.writeH(item.getAugmentation().getOption2Id());
}
else
{

View File

@ -21,7 +21,7 @@ import java.util.Set;
import com.l2jmobius.Config;
import com.l2jmobius.commons.network.PacketWriter;
import com.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2DecoyInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.ceremonyofchaos.CeremonyOfChaosEvent;
@ -134,9 +134,10 @@ public class CharInfo implements IClientOutgoingPacket
for (int slot : getPaperdollOrderAugument())
{
final Augmentation augment = _activeChar.getInventory().getPaperdollAugmentation(slot);
packet.writeD(augment != null ? augment.getOptionId(0) : 0); // Confirmed
// packet.writeD(augment != null ? augment.getOptionId(1) : 0); // Confirmed
final VariationInstance augment = _activeChar.getInventory().getPaperdollAugmentation(slot);
packet.writeD(augment != null ? augment.getOption1Id() : 0); // Confirmed
// Mobius: Maybe use 2x writeH ?
// packet.writeD(augment != null ? augment.getOption2Id() : 0); // Confirmed
}
packet.writeC(_armorEnchant);

View File

@ -29,9 +29,9 @@ import com.l2jmobius.commons.database.DatabaseFactory;
import com.l2jmobius.commons.network.PacketWriter;
import com.l2jmobius.gameserver.data.sql.impl.ClanTable;
import com.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import com.l2jmobius.gameserver.datatables.AugmentationData;
import com.l2jmobius.gameserver.model.CharSelectInfoPackage;
import com.l2jmobius.gameserver.model.L2Clan;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.entity.Hero;
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
import com.l2jmobius.gameserver.network.L2GameClient;
@ -190,8 +190,9 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(i == _activeId ? 1 : 0);
packet.writeC(charInfoPackage.getEnchantEffect() > 127 ? 127 : charInfoPackage.getEnchantEffect());
packet.writeD(charInfoPackage.getAugmentation() != null ? charInfoPackage.getAugmentation().getOptionId(0) : 0);
// packet.writeD(charInfoPackage.getAugmentation() != null ? charInfoPackage.getAugmentation().getOptionId(1) : 0);
packet.writeD(charInfoPackage.getAugmentation() != null ? charInfoPackage.getAugmentation().getOption1Id() : 0);
// Mobius: Maybe use 2x writeH?
// packet.writeD(charInfoPackage.getAugmentation() != null ? charInfoPackage.getAugmentation().getOption2Id() : 0);
// packet.writeD(charInfoPackage.getTransformId()); // Used to display Transformations
packet.writeD(0x00); // Currently on retail when you are on character select you don't see your transformation.
@ -357,17 +358,19 @@ public class CharSelectionInfo implements IClientOutgoingPacket
if (weaponObjId > 0)
{
try (Connection con = DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("SELECT augAttributes FROM item_attributes WHERE itemId=?"))
PreparedStatement statement = con.prepareStatement("SELECT mineralId,option1,option2 FROM item_variations WHERE itemId=?"))
{
statement.setInt(1, weaponObjId);
try (ResultSet result = statement.executeQuery())
{
if (result.next())
{
final int augment = result.getInt("augAttributes");
if (augment > 0)
int mineralId = result.getInt("mineralId");
int option1 = result.getInt("option1");
int option2 = result.getInt("option2");
if ((option1 != -1) && (option2 != -1))
{
charInfopackage.setAugmentation(AugmentationData.getInstance().getAugmentation(augment));
charInfopackage.setAugmentation(new VariationInstance(mineralId, option1, option2));
}
}
}

View File

@ -24,10 +24,10 @@ public class ExPutIntensiveResultForVariationMake implements IClientOutgoingPack
private final int _refinerItemObjId;
private final int _lifestoneItemId;
private final int _gemstoneItemId;
private final int _gemstoneCount;
private final long _gemstoneCount;
private final int _unk2;
public ExPutIntensiveResultForVariationMake(int refinerItemObjId, int lifeStoneId, int gemstoneItemId, int gemstoneCount)
public ExPutIntensiveResultForVariationMake(int refinerItemObjId, int lifeStoneId, int gemstoneItemId, long gemstoneCount)
{
_refinerItemObjId = refinerItemObjId;
_lifestoneItemId = lifeStoneId;

View File

@ -33,8 +33,8 @@ public class ExPutItemResultForVariationCancel implements IClientOutgoingPacket
_itemObjId = item.getObjectId();
_itemId = item.getDisplayId();
_price = price;
_itemAug1 = item.getAugmentation().getOptionId(0);
_itemAug2 = item.getAugmentation().getOptionId(1);
_itemAug1 = item.getAugmentation().getOption1Id();
_itemAug2 = item.getAugmentation().getOption2Id();
}
@Override

View File

@ -18,7 +18,7 @@ package com.l2jmobius.gameserver.network.serverpackets;
import com.l2jmobius.commons.network.PacketWriter;
import com.l2jmobius.gameserver.enums.InventorySlot;
import com.l2jmobius.gameserver.model.Augmentation;
import com.l2jmobius.gameserver.model.VariationInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.network.OutgoingPackets;
@ -74,12 +74,13 @@ public class ExUserInfoEquipSlot extends AbstractMaskPacket<InventorySlot>
{
if (containsMask(slot))
{
final Augmentation augment = inventory.getPaperdollAugmentation(slot.getSlot());
final VariationInstance augment = inventory.getPaperdollAugmentation(slot.getSlot());
packet.writeH(18); // 2 + 4 * 4
packet.writeD(inventory.getPaperdollObjectId(slot.getSlot()));
packet.writeD(inventory.getPaperdollItemId(slot.getSlot()));
packet.writeD(augment != null ? augment.getOptionId(0) : 0);
// packet.writeD(augment != null ? augment.getOptionId(1) : 0);
packet.writeD(augment != null ? augment.getOption1Id() : 0);
// Mobius: Maybe use 2x writeH?
// packet.writeD(augment != null ? augment.getOption2Id() : 0);
packet.writeD(inventory.getPaperdollItemVisualId(slot.getSlot()));
}
}

View File

@ -21,9 +21,12 @@ import com.l2jmobius.gameserver.network.OutgoingPackets;
public class ExVariationCancelResult implements IClientOutgoingPacket
{
public static final ExVariationCancelResult STATIC_PACKET_SUCCESS = new ExVariationCancelResult(1);
public static final ExVariationCancelResult STATIC_PACKET_FAILURE = new ExVariationCancelResult(0);
private final int _result;
public ExVariationCancelResult(int result)
private ExVariationCancelResult(int result)
{
_result = result;
}

View File

@ -24,15 +24,15 @@ import com.l2jmobius.gameserver.network.OutgoingPackets;
*/
public class ExVariationResult implements IClientOutgoingPacket
{
private final int _stat12;
private final int _stat34;
private final int _unk3;
private final int _option1;
private final int _option2;
private final int _success;
public ExVariationResult(int unk1, int unk2, int unk3)
public ExVariationResult(int option1, int option2, boolean success)
{
_stat12 = unk1;
_stat34 = unk2;
_unk3 = unk3;
_option1 = option1;
_option2 = option2;
_success = success ? 0x01 : 0x00;
}
@Override
@ -40,9 +40,9 @@ public class ExVariationResult implements IClientOutgoingPacket
{
OutgoingPackets.EX_VARIATION_RESULT.writeId(packet);
packet.writeD(_stat12);
packet.writeD(_stat34);
packet.writeD(_unk3);
packet.writeD(_option1);
packet.writeD(_option2);
packet.writeD(_success);
return true;
}
}

Some files were not shown because too many files have changed in this diff Show More