Addition of missing SP scrolls.

This commit is contained in:
MobiusDevelopment 2020-10-17 12:20:41 +00:00
parent d77326f074
commit a4e5237b51
18 changed files with 827 additions and 885 deletions

View File

@ -1221,17 +1221,31 @@
<!-- Scroll: 2000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll1_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39118" level="1" /> <!-- Scroll: 2000 SP -->
</skills>
</item>
<item id="49596" name="Scroll: 10000 SP" type="EtcItem">
<!-- Scroll: 10000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll2_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39119" level="1" /> <!-- Scroll: 10,000 SP -->
</skills>
</item>
<item id="49597" name="Golden Boots" type="EtcItem">
<!-- Double-click on the Golden Boot to get one of its treasures. Cannot be dropped. -->

View File

@ -175,13 +175,41 @@
</skill>
<skill id="39118" toLevel="1" name="Scroll: 2000 SP">
<icon>icon.etc_sp_scroll1_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49595</itemConsumeId> <!-- 2000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>2000</sp>
</effect>
</effects>
</skill>
<skill id="39119" toLevel="1" name="Scroll: 10,000 SP">
<icon>icon.etc_sp_scroll2_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49596</itemConsumeId> <!-- 10,000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>10000</sp>
</effect>
</effects>
</skill>
<skill id="39120" toLevel="1" name="Teleport: Giran Harbor">
<!-- Teleports to Giran Harbor. -->

View File

@ -44,11 +44,11 @@
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -508,11 +508,9 @@
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:extension base="xs:unsignedByte">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
</xs:extension>
</xs:simpleContent>
@ -525,14 +523,12 @@
<xs:element name="pDefMod">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:element name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:extension base="xs:unsignedByte">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -620,21 +616,6 @@
</xs:element>
<xs:element name="item" type="xs:string" />
<xs:element name="expMultiplier" type="xs:decimal" />
<xs:element name="halfLethal">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowedSkills" type="xs:unsignedShort" />
<xs:element name="ticks" type="xs:unsignedByte" />
<xs:element name="percentage">
@ -719,21 +700,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PLANT_WEAKNESS">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pAtkAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -750,13 +716,13 @@
</xs:complexType>
</xs:element>
<xs:element name="pAtkMode" type="xs:string" />
<xs:element name="mAtkAmount">
<xs:element name="PLANT_WEAKNESS">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
@ -765,135 +731,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mAtkMode" type="xs:string" />
<xs:element name="pAccuracyAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pAccuracyMode" type="xs:string" />
<xs:element name="mAccuracyAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mAccuracyMode" type="xs:string" />
<xs:element name="pAtkSpeedAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pAtkSpeedMode" type="xs:string" />
<xs:element name="mAtkSpeedAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mAtkSpeedMode" type="xs:string" />
<xs:element name="pCritDamageAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pCritDamageMode" type="xs:string" />
<xs:element name="pCritRateAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pCritRateMode" type="xs:string" />
<xs:element name="mCritDamageAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mpCritDamageMode" type="xs:string" />
<xs:element name="mCritRateAmount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mCritRateMode" type="xs:string" />
<xs:element name="HOLD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1067,21 +904,6 @@
</xs:complexType>
</xs:element>
<xs:element name="side" type="xs:string" />
<xs:element name="fullLethal">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PARALYZE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1257,6 +1079,141 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUAL">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RAPIER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ANCIENTSWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALDAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALFIST">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="fullLethal">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="maxSouls">
<xs:complexType>
<xs:sequence>
@ -1303,6 +1260,7 @@
</xs:complexType>
</xs:element>
<xs:element name="npcCount" type="xs:unsignedByte" />
<xs:element name="halfLethal" type="xs:unsignedByte" />
<xs:element name="shieldDefPercent" type="xs:unsignedByte" />
<xs:element name="castSkillId" type="xs:unsignedShort" />
<xs:element name="escapeType" type="xs:string" />
@ -1381,141 +1339,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALFIST">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ANCIENTSWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALDAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALBLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUAL">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RAPIER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PHYSICAL_ATTACK" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK" type="xs:unsignedByte" />
@ -1531,8 +1354,8 @@
<xs:element name="ride" type="xs:unsignedShort" />
<xs:element name="wyvern" type="xs:unsignedShort" />
<xs:element name="sp">
<xs:complexType>
<xs:sequence>
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
@ -1941,7 +1764,6 @@
<xs:element name="channelingStart" type="xs:decimal" />
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
<xs:element name="removedOnDamage" type="xs:boolean" />
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
<xs:element name="soulMaxConsumeCount" type="xs:unsignedByte" />
@ -2025,26 +1847,7 @@
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element minOccurs="0" name="amount">
<xs:complexType>
<xs:sequence>
<xs:element name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="required" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="mode" type="xs:string" />
<xs:element minOccurs="0" name="power">
<xs:element name="power">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
@ -2063,10 +1866,6 @@
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>

