Addition of adenaFee parameter for variation data.

Thanks to CostyKiller.
This commit is contained in:
MobiusDevelopment 2021-11-07 00:17:42 +00:00
parent 50318680c3
commit d1e3bd41b2
30 changed files with 333 additions and 195 deletions

View File

@ -11585,11 +11585,11 @@
</itemGroups> </itemGroups>
<fees> <fees>
<!-- Giant's Energy Spirit Stone --> <!-- Giant's Energy Spirit Stone -->
<fee itemGroup="0" itemId="19440" itemCount="118" cancelFee="6485800"> <!-- R-grade Gemstone --> <fee itemGroup="0" itemId="19440" itemCount="118" adenaFee="6485800" cancelFee="6485800"> <!-- R-grade Gemstone -->
<mineral id="36731" /> <!-- Giant's Energy Spirit Stone --> <mineral id="36731" /> <!-- Giant's Energy Spirit Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="0" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="0" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -11597,7 +11597,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="1" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="1" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -11605,7 +11605,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="2" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="2" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -11613,132 +11613,132 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Superior Weapon Augmenting Stone --> <!-- Superior Weapon Augmenting Stone -->
<fee itemGroup="3" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="3" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="80130" /> <!-- Superior Weapon Augmenting Stone --> <mineral id="80130" /> <!-- Superior Weapon Augmenting Stone -->
</fee> </fee>
<!-- Aria's Spirit Stone --> <!-- Aria's Spirit Stone -->
<fee itemGroup="4" itemId="19440" itemCount="5" cancelFee="6985600"> <!-- R-grade Gemstone --> <fee itemGroup="4" itemId="19440" itemCount="5" adenaFee="6985600" cancelFee="6985600"> <!-- R-grade Gemstone -->
<mineral id="38571" /> <!-- Aria's Spirit Stone --> <mineral id="38571" /> <!-- Aria's Spirit Stone -->
<mineral id="47714" /> <!-- Rare Accessory Spirit Stone --> <mineral id="47714" /> <!-- Rare Accessory Spirit Stone -->
</fee> </fee>
<!-- Circlet Augmenting Stone --> <!-- Circlet Augmenting Stone -->
<fee itemGroup="5" itemId="19440" itemCount="1" cancelFee="698560"> <!-- R-grade Gemstone --> <fee itemGroup="5" itemId="19440" itemCount="1" adenaFee="698560" cancelFee="698560"> <!-- R-grade Gemstone -->
<mineral id="48215" /> <!-- Circlet Augmenting Stone --> <mineral id="48215" /> <!-- Circlet Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone --> <!-- Brooch Augmenting Stone -->
<fee itemGroup="6" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="6" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="47983" /> <!-- Brooch Augmenting Stone --> <mineral id="47983" /> <!-- Brooch Augmenting Stone -->
</fee> </fee>
<!-- Dragon Weapon Augmenting Stone --> <!-- Dragon Weapon Augmenting Stone -->
<fee itemGroup="7" itemId="19440" itemCount="10" cancelFee="17710000"> <!-- R-grade Gemstone --> <fee itemGroup="7" itemId="19440" itemCount="10" adenaFee="17710000" cancelFee="17710000"> <!-- R-grade Gemstone -->
<mineral id="81135" /> <!-- Dragon Weapon Augmenting Stone --> <mineral id="81135" /> <!-- Dragon Weapon Augmenting Stone -->
</fee> </fee>
<!-- Exalted Weapon Augmenting Stone --> <!-- Exalted Weapon Augmenting Stone -->
<fee itemGroup="8" itemId="19440" itemCount="1" cancelFee="100000"> <!-- R-grade Gemstone --> <fee itemGroup="8" itemId="19440" itemCount="1" adenaFee="100000" cancelFee="100000"> <!-- R-grade Gemstone -->
<mineral id="81489" /> <!-- Exalted Weapon Augmenting Stone --> <mineral id="81489" /> <!-- Exalted Weapon Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="9" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="9" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="10" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="10" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="11" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="11" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="12" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="12" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="13" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="13" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="14" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="14" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="15" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="15" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="16" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="16" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="17" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="17" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="18" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="18" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="19" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="19" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="20" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="20" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="21" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="21" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Adenian Underwear Augmenting Stone --> <!-- Adenian Underwear Augmenting Stone -->
<fee itemGroup="22" itemId="2133" itemCount="26" cancelFee="2400000"> <!-- A-grade Gemstone --> <fee itemGroup="22" itemId="2133" itemCount="26" adenaFee="2400000" cancelFee="2400000"> <!-- A-grade Gemstone -->
<mineral id="23385" /> <!-- Adenian Underwear Augmenting Stone --> <mineral id="23385" /> <!-- Adenian Underwear Augmenting Stone -->
<mineral id="23800" /> <!-- Major Adenian Augmenting Stone (Not available) --> <mineral id="23800" /> <!-- Major Adenian Augmenting Stone (Not available) -->
<mineral id="23802" /> <!-- Adenian Augmenting Stone --> <mineral id="23802" /> <!-- Adenian Augmenting Stone -->
<mineral id="23803" /> <!-- Major Adenian Augmenting Stone --> <mineral id="23803" /> <!-- Major Adenian Augmenting Stone -->
</fee> </fee>
<!-- Great Adenian Tattoo Augmenting Stone (Not available) --> <!-- Great Adenian Tattoo Augmenting Stone (Not available) -->
<fee itemGroup="23" itemId="2133" itemCount="26" cancelFee="2400000"> <!-- A-grade Gemstone --> <fee itemGroup="23" itemId="2133" itemCount="26" adenaFee="2400000" cancelFee="2400000"> <!-- A-grade Gemstone -->
<mineral id="23801" /> <!-- Great Adenian Tattoo Augmenting Stone (Not available) --> <mineral id="23801" /> <!-- Great Adenian Tattoo Augmenting Stone (Not available) -->
<mineral id="23804" /> <!-- Great Adenian Tattoo Augmenting Stone --> <mineral id="23804" /> <!-- Great Adenian Tattoo Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone --> <!-- Brooch Augmenting Stone -->
<fee itemGroup="24" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="24" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="28484" /> <!-- Brooch Augmenting Stone --> <mineral id="28484" /> <!-- Brooch Augmenting Stone -->
<mineral id="28539" /> <!-- Brooch Augmenting Stone --> <mineral id="28539" /> <!-- Brooch Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone (Rare) --> <!-- Brooch Augmenting Stone (Rare) -->
<fee itemGroup="25" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="25" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="28485" /> <!-- Brooch Augmenting Stone (Rare) --> <mineral id="28485" /> <!-- Brooch Augmenting Stone (Rare) -->
<mineral id="28530" /> <!-- Great Brooch Augmenting Stone (Rare) --> <mineral id="28530" /> <!-- Great Brooch Augmenting Stone (Rare) -->
<mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) --> <mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Ancient Kingdom --> <!-- Cloak Augmenting Stone - Ancient Kingdom -->
<fee itemGroup="26" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="26" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28597" /> <!-- Cloak Augmenting Stone - Ancient Kingdom --> <mineral id="28597" /> <!-- Cloak Augmenting Stone - Ancient Kingdom -->
<mineral id="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom --> <mineral id="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Elmoreden --> <!-- Cloak Augmenting Stone - Elmoreden -->
<fee itemGroup="27" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="27" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28598" /> <!-- Cloak Augmenting Stone - Elmoreden --> <mineral id="28598" /> <!-- Cloak Augmenting Stone - Elmoreden -->
<mineral id="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden --> <mineral id="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Aden --> <!-- Cloak Augmenting Stone - Aden -->
<fee itemGroup="28" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="28" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28599" /> <!-- Cloak Augmenting Stone - Aden --> <mineral id="28599" /> <!-- Cloak Augmenting Stone - Aden -->
<mineral id="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden --> <mineral id="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Elmore --> <!-- Cloak Augmenting Stone - Elmore -->
<fee itemGroup="29" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="29" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28600" /> <!-- Cloak Augmenting Stone - Elmore --> <mineral id="28600" /> <!-- Cloak Augmenting Stone - Elmore -->
<mineral id="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore --> <mineral id="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Ferios --> <!-- Cloak Augmenting Stone - Ferios -->
<fee itemGroup="30" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="30" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28601" /> <!-- Cloak Augmenting Stone - Ferios --> <mineral id="28601" /> <!-- Cloak Augmenting Stone - Ferios -->
<mineral id="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios --> <mineral id="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios -->
</fee> </fee>
<!-- Life Stone Lv. 84 --> <!-- Life Stone Lv. 84 -->
<fee itemGroup="31" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="31" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="10483" /> <!-- Life Stone Lv. 82 --> <mineral id="10483" /> <!-- Life Stone Lv. 82 -->
<mineral id="10484" /> <!-- Mid-grade Life Stone Lv. 82 --> <mineral id="10484" /> <!-- Mid-grade Life Stone Lv. 82 -->
<mineral id="10485" /> <!-- High-grade Life Stone Lv. 82 --> <mineral id="10485" /> <!-- High-grade Life Stone Lv. 82 -->
@ -11824,7 +11824,7 @@
<mineral id="9576" /> <!-- Top-grade Life Stone Lv. 80 --> <mineral id="9576" /> <!-- Top-grade Life Stone Lv. 80 -->
</fee> </fee>
<!-- Life Stone: Accessory Lv. 46 --> <!-- Life Stone: Accessory Lv. 46 -->
<fee itemGroup="45" itemId="2133" itemCount="236" cancelFee="9622600"> <!-- A-grade Gemstone --> <fee itemGroup="45" itemId="2133" itemCount="236" adenaFee="9622600" cancelFee="9622600"> <!-- A-grade Gemstone -->
<mineral id="12754" /> <!-- Life Stone: Accessory Lv. 46 --> <mineral id="12754" /> <!-- Life Stone: Accessory Lv. 46 -->
<mineral id="12755" /> <!-- Life Stone: Accessory Lv. 49 --> <mineral id="12755" /> <!-- Life Stone: Accessory Lv. 49 -->
<mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 --> <mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 -->
@ -11844,24 +11844,24 @@
<mineral id="19168" /> <!-- Life Stone: R99-grade Accessory --> <mineral id="19168" /> <!-- Life Stone: R99-grade Accessory -->
</fee> </fee>
<!-- Accessory Spirit Stone --> <!-- Accessory Spirit Stone -->
<fee itemGroup="45" itemId="19440" itemCount="8" cancelFee="8933800"> <!-- R-grade Gemstone --> <fee itemGroup="45" itemId="19440" itemCount="8" adenaFee="8933800" cancelFee="8933800"> <!-- R-grade Gemstone -->
<mineral id="45933" /> <!-- Accessory Spirit Stone --> <mineral id="45933" /> <!-- Accessory Spirit Stone -->
<mineral id="45934" /> <!-- Intermediate Accessory Spirit Stone --> <mineral id="45934" /> <!-- Intermediate Accessory Spirit Stone -->
<mineral id="45935" /> <!-- Advanced Accessory Spirit Stone --> <mineral id="45935" /> <!-- Advanced Accessory Spirit Stone -->
<mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone --> <mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone -->
</fee> </fee>
<!-- Life Stone: Hair Accessory (Event) --> <!-- Life Stone: Hair Accessory (Event) -->
<fee itemGroup="61" itemId="2133" itemCount="26" cancelFee="2400000"> <!-- A-grade Gemstone --> <fee itemGroup="61" itemId="2133" itemCount="26" adenaFee="2400000" cancelFee="2400000"> <!-- A-grade Gemstone -->
<mineral id="33819" /> <!-- Life Stone: Hair Accessory (Event) --> <mineral id="33819" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="34941" /> <!-- Life Stone: Hair Accessory (Event) --> <mineral id="34941" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="36979" /> <!-- Life Stone: Hair Accessory --> <mineral id="36979" /> <!-- Life Stone: Hair Accessory -->
</fee> </fee>
<!-- Hair Accessory Spirit Stone --> <!-- Hair Accessory Spirit Stone -->
<fee itemGroup="61" itemId="2133" itemCount="30" cancelFee="6985600"> <!-- A-grade Gemstone --> <fee itemGroup="61" itemId="2133" itemCount="30" adenaFee="6985600" cancelFee="6985600"> <!-- A-grade Gemstone -->
<mineral id="45937" /> <!-- Hair Accessory Spirit Stone --> <mineral id="45937" /> <!-- Hair Accessory Spirit Stone -->
</fee> </fee>
<!-- Augmentation Practice Spirit Stone (46) --> <!-- Augmentation Practice Spirit Stone (46) -->
<fee itemGroup="62" itemId="36719" itemCount="20" cancelFee="100"> <!-- Augmentation Practice R-grade Gemstone --> <fee itemGroup="62" itemId="36719" itemCount="20" adenaFee="100" cancelFee="100"> <!-- Augmentation Practice R-grade Gemstone -->
<mineral id="36718" /> <!-- Augmentation Practice Spirit Stone (46) --> <mineral id="36718" /> <!-- Augmentation Practice Spirit Stone (46) -->
</fee> </fee>
</fees> </fees>

