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>
<fees>
<!-- 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 -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -11597,7 +11597,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -11605,7 +11605,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -11613,132 +11613,132 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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 -->
</fee>
<!-- 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="47714" /> <!-- Rare Accessory Spirit Stone -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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="23800" /> <!-- Major Adenian Augmenting Stone (Not available) -->
<mineral id="23802" /> <!-- Adenian Augmenting Stone -->
<mineral id="23803" /> <!-- Major Adenian Augmenting Stone -->
</fee>
<!-- 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="23804" /> <!-- Great Adenian Tattoo Augmenting Stone -->
</fee>
<!-- 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="28539" /> <!-- Brooch Augmenting Stone -->
</fee>
<!-- 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="28530" /> <!-- Great Brooch Augmenting Stone (Rare) -->
<mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) -->
</fee>
<!-- 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="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom -->
</fee>
<!-- 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="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden -->
</fee>
<!-- 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="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden -->
</fee>
<!-- 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="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore -->
</fee>
<!-- 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="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios -->
</fee>
<!-- 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="10484" /> <!-- Mid-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 -->
</fee>
<!-- 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="12755" /> <!-- Life Stone: Accessory Lv. 49 -->
<mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 -->
@ -11844,24 +11844,24 @@
<mineral id="19168" /> <!-- Life Stone: R99-grade Accessory -->
</fee>
<!-- 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="45934" /> <!-- Intermediate Accessory Spirit Stone -->
<mineral id="45935" /> <!-- Advanced Accessory Spirit Stone -->
<mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone -->
</fee>
<!-- 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="34941" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="36979" /> <!-- Life Stone: Hair Accessory -->
</fee>
<!-- 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 -->
</fee>
<!-- 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) -->
</fee>
</fees>

View File

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

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId");
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount");
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee");
if (ItemTable.getInstance().getTemplate(itemId) == null)
final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
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.");
}
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee);
final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode ->
{

View File

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

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
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());
if (variation == null)
{
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return;
}
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286).
if (targetItem.isAugmented())
{

View File

@ -12008,11 +12008,11 @@
</itemGroups>
<fees>
<!-- 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 -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12020,7 +12020,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12028,7 +12028,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12036,129 +12036,129 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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 -->
</fee>
<!-- 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="47714" /> <!-- Rare Accessory Spirit Stone -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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="23804" /> <!-- Great Adenian Tattoo Augmenting Stone -->
</fee>
<!-- 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="28539" /> <!-- Brooch Augmenting Stone -->
</fee>
<!-- 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="28530" /> <!-- Great Brooch Augmenting Stone (Rare) -->
<mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) -->
</fee>
<!-- 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="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom -->
</fee>
<!-- 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="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden -->
</fee>
<!-- 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="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden -->
</fee>
<!-- 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="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore -->
</fee>
<!-- 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="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios -->
</fee>
<!-- 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="10484" /> <!-- Mid-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 -->
</fee>
<!-- 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="12755" /> <!-- Life Stone: Accessory Lv. 49 -->
<mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 -->
@ -12264,24 +12264,24 @@
<mineral id="19168" /> <!-- Life Stone: R99-grade Accessory -->
</fee>
<!-- 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="45934" /> <!-- Intermediate Accessory Spirit Stone -->
<mineral id="45935" /> <!-- Advanced Accessory Spirit Stone -->
<mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone -->
</fee>
<!-- 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="34941" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="36979" /> <!-- Life Stone: Hair Accessory -->
</fee>
<!-- 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 -->
</fee>
<!-- 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) -->
</fee>
</fees>