View File

@ -1232,17 +1232,31 @@
<!-- Scroll: 2000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll1_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39118" level="1" /> <!-- Scroll: 2000 SP -->
</skills>
</item>
<item id="49596" name="Scroll: 10000 SP" type="EtcItem">
<!-- Scroll: 10000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll2_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39119" level="1" /> <!-- Scroll: 10,000 SP -->
</skills>
</item>
<item id="49597" name="Golden Boots" type="EtcItem">
<!-- Double-click on the Golden Boot to get one of its treasures. Cannot be dropped. -->

View File

@ -175,13 +175,41 @@
</skill>
<skill id="39118" toLevel="1" name="Scroll: 2000 SP">
<icon>icon.etc_sp_scroll1_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49595</itemConsumeId> <!-- 2000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>2000</sp>
</effect>
</effects>
</skill>
<skill id="39119" toLevel="1" name="Scroll: 10,000 SP">
<icon>icon.etc_sp_scroll2_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49596</itemConsumeId> <!-- 10,000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>10000</sp>
</effect>
</effects>
</skill>
<skill id="39120" toLevel="1" name="Teleport: Giran Harbor">
<!-- Teleports to Giran Harbor. -->

View File

@ -105,6 +105,21 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lvlBonusRate">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="castRange">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -446,7 +461,22 @@
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:choice maxOccurs="unbounded">
<xs:element name="chargeConsume" type="xs:unsignedByte" />
<xs:element name="maxCharges">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowedSkills" type="xs:string" />
<xs:element name="chance">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -502,41 +532,9 @@
</xs:complexType>
</xs:element>
<xs:element name="ignoreShieldDefence" type="xs:boolean" />
<xs:element name="criticalChance">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="overHit" type="xs:boolean" />
<xs:element name="pDefMod">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="maxCharges">
<xs:element name="chargeConsume" type="xs:unsignedByte" />
<xs:element name="criticalChance">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
@ -582,22 +580,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="consumeItemId" type="xs:unsignedShort" />
<xs:element name="consumeItemCount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="chanceBoost" type="xs:unsignedShort" />
<xs:element name="dispel">
<xs:complexType mixed="true">
@ -614,9 +596,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item" type="xs:string" />
<xs:element name="expMultiplier" type="xs:decimal" />
<xs:element name="allowedSkills" type="xs:string" />
<xs:element name="ticks" type="xs:unsignedByte" />
<xs:element name="percentage">
<xs:complexType mixed="true">
@ -716,6 +695,8 @@
</xs:complexType>
</xs:element>
<xs:element name="pAtkMode" type="xs:string" />
<xs:element name="accuracyAmount" type="xs:unsignedByte" />
<xs:element name="accuracyMode" type="xs:string" />
<xs:element name="PLANT_WEAKNESS">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -763,21 +744,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CROSSBOW">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="armorType">
<xs:complexType>
<xs:sequence>
@ -833,8 +799,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="accuracyAmount" type="xs:unsignedByte" />
<xs:element name="accuracyMode" type="xs:string" />
<xs:element name="hpPercent" type="xs:unsignedByte" />
<xs:element name="attribute" type="xs:string" />
<xs:element name="attackerType" type="xs:string" />
@ -904,21 +868,6 @@
</xs:complexType>
</xs:element>
<xs:element name="side" type="xs:string" />
<xs:element name="PARALYZE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="POLE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -934,6 +883,39 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PARALYZE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lifeTime" type="xs:unsignedShort" />
<xs:element name="consumeItemId" type="xs:unsignedShort" />
<xs:element name="consumeItemCount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="expMultiplier" type="xs:decimal" />
<xs:element name="isAdvanced" type="xs:boolean" />
<xs:element name="DERANGEMENT">
<xs:complexType mixed="true">
@ -1034,21 +1016,6 @@
</xs:complexType>
</xs:element>
<xs:element name="magicTypes" type="xs:string" />
<xs:element name="TURN_STONE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="exp">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1079,126 +1046,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUAL">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RAPIER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ANCIENTSWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALDAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALFIST">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="fullLethal">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1262,6 +1109,21 @@
<xs:element name="npcCount" type="xs:unsignedByte" />
<xs:element name="halfLethal" type="xs:unsignedByte" />
<xs:element name="shieldDefPercent" type="xs:unsignedByte" />
<xs:element name="CROSSBOW">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="castSkillId" type="xs:unsignedShort" />
<xs:element name="escapeType" type="xs:string" />
<xs:element name="critical" type="xs:boolean" />
@ -1339,23 +1201,143 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALFIST">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ANCIENTSWORD">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUALDAGGER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUAL">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RAPIER">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PHYSICAL_ATTACK" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK" type="xs:unsignedByte" />
<xs:element name="MAGICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAX_HP" type="xs:unsignedByte" />
<xs:element name="MAX_MP" type="xs:unsignedByte" />
<xs:element name="CRITICAL_RATE" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="pDefMod" type="xs:decimal" />
<xs:element name="transformationId" type="xs:unsignedByte" />
<xs:element name="despawnDelay" type="xs:unsignedInt" />
<xs:element name="normal" type="xs:unsignedByte" />
<xs:element name="ride" type="xs:unsignedShort" />
<xs:element name="wyvern" type="xs:unsignedShort" />
<xs:element name="sp">
<xs:complexType>
<xs:sequence>
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
@ -1433,6 +1415,21 @@
</xs:complexType>
</xs:element>
<xs:element name="DISARM" type="xs:unsignedByte" />
<xs:element name="TURN_STONE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BOSS" type="xs:unsignedByte" />
<xs:element name="AIRBIND" type="xs:unsignedByte" />
<xs:element name="DEPORT" type="xs:unsignedByte" />
@ -1442,6 +1439,7 @@
<xs:element name="PSYCHIC" type="xs:unsignedByte" />
<xs:element name="canKill" type="xs:boolean" />
<xs:element name="VALAKAS" type="xs:byte" />
<xs:element name="item" type="xs:string" />
<xs:element name="FIST" type="xs:unsignedByte" />
<xs:element name="ROOT_PHYSICALLY">
<xs:complexType>
@ -1459,7 +1457,6 @@
</xs:complexType>
</xs:element>
<xs:element name="blockedActions" type="xs:byte" />
<xs:element name="lifeTime" type="xs:unsignedShort" />
<xs:element name="speed" type="xs:unsignedShort" />
<xs:element name="delay" type="xs:unsignedShort" />
<xs:element name="abnormalType" type="xs:string" />
@ -1483,7 +1480,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reputation" type="xs:unsignedByte" />
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="damage">
@ -1501,14 +1497,15 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reputation" type="xs:unsignedByte" />
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="abnormalTime" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="abnormalTime" type="xs:unsignedByte" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
@ -1568,7 +1565,7 @@
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:short">
<xs:extension base="xs:unsignedShort">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
@ -1609,21 +1606,6 @@
</xs:complexType>
</xs:element>
<xs:element name="staticReuse" type="xs:boolean" />
<xs:element name="lvlBonusRate">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="attributeType">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1654,21 +1636,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="chargeConsume">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="subordinationAbnormalType" type="xs:string" />
<xs:element name="passiveConditions">
<xs:complexType>
@ -1712,8 +1679,8 @@
</xs:element>
<xs:element name="hitCancelTime" type="xs:decimal" />
<xs:element name="selfEffects">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence>
@ -1780,6 +1747,21 @@
<xs:element name="mpPerChanneling" type="xs:unsignedByte" />
<xs:element name="channelingStart" type="xs:decimal" />
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
<xs:element name="chargeConsume">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="removedOnDamage" type="xs:boolean" />
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
@ -1866,26 +1848,7 @@
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element minOccurs="0" name="amount">
<xs:complexType>
<xs:sequence>
<xs:element name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="required" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="mode" type="xs:string" />
<xs:element minOccurs="0" name="power">
<xs:element name="power">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
@ -1901,13 +1864,8 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
@ -1935,7 +1893,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
@ -1945,8 +1902,6 @@
</xs:element>
<xs:element name="affectHeight" type="xs:string" />
<xs:element name="canBeDispelled" type="xs:boolean" />
<xs:element name="inheritElementals" type="xs:boolean" />
<xs:element name="inheritPercent" type="xs:decimal" />
<xs:element name="channelingEffects">
<xs:complexType>
<xs:sequence>

