Item transformation implementation.

Contributed by Index.
This commit is contained in:
MobiusDevelopment
2022-05-16 10:30:34 +00:00
parent fedd97659d
commit 78bd8eabd2
107 changed files with 8408 additions and 38 deletions

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8" ?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/EquipmentUpgradeNormalData.xsd">
<!--
Commission in params its Adena multiplier, which apply to commission from upgrade.
Commission in upgrade its adena, which request for change item type.
Upgrade commission value 5 000 000:
* commission 100 - upgrade commission will be 5 000 000 // default value
* commission 1 000 - upgrade commission will be 50 000 000
Calculation formula -> (Upgrade commission / 100) * (params commission)
-->
<params commission="100" />
<discount>
<!--
Working only for material items in upgrade.
For change adena tax - use commission in params.
<item id="57" count="0" />
<item id="57" count="0" />
<item id="57" count="0" />
-->
</discount>
<upgrade id="1" type="1" chance="50" commission="5000000">
<upgradeItem id="6660" count="1" enchantLevel="0" /> <!-- Queen Ant's Ring -->
<successItems>
<item id="94383" count="1" enchantLevel="0" /> <!-- Scroll: Enchant Rare Accessories -->
</successItems>
<failure_items>
<item id="94208" count="1" enchantLevel="0" /> <!-- Scroll of Blessing (Sealed) -->
</failure_items>
</upgrade>
<upgrade id="2" type="1" chance="50" commission="5000000">
<upgradeItem id="6661" count="1" enchantLevel="0" /> <!--Orfen's Earring -->
<successItems>
<item id="94383" count="1" enchantLevel="0" /> <!-- Scroll: Enchant Rare Accessories -->
</successItems>
<failure_items>
<item id="94208" count="1" enchantLevel="0" /> <!-- Scroll of Blessing (Sealed) -->
</failure_items>
</upgrade>
<upgrade id="3" type="1" chance="20" commission="2000000">
<upgradeItem id="6662" count="1" enchantLevel="0" /> <!-- Ring of Core -->
<successItems>
<item id="94383" count="1" enchantLevel="0" /> <!-- Scroll: Enchant Rare Accessories -->
</successItems>
<failure_items>
<item id="94208" count="1" enchantLevel="0" /> <!-- Scroll of Blessing (Sealed) -->
</failure_items>
</upgrade>
<upgrade id="4" type="1" chance="23" commission="7500000">
<upgradeItem id="49580" count="1" enchantLevel="0" /> <!-- Baium's Ring -->
<successItems>
<item id="94385" count="1" enchantLevel="0" /> <!-- Improved Scroll: Enchant Rare Accessories -->
</successItems>
<failure_items>
<item id="94383" count="1" enchantLevel="0" /> <!-- Scroll: Enchant Rare Accessories -->
</failure_items>
</upgrade>
<upgrade id="5" type="1" chance="80" commission="7500000">
<upgradeItem id="90763" count="1" enchantLevel="0" /> <!-- Zaken's Earring -->
<successItems>
<item id="94383" count="1" enchantLevel="0" /> <!-- Scroll: Enchant Rare Accessories -->
</successItems>
<failure_items>
<item id="94208" count="1" enchantLevel="0" /> <!-- Scroll of Blessing (Sealed) -->
</failure_items>
</upgrade>
<upgrade id="6" type="1" chance="40" commission="10000000">
<upgradeItem id="90992" count="1" enchantLevel="0" /> <!-- Antharas' Earring -->
<successItems>
<item id="94385" count="1" enchantLevel="0" /> <!-- Improved Scroll: Enchant Rare Accessories -->
</successItems>
<failure_items>
<item id="94383" count="2" enchantLevel="0" /> <!-- Scroll: Enchant Rare Accessories -->
</failure_items>
</upgrade>
<upgrade id="7" type="1" chance="40" commission="10000000">
<upgradeItem id="91550" count="1" enchantLevel="0" /> <!-- Frintezza's Necklace -->
<successItems>
<item id="94385" count="1" enchantLevel="0" /> <!-- Improved Scroll: Enchant Rare Accessories -->
</successItems>
<failure_items>
<item id="94383" count="1" enchantLevel="0" /> <!-- Scroll: Enchant Rare Accessories -->
</failure_items>
</upgrade>
</list>

View File

@@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.network.serverpackets.PackageToList;
import org.l2jmobius.gameserver.network.serverpackets.WareHouseWithdrawalList;
import org.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulExtractionWindow;
import org.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow;
import org.l2jmobius.gameserver.network.serverpackets.equipmentupgrade.ExShowUpgradeSystem;
import ai.AbstractNpcAI;
@@ -277,8 +276,9 @@ public class GameAssistant extends AbstractNpcAI
}
case "items_conversion":
{
player.setTarget(player);
player.sendPacket(new ExShowUpgradeSystem());
// TODO: Add to html.
// player.setTarget(player);
// player.sendPacket(new ExShowUpgradeSystemNormal(1, 1));
break;
}
// Multisell

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list" type="listType"/>
<xs:complexType name="paramsType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="commission"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="itemType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="id" use="optional"/>
<xs:attribute type="xs:string" name="count" use="optional"/>
<xs:attribute type="xs:string" name="enchantLevel" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="discountType">
<xs:sequence>
<xs:element type="itemType" name="item" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="upgradeItemType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="id" use="optional"/>
<xs:attribute type="xs:string" name="count" use="optional"/>
<xs:attribute type="xs:string" name="enchantLevel" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="successItemsType">
<xs:sequence>
<xs:element type="itemType" name="item"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="failure_itemsType">
<xs:sequence>
<xs:element type="itemType" name="item"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="upgradeType">
<xs:sequence>
<xs:element type="upgradeItemType" name="upgradeItem"/>
<xs:element type="successItemsType" name="successItems"/>
<xs:element type="failure_itemsType" name="failure_items" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="optional"/>
<xs:attribute type="xs:string" name="type" use="optional"/>
<xs:attribute type="xs:string" name="chance" use="optional"/>
<xs:attribute type="xs:string" name="commission" use="optional"/>
</xs:complexType>
<xs:complexType name="listType">
<xs:sequence>
<xs:element type="paramsType" name="params"/>
<xs:element type="discountType" name="discount"/>
<xs:element type="upgradeType" name="upgrade" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>