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,21 @@
<?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>
</list>

View File

@@ -204,6 +204,13 @@ public class GameAssistant extends AbstractNpcAI
}
break;
}
case "items_conversion":
{
// TODO: Add to html.
// player.setTarget(player);
// player.sendPacket(new ExShowUpgradeSystemNormal(1, 1));
break;
}
}
return htmltext;
}

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>