View File

@ -1232,17 +1232,31 @@
<!-- Scroll: 2000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll1_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39118" level="1" /> <!-- Scroll: 2000 SP -->
</skills>
</item>
<item id="49596" name="Scroll: 10000 SP" type="EtcItem">
<!-- Scroll: 10000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll2_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39119" level="1" /> <!-- Scroll: 10,000 SP -->
</skills>
</item>
<item id="49597" name="Golden Boots" type="EtcItem">
<!-- Double-click on the Golden Boot to get one of its treasures. Cannot be dropped. -->

View File

@ -175,13 +175,41 @@
</skill>
<skill id="39118" toLevel="1" name="Scroll: 2000 SP">
<icon>icon.etc_sp_scroll1_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49595</itemConsumeId> <!-- 2000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>2000</sp>
</effect>
</effects>
</skill>
<skill id="39119" toLevel="1" name="Scroll: 10,000 SP">
<icon>icon.etc_sp_scroll2_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49596</itemConsumeId> <!-- 10,000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>10000</sp>
</effect>
</effects>
</skill>
<skill id="39120" toLevel="1" name="Teleport: Giran Harbor">
<!-- Teleports to Giran Harbor. -->

View File

@ -105,6 +105,21 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lvlBonusRate">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="castRange">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -446,7 +461,22 @@
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:choice maxOccurs="unbounded">
<xs:element name="chargeConsume" type="xs:unsignedByte" />
<xs:element name="maxCharges">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowedSkills" type="xs:string" />
<xs:element name="chance">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -502,45 +532,9 @@
</xs:complexType>
</xs:element>
<xs:element name="ignoreShieldDefence" type="xs:boolean" />
<xs:element name="criticalChance">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="overHit" type="xs:boolean" />
<xs:element name="pDefMod">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="maxCharges">
<xs:element name="chargeConsume" type="xs:unsignedByte" />
<xs:element name="criticalChance">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
@ -586,22 +580,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="consumeItemId" type="xs:unsignedShort" />
<xs:element name="consumeItemCount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="chanceBoost" type="xs:unsignedShort" />
<xs:element name="dispel">
<xs:complexType mixed="true">
@ -618,9 +596,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item" type="xs:string" />
<xs:element name="expMultiplier" type="xs:decimal" />
<xs:element name="allowedSkills" type="xs:string" />
<xs:element name="ticks" type="xs:unsignedByte" />
<xs:element name="percentage">
<xs:complexType mixed="true">
@ -720,6 +695,8 @@
</xs:complexType>
</xs:element>
<xs:element name="pAtkMode" type="xs:string" />
<xs:element name="accuracyAmount" type="xs:unsignedByte" />
<xs:element name="accuracyMode" type="xs:string" />
<xs:element name="PLANT_WEAKNESS">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -767,21 +744,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CROSSBOW">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="armorType">
<xs:complexType>
<xs:sequence>
@ -837,8 +799,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="accuracyAmount" type="xs:unsignedByte" />
<xs:element name="accuracyMode" type="xs:string" />
<xs:element name="hpPercent" type="xs:unsignedByte" />
<xs:element name="attribute" type="xs:string" />
<xs:element name="attackerType" type="xs:string" />
@ -908,21 +868,6 @@
</xs:complexType>
</xs:element>
<xs:element name="side" type="xs:string" />
<xs:element name="PARALYZE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="POLE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -938,6 +883,39 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PARALYZE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lifeTime" type="xs:unsignedShort" />
<xs:element name="consumeItemId" type="xs:unsignedShort" />
<xs:element name="consumeItemCount">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="expMultiplier" type="xs:decimal" />
<xs:element name="isAdvanced" type="xs:boolean" />
<xs:element name="DERANGEMENT">
<xs:complexType mixed="true">
@ -1038,21 +1016,6 @@
</xs:complexType>
</xs:element>
<xs:element name="magicTypes" type="xs:string" />
<xs:element name="TURN_STONE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="exp">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1146,6 +1109,21 @@
<xs:element name="npcCount" type="xs:unsignedByte" />
<xs:element name="halfLethal" type="xs:unsignedByte" />
<xs:element name="shieldDefPercent" type="xs:unsignedByte" />
<xs:element name="CROSSBOW">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="castSkillId" type="xs:unsignedShort" />
<xs:element name="escapeType" type="xs:string" />
<xs:element name="critical" type="xs:boolean" />
@ -1349,17 +1327,17 @@
<xs:element name="MAGICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAX_HP" type="xs:unsignedByte" />
<xs:element name="MAX_MP" type="xs:unsignedByte" />
<xs:element name="CRITICAL_RATE" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="pDefMod" type="xs:decimal" />
<xs:element name="transformationId" type="xs:unsignedByte" />
<xs:element name="despawnDelay" type="xs:unsignedInt" />
<xs:element name="normal" type="xs:unsignedByte" />
<xs:element name="ride" type="xs:unsignedShort" />
<xs:element name="wyvern" type="xs:unsignedShort" />
<xs:element name="sp">
<xs:complexType>
<xs:sequence>
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
@ -1437,6 +1415,21 @@
</xs:complexType>
</xs:element>
<xs:element name="DISARM" type="xs:unsignedByte" />
<xs:element name="TURN_STONE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BOSS" type="xs:unsignedByte" />
<xs:element name="AIRBIND" type="xs:unsignedByte" />
<xs:element name="DEPORT" type="xs:unsignedByte" />
@ -1446,6 +1439,7 @@
<xs:element name="PSYCHIC" type="xs:unsignedByte" />
<xs:element name="canKill" type="xs:boolean" />
<xs:element name="VALAKAS" type="xs:byte" />
<xs:element name="item" type="xs:string" />
<xs:element name="FIST" type="xs:unsignedByte" />
<xs:element name="ROOT_PHYSICALLY">
<xs:complexType>
@ -1463,7 +1457,6 @@
</xs:complexType>
</xs:element>
<xs:element name="blockedActions" type="xs:byte" />
<xs:element name="lifeTime" type="xs:unsignedShort" />
<xs:element name="speed" type="xs:unsignedShort" />
<xs:element name="delay" type="xs:unsignedShort" />
<xs:element name="abnormalType" type="xs:string" />
@ -1487,7 +1480,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reputation" type="xs:unsignedByte" />
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="damage">
@ -1505,14 +1497,15 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="reputation" type="xs:unsignedByte" />
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="abnormalTime" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="abnormalTime" type="xs:unsignedByte" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
@ -1613,21 +1606,6 @@
</xs:complexType>
</xs:element>
<xs:element name="staticReuse" type="xs:boolean" />
<xs:element name="lvlBonusRate">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="attributeType">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1658,21 +1636,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="chargeConsume">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="subordinationAbnormalType" type="xs:string" />
<xs:element name="passiveConditions">
<xs:complexType>
@ -1716,8 +1679,8 @@
</xs:element>
<xs:element name="hitCancelTime" type="xs:decimal" />
<xs:element name="selfEffects">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence>
@ -1784,6 +1747,21 @@
<xs:element name="mpPerChanneling" type="xs:unsignedByte" />
<xs:element name="channelingStart" type="xs:decimal" />
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
<xs:element name="chargeConsume">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="removedOnDamage" type="xs:boolean" />
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
@ -1870,26 +1848,7 @@
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element minOccurs="0" name="amount">
<xs:complexType>
<xs:sequence>
<xs:element name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="required" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="required" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="mode" type="xs:string" />
<xs:element minOccurs="0" name="power">
<xs:element name="power">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
@ -1905,13 +1864,8 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromSubLevel" type="xs:unsignedShort" use="optional" />
<xs:attribute name="toSubLevel" type="xs:unsignedShort" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
@ -1939,7 +1893,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
@ -1949,8 +1902,6 @@
</xs:element>
<xs:element name="affectHeight" type="xs:string" />
<xs:element name="canBeDispelled" type="xs:boolean" />
<xs:element name="inheritElementals" type="xs:boolean" />
<xs:element name="inheritPercent" type="xs:decimal" />
<xs:element name="channelingEffects">
<xs:complexType>
<xs:sequence>

