Kamael Skill Implementation: Part 2.

Contributed by Iris.
This commit is contained in:
MobiusDevelopment 2020-01-13 21:11:11 +00:00
parent de47fedd21
commit 980eba9a02
7 changed files with 234 additions and 159 deletions

View File

@ -4267,17 +4267,14 @@
</condition>
</conditions>
</skill>
<skill id="485" toLevel="16" name="Disarm">
<!-- Disarms the enemy for $s1. Requires an ancient sword, sword, blunt weapon, spear, fist weapon, dual blunt weapon, or dual sword. -->
<skill id="485" toLevel="5" name="Disarm">
<!-- Disarms the target for 3 sec. -->
<icon>icon.skill0485</icon>
<abnormalLvl>1</abnormalLvl>
<abnormalTime>5</abnormalTime>
<abnormalTime>3</abnormalTime>
<abnormalType>DISARM</abnormalType>
<abnormalVisualEffect>DOT_BLEEDING</abnormalVisualEffect>
<activateRate>
<value fromLevel="1" toLevel="16">70</value>
<value fromLevel="15" toLevel="16" fromSubLevel="1001" toSubLevel="1030">{base + base / 100 * subIndex}</value>
</activateRate>
<activateRate>70</activateRate>
<basicProperty>PHYSICAL</basicProperty>
<castRange>150</castRange>
<coolTime>500</coolTime>
@ -4287,57 +4284,24 @@
<value level="3">-467</value>
<value level="4">-523</value>
<value level="5">-582</value>
<value level="6">-624</value>
<value level="7">-655</value>
<value level="8">-655</value>
<value level="9">-655</value>
<value level="10">-655</value>
<value level="11">-655</value>
<value level="12">-655</value>
<value level="13">-655</value>
<value level="14">-655</value>
<value level="15">-655</value>
<value level="16">-655</value>
</effectPoint>
<effectRange>200</effectRange>
<hitTime>1000</hitTime>
<isDebuff>true</isDebuff>
<lvlBonusRate>20</lvlBonusRate>
<magicLvl>
<value level="1">36</value>
<value level="2">43</value>
<value level="3">49</value>
<value level="4">55</value>
<value level="5">62</value>
<value level="6">68</value>
<value level="7">74</value>
<value level="8">75</value>
<value level="9">77</value>
<value level="10">79</value>
<value level="11">81</value>
<value level="12">83</value>
<value level="13">85</value>
<value level="14">90</value>
<value level="15">95</value>
<value level="16">99</value>
<value level="1">76</value>
<value level="2">78</value>
<value level="3">80</value>
<value level="4">82</value>
<value level="5">84</value>
</magicLvl>
<mpConsume>
<value level="1">100</value>
<value level="2">110</value>
<value level="3">150</value>
<value level="4">35</value>
<value level="5">35</value>
<value level="6">35</value>
<value level="7">35</value>
<value level="8">45</value>
<value level="9">45</value>
<value level="10">45</value>
<value level="11">45</value>
<value level="12">45</value>
<value level="13">55</value>
<value level="14">55</value>
<value level="15">55</value>
<value level="16">55</value>
<value level="3">120</value>
<value level="4">130</value>
<value level="5">140</value>
</mpConsume>
<operateType>A2</operateType>
<reuseDelay>60000</reuseDelay>
@ -4352,18 +4316,6 @@
<amount>-40</amount>
<mode>PER</mode>
</effect>
<effect name="PhysicalDefence" fromLevel="15" toLevel="19" fromSubLevel="2001" toSubLevel="2030">
<amount>
<value fromLevel="15" toLevel="16" fromSubLevel="2001" toSubLevel="2030">{-0.6 - 0.4 * subIndex}</value>
</amount>
<mode>PER</mode>
</effect>
<effect name="Speed" fromLevel="15" toLevel="19" fromSubLevel="3001" toSubLevel="3030">
<amount>
<value fromLevel="15" toLevel="16" fromSubLevel="3001" toSubLevel="3030">{-2 * subIndex}</value>
</amount>
<mode>DIFF</mode>
</effect>
</effects>
</skill>
<skill id="486" toLevel="2" name="Increase Range">

