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

@@ -200,6 +200,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

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
<spawn name="red_zone_right_from_etinas" spawnByDefault="true" >
<spawn name="red_zone_right_from_etinas" spawnByDefault="true">
<group name="red_right_first_left" spawnByDefault="true">
<territories>
<territory shape="Cuboid" rad="1" minZ="-8900" maxZ="-8960">
@@ -98,7 +98,7 @@
<npc id="24857" count="3" respawnTime="30sec" respawnRandom="0sec" /> <!-- Atelia Wizard -->
</group>
</spawn>
<spawn name="red_zone_left_from_etinas" spawnByDefault="true" >
<spawn name="red_zone_left_from_etinas" spawnByDefault="true">
<group name="red_left_first_left" spawnByDefault="true">
<territories>
<territory shape="Cuboid" rad="1" minZ="-8900" maxZ="-8960">
@@ -197,7 +197,7 @@
</group>
</spawn>
<spawn name="green_zone_right_from_etinas" spawnByDefault="true" >
<spawn name="green_zone_right_from_etinas" spawnByDefault="true">
<group name="green_right_first_left" spawnByDefault="true">
<territories>
<territory shape="Cuboid" rad="1" minZ="-8740" maxZ="-8880">
@@ -281,7 +281,7 @@
<npc id="24856" count="7" respawnTime="30sec" respawnRandom="0sec" /> <!-- Atelia Raven -->
</group>
</spawn>
<spawn name="green_zone_left_from_etinas" spawnByDefault="true" >
<spawn name="green_zone_left_from_etinas" spawnByDefault="true">
<group name="green_left_first_left" spawnByDefault="true">
<territories>
<territory shape="Cuboid" rad="1" minZ="-8740" maxZ="-8880">
@@ -366,7 +366,7 @@
</group>
</spawn>
<spawn name="blue_zone_right_from_etinas" spawnByDefault="true" >
<spawn name="blue_zone_right_from_etinas" spawnByDefault="true">
<group name="blue_right_first_left" spawnByDefault="true">
<territories>
<territory shape="Cuboid" rad="1" minZ="-8600" maxZ="-8740">
@@ -467,7 +467,7 @@
<npc id="24857" count="3" respawnTime="30sec" respawnRandom="0sec" /> <!-- Atelia Wizard -->
</group>
</spawn>
<spawn name="blue_zone_left_from_etinas" spawnByDefault="true" >
<spawn name="blue_zone_left_from_etinas" spawnByDefault="true">
<group name="blue_left_first_left" spawnByDefault="true">
<territories>
<territory shape="Cuboid" rad="1" minZ="-8600" maxZ="-8740">

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>