View File

@ -1232,17 +1232,31 @@
<!-- Scroll: 2000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll1_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39118" level="1" /> <!-- Scroll: 2000 SP -->
</skills>
</item>
<item id="49596" name="Scroll: 10000 SP" type="EtcItem">
<!-- Scroll: 10000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll2_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39119" level="1" /> <!-- Scroll: 10,000 SP -->
</skills>
</item>
<item id="49597" name="Golden Boots" type="EtcItem">
<!-- Double-click on the Golden Boot to get one of its treasures. Cannot be dropped. -->

View File

@ -175,13 +175,41 @@
</skill>
<skill id="39118" toLevel="1" name="Scroll: 2000 SP">
<icon>icon.etc_sp_scroll1_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49595</itemConsumeId> <!-- 2000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>2000</sp>
</effect>
</effects>
</skill>
<skill id="39119" toLevel="1" name="Scroll: 10,000 SP">
<icon>icon.etc_sp_scroll2_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49596</itemConsumeId> <!-- 10,000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>10000</sp>
</effect>
</effects>
</skill>
<skill id="39120" toLevel="1" name="Teleport: Giran Harbor">
<!-- Teleports to Giran Harbor. -->

View File

@ -427,9 +427,7 @@
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -1321,13 +1319,14 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="PHYSICAL_ATTACK" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK" type="xs:unsignedByte" />
<xs:element name="MAGICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAX_HP" type="xs:unsignedByte" />
<xs:element name="MAX_MP" type="xs:unsignedByte" />
<xs:element name="CRITICAL_RATE" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="pDefMod" type="xs:decimal" />
@ -1340,8 +1339,8 @@
<xs:element name="ride" type="xs:unsignedShort" />
<xs:element name="wyvern" type="xs:unsignedShort" />
<xs:element name="sp">
<xs:complexType>
<xs:sequence>
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
@ -1481,8 +1480,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="damage">
<xs:complexType>
<xs:sequence>
@ -1680,8 +1677,8 @@
</xs:element>
<xs:element name="hitCancelTime" type="xs:decimal" />
<xs:element name="selfEffects">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence>
@ -1865,7 +1862,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
@ -1895,7 +1891,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>