View File

@ -52,11 +52,17 @@
<skill id="501" toLevel="5" name="Magic Break">
<!-- For $s1, reduces enemy's M. Atk. by $s2 -->
<icon>icon.skill0501</icon>
<abnormalLvl>3</abnormalLvl>
<abnormalLvl>
<value level="1">1</value>
<value level="2">2</value>
<value level="3">3</value>
<value level="4">4</value>
<value level="5">5</value>
</abnormalLvl>
<abnormalTime>30</abnormalTime>
<abnormalType>PD_DOWN</abnormalType>
<abnormalType>MA_DOWN</abnormalType>
<activateRate>80</activateRate>
<basicProperty>MAGIC</basicProperty>
<basicProperty>PHYSICAL</basicProperty>
<castRange>150</castRange>
<effectPoint>
<value level="1">-234</value>
@ -68,7 +74,7 @@
<effectRange>1100</effectRange>
<hitTime>1800</hitTime>
<isDebuff>true</isDebuff>
<lvlBonusRate>30</lvlBonusRate>
<lvlBonusRate>20</lvlBonusRate>
<magicLvl>
<value level="1">49</value>
<value level="2">52</value>
@ -137,22 +143,26 @@
<skill id="503" toLevel="3" name="Scorn">
<!-- Provokes the enemies to the front with $s1 Power. -->
<icon>icon.skill0503</icon>
<abnormalLvl>1</abnormalLvl>
<abnormalTime>3</abnormalTime>
<abnormalType>TARGET_LOCK</abnormalType>
<isDebuff>true</isDebuff>
<affectLimit>5-12</affectLimit>
<affectRange>80</affectRange>
<castRange>40</castRange>
<coolTime>720</coolTime>
<effectPoint>
<value level="1">-1632</value>
<value level="2">-2091</value>
<value level="3">-2386</value>
<value level="1">-11000</value>
<value level="2">-13000</value>
<value level="3">-15000</value>
</effectPoint>
<effectRange>400</effectRange>
<fanRange>0;0;80;300</fanRange>
<hitTime>1080</hitTime>
<magicLvl>
<value level="1">43</value>
<value level="2">55</value>
<value level="3">64</value>
<value level="2">56</value>
<value level="3">70</value>
</magicLvl>
<mpConsume>
<value level="1">50</value>
@ -160,7 +170,8 @@
<value level="3">70</value>
</mpConsume>
<nextAction>ATTACK</nextAction>
<operateType>A1</operateType>
<basicProperty>NONE</basicProperty>
<operateType>A2</operateType>
<reuseDelay>4000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<targetType>ENEMY</targetType>

View File

@ -4977,7 +4977,7 @@
</effects>
</skill>
<skill id="994" toLevel="3" name="Rush">
<!-- Charges into the enemy. Can be used if distance between the enemy and the character is more than 200. -->
<!-- Charges into the enemy. Can be used if distance between the enemy and the character is more than 150. -->
<icon>icon.skill0484</icon>
<castRange>
<value level="1">400</value>
@ -5002,7 +5002,11 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckCastRange">
<distance>200</distance>
<distance>
<value level="1">150</value>
<value level="2">120</value>
<value level="3">100</value>
</distance>
</condition>
</conditions>
</skill>

View File