View File

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

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId");
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount");
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee");
if (ItemTable.getInstance().getTemplate(itemId) == null)
final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
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.");
}
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee);
final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode ->
{

View File

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

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
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());
if (variation == null)
{
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return;
}
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286).
if (targetItem.isAugmented())
{

View File

@ -12008,11 +12008,11 @@
</itemGroups>
<fees>
<!-- 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 -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12020,7 +12020,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12028,7 +12028,7 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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="45930" /> <!-- Mid-grade Weapon Augmenting Stone -->
<mineral id="45931" /> <!-- High-grade Weapon Augmenting Stone -->
@ -12036,129 +12036,129 @@
<mineral id="47503" /> <!-- High-grade Weapon Augmenting Stone -->
</fee>
<!-- 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 -->
</fee>
<!-- 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="47714" /> <!-- Rare Accessory Spirit Stone -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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="23804" /> <!-- Great Adenian Tattoo Augmenting Stone -->
</fee>
<!-- 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="28539" /> <!-- Brooch Augmenting Stone -->
</fee>
<!-- 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="28530" /> <!-- Great Brooch Augmenting Stone (Rare) -->
<mineral id="28540" /> <!-- Brooch Augmenting Stone (Rare) -->
</fee>
<!-- 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="29165" /> <!-- High-grade Cloak Augmenting Stone - Ancient Kingdom -->
</fee>
<!-- 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="29166" /> <!-- High-grade Cloak Augmenting Stone - Elmoreden -->
</fee>
<!-- 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="29167" /> <!-- High-grade Cloak Augmenting Stone - Aden -->
</fee>
<!-- 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="29168" /> <!-- High-grade Cloak Augmenting Stone - Elmore -->
</fee>
<!-- 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="29169" /> <!-- High-grade Cloak Augmenting Stone - Ferios -->
</fee>
<!-- 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="10484" /> <!-- Mid-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 -->
</fee>
<!-- 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="12755" /> <!-- Life Stone: Accessory Lv. 49 -->
<mineral id="12756" /> <!-- Life Stone: Accessory Lv. 52 -->
@ -12264,24 +12264,24 @@
<mineral id="19168" /> <!-- Life Stone: R99-grade Accessory -->
</fee>
<!-- 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="45934" /> <!-- Intermediate Accessory Spirit Stone -->
<mineral id="45935" /> <!-- Advanced Accessory Spirit Stone -->
<mineral id="45936" /> <!-- Top-grade Accessory Spirit Stone -->
</fee>
<!-- 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="34941" /> <!-- Life Stone: Hair Accessory (Event) -->
<mineral id="36979" /> <!-- Life Stone: Hair Accessory -->
</fee>
<!-- 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 -->
</fee>
<!-- 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) -->
</fee>
</fees>

View File

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

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId");
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount");
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee");
if (ItemTable.getInstance().getTemplate(itemId) == null)
final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
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.");
}
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee);
final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode ->
{

View File

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

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
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());
if (variation == null)
{
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return;
}
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286).
if (targetItem.isAugmented())
{

View File

@ -1449,11 +1449,11 @@
<mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
@ -1466,55 +1466,55 @@
<mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
</fees>

View File

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

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId");
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount");
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee");
if (ItemTable.getInstance().getTemplate(itemId) == null)
final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
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.");
}
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee);
final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode ->
{

View File

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

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
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());
if (variation == null)
{
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return;
}
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286).
if (targetItem.isAugmented())
{

View File

@ -1562,11 +1562,11 @@
<mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
@ -1579,55 +1579,55 @@
<mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
</fees>

View File

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

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId");
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount");
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee");
if (ItemTable.getInstance().getTemplate(itemId) == null)
final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
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.");
}
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee);
final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode ->
{

View File

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

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
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());
if (variation == null)
{
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return;
}
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286).
if (targetItem.isAugmented())
{

View File

@ -1562,11 +1562,11 @@
<mineral id="90015" /> <!-- Top-Grade Life Stone - Weapon -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
@ -1579,55 +1579,55 @@
<mineral id="90857" /> <!-- Life Stone Lv. 2 - Hair Accessory -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
<!-- 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 -->
</fee>
</fees>

View File

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

View File

@ -167,15 +167,16 @@ public class VariationData implements IXmlReader
{
final int itemGroupId = parseInteger(feeNode.getAttributes(), "itemGroup");
final List<Integer> itemGroup = itemGroups.get(itemGroupId);
final int itemId = parseInteger(feeNode.getAttributes(), "itemId");
final int itemCount = parseInteger(feeNode.getAttributes(), "itemCount");
final int cancelFee = parseInteger(feeNode.getAttributes(), "cancelFee");
if (ItemTable.getInstance().getTemplate(itemId) == null)
final int itemId = parseInteger(feeNode.getAttributes(), "itemId", 0);
final long itemCount = parseLong(feeNode.getAttributes(), "itemCount", 0L);
final long adenaFee = parseLong(feeNode.getAttributes(), "adenaFee", 0L);
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.");
}
final VariationFee fee = new VariationFee(itemId, itemCount, cancelFee);
final VariationFee fee = new VariationFee(itemId, itemCount, adenaFee, cancelFee);
final Map<Integer, VariationFee> feeByMinerals = new HashMap<>();
forEach(feeNode, "mineral", mineralNode ->
{

View File

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

View File

@ -97,6 +97,14 @@ public class RequestRefine extends AbstractRefinePacket
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());
if (variation == null)
{
@ -153,6 +161,12 @@ public class RequestRefine extends AbstractRefinePacket
return;
}
// Consume Adena.
if ((adenaFee > 0) && !player.reduceAdena("RequestRefine", adenaFee, player, false))
{
return;
}
// Remove the augmentation if any (286).
if (targetItem.isAugmented())
{