View File

@ -1232,17 +1232,31 @@
<!-- Scroll: 2000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll1_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39118" level="1" /> <!-- Scroll: 2000 SP -->
</skills>
</item>
<item id="49596" name="Scroll: 10000 SP" type="EtcItem">
<!-- Scroll: 10000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll2_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39119" level="1" /> <!-- Scroll: 10,000 SP -->
</skills>
</item>
<item id="49597" name="Golden Boots" type="EtcItem">
<!-- Double-click on the Golden Boot to get one of its treasures. Cannot be dropped. -->

View File

@ -175,13 +175,41 @@
</skill>
<skill id="39118" toLevel="1" name="Scroll: 2000 SP">
<icon>icon.etc_sp_scroll1_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49595</itemConsumeId> <!-- 2000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>2000</sp>
</effect>
</effects>
</skill>
<skill id="39119" toLevel="1" name="Scroll: 10,000 SP">
<icon>icon.etc_sp_scroll2_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49596</itemConsumeId> <!-- 10,000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>10000</sp>
</effect>
</effects>
</skill>
<skill id="39120" toLevel="1" name="Teleport: Giran Harbor">
<!-- Teleports to Giran Harbor. -->

View File

@ -427,9 +427,7 @@
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -883,21 +881,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PARALYZE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1139,7 +1122,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pDefMod" type="xs:decimal" />
<xs:element name="castSkillId" type="xs:unsignedShort" />
<xs:element name="escapeType" type="xs:string" />
<xs:element name="critical" type="xs:boolean" />
@ -1292,6 +1274,21 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUAL">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1322,15 +1319,17 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="PHYSICAL_ATTACK" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK" type="xs:unsignedByte" />
<xs:element name="MAGICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAX_HP" type="xs:unsignedByte" />
<xs:element name="MAX_MP" type="xs:unsignedByte" />
<xs:element name="CRITICAL_RATE" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="pDefMod" type="xs:decimal" />
<xs:element name="transformationId" type="xs:unsignedByte" />
<xs:element name="distance" type="xs:unsignedByte" />
<xs:element name="speed" type="xs:unsignedShort" />
@ -1340,8 +1339,8 @@
<xs:element name="ride" type="xs:unsignedShort" />
<xs:element name="wyvern" type="xs:unsignedShort" />
<xs:element name="sp">
<xs:complexType>
<xs:sequence>
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
@ -1481,8 +1480,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="damage">
<xs:complexType>
<xs:sequence>
@ -1694,8 +1691,8 @@
</xs:element>
<xs:element name="hitCancelTime" type="xs:decimal" />
<xs:element name="selfEffects">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence>
@ -1879,7 +1876,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
@ -1909,7 +1905,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>