View File

@ -92,6 +92,7 @@
<xs:attribute type="xs:int" name="itemGroup" use="optional"/> <xs:attribute type="xs:int" name="itemGroup" use="optional"/>
<xs:attribute type="xs:int" name="itemId" 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="itemCount" use="optional"/>
<xs:attribute type="xs:long" name="adenaFee" use="optional"/>
<xs:attribute type="xs:long" name="cancelFee" use="optional"/> <xs:attribute type="xs:long" name="cancelFee" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{ {
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup"); final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId); final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId"); final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount"); final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee"); final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
if (ItemTable.getInstance().getTemplate(itemId) == null) final long cancelFee = parseLong(feeNode.getAttributes(), "cancelFee", 0L);
if ((itemId != 0) && (ItemTable.getInstance().getTemplate(itemId) == null))
{ {
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found."); LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
} }
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee); final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>(); final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode -> forEach(feeNode, "mineral", mineralNode ->
{ {

View File

@ -23,12 +23,14 @@ public class VariationFee
{ {
private final int _itemId; private final int _itemId;
private final long _itemCount; private final long _itemCount;
private final long _adenaFee;
private final long _cancelFee; private final long _cancelFee;
public VariationFee(int itemId, long itemCount, long cancelFee) public VariationFee(int itemId, long itemCount, long adenaFee, long cancelFee)
{ {
_itemId = itemId; _itemId = itemId;
_itemCount = itemCount; _itemCount = itemCount;
_adenaFee = adenaFee;
_cancelFee = cancelFee; _cancelFee = cancelFee;
} }
@ -42,6 +44,11 @@ public class VariationFee
return _itemCount; return _itemCount;
} }
public long getAdenaFee()
{
return _adenaFee;
}
public long getCancelFee() public long getCancelFee()
{ {
return _cancelFee; return _cancelFee;

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
final long adenaFee = fee.getAdenaFee();
if ((adenaFee > 0) && (player.getAdena() < adenaFee))
{
player.sendPacket(new ExVariationResult(0, 0, false));
player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId());
if (variation == null) if (variation == null)
{ {
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286). // Remove the augmentation if any (286).
if (targetItem.isAugmented()) if (targetItem.isAugmented())
{ {

View File

@ -12008,11 +12008,11 @@
</itemGroups> </itemGroups>
<fees> <fees>
<!-- Giant's Energy Spirit Stone --> <!-- Giant's Energy Spirit Stone -->
<fee itemGroup="0" itemId="19440" itemCount="118" cancelFee="6485800"> <!-- R-grade Gemstone --> <fee itemGroup="0" itemId="19440" itemCount="118" adenaFee="6485800" cancelFee="6485800"> <!-- R-grade Gemstone -->
<mineral id="36731" /> <!-- Giant's Energy Spirit Stone --> <mineral id="36731" /> <!-- Giant's Energy Spirit Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="0" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="0" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12020,7 +12020,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="1" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="1" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12028,7 +12028,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="2" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="2" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12036,129 +12036,129 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Superior Weapon Augmenting Stone --> <!-- Superior Weapon Augmenting Stone -->
<fee itemGroup="3" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="3" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="80130" /> <!-- Superior Weapon Augmenting Stone --> <mineral id="80130" /> <!-- Superior Weapon Augmenting Stone -->
</fee> </fee>
<!-- Aria's Spirit Stone --> <!-- Aria's Spirit Stone -->
<fee itemGroup="4" itemId="19440" itemCount="5" cancelFee="6985600"> <!-- R-grade Gemstone --> <fee itemGroup="4" itemId="19440" itemCount="5" adenaFee="6985600" cancelFee="6985600"> <!-- R-grade Gemstone -->
<mineral id="38571" /> <!-- Aria's Spirit Stone --> <mineral id="38571" /> <!-- Aria's Spirit Stone -->
<mineral id="47714" /> <!-- Rare Accessory Spirit Stone --> <mineral id="47714" /> <!-- Rare Accessory Spirit Stone -->
</fee> </fee>
<!-- Circlet Augmenting Stone --> <!-- Circlet Augmenting Stone -->
<fee itemGroup="5" itemId="19440" itemCount="1" cancelFee="698560"> <!-- R-grade Gemstone --> <fee itemGroup="5" itemId="19440" itemCount="1" adenaFee="698560" cancelFee="698560"> <!-- R-grade Gemstone -->
<mineral id="48215" /> <!-- Circlet Augmenting Stone --> <mineral id="48215" /> <!-- Circlet Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone --> <!-- Brooch Augmenting Stone -->
<fee itemGroup="6" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="6" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="47983" /> <!-- Brooch Augmenting Stone --> <mineral id="47983" /> <!-- Brooch Augmenting Stone -->
</fee> </fee>
<!-- Dragon Weapon Augmenting Stone --> <!-- Dragon Weapon Augmenting Stone -->
<fee itemGroup="7" itemId="19440" itemCount="10" cancelFee="17710000"> <!-- R-grade Gemstone --> <fee itemGroup="7" itemId="19440" itemCount="10" adenaFee="17710000" cancelFee="17710000"> <!-- R-grade Gemstone -->
<mineral id="81135" /> <!-- Dragon Weapon Augmenting Stone --> <mineral id="81135" /> <!-- Dragon Weapon Augmenting Stone -->
</fee> </fee>
<!-- Exalted Weapon Augmenting Stone --> <!-- Exalted Weapon Augmenting Stone -->
<fee itemGroup="8" itemId="19440" itemCount="1" cancelFee="100000"> <!-- R-grade Gemstone --> <fee itemGroup="8" itemId="19440" itemCount="1" adenaFee="100000" cancelFee="100000"> <!-- R-grade Gemstone -->
<mineral id="81489" /> <!-- Exalted Weapon Augmenting Stone --> <mineral id="81489" /> <!-- Exalted Weapon Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="9" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="9" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="10" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="10" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="11" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="11" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="12" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="12" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="13" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="13" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="14" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="14" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="15" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="15" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="16" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="16" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="17" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="17" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="18" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="18" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="19" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="19" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="20" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="20" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="21" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="21" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Dragon Skin Shirt Augmenting Stone --> <!-- Dragon Skin Shirt Augmenting Stone -->
<fee itemGroup="22" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="22" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81931" /> <!-- Dragon Skin Shirt Augmenting Stone --> <mineral id="81931" /> <!-- Dragon Skin Shirt Augmenting Stone -->
</fee> </fee>
<!-- Great Adenian Tattoo Augmenting Stone (Not available) --> <!-- Great Adenian Tattoo Augmenting Stone (Not available) -->
<fee itemGroup="23" itemId="2133" itemCount="26" cancelFee="2400000"> <!-- A-grade Gemstone --> <fee itemGroup="23" itemId="2133" itemCount="26" adenaFee="2400000" cancelFee="2400000"> <!-- A-grade Gemstone -->
<mineral id="23801" /> <!-- Great Adenian Tattoo Augmenting Stone (Not available) --> <mineral id="23801" /> <!-- Great Adenian Tattoo Augmenting Stone (Not available) -->
<mineral id="23804" /> <!-- Great Adenian Tattoo Augmenting Stone --> <mineral id="23804" /> <!-- Great Adenian Tattoo Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone --> <!-- Brooch Augmenting Stone -->
<fee itemGroup="24" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="24" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="28484" /> <!-- Brooch Augmenting Stone --> <mineral id="28484" /> <!-- Brooch Augmenting Stone -->
<mineral id="28539" /> <!-- Brooch Augmenting Stone --> <mineral id="28539" /> <!-- Brooch Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone (Rare) --> <!-- Brooch Augmenting Stone (Rare) -->
<fee itemGroup="25" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="25" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="28485" /> <!-- Brooch Augmenting Stone (Rare) --> <mineral id="28485" /> <!-- Brooch Augmenting Stone (Rare) -->
<mineral id="28530" /> <!-- Great Brooch Augmenting Stone (Rare) --> <mineral id="28530" /> <!-- Great Brooch Augmenting Stone (Rare) -->
<mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) --> <mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Ancient Kingdom --> <!-- Cloak Augmenting Stone - Ancient Kingdom -->
<fee itemGroup="26" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="26" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28597" /> <!-- Cloak Augmenting Stone - Ancient Kingdom --> <mineral id="28597" /> <!-- Cloak Augmenting Stone - Ancient Kingdom -->
<mineral id="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom --> <mineral id="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Elmoreden --> <!-- Cloak Augmenting Stone - Elmoreden -->
<fee itemGroup="27" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="27" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28598" /> <!-- Cloak Augmenting Stone - Elmoreden --> <mineral id="28598" /> <!-- Cloak Augmenting Stone - Elmoreden -->
<mineral id="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden --> <mineral id="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Aden --> <!-- Cloak Augmenting Stone - Aden -->
<fee itemGroup="28" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="28" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28599" /> <!-- Cloak Augmenting Stone - Aden --> <mineral id="28599" /> <!-- Cloak Augmenting Stone - Aden -->
<mineral id="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden --> <mineral id="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Elmore --> <!-- Cloak Augmenting Stone - Elmore -->
<fee itemGroup="29" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="29" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28600" /> <!-- Cloak Augmenting Stone - Elmore --> <mineral id="28600" /> <!-- Cloak Augmenting Stone - Elmore -->
<mineral id="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore --> <mineral id="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Ferios --> <!-- Cloak Augmenting Stone - Ferios -->
<fee itemGroup="30" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="30" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28601" /> <!-- Cloak Augmenting Stone - Ferios --> <mineral id="28601" /> <!-- Cloak Augmenting Stone - Ferios -->
<mineral id="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios --> <mineral id="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios -->
</fee> </fee>
<!-- Life Stone Lv. 84 --> <!-- Life Stone Lv. 84 -->
<fee itemGroup="31" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="31" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="10483" /> <!-- Life Stone Lv. 82 --> <mineral id="10483" /> <!-- Life Stone Lv. 82 -->
<mineral id="10484" /> <!-- Mid-grade Life Stone Lv. 82 --> <mineral id="10484" /> <!-- Mid-grade Life Stone Lv. 82 -->
<mineral id="10485" /> <!-- High-grade Life Stone Lv. 82 --> <mineral id="10485" /> <!-- High-grade Life Stone Lv. 82 -->
@ -12244,7 +12244,7 @@
<mineral id="9576" /> <!-- Top-grade Life Stone Lv. 80 --> <mineral id="9576" /> <!-- Top-grade Life Stone Lv. 80 -->
</fee> </fee>
<!-- Life Stone: Accessory Lv. 46 --> <!-- Life Stone: Accessory Lv. 46 -->
<fee itemGroup="45" itemId="2133" itemCount="236" cancelFee="9622600"> <!-- A-grade Gemstone --> <fee itemGroup="45" itemId="2133" itemCount="236" adenaFee="9622600" cancelFee="9622600"> <!-- A-grade Gemstone -->
<mineral id="12754" /> <!-- Life Stone: Accessory Lv. 46 --> <mineral id="12754" /> <!-- Life Stone: Accessory Lv. 46 -->
<mineral id="12755" /> <!-- Life Stone: Accessory Lv. 49 --> <mineral id="12755" /> <!-- Life Stone: Accessory Lv. 49 -->
<mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 --> <mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 -->
@ -12264,24 +12264,24 @@
<mineral id="19168" /> <!-- Life Stone: R99-grade Accessory --> <mineral id="19168" /> <!-- Life Stone: R99-grade Accessory -->
</fee> </fee>
<!-- Accessory Spirit Stone --> <!-- Accessory Spirit Stone -->
<fee itemGroup="45" itemId="19440" itemCount="8" cancelFee="8933800"> <!-- R-grade Gemstone --> <fee itemGroup="45" itemId="19440" itemCount="8" adenaFee="8933800" cancelFee="8933800"> <!-- R-grade Gemstone -->
<mineral id="45933" /> <!-- Accessory Spirit Stone --> <mineral id="45933" /> <!-- Accessory Spirit Stone -->
<mineral id="45934" /> <!-- Intermediate Accessory Spirit Stone --> <mineral id="45934" /> <!-- Intermediate Accessory Spirit Stone -->
<mineral id="45935" /> <!-- Advanced Accessory Spirit Stone --> <mineral id="45935" /> <!-- Advanced Accessory Spirit Stone -->
<mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone --> <mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone -->
</fee> </fee>
<!-- Life Stone: Hair Accessory (Event) --> <!-- Life Stone: Hair Accessory (Event) -->
<fee itemGroup="61" itemId="2133" itemCount="26" cancelFee="2400000"> <!-- A-grade Gemstone --> <fee itemGroup="61" itemId="2133" itemCount="26" adenaFee="2400000" cancelFee="2400000"> <!-- A-grade Gemstone -->
<mineral id="33819" /> <!-- Life Stone: Hair Accessory (Event) --> <mineral id="33819" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="34941" /> <!-- Life Stone: Hair Accessory (Event) --> <mineral id="34941" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="36979" /> <!-- Life Stone: Hair Accessory --> <mineral id="36979" /> <!-- Life Stone: Hair Accessory -->
</fee> </fee>
<!-- Hair Accessory Spirit Stone --> <!-- Hair Accessory Spirit Stone -->
<fee itemGroup="61" itemId="2133" itemCount="30" cancelFee="6985600"> <!-- A-grade Gemstone --> <fee itemGroup="61" itemId="2133" itemCount="30" adenaFee="6985600" cancelFee="6985600"> <!-- A-grade Gemstone -->
<mineral id="45937" /> <!-- Hair Accessory Spirit Stone --> <mineral id="45937" /> <!-- Hair Accessory Spirit Stone -->
</fee> </fee>
<!-- Augmentation Practice Spirit Stone (46) --> <!-- Augmentation Practice Spirit Stone (46) -->
<fee itemGroup="62" itemId="36719" itemCount="20" cancelFee="100"> <!-- Augmentation Practice R-grade Gemstone --> <fee itemGroup="62" itemId="36719" itemCount="20" adenaFee="100" cancelFee="100"> <!-- Augmentation Practice R-grade Gemstone -->
<mineral id="36718" /> <!-- Augmentation Practice Spirit Stone (46) --> <mineral id="36718" /> <!-- Augmentation Practice Spirit Stone (46) -->
</fee> </fee>
</fees> </fees>

View File

@ -92,6 +92,7 @@
<xs:attribute type="xs:int" name="itemGroup" use="optional"/> <xs:attribute type="xs:int" name="itemGroup" use="optional"/>
<xs:attribute type="xs:int" name="itemId" 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="itemCount" use="optional"/>
<xs:attribute type="xs:long" name="adenaFee" use="optional"/>
<xs:attribute type="xs:long" name="cancelFee" use="optional"/> <xs:attribute type="xs:long" name="cancelFee" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{ {
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup"); final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId); final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId"); final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount"); final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee"); final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
if (ItemTable.getInstance().getTemplate(itemId) == null) final long cancelFee = parseLong(feeNode.getAttributes(), "cancelFee", 0L);
if ((itemId != 0) && (ItemTable.getInstance().getTemplate(itemId) == null))
{ {
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found."); LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
} }
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee); final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>(); final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode -> forEach(feeNode, "mineral", mineralNode ->
{ {

View File

@ -23,12 +23,14 @@ public class VariationFee
{ {
private final int _itemId; private final int _itemId;
private final long _itemCount; private final long _itemCount;
private final long _adenaFee;
private final long _cancelFee; private final long _cancelFee;
public VariationFee(int itemId, long itemCount, long cancelFee) public VariationFee(int itemId, long itemCount, long adenaFee, long cancelFee)
{ {
_itemId = itemId; _itemId = itemId;
_itemCount = itemCount; _itemCount = itemCount;
_adenaFee = adenaFee;
_cancelFee = cancelFee; _cancelFee = cancelFee;
} }
@ -42,6 +44,11 @@ public class VariationFee
return _itemCount; return _itemCount;
} }
public long getAdenaFee()
{
return _adenaFee;
}
public long getCancelFee() public long getCancelFee()
{ {
return _cancelFee; return _cancelFee;

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
final long adenaFee = fee.getAdenaFee();
if ((adenaFee > 0) && (player.getAdena() < adenaFee))
{
player.sendPacket(new ExVariationResult(0, 0, false));
player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId());
if (variation == null) if (variation == null)
{ {
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286). // Remove the augmentation if any (286).
if (targetItem.isAugmented()) if (targetItem.isAugmented())
{ {

View File

@ -12008,11 +12008,11 @@
</itemGroups> </itemGroups>
<fees> <fees>
<!-- Giant's Energy Spirit Stone --> <!-- Giant's Energy Spirit Stone -->
<fee itemGroup="0" itemId="19440" itemCount="118" cancelFee="6485800"> <!-- R-grade Gemstone --> <fee itemGroup="0" itemId="19440" itemCount="118" adenaFee="6485800" cancelFee="6485800"> <!-- R-grade Gemstone -->
<mineral id="36731" /> <!-- Giant's Energy Spirit Stone --> <mineral id="36731" /> <!-- Giant's Energy Spirit Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="0" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="0" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12020,7 +12020,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="1" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="1" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12028,7 +12028,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Weapon Augmenting Stone --> <!-- Weapon Augmenting Stone -->
<fee itemGroup="2" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="2" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="45929" /> <!-- Weapon Augmenting Stone --> <mineral id="45929" /> <!-- Weapon Augmenting Stone -->
<mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone --> <mineral id="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12036,129 +12036,129 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone --> <mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee> </fee>
<!-- Superior Weapon Augmenting Stone --> <!-- Superior Weapon Augmenting Stone -->
<fee itemGroup="3" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="3" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="80130" /> <!-- Superior Weapon Augmenting Stone --> <mineral id="80130" /> <!-- Superior Weapon Augmenting Stone -->
</fee> </fee>
<!-- Aria's Spirit Stone --> <!-- Aria's Spirit Stone -->
<fee itemGroup="4" itemId="19440" itemCount="5" cancelFee="6985600"> <!-- R-grade Gemstone --> <fee itemGroup="4" itemId="19440" itemCount="5" adenaFee="6985600" cancelFee="6985600"> <!-- R-grade Gemstone -->
<mineral id="38571" /> <!-- Aria's Spirit Stone --> <mineral id="38571" /> <!-- Aria's Spirit Stone -->
<mineral id="47714" /> <!-- Rare Accessory Spirit Stone --> <mineral id="47714" /> <!-- Rare Accessory Spirit Stone -->
</fee> </fee>
<!-- Circlet Augmenting Stone --> <!-- Circlet Augmenting Stone -->
<fee itemGroup="5" itemId="19440" itemCount="1" cancelFee="698560"> <!-- R-grade Gemstone --> <fee itemGroup="5" itemId="19440" itemCount="1" adenaFee="698560" cancelFee="698560"> <!-- R-grade Gemstone -->
<mineral id="48215" /> <!-- Circlet Augmenting Stone --> <mineral id="48215" /> <!-- Circlet Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone --> <!-- Brooch Augmenting Stone -->
<fee itemGroup="6" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="6" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="47983" /> <!-- Brooch Augmenting Stone --> <mineral id="47983" /> <!-- Brooch Augmenting Stone -->
</fee> </fee>
<!-- Dragon Weapon Augmenting Stone --> <!-- Dragon Weapon Augmenting Stone -->
<fee itemGroup="7" itemId="19440" itemCount="10" cancelFee="17710000"> <!-- R-grade Gemstone --> <fee itemGroup="7" itemId="19440" itemCount="10" adenaFee="17710000" cancelFee="17710000"> <!-- R-grade Gemstone -->
<mineral id="81135" /> <!-- Dragon Weapon Augmenting Stone --> <mineral id="81135" /> <!-- Dragon Weapon Augmenting Stone -->
</fee> </fee>
<!-- Exalted Weapon Augmenting Stone --> <!-- Exalted Weapon Augmenting Stone -->
<fee itemGroup="8" itemId="19440" itemCount="1" cancelFee="100000"> <!-- R-grade Gemstone --> <fee itemGroup="8" itemId="19440" itemCount="1" adenaFee="100000" cancelFee="100000"> <!-- R-grade Gemstone -->
<mineral id="81489" /> <!-- Exalted Weapon Augmenting Stone --> <mineral id="81489" /> <!-- Exalted Weapon Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="9" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="9" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="10" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="10" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="11" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="11" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="12" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="12" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Armor Augmenting Stone --> <!-- Armor Augmenting Stone -->
<fee itemGroup="13" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="13" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81728" /> <!-- Armor Augmenting Stone --> <mineral id="81728" /> <!-- Armor Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="14" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="14" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="15" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="15" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="16" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="16" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="17" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="17" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="18" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="18" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="19" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="19" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="20" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="20" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Accessory Augmenting Stone --> <!-- Accessory Augmenting Stone -->
<fee itemGroup="21" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="21" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81729" /> <!-- Accessory Augmenting Stone --> <mineral id="81729" /> <!-- Accessory Augmenting Stone -->
</fee> </fee>
<!-- Dragon Skin Shirt Augmenting Stone --> <!-- Dragon Skin Shirt Augmenting Stone -->
<fee itemGroup="22" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="22" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="81931" /> <!-- Dragon Skin Shirt Augmenting Stone --> <mineral id="81931" /> <!-- Dragon Skin Shirt Augmenting Stone -->
</fee> </fee>
<!-- Great Adenian Tattoo Augmenting Stone (Not available) --> <!-- Great Adenian Tattoo Augmenting Stone (Not available) -->
<fee itemGroup="23" itemId="2133" itemCount="26" cancelFee="2400000"> <!-- A-grade Gemstone --> <fee itemGroup="23" itemId="2133" itemCount="26" adenaFee="2400000" cancelFee="2400000"> <!-- A-grade Gemstone -->
<mineral id="23801" /> <!-- Great Adenian Tattoo Augmenting Stone (Not available) --> <mineral id="23801" /> <!-- Great Adenian Tattoo Augmenting Stone (Not available) -->
<mineral id="23804" /> <!-- Great Adenian Tattoo Augmenting Stone --> <mineral id="23804" /> <!-- Great Adenian Tattoo Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone --> <!-- Brooch Augmenting Stone -->
<fee itemGroup="24" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="24" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="28484" /> <!-- Brooch Augmenting Stone --> <mineral id="28484" /> <!-- Brooch Augmenting Stone -->
<mineral id="28539" /> <!-- Brooch Augmenting Stone --> <mineral id="28539" /> <!-- Brooch Augmenting Stone -->
</fee> </fee>
<!-- Brooch Augmenting Stone (Rare) --> <!-- Brooch Augmenting Stone (Rare) -->
<fee itemGroup="25" itemId="19440" itemCount="10" cancelFee="130000"> <!-- R-grade Gemstone --> <fee itemGroup="25" itemId="19440" itemCount="10" adenaFee="130000" cancelFee="130000"> <!-- R-grade Gemstone -->
<mineral id="28485" /> <!-- Brooch Augmenting Stone (Rare) --> <mineral id="28485" /> <!-- Brooch Augmenting Stone (Rare) -->
<mineral id="28530" /> <!-- Great Brooch Augmenting Stone (Rare) --> <mineral id="28530" /> <!-- Great Brooch Augmenting Stone (Rare) -->
<mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) --> <mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Ancient Kingdom --> <!-- Cloak Augmenting Stone - Ancient Kingdom -->
<fee itemGroup="26" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="26" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28597" /> <!-- Cloak Augmenting Stone - Ancient Kingdom --> <mineral id="28597" /> <!-- Cloak Augmenting Stone - Ancient Kingdom -->
<mineral id="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom --> <mineral id="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Elmoreden --> <!-- Cloak Augmenting Stone - Elmoreden -->
<fee itemGroup="27" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="27" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28598" /> <!-- Cloak Augmenting Stone - Elmoreden --> <mineral id="28598" /> <!-- Cloak Augmenting Stone - Elmoreden -->
<mineral id="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden --> <mineral id="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Aden --> <!-- Cloak Augmenting Stone - Aden -->
<fee itemGroup="28" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="28" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28599" /> <!-- Cloak Augmenting Stone - Aden --> <mineral id="28599" /> <!-- Cloak Augmenting Stone - Aden -->
<mineral id="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden --> <mineral id="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Elmore --> <!-- Cloak Augmenting Stone - Elmore -->
<fee itemGroup="29" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="29" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28600" /> <!-- Cloak Augmenting Stone - Elmore --> <mineral id="28600" /> <!-- Cloak Augmenting Stone - Elmore -->
<mineral id="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore --> <mineral id="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore -->
</fee> </fee>
<!-- Cloak Augmenting Stone - Ferios --> <!-- Cloak Augmenting Stone - Ferios -->
<fee itemGroup="30" itemId="2133" itemCount="6" cancelFee="700000"> <!-- A-grade Gemstone --> <fee itemGroup="30" itemId="2133" itemCount="6" adenaFee="700000" cancelFee="700000"> <!-- A-grade Gemstone -->
<mineral id="28601" /> <!-- Cloak Augmenting Stone - Ferios --> <mineral id="28601" /> <!-- Cloak Augmenting Stone - Ferios -->
<mineral id="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios --> <mineral id="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios -->
</fee> </fee>
<!-- Life Stone Lv. 84 --> <!-- Life Stone Lv. 84 -->
<fee itemGroup="31" itemId="19440" itemCount="7" cancelFee="12650000"> <!-- R-grade Gemstone --> <fee itemGroup="31" itemId="19440" itemCount="7" adenaFee="12650000" cancelFee="12650000"> <!-- R-grade Gemstone -->
<mineral id="10483" /> <!-- Life Stone Lv. 82 --> <mineral id="10483" /> <!-- Life Stone Lv. 82 -->
<mineral id="10484" /> <!-- Mid-grade Life Stone Lv. 82 --> <mineral id="10484" /> <!-- Mid-grade Life Stone Lv. 82 -->
<mineral id="10485" /> <!-- High-grade Life Stone Lv. 82 --> <mineral id="10485" /> <!-- High-grade Life Stone Lv. 82 -->
@ -12244,7 +12244,7 @@
<mineral id="9576" /> <!-- Top-grade Life Stone Lv. 80 --> <mineral id="9576" /> <!-- Top-grade Life Stone Lv. 80 -->
</fee> </fee>
<!-- Life Stone: Accessory Lv. 46 --> <!-- Life Stone: Accessory Lv. 46 -->
<fee itemGroup="45" itemId="2133" itemCount="236" cancelFee="9622600"> <!-- A-grade Gemstone --> <fee itemGroup="45" itemId="2133" itemCount="236" adenaFee="9622600" cancelFee="9622600"> <!-- A-grade Gemstone -->
<mineral id="12754" /> <!-- Life Stone: Accessory Lv. 46 --> <mineral id="12754" /> <!-- Life Stone: Accessory Lv. 46 -->
<mineral id="12755" /> <!-- Life Stone: Accessory Lv. 49 --> <mineral id="12755" /> <!-- Life Stone: Accessory Lv. 49 -->
<mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 --> <mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 -->
@ -12264,24 +12264,24 @@
<mineral id="19168" /> <!-- Life Stone: R99-grade Accessory --> <mineral id="19168" /> <!-- Life Stone: R99-grade Accessory -->
</fee> </fee>
<!-- Accessory Spirit Stone --> <!-- Accessory Spirit Stone -->
<fee itemGroup="45" itemId="19440" itemCount="8" cancelFee="8933800"> <!-- R-grade Gemstone --> <fee itemGroup="45" itemId="19440" itemCount="8" adenaFee="8933800" cancelFee="8933800"> <!-- R-grade Gemstone -->
<mineral id="45933" /> <!-- Accessory Spirit Stone --> <mineral id="45933" /> <!-- Accessory Spirit Stone -->
<mineral id="45934" /> <!-- Intermediate Accessory Spirit Stone --> <mineral id="45934" /> <!-- Intermediate Accessory Spirit Stone -->
<mineral id="45935" /> <!-- Advanced Accessory Spirit Stone --> <mineral id="45935" /> <!-- Advanced Accessory Spirit Stone -->
<mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone --> <mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone -->
</fee> </fee>
<!-- Life Stone: Hair Accessory (Event) --> <!-- Life Stone: Hair Accessory (Event) -->
<fee itemGroup="61" itemId="2133" itemCount="26" cancelFee="2400000"> <!-- A-grade Gemstone --> <fee itemGroup="61" itemId="2133" itemCount="26" adenaFee="2400000" cancelFee="2400000"> <!-- A-grade Gemstone -->
<mineral id="33819" /> <!-- Life Stone: Hair Accessory (Event) --> <mineral id="33819" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="34941" /> <!-- Life Stone: Hair Accessory (Event) --> <mineral id="34941" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="36979" /> <!-- Life Stone: Hair Accessory --> <mineral id="36979" /> <!-- Life Stone: Hair Accessory -->
</fee> </fee>
<!-- Hair Accessory Spirit Stone --> <!-- Hair Accessory Spirit Stone -->
<fee itemGroup="61" itemId="2133" itemCount="30" cancelFee="6985600"> <!-- A-grade Gemstone --> <fee itemGroup="61" itemId="2133" itemCount="30" adenaFee="6985600" cancelFee="6985600"> <!-- A-grade Gemstone -->
<mineral id="45937" /> <!-- Hair Accessory Spirit Stone --> <mineral id="45937" /> <!-- Hair Accessory Spirit Stone -->
</fee> </fee>
<!-- Augmentation Practice Spirit Stone (46) --> <!-- Augmentation Practice Spirit Stone (46) -->
<fee itemGroup="62" itemId="36719" itemCount="20" cancelFee="100"> <!-- Augmentation Practice R-grade Gemstone --> <fee itemGroup="62" itemId="36719" itemCount="20" adenaFee="100" cancelFee="100"> <!-- Augmentation Practice R-grade Gemstone -->
<mineral id="36718" /> <!-- Augmentation Practice Spirit Stone (46) --> <mineral id="36718" /> <!-- Augmentation Practice Spirit Stone (46) -->
</fee> </fee>
</fees> </fees>

View File

@ -92,6 +92,7 @@
<xs:attribute type="xs:int" name="itemGroup" use="optional"/> <xs:attribute type="xs:int" name="itemGroup" use="optional"/>
<xs:attribute type="xs:int" name="itemId" 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="itemCount" use="optional"/>
<xs:attribute type="xs:long" name="adenaFee" use="optional"/>
<xs:attribute type="xs:long" name="cancelFee" use="optional"/> <xs:attribute type="xs:long" name="cancelFee" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{ {
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup"); final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId); final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId"); final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount"); final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee"); final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
if (ItemTable.getInstance().getTemplate(itemId) == null) final long cancelFee = parseLong(feeNode.getAttributes(), "cancelFee", 0L);
if ((itemId != 0) && (ItemTable.getInstance().getTemplate(itemId) == null))
{ {
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found."); LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
} }
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee); final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>(); final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode -> forEach(feeNode, "mineral", mineralNode ->
{ {

View File

@ -23,12 +23,14 @@ public class VariationFee
{ {
private final int _itemId; private final int _itemId;
private final long _itemCount; private final long _itemCount;
private final long _adenaFee;
private final long _cancelFee; private final long _cancelFee;
public VariationFee(int itemId, long itemCount, long cancelFee) public VariationFee(int itemId, long itemCount, long adenaFee, long cancelFee)
{ {
_itemId = itemId; _itemId = itemId;
_itemCount = itemCount; _itemCount = itemCount;
_adenaFee = adenaFee;
_cancelFee = cancelFee; _cancelFee = cancelFee;
} }
@ -42,6 +44,11 @@ public class VariationFee
return _itemCount; return _itemCount;
} }
public long getAdenaFee()
{
return _adenaFee;
}
public long getCancelFee() public long getCancelFee()
{ {
return _cancelFee; return _cancelFee;

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
final long adenaFee = fee.getAdenaFee();
if ((adenaFee > 0) && (player.getAdena() < adenaFee))
{
player.sendPacket(new ExVariationResult(0, 0, false));
player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId());
if (variation == null) if (variation == null)
{ {
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286). // Remove the augmentation if any (286).
if (targetItem.isAugmented()) if (targetItem.isAugmented())
{ {

View File

@ -1449,11 +1449,11 @@
<mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon --> <mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon -->
</fee> </fee>
<!-- Life Stone Lv.1 - Weapon --> <!-- Life Stone Lv.1 - Weapon -->
<fee itemGroup="1" itemId="57" itemCount="300000" cancelFee="720000"> <fee itemGroup="1" adenaFee="300000" cancelFee="720000">
<mineral id="94185" /> <!-- Life Stone Lv.1 - Weapon --> <mineral id="94185" /> <!-- Life Stone Lv.1 - Weapon -->
</fee> </fee>
<!-- Life Stone Lv.2 - Weapon --> <!-- Life Stone Lv.2 - Weapon -->
<fee itemGroup="1" itemId="57" itemCount="900000" cancelFee="1720000"> <fee itemGroup="1" adenaFee="900000" cancelFee="1720000">
<mineral id="94186" /> <!-- Life Stone Lv.2 - Weapon --> <mineral id="94186" /> <!-- Life Stone Lv.2 - Weapon -->
</fee> </fee>
@ -1466,55 +1466,55 @@
<mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory --> <mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Chest --> <!-- Life Stone Lv. 1 - Armor Chest -->
<fee itemGroup="3" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="3" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Chest --> <!-- Life Stone Lv. 2 - Armor Chest -->
<fee itemGroup="3" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="3" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Boots --> <!-- Life Stone Lv. 1 - Armor Boots -->
<fee itemGroup="4" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="4" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Boots --> <!-- Life Stone Lv. 2 - Armor Boots -->
<fee itemGroup="4" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="4" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Gloves --> <!-- Life Stone Lv. 1 - Armor Gloves -->
<fee itemGroup="5" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="5" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Gloves --> <!-- Life Stone Lv. 2 - Armor Gloves -->
<fee itemGroup="5" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="5" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Helmet --> <!-- Life Stone Lv. 1 - Armor Helmet -->
<fee itemGroup="6" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="6" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Helmet --> <!-- Life Stone Lv. 2 - Armor Helmet -->
<fee itemGroup="6" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="6" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Legs --> <!-- Life Stone Lv. 1 - Armor Legs -->
<fee itemGroup="7" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="7" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Legs --> <!-- Life Stone Lv. 2 - Armor Legs -->
<fee itemGroup="7" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="7" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Shield/Sigil --> <!-- Life Stone Lv. 1 - Shield/Sigil -->
<fee itemGroup="8" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="8" adenaFee="100000" cancelFee="1000000">
<mineral id="93121" /> <!-- Life Stone Lv. 1- Shield/Sigil --> <mineral id="93121" /> <!-- Life Stone Lv. 1- Shield/Sigil -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Shield/Sigil --> <!-- Life Stone Lv. 2 - Shield/Sigil -->
<fee itemGroup="8" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="8" adenaFee="300000" cancelFee="1000000">
<mineral id="93122" /> <!-- Life Stone Lv. 2 - Shield/Sigil --> <mineral id="93122" /> <!-- Life Stone Lv. 2 - Shield/Sigil -->
</fee> </fee>
<!-- Life Stone - Circlet --> <!-- Life Stone - Circlet -->
<fee itemGroup="9" itemId="57" itemCount="900000" cancelFee="1000000"> <fee itemGroup="9" adenaFee="900000" cancelFee="1000000">
<mineral id="94303" /> <!-- Life Stone - Circlet --> <mineral id="94303" /> <!-- Life Stone - Circlet -->
</fee> </fee>
</fees> </fees>

View File

@ -92,6 +92,7 @@
<xs:attribute type="xs:int" name="itemGroup" use="optional"/> <xs:attribute type="xs:int" name="itemGroup" use="optional"/>
<xs:attribute type="xs:int" name="itemId" 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="itemCount" use="optional"/>
<xs:attribute type="xs:long" name="adenaFee" use="optional"/>
<xs:attribute type="xs:long" name="cancelFee" use="optional"/> <xs:attribute type="xs:long" name="cancelFee" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{ {
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup"); final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId); final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId"); final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount"); final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee"); final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
if (ItemTable.getInstance().getTemplate(itemId) == null) final long cancelFee = parseLong(feeNode.getAttributes(), "cancelFee", 0L);
if ((itemId != 0) && (ItemTable.getInstance().getTemplate(itemId) == null))
{ {
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found."); LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
} }
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee); final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>(); final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode -> forEach(feeNode, "mineral", mineralNode ->
{ {

View File

@ -23,12 +23,14 @@ public class VariationFee
{ {
private final int _itemId; private final int _itemId;
private final long _itemCount; private final long _itemCount;
private final long _adenaFee;
private final long _cancelFee; private final long _cancelFee;
public VariationFee(int itemId, long itemCount, long cancelFee) public VariationFee(int itemId, long itemCount, long adenaFee, long cancelFee)
{ {
_itemId = itemId; _itemId = itemId;
_itemCount = itemCount; _itemCount = itemCount;
_adenaFee = adenaFee;
_cancelFee = cancelFee; _cancelFee = cancelFee;
} }
@ -42,6 +44,11 @@ public class VariationFee
return _itemCount; return _itemCount;
} }
public long getAdenaFee()
{
return _adenaFee;
}
public long getCancelFee() public long getCancelFee()
{ {
return _cancelFee; return _cancelFee;

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
final long adenaFee = fee.getAdenaFee();
if ((adenaFee > 0) && (player.getAdena() < adenaFee))
{
player.sendPacket(new ExVariationResult(0, 0, false));
player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId());
if (variation == null) if (variation == null)
{ {
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286). // Remove the augmentation if any (286).
if (targetItem.isAugmented()) if (targetItem.isAugmented())
{ {

View File

@ -1562,11 +1562,11 @@
<mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon --> <mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon -->
</fee> </fee>
<!-- Life Stone Lv.1 - Weapon --> <!-- Life Stone Lv.1 - Weapon -->
<fee itemGroup="1" itemId="57" itemCount="3000000" cancelFee="720000"> <fee itemGroup="1" adenaFee="300000" cancelFee="720000">
<mineral id="94185" /> <!-- Life Stone Lv.1 - Weapon --> <mineral id="94185" /> <!-- Life Stone Lv.1 - Weapon -->
</fee> </fee>
<!-- Life Stone Lv.2 - Weapon --> <!-- Life Stone Lv.2 - Weapon -->
<fee itemGroup="1" itemId="57" itemCount="900000" cancelFee="1720000"> <fee itemGroup="1" adenaFee="900000" cancelFee="1720000">
<mineral id="94186" /> <!-- Life Stone Lv.2 - Weapon --> <mineral id="94186" /> <!-- Life Stone Lv.2 - Weapon -->
</fee> </fee>
@ -1579,55 +1579,55 @@
<mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory --> <mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Chest --> <!-- Life Stone Lv. 1 - Armor Chest -->
<fee itemGroup="3" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="3" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Chest --> <!-- Life Stone Lv. 2 - Armor Chest -->
<fee itemGroup="3" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="3" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Boots --> <!-- Life Stone Lv. 1 - Armor Boots -->
<fee itemGroup="4" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="4" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Boots --> <!-- Life Stone Lv. 2 - Armor Boots -->
<fee itemGroup="4" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="4" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Gloves --> <!-- Life Stone Lv. 1 - Armor Gloves -->
<fee itemGroup="5" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="5" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Gloves --> <!-- Life Stone Lv. 2 - Armor Gloves -->
<fee itemGroup="5" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="5" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Helmet --> <!-- Life Stone Lv. 1 - Armor Helmet -->
<fee itemGroup="6" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="6" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Helmet --> <!-- Life Stone Lv. 2 - Armor Helmet -->
<fee itemGroup="6" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="6" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Legs --> <!-- Life Stone Lv. 1 - Armor Legs -->
<fee itemGroup="7" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="7" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Legs --> <!-- Life Stone Lv. 2 - Armor Legs -->
<fee itemGroup="7" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="7" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Shield/Sigil --> <!-- Life Stone Lv. 1 - Shield/Sigil -->
<fee itemGroup="8" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="8" adenaFee="100000" cancelFee="1000000">
<mineral id="93121" /> <!-- Life Stone Lv. 1- Shield/Sigil --> <mineral id="93121" /> <!-- Life Stone Lv. 1- Shield/Sigil -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Shield/Sigil --> <!-- Life Stone Lv. 2 - Shield/Sigil -->
<fee itemGroup="8" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="8" adenaFee="300000" cancelFee="1000000">
<mineral id="93122" /> <!-- Life Stone Lv. 2 - Shield/Sigil --> <mineral id="93122" /> <!-- Life Stone Lv. 2 - Shield/Sigil -->
</fee> </fee>
<!-- Life Stone - Circlet --> <!-- Life Stone - Circlet -->
<fee itemGroup="9" itemId="57" itemCount="900000" cancelFee="1000000"> <fee itemGroup="9" adenaFee="900000" cancelFee="1000000">
<mineral id="94303" /> <!-- Life Stone - Circlet --> <mineral id="94303" /> <!-- Life Stone - Circlet -->
</fee> </fee>
</fees> </fees>

View File

@ -92,6 +92,7 @@
<xs:attribute type="xs:int" name="itemGroup" use="optional"/> <xs:attribute type="xs:int" name="itemGroup" use="optional"/>
<xs:attribute type="xs:int" name="itemId" 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="itemCount" use="optional"/>
<xs:attribute type="xs:long" name="adenaFee" use="optional"/>
<xs:attribute type="xs:long" name="cancelFee" use="optional"/> <xs:attribute type="xs:long" name="cancelFee" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{ {
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup"); final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId); final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId"); final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount"); final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee"); final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
if (ItemTable.getInstance().getTemplate(itemId) == null) final long cancelFee = parseLong(feeNode.getAttributes(), "cancelFee", 0L);
if ((itemId != 0) && (ItemTable.getInstance().getTemplate(itemId) == null))
{ {
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found."); LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
} }
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee); final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>(); final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode -> forEach(feeNode, "mineral", mineralNode ->
{ {

View File

@ -23,12 +23,14 @@ public class VariationFee
{ {
private final int _itemId; private final int _itemId;
private final long _itemCount; private final long _itemCount;
private final long _adenaFee;
private final long _cancelFee; private final long _cancelFee;
public VariationFee(int itemId, long itemCount, long cancelFee) public VariationFee(int itemId, long itemCount, long adenaFee, long cancelFee)
{ {
_itemId = itemId; _itemId = itemId;
_itemCount = itemCount; _itemCount = itemCount;
_adenaFee = adenaFee;
_cancelFee = cancelFee; _cancelFee = cancelFee;
} }
@ -42,6 +44,11 @@ public class VariationFee
return _itemCount; return _itemCount;
} }
public long getAdenaFee()
{
return _adenaFee;
}
public long getCancelFee() public long getCancelFee()
{ {
return _cancelFee; return _cancelFee;

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
final long adenaFee = fee.getAdenaFee();
if ((adenaFee > 0) && (player.getAdena() < adenaFee))
{
player.sendPacket(new ExVariationResult(0, 0, false));
player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId());
if (variation == null) if (variation == null)
{ {
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286). // Remove the augmentation if any (286).
if (targetItem.isAugmented()) if (targetItem.isAugmented())
{ {

View File

@ -1562,11 +1562,11 @@
<mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon --> <mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon -->
</fee> </fee>
<!-- Life Stone Lv.1 - Weapon --> <!-- Life Stone Lv.1 - Weapon -->
<fee itemGroup="1" itemId="57" itemCount="3000000" cancelFee="720000"> <fee itemGroup="1" adenaFee="300000" cancelFee="720000">
<mineral id="94185" /> <!-- Life Stone Lv.1 - Weapon --> <mineral id="94185" /> <!-- Life Stone Lv.1 - Weapon -->
</fee> </fee>
<!-- Life Stone Lv.2 - Weapon --> <!-- Life Stone Lv.2 - Weapon -->
<fee itemGroup="1" itemId="57" itemCount="900000" cancelFee="1720000"> <fee itemGroup="1" adenaFee="900000" cancelFee="1720000">
<mineral id="94186" /> <!-- Life Stone Lv.2 - Weapon --> <mineral id="94186" /> <!-- Life Stone Lv.2 - Weapon -->
</fee> </fee>
@ -1579,55 +1579,55 @@
<mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory --> <mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Chest --> <!-- Life Stone Lv. 1 - Armor Chest -->
<fee itemGroup="3" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="3" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Chest --> <!-- Life Stone Lv. 2 - Armor Chest -->
<fee itemGroup="3" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="3" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Boots --> <!-- Life Stone Lv. 1 - Armor Boots -->
<fee itemGroup="4" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="4" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Boots --> <!-- Life Stone Lv. 2 - Armor Boots -->
<fee itemGroup="4" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="4" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Gloves --> <!-- Life Stone Lv. 1 - Armor Gloves -->
<fee itemGroup="5" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="5" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Gloves --> <!-- Life Stone Lv. 2 - Armor Gloves -->
<fee itemGroup="5" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="5" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Helmet --> <!-- Life Stone Lv. 1 - Armor Helmet -->
<fee itemGroup="6" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="6" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Helmet --> <!-- Life Stone Lv. 2 - Armor Helmet -->
<fee itemGroup="6" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="6" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Armor Legs --> <!-- Life Stone Lv. 1 - Armor Legs -->
<fee itemGroup="7" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="7" adenaFee="100000" cancelFee="1000000">
<mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor --> <mineral id="94187" /> <!-- Life Stone Lv. 1 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Armor Legs --> <!-- Life Stone Lv. 2 - Armor Legs -->
<fee itemGroup="7" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="7" adenaFee="300000" cancelFee="1000000">
<mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor --> <mineral id="94188" /> <!-- Life Stone Lv. 2 - Armor -->
</fee> </fee>
<!-- Life Stone Lv. 1 - Shield/Sigil --> <!-- Life Stone Lv. 1 - Shield/Sigil -->
<fee itemGroup="8" itemId="57" itemCount="100000" cancelFee="1000000"> <fee itemGroup="8" adenaFee="100000" cancelFee="1000000">
<mineral id="93121" /> <!-- Life Stone Lv. 1- Shield/Sigil --> <mineral id="93121" /> <!-- Life Stone Lv. 1- Shield/Sigil -->
</fee> </fee>
<!-- Life Stone Lv. 2 - Shield/Sigil --> <!-- Life Stone Lv. 2 - Shield/Sigil -->
<fee itemGroup="8" itemId="57" itemCount="300000" cancelFee="1000000"> <fee itemGroup="8" adenaFee="300000" cancelFee="1000000">
<mineral id="93122" /> <!-- Life Stone Lv. 2 - Shield/Sigil --> <mineral id="93122" /> <!-- Life Stone Lv. 2 - Shield/Sigil -->
</fee> </fee>
<!-- Life Stone - Circlet --> <!-- Life Stone - Circlet -->
<fee itemGroup="9" itemId="57" itemCount="900000" cancelFee="1000000"> <fee itemGroup="9" adenaFee="900000" cancelFee="1000000">
<mineral id="94303" /> <!-- Life Stone - Circlet --> <mineral id="94303" /> <!-- Life Stone - Circlet -->
</fee> </fee>
</fees> </fees>

View File

@ -92,6 +92,7 @@
<xs:attribute type="xs:int" name="itemGroup" use="optional"/> <xs:attribute type="xs:int" name="itemGroup" use="optional"/>
<xs:attribute type="xs:int" name="itemId" 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="itemCount" use="optional"/>
<xs:attribute type="xs:long" name="adenaFee" use="optional"/>
<xs:attribute type="xs:long" name="cancelFee" use="optional"/> <xs:attribute type="xs:long" name="cancelFee" use="optional"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{ {
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup"); final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId); final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId"); final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount"); final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee"); final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
if (ItemTable.getInstance().getTemplate(itemId) == null) final long cancelFee = parseLong(feeNode.getAttributes(), "cancelFee", 0L);
if ((itemId != 0) && (ItemTable.getInstance().getTemplate(itemId) == null))
{ {
LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found."); LOGGER.warning(getClass().getSimpleName() + ": Item with id " + itemId + " was not found.");
} }
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee); final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>(); final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode -> forEach(feeNode, "mineral", mineralNode ->
{ {

View File

@ -23,12 +23,14 @@ public class VariationFee
{ {
private final int _itemId; private final int _itemId;
private final long _itemCount; private final long _itemCount;
private final long _adenaFee;
private final long _cancelFee; private final long _cancelFee;
public VariationFee(int itemId, long itemCount, long cancelFee) public VariationFee(int itemId, long itemCount, long adenaFee, long cancelFee)
{ {
_itemId = itemId; _itemId = itemId;
_itemCount = itemCount; _itemCount = itemCount;
_adenaFee = adenaFee;
_cancelFee = cancelFee; _cancelFee = cancelFee;
} }
@ -42,6 +44,11 @@ public class VariationFee
return _itemCount; return _itemCount;
} }
public long getAdenaFee()
{
return _adenaFee;
}
public long getCancelFee() public long getCancelFee()
{ {
return _cancelFee; return _cancelFee;

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
final long adenaFee = fee.getAdenaFee();
if ((adenaFee > 0) && (player.getAdena() < adenaFee))
{
player.sendPacket(new ExVariationResult(0, 0, false));
player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
return;
}
final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId()); final Variation variation = VariationData.getInstance().getVariation(mineralItem.getId());
if (variation == null) if (variation == null)
{ {
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return; return;
} }
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286). // Remove the augmentation if any (286).
if (targetItem.isAugmented()) if (targetItem.isAugmented())
{ {