@ -2254,11 +2254,7 @@
</effects>
</skill>
<skill id="1441" toLevel="3" name="Soul Roar">
<!-- Instantly recovers Max HP/CP by $s1 and for $s2 minutes, and increases your Max HP/CP by $s3
1 - 10, 20, 15
2 - 20, 20, 25
3 - 35, 20, 40
-->
<!-- For 20 min., Max HP +25%, additionally recovers 20% HP. -->
<icon>icon.skill1441</icon>
<effectPoint>
<value level="1">408</value>
@ -2266,28 +2262,47 @@
<value level="3">597</value>
</effectPoint>
<hitTime>2000</hitTime>
<isMagic>1</isMagic> <!-- Magic Skill -->
<magicLvl>
<value level="1">43</value>
<value level="2">55</value>
<value level="3">64</value>
</magicLvl>
<mpConsume>
<value level="1">15</value>
<value level="2">25</value>
<value level="3">35</value>
</mpConsume>
<mpInitialConsume>
<value level="1">8</value>
<value level="2">10</value>
<value level="3">12</value>
</mpInitialConsume>
<isMagic>0</isMagic>
<magicLvl>
<value level="1">28</value>
<value level="2">48</value>
<value level="3">70</value>
</magicLvl>
<operateType>A2</operateType>
<reuseDelay>2000</reuseDelay>
<abnormalLvl>
<value level="1">1</value>
<value level="2">2</value>
<value level="3">3</value>
</abnormalLvl>
<abnormalTime>1200</abnormalTime>
<reuseDelay>150000</reuseDelay>
<basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="HealPercent">
<power>
<value level="1">10</value>
<value level="2">20</value>
<value level="3">35</value>
</power>
</effect>
<effect name="MaxHp">
<amount>
<value level="1">15</value>
<value level="2">25</value>
<value level="3">40</value>
</amount>
<mode>PER</mode>
<heal>false</heal>
</effect>
</effects>
</skill>
<skill id="1442" toLevel="3" name="Darkness Protection">
<!-- Target's Dark Attack Resistance +$s2 for $s1. -->

View File

@ -600,48 +600,31 @@
</effect>
</effects>
</skill>
<skill id="1514" toLevel="7" name="Soul Barrier">
<skill id="1514" toLevel="2" name="Soul Barrier">
<!-- Spreads the soul's defensive barrier to get your Bow Resistance +$s2, Crossbow Resistance +$s3, and M. Def. +$s4 for $s1. -->
<icon>icon.skill1514</icon>
<abnormalLvl>1</abnormalLvl>
<abnormalTime>
<value fromLevel="1" toLevel="7">30</value>
<value fromLevel="6" toLevel="7" fromSubLevel="1001" toSubLevel="1010">{base + subIndex}</value>
<value fromLevel="6" toLevel="7" fromSubLevel="1011" toSubLevel="1030">{base + 10 + 0.5 * subIndex}</value>
</abnormalTime>
<abnormalLvl>
<value level="1">1</value>
<value level="2">2</value>
</abnormalLvl>
<abnormalTime>30</abnormalTime>
<abnormalType>PD_UP_BOW</abnormalType>
<effectPoint>
<value level="1">138</value>
<value level="2">140</value>
<value level="3">142</value>
<value level="4">144</value>
<value level="5">146</value>
<value level="6">148</value>
<value level="7">150</value>
</effectPoint>
<hitTime>1000</hitTime>
<isMagic>1</isMagic> <!-- Magic Skill -->
<magicLvl>58</magicLvl>
<isMagic>0</isMagic>
<magicLvl>
<value level="1">58</value>
<value level="2">80</value>
</magicLvl>
<mpConsume>
<value level="1">50</value>
<value level="2">60</value>
<value level="3">22</value>
<value level="4">24</value>
<value level="5">26</value>
<value level="6">27</value>
<value level="7">28</value>
</mpConsume>
<mpInitialConsume>
<value level="1">5</value>
<value level="2">5</value>
<value level="3">6</value>
<value level="4">6</value>
<value level="5">6</value>
<value level="6">7</value>
<value level="7">7</value>
</mpInitialConsume>
<operateType>A2</operateType>
<reuseDelay>300000</reuseDelay>
<reuseDelay>60000</reuseDelay>
<basicProperty>NONE</basicProperty>
<magicCriticalRate>5</magicCriticalRate>
<targetType>SELF</targetType>
@ -650,47 +633,13 @@
<effect name="DefenceTrait">
<BOW>
<value level="1">10</value>
<value level="2">15</value>
<value level="3">20</value>
<value level="4">30</value>
<value level="5">35</value>
<value level="6">40</value>
<value level="7">45</value>
<value level="2">30</value>
</BOW>
<TWOHANDCROSSBOW>
<value level="1">10</value>
<value level="2">15</value>
<value level="3">20</value>
<value level="4">30</value>
<value level="5">35</value>
<value level="6">40</value>
<value level="7">45</value>
</TWOHANDCROSSBOW>
<CROSSBOW>
<value level="1">10</value>
<value level="2">15</value>
<value level="3">20</value>
<value level="4">30</value>
<value level="5">35</value>
<value level="6">40</value>
<value level="7">45</value>
</CROSSBOW>
</effect>
<effect name="MagicalDefence">
<amount>
<value level="1">100</value>
<value level="1">50</value>
<value level="2">100</value>
<value level="3">110</value>
<value level="4">120</value>
<value level="5">130</value>
<value level="6">140</value>
<value level="7">150</value>
</amount>
<mode>PER</mode>
</effect>
<effect name="PAtk" fromLevel="6" toLevel="7" fromSubLevel="2001" toSubLevel="2030">
<amount>
<value fromLevel="6" toLevel="7" fromSubLevel="2001" toSubLevel="2030">{0.6 + 0.4 * subIndex}</value>
</amount>
<mode>PER</mode>
</effect>