View File

@ -1232,17 +1232,31 @@
<!-- Scroll: 2000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll1_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39118" level="1" /> <!-- Scroll: 2000 SP -->
</skills>
</item>
<item id="49596" name="Scroll: 10000 SP" type="EtcItem">
<!-- Scroll: 10000 SP. Cannot be dropped. -->
<set name="icon" val="icon.etc_sp_scroll2_i00" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="SCROLL" />
<set name="material" val="STEEL" />
<set name="is_tradable" val="false" />
<set name="is_dropable" val="false" />
<set name="is_depositable" val="true" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemSkills" />
<skills>
<skill id="39119" level="1" /> <!-- Scroll: 10,000 SP -->
</skills>
</item>
<item id="49597" name="Golden Boots" type="EtcItem">
<!-- Double-click on the Golden Boot to get one of its treasures. Cannot be dropped. -->

View File

@ -175,13 +175,41 @@
</skill>
<skill id="39118" toLevel="1" name="Scroll: 2000 SP">
<icon>icon.etc_sp_scroll1_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49595</itemConsumeId> <!-- 2000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>2000</sp>
</effect>
</effects>
</skill>
<skill id="39119" toLevel="1" name="Scroll: 10,000 SP">
<icon>icon.etc_sp_scroll2_i00</icon>
<blockedInOlympiad>false</blockedInOlympiad>
<isMagic>2</isMagic> <!-- Static Skill -->
<itemConsumeCount>1</itemConsumeCount>
<itemConsumeId>49596</itemConsumeId> <!-- 10,000 SP scroll -->
<magicLevel>1</magicLevel>
<operateType>A1</operateType>
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="GiveSp">
<sp>10000</sp>
</effect>
</effects>
</skill>
<skill id="39120" toLevel="1" name="Teleport: Giran Harbor">
<!-- Teleports to Giran Harbor. -->