View File

@ -486,6 +486,44 @@
<value level="7">66</value>
<value level="8">70</value>
</mpConsume>
<magicLvl>
<value level="1">40</value>
<value level="2">50</value>
<value level="3">60</value>
<value level="4">70</value>
<value level="5">75</value>
<value level="6">80</value>
<value level="7">85</value>
<value level="8">90</value>
</magicLvl>
<nextAction>ATTACK</nextAction>
<magicCriticalRate>5</magicCriticalRate>
<targetType>ENEMY</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="Op2hWeapon">
<weaponType>
<item>SWORD</item>
<item>ANCIENTSWORD</item>
</weaponType>
</condition>
</conditions>
<effects>
<effect name="PhysicalAttack">
<power>
<value level="1">500</value>
<value level="2">850</value>
<value level="3">1360</value>
<value level="4">2040</value>
<value level="5">2856</value>
<value level="6">3712</value>
<value level="7">4455</value>
<value level="8">4900</value>
</power>
<ignoreShieldDefence>true</ignoreShieldDefence>
<overHit>true</overHit>
</effect>
</effects>
</skill>
<skill id="45156" toLevel="8" name="Ultimate Soul Impulse">
<!-- <Ultimate skill>\n\nAttacks the target from a distance with $s1 power added to P. Atk. Requires an ancient sword or a two-handed sword. Ignores Shield Defense. Critical, over-hit. -->
@ -519,11 +557,10 @@
<skill id="45157" toLevel="6" name="Enuma Elish">
<!-- Attacks the enemies at the front with $s1 power added to P. Atk. Requires an ancient sword or a two-handed sword. Ignores Shield Defense. Over-hit. -->
<icon>icon.skill0526</icon>
<operateType>A1</operateType>
<affectLimit>5-12</affectLimit>
<affectRange>400</affectRange>
<castRange>40</castRange>
<hitTime>1200</hitTime>
<coolTime>720</coolTime>
<reuseDelay>15000</reuseDelay>
<effectPoint>
<value level="1">-920</value>
<value level="2">-1070</value>
@ -532,6 +569,17 @@
<value level="5">-1295</value>
<value level="6">-1370</value>
</effectPoint>
<effectRange>400</effectRange>
<fanRange>0;0;400;90</fanRange>
<hitTime>1200</hitTime>
<magicLvl>
<value level="1">60</value>
<value level="2">70</value>
<value level="3">75</value>
<value level="4">80</value>
<value level="5">85</value>
<value level="6">90</value>
</magicLvl>
<mpConsume>
<value level="1">72</value>
<value level="2">82</value>
@ -540,6 +588,34 @@
<value level="5">99</value>
<value level="6">105</value>
</mpConsume>
<nextAction>ATTACK</nextAction>
<operateType>A1</operateType>
<reuseDelay>15000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<targetType>ENEMY</targetType>
<affectScope>FAN</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<conditions>
<condition name="Op2hWeapon">
<weaponType>
<item>SWORD</item>
<item>ANCIENTSWORD</item>
</weaponType>
</condition>
</conditions>
<effects>
<effect name="PhysicalAttack">
<power>
<value level="1">1800</value>
<value level="2">2520</value>
<value level="3">3024</value>
<value level="4">3477</value>
<value level="5">3825</value>
<value level="6">4016</value>
</power>
<overHit>true</overHit>
</effect>
</effects>
</skill>
<skill id="45158" toLevel="6" name="Ultimate Enuma Elish">
<!-- <Ultimate skill>\n\nAttacks the enemies at the front with $s1 power added to P. Atk. Requires an ancient sword or a two-handed sword. Critical, over-hit. -->
@ -569,7 +645,6 @@
<skill id="45159" toLevel="3" name="Rush Impact">
<!-- Rushes forward to attack enemies at the front with $s1 power added to P. Atk. Inflicts stun for $s2 Can be used if the distance to the target is more than $s3. -->
<icon>icon.skill0793</icon>
<operateType>A1</operateType>
<castRange>500</castRange>
<hitTime>800</hitTime>
<coolTime>200</coolTime>
@ -584,6 +659,61 @@
<value level="2">190</value>
<value level="3">200</value>
</mpConsume>
<abnormalLvl>
<value level="1">1</value>
<value level="2">2</value>
<value level="3">3</value>
</abnormalLvl>
<abnormalTime>3</abnormalTime>
<abnormalType>STUN</abnormalType>
<abnormalVisualEffect>STUN</abnormalVisualEffect>
<activateRate>60</activateRate>
<affectLimit>5-12</affectLimit>
<affectRange>600</affectRange>
<basicProperty>PHYSICAL</basicProperty>
<effectRange>800</effectRange>
<fanRange>0;0;600;60</fanRange>
<isDebuff>true</isDebuff>
<lvlBonusRate>20</lvlBonusRate>
<magicLvl>
<value level="1">60</value>
<value level="2">70</value>
<value level="3">80</value>
</magicLvl>
<nextAction>ATTACK</nextAction>
<operateType>DA2</operateType>
<magicCriticalRate>5</magicCriticalRate>
<trait>SHOCK</trait>
<targetType>ENEMY</targetType>
<affectScope>FAN</affectScope>
<affectObject>NOT_FRIEND</affectObject>
<conditions>
<condition name="Op2hWeapon">
<weaponType>
<item>SWORD</item>
<item>ANCIENTSWORD</item>
</weaponType>
</condition>
<condition name="OpCheckCastRange">
<distance>
<value level="1">150</value>
<value level="2">120</value>
<value level="3">100</value>
</distance>
</condition>
</conditions>
<effects>
<effect name="PhysicalAttack">
<power>
<value level="1">1500</value>
<value level="2">2100</value>
<value level="3">2520</value>
</power>
</effect>
<effect name="BlockActions">
<allowedSkills>35016</allowedSkills>
</effect>
</effects>
</skill>
<skill id="45160" toLevel="10" name="Soul Slash">
<!-- Attacks the target with $s1 power added to P. Atk. Requires a rapier. Ignores Shield Defense. Critical, over-hit. -->

View File

@ -387,7 +387,21 @@
<xs:element minOccurs="0" name="hasAbnormal" type="xs:boolean" />
<xs:element minOccurs="0" name="weightPercent" type="xs:unsignedByte" />
<xs:element minOccurs="0" name="slotsPercent" type="xs:unsignedByte" />
<xs:element minOccurs="0" name="distance" type="xs:unsignedByte" />
<xs:element minOccurs="0" name="distance">
<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 minOccurs="0" name="includeMe" type="xs:boolean" />
<xs:element minOccurs="0" name="race" type="xs:string" />
<xs:element minOccurs="0" name="amount">