View File

@ -441,9 +441,7 @@
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="level" type="xs:unsignedByte" use="optional" />
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@ -893,21 +891,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PARALYZE">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1135,7 +1118,6 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pDefMod" type="xs:decimal" />
<xs:element name="castSkillId" type="xs:unsignedShort" />
<xs:element name="escapeType" type="xs:string" />
<xs:element name="critical" type="xs:boolean" />
@ -1273,6 +1255,21 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BLUNT">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:byte">
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DUAL">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
@ -1303,15 +1300,17 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="PHYSICAL_ATTACK" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK" type="xs:unsignedByte" />
<xs:element name="MAGICAL_DEFENCE" type="xs:unsignedByte" />
<xs:element name="MAX_HP" type="xs:unsignedByte" />
<xs:element name="MAX_MP" type="xs:unsignedByte" />
<xs:element name="CRITICAL_RATE" type="xs:unsignedByte" />
<xs:element name="PHYSICAL_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="MAGIC_ATTACK_SPEED" type="xs:unsignedByte" />
<xs:element name="pDefMod" type="xs:decimal" />
<xs:element name="transformationId" type="xs:unsignedByte" />
<xs:element name="distance" type="xs:unsignedByte" />
<xs:element name="speed" type="xs:unsignedShort" />
@ -1321,8 +1320,8 @@
<xs:element name="ride" type="xs:unsignedShort" />
<xs:element name="wyvern" type="xs:unsignedShort" />
<xs:element name="sp">
<xs:complexType>
<xs:sequence>
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="unbounded" name="value">
<xs:complexType>
<xs:simpleContent>
@ -1464,8 +1463,6 @@
</xs:element>
<xs:element name="zoneId" type="xs:unsignedByte" />
<xs:element name="time" type="xs:unsignedInt" />
<xs:element name="allowSkillAttack" type="xs:boolean" />
<xs:element name="allowNormalAttack" type="xs:boolean" />
<xs:element name="damage">
<xs:complexType>
<xs:sequence>
@ -1677,8 +1674,8 @@
</xs:element>
<xs:element name="hitCancelTime" type="xs:decimal" />
<xs:element name="selfEffects">
<xs:complexType mixed="true">
<xs:sequence minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="effect">
<xs:complexType>
<xs:sequence>
@ -1863,7 +1860,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
@ -1893,7 +1889,6 @@
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="overHit" type="xs:boolean" />
<xs:element minOccurs="0" name="ticks" type="xs:unsignedByte" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>